@ionic/core 8.4.4-dev.11738863153.1dafb0b9 → 8.4.4-dev.11739906326.1989484f

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 (104) hide show
  1. package/components/checkbox.js +4 -6
  2. package/components/content.js +4 -4
  3. package/components/ion-select.js +4 -6
  4. package/components/ion-tab-button.js +1 -1
  5. package/components/ion-tab.js +2 -2
  6. package/components/ion-tabs.js +1 -2
  7. package/components/ion-toggle.js +4 -6
  8. package/components/modal.js +35 -259
  9. package/components/radio.js +37 -5
  10. package/css/core.css.map +1 -1
  11. package/css/ionic.bundle.css.map +1 -1
  12. package/dist/cjs/ion-app_8.cjs.entry.js +4 -4
  13. package/dist/cjs/ion-checkbox.cjs.entry.js +4 -5
  14. package/dist/cjs/ion-modal.cjs.entry.js +35 -258
  15. package/dist/cjs/ion-radio_2.cjs.entry.js +35 -5
  16. package/dist/cjs/ion-select_3.cjs.entry.js +4 -5
  17. package/dist/cjs/ion-tab-bar_2.cjs.entry.js +1 -1
  18. package/dist/cjs/ion-tab_2.cjs.entry.js +3 -4
  19. package/dist/cjs/ion-toggle.cjs.entry.js +4 -5
  20. package/dist/cjs/ionic.cjs.js +1 -1
  21. package/dist/cjs/loader.cjs.js +1 -1
  22. package/dist/collection/components/checkbox/checkbox.js +4 -23
  23. package/dist/collection/components/content/content.js +4 -4
  24. package/dist/collection/components/modal/animations/ios.enter.js +4 -50
  25. package/dist/collection/components/modal/animations/ios.leave.js +2 -24
  26. package/dist/collection/components/modal/animations/md.enter.js +5 -52
  27. package/dist/collection/components/modal/animations/md.leave.js +3 -26
  28. package/dist/collection/components/modal/animations/sheet.js +2 -11
  29. package/dist/collection/components/modal/gestures/sheet.js +10 -79
  30. package/dist/collection/components/modal/modal.ios.css +0 -16
  31. package/dist/collection/components/modal/modal.js +7 -32
  32. package/dist/collection/components/modal/modal.md.css +0 -6
  33. package/dist/collection/components/radio/radio.ios.css +52 -15
  34. package/dist/collection/components/radio/radio.js +70 -3
  35. package/dist/collection/components/radio/radio.md.css +52 -15
  36. package/dist/collection/components/select/select.js +4 -23
  37. package/dist/collection/components/tab/tab.js +2 -2
  38. package/dist/collection/components/tab-button/tab-button.js +1 -1
  39. package/dist/collection/components/tabs/tabs.js +1 -2
  40. package/dist/collection/components/toggle/toggle.js +4 -23
  41. package/dist/docs.json +73 -89
  42. package/dist/esm/ion-app_8.entry.js +4 -4
  43. package/dist/esm/ion-checkbox.entry.js +4 -5
  44. package/dist/esm/ion-modal.entry.js +35 -258
  45. package/dist/esm/ion-radio_2.entry.js +35 -5
  46. package/dist/esm/ion-select_3.entry.js +4 -5
  47. package/dist/esm/ion-tab-bar_2.entry.js +1 -1
  48. package/dist/esm/ion-tab_2.entry.js +3 -4
  49. package/dist/esm/ion-toggle.entry.js +4 -5
  50. package/dist/esm/ionic.js +1 -1
  51. package/dist/esm/loader.js +1 -1
  52. package/dist/esm-es5/ion-app_8.entry.js +1 -1
  53. package/dist/esm-es5/ion-checkbox.entry.js +1 -1
  54. package/dist/esm-es5/ion-modal.entry.js +1 -1
  55. package/dist/esm-es5/ion-radio_2.entry.js +1 -1
  56. package/dist/esm-es5/ion-select_3.entry.js +1 -1
  57. package/dist/esm-es5/ion-tab-bar_2.entry.js +1 -1
  58. package/dist/esm-es5/ion-tab_2.entry.js +1 -1
  59. package/dist/esm-es5/ion-toggle.entry.js +1 -1
  60. package/dist/esm-es5/ionic.js +1 -1
  61. package/dist/esm-es5/loader.js +1 -1
  62. package/dist/html.html-data.json +8 -16
  63. package/dist/ionic/ionic.esm.js +1 -1
  64. package/dist/ionic/p-1a11f49f.entry.js +4 -0
  65. package/dist/ionic/p-1b1af767.system.entry.js +4 -0
  66. package/dist/ionic/p-2172893e.system.entry.js +4 -0
  67. package/dist/ionic/p-322c5fb4.system.js +1 -1
  68. package/dist/ionic/p-4ec778aa.entry.js +4 -0
  69. package/dist/ionic/p-5ab1b709.entry.js +4 -0
  70. package/dist/ionic/{p-8ac07653.system.entry.js → p-69666e8a.system.entry.js} +2 -2
  71. package/dist/ionic/{p-1199e388.system.entry.js → p-797eeea8.system.entry.js} +1 -1
  72. package/dist/ionic/p-908d6080.entry.js +4 -0
  73. package/dist/ionic/p-92a0f863.entry.js +4 -0
  74. package/dist/ionic/p-98ff6b32.entry.js +4 -0
  75. package/dist/ionic/p-a0eb506c.system.entry.js +4 -0
  76. package/dist/ionic/p-bc64bd27.system.entry.js +4 -0
  77. package/dist/ionic/p-e06057c9.entry.js +4 -0
  78. package/dist/ionic/{p-bdf2cb2e.system.entry.js → p-ebf042e0.system.entry.js} +1 -1
  79. package/dist/ionic/p-f55baa37.entry.js +4 -0
  80. package/dist/ionic/{p-9f364443.system.entry.js → p-fd1c40cc.system.entry.js} +1 -1
  81. package/dist/types/components/checkbox/checkbox.d.ts +0 -6
  82. package/dist/types/components/modal/animations/sheet.d.ts +0 -1
  83. package/dist/types/components/modal/gestures/sheet.d.ts +1 -1
  84. package/dist/types/components/modal/modal-interface.d.ts +0 -1
  85. package/dist/types/components/modal/modal.d.ts +0 -11
  86. package/dist/types/components/radio/radio.d.ts +19 -0
  87. package/dist/types/components/select/select.d.ts +0 -6
  88. package/dist/types/components/toggle/toggle.d.ts +0 -6
  89. package/dist/types/components.d.ts +16 -32
  90. package/hydrate/index.js +95 -291
  91. package/hydrate/index.mjs +95 -291
  92. package/package.json +1 -1
  93. package/dist/ionic/p-0430c2e0.entry.js +0 -4
  94. package/dist/ionic/p-126be614.system.entry.js +0 -4
  95. package/dist/ionic/p-6c95736e.entry.js +0 -4
  96. package/dist/ionic/p-6d6cedc5.entry.js +0 -4
  97. package/dist/ionic/p-722ec9c7.entry.js +0 -4
  98. package/dist/ionic/p-783411f1.entry.js +0 -4
  99. package/dist/ionic/p-7ddc46c3.system.entry.js +0 -4
  100. package/dist/ionic/p-98e41e4f.system.entry.js +0 -4
  101. package/dist/ionic/p-d57a57d6.entry.js +0 -4
  102. package/dist/ionic/p-d7dd8fb1.entry.js +0 -4
  103. package/dist/ionic/p-e3171ff3.entry.js +0 -4
  104. package/dist/ionic/p-e6376b93.system.entry.js +0 -4
@@ -62,7 +62,6 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
62
62
  this.labelPlacement = 'start';
63
63
  this.justify = undefined;
64
64
  this.alignment = undefined;
65
- this.required = false;
66
65
  }
67
66
  componentWillLoad() {
68
67
  this.inheritedAttributes = Object.assign({}, inheritAriaAttributes(this.el));
@@ -74,11 +73,11 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
74
73
  }
75
74
  }
76
75
  render() {
77
- const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, required, } = this;
76
+ const { color, checked, disabled, el, getSVGPath, indeterminate, inheritedAttributes, inputId, justify, labelPlacement, name, value, alignment, } = this;
78
77
  const mode = getIonMode(this);
79
78
  const path = getSVGPath(mode, indeterminate);
80
79
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
81
- return (h(Host, { key: '07a5884062dd256b570e856270c74a5a09d2f2a5', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
80
+ return (h(Host, { key: '6dc787e1100521d08c4900104e1a3e2f594e919f', "aria-checked": indeterminate ? 'mixed' : `${checked}`, class: createColorClasses(color, {
82
81
  [mode]: true,
83
82
  'in-item': hostContext('ion-item', el),
84
83
  'checkbox-checked': checked,
@@ -88,10 +87,10 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
88
87
  [`checkbox-justify-${justify}`]: justify !== undefined,
89
88
  [`checkbox-alignment-${alignment}`]: alignment !== undefined,
90
89
  [`checkbox-label-placement-${labelPlacement}`]: true,
91
- }), onClick: this.onClick }, h("label", { key: '3439d546e8b60187421db698eab63a0bdd31c973', class: "checkbox-wrapper" }, h("input", Object.assign({ key: '9f45cf7dbdedcf01ec132c11e16979adb1aa102f', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, inheritedAttributes)), h("div", { key: '4e882f98939cc4b7c7ab7459c751d3f4bb2023fe', class: {
90
+ }), onClick: this.onClick }, h("label", { key: '68222fb736a5ec3f2e488649b0e2ce0417dcb224', class: "checkbox-wrapper" }, h("input", Object.assign({ key: 'f12962d7e9b19c744cfdbdeccc67ae7f5d080281', type: "checkbox", checked: checked ? true : undefined, disabled: disabled, id: inputId, onChange: this.toggleChecked, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, inheritedAttributes)), h("div", { key: 'c72df2699414b1e5a41a1bc267bc634f0c93dcff', class: {
92
91
  'label-text-wrapper': true,
93
92
  'label-text-wrapper-hidden': el.textContent === '',
94
- }, part: "label" }, h("slot", { key: '0abda81297a086d02c4a56af75005547971dfcfe' })), h("div", { key: '36489ea3f48a7d0ec46b77c243f9f253ef5c2b3b', class: "native-wrapper" }, h("svg", { key: '4c53b52f5e93752672a34eb6f180b75fa9af9046', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
93
+ }, part: "label" }, h("slot", { key: 'a2a80285178a7e0e3b536fc9ca26b8b444aa4307' })), h("div", { key: 'c2b05e0d1fe8df5dcd72858220b5ff51ecaee4cc', class: "native-wrapper" }, h("svg", { key: 'ee24913fded72258ebd9713654a6dba92a18fcf7', class: "checkbox-icon", viewBox: "0 0 24 24", part: "container" }, path)))));
95
94
  }
96
95
  getSVGPath(mode, indeterminate) {
97
96
  let path = indeterminate ? (h("path", { d: "M6 12L18 12", part: "mark" })) : (h("path", { d: "M5.9,12.5l3.8,3.8l8.8-8.8", part: "mark" }));
@@ -115,7 +114,6 @@ const Checkbox = /*@__PURE__*/ proxyCustomElement(class Checkbox extends HTMLEle
115
114
  "labelPlacement": [1, "label-placement"],
116
115
  "justify": [1],
117
116
  "alignment": [1],
118
- "required": [4],
119
117
  "setFocus": [64]
120
118
  }]);
121
119
  let checkboxIds = 0;
@@ -342,20 +342,20 @@ const Content = /*@__PURE__*/ proxyCustomElement(class Content extends HTMLEleme
342
342
  const forceOverscroll = this.shouldForceOverscroll();
343
343
  const transitionShadow = mode === 'ios';
344
344
  this.resize();
345
- return (h(Host, Object.assign({ key: 'e3241b81c97aa6187c43397006fd1136e8c7a1b5', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
345
+ return (h(Host, Object.assign({ key: 'f2a24aa66dbf5c76f9d4b06f708eb73cadc239df', role: isMainContent ? 'main' : undefined, class: createColorClasses(this.color, {
346
346
  [mode]: true,
347
347
  'content-sizing': hostContext('ion-popover', this.el),
348
348
  overscroll: forceOverscroll,
349
349
  [`content-${rtl}`]: true,
350
- }), tabIndex: '0', style: {
350
+ }), style: {
351
351
  '--offset-top': `${this.cTop}px`,
352
352
  '--offset-bottom': `${this.cBottom}px`,
353
- } }, inheritedAttributes), h("div", { key: 'b2e0837fd5cb59de4306bf1ea7b115f4fd43f6f9', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: 'b66cfe79487ba5a6b06da1580514c7406f2293c9', class: {
353
+ } }, inheritedAttributes), h("div", { key: '6480ca7648b278abb36477b3838bccbcd4995e2a', ref: (el) => (this.backgroundContentEl = el), id: "background-content", part: "background" }), fixedSlotPlacement === 'before' ? h("slot", { name: "fixed" }) : null, h("div", { key: '29a23b663f5f0215bb000820c01e1814c0d55985', class: {
354
354
  'inner-scroll': true,
355
355
  'scroll-x': scrollX,
356
356
  'scroll-y': scrollY,
357
357
  overscroll: (scrollX || scrollY) && forceOverscroll,
358
- }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '30ae38ae7d5dc407af5cd432e577a8013996e523' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
358
+ }, ref: (scrollEl) => (this.scrollEl = scrollEl), onScroll: this.scrollEvents ? (ev) => this.onScroll(ev) : undefined, part: "scroll" }, h("slot", { key: '0fe1bd05609a4b88ae2ce9addf5d5dc5dc1806f0' })), transitionShadow ? (h("div", { class: "transition-effect" }, h("div", { class: "transition-cover" }), h("div", { class: "transition-shadow" }))) : null, fixedSlotPlacement === 'after' ? h("slot", { name: "fixed" }) : null));
359
359
  }
360
360
  get el() { return this; }
361
361
  static get style() { return IonContentStyle0; }
@@ -115,7 +115,6 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
115
115
  this.expandedIcon = undefined;
116
116
  this.shape = undefined;
117
117
  this.value = undefined;
118
- this.required = false;
119
118
  }
120
119
  styleChanged() {
121
120
  this.emitStyle();
@@ -607,8 +606,8 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
607
606
  return renderedLabel;
608
607
  }
609
608
  renderListbox() {
610
- const { disabled, inputId, isExpanded, required } = this;
611
- return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, "aria-required": `${required}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
609
+ const { disabled, inputId, isExpanded } = this;
610
+ return (h("button", { disabled: disabled, id: inputId, "aria-label": this.ariaLabel, "aria-haspopup": "dialog", "aria-expanded": `${isExpanded}`, onFocus: this.onFocus, onBlur: this.onBlur, ref: (focusEl) => (this.focusEl = focusEl) }));
612
611
  }
613
612
  render() {
614
613
  const { disabled, el, isExpanded, expandedIcon, labelPlacement, justify, placeholder, fill, shape, name, value } = this;
@@ -639,7 +638,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
639
638
  * TODO(FW-5592): Remove hasStartEndSlots condition
640
639
  */
641
640
  const labelShouldFloat = labelPlacement === 'stacked' || (labelPlacement === 'floating' && (hasValue || isExpanded || hasStartEndSlots));
642
- return (h(Host, { key: '491cf1b0e3aa31e7c9cfad3e87d83eb54272312a', onClick: this.onClick, class: createColorClasses(this.color, {
641
+ return (h(Host, { key: '144dfa5c49549a74fe516c65b9b8104a477ac789', onClick: this.onClick, class: createColorClasses(this.color, {
643
642
  [mode]: true,
644
643
  'in-item': inItem,
645
644
  'in-item-color': hostContext('ion-item.ion-color', el),
@@ -655,7 +654,7 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
655
654
  [`select-justify-${justify}`]: justifyEnabled,
656
655
  [`select-shape-${shape}`]: shape !== undefined,
657
656
  [`select-label-placement-${labelPlacement}`]: true,
658
- }) }, h("label", { key: '07bf3cb57bd1121383d8c746e3ac49da38300082', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '884facd18342797576bbacc761d18d83c52762e3', class: "select-wrapper-inner" }, h("slot", { key: 'c4f2a2a7a76f52db15f9a0b806017caea443c47a', name: "start" }), h("div", { key: '235cf383f268cc74412722cd31e246cbd4c2abe5', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '1481302e11c494d49dfd80a7aaf743f7e851558f', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: '8a45ea9280651695c8e5435f266c286f3e3f6a18', class: "select-highlight" }))));
657
+ }) }, h("label", { key: '0edcfcbac575a9dccc77991531b6980d1caebf42', class: "select-wrapper", id: "select-label" }, this.renderLabelContainer(), h("div", { key: '348151d90cb093f5d21c7d4a834264ac4a312c40', class: "select-wrapper-inner" }, h("slot", { key: '8b7708c7f81217435c58276da0c08bba766d9500', name: "start" }), h("div", { key: '10c520a335da0a0d1cf40f9365597beb244d3b48', class: "native-wrapper", ref: (el) => (this.nativeWrapperEl = el), part: "container" }, this.renderSelectText(), this.renderListbox()), h("slot", { key: '0f15c40a5495e98e29d2a21ba21e0bc6f1c0125a', name: "end" }), !hasFloatingOrStackedLabel && this.renderSelectIcon()), hasFloatingOrStackedLabel && this.renderSelectIcon(), shouldRenderHighlight && h("div", { key: 'c87faad2e5ebf7f9453397d7ede43abd64d21294', class: "select-highlight" }))));
659
658
  }
660
659
  get el() { return this; }
661
660
  static get watchers() { return {
@@ -688,7 +687,6 @@ const Select = /*@__PURE__*/ proxyCustomElement(class Select extends HTMLElement
688
687
  "expandedIcon": [1, "expanded-icon"],
689
688
  "shape": [1],
690
689
  "value": [1032],
691
- "required": [4],
692
690
  "isExpanded": [32],
693
691
  "open": [64]
694
692
  }, undefined, {
@@ -88,7 +88,7 @@ const TabButton = /*@__PURE__*/ proxyCustomElement(class TabButton extends HTMLE
88
88
  'ion-activatable': true,
89
89
  'ion-selectable': true,
90
90
  'ion-focusable': true,
91
- } }, h("a", Object.assign({ key: '2f32e70232c7872b14e9ead1d1c31c98ad3577b4' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : '0' }, inheritedAttributes), h("span", { key: '5c9467b16e36a526a20f460980ec45022f464c3a', class: "button-inner" }, h("slot", { key: 'eefd60fac84ff01366a0f82f6ad71782ee7351e9' })), mode === 'md' && h("ion-ripple-effect", { key: '0d3452ae46e47f2d50c0198668c42e00e1a4d7bf', type: "unbounded" }))));
91
+ } }, h("a", Object.assign({ key: '1db09d861b67ff292018fb4b0dc7b85bd4677eb8' }, attrs, { class: "button-native", part: "native", role: "tab", "aria-selected": selected ? 'true' : null, "aria-disabled": disabled ? 'true' : null, tabindex: disabled ? '-1' : undefined }, inheritedAttributes), h("span", { key: '4381eafcb27e8c7bb0d86d4f115ceb0caf03b9b4', class: "button-inner" }, h("slot", { key: '1981135f6fbb88376c1bd923c55c70fe8b5c5159' })), mode === 'md' && h("ion-ripple-effect", { key: '0509bc7155d055d1ed710600e9cf4df135881491', type: "unbounded" }))));
92
92
  }
93
93
  get el() { return this; }
94
94
  static get style() { return {
@@ -55,10 +55,10 @@ const Tab = /*@__PURE__*/ proxyCustomElement(class Tab extends HTMLElement {
55
55
  }
56
56
  render() {
57
57
  const { tab, active, component } = this;
58
- return (h(Host, { key: 'c8d049c74c66a2748f3ec81d2855446acf114abe', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
58
+ return (h(Host, { key: 'cb75d0877979b3b8df8f7e1952bfa9677da1eaa5', role: "tabpanel", "aria-hidden": !active ? 'true' : null, "aria-labelledby": `tab-button-${tab}`, class: {
59
59
  'ion-page': component === undefined,
60
60
  'tab-hidden': !active,
61
- } }, h("slot", { key: 'fba1ddc9aefb2711e13d43734f606b493ce8380a' })));
61
+ } }, h("slot", { key: '37fbb7b7a6b03eb93b1dacd2dc1025b78eb2aa6b' })));
62
62
  }
63
63
  get el() { return this; }
64
64
  static get watchers() { return {
@@ -16,7 +16,6 @@ const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends HTMLElement {
16
16
  this.ionTabsDidChange = createEvent(this, "ionTabsDidChange", 3);
17
17
  this.transitioning = false;
18
18
  this.onTabClicked = (ev) => {
19
- console.log("onTabClicked");
20
19
  const { href, tab } = ev.detail;
21
20
  if (this.useRouter && href !== undefined) {
22
21
  const router = document.querySelector('ion-router');
@@ -151,7 +150,7 @@ const Tabs = /*@__PURE__*/ proxyCustomElement(class Tabs extends HTMLElement {
151
150
  return Array.from(this.el.querySelectorAll('ion-tab'));
152
151
  }
153
152
  render() {
154
- return (h(Host, { key: '6c9bb24efdbb7d2135097dbaf200b9d9a106eba0', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '7e29a9895b183269b3e293c3f70c9644324215ad', name: "top" }), h("div", { key: '02d3c0685ff01dff1a0e0663aaec55552a24acd9', class: "tabs-inner" }, h("slot", { key: 'e7b6928b811caae14f8981b1da65d1d487bd74e8' })), h("slot", { key: 'd4464bcf631c7ff7afc96d95942a4af1fda64919', name: "bottom" })));
153
+ return (h(Host, { key: 'e01ccf6bfaccad094515be50e407399c733fc226', onIonTabButtonClick: this.onTabClicked }, h("slot", { key: '38d2d01dbfd8a08f01e6f0e27274b21d75424e37', name: "top" }), h("div", { key: '7e894f0f423e2d43e1c68daff5f9f6c442fad237', class: "tabs-inner" }, h("slot", { key: 'df16be529a0370a26d0adf850530b31607507c23' })), h("slot", { key: '44642e1cb24c3281c43db75fd69a32fe0defe40a', name: "bottom" })));
155
154
  }
156
155
  get el() { return this; }
157
156
  static get style() { return IonTabsStyle0; }
@@ -75,7 +75,6 @@ const Toggle = /*@__PURE__*/ proxyCustomElement(class Toggle extends HTMLElement
75
75
  this.labelPlacement = 'start';
76
76
  this.justify = undefined;
77
77
  this.alignment = undefined;
78
- this.required = false;
79
78
  }
80
79
  disabledChanged() {
81
80
  if (this.gesture) {
@@ -157,12 +156,12 @@ const Toggle = /*@__PURE__*/ proxyCustomElement(class Toggle extends HTMLElement
157
156
  return this.el.textContent !== '';
158
157
  }
159
158
  render() {
160
- const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment, required } = this;
159
+ const { activated, color, checked, disabled, el, justify, labelPlacement, inputId, name, alignment } = this;
161
160
  const mode = getIonMode(this);
162
161
  const value = this.getValue();
163
162
  const rtl = isRTL(el) ? 'rtl' : 'ltr';
164
163
  renderHiddenInput(true, el, name, checked ? value : '', disabled);
165
- return (h(Host, { key: 'ed75573caa6e37011f1453dd7f723fb9bd8a3656', onClick: this.onClick, class: createColorClasses(color, {
164
+ return (h(Host, { key: 'f52195ec3bc14c024647cb41319c32a4cd330e19', onClick: this.onClick, class: createColorClasses(color, {
166
165
  [mode]: true,
167
166
  'in-item': hostContext('ion-item', el),
168
167
  'toggle-activated': activated,
@@ -172,10 +171,10 @@ const Toggle = /*@__PURE__*/ proxyCustomElement(class Toggle extends HTMLElement
172
171
  [`toggle-alignment-${alignment}`]: alignment !== undefined,
173
172
  [`toggle-label-placement-${labelPlacement}`]: true,
174
173
  [`toggle-${rtl}`]: true,
175
- }) }, h("label", { key: '484860e2a33f4d123904edb96159f0e1972d3add', class: "toggle-wrapper" }, h("input", Object.assign({ key: '360b53080aacfd99a9ff60ffb5219816bd4163ee', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl), required: required }, this.inheritedAttributes)), h("div", { key: 'f7239fa668fe11257239ea30cf0198e4f3274f6b', class: {
174
+ }) }, h("label", { key: 'f8b3a215ad85b2cee611ad63449b584e1640f27f', class: "toggle-wrapper" }, h("input", Object.assign({ key: 'f387b1ea840737a9737917e516834c887be99c09', type: "checkbox", role: "switch", "aria-checked": `${checked}`, checked: checked, disabled: disabled, id: inputId, onFocus: () => this.onFocus(), onBlur: () => this.onBlur(), ref: (focusEl) => (this.focusEl = focusEl) }, this.inheritedAttributes)), h("div", { key: '936af880db59fe377cd2de9101eb28a1c4fb8914', class: {
176
175
  'label-text-wrapper': true,
177
176
  'label-text-wrapper-hidden': !this.hasLabel,
178
- }, part: "label" }, h("slot", { key: '9495a4a39889822ee68e0d89dc5a2f863d1feb3c' })), h("div", { key: '55f1eb08c4b705e94fbcf02220bbe1d292f06155', class: "native-wrapper" }, this.renderToggleControl()))));
177
+ }, part: "label" }, h("slot", { key: '80a6672e2e792c15011a9496dcd75363cdba31c6' })), h("div", { key: '2b2b318b38ab27b194c0dab4cecd77d9d780f2ca', class: "native-wrapper" }, this.renderToggleControl()))));
179
178
  }
180
179
  get el() { return this; }
181
180
  static get watchers() { return {
@@ -195,7 +194,6 @@ const Toggle = /*@__PURE__*/ proxyCustomElement(class Toggle extends HTMLElement
195
194
  "labelPlacement": [1, "label-placement"],
196
195
  "justify": [1],
197
196
  "alignment": [1],
198
- "required": [4],
199
197
  "activated": [32]
200
198
  }, undefined, {
201
199
  "disabled": ["disabledChanged"]