@rdlabo/ionic-theme-ios27 1.2.0-2 → 1.2.0-4

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 (180) hide show
  1. package/README.md +15 -2
  2. package/dist/_virtual/_rolldown/runtime.js +13 -0
  3. package/dist/css/ionic-theme-ios27.css +1 -1
  4. package/dist/css/vertical-bars.css +1 -1
  5. package/dist/focus-controller/index.d.ts +4 -2
  6. package/dist/focus-controller/index.d.ts.map +1 -1
  7. package/dist/focus-controller/index.js +100 -57
  8. package/dist/focus-controller/index.js.map +1 -0
  9. package/dist/index.d.ts +10 -8
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +54 -60
  12. package/dist/index.js.map +1 -0
  13. package/dist/native/components/index.d.ts +13 -10
  14. package/dist/native/components/index.d.ts.map +1 -1
  15. package/dist/native/components/index.js +39 -41
  16. package/dist/native/components/index.js.map +1 -0
  17. package/dist/native/components/ion-back-button.d.ts +6 -1
  18. package/dist/native/components/ion-back-button.d.ts.map +1 -1
  19. package/dist/native/components/ion-back-button.js +19 -13
  20. package/dist/native/components/ion-back-button.js.map +1 -0
  21. package/dist/native/components/ion-button.d.ts +8 -2
  22. package/dist/native/components/ion-button.d.ts.map +1 -1
  23. package/dist/native/components/ion-button.js +22 -17
  24. package/dist/native/components/ion-button.js.map +1 -0
  25. package/dist/native/components/ion-buttons.d.ts +8 -2
  26. package/dist/native/components/ion-buttons.d.ts.map +1 -1
  27. package/dist/native/components/ion-buttons.js +29 -33
  28. package/dist/native/components/ion-buttons.js.map +1 -0
  29. package/dist/native/components/ion-fab.d.ts +6 -1
  30. package/dist/native/components/ion-fab.d.ts.map +1 -1
  31. package/dist/native/components/ion-fab.js +131 -151
  32. package/dist/native/components/ion-fab.js.map +1 -0
  33. package/dist/native/components/ion-menu-button.d.ts +8 -2
  34. package/dist/native/components/ion-menu-button.d.ts.map +1 -1
  35. package/dist/native/components/ion-menu-button.js +29 -19
  36. package/dist/native/components/ion-menu-button.js.map +1 -0
  37. package/dist/native/components/ion-segment.d.ts +6 -1
  38. package/dist/native/components/ion-segment.d.ts.map +1 -1
  39. package/dist/native/components/ion-segment.js +29 -23
  40. package/dist/native/components/ion-segment.js.map +1 -0
  41. package/dist/native/components/ion-tab-bar.d.ts +6 -1
  42. package/dist/native/components/ion-tab-bar.d.ts.map +1 -1
  43. package/dist/native/components/ion-tab-bar.js +49 -40
  44. package/dist/native/components/ion-tab-bar.js.map +1 -0
  45. package/dist/native/components/searchable-tabs.d.ts +17 -15
  46. package/dist/native/components/searchable-tabs.d.ts.map +1 -1
  47. package/dist/native/components/searchable-tabs.js +382 -435
  48. package/dist/native/components/searchable-tabs.js.map +1 -0
  49. package/dist/native/definitions.d.ts +118 -111
  50. package/dist/native/definitions.d.ts.map +1 -1
  51. package/dist/native/definitions.js +0 -1
  52. package/dist/native/foldable/fold-state.d.ts +5 -0
  53. package/dist/native/foldable/fold-state.d.ts.map +1 -0
  54. package/dist/native/foldable/fold-state.js +14 -0
  55. package/dist/native/foldable/fold-state.js.map +1 -0
  56. package/dist/native/foldable/types.d.ts +12 -0
  57. package/dist/native/foldable/types.d.ts.map +1 -0
  58. package/dist/native/foldable/types.js +0 -0
  59. package/dist/native/index.d.ts +6 -3
  60. package/dist/native/index.d.ts.map +1 -1
  61. package/dist/native/index.js +228 -204
  62. package/dist/native/index.js.map +1 -0
  63. package/dist/native/prehide.d.ts +4 -2
  64. package/dist/native/prehide.d.ts.map +1 -1
  65. package/dist/native/prehide.js +220 -242
  66. package/dist/native/prehide.js.map +1 -0
  67. package/dist/native/runtime.d.ts +3 -1
  68. package/dist/native/runtime.d.ts.map +1 -1
  69. package/dist/native/runtime.js +626 -724
  70. package/dist/native/runtime.js.map +1 -0
  71. package/dist/native/shared/candidate.d.ts +16 -11
  72. package/dist/native/shared/candidate.d.ts.map +1 -1
  73. package/dist/native/shared/candidate.js +96 -95
  74. package/dist/native/shared/candidate.js.map +1 -0
  75. package/dist/native/shared/crossfade.d.ts +6 -4
  76. package/dist/native/shared/crossfade.d.ts.map +1 -1
  77. package/dist/native/shared/crossfade.js +49 -45
  78. package/dist/native/shared/crossfade.js.map +1 -0
  79. package/dist/native/shared/dom.d.ts +7 -5
  80. package/dist/native/shared/dom.d.ts.map +1 -1
  81. package/dist/native/shared/dom.js +163 -211
  82. package/dist/native/shared/dom.js.map +1 -0
  83. package/dist/native/shared/events.d.ts +8 -6
  84. package/dist/native/shared/events.d.ts.map +1 -1
  85. package/dist/native/shared/events.js +12 -7
  86. package/dist/native/shared/events.js.map +1 -0
  87. package/dist/native/shared/icons.d.ts +4 -2
  88. package/dist/native/shared/icons.d.ts.map +1 -1
  89. package/dist/native/shared/icons.js +59 -53
  90. package/dist/native/shared/icons.js.map +1 -0
  91. package/dist/native/shared/modal.d.ts +3 -1
  92. package/dist/native/shared/modal.d.ts.map +1 -1
  93. package/dist/native/shared/modal.js +156 -139
  94. package/dist/native/shared/modal.js.map +1 -0
  95. package/dist/native/vertical-bars-web.d.ts +3 -1
  96. package/dist/native/vertical-bars-web.d.ts.map +1 -1
  97. package/dist/native/vertical-bars-web.js +332 -346
  98. package/dist/native/vertical-bars-web.js.map +1 -0
  99. package/dist/native-integration/index.d.ts +10 -8
  100. package/dist/native-integration/index.d.ts.map +1 -1
  101. package/dist/native-integration/index.js +102 -100
  102. package/dist/native-integration/index.js.map +1 -0
  103. package/dist/native-integration/transition.d.ts +3 -1
  104. package/dist/native-integration/transition.d.ts.map +1 -1
  105. package/dist/native-integration/transition.js +15 -6
  106. package/dist/native-integration/transition.js.map +1 -0
  107. package/dist/searchbar/index.d.ts +4 -2
  108. package/dist/searchbar/index.d.ts.map +1 -1
  109. package/dist/searchbar/index.js +64 -56
  110. package/dist/searchbar/index.js.map +1 -0
  111. package/dist/segment/index.d.ts +3 -1
  112. package/dist/segment/index.d.ts.map +1 -1
  113. package/dist/segment/index.js +465 -324
  114. package/dist/segment/index.js.map +1 -0
  115. package/dist/sheets-of-glass/animations.d.ts +13 -12
  116. package/dist/sheets-of-glass/animations.d.ts.map +1 -1
  117. package/dist/sheets-of-glass/animations.js +496 -306
  118. package/dist/sheets-of-glass/animations.js.map +1 -0
  119. package/dist/sheets-of-glass/index.d.ts +3 -1
  120. package/dist/sheets-of-glass/index.d.ts.map +1 -1
  121. package/dist/sheets-of-glass/index.js +294 -357
  122. package/dist/sheets-of-glass/index.js.map +1 -0
  123. package/dist/sheets-of-glass/interfaces.d.ts +11 -9
  124. package/dist/sheets-of-glass/interfaces.d.ts.map +1 -1
  125. package/dist/sheets-of-glass/interfaces.js +0 -1
  126. package/dist/tab-bar-searchable/animations/enter.d.ts +4 -2
  127. package/dist/tab-bar-searchable/animations/enter.d.ts.map +1 -1
  128. package/dist/tab-bar-searchable/animations/enter.js +50 -69
  129. package/dist/tab-bar-searchable/animations/enter.js.map +1 -0
  130. package/dist/tab-bar-searchable/animations/leave.d.ts +4 -2
  131. package/dist/tab-bar-searchable/animations/leave.d.ts.map +1 -1
  132. package/dist/tab-bar-searchable/animations/leave.js +48 -62
  133. package/dist/tab-bar-searchable/animations/leave.js.map +1 -0
  134. package/dist/tab-bar-searchable/index.d.ts +5 -3
  135. package/dist/tab-bar-searchable/index.d.ts.map +1 -1
  136. package/dist/tab-bar-searchable/index.js +125 -109
  137. package/dist/tab-bar-searchable/index.js.map +1 -0
  138. package/dist/transition/index.d.ts +9 -8
  139. package/dist/transition/index.d.ts.map +1 -1
  140. package/dist/transition/index.js +203 -192
  141. package/dist/transition/index.js.map +1 -0
  142. package/dist/transition/ios.transition.d.ts +7 -5
  143. package/dist/transition/ios.transition.d.ts.map +1 -1
  144. package/dist/transition/ios.transition.js +15 -11
  145. package/dist/transition/ios.transition.js.map +1 -0
  146. package/dist/utils.d.ts +10 -8
  147. package/dist/utils.d.ts.map +1 -1
  148. package/dist/utils.js +58 -66
  149. package/dist/utils.js.map +1 -0
  150. package/dist/vertical-bars.d.ts +5 -4
  151. package/dist/vertical-bars.js +4 -2
  152. package/docs/iphone-duo-with-original-theme.md +18 -29
  153. package/docs/iphone-duo.md +44 -204
  154. package/docs/native-ui-shell.md +15 -11
  155. package/docs/special-markup.md +2 -0
  156. package/docs/vertical-bars.md +283 -0
  157. package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSearchController.swift +1 -1
  158. package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift +61 -16
  159. package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalSearch.swift +118 -0
  160. package/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +17 -8
  161. package/ios/Sources/IonicNativeUIShellPlugin/Shared/ShellSnapshot.swift +2 -0
  162. package/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift +40 -0
  163. package/package.json +9 -6
  164. package/src/native/components/index.ts +3 -2
  165. package/src/native/components/ion-button.ts +3 -2
  166. package/src/native/components/ion-buttons.ts +4 -3
  167. package/src/native/components/ion-menu-button.ts +3 -2
  168. package/src/native/components/searchable-tabs.ts +8 -11
  169. package/src/native/definitions.ts +22 -1
  170. package/src/native/foldable/fold-state.ts +9 -0
  171. package/src/native/foldable/types.ts +4 -0
  172. package/src/native/index.ts +17 -3
  173. package/src/native/prehide.ts +3 -1
  174. package/src/native/runtime.ts +14 -9
  175. package/src/native/shared/candidate.ts +39 -10
  176. package/src/native/shared/dom.ts +4 -4
  177. package/src/styles/vertical-bars.scss +12 -2
  178. package/src/tab-bar-searchable/index.ts +40 -9
  179. package/src/vertical-bars.ts +9 -1
  180. package/dist/vertical-bars.d.ts.map +0 -1
@@ -1,42 +1,40 @@
1
- import * as button from './ion-button';
2
- import * as buttons from './ion-buttons';
3
- import * as backButton from './ion-back-button';
4
- import * as menuButton from './ion-menu-button';
5
- import * as tabBar from './ion-tab-bar';
6
- import * as segment from './ion-segment';
7
- import * as fab from './ion-fab';
8
- import { isDisabledButtonGroupChild, isVerticalBarsSource, visible } from '../shared/dom';
9
- export const components = [button, buttons, backButton, menuButton, tabBar, segment, fab];
10
- export const selector = components
11
- .map((component) => ('selector' in component ? component.selector : component.tag))
12
- .filter(Boolean)
13
- .join(', ');
14
- export const shadowSelector = [
15
- 'ion-icon',
16
- ...components.flatMap((component) => ('shadowSelector' in component ? [component.shadowSelector] : [])),
17
- ].join(', ');
18
- export const motionSelector = [
19
- '.ion-page',
20
- 'ion-header',
21
- 'ion-footer',
22
- 'ion-toolbar',
23
- ...components.filter((component) => 'tracksMotion' in component && component.tracksMotion).map((component) => component.tag),
24
- ].join(', ');
25
- export const isVerticalBarsCandidate = isVerticalBarsSource;
26
- export const readCandidate = (element, id) => {
27
- const verticalBars = isVerticalBarsCandidate(element);
28
- if ((!element.classList.contains('ios') && !verticalBars) ||
29
- !visible(element, verticalBars) ||
30
- element.closest('ion-popover') ||
31
- (element.closest('ion-modal') && !verticalBars))
32
- return;
33
- const style = getComputedStyle(element);
34
- if (!isDisabledButtonGroupChild(element) &&
35
- !style.getPropertyValue('--ios-theme-glass-background-rgb').trim() &&
36
- !style.getPropertyValue('--ios26-glass-background-rgb').trim() &&
37
- !verticalBars)
38
- return;
39
- if (element.contains(element.ownerDocument.activeElement))
40
- return;
41
- return components.find((component) => component.tag === element.localName)?.read(element, id);
1
+ import { isDisabledButtonGroupChild, isVerticalBarsSource, visible } from "../shared/dom.js";
2
+ import { ion_button_exports } from "./ion-button.js";
3
+ import { ion_menu_button_exports } from "./ion-menu-button.js";
4
+ import { ion_buttons_exports } from "./ion-buttons.js";
5
+ import { ion_back_button_exports } from "./ion-back-button.js";
6
+ import { ion_tab_bar_exports } from "./ion-tab-bar.js";
7
+ import { ion_segment_exports } from "./ion-segment.js";
8
+ import { ion_fab_exports } from "./ion-fab.js";
9
+ //#region src/native/components/index.ts
10
+ const components = [
11
+ ion_button_exports,
12
+ ion_buttons_exports,
13
+ ion_back_button_exports,
14
+ ion_menu_button_exports,
15
+ ion_tab_bar_exports,
16
+ ion_segment_exports,
17
+ ion_fab_exports
18
+ ];
19
+ const selector = components.map((component) => "selector" in component ? component.selector : component.tag).filter(Boolean).join(", ");
20
+ const shadowSelector = ["ion-icon", ...components.flatMap((component) => "shadowSelector" in component ? [component.shadowSelector] : [])].join(", ");
21
+ const motionSelector = [
22
+ ".ion-page",
23
+ "ion-header",
24
+ "ion-footer",
25
+ "ion-toolbar",
26
+ ...components.filter((component) => "tracksMotion" in component && component.tracksMotion).map((component) => component.tag)
27
+ ].join(", ");
28
+ const isVerticalBarsCandidate = isVerticalBarsSource;
29
+ const readCandidate = (element, id, options = {}) => {
30
+ const verticalBars = isVerticalBarsCandidate(element);
31
+ if (!element.classList.contains("ios") && !verticalBars || !visible(element, verticalBars) || element.closest("ion-popover") || element.closest("ion-modal") && !verticalBars) return;
32
+ const style = getComputedStyle(element);
33
+ if (!isDisabledButtonGroupChild(element) && !style.getPropertyValue("--ios-theme-glass-background-rgb").trim() && !style.getPropertyValue("--ios26-glass-background-rgb").trim() && !verticalBars) return;
34
+ if (element.contains(element.ownerDocument.activeElement)) return;
35
+ return components.find((component) => component.tag === element.localName)?.read(element, id, options);
42
36
  };
37
+ //#endregion
38
+ export { components, isVerticalBarsCandidate, motionSelector, readCandidate, selector, shadowSelector };
39
+
40
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["button","buttons","backButton","menuButton","tabBar","segment","fab"],"sources":["../../../src/native/components/index.ts"],"sourcesContent":["import type { VerticalControlAreaOptions } from '../definitions';\nimport * as button from './ion-button';\nimport * as buttons from './ion-buttons';\nimport * as backButton from './ion-back-button';\nimport * as menuButton from './ion-menu-button';\nimport * as tabBar from './ion-tab-bar';\nimport * as segment from './ion-segment';\nimport * as fab from './ion-fab';\nimport { isDisabledButtonGroupChild, isVerticalBarsSource, visible } from '../shared/dom';\nimport type { Candidate, Identify } from '../shared/candidate';\n\n// Static composition only. Each component declares its own tag, discovery and reader.\nexport const components = [button, buttons, backButton, menuButton, tabBar, segment, fab] as const;\nexport type NativeUIShellComponent = (typeof components)[number]['tag'];\nexport const selector = components\n .map((component) => ('selector' in component ? component.selector : component.tag))\n .filter(Boolean)\n .join(', ');\nexport const shadowSelector = [\n 'ion-icon',\n ...components.flatMap((component) => ('shadowSelector' in component ? [component.shadowSelector] : [])),\n].join(', ');\nexport const motionSelector = [\n '.ion-page',\n 'ion-header',\n 'ion-footer',\n 'ion-toolbar',\n ...components.filter((component) => 'tracksMotion' in component && component.tracksMotion).map((component) => component.tag),\n].join(', ');\n\nexport const isVerticalBarsCandidate = isVerticalBarsSource;\n\nexport const readCandidate = (element: HTMLElement, id: Identify, options: VerticalControlAreaOptions = {}): Candidate | undefined => {\n const verticalBars = isVerticalBarsCandidate(element);\n if (\n (!element.classList.contains('ios') && !verticalBars) ||\n !visible(element, verticalBars) ||\n element.closest('ion-popover') ||\n (element.closest('ion-modal') && !verticalBars)\n )\n return;\n const style = getComputedStyle(element);\n if (\n !isDisabledButtonGroupChild(element) &&\n !style.getPropertyValue('--ios-theme-glass-background-rgb').trim() &&\n !style.getPropertyValue('--ios26-glass-background-rgb').trim() &&\n !verticalBars\n )\n return;\n if (element.contains(element.ownerDocument.activeElement)) return;\n return components.find((component) => component.tag === element.localName)?.read(element, id, options);\n};\n"],"mappings":";;;;;;;;;AAYA,MAAa,aAAa;CAACA;CAAQC;CAASC;CAAYC;CAAYC;CAAQC;CAASC;AAAG;AAExF,MAAa,WAAW,WACrB,KAAK,cAAe,cAAc,YAAY,UAAU,WAAW,UAAU,GAAI,CAAC,CAClF,OAAO,OAAO,CAAC,CACf,KAAK,IAAI;AACZ,MAAa,iBAAiB,CAC5B,YACA,GAAG,WAAW,SAAS,cAAe,oBAAoB,YAAY,CAAC,UAAU,cAAc,IAAI,CAAC,CAAE,CACxG,CAAC,CAAC,KAAK,IAAI;AACX,MAAa,iBAAiB;CAC5B;CACA;CACA;CACA;CACA,GAAG,WAAW,QAAQ,cAAc,kBAAkB,aAAa,UAAU,YAAY,CAAC,CAAC,KAAK,cAAc,UAAU,GAAG;AAC7H,CAAC,CAAC,KAAK,IAAI;AAEX,MAAa,0BAA0B;AAEvC,MAAa,iBAAiB,SAAsB,IAAc,UAAsC,CAAC,MAA6B;CACpI,MAAM,eAAe,wBAAwB,OAAO;CACpD,IACG,CAAC,QAAQ,UAAU,SAAS,KAAK,KAAK,CAAC,gBACxC,CAAC,QAAQ,SAAS,YAAY,KAC9B,QAAQ,QAAQ,aAAa,KAC5B,QAAQ,QAAQ,WAAW,KAAK,CAAC,cAElC;CACF,MAAM,QAAQ,iBAAiB,OAAO;CACtC,IACE,CAAC,2BAA2B,OAAO,KACnC,CAAC,MAAM,iBAAiB,kCAAkC,CAAC,CAAC,KAAK,KACjE,CAAC,MAAM,iBAAiB,8BAA8B,CAAC,CAAC,KAAK,KAC7D,CAAC,cAED;CACF,IAAI,QAAQ,SAAS,QAAQ,cAAc,aAAa,GAAG;CAC3D,OAAO,WAAW,MAAM,cAAc,UAAU,QAAQ,QAAQ,SAAS,CAAC,EAAE,KAAK,SAAS,IAAI,OAAO;AACvG"}
@@ -1,4 +1,9 @@
1
- import type { Candidate, Identify } from '../shared/candidate';
1
+ import { Candidate, Identify } from "../shared/candidate.js";
2
+ declare namespace ion_back_button_d_exports {
3
+ export { read, tag };
4
+ }
2
5
  export declare const tag = "ion-back-button";
3
6
  export declare const read: (element: HTMLElement, id: Identify) => Candidate | undefined;
7
+ //#endregion
8
+ export { ion_back_button_d_exports };
4
9
  //# sourceMappingURL=ion-back-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ion-back-button.d.ts","sourceRoot":"","sources":["../../../src/native/components/ion-back-button.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/D,eAAO,MAAM,GAAG,oBAAoB,CAAC;AAErC,eAAO,MAAM,IAAI,GAAI,SAAS,WAAW,EAAE,IAAI,QAAQ,KAAG,SAAS,GAAG,SAYrE,CAAC"}
1
+ {"version":3,"file":"ion-back-button.d.ts","names":[],"sources":["../../../src/native/components/ion-back-button.ts"],"mappings":";;;;qBAIa;qBAEA,OAAQ,SAAS,aAAa,IAAI,aAAW"}
@@ -1,14 +1,20 @@
1
- import { createCandidate, appendItem } from '../shared/candidate';
2
- import { inFixedToolbar, isVerticalBarsSource } from '../shared/dom';
3
- export const tag = 'ion-back-button';
4
- export const read = (element, id) => {
5
- const button = element;
6
- if (!button.shadowRoot ||
7
- button.icon !== undefined ||
8
- button.color !== undefined ||
9
- (!isVerticalBarsSource(element) && !inFixedToolbar(element)))
10
- return;
11
- const candidate = createCandidate(element, tag, id);
12
- const label = button.shadowRoot.querySelector('[part="text"]')?.textContent?.trim() ?? '';
13
- return appendItem(candidate, element, id, button.shadowRoot, label) ? candidate : undefined;
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
+ import { inFixedToolbar, isVerticalBarsSource } from "../shared/dom.js";
3
+ import { appendItem, createCandidate } from "../shared/candidate.js";
4
+ //#region src/native/components/ion-back-button.ts
5
+ var ion_back_button_exports = /* @__PURE__ */ __exportAll({
6
+ read: () => read,
7
+ tag: () => tag
8
+ });
9
+ const tag = "ion-back-button";
10
+ const read = (element, id) => {
11
+ const button = element;
12
+ if (!button.shadowRoot || button.icon !== void 0 || button.color !== void 0 || !isVerticalBarsSource(element) && !inFixedToolbar(element)) return;
13
+ const candidate = createCandidate(element, tag, id);
14
+ const label = button.shadowRoot.querySelector("[part=\"text\"]")?.textContent?.trim() ?? "";
15
+ return appendItem(candidate, element, id, button.shadowRoot, label) ? candidate : void 0;
14
16
  };
17
+ //#endregion
18
+ export { ion_back_button_exports, read, tag };
19
+
20
+ //# sourceMappingURL=ion-back-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ion-back-button.js","names":[],"sources":["../../../src/native/components/ion-back-button.ts"],"sourcesContent":["import { createCandidate, appendItem } from '../shared/candidate';\nimport type { Candidate, Identify } from '../shared/candidate';\nimport { inFixedToolbar, isVerticalBarsSource } from '../shared/dom';\n\nexport const tag = 'ion-back-button';\n\nexport const read = (element: HTMLElement, id: Identify): Candidate | undefined => {\n const button = element as HTMLIonBackButtonElement;\n if (\n !button.shadowRoot ||\n button.icon !== undefined ||\n button.color !== undefined ||\n (!isVerticalBarsSource(element) && !inFixedToolbar(element))\n )\n return;\n const candidate = createCandidate(element, tag, id);\n const label = button.shadowRoot.querySelector('[part=\"text\"]')?.textContent?.trim() ?? '';\n return appendItem(candidate, element, id, button.shadowRoot, label) ? candidate : undefined;\n};\n"],"mappings":";;;;;;;;AAIA,MAAa,MAAM;AAEnB,MAAa,QAAQ,SAAsB,OAAwC;CACjF,MAAM,SAAS;CACf,IACE,CAAC,OAAO,cACR,OAAO,SAAS,KAAA,KAChB,OAAO,UAAU,KAAA,KAChB,CAAC,qBAAqB,OAAO,KAAK,CAAC,eAAe,OAAO,GAE1D;CACF,MAAM,YAAY,gBAAgB,SAAS,KAAK,EAAE;CAClD,MAAM,QAAQ,OAAO,WAAW,cAAc,iBAAe,CAAC,EAAE,aAAa,KAAK,KAAK;CACvF,OAAO,WAAW,WAAW,SAAS,IAAI,OAAO,YAAY,KAAK,IAAI,YAAY,KAAA;AACpF"}
@@ -1,4 +1,10 @@
1
- import type { Candidate, Identify } from '../shared/candidate';
1
+ import { VerticalControlAreaOptions } from "../definitions.js";
2
+ import { Candidate, Identify } from "../shared/candidate.js";
3
+ declare namespace ion_button_d_exports {
4
+ export { read, tag };
5
+ }
2
6
  export declare const tag = "ion-button";
3
- export declare const read: (element: HTMLElement, id: Identify) => Candidate | undefined;
7
+ export declare const read: (element: HTMLElement, id: Identify, options?: VerticalControlAreaOptions) => Candidate | undefined;
8
+ //#endregion
9
+ export { ion_button_d_exports };
4
10
  //# sourceMappingURL=ion-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ion-button.d.ts","sourceRoot":"","sources":["../../../src/native/components/ion-button.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAG/D,eAAO,MAAM,GAAG,eAAe,CAAC;AAEhC,eAAO,MAAM,IAAI,GAAI,SAAS,WAAW,EAAE,IAAI,QAAQ,KAAG,SAAS,GAAG,SAerE,CAAC"}
1
+ {"version":3,"file":"ion-button.d.ts","names":[],"sources":["../../../src/native/components/ion-button.ts"],"mappings":";;;;;qBAMa;qBAEA,OAAQ,SAAS,aAAa,IAAI,UAAU,UAAS,+BAAkC"}
@@ -1,18 +1,23 @@
1
- import { modalUsesVerticalBars } from '../shared/modal';
2
- import { createCandidate, appendItem } from '../shared/candidate';
3
- import { inFixedToolbar, isVerticalBarsToolbarAction, isVerticalBarsToolbarGroup } from '../shared/dom';
4
- export const tag = 'ion-button';
5
- export const read = (element, id) => {
6
- const button = element;
7
- const verticalBars = !element.closest('ion-menu, ion-popover') && modalUsesVerticalBars(element) && !!element.closest('ion-app.ios-theme-vertical-bars');
8
- if (verticalBars && element.parentElement && isVerticalBarsToolbarGroup(element.parentElement))
9
- return;
10
- const fill = button.fill ?? 'default';
11
- if (!inFixedToolbar(element) ||
12
- (verticalBars && !isVerticalBarsToolbarAction(element)) ||
13
- (!verticalBars && fill !== 'default') ||
14
- (!verticalBars && button.classList.contains('ion-color')))
15
- return;
16
- const candidate = createCandidate(element, tag, id);
17
- return appendItem(candidate, element, id) ? candidate : undefined;
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
+ import { modalUsesVerticalBars } from "../shared/modal.js";
3
+ import { inFixedToolbar, isVerticalBarsToolbarAction, isVerticalBarsToolbarGroup } from "../shared/dom.js";
4
+ import { appendItem, createCandidate } from "../shared/candidate.js";
5
+ //#region src/native/components/ion-button.ts
6
+ var ion_button_exports = /* @__PURE__ */ __exportAll({
7
+ read: () => read,
8
+ tag: () => tag
9
+ });
10
+ const tag = "ion-button";
11
+ const read = (element, id, options = {}) => {
12
+ const button = element;
13
+ const verticalBars = !element.closest("ion-menu, ion-popover") && modalUsesVerticalBars(element) && !!element.closest("ion-app.ios-theme-vertical-bars");
14
+ if (verticalBars && element.parentElement && isVerticalBarsToolbarGroup(element.parentElement)) return;
15
+ const fill = button.fill ?? "default";
16
+ if (!inFixedToolbar(element) || verticalBars && !isVerticalBarsToolbarAction(element) || !verticalBars && fill !== "default" || !verticalBars && button.classList.contains("ion-color")) return;
17
+ const candidate = createCandidate(element, tag, id, options);
18
+ return appendItem(candidate, element, id) ? candidate : void 0;
18
19
  };
20
+ //#endregion
21
+ export { ion_button_exports, read, tag };
22
+
23
+ //# sourceMappingURL=ion-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ion-button.js","names":[],"sources":["../../../src/native/components/ion-button.ts"],"sourcesContent":["import type { VerticalControlAreaOptions } from '../definitions';\nimport { modalUsesVerticalBars } from '../shared/modal';\nimport { createCandidate, appendItem } from '../shared/candidate';\nimport type { Candidate, Identify } from '../shared/candidate';\nimport { inFixedToolbar, isVerticalBarsToolbarAction, isVerticalBarsToolbarGroup } from '../shared/dom';\n\nexport const tag = 'ion-button';\n\nexport const read = (element: HTMLElement, id: Identify, options: VerticalControlAreaOptions = {}): Candidate | undefined => {\n const button = element as HTMLIonButtonElement;\n const verticalBars =\n !element.closest('ion-menu, ion-popover') && modalUsesVerticalBars(element) && !!element.closest('ion-app.ios-theme-vertical-bars');\n if (verticalBars && element.parentElement && isVerticalBarsToolbarGroup(element.parentElement)) return;\n const fill = button.fill ?? 'default';\n if (\n !inFixedToolbar(element) ||\n (verticalBars && !isVerticalBarsToolbarAction(element)) ||\n (!verticalBars && fill !== 'default') ||\n (!verticalBars && button.classList.contains('ion-color'))\n )\n return;\n const candidate = createCandidate(element, tag, id, options);\n return appendItem(candidate, element, id) ? candidate : undefined;\n};\n"],"mappings":";;;;;;;;;AAMA,MAAa,MAAM;AAEnB,MAAa,QAAQ,SAAsB,IAAc,UAAsC,CAAC,MAA6B;CAC3H,MAAM,SAAS;CACf,MAAM,eACJ,CAAC,QAAQ,QAAQ,uBAAuB,KAAK,sBAAsB,OAAO,KAAK,CAAC,CAAC,QAAQ,QAAQ,iCAAiC;CACpI,IAAI,gBAAgB,QAAQ,iBAAiB,2BAA2B,QAAQ,aAAa,GAAG;CAChG,MAAM,OAAO,OAAO,QAAQ;CAC5B,IACE,CAAC,eAAe,OAAO,KACtB,gBAAgB,CAAC,4BAA4B,OAAO,KACpD,CAAC,gBAAgB,SAAS,aAC1B,CAAC,gBAAgB,OAAO,UAAU,SAAS,WAAW,GAEvD;CACF,MAAM,YAAY,gBAAgB,SAAS,KAAK,IAAI,OAAO;CAC3D,OAAO,WAAW,WAAW,SAAS,EAAE,IAAI,YAAY,KAAA;AAC1D"}
@@ -1,5 +1,11 @@
1
- import type { Candidate, Identify } from '../shared/candidate';
1
+ import { VerticalControlAreaOptions } from "../definitions.js";
2
+ import { Candidate, Identify } from "../shared/candidate.js";
3
+ declare namespace ion_buttons_d_exports {
4
+ export { read, tag, tracksMotion };
5
+ }
2
6
  export declare const tag = "ion-buttons";
3
7
  export declare const tracksMotion = true;
4
- export declare const read: (element: HTMLElement, id: Identify) => Candidate | undefined;
8
+ export declare const read: (element: HTMLElement, id: Identify, options?: VerticalControlAreaOptions) => Candidate | undefined;
9
+ //#endregion
10
+ export { ion_buttons_d_exports };
5
11
  //# sourceMappingURL=ion-buttons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ion-buttons.d.ts","sourceRoot":"","sources":["../../../src/native/components/ion-buttons.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAI/D,eAAO,MAAM,GAAG,gBAAgB,CAAC;AACjC,eAAO,MAAM,YAAY,OAAO,CAAC;AAEjC,eAAO,MAAM,IAAI,GAAI,SAAS,WAAW,EAAE,IAAI,QAAQ,KAAG,SAAS,GAAG,SA2BrE,CAAC"}
1
+ {"version":3,"file":"ion-buttons.d.ts","names":[],"sources":["../../../src/native/components/ion-buttons.ts"],"mappings":";;;;;qBAOa;qBACA;qBAEA,OAAQ,SAAS,aAAa,IAAI,UAAU,UAAS,+BAAkC"}
@@ -1,34 +1,30 @@
1
- import { modalUsesVerticalBars } from '../shared/modal';
2
- import { createCandidate, appendItem } from '../shared/candidate';
3
- import { childElements, verticalBarsToolbarActions, inFixedToolbar, isVerticalBarsToolbarGroup } from '../shared/dom';
4
- import * as menuButton from './ion-menu-button';
5
- export const tag = 'ion-buttons';
6
- export const tracksMotion = true;
7
- export const read = (element, id) => {
8
- if (!inFixedToolbar(element))
9
- return;
10
- let children = childElements(element);
11
- if (children.length === 1)
12
- return menuButton.read(element, id);
13
- const verticalBars = !element.closest('ion-menu, ion-popover') && modalUsesVerticalBars(element) && !!element.closest('ion-app.ios-theme-vertical-bars');
14
- if (verticalBars && !isVerticalBarsToolbarGroup(element))
15
- return;
16
- if (verticalBars)
17
- children = verticalBarsToolbarActions(element);
18
- if (!children.length ||
19
- children.some((child) => !child.matches(`${menuButton.tag}${verticalBars ? '' : '.ios'}`) &&
20
- (!child.matches(`ion-button${verticalBars ? '' : '.ios.button-clear'}`) ||
21
- (!verticalBars && child.fill !== 'clear'))))
22
- return;
23
- const candidate = createCandidate(element, tag, id);
24
- if (verticalBars && children.length !== childElements(element).length)
25
- candidate.sources = children;
26
- for (const child of children) {
27
- const supported = child.matches(menuButton.tag)
28
- ? menuButton.append(candidate, child, id)
29
- : appendItem(candidate, child, id);
30
- if (!supported)
31
- return;
32
- }
33
- return candidate;
1
+ import { __exportAll } from "../../_virtual/_rolldown/runtime.js";
2
+ import { modalUsesVerticalBars } from "../shared/modal.js";
3
+ import { childElements, inFixedToolbar, isVerticalBarsToolbarGroup, verticalBarsToolbarActions } from "../shared/dom.js";
4
+ import { appendItem, createCandidate } from "../shared/candidate.js";
5
+ import { append, read as read$1 } from "./ion-menu-button.js";
6
+ //#region src/native/components/ion-buttons.ts
7
+ var ion_buttons_exports = /* @__PURE__ */ __exportAll({
8
+ read: () => read,
9
+ tag: () => tag,
10
+ tracksMotion: () => true
11
+ });
12
+ const tag = "ion-buttons";
13
+ const tracksMotion = true;
14
+ const read = (element, id, options = {}) => {
15
+ if (!inFixedToolbar(element)) return;
16
+ let children = childElements(element);
17
+ if (children.length === 1) return read$1(element, id, options);
18
+ const verticalBars = !element.closest("ion-menu, ion-popover") && modalUsesVerticalBars(element) && !!element.closest("ion-app.ios-theme-vertical-bars");
19
+ if (verticalBars && !isVerticalBarsToolbarGroup(element)) return;
20
+ if (verticalBars) children = verticalBarsToolbarActions(element);
21
+ if (!children.length || children.some((child) => !child.matches(`ion-menu-button${verticalBars ? "" : ".ios"}`) && (!child.matches(`ion-button${verticalBars ? "" : ".ios.button-clear"}`) || !verticalBars && child.fill !== "clear"))) return;
22
+ const candidate = createCandidate(element, tag, id, options);
23
+ if (verticalBars && children.length !== childElements(element).length) candidate.sources = children;
24
+ for (const child of children) if (!(child.matches("ion-menu-button") ? append(candidate, child, id) : appendItem(candidate, child, id))) return;
25
+ return candidate;
34
26
  };
27
+ //#endregion
28
+ export { ion_buttons_exports, read, tag, tracksMotion };
29
+
30
+ //# sourceMappingURL=ion-buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ion-buttons.js","names":["menuButton.read","menuButton.append"],"sources":["../../../src/native/components/ion-buttons.ts"],"sourcesContent":["import type { VerticalControlAreaOptions } from '../definitions';\nimport { modalUsesVerticalBars } from '../shared/modal';\nimport { createCandidate, appendItem } from '../shared/candidate';\nimport type { Candidate, Identify } from '../shared/candidate';\nimport { childElements, verticalBarsToolbarActions, inFixedToolbar, isVerticalBarsToolbarGroup } from '../shared/dom';\nimport * as menuButton from './ion-menu-button';\n\nexport const tag = 'ion-buttons';\nexport const tracksMotion = true;\n\nexport const read = (element: HTMLElement, id: Identify, options: VerticalControlAreaOptions = {}): Candidate | undefined => {\n if (!inFixedToolbar(element)) return;\n let children = childElements(element);\n if (children.length === 1) return menuButton.read(element, id, options);\n const verticalBars =\n !element.closest('ion-menu, ion-popover') && modalUsesVerticalBars(element) && !!element.closest('ion-app.ios-theme-vertical-bars');\n if (verticalBars && !isVerticalBarsToolbarGroup(element)) return;\n if (verticalBars) children = verticalBarsToolbarActions(element);\n if (\n !children.length ||\n children.some(\n (child) =>\n !child.matches(`${menuButton.tag}${verticalBars ? '' : '.ios'}`) &&\n (!child.matches(`ion-button${verticalBars ? '' : '.ios.button-clear'}`) ||\n (!verticalBars && (child as HTMLIonButtonElement).fill !== 'clear')),\n )\n )\n return;\n const candidate = createCandidate(element, tag, id, options);\n if (verticalBars && children.length !== childElements(element).length) candidate.sources = children;\n for (const child of children) {\n const supported = child.matches(menuButton.tag)\n ? menuButton.append(candidate, child as HTMLIonMenuButtonElement, id)\n : appendItem(candidate, child, id);\n if (!supported) return;\n }\n return candidate;\n};\n"],"mappings":";;;;;;;;;;;AAOA,MAAa,MAAM;AACnB,MAAa,eAAe;AAE5B,MAAa,QAAQ,SAAsB,IAAc,UAAsC,CAAC,MAA6B;CAC3H,IAAI,CAAC,eAAe,OAAO,GAAG;CAC9B,IAAI,WAAW,cAAc,OAAO;CACpC,IAAI,SAAS,WAAW,GAAG,OAAOA,OAAgB,SAAS,IAAI,OAAO;CACtE,MAAM,eACJ,CAAC,QAAQ,QAAQ,uBAAuB,KAAK,sBAAsB,OAAO,KAAK,CAAC,CAAC,QAAQ,QAAQ,iCAAiC;CACpI,IAAI,gBAAgB,CAAC,2BAA2B,OAAO,GAAG;CAC1D,IAAI,cAAc,WAAW,2BAA2B,OAAO;CAC/D,IACE,CAAC,SAAS,UACV,SAAS,MACN,UACC,CAAC,MAAM,QAAQ,kBAAoB,eAAe,KAAK,QAAQ,MAC9D,CAAC,MAAM,QAAQ,aAAa,eAAe,KAAK,qBAAqB,KACnE,CAAC,gBAAiB,MAA+B,SAAS,QACjE,GAEA;CACF,MAAM,YAAY,gBAAgB,SAAS,KAAK,IAAI,OAAO;CAC3D,IAAI,gBAAgB,SAAS,WAAW,cAAc,OAAO,CAAC,CAAC,QAAQ,UAAU,UAAU;CAC3F,KAAK,MAAM,SAAS,UAIlB,IAAI,EAHc,MAAM,QAAQ,iBAAc,IAC1CC,OAAkB,WAAW,OAAmC,EAAE,IAClE,WAAW,WAAW,OAAO,EAAE,IACnB;CAElB,OAAO;AACT"}
@@ -1,5 +1,10 @@
1
- import type { Candidate } from '../shared/candidate';
1
+ import { Candidate } from "../shared/candidate.js";
2
+ declare namespace ion_fab_d_exports {
3
+ export { read, shadowSelector, tag };
4
+ }
2
5
  export declare const tag = "ion-fab";
3
6
  export declare const shadowSelector = "ion-fab-button, ion-fab-list";
4
7
  export declare const read: (fab: HTMLElement, id: (element: HTMLElement) => string) => Candidate | undefined;
8
+ //#endregion
9
+ export { ion_fab_d_exports };
5
10
  //# sourceMappingURL=ion-fab.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ion-fab.d.ts","sourceRoot":"","sources":["../../../src/native/components/ion-fab.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAKrD,eAAO,MAAM,GAAG,YAAY,CAAC;AAC7B,eAAO,MAAM,cAAc,iCAAiC,CAAC;AAO7D,eAAO,MAAM,IAAI,GAAI,KAAK,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,WAAW,KAAK,MAAM,KAAG,SAAS,GAAG,SAyIzF,CAAC"}
1
+ {"version":3,"file":"ion-fab.d.ts","names":[],"sources":["../../../src/native/components/ion-fab.ts"],"mappings":";;;;qBAKa;qBACA;qBAOA,OAAQ,KAAK,aAAa,KAAK,SAAS,2BAAyB"}