@ionic/core 9.0.3-dev.11788456135.1ab1d6cd → 9.0.3-dev.11790016799.1e269b7a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/components/ion-accordion.js +1 -1
  2. package/components/ion-alert.js +1 -1
  3. package/components/ion-back-button.js +1 -1
  4. package/components/ion-breadcrumb.js +1 -1
  5. package/components/ion-checkbox.js +1 -1
  6. package/components/ion-datetime.js +1 -1
  7. package/components/ion-fab-button.js +1 -1
  8. package/components/ion-input-password-toggle.js +1 -1
  9. package/components/ion-input.js +1 -1
  10. package/components/ion-item.js +1 -1
  11. package/components/ion-menu-button.js +1 -1
  12. package/components/ion-refresher-content.js +1 -1
  13. package/components/ion-reorder.js +1 -1
  14. package/components/ion-searchbar.js +1 -1
  15. package/components/ion-select-modal.js +1 -1
  16. package/components/ion-select-popover.js +1 -1
  17. package/components/ion-select.js +1 -1
  18. package/components/ion-textarea.js +1 -1
  19. package/components/ion-toggle.js +1 -1
  20. package/components/{p-Cc3oC60a.js → p-0rXxxCTt.js} +1 -1
  21. package/components/p-B9ibhQu1.js +4 -0
  22. package/components/p-BzxHcuQH.js +4 -0
  23. package/components/p-C6wm_AQQ.js +4 -0
  24. package/components/p-CaxVJjmc.js +4 -0
  25. package/components/{p-Cm78Kk79.js → p-D2X-Hime.js} +1 -1
  26. package/css/ionic/bundle.ionic.css.map +1 -1
  27. package/css/ionic/core.ionic.css.map +1 -1
  28. package/css/ionic/global.bundle.ionic.css.map +1 -1
  29. package/css/ionic/ionic-swiper.ionic.css.map +1 -1
  30. package/css/ionic/link.ionic.css.map +1 -1
  31. package/css/ionic/typography.ionic.css.map +1 -1
  32. package/dist/cjs/ion-accordion_2.cjs.entry.js +9 -14
  33. package/dist/cjs/ion-alert.cjs.entry.js +4 -4
  34. package/dist/cjs/ion-back-button.cjs.entry.js +11 -13
  35. package/dist/cjs/ion-breadcrumb_2.cjs.entry.js +16 -29
  36. package/dist/cjs/ion-checkbox.cjs.entry.js +23 -15
  37. package/dist/cjs/ion-datetime.cjs.entry.js +14 -50
  38. package/dist/cjs/ion-fab_3.cjs.entry.js +9 -14
  39. package/dist/cjs/ion-input-password-toggle.cjs.entry.js +17 -29
  40. package/dist/cjs/ion-input.cjs.entry.js +12 -28
  41. package/dist/cjs/ion-item_8.cjs.entry.js +10 -15
  42. package/dist/cjs/ion-menu_3.cjs.entry.js +9 -12
  43. package/dist/cjs/ion-refresher_2.cjs.entry.js +10 -5
  44. package/dist/cjs/ion-reorder_2.cjs.entry.js +5 -13
  45. package/dist/cjs/ion-searchbar.cjs.entry.js +8 -37
  46. package/dist/cjs/ion-select-modal.cjs.entry.js +11 -10
  47. package/dist/cjs/ion-select_3.cjs.entry.js +13 -37
  48. package/dist/cjs/ion-textarea.cjs.entry.js +13 -21
  49. package/dist/cjs/ion-toggle.cjs.entry.js +12 -28
  50. package/dist/collection/components/accordion/accordion.js +9 -14
  51. package/dist/collection/components/alert/alert.ionic.css +7 -9
  52. package/dist/collection/components/alert/alert.js +3 -3
  53. package/dist/collection/components/back-button/back-button.js +11 -13
  54. package/dist/collection/components/breadcrumb/breadcrumb.js +16 -28
  55. package/dist/collection/components/checkbox/checkbox.ionic.css +35 -42
  56. package/dist/collection/components/checkbox/checkbox.ios.css +33 -29
  57. package/dist/collection/components/checkbox/checkbox.js +23 -13
  58. package/dist/collection/components/checkbox/checkbox.md.css +33 -29
  59. package/dist/collection/components/datetime/datetime.ios.css +5 -10
  60. package/dist/collection/components/datetime/datetime.js +12 -48
  61. package/dist/collection/components/datetime/datetime.md.css +5 -10
  62. package/dist/collection/components/fab-button/fab-button.js +9 -14
  63. package/dist/collection/components/input/input.ionic.css +102 -79
  64. package/dist/collection/components/input/input.js +11 -27
  65. package/dist/collection/components/input-password-toggle/input-password-toggle.js +18 -28
  66. package/dist/collection/components/item/item.js +10 -15
  67. package/dist/collection/components/menu-button/menu-button.js +9 -12
  68. package/dist/collection/components/refresher-content/refresher-content.js +10 -4
  69. package/dist/collection/components/reorder/reorder.js +5 -13
  70. package/dist/collection/components/searchbar/searchbar.js +8 -35
  71. package/dist/collection/components/select/select.ionic.css +187 -76
  72. package/dist/collection/components/select/select.js +14 -39
  73. package/dist/collection/components/select-modal/select-modal.js +12 -10
  74. package/dist/collection/components/textarea/textarea.ionic.css +133 -85
  75. package/dist/collection/components/textarea/textarea.ios.css +0 -4
  76. package/dist/collection/components/textarea/textarea.js +13 -18
  77. package/dist/collection/components/textarea/textarea.md.css +0 -4
  78. package/dist/collection/components/toggle/toggle.js +12 -26
  79. package/dist/collection/utils/test/playwright/field-geometry.js +34 -0
  80. package/dist/collection/utils/test/playwright/index.js +1 -0
  81. package/dist/docs.json +60 -25
  82. package/dist/esm/{index-BqQ15K9a.js → index-BkJpfpXI.js} +1 -1
  83. package/dist/esm/ion-accordion_2.entry.js +10 -15
  84. package/dist/esm/ion-alert.entry.js +4 -4
  85. package/dist/esm/ion-back-button.entry.js +12 -14
  86. package/dist/esm/ion-breadcrumb_2.entry.js +17 -30
  87. package/dist/esm/ion-checkbox.entry.js +24 -16
  88. package/dist/esm/ion-datetime.entry.js +15 -51
  89. package/dist/esm/ion-fab_3.entry.js +10 -15
  90. package/dist/esm/ion-input-password-toggle.entry.js +19 -31
  91. package/dist/esm/ion-input.entry.js +13 -29
  92. package/dist/esm/ion-item_8.entry.js +11 -16
  93. package/dist/esm/ion-menu_3.entry.js +10 -13
  94. package/dist/esm/ion-refresher_2.entry.js +11 -6
  95. package/dist/esm/ion-reorder_2.entry.js +6 -14
  96. package/dist/esm/ion-searchbar.entry.js +9 -38
  97. package/dist/esm/ion-select-modal.entry.js +13 -12
  98. package/dist/esm/ion-select_3.entry.js +14 -38
  99. package/dist/esm/ion-textarea.entry.js +13 -21
  100. package/dist/esm/ion-toggle.entry.js +13 -29
  101. package/dist/ionic/ionic.esm.js +1 -1
  102. package/dist/ionic/p-016f2ee0.entry.js +4 -0
  103. package/dist/ionic/p-07b95001.entry.js +4 -0
  104. package/dist/ionic/p-14dfe86e.entry.js +4 -0
  105. package/dist/ionic/p-167af5d6.entry.js +4 -0
  106. package/dist/ionic/p-18285aab.entry.js +4 -0
  107. package/dist/ionic/{p-2e3acd77.entry.js → p-1e0f0eb9.entry.js} +1 -1
  108. package/dist/ionic/p-368935f5.entry.js +4 -0
  109. package/dist/ionic/p-38da0794.entry.js +4 -0
  110. package/dist/ionic/p-80f71456.entry.js +4 -0
  111. package/dist/ionic/p-83aa4043.entry.js +4 -0
  112. package/dist/ionic/p-944ce631.entry.js +4 -0
  113. package/dist/ionic/{p-BqQ15K9a.js → p-BkJpfpXI.js} +1 -1
  114. package/dist/ionic/p-aecef1d7.entry.js +4 -0
  115. package/dist/ionic/p-bb83b861.entry.js +4 -0
  116. package/dist/ionic/p-c1c90068.entry.js +4 -0
  117. package/dist/ionic/p-ccc7487b.entry.js +4 -0
  118. package/dist/ionic/p-cfd5dc50.entry.js +4 -0
  119. package/dist/ionic/p-d5c9bf12.entry.js +4 -0
  120. package/dist/ionic/p-f252ab8a.entry.js +4 -0
  121. package/dist/types/components/accordion/accordion.d.ts +7 -1
  122. package/dist/types/components/back-button/back-button.d.ts +8 -2
  123. package/dist/types/components/breadcrumb/breadcrumb.d.ts +12 -2
  124. package/dist/types/components/checkbox/checkbox.d.ts +12 -1
  125. package/dist/types/components/datetime/datetime.d.ts +4 -4
  126. package/dist/types/components/fab-button/fab-button.d.ts +7 -1
  127. package/dist/types/components/input/input.d.ts +7 -10
  128. package/dist/types/components/input-password-toggle/input-password-toggle.d.ts +14 -2
  129. package/dist/types/components/item/item.d.ts +7 -1
  130. package/dist/types/components/menu-button/menu-button.d.ts +6 -1
  131. package/dist/types/components/refresher-content/refresher-content.d.ts +6 -0
  132. package/dist/types/components/reorder/reorder.d.ts +1 -1
  133. package/dist/types/components/select/select.d.ts +7 -12
  134. package/dist/types/components/select-modal/select-modal.d.ts +6 -1
  135. package/dist/types/components/textarea/textarea.d.ts +8 -8
  136. package/dist/types/components/toggle/toggle.d.ts +5 -2
  137. package/dist/types/utils/config.d.ts +22 -2
  138. package/dist/types/utils/test/playwright/field-geometry.d.ts +13 -0
  139. package/dist/types/utils/test/playwright/index.d.ts +1 -0
  140. package/hydrate/index.js +213 -375
  141. package/hydrate/index.mjs +213 -375
  142. package/package.json +1 -2
  143. package/components/p-B1AK6oR-.js +0 -4
  144. package/components/p-BDqjX7Z_.js +0 -4
  145. package/components/p-BYSs-jZz.js +0 -4
  146. package/components/p-CPdOdJa7.js +0 -4
  147. package/components/p-D1t981Ih.js +0 -4
  148. package/components/p-Dhi5xtNS.js +0 -4
  149. package/components/p-DzaPYdjZ.js +0 -4
  150. package/components/p-e73ca-aN.js +0 -4
  151. package/components/p-fIOYmaqA.js +0 -4
  152. package/dist/cjs/caret-down-vtVgfXIs.js +0 -8
  153. package/dist/cjs/caret-left-CxZXLRv5.js +0 -8
  154. package/dist/cjs/caret-right-CRCgv98E.js +0 -8
  155. package/dist/cjs/list-a-7GSA6K.js +0 -8
  156. package/dist/cjs/x-BTF99yFH.js +0 -8
  157. package/dist/esm/caret-down-D1t981Ih.js +0 -6
  158. package/dist/esm/caret-left-fIOYmaqA.js +0 -6
  159. package/dist/esm/caret-right-BYSs-jZz.js +0 -6
  160. package/dist/esm/list-Dhi5xtNS.js +0 -6
  161. package/dist/esm/x-BDqjX7Z_.js +0 -6
  162. package/dist/ionic/p-04d96dad.entry.js +0 -4
  163. package/dist/ionic/p-0a924e6a.entry.js +0 -4
  164. package/dist/ionic/p-2da21af7.entry.js +0 -4
  165. package/dist/ionic/p-2fc1521f.entry.js +0 -4
  166. package/dist/ionic/p-73309d35.entry.js +0 -4
  167. package/dist/ionic/p-74ab5f49.entry.js +0 -4
  168. package/dist/ionic/p-83d13d56.entry.js +0 -4
  169. package/dist/ionic/p-8dcd18cf.entry.js +0 -4
  170. package/dist/ionic/p-9ca59419.entry.js +0 -4
  171. package/dist/ionic/p-BDqjX7Z_.js +0 -4
  172. package/dist/ionic/p-BYSs-jZz.js +0 -4
  173. package/dist/ionic/p-D1t981Ih.js +0 -4
  174. package/dist/ionic/p-Dhi5xtNS.js +0 -4
  175. package/dist/ionic/p-b10dc124.entry.js +0 -4
  176. package/dist/ionic/p-b7ce4a50.entry.js +0 -4
  177. package/dist/ionic/p-c7035f3f.entry.js +0 -4
  178. package/dist/ionic/p-c91fc9d4.entry.js +0 -4
  179. package/dist/ionic/p-cd4791d5.entry.js +0 -4
  180. package/dist/ionic/p-e9480e7f.entry.js +0 -4
  181. package/dist/ionic/p-e9fdff49.entry.js +0 -4
  182. package/dist/ionic/p-f82b13a6.entry.js +0 -4
  183. package/dist/ionic/p-fIOYmaqA.js +0 -4
@@ -0,0 +1,4 @@
1
+ /*!
2
+ * (C) Ionic http://ionicframework.com - MIT License
3
+ */
4
+ import{r as e,e as o,h as t,i,d as n,g as l}from"./p-jsOqXOKf.js";import{c,b as s}from"./p-CyXL8sF6.js";import{a,g as d}from"./p-CODBQrPj.js";import{s as r}from"./p-CRbXZpID.js";import{r as m}from"./p-CE00jiiW.js";import{h as p,g as h}from"./p-BUF_V-Kg.js";import{z as b,h as x}from"./p-BkJpfpXI.js";import"./p-8NLG9fne.js";import"./p-vXpMhGrs.js";import"./p-Dojwmvde.js";import"./p-DAFzmzMJ.js";import"./p-B_gJaBk0.js";import"./p-BUvFnCVr.js";const g=class{constructor(o){e(this,o),this.pendingEnterTarget=null,this.cancelText="Close",this.cancelIcon=!1,this.options=[]}closeModal(){const e=this.el.closest("ion-modal");e&&e.dismiss()}findOptionFromEvent(e){const{options:o}=this;return o.find((o=>o.value===e.target.value))}getValues(e){const{multiple:o,options:t}=this;if(o)return t.filter((e=>e.checked)).map((e=>e.value));const i=e?this.findOptionFromEvent(e):null;return i?i.value:void 0}callOptionHandler(e){const o=this.findOptionFromEvent(e),t=this.getValues(e);o?.handler&&r(o.handler,t)}setChecked(e){const{multiple:o}=this,t=this.findOptionFromEvent(e);o&&t&&(t.checked=e.detail.checked)}get selectModalCancelIcon(){const e=c(this);return o.get("selectModalCancelIcon","ios"===e?b:x)}getModalContextClasses(){const e=this.el;return{"in-modal-default":p("ion-modal.modal-default",e),"in-modal-sheet":p("ion-modal.modal-sheet",e)}}renderRadioOptions(){const e=c(this),o=this.options.filter((e=>e.checked)).map((e=>e.value))[0];return t("ion-radio-group",{value:o,onIonChange:e=>this.callOptionHandler(e)},this.options.map(((i,n)=>{const l=i,c=!!l.startContent||!!l.endContent||!!l.description,s={id:`modal-option-${n}`,label:l.text,startContent:l.startContent,endContent:l.endContent,description:l.description},r=a(e,"radio","modal"),p=d(e,"radio","modal");return t("ion-item",{lines:"none","data-focus-ignore":!0,disabled:i.disabled,class:{"item-radio-checked":i.value===o,...h(i.cssClass)}},t("ion-radio",{class:{"select-option-has-rich-content":c},value:i.value,disabled:i.disabled,justify:l.justify??p,labelPlacement:l.labelPlacement??r,onClick:()=>this.closeModal(),onKeyDown:e=>{"Enter"!==e.key||e.repeat||(this.pendingEnterTarget=e.currentTarget)},onKeyUp:e=>{if(" "===e.key)this.closeModal();else if("Enter"===e.key){const o=this.pendingEnterTarget===e.currentTarget;this.pendingEnterTarget=null,o&&this.closeModal()}}},m(s,"select-option-label")))})))}renderCheckboxOptions(){const e=c(this);return this.options.map(((o,n)=>{const l=o,c=!!l.startContent||!!l.endContent||!!l.description,s={id:`modal-option-${n}`,label:l.text,startContent:l.startContent,endContent:l.endContent,description:l.description},r=a(e,"checkbox","modal"),p=d(e,"checkbox","modal");return t("ion-item",{"data-focus-ignore":!0,disabled:o.disabled,class:{"item-checkbox-checked":o.checked,...h(o.cssClass)}},t("ion-checkbox",{class:{"select-option-has-rich-content":c},value:o.value,disabled:o.disabled,checked:o.checked,justify:l.justify??p,labelPlacement:l.labelPlacement??r,onIonChange:e=>{this.setChecked(e),this.callOptionHandler(e),i(this)}},m(s,"select-option-label")))}))}render(){return t(n,{key:"4f80b69495a5fdcc4d99f72aa035264e1d283012",class:{[s(this)]:!0,...this.getModalContextClasses()}},t("ion-header",{key:"59fd93f200eeed35e411bc12d1355747d6d3b003"},t("ion-toolbar",{key:"d443f633558101e8623c3d7aeab62b5a8dbaaea5"},void 0!==this.header&&t("ion-title",{key:"5038f4d67ec9ce335c9a543e209dc1e5e669f802"},this.header),t("ion-buttons",{key:"047fd2497d20324433ca175441d60cf17095dadb",slot:"end"},t("ion-button",{key:"0058eee326e1540c969decd9b8a9baa5b307dfde","aria-label":this.cancelIcon?this.cancelText:void 0,"data-focus-order":"2",onClick:()=>this.closeModal()},this.cancelIcon?t("ion-icon",{"aria-hidden":"true",slot:"icon-only",icon:this.selectModalCancelIcon}):this.cancelText)))),t("ion-content",{key:"1cde46ff794118bf086735289b83d6354ee4bc99"},t("ion-list",{key:"19e238faabd981565590723323fa8442a77eb8b4"},!0===this.multiple?this.renderCheckboxOptions():this.renderRadioOptions())))}get el(){return l(this)}};g.style={ionic:'.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-label-has-rich-content.sc-ion-select-modal-ionic{gap:var(--token-space-300, var(--token-scale-300, 12px))}.action-sheet-button-label-text.sc-ion-select-modal-ionic,.alert-checkbox-label-text.sc-ion-select-modal-ionic,.alert-radio-label-text.sc-ion-select-modal-ionic,.select-option-label-text.sc-ion-select-modal-ionic{gap:var(--token-space-300, var(--token-scale-300, 12px))}.select-option-description.sc-ion-select-modal-ionic{font-size:var(--token-font-size-350, 0.875rem);font-weight:var(--token-font-weight-regular, 400);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none;-webkit-padding-start:var(--token-space-0, var(--token-scale-0, 0px));padding-inline-start:var(--token-space-0, var(--token-scale-0, 0px));-webkit-padding-end:var(--token-space-0, var(--token-scale-0, 0px));padding-inline-end:var(--token-space-0, var(--token-scale-0, 0px));padding-top:var(--token-space-0, var(--token-scale-0, 0px));padding-bottom:var(--token-space-0, var(--token-scale-0, 0px));color:var(--token-text-subtle, var(--token-primitives-neutral-1000, #3b3b3b));font-size:var(--token-font-size-350, 0.875rem)}.select-option-start.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic{gap:var(--token-space-200, var(--token-scale-200, 8px))}.select-option-start.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-start.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-avatar.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-thumbnail.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>img.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>svg.sc-ion-select-modal-ionic{width:var(--token-scale-1200, 48px);height:var(--token-scale-1200, 48px)}.select-option-start.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic>ion-icon.sc-ion-select-modal-ionic{font-size:var(--token-scale-1200, 48px)}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ionic,.alert-radio-label-has-rich-content.sc-ion-select-modal-ionic,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ionic,.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ionic,.alert-checkbox-label-text.sc-ion-select-modal-ionic,.alert-radio-label-text.sc-ion-select-modal-ionic,.select-option-label-text.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-start.sc-ion-select-modal-ionic,.select-option-end.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-description.sc-ion-select-modal-ionic{display:block}.select-option-label.sc-ion-select-modal-ionic:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ionic{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ionic [part~="label"],.select-option-content.sc-ion-select-modal-ionic{-ms-flex:1;flex:1;white-space:normal}.sc-ion-select-modal-ionic-h{height:100%}.in-modal-default.sc-ion-select-modal-ionic-h ion-content.sc-ion-select-modal-ionic::part(scroll),.in-modal-default.sc-ion-select-modal-ionic-h ion-content.sc-ion-select-modal-ionic [part~="scroll"]{--padding-bottom:var(--token-space-400, var(--token-scale-400, 16px))}ion-item.sc-ion-select-modal-ionic{--border-width:var(--token-border-size-0, var(--token-scale-0, 0px));--background-focused:transparent;--background-focused-opacity:1;--background-hover:var(--token-bg-neutral-subtlest-press, var(--token-primitives-neutral-200, #eae9e9));--background-hover-opacity:1;--background-activated:var(--token-bg-neutral-subtlest-press, var(--token-primitives-neutral-200, #eae9e9));--background-activated-opacity:1;--border-radius:var(--token-border-radius-400, var(--token-scale-400, 16px))}ion-toolbar.sc-ion-select-modal-ionic{font-size:var(--token-font-size-450, 1.125rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-700, var(--token-scale-700, 28px));text-decoration:none;text-transform:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(container),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="container"]{display:none}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"]{-webkit-margin-start:var(--token-space-0, var(--token-scale-0, 0px));margin-inline-start:var(--token-space-0, var(--token-scale-0, 0px));-webkit-margin-end:var(--token-space-0, var(--token-scale-0, 0px));margin-inline-end:var(--token-space-0, var(--token-scale-0, 0px));margin-top:var(--token-space-0, var(--token-scale-0, 0px));margin-bottom:var(--token-space-0, var(--token-scale-0, 0px))}ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-radio.sc-ion-select-modal-ionic [part~="label"],ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic::part(label),ion-list.sc-ion-select-modal-ionic ion-checkbox.sc-ion-select-modal-ionic [part~="label"]{font-size:var(--token-font-size-400, 1rem);font-weight:var(--token-font-weight-medium, 500);letter-spacing:var(--token-font-letter-spacing-0, 0%);line-height:var(--token-font-line-height-600, var(--token-scale-600, 24px));text-decoration:none;text-transform:none}.item-radio-checked.sc-ion-select-modal-ionic,.item-checkbox-checked.sc-ion-select-modal-ionic{--background:var(--token-bg-primary-subtle-default, var(--token-semantics-primary-100, var(--token-primitives-blue-100, #e9ecfc)))}ion-content.sc-ion-select-modal-ionic{--padding-start:var(--token-space-400, var(--token-scale-400, 16px)) !important;--padding-end:var(--token-space-400, var(--token-scale-400, 16px)) !important;--padding-bottom:var(--token-space-1200, var(--token-scale-1200, 48px)) !important}',ios:'.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-label-has-rich-content.sc-ion-select-modal-ios{gap:16px}.action-sheet-button-label-text.sc-ion-select-modal-ios,.alert-checkbox-label-text.sc-ion-select-modal-ios,.alert-radio-label-text.sc-ion-select-modal-ios,.select-option-label-text.sc-ion-select-modal-ios{gap:12px}.select-option-start.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios{gap:8px}.select-option-description.sc-ion-select-modal-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-start.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-start.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-avatar.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-thumbnail.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>img.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>svg.sc-ion-select-modal-ios{width:44px;height:44px}.select-option-start.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios>ion-icon.sc-ion-select-modal-ios{font-size:28px}.action-sheet-button-label-text.sc-ion-select-modal-ios{-ms-flex-pack:center;justify-content:center}.select-option-has-rich-content.sc-ion-select-modal-ios{-webkit-padding-end:16px;padding-inline-end:16px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-label-has-rich-content.sc-ion-select-modal-ios{gap:16px}.action-sheet-button-label-text.sc-ion-select-modal-ios,.alert-checkbox-label-text.sc-ion-select-modal-ios,.alert-radio-label-text.sc-ion-select-modal-ios,.select-option-label-text.sc-ion-select-modal-ios{gap:12px}.select-option-start.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios{gap:8px}.select-option-description.sc-ion-select-modal-ios{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-ios,.alert-radio-label-has-rich-content.sc-ion-select-modal-ios,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-ios,.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-ios,.alert-checkbox-label-text.sc-ion-select-modal-ios,.alert-radio-label-text.sc-ion-select-modal-ios,.select-option-label-text.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-start.sc-ion-select-modal-ios,.select-option-end.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-description.sc-ion-select-modal-ios{display:block}.select-option-label.sc-ion-select-modal-ios:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-ios{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-ios [part~="label"],.select-option-content.sc-ion-select-modal-ios{-ms-flex:1;flex:1;white-space:normal}.sc-ion-select-modal-ios-h{height:100%}ion-item.sc-ion-select-modal-ios{--inner-padding-end:0}ion-radio.sc-ion-select-modal-ios::after{bottom:0;position:absolute;width:calc(100% - 0.9375rem - 16px);border-width:0px 0px 0.55px 0px;border-style:solid;border-color:var(--ion-item-border-color, var(--ion-border-color, var(--ion-color-step-250, var(--ion-background-color-step-250, #c8c7cc))));content:""}ion-radio.sc-ion-select-modal-ios::after{inset-inline-start:calc(0.9375rem + 16px)}',md:'.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-label-has-rich-content.sc-ion-select-modal-md{gap:16px}.action-sheet-button-label-text.sc-ion-select-modal-md,.alert-checkbox-label-text.sc-ion-select-modal-md,.alert-radio-label-text.sc-ion-select-modal-md,.select-option-label-text.sc-ion-select-modal-md{gap:12px}.select-option-start.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md{gap:8px}.select-option-description.sc-ion-select-modal-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.select-option-start.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-avatar.sc-ion-select-modal-md{width:40px;height:40px}.select-option-start.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-icon.sc-ion-select-modal-md{font-size:24px}.select-option-start.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-start.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>img.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>svg.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>ion-thumbnail.sc-ion-select-modal-md{width:56px;height:56px}.select-option-start.sc-ion-select-modal-md>video.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md>video.sc-ion-select-modal-md{width:114px;height:56px}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-label-has-rich-content.sc-ion-select-modal-md{gap:16px}.action-sheet-button-label-text.sc-ion-select-modal-md,.alert-checkbox-label-text.sc-ion-select-modal-md,.alert-radio-label-text.sc-ion-select-modal-md,.select-option-label-text.sc-ion-select-modal-md{gap:12px}.select-option-start.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md{gap:8px}.select-option-description.sc-ion-select-modal-md{padding-left:0;padding-right:0;padding-top:5px;padding-bottom:0;color:var(--ion-color-step-700, var(--ion-text-color-step-300, #4d4d4d));font-size:0.75rem}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.action-sheet-button-label-has-rich-content.sc-ion-select-modal-md,.alert-radio-label-has-rich-content.sc-ion-select-modal-md,.alert-checkbox-label-has-rich-content.sc-ion-select-modal-md,.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1}.action-sheet-button-label-text.sc-ion-select-modal-md,.alert-checkbox-label-text.sc-ion-select-modal-md,.alert-radio-label-text.sc-ion-select-modal-md,.select-option-label-text.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-start.sc-ion-select-modal-md,.select-option-end.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.select-option-description.sc-ion-select-modal-md{display:block}.select-option-label.sc-ion-select-modal-md:not(.select-option-label-has-rich-content){text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.select-option-label-has-rich-content.sc-ion-select-modal-md{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}ion-radio.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-radio.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md::part(label),ion-checkbox.select-option-has-rich-content.sc-ion-select-modal-md [part~="label"],.select-option-content.sc-ion-select-modal-md{-ms-flex:1;flex:1;white-space:normal}.sc-ion-select-modal-md-h{height:100%}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(container),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="container"]{display:none}ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md::part(label),ion-list.sc-ion-select-modal-md ion-radio.sc-ion-select-modal-md [part~="label"]{margin-left:0;margin-right:0;margin-top:0;margin-bottom:0}ion-item.sc-ion-select-modal-md{--inner-border-width:0}.item-radio-checked.sc-ion-select-modal-md{--background:rgba(var(--ion-color-primary-rgb, 0, 84, 233), 0.08);--background-focused:var(--ion-color-primary, #0054e9);--background-focused-opacity:0.2;--background-hover:var(--ion-color-primary, #0054e9);--background-hover-opacity:0.12}.item-checkbox-checked.sc-ion-select-modal-md{--background-activated:var(--ion-item-color, var(--ion-text-color, #000));--background-focused:var(--ion-item-color, var(--ion-text-color, #000));--background-hover:var(--ion-item-color, var(--ion-text-color, #000));--color:var(--ion-color-primary, #0054e9)}'};export{g as ion_select_modal}
@@ -80,7 +80,13 @@ export declare class Accordion implements ComponentInterface {
80
80
  private setItemDefaults;
81
81
  private getSlottedHeaderIonItem;
82
82
  private setAria;
83
- get accordionToggleIcon(): any;
83
+ /**
84
+ * Get the icon to use for the toggle icon.
85
+ * If an icon is set on the component, use that.
86
+ * Otherwise, use the icon set in the config.
87
+ * If no icon is set in the config, use the default icon.
88
+ */
89
+ get accordionToggleIcon(): string;
84
90
  private slotToggleIcon;
85
91
  private expandAccordion;
86
92
  private collapseAccordion;
@@ -45,9 +45,15 @@ export declare class BackButton implements ComponentInterface, ButtonInterface {
45
45
  */
46
46
  routerAnimation: AnimationBuilder | undefined;
47
47
  componentWillLoad(): void;
48
- get backButtonIcon(): any;
48
+ /**
49
+ * Get the icon to use for the back button icon.
50
+ * If an icon is set on the component, use that.
51
+ * Otherwise, use the icon set in the config.
52
+ * If no icon is set in the config, use the default icon.
53
+ */
54
+ get backButtonIcon(): string;
49
55
  get backButtonText(): any;
50
- get hasIconOnly(): any;
56
+ get hasIconOnly(): boolean;
51
57
  get rippleType(): "bounded" | "unbounded";
52
58
  private onClick;
53
59
  render(): any;
@@ -93,8 +93,18 @@ export declare class Breadcrumb implements ComponentInterface {
93
93
  */
94
94
  collapsedClick: EventEmitter<BreadcrumbCollapsedClickEventDetail>;
95
95
  componentWillLoad(): void;
96
- get breadcrumbCollapsedIcon(): any;
97
- get breadcrumbSeparatorIcon(): any;
96
+ /**
97
+ * Get the icon to use for the collapsed icon.
98
+ * Use the icon set in the config.
99
+ * If no icon is set in the config, use the default icon.
100
+ */
101
+ get breadcrumbCollapsedIcon(): string;
102
+ /**
103
+ * Get the icon to use for the separator icon.
104
+ * Use the icon set in the config.
105
+ * If no icon is set in the config, use the default icon.
106
+ */
107
+ get breadcrumbSeparatorIcon(): string;
98
108
  private isClickable;
99
109
  private onFocus;
100
110
  private onBlur;
@@ -9,7 +9,8 @@ import type { CheckboxChangeEventDetail } from './checkbox-interface';
9
9
  *
10
10
  * @part container - The container for the checkbox mark.
11
11
  * @part label - The label text describing the checkbox.
12
- * @part mark - The checkmark used to indicate the checked state.
12
+ * @part icon - The icon that displays the checked or indeterminate mark.
13
+ * @part mark - The mark used to indicate the checked or indeterminate state. Only applies when no icon is set in the config.
13
14
  * @part supporting-text - Supporting text displayed beneath the checkbox label.
14
15
  * @part helper-text - Supporting text displayed beneath the checkbox label when the checkbox is valid.
15
16
  * @part error-text - Supporting text displayed beneath the checkbox label when the checkbox is invalid and touched.
@@ -144,6 +145,16 @@ export declare class Checkbox implements ComponentInterface {
144
145
  * otherwise, two clicks will be triggered.
145
146
  */
146
147
  private onDivLabelClick;
148
+ /**
149
+ * Get the icon to use for the checked icon.
150
+ * Use the icon set in the config.
151
+ */
152
+ get checkboxCheckedIcon(): string | undefined;
153
+ /**
154
+ * Get the icon to use for the indeterminate icon.
155
+ * Use the icon set in the config.
156
+ */
157
+ get checkboxIndeterminateIcon(): string | undefined;
147
158
  private getHintTextId;
148
159
  /**
149
160
  * Responsible for rendering helper text and error text.
@@ -501,25 +501,25 @@ export declare class Datetime implements ComponentInterface {
501
501
  private renderDatetime;
502
502
  /**
503
503
  * Get the icon to use for the next icon.
504
- * Otherwise, use the icon set in the config.
504
+ * Use the icon set in the config.
505
505
  * If no icon is set in the config, use the default icon.
506
506
  */
507
507
  get datetimeNextIcon(): string;
508
508
  /**
509
509
  * Get the icon to use for the previous icon.
510
- * Otherwise, use the icon set in the config.
510
+ * Use the icon set in the config.
511
511
  * If no icon is set in the config, use the default icon.
512
512
  */
513
513
  get datetimePreviousIcon(): string;
514
514
  /**
515
515
  * Get the icon to use for the show month and year icon.
516
- * Otherwise, use the icon set in the config.
516
+ * Use the icon set in the config.
517
517
  * If no icon is set in the config, use the default icon.
518
518
  */
519
519
  get datetimeCollapsedIcon(): string | undefined;
520
520
  /**
521
521
  * Get the icon to use for the hide month and year icon.
522
- * Otherwise, use the icon set in the config.
522
+ * Use the icon set in the config.
523
523
  * If no icon is set in the config, use the default icon.
524
524
  */
525
525
  get datetimeExpandedIcon(): string | undefined;
@@ -112,6 +112,12 @@ export declare class FabButton implements ComponentInterface, AnchorInterface, B
112
112
  private findForm;
113
113
  private submitForm;
114
114
  componentWillLoad(): void;
115
- get fabButtonCloseIcon(): any;
115
+ /**
116
+ * Get the icon to use for the close icon.
117
+ * If an icon is set on the component, use that.
118
+ * Otherwise, use the icon set in the config.
119
+ * If no icon is set in the config, use the default icon.
120
+ */
121
+ get fabButtonCloseIcon(): string;
116
122
  render(): any;
117
123
  }
@@ -384,18 +384,15 @@ export declare class Input implements ComponentInterface {
384
384
  private renderOutlineContainer;
385
385
  private renderNativeInput;
386
386
  private renderClearButton;
387
- /**
388
- * The ionic theme keeps the label above a field box that wraps the slots and
389
- * the input, so the label can size independently of the slotted content.
390
- */
391
- private renderIonicField;
392
- /**
393
- * The ios and md themes nest the label alongside the input so a floating
394
- * label can escape the control and clear the start and end slots.
395
- */
396
387
  private renderStartContainer;
397
388
  private renderEndContainer;
398
- private renderNativeField;
389
+ /**
390
+ * Every theme renders the same label and control structure, aside from the md
391
+ * outline container below. The label is nested alongside the input so the ios
392
+ * and md floating label can escape the control and clear the start and end
393
+ * slots. The ionic theme lifts it above the field with grid instead.
394
+ */
395
+ private renderField;
399
396
  /**
400
397
  * Get the icon to use for the clear icon.
401
398
  * If an icon is set on the component, use that.
@@ -33,7 +33,19 @@ export declare class InputPasswordToggle implements ComponentInterface {
33
33
  connectedCallback(): void;
34
34
  disconnectedCallback(): void;
35
35
  private togglePasswordVisibility;
36
- get inputPasswordHideIcon(): any;
37
- get inputPasswordShowIcon(): any;
36
+ /**
37
+ * Get the icon to use for the hide icon.
38
+ * If an icon is set on the component, use that.
39
+ * Otherwise, use the icon set in the config.
40
+ * If no icon is set in the config, use the default icon.
41
+ */
42
+ get inputPasswordHideIcon(): string;
43
+ /**
44
+ * Get the icon to use for the show icon.
45
+ * If an icon is set on the component, use that.
46
+ * Otherwise, use the icon set in the config.
47
+ * If no icon is set in the config, use the default icon.
48
+ */
49
+ get inputPasswordShowIcon(): string;
38
50
  render(): any;
39
51
  }
@@ -122,7 +122,13 @@ export declare class Item implements ComponentInterface, AnchorInterface, Button
122
122
  private isFocusable;
123
123
  private hasStartEl;
124
124
  private getFirstInteractive;
125
- get itemDetailIcon(): any;
125
+ /**
126
+ * Get the icon to use for the detail icon.
127
+ * If an icon is set on the component, use that.
128
+ * Otherwise, use the icon set in the config.
129
+ * If no icon is set in the config, use the default icon.
130
+ */
131
+ get itemDetailIcon(): string;
126
132
  /**
127
133
  * The icon should be flipped when the app is RTL and
128
134
  * the icon is a variation of chevron.
@@ -37,7 +37,12 @@ export declare class MenuButton implements ComponentInterface, ButtonInterface {
37
37
  componentWillLoad(): void;
38
38
  componentDidLoad(): void;
39
39
  visibilityChanged(): Promise<void>;
40
- get menuIcon(): any;
40
+ /**
41
+ * Get the icon to use for the menu icon.
42
+ * Use the icon set in the config.
43
+ * If no icon is set in the config, use the default icon.
44
+ */
45
+ get menuIcon(): string;
41
46
  private onClick;
42
47
  render(): any;
43
48
  }
@@ -47,6 +47,12 @@ export declare class RefresherContent implements ComponentInterface {
47
47
  */
48
48
  refreshingText?: string | IonicSafeString;
49
49
  componentWillLoad(): void;
50
+ /**
51
+ * Get the icon to use for the arrow icon.
52
+ * Use the icon set in the config.
53
+ * If no icon is set in the config, use the default icon.
54
+ */
55
+ get refresherArrowIcon(): string;
50
56
  private renderPullingText;
51
57
  private renderRefreshingText;
52
58
  render(): any;
@@ -10,7 +10,7 @@ export declare class Reorder implements ComponentInterface {
10
10
  onClick(ev: Event): void;
11
11
  /**
12
12
  * Get the icon to use for the handle icon.
13
- * Otherwise, use the icon set in the config.
13
+ * Use the icon set in the config.
14
14
  * If no icon is set in the config, use the default icon.
15
15
  */
16
16
  get reorderHandleIcon(): string;
@@ -20,9 +20,8 @@ import type { SelectChangeEventDetail, SelectInterface, SelectCompareFn } from '
20
20
  * @part bottom - The container element for helper text, error text, and counter.
21
21
  * @part wrapper - The clickable label element that wraps the entire form field (label text, slots, selected values or placeholder, and toggle icons).
22
22
  * @part start - The wrapper element for the content in the start slot.
23
- * @part control - The wrapper element containing the native select control. In the `"ios"` and `"md"` themes it also contains the label, and the dropdown icon when the label is not floating or stacked.
24
- * @part end - The wrapper element for the content in the end slot. In the `"ios"` and `"md"` themes it also contains the dropdown icon when the label is floating or stacked.
25
- * @part inner - The wrapper element containing the start, control and end wrappers and the dropdown icon. Only rendered in the `"ionic"` theme.
23
+ * @part control - The wrapper element containing the label, the native select control, and the dropdown icon when the label is not floating or stacked. The `"ionic"` theme flattens this wrapper, so it cannot be given a box of its own there.
24
+ * @part end - The wrapper element for the content in the end slot. It also contains the dropdown icon when the label is floating or stacked.
26
25
  */
27
26
  export declare class Select implements ComponentInterface {
28
27
  private inputId;
@@ -305,17 +304,13 @@ export declare class Select implements ComponentInterface {
305
304
  */
306
305
  private renderOutlineContainer;
307
306
  private renderStartContainer;
308
- private renderNativeWrapper;
309
307
  /**
310
- * The ionic theme keeps the label above a field box that wraps the slots and
311
- * the control, so the label can size independently of the slotted content.
308
+ * Every theme renders the same label and control structure, aside from the md
309
+ * outline container below. The label is nested alongside the control so the
310
+ * ios and md floating label can escape it and clear the start and end slots.
311
+ * The ionic theme lifts it outside the field with grid instead.
312
312
  */
313
- private renderIonicField;
314
- /**
315
- * The ios and md themes nest the label alongside the control so a floating
316
- * label can escape it and clear the start and end slots.
317
- */
318
- private renderNativeField;
313
+ private renderField;
319
314
  /**
320
315
  * Wraps text nodes in the select text with span elements
321
316
  * so spacing can be added between elements without
@@ -21,7 +21,12 @@ export declare class SelectModal implements ComponentInterface {
21
21
  private getValues;
22
22
  private callOptionHandler;
23
23
  private setChecked;
24
- private get cancelButtonIcon();
24
+ /**
25
+ * Get the icon to use for the cancel icon.
26
+ * Use the icon set in the config.
27
+ * If no icon is set in the config, use the default icon.
28
+ */
29
+ private get selectModalCancelIcon();
25
30
  private getModalContextClasses;
26
31
  private renderRadioOptions;
27
32
  private renderCheckboxOptions;
@@ -18,6 +18,9 @@ import type { TextareaChangeEventDetail, TextareaInputEventDetail } from './text
18
18
  * @part error-text - Supporting text displayed beneath the textarea label when the textarea is invalid and touched.
19
19
  * @part counter - The character counter displayed when the counter property is set.
20
20
  * @part bottom - The container element for helper text, error text, and counter.
21
+ * @part start - The wrapper element for the content in the start slot.
22
+ * @part control - The wrapper element containing the label and the native textarea. The `"ionic"` theme flattens this wrapper, so it cannot be given a box of its own there.
23
+ * @part end - The wrapper element for the content in the end slot.
21
24
  */
22
25
  export declare class Textarea implements ComponentInterface {
23
26
  private nativeInput?;
@@ -351,18 +354,15 @@ export declare class Textarea implements ComponentInterface {
351
354
  */
352
355
  private renderOutlineContainer;
353
356
  private renderNativeTextarea;
354
- /**
355
- * The ionic theme keeps the label above a field box that wraps the slots and
356
- * the textarea, so the label can size independently of the slotted content.
357
- */
358
357
  private renderStartContainer;
359
358
  private renderEndContainer;
360
- private renderIonicField;
361
359
  /**
362
- * The ios and md themes nest the label alongside the textarea so a floating
363
- * label can escape the control and clear the start and end slots.
360
+ * Every theme renders the same label and control structure, aside from the md
361
+ * outline container below. The label is nested alongside the textarea so the
362
+ * ios and md floating label can escape the control and clear the start and
363
+ * end slots. The ionic theme lifts it outside the field with grid instead.
364
364
  */
365
- private renderNativeField;
365
+ private renderField;
366
366
  /**
367
367
  * Renders the helper text or error text values
368
368
  */
@@ -139,16 +139,19 @@ export declare class Toggle implements ComponentInterface {
139
139
  private onFocus;
140
140
  private onBlur;
141
141
  private getSwitchLabelIcon;
142
+ /**
143
+ * Get the default icon to use for the checked icon based on the theme.
144
+ */
142
145
  get toggleDefaultCheckedIcon(): string;
143
146
  /**
144
147
  * Get the icon to use for the checked icon.
145
- * Otherwise, use the icon set in the config.
148
+ * Use the icon set in the config.
146
149
  * If no icon is set in the config, use the default icon.
147
150
  */
148
151
  get toggleCheckedIcon(): string;
149
152
  /**
150
153
  * Get the icon to use for the unchecked icon.
151
- * Otherwise, use the icon set in the config.
154
+ * Use the icon set in the config.
152
155
  * If no icon is set in the config, use the default icon.
153
156
  */
154
157
  get toggleUncheckedIcon(): string;
@@ -79,13 +79,20 @@ export interface IonicConfig {
79
79
  */
80
80
  loadingSpinner?: SpinnerTypes | null;
81
81
  /**
82
- * Overrides the default icon in all `<ion-refresh-content>` components.
82
+ * Overrides the default icon in all `<ion-refresher-content>` components.
83
83
  */
84
84
  refreshingIcon?: string;
85
85
  /**
86
- * Overrides the default spinner type in all `<ion-refresh-content>` components.
86
+ * Overrides the default spinner type in all `<ion-refresher-content>`
87
+ * components.
87
88
  */
88
89
  refreshingSpinner?: SpinnerTypes | null;
90
+ /**
91
+ * Overrides the arrow icon shown on the circular pulling spinner
92
+ * in all `<ion-refresher-content>` components, only when the theme
93
+ * is `md` or `ionic`.
94
+ */
95
+ refresherArrowIcon?: string;
89
96
  /**
90
97
  * Overrides the default spinner type in all `<ion-infinite-scroll-content>` components.
91
98
  */
@@ -123,6 +130,14 @@ export interface IonicConfig {
123
130
  * Overrides the collapsed icon for all `ion-breadcrumb` components.
124
131
  */
125
132
  breadcrumbCollapsedIcon?: string;
133
+ /**
134
+ * Overrides the checkmark icon for all `ion-checkbox` components.
135
+ */
136
+ checkboxCheckedIcon?: string;
137
+ /**
138
+ * Overrides the indeterminate icon for all `ion-checkbox` components.
139
+ */
140
+ checkboxIndeterminateIcon?: string;
126
141
  /**
127
142
  * Overrides the next icon for all `ion-datetime` components.
128
143
  */
@@ -184,6 +199,11 @@ export interface IonicConfig {
184
199
  * Overrides the collapsed icon for all `ion-select` components.
185
200
  */
186
201
  selectCollapsedIcon?: string;
202
+ /**
203
+ * Overrides the cancel icon for all `ion-select-modal` components,
204
+ * only when the cancel button is set to display an icon.
205
+ */
206
+ selectModalCancelIcon?: string;
187
207
  /**
188
208
  * Overrides the checked icon for all `ion-toggle` components.
189
209
  */
@@ -0,0 +1,13 @@
1
+ import type { Locator } from '@playwright/test';
2
+ /**
3
+ * Asserts that a form field's start slot, control and end slot occupy one row,
4
+ * in inline order.
5
+ *
6
+ * The ionic theme lays these out as grid columns. An invalid column template is
7
+ * dropped silently, and the cells then auto-place into a row each, so checking
8
+ * that they share a row is what catches it.
9
+ *
10
+ * @param host The form field element.
11
+ * @param prefix The component's cell-class prefix: `input`, `select` or `textarea`.
12
+ */
13
+ export declare const expectFieldCellsShareARow: (host: Locator, prefix: string) => Promise<void>;
@@ -8,3 +8,4 @@ export * from './matchers';
8
8
  export * from './viewports';
9
9
  export * from './generator';
10
10
  export * from './detach-reattach';
11
+ export * from './field-geometry';