{"id":7393,"date":"2023-07-10T13:24:41","date_gmt":"2023-07-10T13:24:41","guid":{"rendered":"https:\/\/www.ntspl.co.in\/blog\/?p=7393"},"modified":"2023-08-24T07:36:04","modified_gmt":"2023-08-24T07:36:04","slug":"announcing-ionic-v7-1","status":"publish","type":"post","link":"https:\/\/www.ntspl.co.in\/blog\/announcing-ionic-v7-1\/","title":{"rendered":"Announcing Ionic v7.1"},"content":{"rendered":"<p>We\u2019re so excited to announce the release of Ionic 7.1 <img decoding=\"async\" class=\"wp-smiley\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f389.png\" alt=\"\ud83c\udf89\" \/>. It is the first feature release of the Ionic 7 development cycle, and it\u2019s packed with tons of new features for datetime, input, select, and more.<\/p>\n<p>&nbsp;<\/p>\n<p>Let\u2019s get into it. <img decoding=\"async\" class=\"wp-smiley\" src=\"https:\/\/s.w.org\/images\/core\/emoji\/14.0.0\/72x72\/1f447.png\" alt=\"\ud83d\udc47\" \/><\/p>\n<h2 class=\"wp-block-heading\">Input Masking<\/h2>\n<p>Input masking is coming to Ionic! Input masks are a way of formatting text as users type. For example, if a user types a US phone number as \u201c5555555555,\u201d the input mask would automatically format the number so it displays as \u201c+1 (555) 555-5555\u201d in the text input. This makes data more readable to users.<\/p>\n<p>We are excited to have Maskito as the recommended input masking library for Ionic Framework applications. The Maskito team has built a great library that works with any JavaScript Framework, and we cannot wait to see what you create with the power of input masking at your disposal!<\/p>\n<p>We have added a playground to the <a href=\"https:\/\/ionicframework.com\/docs\/api\/input#input-masking\">Input documentation<\/a> that shows how to use input masking in Ionic. Check out the\u00a0Maskito documentation\u00a0to learn more about input masking.<\/p>\n<figure class=\"wp-block-video\"><video src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/input-masking-highres.mov\" preload=\"none\" controls=\"controls\" width=\"300\" height=\"150\"><\/video><\/figure>\n<h2 class=\"wp-block-heading\">HTML Labels for Select<\/h2>\n<p>In Ionic 7 we added a <code>label<\/code> property to Select so developers can pass labels that are associated with the native form control. This worked for plaintext labels, but developers wanted a way to provide labels with custom HTML too. In Ionic 7.1 we added a <code>label<\/code> slot to Select so developers can provide HTML labels. Developers who want to use plaintext labels can continue to use the <code>label<\/code> property.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" class=\"wp-image-5415\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/select-slot-1-1024x221.png\" alt=\"\" width=\"450\" \/><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;ion-select fill=\"outline\" label-placement=\"floating\" value=\"apple\"&gt;\r\n  &lt;div slot=\"label\"&gt;Favorite Fruit &lt;ion-text color=\"danger\"&gt;(Required)&lt;\/ion-text&gt;&lt;\/div&gt;\r\n  &lt;ion-select-option value=\"apple\"&gt;Apple&lt;\/ion-select-option&gt;\r\n  &lt;ion-select-option value=\"banana\"&gt;Banana&lt;\/ion-select-option&gt;\r\n  &lt;ion-select-option value=\"orange\"&gt;Orange&lt;\/ion-select-option&gt;\r\n&lt;\/ion-select&gt;<\/code><\/pre>\n<h2 class=\"wp-block-heading\">HTML Labels for Input and Textarea<\/h2>\n<p>We also added a <code>label<\/code> property to both Input and Textarea in Ionic 7. Developers also wanted to provide labels with custom HTML. In Ionic 7.1 we added experimental support for the <code>label<\/code> slot on Input and Textarea. Developers who want to use plaintext labels can continue to use the <code>label<\/code> property.<\/p>\n<p>The Input and Textarea components do not use the Shadow DOM. As a result, they cannot take advantage of native Web Component slots. Fortunately, Stencil has a simulated slot feature that we are using for Input and Textarea. Since this behavior is simulated and may not perfectly match the native slot behavior, we have marked this feature as experimental.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" class=\"wp-image-5434\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/input-textarea-slot-1-1024x502.png\" alt=\"\" width=\"450\" \/><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;ion-input fill=\"outline\" label-placement=\"floating\" value=\"hi@ionic.io\"&gt;\r\n  &lt;div slot=\"label\"&gt;Email &lt;ion-text color=\"danger\"&gt;(Required)&lt;\/ion-text&gt;&lt;\/div&gt;\r\n&lt;\/ion-input&gt;\r\n\r\n&lt;ion-textarea fill=\"outline\" label-placement=\"floating\" value=\"Lorem Ipsum\"&gt;\r\n  &lt;div slot=\"label\"&gt;Comments &lt;ion-text color=\"danger\"&gt;(Required)&lt;\/ion-text&gt;&lt;\/div&gt;\r\n&lt;\/ion-textarea&gt;<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Label Property for Range<\/h2>\n<p>In Ionic 7 we added a <code>label<\/code> slot to Range. This was great for passing HTML labels, but developers needed an easier way to provide plaintext labels. In Ionic 7.1 we added a <code>label<\/code> property to Range so developers can do just that! Developers who want to use HTML labels can continue to use the <code>label<\/code> slot.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" class=\"wp-image-5435\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/range-label-prop-1-1024x67.png\" alt=\"\" width=\"450\" \/><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;ion-range label=\"Temperature\"&gt;\r\n  &lt;ion-icon name=\"snow\" slot=\"start\"&gt;&lt;\/ion-icon&gt;\r\n  &lt;ion-icon name=\"flame\" slot=\"end\"&gt;&lt;\/ion-icon&gt;\r\n&lt;\/ion-range&gt;<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Datetime Styling<\/h2>\n<p>In Ionic 7.1 we are excited to provide developers with more tools to control the look of Datetime.<\/p>\n<p>First, we added the <code>wheel-item<\/code> CSS Shadow Part to customize each item in a wheel picker. We also added the <code>active<\/code> part so developers can target the selected picker item.<\/p>\n<p>Following that feature, we added the <code>time-button<\/code> CSS Shadow Part to customize the button that presents the time wheel picker. We also added the <code>active<\/code> part so developers can customize the button when the time wheel picker is visible.<\/p>\n<p>Next, we added <code>--wheel-highlight-background<\/code> and <code>--wheel-fade-background-rgb<\/code> CSS Variables to customize the highlight and fade effects on the wheel picker.<\/p>\n<p>Finally, we added a <code>month-year-button<\/code> CSS Shadow Part to customize the button that toggles the month and year wheel picker.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" class=\"wp-image-5430\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/datetime-grid-1-1024x1024.png\" alt=\"\" width=\"450\" \/><\/figure>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" class=\"wp-image-5432\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/datetime-time-picker-2-1024x1024.png\" alt=\"\" width=\"450\" \/><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">ion-datetime {\r\n  --background: #333;\r\n  --wheel-highlight-background: #111;\r\n  --wheel-fade-background-rgb: 51, 51, 51;\r\n\r\n  border-radius: 8px;\r\n\r\n  width: 350px;\r\n\r\n  color: white;\r\n}\r\n\r\nion-datetime::part(month-year-button) {\r\n  --color: white;\r\n}\r\n\r\nion-datetime::part(time-button) {\r\n  background: #111;\r\n  color: white;\r\n}<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Select Styling<\/h2>\n<p>CSS Shadow Parts have been added to the <code>label<\/code> and <code>container<\/code> inside of Select, giving developers greater control over the visual identity of the component.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" class=\"wp-image-5437\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/select-style-1-1024x159.png\" alt=\"\" width=\"450\" \/><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">ion-select {\r\n  --padding-start: 16px;\r\n  --padding-end: 16px;\r\n\r\n  --background: #e9eaff;\r\n}\r\n\r\nion-select::part(container) {\r\n  width: 100%;\r\n}\r\n\r\nion-select::part(label) {\r\n  color: #6e5afd;\r\n}<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Custom Icons for Select<\/h2>\n<p>Developers can now control the icon used in Select with the <code>toggleIcon<\/code> property. This property accepts any SVG icon data, including an Ionicon. We also added <code>expandedIcon<\/code> so developers can change the icon used when the Select is open.<\/p>\n<p>This new feature pairs well with the existing <code>icon<\/code> CSS Shadow Part so you can customize the icon styles.<\/p>\n<figure class=\"wp-block-image size-large is-resized\"><img decoding=\"async\" class=\"wp-image-5438\" src=\"https:\/\/ionic.io\/blog\/wp-content\/uploads\/2023\/06\/select-icon-1-1024x217.png\" alt=\"\" width=\"450\" \/><\/figure>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;style&gt;\r\nion-select::part(icon) {\r\n  width: 22px;\r\n\r\n  color: #0088cc;\r\n}\r\n&lt;\/style&gt;\r\n\r\n&lt;ion-select toggle-icon=\"caret-down-circle-outline\" expanded-icon=\"caret-up-circle-outline\" fill=\"icon\" label=\"Favorite Fruit\" label-placement=\"floating\"&gt;\r\n  &lt;ion-select-option value=\"apple\"&gt;Apple&lt;\/ion-select-option&gt;\r\n  &lt;ion-select-option value=\"banana\"&gt;Banana&lt;\/ion-select-option&gt;\r\n  &lt;ion-select-option value=\"orange\"&gt;Orange&lt;\/ion-select-option&gt;\r\n&lt;\/ion-select&gt;<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Segment Type Improvements<\/h2>\n<p>Segment was updated to accept number values in addition to string values.<\/p>\n<p>Thanks to <a href=\"https:\/\/github.com\/Morritz\">Morritz<\/a> for contributing to this feature!<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">&lt;!-- Angular Code --&gt;\r\n&lt;ion-segment [value]=\"1\"&gt;\r\n  &lt;ion-segment-button [value]=\"1\"&gt;Option 1&lt;\/ion-segment-button&gt;\r\n  &lt;ion-segment-button [value]=\"2\"&gt;Option 2&lt;\/ion-segment-button&gt;\r\n  &lt;ion-segment-button [value]=\"3\"&gt;Option 3&lt;\/ion-segment-button&gt;\r\n&lt;\/ion-segment&gt;<\/code><\/pre>\n<h2 class=\"wp-block-heading\">Angular NavController Improvements<\/h2>\n<p>The <code>NavController.pop()<\/code> method in<code> @ionic\/angular<\/code> now returns a boolean so developers can know if the pop operation was successful.<\/p>\n<p>Thanks to <a href=\"https:\/\/github.com\/andrzejpindor\">andrzejpindor<\/a> for contributing to this feature!<\/p>\n<pre class=\"wp-block-prismatic-blocks\"><code class=\"language-\">const result = await this.navController.pop();<\/code><\/pre>\n<p>The post <a href=\"https:\/\/ionic.io\/blog\/announcing-ionic-v7-1\" rel=\"nofollow\">Announcing Ionic v7.1<\/a> appeared first on <a href=\"https:\/\/ionic.io\/blog\" rel=\"nofollow\">Ionic Blog<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We\u2019re so excited to announce the release of Ionic 7.1 . It is the first feature release of the Ionic 7 development cycle, and it\u2019s packed with tons of new features for datetime, input, select, and more. &nbsp; Let\u2019s get into it. Input Masking Input masking is coming to Ionic! Input masks are a way [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":7517,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[449,438],"tags":[544,543,542,546,545],"class_list":["post-7393","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ionic-apps","category-technology","tag-app-development","tag-cross-platform-mobile-apps","tag-ionic-v7-1","tag-mobile-app-framework","tag-stunning-ui-ux"],"acf":{"custom_meta_title":"Ionic 7.1: Empowering the Future of App Development","meta_description":"Discover the power of Ionic v7.1! Build breathtaking cross-platform mobile apps with the latest features and enhancements for unmatched performance. Read this Blog to know more!","meta_keyword":"Ionic v7.1, Cross-platform mobile apps, Cutting-edge features, App development, Enhancements, Developer tools, Performance optimization, Stunning UI\/UX, Mobile app framework, Latest release","other_meta_tag":"<meta property=og:type content=\"article\" \/>\r\n<meta property=og:title content=\"Ionic 7.1: Empowering the Future of App Development\"\/>\r\n<meta property=og:description content=\"Discover the power of Ionic v7.1! Build breathtaking cross-platform mobile apps with the latest features and enhancements for unmatched performance. Read this Blog to know more!\"\/>\r\n<meta property=\"og:image\" content=\"https:\/\/www.ntspl.co.in\/blog\/wp-content\/uploads\/2023\/06\/IONIC.jpg\"\/>\r\n<meta property=og:url content=\"https:\/\/www.ntspl.co.in\/blog\/announcing-ionic-v7-1\/\"\/>\r\n<meta property=og:site_name content=NTSPL \/>\r\n<meta name=\"twitter:site\" content=\"@NTSPL\">\r\n<meta name=twitter:card content=\"summary\" \/>\r\n<meta name=twitter:description content=\"Discover the power of Ionic v7.1! Build breathtaking cross-platform mobile apps with the latest features and enhancements for unmatched performance. Read this Blog to know more!\"\/>\r\n<meta name=twitter:title content=\"Ionic 7.1: Empowering the Future of App Development\"\/>"},"_links":{"self":[{"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/posts\/7393"}],"collection":[{"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/comments?post=7393"}],"version-history":[{"count":4,"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/posts\/7393\/revisions"}],"predecessor-version":[{"id":7876,"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/posts\/7393\/revisions\/7876"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/media\/7517"}],"wp:attachment":[{"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/media?parent=7393"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/categories?post=7393"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ntspl.co.in\/blog\/wp-json\/wp\/v2\/tags?post=7393"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}