@rdlabo/ionic-theme-ios27 1.2.0-beta.pr231.sha22a35d481cf3 → 1.2.0-beta.pr237.sha90661d2c01a8

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 (166) hide show
  1. package/README.md +21 -0
  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 +6 -1
  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 +116 -122
  50. package/dist/native/definitions.d.ts.map +1 -1
  51. package/dist/native/definitions.js +0 -6
  52. package/dist/native/index.d.ts +6 -4
  53. package/dist/native/index.d.ts.map +1 -1
  54. package/dist/native/index.js +229 -176
  55. package/dist/native/index.js.map +1 -0
  56. package/dist/native/prehide.d.ts +4 -2
  57. package/dist/native/prehide.d.ts.map +1 -1
  58. package/dist/native/prehide.js +218 -242
  59. package/dist/native/prehide.js.map +1 -0
  60. package/dist/native/runtime.d.ts +3 -1
  61. package/dist/native/runtime.d.ts.map +1 -1
  62. package/dist/native/runtime.js +626 -722
  63. package/dist/native/runtime.js.map +1 -0
  64. package/dist/native/shared/candidate.d.ts +15 -11
  65. package/dist/native/shared/candidate.d.ts.map +1 -1
  66. package/dist/native/shared/candidate.js +88 -95
  67. package/dist/native/shared/candidate.js.map +1 -0
  68. package/dist/native/shared/crossfade.d.ts +6 -4
  69. package/dist/native/shared/crossfade.d.ts.map +1 -1
  70. package/dist/native/shared/crossfade.js +49 -45
  71. package/dist/native/shared/crossfade.js.map +1 -0
  72. package/dist/native/shared/dom.d.ts +6 -4
  73. package/dist/native/shared/dom.d.ts.map +1 -1
  74. package/dist/native/shared/dom.js +163 -211
  75. package/dist/native/shared/dom.js.map +1 -0
  76. package/dist/native/shared/events.d.ts +8 -6
  77. package/dist/native/shared/events.d.ts.map +1 -1
  78. package/dist/native/shared/events.js +12 -7
  79. package/dist/native/shared/events.js.map +1 -0
  80. package/dist/native/shared/icons.d.ts +4 -2
  81. package/dist/native/shared/icons.d.ts.map +1 -1
  82. package/dist/native/shared/icons.js +59 -53
  83. package/dist/native/shared/icons.js.map +1 -0
  84. package/dist/native/shared/modal.d.ts +3 -1
  85. package/dist/native/shared/modal.d.ts.map +1 -1
  86. package/dist/native/shared/modal.js +156 -139
  87. package/dist/native/shared/modal.js.map +1 -0
  88. package/dist/native/vertical-bars-web.d.ts +3 -1
  89. package/dist/native/vertical-bars-web.d.ts.map +1 -1
  90. package/dist/native/vertical-bars-web.js +332 -344
  91. package/dist/native/vertical-bars-web.js.map +1 -0
  92. package/dist/native-integration/index.d.ts +10 -8
  93. package/dist/native-integration/index.d.ts.map +1 -1
  94. package/dist/native-integration/index.js +102 -100
  95. package/dist/native-integration/index.js.map +1 -0
  96. package/dist/native-integration/transition.d.ts +3 -1
  97. package/dist/native-integration/transition.d.ts.map +1 -1
  98. package/dist/native-integration/transition.js +15 -6
  99. package/dist/native-integration/transition.js.map +1 -0
  100. package/dist/searchbar/index.d.ts +4 -2
  101. package/dist/searchbar/index.d.ts.map +1 -1
  102. package/dist/searchbar/index.js +64 -56
  103. package/dist/searchbar/index.js.map +1 -0
  104. package/dist/segment/index.d.ts +3 -1
  105. package/dist/segment/index.d.ts.map +1 -1
  106. package/dist/segment/index.js +465 -324
  107. package/dist/segment/index.js.map +1 -0
  108. package/dist/sheets-of-glass/animations.d.ts +13 -12
  109. package/dist/sheets-of-glass/animations.d.ts.map +1 -1
  110. package/dist/sheets-of-glass/animations.js +496 -306
  111. package/dist/sheets-of-glass/animations.js.map +1 -0
  112. package/dist/sheets-of-glass/index.d.ts +3 -1
  113. package/dist/sheets-of-glass/index.d.ts.map +1 -1
  114. package/dist/sheets-of-glass/index.js +294 -357
  115. package/dist/sheets-of-glass/index.js.map +1 -0
  116. package/dist/sheets-of-glass/interfaces.d.ts +11 -9
  117. package/dist/sheets-of-glass/interfaces.d.ts.map +1 -1
  118. package/dist/sheets-of-glass/interfaces.js +0 -1
  119. package/dist/tab-bar-searchable/animations/enter.d.ts +4 -2
  120. package/dist/tab-bar-searchable/animations/enter.d.ts.map +1 -1
  121. package/dist/tab-bar-searchable/animations/enter.js +50 -69
  122. package/dist/tab-bar-searchable/animations/enter.js.map +1 -0
  123. package/dist/tab-bar-searchable/animations/leave.d.ts +4 -2
  124. package/dist/tab-bar-searchable/animations/leave.d.ts.map +1 -1
  125. package/dist/tab-bar-searchable/animations/leave.js +48 -62
  126. package/dist/tab-bar-searchable/animations/leave.js.map +1 -0
  127. package/dist/tab-bar-searchable/index.d.ts +5 -3
  128. package/dist/tab-bar-searchable/index.d.ts.map +1 -1
  129. package/dist/tab-bar-searchable/index.js +125 -109
  130. package/dist/tab-bar-searchable/index.js.map +1 -0
  131. package/dist/transition/index.d.ts +9 -8
  132. package/dist/transition/index.d.ts.map +1 -1
  133. package/dist/transition/index.js +203 -192
  134. package/dist/transition/index.js.map +1 -0
  135. package/dist/transition/ios.transition.d.ts +7 -5
  136. package/dist/transition/ios.transition.d.ts.map +1 -1
  137. package/dist/transition/ios.transition.js +15 -11
  138. package/dist/transition/ios.transition.js.map +1 -0
  139. package/dist/utils.d.ts +10 -8
  140. package/dist/utils.d.ts.map +1 -1
  141. package/dist/utils.js +58 -66
  142. package/dist/utils.js.map +1 -0
  143. package/dist/vertical-bars.d.ts +4 -5
  144. package/dist/vertical-bars.js +3 -3
  145. package/docs/iphone-duo-with-original-theme.md +24 -8
  146. package/docs/iphone-duo.md +59 -44
  147. package/docs/native-ui-shell.md +5 -3
  148. package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellSearchController.swift +1 -1
  149. package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalBars.swift +27 -2
  150. package/ios/Sources/IonicNativeUIShellPlugin/Components/ShellVerticalSearch.swift +118 -0
  151. package/ios/Sources/IonicNativeUIShellPlugin/IonicNativeUIShellPlugin.swift +27 -179
  152. package/ios/Tests/IonicNativeUIShellPluginTests/ShellSnapshotTests.swift +37 -0
  153. package/package.json +8 -5
  154. package/src/native/components/index.ts +3 -2
  155. package/src/native/components/ion-button.ts +3 -2
  156. package/src/native/components/ion-buttons.ts +3 -2
  157. package/src/native/components/searchable-tabs.ts +8 -11
  158. package/src/native/definitions.ts +16 -20
  159. package/src/native/index.ts +75 -32
  160. package/src/native/runtime.ts +18 -12
  161. package/src/native/shared/candidate.ts +13 -6
  162. package/src/native/vertical-bars-web.ts +2 -0
  163. package/src/styles/vertical-bars.scss +8 -0
  164. package/src/tab-bar-searchable/index.ts +40 -9
  165. package/src/vertical-bars.ts +7 -2
  166. package/dist/vertical-bars.d.ts.map +0 -1
package/README.md CHANGED
@@ -125,6 +125,15 @@ Use this markup to preview the inset grouped list look. For the list structure t
125
125
 
126
126
  Keep your existing Ionic theme and move tabs and supported toolbar actions into a vertical side area. **Start in Chrome** with one stylesheet, an app class, and `enableVerticalControlArea()`; then connect the layout to iPhone Duo device events for the system rail and hinge posture.
127
127
 
128
+ Device state is supplied by [`@erkamyaman/capacitor-foldable`](https://github.com/erkamyaman/capacitor-foldable), installed in your app:
129
+
130
+ ```bash
131
+ npm install @erkamyaman/capacitor-foldable
132
+ npx cap sync
133
+ ```
134
+
135
+ Use its `getBarPlacement()` / `barPlacementChange` and `getFoldState()` / `foldStateChange` APIs to drive the theme's layout. Device monitoring is not bundled with the theme.
136
+
128
137
  Follow [iPhone Duo with your existing theme](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/iphone-duo-with-original-theme) for the browser preview and iOS setup. For shared layout rules and APIs, see [iPhone Duo support](https://docs.rdlabo.dev/projects/ionic-theme-ios27/docs/iphone-duo). Available in `1.2.0-0` as an experimental feature; APIs and supported behavior may change.
129
138
 
130
139
  ### Use only the iOS 27 theme
@@ -225,6 +234,18 @@ For Ionic 9 Angular, import `isPlatform` and `provideIonicAngular` from `@ionic/
225
234
 
226
235
  ## Development & Testing
227
236
 
237
+ ### JavaScript module builds
238
+
239
+ Keep relative imports in TypeScript source extensionless, matching Ionic's source
240
+ style. The shared `rdlabo-build-theme` CLI from `@rdlabo/ionic-theme-utils` uses
241
+ tsdown to resolve imports when generating ESM JavaScript and type declarations.
242
+ Dependencies remain external, and source files are not rewritten.
243
+
244
+ Run `npm run build && npm run test:esm` to build and verify the npm tarball with
245
+ the shared `rdlabo-check-esm` CLI. Public JavaScript entry points can be imported
246
+ in Node.js without a DOM; UI operations still require a browser or a supported
247
+ native environment. The package ships ESM only.
248
+
228
249
  ### Demo Application
229
250
 
230
251
  The same demo is deployed against both supported Ionic versions:
@@ -0,0 +1,13 @@
1
+ //#region \0rolldown/runtime.js
2
+ var __defProp = Object.defineProperty;
3
+ var __exportAll = (all, no_symbols) => {
4
+ let target = {};
5
+ for (var name in all) __defProp(target, name, {
6
+ get: all[name],
7
+ enumerable: true
8
+ });
9
+ if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
10
+ return target;
11
+ };
12
+ //#endregion
13
+ export { __exportAll };