@aussieljk/forkbook 0.0.1-1 → 0.0.1-2

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 (198) hide show
  1. package/dist/_browser-chunks/{Color-OEKZ7XSW.js → Color-PCLE2J36.js} +1 -1
  2. package/dist/_browser-chunks/{WithTooltip-GZSSFOG3.js → WithTooltip-XSQFTBMB.js} +1 -1
  3. package/dist/_browser-chunks/{chunk-73OX2G56.js → chunk-JYVGARBG.js} +11 -11
  4. package/dist/_browser-chunks/{chunk-VVWPND3J.js → chunk-KQ7CRO2B.js} +1 -1
  5. package/dist/_browser-chunks/{chunk-PP4R7USA.js → chunk-P6PK47TQ.js} +215 -412
  6. package/dist/_node-chunks/{attached-runtime-O4YTVUKE.js → attached-runtime-I2G4WLJI.js} +29 -29
  7. package/dist/_node-chunks/{builder-manager-FPV2L36T.js → builder-manager-VVHYQXCH.js} +12 -12
  8. package/dist/_node-chunks/{chunk-4PK3LUHM.js → chunk-2BUPBPFB.js} +7 -7
  9. package/dist/_node-chunks/{chunk-Y2GH4XO7.js → chunk-2DSIDINN.js} +7 -7
  10. package/dist/_node-chunks/{chunk-WVCU34IS.js → chunk-2RU7BKEW.js} +6 -6
  11. package/dist/_node-chunks/{chunk-7TSL7D5D.js → chunk-34EO2PUT.js} +6 -6
  12. package/dist/_node-chunks/{chunk-Y2DEKWVE.js → chunk-3BKIBF5S.js} +8 -8
  13. package/dist/_node-chunks/{chunk-6EJ5NPEM.js → chunk-3SDUYDXH.js} +7 -7
  14. package/dist/_node-chunks/{chunk-BE6ULVPN.js → chunk-3T4ZSNPH.js} +8 -8
  15. package/dist/_node-chunks/{chunk-ZMEGPR47.js → chunk-3W7F2B7P.js} +6 -6
  16. package/dist/_node-chunks/{chunk-MDKFZRYG.js → chunk-3Y6AAY5H.js} +8 -8
  17. package/dist/_node-chunks/{chunk-HKQEE62W.js → chunk-42UWAGPW.js} +8 -8
  18. package/dist/_node-chunks/{chunk-YWMICX2T.js → chunk-4FEANXWU.js} +10 -10
  19. package/dist/_node-chunks/{chunk-SVZ6Q3CS.js → chunk-5DQFEZEA.js} +6 -6
  20. package/dist/_node-chunks/{chunk-ILWHW4HU.js → chunk-6KEHV53S.js} +14 -14
  21. package/dist/_node-chunks/{chunk-TB6Y6NSL.js → chunk-6LMWA44H.js} +8 -8
  22. package/dist/_node-chunks/{chunk-4TV3Z3S3.js → chunk-6YKBRP72.js} +6 -6
  23. package/dist/_node-chunks/{chunk-GVSFRNWZ.js → chunk-7GUDZVRQ.js} +6 -6
  24. package/dist/_node-chunks/{chunk-5J3O7EDY.js → chunk-B5J7Q7J4.js} +6 -6
  25. package/dist/_node-chunks/{chunk-GT5EHMNM.js → chunk-BS2WMZMR.js} +7 -7
  26. package/dist/_node-chunks/{chunk-QMU5ODXZ.js → chunk-BSKFCWQD.js} +7 -7
  27. package/dist/_node-chunks/{chunk-356LV3NX.js → chunk-BXVYT7SB.js} +6 -6
  28. package/dist/_node-chunks/{chunk-RHG33T7C.js → chunk-CCOTJ4FC.js} +8 -8
  29. package/dist/_node-chunks/{chunk-XCGMRAV5.js → chunk-CQKMLL5J.js} +7 -7
  30. package/dist/_node-chunks/{chunk-NKAUZU4C.js → chunk-CXRU72ET.js} +6 -6
  31. package/dist/_node-chunks/{chunk-RJUHZH32.js → chunk-DC7DKR5K.js} +6 -6
  32. package/dist/_node-chunks/{chunk-M2BRIUUP.js → chunk-DHJFTB4K.js} +7 -7
  33. package/dist/_node-chunks/{chunk-2QTI45JU.js → chunk-DUR55DJJ.js} +9 -9
  34. package/dist/_node-chunks/{chunk-IZISFDKM.js → chunk-E6YESGLX.js} +27 -27
  35. package/dist/_node-chunks/{chunk-VXDWOVWD.js → chunk-EHUNOMDD.js} +10 -10
  36. package/dist/_node-chunks/{chunk-RQVK2TOI.js → chunk-ET7PWEO7.js} +7 -7
  37. package/dist/_node-chunks/{chunk-X6OWHTYE.js → chunk-EWOX7HPJ.js} +6 -6
  38. package/dist/_node-chunks/{chunk-ILVD64RB.js → chunk-F3ZFKBHY.js} +7 -7
  39. package/dist/_node-chunks/{chunk-MJ2UD7FU.js → chunk-FK7KGTV7.js} +6 -6
  40. package/dist/_node-chunks/{chunk-5RNOGGO6.js → chunk-FPZB5OI7.js} +6 -6
  41. package/dist/_node-chunks/{chunk-2BJIHWOK.js → chunk-FW2HQUBQ.js} +6 -6
  42. package/dist/_node-chunks/chunk-FY6UXW6G.js +11 -0
  43. package/dist/_node-chunks/{chunk-GP5YLBNS.js → chunk-GEFQN7K3.js} +8 -8
  44. package/dist/_node-chunks/{chunk-5GN5N22E.js → chunk-GRBLDJCR.js} +19 -19
  45. package/dist/_node-chunks/{chunk-AANHLH5M.js → chunk-H32DYT6P.js} +6 -6
  46. package/dist/_node-chunks/{chunk-PEIAGMSR.js → chunk-H4PPVMP5.js} +6 -6
  47. package/dist/_node-chunks/{chunk-XTTAS346.js → chunk-HMP2G23X.js} +6 -6
  48. package/dist/_node-chunks/{chunk-XJSYJTBD.js → chunk-ICPBH3E7.js} +7 -7
  49. package/dist/_node-chunks/{chunk-FUYZNTIS.js → chunk-IDEL2J23.js} +6 -6
  50. package/dist/_node-chunks/{chunk-7LLQDMVS.js → chunk-IK4FGZLR.js} +6 -6
  51. package/dist/_node-chunks/{chunk-NZ3GOT7V.js → chunk-JDXXX6LB.js} +6 -6
  52. package/dist/_node-chunks/{chunk-JEC2OK5B.js → chunk-JGGFYIG5.js} +7 -7
  53. package/dist/_node-chunks/{chunk-CSXS6LVI.js → chunk-JPAZLYJ3.js} +6 -6
  54. package/dist/_node-chunks/{chunk-NIHZECYO.js → chunk-JZOO7GGC.js} +6 -6
  55. package/dist/_node-chunks/{chunk-U4GKV7GZ.js → chunk-KISMCCP5.js} +10 -10
  56. package/dist/_node-chunks/{chunk-JE6JEGXA.js → chunk-LCK4ZQKG.js} +8 -8
  57. package/dist/_node-chunks/{chunk-HKUNJELN.js → chunk-LO56I6E2.js} +8 -8
  58. package/dist/_node-chunks/{chunk-URRTQ2QM.js → chunk-LXBD4UL4.js} +6 -6
  59. package/dist/_node-chunks/{chunk-CXLL2F6O.js → chunk-MA24JW6C.js} +8 -8
  60. package/dist/_node-chunks/{chunk-ZBAIFZNB.js → chunk-MK2KYAI6.js} +12 -12
  61. package/dist/_node-chunks/{chunk-BENYUF74.js → chunk-NDWKJ4CL.js} +14 -19
  62. package/dist/_node-chunks/{chunk-A724RK5H.js → chunk-NIBT7XDZ.js} +6 -6
  63. package/dist/_node-chunks/{chunk-R7CY5LX6.js → chunk-NPO45IMH.js} +6 -6
  64. package/dist/_node-chunks/{chunk-B6SKX4JF.js → chunk-OISX4AGQ.js} +7 -7
  65. package/dist/_node-chunks/{chunk-2UG3IYCC.js → chunk-OUW6R7C3.js} +6 -6
  66. package/dist/_node-chunks/{chunk-SRXCCL2O.js → chunk-OWNFOGTA.js} +7 -7
  67. package/dist/_node-chunks/{chunk-PBMWZVLD.js → chunk-Q7QNUM5H.js} +6 -6
  68. package/dist/_node-chunks/{chunk-5BTU7UZ5.js → chunk-QEQLR22M.js} +7 -7
  69. package/dist/_node-chunks/{chunk-CWD5A6NI.js → chunk-RRN2V55B.js} +7 -7
  70. package/dist/_node-chunks/{chunk-AWJOXJAZ.js → chunk-RWFIFGO5.js} +7 -7
  71. package/dist/_node-chunks/{chunk-CDRLLNRQ.js → chunk-RXNJDRGO.js} +6 -6
  72. package/dist/_node-chunks/{chunk-AWXGCPW6.js → chunk-RZMQ7S3L.js} +6 -6
  73. package/dist/_node-chunks/{chunk-5J3BMBMY.js → chunk-SIEXZVCR.js} +6 -6
  74. package/dist/_node-chunks/{chunk-ULW4SLMN.js → chunk-SLWQNBGO.js} +10 -10
  75. package/dist/_node-chunks/{chunk-KGOAOPKR.js → chunk-SVTBJ7Q3.js} +6 -6
  76. package/dist/_node-chunks/{chunk-XURIZ7IC.js → chunk-SWO5CDYU.js} +6 -6
  77. package/dist/_node-chunks/{chunk-3CLITGI2.js → chunk-TD5PLLQG.js} +6 -6
  78. package/dist/_node-chunks/{chunk-G6PUNHCI.js → chunk-TEQGGSP7.js} +6 -6
  79. package/dist/_node-chunks/{chunk-ICADUNQM.js → chunk-TFCEV2XX.js} +6 -6
  80. package/dist/_node-chunks/{chunk-JVQYQTTM.js → chunk-TFEWM4E3.js} +18 -39
  81. package/dist/_node-chunks/{chunk-G5OYQQDY.js → chunk-TINO74G5.js} +6 -6
  82. package/dist/_node-chunks/{chunk-QVMUIU7S.js → chunk-TNJIXE37.js} +6 -6
  83. package/dist/_node-chunks/{chunk-WQ7PSP6H.js → chunk-TWI4GVH7.js} +6 -6
  84. package/dist/_node-chunks/{chunk-CYPPELO4.js → chunk-U5W53R2J.js} +8 -8
  85. package/dist/_node-chunks/{chunk-2JSABFAM.js → chunk-UBOGWBEA.js} +10 -10
  86. package/dist/_node-chunks/{chunk-I2ANCID7.js → chunk-UMUBKI6E.js} +23 -23
  87. package/dist/_node-chunks/{chunk-7BVUZZIY.js → chunk-UVINFLGY.js} +7 -7
  88. package/dist/_node-chunks/{chunk-ASJFOW6O.js → chunk-V2DY426G.js} +8 -8
  89. package/dist/_node-chunks/{chunk-US7L4S72.js → chunk-VLOXOXXE.js} +9 -9
  90. package/dist/_node-chunks/{chunk-5WHA37KG.js → chunk-W4OMYLSP.js} +23 -23
  91. package/dist/_node-chunks/chunk-WAXVSN3O.js +18 -0
  92. package/dist/_node-chunks/{chunk-DWE36J35.js → chunk-WCULS5TP.js} +7 -7
  93. package/dist/_node-chunks/{chunk-2XDUXZGI.js → chunk-WNZ2UMFM.js} +8 -8
  94. package/dist/_node-chunks/{chunk-R5FYRP6X.js → chunk-WZJF2OUH.js} +7 -7
  95. package/dist/_node-chunks/{chunk-6APBQVEX.js → chunk-XGIUVY52.js} +7 -7
  96. package/dist/_node-chunks/{chunk-7DCDBICW.js → chunk-XHL2LVBM.js} +9 -9
  97. package/dist/_node-chunks/{chunk-JBCKN6P4.js → chunk-XI6B6P47.js} +6 -6
  98. package/dist/_node-chunks/{chunk-EWXASIWR.js → chunk-XLP2ZKXV.js} +7 -7
  99. package/dist/_node-chunks/{chunk-IJL5JOLL.js → chunk-YCMRA6RX.js} +7 -7
  100. package/dist/_node-chunks/{chunk-RJXEPYEN.js → chunk-YZFWBA5L.js} +8 -8
  101. package/dist/_node-chunks/{chunk-VQEQ7ZLS.js → chunk-ZMAMXQKP.js} +7 -7
  102. package/dist/_node-chunks/{chunk-GSWBRZLU.js → chunk-ZWBCQ4MJ.js} +6 -6
  103. package/dist/_node-chunks/dist-VTSTZKUB.js +16 -0
  104. package/dist/_node-chunks/{globby-HWZL7XSQ.js → globby-OEMHPBFY.js} +10 -10
  105. package/dist/_node-chunks/{jiti-GNDCTFYU.js → jiti-NFX6UU74.js} +7 -7
  106. package/dist/_node-chunks/{lib-DI662U2R.js → lib-MDVARD7W.js} +7 -7
  107. package/dist/_node-chunks/{local-runtime-4UNT5EZJ.js → local-runtime-NTKIN2QT.js} +20 -20
  108. package/dist/_node-chunks/{mdx-plugin-ZY6XLLA4.js → mdx-plugin-MWISDWDQ.js} +14 -14
  109. package/dist/_node-chunks/{monorepo-B65J4UFS.js → monorepo-LIRFMQXE.js} +11 -11
  110. package/dist/_node-chunks/{monorepo-optimized-tests-relaxed-limits-no-story-deletion-45ZTNWJS.js → monorepo-optimized-tests-relaxed-limits-no-story-deletion-CPDW4XTW.js} +11 -11
  111. package/dist/_node-chunks/optimized-tests-HDOLR3EY.js +22 -0
  112. package/dist/_node-chunks/{pattern-copy-play-LOHSM7ID.js → pattern-copy-play-EKHIUAU2.js} +9 -9
  113. package/dist/_node-chunks/postinstallAddon-GYGMWDL6.js +20 -0
  114. package/dist/_node-chunks/{rehype-external-links-22ZBI6K4.js → rehype-external-links-BUN3HUCO.js} +9 -9
  115. package/dist/_node-chunks/{rehype-slug-ROZVEEFZ.js → rehype-slug-PLADX223.js} +9 -9
  116. package/dist/_node-chunks/{relaxed-limits-EDE2B34G.js → relaxed-limits-GBHW6KIQ.js} +11 -11
  117. package/dist/_node-chunks/{run-IR3BRDJV.js → run-KDTIZNSY.js} +17 -17
  118. package/dist/_node-chunks/{run-372BSBV5.js → run-NL66VTNR.js} +13 -13
  119. package/dist/_node-chunks/session-id-KIIVOQLR.js +23 -0
  120. package/dist/_node-chunks/{setup-6TMCKUTA.js → setup-MGC7BQO6.js} +8 -8
  121. package/dist/_node-chunks/{vitest.config.4.template-QJBEVCKG.js → vitest.config.4.template-JH2THZFG.js} +7 -7
  122. package/dist/addon-a11y/manager.js +4 -4
  123. package/dist/addon-a11y/preset.js +7 -7
  124. package/dist/addon-docs/blocks.js +10 -10
  125. package/dist/addon-docs/manager.js +2 -2
  126. package/dist/addon-docs/preset.js +10 -10
  127. package/dist/addon-mcp/preset.js +8 -8
  128. package/dist/addon-mcp/tools/preview-stories/preview-stories-app-script.js +12 -33
  129. package/dist/addon-ondevice-controls/index.js +1 -1
  130. package/dist/addon-ondevice-controls/register.js +1 -1
  131. package/dist/addon-themes/postinstall.js +7 -7
  132. package/dist/addon-vitest/constants.js +8 -8
  133. package/dist/addon-vitest/manager.js +2 -2
  134. package/dist/addon-vitest/node/coverage-reporter.js +8 -8
  135. package/dist/addon-vitest/node/vitest.js +16 -16
  136. package/dist/addon-vitest/postinstall.js +10 -10
  137. package/dist/addon-vitest/preset.js +14 -14
  138. package/dist/addon-vitest/vitest-plugin/global-setup.js +7 -7
  139. package/dist/addon-vitest/vitest-plugin/index.js +13 -13
  140. package/dist/babel/index.js +12 -12
  141. package/dist/bin/core.js +58 -58
  142. package/dist/bin/dispatcher.js +10 -10
  143. package/dist/bin/loader.js +8 -8
  144. package/dist/builder-vite/index.js +15 -15
  145. package/dist/builder-vite/preset.js +13 -13
  146. package/dist/cli/index.js +24 -24
  147. package/dist/cli/tools/sdk/child-host.js +17 -17
  148. package/dist/cli/tools/sdk/index.js +18 -18
  149. package/dist/cli-commands/bin/index.js +7 -7
  150. package/dist/common/index.js +37 -37
  151. package/dist/components/index.js +23 -23
  152. package/dist/core-server/index.js +71 -71
  153. package/dist/core-server/presets/common-manager.js +7 -7
  154. package/dist/core-server/presets/common-override-preset.js +9 -9
  155. package/dist/core-server/presets/common-preset.js +40 -40
  156. package/dist/create/bin/index.js +7 -7
  157. package/dist/create/index.js +15 -15
  158. package/dist/csf-tools/index.js +12 -12
  159. package/dist/manager/_manager-chunks/{globals-runtime-B0I9dSVs.js → globals-runtime-DpNYC-qi.js} +72 -72
  160. package/dist/manager/_manager-chunks/{globals-runtime-BQCkfH1B.js → globals-runtime-Rp_zjGnh.js} +1 -1
  161. package/dist/manager/_manager-chunks/{globals-runtime-CXoVXiJA.js → globals-runtime-qKvCZHFY.js} +4 -4
  162. package/dist/manager/_manager-chunks/{globals-runtime-f5oIrim0.js → globals-runtime-sGpNlIJ1.js} +2 -2
  163. package/dist/manager/_manager-chunks/{runtime-DpgBAFGf.js → runtime-BK0zF7FN.js} +1 -1
  164. package/dist/manager/_manager-chunks/{runtime-DcJBhKG9.js → runtime-BhkT2CXl.js} +4 -4
  165. package/dist/manager/_manager-chunks/{runtime-DtyerpFe.js → runtime-D0UOWx0U.js} +14 -14
  166. package/dist/manager/_manager-chunks/{runtime-Bry1Biu7.js → runtime-cp5pazY2.js} +118 -118
  167. package/dist/manager/globals-runtime.js +1 -1
  168. package/dist/manager/runtime.js +1 -1
  169. package/dist/mcp/index.js +8 -8
  170. package/dist/mocking-utils/index.js +9 -9
  171. package/dist/nextjs-vite/node/index.js +7 -7
  172. package/dist/nextjs-vite/preset.js +11 -11
  173. package/dist/nextjs-vite/vite-plugin/index.js +7 -7
  174. package/dist/nextjs-vite-plugin/index.js +8 -8
  175. package/dist/nextjs-vite-plugin/mocks/storybook.global.js +8 -8
  176. package/dist/node-logger/index.js +9 -9
  177. package/dist/oxc-parser/index.js +10 -10
  178. package/dist/oxc-parser/worker.js +10 -10
  179. package/dist/react/docgen/docgen-worker.js +12 -12
  180. package/dist/react/preset.js +14 -14
  181. package/dist/react-native/bin/get-stories.js +8 -8
  182. package/dist/react-native/metro/node.js +9 -9
  183. package/dist/react-native/metro/withStorybook.d.ts +1 -1
  184. package/dist/react-native/metro/withStorybook.js +10 -10
  185. package/dist/react-native/scripts/generate.js +8 -8
  186. package/dist/react-native-ui/index.js +204 -621
  187. package/dist/react-vite/node/index.js +7 -7
  188. package/dist/react-vite/preset.js +7 -7
  189. package/dist/server-errors.js +9 -9
  190. package/dist/shared/open-service/services/docgen/worker/docgen-worker.js +9 -9
  191. package/dist/telemetry/index.js +45 -45
  192. package/package.json +9 -30
  193. package/dist/_node-chunks/chunk-BCRWDMAU.js +0 -11
  194. package/dist/_node-chunks/chunk-DUOXRUVQ.js +0 -18
  195. package/dist/_node-chunks/dist-ZGSN23B7.js +0 -16
  196. package/dist/_node-chunks/optimized-tests-ZMNICF4R.js +0 -22
  197. package/dist/_node-chunks/postinstallAddon-NT5XE7IT.js +0 -20
  198. package/dist/_node-chunks/session-id-OO2WQF5N.js +0 -23
@@ -9,7 +9,7 @@ import {
9
9
  import { addons, types } from "@aussieljk/forkbook/manager-api";
10
10
 
11
11
  // src/addon-ondevice-controls/ControlsPanel.tsx
12
- import React3, { useCallback as useCallback7, useState as useState11 } from "react";
12
+ import React2, { useCallback as useCallback6, useState as useState10 } from "react";
13
13
 
14
14
  // src/addon-ondevice-controls/NoControlsWarning.tsx
15
15
  import { styled } from "@aussieljk/forkbook/internal/react-native-theming";
@@ -47,21 +47,17 @@ var Paragraph = styled.Text(({ theme }) => ({
47
47
  ] }), NoControlsWarning_default = NoControlsWarning;
48
48
 
49
49
  // src/addon-ondevice-controls/PropForm.tsx
50
- import { styled as styled10 } from "@aussieljk/forkbook/internal/react-native-theming";
50
+ import { styled as styled9 } from "@aussieljk/forkbook/internal/react-native-theming";
51
51
 
52
52
  // src/addon-ondevice-controls/PropField.tsx
53
- import { styled as styled9 } from "@aussieljk/forkbook/internal/react-native-theming";
53
+ import { styled as styled8 } from "@aussieljk/forkbook/internal/react-native-theming";
54
54
 
55
55
  // src/addon-ondevice-controls/types/Text.tsx
56
56
  import { useState as useState2 } from "react";
57
57
 
58
58
  // src/addon-ondevice-controls/types/common.tsx
59
59
  import { styled as styled2 } from "@aussieljk/forkbook/internal/react-native-theming";
60
- import { useLayout } from "@aussieljk/forkbook/internal/react-native-ui-common";
61
- import { forwardRef } from "react";
62
60
  import { Platform, TextInput } from "react-native";
63
- import { BottomSheetTextInput, useBottomSheetInternal } from "@gorhom/bottom-sheet";
64
- import { jsx as jsx2 } from "react/jsx-runtime";
65
61
  function inputStyle({
66
62
  theme,
67
63
  focused = !1,
@@ -95,17 +91,7 @@ function inputStyle({
95
91
  margin: 0
96
92
  };
97
93
  }
98
- var IsNative = Platform.OS === "ios" || Platform.OS === "android", TextInputWithSwitcher = forwardRef(
99
- (props, ref) => {
100
- let { isMobile } = useLayout(), isBottomSheet = useBottomSheetInternal(!0) !== null;
101
- return isMobile && IsNative && isBottomSheet ? (
102
- // @ts-ignore
103
- jsx2(BottomSheetTextInput, { ref, ...props })
104
- ) : jsx2(TextInput, { ref, ...props });
105
- }
106
- );
107
- TextInputWithSwitcher.displayName = "TextInputWithSwitcher";
108
- var Input = styled2(TextInputWithSwitcher)(({ theme, focused, hasError }) => ({
94
+ var Input = styled2(TextInput)(({ theme, focused, hasError }) => ({
109
95
  ...inputStyle({ theme, focused, hasError })
110
96
  }));
111
97
 
@@ -119,10 +105,10 @@ function useResyncValue(value, isPristine, resyncCallback) {
119
105
  }
120
106
 
121
107
  // src/addon-ondevice-controls/types/Text.tsx
122
- import { jsx as jsx3 } from "react/jsx-runtime";
108
+ import { jsx as jsx2 } from "react/jsx-runtime";
123
109
  var TextType = ({ arg, onChange, isPristine }) => {
124
110
  let { setCurrentValue, key } = useResyncValue(arg.value, isPristine), [focused, setFocused] = useState2(!1);
125
- return jsx3(
111
+ return jsx2(
126
112
  Input,
127
113
  {
128
114
  testID: arg.name,
@@ -141,208 +127,47 @@ var TextType = ({ arg, onChange, isPristine }) => {
141
127
  }, Text_default = TextType;
142
128
 
143
129
  // src/addon-ondevice-controls/types/Number.tsx
144
- import { styled as styled4 } from "@aussieljk/forkbook/internal/react-native-theming";
145
- import { useCallback as useCallback2, useState as useState4 } from "react";
146
- import { View as View3 } from "react-native";
147
-
148
- // src/addon-ondevice-controls/components/Slider.tsx
149
- import { useCallback, useEffect as useEffect2, useMemo, useRef, useState as useState3 } from "react";
150
- import {
151
- Animated,
152
- I18nManager,
153
- PanResponder,
154
- StyleSheet,
155
- View as View2
156
- } from "react-native";
157
130
  import { styled as styled3 } from "@aussieljk/forkbook/internal/react-native-theming";
158
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
159
- var THUMB_SIZE = 32, THUMB_RADIUS = THUMB_SIZE / 2, THUMB_HIT_SLOP = THUMB_SIZE, SliderContainer = styled3.View({
160
- height: 48,
161
- justifyContent: "center",
162
- paddingHorizontal: 10
163
- }), Track = styled3.View(({ theme }) => ({
164
- height: 4,
165
- borderRadius: 2,
166
- backgroundColor: theme.appBorderColor,
167
- position: "relative",
168
- width: "100%"
169
- })), Fill = styled3.View(({ theme }) => ({
170
- position: "absolute",
171
- top: 0,
172
- height: 4,
173
- borderRadius: 2,
174
- backgroundColor: theme.color.positive
175
- })), Thumb = styled3.View(({ theme }) => ({
176
- width: THUMB_SIZE,
177
- height: THUMB_SIZE,
178
- borderRadius: THUMB_RADIUS,
179
- backgroundColor: theme.color.positive,
180
- borderWidth: 2,
181
- borderColor: theme.background.content,
182
- shadowColor: "#000",
183
- shadowOffset: { width: 0, height: 2 },
184
- shadowOpacity: 0.25,
185
- shadowRadius: 3.84,
186
- elevation: 5
187
- })), clamp = (value, min, max) => Math.max(min, Math.min(max, value)), Slider = ({
188
- minimumValue = 0,
189
- maximumValue = 1,
131
+ import { useCallback, useState as useState3 } from "react";
132
+ import { View as View2 } from "react-native";
133
+
134
+ // src/addon-ondevice-controls/components/SliderWrapper.tsx
135
+ import { Host, Slider } from "@expo/ui/swift-ui";
136
+ import { useRef } from "react";
137
+ import { jsx as jsx3 } from "react/jsx-runtime";
138
+ var SliderWrapper = ({
139
+ minimumValue,
140
+ maximumValue,
190
141
  step,
191
- value = minimumValue,
142
+ value,
192
143
  onValueChange,
193
144
  onSlidingComplete,
194
- disabled = !1,
195
145
  style
196
146
  }) => {
197
- let isRTL = I18nManager.isRTL, initialValueRef = useRef(value ?? minimumValue), [trackWidth, setTrackWidth] = useState3(0), [displayValue, setDisplayValue] = useState3(initialValueRef.current), translateX = useRef(new Animated.Value(0)).current, currentTranslateRef = useRef(0), startTranslateRef = useRef(0), isDraggingRef = useRef(!1), range = maximumValue - minimumValue || 1, clampValue = useCallback(
198
- (raw) => {
199
- let clampedValue = clamp(raw, minimumValue, maximumValue);
200
- if (step && step > 0) {
201
- let steps = Math.round((clampedValue - minimumValue) / step);
202
- clampedValue = minimumValue + steps * step, clampedValue = clamp(clampedValue, minimumValue, maximumValue);
203
- }
204
- return clampedValue;
205
- },
206
- [minimumValue, maximumValue, step]
207
- ), valueToTranslate = useCallback(
208
- (val, width) => {
209
- if (width <= 0) return 0;
210
- let ratio = (clampValue(val) - minimumValue) / range;
211
- return (isRTL ? 1 - ratio : ratio) * width;
212
- },
213
- [clampValue, minimumValue, range, isRTL]
214
- ), translateToValue = useCallback(
215
- (translate, width) => {
216
- if (width <= 0) return clampValue(minimumValue);
217
- let ratio = clamp(translate / width, 0, 1), normalized = isRTL ? 1 - ratio : ratio, raw = minimumValue + normalized * range;
218
- return clampValue(raw);
219
- },
220
- [clampValue, minimumValue, range, isRTL]
221
- ), clampTranslate = useCallback(
222
- (translate, width) => clamp(translate, 0, width),
223
- []
224
- ), updateFromTranslate = useCallback(
225
- (nextTranslate, width, notify) => {
226
- let clampedTranslate = clampTranslate(nextTranslate, width), snappedValue = translateToValue(clampedTranslate, width), snappedTranslate = valueToTranslate(snappedValue, width);
227
- translateX.setValue(snappedTranslate), currentTranslateRef.current = snappedTranslate, setDisplayValue(snappedValue), notify && onValueChange?.(snappedValue);
228
- },
229
- [clampTranslate, translateToValue, valueToTranslate, translateX, onValueChange]
230
- );
231
- useEffect2(() => {
232
- if (isDraggingRef.current) return;
233
- let clamped = clampValue(value ?? minimumValue);
234
- if (setDisplayValue(clamped), trackWidth > 0) {
235
- let translate = valueToTranslate(clamped, trackWidth);
236
- translateX.setValue(translate), currentTranslateRef.current = translate;
237
- }
238
- }, [value, trackWidth, clampValue, valueToTranslate, translateX, minimumValue]);
239
- let handlePanMove = useCallback(
240
- (gestureState, width) => {
241
- let delta = isRTL ? -gestureState.dx : gestureState.dx, nextTranslate = startTranslateRef.current + delta;
242
- updateFromTranslate(nextTranslate, width, !0);
243
- },
244
- [updateFromTranslate, isRTL]
245
- ), handlePanEnd = useCallback(
246
- (width, shouldNotifyComplete) => {
247
- isDraggingRef.current = !1;
248
- let snappedValue = translateToValue(currentTranslateRef.current, width), snappedTranslate = valueToTranslate(snappedValue, width);
249
- translateX.setValue(snappedTranslate), currentTranslateRef.current = snappedTranslate, setDisplayValue(snappedValue), shouldNotifyComplete && (onValueChange?.(snappedValue), onSlidingComplete?.(snappedValue));
250
- },
251
- [translateToValue, valueToTranslate, translateX, onValueChange, onSlidingComplete]
252
- ), panResponder = useMemo(
253
- () => (
254
- // eslint-disable-next-line react-hooks/refs
255
- PanResponder.create({
256
- onStartShouldSetPanResponder: () => !disabled,
257
- onMoveShouldSetPanResponder: () => !disabled,
258
- onStartShouldSetPanResponderCapture: () => !disabled,
259
- onMoveShouldSetPanResponderCapture: () => !disabled,
260
- onPanResponderGrant: (evt) => {
261
- if (disabled || trackWidth <= 0) return;
262
- isDraggingRef.current = !0;
263
- let rawTouchX = evt.nativeEvent.locationX - THUMB_RADIUS, clampedTouch = clamp(rawTouchX, 0, trackWidth), proposedTranslate = isRTL ? trackWidth - clampedTouch : clampedTouch, currentTranslate = currentTranslateRef.current;
264
- if (Math.abs(proposedTranslate - currentTranslate) <= THUMB_HIT_SLOP) {
265
- startTranslateRef.current = currentTranslate;
266
- let currentValue = translateToValue(currentTranslate, trackWidth);
267
- setDisplayValue(currentValue), onValueChange?.(currentValue);
268
- } else
269
- updateFromTranslate(proposedTranslate, trackWidth, !0), startTranslateRef.current = currentTranslateRef.current;
270
- },
271
- onPanResponderMove: (_evt, gestureState) => {
272
- disabled || trackWidth <= 0 || handlePanMove(gestureState, trackWidth);
273
- },
274
- onPanResponderRelease: () => {
275
- trackWidth <= 0 || handlePanEnd(trackWidth, !0);
276
- },
277
- onPanResponderTerminationRequest: () => !1,
278
- onPanResponderTerminate: () => {
279
- trackWidth <= 0 || handlePanEnd(trackWidth, !0);
280
- }
281
- })
282
- ),
283
- [
284
- disabled,
285
- trackWidth,
286
- handlePanMove,
287
- handlePanEnd,
288
- updateFromTranslate,
289
- translateToValue,
290
- onValueChange,
291
- isRTL
292
- ]
293
- ), handleTrackLayout = (event) => {
294
- let { width } = event.nativeEvent.layout, usableWidth = Math.max(width - THUMB_RADIUS * 2, 0);
295
- if (setTrackWidth(usableWidth), usableWidth > 0) {
296
- let translate = valueToTranslate(displayValue, usableWidth);
297
- translateX.setValue(translate), currentTranslateRef.current = translate;
298
- }
299
- }, fillWidth = trackWidth > 0 ? (displayValue - minimumValue) / range * trackWidth : 0, fillStyle = isRTL ? [styles.fillBase, { right: 0, width: fillWidth }] : [styles.fillBase, { left: 0, width: fillWidth }];
300
- return jsx4(SliderContainer, { style, children: jsx4(
301
- View2,
147
+ let latest = useRef(value ?? 0);
148
+ return jsx3(Host, { matchContents: { vertical: !0 }, style, children: jsx3(
149
+ Slider,
302
150
  {
303
- style: styles.touchArea,
304
- onLayout: handleTrackLayout,
305
- ...panResponder.panHandlers,
306
- collapsable: !1,
307
- children: jsxs2(Track, { children: [
308
- jsx4(Fill, { style: fillStyle }),
309
- jsx4(Animated.View, { style: [styles.thumbWrapper, { transform: [{ translateX }] }], children: jsx4(Thumb, {}) })
310
- ] })
151
+ value,
152
+ min: minimumValue,
153
+ max: maximumValue,
154
+ step: step && step > 0 ? step : void 0,
155
+ onValueChange: (next) => {
156
+ latest.current = next, onValueChange?.(next);
157
+ },
158
+ onEditingChanged: (editing) => {
159
+ editing || onSlidingComplete?.(latest.current);
160
+ }
311
161
  }
312
162
  ) });
313
- }, styles = StyleSheet.create({
314
- touchArea: {
315
- height: 48,
316
- justifyContent: "center",
317
- width: "100%",
318
- paddingHorizontal: THUMB_RADIUS
319
- },
320
- thumbWrapper: {
321
- position: "absolute",
322
- top: -THUMB_RADIUS,
323
- left: -THUMB_RADIUS,
324
- pointerEvents: "none"
325
- },
326
- fillBase: {
327
- position: "absolute",
328
- top: 0,
329
- height: 4,
330
- borderRadius: 2
331
- }
332
- }), Slider_default = Slider;
333
-
334
- // src/addon-ondevice-controls/components/SliderWrapper.tsx
335
- import { Platform as Platform2 } from "react-native";
336
- import Slider2 from "@react-native-community/slider";
337
- import { jsx as jsx5 } from "react/jsx-runtime";
338
- var supportedPlatforms = ["android", "ios", "windows", "web"], nativeSliderSupported = supportedPlatforms.includes(Platform2.OS), SliderWrapper = ({ useBuiltInSlider = !1, ...props }) => !nativeSliderSupported || useBuiltInSlider ? jsx5(Slider_default, { ...props }) : jsx5(Slider2, { ...props }), SliderWrapper_default = SliderWrapper;
163
+ }, SliderWrapper_default = SliderWrapper;
339
164
 
340
165
  // src/addon-ondevice-controls/types/Number.tsx
341
- import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
342
- var ValueContainer = styled4.View({ flexDirection: "row" }), LabelText = styled4.Text(({ theme }) => ({
166
+ import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
167
+ var ValueContainer = styled3.View({ flexDirection: "row" }), LabelText = styled3.Text(({ theme }) => ({
343
168
  color: theme.color.mediumdark,
344
169
  fontSize: theme.typography.size.s1
345
- })), ValueText = styled4.Text(({ theme }) => ({
170
+ })), ValueText = styled3.Text(({ theme }) => ({
346
171
  color: theme.color.defaultText,
347
172
  fontSize: theme.typography.size.s1
348
173
  })), getRangeOptions = (arg) => arg.type === "range" ? {
@@ -358,21 +183,21 @@ var ValueContainer = styled4.View({ flexDirection: "row" }), LabelText = styled4
358
183
  max: 100,
359
184
  step: 1
360
185
  }, NumberType = ({ arg, isPristine, onChange = (value) => value }) => {
361
- let showError = Number.isNaN(arg.value), [numStr, setNumStr] = useState4(arg.value?.toString()), updateNumstr = useCallback2(
186
+ let showError = Number.isNaN(arg.value), [numStr, setNumStr] = useState3(arg.value?.toString()), updateNumstr = useCallback(
362
187
  (value) => setNumStr(value?.toString()),
363
188
  []
364
- ), { key, setCurrentValue } = useResyncValue(arg.value, isPristine, updateNumstr), [focused, setFocused] = useState4(!1), handleNormalChangeText = (text) => {
189
+ ), { key, setCurrentValue } = useResyncValue(arg.value, isPristine, updateNumstr), [focused, setFocused] = useState3(!1), handleNormalChangeText = (text) => {
365
190
  let commaReplaced = text.trim().replace(/,/, ".");
366
191
  setNumStr(commaReplaced), commaReplaced === "-" ? (onChange(-1), setCurrentValue(-1)) : (onChange(Number(commaReplaced)), setCurrentValue(Number(commaReplaced)));
367
192
  };
368
193
  if (arg.range || arg.type === "range") {
369
194
  let { min, max, step } = getRangeOptions(arg);
370
- return jsxs3(View3, { children: [
371
- jsxs3(ValueContainer, { children: [
372
- jsx6(LabelText, { children: "Value: " }),
373
- jsx6(ValueText, { children: arg.value })
195
+ return jsxs2(View2, { children: [
196
+ jsxs2(ValueContainer, { children: [
197
+ jsx4(LabelText, { children: "Value: " }),
198
+ jsx4(ValueText, { children: arg.value })
374
199
  ] }),
375
- jsx6(
200
+ jsx4(
376
201
  SliderWrapper_default,
377
202
  {
378
203
  minimumValue: min,
@@ -386,7 +211,7 @@ var ValueContainer = styled4.View({ flexDirection: "row" }), LabelText = styled4
386
211
  )
387
212
  ] }, key);
388
213
  } else
389
- return jsx6(
214
+ return jsx4(
390
215
  Input,
391
216
  {
392
217
  autoCapitalize: "none",
@@ -403,9 +228,9 @@ var ValueContainer = styled4.View({ flexDirection: "row" }), LabelText = styled4
403
228
  }, Number_default = NumberType;
404
229
 
405
230
  // src/addon-ondevice-controls/types/Color.tsx
406
- import { useState as useState6 } from "react";
407
- import { View as View6, TouchableWithoutFeedback, StyleSheet as StyleSheet3, Platform as Platform4, Dimensions } from "react-native";
408
- import { styled as styled5, useTheme } from "@aussieljk/forkbook/internal/react-native-theming";
231
+ import { useState as useState5 } from "react";
232
+ import { View as View5, TouchableWithoutFeedback, StyleSheet as StyleSheet2, Platform as Platform3, Dimensions } from "react-native";
233
+ import { styled as styled4, useTheme } from "@aussieljk/forkbook/internal/react-native-theming";
409
234
 
410
235
  // ../../node_modules/tinycolor2/esm/tinycolor.js
411
236
  function _typeof(obj) {
@@ -1119,7 +944,7 @@ function validateWCAG2Parms(parms) {
1119
944
 
1120
945
  // src/addon-ondevice-controls/components/color-picker/utils.ts
1121
946
  import {
1122
- PanResponder as PanResponder2
947
+ PanResponder
1123
948
  } from "react-native";
1124
949
  function toHsv2(color) {
1125
950
  return tinycolor(color).toHsv();
@@ -1133,7 +958,7 @@ function createPanResponder({
1133
958
  onMove = fn,
1134
959
  onEnd = fn
1135
960
  }) {
1136
- return PanResponder2.create({
961
+ return PanResponder.create({
1137
962
  onStartShouldSetPanResponder: fn,
1138
963
  onStartShouldSetPanResponderCapture: fn,
1139
964
  onMoveShouldSetPanResponder: fn,
@@ -1146,20 +971,20 @@ function createPanResponder({
1146
971
  }
1147
972
 
1148
973
  // src/addon-ondevice-controls/components/color-picker/HoloColorPicker.tsx
1149
- import { useCallback as useCallback3, useEffect as useEffect3, useMemo as useMemo2, useRef as useRef2, useState as useState5 } from "react";
974
+ import { useCallback as useCallback2, useEffect as useEffect2, useMemo, useRef as useRef2, useState as useState4 } from "react";
1150
975
  import {
1151
- I18nManager as I18nManager2,
976
+ I18nManager,
1152
977
  Image,
1153
- StyleSheet as StyleSheet2,
978
+ StyleSheet,
1154
979
  Text,
1155
- View as View4
980
+ View as View3
1156
981
  } from "react-native";
1157
982
 
1158
983
  // src/addon-ondevice-controls/components/color-picker/color-circle.ts
1159
984
  var colorCircle = "data:image/png;base64,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";
1160
985
 
1161
986
  // src/addon-ondevice-controls/components/color-picker/HoloColorPicker.tsx
1162
- import { Fragment, jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
987
+ import { Fragment, jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
1163
988
  var getHsv = (color) => tinycolor(color).toHsv();
1164
989
  function HoloColorPicker({
1165
990
  defaultColor,
@@ -1167,17 +992,17 @@ function HoloColorPicker({
1167
992
  onColorChange,
1168
993
  style
1169
994
  }) {
1170
- let [color, setColor] = useState5(() => getHsv(defaultColor)), [pickerSize, setPickerSize] = useState5(0), colorRef = useRef2(color), pickerSizeRef = useRef2(pickerSize), pickerRef = useRef2(null), pickerPageOffsetRef = useRef2({ x: 0, y: 0 });
1171
- useEffect3(() => {
995
+ let [color, setColor] = useState4(() => getHsv(defaultColor)), [pickerSize, setPickerSize] = useState4(0), colorRef = useRef2(color), pickerSizeRef = useRef2(pickerSize), pickerRef = useRef2(null), pickerPageOffsetRef = useRef2({ x: 0, y: 0 });
996
+ useEffect2(() => {
1172
997
  let nextColor = getHsv(defaultColor);
1173
998
  colorRef.current = nextColor, setColor(nextColor);
1174
999
  }, [defaultColor]);
1175
- let updateColor = useCallback3(
1000
+ let updateColor = useCallback2(
1176
1001
  (nextColor) => {
1177
1002
  colorRef.current = nextColor, setColor(nextColor), onColorChange(nextColor);
1178
1003
  },
1179
1004
  [onColorChange]
1180
- ), handleHueChange = useCallback3(
1005
+ ), handleHueChange = useCallback2(
1181
1006
  ({ x, y }) => {
1182
1007
  let currentPickerSize = pickerSizeRef.current;
1183
1008
  if (!currentPickerSize)
@@ -1186,7 +1011,7 @@ function HoloColorPicker({
1186
1011
  updateColor({ ...colorRef.current, h });
1187
1012
  },
1188
1013
  [updateColor]
1189
- ), pickerResponder = useMemo2(
1014
+ ), pickerResponder = useMemo(
1190
1015
  () => (
1191
1016
  // eslint-disable-next-line react-hooks/refs
1192
1017
  createPanResponder({
@@ -1210,12 +1035,12 @@ function HoloColorPicker({
1210
1035
  indicatorColor,
1211
1036
  oldColor,
1212
1037
  angle: hueToRad(color.h),
1213
- isRTL: I18nManager2.isRTL
1038
+ isRTL: I18nManager.isRTL
1214
1039
  });
1215
- return jsxs4(View4, { style, children: [
1216
- jsx7(View4, { onLayout, style: styles2.pickerContainer, children: pickerSize ? jsxs4(View4, { children: [
1217
- jsxs4(
1218
- View4,
1040
+ return jsxs3(View3, { style, children: [
1041
+ jsx5(View3, { onLayout, style: styles.pickerContainer, children: pickerSize ? jsxs3(View3, { children: [
1042
+ jsxs3(
1043
+ View3,
1219
1044
  {
1220
1045
  ref: pickerRef,
1221
1046
  onLayout: onPickerLayout,
@@ -1223,34 +1048,34 @@ function HoloColorPicker({
1223
1048
  style: computed.picker,
1224
1049
  collapsable: !1,
1225
1050
  children: [
1226
- jsx7(
1051
+ jsx5(
1227
1052
  Image,
1228
1053
  {
1229
1054
  source: { uri: colorCircle },
1230
1055
  resizeMode: "contain",
1231
- style: styles2.pickerImage
1056
+ style: styles.pickerImage
1232
1057
  }
1233
1058
  ),
1234
- jsx7(View4, { style: [styles2.pickerIndicator, computed.pickerIndicator] })
1059
+ jsx5(View3, { style: [styles.pickerIndicator, computed.pickerIndicator] })
1235
1060
  ]
1236
1061
  }
1237
1062
  ),
1238
- oldColor ? jsxs4(Fragment, { children: [
1239
- jsx7(View4, { style: [styles2.selectedPreview, computed.selectedPreview] }),
1240
- jsx7(View4, { style: [styles2.originalPreview, computed.originalPreview] })
1241
- ] }) : jsx7(View4, { style: [styles2.selectedFullPreview, computed.selectedFullPreview] })
1063
+ oldColor ? jsxs3(Fragment, { children: [
1064
+ jsx5(View3, { style: [styles.selectedPreview, computed.selectedPreview] }),
1065
+ jsx5(View3, { style: [styles.originalPreview, computed.originalPreview] })
1066
+ ] }) : jsx5(View3, { style: [styles.selectedFullPreview, computed.selectedFullPreview] })
1242
1067
  ] }) : null }),
1243
- jsxs4(View4, { children: [
1244
- jsx7(Text, { style: styles2.sliderLabel, children: "Saturation" }),
1245
- jsx7(
1068
+ jsxs3(View3, { children: [
1069
+ jsx5(Text, { style: styles.sliderLabel, children: "Saturation" }),
1070
+ jsx5(
1246
1071
  SliderWrapper_default,
1247
1072
  {
1248
1073
  value: color.s,
1249
1074
  onValueChange: (s) => updateColor({ ...colorRef.current, s })
1250
1075
  }
1251
1076
  ),
1252
- jsx7(Text, { style: styles2.sliderLabel, children: "Lightness" }),
1253
- jsx7(
1077
+ jsx5(Text, { style: styles.sliderLabel, children: "Lightness" }),
1078
+ jsx5(
1254
1079
  SliderWrapper_default,
1255
1080
  {
1256
1081
  value: color.v,
@@ -1313,7 +1138,7 @@ var computeHue = (x, y, pickerSize) => {
1313
1138
  backgroundColor: selectedColor
1314
1139
  }
1315
1140
  };
1316
- }, styles2 = StyleSheet2.create({
1141
+ }, styles = StyleSheet.create({
1317
1142
  pickerContainer: {
1318
1143
  flex: 1,
1319
1144
  alignItems: "center",
@@ -1352,15 +1177,15 @@ var computeHue = (x, y, pickerSize) => {
1352
1177
  });
1353
1178
 
1354
1179
  // src/addon-ondevice-controls/components/ModalPortal.tsx
1355
- import { Modal, Platform as Platform3, View as View5 } from "react-native";
1356
- import { jsx as jsx8 } from "react/jsx-runtime";
1357
- var modalSupported = Platform3.OS !== "macos", ModalPortal = ({
1180
+ import { Modal, Platform as Platform2, View as View4 } from "react-native";
1181
+ import { jsx as jsx6 } from "react/jsx-runtime";
1182
+ var modalSupported = Platform2.OS !== "macos", ModalPortal = ({
1358
1183
  children,
1359
1184
  visible,
1360
1185
  usePortal,
1361
1186
  ...props
1362
- }) => modalSupported && !usePortal ? jsx8(Modal, { visible, ...props, children }) : visible ? jsx8(Portal, { hostName: "storybook-lite-ui-root", children: jsx8(
1363
- View5,
1187
+ }) => modalSupported && !usePortal ? jsx6(Modal, { visible, ...props, children }) : visible ? jsx6(Portal, { hostName: "storybook-lite-ui-root", children: jsx6(
1188
+ View4,
1364
1189
  {
1365
1190
  style: {
1366
1191
  flex: 1,
@@ -1376,8 +1201,8 @@ var modalSupported = Platform3.OS !== "macos", ModalPortal = ({
1376
1201
  ) }) : null;
1377
1202
 
1378
1203
  // src/addon-ondevice-controls/types/Color.tsx
1379
- import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
1380
- var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1204
+ import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
1205
+ var TouchableContainer = styled4.TouchableOpacity(({ theme }) => ({
1381
1206
  width: 44,
1382
1207
  height: 44,
1383
1208
  borderWidth: 1,
@@ -1387,12 +1212,12 @@ var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1387
1212
  backgroundColor: theme.background.content,
1388
1213
  justifyContent: "center",
1389
1214
  alignItems: "center"
1390
- })), Touchable = styled5.View(({ color }) => ({
1215
+ })), Touchable = styled4.View(({ color }) => ({
1391
1216
  width: 38,
1392
1217
  height: 38,
1393
1218
  borderRadius: 4,
1394
1219
  backgroundColor: color
1395
- })), ButtonTouchable = styled5.TouchableOpacity(({ theme, primary }) => ({
1220
+ })), ButtonTouchable = styled4.TouchableOpacity(({ theme, primary }) => ({
1396
1221
  backgroundColor: primary ? theme.color.secondary : theme.button.background,
1397
1222
  borderRadius: 6,
1398
1223
  borderWidth: 1,
@@ -1402,19 +1227,19 @@ var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1402
1227
  paddingHorizontal: 28,
1403
1228
  justifyContent: "center",
1404
1229
  alignItems: "center"
1405
- })), ButtonText = styled5.Text(({ theme, primary }) => ({
1230
+ })), ButtonText = styled4.Text(({ theme, primary }) => ({
1406
1231
  color: primary ? theme.color.lightest : theme.input.color,
1407
1232
  fontSize: theme.typography.size.s2,
1408
1233
  fontWeight: theme.typography.weight.bold
1409
1234
  })), controlHitSlop = { top: 16, right: 16, bottom: 16, left: 16 }, buttonHitSlop = { top: 10, right: 10, bottom: 10, left: 10 }, ColorType = ({ arg, onChange = (value) => value }) => {
1410
- let [displayColorPicker, setDisplayColorPicker] = useState6(!1), [currentColor, setCurrentColor] = useState6(() => toHsv2(arg.value)), theme = useTheme(), openColorPicker = () => {
1235
+ let [displayColorPicker, setDisplayColorPicker] = useState5(!1), [currentColor, setCurrentColor] = useState5(() => toHsv2(arg.value)), theme = useTheme(), openColorPicker = () => {
1411
1236
  setCurrentColor(toHsv2(arg.value)), setDisplayColorPicker(!0);
1412
1237
  }, closeColorPicker = () => {
1413
1238
  setDisplayColorPicker(!1);
1414
1239
  }, onChangeColor = (color) => {
1415
1240
  onChange(fromHsv(color));
1416
1241
  };
1417
- return Platform4.OS === "web" ? jsx9(
1242
+ return Platform3.OS === "web" ? jsx7(
1418
1243
  "input",
1419
1244
  {
1420
1245
  type: "color",
@@ -1433,9 +1258,9 @@ var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1433
1258
  backgroundColor: theme.background.content
1434
1259
  }
1435
1260
  }
1436
- ) : jsxs5(View6, { children: [
1437
- jsx9(TouchableContainer, { onPress: openColorPicker, hitSlop: controlHitSlop, activeOpacity: 0.7, children: jsx9(Touchable, { color: arg.value }) }),
1438
- jsxs5(
1261
+ ) : jsxs4(View5, { children: [
1262
+ jsx7(TouchableContainer, { onPress: openColorPicker, hitSlop: controlHitSlop, activeOpacity: 0.7, children: jsx7(Touchable, { color: arg.value }) }),
1263
+ jsxs4(
1439
1264
  ModalPortal,
1440
1265
  {
1441
1266
  supportedOrientations: ["portrait", "landscape"],
@@ -1444,21 +1269,21 @@ var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1444
1269
  onRequestClose: closeColorPicker,
1445
1270
  animationType: "fade",
1446
1271
  children: [
1447
- jsx9(TouchableWithoutFeedback, { onPress: closeColorPicker, children: jsx9(View6, { style: styles3.modalOverlay }) }),
1448
- jsx9(View6, { style: styles3.centerContainer, children: jsxs5(InnerContainer, { children: [
1449
- jsx9(
1272
+ jsx7(TouchableWithoutFeedback, { onPress: closeColorPicker, children: jsx7(View5, { style: styles2.modalOverlay }) }),
1273
+ jsx7(View5, { style: styles2.centerContainer, children: jsxs4(InnerContainer, { children: [
1274
+ jsx7(
1450
1275
  HoloColorPicker,
1451
1276
  {
1452
1277
  onColorChange: (color) => setCurrentColor(color),
1453
1278
  defaultColor: arg.value,
1454
1279
  oldColor: arg.value,
1455
- style: styles3.picker
1280
+ style: styles2.picker
1456
1281
  }
1457
1282
  ),
1458
- jsxs5(View6, { style: styles3.actionContainer, children: [
1459
- jsx9(ButtonTouchable, { onPress: closeColorPicker, hitSlop: buttonHitSlop, children: jsx9(ButtonText, { children: "Cancel" }) }),
1460
- jsx9(View6, { style: { width: 12 } }),
1461
- jsx9(
1283
+ jsxs4(View5, { style: styles2.actionContainer, children: [
1284
+ jsx7(ButtonTouchable, { onPress: closeColorPicker, hitSlop: buttonHitSlop, children: jsx7(ButtonText, { children: "Cancel" }) }),
1285
+ jsx7(View5, { style: { width: 12 } }),
1286
+ jsx7(
1462
1287
  ButtonTouchable,
1463
1288
  {
1464
1289
  primary: !0,
@@ -1466,7 +1291,7 @@ var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1466
1291
  onPress: () => {
1467
1292
  onChangeColor(currentColor), closeColorPicker();
1468
1293
  },
1469
- children: jsx9(ButtonText, { primary: !0, children: "Select" })
1294
+ children: jsx7(ButtonText, { primary: !0, children: "Select" })
1470
1295
  }
1471
1296
  )
1472
1297
  ] })
@@ -1475,7 +1300,7 @@ var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1475
1300
  }
1476
1301
  )
1477
1302
  ] });
1478
- }, InnerContainer = styled5.View(({ theme }) => ({
1303
+ }, InnerContainer = styled4.View(({ theme }) => ({
1479
1304
  backgroundColor: theme.background.content,
1480
1305
  borderWidth: 1,
1481
1306
  borderColor: theme.appBorderColor,
@@ -1487,7 +1312,7 @@ var TouchableContainer = styled5.TouchableOpacity(({ theme }) => ({
1487
1312
  maxHeight: Dimensions.get("screen").height - 48,
1488
1313
  boxShadow: "0px 0px 16px 0px rgba(0, 0, 0, 0.2)",
1489
1314
  elevation: 10
1490
- })), styles3 = StyleSheet3.create({
1315
+ })), styles2 = StyleSheet2.create({
1491
1316
  actionContainer: {
1492
1317
  paddingTop: 8,
1493
1318
  alignItems: "flex-end",
@@ -1516,26 +1341,26 @@ var Color_default = ColorType;
1516
1341
 
1517
1342
  // src/addon-ondevice-controls/types/Boolean.tsx
1518
1343
  import { Switch } from "react-native";
1519
- import { styled as styled6 } from "@aussieljk/forkbook/internal/react-native-theming";
1520
- import { jsx as jsx10 } from "react/jsx-runtime";
1521
- var Container = styled6.View(() => ({
1344
+ import { styled as styled5 } from "@aussieljk/forkbook/internal/react-native-theming";
1345
+ import { jsx as jsx8 } from "react/jsx-runtime";
1346
+ var Container = styled5.View(() => ({
1522
1347
  alignItems: "flex-start"
1523
- })), BooleanType = ({ arg, onChange }) => jsx10(Container, { children: jsx10(Switch, { testID: arg.name, onValueChange: () => onChange(!arg.value), value: arg.value }) });
1348
+ })), BooleanType = ({ arg, onChange }) => jsx8(Container, { children: jsx8(Switch, { testID: arg.name, onValueChange: () => onChange(!arg.value), value: arg.value }) });
1524
1349
  BooleanType.serialize = (value) => value ? String(value) : null;
1525
1350
  BooleanType.deserialize = (value) => value === "true";
1526
1351
  var Boolean_default = BooleanType;
1527
1352
 
1528
1353
  // src/addon-ondevice-controls/types/Object.tsx
1529
- import { useCallback as useCallback4, useState as useState7 } from "react";
1530
- import { jsx as jsx11 } from "react/jsx-runtime";
1354
+ import { useCallback as useCallback3, useState as useState6 } from "react";
1355
+ import { jsx as jsx9 } from "react/jsx-runtime";
1531
1356
  var ObjectType = ({ arg, onChange, isPristine }) => {
1532
- let getJsonString = useCallback4(() => {
1357
+ let getJsonString = useCallback3(() => {
1533
1358
  try {
1534
1359
  return JSON.stringify(arg.value, null, 2);
1535
1360
  } catch {
1536
1361
  return "";
1537
1362
  }
1538
- }, [arg.value]), [failed, setFailed] = useState7(!1), { key, setCurrentValue } = useResyncValue(arg.value, isPristine), [focused, setFocused] = useState7(!1), handleChange = (value) => {
1363
+ }, [arg.value]), [failed, setFailed] = useState6(!1), { key, setCurrentValue } = useResyncValue(arg.value, isPristine), [focused, setFocused] = useState6(!1), handleChange = (value) => {
1539
1364
  let withReplacedQuotes = value.replace(/[\u2018\u2019]/g, "'").replace(/[\u201C\u201D]/g, '"');
1540
1365
  try {
1541
1366
  let json = JSON.parse(withReplacedQuotes.trim());
@@ -1544,7 +1369,7 @@ var ObjectType = ({ arg, onChange, isPristine }) => {
1544
1369
  setFailed(!0);
1545
1370
  }
1546
1371
  }, extraStyle = failed ? { minHeight: 60, borderWidth: 1, borderColor: "#fadddd", backgroundColor: "#fff5f5" } : { minHeight: 60 };
1547
- return jsx11(
1372
+ return jsx9(
1548
1373
  Input,
1549
1374
  {
1550
1375
  testID: arg.name,
@@ -1567,22 +1392,22 @@ var Object_default = ObjectType;
1567
1392
 
1568
1393
  // src/addon-ondevice-controls/types/Select.tsx
1569
1394
  import { useTheme as useTheme2 } from "@aussieljk/forkbook/internal/react-native-theming";
1570
- import { useMemo as useMemo4 } from "react";
1571
- import { Platform as Platform5, View as View8 } from "react-native";
1395
+ import { useMemo as useMemo3 } from "react";
1396
+ import { Platform as Platform4, View as View7 } from "react-native";
1572
1397
 
1573
1398
  // src/addon-ondevice-controls/components/SelectModal.tsx
1574
- import { styled as styled7 } from "@aussieljk/forkbook/internal/react-native-theming";
1575
- import { useCallback as useCallback5, useEffect as useEffect4, useMemo as useMemo3, useState as useState8 } from "react";
1399
+ import { styled as styled6 } from "@aussieljk/forkbook/internal/react-native-theming";
1400
+ import { useCallback as useCallback4, useEffect as useEffect3, useMemo as useMemo2, useState as useState7 } from "react";
1576
1401
  import {
1577
1402
  ScrollView,
1578
- StyleSheet as StyleSheet4,
1403
+ StyleSheet as StyleSheet3,
1579
1404
  TouchableOpacity,
1580
1405
  TouchableWithoutFeedback as TouchableWithoutFeedback2,
1581
1406
  useWindowDimensions,
1582
- View as View7
1407
+ View as View6
1583
1408
  } from "react-native";
1584
- import { jsx as jsx12, jsxs as jsxs6 } from "react/jsx-runtime";
1585
- var styles4 = StyleSheet4.create({
1409
+ import { jsx as jsx10, jsxs as jsxs5 } from "react/jsx-runtime";
1410
+ var styles3 = StyleSheet3.create({
1586
1411
  overlay: {
1587
1412
  flex: 1,
1588
1413
  padding: "5%",
@@ -1636,7 +1461,7 @@ var styles4 = StyleSheet4.create({
1636
1461
  triggerContent: {
1637
1462
  pointerEvents: "none"
1638
1463
  }
1639
- }), Dialog = styled7.View(({ theme, maxHeight }) => ({
1464
+ }), Dialog = styled6.View(({ theme, maxHeight }) => ({
1640
1465
  maxHeight,
1641
1466
  marginHorizontal: 24,
1642
1467
  backgroundColor: theme.background.content,
@@ -1646,18 +1471,18 @@ var styles4 = StyleSheet4.create({
1646
1471
  overflow: "hidden",
1647
1472
  boxShadow: `0px 8px 24px 0px ${theme.color.border}`,
1648
1473
  elevation: 10
1649
- })), OptionButton = styled7.View(({ theme, selected }) => ({
1474
+ })), OptionButton = styled6.View(({ theme, selected }) => ({
1650
1475
  borderBottomColor: theme.appBorderColor,
1651
1476
  backgroundColor: selected ? theme.color.secondary : void 0
1652
- })), OptionLabel = styled7.Text(({ theme, selected }) => ({
1477
+ })), OptionLabel = styled6.Text(({ theme, selected }) => ({
1653
1478
  color: selected ? theme.color.lightest : theme.color.defaultText,
1654
1479
  fontSize: theme.typography.size.s2,
1655
1480
  fontWeight: selected ? theme.typography.weight.bold : "normal"
1656
- })), Checkmark = styled7.Text(({ theme }) => ({
1481
+ })), Checkmark = styled6.Text(({ theme }) => ({
1657
1482
  color: theme.color.lightest
1658
- })), Footer = styled7.View(({ theme }) => ({
1483
+ })), Footer = styled6.View(({ theme }) => ({
1659
1484
  backgroundColor: theme.barBg
1660
- })), FooterButton = styled7.View(({ theme, primary }) => ({
1485
+ })), FooterButton = styled6.View(({ theme, primary }) => ({
1661
1486
  minHeight: 32,
1662
1487
  borderRadius: theme.input.borderRadius,
1663
1488
  backgroundColor: primary ? theme.color.secondary : theme.button.background,
@@ -1666,7 +1491,7 @@ var styles4 = StyleSheet4.create({
1666
1491
  alignItems: "center",
1667
1492
  justifyContent: "center",
1668
1493
  paddingHorizontal: 12
1669
- })), FooterButtonText = styled7.Text(({ theme, primary }) => ({
1494
+ })), FooterButtonText = styled6.Text(({ theme, primary }) => ({
1670
1495
  color: primary ? theme.color.lightest : theme.input.color,
1671
1496
  fontSize: theme.typography.size.s1,
1672
1497
  fontWeight: theme.typography.weight.bold
@@ -1677,15 +1502,15 @@ var styles4 = StyleSheet4.create({
1677
1502
  onChange,
1678
1503
  children
1679
1504
  }) => {
1680
- let { height } = useWindowDimensions(), [visible, setVisible] = useState8(!1), [selectedKeys, setSelectedKeys] = useState8(() => valueKeys(value, multiple));
1681
- useEffect4(() => {
1505
+ let { height } = useWindowDimensions(), [visible, setVisible] = useState7(!1), [selectedKeys, setSelectedKeys] = useState7(() => valueKeys(value, multiple));
1506
+ useEffect3(() => {
1682
1507
  setSelectedKeys(valueKeys(value, multiple));
1683
1508
  }, [multiple, value]);
1684
- let selectedKeySet = useMemo3(() => new Set(selectedKeys), [selectedKeys]), close = useCallback5(() => {
1509
+ let selectedKeySet = useMemo2(() => new Set(selectedKeys), [selectedKeys]), close = useCallback4(() => {
1685
1510
  setVisible(!1);
1686
- }, []), open = useCallback5(() => {
1511
+ }, []), open = useCallback4(() => {
1687
1512
  setSelectedKeys(valueKeys(value, multiple)), setVisible(!0);
1688
- }, [multiple, value]), selectOption = useCallback5(
1513
+ }, [multiple, value]), selectOption = useCallback4(
1689
1514
  (option) => {
1690
1515
  let key = optionKey(option);
1691
1516
  if (!multiple) {
@@ -1697,13 +1522,13 @@ var styles4 = StyleSheet4.create({
1697
1522
  );
1698
1523
  },
1699
1524
  [close, multiple, onChange]
1700
- ), commitMultiSelect = useCallback5(() => {
1525
+ ), commitMultiSelect = useCallback4(() => {
1701
1526
  onChange(
1702
1527
  options.filter((option) => selectedKeys.includes(optionKey(option))).map((option) => option.key)
1703
1528
  ), close();
1704
1529
  }, [close, onChange, options, selectedKeys]);
1705
- return jsxs6(View7, { children: [
1706
- jsx12(
1530
+ return jsxs5(View6, { children: [
1531
+ jsx10(
1707
1532
  ModalPortal,
1708
1533
  {
1709
1534
  transparent: !0,
@@ -1711,29 +1536,29 @@ var styles4 = StyleSheet4.create({
1711
1536
  visible,
1712
1537
  onRequestClose: close,
1713
1538
  animationType: "none",
1714
- children: jsx12(TouchableWithoutFeedback2, { accessible: !1, onPress: close, children: jsx12(View7, { style: styles4.overlay, children: jsx12(TouchableWithoutFeedback2, { accessible: !1, children: jsxs6(Dialog, { maxHeight: height * 0.75, children: [
1715
- jsx12(
1539
+ children: jsx10(TouchableWithoutFeedback2, { accessible: !1, onPress: close, children: jsx10(View6, { style: styles3.overlay, children: jsx10(TouchableWithoutFeedback2, { accessible: !1, children: jsxs5(Dialog, { maxHeight: height * 0.75, children: [
1540
+ jsx10(
1716
1541
  ScrollView,
1717
1542
  {
1718
- contentContainerStyle: styles4.scrollContent,
1543
+ contentContainerStyle: styles3.scrollContent,
1719
1544
  keyboardShouldPersistTaps: "always",
1720
1545
  children: options.map((option, index) => {
1721
1546
  let key = optionKey(option), selected = selectedKeySet.has(key);
1722
- return jsx12(
1547
+ return jsx10(
1723
1548
  TouchableOpacity,
1724
1549
  {
1725
1550
  testID: `select-modal-${option.label}`,
1726
1551
  activeOpacity: 0.7,
1727
1552
  accessibilityLabel: option.label,
1728
1553
  onPress: () => selectOption(option),
1729
- children: jsx12(
1554
+ children: jsx10(
1730
1555
  OptionButton,
1731
1556
  {
1732
1557
  selected,
1733
- style: [styles4.option, index === options.length - 1 && styles4.lastOption],
1734
- children: jsxs6(View7, { style: styles4.optionContent, children: [
1735
- jsx12(OptionLabel, { selected, style: styles4.optionText, children: option.label }),
1736
- jsx12(View7, { style: styles4.indicator, children: selected && jsx12(Checkmark, { style: styles4.checkmark, children: "\u2713" }) })
1558
+ style: [styles3.option, index === options.length - 1 && styles3.lastOption],
1559
+ children: jsxs5(View6, { style: styles3.optionContent, children: [
1560
+ jsx10(OptionLabel, { selected, style: styles3.optionText, children: option.label }),
1561
+ jsx10(View6, { style: styles3.indicator, children: selected && jsx10(Checkmark, { style: styles3.checkmark, children: "\u2713" }) })
1737
1562
  ] })
1738
1563
  }
1739
1564
  )
@@ -1743,26 +1568,26 @@ var styles4 = StyleSheet4.create({
1743
1568
  })
1744
1569
  }
1745
1570
  ),
1746
- multiple && jsx12(Footer, { style: [styles4.footer, styles4.doneFooter], children: jsx12(TouchableOpacity, { activeOpacity: 0.7, onPress: commitMultiSelect, children: jsx12(FooterButton, { primary: !0, children: jsx12(FooterButtonText, { primary: !0, style: styles4.buttonText, children: "Done" }) }) }) }),
1747
- jsx12(Footer, { style: [styles4.footer, multiple && styles4.cancelFooter], children: jsx12(TouchableOpacity, { activeOpacity: 0.7, onPress: close, children: jsx12(FooterButton, { children: jsx12(FooterButtonText, { style: styles4.buttonText, children: "Cancel" }) }) }) })
1571
+ multiple && jsx10(Footer, { style: [styles3.footer, styles3.doneFooter], children: jsx10(TouchableOpacity, { activeOpacity: 0.7, onPress: commitMultiSelect, children: jsx10(FooterButton, { primary: !0, children: jsx10(FooterButtonText, { primary: !0, style: styles3.buttonText, children: "Done" }) }) }) }),
1572
+ jsx10(Footer, { style: [styles3.footer, multiple && styles3.cancelFooter], children: jsx10(TouchableOpacity, { activeOpacity: 0.7, onPress: close, children: jsx10(FooterButton, { children: jsx10(FooterButtonText, { style: styles3.buttonText, children: "Cancel" }) }) }) })
1748
1573
  ] }) }) }) })
1749
1574
  }
1750
1575
  ),
1751
- jsx12(TouchableOpacity, { activeOpacity: 0.7, onPress: open, children: jsx12(View7, { style: styles4.triggerContent, children }) })
1576
+ jsx10(TouchableOpacity, { activeOpacity: 0.7, onPress: open, children: jsx10(View6, { style: styles3.triggerContent, children }) })
1752
1577
  ] });
1753
1578
  };
1754
1579
 
1755
1580
  // src/addon-ondevice-controls/types/Select.tsx
1756
- import { jsx as jsx13 } from "react/jsx-runtime";
1581
+ import { jsx as jsx11 } from "react/jsx-runtime";
1757
1582
  var getOptions = (options, labels) => Array.isArray(options) ? options.map((val) => ({ key: val, label: String(labels?.[val] || val) })) : Object.keys(options).map((key) => ({
1758
1583
  label: String(key),
1759
1584
  key: options[key]
1760
1585
  })), SelectType = ({ arg, onChange }) => {
1761
- let { value } = arg, options = useMemo4(
1586
+ let { value } = arg, options = useMemo3(
1762
1587
  () => getOptions(arg.options, arg.control.labels),
1763
1588
  [arg.control.labels, arg.options]
1764
1589
  ), theme = useTheme2(), selected = options.find(({ key }) => value === key)?.label ?? "";
1765
- return Platform5.OS === "web" ? jsx13(
1590
+ return Platform4.OS === "web" ? jsx11(
1766
1591
  "select",
1767
1592
  {
1768
1593
  value,
@@ -1776,9 +1601,9 @@ var getOptions = (options, labels) => Array.isArray(options) ? options.map((val)
1776
1601
  },
1777
1602
  multiple: arg.type === "multi-select",
1778
1603
  style: inputStyle({ theme }),
1779
- children: options.map(({ label, key }) => jsx13("option", { value: key, children: label }, `${label}-${key}`))
1604
+ children: options.map(({ label, key }) => jsx11("option", { value: key, children: label }, `${label}-${key}`))
1780
1605
  }
1781
- ) : jsx13(View8, { children: arg.type === "multi-select" ? jsx13(SelectModal, { options, value, multiple: !0, onChange, children: jsx13(
1606
+ ) : jsx11(View7, { children: arg.type === "multi-select" ? jsx11(SelectModal, { options, value, multiple: !0, onChange, children: jsx11(
1782
1607
  Input,
1783
1608
  {
1784
1609
  editable: !1,
@@ -1786,7 +1611,7 @@ var getOptions = (options, labels) => Array.isArray(options) ? options.map((val)
1786
1611
  autoCapitalize: "none",
1787
1612
  underlineColorAndroid: "transparent"
1788
1613
  }
1789
- ) }) : jsx13(SelectModal, { options, value, onChange, children: jsx13(
1614
+ ) }) : jsx11(SelectModal, { options, value, onChange, children: jsx11(
1790
1615
  Input,
1791
1616
  {
1792
1617
  editable: !1,
@@ -1798,42 +1623,20 @@ var getOptions = (options, labels) => Array.isArray(options) ? options.map((val)
1798
1623
  }, Select_default = SelectType;
1799
1624
 
1800
1625
  // src/addon-ondevice-controls/types/Date.tsx
1801
- import { useTheme as useTheme3 } from "@aussieljk/forkbook/internal/react-native-theming";
1802
- import DateTimePicker from "@react-native-community/datetimepicker";
1803
- import { useMemo as useMemo5 } from "react";
1804
- import { Platform as Platform6, View as View9 } from "react-native";
1805
- import { jsx as jsx14 } from "react/jsx-runtime";
1626
+ import { DatePicker, Host as Host2 } from "@expo/ui/swift-ui";
1627
+ import { useMemo as useMemo4 } from "react";
1628
+ import { jsx as jsx12 } from "react/jsx-runtime";
1806
1629
  var DateType = ({ onChange, arg: { name, value } }) => {
1807
- let theme = useTheme3(), date = useMemo5(() => {
1630
+ let date = useMemo4(() => {
1808
1631
  let dateValue = new Date(value);
1809
1632
  return isNaN(dateValue.valueOf()) ? /* @__PURE__ */ new Date() : dateValue;
1810
- }, [value]), webDateString = useMemo5(
1811
- () => `${date.getFullYear()}-${`${date.getMonth() + 1}`.padStart(2, "0")}-${`${date.getDate()}`.padStart(
1812
- 2,
1813
- "0"
1814
- )}T${`${date.getHours()}`.padStart(2, "0")}:${`${date.getMinutes()}`.padStart(2, "0")}`,
1815
- [date]
1816
- );
1817
- return Platform6.OS === "web" ? jsx14(View9, { testID: name, children: jsx14(
1818
- "input",
1633
+ }, [value]);
1634
+ return jsx12(Host2, { matchContents: !0, testID: name, children: jsx12(
1635
+ DatePicker,
1819
1636
  {
1820
- type: "datetime-local",
1821
- defaultValue: webDateString,
1822
- onChange: (e) => {
1823
- let target = e.currentTarget, newDate = new Date(target.value);
1824
- onChange(newDate);
1825
- },
1826
- style: inputStyle({ theme })
1827
- }
1828
- ) }) : jsx14(View9, { testID: name, children: jsx14(
1829
- DateTimePicker,
1830
- {
1831
- value: date,
1832
- mode: "datetime",
1833
- display: "compact",
1834
- onChange: (_event, picked) => {
1835
- picked && onChange(picked);
1836
- }
1637
+ selection: date,
1638
+ displayedComponents: ["date", "hourAndMinute"],
1639
+ onDateChange: onChange
1837
1640
  }
1838
1641
  ) });
1839
1642
  };
@@ -1842,8 +1645,8 @@ DateType.deserialize = (value) => parseFloat(value);
1842
1645
  var Date_default = DateType;
1843
1646
 
1844
1647
  // src/addon-ondevice-controls/types/Array.tsx
1845
- import { useState as useState9 } from "react";
1846
- import { jsx as jsx15 } from "react/jsx-runtime";
1648
+ import { useState as useState8 } from "react";
1649
+ import { jsx as jsx13 } from "react/jsx-runtime";
1847
1650
  function formatArray(value, separator) {
1848
1651
  return value === "" ? [] : value.split(separator);
1849
1652
  }
@@ -1852,8 +1655,8 @@ var ArrayType = ({
1852
1655
  onChange = () => null,
1853
1656
  isPristine
1854
1657
  }) => {
1855
- let { setCurrentValue, key } = useResyncValue(value, isPristine), [focused, setFocused] = useState9(!1);
1856
- return jsx15(
1658
+ let { setCurrentValue, key } = useResyncValue(value, isPristine), [focused, setFocused] = useState8(!1);
1659
+ return jsx13(
1857
1660
  Input,
1858
1661
  {
1859
1662
  testID: name,
@@ -1876,23 +1679,23 @@ ArrayType.deserialize = (value) => Array.isArray(value) ? value : Object.keys(va
1876
1679
  var Array_default = ArrayType;
1877
1680
 
1878
1681
  // src/addon-ondevice-controls/types/Radio.tsx
1879
- import React2 from "react";
1682
+ import React from "react";
1880
1683
 
1881
1684
  // src/addon-ondevice-controls/components/RadioSelect.tsx
1882
- import { styled as styled8 } from "@aussieljk/forkbook/internal/react-native-theming";
1883
- import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1884
- var radioHitSlop = { top: 8, right: 12, bottom: 8, left: 12 }, RadioContainer = styled8.View(({ isInline }) => ({
1685
+ import { styled as styled7 } from "@aussieljk/forkbook/internal/react-native-theming";
1686
+ import { jsx as jsx14, jsxs as jsxs6 } from "react/jsx-runtime";
1687
+ var radioHitSlop = { top: 8, right: 12, bottom: 8, left: 12 }, RadioContainer = styled7.View(({ isInline }) => ({
1885
1688
  flexDirection: isInline ? "row" : "column",
1886
1689
  alignItems: isInline ? "center" : "flex-start",
1887
1690
  flexWrap: "wrap",
1888
1691
  gap: isInline ? 8 : 2
1889
- })), RadioTouchable = styled8.TouchableOpacity(({ isInline }) => ({
1692
+ })), RadioTouchable = styled7.TouchableOpacity(({ isInline }) => ({
1890
1693
  alignItems: "center",
1891
1694
  flexDirection: "row",
1892
1695
  minHeight: isInline ? 36 : 32,
1893
1696
  paddingVertical: isInline ? 4 : 2,
1894
1697
  paddingRight: 6
1895
- })), RadioCircle = styled8.View(({ theme }) => ({
1698
+ })), RadioCircle = styled7.View(({ theme }) => ({
1896
1699
  width: 20,
1897
1700
  height: 20,
1898
1701
  borderWidth: 2,
@@ -1901,16 +1704,16 @@ var radioHitSlop = { top: 8, right: 12, bottom: 8, left: 12 }, RadioContainer =
1901
1704
  backgroundColor: theme.background.content,
1902
1705
  alignItems: "center",
1903
1706
  justifyContent: "center"
1904
- })), RadioInnerCircle = styled8.View(({ theme, selected }) => ({
1707
+ })), RadioInnerCircle = styled7.View(({ theme, selected }) => ({
1905
1708
  width: 10,
1906
1709
  height: 10,
1907
1710
  borderRadius: 5,
1908
1711
  backgroundColor: selected ? theme.color.positive : theme.background.content
1909
- })), RadioLabel = styled8.Text(({ theme }) => ({
1712
+ })), RadioLabel = styled7.Text(({ theme }) => ({
1910
1713
  fontSize: theme.typography.size.s1 + 1,
1911
1714
  paddingStart: 12,
1912
1715
  color: theme.color.defaultText
1913
- })), RadioSelect = ({ data = [], value = "", onChange, isInline }) => jsx16(RadioContainer, { isInline, children: data.map((item) => jsxs7(
1716
+ })), RadioSelect = ({ data = [], value = "", onChange, isInline }) => jsx14(RadioContainer, { isInline, children: data.map((item) => jsxs6(
1914
1717
  RadioTouchable,
1915
1718
  {
1916
1719
  isInline,
@@ -1922,24 +1725,24 @@ var radioHitSlop = { top: 8, right: 12, bottom: 8, left: 12 }, RadioContainer =
1922
1725
  onChange(item);
1923
1726
  },
1924
1727
  children: [
1925
- jsx16(RadioCircle, { children: jsx16(RadioInnerCircle, { selected: value === item.key }) }),
1926
- jsx16(RadioLabel, { children: item.label })
1728
+ jsx14(RadioCircle, { children: jsx14(RadioInnerCircle, { selected: value === item.key }) }),
1729
+ jsx14(RadioLabel, { children: item.label })
1927
1730
  ]
1928
1731
  },
1929
1732
  item.label
1930
1733
  )) }), RadioSelect_default = RadioSelect;
1931
1734
 
1932
1735
  // src/addon-ondevice-controls/types/Radio.tsx
1933
- import { jsx as jsx17 } from "react/jsx-runtime";
1736
+ import { jsx as jsx15 } from "react/jsx-runtime";
1934
1737
  var getOptions2 = (arg) => arg.options ? arg.options : arg.control?.options ? arg.control.options : [], RadioType = ({ onChange, arg }) => {
1935
- let data = React2.useMemo(() => {
1738
+ let data = React.useMemo(() => {
1936
1739
  let options = getOptions2(arg);
1937
1740
  return Array.isArray(options) ? arg.control?.labels && Array.isArray(arg.control.labels) ? options.map((val, i) => ({ key: val, label: arg.control?.labels?.at(i) ?? val })) : options.map((val) => ({ key: val, label: val })) : Object.keys(options).map((key) => ({
1938
1741
  label: key,
1939
1742
  key: options[key]
1940
1743
  }));
1941
- }, [arg]), onChangeOption = React2.useCallback((option) => onChange(option.key), [onChange]);
1942
- return jsx17(
1744
+ }, [arg]), onChangeOption = React.useCallback((option) => onChange(option.key), [onChange]);
1745
+ return jsx15(
1943
1746
  RadioSelect_default,
1944
1747
  {
1945
1748
  isInline: arg.type === "inline-radio",
@@ -1970,29 +1773,29 @@ var types_default = {
1970
1773
  };
1971
1774
 
1972
1775
  // src/addon-ondevice-controls/PropField.tsx
1973
- import { jsx as jsx18, jsxs as jsxs8 } from "react/jsx-runtime";
1974
- var InvalidTypeText = styled9.Text(({ theme }) => ({
1776
+ import { jsx as jsx16, jsxs as jsxs7 } from "react/jsx-runtime";
1777
+ var InvalidTypeText = styled8.Text(({ theme }) => ({
1975
1778
  color: theme.color.negative
1976
- })), InvalidType = ({ arg }) => jsxs8(InvalidTypeText, { children: [
1779
+ })), InvalidType = ({ arg }) => jsxs7(InvalidTypeText, { children: [
1977
1780
  "Invalid type: ",
1978
1781
  arg.type
1979
1782
  ] }), PropField = ({ onChange, arg, isPristine }) => {
1980
1783
  let InputType = types_default[arg.type];
1981
- return InputType ? jsx18(InputType, { arg, isPristine, onChange }) : jsx18(InvalidType, { arg });
1784
+ return InputType ? jsx16(InputType, { arg, isPristine, onChange }) : jsx16(InvalidType, { arg });
1982
1785
  }, PropField_default = PropField;
1983
1786
 
1984
1787
  // src/addon-ondevice-controls/PropForm.tsx
1985
- import { Image as Image2, TouchableOpacity as TouchableOpacity2, View as View10 } from "react-native";
1986
- import { jsx as jsx19, jsxs as jsxs9 } from "react/jsx-runtime";
1987
- var Container2 = styled10.View(() => ({ paddingTop: 0 })), Label = styled10.Text(({ theme }) => ({
1788
+ import { Image as Image2, TouchableOpacity as TouchableOpacity2, View as View8 } from "react-native";
1789
+ import { jsx as jsx17, jsxs as jsxs8 } from "react/jsx-runtime";
1790
+ var Container2 = styled9.View(() => ({ paddingTop: 0 })), Label = styled9.Text(({ theme }) => ({
1988
1791
  fontSize: theme.typography.size.s2 - 1,
1989
1792
  fontWeight: "bold",
1990
1793
  color: theme.color.defaultText
1991
- })), TableHeaderText = styled10.Text(({ theme }) => ({
1794
+ })), TableHeaderText = styled9.Text(({ theme }) => ({
1992
1795
  fontWeight: "bold",
1993
1796
  fontSize: theme.typography.size.s2 - 1,
1994
1797
  color: theme.base === "light" ? curriedTransparentize$1(0.25, theme.color.defaultText) : curriedTransparentize$1(0.45, theme.color.defaultText)
1995
- })), TableRow = styled10.View(({ theme, hasBottomBorder }) => ({
1798
+ })), TableRow = styled9.View(({ theme, hasBottomBorder }) => ({
1996
1799
  flexDirection: "row",
1997
1800
  columnGap: 10,
1998
1801
  paddingVertical: 10,
@@ -2003,11 +1806,11 @@ var Container2 = styled10.View(() => ({ paddingTop: 0 })), Label = styled10.Text
2003
1806
  let makeChangeHandler = (name) => (value) => {
2004
1807
  onFieldChange({ [name]: value });
2005
1808
  };
2006
- return jsxs9(Container2, { children: [
2007
- jsxs9(TableRow, { hasBottomBorder: !0, children: [
2008
- jsx19(TableHeaderText, { style: { width: "25%", paddingVertical: 10 }, children: "Name" }),
2009
- jsxs9(
2010
- View10,
1809
+ return jsxs8(Container2, { children: [
1810
+ jsxs8(TableRow, { hasBottomBorder: !0, children: [
1811
+ jsx17(TableHeaderText, { style: { width: "25%", paddingVertical: 10 }, children: "Name" }),
1812
+ jsxs8(
1813
+ View8,
2011
1814
  {
2012
1815
  style: {
2013
1816
  width: "75%",
@@ -2016,8 +1819,8 @@ var Container2 = styled10.View(() => ({ paddingTop: 0 })), Label = styled10.Text
2016
1819
  alignItems: "center"
2017
1820
  },
2018
1821
  children: [
2019
- jsx19(TableHeaderText, { children: "Control" }),
2020
- jsx19(
1822
+ jsx17(TableHeaderText, { children: "Control" }),
1823
+ jsx17(
2021
1824
  TouchableOpacity2,
2022
1825
  {
2023
1826
  onPress: onReset,
@@ -2026,7 +1829,7 @@ var Container2 = styled10.View(() => ({ paddingTop: 0 })), Label = styled10.Text
2026
1829
  padding: 10
2027
1830
  },
2028
1831
  hitSlop: { top: 10, bottom: 10, left: 10, right: 10 },
2029
- children: jsx19(
1832
+ children: jsx17(
2030
1833
  Image2,
2031
1834
  {
2032
1835
  source: {
@@ -2045,9 +1848,9 @@ var Container2 = styled10.View(() => ({ paddingTop: 0 })), Label = styled10.Text
2045
1848
  ] }),
2046
1849
  Object.values(args).map((arg, i) => {
2047
1850
  let changeHandler = makeChangeHandler(arg.name);
2048
- return jsxs9(TableRow, { hasBottomBorder: i !== Object.values(args).length - 1, children: [
2049
- jsx19(Label, { style: { width: "25%" }, children: arg.name }),
2050
- jsx19(View10, { style: { width: "75%" }, children: jsx19(PropField_default, { arg, isPristine, onChange: changeHandler }) })
1851
+ return jsxs8(TableRow, { hasBottomBorder: i !== Object.values(args).length - 1, children: [
1852
+ jsx17(Label, { style: { width: "25%" }, children: arg.name }),
1853
+ jsx17(View8, { style: { width: "75%" }, children: jsx17(PropField_default, { arg, isPristine, onChange: changeHandler }) })
2051
1854
  ] }, arg.name);
2052
1855
  })
2053
1856
  ] });
@@ -2079,32 +1882,32 @@ function getControlArgTypes(argTypes, args) {
2079
1882
  }
2080
1883
 
2081
1884
  // src/addon-ondevice-controls/hooks.ts
2082
- import { useState as useState10, useEffect as useEffect5, useCallback as useCallback6 } from "react";
1885
+ import { useState as useState9, useEffect as useEffect4, useCallback as useCallback5 } from "react";
2083
1886
  import {
2084
1887
  UPDATE_STORY_ARGS,
2085
1888
  RESET_STORY_ARGS,
2086
1889
  STORY_ARGS_UPDATED
2087
1890
  } from "@aussieljk/forkbook/internal/core-events";
2088
1891
  var getControlArgs = (story) => story.unmappedArgs ?? story.args, useArgs = (storyId, storyStore) => {
2089
- let getStoryControlArgs = useCallback6(() => {
1892
+ let getStoryControlArgs = useCallback5(() => {
2090
1893
  let story = storyStore.fromId(storyId);
2091
1894
  if (!story)
2092
1895
  throw new Error(`Unknown story: ${storyId}`);
2093
1896
  return getControlArgs(story);
2094
- }, [storyId, storyStore]), [args, setArgs] = useState10(getStoryControlArgs);
2095
- useEffect5(() => {
1897
+ }, [storyId, storyStore]), [args, setArgs] = useState9(getStoryControlArgs);
1898
+ useEffect4(() => {
2096
1899
  setArgs(getStoryControlArgs());
2097
1900
  let cb = (changed) => {
2098
1901
  changed.storyId === storyId && setArgs(changed.args);
2099
1902
  };
2100
1903
  return storyStore._channel.on(STORY_ARGS_UPDATED, cb), () => storyStore._channel.off(STORY_ARGS_UPDATED, cb);
2101
1904
  }, [storyId]);
2102
- let updateArgs = useCallback6(
1905
+ let updateArgs = useCallback5(
2103
1906
  (newArgs) => {
2104
1907
  storyStore._channel.emit(UPDATE_STORY_ARGS, { storyId, updatedArgs: newArgs });
2105
1908
  },
2106
1909
  [storyId, storyStore]
2107
- ), resetArgs = useCallback6(
1910
+ ), resetArgs = useCallback5(
2108
1911
  (argNames) => {
2109
1912
  storyStore._channel.emit(RESET_STORY_ARGS, { storyId, argNames });
2110
1913
  },
@@ -2114,23 +1917,23 @@ var getControlArgs = (story) => story.unmappedArgs ?? story.args, useArgs = (sto
2114
1917
  };
2115
1918
 
2116
1919
  // src/addon-ondevice-controls/ControlsPanel.tsx
2117
- import { jsx as jsx20 } from "react/jsx-runtime";
1920
+ import { jsx as jsx18 } from "react/jsx-runtime";
2118
1921
  var ControlsPanel = ({ api }) => {
2119
- let store = api.store(), storyId = store.getSelection()?.storyId, [isPristine, setIsPristine] = useState11(!0), [argsFromHook, updateArgs, resetArgs] = useArgs(storyId, store), { argsObject, parameters } = React3.useMemo(() => {
1922
+ let store = api.store(), storyId = store.getSelection()?.storyId, [isPristine, setIsPristine] = useState10(!0), [argsFromHook, updateArgs, resetArgs] = useArgs(storyId, store), { argsObject, parameters } = React2.useMemo(() => {
2120
1923
  let { argTypes, parameters: storyParameters } = store.fromId(storyId);
2121
1924
  return {
2122
1925
  parameters: storyParameters,
2123
1926
  argsObject: getControlArgTypes(argTypes, argsFromHook)
2124
1927
  };
2125
- }, [store, storyId, argsFromHook]), hasControls = Object.keys(argsObject).length > 0, isArgsStory = parameters.__isArgsStory, showWarning = !(hasControls && isArgsStory), updateArgsOnFieldChange = useCallback7(
1928
+ }, [store, storyId, argsFromHook]), hasControls = Object.keys(argsObject).length > 0, isArgsStory = parameters.__isArgsStory, showWarning = !(hasControls && isArgsStory), updateArgsOnFieldChange = useCallback6(
2126
1929
  (args) => {
2127
1930
  updateArgs(args), setIsPristine(!1);
2128
1931
  },
2129
1932
  [updateArgs]
2130
- ), handleReset = useCallback7(() => {
1933
+ ), handleReset = useCallback6(() => {
2131
1934
  resetArgs(), setIsPristine(!0);
2132
1935
  }, [resetArgs]);
2133
- return showWarning ? jsx20(NoControlsWarning_default, {}) : jsx20(
1936
+ return showWarning ? jsx18(NoControlsWarning_default, {}) : jsx18(
2134
1937
  PropForm_default,
2135
1938
  {
2136
1939
  args: argsObject,
@@ -2142,19 +1945,19 @@ var ControlsPanel = ({ api }) => {
2142
1945
  }, ControlsPanel_default = ControlsPanel;
2143
1946
 
2144
1947
  // src/addon-ondevice-controls/Panel.tsx
2145
- import { Fragment as Fragment2, jsx as jsx21 } from "react/jsx-runtime";
2146
- var AddonPanel = ({ children }) => jsx21(Fragment2, { children });
1948
+ import { Fragment as Fragment2, jsx as jsx19 } from "react/jsx-runtime";
1949
+ var AddonPanel = ({ children }) => jsx19(Fragment2, { children });
2147
1950
  AddonPanel.displayName = "AddonPanel";
2148
1951
 
2149
1952
  // src/addon-ondevice-controls/index.tsx
2150
- import { jsx as jsx22 } from "react/jsx-runtime";
1953
+ import { jsx as jsx20 } from "react/jsx-runtime";
2151
1954
  var ADDON_ID = "RNCONTROLS", PARAM_KEY = "controls";
2152
1955
  function register() {
2153
1956
  addons.register(ADDON_ID, (api) => {
2154
1957
  addons.add(ADDON_ID, {
2155
1958
  type: types.PANEL,
2156
1959
  title: "Controls",
2157
- render: ({ active }) => jsx22(AddonPanel, { active, children: jsx22(ControlsPanel_default, { api }) }),
1960
+ render: ({ active }) => jsx20(AddonPanel, { active, children: jsx20(ControlsPanel_default, { api }) }),
2158
1961
  paramKey: PARAM_KEY
2159
1962
  });
2160
1963
  });