@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.
- package/dist/_browser-chunks/{Color-OEKZ7XSW.js → Color-PCLE2J36.js} +1 -1
- package/dist/_browser-chunks/{WithTooltip-GZSSFOG3.js → WithTooltip-XSQFTBMB.js} +1 -1
- package/dist/_browser-chunks/{chunk-73OX2G56.js → chunk-JYVGARBG.js} +11 -11
- package/dist/_browser-chunks/{chunk-VVWPND3J.js → chunk-KQ7CRO2B.js} +1 -1
- package/dist/_browser-chunks/{chunk-PP4R7USA.js → chunk-P6PK47TQ.js} +215 -412
- package/dist/_node-chunks/{attached-runtime-O4YTVUKE.js → attached-runtime-I2G4WLJI.js} +29 -29
- package/dist/_node-chunks/{builder-manager-FPV2L36T.js → builder-manager-VVHYQXCH.js} +12 -12
- package/dist/_node-chunks/{chunk-4PK3LUHM.js → chunk-2BUPBPFB.js} +7 -7
- package/dist/_node-chunks/{chunk-Y2GH4XO7.js → chunk-2DSIDINN.js} +7 -7
- package/dist/_node-chunks/{chunk-WVCU34IS.js → chunk-2RU7BKEW.js} +6 -6
- package/dist/_node-chunks/{chunk-7TSL7D5D.js → chunk-34EO2PUT.js} +6 -6
- package/dist/_node-chunks/{chunk-Y2DEKWVE.js → chunk-3BKIBF5S.js} +8 -8
- package/dist/_node-chunks/{chunk-6EJ5NPEM.js → chunk-3SDUYDXH.js} +7 -7
- package/dist/_node-chunks/{chunk-BE6ULVPN.js → chunk-3T4ZSNPH.js} +8 -8
- package/dist/_node-chunks/{chunk-ZMEGPR47.js → chunk-3W7F2B7P.js} +6 -6
- package/dist/_node-chunks/{chunk-MDKFZRYG.js → chunk-3Y6AAY5H.js} +8 -8
- package/dist/_node-chunks/{chunk-HKQEE62W.js → chunk-42UWAGPW.js} +8 -8
- package/dist/_node-chunks/{chunk-YWMICX2T.js → chunk-4FEANXWU.js} +10 -10
- package/dist/_node-chunks/{chunk-SVZ6Q3CS.js → chunk-5DQFEZEA.js} +6 -6
- package/dist/_node-chunks/{chunk-ILWHW4HU.js → chunk-6KEHV53S.js} +14 -14
- package/dist/_node-chunks/{chunk-TB6Y6NSL.js → chunk-6LMWA44H.js} +8 -8
- package/dist/_node-chunks/{chunk-4TV3Z3S3.js → chunk-6YKBRP72.js} +6 -6
- package/dist/_node-chunks/{chunk-GVSFRNWZ.js → chunk-7GUDZVRQ.js} +6 -6
- package/dist/_node-chunks/{chunk-5J3O7EDY.js → chunk-B5J7Q7J4.js} +6 -6
- package/dist/_node-chunks/{chunk-GT5EHMNM.js → chunk-BS2WMZMR.js} +7 -7
- package/dist/_node-chunks/{chunk-QMU5ODXZ.js → chunk-BSKFCWQD.js} +7 -7
- package/dist/_node-chunks/{chunk-356LV3NX.js → chunk-BXVYT7SB.js} +6 -6
- package/dist/_node-chunks/{chunk-RHG33T7C.js → chunk-CCOTJ4FC.js} +8 -8
- package/dist/_node-chunks/{chunk-XCGMRAV5.js → chunk-CQKMLL5J.js} +7 -7
- package/dist/_node-chunks/{chunk-NKAUZU4C.js → chunk-CXRU72ET.js} +6 -6
- package/dist/_node-chunks/{chunk-RJUHZH32.js → chunk-DC7DKR5K.js} +6 -6
- package/dist/_node-chunks/{chunk-M2BRIUUP.js → chunk-DHJFTB4K.js} +7 -7
- package/dist/_node-chunks/{chunk-2QTI45JU.js → chunk-DUR55DJJ.js} +9 -9
- package/dist/_node-chunks/{chunk-IZISFDKM.js → chunk-E6YESGLX.js} +27 -27
- package/dist/_node-chunks/{chunk-VXDWOVWD.js → chunk-EHUNOMDD.js} +10 -10
- package/dist/_node-chunks/{chunk-RQVK2TOI.js → chunk-ET7PWEO7.js} +7 -7
- package/dist/_node-chunks/{chunk-X6OWHTYE.js → chunk-EWOX7HPJ.js} +6 -6
- package/dist/_node-chunks/{chunk-ILVD64RB.js → chunk-F3ZFKBHY.js} +7 -7
- package/dist/_node-chunks/{chunk-MJ2UD7FU.js → chunk-FK7KGTV7.js} +6 -6
- package/dist/_node-chunks/{chunk-5RNOGGO6.js → chunk-FPZB5OI7.js} +6 -6
- package/dist/_node-chunks/{chunk-2BJIHWOK.js → chunk-FW2HQUBQ.js} +6 -6
- package/dist/_node-chunks/chunk-FY6UXW6G.js +11 -0
- package/dist/_node-chunks/{chunk-GP5YLBNS.js → chunk-GEFQN7K3.js} +8 -8
- package/dist/_node-chunks/{chunk-5GN5N22E.js → chunk-GRBLDJCR.js} +19 -19
- package/dist/_node-chunks/{chunk-AANHLH5M.js → chunk-H32DYT6P.js} +6 -6
- package/dist/_node-chunks/{chunk-PEIAGMSR.js → chunk-H4PPVMP5.js} +6 -6
- package/dist/_node-chunks/{chunk-XTTAS346.js → chunk-HMP2G23X.js} +6 -6
- package/dist/_node-chunks/{chunk-XJSYJTBD.js → chunk-ICPBH3E7.js} +7 -7
- package/dist/_node-chunks/{chunk-FUYZNTIS.js → chunk-IDEL2J23.js} +6 -6
- package/dist/_node-chunks/{chunk-7LLQDMVS.js → chunk-IK4FGZLR.js} +6 -6
- package/dist/_node-chunks/{chunk-NZ3GOT7V.js → chunk-JDXXX6LB.js} +6 -6
- package/dist/_node-chunks/{chunk-JEC2OK5B.js → chunk-JGGFYIG5.js} +7 -7
- package/dist/_node-chunks/{chunk-CSXS6LVI.js → chunk-JPAZLYJ3.js} +6 -6
- package/dist/_node-chunks/{chunk-NIHZECYO.js → chunk-JZOO7GGC.js} +6 -6
- package/dist/_node-chunks/{chunk-U4GKV7GZ.js → chunk-KISMCCP5.js} +10 -10
- package/dist/_node-chunks/{chunk-JE6JEGXA.js → chunk-LCK4ZQKG.js} +8 -8
- package/dist/_node-chunks/{chunk-HKUNJELN.js → chunk-LO56I6E2.js} +8 -8
- package/dist/_node-chunks/{chunk-URRTQ2QM.js → chunk-LXBD4UL4.js} +6 -6
- package/dist/_node-chunks/{chunk-CXLL2F6O.js → chunk-MA24JW6C.js} +8 -8
- package/dist/_node-chunks/{chunk-ZBAIFZNB.js → chunk-MK2KYAI6.js} +12 -12
- package/dist/_node-chunks/{chunk-BENYUF74.js → chunk-NDWKJ4CL.js} +14 -19
- package/dist/_node-chunks/{chunk-A724RK5H.js → chunk-NIBT7XDZ.js} +6 -6
- package/dist/_node-chunks/{chunk-R7CY5LX6.js → chunk-NPO45IMH.js} +6 -6
- package/dist/_node-chunks/{chunk-B6SKX4JF.js → chunk-OISX4AGQ.js} +7 -7
- package/dist/_node-chunks/{chunk-2UG3IYCC.js → chunk-OUW6R7C3.js} +6 -6
- package/dist/_node-chunks/{chunk-SRXCCL2O.js → chunk-OWNFOGTA.js} +7 -7
- package/dist/_node-chunks/{chunk-PBMWZVLD.js → chunk-Q7QNUM5H.js} +6 -6
- package/dist/_node-chunks/{chunk-5BTU7UZ5.js → chunk-QEQLR22M.js} +7 -7
- package/dist/_node-chunks/{chunk-CWD5A6NI.js → chunk-RRN2V55B.js} +7 -7
- package/dist/_node-chunks/{chunk-AWJOXJAZ.js → chunk-RWFIFGO5.js} +7 -7
- package/dist/_node-chunks/{chunk-CDRLLNRQ.js → chunk-RXNJDRGO.js} +6 -6
- package/dist/_node-chunks/{chunk-AWXGCPW6.js → chunk-RZMQ7S3L.js} +6 -6
- package/dist/_node-chunks/{chunk-5J3BMBMY.js → chunk-SIEXZVCR.js} +6 -6
- package/dist/_node-chunks/{chunk-ULW4SLMN.js → chunk-SLWQNBGO.js} +10 -10
- package/dist/_node-chunks/{chunk-KGOAOPKR.js → chunk-SVTBJ7Q3.js} +6 -6
- package/dist/_node-chunks/{chunk-XURIZ7IC.js → chunk-SWO5CDYU.js} +6 -6
- package/dist/_node-chunks/{chunk-3CLITGI2.js → chunk-TD5PLLQG.js} +6 -6
- package/dist/_node-chunks/{chunk-G6PUNHCI.js → chunk-TEQGGSP7.js} +6 -6
- package/dist/_node-chunks/{chunk-ICADUNQM.js → chunk-TFCEV2XX.js} +6 -6
- package/dist/_node-chunks/{chunk-JVQYQTTM.js → chunk-TFEWM4E3.js} +18 -39
- package/dist/_node-chunks/{chunk-G5OYQQDY.js → chunk-TINO74G5.js} +6 -6
- package/dist/_node-chunks/{chunk-QVMUIU7S.js → chunk-TNJIXE37.js} +6 -6
- package/dist/_node-chunks/{chunk-WQ7PSP6H.js → chunk-TWI4GVH7.js} +6 -6
- package/dist/_node-chunks/{chunk-CYPPELO4.js → chunk-U5W53R2J.js} +8 -8
- package/dist/_node-chunks/{chunk-2JSABFAM.js → chunk-UBOGWBEA.js} +10 -10
- package/dist/_node-chunks/{chunk-I2ANCID7.js → chunk-UMUBKI6E.js} +23 -23
- package/dist/_node-chunks/{chunk-7BVUZZIY.js → chunk-UVINFLGY.js} +7 -7
- package/dist/_node-chunks/{chunk-ASJFOW6O.js → chunk-V2DY426G.js} +8 -8
- package/dist/_node-chunks/{chunk-US7L4S72.js → chunk-VLOXOXXE.js} +9 -9
- package/dist/_node-chunks/{chunk-5WHA37KG.js → chunk-W4OMYLSP.js} +23 -23
- package/dist/_node-chunks/chunk-WAXVSN3O.js +18 -0
- package/dist/_node-chunks/{chunk-DWE36J35.js → chunk-WCULS5TP.js} +7 -7
- package/dist/_node-chunks/{chunk-2XDUXZGI.js → chunk-WNZ2UMFM.js} +8 -8
- package/dist/_node-chunks/{chunk-R5FYRP6X.js → chunk-WZJF2OUH.js} +7 -7
- package/dist/_node-chunks/{chunk-6APBQVEX.js → chunk-XGIUVY52.js} +7 -7
- package/dist/_node-chunks/{chunk-7DCDBICW.js → chunk-XHL2LVBM.js} +9 -9
- package/dist/_node-chunks/{chunk-JBCKN6P4.js → chunk-XI6B6P47.js} +6 -6
- package/dist/_node-chunks/{chunk-EWXASIWR.js → chunk-XLP2ZKXV.js} +7 -7
- package/dist/_node-chunks/{chunk-IJL5JOLL.js → chunk-YCMRA6RX.js} +7 -7
- package/dist/_node-chunks/{chunk-RJXEPYEN.js → chunk-YZFWBA5L.js} +8 -8
- package/dist/_node-chunks/{chunk-VQEQ7ZLS.js → chunk-ZMAMXQKP.js} +7 -7
- package/dist/_node-chunks/{chunk-GSWBRZLU.js → chunk-ZWBCQ4MJ.js} +6 -6
- package/dist/_node-chunks/dist-VTSTZKUB.js +16 -0
- package/dist/_node-chunks/{globby-HWZL7XSQ.js → globby-OEMHPBFY.js} +10 -10
- package/dist/_node-chunks/{jiti-GNDCTFYU.js → jiti-NFX6UU74.js} +7 -7
- package/dist/_node-chunks/{lib-DI662U2R.js → lib-MDVARD7W.js} +7 -7
- package/dist/_node-chunks/{local-runtime-4UNT5EZJ.js → local-runtime-NTKIN2QT.js} +20 -20
- package/dist/_node-chunks/{mdx-plugin-ZY6XLLA4.js → mdx-plugin-MWISDWDQ.js} +14 -14
- package/dist/_node-chunks/{monorepo-B65J4UFS.js → monorepo-LIRFMQXE.js} +11 -11
- 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
- package/dist/_node-chunks/optimized-tests-HDOLR3EY.js +22 -0
- package/dist/_node-chunks/{pattern-copy-play-LOHSM7ID.js → pattern-copy-play-EKHIUAU2.js} +9 -9
- package/dist/_node-chunks/postinstallAddon-GYGMWDL6.js +20 -0
- package/dist/_node-chunks/{rehype-external-links-22ZBI6K4.js → rehype-external-links-BUN3HUCO.js} +9 -9
- package/dist/_node-chunks/{rehype-slug-ROZVEEFZ.js → rehype-slug-PLADX223.js} +9 -9
- package/dist/_node-chunks/{relaxed-limits-EDE2B34G.js → relaxed-limits-GBHW6KIQ.js} +11 -11
- package/dist/_node-chunks/{run-IR3BRDJV.js → run-KDTIZNSY.js} +17 -17
- package/dist/_node-chunks/{run-372BSBV5.js → run-NL66VTNR.js} +13 -13
- package/dist/_node-chunks/session-id-KIIVOQLR.js +23 -0
- package/dist/_node-chunks/{setup-6TMCKUTA.js → setup-MGC7BQO6.js} +8 -8
- package/dist/_node-chunks/{vitest.config.4.template-QJBEVCKG.js → vitest.config.4.template-JH2THZFG.js} +7 -7
- package/dist/addon-a11y/manager.js +4 -4
- package/dist/addon-a11y/preset.js +7 -7
- package/dist/addon-docs/blocks.js +10 -10
- package/dist/addon-docs/manager.js +2 -2
- package/dist/addon-docs/preset.js +10 -10
- package/dist/addon-mcp/preset.js +8 -8
- package/dist/addon-mcp/tools/preview-stories/preview-stories-app-script.js +12 -33
- package/dist/addon-ondevice-controls/index.js +1 -1
- package/dist/addon-ondevice-controls/register.js +1 -1
- package/dist/addon-themes/postinstall.js +7 -7
- package/dist/addon-vitest/constants.js +8 -8
- package/dist/addon-vitest/manager.js +2 -2
- package/dist/addon-vitest/node/coverage-reporter.js +8 -8
- package/dist/addon-vitest/node/vitest.js +16 -16
- package/dist/addon-vitest/postinstall.js +10 -10
- package/dist/addon-vitest/preset.js +14 -14
- package/dist/addon-vitest/vitest-plugin/global-setup.js +7 -7
- package/dist/addon-vitest/vitest-plugin/index.js +13 -13
- package/dist/babel/index.js +12 -12
- package/dist/bin/core.js +58 -58
- package/dist/bin/dispatcher.js +10 -10
- package/dist/bin/loader.js +8 -8
- package/dist/builder-vite/index.js +15 -15
- package/dist/builder-vite/preset.js +13 -13
- package/dist/cli/index.js +24 -24
- package/dist/cli/tools/sdk/child-host.js +17 -17
- package/dist/cli/tools/sdk/index.js +18 -18
- package/dist/cli-commands/bin/index.js +7 -7
- package/dist/common/index.js +37 -37
- package/dist/components/index.js +23 -23
- package/dist/core-server/index.js +71 -71
- package/dist/core-server/presets/common-manager.js +7 -7
- package/dist/core-server/presets/common-override-preset.js +9 -9
- package/dist/core-server/presets/common-preset.js +40 -40
- package/dist/create/bin/index.js +7 -7
- package/dist/create/index.js +15 -15
- package/dist/csf-tools/index.js +12 -12
- package/dist/manager/_manager-chunks/{globals-runtime-B0I9dSVs.js → globals-runtime-DpNYC-qi.js} +72 -72
- package/dist/manager/_manager-chunks/{globals-runtime-BQCkfH1B.js → globals-runtime-Rp_zjGnh.js} +1 -1
- package/dist/manager/_manager-chunks/{globals-runtime-CXoVXiJA.js → globals-runtime-qKvCZHFY.js} +4 -4
- package/dist/manager/_manager-chunks/{globals-runtime-f5oIrim0.js → globals-runtime-sGpNlIJ1.js} +2 -2
- package/dist/manager/_manager-chunks/{runtime-DpgBAFGf.js → runtime-BK0zF7FN.js} +1 -1
- package/dist/manager/_manager-chunks/{runtime-DcJBhKG9.js → runtime-BhkT2CXl.js} +4 -4
- package/dist/manager/_manager-chunks/{runtime-DtyerpFe.js → runtime-D0UOWx0U.js} +14 -14
- package/dist/manager/_manager-chunks/{runtime-Bry1Biu7.js → runtime-cp5pazY2.js} +118 -118
- package/dist/manager/globals-runtime.js +1 -1
- package/dist/manager/runtime.js +1 -1
- package/dist/mcp/index.js +8 -8
- package/dist/mocking-utils/index.js +9 -9
- package/dist/nextjs-vite/node/index.js +7 -7
- package/dist/nextjs-vite/preset.js +11 -11
- package/dist/nextjs-vite/vite-plugin/index.js +7 -7
- package/dist/nextjs-vite-plugin/index.js +8 -8
- package/dist/nextjs-vite-plugin/mocks/storybook.global.js +8 -8
- package/dist/node-logger/index.js +9 -9
- package/dist/oxc-parser/index.js +10 -10
- package/dist/oxc-parser/worker.js +10 -10
- package/dist/react/docgen/docgen-worker.js +12 -12
- package/dist/react/preset.js +14 -14
- package/dist/react-native/bin/get-stories.js +8 -8
- package/dist/react-native/metro/node.js +9 -9
- package/dist/react-native/metro/withStorybook.d.ts +1 -1
- package/dist/react-native/metro/withStorybook.js +10 -10
- package/dist/react-native/scripts/generate.js +8 -8
- package/dist/react-native-ui/index.js +204 -621
- package/dist/react-vite/node/index.js +7 -7
- package/dist/react-vite/preset.js +7 -7
- package/dist/server-errors.js +9 -9
- package/dist/shared/open-service/services/docgen/worker/docgen-worker.js +9 -9
- package/dist/telemetry/index.js +45 -45
- package/package.json +9 -30
- package/dist/_node-chunks/chunk-BCRWDMAU.js +0 -11
- package/dist/_node-chunks/chunk-DUOXRUVQ.js +0 -18
- package/dist/_node-chunks/dist-ZGSN23B7.js +0 -16
- package/dist/_node-chunks/optimized-tests-ZMNICF4R.js +0 -22
- package/dist/_node-chunks/postinstallAddon-NT5XE7IT.js +0 -20
- 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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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 {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
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
|
|
142
|
+
value,
|
|
192
143
|
onValueChange,
|
|
193
144
|
onSlidingComplete,
|
|
194
|
-
disabled = !1,
|
|
195
145
|
style
|
|
196
146
|
}) => {
|
|
197
|
-
let
|
|
198
|
-
|
|
199
|
-
|
|
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
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
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
|
-
},
|
|
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
|
|
342
|
-
var ValueContainer =
|
|
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 =
|
|
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] =
|
|
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] =
|
|
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
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
195
|
+
return jsxs2(View2, { children: [
|
|
196
|
+
jsxs2(ValueContainer, { children: [
|
|
197
|
+
jsx4(LabelText, { children: "Value: " }),
|
|
198
|
+
jsx4(ValueText, { children: arg.value })
|
|
374
199
|
] }),
|
|
375
|
-
|
|
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
|
|
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
|
|
407
|
-
import { View as
|
|
408
|
-
import { styled as
|
|
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
|
|
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
|
|
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
|
|
974
|
+
import { useCallback as useCallback2, useEffect as useEffect2, useMemo, useRef as useRef2, useState as useState4 } from "react";
|
|
1150
975
|
import {
|
|
1151
|
-
I18nManager
|
|
976
|
+
I18nManager,
|
|
1152
977
|
Image,
|
|
1153
|
-
StyleSheet
|
|
978
|
+
StyleSheet,
|
|
1154
979
|
Text,
|
|
1155
|
-
View as
|
|
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
|
|
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] =
|
|
1171
|
-
|
|
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 =
|
|
1000
|
+
let updateColor = useCallback2(
|
|
1176
1001
|
(nextColor) => {
|
|
1177
1002
|
colorRef.current = nextColor, setColor(nextColor), onColorChange(nextColor);
|
|
1178
1003
|
},
|
|
1179
1004
|
[onColorChange]
|
|
1180
|
-
), handleHueChange =
|
|
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 =
|
|
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:
|
|
1038
|
+
isRTL: I18nManager.isRTL
|
|
1214
1039
|
});
|
|
1215
|
-
return
|
|
1216
|
-
|
|
1217
|
-
|
|
1218
|
-
|
|
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
|
-
|
|
1051
|
+
jsx5(
|
|
1227
1052
|
Image,
|
|
1228
1053
|
{
|
|
1229
1054
|
source: { uri: colorCircle },
|
|
1230
1055
|
resizeMode: "contain",
|
|
1231
|
-
style:
|
|
1056
|
+
style: styles.pickerImage
|
|
1232
1057
|
}
|
|
1233
1058
|
),
|
|
1234
|
-
|
|
1059
|
+
jsx5(View3, { style: [styles.pickerIndicator, computed.pickerIndicator] })
|
|
1235
1060
|
]
|
|
1236
1061
|
}
|
|
1237
1062
|
),
|
|
1238
|
-
oldColor ?
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
] }) :
|
|
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
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
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
|
-
|
|
1253
|
-
|
|
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
|
-
},
|
|
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
|
|
1356
|
-
import { jsx as
|
|
1357
|
-
var modalSupported =
|
|
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 ?
|
|
1363
|
-
|
|
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
|
|
1380
|
-
var TouchableContainer =
|
|
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 =
|
|
1215
|
+
})), Touchable = styled4.View(({ color }) => ({
|
|
1391
1216
|
width: 38,
|
|
1392
1217
|
height: 38,
|
|
1393
1218
|
borderRadius: 4,
|
|
1394
1219
|
backgroundColor: color
|
|
1395
|
-
})), ButtonTouchable =
|
|
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 =
|
|
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] =
|
|
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
|
|
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
|
-
) :
|
|
1437
|
-
|
|
1438
|
-
|
|
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
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
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:
|
|
1280
|
+
style: styles2.picker
|
|
1456
1281
|
}
|
|
1457
1282
|
),
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1461
|
-
|
|
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:
|
|
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 =
|
|
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
|
-
})),
|
|
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
|
|
1520
|
-
import { jsx as
|
|
1521
|
-
var Container =
|
|
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 }) =>
|
|
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
|
|
1530
|
-
import { jsx as
|
|
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 =
|
|
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] =
|
|
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
|
|
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
|
|
1571
|
-
import { Platform as
|
|
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
|
|
1575
|
-
import { useCallback as
|
|
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
|
|
1403
|
+
StyleSheet as StyleSheet3,
|
|
1579
1404
|
TouchableOpacity,
|
|
1580
1405
|
TouchableWithoutFeedback as TouchableWithoutFeedback2,
|
|
1581
1406
|
useWindowDimensions,
|
|
1582
|
-
View as
|
|
1407
|
+
View as View6
|
|
1583
1408
|
} from "react-native";
|
|
1584
|
-
import { jsx as
|
|
1585
|
-
var
|
|
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 =
|
|
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 =
|
|
1474
|
+
})), OptionButton = styled6.View(({ theme, selected }) => ({
|
|
1650
1475
|
borderBottomColor: theme.appBorderColor,
|
|
1651
1476
|
backgroundColor: selected ? theme.color.secondary : void 0
|
|
1652
|
-
})), OptionLabel =
|
|
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 =
|
|
1481
|
+
})), Checkmark = styled6.Text(({ theme }) => ({
|
|
1657
1482
|
color: theme.color.lightest
|
|
1658
|
-
})), Footer =
|
|
1483
|
+
})), Footer = styled6.View(({ theme }) => ({
|
|
1659
1484
|
backgroundColor: theme.barBg
|
|
1660
|
-
})), FooterButton =
|
|
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 =
|
|
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] =
|
|
1681
|
-
|
|
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 =
|
|
1509
|
+
let selectedKeySet = useMemo2(() => new Set(selectedKeys), [selectedKeys]), close = useCallback4(() => {
|
|
1685
1510
|
setVisible(!1);
|
|
1686
|
-
}, []), open =
|
|
1511
|
+
}, []), open = useCallback4(() => {
|
|
1687
1512
|
setSelectedKeys(valueKeys(value, multiple)), setVisible(!0);
|
|
1688
|
-
}, [multiple, value]), selectOption =
|
|
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 =
|
|
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
|
|
1706
|
-
|
|
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:
|
|
1715
|
-
|
|
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:
|
|
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
|
|
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:
|
|
1554
|
+
children: jsx10(
|
|
1730
1555
|
OptionButton,
|
|
1731
1556
|
{
|
|
1732
1557
|
selected,
|
|
1733
|
-
style: [
|
|
1734
|
-
children:
|
|
1735
|
-
|
|
1736
|
-
|
|
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 &&
|
|
1747
|
-
|
|
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
|
-
|
|
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
|
|
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 =
|
|
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
|
|
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 }) =>
|
|
1604
|
+
children: options.map(({ label, key }) => jsx11("option", { value: key, children: label }, `${label}-${key}`))
|
|
1780
1605
|
}
|
|
1781
|
-
) :
|
|
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
|
-
) }) :
|
|
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 {
|
|
1802
|
-
import
|
|
1803
|
-
import {
|
|
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
|
|
1630
|
+
let date = useMemo4(() => {
|
|
1808
1631
|
let dateValue = new Date(value);
|
|
1809
1632
|
return isNaN(dateValue.valueOf()) ? /* @__PURE__ */ new Date() : dateValue;
|
|
1810
|
-
}, [value])
|
|
1811
|
-
|
|
1812
|
-
|
|
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
|
-
|
|
1821
|
-
|
|
1822
|
-
|
|
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
|
|
1846
|
-
import { jsx as
|
|
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] =
|
|
1856
|
-
return
|
|
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
|
|
1682
|
+
import React from "react";
|
|
1880
1683
|
|
|
1881
1684
|
// src/addon-ondevice-controls/components/RadioSelect.tsx
|
|
1882
|
-
import { styled as
|
|
1883
|
-
import { jsx as
|
|
1884
|
-
var radioHitSlop = { top: 8, right: 12, bottom: 8, left: 12 }, RadioContainer =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 =
|
|
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 }) =>
|
|
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
|
-
|
|
1926
|
-
|
|
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
|
|
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 =
|
|
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 =
|
|
1942
|
-
return
|
|
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
|
|
1974
|
-
var InvalidTypeText =
|
|
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 }) =>
|
|
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 ?
|
|
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
|
|
1986
|
-
import { jsx as
|
|
1987
|
-
var Container2 =
|
|
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 =
|
|
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 =
|
|
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
|
|
2007
|
-
|
|
2008
|
-
|
|
2009
|
-
|
|
2010
|
-
|
|
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
|
-
|
|
2020
|
-
|
|
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:
|
|
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
|
|
2049
|
-
|
|
2050
|
-
|
|
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
|
|
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 =
|
|
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] =
|
|
2095
|
-
|
|
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 =
|
|
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 =
|
|
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
|
|
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] =
|
|
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 =
|
|
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 =
|
|
1933
|
+
), handleReset = useCallback6(() => {
|
|
2131
1934
|
resetArgs(), setIsPristine(!0);
|
|
2132
1935
|
}, [resetArgs]);
|
|
2133
|
-
return showWarning ?
|
|
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
|
|
2146
|
-
var AddonPanel = ({ 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
|
|
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 }) =>
|
|
1960
|
+
render: ({ active }) => jsx20(AddonPanel, { active, children: jsx20(ControlsPanel_default, { api }) }),
|
|
2158
1961
|
paramKey: PARAM_KEY
|
|
2159
1962
|
});
|
|
2160
1963
|
});
|