@customafk/lunas-ui 0.2.69 → 0.2.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{action-submit-Dzo0A7Ew.cjs → action-submit-Bzw30CUP.cjs} +2 -2
- package/dist/{action-submit-Dzo0A7Ew.cjs.map → action-submit-Bzw30CUP.cjs.map} +1 -1
- package/dist/{action-submit-Bew9PJtF.mjs → action-submit-DLv-V1JQ.mjs} +2 -2
- package/dist/{action-submit-Bew9PJtF.mjs.map → action-submit-DLv-V1JQ.mjs.map} +1 -1
- package/dist/{actions-form-Z8BX9Hmy.mjs → actions-form-CEBdF1N7.mjs} +2 -2
- package/dist/{actions-form-Z8BX9Hmy.mjs.map → actions-form-CEBdF1N7.mjs.map} +1 -1
- package/dist/{actions-form-BnDcdbd-.cjs → actions-form-CI1WhB90.cjs} +2 -2
- package/dist/{actions-form-BnDcdbd-.cjs.map → actions-form-CI1WhB90.cjs.map} +1 -1
- package/dist/{checkbox-field-BaqE-eVv.mjs → checkbox-field-B7Nh2_rB.mjs} +2 -2
- package/dist/{checkbox-field-BaqE-eVv.mjs.map → checkbox-field-B7Nh2_rB.mjs.map} +1 -1
- package/dist/{checkbox-field-BsGsZz_N.cjs → checkbox-field-CTCgnG0a.cjs} +2 -2
- package/dist/{checkbox-field-BsGsZz_N.cjs.map → checkbox-field-CTCgnG0a.cjs.map} +1 -1
- package/dist/{combobox-field-DERJQd5o.cjs → combobox-field-C9uneq5q.cjs} +2 -2
- package/dist/{combobox-field-DERJQd5o.cjs.map → combobox-field-C9uneq5q.cjs.map} +1 -1
- package/dist/{combobox-field-CAN8g_xv.mjs → combobox-field-CLooFS0r.mjs} +2 -2
- package/dist/{combobox-field-CAN8g_xv.mjs.map → combobox-field-CLooFS0r.mjs.map} +1 -1
- package/dist/container-form-BjiGIzwm.mjs +2 -0
- package/dist/container-form-BjiGIzwm.mjs.map +1 -0
- package/dist/container-form-D8QNEn8M.cjs +2 -0
- package/dist/container-form-D8QNEn8M.cjs.map +1 -0
- package/dist/{date-field--jOKZ2x1.cjs → date-field-CJ7hYY8l.cjs} +2 -2
- package/dist/{date-field--jOKZ2x1.cjs.map → date-field-CJ7hYY8l.cjs.map} +1 -1
- package/dist/{date-field-CXzcsnjn.mjs → date-field-uYtNFRrJ.mjs} +2 -2
- package/dist/{date-field-CXzcsnjn.mjs.map → date-field-uYtNFRrJ.mjs.map} +1 -1
- package/dist/{dialog-form-BbumLQqe.mjs → dialog-form-C6kJPVNp.mjs} +2 -2
- package/dist/{dialog-form-BbumLQqe.mjs.map → dialog-form-C6kJPVNp.mjs.map} +1 -1
- package/dist/{dialog-form-CEiuEMXD.cjs → dialog-form-DalF7KGG.cjs} +2 -2
- package/dist/{dialog-form-CEiuEMXD.cjs.map → dialog-form-DalF7KGG.cjs.map} +1 -1
- package/dist/{email-field-HFmUE81o.mjs → email-field-CadXKVIu.mjs} +2 -2
- package/dist/{email-field-HFmUE81o.mjs.map → email-field-CadXKVIu.mjs.map} +1 -1
- package/dist/{email-field-DRb71gQI.cjs → email-field-DH7kK--D.cjs} +2 -2
- package/dist/{email-field-DRb71gQI.cjs.map → email-field-DH7kK--D.cjs.map} +1 -1
- package/dist/features/tanstack-form/index.cjs +1 -1
- package/dist/features/tanstack-form/index.d.cts +1 -1
- package/dist/features/tanstack-form/index.d.mts +1 -1
- package/dist/features/tanstack-form/index.mjs +1 -1
- package/dist/{flex-CT71VV-I.d.cts → flex-CdJSaEfY.d.cts} +2 -2
- package/dist/{flex-CT71VV-I.d.mts → flex-CdJSaEfY.d.mts} +2 -2
- package/dist/{index-CgP5OCy0.d.cts → index-BGnN6Vax.d.cts} +22 -1
- package/dist/{index-CgP5OCy0.d.mts → index-BGnN6Vax.d.mts} +22 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -1
- package/dist/layouts/flex.d.cts +1 -1
- package/dist/layouts/flex.d.mts +1 -1
- package/dist/{number-field-CZ06Uzb3.mjs → number-field-BglMIz6D.mjs} +2 -2
- package/dist/{number-field-CZ06Uzb3.mjs.map → number-field-BglMIz6D.mjs.map} +1 -1
- package/dist/{number-field-y0H7X4Ka.cjs → number-field-CCzUIF-Q.cjs} +2 -2
- package/dist/{number-field-y0H7X4Ka.cjs.map → number-field-CCzUIF-Q.cjs.map} +1 -1
- package/dist/{password-field-DSeObMIU.mjs → password-field-7VRa9-nn.mjs} +2 -2
- package/dist/{password-field-DSeObMIU.mjs.map → password-field-7VRa9-nn.mjs.map} +1 -1
- package/dist/{password-field-D0drFRG2.cjs → password-field-_AoAB7nM.cjs} +2 -2
- package/dist/{password-field-D0drFRG2.cjs.map → password-field-_AoAB7nM.cjs.map} +1 -1
- package/dist/{popover-form-rwhAulOD.mjs → popover-form-BLuCGa_z.mjs} +2 -2
- package/dist/{popover-form-rwhAulOD.mjs.map → popover-form-BLuCGa_z.mjs.map} +1 -1
- package/dist/{popover-form-nkdwopLv.cjs → popover-form-C701gLPP.cjs} +2 -2
- package/dist/{popover-form-nkdwopLv.cjs.map → popover-form-C701gLPP.cjs.map} +1 -1
- package/dist/{radio-group-field-0BXRGTJx.mjs → radio-group-field-D570ZDQ1.mjs} +2 -2
- package/dist/{radio-group-field-0BXRGTJx.mjs.map → radio-group-field-D570ZDQ1.mjs.map} +1 -1
- package/dist/{radio-group-field-wX3cWjyq.cjs → radio-group-field-D7Q5UZNX.cjs} +2 -2
- package/dist/{radio-group-field-wX3cWjyq.cjs.map → radio-group-field-D7Q5UZNX.cjs.map} +1 -1
- package/dist/{resizable-CAyWR1At.d.cts → resizable-koX293wy.d.cts} +2 -2
- package/dist/{resizable-CAyWR1At.d.mts → resizable-koX293wy.d.mts} +2 -2
- package/dist/section-form-BJWWflUR.mjs +2 -0
- package/dist/section-form-BJWWflUR.mjs.map +1 -0
- package/dist/section-form-C_pHiBEW.cjs +2 -0
- package/dist/section-form-C_pHiBEW.cjs.map +1 -0
- package/dist/{select-field-B-bbY7td.mjs → select-field-C5MjnCWH.mjs} +2 -2
- package/dist/{select-field-B-bbY7td.mjs.map → select-field-C5MjnCWH.mjs.map} +1 -1
- package/dist/{select-field-DR36Hpe0.cjs → select-field-Dut7YMVy.cjs} +2 -2
- package/dist/{select-field-DR36Hpe0.cjs.map → select-field-Dut7YMVy.cjs.map} +1 -1
- package/dist/{simple-array-field-CBG9o26e.mjs → simple-array-field-Bj86iA_N.mjs} +2 -2
- package/dist/{simple-array-field-CBG9o26e.mjs.map → simple-array-field-Bj86iA_N.mjs.map} +1 -1
- package/dist/{simple-array-field-CZb-E4GS.cjs → simple-array-field-CuwaS9sn.cjs} +2 -2
- package/dist/{simple-array-field-CZb-E4GS.cjs.map → simple-array-field-CuwaS9sn.cjs.map} +1 -1
- package/dist/{simple-boolean-field-BEsGOyof.mjs → simple-boolean-field-BbfHAg60.mjs} +2 -2
- package/dist/{simple-boolean-field-BEsGOyof.mjs.map → simple-boolean-field-BbfHAg60.mjs.map} +1 -1
- package/dist/{simple-boolean-field-BZ9paBNQ.cjs → simple-boolean-field-dshsOUUK.cjs} +2 -2
- package/dist/{simple-boolean-field-BZ9paBNQ.cjs.map → simple-boolean-field-dshsOUUK.cjs.map} +1 -1
- package/dist/{simple-combobox-field-C4Jmm1AJ.cjs → simple-combobox-field-CNbTlIg_.cjs} +2 -2
- package/dist/{simple-combobox-field-C4Jmm1AJ.cjs.map → simple-combobox-field-CNbTlIg_.cjs.map} +1 -1
- package/dist/{simple-combobox-field-BbhxP-te.mjs → simple-combobox-field-poFNb-vB.mjs} +2 -2
- package/dist/{simple-combobox-field-BbhxP-te.mjs.map → simple-combobox-field-poFNb-vB.mjs.map} +1 -1
- package/dist/{simple-date-field-JVkBTfCc.cjs → simple-date-field-B5RRZ_Uo.cjs} +2 -2
- package/dist/{simple-date-field-JVkBTfCc.cjs.map → simple-date-field-B5RRZ_Uo.cjs.map} +1 -1
- package/dist/{simple-date-field-D7-UWd6G.mjs → simple-date-field-BMADM_kf.mjs} +2 -2
- package/dist/{simple-date-field-D7-UWd6G.mjs.map → simple-date-field-BMADM_kf.mjs.map} +1 -1
- package/dist/{simple-email-field-DHnUuabs.mjs → simple-email-field-B73GdTF_.mjs} +2 -2
- package/dist/{simple-email-field-DHnUuabs.mjs.map → simple-email-field-B73GdTF_.mjs.map} +1 -1
- package/dist/{simple-email-field-BBrdKmN8.cjs → simple-email-field-dskmgGEz.cjs} +2 -2
- package/dist/{simple-email-field-BBrdKmN8.cjs.map → simple-email-field-dskmgGEz.cjs.map} +1 -1
- package/dist/{simple-number-field-CZ-ycDza.cjs → simple-number-field-RBxUxq_w.cjs} +2 -2
- package/dist/{simple-number-field-CZ-ycDza.cjs.map → simple-number-field-RBxUxq_w.cjs.map} +1 -1
- package/dist/{simple-number-field-DGaUnBOr.mjs → simple-number-field-ggLY5zA7.mjs} +2 -2
- package/dist/{simple-number-field-DGaUnBOr.mjs.map → simple-number-field-ggLY5zA7.mjs.map} +1 -1
- package/dist/{simple-password-field-BUSJzB-t.cjs → simple-password-field-BBpfmgoT.cjs} +2 -2
- package/dist/{simple-password-field-BUSJzB-t.cjs.map → simple-password-field-BBpfmgoT.cjs.map} +1 -1
- package/dist/{simple-password-field-BxYeEv-p.mjs → simple-password-field-CrGsdjSa.mjs} +2 -2
- package/dist/{simple-password-field-BxYeEv-p.mjs.map → simple-password-field-CrGsdjSa.mjs.map} +1 -1
- package/dist/{simple-radio-group-field-yJdq-reX.mjs → simple-radio-group-field-CZ5u-XiY.mjs} +2 -2
- package/dist/{simple-radio-group-field-yJdq-reX.mjs.map → simple-radio-group-field-CZ5u-XiY.mjs.map} +1 -1
- package/dist/{simple-radio-group-field-CQTkbvt9.cjs → simple-radio-group-field-Dyc3SO9t.cjs} +2 -2
- package/dist/{simple-radio-group-field-CQTkbvt9.cjs.map → simple-radio-group-field-Dyc3SO9t.cjs.map} +1 -1
- package/dist/{simple-select-field-CUFuptbH.cjs → simple-select-field-CCmaLlAT.cjs} +2 -2
- package/dist/{simple-select-field-CUFuptbH.cjs.map → simple-select-field-CCmaLlAT.cjs.map} +1 -1
- package/dist/{simple-select-field-Cp64m8Aa.mjs → simple-select-field-CyFJthFb.mjs} +2 -2
- package/dist/{simple-select-field-Cp64m8Aa.mjs.map → simple-select-field-CyFJthFb.mjs.map} +1 -1
- package/dist/{simple-text-field-B2Z1E4sG.cjs → simple-text-field-DSX3rP7g.cjs} +2 -2
- package/dist/{simple-text-field-B2Z1E4sG.cjs.map → simple-text-field-DSX3rP7g.cjs.map} +1 -1
- package/dist/{simple-text-field-Dl2IOsO3.mjs → simple-text-field-DxZyRSy5.mjs} +2 -2
- package/dist/{simple-text-field-Dl2IOsO3.mjs.map → simple-text-field-DxZyRSy5.mjs.map} +1 -1
- package/dist/{simple-textarea-field-Cjjk9WOW.cjs → simple-textarea-field--FWXqgy7.cjs} +2 -2
- package/dist/{simple-textarea-field-Cjjk9WOW.cjs.map → simple-textarea-field--FWXqgy7.cjs.map} +1 -1
- package/dist/{simple-textarea-field-CM9aHy-q.mjs → simple-textarea-field-BiaAbLgT.mjs} +2 -2
- package/dist/{simple-textarea-field-CM9aHy-q.mjs.map → simple-textarea-field-BiaAbLgT.mjs.map} +1 -1
- package/dist/{switch-field-CO5M4qiM.cjs → switch-field-BS8XStmz.cjs} +2 -2
- package/dist/{switch-field-CO5M4qiM.cjs.map → switch-field-BS8XStmz.cjs.map} +1 -1
- package/dist/{switch-field-IXQ1Blrd.mjs → switch-field-aaA3hplb.mjs} +2 -2
- package/dist/{switch-field-IXQ1Blrd.mjs.map → switch-field-aaA3hplb.mjs.map} +1 -1
- package/dist/{tanstack-form-DJMaMeUh.mjs → tanstack-form-B6mzOylW.mjs} +2 -2
- package/dist/{tanstack-form-DJMaMeUh.mjs.map → tanstack-form-B6mzOylW.mjs.map} +1 -1
- package/dist/{tanstack-form-BC61U3F-.cjs → tanstack-form-DU-ZKXxZ.cjs} +2 -2
- package/dist/{tanstack-form-BC61U3F-.cjs.map → tanstack-form-DU-ZKXxZ.cjs.map} +1 -1
- package/dist/{text-editor-field-D_l4zp_y.cjs → text-editor-field-DG0c8wVs.cjs} +2 -2
- package/dist/{text-editor-field-D_l4zp_y.cjs.map → text-editor-field-DG0c8wVs.cjs.map} +1 -1
- package/dist/{text-editor-field-DxLBaxTL.mjs → text-editor-field-Dm2yxTUZ.mjs} +2 -2
- package/dist/{text-editor-field-DxLBaxTL.mjs.map → text-editor-field-Dm2yxTUZ.mjs.map} +1 -1
- package/dist/{text-field-BrxKYCui.mjs → text-field-Dlbpos_A.mjs} +2 -2
- package/dist/{text-field-BrxKYCui.mjs.map → text-field-Dlbpos_A.mjs.map} +1 -1
- package/dist/{text-field-B8xQe0U9.cjs → text-field-GIn2zAtc.cjs} +2 -2
- package/dist/{text-field-B8xQe0U9.cjs.map → text-field-GIn2zAtc.cjs.map} +1 -1
- package/dist/{textarea-field-IZUGVQjJ.cjs → textarea-field-DDPqESGM.cjs} +2 -2
- package/dist/{textarea-field-IZUGVQjJ.cjs.map → textarea-field-DDPqESGM.cjs.map} +1 -1
- package/dist/{textarea-field-BoQtVUI-.mjs → textarea-field-f8E3HEkw.mjs} +2 -2
- package/dist/{textarea-field-BoQtVUI-.mjs.map → textarea-field-f8E3HEkw.mjs.map} +1 -1
- package/dist/ui/resizable.d.cts +1 -1
- package/dist/ui/resizable.d.mts +1 -1
- package/package.json +1 -1
- package/dist/container-form-BdsEX0NH.mjs +0 -2
- package/dist/container-form-BdsEX0NH.mjs.map +0 -1
- package/dist/container-form-CxxUYctk.cjs +0 -2
- package/dist/container-form-CxxUYctk.cjs.map +0 -1
- package/dist/section-form-Dv9fKWmB.mjs +0 -2
- package/dist/section-form-Dv9fKWmB.mjs.map +0 -1
- package/dist/section-form-cH13fOhg.cjs +0 -2
- package/dist/section-form-cH13fOhg.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-select-field-
|
|
1
|
+
{"version":3,"file":"simple-select-field-CyFJthFb.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-select-field.tsx"],"sourcesContent":["'use client';\n\nimport { useId, useState } from 'react';\n\nimport { PackagePlusIcon } from 'lucide-react';\n\nimport { useIsMobile } from '@customafk/react-toolkit/hooks/useMobile';\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Button } from '@/components/ui/button';\nimport { Drawer, DrawerClose, DrawerContent, DrawerHeader, DrawerTitle } from '@/components/ui/drawer';\nimport { Label } from '@/components/ui/label';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n options: Array<{ value: string; label: string }>;\n};\n\nexport const SimpleSelectField: React.FC<Props> = ({ label, placeholder, required, options }) => {\n const id = useId();\n const { state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n const isMobile = useIsMobile();\n const [drawerOpen, setDrawerOpen] = useState(false);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n const selectedLabel = options.find(o => o.value === state.value)?.label;\n\n if (isMobile) {\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Button\n id={id}\n type=\"button\"\n variant=\"outline\"\n color=\"muted\"\n className={cn(\n 'w-full justify-start font-normal outline-1 outline-border -outline-offset-1',\n !state.value && 'text-text-positive-muted',\n _invalid && 'outline-danger bg-danger-bg-subtle'\n )}\n aria-invalid={_invalid}\n onBlur={handleBlur}\n onClick={() => setDrawerOpen(true)}\n >\n {selectedLabel ?? <span className=\"text-text-positive-muted\">{placeholder}</span>}\n </Button>\n\n <Drawer open={drawerOpen} onOpenChange={setDrawerOpen} direction=\"bottom\">\n <DrawerContent>\n <DrawerHeader>\n <DrawerTitle>{label ?? placeholder ?? 'Select an option'}</DrawerTitle>\n </DrawerHeader>\n <div className=\"flex flex-col overflow-y-auto pb-safe-bottom\">\n {options.length > 0 ? (\n options.map(option => (\n <DrawerClose key={option.value} asChild>\n <button\n type=\"button\"\n className={cn(\n 'flex w-full items-center px-4 py-3 text-left text-sm transition-colors',\n 'hover:bg-muted-muted active:bg-muted-muted',\n state.value === option.value && 'bg-primary-bg-subtle font-medium text-primary'\n )}\n onClick={() => {\n handleChange(option.value);\n setDrawerOpen(false);\n }}\n >\n {option.label}\n </button>\n </DrawerClose>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </div>\n </DrawerContent>\n </Drawer>\n\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n }\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Select value={state.value ?? ''} onValueChange={handleChange}>\n <SelectTrigger id={id} aria-invalid={_invalid ? 'true' : undefined} onBlur={handleBlur}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent>\n {options.length > 0 ? (\n options.map(option => (\n <SelectItem key={option.value} value={option.value}>\n {option.label}\n </SelectItem>\n ))\n ) : (\n <div className=\"flex items-center justify-center gap-x-2 rounded border border-border bg-muted-muted px-4 py-6.5 text-center text-sm text-text-positive-weak\">\n <PackagePlusIcon strokeWidth={1} />\n No options available\n </div>\n )}\n </SelectContent>\n </Select>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"2pBAwBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,aAAc,CAC/F,IAAM,EAAK,EAAM,EACX,CAAE,QAAO,aAAY,gBAAiB,EAAuC,EAC7E,EAAW,EAAY,EACvB,CAAC,EAAY,GAAiB,EAAS,EAAK,EAE5C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAgB,EAAQ,KAAK,GAAK,EAAE,QAAU,EAAM,KAAK,CAAC,EAAE,MAoElE,OAlEI,EAEA,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACJ,KAAK,SACL,QAAQ,UACR,MAAM,QACN,UAAW,EACT,8EACA,CAAC,EAAM,OAAS,2BAChB,GAAY,oCACd,EACA,eAAc,EACd,OAAQ,EACR,YAAe,EAAc,EAAI,WAEhC,GAAiB,EAAC,OAAD,CAAM,UAAU,oCAA4B,CAAkB,CAAA,CAC1E,CAAA,EAER,EAAC,EAAD,CAAQ,KAAM,EAAY,aAAc,EAAe,UAAU,kBAC/D,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAA,SAAc,GAAS,GAAe,kBAAgC,CAAA,CAC1D,CAAA,EACd,EAAC,MAAD,CAAK,UAAU,wDACZ,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAAgC,QAAA,YAC9B,EAAC,SAAD,CACE,KAAK,SACL,UAAW,EACT,yEACA,6CACA,EAAM,QAAU,EAAO,OAAS,+CAClC,EACA,YAAe,CACb,EAAa,EAAO,KAAK,EACzB,EAAc,EAAK,CACrB,WAEC,EAAO,KACF,CAAA,CACG,EAfK,EAAO,KAeZ,CACd,EAED,EAAC,MAAD,CAAK,UAAU,0GAAf,CACE,EAAC,EAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEJ,CAAA,CACQ,CAAA,CAAA,CACT,CAAA,EAEP,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,IAKP,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CAAQ,MAAO,EAAM,OAAS,GAAI,cAAe,WAAjD,CACE,EAAC,EAAD,CAAmB,KAAI,eAAc,EAAW,OAAS,IAAA,GAAW,OAAQ,WAC1E,EAAC,EAAD,CAA0B,aAAc,CAAA,CAC3B,CAAA,EACf,EAAC,EAAD,CAAA,SACG,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAA+B,MAAO,EAAO,eAC1C,EAAO,KACE,EAFK,EAAO,KAEZ,CACb,EAED,EAAC,MAAD,CAAK,UAAU,wJAAf,CACE,EAAC,EAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEM,CAAA,CACT,IACP,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-text-field-
|
|
1
|
+
const e=require("./tanstack-form-DU-ZKXxZ.cjs"),t=require("./ui/input.cjs"),n=require("./ui/label.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,maxLength:u,disabled:d})=>{let f=(0,i.useId)(),{form:p,name:m,state:h,handleBlur:g,handleChange:_}=e.G(),v=(0,o.useStore)(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=(0,i.useCallback)(({target:{value:e}})=>{v||u&&e.length>u||_(e||null)},[v,u,_]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(n.Label,{htmlFor:f,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(t.Input,{id:f,name:m,value:h.value??``,"aria-invalid":y,placeholder:c,autoComplete:`off`,disabled:d||v,onBlur:g,onChange:b}),y&&(0,a.jsx)(r.FieldError,{errors:h.meta.errors})]})};exports.SimpleTextField=s;
|
|
2
|
+
//# sourceMappingURL=simple-text-field-DSX3rP7g.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-text-field-
|
|
1
|
+
{"version":3,"file":"simple-text-field-DSX3rP7g.cjs","names":["useTanStackFieldContext","Label","Input","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-text-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\nimport type { SimpleTextFieldProps as Props } from '../../types';\n\nexport const SimpleTextField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Input\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n autoComplete=\"off\"\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kOAcA,MAAa,GAAoC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CACzG,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,MAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACb,aAAa,MACb,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as e}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-text-field-
|
|
1
|
+
import{G as e}from"./tanstack-form-B6mzOylW.mjs";import{Input as t}from"./ui/input.mjs";import{Label as n}from"./ui/label.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,maxLength:f,disabled:p})=>{let m=a(),{form:h,name:g,state:_,handleBlur:v,handleChange:y}=e(),b=c(h.store,({isSubmitting:e})=>e),x=_.meta.isTouched&&!_.meta.isValid,S=i(({target:{value:e}})=>{b||f&&e.length>f||y(e||null)},[b,f,y]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(n,{htmlFor:m,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(t,{id:m,name:g,value:_.value??``,"aria-invalid":x,placeholder:u,autoComplete:`off`,disabled:p||b,onBlur:v,onChange:S}),x&&o(r,{errors:_.meta.errors})]})};export{l as SimpleTextField};
|
|
2
|
+
//# sourceMappingURL=simple-text-field-DxZyRSy5.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-text-field-
|
|
1
|
+
{"version":3,"file":"simple-text-field-DxZyRSy5.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-text-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Input } from '@/components/ui/input';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\nimport type { SimpleTextFieldProps as Props } from '../../types';\n\nexport const SimpleTextField: React.FC<Props> = ({ label, placeholder, required, maxLength, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLInputElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Input\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n autoComplete=\"off\"\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"kUAcA,MAAa,GAAoC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CACzG,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACb,aAAa,MACb,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-textarea-field
|
|
1
|
+
const e=require("./tanstack-form-DU-ZKXxZ.cjs"),t=require("./ui/label.cjs"),n=require("./ui/textarea.cjs"),r=require("./field-BV5twmKA.cjs");let i=require("react"),a=require("react/jsx-runtime"),o=require("@tanstack/react-form");const s=({label:s,placeholder:c,required:l,maxLength:u,rows:d,disabled:f})=>{let p=(0,i.useId)(),{form:m,name:h,state:g,handleBlur:_,handleChange:v}=e.G(),y=(0,o.useStore)(m.store,({isSubmitting:e})=>e),b=g.meta.isTouched&&!g.meta.isValid,x=(0,i.useCallback)(({target:{value:e}})=>{y||u&&e.length>u||v(e||null)},[y,u,v]);return(0,a.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[s&&(0,a.jsxs)(t.Label,{htmlFor:p,children:[s,l&&(0,a.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,a.jsx)(n.Textarea,{id:p,name:h,value:g.value??``,"aria-invalid":b,placeholder:c,rows:d,disabled:f||y,onBlur:_,onChange:x}),b&&(0,a.jsx)(r.FieldError,{errors:g.meta.errors})]})};exports.SimpleTextareaField=s;
|
|
2
|
+
//# sourceMappingURL=simple-textarea-field--FWXqgy7.cjs.map
|
package/dist/{simple-textarea-field-Cjjk9WOW.cjs.map → simple-textarea-field--FWXqgy7.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-textarea-field
|
|
1
|
+
{"version":3,"file":"simple-textarea-field--FWXqgy7.cjs","names":["useTanStackFieldContext","Label","Textarea","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-textarea-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Textarea } from '@/components/ui/textarea';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n rows?: number;\n disabled?: boolean;\n};\n\nexport const SimpleTextareaField: React.FC<Props> = ({ label, placeholder, required, maxLength, rows, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLTextAreaElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n rows={rows}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"qOAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,YAAW,OAAM,cAAe,CACnH,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,EAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,GAAA,EAAA,EAAA,YAAA,EACH,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iCAAf,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,WAAhB,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,SAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACP,OACN,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as e}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-textarea-field-
|
|
1
|
+
import{G as e}from"./tanstack-form-B6mzOylW.mjs";import{Label as t}from"./ui/label.mjs";import{Textarea as n}from"./ui/textarea.mjs";import{FieldError as r}from"./field-BKyUqvzh.mjs";import{useCallback as i,useId as a}from"react";import{jsx as o,jsxs as s}from"react/jsx-runtime";import{useStore as c}from"@tanstack/react-form";const l=({label:l,placeholder:u,required:d,maxLength:f,rows:p,disabled:m})=>{let h=a(),{form:g,name:_,state:v,handleBlur:y,handleChange:b}=e(),x=c(g.store,({isSubmitting:e})=>e),S=v.meta.isTouched&&!v.meta.isValid,C=i(({target:{value:e}})=>{x||f&&e.length>f||b(e||null)},[x,f,b]);return s(`div`,{className:`flex flex-col gap-1.5`,children:[l&&s(t,{htmlFor:h,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(n,{id:h,name:_,value:v.value??``,"aria-invalid":S,placeholder:u,rows:p,disabled:m||x,onBlur:y,onChange:C}),S&&o(r,{errors:v.meta.errors})]})};export{l as SimpleTextareaField};
|
|
2
|
+
//# sourceMappingURL=simple-textarea-field-BiaAbLgT.mjs.map
|
package/dist/{simple-textarea-field-CM9aHy-q.mjs.map → simple-textarea-field-BiaAbLgT.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-textarea-field-
|
|
1
|
+
{"version":3,"file":"simple-textarea-field-BiaAbLgT.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-textarea-field.tsx"],"sourcesContent":["'use client';\n\nimport { useCallback, useId } from 'react';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Textarea } from '@/components/ui/textarea';\nimport { Label } from '@/components/ui/label';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n placeholder?: string;\n required?: boolean;\n maxLength?: number;\n rows?: number;\n disabled?: boolean;\n};\n\nexport const SimpleTextareaField: React.FC<Props> = ({ label, placeholder, required, maxLength, rows, disabled }) => {\n const id = useId();\n const { form, name, state, handleBlur, handleChange } = useTanStackFieldContext<string | null>();\n\n const isSubmitting = useStore(form.store, ({ isSubmitting }) => isSubmitting);\n\n const _invalid = state.meta.isTouched && !state.meta.isValid;\n\n const onChange = useCallback<React.ChangeEventHandler<HTMLTextAreaElement>>(\n ({ target: { value } }) => {\n if (isSubmitting) return;\n if (maxLength && value.length > maxLength) return;\n handleChange(value || null);\n },\n [isSubmitting, maxLength, handleChange]\n );\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label htmlFor={id}>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n value={state.value ?? ''}\n aria-invalid={_invalid}\n placeholder={placeholder}\n rows={rows}\n disabled={disabled || isSubmitting}\n onBlur={handleBlur}\n onChange={onChange}\n />\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"wUAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,YAAW,OAAM,cAAe,CACnH,IAAM,EAAK,EAAM,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAE/C,EAAW,GACd,CAAE,OAAQ,CAAE,YAAc,CACrB,GACA,GAAa,EAAM,OAAS,GAChC,EAAa,GAAS,IAAI,CAC5B,EACA,CAAC,EAAc,EAAW,CAAY,CACxC,EAEA,OACE,EAAC,MAAD,CAAK,UAAU,iCAAf,CACG,GACC,EAAC,EAAD,CAAO,QAAS,WAAhB,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,8BAAqB,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CACM,KACE,OACN,MAAO,EAAM,OAAS,GACtB,eAAc,EACD,cACP,OACN,SAAU,GAAY,EACtB,OAAQ,EACE,UACX,CAAA,EACA,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=switch-field-
|
|
1
|
+
const e=require("./tanstack-form-DU-ZKXxZ.cjs"),t=require("./field-BV5twmKA.cjs");let n=require("@customafk/react-toolkit/utils"),r=require("react/jsx-runtime"),i=require("radix-ui");function a({className:e,...t}){return(0,r.jsx)(i.Switch.Root,{"data-slot":`switch`,className:(0,n.cn)(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full shadow-xs transition-all`,`inline-flex h-5`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`-outline-offset-1 inset-shadow-2xs outline-1`,`data-[state=checked]:bg-primary`,`data-[state=checked]:outline-primary-strong`,`data-[state=unchecked]:bg-muted-weak`,`data-[state=unchecked]:outline-border`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,e),...t,children:(0,r.jsx)(i.Switch.Thumb,{"data-slot":`switch-thumb`,className:(0,n.cn)(`block size-4 bg-card shadow-xs`,`pointer-events-none rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}const o=({label:n,description:i,helperText:o})=>{let s=e.G();return(0,r.jsxs)(t.FieldGroup,{className:`gap-y-4 px-4`,children:[(0,r.jsxs)(t.Field,{orientation:`vertical`,className:`relative justify-between gap-y-1`,children:[(0,r.jsxs)(t.FieldContent,{children:[(0,r.jsx)(t.FieldTitle,{className:`cursor-pointer`,children:(0,r.jsx)(`label`,{htmlFor:s.name,children:n})}),(0,r.jsx)(t.FieldDescription,{children:i}),(0,r.jsx)(a,{id:s.name,checked:s.state.value??!1,className:`absolute top-1 right-1`,onBlur:s.handleBlur,onCheckedChange:s.handleChange})]}),(0,r.jsx)(t.FieldNote,{isShow:!!o,children:o})]}),(0,r.jsx)(t.FieldSeparator,{})]})};exports.SwitchField=o;
|
|
2
|
+
//# sourceMappingURL=switch-field-BS8XStmz.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-field-
|
|
1
|
+
{"version":3,"file":"switch-field-BS8XStmz.cjs","names":["SwitchPrimitive","useTanStackFieldContext","FieldGroup","Field","FieldContent","FieldTitle","FieldDescription","FieldNote","FieldSeparator"],"sources":["../packages/components/features/tanstack-form/components/ui/switch.tsx","../packages/components/features/tanstack-form/components/fields/switch-field.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Switch as SwitchPrimitive } from 'radix-ui';\n\n/**\n * Accessible toggle switch built on Radix UI, styled with primary-color checked state and smooth thumb transition.\n *\n * @example\n * import { Switch } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <Switch defaultChecked onCheckedChange={(checked) => console.log(checked)} />\n */\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full shadow-xs transition-all',\n 'inline-flex h-5',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n\n '-outline-offset-1 inset-shadow-2xs outline-1',\n\n 'data-[state=checked]:bg-primary',\n 'data-[state=checked]:outline-primary-strong',\n\n 'data-[state=unchecked]:bg-muted-weak',\n 'data-[state=unchecked]:outline-border',\n\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'block size-4 bg-card shadow-xs',\n 'pointer-events-none rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0'\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","'use client';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { Field, FieldContent, FieldDescription, FieldGroup, FieldNote, FieldSeparator, FieldTitle } from '../ui/field';\nimport { Switch } from '../ui/switch';\n\nimport type { SwitchFieldProps as Props } from '../../types';\n\n/**\n * A TanStack Form-connected boolean toggle field rendered as a labelled switch,\n * positioned absolutely in the top-right corner of the field card.\n *\n * @example\n * import { SwitchField } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <form.Field name=\"notifications\">\n * {() => (\n * <SwitchField\n * label=\"Enable notifications\"\n * description=\"Receive email alerts for important events\"\n * helperText=\"You can change this at any time\"\n * />\n * )}\n * </form.Field>\n */\nexport const SwitchField: React.FC<Props> = ({ label, description, helperText }) => {\n const field = useTanStackFieldContext<boolean | null>();\n\n return (\n <FieldGroup className=\"gap-y-4 px-4\">\n <Field orientation=\"vertical\" className=\"relative justify-between gap-y-1\">\n <FieldContent>\n <FieldTitle className=\"cursor-pointer\">\n <label htmlFor={field.name}>{label}</label>\n </FieldTitle>\n <FieldDescription>{description}</FieldDescription>\n <Switch\n id={field.name}\n checked={field.state.value ?? false}\n className=\"absolute top-1 right-1\"\n onBlur={field.handleBlur}\n onCheckedChange={field.handleChange}\n />\n </FieldContent>\n <FieldNote isShow={!!helperText}>{helperText}</FieldNote>\n </Field>\n <FieldSeparator />\n </FieldGroup>\n );\n};\n"],"mappings":"uLAcA,SAAS,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAAA,EAAA,IAAA,CAACA,EAAAA,OAAgB,KAAjB,CACE,YAAU,SACV,WAAA,EAAA,EAAA,GAAA,CACE,OACA,iFACA,kBACA,sCACA,kCACA,uBACA,8BACA,sBAEA,+CAEA,kCACA,8CAEA,uCACA,wCAEA,yCACA,kDACA,uDACA,CACF,EACA,GAAI,YAEJ,EAAA,EAAA,IAAA,CAACA,EAAAA,OAAgB,MAAjB,CACE,YAAU,eACV,WAAA,EAAA,EAAA,GAAA,CACE,iCACA,+DACA,oDACA,sCACF,CACD,CAAA,CACmB,CAAA,CAE1B,CC7BA,MAAa,GAAgC,CAAE,QAAO,cAAa,gBAAiB,CAClF,IAAM,EAAQC,EAAAA,EAAwC,EAEtD,OACE,EAAA,EAAA,KAAA,CAACC,EAAAA,WAAD,CAAY,UAAU,wBAAtB,EACE,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,YAAY,WAAW,UAAU,4CAAxC,EACE,EAAA,EAAA,KAAA,CAACC,EAAAA,aAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAAY,UAAU,2BACpB,EAAA,EAAA,IAAA,CAAC,QAAD,CAAO,QAAS,EAAM,cAAO,CAAa,CAAA,CAChC,CAAA,GACZ,EAAA,EAAA,IAAA,CAACC,EAAAA,iBAAD,CAAA,SAAmB,CAA8B,CAAA,GACjD,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,GAAI,EAAM,KACV,QAAS,EAAM,MAAM,OAAS,GAC9B,UAAU,yBACV,OAAQ,EAAM,WACd,gBAAiB,EAAM,YACxB,CAAA,CACW,CAAA,CAAA,GACd,EAAA,EAAA,IAAA,CAACC,EAAAA,UAAD,CAAW,OAAQ,CAAC,CAAC,WAAa,CAAsB,CAAA,CACnD,KACP,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAiB,CAAA,CACP,GAEhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{G as e}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=switch-field-
|
|
1
|
+
import{G as e}from"./tanstack-form-B6mzOylW.mjs";import{Field as t,FieldContent as n,FieldDescription as r,FieldGroup as i,FieldNote as a,FieldSeparator as o,FieldTitle as s}from"./field-BKyUqvzh.mjs";import{cn as c}from"@customafk/react-toolkit/utils";import{jsx as l,jsxs as u}from"react/jsx-runtime";import{Switch as d}from"radix-ui";function f({className:e,...t}){return l(d.Root,{"data-slot":`switch`,className:c(`peer`,`w-8 shrink-0 cursor-pointer items-center rounded-full shadow-xs transition-all`,`inline-flex h-5`,`focus-visible:border-primary-strong`,`focus-visible:ring-primary-weak`,`focus-visible:ring-4`,`disabled:cursor-not-allowed`,`disabled:opacity-50`,`-outline-offset-1 inset-shadow-2xs outline-1`,`data-[state=checked]:bg-primary`,`data-[state=checked]:outline-primary-strong`,`data-[state=unchecked]:bg-muted-weak`,`data-[state=unchecked]:outline-border`,`data-[state=unchecked]:[&_span]:size-4`,`data-[state=unchecked]:[&_span]:translate-x-0.5`,`data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5`,e),...t,children:l(d.Thumb,{"data-slot":`switch-thumb`,className:c(`block size-4 bg-card shadow-xs`,`pointer-events-none rounded-full ring-0 transition-transform`,`data-[state=checked]:translate-x-[calc(100%-3px)]`,`data-[state=unchecked]:translate-x-0`)})})}const p=({label:c,description:d,helperText:p})=>{let m=e();return u(i,{className:`gap-y-4 px-4`,children:[u(t,{orientation:`vertical`,className:`relative justify-between gap-y-1`,children:[u(n,{children:[l(s,{className:`cursor-pointer`,children:l(`label`,{htmlFor:m.name,children:c})}),l(r,{children:d}),l(f,{id:m.name,checked:m.state.value??!1,className:`absolute top-1 right-1`,onBlur:m.handleBlur,onCheckedChange:m.handleChange})]}),l(a,{isShow:!!p,children:p})]}),l(o,{})]})};export{p as SwitchField};
|
|
2
|
+
//# sourceMappingURL=switch-field-aaA3hplb.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-field-
|
|
1
|
+
{"version":3,"file":"switch-field-aaA3hplb.mjs","names":["Switch","SwitchPrimitive","Switch"],"sources":["../packages/components/features/tanstack-form/components/ui/switch.tsx","../packages/components/features/tanstack-form/components/fields/switch-field.tsx"],"sourcesContent":["'use client';\n\nimport { cn } from '@customafk/react-toolkit/utils';\n\nimport { Switch as SwitchPrimitive } from 'radix-ui';\n\n/**\n * Accessible toggle switch built on Radix UI, styled with primary-color checked state and smooth thumb transition.\n *\n * @example\n * import { Switch } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <Switch defaultChecked onCheckedChange={(checked) => console.log(checked)} />\n */\nfunction Switch({ className, ...props }: React.ComponentProps<typeof SwitchPrimitive.Root>) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n className={cn(\n 'peer',\n 'w-8 shrink-0 cursor-pointer items-center rounded-full shadow-xs transition-all',\n 'inline-flex h-5',\n 'focus-visible:border-primary-strong',\n 'focus-visible:ring-primary-weak',\n 'focus-visible:ring-4',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n\n '-outline-offset-1 inset-shadow-2xs outline-1',\n\n 'data-[state=checked]:bg-primary',\n 'data-[state=checked]:outline-primary-strong',\n\n 'data-[state=unchecked]:bg-muted-weak',\n 'data-[state=unchecked]:outline-border',\n\n 'data-[state=unchecked]:[&_span]:size-4',\n 'data-[state=unchecked]:[&_span]:translate-x-0.5',\n 'data-[state=unchecked]:[&_span]:rtl:-translate-x-0.5',\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className={cn(\n 'block size-4 bg-card shadow-xs',\n 'pointer-events-none rounded-full ring-0 transition-transform',\n 'data-[state=checked]:translate-x-[calc(100%-3px)]',\n 'data-[state=unchecked]:translate-x-0'\n )}\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","'use client';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { Field, FieldContent, FieldDescription, FieldGroup, FieldNote, FieldSeparator, FieldTitle } from '../ui/field';\nimport { Switch } from '../ui/switch';\n\nimport type { SwitchFieldProps as Props } from '../../types';\n\n/**\n * A TanStack Form-connected boolean toggle field rendered as a labelled switch,\n * positioned absolutely in the top-right corner of the field card.\n *\n * @example\n * import { SwitchField } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * <form.Field name=\"notifications\">\n * {() => (\n * <SwitchField\n * label=\"Enable notifications\"\n * description=\"Receive email alerts for important events\"\n * helperText=\"You can change this at any time\"\n * />\n * )}\n * </form.Field>\n */\nexport const SwitchField: React.FC<Props> = ({ label, description, helperText }) => {\n const field = useTanStackFieldContext<boolean | null>();\n\n return (\n <FieldGroup className=\"gap-y-4 px-4\">\n <Field orientation=\"vertical\" className=\"relative justify-between gap-y-1\">\n <FieldContent>\n <FieldTitle className=\"cursor-pointer\">\n <label htmlFor={field.name}>{label}</label>\n </FieldTitle>\n <FieldDescription>{description}</FieldDescription>\n <Switch\n id={field.name}\n checked={field.state.value ?? false}\n className=\"absolute top-1 right-1\"\n onBlur={field.handleBlur}\n onCheckedChange={field.handleChange}\n />\n </FieldContent>\n <FieldNote isShow={!!helperText}>{helperText}</FieldNote>\n </Field>\n <FieldSeparator />\n </FieldGroup>\n );\n};\n"],"mappings":"iVAcA,SAASA,EAAO,CAAE,YAAW,GAAG,GAA4D,CAC1F,OACE,EAACC,EAAgB,KAAjB,CACE,YAAU,SACV,UAAW,EACT,OACA,iFACA,kBACA,sCACA,kCACA,uBACA,8BACA,sBAEA,+CAEA,kCACA,8CAEA,uCACA,wCAEA,yCACA,kDACA,uDACA,CACF,EACA,GAAI,WAEJ,EAACA,EAAgB,MAAjB,CACE,YAAU,eACV,UAAW,EACT,iCACA,+DACA,oDACA,sCACF,CACD,CAAA,CACmB,CAAA,CAE1B,CC7BA,MAAa,GAAgC,CAAE,QAAO,cAAa,gBAAiB,CAClF,IAAM,EAAQ,EAAwC,EAEtD,OACE,EAAC,EAAD,CAAY,UAAU,wBAAtB,CACE,EAAC,EAAD,CAAO,YAAY,WAAW,UAAU,4CAAxC,CACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAY,UAAU,0BACpB,EAAC,QAAD,CAAO,QAAS,EAAM,cAAO,CAAa,CAAA,CAChC,CAAA,EACZ,EAAC,EAAD,CAAA,SAAmB,CAA8B,CAAA,EACjD,EAACC,EAAD,CACE,GAAI,EAAM,KACV,QAAS,EAAM,MAAM,OAAS,GAC9B,UAAU,yBACV,OAAQ,EAAM,WACd,gBAAiB,EAAM,YACxB,CAAA,CACW,CAAA,CAAA,EACd,EAAC,EAAD,CAAW,OAAQ,CAAC,CAAC,WAAa,CAAsB,CAAA,CACnD,IACP,EAAC,EAAD,CAAiB,CAAA,CACP,GAEhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Skeleton as e}from"./ui/skeleton.mjs";import{Suspense as t,lazy as n}from"react";import{jsx as r}from"react/jsx-runtime";import{createFormHook as i,createFormHookContexts as a}from"@tanstack/react-form";const{fieldContext:o,formContext:s,useFieldContext:c,useFormContext:l}=a();function u(){return r(e,{"data-slot":`tanstack-field-skeleton`,className:`h-9 w-full rounded`})}function d(e){let i=n(e);return e=>r(t,{fallback:r(u,{}),children:r(i,{...e})})}const f=d(()=>import(`./text-field-
|
|
2
|
-
//# sourceMappingURL=tanstack-form-
|
|
1
|
+
import{Skeleton as e}from"./ui/skeleton.mjs";import{Suspense as t,lazy as n}from"react";import{jsx as r}from"react/jsx-runtime";import{createFormHook as i,createFormHookContexts as a}from"@tanstack/react-form";const{fieldContext:o,formContext:s,useFieldContext:c,useFormContext:l}=a();function u(){return r(e,{"data-slot":`tanstack-field-skeleton`,className:`h-9 w-full rounded`})}function d(e){let i=n(e);return e=>r(t,{fallback:r(u,{}),children:r(i,{...e})})}const f=d(()=>import(`./text-field-Dlbpos_A.mjs`).then(e=>({default:e.TextField}))),p=d(()=>import(`./textarea-field-f8E3HEkw.mjs`).then(e=>({default:e.TextareaField}))),m=d(()=>import(`./text-editor-field-Dm2yxTUZ.mjs`).then(e=>({default:e.TextEditorField}))),h=d(()=>import(`./number-field-BglMIz6D.mjs`).then(e=>({default:e.NumberField}))),g=d(()=>import(`./email-field-CadXKVIu.mjs`).then(e=>({default:e.EmailField}))),_=d(()=>import(`./password-field-7VRa9-nn.mjs`).then(e=>({default:e.PasswordField}))),v=d(()=>import(`./select-field-C5MjnCWH.mjs`).then(e=>({default:e.SelectField}))),y=d(()=>import(`./combobox-field-CLooFS0r.mjs`).then(e=>({default:e.ComboboxField}))),b=d(()=>import(`./date-field-uYtNFRrJ.mjs`).then(e=>({default:e.DateField}))),x=d(()=>import(`./switch-field-aaA3hplb.mjs`).then(e=>({default:e.SwitchField}))),S=d(()=>import(`./radio-group-field-D570ZDQ1.mjs`).then(e=>({default:e.RadioGroupField}))),C=d(()=>import(`./checkbox-field-B7Nh2_rB.mjs`).then(e=>({default:e.CheckboxField}))),w=d(()=>import(`./simple-text-field-DxZyRSy5.mjs`).then(e=>({default:e.SimpleTextField}))),T=d(()=>import(`./simple-email-field-B73GdTF_.mjs`).then(e=>({default:e.SimpleEmailField}))),E=d(()=>import(`./simple-password-field-CrGsdjSa.mjs`).then(e=>({default:e.SimplePasswordField}))),D=d(()=>import(`./simple-textarea-field-BiaAbLgT.mjs`).then(e=>({default:e.SimpleTextareaField}))),O=d(()=>import(`./simple-number-field-ggLY5zA7.mjs`).then(e=>({default:e.SimpleNumberField}))),k=d(()=>import(`./simple-select-field-CyFJthFb.mjs`).then(e=>({default:e.SimpleSelectField}))),A=n(()=>import(`./simple-array-field-Bj86iA_N.mjs`).then(e=>({default:e.SimpleArrayField})));function j(e){return r(t,{fallback:r(u,{}),children:r(A,{...e})})}const M=d(()=>import(`./simple-boolean-field-BbfHAg60.mjs`).then(e=>({default:e.SimpleBooleanField}))),N=d(()=>import(`./simple-combobox-field-poFNb-vB.mjs`).then(e=>({default:e.SimpleComboboxField}))),P=d(()=>import(`./simple-date-field-BMADM_kf.mjs`).then(e=>({default:e.SimpleDateField}))),F=d(()=>import(`./simple-radio-group-field-CZ5u-XiY.mjs`).then(e=>({default:e.SimpleRadioGroupField}))),I=d(()=>import(`./simple-array-field-Bj86iA_N.mjs`).then(e=>({default:e.ArrayCol}))),L=d(()=>import(`./simple-array-field-Bj86iA_N.mjs`).then(e=>({default:e.ArrayHeaderRow}))),R=d(()=>import(`./dialog-form-C6kJPVNp.mjs`).then(e=>({default:e.TanStackDialogForm}))),z=d(()=>import(`./popover-form-BLuCGa_z.mjs`).then(e=>({default:e.TanStackPopoverForm}))),B=d(()=>import(`./container-form-BjiGIzwm.mjs`).then(e=>({default:e.TanStackContainerForm}))),V=d(()=>import(`./section-form-BJWWflUR.mjs`).then(e=>({default:e.TanStackSectionForm}))),H=d(()=>import(`./card-form-D9fNO-6F.mjs`).then(e=>({default:e.TanStackCardForm}))),U=d(()=>import(`./group-field-bviEXmo4.mjs`).then(e=>({default:e.TanStackFieldGroup}))),W=d(()=>import(`./title-field-84EnHPvl.mjs`).then(e=>({default:e.TanStackTitleField}))),G=d(()=>import(`./actions-form-CEBdF1N7.mjs`).then(e=>({default:e.TanStackActionsForm}))),K=d(()=>import(`./action-submit-DLv-V1JQ.mjs`).then(e=>({default:e.TanStackActionSubmit}))),q=d(()=>import(`./field-BKyUqvzh.mjs`).then(e=>({default:e.FieldGroup}))),J=d(()=>import(`./field-BKyUqvzh.mjs`).then(e=>({default:e.Field}))),Y=d(()=>import(`./field-BKyUqvzh.mjs`).then(e=>({default:e.FieldContent}))),X=d(()=>import(`./field-BKyUqvzh.mjs`).then(e=>({default:e.FieldLabel}))),Z=d(()=>import(`./field-BKyUqvzh.mjs`).then(e=>({default:e.FieldContentMain}))),Q=d(()=>import(`./field-BKyUqvzh.mjs`).then(e=>({default:e.FieldSeparator}))),$=d(()=>import(`./field-BKyUqvzh.mjs`).then(e=>({default:e.FieldError}))),{useAppForm:ee,withForm:te,withFieldGroup:ne}=i({fieldContext:o,formContext:s,fieldComponents:{TextField:f,TextareaField:p,TextEditorField:m,NumberField:h,EmailField:g,PasswordField:_,SelectField:v,ComboboxField:y,DateField:b,SwitchField:x,RadioGroupField:S,CheckboxField:C,SimpleTextField:w,SimpleEmailField:T,SimplePasswordField:E,SimpleTextareaField:D,SimpleNumberField:O,SimpleSelectField:k,SimpleArrayField:j,SimpleBooleanField:M,SimpleComboboxField:N,SimpleDateField:P,SimpleRadioGroupField:F,FieldGroup:q,Field:J,FieldContent:Y,FieldLabel:X,FieldContentMain:Z,FieldSeparator:Q,FieldError:$},formComponents:{TanStackDialogForm:R,TanStackPopoverForm:z,TanStackContainerForm:B,TanStackSectionForm:V,TanStackCardForm:H,TanStackFieldGroup:U,TanStackTitleField:W,TanStackActionsForm:G,TanStackActionSubmit:K,ArrayCol:I,ArrayHeaderRow:L}});export{K as A,f as B,O as C,w as D,k as E,U as F,c as G,ee as H,z as I,l as K,V as L,H as M,B as N,D as O,R as P,W as R,T as S,F as T,ne as U,p as V,te as W,v as _,b as a,N as b,Y as c,q as d,X as f,S as g,_ as h,y as i,G as j,x as k,Z as l,h as m,L as n,g as o,Q as p,C as r,J as s,I as t,$ as u,j as v,E as w,P as x,M as y,m as z};
|
|
2
|
+
//# sourceMappingURL=tanstack-form-B6mzOylW.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tanstack-form-DJMaMeUh.mjs","names":["Impl"],"sources":["../packages/components/features/tanstack-form/components/form-context.ts","../packages/components/features/tanstack-form/tanstack-form.tsx"],"sourcesContent":["'use client';\n\nimport { createFormHookContexts } from '@tanstack/react-form';\n\n/**\n * Shared field/form contexts, split out from `tanstack-form.tsx` so that field and form\n * components can depend on them directly instead of importing back through the file that\n * lazy-loads those same components (which would reintroduce a circular import).\n */\nexport const { fieldContext, formContext, useFieldContext: useTanStackFieldContext, useFormContext: useTanStackFormContext } = createFormHookContexts();\n","'use client';\n\nimport type { ComponentProps, ComponentType } from 'react';\nimport { lazy, Suspense } from 'react';\n\nimport { createFormHook } from '@tanstack/react-form';\n\nimport { Skeleton } from '@/components/ui/skeleton';\n\nimport type { ArrayCol as ArrayColType, ArrayHeaderRow as ArrayHeaderRowType, SimpleArrayFieldProps } from './components/atoms/simple-array-field';\nimport type { SimpleBooleanField as SimpleBooleanFieldType } from './components/atoms/simple-boolean-field';\nimport type { SimpleComboboxField as SimpleComboboxFieldType } from './components/atoms/simple-combobox-field';\nimport type { SimpleDateField as SimpleDateFieldType } from './components/atoms/simple-date-field';\nimport type { SimpleEmailField as SimpleEmailFieldType } from './components/atoms/simple-email-field';\nimport type { SimpleNumberField as SimpleNumberFieldType } from './components/atoms/simple-number-field';\nimport type { SimplePasswordField as SimplePasswordFieldType } from './components/atoms/simple-password-field';\nimport type { SimpleRadioGroupField as SimpleRadioGroupFieldType } from './components/atoms/simple-radio-group-field';\nimport type { SimpleSelectField as SimpleSelectFieldType } from './components/atoms/simple-select-field';\nimport type { SimpleTextField as SimpleTextFieldType } from './components/atoms/simple-text-field';\nimport type { SimpleTextareaField as SimpleTextareaFieldType } from './components/atoms/simple-textarea-field';\nimport type { CheckboxField as CheckboxFieldType } from './components/fields/checkbox-field';\nimport type { ComboboxField as ComboboxFieldType } from './components/fields/combobox-field';\nimport type { DateField as DateFieldType } from './components/fields/date-field';\nimport type { EmailField as EmailFieldType } from './components/fields/email-field';\nimport type { NumberField as NumberFieldType } from './components/fields/number-field';\nimport type { PasswordField as PasswordFieldType } from './components/fields/password-field';\nimport type { RadioGroupField as RadioGroupFieldType } from './components/fields/radio-group-field';\nimport type { SelectField as SelectFieldType } from './components/fields/select-field';\nimport type { SwitchField as SwitchFieldType } from './components/fields/switch-field';\nimport type { TextEditorField as TextEditorFieldType } from './components/fields/text-editor-field';\nimport type { TextField as TextFieldType } from './components/fields/text-field';\nimport type { TextareaField as TextareaFieldType } from './components/fields/textarea-field';\nimport { fieldContext, formContext, useTanStackFieldContext, useTanStackFormContext } from './components/form-context';\nimport type { TanStackActionSubmit as TanStackActionSubmitType } from './components/forms/action-submit';\nimport type { TanStackActionsForm as TanStackActionsFormType } from './components/forms/actions-form';\nimport type { TanStackCardForm as TanStackCardFormType } from './components/forms/card-form';\nimport type { TanStackContainerForm as TanStackContainerFormType } from './components/forms/container-form';\nimport type { TanStackDialogForm as TanStackDialogFormType } from './components/forms/dialog-form';\nimport type { TanStackFieldGroup as TanStackFieldGroupType } from './components/forms/group-field';\nimport type { TanStackPopoverForm as TanStackPopoverFormType } from './components/forms/popover-form';\nimport type { TanStackSectionForm as TanStackSectionFormType } from './components/forms/section-form';\nimport type { TanStackTitleField as TanStackTitleFieldType } from './components/forms/title-field';\nimport type {\n FieldContentMain as FieldContentMainType,\n FieldContent as FieldContentType,\n FieldError as FieldErrorType,\n FieldGroup as FieldGroupType,\n FieldLabel as FieldLabelType,\n FieldSeparator as FieldSeparatorType,\n Field as FieldType,\n} from './components/ui/field';\n\n/** Input-shaped pulse placeholder shown while a lazy field/form chunk is still loading. */\nfunction FieldSkeleton() {\n return <Skeleton data-slot=\"tanstack-field-skeleton\" className=\"h-9 w-full rounded\" />;\n}\n\n/**\n * Wraps a `lazy()`-loaded component in its own `Suspense` boundary so it can be dropped\n * anywhere (inside or outside our own form containers) without callers needing to set up\n * Suspense themselves. Keeps this file itself small — the heavy per-field-type\n * implementations (Radix Select/Combobox/date-picker, the rich text editor, etc.) only load\n * when a form actually renders that field type.\n */\nfunction lazyField<P extends object>(loader: () => Promise<{ default: ComponentType<P> }>): ComponentType<P> {\n const LazyComponent = lazy(loader);\n return (props: P) => (\n <Suspense fallback={<FieldSkeleton />}>\n <LazyComponent {...props} />\n </Suspense>\n );\n}\n\n// ─── Rich field components (lazy) ─────────────────────────────────────────────\n\nconst TextField = lazyField<ComponentProps<typeof TextFieldType>>(() => import('./components/fields/text-field').then(m => ({ default: m.TextField })));\nconst TextareaField = lazyField<ComponentProps<typeof TextareaFieldType>>(() =>\n import('./components/fields/textarea-field').then(m => ({ default: m.TextareaField }))\n);\nconst TextEditorField = lazyField<ComponentProps<typeof TextEditorFieldType>>(() =>\n import('./components/fields/text-editor-field').then(m => ({ default: m.TextEditorField }))\n);\nconst NumberField = lazyField<ComponentProps<typeof NumberFieldType>>(() => import('./components/fields/number-field').then(m => ({ default: m.NumberField })));\nconst EmailField = lazyField<ComponentProps<typeof EmailFieldType>>(() => import('./components/fields/email-field').then(m => ({ default: m.EmailField })));\nconst PasswordField = lazyField<ComponentProps<typeof PasswordFieldType>>(() =>\n import('./components/fields/password-field').then(m => ({ default: m.PasswordField }))\n);\nconst SelectField = lazyField<ComponentProps<typeof SelectFieldType>>(() => import('./components/fields/select-field').then(m => ({ default: m.SelectField })));\nconst ComboboxField = lazyField<ComponentProps<typeof ComboboxFieldType>>(() =>\n import('./components/fields/combobox-field').then(m => ({ default: m.ComboboxField }))\n);\nconst DateField = lazyField<ComponentProps<typeof DateFieldType>>(() => import('./components/fields/date-field').then(m => ({ default: m.DateField })));\nconst SwitchField = lazyField<ComponentProps<typeof SwitchFieldType>>(() => import('./components/fields/switch-field').then(m => ({ default: m.SwitchField })));\nconst RadioGroupField = lazyField<ComponentProps<typeof RadioGroupFieldType>>(() =>\n import('./components/fields/radio-group-field').then(m => ({ default: m.RadioGroupField }))\n);\nconst CheckboxField = lazyField<ComponentProps<typeof CheckboxFieldType>>(() =>\n import('./components/fields/checkbox-field').then(m => ({ default: m.CheckboxField }))\n);\n\n// ─── Simple (minimal) field components (lazy) ─────────────────────────────────\n\nconst SimpleTextField = lazyField<ComponentProps<typeof SimpleTextFieldType>>(() =>\n import('./components/atoms/simple-text-field').then(m => ({ default: m.SimpleTextField }))\n);\nconst SimpleEmailField = lazyField<ComponentProps<typeof SimpleEmailFieldType>>(() =>\n import('./components/atoms/simple-email-field').then(m => ({ default: m.SimpleEmailField }))\n);\nconst SimplePasswordField = lazyField<ComponentProps<typeof SimplePasswordFieldType>>(() =>\n import('./components/atoms/simple-password-field').then(m => ({ default: m.SimplePasswordField }))\n);\nconst SimpleTextareaField = lazyField<ComponentProps<typeof SimpleTextareaFieldType>>(() =>\n import('./components/atoms/simple-textarea-field').then(m => ({ default: m.SimpleTextareaField }))\n);\nconst SimpleNumberField = lazyField<ComponentProps<typeof SimpleNumberFieldType>>(() =>\n import('./components/atoms/simple-number-field').then(m => ({ default: m.SimpleNumberField }))\n);\nconst SimpleSelectField = lazyField<ComponentProps<typeof SimpleSelectFieldType>>(() =>\n import('./components/atoms/simple-select-field').then(m => ({ default: m.SimpleSelectField }))\n);\nconst LazySimpleArrayField = lazy(() =>\n import('./components/atoms/simple-array-field').then(m => ({ default: m.SimpleArrayField as ComponentType<SimpleArrayFieldProps<unknown>> }))\n);\n\n/** Kept as its own generic wrapper (instead of `lazyField`) so callers can still write `<SimpleArrayField<Row> />`. */\nfunction SimpleArrayField<T>(props: SimpleArrayFieldProps<T>) {\n const Impl = LazySimpleArrayField as ComponentType<SimpleArrayFieldProps<T>>;\n return (\n <Suspense fallback={<FieldSkeleton />}>\n <Impl {...props} />\n </Suspense>\n );\n}\n\nconst SimpleBooleanField = lazyField<ComponentProps<typeof SimpleBooleanFieldType>>(() =>\n import('./components/atoms/simple-boolean-field').then(m => ({ default: m.SimpleBooleanField }))\n);\nconst SimpleComboboxField = lazyField<ComponentProps<typeof SimpleComboboxFieldType>>(() =>\n import('./components/atoms/simple-combobox-field').then(m => ({ default: m.SimpleComboboxField }))\n);\nconst SimpleDateField = lazyField<ComponentProps<typeof SimpleDateFieldType>>(() =>\n import('./components/atoms/simple-date-field').then(m => ({ default: m.SimpleDateField }))\n);\nconst SimpleRadioGroupField = lazyField<ComponentProps<typeof SimpleRadioGroupFieldType>>(() =>\n import('./components/atoms/simple-radio-group-field').then(m => ({ default: m.SimpleRadioGroupField }))\n);\n\n// ─── Array field layout helpers (lazy, co-located with SimpleArrayField) ──────\n\nconst ArrayCol = lazyField<ComponentProps<typeof ArrayColType>>(() => import('./components/atoms/simple-array-field').then(m => ({ default: m.ArrayCol })));\nconst ArrayHeaderRow = lazyField<ComponentProps<typeof ArrayHeaderRowType>>(() =>\n import('./components/atoms/simple-array-field').then(m => ({ default: m.ArrayHeaderRow }))\n);\n\n// ─── Form containers (lazy) ───────────────────────────────────────────────────\n\nconst TanStackDialogForm = lazyField<ComponentProps<typeof TanStackDialogFormType>>(() =>\n import('./components/forms/dialog-form').then(m => ({ default: m.TanStackDialogForm }))\n);\nconst TanStackPopoverForm = lazyField<ComponentProps<typeof TanStackPopoverFormType>>(() =>\n import('./components/forms/popover-form').then(m => ({ default: m.TanStackPopoverForm }))\n);\nconst TanStackContainerForm = lazyField<ComponentProps<typeof TanStackContainerFormType>>(() =>\n import('./components/forms/container-form').then(m => ({ default: m.TanStackContainerForm }))\n);\nconst TanStackSectionForm = lazyField<ComponentProps<typeof TanStackSectionFormType>>(() =>\n import('./components/forms/section-form').then(m => ({ default: m.TanStackSectionForm }))\n);\nconst TanStackCardForm = lazyField<ComponentProps<typeof TanStackCardFormType>>(() =>\n import('./components/forms/card-form').then(m => ({ default: m.TanStackCardForm }))\n);\nconst TanStackFieldGroup = lazyField<ComponentProps<typeof TanStackFieldGroupType>>(() =>\n import('./components/forms/group-field').then(m => ({ default: m.TanStackFieldGroup }))\n);\nconst TanStackTitleField = lazyField<ComponentProps<typeof TanStackTitleFieldType>>(() =>\n import('./components/forms/title-field').then(m => ({ default: m.TanStackTitleField }))\n);\nconst TanStackActionsForm = lazyField<ComponentProps<typeof TanStackActionsFormType>>(() =>\n import('./components/forms/actions-form').then(m => ({ default: m.TanStackActionsForm }))\n);\nconst TanStackActionSubmit = lazyField<ComponentProps<typeof TanStackActionSubmitType>>(() =>\n import('./components/forms/action-submit').then(m => ({ default: m.TanStackActionSubmit }))\n);\n\n// ─── Field UI primitives (lazy) ───────────────────────────────────────────────\n\nconst FieldGroup = lazyField<ComponentProps<typeof FieldGroupType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldGroup })));\nconst Field = lazyField<ComponentProps<typeof FieldType>>(() => import('./components/ui/field').then(m => ({ default: m.Field })));\nconst FieldContent = lazyField<ComponentProps<typeof FieldContentType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldContent })));\nconst FieldLabel = lazyField<ComponentProps<typeof FieldLabelType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldLabel })));\nconst FieldContentMain = lazyField<ComponentProps<typeof FieldContentMainType>>(() =>\n import('./components/ui/field').then(m => ({ default: m.FieldContentMain }))\n);\nconst FieldSeparator = lazyField<ComponentProps<typeof FieldSeparatorType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldSeparator })));\nconst FieldError = lazyField<ComponentProps<typeof FieldErrorType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldError })));\n\n/**\n * Factory result from {@link createFormHook} pre-wired with all Lunas UI field and form components.\n *\n * ### `useTanStackForm`\n * Pre-configured TanStack Form hook that returns a type-safe form instance bound to all Lunas UI\n * field and form components.\n *\n * @example\n * import { useTanStackForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * const form = useTanStackForm({\n * defaultValues: { name: '', email: '' },\n * onSubmit: async ({ value }) => console.log(value),\n * });\n *\n * return (\n * <form.Provider>\n * <form.AppForm>\n * <form.AppField name=\"name\" children={(field) => <field.TextField label=\"Name\" />} />\n * <form.Subscribe selector={(s) => s.canSubmit}>\n * {(canSubmit) => <form.TanStackActionSubmit disabled={!canSubmit} />}\n * </form.Subscribe>\n * </form.AppForm>\n * </form.Provider>\n * );\n *\n * ### `withTanStackForm`\n * Higher-order component that wraps a sub-form component with access to the parent\n * `useTanStackForm` form context, enabling isolated field groups that still participate in the\n * top-level form state.\n *\n * @example\n * import { withTanStackForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * const AddressFields = withTanStackForm(\n * { street: '', city: '' } as const,\n * ({ form }) => (\n * <>\n * <form.AppField name=\"street\" children={(f) => <f.TextField label=\"Street\" />} />\n * <form.AppField name=\"city\" children={(f) => <f.TextField label=\"City\" />} />\n * </>\n * ),\n * );\n *\n * ### `withTanStackFieldGroup`\n * Higher-order component that creates a reusable field-group component sharing the enclosing\n * `useTanStackForm` context without requiring additional form providers.\n *\n * @example\n * import { withTanStackFieldGroup } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * const ContactGroup = withTanStackFieldGroup(({ form }) => (\n * <form.AppField name=\"phone\" children={(f) => <f.TextField label=\"Phone\" />} />\n * ));\n */\nconst {\n useAppForm: useTanStackForm,\n withForm: withTanStackForm,\n withFieldGroup: withTanStackFieldGroup,\n} = createFormHook({\n fieldContext,\n formContext,\n\n fieldComponents: {\n TextField,\n TextareaField,\n TextEditorField,\n NumberField,\n EmailField,\n PasswordField,\n\n SelectField,\n ComboboxField,\n DateField,\n SwitchField,\n RadioGroupField,\n CheckboxField,\n\n SimpleTextField,\n SimpleEmailField,\n SimplePasswordField,\n SimpleTextareaField,\n SimpleNumberField,\n SimpleSelectField,\n SimpleArrayField,\n SimpleBooleanField,\n SimpleComboboxField,\n SimpleDateField,\n SimpleRadioGroupField,\n\n FieldGroup,\n Field,\n FieldContent,\n FieldLabel,\n FieldContentMain,\n FieldSeparator,\n FieldError,\n },\n formComponents: {\n TanStackDialogForm,\n TanStackPopoverForm,\n TanStackContainerForm,\n TanStackSectionForm,\n TanStackCardForm,\n TanStackFieldGroup,\n TanStackTitleField,\n\n TanStackActionsForm,\n TanStackActionSubmit,\n\n ArrayCol,\n ArrayHeaderRow,\n },\n});\n\nexport {\n // Array helpers\n ArrayCol,\n ArrayHeaderRow,\n CheckboxField,\n ComboboxField,\n DateField,\n EmailField,\n Field,\n FieldContent,\n FieldContentMain,\n FieldError,\n // Field UI primitives\n FieldGroup,\n FieldLabel,\n FieldSeparator,\n NumberField,\n PasswordField,\n RadioGroupField,\n SelectField,\n SimpleArrayField,\n SimpleBooleanField,\n SimpleComboboxField,\n SimpleDateField,\n SimpleEmailField,\n SimpleNumberField,\n SimplePasswordField,\n SimpleRadioGroupField,\n SimpleSelectField,\n SimpleTextareaField,\n // Simple (minimal) field components\n SimpleTextField,\n SwitchField,\n TanStackActionSubmit,\n // Form actions\n TanStackActionsForm,\n TanStackCardForm,\n TanStackContainerForm,\n // Form containers\n TanStackDialogForm,\n TanStackFieldGroup,\n TanStackPopoverForm,\n TanStackSectionForm,\n TanStackTitleField,\n TextareaField,\n TextEditorField,\n // Rich field components\n TextField,\n useTanStackFieldContext,\n // Hooks & HOCs\n useTanStackForm,\n useTanStackFormContext,\n withTanStackFieldGroup,\n withTanStackForm,\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tanstack-form-B6mzOylW.mjs","names":["Impl"],"sources":["../packages/components/features/tanstack-form/components/form-context.ts","../packages/components/features/tanstack-form/tanstack-form.tsx"],"sourcesContent":["'use client';\n\nimport { createFormHookContexts } from '@tanstack/react-form';\n\n/**\n * Shared field/form contexts, split out from `tanstack-form.tsx` so that field and form\n * components can depend on them directly instead of importing back through the file that\n * lazy-loads those same components (which would reintroduce a circular import).\n */\nexport const { fieldContext, formContext, useFieldContext: useTanStackFieldContext, useFormContext: useTanStackFormContext } = createFormHookContexts();\n","'use client';\n\nimport type { ComponentProps, ComponentType } from 'react';\nimport { lazy, Suspense } from 'react';\n\nimport { createFormHook } from '@tanstack/react-form';\n\nimport { Skeleton } from '@/components/ui/skeleton';\n\nimport type { ArrayCol as ArrayColType, ArrayHeaderRow as ArrayHeaderRowType, SimpleArrayFieldProps } from './components/atoms/simple-array-field';\nimport type { SimpleBooleanField as SimpleBooleanFieldType } from './components/atoms/simple-boolean-field';\nimport type { SimpleComboboxField as SimpleComboboxFieldType } from './components/atoms/simple-combobox-field';\nimport type { SimpleDateField as SimpleDateFieldType } from './components/atoms/simple-date-field';\nimport type { SimpleEmailField as SimpleEmailFieldType } from './components/atoms/simple-email-field';\nimport type { SimpleNumberField as SimpleNumberFieldType } from './components/atoms/simple-number-field';\nimport type { SimplePasswordField as SimplePasswordFieldType } from './components/atoms/simple-password-field';\nimport type { SimpleRadioGroupField as SimpleRadioGroupFieldType } from './components/atoms/simple-radio-group-field';\nimport type { SimpleSelectField as SimpleSelectFieldType } from './components/atoms/simple-select-field';\nimport type { SimpleTextField as SimpleTextFieldType } from './components/atoms/simple-text-field';\nimport type { SimpleTextareaField as SimpleTextareaFieldType } from './components/atoms/simple-textarea-field';\nimport type { CheckboxField as CheckboxFieldType } from './components/fields/checkbox-field';\nimport type { ComboboxField as ComboboxFieldType } from './components/fields/combobox-field';\nimport type { DateField as DateFieldType } from './components/fields/date-field';\nimport type { EmailField as EmailFieldType } from './components/fields/email-field';\nimport type { NumberField as NumberFieldType } from './components/fields/number-field';\nimport type { PasswordField as PasswordFieldType } from './components/fields/password-field';\nimport type { RadioGroupField as RadioGroupFieldType } from './components/fields/radio-group-field';\nimport type { SelectField as SelectFieldType } from './components/fields/select-field';\nimport type { SwitchField as SwitchFieldType } from './components/fields/switch-field';\nimport type { TextEditorField as TextEditorFieldType } from './components/fields/text-editor-field';\nimport type { TextField as TextFieldType } from './components/fields/text-field';\nimport type { TextareaField as TextareaFieldType } from './components/fields/textarea-field';\nimport { fieldContext, formContext, useTanStackFieldContext, useTanStackFormContext } from './components/form-context';\nimport type { TanStackActionSubmit as TanStackActionSubmitType } from './components/forms/action-submit';\nimport type { TanStackActionsForm as TanStackActionsFormType } from './components/forms/actions-form';\nimport type { TanStackCardForm as TanStackCardFormType } from './components/forms/card-form';\nimport type { TanStackContainerForm as TanStackContainerFormType } from './components/forms/container-form';\nimport type { TanStackDialogForm as TanStackDialogFormType } from './components/forms/dialog-form';\nimport type { TanStackFieldGroup as TanStackFieldGroupType } from './components/forms/group-field';\nimport type { TanStackPopoverForm as TanStackPopoverFormType } from './components/forms/popover-form';\nimport type { TanStackSectionForm as TanStackSectionFormType } from './components/forms/section-form';\nimport type { TanStackTitleField as TanStackTitleFieldType } from './components/forms/title-field';\nimport type {\n FieldContentMain as FieldContentMainType,\n FieldContent as FieldContentType,\n FieldError as FieldErrorType,\n FieldGroup as FieldGroupType,\n FieldLabel as FieldLabelType,\n FieldSeparator as FieldSeparatorType,\n Field as FieldType,\n} from './components/ui/field';\n\n/** Input-shaped pulse placeholder shown while a lazy field/form chunk is still loading. */\nfunction FieldSkeleton() {\n return <Skeleton data-slot=\"tanstack-field-skeleton\" className=\"h-9 w-full rounded\" />;\n}\n\n/**\n * Wraps a `lazy()`-loaded component in its own `Suspense` boundary so it can be dropped\n * anywhere (inside or outside our own form containers) without callers needing to set up\n * Suspense themselves. Keeps this file itself small — the heavy per-field-type\n * implementations (Radix Select/Combobox/date-picker, the rich text editor, etc.) only load\n * when a form actually renders that field type.\n */\nfunction lazyField<P extends object>(loader: () => Promise<{ default: ComponentType<P> }>): ComponentType<P> {\n const LazyComponent = lazy(loader);\n return (props: P) => (\n <Suspense fallback={<FieldSkeleton />}>\n <LazyComponent {...props} />\n </Suspense>\n );\n}\n\n// ─── Rich field components (lazy) ─────────────────────────────────────────────\n\nconst TextField = lazyField<ComponentProps<typeof TextFieldType>>(() => import('./components/fields/text-field').then(m => ({ default: m.TextField })));\nconst TextareaField = lazyField<ComponentProps<typeof TextareaFieldType>>(() =>\n import('./components/fields/textarea-field').then(m => ({ default: m.TextareaField }))\n);\nconst TextEditorField = lazyField<ComponentProps<typeof TextEditorFieldType>>(() =>\n import('./components/fields/text-editor-field').then(m => ({ default: m.TextEditorField }))\n);\nconst NumberField = lazyField<ComponentProps<typeof NumberFieldType>>(() => import('./components/fields/number-field').then(m => ({ default: m.NumberField })));\nconst EmailField = lazyField<ComponentProps<typeof EmailFieldType>>(() => import('./components/fields/email-field').then(m => ({ default: m.EmailField })));\nconst PasswordField = lazyField<ComponentProps<typeof PasswordFieldType>>(() =>\n import('./components/fields/password-field').then(m => ({ default: m.PasswordField }))\n);\nconst SelectField = lazyField<ComponentProps<typeof SelectFieldType>>(() => import('./components/fields/select-field').then(m => ({ default: m.SelectField })));\nconst ComboboxField = lazyField<ComponentProps<typeof ComboboxFieldType>>(() =>\n import('./components/fields/combobox-field').then(m => ({ default: m.ComboboxField }))\n);\nconst DateField = lazyField<ComponentProps<typeof DateFieldType>>(() => import('./components/fields/date-field').then(m => ({ default: m.DateField })));\nconst SwitchField = lazyField<ComponentProps<typeof SwitchFieldType>>(() => import('./components/fields/switch-field').then(m => ({ default: m.SwitchField })));\nconst RadioGroupField = lazyField<ComponentProps<typeof RadioGroupFieldType>>(() =>\n import('./components/fields/radio-group-field').then(m => ({ default: m.RadioGroupField }))\n);\nconst CheckboxField = lazyField<ComponentProps<typeof CheckboxFieldType>>(() =>\n import('./components/fields/checkbox-field').then(m => ({ default: m.CheckboxField }))\n);\n\n// ─── Simple (minimal) field components (lazy) ─────────────────────────────────\n\nconst SimpleTextField = lazyField<ComponentProps<typeof SimpleTextFieldType>>(() =>\n import('./components/atoms/simple-text-field').then(m => ({ default: m.SimpleTextField }))\n);\nconst SimpleEmailField = lazyField<ComponentProps<typeof SimpleEmailFieldType>>(() =>\n import('./components/atoms/simple-email-field').then(m => ({ default: m.SimpleEmailField }))\n);\nconst SimplePasswordField = lazyField<ComponentProps<typeof SimplePasswordFieldType>>(() =>\n import('./components/atoms/simple-password-field').then(m => ({ default: m.SimplePasswordField }))\n);\nconst SimpleTextareaField = lazyField<ComponentProps<typeof SimpleTextareaFieldType>>(() =>\n import('./components/atoms/simple-textarea-field').then(m => ({ default: m.SimpleTextareaField }))\n);\nconst SimpleNumberField = lazyField<ComponentProps<typeof SimpleNumberFieldType>>(() =>\n import('./components/atoms/simple-number-field').then(m => ({ default: m.SimpleNumberField }))\n);\nconst SimpleSelectField = lazyField<ComponentProps<typeof SimpleSelectFieldType>>(() =>\n import('./components/atoms/simple-select-field').then(m => ({ default: m.SimpleSelectField }))\n);\nconst LazySimpleArrayField = lazy(() =>\n import('./components/atoms/simple-array-field').then(m => ({ default: m.SimpleArrayField as ComponentType<SimpleArrayFieldProps<unknown>> }))\n);\n\n/** Kept as its own generic wrapper (instead of `lazyField`) so callers can still write `<SimpleArrayField<Row> />`. */\nfunction SimpleArrayField<T>(props: SimpleArrayFieldProps<T>) {\n const Impl = LazySimpleArrayField as ComponentType<SimpleArrayFieldProps<T>>;\n return (\n <Suspense fallback={<FieldSkeleton />}>\n <Impl {...props} />\n </Suspense>\n );\n}\n\nconst SimpleBooleanField = lazyField<ComponentProps<typeof SimpleBooleanFieldType>>(() =>\n import('./components/atoms/simple-boolean-field').then(m => ({ default: m.SimpleBooleanField }))\n);\nconst SimpleComboboxField = lazyField<ComponentProps<typeof SimpleComboboxFieldType>>(() =>\n import('./components/atoms/simple-combobox-field').then(m => ({ default: m.SimpleComboboxField }))\n);\nconst SimpleDateField = lazyField<ComponentProps<typeof SimpleDateFieldType>>(() =>\n import('./components/atoms/simple-date-field').then(m => ({ default: m.SimpleDateField }))\n);\nconst SimpleRadioGroupField = lazyField<ComponentProps<typeof SimpleRadioGroupFieldType>>(() =>\n import('./components/atoms/simple-radio-group-field').then(m => ({ default: m.SimpleRadioGroupField }))\n);\n\n// ─── Array field layout helpers (lazy, co-located with SimpleArrayField) ──────\n\nconst ArrayCol = lazyField<ComponentProps<typeof ArrayColType>>(() => import('./components/atoms/simple-array-field').then(m => ({ default: m.ArrayCol })));\nconst ArrayHeaderRow = lazyField<ComponentProps<typeof ArrayHeaderRowType>>(() =>\n import('./components/atoms/simple-array-field').then(m => ({ default: m.ArrayHeaderRow }))\n);\n\n// ─── Form containers (lazy) ───────────────────────────────────────────────────\n\nconst TanStackDialogForm = lazyField<ComponentProps<typeof TanStackDialogFormType>>(() =>\n import('./components/forms/dialog-form').then(m => ({ default: m.TanStackDialogForm }))\n);\nconst TanStackPopoverForm = lazyField<ComponentProps<typeof TanStackPopoverFormType>>(() =>\n import('./components/forms/popover-form').then(m => ({ default: m.TanStackPopoverForm }))\n);\nconst TanStackContainerForm = lazyField<ComponentProps<typeof TanStackContainerFormType>>(() =>\n import('./components/forms/container-form').then(m => ({ default: m.TanStackContainerForm }))\n);\nconst TanStackSectionForm = lazyField<ComponentProps<typeof TanStackSectionFormType>>(() =>\n import('./components/forms/section-form').then(m => ({ default: m.TanStackSectionForm }))\n);\nconst TanStackCardForm = lazyField<ComponentProps<typeof TanStackCardFormType>>(() =>\n import('./components/forms/card-form').then(m => ({ default: m.TanStackCardForm }))\n);\nconst TanStackFieldGroup = lazyField<ComponentProps<typeof TanStackFieldGroupType>>(() =>\n import('./components/forms/group-field').then(m => ({ default: m.TanStackFieldGroup }))\n);\nconst TanStackTitleField = lazyField<ComponentProps<typeof TanStackTitleFieldType>>(() =>\n import('./components/forms/title-field').then(m => ({ default: m.TanStackTitleField }))\n);\nconst TanStackActionsForm = lazyField<ComponentProps<typeof TanStackActionsFormType>>(() =>\n import('./components/forms/actions-form').then(m => ({ default: m.TanStackActionsForm }))\n);\nconst TanStackActionSubmit = lazyField<ComponentProps<typeof TanStackActionSubmitType>>(() =>\n import('./components/forms/action-submit').then(m => ({ default: m.TanStackActionSubmit }))\n);\n\n// ─── Field UI primitives (lazy) ───────────────────────────────────────────────\n\nconst FieldGroup = lazyField<ComponentProps<typeof FieldGroupType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldGroup })));\nconst Field = lazyField<ComponentProps<typeof FieldType>>(() => import('./components/ui/field').then(m => ({ default: m.Field })));\nconst FieldContent = lazyField<ComponentProps<typeof FieldContentType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldContent })));\nconst FieldLabel = lazyField<ComponentProps<typeof FieldLabelType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldLabel })));\nconst FieldContentMain = lazyField<ComponentProps<typeof FieldContentMainType>>(() =>\n import('./components/ui/field').then(m => ({ default: m.FieldContentMain }))\n);\nconst FieldSeparator = lazyField<ComponentProps<typeof FieldSeparatorType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldSeparator })));\nconst FieldError = lazyField<ComponentProps<typeof FieldErrorType>>(() => import('./components/ui/field').then(m => ({ default: m.FieldError })));\n\n/**\n * Factory result from {@link createFormHook} pre-wired with all Lunas UI field and form components.\n *\n * ### `useTanStackForm`\n * Pre-configured TanStack Form hook that returns a type-safe form instance bound to all Lunas UI\n * field and form components.\n *\n * @example\n * import { useTanStackForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * const form = useTanStackForm({\n * defaultValues: { name: '', email: '' },\n * onSubmit: async ({ value }) => console.log(value),\n * });\n *\n * return (\n * <form.Provider>\n * <form.AppForm>\n * <form.AppField name=\"name\" children={(field) => <field.TextField label=\"Name\" />} />\n * <form.Subscribe selector={(s) => s.canSubmit}>\n * {(canSubmit) => <form.TanStackActionSubmit disabled={!canSubmit} />}\n * </form.Subscribe>\n * </form.AppForm>\n * </form.Provider>\n * );\n *\n * ### `withTanStackForm`\n * Higher-order component that wraps a sub-form component with access to the parent\n * `useTanStackForm` form context, enabling isolated field groups that still participate in the\n * top-level form state.\n *\n * @example\n * import { withTanStackForm } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * const AddressFields = withTanStackForm(\n * { street: '', city: '' } as const,\n * ({ form }) => (\n * <>\n * <form.AppField name=\"street\" children={(f) => <f.TextField label=\"Street\" />} />\n * <form.AppField name=\"city\" children={(f) => <f.TextField label=\"City\" />} />\n * </>\n * ),\n * );\n *\n * ### `withTanStackFieldGroup`\n * Higher-order component that creates a reusable field-group component sharing the enclosing\n * `useTanStackForm` context without requiring additional form providers.\n *\n * @example\n * import { withTanStackFieldGroup } from '@customafk/lunas-ui/features/tanstack-form';\n *\n * const ContactGroup = withTanStackFieldGroup(({ form }) => (\n * <form.AppField name=\"phone\" children={(f) => <f.TextField label=\"Phone\" />} />\n * ));\n */\nconst {\n useAppForm: useTanStackForm,\n withForm: withTanStackForm,\n withFieldGroup: withTanStackFieldGroup,\n} = createFormHook({\n fieldContext,\n formContext,\n\n fieldComponents: {\n TextField,\n TextareaField,\n TextEditorField,\n NumberField,\n EmailField,\n PasswordField,\n\n SelectField,\n ComboboxField,\n DateField,\n SwitchField,\n RadioGroupField,\n CheckboxField,\n\n SimpleTextField,\n SimpleEmailField,\n SimplePasswordField,\n SimpleTextareaField,\n SimpleNumberField,\n SimpleSelectField,\n SimpleArrayField,\n SimpleBooleanField,\n SimpleComboboxField,\n SimpleDateField,\n SimpleRadioGroupField,\n\n FieldGroup,\n Field,\n FieldContent,\n FieldLabel,\n FieldContentMain,\n FieldSeparator,\n FieldError,\n },\n formComponents: {\n TanStackDialogForm,\n TanStackPopoverForm,\n TanStackContainerForm,\n TanStackSectionForm,\n TanStackCardForm,\n TanStackFieldGroup,\n TanStackTitleField,\n\n TanStackActionsForm,\n TanStackActionSubmit,\n\n ArrayCol,\n ArrayHeaderRow,\n },\n});\n\nexport {\n // Array helpers\n ArrayCol,\n ArrayHeaderRow,\n CheckboxField,\n ComboboxField,\n DateField,\n EmailField,\n Field,\n FieldContent,\n FieldContentMain,\n FieldError,\n // Field UI primitives\n FieldGroup,\n FieldLabel,\n FieldSeparator,\n NumberField,\n PasswordField,\n RadioGroupField,\n SelectField,\n SimpleArrayField,\n SimpleBooleanField,\n SimpleComboboxField,\n SimpleDateField,\n SimpleEmailField,\n SimpleNumberField,\n SimplePasswordField,\n SimpleRadioGroupField,\n SimpleSelectField,\n SimpleTextareaField,\n // Simple (minimal) field components\n SimpleTextField,\n SwitchField,\n TanStackActionSubmit,\n // Form actions\n TanStackActionsForm,\n TanStackCardForm,\n TanStackContainerForm,\n // Form containers\n TanStackDialogForm,\n TanStackFieldGroup,\n TanStackPopoverForm,\n TanStackSectionForm,\n TanStackTitleField,\n TextareaField,\n TextEditorField,\n // Rich field components\n TextField,\n useTanStackFieldContext,\n // Hooks & HOCs\n useTanStackForm,\n useTanStackFormContext,\n withTanStackFieldGroup,\n withTanStackForm,\n};\n"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./ui/skeleton.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("@tanstack/react-form");const{fieldContext:i,formContext:a,useFieldContext:o,useFormContext:s}=(0,r.createFormHookContexts)();function c(){return(0,n.jsx)(e.Skeleton,{"data-slot":`tanstack-field-skeleton`,className:`h-9 w-full rounded`})}function l(e){let r=(0,t.lazy)(e);return e=>(0,n.jsx)(t.Suspense,{fallback:(0,n.jsx)(c,{}),children:(0,n.jsx)(r,{...e})})}const u=l(()=>Promise.resolve().then(()=>require("./text-field-
|
|
2
|
-
//# sourceMappingURL=tanstack-form-
|
|
1
|
+
const e=require("./ui/skeleton.cjs");let t=require("react"),n=require("react/jsx-runtime"),r=require("@tanstack/react-form");const{fieldContext:i,formContext:a,useFieldContext:o,useFormContext:s}=(0,r.createFormHookContexts)();function c(){return(0,n.jsx)(e.Skeleton,{"data-slot":`tanstack-field-skeleton`,className:`h-9 w-full rounded`})}function l(e){let r=(0,t.lazy)(e);return e=>(0,n.jsx)(t.Suspense,{fallback:(0,n.jsx)(c,{}),children:(0,n.jsx)(r,{...e})})}const u=l(()=>Promise.resolve().then(()=>require("./text-field-GIn2zAtc.cjs")).then(e=>({default:e.TextField}))),d=l(()=>Promise.resolve().then(()=>require("./textarea-field-DDPqESGM.cjs")).then(e=>({default:e.TextareaField}))),f=l(()=>Promise.resolve().then(()=>require("./text-editor-field-DG0c8wVs.cjs")).then(e=>({default:e.TextEditorField}))),p=l(()=>Promise.resolve().then(()=>require("./number-field-CCzUIF-Q.cjs")).then(e=>({default:e.NumberField}))),m=l(()=>Promise.resolve().then(()=>require("./email-field-DH7kK--D.cjs")).then(e=>({default:e.EmailField}))),h=l(()=>Promise.resolve().then(()=>require("./password-field-_AoAB7nM.cjs")).then(e=>({default:e.PasswordField}))),g=l(()=>Promise.resolve().then(()=>require("./select-field-Dut7YMVy.cjs")).then(e=>({default:e.SelectField}))),_=l(()=>Promise.resolve().then(()=>require("./combobox-field-C9uneq5q.cjs")).then(e=>({default:e.ComboboxField}))),v=l(()=>Promise.resolve().then(()=>require("./date-field-CJ7hYY8l.cjs")).then(e=>({default:e.DateField}))),y=l(()=>Promise.resolve().then(()=>require("./switch-field-BS8XStmz.cjs")).then(e=>({default:e.SwitchField}))),b=l(()=>Promise.resolve().then(()=>require("./radio-group-field-D7Q5UZNX.cjs")).then(e=>({default:e.RadioGroupField}))),x=l(()=>Promise.resolve().then(()=>require("./checkbox-field-CTCgnG0a.cjs")).then(e=>({default:e.CheckboxField}))),S=l(()=>Promise.resolve().then(()=>require("./simple-text-field-DSX3rP7g.cjs")).then(e=>({default:e.SimpleTextField}))),C=l(()=>Promise.resolve().then(()=>require("./simple-email-field-dskmgGEz.cjs")).then(e=>({default:e.SimpleEmailField}))),w=l(()=>Promise.resolve().then(()=>require("./simple-password-field-BBpfmgoT.cjs")).then(e=>({default:e.SimplePasswordField}))),T=l(()=>Promise.resolve().then(()=>require("./simple-textarea-field--FWXqgy7.cjs")).then(e=>({default:e.SimpleTextareaField}))),E=l(()=>Promise.resolve().then(()=>require("./simple-number-field-RBxUxq_w.cjs")).then(e=>({default:e.SimpleNumberField}))),D=l(()=>Promise.resolve().then(()=>require("./simple-select-field-CCmaLlAT.cjs")).then(e=>({default:e.SimpleSelectField}))),O=(0,t.lazy)(()=>Promise.resolve().then(()=>require("./simple-array-field-CuwaS9sn.cjs")).then(e=>({default:e.SimpleArrayField})));function k(e){return(0,n.jsx)(t.Suspense,{fallback:(0,n.jsx)(c,{}),children:(0,n.jsx)(O,{...e})})}const A=l(()=>Promise.resolve().then(()=>require("./simple-boolean-field-dshsOUUK.cjs")).then(e=>({default:e.SimpleBooleanField}))),j=l(()=>Promise.resolve().then(()=>require("./simple-combobox-field-CNbTlIg_.cjs")).then(e=>({default:e.SimpleComboboxField}))),M=l(()=>Promise.resolve().then(()=>require("./simple-date-field-B5RRZ_Uo.cjs")).then(e=>({default:e.SimpleDateField}))),N=l(()=>Promise.resolve().then(()=>require("./simple-radio-group-field-Dyc3SO9t.cjs")).then(e=>({default:e.SimpleRadioGroupField}))),P=l(()=>Promise.resolve().then(()=>require("./simple-array-field-CuwaS9sn.cjs")).then(e=>({default:e.ArrayCol}))),F=l(()=>Promise.resolve().then(()=>require("./simple-array-field-CuwaS9sn.cjs")).then(e=>({default:e.ArrayHeaderRow}))),I=l(()=>Promise.resolve().then(()=>require("./dialog-form-DalF7KGG.cjs")).then(e=>({default:e.TanStackDialogForm}))),L=l(()=>Promise.resolve().then(()=>require("./popover-form-C701gLPP.cjs")).then(e=>({default:e.TanStackPopoverForm}))),R=l(()=>Promise.resolve().then(()=>require("./container-form-D8QNEn8M.cjs")).then(e=>({default:e.TanStackContainerForm}))),z=l(()=>Promise.resolve().then(()=>require("./section-form-C_pHiBEW.cjs")).then(e=>({default:e.TanStackSectionForm}))),B=l(()=>Promise.resolve().then(()=>require("./card-form-BR5kDTzB.cjs")).then(e=>({default:e.TanStackCardForm}))),V=l(()=>Promise.resolve().then(()=>require("./group-field-0kStiX8n.cjs")).then(e=>({default:e.TanStackFieldGroup}))),H=l(()=>Promise.resolve().then(()=>require("./title-field-CKxwzMOM.cjs")).then(e=>({default:e.TanStackTitleField}))),U=l(()=>Promise.resolve().then(()=>require("./actions-form-CI1WhB90.cjs")).then(e=>({default:e.TanStackActionsForm}))),W=l(()=>Promise.resolve().then(()=>require("./action-submit-Bzw30CUP.cjs")).then(e=>({default:e.TanStackActionSubmit}))),G=l(()=>Promise.resolve().then(()=>require("./field-BV5twmKA.cjs")).then(e=>({default:e.FieldGroup}))),K=l(()=>Promise.resolve().then(()=>require("./field-BV5twmKA.cjs")).then(e=>({default:e.Field}))),q=l(()=>Promise.resolve().then(()=>require("./field-BV5twmKA.cjs")).then(e=>({default:e.FieldContent}))),J=l(()=>Promise.resolve().then(()=>require("./field-BV5twmKA.cjs")).then(e=>({default:e.FieldLabel}))),Y=l(()=>Promise.resolve().then(()=>require("./field-BV5twmKA.cjs")).then(e=>({default:e.FieldContentMain}))),X=l(()=>Promise.resolve().then(()=>require("./field-BV5twmKA.cjs")).then(e=>({default:e.FieldSeparator}))),Z=l(()=>Promise.resolve().then(()=>require("./field-BV5twmKA.cjs")).then(e=>({default:e.FieldError}))),{useAppForm:Q,withForm:$,withFieldGroup:ee}=(0,r.createFormHook)({fieldContext:i,formContext:a,fieldComponents:{TextField:u,TextareaField:d,TextEditorField:f,NumberField:p,EmailField:m,PasswordField:h,SelectField:g,ComboboxField:_,DateField:v,SwitchField:y,RadioGroupField:b,CheckboxField:x,SimpleTextField:S,SimpleEmailField:C,SimplePasswordField:w,SimpleTextareaField:T,SimpleNumberField:E,SimpleSelectField:D,SimpleArrayField:k,SimpleBooleanField:A,SimpleComboboxField:j,SimpleDateField:M,SimpleRadioGroupField:N,FieldGroup:G,Field:K,FieldContent:q,FieldLabel:J,FieldContentMain:Y,FieldSeparator:X,FieldError:Z},formComponents:{TanStackDialogForm:I,TanStackPopoverForm:L,TanStackContainerForm:R,TanStackSectionForm:z,TanStackCardForm:B,TanStackFieldGroup:V,TanStackTitleField:H,TanStackActionsForm:U,TanStackActionSubmit:W,ArrayCol:P,ArrayHeaderRow:F}});Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"B",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return E}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return S}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return D}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return V}}),Object.defineProperty(exports,"G",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"H",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"K",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return R}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return T}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"R",{enumerable:!0,get:function(){return H}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return C}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return N}}),Object.defineProperty(exports,"U",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"V",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"W",{enumerable:!0,get:function(){return $}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return g}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return v}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return j}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return b}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return h}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return _}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return y}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return m}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return X}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return K}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return P}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return k}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return w}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return M}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return A}}),Object.defineProperty(exports,"z",{enumerable:!0,get:function(){return f}});
|
|
2
|
+
//# sourceMappingURL=tanstack-form-DU-ZKXxZ.cjs.map
|