@ionic/core 8.7.12-dev.11764783037.19423064 → 8.7.12-dev.11764868084.1e8d52ae

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 (237) hide show
  1. package/components/checkbox.js +1 -1
  2. package/components/ion-input.js +1 -1
  3. package/components/ion-item-divider.js +2 -2
  4. package/components/ion-item-group.js +1 -1
  5. package/components/ion-item-option.js +2 -2
  6. package/components/ion-item-options.js +1 -1
  7. package/components/ion-item-sliding.js +1 -1
  8. package/components/ion-loading.js +2 -2
  9. package/components/ion-menu-button.js +2 -2
  10. package/components/ion-menu-toggle.js +2 -2
  11. package/components/ion-menu.js +2 -2
  12. package/components/ion-nav-link.js +1 -1
  13. package/components/ion-nav.js +1 -1
  14. package/components/ion-note.js +2 -2
  15. package/components/ion-picker-legacy.js +2 -2
  16. package/components/ion-progress-bar.js +1 -1
  17. package/components/ion-range.js +3 -3
  18. package/components/ion-refresher-content.js +2 -2
  19. package/components/ion-refresher.js +1 -1
  20. package/components/ion-reorder-group.js +1 -1
  21. package/components/ion-reorder.js +2 -2
  22. package/components/ion-router-link.js +2 -2
  23. package/components/ion-router-outlet.js +1 -1
  24. package/components/ion-row.js +2 -2
  25. package/components/ion-searchbar.js +4 -4
  26. package/components/ion-segment-button.js +2 -2
  27. package/components/ion-segment-content.js +1 -1
  28. package/components/ion-segment-view.js +2 -2
  29. package/components/ion-segment.js +2 -2
  30. package/components/ion-select-option.js +1 -1
  31. package/components/ion-select.js +4 -4
  32. package/components/ion-skeleton-text.js +2 -2
  33. package/components/ion-split-pane.js +2 -2
  34. package/components/ion-tab-bar.js +2 -2
  35. package/components/ion-tab-button.js +2 -2
  36. package/components/ion-tab.js +2 -2
  37. package/components/ion-tabs.js +1 -1
  38. package/components/ion-text.js +2 -2
  39. package/components/ion-textarea.js +4 -4
  40. package/components/ion-thumbnail.js +2 -2
  41. package/components/ion-toast.js +2 -2
  42. package/components/ion-toggle.js +3 -3
  43. package/components/label.js +2 -2
  44. package/components/list-header.js +2 -2
  45. package/components/modal.js +4 -4
  46. package/components/picker-column-option.js +2 -2
  47. package/components/picker-column2.js +2 -2
  48. package/components/popover.js +2 -2
  49. package/components/radio-group.js +7 -8
  50. package/components/radio.js +3 -3
  51. package/components/ripple-effect.js +1 -1
  52. package/components/select-modal.js +1 -1
  53. package/components/select-popover.js +2 -2
  54. package/components/spinner.js +1 -1
  55. package/components/title.js +2 -2
  56. package/components/toolbar.js +2 -2
  57. package/dist/cjs/ion-app_8.cjs.entry.js +5 -5
  58. package/dist/cjs/ion-avatar_3.cjs.entry.js +2 -2
  59. package/dist/cjs/ion-checkbox.cjs.entry.js +1 -1
  60. package/dist/cjs/ion-col_3.cjs.entry.js +2 -2
  61. package/dist/cjs/ion-datetime_3.cjs.entry.js +4 -4
  62. package/dist/cjs/ion-input.cjs.entry.js +1 -1
  63. package/dist/cjs/ion-item-option_3.cjs.entry.js +4 -4
  64. package/dist/cjs/ion-item_8.cjs.entry.js +11 -11
  65. package/dist/cjs/ion-loading.cjs.entry.js +2 -2
  66. package/dist/cjs/ion-menu_3.cjs.entry.js +6 -6
  67. package/dist/cjs/ion-modal.cjs.entry.js +4 -4
  68. package/dist/cjs/ion-nav_2.cjs.entry.js +2 -2
  69. package/dist/cjs/ion-picker-column-option.cjs.entry.js +2 -2
  70. package/dist/cjs/ion-popover.cjs.entry.js +2 -2
  71. package/dist/cjs/ion-progress-bar.cjs.entry.js +1 -1
  72. package/dist/cjs/ion-radio_2.cjs.entry.js +9 -9
  73. package/dist/cjs/ion-range.cjs.entry.js +3 -3
  74. package/dist/cjs/ion-refresher_2.cjs.entry.js +3 -3
  75. package/dist/cjs/ion-reorder_2.cjs.entry.js +3 -3
  76. package/dist/cjs/ion-ripple-effect.cjs.entry.js +1 -1
  77. package/dist/cjs/ion-route_4.cjs.entry.js +2 -2
  78. package/dist/cjs/ion-searchbar.cjs.entry.js +4 -4
  79. package/dist/cjs/ion-segment-content.cjs.entry.js +1 -1
  80. package/dist/cjs/ion-segment-view.cjs.entry.js +2 -2
  81. package/dist/cjs/ion-segment_2.cjs.entry.js +4 -4
  82. package/dist/cjs/ion-select-modal.cjs.entry.js +1 -1
  83. package/dist/cjs/ion-select_3.cjs.entry.js +7 -7
  84. package/dist/cjs/ion-spinner.cjs.entry.js +1 -1
  85. package/dist/cjs/ion-split-pane.cjs.entry.js +2 -2
  86. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +4 -4
  87. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -3
  88. package/dist/cjs/ion-text.cjs.entry.js +2 -2
  89. package/dist/cjs/ion-textarea.cjs.entry.js +4 -4
  90. package/dist/cjs/ion-toast.cjs.entry.js +2 -2
  91. package/dist/cjs/ion-toggle.cjs.entry.js +3 -3
  92. package/dist/cjs/ionic.cjs.js +1 -1
  93. package/dist/cjs/loader.cjs.js +1 -1
  94. package/dist/collection/components/checkbox/checkbox.ionic.css +5 -5
  95. package/dist/collection/components/input/input.ionic.css +4 -0
  96. package/dist/collection/components/item-divider/item-divider.js +2 -2
  97. package/dist/collection/components/item-group/item-group.js +1 -1
  98. package/dist/collection/components/item-option/item-option.js +2 -2
  99. package/dist/collection/components/item-options/item-options.js +1 -1
  100. package/dist/collection/components/item-sliding/item-sliding.js +1 -1
  101. package/dist/collection/components/label/label.js +2 -2
  102. package/dist/collection/components/list-header/list-header.js +2 -2
  103. package/dist/collection/components/loading/loading.js +2 -2
  104. package/dist/collection/components/menu/menu.js +2 -2
  105. package/dist/collection/components/menu-button/menu-button.js +2 -2
  106. package/dist/collection/components/menu-toggle/menu-toggle.js +2 -2
  107. package/dist/collection/components/modal/modal.js +4 -4
  108. package/dist/collection/components/nav/nav.js +1 -1
  109. package/dist/collection/components/nav-link/nav-link.js +1 -1
  110. package/dist/collection/components/note/note.js +2 -2
  111. package/dist/collection/components/picker-column-option/picker-column-option.js +2 -2
  112. package/dist/collection/components/picker-legacy/picker.js +2 -2
  113. package/dist/collection/components/picker-legacy-column/picker-column.js +2 -2
  114. package/dist/collection/components/popover/popover.js +2 -2
  115. package/dist/collection/components/progress-bar/progress-bar.js +1 -1
  116. package/dist/collection/components/radio/radio.js +3 -3
  117. package/dist/collection/components/radio-group/radio-group.ionic.css +20 -11
  118. package/dist/collection/components/radio-group/radio-group.ios.css +8 -4
  119. package/dist/collection/components/radio-group/radio-group.js +3 -4
  120. package/dist/collection/components/radio-group/radio-group.md.css +8 -4
  121. package/dist/collection/components/range/range.js +3 -3
  122. package/dist/collection/components/refresher/refresher.js +1 -1
  123. package/dist/collection/components/refresher-content/refresher-content.js +2 -2
  124. package/dist/collection/components/reorder/reorder.js +2 -2
  125. package/dist/collection/components/reorder-group/reorder-group.js +1 -1
  126. package/dist/collection/components/ripple-effect/ripple-effect.js +1 -1
  127. package/dist/collection/components/router-link/router-link.js +2 -2
  128. package/dist/collection/components/router-outlet/router-outlet.js +1 -1
  129. package/dist/collection/components/row/row.js +2 -2
  130. package/dist/collection/components/searchbar/searchbar.js +4 -4
  131. package/dist/collection/components/segment/segment.js +2 -2
  132. package/dist/collection/components/segment-button/segment-button.js +2 -2
  133. package/dist/collection/components/segment-content/segment-content.js +1 -1
  134. package/dist/collection/components/segment-view/segment-view.js +2 -2
  135. package/dist/collection/components/select/select.ionic.css +4 -0
  136. package/dist/collection/components/select/select.js +3 -3
  137. package/dist/collection/components/select-modal/select-modal.js +1 -1
  138. package/dist/collection/components/select-option/select-option.js +1 -1
  139. package/dist/collection/components/select-popover/select-popover.js +2 -2
  140. package/dist/collection/components/skeleton-text/skeleton-text.js +2 -2
  141. package/dist/collection/components/spinner/spinner.js +1 -1
  142. package/dist/collection/components/split-pane/split-pane.js +2 -2
  143. package/dist/collection/components/tab/tab.js +2 -2
  144. package/dist/collection/components/tab-bar/tab-bar.js +2 -2
  145. package/dist/collection/components/tab-button/tab-button.js +2 -2
  146. package/dist/collection/components/tabs/tabs.js +1 -1
  147. package/dist/collection/components/text/text.js +2 -2
  148. package/dist/collection/components/textarea/textarea.ionic.css +4 -0
  149. package/dist/collection/components/textarea/textarea.js +3 -3
  150. package/dist/collection/components/thumbnail/thumbnail.js +2 -2
  151. package/dist/collection/components/title/title.js +2 -2
  152. package/dist/collection/components/toast/toast.js +2 -2
  153. package/dist/collection/components/toggle/toggle.js +3 -3
  154. package/dist/collection/components/toolbar/toolbar.js +2 -2
  155. package/dist/docs.json +3 -16
  156. package/dist/esm/ion-app_8.entry.js +5 -5
  157. package/dist/esm/ion-avatar_3.entry.js +2 -2
  158. package/dist/esm/ion-checkbox.entry.js +1 -1
  159. package/dist/esm/ion-col_3.entry.js +2 -2
  160. package/dist/esm/ion-datetime_3.entry.js +4 -4
  161. package/dist/esm/ion-input.entry.js +1 -1
  162. package/dist/esm/ion-item-option_3.entry.js +4 -4
  163. package/dist/esm/ion-item_8.entry.js +11 -11
  164. package/dist/esm/ion-loading.entry.js +2 -2
  165. package/dist/esm/ion-menu_3.entry.js +6 -6
  166. package/dist/esm/ion-modal.entry.js +4 -4
  167. package/dist/esm/ion-nav_2.entry.js +2 -2
  168. package/dist/esm/ion-picker-column-option.entry.js +2 -2
  169. package/dist/esm/ion-popover.entry.js +2 -2
  170. package/dist/esm/ion-progress-bar.entry.js +1 -1
  171. package/dist/esm/ion-radio_2.entry.js +9 -9
  172. package/dist/esm/ion-range.entry.js +3 -3
  173. package/dist/esm/ion-refresher_2.entry.js +3 -3
  174. package/dist/esm/ion-reorder_2.entry.js +3 -3
  175. package/dist/esm/ion-ripple-effect.entry.js +1 -1
  176. package/dist/esm/ion-route_4.entry.js +2 -2
  177. package/dist/esm/ion-searchbar.entry.js +4 -4
  178. package/dist/esm/ion-segment-content.entry.js +1 -1
  179. package/dist/esm/ion-segment-view.entry.js +2 -2
  180. package/dist/esm/ion-segment_2.entry.js +4 -4
  181. package/dist/esm/ion-select-modal.entry.js +1 -1
  182. package/dist/esm/ion-select_3.entry.js +7 -7
  183. package/dist/esm/ion-spinner.entry.js +1 -1
  184. package/dist/esm/ion-split-pane.entry.js +2 -2
  185. package/dist/esm/ion-tab-bar_2.entry.js +4 -4
  186. package/dist/esm/ion-tab_2.entry.js +3 -3
  187. package/dist/esm/ion-text.entry.js +2 -2
  188. package/dist/esm/ion-textarea.entry.js +4 -4
  189. package/dist/esm/ion-toast.entry.js +2 -2
  190. package/dist/esm/ion-toggle.entry.js +3 -3
  191. package/dist/esm/ionic.js +1 -1
  192. package/dist/esm/loader.js +1 -1
  193. package/dist/ionic/ionic.esm.js +1 -1
  194. package/dist/ionic/{p-1635ea5e.entry.js → p-10fdbbc1.entry.js} +1 -1
  195. package/dist/ionic/{p-698ae42d.entry.js → p-2a3ff36f.entry.js} +1 -1
  196. package/dist/ionic/{p-d774af7c.entry.js → p-3622a9ea.entry.js} +1 -1
  197. package/dist/ionic/{p-48366887.entry.js → p-3a4865fd.entry.js} +1 -1
  198. package/dist/ionic/{p-931fd886.entry.js → p-4041ddea.entry.js} +1 -1
  199. package/dist/ionic/{p-a2179948.entry.js → p-46fb5199.entry.js} +1 -1
  200. package/dist/ionic/{p-b652eff7.entry.js → p-4757e558.entry.js} +1 -1
  201. package/dist/ionic/{p-9a20f9cb.entry.js → p-484aeb4c.entry.js} +1 -1
  202. package/dist/ionic/{p-b65b47bf.entry.js → p-5557bd92.entry.js} +1 -1
  203. package/dist/ionic/{p-6bb99f41.entry.js → p-57ef19f7.entry.js} +1 -1
  204. package/dist/ionic/{p-9e3fa08c.entry.js → p-5883f08d.entry.js} +1 -1
  205. package/dist/ionic/p-6267ef71.entry.js +4 -0
  206. package/dist/ionic/{p-74601090.entry.js → p-665c2df8.entry.js} +1 -1
  207. package/dist/ionic/{p-2061a732.entry.js → p-6fac73e6.entry.js} +1 -1
  208. package/dist/ionic/{p-fa6895f9.entry.js → p-7a18e825.entry.js} +1 -1
  209. package/dist/ionic/{p-78f1c348.entry.js → p-7d450184.entry.js} +1 -1
  210. package/dist/ionic/{p-3d0e07cf.entry.js → p-81770a5c.entry.js} +1 -1
  211. package/dist/ionic/{p-a3fefcf5.entry.js → p-86a6f814.entry.js} +1 -1
  212. package/dist/ionic/{p-826267d6.entry.js → p-86b82096.entry.js} +1 -1
  213. package/dist/ionic/{p-2c504bd3.entry.js → p-88ef6829.entry.js} +1 -1
  214. package/dist/ionic/p-89743bba.entry.js +4 -0
  215. package/dist/ionic/{p-09bcf828.entry.js → p-8e6857fa.entry.js} +1 -1
  216. package/dist/ionic/{p-105826fe.entry.js → p-91966afa.entry.js} +1 -1
  217. package/dist/ionic/{p-55734084.entry.js → p-93ed8a1d.entry.js} +1 -1
  218. package/dist/ionic/p-9839d6df.entry.js +4 -0
  219. package/dist/ionic/{p-ce2762f2.entry.js → p-a1128f7f.entry.js} +1 -1
  220. package/dist/ionic/p-b7f5ae4a.entry.js +4 -0
  221. package/dist/ionic/p-cdfe9ee7.entry.js +4 -0
  222. package/dist/ionic/p-ce510c06.entry.js +4 -0
  223. package/dist/ionic/{p-36f2ff62.entry.js → p-d05c7578.entry.js} +1 -1
  224. package/dist/ionic/{p-3948040f.entry.js → p-db4b3111.entry.js} +1 -1
  225. package/dist/ionic/{p-495912a4.entry.js → p-db90b95a.entry.js} +1 -1
  226. package/dist/ionic/{p-d0b9e5ff.entry.js → p-e12bb3dc.entry.js} +1 -1
  227. package/dist/ionic/{p-e3daf16c.entry.js → p-f3de58bd.entry.js} +1 -1
  228. package/dist/ionic/{p-f5fe6d47.entry.js → p-f8abe85c.entry.js} +1 -1
  229. package/hydrate/index.js +111 -111
  230. package/hydrate/index.mjs +111 -111
  231. package/package.json +1 -1
  232. package/dist/ionic/p-0774e5a0.entry.js +0 -4
  233. package/dist/ionic/p-85386f56.entry.js +0 -4
  234. package/dist/ionic/p-c8740f44.entry.js +0 -4
  235. package/dist/ionic/p-da0a2ca6.entry.js +0 -4
  236. package/dist/ionic/p-e46bf046.entry.js +0 -4
  237. package/dist/ionic/p-f9e3f9e1.entry.js +0 -4
@@ -67,7 +67,7 @@ export class MenuButton {
67
67
  type: this.type,
68
68
  };
69
69
  const ariaLabel = inheritedAttributes['aria-label'] || 'menu';
70
- return (h(Host, { key: '03935c67ec2448862cb0f2b4e643946438e1e566', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
70
+ return (h(Host, { key: '206b8482b58e7ee49ea89393a15e9cf30578297b', onClick: this.onClick, "aria-disabled": disabled ? 'true' : null, "aria-hidden": hidden ? 'true' : null, class: createColorClasses(color, {
71
71
  [theme]: true,
72
72
  button: true, // ion-buttons target .button
73
73
  'menu-button-hidden': hidden,
@@ -76,7 +76,7 @@ export class MenuButton {
76
76
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
77
77
  'ion-activatable': true,
78
78
  'ion-focusable': true,
79
- }) }, h("button", Object.assign({ key: 'e877eed6a614918eaaf7e041ba725331e27797a5' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: 'dca1c233c1da70ad7cd8f511713a0b18caa1666d', class: "button-inner" }, h("slot", { key: '7b663519d50fa74c5a287d4e0fc896406f48e759' }, h("ion-icon", { key: '42d30513e68b6c3830ec8a42e7d08abd55aad33b', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && h("ion-ripple-effect", { key: '6b8c422244d078255fed90abe147a1701cbd6b92', type: "unbounded" }))));
79
+ }) }, h("button", Object.assign({ key: '33017f0cde4835383f65b82f24e088dc2cf46517' }, attrs, { disabled: disabled, class: "button-native", part: "native", "aria-label": ariaLabel }), h("span", { key: '63aadc2910f7fd7ae070fe108822c51441dd8ea5', class: "button-inner" }, h("slot", { key: '6696b67329bdf6a0a7db0739d16717eb9ffc5f3b' }, h("ion-icon", { key: '7f88dd0caa7003db810bce76189ecbaba9ff6317', part: "icon", icon: menuIcon, lazy: false, "aria-hidden": "true" }))), theme === 'md' && h("ion-ripple-effect", { key: '1a2063529bb63cc055fb4bb7d1ad3032df2a74b4', type: "unbounded" }))));
80
80
  }
81
81
  static get is() { return "ion-menu-button"; }
82
82
  static get encapsulation() { return "shadow"; }
@@ -34,10 +34,10 @@ export class MenuToggle {
34
34
  render() {
35
35
  const theme = getIonTheme(this);
36
36
  const hidden = this.autoHide && !this.visible;
37
- return (h(Host, { key: '971acbed9c17a29b559281e20f8b3d53aa5a1fde', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
37
+ return (h(Host, { key: 'c3ddce789a90d720769919ebf854d05cc75f599e', onClick: this.onClick, "aria-hidden": hidden ? 'true' : null, class: {
38
38
  [theme]: true,
39
39
  'menu-toggle-hidden': hidden,
40
- } }, h("slot", { key: 'c6ba836a3380866148420953f5ef4a86ad9b6b85' })));
40
+ } }, h("slot", { key: 'f1334ba9d20148b673a0b6185ab5ef92f448f720' })));
41
41
  }
42
42
  static get is() { return "ion-menu-toggle"; }
43
43
  static get encapsulation() { return "shadow"; }
@@ -895,20 +895,20 @@ export class Modal {
895
895
  const isHandleCycle = handleBehavior === 'cycle';
896
896
  const shape = this.getShape();
897
897
  const isSheetModalWithHandle = isSheetModal && showHandle;
898
- return (h(Host, Object.assign({ key: '2111b0cb69c57d4827050f75f4033ad37f8e4f7a', "no-router": true,
898
+ return (h(Host, Object.assign({ key: '8ced9dcdb4ec35817bc1ad5f4f0c1b56bf76c93f', "no-router": true,
899
899
  // Allow the modal to be navigable when the handle is focusable
900
900
  tabIndex: isHandleCycle && isSheetModalWithHandle ? 0 : -1 }, htmlAttributes, { style: {
901
901
  zIndex: `${20000 + this.overlayIndex}`,
902
- }, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: 'd936c1d88a29b3210c0122a38148373e6349458c', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && h("div", { key: '126a9c79f4c9d702b6c291dd07b87eae270bc3c3', class: "modal-shadow" }), h("div", Object.assign({ key: '8381a634dbcb4bdf895996aebd5c1e938058d631',
902
+ }, class: Object.assign({ [theme]: true, ['modal-default']: !isCardModal && !isSheetModal, [`modal-card`]: isCardModal, [`modal-sheet`]: isSheetModal, [`modal-${shape}`]: shape !== undefined, [`modal-no-expand-scroll`]: isSheetModal && !expandToScroll, 'overlay-hidden': true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonModalDidPresent: this.onLifecycle, onIonModalWillPresent: this.onLifecycle, onIonModalWillDismiss: this.onLifecycle, onIonModalDidDismiss: this.onLifecycle, onFocus: this.onModalFocus }), h("ion-backdrop", { key: '952e76177128f7c5dcc9c9fe7792d73ec4c9c573', ref: (el) => (this.backdropEl = el), visible: this.showBackdrop, tappable: this.backdropDismiss, part: "backdrop" }), theme === 'ios' && h("div", { key: '3be69826a33edae93d2276b88347f025f3b46d92', class: "modal-shadow" }), h("div", Object.assign({ key: 'adeb46e4c78d08418f27277db8300706f1ce6d48',
903
903
  /*
904
904
  role and aria-modal must be used on the
905
905
  same element. They must also be set inside the
906
906
  shadow DOM otherwise ion-button will not be highlighted
907
907
  when using VoiceOver: https://bugs.webkit.org/show_bug.cgi?id=247134
908
908
  */
909
- role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '8aa16ae5e8b532dedfe0f072f3ec908c463a1c6b', class: "modal-handle",
909
+ role: "dialog" }, inheritedAttributes, { "aria-modal": "true", class: "modal-wrapper ion-overlay-wrapper", part: "content", ref: (el) => (this.wrapperEl = el) }), showHandle && (h("button", { key: '22ac19bef95f75b5b26147c6c41439690beb3849', class: "modal-handle",
910
910
  // Prevents the handle from receiving keyboard focus when it does not cycle
911
- tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '29ead0cd14368eff40bd330ab7c8172e3d9235f9', onSlotchange: this.onSlotChange }))));
911
+ tabIndex: !isHandleCycle ? -1 : 0, "aria-label": "Activate to adjust the size of the dialog overlaying the screen", onClick: isHandleCycle ? this.onHandleClick : undefined, part: "handle", ref: (el) => (this.dragHandleEl = el) })), h("slot", { key: '0039450fb7b0caa84f7a16c38e6db148cd9a5371', onSlotchange: this.onSlotChange }))));
912
912
  }
913
913
  static get is() { return "ion-modal"; }
914
914
  static get encapsulation() { return "shadow"; }
@@ -834,7 +834,7 @@ export class Nav {
834
834
  }
835
835
  }
836
836
  render() {
837
- return h("slot", { key: '7ba9deeadcdaa58afa69cb6d0f9f12b72b1cc5d6' });
837
+ return h("slot", { key: 'd6dd0b1e0ba59381a139f4a49de3eb8351fa87a4' });
838
838
  }
839
839
  static get is() { return "ion-nav"; }
840
840
  static get encapsulation() { return "shadow"; }
@@ -18,7 +18,7 @@ export class NavLink {
18
18
  };
19
19
  }
20
20
  render() {
21
- return h(Host, { key: 'e516e140c532b6fb17a2cbab9159a696be6af9f2', onClick: this.onClick });
21
+ return h(Host, { key: '61246716bdf9556db90e07680bc1a289f9658d5c', onClick: this.onClick });
22
22
  }
23
23
  static get is() { return "ion-nav-link"; }
24
24
  static get properties() {
@@ -11,9 +11,9 @@ import { getIonTheme } from "../../global/ionic-global";
11
11
  export class Note {
12
12
  render() {
13
13
  const theme = getIonTheme(this);
14
- return (h(Host, { key: 'd9aa35a602491c26342032b2aba8ebd63416a6b5', class: createColorClasses(this.color, {
14
+ return (h(Host, { key: 'a8470df6b8fb8ca327a282fc23705bc230f13a40', class: createColorClasses(this.color, {
15
15
  [theme]: true,
16
- }) }, h("slot", { key: 'c5d448d5f23357487d9e98dfb0ea7f4e9960a325' })));
16
+ }) }, h("slot", { key: '07cbdef68f010b06638f359f70dff3f1d659d899' })));
17
17
  }
18
18
  static get is() { return "ion-note"; }
19
19
  static get encapsulation() { return "shadow"; }
@@ -95,10 +95,10 @@ export class PickerColumnOption {
95
95
  render() {
96
96
  const { color, disabled, ariaLabel } = this;
97
97
  const theme = getIonTheme(this);
98
- return (h(Host, { key: 'dc87366ba724d5a0243dcde6bc8cc5c16d6d0c26', class: createColorClasses(color, {
98
+ return (h(Host, { key: '9ceebae71b6df0b01f36691d82d716f6756625d9', class: createColorClasses(color, {
99
99
  [theme]: true,
100
100
  ['option-disabled']: disabled,
101
- }) }, h("div", { key: '4cb0791a9e8f0e6c3403b2cb72c74502025f5218', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: 'f6b8dd7bc429991ae9c0d3448127117d62c068ba' }))));
101
+ }) }, h("div", { key: '1f26246d601779dadfaf055d195e2a4959180f5a', class: 'picker-column-option-button', role: "button", "aria-label": ariaLabel, onClick: () => this.onClick() }, h("slot", { key: 'eed413474a8b7ec7a73da27fa72a2d0a9a2aae2b' }))));
102
102
  }
103
103
  static get is() { return "ion-picker-column-option"; }
104
104
  static get encapsulation() { return "shadow"; }
@@ -208,11 +208,11 @@ export class Picker {
208
208
  render() {
209
209
  const { htmlAttributes } = this;
210
210
  const theme = getIonTheme(this);
211
- return (h(Host, Object.assign({ key: '722010a58f4c7fc3128b1f95675eba2b2b4a6f6a', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
211
+ return (h(Host, Object.assign({ key: 'efcc823fad9cb37c1379bef4f4b84c6461f3a3a6', "aria-modal": "true", tabindex: "-1" }, htmlAttributes, { style: {
212
212
  zIndex: `${20000 + this.overlayIndex}`,
213
213
  }, class: Object.assign({ [theme]: true,
214
214
  // Used internally for styling
215
- [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: 'b3acdedf7f305b26dbec78a9e3445f24707b6673', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: '67bc76dbd12f1429ff5b5951480ed248fdef0d3b', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '9bf585133a606474e1ec4ddc1028f06e1bbc88d5', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '8bd35f590263153814969636c3c47399f13aed64', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: 'e12063ea0bd81dfc54e379adddca75941cb8f172', class: "picker-columns" }, h("div", { key: '96baa0fab12ef8d9b79d8f10617a6791dcb2711c', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '42f2f7ad28a1802a5763e113c3fa3f807caa96de', class: "picker-below-highlight" }))), h("div", { key: '274d15028222bbd586c0497d56934d0ff72125bd', tabindex: "0", "aria-hidden": "true" })));
215
+ [`picker-${theme}`]: true, 'overlay-hidden': true }, getClassMap(this.cssClass)), onIonBackdropTap: this.onBackdropTap, onIonPickerWillDismiss: this.dispatchCancelHandler }), h("ion-backdrop", { key: '3f44bf34e039210ae149c590c393ee9f7fb85da0', visible: this.showBackdrop, tappable: this.backdropDismiss }), h("div", { key: 'c2a51a89c525b1a22cbc8583cd30f41c3c356d4f', tabindex: "0", "aria-hidden": "true" }), h("div", { key: '23837ffe309d0aad9b8ea09d7ac94d21040ef0d7', class: "picker-wrapper ion-overlay-wrapper", role: "dialog" }, h("div", { key: '91ba7e553d570768142715ded4bcc27fceedbce4', class: "picker-toolbar" }, this.buttons.map((b) => (h("div", { class: buttonWrapperClass(b) }, h("button", { type: "button", onClick: () => this.buttonClick(b), class: buttonClass(b) }, b.text))))), h("div", { key: '22661cafeb555f1435ec1e0a122404a48136095b', class: "picker-columns" }, h("div", { key: '5f3db32468b8c60f63c70d81a27b18cce6f2e259', class: "picker-above-highlight" }), this.presented && this.columns.map((c) => h("ion-picker-legacy-column", { col: c })), h("div", { key: '1bae6b170125b1671a480506ba73636b42b65909', class: "picker-below-highlight" }))), h("div", { key: '91beb94ce537122fbd6cd0c2bd3c00f908d0fefe', tabindex: "0", "aria-hidden": "true" })));
216
216
  }
217
217
  static get is() { return "ion-picker-legacy"; }
218
218
  static get encapsulation() { return "scoped"; }
@@ -335,9 +335,9 @@ export class PickerColumnCmp {
335
335
  render() {
336
336
  const col = this.col;
337
337
  const theme = getIonTheme(this);
338
- return (h(Host, { key: 'ab339936b884abbaf075bfaf1a1556dc396ea959', class: Object.assign({ [theme]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
338
+ return (h(Host, { key: '66a5b7f51aa1ee343dbad3830e03933dbdab27ed', class: Object.assign({ [theme]: true, 'picker-col': true, 'picker-opts-left': this.col.align === 'left', 'picker-opts-right': this.col.align === 'right' }, getClassMap(col.cssClass)), style: {
339
339
  'max-width': this.col.columnWidth,
340
- } }, col.prefix && (h("div", { key: '3cea9388a0818db89789087b90790b7734c4a9bf', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '4e4a704f5a6ca6e1647960655ce3fe454fa33f0a', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '536ee0f81d87db545846d5cdc8364e93f15a344c', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
340
+ } }, col.prefix && (h("div", { key: '19a170752bacdabd50c719f6d1aa9e58a2bd830b', class: "picker-prefix", style: { width: col.prefixWidth } }, col.prefix)), h("div", { key: '871671f796aa6a1f78e07ab2599d94b5fd8cd0bf', class: "picker-opts", style: { maxWidth: col.optionsWidth }, ref: (el) => (this.optsEl = el) }, col.options.map((o, index) => (h("button", { "aria-label": o.ariaLabel, class: { 'picker-opt': true, 'picker-opt-disabled': !!o.disabled }, "opt-index": index }, o.text)))), col.suffix && (h("div", { key: '89792e1dc75a4359a4706a8fd1846fe29b866173', class: "picker-suffix", style: { width: col.suffixWidth } }, col.suffix))));
341
341
  }
342
342
  static get is() { return "ion-picker-legacy-column"; }
343
343
  static get originalStyleUrls() {
@@ -434,9 +434,9 @@ export class Popover {
434
434
  const { onLifecycle, parentPopover, dismissOnSelect, side, arrow, htmlAttributes, focusTrap } = this;
435
435
  const desktop = isPlatform('desktop');
436
436
  const enableArrow = arrow && !parentPopover;
437
- return (h(Host, Object.assign({ key: '3e4ee2404b2b3c9cc04786c2cf08ad7f02de44be', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
437
+ return (h(Host, Object.assign({ key: 'd8cac78e3fda5731eb8a3532ce83a711190a0f1d', "aria-modal": "true", "no-router": true, tabindex: "-1" }, htmlAttributes, { style: {
438
438
  zIndex: `${20000 + this.overlayIndex}`,
439
- }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'cdfca56f6357d4db105cf6fe01269025b92a89ec', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '5e03c9ba84604240cd0f33193936ebeab65fd3f9', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '682ea432a1aa259e928df915f3f1a4dcc374e712', class: "popover-arrow", part: "arrow" }), h("div", { key: '82f52224083c7dc7e3b78f1ba6342391a317dfa2', class: "popover-content", part: "content" }, h("slot", { key: '504ff686b81a2d745bbfc739807f8d175569d27e' })))));
439
+ }, class: Object.assign(Object.assign({}, getClassMap(this.cssClass)), { [theme]: true, 'popover-translucent': this.translucent, 'overlay-hidden': true, 'popover-desktop': desktop, [`popover-side-${side}`]: true, [FOCUS_TRAP_DISABLE_CLASS]: focusTrap === false, 'popover-nested': !!parentPopover }), onIonPopoverDidPresent: onLifecycle, onIonPopoverWillPresent: onLifecycle, onIonPopoverWillDismiss: onLifecycle, onIonPopoverDidDismiss: onLifecycle, onIonBackdropTap: this.onBackdropTap }), !parentPopover && h("ion-backdrop", { key: 'ec62e04664d67c7ef9c43bb77e5baa517ab88e7f', tappable: this.backdropDismiss, visible: this.showBackdrop, part: "backdrop" }), h("div", { key: '1da57db158ecd1f6260369d44f2db5b0791ecd3a', class: "popover-wrapper ion-overlay-wrapper", onClick: dismissOnSelect ? () => this.dismiss() : undefined }, enableArrow && h("div", { key: '22966b014e1a5ff24963dff94cad281200a3b334', class: "popover-arrow", part: "arrow" }), h("div", { key: 'a2b960c96a54c06807e07edc2579b5d459e5d108', class: "popover-content", part: "content" }, h("slot", { key: 'bae331e17437df55a77db538a693ef459f11e78a' })))));
440
440
  }
441
441
  static get is() { return "ion-popover"; }
442
442
  static get encapsulation() { return "shadow"; }
@@ -57,7 +57,7 @@ export class ProgressBar {
57
57
  const shape = this.getShape();
58
58
  // If the progress is displayed as a solid bar.
59
59
  const progressSolid = buffer === 1;
60
- return (h(Host, { key: '09f756769766e86f291305dff5bd8f0886d08fdb', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
60
+ return (h(Host, { key: '9adef68c31bdf39d48199e01587f8d5295d4c6af', role: "progressbar", "aria-valuenow": type === 'determinate' ? value : null, "aria-valuemin": "0", "aria-valuemax": "1", class: createColorClasses(color, {
61
61
  [theme]: true,
62
62
  [`progress-bar-${type}`]: true,
63
63
  'progress-paused': paused,
@@ -137,7 +137,7 @@ export class Radio {
137
137
  const { checked, disabled, color, el, justify, labelPlacement, hasLabel, buttonTabindex, alignment } = this;
138
138
  const theme = getIonTheme(this);
139
139
  const inItem = hostContext('ion-item', el);
140
- return (h(Host, { key: '1b569684af9f60c173d115365e6b489345710b12', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
140
+ return (h(Host, { key: '7ac17b6d0b96104b5baba1bb8c28c37f30005fdd', onFocus: this.onFocus, onBlur: this.onBlur, onClick: this.onClick, class: createColorClasses(color, {
141
141
  [theme]: true,
142
142
  'in-item': inItem,
143
143
  'radio-checked': checked,
@@ -148,10 +148,10 @@ export class Radio {
148
148
  // Focus and active styling should not apply when the radio is in an item
149
149
  'ion-activatable': !inItem,
150
150
  'ion-focusable': !inItem,
151
- }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '1e16fd85e901ba9b30f8b15b3ec0995258fc27b1', class: "radio-wrapper" }, h("div", { key: 'f37d80531099fb119e671824bc8ea7d1077b6895', class: {
151
+ }), role: "radio", "aria-checked": checked ? 'true' : 'false', "aria-disabled": disabled ? 'true' : null, tabindex: buttonTabindex }, h("label", { key: '41305f13b3025e3876236097131beb7ef8a40515', class: "radio-wrapper" }, h("div", { key: '603d3ac36c227995a3b9f5bd6fa1ec4de4fa304a', class: {
152
152
  'label-text-wrapper': true,
153
153
  'label-text-wrapper-hidden': !hasLabel,
154
- }, part: "label" }, h("slot", { key: 'a9458913373b29cf2d6a20fbc8871a6613ae174e' })), h("div", { key: '2e937c439425c196f1b610a7031f9b92bf0c745c', class: "native-wrapper" }, this.renderRadioControl()))));
154
+ }, part: "label" }, h("slot", { key: '838d3a84c3ce2aaa31e61ce2b82c6a23818b0908' })), h("div", { key: '3d4ac72bbf52e04a2500782223baac24784f361e', class: "native-wrapper" }, this.renderRadioControl()))));
155
155
  }
156
156
  static get is() { return "ion-radio"; }
157
157
  static get encapsulation() { return "shadow"; }
@@ -59,7 +59,7 @@
59
59
  * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
60
60
  * convert to a unit other than $baselineUnit.
61
61
  */
62
- :host {
62
+ ion-radio-group {
63
63
  vertical-align: top;
64
64
  }
65
65
 
@@ -75,19 +75,19 @@
75
75
  display: block;
76
76
  }
77
77
 
78
- :host(.ion-touched.ion-invalid) .radio-group-top .error-text {
78
+ .ion-touched.ion-invalid .radio-group-top .error-text {
79
79
  display: block;
80
80
  }
81
81
 
82
- :host(.ion-touched.ion-invalid) .radio-group-top .helper-text {
82
+ .ion-touched.ion-invalid .radio-group-top .helper-text {
83
83
  display: none;
84
84
  }
85
85
 
86
86
  .radio-group-top {
87
- font-size: var(--token-font-size-350, 14px);
88
- font-weight: var(--token-font-weight-regular, 400);
87
+ font-size: var(--token-font-size-300, 12px);
88
+ font-weight: var(--token-font-weight-medium, 500);
89
89
  letter-spacing: var(--token-font-letter-spacing-0, 0%);
90
- line-height: var(--token-font-line-height-600, var(--token-scale-600, 24px));
90
+ line-height: var(--token-font-line-height-500, var(--token-scale-500, 20px));
91
91
  text-decoration: none;
92
92
  text-transform: none;
93
93
  margin-bottom: var(--token-space-400, var(--token-scale-400, 16px));
@@ -101,16 +101,25 @@
101
101
  color: var(--token-text-subtlest, var(--token-primitives-neutral-800, #626262));
102
102
  }
103
103
 
104
- /* stylelint-disable */
105
- :host-context(ion-list) .radio-group-top {
104
+ ion-list .radio-group-top {
105
+ /* stylelint-disable */
106
106
  padding-right: var(--token-space-400, var(--token-scale-400, 16px));
107
107
  padding-left: calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-left, 0px));
108
+ /* stylelint-enable */
109
+ }
110
+ :host-context([dir=rtl]) ion-list .radio-group-top {
111
+ padding-right: calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-right, 0px));
112
+ padding-left: var(--token-space-400, var(--token-scale-400, 16px));
108
113
  }
109
114
 
110
- :host-context([dir=rtl] ion-list) .radio-group-top,
111
- :host-context(ion-list) .radio-group-top:dir(rtl) {
115
+ [dir=rtl] ion-list .radio-group-top {
112
116
  padding-right: calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-right, 0px));
113
117
  padding-left: var(--token-space-400, var(--token-scale-400, 16px));
114
118
  }
115
119
 
116
- /* stylelint-enable */
120
+ @supports selector(:dir(rtl)) {
121
+ ion-list .radio-group-top:dir(rtl) {
122
+ padding-right: calc(var(--token-space-400, var(--token-scale-400, 16px)) + var(--ion-safe-area-right, 0px));
123
+ padding-left: var(--token-space-400, var(--token-scale-400, 16px));
124
+ }
125
+ }
@@ -59,7 +59,7 @@
59
59
  * }
60
60
  * }
61
61
  */
62
- :host {
62
+ ion-radio-group {
63
63
  vertical-align: top;
64
64
  }
65
65
 
@@ -75,11 +75,11 @@
75
75
  display: block;
76
76
  }
77
77
 
78
- :host(.ion-touched.ion-invalid) .radio-group-top .error-text {
78
+ .ion-touched.ion-invalid .radio-group-top .error-text {
79
79
  display: block;
80
80
  }
81
81
 
82
- :host(.ion-touched.ion-invalid) .radio-group-top .helper-text {
82
+ .ion-touched.ion-invalid .radio-group-top .helper-text {
83
83
  display: none;
84
84
  }
85
85
 
@@ -144,6 +144,10 @@
144
144
  * }
145
145
  * }
146
146
  */
147
+ .radio-group-wrapper {
148
+ display: inline;
149
+ }
150
+
147
151
  .radio-group-top {
148
152
  line-height: 1.5;
149
153
  }
@@ -217,7 +221,7 @@
217
221
  * }
218
222
  * }
219
223
  */
220
- :host-context(ion-list) .radio-group-top {
224
+ ion-list .radio-group-top {
221
225
  -webkit-padding-start: 16px;
222
226
  padding-inline-start: 16px;
223
227
  -webkit-padding-end: 16px;
@@ -226,7 +226,7 @@ export class RadioGroup {
226
226
  if (!hasHintText) {
227
227
  return;
228
228
  }
229
- return (h("div", { class: "radio-group-top", part: "top" }, h("div", { id: helperTextId, class: "helper-text", part: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null), h("div", { id: errorTextId, class: "error-text", part: "error-text", role: "alert" }, isInvalid ? errorText : null)));
229
+ return (h("div", { class: "radio-group-top" }, h("div", { id: helperTextId, class: "helper-text", "aria-live": "polite" }, !isInvalid ? helperText : null), h("div", { id: errorTextId, class: "error-text", role: "alert" }, isInvalid ? errorText : null)));
230
230
  }
231
231
  getHintTextId() {
232
232
  const { helperText, errorText, helperTextId, errorTextId, isInvalid } = this;
@@ -242,12 +242,11 @@ export class RadioGroup {
242
242
  const { label, labelId, el, name, value } = this;
243
243
  const theme = getIonTheme(this);
244
244
  renderHiddenInput(true, el, name, value, false);
245
- return (h(Host, { key: '70aaac0d9192cd73d549b8a2b71dc6c1d9847436', class: {
245
+ return (h(Host, { key: '61befc92b686c561be1a4cc350cd02bab9c802e4', class: {
246
246
  [theme]: true,
247
- }, role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick }, this.renderHintText(), h("slot", { key: 'de85a24d06f348e0d7fb9fb802c7254e6658e422' })));
247
+ }, role: "radiogroup", "aria-labelledby": label ? labelId : null, "aria-describedby": this.hintTextId, "aria-invalid": this.isInvalid ? 'true' : undefined, onClick: this.onClick }, this.renderHintText(), h("div", { key: '4f09341fb3d8d3ac14e1ab82841f099a9dab9435', class: "radio-group-wrapper" }, h("slot", { key: '4317ba35d152faa7ddabd7770a6cd3592dee4514' }))));
248
248
  }
249
249
  static get is() { return "ion-radio-group"; }
250
- static get encapsulation() { return "shadow"; }
251
250
  static get originalStyleUrls() {
252
251
  return {
253
252
  "ios": ["radio-group.ios.scss"],
@@ -59,7 +59,7 @@
59
59
  * }
60
60
  * }
61
61
  */
62
- :host {
62
+ ion-radio-group {
63
63
  vertical-align: top;
64
64
  }
65
65
 
@@ -75,11 +75,11 @@
75
75
  display: block;
76
76
  }
77
77
 
78
- :host(.ion-touched.ion-invalid) .radio-group-top .error-text {
78
+ .ion-touched.ion-invalid .radio-group-top .error-text {
79
79
  display: block;
80
80
  }
81
81
 
82
- :host(.ion-touched.ion-invalid) .radio-group-top .helper-text {
82
+ .ion-touched.ion-invalid .radio-group-top .helper-text {
83
83
  display: none;
84
84
  }
85
85
 
@@ -144,6 +144,10 @@
144
144
  * }
145
145
  * }
146
146
  */
147
+ .radio-group-wrapper {
148
+ display: inline;
149
+ }
150
+
147
151
  .radio-group-top {
148
152
  line-height: 1.5;
149
153
  }
@@ -217,7 +221,7 @@
217
221
  * }
218
222
  * }
219
223
  */
220
- :host-context(ion-list) .radio-group-top {
224
+ ion-list .radio-group-top {
221
225
  -webkit-padding-start: 16px;
222
226
  padding-inline-start: 16px;
223
227
  -webkit-padding-end: 16px;
@@ -682,7 +682,7 @@ export class Range {
682
682
  const needsEndAdjustment = inItem && !hasEndContent;
683
683
  const theme = getIonTheme(this);
684
684
  renderHiddenInput(true, el, this.name, JSON.stringify(this.getValue()), disabled);
685
- return (h(Host, { key: '9cca7c3c2af026ec3f002f2a2816e9604caf5eac', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
685
+ return (h(Host, { key: 'abffed8811679954ae1ccded14b09c1070aec868', onFocusin: this.onFocus, onFocusout: this.onBlur, id: rangeId, class: createColorClasses(this.color, {
686
686
  [theme]: true,
687
687
  'in-item': inItem,
688
688
  'range-disabled': disabled,
@@ -691,10 +691,10 @@ export class Range {
691
691
  [`range-label-placement-${labelPlacement}`]: true,
692
692
  'range-item-start-adjustment': needsStartAdjustment,
693
693
  'range-item-end-adjustment': needsEndAdjustment,
694
- }) }, h("label", { key: 'c26c87b4b7897e7dfe17c2838e85359c2639614c', class: "range-wrapper", id: "range-label" }, h("div", { key: '7f0b72f40c9e6737f15b6f3eb9933ee9c8e26e44', class: {
694
+ }) }, h("label", { key: '4296d7310d335ba9783d96e982159e8563a3ea35', class: "range-wrapper", id: "range-label" }, h("div", { key: '8087acc009ee1287f0ddd483669cd6284ff84004', class: {
695
695
  'label-text-wrapper': true,
696
696
  'label-text-wrapper-hidden': !hasLabel,
697
- }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'd0cabe21050b1cbca40d43074a198b5c488839f2', class: "native-wrapper" }, h("slot", { key: '61b055f7b19e84b900bc003dd9033707ac7c9b54', name: "start" }), this.renderRangeSlider(), h("slot", { key: '50f9cd92015d4c24a3a1a58361a716f00943829c', name: "end" })))));
697
+ }, part: "label" }, label !== undefined ? h("div", { class: "label-text" }, label) : h("slot", { name: "label" })), h("div", { key: 'fa1207cbb99ccb9a9cc60c2409977c1b925476b0', class: "native-wrapper" }, h("slot", { key: 'fdbe6f0c142f3511e1b526f6d4df195c105660c5', name: "start" }), this.renderRangeSlider(), h("slot", { key: '3f03f148fbd461a7a87c8f2da5e5cba37213ef30', name: "end" })))));
698
698
  }
699
699
  static get is() { return "ion-range"; }
700
700
  static get encapsulation() { return "shadow"; }
@@ -690,7 +690,7 @@ export class Refresher {
690
690
  }
691
691
  render() {
692
692
  const theme = getIonTheme(this);
693
- return (h(Host, { key: '13723330779934646621e76579049496116ef197', slot: "fixed", class: {
693
+ return (h(Host, { key: 'fdf580e687c1cd7c507a7357ea87a03270ff9f0b', slot: "fixed", class: {
694
694
  [theme]: true,
695
695
  // Used internally for styling
696
696
  [`refresher-${theme}`]: true,
@@ -53,9 +53,9 @@ export class RefresherContent {
53
53
  const hasSpinner = pullingIcon != null && SPINNERS[pullingIcon] !== undefined;
54
54
  const theme = getIonTheme(this);
55
55
  const arrowIcon = theme === 'ionic' ? caretLeftFill : caretBackSharp;
56
- return (h(Host, { key: '99eb28dbd0a72adf54c76066bf0ee91533cb8940', class: {
56
+ return (h(Host, { key: '3a3a3fb44f8397bb8e5019b51254ada8c26ae371', class: {
57
57
  [theme]: true,
58
- } }, h("div", { key: 'b77c81e7e222983d026e053143e55391b09a054d', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: '6e21168c8aaf7185f369236406dc702d302e02ae', class: "refresher-pulling-icon" }, h("div", { key: 'f5f591937aa1249059974adc4ff197e1ec0e31d7', class: "spinner-arrow-container" }, h("ion-spinner", { key: '18c220c982f951e218777506967a82f8b55a70c0', name: this.pullingIcon, paused: true }), (theme === 'md' || theme === 'ionic') && this.pullingIcon === 'circular' && (h("div", { key: '21abdd0e39a7077688b50b4f71644f9dd959509a', class: "arrow-container" }, h("ion-icon", { key: '70224906446a48bf5d8fb312b16257ca5ebce20d', icon: arrowIcon, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: 'e8af99677f773f33e1e9b49e4d854f5dd937c88a', class: "refresher-pulling-icon" }, h("ion-icon", { key: '557bd69b056d2c43d10a9a97403b4dfaaa5624dc', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: 'b88562e251525218f1e94ac427732632e181dd52', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: '9e3ac78eb28a29ba302a5ba27c3be116e3f28688', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: 'b10a1f2bb18ba728b6b581fbcc522c69bc9d397c', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
58
+ } }, h("div", { key: '3e63966e8c2b262b1f9d4a5545dbdd00e97a4c68', class: "refresher-pulling" }, this.pullingIcon && hasSpinner && (h("div", { key: 'd4c8fa7151cee666520a40050c58f6e8201b14a5', class: "refresher-pulling-icon" }, h("div", { key: '2f45a17fe5fe51e81e2d7bd580fd60ce754c5989', class: "spinner-arrow-container" }, h("ion-spinner", { key: '210cd5f152453a283dbc579f545c683e3af84ea3', name: this.pullingIcon, paused: true }), (theme === 'md' || theme === 'ionic') && this.pullingIcon === 'circular' && (h("div", { key: '060c8d531e90478121113f59989ac29809f48947', class: "arrow-container" }, h("ion-icon", { key: '7c30ddd2c1a6e2274e7d57f792733017c663197b', icon: arrowIcon, "aria-hidden": "true" })))))), this.pullingIcon && !hasSpinner && (h("div", { key: '3dee253d56c871195dcd59eaedc2b867ac578319', class: "refresher-pulling-icon" }, h("ion-icon", { key: '46b859328da272449f316ea8f68f3c3dd545c2e7', icon: this.pullingIcon, lazy: false, "aria-hidden": "true" }))), this.pullingText !== undefined && this.renderPullingText()), h("div", { key: '56660f9f6cff1006c5552df3a9430124689d42cb', class: "refresher-refreshing" }, this.refreshingSpinner && (h("div", { key: 'e8232281f251e5d0d22972fa8e38176edc3d9e5d', class: "refresher-refreshing-icon" }, h("ion-spinner", { key: '70f42df444c4669f393137f218ba9d635f76a26c', name: this.refreshingSpinner }))), this.refreshingText !== undefined && this.renderRefreshingText())));
59
59
  }
60
60
  static get is() { return "ion-refresher-content"; }
61
61
  static get originalStyleUrls() {
@@ -43,9 +43,9 @@ export class Reorder {
43
43
  render() {
44
44
  const { reorderHandleIcon } = this;
45
45
  const theme = getIonTheme(this);
46
- return (h(Host, { key: 'e42645240aa9a32cc6768289eb1af656ed15482d', class: {
46
+ return (h(Host, { key: 'ba59a095c200b70c6d847dc7362d52b315dc853a', class: {
47
47
  [theme]: true,
48
- } }, h("slot", { key: '9e6d2fb09480e7e0ef6bb84524bfc2a23fa1d9cb' }, h("ion-icon", { key: '411e5791ce7575383c54c05ba305c1c83acaacde', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
48
+ } }, h("slot", { key: '79be263f78cc21c9c4f91326e557e65849ab1e51' }, h("ion-icon", { key: '6e5c47c8bbd33f5cd405a5fd531831cb87c8e57e', icon: reorderHandleIcon, lazy: false, class: "reorder-icon", part: "icon", "aria-hidden": "true" }))));
49
49
  }
50
50
  static get is() { return "ion-reorder"; }
51
51
  static get encapsulation() { return "shadow"; }
@@ -257,7 +257,7 @@ export class ReorderGroup {
257
257
  }
258
258
  render() {
259
259
  const theme = getIonTheme(this);
260
- return (h(Host, { key: '5b543cb56208112bda355b3cbfeaf3bc4202c203', class: {
260
+ return (h(Host, { key: 'df12858536c409c76552fe79b88827b3c4a5d9c5', class: {
261
261
  [theme]: true,
262
262
  'reorder-enabled': !this.disabled,
263
263
  'reorder-list-active': this.state !== 0 /* ReorderGroupState.Idle */,
@@ -72,7 +72,7 @@ export class RippleEffect {
72
72
  }
73
73
  render() {
74
74
  const theme = getIonTheme(this);
75
- return (h(Host, { key: 'a06d781599e14357c3acc2537059543ae3f1a1f4', role: "presentation", class: {
75
+ return (h(Host, { key: '502ce1841747f255dfab542914bebd0d0f4ae9bd', role: "presentation", class: {
76
76
  [theme]: true,
77
77
  unbounded: this.unbounded,
78
78
  } }));
@@ -26,10 +26,10 @@ export class RouterLink {
26
26
  rel: this.rel,
27
27
  target: this.target,
28
28
  };
29
- return (h(Host, { key: '16797ccb67b51f90262d2ea0d6032cf0ebf1fc39', onClick: this.onClick, class: createColorClasses(this.color, {
29
+ return (h(Host, { key: '518b86cf40eb95e03f75a20ff44fff804ac8ec4d', onClick: this.onClick, class: createColorClasses(this.color, {
30
30
  [theme]: true,
31
31
  'ion-activatable': true,
32
- }) }, h("a", Object.assign({ key: '75ef998f2acc33dd80a31233486176b770c1b26e' }, attrs), h("slot", { key: '14732a08293d1f77d87aa903dd5da07e0cff59c7' }))));
32
+ }) }, h("a", Object.assign({ key: 'dbf3cc12752b4fa2d3873723a8ea5a30b053d261' }, attrs), h("slot", { key: '9614e46a8d35201937f1f9a39b88f71b78efa7a0' }))));
33
33
  }
34
34
  static get is() { return "ion-router-link"; }
35
35
  static get encapsulation() { return "shadow"; }
@@ -184,7 +184,7 @@ export class RouterOutlet {
184
184
  return true;
185
185
  }
186
186
  render() {
187
- return h("slot", { key: '3bd64be4bba02446bf9086d9381d67dff31b5077' });
187
+ return h("slot", { key: '3f107f085a977b4d27c7266771a9564e3219f736' });
188
188
  }
189
189
  static get is() { return "ion-router-outlet"; }
190
190
  static get encapsulation() { return "shadow"; }
@@ -10,9 +10,9 @@ import { getIonTheme } from "../../global/ionic-global";
10
10
  export class Row {
11
11
  render() {
12
12
  const theme = getIonTheme(this);
13
- return (h(Host, { key: 'd1816dec9a51e6ec6c7ddecc6968a89ae526d447', class: {
13
+ return (h(Host, { key: '6f5dd5032485a69ddf9510e2e539a7ba90afda47', class: {
14
14
  [theme]: true,
15
- } }, h("slot", { key: 'f8d0c70fc77f5be3791251e0f03208ece6af517f' })));
15
+ } }, h("slot", { key: '994dcbbc871d606b61ff5993fb29aa1fa349c483' })));
16
16
  }
17
17
  static get is() { return "ion-row"; }
18
18
  static get encapsulation() { return "shadow"; }
@@ -531,8 +531,8 @@ export class Searchbar {
531
531
  const shouldShowCancelButton = this.shouldShowCancelButton();
532
532
  const shape = this.getShape();
533
533
  const size = this.getSize();
534
- const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '82b60fcbb7bdfa4b64f64c0caf451c1ee9265efe', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: theme === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: '1f3d09cb5f6224e709197a2d9fe6e1e5e40a724d', "aria-hidden": "true" }, theme === 'md' || theme === 'ionic' ? (h("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
535
- return (h(Host, { key: '56c1807bc9bf3a00bb065ece946ce85edce545f8', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
534
+ const cancelButton = this.showCancelButton !== 'never' && (h("button", { key: '3f7daa2a4ec57132e8baf591542569338e7ec9c8', "aria-label": cancelButtonText, "aria-hidden": shouldShowCancelButton ? undefined : 'true', type: "button", tabIndex: theme === 'ios' && !shouldShowCancelButton ? -1 : undefined, onMouseDown: this.onCancelSearchbar, onTouchStart: this.onCancelSearchbar, class: "searchbar-cancel-button" }, h("div", { key: 'f214142fec5644d91eae82644558e6b817094957', "aria-hidden": "true" }, theme === 'md' || theme === 'ionic' ? (h("ion-icon", { "aria-hidden": "true", icon: searchbarCancelIcon, lazy: false })) : (cancelButtonText))));
535
+ return (h(Host, { key: '47e075305f28373fffab3e006ab4014da6dfb0c8', role: "search", "aria-disabled": this.disabled ? 'true' : null, class: createColorClasses(this.color, {
536
536
  [theme]: true,
537
537
  'searchbar-animated': animated,
538
538
  'searchbar-disabled': this.disabled,
@@ -546,14 +546,14 @@ export class Searchbar {
546
546
  [`searchbar-shape-${shape}`]: shape !== undefined,
547
547
  [`searchbar-size-${size}`]: size !== undefined,
548
548
  'in-toolbar': hostContext('ion-toolbar', this.el),
549
- }) }, h("div", { key: '8b757c604bf3a4d82aabccd2522750e4f2dbcd01', class: "searchbar-input-container" }, h("input", Object.assign({ key: 'c6b96039495f6727ea2cb7ebf51d53fef5780d74', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), (theme === 'md' || theme === 'ionic') && cancelButton, this.shouldShowSearchIcon() && (h("ion-icon", { key: 'f25d87e4f2a357df7a09f1f60db862294d8525b8', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" })), this.shouldShowClearButton() && (h("button", { key: '1b5e1428ca6d272b329007e48481e15d4694eec2', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
549
+ }) }, h("div", { key: '14b271ab3eebf1b651a8cfd758c7880b548bb98d', class: "searchbar-input-container" }, h("input", Object.assign({ key: 'f84a9435002eba2084ce0269fa3c926b7c03209d', "aria-label": "search text", disabled: this.disabled, ref: (el) => (this.nativeInput = el), class: "searchbar-input", inputMode: this.inputmode, enterKeyHint: this.enterkeyhint, name: this.name, onInput: this.onInput, onChange: this.onChange, onBlur: this.onBlur, onFocus: this.onFocus, minLength: this.minlength, maxLength: this.maxlength, placeholder: this.placeholder, type: this.type, value: this.getValue(), autoCapitalize: autocapitalize === 'default' ? undefined : autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, spellcheck: this.spellcheck }, this.inheritedAttributes)), (theme === 'md' || theme === 'ionic') && cancelButton, this.shouldShowSearchIcon() && (h("ion-icon", { key: 'e1c7a66dba99591b0e3df5966acd027a561ee0ca', "aria-hidden": "true", icon: searchbarSearchIcon, lazy: false, class: "searchbar-search-icon" })), this.shouldShowClearButton() && (h("button", { key: 'bf55ac02128e22f9d303e75b9289c251bd582cdd', "aria-label": "reset", type: "button", "no-blur": true, class: "searchbar-clear-button", onPointerDown: (ev) => {
550
550
  /**
551
551
  * This prevents mobile browsers from
552
552
  * blurring the input when the clear
553
553
  * button is activated.
554
554
  */
555
555
  ev.preventDefault();
556
- }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '7be87313952d6fa1363d137097cc40a15edf6939', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
556
+ }, onClick: () => this.onClearInput(true) }, h("ion-icon", { key: '1ce87193499ccb682ad115a64cc5579e9bb586c9', "aria-hidden": "true", icon: searchbarClearIcon, lazy: false, class: "searchbar-clear-icon" })))), theme === 'ios' && cancelButton));
557
557
  }
558
558
  static get is() { return "ion-searchbar"; }
559
559
  static get encapsulation() { return "scoped"; }
@@ -544,14 +544,14 @@ export class Segment {
544
544
  }
545
545
  render() {
546
546
  const theme = getIonTheme(this);
547
- return (h(Host, { key: '8ae3804f14971f29efd2541e3f8b67090ca1a329', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
547
+ return (h(Host, { key: '578d4eb20a89742c8c3cb3109fe62a5fdf87b089', role: "tablist", onClick: this.onClick, class: createColorClasses(this.color, {
548
548
  [theme]: true,
549
549
  'in-toolbar': hostContext('ion-toolbar', this.el),
550
550
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
551
551
  'segment-activated': this.activated,
552
552
  'segment-disabled': this.disabled,
553
553
  'segment-scrollable': this.scrollable,
554
- }) }, h("slot", { key: '3688f023388c60c6e4801c94e1906c8751f076cf', onSlotchange: this.onSlottedItemsChange })));
554
+ }) }, h("slot", { key: '4b9999c95622773aea0c1bf3d1ab9dc650efb5eb', onSlotchange: this.onSlottedItemsChange })));
555
555
  }
556
556
  static get is() { return "ion-segment"; }
557
557
  static get encapsulation() { return "shadow"; }
@@ -112,7 +112,7 @@ export class SegmentButton {
112
112
  const { checked, type, disabled, hasIcon, hasLabel, layout, segmentEl } = this;
113
113
  const theme = getIonTheme(this);
114
114
  const hasSegmentColor = () => (segmentEl === null || segmentEl === void 0 ? void 0 : segmentEl.color) !== undefined;
115
- return (h(Host, { key: '5cc85aa4e25bc1ab6283ac398ccc2d342c9376bf', class: {
115
+ return (h(Host, { key: '75eeffd15e3581c15f48a0b12cbf5a4229b087d6', class: {
116
116
  [theme]: true,
117
117
  'in-toolbar': hostContext('ion-toolbar', this.el),
118
118
  'in-toolbar-color': hostContext('ion-toolbar[color]', this.el),
@@ -128,7 +128,7 @@ export class SegmentButton {
128
128
  'ion-activatable': true,
129
129
  'ion-activatable-instant': true,
130
130
  'ion-focusable': true,
131
- } }, h("button", Object.assign({ key: '7edb5c84c5b04bcbaceceaa206ff859b42218102', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '9e8345b33328c07dd8606383f50cd97e3bd86aee', class: "button-inner" }, h("slot", { key: '0d1f9a341ee93cc654e895e874be8800c04155e8' })), theme === 'md' && h("ion-ripple-effect", { key: '468547dbcc5f778215f8a07d2a66245551048a0c' })), h("div", { key: '3d5a3020e90d6fa605b40e4cd0366052050cefd0', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: '53424fb6081c608068df4bb8d9d2bb46399bafd1', part: "indicator-background", class: "segment-button-indicator-background" }))));
131
+ } }, h("button", Object.assign({ key: '701fd86647377f744d91eb92427c73583d229253', "aria-selected": checked ? 'true' : 'false', role: "tab", ref: (el) => (this.nativeEl = el), type: type, class: "button-native", part: "native", disabled: disabled }, this.inheritedAttributes), h("span", { key: '63634d3e500312c847194551996a2897610e0cc7', class: "button-inner" }, h("slot", { key: '89963e233c9a7ea84b7262ab84db6edbe76ee95e' })), theme === 'md' && h("ion-ripple-effect", { key: '9d766c3d48c0b2ba50ab03f2279ccf710973bbba' })), h("div", { key: 'a70f2d1a57cca4e04b00b36a6b47eb93ef4cb26e', part: "indicator", class: "segment-button-indicator segment-button-indicator-animated" }, h("div", { key: 'aff9931755a1f643147bf0e7d2be29b35d8f9d41', part: "indicator-background", class: "segment-button-indicator-background" }))));
132
132
  }
133
133
  static get is() { return "ion-segment-button"; }
134
134
  static get encapsulation() { return "shadow"; }
@@ -4,7 +4,7 @@
4
4
  import { Host, h } from "@stencil/core";
5
5
  export class SegmentContent {
6
6
  render() {
7
- return (h(Host, { key: '544c24634aa3232a4df75a357a8d7f0cbff644e5' }, h("slot", { key: '7e4696d1143b5015760a92130cc977df10748cdc' })));
7
+ return (h(Host, { key: '81cc29460a17c32592fbf9fca6242f4bb1738aa6' }, h("slot", { key: '4f718420caf11c6672642fcf1a1bdb7f48d6cdfc' })));
8
8
  }
9
9
  static get is() { return "ion-segment-content"; }
10
10
  static get encapsulation() { return "shadow"; }