@customafk/lunas-ui 0.2.84 → 0.2.85
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/LoginPage-DGgThT3s.mjs +2 -0
- package/dist/LoginPage-DGgThT3s.mjs.map +1 -0
- package/dist/LoginPage-DPUdRD0r.cjs +2 -0
- package/dist/LoginPage-DPUdRD0r.cjs.map +1 -0
- package/dist/{action-submit-tpgKvZ47.cjs → action-submit-B2qFdfi6.cjs} +2 -2
- package/dist/{action-submit-tpgKvZ47.cjs.map → action-submit-B2qFdfi6.cjs.map} +1 -1
- package/dist/{action-submit-BHY2dndL.mjs → action-submit-DyNvI-F2.mjs} +2 -2
- package/dist/{action-submit-BHY2dndL.mjs.map → action-submit-DyNvI-F2.mjs.map} +1 -1
- package/dist/{actions-form-PByL8_M5.mjs → actions-form-CB0lZlE6.mjs} +2 -2
- package/dist/{actions-form-PByL8_M5.mjs.map → actions-form-CB0lZlE6.mjs.map} +1 -1
- package/dist/{actions-form-X46W7FVa.cjs → actions-form-DnlpVrgF.cjs} +2 -2
- package/dist/{actions-form-X46W7FVa.cjs.map → actions-form-DnlpVrgF.cjs.map} +1 -1
- package/dist/{button-BGW-LZ3i.d.cts → button-BnoPktln.d.cts} +2 -2
- package/dist/{button-BGW-LZ3i.d.mts → button-BnoPktln.d.mts} +2 -2
- package/dist/{calendar-BNTvKnwd.d.cts → calendar-BkV5hTX2.d.mts} +2 -2
- package/dist/{calendar-DbaIaWr0.d.mts → calendar-iDMPT1kI.d.cts} +2 -2
- package/dist/{carousel-Bw-VhPR3.d.mts → carousel-D7VXWJ3S.d.mts} +2 -2
- package/dist/{carousel-DRqMTyKS.d.cts → carousel-bBvM31sh.d.cts} +2 -2
- package/dist/{checkbox-field-BG35eKvM.cjs → checkbox-field-CFPHAcwN.cjs} +2 -2
- package/dist/{checkbox-field-BG35eKvM.cjs.map → checkbox-field-CFPHAcwN.cjs.map} +1 -1
- package/dist/{checkbox-field-C-NyMjEm.mjs → checkbox-field-DodKeFS_.mjs} +2 -2
- package/dist/{checkbox-field-C-NyMjEm.mjs.map → checkbox-field-DodKeFS_.mjs.map} +1 -1
- package/dist/{combobox-field-ROYquFD8.cjs → combobox-field-D7cZ8fhZ.cjs} +2 -2
- package/dist/{combobox-field-ROYquFD8.cjs.map → combobox-field-D7cZ8fhZ.cjs.map} +1 -1
- package/dist/{combobox-field-Cx0A-CD4.mjs → combobox-field-ebIvbhJn.mjs} +2 -2
- package/dist/{combobox-field-Cx0A-CD4.mjs.map → combobox-field-ebIvbhJn.mjs.map} +1 -1
- package/dist/{date-field-zoPch5tC.mjs → date-field-CNkxebta.mjs} +2 -2
- package/dist/{date-field-zoPch5tC.mjs.map → date-field-CNkxebta.mjs.map} +1 -1
- package/dist/{date-field-46UtGmEV.cjs → date-field-Dm367ro9.cjs} +2 -2
- package/dist/{date-field-46UtGmEV.cjs.map → date-field-Dm367ro9.cjs.map} +1 -1
- package/dist/{dialog-form-X9MxC8pq.cjs → dialog-form-D9Bifsx6.cjs} +2 -2
- package/dist/{dialog-form-X9MxC8pq.cjs.map → dialog-form-D9Bifsx6.cjs.map} +1 -1
- package/dist/{dialog-form-BRV1niqF.mjs → dialog-form-zK6Gk9Gk.mjs} +2 -2
- package/dist/{dialog-form-BRV1niqF.mjs.map → dialog-form-zK6Gk9Gk.mjs.map} +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.d.cts +1 -1
- package/dist/dialogs/detail-dialog/components/sidebar.d.mts +1 -1
- package/dist/{email-field-CPEVNvn8.mjs → email-field-BVl7u9pR.mjs} +2 -2
- package/dist/{email-field-CPEVNvn8.mjs.map → email-field-BVl7u9pR.mjs.map} +1 -1
- package/dist/{email-field-0UjeYtnM.cjs → email-field-CqXXRG3w.cjs} +2 -2
- package/dist/{email-field-0UjeYtnM.cjs.map → email-field-CqXXRG3w.cjs.map} +1 -1
- package/dist/features/tables/index.d.cts +1 -1
- package/dist/features/tables/index.d.mts +1 -1
- package/dist/features/tanstack-form/index.cjs +1 -1
- package/dist/features/tanstack-form/index.mjs +1 -1
- package/dist/{flex-D7IE_cdR.d.cts → flex-D6RCsrv1.d.cts} +4 -4
- package/dist/{flex-D7IE_cdR.d.mts → flex-D6RCsrv1.d.mts} +4 -4
- package/dist/{group-field-Cs0uWHg0.mjs → group-field-8nINgAeO.mjs} +2 -2
- package/dist/{group-field-Cs0uWHg0.mjs.map → group-field-8nINgAeO.mjs.map} +1 -1
- package/dist/{group-field-DJXL9sRy.cjs → group-field-DfGPDLyp.cjs} +2 -2
- package/dist/{group-field-DJXL9sRy.cjs.map → group-field-DfGPDLyp.cjs.map} +1 -1
- package/dist/index-6_zytlWu.d.cts +70 -0
- package/dist/index-6_zytlWu.d.mts +70 -0
- package/dist/{index-DJY2uC2H.d.mts → index-BCBEYTyA.d.mts} +10 -10
- package/dist/{index-UZik7mgS.d.cts → index-CQPyC0Q2.d.cts} +10 -10
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +11 -11
- package/dist/index.d.mts +11 -11
- package/dist/index.mjs +1 -1
- package/dist/{input-D73TrUof.d.cts → input-DxNK7Wo6.d.cts} +2 -2
- package/dist/{input-D73TrUof.d.mts → input-DxNK7Wo6.d.mts} +2 -2
- package/dist/layouts/flex.d.cts +1 -1
- package/dist/layouts/flex.d.mts +1 -1
- package/dist/{number-field-CMskIrWP.cjs → number-field-BjGl_IiN.cjs} +2 -2
- package/dist/{number-field-CMskIrWP.cjs.map → number-field-BjGl_IiN.cjs.map} +1 -1
- package/dist/{number-field-DSGwWg7y.mjs → number-field-CVemIwIg.mjs} +2 -2
- package/dist/{number-field-DSGwWg7y.mjs.map → number-field-CVemIwIg.mjs.map} +1 -1
- package/dist/pages/LoginPage/index.cjs +1 -0
- package/dist/pages/LoginPage/index.d.cts +2 -0
- package/dist/pages/LoginPage/index.d.mts +2 -0
- package/dist/pages/LoginPage/index.mjs +1 -0
- package/dist/{pagination-DDcO-TPf.d.cts → pagination-BRw-yZBY.d.cts} +2 -2
- package/dist/{pagination-DWg3Xv34.d.mts → pagination-BlLiOvY9.d.mts} +2 -2
- package/dist/{paragraph--8GcgnQL.d.cts → paragraph-CRo5eC7H.d.mts} +3 -3
- package/dist/{paragraph-BOa0VlGX.d.mts → paragraph-CkCNIsvz.d.cts} +3 -3
- package/dist/{password-field-BxJqTPhN.cjs → password-field-Be0Ltlxh.cjs} +2 -2
- package/dist/{password-field-BxJqTPhN.cjs.map → password-field-Be0Ltlxh.cjs.map} +1 -1
- package/dist/{password-field-DsmwNZep.mjs → password-field-BxYaT8lO.mjs} +2 -2
- package/dist/{password-field-DsmwNZep.mjs.map → password-field-BxYaT8lO.mjs.map} +1 -1
- package/dist/{popover-form-CdXVFl0t.cjs → popover-form-Ba_Nw79b.cjs} +2 -2
- package/dist/{popover-form-CdXVFl0t.cjs.map → popover-form-Ba_Nw79b.cjs.map} +1 -1
- package/dist/{popover-form-BUc5ivCF.mjs → popover-form-C9mNInr2.mjs} +2 -2
- package/dist/{popover-form-BUc5ivCF.mjs.map → popover-form-C9mNInr2.mjs.map} +1 -1
- package/dist/{radio-group-field-gHNAwrdr.cjs → radio-group-field-BCJWamjd.cjs} +2 -2
- package/dist/{radio-group-field-gHNAwrdr.cjs.map → radio-group-field-BCJWamjd.cjs.map} +1 -1
- package/dist/{radio-group-field-CmCo87tm.mjs → radio-group-field-DYqU_6hW.mjs} +2 -2
- package/dist/{radio-group-field-CmCo87tm.mjs.map → radio-group-field-DYqU_6hW.mjs.map} +1 -1
- package/dist/{resizable-C6JLqxF3.d.cts → resizable-DTnfCua-.d.cts} +2 -2
- package/dist/{resizable-C6JLqxF3.d.mts → resizable-DTnfCua-.d.mts} +2 -2
- package/dist/{search-input-DEvYI6Rm.d.mts → search-input-C8feOKe2.d.cts} +2 -2
- package/dist/{search-input-h_3MoMqK.d.cts → search-input-CoqwakbI.d.mts} +2 -2
- package/dist/{select-field-8PfksL_U.mjs → select-field-D7Ny2Qne.mjs} +2 -2
- package/dist/{select-field-8PfksL_U.mjs.map → select-field-D7Ny2Qne.mjs.map} +1 -1
- package/dist/{select-field-Ce53hZ3J.cjs → select-field-UWnBMAzL.cjs} +2 -2
- package/dist/{select-field-Ce53hZ3J.cjs.map → select-field-UWnBMAzL.cjs.map} +1 -1
- package/dist/{simple-array-field-BAR4MjDR.cjs → simple-array-field-BSMxRilE.cjs} +2 -2
- package/dist/{simple-array-field-BAR4MjDR.cjs.map → simple-array-field-BSMxRilE.cjs.map} +1 -1
- package/dist/{simple-array-field-C0kpO1cq.mjs → simple-array-field-DJXa_vST.mjs} +2 -2
- package/dist/{simple-array-field-C0kpO1cq.mjs.map → simple-array-field-DJXa_vST.mjs.map} +1 -1
- package/dist/{simple-boolean-field-Bdc4wuUU.mjs → simple-boolean-field-CVNT8NBk.mjs} +2 -2
- package/dist/{simple-boolean-field-Bdc4wuUU.mjs.map → simple-boolean-field-CVNT8NBk.mjs.map} +1 -1
- package/dist/{simple-boolean-field-36jmOxCR.cjs → simple-boolean-field-CxAyVQ1w.cjs} +2 -2
- package/dist/{simple-boolean-field-36jmOxCR.cjs.map → simple-boolean-field-CxAyVQ1w.cjs.map} +1 -1
- package/dist/{simple-combobox-field-BPDtPj1W.cjs → simple-combobox-field-BP4IeDkA.cjs} +2 -2
- package/dist/{simple-combobox-field-BPDtPj1W.cjs.map → simple-combobox-field-BP4IeDkA.cjs.map} +1 -1
- package/dist/{simple-combobox-field-CR5Q6Nsd.mjs → simple-combobox-field-BnAUDfQU.mjs} +2 -2
- package/dist/{simple-combobox-field-CR5Q6Nsd.mjs.map → simple-combobox-field-BnAUDfQU.mjs.map} +1 -1
- package/dist/{simple-date-field-DkhG2o7I.mjs → simple-date-field-DIa6UBF2.mjs} +2 -2
- package/dist/{simple-date-field-DkhG2o7I.mjs.map → simple-date-field-DIa6UBF2.mjs.map} +1 -1
- package/dist/{simple-date-field-DUPnGa5d.cjs → simple-date-field-NSawlSff.cjs} +2 -2
- package/dist/{simple-date-field-DUPnGa5d.cjs.map → simple-date-field-NSawlSff.cjs.map} +1 -1
- package/dist/{simple-email-field-BTYqiFp8.cjs → simple-email-field-2Abh3qZw.cjs} +2 -2
- package/dist/{simple-email-field-BTYqiFp8.cjs.map → simple-email-field-2Abh3qZw.cjs.map} +1 -1
- package/dist/{simple-email-field-CpxklyKr.mjs → simple-email-field-CKDQgzh5.mjs} +2 -2
- package/dist/{simple-email-field-CpxklyKr.mjs.map → simple-email-field-CKDQgzh5.mjs.map} +1 -1
- package/dist/{simple-number-field-CTFyTMgw.cjs → simple-number-field-BjEYE54F.cjs} +2 -2
- package/dist/{simple-number-field-CTFyTMgw.cjs.map → simple-number-field-BjEYE54F.cjs.map} +1 -1
- package/dist/{simple-number-field-DuCvwUG9.mjs → simple-number-field-SDbxL6L7.mjs} +2 -2
- package/dist/{simple-number-field-DuCvwUG9.mjs.map → simple-number-field-SDbxL6L7.mjs.map} +1 -1
- package/dist/{simple-password-field-BaeUvVB1.cjs → simple-password-field-Cjp6yzWd.cjs} +2 -2
- package/dist/{simple-password-field-BaeUvVB1.cjs.map → simple-password-field-Cjp6yzWd.cjs.map} +1 -1
- package/dist/{simple-password-field-Cu_JvDEE.mjs → simple-password-field-Cnj-hf5g.mjs} +2 -2
- package/dist/{simple-password-field-Cu_JvDEE.mjs.map → simple-password-field-Cnj-hf5g.mjs.map} +1 -1
- package/dist/{simple-radio-group-field-RJ_cEsxK.mjs → simple-radio-group-field-4-eWSXY7.mjs} +2 -2
- package/dist/{simple-radio-group-field-RJ_cEsxK.mjs.map → simple-radio-group-field-4-eWSXY7.mjs.map} +1 -1
- package/dist/{simple-radio-group-field-DiU4eQ_c.cjs → simple-radio-group-field-CuA0Q-XI.cjs} +2 -2
- package/dist/{simple-radio-group-field-DiU4eQ_c.cjs.map → simple-radio-group-field-CuA0Q-XI.cjs.map} +1 -1
- package/dist/{simple-select-field-B3uEUqvQ.mjs → simple-select-field-C0ecQx68.mjs} +2 -2
- package/dist/{simple-select-field-B3uEUqvQ.mjs.map → simple-select-field-C0ecQx68.mjs.map} +1 -1
- package/dist/{simple-select-field-C8vmeHbL.cjs → simple-select-field-CXYJcRY2.cjs} +2 -2
- package/dist/{simple-select-field-C8vmeHbL.cjs.map → simple-select-field-CXYJcRY2.cjs.map} +1 -1
- package/dist/{simple-text-field-BEoQmd1b.mjs → simple-text-field-DJl5SIGn.mjs} +2 -2
- package/dist/{simple-text-field-BEoQmd1b.mjs.map → simple-text-field-DJl5SIGn.mjs.map} +1 -1
- package/dist/{simple-text-field-zFJt_99J.cjs → simple-text-field-DPXqNCXh.cjs} +2 -2
- package/dist/{simple-text-field-zFJt_99J.cjs.map → simple-text-field-DPXqNCXh.cjs.map} +1 -1
- package/dist/{simple-textarea-field-CzpApMiv.mjs → simple-textarea-field-BcHdUMTK.mjs} +2 -2
- package/dist/{simple-textarea-field-CzpApMiv.mjs.map → simple-textarea-field-BcHdUMTK.mjs.map} +1 -1
- package/dist/{simple-textarea-field-DyQZEDTe.cjs → simple-textarea-field-ZpXPwYz-.cjs} +2 -2
- package/dist/{simple-textarea-field-DyQZEDTe.cjs.map → simple-textarea-field-ZpXPwYz-.cjs.map} +1 -1
- package/dist/{switch-field-CsI6eXJu.cjs → switch-field-CCDuDdpf.cjs} +2 -2
- package/dist/{switch-field-CsI6eXJu.cjs.map → switch-field-CCDuDdpf.cjs.map} +1 -1
- package/dist/{switch-field-D2SWDM1l.mjs → switch-field-DBGFsmEZ.mjs} +2 -2
- package/dist/{switch-field-D2SWDM1l.mjs.map → switch-field-DBGFsmEZ.mjs.map} +1 -1
- package/dist/{tanstack-form-Do6xL2kv.mjs → tanstack-form-BhKAn9I0.mjs} +2 -2
- package/dist/{tanstack-form-Do6xL2kv.mjs.map → tanstack-form-BhKAn9I0.mjs.map} +1 -1
- package/dist/{tanstack-form-BiOihtxs.cjs → tanstack-form-DCB2addt.cjs} +2 -2
- package/dist/{tanstack-form-BiOihtxs.cjs.map → tanstack-form-DCB2addt.cjs.map} +1 -1
- package/dist/{text-field-wes_PQEd.mjs → text-field-Bx_vnc4O.mjs} +2 -2
- package/dist/{text-field-wes_PQEd.mjs.map → text-field-Bx_vnc4O.mjs.map} +1 -1
- package/dist/{text-field-D9CYYDKM.cjs → text-field-DMZZ6CND.cjs} +2 -2
- package/dist/{text-field-D9CYYDKM.cjs.map → text-field-DMZZ6CND.cjs.map} +1 -1
- package/dist/{textarea-field-CRf0M2Eb.cjs → textarea-field-BmImMdg-.cjs} +2 -2
- package/dist/{textarea-field-CRf0M2Eb.cjs.map → textarea-field-BmImMdg-.cjs.map} +1 -1
- package/dist/{textarea-field-BiNmDHgL.mjs → textarea-field-Cim3l0y8.mjs} +2 -2
- package/dist/{textarea-field-BiNmDHgL.mjs.map → textarea-field-Cim3l0y8.mjs.map} +1 -1
- package/dist/{title-field-C4BmSDR2.mjs → title-field-2dABwspv.mjs} +2 -2
- package/dist/{title-field-C4BmSDR2.mjs.map → title-field-2dABwspv.mjs.map} +1 -1
- package/dist/{title-field-B9LLoqIi.cjs → title-field-CFnSgTGH.cjs} +2 -2
- package/dist/{title-field-B9LLoqIi.cjs.map → title-field-CFnSgTGH.cjs.map} +1 -1
- package/dist/typography/paragraph.d.cts +1 -1
- package/dist/typography/paragraph.d.mts +1 -1
- package/dist/ui/button.d.cts +1 -1
- package/dist/ui/button.d.mts +1 -1
- package/dist/ui/calendar.d.cts +1 -1
- package/dist/ui/calendar.d.mts +1 -1
- package/dist/ui/carousel.d.cts +1 -1
- package/dist/ui/carousel.d.mts +1 -1
- package/dist/ui/input.d.cts +1 -1
- package/dist/ui/input.d.mts +1 -1
- package/dist/ui/inputs/search-input.d.cts +1 -1
- package/dist/ui/inputs/search-input.d.mts +1 -1
- package/dist/ui/pagination.d.cts +1 -1
- package/dist/ui/pagination.d.mts +1 -1
- package/dist/ui/resizable.d.cts +1 -1
- package/dist/ui/resizable.d.mts +1 -1
- package/package.json +3 -3
- package/dist/LoginPage-DDljzV6A.d.cts +0 -43
- package/dist/LoginPage-DDljzV6A.d.mts +0 -43
- package/dist/pages/LoginPage.cjs +0 -2
- package/dist/pages/LoginPage.cjs.map +0 -1
- package/dist/pages/LoginPage.d.cts +0 -2
- package/dist/pages/LoginPage.d.mts +0 -2
- package/dist/pages/LoginPage.mjs +0 -2
- package/dist/pages/LoginPage.mjs.map +0 -1
package/dist/{simple-radio-group-field-RJ_cEsxK.mjs → simple-radio-group-field-4-eWSXY7.mjs}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Y as e,rt as t}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-radio-group-field-
|
|
1
|
+
import{Y as e,rt as t}from"./tanstack-form-BhKAn9I0.mjs";import{Label as n}from"./ui/label.mjs";import{RadioGroup as r,RadioGroupItem as i}from"./ui/radio-group.mjs";import{jsx as a,jsxs as o}from"react/jsx-runtime";import{useStore as s}from"@tanstack/react-form";const c=({label:c,required:l,disabled:u,options:d,orientation:f=`vertical`})=>{let{form:p,name:m,state:h,handleBlur:g,handleChange:_}=t(),v=s(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=u||v;return o(`div`,{className:`flex flex-col gap-1.5`,children:[c&&o(n,{children:[c,l&&a(`span`,{className:`text-danger-strong`,children:`*`})]}),a(r,{name:m,value:h.value??``,disabled:b,"aria-invalid":y,className:f===`horizontal`?`flex flex-row flex-wrap gap-x-4 gap-y-2`:`flex flex-col gap-2`,onValueChange:_,onBlur:g,children:d.map(e=>o(`div`,{className:`flex items-center gap-2`,children:[a(i,{id:`${m}-${e.value}`,value:e.value}),a(n,{htmlFor:`${m}-${e.value}`,className:`cursor-pointer font-normal`,children:e.label})]},e.value))}),y&&a(e,{errors:h.meta.errors})]})};export{c as SimpleRadioGroupField};
|
|
2
|
+
//# sourceMappingURL=simple-radio-group-field-4-eWSXY7.mjs.map
|
package/dist/{simple-radio-group-field-RJ_cEsxK.mjs.map → simple-radio-group-field-4-eWSXY7.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-radio-group-field-
|
|
1
|
+
{"version":3,"file":"simple-radio-group-field-4-eWSXY7.mjs","names":[],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-radio-group-field.tsx"],"sourcesContent":["'use client';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n options: Array<{ value: string; label: string }>;\n orientation?: 'horizontal' | 'vertical';\n};\n\nexport const SimpleRadioGroupField: React.FC<Props> = ({ label, required, disabled, options, orientation = 'vertical' }) => {\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 const isDisabled = disabled || isSubmitting;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <RadioGroup\n name={name}\n value={state.value ?? ''}\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={orientation === 'horizontal' ? 'flex flex-row flex-wrap gap-x-4 gap-y-2' : 'flex flex-col gap-2'}\n onValueChange={handleChange}\n onBlur={handleBlur}\n >\n {options.map(option => (\n <div key={option.value} className=\"flex items-center gap-2\">\n <RadioGroupItem id={`${name}-${option.value}`} value={option.value} />\n <Label htmlFor={`${name}-${option.value}`} className=\"cursor-pointer font-normal\">\n {option.label}\n </Label>\n </div>\n ))}\n </RadioGroup>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"wQAkBA,MAAa,GAA0C,CAAE,QAAO,WAAU,WAAU,UAAS,cAAc,cAAiB,CAC1H,GAAM,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiB,EAAuC,EAEzF,EAAe,EAAS,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAa,GAAY,EAE/B,OACE,EAAC,MAAD,CAAK,UAAU,wBAAf,SAAA,CACG,GACC,EAAC,EAAD,CAAA,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,GAAO,CAAA,CACpD,CAAA,CAAA,EAET,EAAC,EAAD,CACQ,OACN,MAAO,EAAM,OAAS,GACtB,SAAU,EACV,eAAc,EACd,UAAW,IAAgB,aAAe,0CAA4C,sBACtF,cAAe,EACf,OAAQ,EAEP,SAAA,EAAQ,IAAI,GACX,EAAC,MAAD,CAAwB,UAAU,0BAAlC,SAAA,CACE,EAAC,EAAD,CAAgB,GAAI,GAAG,EAAK,GAAG,EAAO,QAAS,MAAO,EAAO,KAAQ,CAAA,EACrE,EAAC,EAAD,CAAO,QAAS,GAAG,EAAK,GAAG,EAAO,QAAS,UAAU,6BAClD,SAAA,EAAO,KACH,CAAA,CACJ,CALK,EAAA,EAAO,KAKZ,CACN,CACS,CAAA,EACX,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
package/dist/{simple-radio-group-field-DiU4eQ_c.cjs → simple-radio-group-field-CuA0Q-XI.cjs}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-radio-group-field-
|
|
1
|
+
const e=require("./tanstack-form-DCB2addt.cjs"),t=require("./ui/label.cjs"),n=require("./ui/radio-group.cjs");let r=require("react/jsx-runtime"),i=require("@tanstack/react-form");const a=({label:a,required:o,disabled:s,options:c,orientation:l=`vertical`})=>{let{form:u,name:d,state:f,handleBlur:p,handleChange:m}=e.rt(),h=(0,i.useStore)(u.store,({isSubmitting:e})=>e),g=f.meta.isTouched&&!f.meta.isValid,_=s||h;return(0,r.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[a&&(0,r.jsxs)(t.Label,{children:[a,o&&(0,r.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,r.jsx)(n.RadioGroup,{name:d,value:f.value??``,disabled:_,"aria-invalid":g,className:l===`horizontal`?`flex flex-row flex-wrap gap-x-4 gap-y-2`:`flex flex-col gap-2`,onValueChange:m,onBlur:p,children:c.map(e=>(0,r.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,r.jsx)(n.RadioGroupItem,{id:`${d}-${e.value}`,value:e.value}),(0,r.jsx)(t.Label,{htmlFor:`${d}-${e.value}`,className:`cursor-pointer font-normal`,children:e.label})]},e.value))}),g&&(0,r.jsx)(e.Y,{errors:f.meta.errors})]})};exports.SimpleRadioGroupField=a;
|
|
2
|
+
//# sourceMappingURL=simple-radio-group-field-CuA0Q-XI.cjs.map
|
package/dist/{simple-radio-group-field-DiU4eQ_c.cjs.map → simple-radio-group-field-CuA0Q-XI.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-radio-group-field-
|
|
1
|
+
{"version":3,"file":"simple-radio-group-field-CuA0Q-XI.cjs","names":["useTanStackFieldContext","Label","RadioGroup","RadioGroupItem","FieldError"],"sources":["../packages/components/features/tanstack-form/components/atoms/simple-radio-group-field.tsx"],"sourcesContent":["'use client';\n\nimport { useStore } from '@tanstack/react-form';\n\nimport { Label } from '@/components/ui/label';\nimport { RadioGroup, RadioGroupItem } from '@/components/ui/radio-group';\n\nimport { useTanStackFieldContext } from '../form-context';\nimport { FieldError } from '../ui/field';\n\ntype Props = {\n label?: string;\n required?: boolean;\n disabled?: boolean;\n options: Array<{ value: string; label: string }>;\n orientation?: 'horizontal' | 'vertical';\n};\n\nexport const SimpleRadioGroupField: React.FC<Props> = ({ label, required, disabled, options, orientation = 'vertical' }) => {\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 const isDisabled = disabled || isSubmitting;\n\n return (\n <div className=\"flex flex-col gap-1.5\">\n {label && (\n <Label>\n {label}\n {required && <span className=\"text-danger-strong\">*</span>}\n </Label>\n )}\n <RadioGroup\n name={name}\n value={state.value ?? ''}\n disabled={isDisabled}\n aria-invalid={_invalid}\n className={orientation === 'horizontal' ? 'flex flex-row flex-wrap gap-x-4 gap-y-2' : 'flex flex-col gap-2'}\n onValueChange={handleChange}\n onBlur={handleBlur}\n >\n {options.map(option => (\n <div key={option.value} className=\"flex items-center gap-2\">\n <RadioGroupItem id={`${name}-${option.value}`} value={option.value} />\n <Label htmlFor={`${name}-${option.value}`} className=\"cursor-pointer font-normal\">\n {option.label}\n </Label>\n </div>\n ))}\n </RadioGroup>\n {_invalid && <FieldError errors={state.meta.errors} />}\n </div>\n );\n};\n"],"mappings":"mLAkBA,MAAa,GAA0C,CAAE,QAAO,WAAU,WAAU,UAAS,cAAc,cAAiB,CAC1H,GAAM,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,GAAuC,EAEzF,GAAA,EAAA,EAAA,SAAA,CAAwB,EAAK,OAAQ,CAAE,kBAAmB,CAAY,EAEtE,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAa,GAAY,EAE/B,OACE,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,wBAAf,SAAA,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAA,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,GAAO,CAAA,CACpD,CAAA,CAAA,GAET,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CACQ,OACN,MAAO,EAAM,OAAS,GACtB,SAAU,EACV,eAAc,EACd,UAAW,IAAgB,aAAe,0CAA4C,sBACtF,cAAe,EACf,OAAQ,EAEP,SAAA,EAAQ,IAAI,IACX,EAAA,EAAA,KAAA,CAAC,MAAD,CAAwB,UAAU,0BAAlC,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,eAAD,CAAgB,GAAI,GAAG,EAAK,GAAG,EAAO,QAAS,MAAO,EAAO,KAAQ,CAAA,GACrE,EAAA,EAAA,IAAA,CAACF,EAAAA,MAAD,CAAO,QAAS,GAAG,EAAK,GAAG,EAAO,QAAS,UAAU,6BAClD,SAAA,EAAO,KACH,CAAA,CACJ,CALK,EAAA,EAAO,KAKZ,CACN,CACS,CAAA,EACX,IAAY,EAAA,EAAA,IAAA,CAACG,EAAAA,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Y as e,rt as t}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-select-field-
|
|
1
|
+
import{Y as e,rt as t}from"./tanstack-form-BhKAn9I0.mjs";import{Button as n}from"./ui/button.mjs";import{Label as r}from"./ui/label.mjs";import{Select as i,SelectContent as a,SelectItem as o,SelectTrigger as s,SelectValue as c}from"./ui/select.mjs";import{Drawer as l,DrawerClose as u,DrawerContent as d,DrawerHeader as f,DrawerTitle as p}from"./ui/drawer.mjs";import{PackagePlusIcon as m}from"lucide-react";import{useId as h,useState as g}from"react";import{cn as _}from"@customafk/react-toolkit/utils";import{jsx as v,jsxs as y}from"react/jsx-runtime";import{useIsMobile as b}from"@customafk/react-toolkit/hooks/useMobile";const x=({label:x,placeholder:S,required:C,options:w})=>{let T=h(),{state:E,handleBlur:D,handleChange:O}=t(),k=b(),[A,j]=g(!1),M=E.meta.isTouched&&!E.meta.isValid,N=w.find(e=>e.value===E.value)?.label;return k?y(`div`,{className:`flex flex-col gap-1.5`,children:[x&&y(r,{htmlFor:T,children:[x,C&&v(`span`,{className:`text-danger-strong`,children:`*`})]}),v(n,{id:T,type:`button`,variant:`outline`,color:`muted`,className:_(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!E.value&&`text-text-positive-muted`,M&&`outline-danger bg-danger-bg-subtle`),"aria-invalid":M,onBlur:D,onClick:()=>j(!0),children:N??v(`span`,{className:`text-text-positive-muted`,children:S})}),v(l,{open:A,onOpenChange:j,direction:`bottom`,children:y(d,{children:[v(f,{children:v(p,{children:x??S??`Select an option`})}),v(`div`,{className:`flex flex-col overflow-y-auto pb-safe-bottom`,children:w.length>0?w.map(e=>v(u,{asChild:!0,children:v(`button`,{type:`button`,className:_(`flex w-full items-center px-4 py-3 text-left text-sm transition-colors`,`hover:bg-muted-muted active:bg-muted-muted`,E.value===e.value&&`bg-primary-bg-subtle font-medium text-primary`),onClick:()=>{O(e.value),j(!1)},children:e.label})},e.value)):y(`div`,{className:`flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak`,children:[v(m,{strokeWidth:1}),`No options available`]})})]})}),M&&v(e,{errors:E.meta.errors})]}):y(`div`,{className:`flex flex-col gap-1.5`,children:[x&&y(r,{htmlFor:T,children:[x,C&&v(`span`,{className:`text-danger-strong`,children:`*`})]}),y(i,{value:E.value??``,onValueChange:O,children:[v(s,{id:T,"aria-invalid":M?`true`:void 0,onBlur:D,children:v(c,{placeholder:S})}),v(a,{children:w.length>0?w.map(e=>v(o,{value:e.value,children:e.label},e.value)):y(`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`,children:[v(m,{strokeWidth:1}),`No options available`]})})]}),M&&v(e,{errors:E.meta.errors})]})};export{x as SimpleSelectField};
|
|
2
|
+
//# sourceMappingURL=simple-select-field-C0ecQx68.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-select-field-
|
|
1
|
+
{"version":3,"file":"simple-select-field-C0ecQx68.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":"inBAwBA,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,wBAAf,SAAA,CACG,GACC,EAAC,EAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,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,EAEhC,SAAA,GAAiB,EAAC,OAAD,CAAM,UAAU,2BAA4B,SAAA,CAAkB,CAAA,CAC1E,CAAA,EAER,EAAC,EAAD,CAAQ,KAAM,EAAY,aAAc,EAAe,UAAU,SAC/D,SAAA,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAA,SAAc,GAAS,GAAe,kBAAgC,CAAA,CAC1D,CAAA,EACd,EAAC,MAAD,CAAK,UAAU,+CACZ,SAAA,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAAgC,QAAA,GAC9B,SAAA,EAAC,SAAD,CACE,KAAK,SACL,UAAW,EACT,yEACA,6CACA,EAAM,QAAU,EAAO,OAAS,+CAClC,EACA,YAAe,CACb,EAAa,EAAO,KAAK,EACzB,EAAc,EAAK,CACrB,EAEC,SAAA,EAAO,KACF,CAAA,CACG,EAfK,EAAO,KAeZ,CACd,EAED,EAAC,MAAD,CAAK,UAAU,iGAAf,SAAA,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,wBAAf,SAAA,CACG,GACC,EAAC,EAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,GAAO,CAAA,CACpD,IAET,EAAC,EAAD,CAAQ,MAAO,EAAM,OAAS,GAAI,cAAe,EAAjD,SAAA,CACE,EAAC,EAAD,CAAmB,KAAI,eAAc,EAAW,OAAS,IAAA,GAAW,OAAQ,EAC1E,SAAA,EAAC,EAAD,CAA0B,aAAc,CAAA,CAC3B,CAAA,EACf,EAAC,EAAD,CAAA,SACG,EAAQ,OAAS,EAChB,EAAQ,IAAI,GACV,EAAC,EAAD,CAA+B,MAAO,EAAO,MAC1C,SAAA,EAAO,KACE,EAFK,EAAO,KAEZ,CACb,EAED,EAAC,MAAD,CAAK,UAAU,+IAAf,SAAA,CACE,EAAC,EAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,CAEM,CAAA,CAAA,CAAA,CACT,IACP,GAAY,EAAC,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const e=require("./ui/button.cjs"),t=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-select-field-
|
|
1
|
+
const e=require("./ui/button.cjs"),t=require("./tanstack-form-DCB2addt.cjs"),n=require("./ui/label.cjs"),r=require("./ui/select.cjs"),i=require("./ui/drawer.cjs");let a=require("lucide-react"),o=require("react"),s=require("@customafk/react-toolkit/utils"),c=require("react/jsx-runtime"),l=require("@customafk/react-toolkit/hooks/useMobile");const u=({label:u,placeholder:d,required:f,options:p})=>{let m=(0,o.useId)(),{state:h,handleBlur:g,handleChange:_}=t.rt(),v=(0,l.useIsMobile)(),[y,b]=(0,o.useState)(!1),x=h.meta.isTouched&&!h.meta.isValid,S=p.find(e=>e.value===h.value)?.label;return v?(0,c.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[u&&(0,c.jsxs)(n.Label,{htmlFor:m,children:[u,f&&(0,c.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,c.jsx)(e.Button,{id:m,type:`button`,variant:`outline`,color:`muted`,className:(0,s.cn)(`w-full justify-start font-normal outline-1 outline-border -outline-offset-1`,!h.value&&`text-text-positive-muted`,x&&`outline-danger bg-danger-bg-subtle`),"aria-invalid":x,onBlur:g,onClick:()=>b(!0),children:S??(0,c.jsx)(`span`,{className:`text-text-positive-muted`,children:d})}),(0,c.jsx)(i.Drawer,{open:y,onOpenChange:b,direction:`bottom`,children:(0,c.jsxs)(i.DrawerContent,{children:[(0,c.jsx)(i.DrawerHeader,{children:(0,c.jsx)(i.DrawerTitle,{children:u??d??`Select an option`})}),(0,c.jsx)(`div`,{className:`flex flex-col overflow-y-auto pb-safe-bottom`,children:p.length>0?p.map(e=>(0,c.jsx)(i.DrawerClose,{asChild:!0,children:(0,c.jsx)(`button`,{type:`button`,className:(0,s.cn)(`flex w-full items-center px-4 py-3 text-left text-sm transition-colors`,`hover:bg-muted-muted active:bg-muted-muted`,h.value===e.value&&`bg-primary-bg-subtle font-medium text-primary`),onClick:()=>{_(e.value),b(!1)},children:e.label})},e.value)):(0,c.jsxs)(`div`,{className:`flex items-center justify-center gap-x-2 px-4 py-8 text-center text-sm text-text-positive-weak`,children:[(0,c.jsx)(a.PackagePlusIcon,{strokeWidth:1}),`No options available`]})})]})}),x&&(0,c.jsx)(t.Y,{errors:h.meta.errors})]}):(0,c.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[u&&(0,c.jsxs)(n.Label,{htmlFor:m,children:[u,f&&(0,c.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,c.jsxs)(r.Select,{value:h.value??``,onValueChange:_,children:[(0,c.jsx)(r.SelectTrigger,{id:m,"aria-invalid":x?`true`:void 0,onBlur:g,children:(0,c.jsx)(r.SelectValue,{placeholder:d})}),(0,c.jsx)(r.SelectContent,{children:p.length>0?p.map(e=>(0,c.jsx)(r.SelectItem,{value:e.value,children:e.label},e.value)):(0,c.jsxs)(`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`,children:[(0,c.jsx)(a.PackagePlusIcon,{strokeWidth:1}),`No options available`]})})]}),x&&(0,c.jsx)(t.Y,{errors:h.meta.errors})]})};exports.SimpleSelectField=u;
|
|
2
|
+
//# sourceMappingURL=simple-select-field-CXYJcRY2.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-select-field-
|
|
1
|
+
{"version":3,"file":"simple-select-field-CXYJcRY2.cjs","names":["useTanStackFieldContext","Label","Button","Drawer","DrawerContent","DrawerHeader","DrawerTitle","DrawerClose","PackagePlusIcon","FieldError","Select","SelectTrigger","SelectValue","SelectContent","SelectItem"],"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":"qVAwBA,MAAa,GAAsC,CAAE,QAAO,cAAa,WAAU,aAAc,CAC/F,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,QAAO,aAAY,gBAAiBA,EAAAA,GAAuC,EAC7E,GAAA,EAAA,EAAA,YAAA,CAAuB,EACvB,CAAC,EAAY,IAAA,EAAA,EAAA,SAAA,CAA0B,EAAK,EAE5C,EAAW,EAAM,KAAK,WAAa,CAAC,EAAM,KAAK,QAC/C,EAAgB,EAAQ,KAAK,GAAK,EAAE,QAAU,EAAM,KAAK,CAAC,EAAE,MAoElE,OAlEI,GAEA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,wBAAf,SAAA,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CACM,KACJ,KAAK,SACL,QAAQ,UACR,MAAM,QACN,WAAA,EAAA,EAAA,GAAA,CACE,8EACA,CAAC,EAAM,OAAS,2BAChB,GAAY,oCACd,EACA,eAAc,EACd,OAAQ,EACR,YAAe,EAAc,EAAI,EAEhC,SAAA,IAAiB,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,2BAA4B,SAAA,CAAkB,CAAA,CAC1E,CAAA,GAER,EAAA,EAAA,IAAA,CAACC,EAAAA,OAAD,CAAQ,KAAM,EAAY,aAAc,EAAe,UAAU,SAC/D,UAAA,EAAA,EAAA,KAAA,CAACC,EAAAA,cAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,aAAD,CAAA,UACE,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAAA,SAAc,GAAS,GAAe,kBAAgC,CAAA,CAC1D,CAAA,GACd,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,+CACZ,SAAA,EAAQ,OAAS,EAChB,EAAQ,IAAI,IACV,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAAgC,QAAA,GAC9B,UAAA,EAAA,EAAA,IAAA,CAAC,SAAD,CACE,KAAK,SACL,WAAA,EAAA,EAAA,GAAA,CACE,yEACA,6CACA,EAAM,QAAU,EAAO,OAAS,+CAClC,EACA,YAAe,CACb,EAAa,EAAO,KAAK,EACzB,EAAc,EAAK,CACrB,EAEC,SAAA,EAAO,KACF,CAAA,CACG,EAfK,EAAO,KAeZ,CACd,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,iGAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,gBAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,GAEJ,CAAA,CACQ,CAAA,CAAA,CACT,CAAA,EAEP,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,KAKP,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,wBAAf,SAAA,CACG,IACC,EAAA,EAAA,KAAA,CAACR,EAAAA,MAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,GAAO,CAAA,CACpD,KAET,EAAA,EAAA,KAAA,CAACS,EAAAA,OAAD,CAAQ,MAAO,EAAM,OAAS,GAAI,cAAe,EAAjD,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,cAAD,CAAmB,KAAI,eAAc,EAAW,OAAS,IAAA,GAAW,OAAQ,EAC1E,UAAA,EAAA,EAAA,IAAA,CAACC,EAAAA,YAAD,CAA0B,aAAc,CAAA,CAC3B,CAAA,GACf,EAAA,EAAA,IAAA,CAACC,EAAAA,cAAD,CAAA,SACG,EAAQ,OAAS,EAChB,EAAQ,IAAI,IACV,EAAA,EAAA,IAAA,CAACC,EAAAA,WAAD,CAA+B,MAAO,EAAO,MAC1C,SAAA,EAAO,KACE,EAFK,EAAO,KAEZ,CACb,GAED,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,+IAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAACN,EAAAA,gBAAD,CAAiB,YAAa,CAAI,CAAA,EAAC,sBAEhC,CAEM,CAAA,CAAA,CAAA,CACT,IACP,IAAY,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Y as e,rt as t}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-text-field-
|
|
1
|
+
import{Y as e,rt as t}from"./tanstack-form-BhKAn9I0.mjs";import{Input as n}from"./ui/input.mjs";import{Label as r}from"./ui/label.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}=t(),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(r,{htmlFor:m,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(n,{id:m,name:g,value:_.value??``,"aria-invalid":x,placeholder:u,autoComplete:`off`,disabled:p||b,onBlur:v,onChange:S}),x&&o(e,{errors:_.meta.errors})]})};export{l as SimpleTextField};
|
|
2
|
+
//# sourceMappingURL=simple-text-field-DJl5SIGn.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-text-field-
|
|
1
|
+
{"version":3,"file":"simple-text-field-DJl5SIGn.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":"wRAcA,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,wBAAf,SAAA,CACG,GACC,EAAC,EAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,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("./ui/input.cjs"),t=require("./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-text-field-
|
|
1
|
+
const e=require("./ui/input.cjs"),t=require("./tanstack-form-DCB2addt.cjs"),n=require("./ui/label.cjs");let r=require("react"),i=require("react/jsx-runtime"),a=require("@tanstack/react-form");const o=({label:o,placeholder:s,required:c,maxLength:l,disabled:u})=>{let d=(0,r.useId)(),{form:f,name:p,state:m,handleBlur:h,handleChange:g}=t.rt(),_=(0,a.useStore)(f.store,({isSubmitting:e})=>e),v=m.meta.isTouched&&!m.meta.isValid,y=(0,r.useCallback)(({target:{value:e}})=>{_||l&&e.length>l||g(e||null)},[_,l,g]);return(0,i.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[o&&(0,i.jsxs)(n.Label,{htmlFor:d,children:[o,c&&(0,i.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,i.jsx)(e.Input,{id:d,name:p,value:m.value??``,"aria-invalid":v,placeholder:s,autoComplete:`off`,disabled:u||_,onBlur:h,onChange:y}),v&&(0,i.jsx)(t.Y,{errors:m.meta.errors})]})};exports.SimpleTextField=o;
|
|
2
|
+
//# sourceMappingURL=simple-text-field-DPXqNCXh.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-text-field-
|
|
1
|
+
{"version":3,"file":"simple-text-field-DPXqNCXh.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":"gMAcA,MAAa,GAAoC,CAAE,QAAO,cAAa,WAAU,YAAW,cAAe,CACzG,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,GAAuC,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,wBAAf,SAAA,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,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,EAAD,CAAY,OAAQ,EAAM,KAAK,MAAS,CAAA,CAClD,GAET"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Y as e,rt as t}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=simple-textarea-field-
|
|
1
|
+
import{Y as e,rt as t}from"./tanstack-form-BhKAn9I0.mjs";import{Label as n}from"./ui/label.mjs";import{Textarea as r}from"./ui/textarea.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}=t(),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(n,{htmlFor:h,children:[l,d&&o(`span`,{className:`text-danger-strong`,children:`*`})]}),o(r,{id:h,name:_,value:v.value??``,"aria-invalid":S,placeholder:u,rows:p,disabled:m||x,onBlur:y,onChange:C}),S&&o(e,{errors:v.meta.errors})]})};export{l as SimpleTextareaField};
|
|
2
|
+
//# sourceMappingURL=simple-textarea-field-BcHdUMTK.mjs.map
|
package/dist/{simple-textarea-field-CzpApMiv.mjs.map → simple-textarea-field-BcHdUMTK.mjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-textarea-field-
|
|
1
|
+
{"version":3,"file":"simple-textarea-field-BcHdUMTK.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":"8RAqBA,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,wBAAf,SAAA,CACG,GACC,EAAC,EAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,GAAY,EAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,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=simple-textarea-field-
|
|
1
|
+
const e=require("./tanstack-form-DCB2addt.cjs"),t=require("./ui/label.cjs"),n=require("./ui/textarea.cjs");let r=require("react"),i=require("react/jsx-runtime"),a=require("@tanstack/react-form");const o=({label:o,placeholder:s,required:c,maxLength:l,rows:u,disabled:d})=>{let f=(0,r.useId)(),{form:p,name:m,state:h,handleBlur:g,handleChange:_}=e.rt(),v=(0,a.useStore)(p.store,({isSubmitting:e})=>e),y=h.meta.isTouched&&!h.meta.isValid,b=(0,r.useCallback)(({target:{value:e}})=>{v||l&&e.length>l||_(e||null)},[v,l,_]);return(0,i.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[o&&(0,i.jsxs)(t.Label,{htmlFor:f,children:[o,c&&(0,i.jsx)(`span`,{className:`text-danger-strong`,children:`*`})]}),(0,i.jsx)(n.Textarea,{id:f,name:m,value:h.value??``,"aria-invalid":y,placeholder:s,rows:u,disabled:d||v,onBlur:g,onChange:b}),y&&(0,i.jsx)(e.Y,{errors:h.meta.errors})]})};exports.SimpleTextareaField=o;
|
|
2
|
+
//# sourceMappingURL=simple-textarea-field-ZpXPwYz-.cjs.map
|
package/dist/{simple-textarea-field-DyQZEDTe.cjs.map → simple-textarea-field-ZpXPwYz-.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"simple-textarea-field-
|
|
1
|
+
{"version":3,"file":"simple-textarea-field-ZpXPwYz-.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":"mMAqBA,MAAa,GAAwC,CAAE,QAAO,cAAa,WAAU,YAAW,OAAM,cAAe,CACnH,IAAM,GAAA,EAAA,EAAA,MAAA,CAAW,EACX,CAAE,OAAM,OAAM,QAAO,aAAY,gBAAiBA,EAAAA,GAAuC,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,wBAAf,SAAA,CACG,IACC,EAAA,EAAA,KAAA,CAACC,EAAAA,MAAD,CAAO,QAAS,EAAhB,SAAA,CACG,EACA,IAAY,EAAA,EAAA,IAAA,CAAC,OAAD,CAAM,UAAU,qBAAqB,SAAA,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,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-DCB2addt.cjs");let t=require("@customafk/react-toolkit/utils"),n=require("react/jsx-runtime"),r=require("radix-ui");function i({className:e,...i}){return(0,n.jsx)(r.Switch.Root,{"data-slot":`switch`,className:(0,t.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),...i,children:(0,n.jsx)(r.Switch.Thumb,{"data-slot":`switch-thumb`,className:(0,t.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 a=({label:t,description:r,helperText:a})=>{let o=e.rt();return(0,n.jsxs)(e.X,{className:`gap-y-4 px-4`,children:[(0,n.jsxs)(e.G,{orientation:`vertical`,className:`relative justify-between gap-y-1`,children:[(0,n.jsxs)(e.K,{children:[(0,n.jsx)(e.tt,{className:`cursor-pointer`,children:(0,n.jsx)(`label`,{htmlFor:o.name,children:t})}),(0,n.jsx)(e.J,{children:r}),(0,n.jsx)(i,{id:o.name,checked:o.state.value??!1,className:`absolute top-1 right-1`,onBlur:o.handleBlur,onCheckedChange:o.handleChange})]}),(0,n.jsx)(e.$,{isShow:!!a,children:a})]}),(0,n.jsx)(e.et,{})]})};exports.SwitchField=a;
|
|
2
|
+
//# sourceMappingURL=switch-field-CCDuDdpf.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-field-
|
|
1
|
+
{"version":3,"file":"switch-field-CCDuDdpf.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":"qJAcA,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,EAEJ,UAAA,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,GAAwC,EAEtD,OACE,EAAA,EAAA,KAAA,CAACC,EAAAA,EAAD,CAAY,UAAU,eAAtB,SAAA,EACE,EAAA,EAAA,KAAA,CAACC,EAAAA,EAAD,CAAO,YAAY,WAAW,UAAU,mCAAxC,SAAA,EACE,EAAA,EAAA,KAAA,CAACC,EAAAA,EAAD,CAAA,SAAA,EACE,EAAA,EAAA,IAAA,CAACC,EAAAA,GAAD,CAAY,UAAU,iBACpB,UAAA,EAAA,EAAA,IAAA,CAAC,QAAD,CAAO,QAAS,EAAM,KAAO,SAAA,CAAa,CAAA,CAChC,CAAA,GACZ,EAAA,EAAA,IAAA,CAACC,EAAAA,EAAD,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,EAAD,CAAW,OAAQ,CAAC,CAAC,EAAa,SAAA,CAAsB,CAAA,CACnD,CACP,CAAA,GAAA,EAAA,EAAA,IAAA,CAACC,EAAAA,GAAD,CAAiB,CAAA,CACP,GAEhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$ as e,G as t,J as n,K as r,X as i,et as a,rt as o,tt as s}from"./tanstack-form-
|
|
2
|
-
//# sourceMappingURL=switch-field-
|
|
1
|
+
import{$ as e,G as t,J as n,K as r,X as i,et as a,rt as o,tt as s}from"./tanstack-form-BhKAn9I0.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=o();return u(i,{className:`gap-y-4 px-4`,children:[u(t,{orientation:`vertical`,className:`relative justify-between gap-y-1`,children:[u(r,{children:[l(s,{className:`cursor-pointer`,children:l(`label`,{htmlFor:m.name,children:c})}),l(n,{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(e,{isShow:!!p,children:p})]}),l(a,{})]})};export{p as SwitchField};
|
|
2
|
+
//# sourceMappingURL=switch-field-DBGFsmEZ.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"switch-field-
|
|
1
|
+
{"version":3,"file":"switch-field-DBGFsmEZ.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":"6OAcA,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,EAEJ,SAAA,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,eAAtB,SAAA,CACE,EAAC,EAAD,CAAO,YAAY,WAAW,UAAU,mCAAxC,SAAA,CACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAY,UAAU,iBACpB,SAAA,EAAC,QAAD,CAAO,QAAS,EAAM,KAAO,SAAA,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,EAAa,SAAA,CAAsB,CAAA,CACnD,CACP,CAAA,EAAA,EAAC,EAAD,CAAiB,CAAA,CACP,GAEhB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Skeleton as e}from"./ui/skeleton.mjs";import{Tooltip as t,TooltipContent as n,TooltipTrigger as r}from"./ui/tooltip.mjs";import{t as i}from"./text-editor-XBOAwJk-.mjs";import{Separator as a}from"./ui/separator.mjs";import{HelpCircleIcon as o,InfoIcon as ee}from"lucide-react";import{Suspense as s,lazy as c,memo as l,useCallback as te,useMemo as u}from"react";import{cn as d}from"@customafk/react-toolkit/utils";import{cva as f}from"class-variance-authority";import{jsx as p,jsxs as m}from"react/jsx-runtime";import{Label as h}from"radix-ui";import{createFormHook as g,createFormHookContexts as _,useStore as ne}from"@tanstack/react-form";var v=Object.defineProperty,y=(e,t)=>{let n={};for(var r in e)v(n,r,{get:e[r],enumerable:!0});return t||v(n,Symbol.toStringTag,{value:`Module`}),n};const{fieldContext:b,formContext:x,useFieldContext:S,useFormContext:C}=_();function w({className:e,children:t,...n}){return m(h.Root,{"data-slot":`label`,className:d(`text-text-positive`,`flex w-full items-center justify-between`,`select-none font-medium text-sm/6 leading-none`,`group-data-[disabled=true]:pointer-events-none`,`group-data-[disabled=true]:opacity-50`,`peer-disabled:cursor-not-allowed`,`peer-disabled:opacity-50`,`aria-required:*:data-[slot=required-indicator]:inline-block`,e),...n,children:[p(`span`,{className:`flex items-center gap-1`,children:t}),p(`span`,{"data-slot":`required-indicator`,className:`hidden shrink-0 rounded-lg bg-danger-strong px-1.5 py-1 font-semibold text-[11px] leading-none text-white`,children:`Bắt buộc`})]})}var T=y({Field:()=>A,FieldContent:()=>j,FieldContentMain:()=>M,FieldDescription:()=>F,FieldError:()=>z,FieldGroup:()=>k,FieldLabel:()=>N,FieldLegend:()=>O,FieldNote:()=>I,FieldSeparator:()=>R,FieldSet:()=>D,FieldTitle:()=>P,FieldTooltip:()=>L});const E=f(`group/field flex w-full gap-2 data-[invalid=true]:text-danger *:data-[slot=field-content]:gap-0`,{variants:{orientation:{vertical:[`flex-col *:w-full [&>.sr-only]:w-auto`],horizontal:[`flex-row items-center gap-4`,`*:data-[slot=field-content]:basis-1/2`,`*:data-[slot=field-content-main]:flex-1`,`*:data-[slot=field-label]:flex-auto`,`has-[>[data-slot=field-content]]:items-start`,`has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`],responsive:[`flex-col *:w-full [&>.sr-only]:w-auto`,`@md/field-group:flex-row`,`@md/field-group:items-center`,`@md/field-group:gap-4`,`@md/field-group:*:w-auto`,`@md/field-group:*:data-[slot=field-content]:basis-1/2`,`@md/field-group:*:data-[slot=field-content-main]:basis-1/2`,`@md/field-group:*:data-[slot=field-label]:flex-auto`,`@md/field-group:has-[>[data-slot=field-content]]:items-start`,`@md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`]}},defaultVariants:{orientation:`vertical`}}),D=l(({className:e,...t})=>p(`fieldset`,{"data-slot":`field-set`,className:d(`flex flex-col gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3`,e),...t}));D.displayName=`FieldSet`;const O=l(({className:e,variant:t=`legend`,...n})=>p(`legend`,{"data-slot":`field-legend`,"data-variant":t,className:d(`mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base`,e),...n}));O.displayName=`FieldLegend`;const k=l(({className:e,...t})=>p(`div`,{"data-slot":`field-group`,className:d(`group/field-group @container/field-group`,`flex flex-col gap-7 pt-4`,`data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,e),...t}));k.displayName=`FieldGroup`;const A=l(({className:e,orientation:t=`vertical`,...n})=>p(`div`,{"data-slot":`field`,"data-orientation":t,className:d(E({orientation:t}),e),...n}));A.displayName=`Field`;const j=l(({className:e,...t})=>p(`div`,{"data-slot":`field-content`,className:d(`group/field-content flex flex-col gap-1.5 leading-snug`,e),...t}));j.displayName=`FieldContent`;const M=l(({className:e,...t})=>p(`div`,{"data-slot":`field-content-main`,className:d(`relative`,e),...t}));M.displayName=`FieldContentMain`;const N=l(({className:e,...t})=>p(w,{"data-slot":`field-label`,className:d(`group/field-label peer/field-label min-h-6 gap-1 font-medium leading-snug`,`has-[>[data-slot=field]]:w-full`,`has-[>[data-slot=field]]:flex-col`,`has-[>[data-slot=field]]:rounded-md`,`has-[>[data-slot=field]]:border`,`has-[>[data-slot=field]]:border-border`,`has-data-[state=checked]:border-primary`,`*:data-[slot=field]:p-4 group-data-[disabled=true]/field:opacity-50`,e),...t}));N.displayName=`FieldLabel`;const P=l(({className:e,...t})=>p(`div`,{"data-slot":`field-label`,className:d(`flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50`,e),...t}));P.displayName=`FieldTitle`;const F=l(({className:e,...t})=>p(`p`,{"data-slot":`field-description`,className:d(`nth-last-2:-mt-1 font-normal text-text-positive-weak text-xs leading-normal last:mt-0 [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4 [[data-variant=legend]+&]:-mt-1.5`,e),...t}));F.displayName=`FieldDescription`;const I=l(({isShow:e=!0,className:t,children:n,...r})=>e===!1?null:m(`div`,{"data-slot":`field-note`,className:d(`flex items-start gap-1.5 rounded border border-primary-muted/60 bg-primary-bg-subtle/80 px-2.5 py-2 text-text-positive-weak text-xs mt-1`,t),...r,children:[p(ee,{size:12,className:`mt-0.5 shrink-0 text-primary/70`}),p(`span`,{children:n})]}));I.displayName=`FieldNote`;const L=l(({tooltip:e})=>m(t,{children:[p(r,{asChild:!0,children:m(`button`,{type:`button`,tabIndex:-1,className:`inline-flex cursor-default items-center text-text-positive-weak/70 hover:text-text-positive focus:outline-none`,children:[p(o,{size:13,"aria-hidden":`true`}),p(`span`,{className:`sr-only`,children:`Thêm thông tin`})]})}),p(n,{side:`top`,className:`max-w-xs text-balance`,children:e})]}));L.displayName=`FieldTooltip`;const R=l(({children:e,className:t,...n})=>m(`div`,{"data-slot":`field-separator`,"data-content":!!e,className:d(`relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2`,t),...n,children:[p(a,{className:`absolute inset-0 top-1/2`}),e&&p(`span`,{className:`relative mx-auto block w-fit bg-background px-2 text-text-positive-weak`,"data-slot":`field-separator-content`,children:e})]}));R.displayName=`FieldSeparator`;const z=l(({className:e,children:t,errors:n,requiredMessage:r=`Trường này là bắt buộc`,...i})=>{let a=u(()=>{let e=e=>e.code===`invalid_type`?r:e.message;return t||(n?n?.length===1&&n[0]?.message?p(`div`,{className:`flex flex-row items-center justify-start gap-x-0.5`,children:p(`p`,{children:e(n[0])})}):p(`ul`,{className:`flex list-none flex-col`,children:n.map(t=>typeof t==`string`?p(`li`,{children:t},t):t?.message?p(`li`,{children:e(t)},t.code??t.message):null)}):null)},[t,n,r]);return a?p(`div`,{role:`alert`,"data-slot":`field-error`,className:d(`w-full font-medium text-danger-strong text-xs`,e),...i,children:a}):null});z.displayName=`FieldError`;const B=l(({label:e,description:t,placeholder:n,tooltip:r,helperText:a,showErrorMessage:o=!0,required:ee=!1,maxLength:s,showCharacterCount:c,enableLink:l,enableBubbleMenu:u,enableTaskList:d,enableHighlight:f,enableColor:h,enableImage:g,enableTable:_,enableSlashCommand:v,onImageUpload:y,variant:b,size:x})=>{let{form:C,state:w,handleChange:T}=S(),E=ne(C.store,({isSubmitting:e})=>e),D=w.meta.isDirty&&w.meta.isTouched&&!w.meta.isValid,O=ee&&w.value===null,M=te(e=>{E||T(e||null)},[E,T]);return m(k,{className:`gap-y-4 px-4`,children:[m(A,{orientation:`vertical`,"data-invalid":D,children:[m(j,{children:[m(N,{"aria-required":O,children:[e,r&&p(L,{tooltip:r})]}),p(F,{children:t})]}),p(i,{value:w.value??``,placeholder:n,readOnly:E,onChange:M,maxLength:s,showCharacterCount:c,enableLink:l,enableBubbleMenu:u,enableTaskList:d,enableHighlight:f,enableColor:h,enableImage:g,enableTable:_,enableSlashCommand:v,onImageUpload:y,variant:b,size:x}),w.meta.isDirty&&o&&!!w.meta.errors.length&&p(z,{errors:w.meta.errors}),p(I,{isShow:!!a,children:a})]}),p(R,{})]})});B.displayName=`TextEditorField`;function V(){return p(e,{"data-slot":`tanstack-field-skeleton`,className:`h-9 w-full rounded`})}function H(e){let t=c(e);return e=>p(s,{fallback:p(V,{}),children:p(t,{...e})})}const U=H(()=>import(`./text-field-wes_PQEd.mjs`).then(e=>({default:e.TextField}))),W=H(()=>import(`./textarea-field-BiNmDHgL.mjs`).then(e=>({default:e.TextareaField}))),G=H(()=>import(`./number-field-DSGwWg7y.mjs`).then(e=>({default:e.NumberField}))),K=H(()=>import(`./email-field-CPEVNvn8.mjs`).then(e=>({default:e.EmailField}))),q=H(()=>import(`./password-field-DsmwNZep.mjs`).then(e=>({default:e.PasswordField}))),J=H(()=>import(`./select-field-8PfksL_U.mjs`).then(e=>({default:e.SelectField}))),Y=H(()=>import(`./combobox-field-Cx0A-CD4.mjs`).then(e=>({default:e.ComboboxField}))),X=H(()=>import(`./date-field-zoPch5tC.mjs`).then(e=>({default:e.DateField}))),Z=H(()=>import(`./switch-field-D2SWDM1l.mjs`).then(e=>({default:e.SwitchField}))),Q=H(()=>import(`./radio-group-field-CmCo87tm.mjs`).then(e=>({default:e.RadioGroupField}))),$=H(()=>import(`./checkbox-field-C-NyMjEm.mjs`).then(e=>({default:e.CheckboxField}))),re=H(()=>import(`./simple-text-field-BEoQmd1b.mjs`).then(e=>({default:e.SimpleTextField}))),ie=H(()=>import(`./simple-email-field-CpxklyKr.mjs`).then(e=>({default:e.SimpleEmailField}))),ae=H(()=>import(`./simple-password-field-Cu_JvDEE.mjs`).then(e=>({default:e.SimplePasswordField}))),oe=H(()=>import(`./simple-textarea-field-CzpApMiv.mjs`).then(e=>({default:e.SimpleTextareaField}))),se=H(()=>import(`./simple-number-field-DuCvwUG9.mjs`).then(e=>({default:e.SimpleNumberField}))),ce=H(()=>import(`./simple-select-field-B3uEUqvQ.mjs`).then(e=>({default:e.SimpleSelectField}))),le=c(()=>import(`./simple-array-field-C0kpO1cq.mjs`).then(e=>({default:e.SimpleArrayField})));function ue(e){return p(s,{fallback:p(V,{}),children:p(le,{...e})})}const de=H(()=>import(`./simple-boolean-field-Bdc4wuUU.mjs`).then(e=>({default:e.SimpleBooleanField}))),fe=H(()=>import(`./simple-combobox-field-CR5Q6Nsd.mjs`).then(e=>({default:e.SimpleComboboxField}))),pe=H(()=>import(`./simple-date-field-DkhG2o7I.mjs`).then(e=>({default:e.SimpleDateField}))),me=H(()=>import(`./simple-radio-group-field-RJ_cEsxK.mjs`).then(e=>({default:e.SimpleRadioGroupField}))),he=H(()=>import(`./simple-array-field-C0kpO1cq.mjs`).then(e=>({default:e.ArrayCol}))),ge=H(()=>import(`./simple-array-field-C0kpO1cq.mjs`).then(e=>({default:e.ArrayHeaderRow}))),_e=H(()=>import(`./dialog-form-BRV1niqF.mjs`).then(e=>({default:e.TanStackDialogForm}))),ve=H(()=>import(`./popover-form-BUc5ivCF.mjs`).then(e=>({default:e.TanStackPopoverForm}))),ye=H(()=>import(`./container-form-BjiGIzwm.mjs`).then(e=>({default:e.TanStackContainerForm}))),be=H(()=>import(`./section-form-BJWWflUR.mjs`).then(e=>({default:e.TanStackSectionForm}))),xe=H(()=>import(`./card-form-D9fNO-6F.mjs`).then(e=>({default:e.TanStackCardForm}))),Se=H(()=>import(`./group-field-Cs0uWHg0.mjs`).then(e=>({default:e.TanStackFieldGroup}))),Ce=H(()=>import(`./title-field-C4BmSDR2.mjs`).then(e=>({default:e.TanStackTitleField}))),we=H(()=>import(`./actions-form-PByL8_M5.mjs`).then(e=>({default:e.TanStackActionsForm}))),Te=H(()=>import(`./action-submit-BHY2dndL.mjs`).then(e=>({default:e.TanStackActionSubmit}))),Ee=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldGroup}))),De=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.Field}))),Oe=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldContent}))),ke=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldLabel}))),Ae=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldContentMain}))),je=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldSeparator}))),Me=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldError}))),{useAppForm:Ne,withForm:Pe,withFieldGroup:Fe}=g({fieldContext:b,formContext:x,fieldComponents:{TextField:U,TextareaField:W,TextEditorField:B,NumberField:G,EmailField:K,PasswordField:q,SelectField:J,ComboboxField:Y,DateField:X,SwitchField:Z,RadioGroupField:Q,CheckboxField:$,SimpleTextField:re,SimpleEmailField:ie,SimplePasswordField:ae,SimpleTextareaField:oe,SimpleNumberField:se,SimpleSelectField:ce,SimpleArrayField:ue,SimpleBooleanField:de,SimpleComboboxField:fe,SimpleDateField:pe,SimpleRadioGroupField:me,FieldGroup:Ee,Field:De,FieldContent:Oe,FieldLabel:ke,FieldContentMain:Ae,FieldSeparator:je,FieldError:Me},formComponents:{TanStackDialogForm:_e,TanStackPopoverForm:ve,TanStackContainerForm:ye,TanStackSectionForm:be,TanStackCardForm:xe,TanStackFieldGroup:Se,TanStackTitleField:Ce,TanStackActionsForm:we,TanStackActionSubmit:Te,ArrayCol:he,ArrayHeaderRow:ge}});export{I as $,Te as A,W as B,se as C,re as D,ce as E,Se as F,A as G,Fe as H,ve as I,F as J,j as K,be as L,xe as M,ye as N,oe as O,_e as P,O as Q,Ce as R,ie as S,me as T,Pe as U,Ne as V,B as W,k as X,z as Y,N as Z,J as _,X as a,fe as b,Oe as c,Ee as d,R as et,ke as f,Q as g,q as h,Y as i,C as it,we as j,Z as k,Ae as l,G as m,ge as n,L as nt,K as o,je as p,M as q,$ as r,S as rt,De as s,he as t,P as tt,Me as u,ue as v,ae as w,pe as x,de as y,U as z};
|
|
2
|
-
//# sourceMappingURL=tanstack-form-
|
|
1
|
+
import{Skeleton as e}from"./ui/skeleton.mjs";import{Tooltip as t,TooltipContent as n,TooltipTrigger as r}from"./ui/tooltip.mjs";import{t as i}from"./text-editor-XBOAwJk-.mjs";import{Separator as a}from"./ui/separator.mjs";import{HelpCircleIcon as o,InfoIcon as ee}from"lucide-react";import{Suspense as s,lazy as c,memo as l,useCallback as te,useMemo as u}from"react";import{cn as d}from"@customafk/react-toolkit/utils";import{cva as f}from"class-variance-authority";import{jsx as p,jsxs as m}from"react/jsx-runtime";import{Label as h}from"radix-ui";import{createFormHook as g,createFormHookContexts as _,useStore as ne}from"@tanstack/react-form";var v=Object.defineProperty,y=(e,t)=>{let n={};for(var r in e)v(n,r,{get:e[r],enumerable:!0});return t||v(n,Symbol.toStringTag,{value:`Module`}),n};const{fieldContext:b,formContext:x,useFieldContext:S,useFormContext:C}=_();function w({className:e,children:t,...n}){return m(h.Root,{"data-slot":`label`,className:d(`text-text-positive`,`flex w-full items-center justify-between`,`select-none font-medium text-sm/6 leading-none`,`group-data-[disabled=true]:pointer-events-none`,`group-data-[disabled=true]:opacity-50`,`peer-disabled:cursor-not-allowed`,`peer-disabled:opacity-50`,`aria-required:*:data-[slot=required-indicator]:inline-block`,e),...n,children:[p(`span`,{className:`flex items-center gap-1`,children:t}),p(`span`,{"data-slot":`required-indicator`,className:`hidden shrink-0 rounded-lg bg-danger-strong px-1.5 py-1 font-semibold text-[11px] leading-none text-white`,children:`Bắt buộc`})]})}var T=y({Field:()=>A,FieldContent:()=>j,FieldContentMain:()=>M,FieldDescription:()=>F,FieldError:()=>z,FieldGroup:()=>k,FieldLabel:()=>N,FieldLegend:()=>O,FieldNote:()=>I,FieldSeparator:()=>R,FieldSet:()=>D,FieldTitle:()=>P,FieldTooltip:()=>L});const E=f(`group/field flex w-full gap-2 data-[invalid=true]:text-danger *:data-[slot=field-content]:gap-0`,{variants:{orientation:{vertical:[`flex-col *:w-full [&>.sr-only]:w-auto`],horizontal:[`flex-row items-center gap-4`,`*:data-[slot=field-content]:basis-1/2`,`*:data-[slot=field-content-main]:flex-1`,`*:data-[slot=field-label]:flex-auto`,`has-[>[data-slot=field-content]]:items-start`,`has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`],responsive:[`flex-col *:w-full [&>.sr-only]:w-auto`,`@md/field-group:flex-row`,`@md/field-group:items-center`,`@md/field-group:gap-4`,`@md/field-group:*:w-auto`,`@md/field-group:*:data-[slot=field-content]:basis-1/2`,`@md/field-group:*:data-[slot=field-content-main]:basis-1/2`,`@md/field-group:*:data-[slot=field-label]:flex-auto`,`@md/field-group:has-[>[data-slot=field-content]]:items-start`,`@md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`]}},defaultVariants:{orientation:`vertical`}}),D=l(({className:e,...t})=>p(`fieldset`,{"data-slot":`field-set`,className:d(`flex flex-col gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3`,e),...t}));D.displayName=`FieldSet`;const O=l(({className:e,variant:t=`legend`,...n})=>p(`legend`,{"data-slot":`field-legend`,"data-variant":t,className:d(`mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base`,e),...n}));O.displayName=`FieldLegend`;const k=l(({className:e,...t})=>p(`div`,{"data-slot":`field-group`,className:d(`group/field-group @container/field-group`,`flex flex-col gap-7 pt-4`,`data-[slot=checkbox-group]:gap-3 *:data-[slot=field-group]:gap-4`,e),...t}));k.displayName=`FieldGroup`;const A=l(({className:e,orientation:t=`vertical`,...n})=>p(`div`,{"data-slot":`field`,"data-orientation":t,className:d(E({orientation:t}),e),...n}));A.displayName=`Field`;const j=l(({className:e,...t})=>p(`div`,{"data-slot":`field-content`,className:d(`group/field-content flex flex-col gap-1.5 leading-snug`,e),...t}));j.displayName=`FieldContent`;const M=l(({className:e,...t})=>p(`div`,{"data-slot":`field-content-main`,className:d(`relative`,e),...t}));M.displayName=`FieldContentMain`;const N=l(({className:e,...t})=>p(w,{"data-slot":`field-label`,className:d(`group/field-label peer/field-label min-h-6 gap-1 font-medium leading-snug`,`has-[>[data-slot=field]]:w-full`,`has-[>[data-slot=field]]:flex-col`,`has-[>[data-slot=field]]:rounded-md`,`has-[>[data-slot=field]]:border`,`has-[>[data-slot=field]]:border-border`,`has-data-[state=checked]:border-primary`,`*:data-[slot=field]:p-4 group-data-[disabled=true]/field:opacity-50`,e),...t}));N.displayName=`FieldLabel`;const P=l(({className:e,...t})=>p(`div`,{"data-slot":`field-label`,className:d(`flex w-fit items-center gap-2 font-medium text-sm leading-snug group-data-[disabled=true]/field:opacity-50`,e),...t}));P.displayName=`FieldTitle`;const F=l(({className:e,...t})=>p(`p`,{"data-slot":`field-description`,className:d(`nth-last-2:-mt-1 font-normal text-text-positive-weak text-xs leading-normal last:mt-0 [&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4 [[data-variant=legend]+&]:-mt-1.5`,e),...t}));F.displayName=`FieldDescription`;const I=l(({isShow:e=!0,className:t,children:n,...r})=>e===!1?null:m(`div`,{"data-slot":`field-note`,className:d(`flex items-start gap-1.5 rounded border border-primary-muted/60 bg-primary-bg-subtle/80 px-2.5 py-2 text-text-positive-weak text-xs mt-1`,t),...r,children:[p(ee,{size:12,className:`mt-0.5 shrink-0 text-primary/70`}),p(`span`,{children:n})]}));I.displayName=`FieldNote`;const L=l(({tooltip:e})=>m(t,{children:[p(r,{asChild:!0,children:m(`button`,{type:`button`,tabIndex:-1,className:`inline-flex cursor-default items-center text-text-positive-weak/70 hover:text-text-positive focus:outline-none`,children:[p(o,{size:13,"aria-hidden":`true`}),p(`span`,{className:`sr-only`,children:`Thêm thông tin`})]})}),p(n,{side:`top`,className:`max-w-xs text-balance`,children:e})]}));L.displayName=`FieldTooltip`;const R=l(({children:e,className:t,...n})=>m(`div`,{"data-slot":`field-separator`,"data-content":!!e,className:d(`relative -my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2`,t),...n,children:[p(a,{className:`absolute inset-0 top-1/2`}),e&&p(`span`,{className:`relative mx-auto block w-fit bg-background px-2 text-text-positive-weak`,"data-slot":`field-separator-content`,children:e})]}));R.displayName=`FieldSeparator`;const z=l(({className:e,children:t,errors:n,requiredMessage:r=`Trường này là bắt buộc`,...i})=>{let a=u(()=>{let e=e=>e.code===`invalid_type`?r:e.message;return t||(n?n?.length===1&&n[0]?.message?p(`div`,{className:`flex flex-row items-center justify-start gap-x-0.5`,children:p(`p`,{children:e(n[0])})}):p(`ul`,{className:`flex list-none flex-col`,children:n.map(t=>typeof t==`string`?p(`li`,{children:t},t):t?.message?p(`li`,{children:e(t)},t.code??t.message):null)}):null)},[t,n,r]);return a?p(`div`,{role:`alert`,"data-slot":`field-error`,className:d(`w-full font-medium text-danger-strong text-xs`,e),...i,children:a}):null});z.displayName=`FieldError`;const B=l(({label:e,description:t,placeholder:n,tooltip:r,helperText:a,showErrorMessage:o=!0,required:ee=!1,maxLength:s,showCharacterCount:c,enableLink:l,enableBubbleMenu:u,enableTaskList:d,enableHighlight:f,enableColor:h,enableImage:g,enableTable:_,enableSlashCommand:v,onImageUpload:y,variant:b,size:x})=>{let{form:C,state:w,handleChange:T}=S(),E=ne(C.store,({isSubmitting:e})=>e),D=w.meta.isDirty&&w.meta.isTouched&&!w.meta.isValid,O=ee&&w.value===null,M=te(e=>{E||T(e||null)},[E,T]);return m(k,{className:`gap-y-4 px-4`,children:[m(A,{orientation:`vertical`,"data-invalid":D,children:[m(j,{children:[m(N,{"aria-required":O,children:[e,r&&p(L,{tooltip:r})]}),p(F,{children:t})]}),p(i,{value:w.value??``,placeholder:n,readOnly:E,onChange:M,maxLength:s,showCharacterCount:c,enableLink:l,enableBubbleMenu:u,enableTaskList:d,enableHighlight:f,enableColor:h,enableImage:g,enableTable:_,enableSlashCommand:v,onImageUpload:y,variant:b,size:x}),w.meta.isDirty&&o&&!!w.meta.errors.length&&p(z,{errors:w.meta.errors}),p(I,{isShow:!!a,children:a})]}),p(R,{})]})});B.displayName=`TextEditorField`;function V(){return p(e,{"data-slot":`tanstack-field-skeleton`,className:`h-9 w-full rounded`})}function H(e){let t=c(e);return e=>p(s,{fallback:p(V,{}),children:p(t,{...e})})}const U=H(()=>import(`./text-field-Bx_vnc4O.mjs`).then(e=>({default:e.TextField}))),W=H(()=>import(`./textarea-field-Cim3l0y8.mjs`).then(e=>({default:e.TextareaField}))),G=H(()=>import(`./number-field-CVemIwIg.mjs`).then(e=>({default:e.NumberField}))),K=H(()=>import(`./email-field-BVl7u9pR.mjs`).then(e=>({default:e.EmailField}))),q=H(()=>import(`./password-field-BxYaT8lO.mjs`).then(e=>({default:e.PasswordField}))),J=H(()=>import(`./select-field-D7Ny2Qne.mjs`).then(e=>({default:e.SelectField}))),Y=H(()=>import(`./combobox-field-ebIvbhJn.mjs`).then(e=>({default:e.ComboboxField}))),X=H(()=>import(`./date-field-CNkxebta.mjs`).then(e=>({default:e.DateField}))),Z=H(()=>import(`./switch-field-DBGFsmEZ.mjs`).then(e=>({default:e.SwitchField}))),Q=H(()=>import(`./radio-group-field-DYqU_6hW.mjs`).then(e=>({default:e.RadioGroupField}))),$=H(()=>import(`./checkbox-field-DodKeFS_.mjs`).then(e=>({default:e.CheckboxField}))),re=H(()=>import(`./simple-text-field-DJl5SIGn.mjs`).then(e=>({default:e.SimpleTextField}))),ie=H(()=>import(`./simple-email-field-CKDQgzh5.mjs`).then(e=>({default:e.SimpleEmailField}))),ae=H(()=>import(`./simple-password-field-Cnj-hf5g.mjs`).then(e=>({default:e.SimplePasswordField}))),oe=H(()=>import(`./simple-textarea-field-BcHdUMTK.mjs`).then(e=>({default:e.SimpleTextareaField}))),se=H(()=>import(`./simple-number-field-SDbxL6L7.mjs`).then(e=>({default:e.SimpleNumberField}))),ce=H(()=>import(`./simple-select-field-C0ecQx68.mjs`).then(e=>({default:e.SimpleSelectField}))),le=c(()=>import(`./simple-array-field-DJXa_vST.mjs`).then(e=>({default:e.SimpleArrayField})));function ue(e){return p(s,{fallback:p(V,{}),children:p(le,{...e})})}const de=H(()=>import(`./simple-boolean-field-CVNT8NBk.mjs`).then(e=>({default:e.SimpleBooleanField}))),fe=H(()=>import(`./simple-combobox-field-BnAUDfQU.mjs`).then(e=>({default:e.SimpleComboboxField}))),pe=H(()=>import(`./simple-date-field-DIa6UBF2.mjs`).then(e=>({default:e.SimpleDateField}))),me=H(()=>import(`./simple-radio-group-field-4-eWSXY7.mjs`).then(e=>({default:e.SimpleRadioGroupField}))),he=H(()=>import(`./simple-array-field-DJXa_vST.mjs`).then(e=>({default:e.ArrayCol}))),ge=H(()=>import(`./simple-array-field-DJXa_vST.mjs`).then(e=>({default:e.ArrayHeaderRow}))),_e=H(()=>import(`./dialog-form-zK6Gk9Gk.mjs`).then(e=>({default:e.TanStackDialogForm}))),ve=H(()=>import(`./popover-form-C9mNInr2.mjs`).then(e=>({default:e.TanStackPopoverForm}))),ye=H(()=>import(`./container-form-BjiGIzwm.mjs`).then(e=>({default:e.TanStackContainerForm}))),be=H(()=>import(`./section-form-BJWWflUR.mjs`).then(e=>({default:e.TanStackSectionForm}))),xe=H(()=>import(`./card-form-D9fNO-6F.mjs`).then(e=>({default:e.TanStackCardForm}))),Se=H(()=>import(`./group-field-8nINgAeO.mjs`).then(e=>({default:e.TanStackFieldGroup}))),Ce=H(()=>import(`./title-field-2dABwspv.mjs`).then(e=>({default:e.TanStackTitleField}))),we=H(()=>import(`./actions-form-CB0lZlE6.mjs`).then(e=>({default:e.TanStackActionsForm}))),Te=H(()=>import(`./action-submit-DyNvI-F2.mjs`).then(e=>({default:e.TanStackActionSubmit}))),Ee=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldGroup}))),De=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.Field}))),Oe=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldContent}))),ke=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldLabel}))),Ae=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldContentMain}))),je=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldSeparator}))),Me=H(()=>Promise.resolve().then(()=>T).then(e=>({default:e.FieldError}))),{useAppForm:Ne,withForm:Pe,withFieldGroup:Fe}=g({fieldContext:b,formContext:x,fieldComponents:{TextField:U,TextareaField:W,TextEditorField:B,NumberField:G,EmailField:K,PasswordField:q,SelectField:J,ComboboxField:Y,DateField:X,SwitchField:Z,RadioGroupField:Q,CheckboxField:$,SimpleTextField:re,SimpleEmailField:ie,SimplePasswordField:ae,SimpleTextareaField:oe,SimpleNumberField:se,SimpleSelectField:ce,SimpleArrayField:ue,SimpleBooleanField:de,SimpleComboboxField:fe,SimpleDateField:pe,SimpleRadioGroupField:me,FieldGroup:Ee,Field:De,FieldContent:Oe,FieldLabel:ke,FieldContentMain:Ae,FieldSeparator:je,FieldError:Me},formComponents:{TanStackDialogForm:_e,TanStackPopoverForm:ve,TanStackContainerForm:ye,TanStackSectionForm:be,TanStackCardForm:xe,TanStackFieldGroup:Se,TanStackTitleField:Ce,TanStackActionsForm:we,TanStackActionSubmit:Te,ArrayCol:he,ArrayHeaderRow:ge}});export{I as $,Te as A,W as B,se as C,re as D,ce as E,Se as F,A as G,Fe as H,ve as I,F as J,j as K,be as L,xe as M,ye as N,oe as O,_e as P,O as Q,Ce as R,ie as S,me as T,Pe as U,Ne as V,B as W,k as X,z as Y,N as Z,J as _,X as a,fe as b,Oe as c,Ee as d,R as et,ke as f,Q as g,q as h,Y as i,C as it,we as j,Z as k,Ae as l,G as m,ge as n,L as nt,K as o,je as p,M as q,$ as r,S as rt,De as s,he as t,P as tt,Me as u,ue as v,ae as w,pe as x,de as y,U as z};
|
|
2
|
+
//# sourceMappingURL=tanstack-form-BhKAn9I0.mjs.map
|