├── .changeset
├── README.md
└── config.json
├── .github
└── FUNDING.yml
├── .gitignore
├── .npmrc
├── .prettierrc
├── .watchmanconfig
├── .yarn
└── releases
│ └── yarn-4.1.1.cjs
├── .yarnrc.yml
├── apps
├── expo
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── app.json
│ ├── app
│ │ ├── _layout.tsx
│ │ ├── icons.tsx
│ │ ├── index.tsx
│ │ ├── media.tsx
│ │ ├── overview.tsx
│ │ └── playground.tsx
│ ├── assets
│ │ ├── adaptive-icon.png
│ │ ├── favicon.png
│ │ ├── icon.png
│ │ └── splash.png
│ ├── babel.config.js
│ ├── eas.json
│ ├── i18n.ts
│ ├── index.js
│ ├── metro.config.js
│ ├── package.json
│ ├── tamagui.config.ts
│ └── tsconfig.json
├── next
│ ├── .eslintrc.js
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── next-env.d.ts
│ ├── next-i18next.config.js
│ ├── next.config.js
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── locales
│ │ │ ├── de
│ │ │ │ └── common.json
│ │ │ └── en
│ │ │ │ └── common.json
│ │ ├── tamagui.css
│ │ └── vercel.svg
│ ├── src
│ │ ├── pages
│ │ │ ├── _app.tsx
│ │ │ ├── _document.tsx
│ │ │ ├── icons.tsx
│ │ │ ├── index.tsx
│ │ │ ├── media.tsx
│ │ │ ├── overview.tsx
│ │ │ └── playground.tsx
│ │ └── util
│ │ │ └── appGetStaticProps.ts
│ ├── tamagui.config.ts
│ ├── tsconfig.json
│ └── turbo.json
├── sb-vite
│ ├── .eslintrc.cjs
│ ├── .gitignore
│ ├── .storybook
│ │ ├── i18n.ts
│ │ ├── main.ts
│ │ ├── preview-head.html
│ │ └── preview.tsx
│ ├── README.md
│ ├── index.html
│ ├── package.json
│ ├── public
│ │ └── vite.svg
│ ├── src
│ │ ├── App.css
│ │ ├── App.tsx
│ │ ├── Router.tsx
│ │ ├── assets
│ │ │ └── react.svg
│ │ ├── index.css
│ │ ├── main.tsx
│ │ ├── screens
│ │ │ └── Home.tsx
│ │ └── vite-env.d.ts
│ ├── storybook-static
│ │ ├── assets
│ │ │ ├── Anchor-4_t_3kaw.js
│ │ │ ├── Avatar-In_ttTYf.js
│ │ │ ├── Card-MZrg_zQJ.js
│ │ │ ├── Color-6VNJS4EI-QPYPgbLz.js
│ │ │ ├── DatepickerProvider-XA7obZFU.js
│ │ │ ├── DocsRenderer-NNNQARDV-Dmht8yMW.js
│ │ │ ├── EventEmitter-3h9cKSNS.js
│ │ │ ├── Headings-zc2v6h-R.js
│ │ │ ├── Image-E4WYJ6IT.js
│ │ │ ├── LinearGradient.shared-jx44gTD1.js
│ │ │ ├── ListItem-IOiP-Ieg.js
│ │ │ ├── LmAlert.stories-Y_yn-9cm.js
│ │ │ ├── LmAlertDialog.stories-a-MFqVcn.js
│ │ │ ├── LmAppShell.web-9iBjLBIG.js
│ │ │ ├── LmAspectRatio.stories-NSgP-9Ay.js
│ │ │ ├── LmAutocomplete-kGbePZjJ.js
│ │ │ ├── LmAutocomplete-wK2upo9r.js
│ │ │ ├── LmAutocomplete.stories-KH_qqIWD.js
│ │ │ ├── LmAvatar.stories-hEVGRatg.js
│ │ │ ├── LmButton.stories-j5feQBFW.js
│ │ │ ├── LmCard-_C9bX3cF.js
│ │ │ ├── LmCard.stories-vwHXFCpG.js
│ │ │ ├── LmCheckbox.stories-257qnqBA.js
│ │ │ ├── LmCheckboxRhf-QgWE9zUd.js
│ │ │ ├── LmDateSelection.stories-YAMFD_XO.js
│ │ │ ├── LmDatepicker.stories-_px21fqB.js
│ │ │ ├── LmDatepickerRhf-LhoEuI4i.js
│ │ │ ├── LmDialog.stories-ZJqe4iA3.js
│ │ │ ├── LmFile.stories-r_PVfcKy.js
│ │ │ ├── LmFormRhfProvider-OKkc2Xhx.js
│ │ │ ├── LmFormRhfProvider-PduC4BrJ.js
│ │ │ ├── LmGrid--faLWKbq.js
│ │ │ ├── LmGrid-dD4DUrOQ.js
│ │ │ ├── LmGrid.stories-AphekiH1.js
│ │ │ ├── LmImage-J69gcWFB.js
│ │ │ ├── LmImage-bkyQyklE.js
│ │ │ ├── LmImage.stories-VGIocnfM.js
│ │ │ ├── LmInput.stories-fM5G5sNF.js
│ │ │ ├── LmInputRhf-gaBMKt7J.js
│ │ │ ├── LmMonthPicker.stories-lWFu5ZFW.js
│ │ │ ├── LmPopover.stories-qRHxrOtf.js
│ │ │ ├── LmRadioGroup.stories-qulJJctI.js
│ │ │ ├── LmRhf.stories-U9QGIZ9N.js
│ │ │ ├── LmRichText-uAq-LfkS.css
│ │ │ ├── LmRichText.stories-06STjc44.js
│ │ │ ├── LmSelect-NIcsajhv.js
│ │ │ ├── LmSelect-ix11IQZ5.js
│ │ │ ├── LmSelect.stories-P8sODWIq.js
│ │ │ ├── LmSheet-nphtVfUp.js
│ │ │ ├── LmSheet-yZcxhf80.js
│ │ │ ├── LmSheet.stories-_ix8tr6g.js
│ │ │ ├── LmSlider.stories-fgXO1jdS.js
│ │ │ ├── LmStarRating.stories-jY8bv4hP.js
│ │ │ ├── LmSubmitButtonRhf-85k1ezmG.js
│ │ │ ├── LmSubmitButtonRhf-Epz0h-MI.js
│ │ │ ├── LmSwitch.stories-YhQ4lKM0.js
│ │ │ ├── LmSwitchRhf-WBoskbHJ.js
│ │ │ ├── LmVideo.stories-WP6QFjYp.js
│ │ │ ├── LmVideoEmbed.stories-QArcA_M8.js
│ │ │ ├── LmYoutubeEmbed.web-Q44Tzmd_.js
│ │ │ ├── MediaScreen.stories-_oYO5jO9.js
│ │ │ ├── PermissionsInterface-ENCbFuSo.js
│ │ │ ├── Playground.stories-39xfvIIM.js
│ │ │ ├── Popover-jfxuliJS.js
│ │ │ ├── RCTDeviceEventEmitter-v7vvFmgm.js
│ │ │ ├── Separator-xEpcC6ux.js
│ │ │ ├── SizableStack-x2xeJTXj.js
│ │ │ ├── Stacks-cf55noxu.js
│ │ │ ├── Text-GPmJrOtX.js
│ │ │ ├── Video-516jo3DQ.js
│ │ │ ├── WithTooltip-V3YHNWJZ-tSIKRWN9.js
│ │ │ ├── _baseIsEqual-CFr8iVHd.js
│ │ │ ├── _commonjs-dynamic-modules-FZ9QPYRN.js
│ │ │ ├── _commonjsHelpers-4gQjN7DL.js
│ │ │ ├── _getPrototype-MXemwaK5.js
│ │ │ ├── chunk-WFFRPTHA-zlNDxfrq.js
│ │ │ ├── context-W07bjnle.js
│ │ │ ├── createClass-SPiPqPE8.js
│ │ │ ├── dateHelper-pqTkKOmM.js
│ │ │ ├── entry-preview-NPj0Q1QB.js
│ │ │ ├── entry-preview-docs-cV61QPcr.js
│ │ │ ├── extends-nGe_wfaW.js
│ │ │ ├── formatter-SWP5E3XI-kG5c5Os5.js
│ │ │ ├── iframe-JsPZtx2K.js
│ │ │ ├── index-4g5l5LRQ.js
│ │ │ ├── index-Cm4IpdGE.js
│ │ │ ├── index-PPLHz8o0.js
│ │ │ ├── index-RduBmlIh.js
│ │ │ ├── index-TmN4oE2O.js
│ │ │ ├── index-UfAEvnza.js
│ │ │ ├── index-_VGcpBFS.js
│ │ │ ├── index-_wg5PwQV.js
│ │ │ ├── index-iwWdm5Ml.js
│ │ │ ├── index-oRJpL3FP.js
│ │ │ ├── index-ogXoivrg.js
│ │ │ ├── index.esm-HDFLGYcx.js
│ │ │ ├── index.esm-qGf7LkUX.js
│ │ │ ├── inter-all-400-normal-aTkQBzfv.woff
│ │ │ ├── inter-all-700-normal-w8d0EwWo.woff
│ │ │ ├── inter-cyrillic-400-normal-EPgtxUdt.woff2
│ │ │ ├── inter-cyrillic-700-normal-WjK-gRow.woff2
│ │ │ ├── inter-cyrillic-ext-400-normal-hbwVqd76.woff2
│ │ │ ├── inter-cyrillic-ext-700-normal-rc5oWlJP.woff2
│ │ │ ├── inter-greek-400-normal-YZIAb8Pm.woff2
│ │ │ ├── inter-greek-700-normal-hSEF9VNm.woff2
│ │ │ ├── inter-greek-ext-400-normal-Ofy3y2SD.woff2
│ │ │ ├── inter-greek-ext-700-normal-Ck4W3Q6w.woff2
│ │ │ ├── inter-latin-400-normal-GLYHyz0Z.woff2
│ │ │ ├── inter-latin-700-normal-Y9QfVihh.woff2
│ │ │ ├── inter-latin-ext-400-normal-94UIUsAk.woff2
│ │ │ ├── inter-latin-ext-700-normal-CN7A-HjB.woff2
│ │ │ ├── nonIterableRest-8u_NaQ2m.js
│ │ │ ├── overview.stories-OX3NkN4f.js
│ │ │ ├── preview-70qxeh8F.js
│ │ │ ├── preview-98732p1V.js
│ │ │ ├── preview-DpAvqqAd.js
│ │ │ ├── preview-FekBEZxm.js
│ │ │ ├── preview-PC0Xz-mG.js
│ │ │ ├── preview-TkXSQy1x.js
│ │ │ ├── preview-UjQ6hyBM.js
│ │ │ ├── preview-VI2eoWmp.js
│ │ │ ├── preview-bEa2SesL.js
│ │ │ ├── preview-errors-7FWlPnjy.js
│ │ │ ├── preview-s_wDH8IC.css
│ │ │ ├── preview-u8M_OEO2.js
│ │ │ ├── react-18-gDJZMjUw.js
│ │ │ ├── router-context.shared-runtime-dLj_Pzr5.js
│ │ │ ├── screen.stories-5uQyYR65.js
│ │ │ ├── selectItems-62Hhm5qZ.js
│ │ │ ├── selectItems-L3zF9VcJ.js
│ │ │ ├── syntaxhighlighter-V7JZZA35-VmuI3yqZ.js
│ │ │ ├── toPropertyKey-NzAT2yhV.js
│ │ │ ├── uniq-DjaUhnlG.js
│ │ │ ├── usePopoverState-AcQ9Dkm1.js
│ │ │ ├── usePopoverState-znF3ooTh.js
│ │ │ └── welcome.stories-qX4PhUKv.js
│ │ ├── favicon.svg
│ │ ├── iframe.html
│ │ ├── index.html
│ │ ├── index.json
│ │ ├── project.json
│ │ ├── sb-addons
│ │ │ ├── essentials-actions-2
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-backgrounds-3
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-controls-1
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-measure-6
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-outline-7
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-toolbars-5
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-viewport-4
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── interactions-8
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── links-0
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ └── storybook-react-i18next-9
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ ├── sb-common-assets
│ │ │ ├── fonts.css
│ │ │ ├── nunito-sans-bold-italic.woff2
│ │ │ ├── nunito-sans-bold.woff2
│ │ │ ├── nunito-sans-italic.woff2
│ │ │ └── nunito-sans-regular.woff2
│ │ ├── sb-manager
│ │ │ ├── WithTooltip-V3YHNWJZ-LVYLGZW2.js
│ │ │ ├── chunk-2IXBUOFS.js
│ │ │ ├── chunk-F4FCO4CF.js
│ │ │ ├── chunk-INSKDKQB.js
│ │ │ ├── chunk-NGTUFCUO.js
│ │ │ ├── chunk-ZEU7PDD3.js
│ │ │ ├── formatter-SWP5E3XI-7BGIK6BL.js
│ │ │ ├── globals-module-info.js
│ │ │ ├── globals.js
│ │ │ ├── index.js
│ │ │ ├── runtime.js
│ │ │ └── syntaxhighlighter-V7JZZA35-DXZCI2WR.js
│ │ ├── sb-preview
│ │ │ ├── globals.js
│ │ │ └── runtime.js
│ │ ├── stories.json
│ │ └── vite.svg
│ ├── tamagui.config.ts
│ ├── tsconfig.json
│ ├── tsconfig.node.json
│ └── vite.config.ts
├── storybook-react
│ ├── .eslintrc.json
│ ├── .gitignore
│ ├── .storybook
│ │ ├── i18n.ts
│ │ ├── main.ts
│ │ ├── preview-head.html
│ │ └── preview.tsx
│ ├── CHANGELOG.md
│ ├── README.md
│ ├── build-storybook.log
│ ├── chromatic.log
│ ├── next.config.js
│ ├── package.json
│ ├── public
│ │ ├── favicon.ico
│ │ ├── fonts
│ │ │ ├── woff
│ │ │ │ ├── SpaceGrotesk-Bold-subset.zopfli.woff
│ │ │ │ └── SpaceGrotesk-Regular-subset.zopfli.woff
│ │ │ └── woff2
│ │ │ │ ├── SpaceGrotesk-Bold-subset.woff2
│ │ │ │ ├── SpaceGrotesk-Bold.woff2
│ │ │ │ ├── SpaceGrotesk-Regular-subset.woff2
│ │ │ │ └── SpaceGrotesk-Regular.woff2
│ │ └── vercel.svg
│ ├── storybook-static
│ │ ├── 1069.1f519595.iframe.bundle.js
│ │ ├── 1438.bbd15d0c.iframe.bundle.js
│ │ ├── 1523.f3963967.iframe.bundle.js
│ │ ├── 1524.344fceff.iframe.bundle.js
│ │ ├── 1634.fa48a62f.iframe.bundle.js
│ │ ├── 1716.9dca0e92.iframe.bundle.js
│ │ ├── 1844.3346998e.iframe.bundle.js
│ │ ├── 1938.9fec08a6.iframe.bundle.js
│ │ ├── 195.efc95e03.iframe.bundle.js
│ │ ├── 195.efc95e03.iframe.bundle.js.LICENSE.txt
│ │ ├── 1994.ef0041d1.iframe.bundle.js
│ │ ├── 2017.73162783.iframe.bundle.js
│ │ ├── 2022.899a5e17.iframe.bundle.js
│ │ ├── 2059.d8b79803.iframe.bundle.js
│ │ ├── 2093.5b26bb3d.iframe.bundle.js
│ │ ├── 2093.5b26bb3d.iframe.bundle.js.LICENSE.txt
│ │ ├── 2093.5b26bb3d.iframe.bundle.js.map
│ │ ├── 2110.107fd54a.iframe.bundle.js
│ │ ├── 2137.990c4d64.iframe.bundle.js
│ │ ├── 2179.09fba600.iframe.bundle.js
│ │ ├── 2215.532d168b.iframe.bundle.js
│ │ ├── 2308.106d5d31.iframe.bundle.js
│ │ ├── 2449.0b88fbbe.iframe.bundle.js
│ │ ├── 2525.cc87db2b.iframe.bundle.js
│ │ ├── 2586.ab7eb696.iframe.bundle.js
│ │ ├── 2636.c0102fde.iframe.bundle.js
│ │ ├── 2771.cef76262.iframe.bundle.js
│ │ ├── 296.395afc44.iframe.bundle.js
│ │ ├── 3071.34c7aad5.iframe.bundle.js
│ │ ├── 3326.b472f913.iframe.bundle.js
│ │ ├── 3546.4b25508d.iframe.bundle.js
│ │ ├── 3596.ccafb671.iframe.bundle.js
│ │ ├── 3742.c3c0a010.iframe.bundle.js
│ │ ├── 3847.d808aadf.iframe.bundle.js
│ │ ├── 3915.8ad8efc9.iframe.bundle.js
│ │ ├── 3927.a7403e9e.iframe.bundle.js
│ │ ├── 395.4a70d74b.iframe.bundle.js
│ │ ├── 395.4a70d74b.iframe.bundle.js.LICENSE.txt
│ │ ├── 395.4a70d74b.iframe.bundle.js.map
│ │ ├── 4075.da3d52e2.iframe.bundle.js
│ │ ├── 4088.a226440c.iframe.bundle.js
│ │ ├── 4103.77405480.iframe.bundle.js
│ │ ├── 4383.040bb164.iframe.bundle.js
│ │ ├── 4459.c748be98.iframe.bundle.js
│ │ ├── 4459.c748be98.iframe.bundle.js.LICENSE.txt
│ │ ├── 4533.4b2ec20b.iframe.bundle.js
│ │ ├── 4533.4b2ec20b.iframe.bundle.js.LICENSE.txt
│ │ ├── 4545.f00cf6bc.iframe.bundle.js
│ │ ├── 4605.fee7a439.iframe.bundle.js
│ │ ├── 4605.fee7a439.iframe.bundle.js.map
│ │ ├── 4627.a8a90706.iframe.bundle.js
│ │ ├── 4749.b4d74719.iframe.bundle.js
│ │ ├── 4764.fa5a2af0.iframe.bundle.js
│ │ ├── 4980.ce8abf20.iframe.bundle.js
│ │ ├── 5094.a120a9b6.iframe.bundle.js
│ │ ├── 5117.ccb90286.iframe.bundle.js
│ │ ├── 515.eec99c92.iframe.bundle.js
│ │ ├── 5175.506ba9e4.iframe.bundle.js
│ │ ├── 5208.37111768.iframe.bundle.js
│ │ ├── 5283.a2dc372f.iframe.bundle.js
│ │ ├── 5538.9d609c6f.iframe.bundle.js
│ │ ├── 5629.a6bd483a.iframe.bundle.js
│ │ ├── 6097.2562f36a.iframe.bundle.js
│ │ ├── 6144.3775bb9f.iframe.bundle.js
│ │ ├── 6436.92d0d2be.iframe.bundle.js
│ │ ├── 650.dbbb2472.iframe.bundle.js
│ │ ├── 6569.594e9b3d.iframe.bundle.js
│ │ ├── 6696.d31299d7.iframe.bundle.js
│ │ ├── 6696.d31299d7.iframe.bundle.js.LICENSE.txt
│ │ ├── 6732.21601f53.iframe.bundle.js
│ │ ├── 6737.e539eae9.iframe.bundle.js
│ │ ├── 687.e1d0c860.iframe.bundle.js
│ │ ├── 7293.923c40c9.iframe.bundle.js
│ │ ├── 732.eefa1638.iframe.bundle.js
│ │ ├── 7330.e6adf4aa.iframe.bundle.js
│ │ ├── 737.3037498f.iframe.bundle.js
│ │ ├── 7496.f8bf2e24.iframe.bundle.js
│ │ ├── 7681.b0a96399.iframe.bundle.js
│ │ ├── 7757.331e5e50.iframe.bundle.js
│ │ ├── 7823.64ef7da7.iframe.bundle.js
│ │ ├── 786.a219039f.iframe.bundle.js
│ │ ├── 7998.ed071efc.iframe.bundle.js
│ │ ├── 8066.bc761bdb.iframe.bundle.js
│ │ ├── 8113.9cb3914f.iframe.bundle.js
│ │ ├── 8156.abe78f70.iframe.bundle.js
│ │ ├── 8156.abe78f70.iframe.bundle.js.LICENSE.txt
│ │ ├── 8156.abe78f70.iframe.bundle.js.map
│ │ ├── 8246.6dffdaf8.iframe.bundle.js
│ │ ├── 8375.6fd39fab.iframe.bundle.js
│ │ ├── 8379.13dd20ea.iframe.bundle.js
│ │ ├── 841.a279fcab.iframe.bundle.js
│ │ ├── 8426.6017031f.iframe.bundle.js
│ │ ├── 8545.a3d03253.iframe.bundle.js
│ │ ├── 8558.5a01fcd7.iframe.bundle.js
│ │ ├── 8669.55f8c159.iframe.bundle.js
│ │ ├── 88.0cf59868.iframe.bundle.js
│ │ ├── 88.0cf59868.iframe.bundle.js.LICENSE.txt
│ │ ├── 8976.802d5dab.iframe.bundle.js
│ │ ├── 9050.16e2ff0b.iframe.bundle.js
│ │ ├── 9700.9cf5bb9a.iframe.bundle.js
│ │ ├── 975.ffe92a89.iframe.bundle.js
│ │ ├── 9781.7d48bd2d.iframe.bundle.js
│ │ ├── 9823.71b8f89c.iframe.bundle.js
│ │ ├── 9902.75672ed4.iframe.bundle.js
│ │ ├── 9971.7c00b5de.iframe.bundle.js
│ │ ├── favicon.ico
│ │ ├── favicon.svg
│ │ ├── fonts
│ │ │ ├── woff
│ │ │ │ ├── SpaceGrotesk-Bold-subset.zopfli.woff
│ │ │ │ └── SpaceGrotesk-Regular-subset.zopfli.woff
│ │ │ └── woff2
│ │ │ │ ├── SpaceGrotesk-Bold-subset.woff2
│ │ │ │ ├── SpaceGrotesk-Bold.woff2
│ │ │ │ ├── SpaceGrotesk-Regular-subset.woff2
│ │ │ │ └── SpaceGrotesk-Regular.woff2
│ │ ├── iframe.html
│ │ ├── index.html
│ │ ├── index.json
│ │ ├── main.59c5c8d4.iframe.bundle.js
│ │ ├── project.json
│ │ ├── runtime~main.90e568dd.iframe.bundle.js
│ │ ├── sb-addons
│ │ │ ├── essentials-actions-2
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-backgrounds-3
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-controls-1
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-measure-6
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-outline-7
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-toolbars-5
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── essentials-viewport-4
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── interactions-8
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ ├── links-0
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ │ └── storybook-react-i18next-9
│ │ │ │ ├── manager-bundle.js
│ │ │ │ └── manager-bundle.js.LEGAL.txt
│ │ ├── sb-common-assets
│ │ │ ├── fonts.css
│ │ │ ├── nunito-sans-bold-italic.woff2
│ │ │ ├── nunito-sans-bold.woff2
│ │ │ ├── nunito-sans-italic.woff2
│ │ │ └── nunito-sans-regular.woff2
│ │ ├── sb-manager
│ │ │ ├── WithTooltip-V3YHNWJZ-LVYLGZW2.js
│ │ │ ├── chunk-2IXBUOFS.js
│ │ │ ├── chunk-3MAIP5DL.js
│ │ │ ├── chunk-INSKDKQB.js
│ │ │ ├── chunk-NGTUFCUO.js
│ │ │ ├── chunk-ZEU7PDD3.js
│ │ │ ├── formatter-SWP5E3XI-7BGIK6BL.js
│ │ │ ├── globals-module-info.js
│ │ │ ├── globals.js
│ │ │ ├── index.js
│ │ │ ├── runtime.js
│ │ │ └── syntaxhighlighter-V7JZZA35-DXZCI2WR.js
│ │ ├── sb-preview
│ │ │ ├── globals.js
│ │ │ └── runtime.js
│ │ ├── static
│ │ │ └── media
│ │ │ │ ├── inter-all-400-normal.8c804432.woff
│ │ │ │ ├── inter-all-700-normal.4caa68a0.woff
│ │ │ │ ├── inter-cyrillic-400-normal.8684fef6.woff2
│ │ │ │ ├── inter-cyrillic-700-normal.fce0dd82.woff2
│ │ │ │ ├── inter-cyrillic-ext-400-normal.fcc125c4.woff2
│ │ │ │ ├── inter-cyrillic-ext-700-normal.177b82cd.woff2
│ │ │ │ ├── inter-greek-400-normal.0278a49f.woff2
│ │ │ │ ├── inter-greek-700-normal.d36e38b1.woff2
│ │ │ │ ├── inter-greek-ext-400-normal.3f642a92.woff2
│ │ │ │ ├── inter-greek-ext-700-normal.25e184a6.woff2
│ │ │ │ ├── inter-latin-400-normal.be7cb18d.woff2
│ │ │ │ ├── inter-latin-700-normal.54321e26.woff2
│ │ │ │ ├── inter-latin-ext-400-normal.3a7a7652.woff2
│ │ │ │ ├── inter-latin-ext-700-normal.8e5621b2.woff2
│ │ │ │ ├── inter-vietnamese-400-normal.789afb71.woff2
│ │ │ │ └── inter-vietnamese-700-normal.3d836ea0.woff2
│ │ ├── stories.json
│ │ └── vercel.svg
│ ├── tamagui.config.ts
│ ├── tsconfig.json
│ └── turbo.json
└── tests
│ ├── .gitignore
│ ├── __tests__
│ └── ui
│ │ └── MyComponent.test.tsx
│ ├── babel.config.js
│ ├── jest.config.js
│ ├── jest.setup-after-env.js
│ ├── jest.setup.js
│ ├── package.json
│ ├── src
│ ├── index.ts
│ └── test-utils.tsx
│ └── tamagui.config.ts
├── chromatic.log
├── jsconfig.json
├── kitchen-sink.code-workspace
├── package.json
├── packages
├── app
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── index.ts
│ ├── package.json
│ ├── react-i18n.d.ts
│ ├── rnw-overrides.tsx
│ ├── src
│ │ ├── components
│ │ │ ├── layouts
│ │ │ │ ├── LmAppBar.tsx
│ │ │ │ ├── LmAppDrawer.tsx
│ │ │ │ ├── LmAppShell.tsx
│ │ │ │ ├── LmAppShell.web.tsx
│ │ │ │ └── layoutTypes.ts
│ │ │ └── various
│ │ │ │ └── LmThemeToggle.tsx
│ │ ├── features
│ │ │ ├── home
│ │ │ │ ├── HomeScreen.tsx
│ │ │ │ └── screen.stories.tsx
│ │ │ ├── icons
│ │ │ │ └── IconsScreen.tsx
│ │ │ ├── media
│ │ │ │ ├── MediaScreen.stories.tsx
│ │ │ │ └── MediaScreen.tsx
│ │ │ ├── overview
│ │ │ │ ├── overview.stories.tsx
│ │ │ │ └── overview.tsx
│ │ │ └── playground
│ │ │ │ ├── Playground.stories.tsx
│ │ │ │ ├── playground.tsx
│ │ │ │ └── util.ts
│ │ ├── fixtures
│ │ │ └── selectItems.ts
│ │ ├── lib
│ │ │ └── fixtures
│ │ │ │ └── selectItems.ts
│ │ ├── navigation
│ │ │ ├── routerConfig.ts
│ │ │ ├── useOnRouteChange.ts
│ │ │ ├── useOnRouteChange.web.ts
│ │ │ └── useParam.ts
│ │ ├── provider
│ │ │ ├── LmTamaguiProvider.tsx
│ │ │ ├── StorybookDecorator.tsx
│ │ │ ├── index.tsx
│ │ │ └── safe-area
│ │ │ │ ├── SaveAreaProvider.tsx
│ │ │ │ └── SaveAreaProvider.web.tsx
│ │ ├── state
│ │ │ ├── appState.ts
│ │ │ └── themeState.ts
│ │ └── stories
│ │ │ ├── core
│ │ │ ├── content
│ │ │ │ ├── LmAlert.stories.tsx
│ │ │ │ ├── LmAspectRatio.stories.tsx
│ │ │ │ ├── LmAvatar.stories.tsx
│ │ │ │ ├── LmButton.stories.tsx
│ │ │ │ ├── LmCard.stories.tsx
│ │ │ │ ├── LmGrid.stories.tsx
│ │ │ │ └── LmImage.stories.tsx
│ │ │ ├── panels
│ │ │ │ ├── LmAlertDialog.stories.tsx
│ │ │ │ ├── LmDialog.stories.tsx
│ │ │ │ ├── LmPopover.stories.tsx
│ │ │ │ └── LmSheet.stories.tsx
│ │ │ └── welcome.stories.tsx
│ │ │ ├── date
│ │ │ ├── LmDateSelection.stories.tsx
│ │ │ ├── LmDatepicker.stories.tsx
│ │ │ └── LmMonthPicker.stories.tsx
│ │ │ ├── file
│ │ │ └── LmFile.stories.tsx
│ │ │ ├── form
│ │ │ ├── FormDecorator.tsx
│ │ │ ├── LmAutocomplete.stories.tsx
│ │ │ ├── LmCheckbox.stories.tsx
│ │ │ ├── LmInput.stories.tsx
│ │ │ ├── LmRadioGroup.stories.tsx
│ │ │ ├── LmRhf.stories.tsx
│ │ │ ├── LmSelect.stories.tsx
│ │ │ ├── LmSlider.stories.tsx
│ │ │ ├── LmStarRating.stories.tsx
│ │ │ └── LmSwitch.stories.tsx
│ │ │ ├── rich-text
│ │ │ └── LmRichText.stories.tsx
│ │ │ ├── video
│ │ │ └── LmVideo.stories.tsx
│ │ │ └── youtube
│ │ │ └── LmVideoEmbed.stories.tsx
│ ├── tamagui.config.ts
│ └── tsconfig.json
├── config
│ ├── CHANGELOG.md
│ ├── package.json
│ └── src
│ │ ├── animations.ts
│ │ ├── index.ts
│ │ └── tamagui.config.ts
├── core
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── readme.md
│ ├── src
│ │ ├── core
│ │ │ ├── content
│ │ │ │ ├── LmAlert.tsx
│ │ │ │ ├── LmAspectRatio.tsx
│ │ │ │ ├── LmAvatar.tsx
│ │ │ │ ├── LmCard.tsx
│ │ │ │ ├── LmGrid.tsx
│ │ │ │ ├── LmImage.tsx
│ │ │ │ ├── LmSkeleton.tsx
│ │ │ │ ├── icons
│ │ │ │ │ ├── ArrowClockwise.tsx
│ │ │ │ │ ├── ArrowCounterClockwise.tsx
│ │ │ │ │ ├── ArrowLeft.tsx
│ │ │ │ │ ├── ArrowRight.tsx
│ │ │ │ │ ├── Calendar.tsx
│ │ │ │ │ ├── CaretDoubleLeft.tsx
│ │ │ │ │ ├── CaretDoubleRight.tsx
│ │ │ │ │ ├── CaretDown.tsx
│ │ │ │ │ ├── CaretLeft.tsx
│ │ │ │ │ ├── CaretRight.tsx
│ │ │ │ │ ├── CaretUp.tsx
│ │ │ │ │ ├── Check.tsx
│ │ │ │ │ ├── CheckCircle.tsx
│ │ │ │ │ ├── CheckSquare.tsx
│ │ │ │ │ ├── Eye.tsx
│ │ │ │ │ ├── EyeSlash.tsx
│ │ │ │ │ ├── IconProps.tsx
│ │ │ │ │ ├── Info.tsx
│ │ │ │ │ ├── List.tsx
│ │ │ │ │ ├── ListNumbers.tsx
│ │ │ │ │ ├── ListPlus.tsx
│ │ │ │ │ ├── Minus.tsx
│ │ │ │ │ ├── Quotes.tsx
│ │ │ │ │ ├── Square.tsx
│ │ │ │ │ ├── Star.tsx
│ │ │ │ │ ├── StarFill.tsx
│ │ │ │ │ ├── Sun.tsx
│ │ │ │ │ ├── TextBolder.tsx
│ │ │ │ │ ├── TextItalic.tsx
│ │ │ │ │ ├── TextStrikethrough.tsx
│ │ │ │ │ ├── TextUnderline.tsx
│ │ │ │ │ ├── Warning.tsx
│ │ │ │ │ ├── WarningCircle.tsx
│ │ │ │ │ ├── X.tsx
│ │ │ │ │ ├── index.tsx
│ │ │ │ │ └── themed.tsx
│ │ │ │ └── index.ts
│ │ │ ├── form
│ │ │ │ ├── LmButton.tsx
│ │ │ │ └── index.ts
│ │ │ ├── hooks
│ │ │ │ ├── index.ts
│ │ │ │ └── usePopoverState.ts
│ │ │ ├── panels
│ │ │ │ ├── LmAlertDialog.tsx
│ │ │ │ ├── LmDialog.tsx
│ │ │ │ ├── LmDialogActions.tsx
│ │ │ │ ├── LmDialogContent.tsx
│ │ │ │ ├── LmPopover.tsx
│ │ │ │ ├── LmSheet.tsx
│ │ │ │ ├── index.ts
│ │ │ │ └── useFloatingContext.tsx
│ │ │ └── themeMappings.ts
│ │ ├── index.ts
│ │ └── tamagui.config.ts
│ └── tsconfig.json
├── date
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── LmMonthsPicker.tsx
│ │ ├── dateHelper.ts
│ │ ├── datepicker
│ │ │ ├── DatepickerProvider.tsx
│ │ │ ├── LmDatepicker.native.tsx
│ │ │ ├── LmDatepicker.tsx
│ │ │ ├── LmDatepickerPopover.tsx
│ │ │ ├── LmDay.tsx
│ │ │ ├── LmMonth.tsx
│ │ │ ├── dateSelection
│ │ │ │ ├── LmDateSelection.tsx
│ │ │ │ ├── LmDaySelect.tsx
│ │ │ │ ├── LmMonthSelect.tsx
│ │ │ │ ├── LmYearSelect.tsx
│ │ │ │ └── dateSelectionTypes.ts
│ │ │ ├── datepickerTypes.ts
│ │ │ └── rhf
│ │ │ │ ├── LmDateRangePickerRhf.tsx
│ │ │ │ ├── LmDateSelectionRhf.tsx
│ │ │ │ └── LmDatepickerRhf.tsx
│ │ └── index.ts
│ └── tsconfig.json
├── file
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── LmFile.tsx
│ │ ├── LmFilePicker.tsx
│ │ ├── filePickerTypes.ts
│ │ └── index.ts
│ ├── tsconfig.json
│ └── types
│ │ ├── LmFile.d.ts
│ │ ├── LmFilePicker.d.ts
│ │ ├── filePickerTypes.d.ts
│ │ └── index.d.ts
├── form
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── dist
│ │ ├── cjs
│ │ │ ├── LmAutocomplete.js
│ │ │ ├── LmAutocomplete.js.map
│ │ │ ├── LmCheckbox.js
│ │ │ ├── LmCheckbox.js.map
│ │ │ ├── LmFormFieldContainer.js
│ │ │ ├── LmFormFieldContainer.js.map
│ │ │ ├── LmInput.js
│ │ │ ├── LmInput.js.map
│ │ │ ├── LmRadioGroup.js
│ │ │ ├── LmRadioGroup.js.map
│ │ │ ├── LmSelect.js
│ │ │ ├── LmSelect.js.map
│ │ │ ├── LmSlider.js
│ │ │ ├── LmSlider.js.map
│ │ │ ├── LmStarRating.js
│ │ │ ├── LmStarRating.js.map
│ │ │ ├── LmSwitch.js
│ │ │ ├── LmSwitch.js.map
│ │ │ ├── formContainerTypes.js
│ │ │ ├── formContainerTypes.js.map
│ │ │ ├── index.js
│ │ │ ├── index.js.map
│ │ │ └── rhf
│ │ │ │ ├── LmAutocompleteRhf.js
│ │ │ │ ├── LmAutocompleteRhf.js.map
│ │ │ │ ├── LmCheckboxRhf.js
│ │ │ │ ├── LmCheckboxRhf.js.map
│ │ │ │ ├── LmFormRhfProvider.js
│ │ │ │ ├── LmFormRhfProvider.js.map
│ │ │ │ ├── LmInputRhf.js
│ │ │ │ ├── LmInputRhf.js.map
│ │ │ │ ├── LmRadioGroupRhf.js
│ │ │ │ ├── LmRadioGroupRhf.js.map
│ │ │ │ ├── LmResetButtonRhf.js
│ │ │ │ ├── LmResetButtonRhf.js.map
│ │ │ │ ├── LmSelectRhf.js
│ │ │ │ ├── LmSelectRhf.js.map
│ │ │ │ ├── LmSliderRhf.js
│ │ │ │ ├── LmSliderRhf.js.map
│ │ │ │ ├── LmStarRatingRhf.js
│ │ │ │ ├── LmStarRatingRhf.js.map
│ │ │ │ ├── LmSubmitButtonRhf.js
│ │ │ │ ├── LmSubmitButtonRhf.js.map
│ │ │ │ ├── LmSwitchRhf.js
│ │ │ │ ├── LmSwitchRhf.js.map
│ │ │ │ ├── index.js
│ │ │ │ ├── index.js.map
│ │ │ │ ├── lmRhfProps.js
│ │ │ │ └── lmRhfProps.js.map
│ │ ├── esm
│ │ │ ├── LmAutocomplete.js
│ │ │ ├── LmAutocomplete.js.map
│ │ │ ├── LmCheckbox.js
│ │ │ ├── LmCheckbox.js.map
│ │ │ ├── LmFormFieldContainer.js
│ │ │ ├── LmFormFieldContainer.js.map
│ │ │ ├── LmInput.js
│ │ │ ├── LmInput.js.map
│ │ │ ├── LmRadioGroup.js
│ │ │ ├── LmRadioGroup.js.map
│ │ │ ├── LmSelect.js
│ │ │ ├── LmSelect.js.map
│ │ │ ├── LmSlider.js
│ │ │ ├── LmSlider.js.map
│ │ │ ├── LmStarRating.js
│ │ │ ├── LmStarRating.js.map
│ │ │ ├── LmSwitch.js
│ │ │ ├── LmSwitch.js.map
│ │ │ ├── formContainerTypes.js
│ │ │ ├── formContainerTypes.js.map
│ │ │ ├── index.js
│ │ │ ├── index.js.map
│ │ │ └── rhf
│ │ │ │ ├── LmAutocompleteRhf.js
│ │ │ │ ├── LmAutocompleteRhf.js.map
│ │ │ │ ├── LmCheckboxRhf.js
│ │ │ │ ├── LmCheckboxRhf.js.map
│ │ │ │ ├── LmFormRhfProvider.js
│ │ │ │ ├── LmFormRhfProvider.js.map
│ │ │ │ ├── LmInputRhf.js
│ │ │ │ ├── LmInputRhf.js.map
│ │ │ │ ├── LmRadioGroupRhf.js
│ │ │ │ ├── LmRadioGroupRhf.js.map
│ │ │ │ ├── LmResetButtonRhf.js
│ │ │ │ ├── LmResetButtonRhf.js.map
│ │ │ │ ├── LmSelectRhf.js
│ │ │ │ ├── LmSelectRhf.js.map
│ │ │ │ ├── LmSliderRhf.js
│ │ │ │ ├── LmSliderRhf.js.map
│ │ │ │ ├── LmStarRatingRhf.js
│ │ │ │ ├── LmStarRatingRhf.js.map
│ │ │ │ ├── LmSubmitButtonRhf.js
│ │ │ │ ├── LmSubmitButtonRhf.js.map
│ │ │ │ ├── LmSwitchRhf.js
│ │ │ │ ├── LmSwitchRhf.js.map
│ │ │ │ ├── index.js
│ │ │ │ ├── index.js.map
│ │ │ │ ├── lmRhfProps.js
│ │ │ │ └── lmRhfProps.js.map
│ │ └── jsx
│ │ │ ├── LmAutocomplete.js
│ │ │ ├── LmAutocomplete.js.map
│ │ │ ├── LmCheckbox.js
│ │ │ ├── LmCheckbox.js.map
│ │ │ ├── LmFormFieldContainer.js
│ │ │ ├── LmFormFieldContainer.js.map
│ │ │ ├── LmInput.js
│ │ │ ├── LmInput.js.map
│ │ │ ├── LmRadioGroup.js
│ │ │ ├── LmRadioGroup.js.map
│ │ │ ├── LmSelect.js
│ │ │ ├── LmSelect.js.map
│ │ │ ├── LmSlider.js
│ │ │ ├── LmSlider.js.map
│ │ │ ├── LmStarRating.js
│ │ │ ├── LmStarRating.js.map
│ │ │ ├── LmSwitch.js
│ │ │ ├── LmSwitch.js.map
│ │ │ ├── formContainerTypes.js
│ │ │ ├── formContainerTypes.js.map
│ │ │ ├── index.js
│ │ │ ├── index.js.map
│ │ │ └── rhf
│ │ │ ├── LmAutocompleteRhf.js
│ │ │ ├── LmAutocompleteRhf.js.map
│ │ │ ├── LmCheckboxRhf.js
│ │ │ ├── LmCheckboxRhf.js.map
│ │ │ ├── LmFormRhfProvider.js
│ │ │ ├── LmFormRhfProvider.js.map
│ │ │ ├── LmInputRhf.js
│ │ │ ├── LmInputRhf.js.map
│ │ │ ├── LmRadioGroupRhf.js
│ │ │ ├── LmRadioGroupRhf.js.map
│ │ │ ├── LmResetButtonRhf.js
│ │ │ ├── LmResetButtonRhf.js.map
│ │ │ ├── LmSelectRhf.js
│ │ │ ├── LmSelectRhf.js.map
│ │ │ ├── LmSliderRhf.js
│ │ │ ├── LmSliderRhf.js.map
│ │ │ ├── LmStarRatingRhf.js
│ │ │ ├── LmStarRatingRhf.js.map
│ │ │ ├── LmSubmitButtonRhf.js
│ │ │ ├── LmSubmitButtonRhf.js.map
│ │ │ ├── LmSwitchRhf.js
│ │ │ ├── LmSwitchRhf.js.map
│ │ │ ├── index.js
│ │ │ ├── index.js.map
│ │ │ ├── lmRhfProps.js
│ │ │ └── lmRhfProps.js.map
│ ├── package.json
│ ├── readme.md
│ ├── src
│ │ ├── LmAutocomplete.tsx
│ │ ├── LmCheckbox.tsx
│ │ ├── LmFormFieldContainer.tsx
│ │ ├── LmInput.tsx
│ │ ├── LmRadioGroup.tsx
│ │ ├── LmSelect.tsx
│ │ ├── LmSlider.tsx
│ │ ├── LmStarRating.tsx
│ │ ├── LmSwitch.tsx
│ │ ├── formContainerTypes.ts
│ │ ├── index.ts
│ │ ├── rhf
│ │ │ ├── LmAutocompleteRhf.tsx
│ │ │ ├── LmCheckboxRhf.tsx
│ │ │ ├── LmFormRhfProvider.tsx
│ │ │ ├── LmInputRhf.tsx
│ │ │ ├── LmRadioGroupRhf.tsx
│ │ │ ├── LmResetButtonRhf.tsx
│ │ │ ├── LmSelectRhf.tsx
│ │ │ ├── LmSliderRhf.tsx
│ │ │ ├── LmStarRatingRhf.tsx
│ │ │ ├── LmSubmitButtonRhf.tsx
│ │ │ ├── LmSwitchRhf.tsx
│ │ │ ├── index.ts
│ │ │ └── lmRhfProps.tsx
│ │ └── tamagui.config.ts
│ └── tsconfig.json
├── link
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── LmLinkButton.tsx
│ │ └── index.ts
│ └── tsconfig.json
├── rich-text
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── LmRichText.native.tsx
│ │ ├── LmRichText.tsx
│ │ ├── LmRichTextRhf.tsx
│ │ ├── LmTipTapMenuBar.tsx
│ │ ├── index.ts
│ │ ├── proseMirror.css
│ │ └── richTextTypes.ts
│ └── tsconfig.json
├── video
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ │ ├── LmVideo.tsx
│ │ ├── index.ts
│ │ └── videoTypes.ts
│ └── tsconfig.json
└── youtube
│ ├── .gitignore
│ ├── CHANGELOG.md
│ ├── package.json
│ ├── src
│ ├── LmYoutubeEmbed.tsx
│ ├── LmYoutubeEmbed.web.tsx
│ ├── index.ts
│ └── videoEmbedTypes.ts
│ ├── tsconfig.json
│ └── types
│ ├── LmYoutubeEmbed.d.ts
│ ├── index.d.ts
│ └── videoEmbedTypes.d.ts
├── readme.md
├── tsconfig.base.json
├── tsconfig.json
├── turbo.json
└── yarn.lock
/.changeset/README.md:
--------------------------------------------------------------------------------
1 | # Changesets
2 |
3 | Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4 | with multi-package repos, or single-package repos to help you version and publish your code. You can
5 | find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6 |
7 | We have a quick list of common questions to get you started engaging with this project in
8 | [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)
9 |
--------------------------------------------------------------------------------
/.changeset/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json",
3 | "changelog": "@changesets/cli/changelog",
4 | "commit": false,
5 | "fixed": [],
6 | "linked": [],
7 | "access": "restricted",
8 | "baseBranch": "master",
9 | "updateInternalDependencies": "patch",
10 | "ignore": []
11 | }
12 |
--------------------------------------------------------------------------------
/.github/FUNDING.yml:
--------------------------------------------------------------------------------
1 | # These are supported funding model platforms
2 |
3 | github: [dohomi]
4 | patreon: # Replace with a single Patreon username
5 | open_collective: # Replace with a single Open Collective username
6 | ko_fi: # Replace with a single Ko-fi username
7 | tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
8 | community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
9 | liberapay: # Replace with a single Liberapay username
10 | issuehunt: # Replace with a single IssueHunt username
11 | lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
12 | polar: # Replace with a single Polar username
13 | buy_me_a_coffee: dohomi
14 | custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
15 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | /node_modules
2 | .yarn/*
3 | !.yarn/patches
4 | !.yarn/plugins
5 | !.yarn/releases
6 | !.yarn/sdks
7 | !.yarn/versions
8 |
9 | # expo
10 | **/.expo/*
11 |
12 | # next.js
13 | **/.next/*
14 | /out/
15 |
16 | # production
17 | /build
18 |
19 | # debug
20 | npm-debug.log*
21 | yarn-debug.log*
22 | yarn-error.log*
23 | .pnpm-debug.log*
24 |
25 | # local env files
26 | .env.local
27 | .env.development.local
28 | .env.test.local
29 | .env.production.local
30 | .env
31 |
32 | # vercel
33 | .vercel
34 |
35 | # typescript
36 | *.tsbuildinfo
37 |
38 | # os
39 | .DS_Store
40 | THUMBS_DB
41 | thumbs.db
42 |
43 | .idea
44 | .vscode
45 | turbo-build.log
46 | graphql.config.*
47 | .graphqlconfig
48 | schema.graphql
49 | .tamagui
50 | .turbo
51 | dist
52 |
53 | **/types/**/*.d.ts.map
54 |
--------------------------------------------------------------------------------
/.npmrc:
--------------------------------------------------------------------------------
1 | registry: https://registry.npmjs.org/
2 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "trailingComma": "es5",
3 | "semi": false,
4 | "singleQuote": true,
5 | "arrowParens": "always",
6 | "printWidth": 100
7 | }
8 |
--------------------------------------------------------------------------------
/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | compressionLevel: mixed
2 |
3 | enableGlobalCache: false
4 |
5 | enableTelemetry: false
6 |
7 | logFilters:
8 | - code: YN0002
9 | level: discard
10 | - code: YN0060
11 | level: discard
12 | - code: YN0006
13 | level: discard
14 | - code: YN0076
15 | level: discard
16 | - code: YN0013
17 | level: discard
18 |
19 | nmHoistingLimits: none
20 |
21 | nodeLinker: node-modules
22 |
23 | yarnPath: .yarn/releases/yarn-4.1.1.cjs
24 |
--------------------------------------------------------------------------------
/apps/expo/app/icons.tsx:
--------------------------------------------------------------------------------
1 | import IconsScreen from 'app/src/features/icons/IconsScreen'
2 |
3 | export default IconsScreen
4 |
--------------------------------------------------------------------------------
/apps/expo/app/index.tsx:
--------------------------------------------------------------------------------
1 | import { HomeScreen } from 'app/src/features/home/HomeScreen'
2 |
3 | export default function Home() {
4 | return
5 | }
6 |
--------------------------------------------------------------------------------
/apps/expo/app/media.tsx:
--------------------------------------------------------------------------------
1 | import { MediaScreen } from 'app/src/features/media/MediaScreen'
2 |
3 | export default MediaScreen
4 |
--------------------------------------------------------------------------------
/apps/expo/app/overview.tsx:
--------------------------------------------------------------------------------
1 | import {OverviewScreen} from "app/src/features/overview/overview";
2 |
3 | export default OverviewScreen
--------------------------------------------------------------------------------
/apps/expo/app/playground.tsx:
--------------------------------------------------------------------------------
1 | import { PlaygroundScreen } from 'app/src/features/playground/playground'
2 |
3 | export default function Playground() {
4 | return
5 | }
6 |
--------------------------------------------------------------------------------
/apps/expo/assets/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/expo/assets/adaptive-icon.png
--------------------------------------------------------------------------------
/apps/expo/assets/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/expo/assets/favicon.png
--------------------------------------------------------------------------------
/apps/expo/assets/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/expo/assets/icon.png
--------------------------------------------------------------------------------
/apps/expo/assets/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/expo/assets/splash.png
--------------------------------------------------------------------------------
/apps/expo/eas.json:
--------------------------------------------------------------------------------
1 | {
2 | "build": {
3 | "development": {
4 | "distribution": "internal",
5 | "android": {
6 | "buildType": "apk"
7 | },
8 | "ios": {
9 | "simulator": true,
10 | "image": "latest"
11 | }
12 | },
13 | "production": {
14 | "distribution": "store",
15 | "android": {
16 | "buildType": "app-bundle"
17 | }
18 | }
19 | }
20 | }
--------------------------------------------------------------------------------
/apps/expo/i18n.ts:
--------------------------------------------------------------------------------
1 | import { initReactI18next } from 'react-i18next'
2 |
3 | import i18n from 'i18next'
4 | // @ts-ignore
5 | import EN from '../next/public/locales/en/common.json'
6 | // @ts-ignore
7 | import DE from '../next/public/locales/de/common.json'
8 |
9 | const ns = ['common']
10 | const supportedLngs = ['en', 'de']
11 |
12 | i18n.use(initReactI18next).init({
13 | //debug: true,
14 | lng: 'en',
15 | fallbackLng: 'en',
16 | compatibilityJSON: 'v3', // because of expo rn
17 | interpolation: { escapeValue: false },
18 | supportedLngs,
19 | ns,
20 | defaultNS: 'common',
21 | resources: {
22 | en: {
23 | common: EN,
24 | },
25 | de: { common: DE },
26 | },
27 | })
28 |
29 | export default i18n
30 |
--------------------------------------------------------------------------------
/apps/expo/index.js:
--------------------------------------------------------------------------------
1 | // registerRootComponent happens in "expo-router/entry"
2 | import 'expo-router/entry'
3 |
--------------------------------------------------------------------------------
/apps/expo/metro.config.js:
--------------------------------------------------------------------------------
1 | // Learn more https://docs.expo.io/guides/customizing-metro
2 | /**
3 | * @type {import('expo/metro-config')}
4 | */
5 | const { getDefaultConfig } = require('@expo/metro-config')
6 | const path = require('path')
7 |
8 | const projectRoot = __dirname
9 | const workspaceRoot = path.resolve(__dirname, '../..')
10 |
11 | const config = getDefaultConfig(projectRoot)
12 |
13 | config.watchFolders = [workspaceRoot]
14 | config.resolver.nodeModulesPaths = [
15 | path.resolve(projectRoot, 'node_modules'),
16 | path.resolve(workspaceRoot, 'node_modules'),
17 | ]
18 | config.resolver.disableHierarchicalLookup = true
19 | config.resolver = {
20 | ...config.resolver,
21 | }
22 |
23 | config.transformer = { ...config.transformer, unstable_allowRequireContext: true }
24 | config.transformer.minifierPath = require.resolve('metro-minify-terser')
25 |
26 | module.exports = config
27 |
--------------------------------------------------------------------------------
/apps/expo/tamagui.config.ts:
--------------------------------------------------------------------------------
1 | import { config } from '@tamagui-extras/config'
2 |
3 | export type Conf = typeof config
4 |
5 | declare module 'tamagui' {
6 | interface TamaguiCustomConfig extends Conf {}
7 | }
8 | export default config
9 |
--------------------------------------------------------------------------------
/apps/expo/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "app/**/*.ts",
5 | "app/**/*.tsx",
6 | "i18n.ts"
7 | ],
8 | "compilerOptions": {
9 | "composite": true,
10 | "jsx": "react-jsx"
11 | },
12 | "references": []
13 | }
--------------------------------------------------------------------------------
/apps/next/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | extends: 'next',
3 | root: true,
4 | }
5 |
--------------------------------------------------------------------------------
/apps/next/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules
2 | .next
3 | dist
4 | .vercel
5 |
--------------------------------------------------------------------------------
/apps/next/next-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 | ///
3 |
4 | // NOTE: This file should not be edited
5 | // see https://nextjs.org/docs/basic-features/typescript for more information.
6 |
--------------------------------------------------------------------------------
/apps/next/next-i18next.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | i18n: {
3 | defaultLocale: 'en',
4 | locales: ['en', 'de'],
5 | },
6 | }
7 |
--------------------------------------------------------------------------------
/apps/next/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/next/public/favicon.ico
--------------------------------------------------------------------------------
/apps/next/public/locales/de/common.json:
--------------------------------------------------------------------------------
1 | {
2 | "test": "TestEN",
3 | "common": {
4 | "ok": "OK!",
5 | "cancel": "Abbrechen",
6 | "back": "Zurück"
7 | },
8 | "home": "Startseite",
9 | "playground": "Spielwiese",
10 | "errors": {
11 | "invalidEmail": "Ungültige E-Mail-Adresse."
12 | },
13 | "icons": "Icons",
14 | "close": "Schließen",
15 | "welcomeScreen": {
16 | "home": "HomeEN"
17 | },
18 | "overviewScreen": {
19 | "headline": "Übersicht"
20 | },
21 | "mediaScreen": {
22 | "headline": "Medien"
23 | }
24 | }
--------------------------------------------------------------------------------
/apps/next/public/locales/en/common.json:
--------------------------------------------------------------------------------
1 | {
2 | "test": "TestEN",
3 | "common": {
4 | "ok": "OK!",
5 | "cancel": "Cancel",
6 | "back": "Back"
7 | },
8 | "home": "Home",
9 | "playground": "Playground",
10 | "errors": {
11 | "invalidEmail": "Invalid email address."
12 | },
13 | "icons": "Icons",
14 | "close": "Close",
15 | "welcomeScreen": {
16 | "home": "HomeEN"
17 | },
18 | "overviewScreen": {
19 | "headline": "Overview"
20 | },
21 | "mediaScreen": {
22 | "headline": "Media"
23 | }
24 | }
--------------------------------------------------------------------------------
/apps/next/src/pages/icons.tsx:
--------------------------------------------------------------------------------
1 | import IconsScreen from 'app/src/features/icons/IconsScreen'
2 |
3 | export default IconsScreen
4 |
--------------------------------------------------------------------------------
/apps/next/src/pages/index.tsx:
--------------------------------------------------------------------------------
1 | export { HomeScreen as default } from 'app/src/features/home/HomeScreen'
2 |
3 | export { getStaticProps } from '../util/appGetStaticProps'
4 |
--------------------------------------------------------------------------------
/apps/next/src/pages/media.tsx:
--------------------------------------------------------------------------------
1 | export { MediaScreen as default } from 'app/src/features/media/MediaScreen'
2 | export { getStaticProps } from '../util/appGetStaticProps'
3 |
--------------------------------------------------------------------------------
/apps/next/src/pages/overview.tsx:
--------------------------------------------------------------------------------
1 | export { OverviewScreen as default } from 'app/src/features/overview/overview'
2 |
3 | export { getStaticProps } from '../util/appGetStaticProps'
4 |
--------------------------------------------------------------------------------
/apps/next/src/pages/playground.tsx:
--------------------------------------------------------------------------------
1 | export { PlaygroundScreen as default } from 'app/src/features/playground/playground'
2 |
3 | export { getStaticProps } from '../util/appGetStaticProps'
4 |
--------------------------------------------------------------------------------
/apps/next/src/util/appGetStaticProps.ts:
--------------------------------------------------------------------------------
1 | import { GetStaticPropsContext } from 'next'
2 | import { serverSideTranslations } from 'next-i18next/serverSideTranslations'
3 |
4 | export const getStaticProps = async ({ locale }: GetStaticPropsContext) => {
5 | return {
6 | props: {
7 | ...(await serverSideTranslations(locale || 'en', ['common'])),
8 | // Will be passed to the page component as props
9 | },
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/apps/next/tamagui.config.ts:
--------------------------------------------------------------------------------
1 | import { config } from '@tamagui-extras/config'
2 |
3 | export type Conf = typeof config
4 |
5 | declare module 'tamagui' {
6 | interface TamaguiCustomConfig extends Conf {}
7 | }
8 | export default config
9 |
--------------------------------------------------------------------------------
/apps/next/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "lib": ["dom", "dom.iterable", "esnext"],
5 | "baseUrl": "./",
6 | "paths": {
7 | "react-native": [
8 | "react-native-web"
9 | ]
10 | },
11 | "allowJs": true,
12 | "skipLibCheck": true,
13 | "strict": true,
14 | "forceConsistentCasingInFileNames": true,
15 | "noEmit": true,
16 | "esModuleInterop": true,
17 | "downlevelIteration": true,
18 | "module": "esnext",
19 | "moduleResolution": "node",
20 | "resolveJsonModule": true,
21 | "isolatedModules": true,
22 | "jsx": "preserve",
23 | "incremental": true
24 | },
25 | "include": [
26 | "next-env.d.ts", "**/*.ts", "**/*.tsx"],
27 | "exclude": [
28 | "node_modules"
29 | ]
30 | }
31 |
--------------------------------------------------------------------------------
/apps/next/turbo.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "//"
4 | ],
5 | "pipeline": {
6 | "build": {
7 | "outputs": [
8 | ".next/**",
9 | "!.next/cache/**"
10 | ]
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/apps/sb-vite/.eslintrc.cjs:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | env: { browser: true, es2020: true },
4 | extends: ['eslint:recommended', 'plugin:@typescript-eslint/recommended', 'plugin:react-hooks/recommended', 'plugin:storybook/recommended'],
5 | ignorePatterns: ['dist', '.eslintrc.cjs'],
6 | parser: '@typescript-eslint/parser',
7 | plugins: ['react-refresh'],
8 | rules: {
9 | 'react-refresh/only-export-components': [
10 | 'warn',
11 | { allowConstantExport: true },
12 | ],
13 | },
14 | }
15 |
--------------------------------------------------------------------------------
/apps/sb-vite/.gitignore:
--------------------------------------------------------------------------------
1 | # Logs
2 | logs
3 | *.log
4 | npm-debug.log*
5 | yarn-debug.log*
6 | yarn-error.log*
7 | pnpm-debug.log*
8 | lerna-debug.log*
9 |
10 | node_modules
11 | dist
12 | dist-ssr
13 | *.local
14 |
15 | # Editor directories and files
16 | .vscode/*
17 | !.vscode/extensions.json
18 | .idea
19 | .DS_Store
20 | *.suo
21 | *.ntvs*
22 | *.njsproj
23 | *.sln
24 | *.sw?
25 |
--------------------------------------------------------------------------------
/apps/sb-vite/.storybook/preview-head.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/apps/sb-vite/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Vite + React + TS
8 |
9 |
10 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/apps/sb-vite/src/App.css:
--------------------------------------------------------------------------------
1 | #root {
2 | max-width: 1280px;
3 | margin: 0 auto;
4 | padding: 2rem;
5 | text-align: center;
6 | }
7 |
8 | .logo {
9 | height: 6em;
10 | padding: 1.5em;
11 | will-change: filter;
12 | transition: filter 300ms;
13 | }
14 | .logo:hover {
15 | filter: drop-shadow(0 0 2em #646cffaa);
16 | }
17 | .logo.react:hover {
18 | filter: drop-shadow(0 0 2em #61dafbaa);
19 | }
20 |
21 | @keyframes logo-spin {
22 | from {
23 | transform: rotate(0deg);
24 | }
25 | to {
26 | transform: rotate(360deg);
27 | }
28 | }
29 |
30 | @media (prefers-reduced-motion: no-preference) {
31 | a:nth-of-type(2) .logo {
32 | animation: logo-spin infinite 20s linear;
33 | }
34 | }
35 |
36 | .card {
37 | padding: 2em;
38 | }
39 |
40 | .read-the-docs {
41 | color: #888;
42 | }
43 |
--------------------------------------------------------------------------------
/apps/sb-vite/src/App.tsx:
--------------------------------------------------------------------------------
1 | import './App.css'
2 | import { LmTamaguiProvider } from 'app/src/provider/LmTamaguiProvider.tsx'
3 | import { RootStack } from './Router.tsx'
4 |
5 | function App() {
6 | return (
7 |
8 |
9 |
10 | )
11 | }
12 |
13 | export default App
14 |
--------------------------------------------------------------------------------
/apps/sb-vite/src/Router.tsx:
--------------------------------------------------------------------------------
1 | import { createStackNavigator } from '@react-navigation/stack'
2 | import { Home } from './screens/Home.tsx'
3 | import { NavigationContainer } from '@react-navigation/native'
4 |
5 | const Stack = createStackNavigator()
6 |
7 | export function RootStack() {
8 | return (
9 |
10 |
11 |
12 |
13 |
14 | )
15 | }
16 |
--------------------------------------------------------------------------------
/apps/sb-vite/src/index.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/src/index.css
--------------------------------------------------------------------------------
/apps/sb-vite/src/main.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import ReactDOM from 'react-dom/client'
3 | import '@tamagui/core/reset.css'
4 | import '@fontsource/inter/400.css'
5 | import '@fontsource/inter/700.css'
6 | import 'raf/polyfill'
7 | import App from './App.tsx'
8 |
9 | ReactDOM.createRoot(document.getElementById('root')!).render(
10 |
11 |
12 |
13 | )
14 |
--------------------------------------------------------------------------------
/apps/sb-vite/src/screens/Home.tsx:
--------------------------------------------------------------------------------
1 | import { useState } from 'react'
2 | import { Paragraph, YStack } from 'tamagui'
3 |
4 | export function Home() {
5 | const [count, setCount] = useState(0)
6 |
7 | return (
8 |
9 | hallo
10 |
11 | )
12 | }
13 |
--------------------------------------------------------------------------------
/apps/sb-vite/src/vite-env.d.ts:
--------------------------------------------------------------------------------
1 | ///
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/Anchor-4_t_3kaw.js:
--------------------------------------------------------------------------------
1 | import"./index-4g5l5LRQ.js";import{s as r,j as i}from"./Stacks-cf55noxu.js";import{S as m}from"./Headings-zc2v6h-R.js";const s=r(m,{name:"Anchor",tag:"a",accessibilityRole:"link"}),p=s.styleable(({href:o,target:t,...a},e)=>i.jsx(s,{...a,href:o,target:t,ref:e}));export{p as A};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/DatepickerProvider-XA7obZFU.js:
--------------------------------------------------------------------------------
1 | import{j as a}from"./Stacks-cf55noxu.js";import{r as e}from"./index-4g5l5LRQ.js";const r={rtl:!1,focusedDate:null,isDateFocused:()=>!1,isDateSelected:()=>!1,isDateHovered:()=>!1,isDateBlocked:()=>!1,isFirstOrLastSelectedDate:()=>!1,onDateFocus:()=>{},onDateHover:()=>{},onDateSelect:()=>{},onDayRender:void 0,goToPreviousMonthsByOneMonth:()=>{},goToPreviousMonths:()=>{},goToNextMonthsByOneMonth:()=>{},goToNextMonths:()=>{},goToPreviousYear:()=>{},goToNextYear:()=>{}},t=e.createContext(r),c=({children:o,...s})=>a.jsx(t.Provider,{value:s,children:o}),l=()=>e.useContext(t);export{c as L,l as u};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/Image-E4WYJ6IT.js:
--------------------------------------------------------------------------------
1 | import{r as m}from"./index-4g5l5LRQ.js";import{s as d,j as g}from"./Stacks-cf55noxu.js";import{I as e}from"./index-UfAEvnza.js";import{e as u}from"./index-_wg5PwQV.js";const o=d(e,{name:"Image"}),r=o.extractable(m.forwardRef((i,c)=>{const[a,h]=u(i),{src:s,source:f,...p}=a;let t=typeof s=="string"?{uri:s,width:a.width,height:a.height}:f??s;return t&&typeof t=="object"&&t.default&&(t=t.default),g.jsx(o,{ref:c,source:t,style:h,...p})}));r.getSize=e.getSize;r.getSizeWithHeaders=e.getSizeWithHeaders;r.prefetch=e.prefetch;r.prefetchWithMetadata=e.prefetchWithMetadata;r.abortPrefetch=e.abortPrefetch;r.queryCache=e.queryCache;export{r as I};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmCard-_C9bX3cF.js:
--------------------------------------------------------------------------------
1 | import{j as r}from"./Stacks-cf55noxu.js";import{L as i}from"./LmImage-J69gcWFB.js";import{C as s}from"./Card-MZrg_zQJ.js";import{H as p,P as l}from"./Headings-zc2v6h-R.js";const y=({bouncy:a,title:o,subTitle:d,footer:t,image:e,children:h,theme:c="gray",...n})=>r.jsxs(s,{elevate:!0,size:"$4",bordered:!0,...a&&{animation:"bouncy",scale:.9,hoverStyle:{scale:.925},pressStyle:{scale:.875}},theme:c,...n,children:[(o||d)&&r.jsxs(s.Header,{padded:!0,children:[o&&r.jsx(p,{children:o}),d&&r.jsx(l,{theme:"alt2",children:d})]}),h,t&&r.jsx(s.Footer,{padded:!0,children:t}),!!(e!=null&&e.src)&&r.jsx(s.Background,{children:r.jsx(i,{position:"absolute",resizeMode:"cover",width:"100%",height:"auto",src:e.src,source:{width:e.width,height:e.height}})})]});export{y as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmFormRhfProvider-OKkc2Xhx.js:
--------------------------------------------------------------------------------
1 | import{u as n,F as t}from"./index.esm-qGf7LkUX.js";import{j as s}from"./Stacks-cf55noxu.js";function u({children:o,forceFormProvider:m,...e}){const r=n({...e});return typeof o=="function"?m?s.jsx(t,{...r,children:o(r)}):s.jsx(s.Fragment,{children:o(r)}):s.jsx(t,{...r,children:o})}export{u as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmFormRhfProvider-PduC4BrJ.js:
--------------------------------------------------------------------------------
1 | import{j as s}from"./Stacks-cf55noxu.js";import{u as n,F as t}from"./index.esm-qGf7LkUX.js";function u({children:o,forceFormProvider:m,...e}){const r=n({...e});return typeof o=="function"?m?s.jsx(t,{...r,children:o(r)}):s.jsx(s.Fragment,{children:o(r)}):s.jsx(t,{...r,children:o})}export{u as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmImage-J69gcWFB.js:
--------------------------------------------------------------------------------
1 | import{j as i,S as o}from"./Stacks-cf55noxu.js";import"./index-_wg5PwQV.js";import"./index-4g5l5LRQ.js";import"./index-TmN4oE2O.js";import{I as m}from"./Image-E4WYJ6IT.js";function x({aspectRatio:t,...r}){return t?i.jsx(o,{width:"100%",aspectRatio:t,position:"relative",children:i.jsx(m,{...r,aspectRatio:t,width:"100%!important",height:"100%!important",resizeMode:"contain"})}):i.jsx(m,{...r})}export{x as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmImage-bkyQyklE.js:
--------------------------------------------------------------------------------
1 | import"./index-_wg5PwQV.js";import{j as i,S as o}from"./Stacks-cf55noxu.js";import"./index-4g5l5LRQ.js";import"./index-TmN4oE2O.js";import{I as m}from"./Image-E4WYJ6IT.js";function x({aspectRatio:t,...r}){return t?i.jsx(o,{width:"100%",aspectRatio:t,position:"relative",children:i.jsx(m,{...r,aspectRatio:t,width:"100%!important",height:"100%!important",resizeMode:"contain"})}):i.jsx(m,{...r})}export{x as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmImage.stories-VGIocnfM.js:
--------------------------------------------------------------------------------
1 | import"./Stacks-cf55noxu.js";import"./index-4g5l5LRQ.js";import"./LmGrid-dD4DUrOQ.js";import{L as m}from"./LmImage-J69gcWFB.js";import"./_commonjsHelpers-4gQjN7DL.js";import"./index-_wg5PwQV.js";import"./EventEmitter-3h9cKSNS.js";import"./toPropertyKey-NzAT2yhV.js";import"./index-TmN4oE2O.js";import"./extends-nGe_wfaW.js";import"./index-iwWdm5Ml.js";import"./Headings-zc2v6h-R.js";import"./Image-E4WYJ6IT.js";import"./index-UfAEvnza.js";const f={title:"core/Content/Image",component:m},i="https://placekitten.com/400/300",r={args:{width:400,height:300,src:i}};var t,o,e;r.parameters={...r.parameters,docs:{...(t=r.parameters)==null?void 0:t.docs,source:{originalSource:`{
2 | args: {
3 | width: 400,
4 | height: 300,
5 | src: imageSrc
6 | }
7 | }`,...(e=(o=r.parameters)==null?void 0:o.docs)==null?void 0:e.source}}};const w=["Basic"];export{r as Basic,w as __namedExportsOrder,f as default};
8 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmInputRhf-gaBMKt7J.js:
--------------------------------------------------------------------------------
1 | import{C as d}from"./index.esm-qGf7LkUX.js";import{L as l}from"./LmAutocomplete-kGbePZjJ.js";import{j as i}from"./Stacks-cf55noxu.js";function j({name:m,control:o,rules:t={},defaultValue:s,...e}){return e.required&&(t.required="This field is required"),i.jsx(d,{name:m,rules:t,control:o,defaultValue:s,render:({field:{onChange:a,value:f,onBlur:n,ref:x},fieldState:{error:r}})=>i.jsx(l,{...e,ref:x,value:f??"",onBlur:n,error:!!r,onChangeText:a,helperText:r?r.message:e.helperText})})}export{j as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmRichText-uAq-LfkS.css:
--------------------------------------------------------------------------------
1 | ul,ol{padding:0 1rem}h1,h2,h3,h4,h5,h6{line-height:1.1}.ProseMirror p:first-child,.ProseMirror h1:first-child,.ProseMirror h2:first-child,.ProseMirror h3:first-child,.ProseMirror h4:first-child,.ProseMirror h5:first-child,.ProseMirror h6:first-child{margin-top:10px}.ProseMirror{padding:4px 8px 4px 14px;line-height:1.2;outline:none}.ProseMirror p{margin-bottom:1em}.ProseMirror ul,.ProseMirror ol{list-style-position:outside;padding:0 0 0 2em;margin:0 0 0 1em}.ProseMirror ul{list-style-type:disc;margin-left:1.5em}.ProseMirror ol{list-style-type:decimal;margin-left:1.5em}.ProseMirror li{display:list-item;margin:.5em 0 .5em 1em}
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmSheet-nphtVfUp.js:
--------------------------------------------------------------------------------
1 | import{r as p}from"./index-4g5l5LRQ.js";import{j as s}from"./Stacks-cf55noxu.js";import{S as t}from"./index-_wg5PwQV.js";function h({hideHandle:r,children:i,fullScreen:o,snapPoints:n=[85,50,25],enableScroll:m,scrollviewProps:e,...a}){const[d,x]=p.useState(0);return s.jsxs(t,{modal:!0,dismissOnSnapToBottom:!0,...a,snapPoints:o?[100,0]:n,disableDrag:o?!0:a.disableDrag,position:d,onPositionChange:x,children:[!o&&s.jsx(t.Overlay,{}),!r&&!o&&s.jsx(t.Handle,{}),s.jsx(t.Frame,{flex:1,padding:"$4",borderRadius:o?0:void 0,children:m?s.jsx(t.ScrollView,{...e,children:i}):s.jsx(s.Fragment,{children:i})})]})}export{h as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmSheet-yZcxhf80.js:
--------------------------------------------------------------------------------
1 | import{j as s}from"./Stacks-cf55noxu.js";import{r as p}from"./index-4g5l5LRQ.js";import{S as t}from"./index-_wg5PwQV.js";function b({hideHandle:r,children:i,fullScreen:o,snapPoints:e=[85,50,25],enableScroll:n,scrollviewProps:m,...a}){const[d,x]=p.useState(0);return s.jsxs(t,{modal:!0,dismissOnSnapToBottom:!0,...a,snapPoints:o?[100,0]:e,disableDrag:o?!0:a.disableDrag,position:d,onPositionChange:x,children:[!o&&s.jsx(t.Overlay,{}),!r&&!o&&s.jsx(t.Handle,{}),s.jsx(t.Frame,{flex:1,padding:"$4",borderRadius:o?0:void 0,children:n?s.jsx(t.ScrollView,{...m,children:i}):s.jsx(s.Fragment,{children:i})})]})}export{b as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmSubmitButtonRhf-85k1ezmG.js:
--------------------------------------------------------------------------------
1 | import{j as s}from"./Stacks-cf55noxu.js";import"./index-4g5l5LRQ.js";import{L as a}from"./LmGrid--faLWKbq.js";import{a as e}from"./index.esm-qGf7LkUX.js";function l({onSubmit:m,...t}){const o=e(),{handleSubmit:n,formState:r}=o;return s.jsx(a,{...t,onPress:n(i=>{m(i,o)}),loading:r.isValidating||t.loading})}export{l as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmSubmitButtonRhf-Epz0h-MI.js:
--------------------------------------------------------------------------------
1 | import"./index-4g5l5LRQ.js";import{j as a}from"./Stacks-cf55noxu.js";import{L as s}from"./LmGrid--faLWKbq.js";import{a as e}from"./index.esm-qGf7LkUX.js";function l({onSubmit:m,...t}){const o=e(),{handleSubmit:n,formState:r}=o;return a.jsx(s,{...t,onPress:n(i=>{m(i,o)}),loading:r.isValidating||t.loading})}export{l as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/LmYoutubeEmbed.web-Q44Tzmd_.js:
--------------------------------------------------------------------------------
1 | import{n as c}from"./index-_wg5PwQV.js";import{j as e,S as t}from"./Stacks-cf55noxu.js";import{r as l}from"./index-4g5l5LRQ.js";import"./index-TmN4oE2O.js";import"./LmGrid--faLWKbq.js";function p(){return e.jsx(t,{position:"absolute",top:0,left:0,backgroundColor:"$gray5",width:"100%",height:"100%",alignItems:"center",display:"flex",justifyContent:"center",children:e.jsx(c,{})})}function h({youtubeId:o="JxS5E-kZc2s",aspectRatio:r=16/9,width:i="100%",...n}){const[s,a]=l.useState(!1);return e.jsxs(t,{...n,width:i,aspectRatio:r,position:"relative",children:[!s&&e.jsx(p,{}),e.jsx("iframe",{src:`https://www.youtube-nocookie.com/embed/${o}?controls=1`,frameBorder:"0",width:"100%",height:"100%",allow:"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture",allowFullScreen:!0,onLoad:()=>a(!0)})]})}export{h as L};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/RCTDeviceEventEmitter-v7vvFmgm.js:
--------------------------------------------------------------------------------
1 | import{E as t}from"./EventEmitter-3h9cKSNS.js";const r=new t;export{r as R};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/Separator-xEpcC6ux.js:
--------------------------------------------------------------------------------
1 | import"./index-4g5l5LRQ.js";import{s as t,S as r}from"./Stacks-cf55noxu.js";const e=t(r,{name:"Separator",borderColor:"$borderColor",flexShrink:0,borderWidth:0,flex:1,height:0,maxHeight:0,borderBottomWidth:1,y:-.5,variants:{vertical:{true:{y:0,x:-.5,height:"initial",maxHeight:"initial",width:0,maxWidth:0,borderBottomWidth:0,borderRightWidth:1}}}});export{e as S};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/SizableStack-x2xeJTXj.js:
--------------------------------------------------------------------------------
1 | import{h as a,p as r,f as t,i as o,j as m,k as i,l as h}from"./index-_wg5PwQV.js";import{s as c,X as l}from"./Stacks-cf55noxu.js";const p=c(l,{name:"SizableStack",variants:{unstyled:{true:{hoverTheme:!1,pressTheme:!1,focusTheme:!1,elevate:!1,bordered:!1}},hoverTheme:a,pressTheme:r,focusTheme:t,circular:o,elevate:m,bordered:i,size:{"...size":(e,s)=>h(e,s)}}});export{p as S};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/Text-GPmJrOtX.js:
--------------------------------------------------------------------------------
1 | import{s as e,T as s}from"./Stacks-cf55noxu.js";var t={};const o=e(s,{variants:{unstyled:{false:{color:"$color"}}},defaultVariants:{unstyled:t.TAMAGUI_HEADLESS==="1"}});export{o as T};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/WithTooltip-V3YHNWJZ-tSIKRWN9.js:
--------------------------------------------------------------------------------
1 | import{W as x,W as P,a as S}from"./DocsRenderer-NNNQARDV-Dmht8yMW.js";import"./iframe-JsPZtx2K.js";import"../sb-preview/runtime.js";import"./index-4g5l5LRQ.js";import"./_commonjsHelpers-4gQjN7DL.js";import"./react-18-gDJZMjUw.js";import"./index-iwWdm5Ml.js";import"./_commonjs-dynamic-modules-FZ9QPYRN.js";import"./extends-nGe_wfaW.js";import"./index-ogXoivrg.js";import"./_getPrototype-MXemwaK5.js";import"./_baseIsEqual-CFr8iVHd.js";import"./uniq-DjaUhnlG.js";import"./index-PPLHz8o0.js";export{x as WithToolTipState,P as WithTooltip,S as WithTooltipPure};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/_commonjs-dynamic-modules-FZ9QPYRN.js:
--------------------------------------------------------------------------------
1 | function a(t){if(t===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function n(t,o){return n=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(r,s){return r.__proto__=s,r},n(t,o)}function i(t){return i=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},i(t)}function c(t){throw new Error('Could not dynamically require "'+t+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}export{n as _,i as a,a as b,c};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/_commonjsHelpers-4gQjN7DL.js:
--------------------------------------------------------------------------------
1 | var u=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function f(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function l(e){if(e.__esModule)return e;var r=e.default;if(typeof r=="function"){var t=function o(){return this instanceof o?Reflect.construct(r,arguments,this.constructor):r.apply(this,arguments)};t.prototype=r.prototype}else t={};return Object.defineProperty(t,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var n=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,n.get?n:{enumerable:!0,get:function(){return e[o]}})}),t}export{l as a,u as c,f as g};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/context-W07bjnle.js:
--------------------------------------------------------------------------------
1 | import{_ as r,a as o}from"./createClass-SPiPqPE8.js";import{r as p}from"./index-4g5l5LRQ.js";var u=p.createContext(),i=function(){function e(){o(this,e),this.usedNamespaces={}}return r(e,[{key:"addUsedNamespaces",value:function(c){var s=this;c.forEach(function(a){s.usedNamespaces[a]||(s.usedNamespaces[a]=!0)})}},{key:"getUsedNamespaces",value:function(){return Object.keys(this.usedNamespaces)}}]),e}();export{u as I,i as R};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/createClass-SPiPqPE8.js:
--------------------------------------------------------------------------------
1 | import{t}from"./toPropertyKey-NzAT2yhV.js";function r(e,a){if(!(e instanceof a))throw new TypeError("Cannot call a class as a function")}function l(e,a){for(var f=0;fn(new Date(Date.UTC(2021,o%12))))}const m=e=>r(e).map((a,t)=>({value:t+1,label:a})),l=({localeName:e,options:a,date:t})=>t?new Intl.DateTimeFormat(e,a??{month:"2-digit",year:"numeric",day:"2-digit"}).format(t):"";export{l as a,m as g};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/index-PPLHz8o0.js:
--------------------------------------------------------------------------------
1 | function l(o){for(var f=[],i=1;i(e.current.value!==r&&(e.current.previous=e.current.value,e.current.value=r),e.current.previous),[r])}export{o as u};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/index-_VGcpBFS.js:
--------------------------------------------------------------------------------
1 | import{R as o}from"./index-4g5l5LRQ.js";import"./_commonjsHelpers-4gQjN7DL.js";const u=o.createContext({});function C(t){return e;function e(r){const n=i(r.components);return o.createElement(t,{...r,allComponents:n})}}function i(t){const e=o.useContext(u);return o.useMemo(()=>typeof t=="function"?t(e):{...e,...t},[e,t])}const c={};function a({components:t,children:e,disableParentContext:r}){let n;return r?n=typeof t=="function"?t({}):t||c:n=i(t),o.createElement(u.Provider,{value:n},e)}export{u as MDXContext,a as MDXProvider,i as useMDXComponents,C as withMDXComponents};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-all-400-normal-aTkQBzfv.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-all-400-normal-aTkQBzfv.woff
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-all-700-normal-w8d0EwWo.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-all-700-normal-w8d0EwWo.woff
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-cyrillic-400-normal-EPgtxUdt.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-cyrillic-400-normal-EPgtxUdt.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-cyrillic-700-normal-WjK-gRow.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-cyrillic-700-normal-WjK-gRow.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-cyrillic-ext-400-normal-hbwVqd76.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-cyrillic-ext-400-normal-hbwVqd76.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-cyrillic-ext-700-normal-rc5oWlJP.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-cyrillic-ext-700-normal-rc5oWlJP.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-greek-400-normal-YZIAb8Pm.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-greek-400-normal-YZIAb8Pm.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-greek-700-normal-hSEF9VNm.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-greek-700-normal-hSEF9VNm.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-greek-ext-400-normal-Ofy3y2SD.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-greek-ext-400-normal-Ofy3y2SD.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-greek-ext-700-normal-Ck4W3Q6w.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-greek-ext-700-normal-Ck4W3Q6w.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-latin-400-normal-GLYHyz0Z.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-latin-400-normal-GLYHyz0Z.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-latin-700-normal-Y9QfVihh.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-latin-700-normal-Y9QfVihh.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-latin-ext-400-normal-94UIUsAk.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-latin-ext-400-normal-94UIUsAk.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/inter-latin-ext-700-normal-CN7A-HjB.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/assets/inter-latin-ext-700-normal-CN7A-HjB.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/preview-PC0Xz-mG.js:
--------------------------------------------------------------------------------
1 | import{_ as t}from"./iframe-JsPZtx2K.js";import"../sb-preview/runtime.js";var _={docs:{renderer:async()=>{let{DocsRenderer:r}=await t(()=>import("./DocsRenderer-NNNQARDV-Dmht8yMW.js").then(e=>e.D),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12]),import.meta.url);return new r}}};export{_ as parameters};
2 | function __vite__mapDeps(indexes) {
3 | if (!__vite__mapDeps.viteFileDeps) {
4 | __vite__mapDeps.viteFileDeps = ["./DocsRenderer-NNNQARDV-Dmht8yMW.js","./iframe-JsPZtx2K.js","./index-4g5l5LRQ.js","./_commonjsHelpers-4gQjN7DL.js","./react-18-gDJZMjUw.js","./index-iwWdm5Ml.js","./_commonjs-dynamic-modules-FZ9QPYRN.js","./extends-nGe_wfaW.js","./index-ogXoivrg.js","./_getPrototype-MXemwaK5.js","./_baseIsEqual-CFr8iVHd.js","./uniq-DjaUhnlG.js","./index-PPLHz8o0.js"]
5 | }
6 | return indexes.map((i) => __vite__mapDeps.viteFileDeps[i])
7 | }
8 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/preview-VI2eoWmp.js:
--------------------------------------------------------------------------------
1 | import"./index-ogXoivrg.js";const{global:O}=__STORYBOOK_MODULE_GLOBAL__,{makeDecorator:E,addons:_}=__STORYBOOK_MODULE_PREVIEW_API__,{STORY_CHANGED:l,SELECT_STORY:L}=__STORYBOOK_MODULE_CORE_EVENTS__;var c="links",{document:i,HTMLElement:m}=O,v=e=>_.getChannel().emit(L,e),o=e=>{let{target:t}=e;if(!(t instanceof m))return;let s=t,{sbKind:a,sbStory:r}=s.dataset;(a||r)&&(e.preventDefault(),v({kind:a,story:r}))},n=!1,d=()=>{n||(n=!0,i.addEventListener("click",o))},k=()=>{n&&(n=!1,i.removeEventListener("click",o))},R=E({name:"withLinks",parameterName:c,wrapper:(e,t)=>(d(),_.getChannel().once(l,k),e(t))}),T=[R];export{T as decorators};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/preview-bEa2SesL.js:
--------------------------------------------------------------------------------
1 | const{global:r}=__STORYBOOK_MODULE_GLOBAL__,{addons:s}=__STORYBOOK_MODULE_PREVIEW_API__,{STORY_CHANGED:O}=__STORYBOOK_MODULE_CORE_EVENTS__;var i="storybook/highlight",d="storybookHighlight",g=`${i}/add`,E=`${i}/reset`,{document:l}=r,H=(e="#FF4785",t="dashed")=>`
2 | outline: 2px ${t} ${e};
3 | outline-offset: 2px;
4 | box-shadow: 0 0 0 6px rgba(255,255,255,0.6);
5 | `,I=e=>({outline:`2px dashed ${e}`,outlineOffset:2,boxShadow:"0 0 0 6px rgba(255,255,255,0.6)"}),_=s.getChannel(),T=e=>{let t=d;n();let o=Array.from(new Set(e.elements)),h=l.createElement("style");h.setAttribute("id",t),h.innerHTML=o.map(a=>`${a}{
6 | ${H(e.color,e.style)}
7 | }`).join(" "),l.head.appendChild(h)},n=()=>{var o;let e=d,t=l.getElementById(e);t&&((o=t.parentNode)==null||o.removeChild(t))};_.on(O,n);_.on(E,n);_.on(g,T);export{I as highlightObject,H as highlightStyle};
8 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/router-context.shared-runtime-dLj_Pzr5.js:
--------------------------------------------------------------------------------
1 | import{r as o}from"./index-4g5l5LRQ.js";var t={},r={};r._=r._interop_require_default=_;function _(e){return e&&e.__esModule?e:{default:e}}var u;function f(){return u||(u=1,function(e){Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"RouterContext",{enumerable:!0,get:function(){return n}});const n=r._(o).default.createContext(null)}(t)),t}export{r as _,f as r};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/selectItems-62Hhm5qZ.js:
--------------------------------------------------------------------------------
1 | const e=[{label:"Apple"},{label:"Pear"},{label:"Blackberry"},{label:"Peach"},{label:"Apricot"},{label:"Melon"},{label:"Honeydew"},{label:"Starfruit"},{label:"Blueberry"},{label:"Rasberry"},{label:"Strawberry"},{label:"Mango"},{label:"Pineapple"},{label:"Lime"},{label:"Lemon"},{label:"Coconut"},{label:"Guava"},{label:"Papaya"},{label:"Orange"},{label:"Grape"},{label:"Jackfruit"},{label:"Durian"}].map(l=>({value:l.label,label:l.label}));export{e as f};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/selectItems-L3zF9VcJ.js:
--------------------------------------------------------------------------------
1 | const e=[{label:"Apple"},{label:"Pear"},{label:"Blackberry"},{label:"Peach"},{label:"Apricot"},{label:"Melon"},{label:"Honeydew"},{label:"Starfruit"},{label:"Blueberry"},{label:"Rasberry"},{label:"Strawberry"},{label:"Mango"},{label:"Pineapple"},{label:"Lime"},{label:"Lemon"},{label:"Coconut"},{label:"Guava"},{label:"Papaya"},{label:"Orange"},{label:"Grape"},{label:"Jackfruit"},{label:"Durian"}].map(l=>({value:l.label,label:l.label}));export{e as f};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/syntaxhighlighter-V7JZZA35-VmuI3yqZ.js:
--------------------------------------------------------------------------------
1 | import{S as h,c as u,s as x}from"./DocsRenderer-NNNQARDV-Dmht8yMW.js";import"./iframe-JsPZtx2K.js";import"../sb-preview/runtime.js";import"./index-4g5l5LRQ.js";import"./_commonjsHelpers-4gQjN7DL.js";import"./react-18-gDJZMjUw.js";import"./index-iwWdm5Ml.js";import"./_commonjs-dynamic-modules-FZ9QPYRN.js";import"./extends-nGe_wfaW.js";import"./index-ogXoivrg.js";import"./_getPrototype-MXemwaK5.js";import"./_baseIsEqual-CFr8iVHd.js";import"./uniq-DjaUhnlG.js";import"./index-PPLHz8o0.js";export{h as SyntaxHighlighter,u as createCopyToClipboardFunction,x as default};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/toPropertyKey-NzAT2yhV.js:
--------------------------------------------------------------------------------
1 | function o(r){"@babel/helpers - typeof";return o=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},o(r)}function n(r,t){if(o(r)!="object"||!r)return r;var e=r[Symbol.toPrimitive];if(e!==void 0){var i=e.call(r,t||"default");if(o(i)!="object")return i;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(r)}function u(r){var t=n(r,"string");return o(t)=="symbol"?t:String(t)}export{o as _,u as t};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/assets/usePopoverState-AcQ9Dkm1.js:
--------------------------------------------------------------------------------
1 | import{r}from"./index-4g5l5LRQ.js";const s=e=>{const[t,o]=r.useState(!!e);return{open:t,onOpenChange:o,defaultOpen:!!e}};export{s as u};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
1 | Bundled license information:
2 |
3 | telejson/dist/index.mjs:
4 | /*!
5 | * isobject
6 | *
7 | * Copyright (c) 2014-2017, Jon Schlinkert.
8 | * Released under the MIT License.
9 | */
10 | /**
11 | * @license
12 | * Lodash (Custom Build)
13 | * Build: `lodash modularize exports="es" -o ./`
14 | * Copyright OpenJS Foundation and other contributors
15 | * Released under MIT license
16 | * Based on Underscore.js 1.8.3
17 | * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
18 | */
19 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/links-0/manager-bundle.js:
--------------------------------------------------------------------------------
1 | try{
2 | (()=>{var _=__STORYBOOK_API__,{ActiveTabs:h,Consumer:A,ManagerContext:E,Provider:b,addons:a,combineParameters:O,controlOrMetaKey:p,controlOrMetaSymbol:k,eventMatchesShortcut:v,eventToShortcut:g,isMacLike:I,isShortcutTaken:C,keyToSymbol:M,merge:P,mockChannel:R,optionOrAltSymbol:f,shortcutMatchesShortcut:x,shortcutToHumanString:D,types:G,useAddonState:K,useArgTypes:V,useArgs:$,useChannel:B,useGlobalTypes:N,useGlobals:Q,useParameter:U,useSharedState:Y,useStoryPrepared:q,useStorybookApi:H,useStorybookState:L}=__STORYBOOK_API__;var e="storybook/links",n={NAVIGATE:`${e}/navigate`,REQUEST:`${e}/request`,RECEIVE:`${e}/receive`};a.register(e,t=>{t.on(n.REQUEST,({kind:u,name:S})=>{let c=t.storyId(u,S);t.emit(n.RECEIVE,c)})});})();
3 | }catch(e){ console.error("[Storybook] One of your manager-entries failed: " + import.meta.url, e); }
4 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-addons/storybook-react-i18next-9/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-addons/storybook-react-i18next-9/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-common-assets/fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Nunito Sans';
3 | font-style: normal;
4 | font-weight: 400;
5 | font-display: swap;
6 | src: url('./nunito-sans-regular.woff2') format('woff2');
7 | }
8 |
9 | @font-face {
10 | font-family: 'Nunito Sans';
11 | font-style: italic;
12 | font-weight: 400;
13 | font-display: swap;
14 | src: url('./nunito-sans-italic.woff2') format('woff2');
15 | }
16 |
17 | @font-face {
18 | font-family: 'Nunito Sans';
19 | font-style: normal;
20 | font-weight: 700;
21 | font-display: swap;
22 | src: url('./nunito-sans-bold.woff2') format('woff2');
23 | }
24 |
25 | @font-face {
26 | font-family: 'Nunito Sans';
27 | font-style: italic;
28 | font-weight: 700;
29 | font-display: swap;
30 | src: url('./nunito-sans-bold-italic.woff2') format('woff2');
31 | }
32 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-bold.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-italic.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/sb-vite/storybook-static/sb-common-assets/nunito-sans-regular.woff2
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-manager/WithTooltip-V3YHNWJZ-LVYLGZW2.js:
--------------------------------------------------------------------------------
1 | import{WithToolTipState,WithTooltipPure}from"./chunk-NGTUFCUO.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{WithToolTipState,WithToolTipState as WithTooltip,WithTooltipPure};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-manager/index.js:
--------------------------------------------------------------------------------
1 | import{Provider,Root,renderStorybookUI}from"./chunk-F4FCO4CF.js";import"./chunk-2IXBUOFS.js";import"./chunk-NGTUFCUO.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{Provider,Root,renderStorybookUI};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/storybook-static/sb-manager/syntaxhighlighter-V7JZZA35-DXZCI2WR.js:
--------------------------------------------------------------------------------
1 | import{SyntaxHighlighter2,createCopyToClipboardFunction,syntaxhighlighter_default}from"./chunk-2IXBUOFS.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{SyntaxHighlighter2 as SyntaxHighlighter,createCopyToClipboardFunction,syntaxhighlighter_default as default};
2 |
--------------------------------------------------------------------------------
/apps/sb-vite/tamagui.config.ts:
--------------------------------------------------------------------------------
1 | import { config } from '@tamagui-extras/config'
2 |
3 | export type Conf = typeof config
4 |
5 | declare module 'tamagui' {
6 | interface TamaguiCustomConfig extends Conf {}
7 | }
8 | export default config
9 |
--------------------------------------------------------------------------------
/apps/sb-vite/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "ES2020",
4 | "useDefineForClassFields": true,
5 | "lib": ["ES2020", "DOM", "DOM.Iterable"],
6 | "module": "ESNext",
7 | "skipLibCheck": true,
8 |
9 | /* Bundler mode */
10 | "moduleResolution": "bundler",
11 | "allowImportingTsExtensions": true,
12 | "resolveJsonModule": true,
13 | "isolatedModules": true,
14 | "noEmit": true,
15 | "jsx": "react-jsx",
16 |
17 | /* Linting */
18 | "strict": true,
19 | "noUnusedLocals": true,
20 | "noUnusedParameters": true,
21 | "noFallthroughCasesInSwitch": true
22 | },
23 | "include": [
24 | "src"
25 | ],
26 | "references": [{ "path": "./tsconfig.node.json"}]
27 | }
28 |
--------------------------------------------------------------------------------
/apps/sb-vite/tsconfig.node.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "composite": true,
4 | "skipLibCheck": true,
5 | "module": "ESNext",
6 | "moduleResolution": "bundler",
7 | "allowSyntheticDefaultImports": true
8 | },
9 | "include": [
10 | "vite.config.ts"
11 | ]
12 | }
13 |
--------------------------------------------------------------------------------
/apps/storybook-react/.eslintrc.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "next/core-web-vitals"
3 | }
4 |
--------------------------------------------------------------------------------
/apps/storybook-react/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .expo/
3 | .expo-shared
4 | dist/
5 | npm-debug.*
6 | *.jks
7 | *.p8
8 | *.p12
9 | *.key
10 | *.mobileprovision
11 | *.orig.*
12 | web-build/
13 |
14 | # macOS
15 | .DS_Store
16 |
17 |
--------------------------------------------------------------------------------
/apps/storybook-react/.storybook/i18n.ts:
--------------------------------------------------------------------------------
1 | import { initReactI18next } from 'react-i18next'
2 | import i18n from 'i18next'
3 | import Backend from 'i18next-http-backend'
4 | import LanguageDetector from 'i18next-browser-languagedetector'
5 |
6 | const ns = ['common']
7 | const supportedLngs = ['en', 'de']
8 | const resources = ns.reduce((acc, n) => {
9 | supportedLngs.forEach((lng) => {
10 | if (!acc[lng]) acc[lng] = {}
11 | acc[lng] = {
12 | ...acc[lng],
13 | [n]: require(`../../next/public/locales/${lng}/${n}.json`),
14 | }
15 | })
16 | return acc
17 | }, {})
18 |
19 | i18n
20 | .use(initReactI18next)
21 | .use(LanguageDetector)
22 | .use(Backend)
23 | .init({
24 | //debug: true,
25 | lng: 'en',
26 | fallbackLng: 'en',
27 | defaultNS: 'common',
28 | ns,
29 | interpolation: { escapeValue: false },
30 | react: { useSuspense: false },
31 | supportedLngs,
32 | resources,
33 | })
34 |
35 | export default i18n
36 |
--------------------------------------------------------------------------------
/apps/storybook-react/.storybook/preview-head.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/apps/storybook-react/next.config.js:
--------------------------------------------------------------------------------
1 | const conf = require('../next/next.config')
2 | module.exports = conf
3 |
--------------------------------------------------------------------------------
/apps/storybook-react/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/public/favicon.ico
--------------------------------------------------------------------------------
/apps/storybook-react/public/fonts/woff/SpaceGrotesk-Bold-subset.zopfli.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/public/fonts/woff/SpaceGrotesk-Bold-subset.zopfli.woff
--------------------------------------------------------------------------------
/apps/storybook-react/public/fonts/woff/SpaceGrotesk-Regular-subset.zopfli.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/public/fonts/woff/SpaceGrotesk-Regular-subset.zopfli.woff
--------------------------------------------------------------------------------
/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Bold-subset.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Bold-subset.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Bold.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Regular-subset.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Regular-subset.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/public/fonts/woff2/SpaceGrotesk-Regular.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/1069.1f519595.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[1069],{"../../node_modules/@storybook/components/dist/WithTooltip-V3YHNWJZ.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{WithToolTipState:()=>_chunk_NE5YGCQB_mjs__WEBPACK_IMPORTED_MODULE_0__.WA,WithTooltip:()=>_chunk_NE5YGCQB_mjs__WEBPACK_IMPORTED_MODULE_0__.WA,WithTooltipPure:()=>_chunk_NE5YGCQB_mjs__WEBPACK_IMPORTED_MODULE_0__.DG});var _chunk_NE5YGCQB_mjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../../node_modules/@storybook/components/dist/chunk-NE5YGCQB.mjs")}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/1844.3346998e.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[1844],{"../../packages/app/src/fixtures/selectItems.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{fruitItemsFixtures:()=>fruitItemsFixtures});var fruitItemsFixtures=[{label:"Apple"},{label:"Pear"},{label:"Blackberry"},{label:"Peach"},{label:"Apricot"},{label:"Melon"},{label:"Honeydew"},{label:"Starfruit"},{label:"Blueberry"},{label:"Rasberry"},{label:"Strawberry"},{label:"Mango"},{label:"Pineapple"},{label:"Lime"},{label:"Lemon"},{label:"Coconut"},{label:"Guava"},{label:"Papaya"},{label:"Orange"},{label:"Grape"},{label:"Jackfruit"},{label:"Durian"}].map((function(i){return{value:i.label,label:i.label}}))}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/1938.9fec08a6.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[1938],{"../../packages/app/src/features/playground/util.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{fruitItemsFixtures:()=>fruitItemsFixtures});var fruitItemsFixtures=[{label:"Apple"},{label:"Pear"},{label:"Blackberry"},{label:"Peach"},{label:"Apricot"},{label:"Melon"},{label:"Honeydew"},{label:"Starfruit"},{label:"Blueberry"},{label:"Rasberry"},{label:"Strawberry"},{label:"Mango"},{label:"Pineapple"},{label:"Lime"},{label:"Lemon"},{label:"Coconut"},{label:"Guava"},{label:"Papaya"},{label:"Orange"},{label:"Grape"},{label:"Jackfruit"},{label:"Durian"}].map((function(i){return{value:i.label,label:i.label}}))}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/195.efc95e03.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*! safe-buffer. MIT License. Feross Aboukhadijeh */
2 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/2059.d8b79803.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[2059],{"../../packages/app/src/components/layouts/layoutTypes.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__)}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/395.4a70d74b.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*!
2 | * isobject
3 | *
4 | * Copyright (c) 2014-2017, Jon Schlinkert.
5 | * Released under the MIT License.
6 | */
7 |
8 | /**
9 | * @license
10 | * Lodash (Custom Build)
11 | * Build: `lodash modularize exports="es" -o ./`
12 | * Copyright OpenJS Foundation and other contributors
13 | * Released under MIT license
14 | * Based on Underscore.js 1.8.3
15 | * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
16 | */
17 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/4075.da3d52e2.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[4075],{"../../packages/app/src/lib/fixtures/selectItems.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{fruitItemsFixtures:()=>fruitItemsFixtures});var fruitItemsFixtures=[{label:"Apple"},{label:"Pear"},{label:"Blackberry"},{label:"Peach"},{label:"Apricot"},{label:"Melon"},{label:"Honeydew"},{label:"Starfruit"},{label:"Blueberry"},{label:"Rasberry"},{label:"Strawberry"},{label:"Mango"},{label:"Pineapple"},{label:"Lime"},{label:"Lemon"},{label:"Coconut"},{label:"Guava"},{label:"Papaya"},{label:"Orange"},{label:"Grape"},{label:"Jackfruit"},{label:"Durian"}].map((function(i){return{value:i.label,label:i.label}}))}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/4459.c748be98.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /** @license React v16.13.1
2 | * react-is.production.min.js
3 | *
4 | * Copyright (c) Facebook, Inc. and its affiliates.
5 | *
6 | * This source code is licensed under the MIT license found in the
7 | * LICENSE file in the root directory of this source tree.
8 | */
9 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/4533.4b2ec20b.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*! *****************************************************************************
2 | Copyright (c) Microsoft Corporation.
3 |
4 | Permission to use, copy, modify, and/or distribute this software for any
5 | purpose with or without fee is hereby granted.
6 |
7 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
8 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
9 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
10 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
11 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
12 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
13 | PERFORMANCE OF THIS SOFTWARE.
14 | ***************************************************************************** */
15 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/4749.b4d74719.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[4749],{"../../packages/app/react-i18n.d.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__);__webpack_require__("../../node_modules/react-i18next/dist/es/index.js"),__webpack_require__("../next/public/locales/en/common.json")}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/4980.ce8abf20.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[4980],{"../../packages/app/src/navigation/routerConfig.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{nativeScreens:()=>nativeScreens});var nativeScreens={home:"",overview:"overview",dashboard:"dashboard",playground:"playground"}}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/5117.ccb90286.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[5117],{"../../packages/app/src/state/appState.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useAppState:()=>useAppState,useToggleMainDrawer:()=>useToggleMainDrawer});var useAppState=(0,__webpack_require__("../../node_modules/zustand/esm/index.mjs").Ue)((function(set){return{isMainDrawerOpen:!1,toggleMainDrawer:function toggleMainDrawer(){return set((function(state){return{isMainDrawerOpen:!state.isMainDrawerOpen}}))},setMainDrawer:function setMainDrawer(bool){return set({isMainDrawerOpen:bool})}}})),useToggleMainDrawer=function useToggleMainDrawer(){return useAppState((function(state){return state.toggleMainDrawer}))}}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/5208.37111768.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[5208],{"../../packages/app/index.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__)}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/650.dbbb2472.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[650],{"../../packages/app/rnw-overrides.tsx":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__)}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/6696.d31299d7.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
2 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/687.e1d0c860.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[687],{"../../node_modules/@storybook/components/dist/syntaxhighlighter-V7JZZA35.mjs":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{SyntaxHighlighter:()=>_chunk_ELLS3HSY_mjs__WEBPACK_IMPORTED_MODULE_0__.d3,createCopyToClipboardFunction:()=>_chunk_ELLS3HSY_mjs__WEBPACK_IMPORTED_MODULE_0__.xV,default:()=>_chunk_ELLS3HSY_mjs__WEBPACK_IMPORTED_MODULE_0__.qG});var _chunk_ELLS3HSY_mjs__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../../node_modules/@storybook/components/dist/chunk-ELLS3HSY.mjs")}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/7496.f8bf2e24.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[7496],{"../../packages/app/src/navigation/useOnRouteChange.ts":(__unused_webpack_module,__webpack_exports__,__webpack_require__)=>{__webpack_require__.r(__webpack_exports__),__webpack_require__.d(__webpack_exports__,{useOnRouteChange:()=>useOnRouteChange});var _react_navigation_native__WEBPACK_IMPORTED_MODULE_1__=__webpack_require__("../../node_modules/@react-navigation/native/lib/module/index.js"),react__WEBPACK_IMPORTED_MODULE_0__=__webpack_require__("../../node_modules/next/dist/compiled/react/index.js");function useOnRouteChange(func){var routeIndex=(0,_react_navigation_native__WEBPACK_IMPORTED_MODULE_1__.useNavigationState)((function(state){return null==state?void 0:state.index}));return(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)((function(){Number.isInteger(routeIndex)&&func()}),[routeIndex]),null}}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/8156.abe78f70.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
2 |
3 | /** @license React v17.0.2
4 | * react-is.production.min.js
5 | *
6 | * Copyright (c) Facebook, Inc. and its affiliates.
7 | *
8 | * This source code is licensed under the MIT license found in the
9 | * LICENSE file in the root directory of this source tree.
10 | */
11 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/88.0cf59868.iframe.bundle.js.LICENSE.txt:
--------------------------------------------------------------------------------
1 | /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
2 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/9700.9cf5bb9a.iframe.bundle.js:
--------------------------------------------------------------------------------
1 | "use strict";(self.webpackChunksb_react=self.webpackChunksb_react||[]).push([[9700],{"../../packages/app/package.json":module=>{module.exports=JSON.parse('{"version":"0.0.24","name":"app","private":true,"main":"index.ts","scripts":{"codegen":"graphql-codegen --config graphql.config.ts --errors-only --watch","__check-types":"tsc --noEmit"},"dependencies":{"@tamagui-extras/config":"1.5.0","@tamagui-extras/core":"1.6.1","@tamagui-extras/date":"1.8.4","@tamagui-extras/file":"1.6.0","@tamagui-extras/form":"1.9.0","@tamagui-extras/link":"1.6.0","@tamagui-extras/rich-text":"1.6.4","@tamagui-extras/video":"1.7.0","@tamagui-extras/youtube":"1.6.1","react-i18next":"^12.2.1","react-native-safe-area-context":"^4.5.2","react-native-web":"0.18.12","solito":"^3.2.5","tamagui":"^1.79.9","zustand":"^4.3.3"},"devDependencies":{"@storybook/jest":"0.2.3","@storybook/react":"7.6.4","@storybook/testing-library":"0.2.2"},"sideEffects":false}')}}]);
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/favicon.ico
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/fonts/woff/SpaceGrotesk-Bold-subset.zopfli.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/fonts/woff/SpaceGrotesk-Bold-subset.zopfli.woff
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/fonts/woff/SpaceGrotesk-Regular-subset.zopfli.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/fonts/woff/SpaceGrotesk-Regular-subset.zopfli.woff
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Bold-subset.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Bold-subset.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Bold.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Regular-subset.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Regular-subset.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/fonts/woff2/SpaceGrotesk-Regular.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/essentials-actions-2/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/essentials-backgrounds-3/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/essentials-controls-1/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
1 | Bundled license information:
2 |
3 | telejson/dist/index.mjs:
4 | /*!
5 | * isobject
6 | *
7 | * Copyright (c) 2014-2017, Jon Schlinkert.
8 | * Released under the MIT License.
9 | */
10 | /**
11 | * @license
12 | * Lodash (Custom Build)
13 | * Build: `lodash modularize exports="es" -o ./`
14 | * Copyright OpenJS Foundation and other contributors
15 | * Released under MIT license
16 | * Based on Underscore.js 1.8.3
17 | * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
18 | */
19 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/essentials-measure-6/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/essentials-outline-7/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/essentials-toolbars-5/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/essentials-viewport-4/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/interactions-8/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/links-0/manager-bundle.js:
--------------------------------------------------------------------------------
1 | try{
2 | (()=>{var _=__STORYBOOK_API__,{ActiveTabs:h,Consumer:A,ManagerContext:E,Provider:b,addons:a,combineParameters:O,controlOrMetaKey:k,controlOrMetaSymbol:p,eventMatchesShortcut:v,eventToShortcut:g,isMacLike:I,isShortcutTaken:C,keyToSymbol:M,merge:P,mockChannel:R,optionOrAltSymbol:f,shortcutMatchesShortcut:x,shortcutToHumanString:D,types:G,useAddonState:K,useArgTypes:V,useArgs:$,useChannel:B,useGlobalTypes:N,useGlobals:Q,useParameter:U,useSharedState:Y,useStoryPrepared:q,useStorybookApi:H,useStorybookState:L}=__STORYBOOK_API__;var e="storybook/links",n={NAVIGATE:`${e}/navigate`,REQUEST:`${e}/request`,RECEIVE:`${e}/receive`};a.register(e,t=>{t.on(n.REQUEST,({kind:u,name:S})=>{let c=t.storyId(u,S);t.emit(n.RECEIVE,c)})});})();
3 | }catch(e){ console.error("[Storybook] One of your manager-entries failed: " + import.meta.url, e); }
4 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/links-0/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-addons/storybook-react-i18next-9/manager-bundle.js.LEGAL.txt:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-addons/storybook-react-i18next-9/manager-bundle.js.LEGAL.txt
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-common-assets/fonts.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'Nunito Sans';
3 | font-style: normal;
4 | font-weight: 400;
5 | font-display: swap;
6 | src: url('./nunito-sans-regular.woff2') format('woff2');
7 | }
8 |
9 | @font-face {
10 | font-family: 'Nunito Sans';
11 | font-style: italic;
12 | font-weight: 400;
13 | font-display: swap;
14 | src: url('./nunito-sans-italic.woff2') format('woff2');
15 | }
16 |
17 | @font-face {
18 | font-family: 'Nunito Sans';
19 | font-style: normal;
20 | font-weight: 700;
21 | font-display: swap;
22 | src: url('./nunito-sans-bold.woff2') format('woff2');
23 | }
24 |
25 | @font-face {
26 | font-family: 'Nunito Sans';
27 | font-style: italic;
28 | font-weight: 700;
29 | font-display: swap;
30 | src: url('./nunito-sans-bold-italic.woff2') format('woff2');
31 | }
32 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-bold-italic.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-bold.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-bold.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-italic.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-italic.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-regular.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/sb-common-assets/nunito-sans-regular.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-manager/WithTooltip-V3YHNWJZ-LVYLGZW2.js:
--------------------------------------------------------------------------------
1 | import{WithToolTipState,WithTooltipPure}from"./chunk-NGTUFCUO.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{WithToolTipState,WithToolTipState as WithTooltip,WithTooltipPure};
2 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-manager/index.js:
--------------------------------------------------------------------------------
1 | import{Provider,Root,renderStorybookUI}from"./chunk-3MAIP5DL.js";import"./chunk-2IXBUOFS.js";import"./chunk-NGTUFCUO.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{Provider,Root,renderStorybookUI};
2 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/sb-manager/syntaxhighlighter-V7JZZA35-DXZCI2WR.js:
--------------------------------------------------------------------------------
1 | import{SyntaxHighlighter2,createCopyToClipboardFunction,syntaxhighlighter_default}from"./chunk-2IXBUOFS.js";import"./chunk-INSKDKQB.js";import"./chunk-ZEU7PDD3.js";export{SyntaxHighlighter2 as SyntaxHighlighter,createCopyToClipboardFunction,syntaxhighlighter_default as default};
2 |
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-all-400-normal.8c804432.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-all-400-normal.8c804432.woff
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-all-700-normal.4caa68a0.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-all-700-normal.4caa68a0.woff
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-cyrillic-400-normal.8684fef6.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-cyrillic-400-normal.8684fef6.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-cyrillic-700-normal.fce0dd82.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-cyrillic-700-normal.fce0dd82.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-cyrillic-ext-400-normal.fcc125c4.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-cyrillic-ext-400-normal.fcc125c4.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-cyrillic-ext-700-normal.177b82cd.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-cyrillic-ext-700-normal.177b82cd.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-greek-400-normal.0278a49f.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-greek-400-normal.0278a49f.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-greek-700-normal.d36e38b1.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-greek-700-normal.d36e38b1.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-greek-ext-400-normal.3f642a92.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-greek-ext-400-normal.3f642a92.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-greek-ext-700-normal.25e184a6.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-greek-ext-700-normal.25e184a6.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-latin-400-normal.be7cb18d.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-latin-400-normal.be7cb18d.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-latin-700-normal.54321e26.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-latin-700-normal.54321e26.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-latin-ext-400-normal.3a7a7652.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-latin-ext-400-normal.3a7a7652.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-latin-ext-700-normal.8e5621b2.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-latin-ext-700-normal.8e5621b2.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-vietnamese-400-normal.789afb71.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-vietnamese-400-normal.789afb71.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/storybook-static/static/media/inter-vietnamese-700-normal.3d836ea0.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/apps/storybook-react/storybook-static/static/media/inter-vietnamese-700-normal.3d836ea0.woff2
--------------------------------------------------------------------------------
/apps/storybook-react/tamagui.config.ts:
--------------------------------------------------------------------------------
1 | import { config } from '@tamagui-extras/config'
2 |
3 | export type Conf = typeof config
4 |
5 | declare module 'tamagui' {
6 | interface TamaguiCustomConfig extends Conf {}
7 | }
8 | export default config
9 |
--------------------------------------------------------------------------------
/apps/storybook-react/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json"
3 | }
--------------------------------------------------------------------------------
/apps/storybook-react/turbo.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": [
3 | "//"
4 | ],
5 | "pipeline": {
6 | "build": {
7 | "outputs": [
8 | "dist/**",
9 | "public/**"
10 | ]
11 | }
12 | }
13 | }
--------------------------------------------------------------------------------
/apps/tests/__tests__/ui/MyComponent.test.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { LmButton } from '@tamagui-extras/core'
3 | import { renderUi } from '../../src'
4 |
5 | describe('', () => {
6 | it('has 1 child', () => {
7 | const { type, children } = renderUi(hello).toJSON()
8 | expect(type).toBe('View')
9 | expect(children.length).toBe(1)
10 | })
11 | })
12 |
--------------------------------------------------------------------------------
/apps/tests/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = function (api) {
2 | api.cache(true)
3 | return {
4 | presets: [['babel-preset-expo', {jsxRuntime: 'automatic'}]],
5 | plugins: [
6 | // if you want reanimated support
7 | // 'react-native-reanimated/plugin',
8 | [
9 | '@tamagui/babel-plugin',
10 | {
11 | components: ['tamagui', 'tamagui-extras'],
12 | config: './tamagui.config.ts',
13 | },
14 | ],
15 | [
16 | 'transform-inline-environment-variables',
17 | {
18 | include: 'TAMAGUI_TARGET',
19 | },
20 | ],
21 | ],
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/apps/tests/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | "preset": "jest-expo",
3 | "setupFilesAfterEnv": [
4 | "./jest.setup-after-env.js"
5 | ],
6 | "setupFiles": [
7 | "/jest.setup.js"
8 | ],
9 | "transformIgnorePatterns": [
10 | "node_modules/(?!((jest-)?react-native|@react-native(-community)?)|expo(nent)?|@expo(nent)?/.*|@expo-google-fonts/.*|react-navigation|@react-navigation/.*|@unimodules/.*|unimodules|sentry-expo|@sentry/.*|native-base|react-native-svg|@walletconnect/.*|@motify/.*|solito|moti|@biconomy/.*|@react-three/.*|@babel/.*)"
11 | ],
12 | "moduleFileExtensions": [
13 | "ts",
14 | "tsx",
15 | "js",
16 | "jsx"
17 | ]
18 | }
--------------------------------------------------------------------------------
/apps/tests/jest.setup-after-env.js:
--------------------------------------------------------------------------------
1 | import '@testing-library/jest-native/extend-expect';
--------------------------------------------------------------------------------
/apps/tests/jest.setup.js:
--------------------------------------------------------------------------------
1 | import 'react-native-gesture-handler/jestSetup';
2 |
3 | // jest.mock('react-native-reanimated', () => {
4 | // const Reanimated = require('react-native-reanimated/mock');
5 | //
6 | // // The mock for `call` immediately calls the callback which is incorrect
7 | // // So we override it with a no-op
8 | // Reanimated.default.call = () => {};
9 | //
10 | // return Reanimated;
11 | // });
12 |
13 | // Silence the warning: Animated: `useNativeDriver` is not supported because the native animated module is missing
14 | jest.mock('react-native/Libraries/Animated/NativeAnimatedHelper');
--------------------------------------------------------------------------------
/apps/tests/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "tests",
3 | "version": "1.0.0",
4 | "description": "",
5 | "main": "index.js",
6 | "private": true,
7 | "scripts": {
8 | "test": "jest /__tests__"
9 | },
10 | "dependencies": {
11 | "app": "*"
12 | },
13 | "devDependencies": {
14 | "@testing-library/jest-native": "^4.0.11",
15 | "@testing-library/react-native": "^11.0.0",
16 | "@types/react": "~18.2.37",
17 | "babel-jest": "^28.1.3",
18 | "jest": "^28.1.3",
19 | "jest-expo": "^46.0.1",
20 | "typescript": "5.3.3"
21 | },
22 | "author": "",
23 | "license": "ISC"
24 | }
25 |
--------------------------------------------------------------------------------
/apps/tests/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './test-utils'
--------------------------------------------------------------------------------
/apps/tests/src/test-utils.tsx:
--------------------------------------------------------------------------------
1 | import {render} from "@testing-library/react-native";
2 | import {LmTamaguiProvider} from "app/src/provider/LmTamaguiProvider";
3 | import {ReactElement} from "react";
4 |
5 | export function renderUi(ui: ReactElement) {
6 | return render(ui, {wrapper: LmTamaguiProvider})
7 | }
8 |
9 |
--------------------------------------------------------------------------------
/apps/tests/tamagui.config.ts:
--------------------------------------------------------------------------------
1 | import { config } from '@tamagui-extras/config'
2 |
3 | export type Conf = typeof config
4 |
5 | declare module 'tamagui' {
6 | interface TamaguiCustomConfig extends Conf {}
7 | }
8 | export default config
9 |
--------------------------------------------------------------------------------
/chromatic.log:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "module": "ESNext",
4 | "moduleResolution": "Node",
5 | "target": "ES2020",
6 | "jsx": "react-jsx",
7 | "strictNullChecks": true,
8 | "strictFunctionTypes": true
9 | },
10 | "exclude": [
11 | "node_modules",
12 | "**/node_modules/*"
13 | ]
14 | }
--------------------------------------------------------------------------------
/kitchen-sink.code-workspace:
--------------------------------------------------------------------------------
1 | {
2 | "folders": [
3 | {
4 | "path": "."
5 | }
6 | ],
7 | "settings": {
8 | "typescript.tsdk": "node_modules/typescript/lib"
9 | }
10 | }
--------------------------------------------------------------------------------
/packages/app/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .DS_Store
3 | THUMBS_DB
4 |
--------------------------------------------------------------------------------
/packages/app/index.ts:
--------------------------------------------------------------------------------
1 | // leave this blank
2 | // don't re-export files from this workspace. it'll break next.js tree shaking
3 | // https://github.com/vercel/next.js/issues/12557
4 | export {}
5 |
--------------------------------------------------------------------------------
/packages/app/react-i18n.d.ts:
--------------------------------------------------------------------------------
1 | import 'react-i18next'
2 | import en from '../../apps/next/public/locales/en/common.json'
3 |
4 | const resources = {
5 | en: {
6 | common: en,
7 | // tss
8 | },
9 | } as const
10 |
11 | declare module 'react-i18next' {
12 | interface CustomTypeOptions {
13 | defaultNS: 'common'
14 | resources: typeof resources.en
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/packages/app/rnw-overrides.tsx:
--------------------------------------------------------------------------------
1 | // override react-native types with react-native-web types
2 | import 'react-native'
3 |
4 | declare module 'react-native' {
5 | interface PressableStateCallbackType {
6 | hovered?: boolean
7 | focused?: boolean
8 | }
9 | interface ViewStyle {
10 | transitionProperty?: string
11 | transitionDuration?: string
12 | }
13 | interface TextProps {
14 | accessibilityComponentType?: never
15 | accessibilityTraits?: never
16 | href?: string
17 | hrefAttrs?: {
18 | rel: 'noreferrer'
19 | target?: '_blank'
20 | }
21 | }
22 | interface ViewProps {
23 | accessibilityRole?: string
24 | href?: string
25 | hrefAttrs?: {
26 | rel: 'noreferrer'
27 | target?: '_blank'
28 | }
29 | onClick?: (e: React.MouseEvent) => void
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/packages/app/src/components/layouts/LmAppShell.web.tsx:
--------------------------------------------------------------------------------
1 | import React, { PropsWithChildren } from 'react'
2 | import { YStack } from 'tamagui'
3 | import { LmAppDrawer } from 'app/src/components/layouts/LmAppDrawer'
4 | import { LmAppBar } from 'app/src/components/layouts/LmAppBar'
5 |
6 | export function LmAppShell({ children, title }: PropsWithChildren<{ title?: string }>) {
7 | return (
8 |
9 |
10 |
18 | {children}
19 |
20 |
21 |
22 | )
23 | }
24 |
--------------------------------------------------------------------------------
/packages/app/src/components/layouts/layoutTypes.ts:
--------------------------------------------------------------------------------
1 | import {PropsWithChildren, ReactNode} from "react";
2 |
3 | export type LmDashboardShellProps = PropsWithChildren<{
4 | title: string
5 | rightContent?: ReactNode
6 | }>
7 |
8 |
--------------------------------------------------------------------------------
/packages/app/src/components/various/LmThemeToggle.tsx:
--------------------------------------------------------------------------------
1 | import { LmButton, LmButtonProps } from '@tamagui-extras/core'
2 | import { useThemeToggle } from '../../state/themeState'
3 |
4 | type LmThemeSwitchProps = LmButtonProps
5 |
6 | export function LmThemeToggle(props: LmThemeSwitchProps) {
7 | const toggleTheme = useThemeToggle()
8 |
9 | return (
10 | {
13 | toggleTheme()
14 | }}
15 | {...props}
16 | />
17 | )
18 | }
19 |
--------------------------------------------------------------------------------
/packages/app/src/features/home/screen.stories.tsx:
--------------------------------------------------------------------------------
1 | import { HomeScreen } from './HomeScreen'
2 | import { Meta, StoryObj } from '@storybook/react'
3 |
4 | const meta = {
5 | title: 'demo/Home',
6 | component: HomeScreen,
7 | parameters: {
8 | docs: {},
9 | },
10 | } satisfies Meta
11 |
12 | export default meta
13 |
14 | type Story = StoryObj
15 | export const Home: Story = {}
16 |
--------------------------------------------------------------------------------
/packages/app/src/features/icons/IconsScreen.tsx:
--------------------------------------------------------------------------------
1 | import React from 'react'
2 | import { LmAppShell } from 'app/src/components/layouts/LmAppShell'
3 | import { SizableText, XStack } from 'tamagui'
4 | import { QuotesRegular, StarFill, StarRegular } from '@tamagui-extras/core'
5 |
6 | export default function IconsScreen() {
7 | return (
8 |
9 | Icons
10 |
11 |
12 |
13 |
14 |
15 |
16 | )
17 | }
18 |
--------------------------------------------------------------------------------
/packages/app/src/features/media/MediaScreen.stories.tsx:
--------------------------------------------------------------------------------
1 | import { MediaScreen } from 'app/src/features/media/MediaScreen'
2 | import { Meta, StoryObj } from '@storybook/react'
3 |
4 | const meta = {
5 | title: 'demo/Media',
6 | component: MediaScreen,
7 | } satisfies Meta
8 |
9 | export default meta
10 |
11 | type Story = StoryObj
12 |
13 | export const Media: Story = {}
14 |
--------------------------------------------------------------------------------
/packages/app/src/features/media/MediaScreen.tsx:
--------------------------------------------------------------------------------
1 | import { H3, YStack } from 'tamagui'
2 | import { LmAppShell } from 'app/src/components/layouts/LmAppShell'
3 | import { LmVideo } from '@tamagui-extras/video'
4 | import { LmYoutubeEmbed } from '@tamagui-extras/youtube'
5 |
6 | export function MediaScreen() {
7 | return (
8 |
9 |
10 |
11 | Video
12 |
17 |
18 |
19 | Youtube
20 |
21 |
22 |
23 |
24 | )
25 | }
26 |
--------------------------------------------------------------------------------
/packages/app/src/features/overview/overview.stories.tsx:
--------------------------------------------------------------------------------
1 | import { OverviewScreen } from './overview'
2 |
3 | export default {
4 | title: 'demo/overview',
5 | component: OverviewScreen,
6 | }
7 |
8 | export const Overview = () =>
9 |
--------------------------------------------------------------------------------
/packages/app/src/features/playground/Playground.stories.tsx:
--------------------------------------------------------------------------------
1 | import { PlaygroundScreen } from './playground'
2 |
3 | export default {
4 | title: 'demo/playground',
5 | }
6 |
7 | export const Playground = () =>
8 |
--------------------------------------------------------------------------------
/packages/app/src/features/playground/util.ts:
--------------------------------------------------------------------------------
1 | export const fruitItemsFixtures = [
2 | {label: 'Apple'},
3 | {label: 'Pear'},
4 | {label: 'Blackberry'},
5 | {label: 'Peach'},
6 | {label: 'Apricot'},
7 | {label: 'Melon'},
8 | {label: 'Honeydew'},
9 | {label: 'Starfruit'},
10 | {label: 'Blueberry'},
11 | {label: 'Rasberry'},
12 | {label: 'Strawberry'},
13 | {label: 'Mango'},
14 | {label: 'Pineapple'},
15 | {label: 'Lime'},
16 | {label: 'Lemon'},
17 | {label: 'Coconut'},
18 | {label: 'Guava'},
19 | {label: 'Papaya'},
20 | {label: 'Orange'},
21 | {label: 'Grape'},
22 | {label: 'Jackfruit'},
23 | {label: 'Durian'}
24 | ].map(i => ({
25 | value: i.label,
26 | label: i.label
27 | }))
--------------------------------------------------------------------------------
/packages/app/src/fixtures/selectItems.ts:
--------------------------------------------------------------------------------
1 | export const fruitItemsFixtures = [
2 | {label: 'Apple'},
3 | {label: 'Pear'},
4 | {label: 'Blackberry'},
5 | {label: 'Peach'},
6 | {label: 'Apricot'},
7 | {label: 'Melon'},
8 | {label: 'Honeydew'},
9 | {label: 'Starfruit'},
10 | {label: 'Blueberry'},
11 | {label: 'Rasberry'},
12 | {label: 'Strawberry'},
13 | {label: 'Mango'},
14 | {label: 'Pineapple'},
15 | {label: 'Lime'},
16 | {label: 'Lemon'},
17 | {label: 'Coconut'},
18 | {label: 'Guava'},
19 | {label: 'Papaya'},
20 | {label: 'Orange'},
21 | {label: 'Grape'},
22 | {label: 'Jackfruit'},
23 | {label: 'Durian'}
24 | ].map(i => ({
25 | value: i.label,
26 | label: i.label
27 | }))
--------------------------------------------------------------------------------
/packages/app/src/lib/fixtures/selectItems.ts:
--------------------------------------------------------------------------------
1 | export const fruitItemsFixtures = [
2 | {label: 'Apple'},
3 | {label: 'Pear'},
4 | {label: 'Blackberry'},
5 | {label: 'Peach'},
6 | {label: 'Apricot'},
7 | {label: 'Melon'},
8 | {label: 'Honeydew'},
9 | {label: 'Starfruit'},
10 | {label: 'Blueberry'},
11 | {label: 'Rasberry'},
12 | {label: 'Strawberry'},
13 | {label: 'Mango'},
14 | {label: 'Pineapple'},
15 | {label: 'Lime'},
16 | {label: 'Lemon'},
17 | {label: 'Coconut'},
18 | {label: 'Guava'},
19 | {label: 'Papaya'},
20 | {label: 'Orange'},
21 | {label: 'Grape'},
22 | {label: 'Jackfruit'},
23 | {label: 'Durian'}
24 | ].map(i => ({
25 | value: i.label,
26 | label: i.label
27 | }))
--------------------------------------------------------------------------------
/packages/app/src/navigation/routerConfig.ts:
--------------------------------------------------------------------------------
1 | export type RouterNavigationProps = {
2 | home: undefined
3 | overview: undefined
4 | dashboard: undefined
5 | playground: undefined
6 | settings: undefined
7 | };
8 |
9 | export type RouterScreenProps = {
10 | [K in keyof RouterNavigationProps]: string;
11 | };
12 |
13 | export const nativeScreens = {
14 | home: '',
15 | overview: 'overview',
16 | dashboard: 'dashboard',
17 | playground: 'playground'
18 | } as RouterScreenProps
--------------------------------------------------------------------------------
/packages/app/src/navigation/useOnRouteChange.ts:
--------------------------------------------------------------------------------
1 | import {useNavigationState} from '@react-navigation/native';
2 | import {useEffect} from "react";
3 |
4 | export function useOnRouteChange(func: () => void) {
5 | const routeIndex = useNavigationState(state => state?.index);
6 | useEffect(
7 | () => {
8 | if (Number.isInteger(routeIndex)) {
9 | func()
10 | }
11 | },
12 | [routeIndex]
13 | )
14 |
15 | return null
16 | }
17 |
--------------------------------------------------------------------------------
/packages/app/src/navigation/useOnRouteChange.web.ts:
--------------------------------------------------------------------------------
1 | import {useRouter} from "next/compat/router";
2 | import {useEffect} from "react";
3 |
4 | export function useOnRouteChange(func: () => void) {
5 | const {asPath} = useRouter() || {}
6 | useEffect(
7 | () => {
8 | if (asPath) {
9 | func()
10 | }
11 | },
12 | [asPath]
13 | )
14 | return null
15 | }
16 |
--------------------------------------------------------------------------------
/packages/app/src/navigation/useParam.ts:
--------------------------------------------------------------------------------
1 | import {createParam} from 'solito'
2 |
3 | const {useParam} = createParam()
4 |
5 | export const useRouteParam = (param: string, pickFirst?: boolean): [string | string[] | undefined, (val: string) => void] => {
6 | const [value, setParam] = useParam(param)
7 | const parsedValue = pickFirst ? value?.[0] : value
8 | return [parsedValue, setParam]
9 | }
10 |
--------------------------------------------------------------------------------
/packages/app/src/provider/LmTamaguiProvider.tsx:
--------------------------------------------------------------------------------
1 | import { TamaguiProvider, TamaguiProviderProps } from 'tamagui'
2 | import config from '../../tamagui.config'
3 | import { useThemeNameState } from 'app/src/state/themeState'
4 |
5 | type LmTamaguiProviderProps = Omit
6 |
7 | export function LmTamaguiProvider({ children, ...rest }: LmTamaguiProviderProps) {
8 | const theme = useThemeNameState(rest.defaultTheme as any)
9 | return (
10 |
16 | {children}
17 |
18 | )
19 | }
20 |
--------------------------------------------------------------------------------
/packages/app/src/provider/StorybookDecorator.tsx:
--------------------------------------------------------------------------------
1 | import { LmTamaguiProvider } from './LmTamaguiProvider'
2 | import { YStack } from 'tamagui'
3 |
4 | export const StorybookDecorator = (Story, args: any) => {
5 | // The theme global we just declared
6 | const { theme: themeKey } = args.globals
7 | // const name = useThemeState((state) => state.name)
8 | let theme = themeKey
9 | if (!theme && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) {
10 | // dark mode
11 | theme = 'dark'
12 | }
13 | return (
14 | <>
15 |
16 |
17 |
18 |
19 |
20 | >
21 | )
22 | }
23 |
--------------------------------------------------------------------------------
/packages/app/src/provider/index.tsx:
--------------------------------------------------------------------------------
1 | import { TamaguiProviderProps } from 'tamagui'
2 | import { LmTamaguiProvider } from './LmTamaguiProvider'
3 |
4 | export function Provider({ children, ...rest }: Omit) {
5 | return {children}
6 | }
7 |
--------------------------------------------------------------------------------
/packages/app/src/provider/safe-area/SaveAreaProvider.tsx:
--------------------------------------------------------------------------------
1 | export { SafeAreaProvider as SafeArea } from 'react-native-safe-area-context'
2 |
--------------------------------------------------------------------------------
/packages/app/src/provider/safe-area/SaveAreaProvider.web.tsx:
--------------------------------------------------------------------------------
1 | import { PropsWithChildren } from 'react'
2 |
3 | export function SafeArea({ children }: PropsWithChildren) {
4 | return <>{children}>
5 | }
6 |
--------------------------------------------------------------------------------
/packages/app/src/state/appState.ts:
--------------------------------------------------------------------------------
1 | import { create } from 'zustand'
2 |
3 | type AppState = {
4 | isMainDrawerOpen: boolean
5 | toggleMainDrawer: () => void
6 | setMainDrawer: (bool: boolean) => void
7 | }
8 |
9 | export const useAppState = create((set) => ({
10 | isMainDrawerOpen: false,
11 | toggleMainDrawer: () =>
12 | set((state) => ({
13 | isMainDrawerOpen: !state.isMainDrawerOpen,
14 | })),
15 | setMainDrawer: (bool) => set({ isMainDrawerOpen: bool }),
16 | }))
17 |
18 | export const useToggleMainDrawer = () => useAppState((state) => state.toggleMainDrawer)
19 |
--------------------------------------------------------------------------------
/packages/app/src/state/themeState.ts:
--------------------------------------------------------------------------------
1 | import { create } from 'zustand'
2 | import { shallow } from 'zustand/shallow'
3 |
4 | type ThemeVars = 'dark' | 'light'
5 | type Theme = {
6 | name?: ThemeVars
7 | changeTheme: (name: ThemeVars) => void
8 | toggleTheme: () => void
9 | }
10 |
11 | export const useThemeState = create((set) => ({
12 | changeTheme: (name) => set({ name }),
13 | toggleTheme: () =>
14 | set((state) => ({
15 | name: state.name === 'dark' ? 'light' : 'dark',
16 | })),
17 | }))
18 |
19 | export const useThemeNameState = (defaultName?: ThemeVars) => {
20 | const name = useThemeState((state) => state.name, shallow)
21 | return name || defaultName
22 | }
23 |
24 | export const useThemeToggle = () => useThemeState((state) => state.toggleTheme, shallow)
25 |
--------------------------------------------------------------------------------
/packages/app/src/stories/core/content/LmImage.stories.tsx:
--------------------------------------------------------------------------------
1 | import { LmImage } from '../../../../../core/src'
2 |
3 | export default {
4 | title: 'core/Content/Image',
5 | component: LmImage,
6 | }
7 | const imageSrc = 'https://placekitten.com/400/300'
8 |
9 | export const Basic = {
10 | args: {
11 | width: 400,
12 | height: 300,
13 | src: imageSrc,
14 | },
15 | }
16 |
--------------------------------------------------------------------------------
/packages/app/src/stories/date/LmMonthPicker.stories.tsx:
--------------------------------------------------------------------------------
1 | import { LmMonthsPicker } from '../../../../date/src'
2 |
3 | export default {
4 | title: 'date/Months Picker',
5 | component: LmMonthsPicker,
6 | }
7 |
8 | export const Basic = {
9 | args: {
10 | label: 'Month Picker',
11 | },
12 | }
13 |
14 | export const BasicInline = {
15 | args: {
16 | label: 'Month Picker',
17 | labelInline: true,
18 | },
19 | }
20 |
21 | export const Size = {
22 | args: {
23 | label: 'Month Picker',
24 | size: '$6',
25 | width: 250,
26 | },
27 | }
28 |
--------------------------------------------------------------------------------
/packages/app/src/stories/file/LmFile.stories.tsx:
--------------------------------------------------------------------------------
1 | import { action } from '@storybook/addon-actions'
2 | import { LmFile } from '../../../../file/src'
3 | import { Meta, StoryObj } from '@storybook/react'
4 |
5 | const meta = {
6 | title: 'file/File Picker',
7 | component: LmFile,
8 | } satisfies Meta
9 | export default meta
10 |
11 | type Story = StoryObj
12 |
13 | export const Basic: Story = {
14 | args: {
15 | onUpload: action('upload'),
16 | },
17 | }
18 |
19 | export const DirectUpload = {
20 | args: {
21 | pickerButtonProps: {
22 | label: 'Choose Avatar',
23 | },
24 | directUpload: true,
25 | onUpload: action('upload'),
26 | },
27 | }
28 |
--------------------------------------------------------------------------------
/packages/app/src/stories/form/FormDecorator.tsx:
--------------------------------------------------------------------------------
1 | import { LmFormRhfProvider } from '../../../../form/src'
2 |
3 | export const StorybookRhfDecorator = (Story) => (
4 |
5 |
6 |
7 | )
8 |
--------------------------------------------------------------------------------
/packages/app/src/stories/rich-text/LmRichText.stories.tsx:
--------------------------------------------------------------------------------
1 | import { LmRichTextRhf } from '@tamagui-extras/rich-text'
2 | import { LmFormRhfProvider, LmSubmitButtonRhf } from '@tamagui-extras/form'
3 |
4 | export default {
5 | title: 'richText/TipTap Editor',
6 | component: LmRichTextRhf,
7 | }
8 |
9 | export const Basic = () => (
10 |
11 |
12 |
13 | )
14 |
15 | export const Multiple = () => (
16 | Hello WorldThis is some preset text...
' }}
18 | >
19 |
20 |
21 | console.log(form)}>Submit
22 |
23 | )
24 |
--------------------------------------------------------------------------------
/packages/app/src/stories/youtube/LmVideoEmbed.stories.tsx:
--------------------------------------------------------------------------------
1 | import { LmYoutubeEmbed } from '@tamagui-extras/youtube'
2 | import { Meta, StoryObj } from '@storybook/react'
3 | import { H3, YStack } from 'tamagui'
4 |
5 | const meta = {
6 | title: 'youtube/Youtube Embed',
7 | component: LmYoutubeEmbed,
8 | } satisfies Meta
9 |
10 | export default meta
11 |
12 | type Story = StoryObj
13 |
14 | export const Youtube: Story = {
15 | args: {
16 | youtubeId: 'JxS5E-kZc2s',
17 | },
18 | }
19 |
20 | export const AspectRatio = () => (
21 |
22 | Parent Container: 300x600
23 |
24 |
25 |
26 | )
27 |
--------------------------------------------------------------------------------
/packages/app/tamagui.config.ts:
--------------------------------------------------------------------------------
1 | import { config } from '@tamagui-extras/config'
2 |
3 | export type Conf = typeof config
4 |
5 | declare module 'tamagui' {
6 | interface TamaguiCustomConfig extends Conf {}
7 | }
8 |
9 | export default config
10 |
--------------------------------------------------------------------------------
/packages/app/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "src"
5 | ],
6 | "compilerOptions": {
7 | "composite": true,
8 | "jsx": "react-jsx"
9 | },
10 | "references": []
11 | }
12 |
--------------------------------------------------------------------------------
/packages/config/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@tamagui-extras/config",
3 | "version": "1.8.1",
4 | "license": "MIT",
5 | "author": "Dominic Garms",
6 | "repository": "https://github.com/dohomi/tamagui-kitchen-sink",
7 | "homepage": "https://tamagui-extras.vercel.app",
8 | "main": "src/index.ts",
9 | "dependencies": {
10 | "@tamagui/animations-react-native": "^1.92.1",
11 | "@tamagui/config": "^1.92.1",
12 | "@tamagui/font-inter": "^1.92.1",
13 | "@tamagui/react-native-media-driver": "^1.92.1",
14 | "@tamagui/shorthands": "^1.92.1",
15 | "@tamagui/themes": "^1.92.1",
16 | "tamagui": "^1.92.1"
17 | },
18 | "publishConfig": {
19 | "access": "public"
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/packages/config/src/animations.ts:
--------------------------------------------------------------------------------
1 | import { createAnimations } from '@tamagui/animations-react-native'
2 |
3 | export const animations = createAnimations({
4 | bouncy: {
5 | type: 'spring',
6 | damping: 10,
7 | mass: 0.9,
8 | stiffness: 100,
9 | },
10 | lazy: {
11 | type: 'spring',
12 | damping: 20,
13 | stiffness: 60,
14 | },
15 | quick: {
16 | type: 'spring',
17 | damping: 20,
18 | mass: 1.2,
19 | stiffness: 250,
20 | },
21 | })
22 |
--------------------------------------------------------------------------------
/packages/config/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './tamagui.config'
2 |
--------------------------------------------------------------------------------
/packages/core/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/LmAspectRatio.tsx:
--------------------------------------------------------------------------------
1 | import {styled, ThemeableStack} from "tamagui";
2 |
3 | export const LmAspectRatio = styled(ThemeableStack, {})
--------------------------------------------------------------------------------
/packages/core/src/core/content/LmImage.tsx:
--------------------------------------------------------------------------------
1 | import { Image, ImageProps, Stack } from 'tamagui'
2 |
3 | export type LmImageProps = ImageProps
4 |
5 | export function LmImage({ aspectRatio, ...props }: LmImageProps) {
6 | if (aspectRatio) {
7 | return (
8 |
9 |
16 |
17 | )
18 | }
19 | return
20 | }
21 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/LmSkeleton.tsx:
--------------------------------------------------------------------------------
1 | import {Spinner, Stack} from "tamagui";
2 |
3 | export function LmSkeleton() {
4 | return (
5 |
7 |
8 |
9 | )
10 | }
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/CaretDown.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Polyline as _Polyline, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Polyline
11 | points="208 96 128 176 48 96"
12 | fill="none"
13 | stroke={`${color}`}
14 | strokeLinecap="round"
15 | strokeLinejoin="round"
16 | strokeWidth="16"
17 | />
18 |
19 | )
20 | }
21 | Icon.displayName = 'CaretDownRegular'
22 | const CaretDownRegular = memo(themed(Icon))
23 | export { CaretDownRegular }
24 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/CaretLeft.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Polyline as _Polyline, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Polyline
11 | points="160 208 80 128 160 48"
12 | fill="none"
13 | stroke={`${color}`}
14 | strokeLinecap="round"
15 | strokeLinejoin="round"
16 | strokeWidth="16"
17 | />
18 |
19 | )
20 | }
21 | Icon.displayName = 'CaretLeftRegular'
22 | const CaretLeftRegular = memo(themed(Icon))
23 | export { CaretLeftRegular }
24 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/CaretRight.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Polyline as _Polyline, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Polyline
11 | points="96 48 176 128 96 208"
12 | fill="none"
13 | stroke={`${color}`}
14 | strokeLinecap="round"
15 | strokeLinejoin="round"
16 | strokeWidth="16"
17 | />
18 |
19 | )
20 | }
21 | Icon.displayName = 'CaretRightRegular'
22 | const CaretRightRegular = memo(themed(Icon))
23 | export { CaretRightRegular }
24 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/CaretUp.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Polyline as _Polyline, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Polyline
11 | points="48 160 128 80 208 160"
12 | fill="none"
13 | stroke={`${color}`}
14 | strokeLinecap="round"
15 | strokeLinejoin="round"
16 | strokeWidth="16"
17 | />
18 |
19 | )
20 | }
21 | Icon.displayName = 'CaretUpRegular'
22 | const CaretUpRegular = memo(themed(Icon))
23 | export { CaretUpRegular }
24 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/Check.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Polyline as _Polyline, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Polyline
11 | points="216 72 104 184 48 128"
12 | fill="none"
13 | stroke={`${color}`}
14 | strokeLinecap="round"
15 | strokeLinejoin="round"
16 | strokeWidth="16"
17 | />
18 |
19 | )
20 | }
21 | Icon.displayName = 'CheckRegular'
22 | const CheckRegular = memo(themed(Icon))
23 | export { CheckRegular }
24 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/IconProps.tsx:
--------------------------------------------------------------------------------
1 | import { ColorTokens, SizeTokens, ThemeTokens } from '@tamagui/core'
2 | import { SvgProps } from 'react-native-svg'
3 |
4 | export type IconContextProps = {
5 | size?: number | SizeTokens
6 | color?: (ColorTokens | ThemeTokens) | null
7 | style?: any
8 | weight?: 'thin' | 'light' | 'regular' | 'bold' | 'fill' | 'duotone'
9 | }
10 |
11 | export type IconProps = SvgProps & IconContextProps
12 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/Minus.tsx:
--------------------------------------------------------------------------------
1 | import React, { memo } from 'react'
2 | import { Line as _Line, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 |
4 | import { themed } from './themed'
5 | import { IconProps } from './IconProps'
6 |
7 | const Icon = (props: IconProps) => {
8 | const { color = 'black', size = 24, ...otherProps } = props
9 | return (
10 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
11 | <_Rect width="256" height="256" fill="none" />
12 | <_Line
13 | x1="40"
14 | y1="128"
15 | x2="216"
16 | y2="128"
17 | fill="none"
18 | stroke={`${color}`}
19 | strokeLinecap="round"
20 | strokeLinejoin="round"
21 | strokeWidth="16"
22 | />
23 |
24 | )
25 | }
26 |
27 | Icon.displayName = 'MinusRegular'
28 |
29 | export const MinusRegular = memo(themed(Icon))
30 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/Square.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Rect
11 | x="40"
12 | y="40"
13 | width="176"
14 | height="176"
15 | rx="8"
16 | fill="none"
17 | stroke={`${color}`}
18 | strokeLinecap="round"
19 | strokeLinejoin="round"
20 | strokeWidth="16"
21 | />
22 |
23 | )
24 | }
25 | Icon.displayName = 'SquareRegular'
26 | const SquareRegular = memo(themed(Icon))
27 | export { SquareRegular }
28 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/StarFill.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Path as _Path, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size} fill={`${color}`}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Path d="M239.2,97.4A16.4,16.4,0,0,0,224.6,86l-59.4-4.1-22-55.5A16.4,16.4,0,0,0,128,16h0a16.4,16.4,0,0,0-15.2,10.4L90.4,82.2,31.4,86A16.5,16.5,0,0,0,16.8,97.4,16.8,16.8,0,0,0,22,115.5l45.4,38.4L53.9,207a18.5,18.5,0,0,0,7,19.6,18,18,0,0,0,20.1.6l46.9-29.7h.2l50.5,31.9a16.1,16.1,0,0,0,8.7,2.6,16.5,16.5,0,0,0,15.8-20.8l-14.3-58.1L234,115.5A16.8,16.8,0,0,0,239.2,97.4Z" />
11 |
12 | )
13 | }
14 | Icon.displayName = 'StarFill'
15 | const StarFill = memo(themed(Icon))
16 | export { StarFill }
17 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/TextBolder.tsx:
--------------------------------------------------------------------------------
1 | import { memo } from 'react'
2 | import { Path as _Path, Rect as _Rect, Svg as _Svg } from 'react-native-svg'
3 | import { themed } from './themed'
4 |
5 | const Icon = (props) => {
6 | const { color = 'black', size = 24, ...otherProps } = props
7 | return (
8 | <_Svg viewBox="0 0 256 256" {...otherProps} height={size} width={size}>
9 | <_Rect width="256" height="256" fill="none" />
10 | <_Path
11 | d="M64,120h88a40,40,0,0,1,0,80H64V48h76a36,36,0,0,1,0,72"
12 | fill="none"
13 | stroke={`${color}`}
14 | strokeLinecap="round"
15 | strokeLinejoin="round"
16 | strokeWidth="16"
17 | />
18 |
19 | )
20 | }
21 | Icon.displayName = 'TextBolderRegular'
22 | const TextBolderRegular = memo(themed(Icon))
23 | export { TextBolderRegular }
24 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/icons/themed.tsx:
--------------------------------------------------------------------------------
1 | import { getTokens, getVariable, getVariableValue, useProps, useTheme } from 'tamagui'
2 | import React from 'react'
3 |
4 | export function themed(Component: A) {
5 | const wrapped = (propsIn: any) => {
6 | const props = useProps(propsIn)
7 | const theme = useTheme()
8 | const color = getVariable(
9 | (props.color in theme ? theme[props.color] : undefined) ||
10 | props.color ||
11 | (!props.disableTheme ? theme.color : null) ||
12 | '#000'
13 | )
14 | const size =
15 | typeof props.size === 'string'
16 | ? getVariableValue(getTokens().size[props.size] || props.size)
17 | : props.size
18 |
19 | // @ts-ignore
20 | return
21 | }
22 | return wrapped as unknown as A
23 | }
24 |
--------------------------------------------------------------------------------
/packages/core/src/core/content/index.ts:
--------------------------------------------------------------------------------
1 | export * from './LmAlert'
2 | export * from './LmAvatar'
3 | export * from './LmCard'
4 | export * from './LmImage'
5 | export * from './LmSkeleton'
6 | export * from './LmGrid'
7 |
--------------------------------------------------------------------------------
/packages/core/src/core/form/LmButton.tsx:
--------------------------------------------------------------------------------
1 | import { Button, ButtonProps, Spinner, TamaguiComponent } from 'tamagui'
2 | import { colormap, ThemeColors } from '../themeMappings'
3 | import { forwardRef } from 'react'
4 |
5 | export type LmButtonProps = ButtonProps & {
6 | colorVariant?: ThemeColors
7 | loading?: boolean
8 | }
9 |
10 | export const LmButton = forwardRef(function LmButtonFunc(
11 | { loading, colorVariant, ...props }: LmButtonProps,
12 | ref
13 | ) {
14 | const { theme } = props
15 | return (
16 | ,
22 | disabled: true,
23 | })}
24 | />
25 | )
26 | })
27 |
--------------------------------------------------------------------------------
/packages/core/src/core/form/index.ts:
--------------------------------------------------------------------------------
1 | export * from './LmButton'
--------------------------------------------------------------------------------
/packages/core/src/core/hooks/index.ts:
--------------------------------------------------------------------------------
1 | export * from './usePopoverState'
--------------------------------------------------------------------------------
/packages/core/src/core/hooks/usePopoverState.ts:
--------------------------------------------------------------------------------
1 | import { Dispatch, SetStateAction, useState } from 'react'
2 |
3 | export type UsePopoverState = {
4 | open: boolean
5 | onOpenChange: Dispatch>
6 | defaultOpen: boolean
7 | }
8 | export const usePopoverState = (defaultOpen?: boolean): UsePopoverState => {
9 | const [open, onOpenChange] = useState(!!defaultOpen)
10 | return {
11 | open,
12 | onOpenChange,
13 | defaultOpen: !!defaultOpen,
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/packages/core/src/core/panels/LmDialogContent.tsx:
--------------------------------------------------------------------------------
1 | import { ScrollView, SizeTokens, YStack, YStackProps } from 'tamagui'
2 |
3 | export type LmDialogContentProps = YStackProps & {
4 | contentPadding?: SizeTokens
5 | }
6 |
7 | export function LmDialogContent({
8 | children,
9 | contentPadding = '$4',
10 | ...rest
11 | }: LmDialogContentProps) {
12 | return (
13 |
14 |
15 | {children}
16 |
17 |
18 | )
19 | }
20 |
--------------------------------------------------------------------------------
/packages/core/src/core/panels/index.ts:
--------------------------------------------------------------------------------
1 | export * from './LmPopover'
2 | export * from './LmDialog'
3 | export * from './LmSheet'
4 | export * from './LmAlertDialog'
5 |
--------------------------------------------------------------------------------
/packages/core/src/core/themeMappings.ts:
--------------------------------------------------------------------------------
1 | import { ThemeName } from 'tamagui'
2 |
3 | export type ThemeColors = 'primary' | 'secondary' | 'info' | 'warning' | 'success' | 'error'
4 | export const colormap: { [k in ThemeColors]: ThemeName } = {
5 | success: 'green',
6 | error: 'red',
7 | info: 'blue',
8 | primary: 'blue',
9 | secondary: 'gray' as ThemeName,
10 | warning: 'orange',
11 | }
12 |
--------------------------------------------------------------------------------
/packages/core/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './core/themeMappings'
2 | export * from './core/panels'
3 | export * from './core/hooks'
4 | export * from './core/form'
5 | export * from './core/content'
6 | export * from './core/content/icons'
7 |
--------------------------------------------------------------------------------
/packages/core/src/tamagui.config.ts:
--------------------------------------------------------------------------------
1 | import { config } from '@tamagui-extras/config'
2 |
3 | export type Conf = typeof config
4 |
5 | declare module 'tamagui' {
6 | interface TamaguiCustomConfig extends Conf {}
7 | }
8 |
--------------------------------------------------------------------------------
/packages/core/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "src"
5 | ],
6 | "compilerOptions": {
7 | "composite": true,
8 | "jsx": "react-jsx"
9 | },
10 | "references": []
11 | }
12 |
--------------------------------------------------------------------------------
/packages/date/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/date/src/LmMonthsPicker.tsx:
--------------------------------------------------------------------------------
1 | import { getMonthOptions } from './dateHelper'
2 | import { LmSelect, LmSelectProps } from '@tamagui-extras/form'
3 | import { useMemo } from 'react'
4 |
5 | export type LmMonthsPickerProps = Omit
6 |
7 | export function LmMonthsPicker(selectProps: LmMonthsPickerProps) {
8 | const names = useMemo(() => {
9 | return getMonthOptions()
10 | }, [])
11 | return
12 | }
13 |
--------------------------------------------------------------------------------
/packages/date/src/datepicker/dateSelection/LmDaySelect.tsx:
--------------------------------------------------------------------------------
1 | import { useMemo } from 'react'
2 | import { LmSelect } from '@tamagui-extras/form'
3 | import { DaysForLocaleProps, InputSelectorProps } from './dateSelectionTypes'
4 |
5 | export function LmDaySelect(props: InputSelectorProps) {
6 | const options = useMemo(() => {
7 | return daysForLocale()
8 | }, [])
9 | return
10 | }
11 |
12 | function daysForLocale(params?: Pick) {
13 | const { localeName = 'en' } = params || {}
14 | const format = new Intl.DateTimeFormat(localeName, { day: '2-digit' }).format
15 | return Array.from(Array(31).keys()).map((day) => {
16 | return {
17 | value: format(new Date(Date.UTC(2021, 0, day + 1))),
18 | label: format(new Date(Date.UTC(2021, 0, day + 1))),
19 | }
20 | })
21 | }
22 |
--------------------------------------------------------------------------------
/packages/date/src/datepicker/dateSelection/LmYearSelect.tsx:
--------------------------------------------------------------------------------
1 | import { useMemo } from 'react'
2 | import { LmSelect } from '@tamagui-extras/form'
3 | import { InputSelectorProps } from './dateSelectionTypes'
4 |
5 | export function LmYearSelect(props: InputSelectorProps) {
6 | const options = useMemo(() => {
7 | return yearsForLocale()
8 | }, [])
9 | return
10 | }
11 |
12 | type YearsForLocaleProps = {
13 | startYear: number
14 | duration: number
15 | }
16 |
17 | function yearsForLocale(params?: YearsForLocaleProps) {
18 | const currentYear = new Date().getFullYear()
19 | const { startYear, duration = 100 } = params || {}
20 | const startWith = startYear || currentYear
21 | return Array.from(Array(duration).keys()).map((day) => {
22 | return {
23 | value: startWith - day,
24 | label: `${startWith - day}`,
25 | }
26 | })
27 | }
28 |
--------------------------------------------------------------------------------
/packages/date/src/datepicker/dateSelection/dateSelectionTypes.ts:
--------------------------------------------------------------------------------
1 | import { LmSelectProps } from '@tamagui-extras/form'
2 |
3 | export type InputSelectorProps = Omit
4 | export type DaysForLocaleProps = {
5 | localeName?: string
6 | month?: 'short' | 'long' | 'narrow' | 'numeric' | '2-digit'
7 | }
8 |
--------------------------------------------------------------------------------
/packages/date/src/datepicker/datepickerTypes.ts:
--------------------------------------------------------------------------------
1 | import { LmFormContainerBaseTypes } from '@tamagui-extras/form'
2 | import { OnDatesChangeProps, UseMonthProps } from '@datepicker-react/hooks'
3 | import { ButtonProps, InputProps, SizeTokens, ThemeableStackProps } from 'tamagui'
4 | import { LmPopoverProps } from '@tamagui-extras/core'
5 |
6 | export type LmDatepickerProps = LmFormContainerBaseTypes & {
7 | startDate?: Date | null
8 | endDate?: Date | null
9 | value?: Date | null
10 | numberOfMonths?: number
11 | isRangePicker?: boolean
12 | onChange?: (data: OnDatesChangeProps) => void
13 | labelFunctions?: Pick
14 | fullWidth?: boolean
15 | inputProps?: InputProps
16 | buttonProps?: ButtonProps
17 | containerProps?: ThemeableStackProps
18 | popoverProps?: Omit
19 | size?: SizeTokens
20 | }
21 |
--------------------------------------------------------------------------------
/packages/date/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './datepicker/datepickerTypes'
2 | export * from './LmMonthsPicker'
3 | export * from './datepicker/LmDatepicker'
4 | export * from './datepicker/dateSelection/LmDateSelection'
5 | export * from './datepicker/rhf/LmDatepickerRhf'
6 | export * from './datepicker/rhf/LmDateRangePickerRhf'
7 | export * from './datepicker/rhf/LmDateSelectionRhf'
8 |
--------------------------------------------------------------------------------
/packages/date/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "./src/**/*"
5 | ],
6 | "compilerOptions": {
7 | "composite": true
8 | },
9 | "references": []
10 | }
11 |
--------------------------------------------------------------------------------
/packages/file/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/file/src/LmFilePicker.tsx:
--------------------------------------------------------------------------------
1 | import { getDocumentAsync } from 'expo-document-picker'
2 | import { LmButton } from '@tamagui-extras/core'
3 | import { LmFilePickerProps } from './filePickerTypes'
4 |
5 | export function LmFilePicker({
6 | documentPickerOptions,
7 | label,
8 | onChange,
9 | ...buttonProps
10 | }: LmFilePickerProps) {
11 | return (
12 | {
15 | try {
16 | const docs = await getDocumentAsync({
17 | ...documentPickerOptions,
18 | })
19 | if (docs && onChange) {
20 | onChange(docs)
21 | } else {
22 | console.log(docs)
23 | }
24 | } catch (e) {
25 | console.log(e)
26 | }
27 | }}
28 | >
29 | {label}
30 |
31 | )
32 | }
33 |
--------------------------------------------------------------------------------
/packages/file/src/filePickerTypes.ts:
--------------------------------------------------------------------------------
1 | import { DocumentPickerOptions, DocumentPickerResult } from 'expo-document-picker'
2 | import { StackProps } from 'tamagui'
3 | import { LmButtonProps } from '@tamagui-extras/core'
4 |
5 | export type LmFilePickerProps = LmButtonProps & {
6 | label?: string
7 | documentPickerOptions?: DocumentPickerOptions
8 | onChange?: (files: DocumentPickerResult) => Promise | void
9 | }
10 |
11 | export type LmFileProps = {
12 | containerProps?: Omit
13 | uploadButtonProps?: LmButtonProps & {
14 | label?: string
15 | }
16 | cancelButtonProps?: LmButtonProps & {
17 | label?: string
18 | }
19 | pickerButtonProps?: LmFilePickerProps
20 | onUpload: (files: DocumentPickerResult) => Promise | void
21 | directUpload?: boolean
22 | }
23 |
--------------------------------------------------------------------------------
/packages/file/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './filePickerTypes'
2 | export * from './LmFile'
3 | export * from './LmFilePicker'
--------------------------------------------------------------------------------
/packages/file/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "./src/**/*"
5 | ],
6 | "compilerOptions": {
7 | "composite": true
8 | },
9 | "references": []
10 | }
11 |
--------------------------------------------------------------------------------
/packages/file/types/LmFile.d.ts:
--------------------------------------------------------------------------------
1 | import { LmFileProps } from './filePickerTypes';
2 | export declare function LmFile({ pickerButtonProps, uploadButtonProps, onUpload, containerProps, directUpload, cancelButtonProps, }: LmFileProps): import("react/jsx-runtime").JSX.Element;
3 | //# sourceMappingURL=LmFile.d.ts.map
--------------------------------------------------------------------------------
/packages/file/types/LmFilePicker.d.ts:
--------------------------------------------------------------------------------
1 | import { LmFilePickerProps } from './filePickerTypes';
2 | export declare function LmFilePicker({ documentPickerOptions, label, onChange, ...buttonProps }: LmFilePickerProps): import("react/jsx-runtime").JSX.Element;
3 | //# sourceMappingURL=LmFilePicker.d.ts.map
--------------------------------------------------------------------------------
/packages/file/types/filePickerTypes.d.ts:
--------------------------------------------------------------------------------
1 | import { DocumentPickerOptions, DocumentPickerResult } from 'expo-document-picker';
2 | import { StackProps } from 'tamagui';
3 | import { LmButtonProps } from '@tamagui-extras/core';
4 | export type LmFilePickerProps = LmButtonProps & {
5 | label?: string;
6 | documentPickerOptions?: DocumentPickerOptions;
7 | onChange?: (files: DocumentPickerResult) => Promise | void;
8 | };
9 | export type LmFileProps = {
10 | containerProps?: Omit;
11 | uploadButtonProps?: LmButtonProps & {
12 | label?: string;
13 | };
14 | cancelButtonProps?: LmButtonProps & {
15 | label?: string;
16 | };
17 | pickerButtonProps?: LmFilePickerProps;
18 | onUpload: (files: DocumentPickerResult) => Promise | void;
19 | directUpload?: boolean;
20 | };
21 | //# sourceMappingURL=filePickerTypes.d.ts.map
--------------------------------------------------------------------------------
/packages/file/types/index.d.ts:
--------------------------------------------------------------------------------
1 | export * from './filePickerTypes';
2 | export * from './LmFile';
3 | export * from './LmFilePicker';
4 | //# sourceMappingURL=index.d.ts.map
--------------------------------------------------------------------------------
/packages/form/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/LmRadioGroup.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/LmRadioGroup.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAoF,oBACpF,8BAAqC,mCAsC3B;AA5BH,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,GAAG;AACL,GAAsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MAEJ,sDAAC,6BAAW,OAAO,KAAK,kBAAkB,QAAQ,OAAO,MAAM,UAAqB,GAAG,MACpF,kBAAQ,IAAI,CAAC,QAAQ,MACpB,6CAAC,yBAAiD,YAAW,UAAS,OAAO,WAC3E;AAAA;AAAA,UAAC,0BAAW;AAAA,UAAX;AAAA,YACC,OAAO,OAAO;AAAA,YACd,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;AAAA,YACrC;AAAA,YACA,YAAU;AAAA,YAEV,sDAAC,0BAAW,WAAX,EAAqB;AAAA;AAAA,QACxB;AAAA,QAEA,4CAAC,wBAAM,MAAY,SAAS,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,QAAQ,WACtE,iBAAO,OACV;AAAA,WAZW,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,EAa9C,CACD,GACH;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/LmSwitch.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/LmSwitch.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAA+D,oBAC/D,eAAsB,kBAkBlB;AAVG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,SAAK,oBAAM;AACjB,SACE,6CAAC,yBAAO,YAAY,UAAU,OAAO,MAClC;AAAA,iBACC,4CAAC,wBAAM,SAAS,IAAI,MACjB,qBACH;AAAA,IAEF,4CAAC,yBAAO,IAAS,GAAG,MAAM,MACxB,sDAAC,sBAAO,OAAP,EAAa,WAAW,UAAW,GAAG,YAAY,GACrD;AAAA,IACC,cACC,4CAAC,wBAAM,SAAS,IAAI,MACjB,sBACH;AAAA,KAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/formContainerTypes.js:
--------------------------------------------------------------------------------
1 | var __defProp = Object.defineProperty;
2 | var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3 | var __getOwnPropNames = Object.getOwnPropertyNames;
4 | var __hasOwnProp = Object.prototype.hasOwnProperty;
5 | var __copyProps = (to, from, except, desc) => {
6 | if (from && typeof from == "object" || typeof from == "function")
7 | for (let key of __getOwnPropNames(from))
8 | !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9 | return to;
10 | };
11 | var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
12 | var formContainerTypes_exports = {};
13 | module.exports = __toCommonJS(formContainerTypes_exports);
14 | //# sourceMappingURL=formContainerTypes.js.map
15 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/formContainerTypes.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/formContainerTypes.ts"],
4 | "mappings": ";;;;;;;;;;;AAAA;AAAA;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/index.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/index.ts"],
4 | "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,iCAAd;AACA,wBAAc,kBADd;AAEA,wBAAc,mCAFd;AAGA,wBAAc,sBAHd;AAIA,wBAAc,uBAJd;AAKA,wBAAc,yBALd;AAMA,wBAAc,uBANd;AAOA,wBAAc,uBAPd;AAQA,wBAAc,6BARd;AASA,wBAAc,2BATd;AAUA,wBAAc,2BAVd;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmCheckboxRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmCheckboxRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAwC,4BAExC,oBAA4C,0BAqBpC;AAjBD,SAAS,cAAqC;AAAA,EACnD;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0B;AACxB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAO,SAAS;AAAA,UAChB,OAAO,CAAC,CAAC;AAAA,UACT;AAAA,UACA,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmFormRhfProvider.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmFormRhfProvider.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAgF,4BAkB1E;AAVC,SAAS,kBAAuD;AAAA,EACrE;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,cAAU,gCAAW;AAAA,IACzB,GAAG;AAAA,EACL,CAAC;AACD,SAAO,OAAO,YAAa,aACzB,oBACE,4CAAC,uCAAc,GAAG,SAAU,mBAAS,OAAO,GAAE,IAE9C,2EAAG,mBAAS,OAAO,GAAE,IAGvB,4CAAC,uCAAc,GAAG,SAAU,UAAS;AAEzC;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmInputRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmInputRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAwC,4BACxC,iBAAsC,uBAsB9B;AAjBD,SAAS,WAAgD;AAAA,EAC9D;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAuB;AACrB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,OAAO,QAAQ,IAAI,GAAG,YAAY,EAAE,MAAM,EAAE,MACxE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,OAAO,SAAS;AAAA,UAChB;AAAA,UACA,OAAO,CAAC,CAAC;AAAA,UACT,cAAc;AAAA,UACd,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmRadioGroupRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmRadioGroupRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,0BAAgD,4BAChD,yBAAwC,4BAqBhC;AAjBD,SAAS,gBAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,SAAI,KAAK,aACP,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA;AAAA,UACA,eAAe;AAAA,UACf,OAAO,CAAC,CAAC;AAAA,UACT,YAAY,QAAQ,MAAM,UAAU,KAAK;AAAA;AAAA,MAC3C;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmResetButtonRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmResetButtonRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAA+B,4BAC/B,cAAwC,iCAKpC;AAHG,SAAS,iBAAiB,OAAsB;AACrD,QAAM,EAAE,MAAM,QAAI,uCAAe;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI;AAAA,MACL,SAAS,CAAC,MAAM;AACd,cAAM,GACF,OAAO,MAAM,WAAY,cAC3B,MAAM,QAAQ,CAAC;AAAA,MAEnB;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmSelectRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSelectRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAwC,wBACxC,yBAAwC,4BAsBhC;AAjBD,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,OAAO,IAAI,GAAG,YAAY,EAAE,OAAO,QAAQ,EAAE,MACzE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAO,SAAS;AAAA,UAChB,OAAO;AAAA,UACP,eAAe;AAAA,UACf,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmSliderRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSliderRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAwC,wBACxC,yBAAwC,4BAmB9B;AAfH,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,SAAS,GAAG,YAAY,UAAU,MAAM;AACjE,cAAM,gBAAgB,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC3D,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACJ,cAAc;AAAA,YACd,eAAe,CAAC,MAAM;AACpB,cAAI,EAAE,WAAW,IACf,SAAS,EAAE,CAAC,CAAC,IAEb,SAAS,CAAC,GAER,OAAO,YAAY,iBAAkB,cACvC,YAAY,cAAc,CAAC;AAAA,YAE/B;AAAA;AAAA,QACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmStarRatingRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmStarRatingRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAwC,4BAExC,sBAAgD,4BAkBxC;AAdD,SAAS,gBAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,MACpC,4CAAC,oCAAc,GAAG,YAAY,UAAoB,OAAO,SAAS,MAAM;AAAA;AAAA,EAE5E;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmSubmitButtonRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSubmitButtonRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAAwC,iCACxC,yBAA2D,4BAavD;AAPG,SAAS,kBAAkE;AAAA,EAChF;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,kBAAc,uCAA6B,GAC3C,EAAE,cAAc,UAAU,IAAI;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI;AAAA,MACL,SAAS,aAAa,CAAC,SAAS;AAC9B,iBAAS,MAAM,WAAW;AAAA,MAC5B,CAAC;AAAA,MACD,SAAS,UAAU,gBAAgB,MAAM;AAAA;AAAA,EAC3C;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/LmSwitchRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSwitchRhf.tsx"],
4 | "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAAwC,4BAExC,kBAAwC,wBAkBhC;AAdD,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,MACpC,4CAAC,4BAAU,GAAG,YAAY,iBAAiB,UAAU,OAAc,SAAS,CAAC,CAAC,OAAO;AAAA;AAAA,EAEzF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/index.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/index.ts"],
4 | "mappings": ";;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,yBAAd;AACA,wBAAc,yBADd;AAEA,wBAAc,gCAFd;AAGA,wBAAc,+BAHd;AAIA,wBAAc,gCAJd;AAKA,wBAAc,0BALd;AAMA,wBAAc,4BANd;AAOA,wBAAc,0BAPd;AAQA,wBAAc,0BARd;AASA,wBAAc,gCATd;AAUA,wBAAc,8BAVd;AAWA,wBAAc,8BAXd;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/lmRhfProps.js:
--------------------------------------------------------------------------------
1 | var __defProp = Object.defineProperty;
2 | var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
3 | var __getOwnPropNames = Object.getOwnPropertyNames;
4 | var __hasOwnProp = Object.prototype.hasOwnProperty;
5 | var __copyProps = (to, from, except, desc) => {
6 | if (from && typeof from == "object" || typeof from == "function")
7 | for (let key of __getOwnPropNames(from))
8 | !__hasOwnProp.call(to, key) && key !== except && __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
9 | return to;
10 | };
11 | var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
12 | var lmRhfProps_exports = {};
13 | module.exports = __toCommonJS(lmRhfProps_exports);
14 | //# sourceMappingURL=lmRhfProps.js.map
15 |
--------------------------------------------------------------------------------
/packages/form/dist/cjs/rhf/lmRhfProps.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/lmRhfProps.tsx"],
4 | "mappings": ";;;;;;;;;;;AAAA;AAAA;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/LmRadioGroup.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/LmRadioGroup.tsx"],
4 | "mappings": "AACA,SAAS,OAAO,YAAsD,cAAc;AACpF,SAAS,4BAA4B;AAsC3B,SAOI,KAPJ;AA5BH,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,GAAG;AACL,GAAsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MAEJ,8BAAC,cAAW,OAAO,KAAK,kBAAkB,QAAQ,OAAO,MAAM,UAAqB,GAAG,MACpF,kBAAQ,IAAI,CAAC,QAAQ,MACpB,qBAAC,UAAiD,YAAW,UAAS,OAAO,WAC3E;AAAA;AAAA,UAAC,WAAW;AAAA,UAAX;AAAA,YACC,OAAO,OAAO;AAAA,YACd,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;AAAA,YACrC;AAAA,YACA,YAAU;AAAA,YAEV,8BAAC,WAAW,WAAX,EAAqB;AAAA;AAAA,QACxB;AAAA,QAEA,oBAAC,SAAM,MAAY,SAAS,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,QAAQ,WACtE,iBAAO,OACV;AAAA,WAZW,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,EAa9C,CACD,GACH;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/LmSwitch.js:
--------------------------------------------------------------------------------
1 | import { Label, Switch, XStack } from "tamagui";
2 | import { useId } from "react";
3 | import { jsx, jsxs } from "react/jsx-runtime";
4 | function LmSwitch({
5 | labelLeft,
6 | labelRight,
7 | space,
8 | size = "$2",
9 | thumbProps,
10 | ...rest
11 | }) {
12 | const id = useId();
13 | return /* @__PURE__ */ jsxs(XStack, { alignItems: "center", space: "$4", children: [
14 | labelLeft && /* @__PURE__ */ jsx(Label, { htmlFor: id, size, children: labelLeft }),
15 | /* @__PURE__ */ jsx(Switch, { id, ...rest, size, children: /* @__PURE__ */ jsx(Switch.Thumb, { animation: "bouncy", ...thumbProps }) }),
16 | labelRight && /* @__PURE__ */ jsx(Label, { htmlFor: id, size, children: labelRight })
17 | ] });
18 | }
19 | export {
20 | LmSwitch
21 | };
22 | //# sourceMappingURL=LmSwitch.js.map
23 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/LmSwitch.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/LmSwitch.tsx"],
4 | "mappings": "AAAA,SAAS,OAAmB,QAAqB,cAAc;AAC/D,SAAS,aAAa;AAkBlB,SAEI,KAFJ;AAVG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,KAAK,MAAM;AACjB,SACE,qBAAC,UAAO,YAAY,UAAU,OAAO,MAClC;AAAA,iBACC,oBAAC,SAAM,SAAS,IAAI,MACjB,qBACH;AAAA,IAEF,oBAAC,UAAO,IAAS,GAAG,MAAM,MACxB,8BAAC,OAAO,OAAP,EAAa,WAAW,UAAW,GAAG,YAAY,GACrD;AAAA,IACC,cACC,oBAAC,SAAM,SAAS,IAAI,MACjB,sBACH;AAAA,KAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/formContainerTypes.js:
--------------------------------------------------------------------------------
1 | //# sourceMappingURL=formContainerTypes.js.map
2 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/formContainerTypes.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": [],
4 | "mappings": "",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/index.js:
--------------------------------------------------------------------------------
1 | export * from "./formContainerTypes";
2 | export * from "./rhf";
3 | export * from "./LmFormFieldContainer";
4 | export * from "./LmInput";
5 | export * from "./LmSelect";
6 | export * from "./LmCheckbox";
7 | export * from "./LmSwitch";
8 | export * from "./LmSlider";
9 | export * from "./LmAutocomplete";
10 | export * from "./LmStarRating";
11 | export * from "./LmRadioGroup";
12 | //# sourceMappingURL=index.js.map
13 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/index.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/index.ts"],
4 | "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmCheckboxRhf.js:
--------------------------------------------------------------------------------
1 | import { Controller } from "react-hook-form";
2 | import { LmCheckbox } from "../LmCheckbox";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmCheckboxRhf({
5 | name,
6 | rules = {},
7 | control,
8 | defaultValue,
9 | ...inputProps
10 | }) {
11 | return inputProps.required && (rules.required = "This field is required"), /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | rules,
16 | control,
17 | defaultValue,
18 | render: ({ field: { onChange, value }, fieldState: { error } }) => /* @__PURE__ */ jsx(
19 | LmCheckbox,
20 | {
21 | ...inputProps,
22 | value: value ?? !1,
23 | error: !!error,
24 | onChange,
25 | helperText: error ? error.message : inputProps.helperText
26 | }
27 | )
28 | }
29 | );
30 | }
31 | export {
32 | LmCheckboxRhf
33 | };
34 | //# sourceMappingURL=LmCheckboxRhf.js.map
35 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmCheckboxRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmCheckboxRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AAExC,SAAS,kBAAmC;AAqBpC;AAjBD,SAAS,cAAqC;AAAA,EACnD;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0B;AACxB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAO,SAAS;AAAA,UAChB,OAAO,CAAC,CAAC;AAAA,UACT;AAAA,UACA,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmFormRhfProvider.js:
--------------------------------------------------------------------------------
1 | import { FormProvider, useForm } from "react-hook-form";
2 | import { Fragment, jsx } from "react/jsx-runtime";
3 | function LmFormRhfProvider({
4 | children,
5 | forceFormProvider,
6 | ...formProps
7 | }) {
8 | const methods = useForm({
9 | ...formProps
10 | });
11 | return typeof children == "function" ? forceFormProvider ? /* @__PURE__ */ jsx(FormProvider, { ...methods, children: children(methods) }) : /* @__PURE__ */ jsx(Fragment, { children: children(methods) }) : /* @__PURE__ */ jsx(FormProvider, { ...methods, children });
12 | }
13 | export {
14 | LmFormRhfProvider
15 | };
16 | //# sourceMappingURL=LmFormRhfProvider.js.map
17 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmFormRhfProvider.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmFormRhfProvider.tsx"],
4 | "mappings": "AAAA,SAAsB,cAAc,eAA4C;AAkB1E,SAEA,UAFA;AAVC,SAAS,kBAAuD;AAAA,EACrE;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,UAAU,QAAW;AAAA,IACzB,GAAG;AAAA,EACL,CAAC;AACD,SAAO,OAAO,YAAa,aACzB,oBACE,oBAAC,gBAAc,GAAG,SAAU,mBAAS,OAAO,GAAE,IAE9C,gCAAG,mBAAS,OAAO,GAAE,IAGvB,oBAAC,gBAAc,GAAG,SAAU,UAAS;AAEzC;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmInputRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmInputRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AACxC,SAAS,eAA6B;AAsB9B;AAjBD,SAAS,WAAgD;AAAA,EAC9D;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAuB;AACrB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,OAAO,QAAQ,IAAI,GAAG,YAAY,EAAE,MAAM,EAAE,MACxE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,OAAO,SAAS;AAAA,UAChB;AAAA,UACA,OAAO,CAAC,CAAC;AAAA,UACT,cAAc;AAAA,UACd,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmRadioGroupRhf.js:
--------------------------------------------------------------------------------
1 | import { LmRadioGroup } from "../LmRadioGroup";
2 | import { Controller } from "react-hook-form";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmRadioGroupRhf({
5 | name,
6 | control,
7 | rules = {},
8 | defaultValue,
9 | ...rest
10 | }) {
11 | return rest.required && (rules.required = "This field is required"), /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | control,
16 | rules,
17 | defaultValue,
18 | render: ({ field: { onChange, value }, fieldState: { error } }) => /* @__PURE__ */ jsx(
19 | LmRadioGroup,
20 | {
21 | ...rest,
22 | name,
23 | value,
24 | onValueChange: onChange,
25 | error: !!error,
26 | helperText: error ? error.message : rest.helperText
27 | }
28 | )
29 | }
30 | );
31 | }
32 | export {
33 | LmRadioGroupRhf
34 | };
35 | //# sourceMappingURL=LmRadioGroupRhf.js.map
36 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmRadioGroupRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmRadioGroupRhf.tsx"],
4 | "mappings": "AACA,SAAS,oBAAuC;AAChD,SAAS,kBAA+B;AAqBhC;AAjBD,SAAS,gBAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,SAAI,KAAK,aACP,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA;AAAA,UACA,eAAe;AAAA,UACf,OAAO,CAAC,CAAC;AAAA,UACT,YAAY,QAAQ,MAAM,UAAU,KAAK;AAAA;AAAA,MAC3C;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmResetButtonRhf.js:
--------------------------------------------------------------------------------
1 | import { useFormContext } from "react-hook-form";
2 | import { LmButton } from "@tamagui-extras/core";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmResetButtonRhf(props) {
5 | const { reset } = useFormContext();
6 | return /* @__PURE__ */ jsx(
7 | LmButton,
8 | {
9 | ...props,
10 | onPress: (e) => {
11 | reset(), typeof props.onPress == "function" && props.onPress(e);
12 | }
13 | }
14 | );
15 | }
16 | export {
17 | LmResetButtonRhf
18 | };
19 | //# sourceMappingURL=LmResetButtonRhf.js.map
20 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmResetButtonRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmResetButtonRhf.tsx"],
4 | "mappings": "AAAA,SAAS,sBAAsB;AAC/B,SAAS,gBAA+B;AAKpC;AAHG,SAAS,iBAAiB,OAAsB;AACrD,QAAM,EAAE,MAAM,IAAI,eAAe;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI;AAAA,MACL,SAAS,CAAC,MAAM;AACd,cAAM,GACF,OAAO,MAAM,WAAY,cAC3B,MAAM,QAAQ,CAAC;AAAA,MAEnB;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmSelectRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSelectRhf.tsx"],
4 | "mappings": "AAAA,SAAS,gBAA+B;AACxC,SAAS,kBAA+B;AAsBhC;AAjBD,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,OAAO,IAAI,GAAG,YAAY,EAAE,OAAO,QAAQ,EAAE,MACzE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAO,SAAS;AAAA,UAChB,OAAO;AAAA,UACP,eAAe;AAAA,UACf,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmSliderRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSliderRhf.tsx"],
4 | "mappings": "AACA,SAAS,gBAA+B;AACxC,SAAS,kBAA+B;AAmB9B;AAfH,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,SAAS,GAAG,YAAY,UAAU,MAAM;AACjE,cAAM,gBAAgB,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC3D,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACJ,cAAc;AAAA,YACd,eAAe,CAAC,MAAM;AACpB,cAAI,EAAE,WAAW,IACf,SAAS,EAAE,CAAC,CAAC,IAEb,SAAS,CAAC,GAER,OAAO,YAAY,iBAAkB,cACvC,YAAY,cAAc,CAAC;AAAA,YAE/B;AAAA;AAAA,QACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmStarRatingRhf.js:
--------------------------------------------------------------------------------
1 | import { Controller } from "react-hook-form";
2 | import { LmStarRating } from "../LmStarRating";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmStarRatingRhf({
5 | name,
6 | control,
7 | rules = {},
8 | defaultValue,
9 | ...inputProps
10 | }) {
11 | return /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | rules,
16 | control,
17 | defaultValue,
18 | render: ({ field: { onChange, value } }) => /* @__PURE__ */ jsx(LmStarRating, { ...inputProps, onChange, value: value ?? null })
19 | }
20 | );
21 | }
22 | export {
23 | LmStarRatingRhf
24 | };
25 | //# sourceMappingURL=LmStarRatingRhf.js.map
26 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmStarRatingRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmStarRatingRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AAExC,SAAS,oBAAuC;AAkBxC;AAdD,SAAS,gBAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,MACpC,oBAAC,gBAAc,GAAG,YAAY,UAAoB,OAAO,SAAS,MAAM;AAAA;AAAA,EAE5E;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmSubmitButtonRhf.js:
--------------------------------------------------------------------------------
1 | import { LmButton } from "@tamagui-extras/core";
2 | import { useFormContext } from "react-hook-form";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmSubmitButtonRhf({
5 | onSubmit,
6 | ...props
7 | }) {
8 | const formContext = useFormContext(), { handleSubmit, formState } = formContext;
9 | return /* @__PURE__ */ jsx(
10 | LmButton,
11 | {
12 | ...props,
13 | onPress: handleSubmit((data) => {
14 | onSubmit(data, formContext);
15 | }),
16 | loading: formState.isValidating || props.loading
17 | }
18 | );
19 | }
20 | export {
21 | LmSubmitButtonRhf
22 | };
23 | //# sourceMappingURL=LmSubmitButtonRhf.js.map
24 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmSubmitButtonRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSubmitButtonRhf.tsx"],
4 | "mappings": "AAAA,SAAS,gBAA+B;AACxC,SAAsB,sBAAqC;AAavD;AAPG,SAAS,kBAAkE;AAAA,EAChF;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,cAAc,eAA6B,GAC3C,EAAE,cAAc,UAAU,IAAI;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI;AAAA,MACL,SAAS,aAAa,CAAC,SAAS;AAC9B,iBAAS,MAAM,WAAW;AAAA,MAC5B,CAAC;AAAA,MACD,SAAS,UAAU,gBAAgB,MAAM;AAAA;AAAA,EAC3C;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmSwitchRhf.js:
--------------------------------------------------------------------------------
1 | import { Controller } from "react-hook-form";
2 | import { LmSwitch } from "../LmSwitch";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmSwitchRhf({
5 | name,
6 | control,
7 | rules = {},
8 | defaultValue,
9 | ...inputProps
10 | }) {
11 | return /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | rules,
16 | control,
17 | defaultValue,
18 | render: ({ field: { onChange, value } }) => /* @__PURE__ */ jsx(LmSwitch, { ...inputProps, onCheckedChange: onChange, value, checked: !!value })
19 | }
20 | );
21 | }
22 | export {
23 | LmSwitchRhf
24 | };
25 | //# sourceMappingURL=LmSwitchRhf.js.map
26 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/LmSwitchRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSwitchRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AAExC,SAAS,gBAA+B;AAkBhC;AAdD,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,MACpC,oBAAC,YAAU,GAAG,YAAY,iBAAiB,UAAU,OAAc,SAAS,CAAC,CAAC,OAAO;AAAA;AAAA,EAEzF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/index.js:
--------------------------------------------------------------------------------
1 | export * from "./lmRhfProps";
2 | export * from "./LmInputRhf";
3 | export * from "./LmFormRhfProvider";
4 | export * from "./LmResetButtonRhf";
5 | export * from "./LmSubmitButtonRhf";
6 | export * from "./LmSelectRhf";
7 | export * from "./LmCheckboxRhf";
8 | export * from "./LmSwitchRhf";
9 | export * from "./LmSliderRhf";
10 | export * from "./LmAutocompleteRhf";
11 | export * from "./LmStarRatingRhf";
12 | export * from "./LmRadioGroupRhf";
13 | //# sourceMappingURL=index.js.map
14 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/index.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/index.ts"],
4 | "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/lmRhfProps.js:
--------------------------------------------------------------------------------
1 | //# sourceMappingURL=lmRhfProps.js.map
2 |
--------------------------------------------------------------------------------
/packages/form/dist/esm/rhf/lmRhfProps.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": [],
4 | "mappings": "",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/LmRadioGroup.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/LmRadioGroup.tsx"],
4 | "mappings": "AACA,SAAS,OAAO,YAAsD,cAAc;AACpF,SAAS,4BAA4B;AAsC3B,SAOI,KAPJ;AA5BH,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,YAAY;AAAA,EACZ;AAAA,EACA,GAAG;AACL,GAAsB;AACpB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACC,GAAG;AAAA,MAEJ,8BAAC,cAAW,OAAO,KAAK,kBAAkB,QAAQ,OAAO,MAAM,UAAqB,GAAG,MACpF,kBAAQ,IAAI,CAAC,QAAQ,MACpB,qBAAC,UAAiD,YAAW,UAAS,OAAO,WAC3E;AAAA;AAAA,UAAC,WAAW;AAAA,UAAX;AAAA,YACC,OAAO,OAAO;AAAA,YACd,IAAI,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC;AAAA,YACrC;AAAA,YACA,YAAU;AAAA,YAEV,8BAAC,WAAW,WAAX,EAAqB;AAAA;AAAA,QACxB;AAAA,QAEA,oBAAC,SAAM,MAAY,SAAS,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,IAAI,QAAQ,WACtE,iBAAO,OACV;AAAA,WAZW,GAAG,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI,CAAC,EAa9C,CACD,GACH;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/LmSwitch.js:
--------------------------------------------------------------------------------
1 | import { Label, Switch, XStack } from "tamagui";
2 | import { useId } from "react";
3 | import { jsx, jsxs } from "react/jsx-runtime";
4 | function LmSwitch({
5 | labelLeft,
6 | labelRight,
7 | space,
8 | size = "$2",
9 | thumbProps,
10 | ...rest
11 | }) {
12 | const id = useId();
13 | return /* @__PURE__ */ jsxs(XStack, { alignItems: "center", space: "$4", children: [
14 | labelLeft && /* @__PURE__ */ jsx(Label, { htmlFor: id, size, children: labelLeft }),
15 | /* @__PURE__ */ jsx(Switch, { id, ...rest, size, children: /* @__PURE__ */ jsx(Switch.Thumb, { animation: "bouncy", ...thumbProps }) }),
16 | labelRight && /* @__PURE__ */ jsx(Label, { htmlFor: id, size, children: labelRight })
17 | ] });
18 | }
19 | export {
20 | LmSwitch
21 | };
22 | //# sourceMappingURL=LmSwitch.js.map
23 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/LmSwitch.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/LmSwitch.tsx"],
4 | "mappings": "AAAA,SAAS,OAAmB,QAAqB,cAAc;AAC/D,SAAS,aAAa;AAkBlB,SAEI,KAFJ;AAVG,SAAS,SAAS;AAAA,EACvB;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP;AAAA,EACA,GAAG;AACL,GAAkB;AAChB,QAAM,KAAK,MAAM;AACjB,SACE,qBAAC,UAAO,YAAY,UAAU,OAAO,MAClC;AAAA,iBACC,oBAAC,SAAM,SAAS,IAAI,MACjB,qBACH;AAAA,IAEF,oBAAC,UAAO,IAAS,GAAG,MAAM,MACxB,8BAAC,OAAO,OAAP,EAAa,WAAW,UAAW,GAAG,YAAY,GACrD;AAAA,IACC,cACC,oBAAC,SAAM,SAAS,IAAI,MACjB,sBACH;AAAA,KAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/formContainerTypes.js:
--------------------------------------------------------------------------------
1 | //# sourceMappingURL=formContainerTypes.js.map
2 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/formContainerTypes.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": [],
4 | "mappings": "",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/index.js:
--------------------------------------------------------------------------------
1 | export * from "./formContainerTypes";
2 | export * from "./rhf";
3 | export * from "./LmFormFieldContainer";
4 | export * from "./LmInput";
5 | export * from "./LmSelect";
6 | export * from "./LmCheckbox";
7 | export * from "./LmSwitch";
8 | export * from "./LmSlider";
9 | export * from "./LmAutocomplete";
10 | export * from "./LmStarRating";
11 | export * from "./LmRadioGroup";
12 | //# sourceMappingURL=index.js.map
13 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/index.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../src/index.ts"],
4 | "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmCheckboxRhf.js:
--------------------------------------------------------------------------------
1 | import { Controller } from "react-hook-form";
2 | import { LmCheckbox } from "../LmCheckbox";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmCheckboxRhf({
5 | name,
6 | rules = {},
7 | control,
8 | defaultValue,
9 | ...inputProps
10 | }) {
11 | return inputProps.required && (rules.required = "This field is required"), /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | rules,
16 | control,
17 | defaultValue,
18 | render: ({ field: { onChange, value }, fieldState: { error } }) => /* @__PURE__ */ jsx(
19 | LmCheckbox,
20 | {
21 | ...inputProps,
22 | value: value ?? !1,
23 | error: !!error,
24 | onChange,
25 | helperText: error ? error.message : inputProps.helperText
26 | }
27 | )
28 | }
29 | );
30 | }
31 | export {
32 | LmCheckboxRhf
33 | };
34 | //# sourceMappingURL=LmCheckboxRhf.js.map
35 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmCheckboxRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmCheckboxRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AAExC,SAAS,kBAAmC;AAqBpC;AAjBD,SAAS,cAAqC;AAAA,EACnD;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA0B;AACxB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAO,SAAS;AAAA,UAChB,OAAO,CAAC,CAAC;AAAA,UACT;AAAA,UACA,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmFormRhfProvider.js:
--------------------------------------------------------------------------------
1 | import { FormProvider, useForm } from "react-hook-form";
2 | import { Fragment, jsx } from "react/jsx-runtime";
3 | function LmFormRhfProvider({
4 | children,
5 | forceFormProvider,
6 | ...formProps
7 | }) {
8 | const methods = useForm({
9 | ...formProps
10 | });
11 | return typeof children == "function" ? forceFormProvider ? /* @__PURE__ */ jsx(FormProvider, { ...methods, children: children(methods) }) : /* @__PURE__ */ jsx(Fragment, { children: children(methods) }) : /* @__PURE__ */ jsx(FormProvider, { ...methods, children });
12 | }
13 | export {
14 | LmFormRhfProvider
15 | };
16 | //# sourceMappingURL=LmFormRhfProvider.js.map
17 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmFormRhfProvider.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmFormRhfProvider.tsx"],
4 | "mappings": "AAAA,SAAsB,cAAc,eAA4C;AAkB1E,SAEA,UAFA;AAVC,SAAS,kBAAuD;AAAA,EACrE;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAA8B;AAC5B,QAAM,UAAU,QAAW;AAAA,IACzB,GAAG;AAAA,EACL,CAAC;AACD,SAAO,OAAO,YAAa,aACzB,oBACE,oBAAC,gBAAc,GAAG,SAAU,mBAAS,OAAO,GAAE,IAE9C,gCAAG,mBAAS,OAAO,GAAE,IAGvB,oBAAC,gBAAc,GAAG,SAAU,UAAS;AAEzC;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmInputRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmInputRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AACxC,SAAS,eAA6B;AAsB9B;AAjBD,SAAS,WAAgD;AAAA,EAC9D;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAuB;AACrB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,OAAO,QAAQ,IAAI,GAAG,YAAY,EAAE,MAAM,EAAE,MACxE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA,OAAO,SAAS;AAAA,UAChB;AAAA,UACA,OAAO,CAAC,CAAC;AAAA,UACT,cAAc;AAAA,UACd,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmRadioGroupRhf.js:
--------------------------------------------------------------------------------
1 | import { LmRadioGroup } from "../LmRadioGroup";
2 | import { Controller } from "react-hook-form";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmRadioGroupRhf({
5 | name,
6 | control,
7 | rules = {},
8 | defaultValue,
9 | ...rest
10 | }) {
11 | return rest.required && (rules.required = "This field is required"), /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | control,
16 | rules,
17 | defaultValue,
18 | render: ({ field: { onChange, value }, fieldState: { error } }) => /* @__PURE__ */ jsx(
19 | LmRadioGroup,
20 | {
21 | ...rest,
22 | name,
23 | value,
24 | onValueChange: onChange,
25 | error: !!error,
26 | helperText: error ? error.message : rest.helperText
27 | }
28 | )
29 | }
30 | );
31 | }
32 | export {
33 | LmRadioGroupRhf
34 | };
35 | //# sourceMappingURL=LmRadioGroupRhf.js.map
36 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmRadioGroupRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmRadioGroupRhf.tsx"],
4 | "mappings": "AACA,SAAS,oBAAuC;AAChD,SAAS,kBAA+B;AAqBhC;AAjBD,SAAS,gBAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,SAAI,KAAK,aACP,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,GAAG,YAAY,EAAE,MAAM,EAAE,MAC3D;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ;AAAA,UACA;AAAA,UACA,eAAe;AAAA,UACf,OAAO,CAAC,CAAC;AAAA,UACT,YAAY,QAAQ,MAAM,UAAU,KAAK;AAAA;AAAA,MAC3C;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmResetButtonRhf.js:
--------------------------------------------------------------------------------
1 | import { useFormContext } from "react-hook-form";
2 | import { LmButton } from "@tamagui-extras/core";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmResetButtonRhf(props) {
5 | const { reset } = useFormContext();
6 | return /* @__PURE__ */ jsx(
7 | LmButton,
8 | {
9 | ...props,
10 | onPress: (e) => {
11 | reset(), typeof props.onPress == "function" && props.onPress(e);
12 | }
13 | }
14 | );
15 | }
16 | export {
17 | LmResetButtonRhf
18 | };
19 | //# sourceMappingURL=LmResetButtonRhf.js.map
20 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmResetButtonRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmResetButtonRhf.tsx"],
4 | "mappings": "AAAA,SAAS,sBAAsB;AAC/B,SAAS,gBAA+B;AAKpC;AAHG,SAAS,iBAAiB,OAAsB;AACrD,QAAM,EAAE,MAAM,IAAI,eAAe;AACjC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI;AAAA,MACL,SAAS,CAAC,MAAM;AACd,cAAM,GACF,OAAO,MAAM,WAAY,cAC3B,MAAM,QAAQ,CAAC;AAAA,MAEnB;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmSelectRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSelectRhf.tsx"],
4 | "mappings": "AAAA,SAAS,gBAA+B;AACxC,SAAS,kBAA+B;AAsBhC;AAjBD,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SAAI,WAAW,aACb,MAAM,WAAW,2BAGjB;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,OAAO,IAAI,GAAG,YAAY,EAAE,OAAO,QAAQ,EAAE,MACzE;AAAA,QAAC;AAAA;AAAA,UACE,GAAG;AAAA,UACJ,OAAO,SAAS;AAAA,UAChB,OAAO;AAAA,UACP,eAAe;AAAA,UACf,YAAY,QAAQ,MAAM,UAAU,WAAW;AAAA;AAAA,MACjD;AAAA;AAAA,EAEJ;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmSliderRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSliderRhf.tsx"],
4 | "mappings": "AACA,SAAS,gBAA+B;AACxC,SAAS,kBAA+B;AAmB9B;AAfH,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,OAAO,SAAS,GAAG,YAAY,UAAU,MAAM;AACjE,cAAM,gBAAgB,MAAM,QAAQ,KAAK,IAAI,QAAQ,CAAC,KAAK;AAC3D,eACE;AAAA,UAAC;AAAA;AAAA,YACE,GAAG;AAAA,YACJ,cAAc;AAAA,YACd,eAAe,CAAC,MAAM;AACpB,cAAI,EAAE,WAAW,IACf,SAAS,EAAE,CAAC,CAAC,IAEb,SAAS,CAAC,GAER,OAAO,YAAY,iBAAkB,cACvC,YAAY,cAAc,CAAC;AAAA,YAE/B;AAAA;AAAA,QACF;AAAA,MAEJ;AAAA;AAAA,EACF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmStarRatingRhf.js:
--------------------------------------------------------------------------------
1 | import { Controller } from "react-hook-form";
2 | import { LmStarRating } from "../LmStarRating";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmStarRatingRhf({
5 | name,
6 | control,
7 | rules = {},
8 | defaultValue,
9 | ...inputProps
10 | }) {
11 | return /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | rules,
16 | control,
17 | defaultValue,
18 | render: ({ field: { onChange, value } }) => /* @__PURE__ */ jsx(LmStarRating, { ...inputProps, onChange, value: value ?? null })
19 | }
20 | );
21 | }
22 | export {
23 | LmStarRatingRhf
24 | };
25 | //# sourceMappingURL=LmStarRatingRhf.js.map
26 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmStarRatingRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmStarRatingRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AAExC,SAAS,oBAAuC;AAkBxC;AAdD,SAAS,gBAAuC;AAAA,EACrD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAA4B;AAC1B,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,MACpC,oBAAC,gBAAc,GAAG,YAAY,UAAoB,OAAO,SAAS,MAAM;AAAA;AAAA,EAE5E;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmSubmitButtonRhf.js:
--------------------------------------------------------------------------------
1 | import { LmButton } from "@tamagui-extras/core";
2 | import { useFormContext } from "react-hook-form";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmSubmitButtonRhf({
5 | onSubmit,
6 | ...props
7 | }) {
8 | const formContext = useFormContext(), { handleSubmit, formState } = formContext;
9 | return /* @__PURE__ */ jsx(
10 | LmButton,
11 | {
12 | ...props,
13 | onPress: handleSubmit((data) => {
14 | onSubmit(data, formContext);
15 | }),
16 | loading: formState.isValidating || props.loading
17 | }
18 | );
19 | }
20 | export {
21 | LmSubmitButtonRhf
22 | };
23 | //# sourceMappingURL=LmSubmitButtonRhf.js.map
24 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmSubmitButtonRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSubmitButtonRhf.tsx"],
4 | "mappings": "AAAA,SAAS,gBAA+B;AACxC,SAAsB,sBAAqC;AAavD;AAPG,SAAS,kBAAkE;AAAA,EAChF;AAAA,EACA,GAAG;AACL,GAAmC;AACjC,QAAM,cAAc,eAA6B,GAC3C,EAAE,cAAc,UAAU,IAAI;AACpC,SACE;AAAA,IAAC;AAAA;AAAA,MACE,GAAI;AAAA,MACL,SAAS,aAAa,CAAC,SAAS;AAC9B,iBAAS,MAAM,WAAW;AAAA,MAC5B,CAAC;AAAA,MACD,SAAS,UAAU,gBAAgB,MAAM;AAAA;AAAA,EAC3C;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmSwitchRhf.js:
--------------------------------------------------------------------------------
1 | import { Controller } from "react-hook-form";
2 | import { LmSwitch } from "../LmSwitch";
3 | import { jsx } from "react/jsx-runtime";
4 | function LmSwitchRhf({
5 | name,
6 | control,
7 | rules = {},
8 | defaultValue,
9 | ...inputProps
10 | }) {
11 | return /* @__PURE__ */ jsx(
12 | Controller,
13 | {
14 | name,
15 | rules,
16 | control,
17 | defaultValue,
18 | render: ({ field: { onChange, value } }) => /* @__PURE__ */ jsx(LmSwitch, { ...inputProps, onCheckedChange: onChange, value, checked: !!value })
19 | }
20 | );
21 | }
22 | export {
23 | LmSwitchRhf
24 | };
25 | //# sourceMappingURL=LmSwitchRhf.js.map
26 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/LmSwitchRhf.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/LmSwitchRhf.tsx"],
4 | "mappings": "AAAA,SAAS,kBAA+B;AAExC,SAAS,gBAA+B;AAkBhC;AAdD,SAAS,YAAmC;AAAA,EACjD;AAAA,EACA;AAAA,EACA,QAAQ,CAAC;AAAA,EACT;AAAA,EACA,GAAG;AACL,GAAwB;AACtB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ,CAAC,EAAE,OAAO,EAAE,UAAU,MAAM,EAAE,MACpC,oBAAC,YAAU,GAAG,YAAY,iBAAiB,UAAU,OAAc,SAAS,CAAC,CAAC,OAAO;AAAA;AAAA,EAEzF;AAEJ;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/index.js:
--------------------------------------------------------------------------------
1 | export * from "./lmRhfProps";
2 | export * from "./LmInputRhf";
3 | export * from "./LmFormRhfProvider";
4 | export * from "./LmResetButtonRhf";
5 | export * from "./LmSubmitButtonRhf";
6 | export * from "./LmSelectRhf";
7 | export * from "./LmCheckboxRhf";
8 | export * from "./LmSwitchRhf";
9 | export * from "./LmSliderRhf";
10 | export * from "./LmAutocompleteRhf";
11 | export * from "./LmStarRatingRhf";
12 | export * from "./LmRadioGroupRhf";
13 | //# sourceMappingURL=index.js.map
14 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/index.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": ["../../../src/rhf/index.ts"],
4 | "mappings": "AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/lmRhfProps.js:
--------------------------------------------------------------------------------
1 | //# sourceMappingURL=lmRhfProps.js.map
2 |
--------------------------------------------------------------------------------
/packages/form/dist/jsx/rhf/lmRhfProps.js.map:
--------------------------------------------------------------------------------
1 | {
2 | "version": 3,
3 | "sources": [],
4 | "mappings": "",
5 | "names": []
6 | }
7 |
--------------------------------------------------------------------------------
/packages/form/src/LmSwitch.tsx:
--------------------------------------------------------------------------------
1 | import { Label, StackProps, Switch, SwitchProps, XStack } from 'tamagui'
2 | import { useId } from 'react'
3 |
4 | export type LmSwitchProps = SwitchProps & {
5 | labelLeft?: string
6 | labelRight?: string
7 | thumbProps?: StackProps
8 | }
9 |
10 | export function LmSwitch({
11 | labelLeft,
12 | labelRight,
13 | space,
14 | size = '$2',
15 | thumbProps,
16 | ...rest
17 | }: LmSwitchProps) {
18 | const id = useId()
19 | return (
20 |
21 | {labelLeft && (
22 |
25 | )}
26 |
27 |
28 |
29 | {labelRight && (
30 |
33 | )}
34 |
35 | )
36 | }
37 |
--------------------------------------------------------------------------------
/packages/form/src/formContainerTypes.ts:
--------------------------------------------------------------------------------
1 | import { LabelProps, ParagraphProps, ThemeableStackProps } from 'tamagui'
2 |
3 | export type LmFormContainerBaseTypes = {
4 | label?: string
5 | labelProps?: Omit
6 | labelInline?: boolean
7 | helperText?: string
8 | helperTextProps?: ParagraphProps
9 | required?: boolean
10 | error?: boolean
11 | containerProps?: ThemeableStackProps
12 | }
13 |
--------------------------------------------------------------------------------
/packages/form/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './formContainerTypes'
2 | export * from './rhf'
3 | export * from './LmFormFieldContainer'
4 | export * from './LmInput'
5 | export * from './LmSelect'
6 | export * from './LmCheckbox'
7 | export * from './LmSwitch'
8 | export * from './LmSlider'
9 | export * from './LmAutocomplete'
10 | export * from './LmStarRating'
11 | export * from './LmRadioGroup'
12 |
--------------------------------------------------------------------------------
/packages/form/src/rhf/LmFormRhfProvider.tsx:
--------------------------------------------------------------------------------
1 | import { FieldValues, FormProvider, useForm, UseFormProps, UseFormReturn } from 'react-hook-form'
2 | import { ReactNode } from 'react'
3 |
4 | export type LmFormRhfProviderProps = UseFormProps & {
5 | children: ((context: UseFormReturn) => ReactNode) | ReactNode
6 | forceFormProvider?: boolean
7 | }
8 |
9 | export function LmFormRhfProvider({
10 | children,
11 | forceFormProvider,
12 | ...formProps
13 | }: LmFormRhfProviderProps) {
14 | const methods = useForm({
15 | ...formProps,
16 | })
17 | return typeof children === 'function' ? (
18 | forceFormProvider ? (
19 | {children(methods)}
20 | ) : (
21 | <>{children(methods)}>
22 | )
23 | ) : (
24 | {children}
25 | )
26 | }
27 |
--------------------------------------------------------------------------------
/packages/form/src/rhf/LmResetButtonRhf.tsx:
--------------------------------------------------------------------------------
1 | import { useFormContext } from 'react-hook-form'
2 | import { LmButton, LmButtonProps } from '@tamagui-extras/core'
3 |
4 | export function LmResetButtonRhf(props: LmButtonProps) {
5 | const { reset } = useFormContext()
6 | return (
7 | {
10 | reset()
11 | if (typeof props.onPress === 'function') {
12 | props.onPress(e)
13 | }
14 | }}
15 | />
16 | )
17 | }
18 |
--------------------------------------------------------------------------------
/packages/form/src/rhf/LmStarRatingRhf.tsx:
--------------------------------------------------------------------------------
1 | import { Controller, FieldValues } from 'react-hook-form'
2 | import { LmRhfProps } from './lmRhfProps'
3 | import { LmStarRating, LmStarRatingProps } from '../LmStarRating'
4 |
5 | export type LmStarRatingRhfProps = LmStarRatingProps & LmRhfProps & {}
6 |
7 | export function LmStarRatingRhf({
8 | name,
9 | control,
10 | rules = {},
11 | defaultValue,
12 | ...inputProps
13 | }: LmStarRatingRhfProps) {
14 | return (
15 | (
21 |
22 | )}
23 | />
24 | )
25 | }
26 |
--------------------------------------------------------------------------------
/packages/form/src/rhf/LmSubmitButtonRhf.tsx:
--------------------------------------------------------------------------------
1 | import { LmButton, LmButtonProps } from '@tamagui-extras/core'
2 | import { FieldValues, useFormContext, UseFormReturn } from 'react-hook-form'
3 |
4 | export type LmButtonRhfProps = LmButtonProps & {
5 | onSubmit: (data: T, context: UseFormReturn) => void | Promise
6 | }
7 |
8 | export function LmSubmitButtonRhf({
9 | onSubmit,
10 | ...props
11 | }: LmButtonRhfProps) {
12 | const formContext = useFormContext()
13 | const { handleSubmit, formState } = formContext
14 | return (
15 | {
18 | onSubmit(data, formContext)
19 | })}
20 | loading={formState.isValidating || props.loading}
21 | />
22 | )
23 | }
24 |
--------------------------------------------------------------------------------
/packages/form/src/rhf/LmSwitchRhf.tsx:
--------------------------------------------------------------------------------
1 | import { Controller, FieldValues } from 'react-hook-form'
2 | import { LmRhfProps } from './lmRhfProps'
3 | import { LmSwitch, LmSwitchProps } from '../LmSwitch'
4 |
5 | export type LmSwitchRhfProps = LmSwitchProps & LmRhfProps & {}
6 |
7 | export function LmSwitchRhf({
8 | name,
9 | control,
10 | rules = {},
11 | defaultValue,
12 | ...inputProps
13 | }: LmSwitchRhfProps) {
14 | return (
15 | (
21 |
22 | )}
23 | />
24 | )
25 | }
26 |
--------------------------------------------------------------------------------
/packages/form/src/rhf/index.ts:
--------------------------------------------------------------------------------
1 | export * from './lmRhfProps'
2 | export * from './LmInputRhf'
3 | export * from './LmFormRhfProvider'
4 | export * from './LmResetButtonRhf'
5 | export * from './LmSubmitButtonRhf'
6 | export * from './LmSelectRhf'
7 | export * from './LmCheckboxRhf'
8 | export * from './LmSwitchRhf'
9 | export * from './LmSliderRhf'
10 | export * from './LmAutocompleteRhf'
11 | export * from './LmStarRatingRhf'
12 | export * from './LmRadioGroupRhf'
13 |
--------------------------------------------------------------------------------
/packages/form/src/rhf/lmRhfProps.tsx:
--------------------------------------------------------------------------------
1 | import { ControllerProps, FieldValues } from 'react-hook-form'
2 |
3 | export type LmRhfProps = Pick<
4 | ControllerProps,
5 | 'defaultValue' | 'control' | 'rules' | 'name'
6 | >
7 |
--------------------------------------------------------------------------------
/packages/form/src/tamagui.config.ts:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/dohomi/tamagui-kitchen-sink/0ed13c5a889e278ab3f7471ca7f220f525812de3/packages/form/src/tamagui.config.ts
--------------------------------------------------------------------------------
/packages/form/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "./src/**/*"
5 | ],
6 | "compilerOptions": {
7 | "composite": true
8 | },
9 | "references": []
10 | }
11 |
--------------------------------------------------------------------------------
/packages/link/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/link/src/LmLinkButton.tsx:
--------------------------------------------------------------------------------
1 | import { useLink, UseLinkProps } from 'solito/link'
2 | import { Button, ButtonProps } from 'tamagui'
3 |
4 | export type LmLinkButtonProps = ButtonProps & {
5 | link: UseLinkProps
6 | }
7 |
8 | export function LmLinkButton({ link, ...props }: LmLinkButtonProps) {
9 | const linkProps = useLink(link)
10 |
11 | return
12 | }
13 |
--------------------------------------------------------------------------------
/packages/link/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './LmLinkButton'
--------------------------------------------------------------------------------
/packages/link/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "./src/**/*"
5 | ],
6 | "compilerOptions": {
7 | "composite": true
8 | },
9 | "references": []
10 | }
11 |
--------------------------------------------------------------------------------
/packages/rich-text/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/rich-text/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './richTextTypes'
2 | export * from './LmRichText'
3 | export * from './LmRichTextRhf'
4 |
--------------------------------------------------------------------------------
/packages/rich-text/src/richTextTypes.ts:
--------------------------------------------------------------------------------
1 | import { EditorOptions } from '@tiptap/react'
2 | import { StackProps } from 'tamagui'
3 |
4 | export type LmRichTextProps = {
5 | options?: Partial
6 | onChange?: (text: string) => void
7 | value?: string
8 | containerProps?: Omit
9 | }
10 |
--------------------------------------------------------------------------------
/packages/rich-text/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "./src/**/*"
5 | ],
6 | "compilerOptions": {
7 | "composite": true
8 | },
9 | "references": []
10 | }
11 |
--------------------------------------------------------------------------------
/packages/video/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/video/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './videoTypes'
2 | export * from './LmVideo'
3 |
--------------------------------------------------------------------------------
/packages/video/src/videoTypes.ts:
--------------------------------------------------------------------------------
1 | import { ImageSourcePropType, StyleProp, View } from 'react-native'
2 | import { VideoProps } from 'expo-av'
3 | import { SizableStackProps } from 'tamagui'
4 |
5 | export type LmVideoProps = Omit & {
6 | src: string
7 | width?: number
8 | height?: number
9 | style?: Omit, 'width' | 'height'>
10 | aspectRatio?: number
11 | containerProps?: SizableStackProps
12 | posterSource?: ImageSourcePropType
13 | }
14 |
--------------------------------------------------------------------------------
/packages/video/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "./src/**/*"
5 | ],
6 | "compilerOptions": {
7 | "composite": true
8 | },
9 | "references": []
10 | }
11 |
--------------------------------------------------------------------------------
/packages/youtube/.gitignore:
--------------------------------------------------------------------------------
1 | dist/
2 | .DS_Store
3 | THUMBS_DB
4 | node_modules/
5 | types/
6 |
--------------------------------------------------------------------------------
/packages/youtube/src/index.ts:
--------------------------------------------------------------------------------
1 | export * from './videoEmbedTypes'
2 | export * from './LmYoutubeEmbed'
3 |
--------------------------------------------------------------------------------
/packages/youtube/src/videoEmbedTypes.ts:
--------------------------------------------------------------------------------
1 | import { StackProps } from 'tamagui'
2 |
3 | export type LmYoutubeEmbedProps = Omit & {
4 | youtubeId: string
5 | }
6 |
--------------------------------------------------------------------------------
/packages/youtube/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.base",
3 | "include": [
4 | "./src/**/*"
5 | ],
6 | "compilerOptions": {
7 | "composite": true
8 | },
9 | "references": []
10 | }
11 |
--------------------------------------------------------------------------------
/packages/youtube/types/LmYoutubeEmbed.d.ts:
--------------------------------------------------------------------------------
1 | import { LmYoutubeEmbedProps } from './videoEmbedTypes';
2 | export declare function LmYoutubeEmbed({ youtubeId, aspectRatio, width, ...stackProps }: LmYoutubeEmbedProps): import("react/jsx-runtime").JSX.Element;
3 | //# sourceMappingURL=LmYoutubeEmbed.d.ts.map
--------------------------------------------------------------------------------
/packages/youtube/types/index.d.ts:
--------------------------------------------------------------------------------
1 | export * from './videoEmbedTypes';
2 | export * from './LmYoutubeEmbed';
3 | //# sourceMappingURL=index.d.ts.map
--------------------------------------------------------------------------------
/packages/youtube/types/videoEmbedTypes.d.ts:
--------------------------------------------------------------------------------
1 | import { StackProps } from 'tamagui';
2 | export type LmYoutubeEmbedProps = Omit & {
3 | youtubeId: string;
4 | };
5 | //# sourceMappingURL=videoEmbedTypes.d.ts.map
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "strictNullChecks": true,
4 | "noUncheckedIndexedAccess": true,
5 | "paths": {
6 | "app/*": [
7 | "./packages/app/*"
8 | ],
9 | "@tamagui-extras/*": [
10 | "./packages/*"
11 | ]
12 | }
13 | },
14 | "extends": "expo/tsconfig.base"
15 | }
16 |
--------------------------------------------------------------------------------
/turbo.json:
--------------------------------------------------------------------------------
1 | {
2 | "pipeline": {
3 | "build": {
4 | "dependsOn": [
5 | "^build"
6 | ]
7 | },
8 | "watch": {
9 | "cache": false
10 | },
11 | "doc": {
12 | "cache": false
13 | },
14 | "check-types": {
15 | "cache": false
16 | },
17 | "codegen": {
18 | "cache": false
19 | },
20 | "clean": {
21 | "cache": false
22 | },
23 | "start": {
24 | "cache": false
25 | },
26 | "release-patch": {
27 | "cache": false
28 | }
29 | }
30 | }
31 |
--------------------------------------------------------------------------------