@senitix/ui 0.4.1 → 0.4.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion-BcwB0wwz.cjs +2 -0
- package/dist/accordion-BcwB0wwz.cjs.map +1 -0
- package/dist/accordion-BwnJKrKm.js +360 -0
- package/dist/accordion-BwnJKrKm.js.map +1 -0
- package/dist/appointment-scheduler-BoQQO51F.cjs +2 -0
- package/dist/appointment-scheduler-BoQQO51F.cjs.map +1 -0
- package/dist/appointment-scheduler-DHAs-mF_.js +192 -0
- package/dist/appointment-scheduler-DHAs-mF_.js.map +1 -0
- package/dist/arrow-right-CM3nmiZe.js +15 -0
- package/dist/arrow-right-CM3nmiZe.js.map +1 -0
- package/dist/arrow-right-vDxRZOfm.cjs +7 -0
- package/dist/arrow-right-vDxRZOfm.cjs.map +1 -0
- package/dist/avatar-BlEcWE7T.js +191 -0
- package/dist/avatar-BlEcWE7T.js.map +1 -0
- package/dist/avatar-Cl38Ye4J.cjs +2 -0
- package/dist/avatar-Cl38Ye4J.cjs.map +1 -0
- package/dist/badge-BZcdBG5J.cjs +23 -0
- package/dist/badge-BZcdBG5J.cjs.map +1 -0
- package/dist/badge-D0C_rP2l.js +157 -0
- package/dist/badge-D0C_rP2l.js.map +1 -0
- package/dist/button-BP_ug5gP.js +126 -0
- package/dist/button-BP_ug5gP.js.map +1 -0
- package/dist/button-CPuCii0R.cjs +2 -0
- package/dist/button-CPuCii0R.cjs.map +1 -0
- package/dist/{calendar-DgnhzEfp.js → calendar-86qoSnO7.js} +368 -433
- package/dist/calendar-86qoSnO7.js.map +1 -0
- package/dist/{calendar-D3RWU0_G.cjs → calendar-BH-AuyiB.cjs} +2 -2
- package/dist/{calendar-D3RWU0_G.cjs.map → calendar-BH-AuyiB.cjs.map} +1 -1
- package/dist/calendar-CSJ060ym.cjs +2 -0
- package/dist/calendar-CSJ060ym.cjs.map +1 -0
- package/dist/{calendar-CUxm1K7J.js → calendar-JUSWONQ0.js} +2 -2
- package/dist/{calendar-CUxm1K7J.js.map → calendar-JUSWONQ0.js.map} +1 -1
- package/dist/{card-DISL3sPJ.cjs → card-CToWUN1K.cjs} +2 -2
- package/dist/{card-DISL3sPJ.cjs.map → card-CToWUN1K.cjs.map} +1 -1
- package/dist/{card-fId5vof_.js → card-yxbWFvZ1.js} +2 -2
- package/dist/{card-fId5vof_.js.map → card-yxbWFvZ1.js.map} +1 -1
- package/dist/checkbox-BmugT50K.cjs +2 -0
- package/dist/checkbox-BmugT50K.cjs.map +1 -0
- package/dist/{checkbox-BY2zxQVv.js → checkbox-CTa9e4SG.js} +95 -97
- package/dist/checkbox-CTa9e4SG.js.map +1 -0
- package/dist/chevron-left-5h87iFo_.cjs +7 -0
- package/dist/chevron-left-5h87iFo_.cjs.map +1 -0
- package/dist/chevron-left-DD5mQuvf.js +14 -0
- package/dist/chevron-left-DD5mQuvf.js.map +1 -0
- package/dist/{chevron-right-Bxf8i4gi.cjs → chevron-right-D-TdAZ7l.cjs} +2 -2
- package/dist/{chevron-right-Bxf8i4gi.cjs.map → chevron-right-D-TdAZ7l.cjs.map} +1 -1
- package/dist/{chevron-right-BLyGmyaF.js → chevron-right-Di90aqSn.js} +2 -2
- package/dist/{chevron-right-BLyGmyaF.js.map → chevron-right-Di90aqSn.js.map} +1 -1
- package/dist/chevron-up-Bq55Db6X.cjs +7 -0
- package/dist/{chevron-up-C3RClqXD.cjs.map → chevron-up-Bq55Db6X.cjs.map} +1 -1
- package/dist/{chevron-up-BmYZUtrk.js → chevron-up-Dr7EIn9V.js} +2 -2
- package/dist/{chevron-up-BmYZUtrk.js.map → chevron-up-Dr7EIn9V.js.map} +1 -1
- package/dist/clock-BjJE8PGr.js +15 -0
- package/dist/clock-BjJE8PGr.js.map +1 -0
- package/dist/clock-CnxBAA_O.cjs +7 -0
- package/dist/clock-CnxBAA_O.cjs.map +1 -0
- package/dist/command-BPtg-XK3.cjs +2 -0
- package/dist/command-BPtg-XK3.cjs.map +1 -0
- package/dist/command-VraXPLVI.js +404 -0
- package/dist/command-VraXPLVI.js.map +1 -0
- package/dist/components/builders/index.cjs.js +2 -0
- package/dist/components/builders/index.cjs.js.map +1 -0
- package/dist/components/builders/index.es.js +42 -0
- package/dist/components/builders/index.es.js.map +1 -0
- package/dist/components/charts/index.cjs.js +1 -1
- package/dist/components/charts/index.es.js +7 -6
- package/dist/components/charts/index.es.js.map +1 -1
- package/dist/components/data-display/index.cjs.js +1 -1
- package/dist/components/data-display/index.es.js +43 -20
- package/dist/components/dnd/index.cjs.js +1 -1
- package/dist/components/dnd/index.es.js +1 -1
- package/dist/components/feedback/index.cjs.js +1 -1
- package/dist/components/feedback/index.es.js +1 -1
- package/dist/components/forms/index.cjs.js +1 -1
- package/dist/components/forms/index.es.js +24 -23
- package/dist/components/forms/index.es.js.map +1 -1
- package/dist/components/layouts/index.cjs.js +1 -1
- package/dist/components/layouts/index.es.js +45 -21
- package/dist/components/messaging/index.cjs.js +2 -0
- package/dist/components/messaging/index.cjs.js.map +1 -0
- package/dist/components/messaging/index.es.js +15 -0
- package/dist/components/messaging/index.es.js.map +1 -0
- package/dist/components/navigation/index.cjs.js +1 -1
- package/dist/components/navigation/index.es.js +1 -1
- package/dist/components/scheduling/index.cjs.js +2 -0
- package/dist/components/scheduling/index.cjs.js.map +1 -0
- package/dist/components/scheduling/index.es.js +6 -0
- package/dist/components/scheduling/index.es.js.map +1 -0
- package/dist/components/ui/index.cjs.js +1 -1
- package/dist/components/ui/index.es.js +168 -158
- package/dist/components/ui/index.es.js.map +1 -1
- package/dist/dialog-BFBDL8_i.js +382 -0
- package/dist/dialog-BFBDL8_i.js.map +1 -0
- package/dist/dialog-DO5i1PED.cjs +6 -0
- package/dist/dialog-DO5i1PED.cjs.map +1 -0
- package/dist/dropdown-menu-CkCCV_tw.js +969 -0
- package/dist/dropdown-menu-CkCCV_tw.js.map +1 -0
- package/dist/dropdown-menu-ejikFvg2.cjs +7 -0
- package/dist/dropdown-menu-ejikFvg2.cjs.map +1 -0
- package/dist/{ellipsis-6eUne95u.js → ellipsis-CKhpjj5H.js} +2 -2
- package/dist/{ellipsis-6eUne95u.js.map → ellipsis-CKhpjj5H.js.map} +1 -1
- package/dist/{ellipsis-DkM3GBF5.cjs → ellipsis-Dk7Wfc4i.cjs} +3 -3
- package/dist/{ellipsis-DkM3GBF5.cjs.map → ellipsis-Dk7Wfc4i.cjs.map} +1 -1
- package/dist/external-link-CGBqsrbm.cjs +7 -0
- package/dist/external-link-CGBqsrbm.cjs.map +1 -0
- package/dist/external-link-UeWW0ty3.js +16 -0
- package/dist/external-link-UeWW0ty3.js.map +1 -0
- package/dist/eye-Cved4eAo.cjs +7 -0
- package/dist/eye-Cved4eAo.cjs.map +1 -0
- package/dist/eye-KdCUpmO8.js +21 -0
- package/dist/eye-KdCUpmO8.js.map +1 -0
- package/dist/{file-Cw_u_aJB.js → file-CHbdXCWO.js} +2 -2
- package/dist/{file-Cw_u_aJB.js.map → file-CHbdXCWO.js.map} +1 -1
- package/dist/{file-Cp5UoYUZ.cjs → file-CqYRamm8.cjs} +3 -3
- package/dist/{file-Cp5UoYUZ.cjs.map → file-CqYRamm8.cjs.map} +1 -1
- package/dist/file-spreadsheet-CpySxI0-.cjs +7 -0
- package/dist/file-spreadsheet-CpySxI0-.cjs.map +1 -0
- package/dist/file-spreadsheet-EqZMR-mM.js +19 -0
- package/dist/file-spreadsheet-EqZMR-mM.js.map +1 -0
- package/dist/form-preview-BGdea5K7.cjs +111 -0
- package/dist/form-preview-BGdea5K7.cjs.map +1 -0
- package/dist/form-preview-C6WfeXyD.js +12075 -0
- package/dist/form-preview-C6WfeXyD.js.map +1 -0
- package/dist/full-calendar-CZMK_rPy.cjs +18 -0
- package/dist/full-calendar-CZMK_rPy.cjs.map +1 -0
- package/dist/full-calendar-CjaDgutS.js +2631 -0
- package/dist/full-calendar-CjaDgutS.js.map +1 -0
- package/dist/funnel-chart-Dfj1pOyV.cjs +6 -0
- package/dist/funnel-chart-Dfj1pOyV.cjs.map +1 -0
- package/dist/funnel-chart-o9qcEMgg.js +2952 -0
- package/dist/funnel-chart-o9qcEMgg.js.map +1 -0
- package/dist/global-search-Dhv8goH8.js +1331 -0
- package/dist/global-search-Dhv8goH8.js.map +1 -0
- package/dist/global-search-msFICB8l.cjs +22 -0
- package/dist/global-search-msFICB8l.cjs.map +1 -0
- package/dist/hooks/index.cjs.js +1 -1
- package/dist/hooks/index.es.js +9 -7
- package/dist/hooks/index.es.js.map +1 -1
- package/dist/{index-DtaLkIY8.js → index-BGUveO6l.js} +84 -79
- package/dist/{index-DtaLkIY8.js.map → index-BGUveO6l.js.map} +1 -1
- package/dist/{index-gVbM3K4f.cjs → index-Bhee6XHk.cjs} +2 -2
- package/dist/{index-gVbM3K4f.cjs.map → index-Bhee6XHk.cjs.map} +1 -1
- package/dist/index-CrSlyWAA.js +1090 -0
- package/dist/index-CrSlyWAA.js.map +1 -0
- package/dist/{index-Dk_Et2WJ.js → index-D8-pHJim.js} +2 -2
- package/dist/{index-Dk_Et2WJ.js.map → index-D8-pHJim.js.map} +1 -1
- package/dist/index-Dy_9oyP3.cjs +2 -0
- package/dist/{index-D2U2F80P.cjs.map → index-Dy_9oyP3.cjs.map} +1 -1
- package/dist/index-hnbbvGmb.cjs +21 -0
- package/dist/index-hnbbvGmb.cjs.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.es.js +434 -319
- package/dist/index.es.js.map +1 -1
- package/dist/input-Pfq8fkiV.js +2718 -0
- package/dist/input-Pfq8fkiV.js.map +1 -0
- package/dist/input-UBp7V7li.cjs +52 -0
- package/dist/input-UBp7V7li.cjs.map +1 -0
- package/dist/label-CExiitfO.js +50 -0
- package/dist/label-CExiitfO.js.map +1 -0
- package/dist/label-F0zGAiI2.cjs +2 -0
- package/dist/label-F0zGAiI2.cjs.map +1 -0
- package/dist/loader-circle-CBVYGIRp.js +14 -0
- package/dist/loader-circle-CBVYGIRp.js.map +1 -0
- package/dist/loader-circle-IaJKvYsP.cjs +7 -0
- package/dist/loader-circle-IaJKvYsP.cjs.map +1 -0
- package/dist/locale-provider-BHGNO4j7.js +1786 -0
- package/dist/locale-provider-BHGNO4j7.js.map +1 -0
- package/dist/locale-provider-BScpm-eC.cjs +2 -0
- package/dist/locale-provider-BScpm-eC.cjs.map +1 -0
- package/dist/locale-selector-D0jV4-90.cjs +12 -0
- package/dist/locale-selector-D0jV4-90.cjs.map +1 -0
- package/dist/locale-selector-n75sM9qA.js +1740 -0
- package/dist/locale-selector-n75sM9qA.js.map +1 -0
- package/dist/map-pin-CHh0xl6i.js +46 -0
- package/dist/map-pin-CHh0xl6i.js.map +1 -0
- package/dist/map-pin-DGObSZ40.cjs +17 -0
- package/dist/map-pin-DGObSZ40.cjs.map +1 -0
- package/dist/message-square-B_xLey5D.js +14 -0
- package/dist/message-square-B_xLey5D.js.map +1 -0
- package/dist/message-square-_69ua8rH.cjs +7 -0
- package/dist/message-square-_69ua8rH.cjs.map +1 -0
- package/dist/minus-BUFkTM0k.cjs +7 -0
- package/dist/{minus-C0uyaz70.cjs.map → minus-BUFkTM0k.cjs.map} +1 -1
- package/dist/{minus-CiwV65ZG.js → minus-DJ0tmymW.js} +2 -2
- package/dist/{minus-CiwV65ZG.js.map → minus-DJ0tmymW.js.map} +1 -1
- package/dist/multi-container-CytCGxsc.cjs +7 -0
- package/dist/multi-container-CytCGxsc.cjs.map +1 -0
- package/dist/multi-container-DmkgnCJN.js +799 -0
- package/dist/multi-container-DmkgnCJN.js.map +1 -0
- package/dist/multi-select-D9akBt7B.js +224 -0
- package/dist/multi-select-D9akBt7B.js.map +1 -0
- package/dist/multi-select-DxN_LuXC.cjs +7 -0
- package/dist/multi-select-DxN_LuXC.cjs.map +1 -0
- package/dist/pencil-BJULwaDl.cjs +12 -0
- package/dist/pencil-BJULwaDl.cjs.map +1 -0
- package/dist/pencil-HL0trGIs.js +31 -0
- package/dist/pencil-HL0trGIs.js.map +1 -0
- package/dist/permission-matrix-CTQ1OiTO.js +6128 -0
- package/dist/permission-matrix-CTQ1OiTO.js.map +1 -0
- package/dist/permission-matrix-DRu-cV44.cjs +93 -0
- package/dist/permission-matrix-DRu-cV44.cjs.map +1 -0
- package/dist/phone-B0J1dGIE.js +31 -0
- package/dist/phone-B0J1dGIE.js.map +1 -0
- package/dist/phone-DPA6vucM.cjs +12 -0
- package/dist/phone-DPA6vucM.cjs.map +1 -0
- package/dist/plus-Bcuujcqd.cjs +7 -0
- package/dist/{plus-BsV82JJ5.cjs.map → plus-Bcuujcqd.cjs.map} +1 -1
- package/dist/{plus-DxD6rofl.js → plus-D7DMDKb8.js} +2 -2
- package/dist/{plus-DxD6rofl.js.map → plus-D7DMDKb8.js.map} +1 -1
- package/dist/popover-Bba1ELMX.cjs +2 -0
- package/dist/popover-Bba1ELMX.cjs.map +1 -0
- package/dist/popover-CZWAuYUL.js +281 -0
- package/dist/popover-CZWAuYUL.js.map +1 -0
- package/dist/progress-BPpsmZ48.js +218 -0
- package/dist/progress-BPpsmZ48.js.map +1 -0
- package/dist/progress-BrzjVhWG.cjs +22 -0
- package/dist/progress-BrzjVhWG.cjs.map +1 -0
- package/dist/providers/index.cjs.js +1 -1
- package/dist/providers/index.es.js +1 -1
- package/dist/radio-group-B9RM_c7e.js +244 -0
- package/dist/radio-group-B9RM_c7e.js.map +1 -0
- package/dist/radio-group-_n8TTqNQ.cjs +2 -0
- package/dist/radio-group-_n8TTqNQ.cjs.map +1 -0
- package/dist/record-dialog-footer-CQPnqhfv.js +2577 -0
- package/dist/record-dialog-footer-CQPnqhfv.js.map +1 -0
- package/dist/record-dialog-footer-DLH96eAV.cjs +37 -0
- package/dist/record-dialog-footer-DLH96eAV.cjs.map +1 -0
- package/dist/scroll-area-CGNbDUBQ.js +889 -0
- package/dist/scroll-area-CGNbDUBQ.js.map +1 -0
- package/dist/scroll-area-HsTSI_58.cjs +22 -0
- package/dist/scroll-area-HsTSI_58.cjs.map +1 -0
- package/dist/select-CEsYpjPi.cjs +2 -0
- package/dist/select-CEsYpjPi.cjs.map +1 -0
- package/dist/{select-BJpZrtep.js → select-Ce2C2acZ.js} +184 -179
- package/dist/select-Ce2C2acZ.js.map +1 -0
- package/dist/send-DIkOd-pu.js +21 -0
- package/dist/send-DIkOd-pu.js.map +1 -0
- package/dist/send-H6HC-rS8.cjs +7 -0
- package/dist/send-H6HC-rS8.cjs.map +1 -0
- package/dist/shared-inbox-Bv0AgLew.js +702 -0
- package/dist/shared-inbox-Bv0AgLew.js.map +1 -0
- package/dist/shared-inbox-DWEKfDX3.cjs +22 -0
- package/dist/shared-inbox-DWEKfDX3.cjs.map +1 -0
- package/dist/sheet-C0-aBGln.cjs +2 -0
- package/dist/sheet-C0-aBGln.cjs.map +1 -0
- package/dist/sheet-Cyq_eDFW.js +147 -0
- package/dist/sheet-Cyq_eDFW.js.map +1 -0
- package/dist/{skeleton-Bl6FAxHT.js → skeleton-C_dwS3_6.js} +2 -2
- package/dist/{skeleton-Bl6FAxHT.js.map → skeleton-C_dwS3_6.js.map} +1 -1
- package/dist/{skeleton-Cb6MWerF.cjs → skeleton-D3YsjVWD.cjs} +2 -2
- package/dist/{skeleton-Cb6MWerF.cjs.map → skeleton-D3YsjVWD.cjs.map} +1 -1
- package/dist/sparkline-chart-BP4bk24J.js +15881 -0
- package/dist/sparkline-chart-BP4bk24J.js.map +1 -0
- package/dist/sparkline-chart-D6SLZVjp.cjs +79 -0
- package/dist/sparkline-chart-D6SLZVjp.cjs.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/switch-AEZvZSRV.cjs +2 -0
- package/dist/switch-AEZvZSRV.cjs.map +1 -0
- package/dist/switch-BF4LLvaU.js +147 -0
- package/dist/switch-BF4LLvaU.js.map +1 -0
- package/dist/table-2-Bn-YjZ9s.cjs +17 -0
- package/dist/table-2-Bn-YjZ9s.cjs.map +1 -0
- package/dist/table-2-C7E_N72K.js +52 -0
- package/dist/table-2-C7E_N72K.js.map +1 -0
- package/dist/textarea-4qZDuQ-C.js +206 -0
- package/dist/textarea-4qZDuQ-C.js.map +1 -0
- package/dist/textarea-Bq_zyt0L.cjs +2 -0
- package/dist/textarea-Bq_zyt0L.cjs.map +1 -0
- package/dist/tooltip-Dd7le9EO.cjs +2 -0
- package/dist/tooltip-Dd7le9EO.cjs.map +1 -0
- package/dist/tooltip-Dee-pNPI.js +338 -0
- package/dist/tooltip-Dee-pNPI.js.map +1 -0
- package/dist/trash-2-B3EP3JfM.js +18 -0
- package/dist/trash-2-B3EP3JfM.js.map +1 -0
- package/dist/trash-2-DWEeKlWT.cjs +7 -0
- package/dist/trash-2-DWEeKlWT.cjs.map +1 -0
- package/dist/{trending-up-BHFXgLWy.js → trending-up-ljWtN4pj.js} +2 -2
- package/dist/{trending-up-BHFXgLWy.js.map → trending-up-ljWtN4pj.js.map} +1 -1
- package/dist/{trending-up-BBjz_E69.cjs → trending-up-mLgmkp--.cjs} +2 -2
- package/dist/{trending-up-BBjz_E69.cjs.map → trending-up-mLgmkp--.cjs.map} +1 -1
- package/dist/upload-2tm-XihE.cjs +7 -0
- package/dist/upload-2tm-XihE.cjs.map +1 -0
- package/dist/upload-C_JDP8O0.js +16 -0
- package/dist/upload-C_JDP8O0.js.map +1 -0
- package/dist/use-controllable-state-3ATd6Fqd.cjs +2 -0
- package/dist/use-controllable-state-3ATd6Fqd.cjs.map +1 -0
- package/dist/use-controllable-state-CEa-Zlq6.js +23 -0
- package/dist/use-controllable-state-CEa-Zlq6.js.map +1 -0
- package/dist/use-formatters-Bb0fX1lW.cjs +2 -0
- package/dist/{use-formatters-CObUgipW.cjs.map → use-formatters-Bb0fX1lW.cjs.map} +1 -1
- package/dist/{use-formatters-Bgj3JA4i.js → use-formatters-xeMS4gdV.js} +1160 -1165
- package/dist/{use-formatters-Bgj3JA4i.js.map → use-formatters-xeMS4gdV.js.map} +1 -1
- package/dist/utils/index.cjs.js +1 -1
- package/dist/utils/index.es.js +1 -1
- package/dist/welcome-card-Ccbl_miQ.js +1007 -0
- package/dist/welcome-card-Ccbl_miQ.js.map +1 -0
- package/dist/welcome-card-D-ShMkaS.cjs +37 -0
- package/dist/welcome-card-D-ShMkaS.cjs.map +1 -0
- package/dist/x-BBkgEhUv.js +15 -0
- package/dist/x-BBkgEhUv.js.map +1 -0
- package/dist/x-D-El5XAY.cjs +7 -0
- package/dist/x-D-El5XAY.cjs.map +1 -0
- package/package.json +20 -2
- package/dist/avatar-BT_SPwFW.cjs +0 -18
- package/dist/avatar-BT_SPwFW.cjs.map +0 -1
- package/dist/avatar-C5-ZWIqT.js +0 -305
- package/dist/avatar-C5-ZWIqT.js.map +0 -1
- package/dist/calendar-BF5drX5u.cjs +0 -12
- package/dist/calendar-BF5drX5u.cjs.map +0 -1
- package/dist/calendar-DgnhzEfp.js.map +0 -1
- package/dist/checkbox-BY2zxQVv.js.map +0 -1
- package/dist/checkbox-CL6u7vL6.cjs +0 -2
- package/dist/checkbox-CL6u7vL6.cjs.map +0 -1
- package/dist/chevron-down-BiUlxZA-.js +0 -14
- package/dist/chevron-down-BiUlxZA-.js.map +0 -1
- package/dist/chevron-down-Ce0kqXiD.cjs +0 -7
- package/dist/chevron-down-Ce0kqXiD.cjs.map +0 -1
- package/dist/chevron-up-C3RClqXD.cjs +0 -7
- package/dist/createLucideIcon-BC8wu-bu.js +0 -80
- package/dist/createLucideIcon-BC8wu-bu.js.map +0 -1
- package/dist/createLucideIcon-Cv8nC2E9.cjs +0 -22
- package/dist/createLucideIcon-Cv8nC2E9.cjs.map +0 -1
- package/dist/filter-tags-DoRzXjuY.cjs +0 -48
- package/dist/filter-tags-DoRzXjuY.cjs.map +0 -1
- package/dist/filter-tags-zEQmRhEU.js +0 -2712
- package/dist/filter-tags-zEQmRhEU.js.map +0 -1
- package/dist/full-calendar-5Z4JSj8g.js +0 -3551
- package/dist/full-calendar-5Z4JSj8g.js.map +0 -1
- package/dist/full-calendar-DjAvCfuE.cjs +0 -23
- package/dist/full-calendar-DjAvCfuE.cjs.map +0 -1
- package/dist/global-search-BbZfc-VL.js +0 -1216
- package/dist/global-search-BbZfc-VL.js.map +0 -1
- package/dist/global-search-Bd74_wPV.cjs +0 -22
- package/dist/global-search-Bd74_wPV.cjs.map +0 -1
- package/dist/index-D2U2F80P.cjs +0 -2
- package/dist/index-DG0KV-sw.cjs +0 -11
- package/dist/index-DG0KV-sw.cjs.map +0 -1
- package/dist/index-XnFSmCuh.js +0 -299
- package/dist/index-XnFSmCuh.js.map +0 -1
- package/dist/input-BgPy-4Qu.js +0 -3658
- package/dist/input-BgPy-4Qu.js.map +0 -1
- package/dist/input-Cfr2WB-P.cjs +0 -47
- package/dist/input-Cfr2WB-P.cjs.map +0 -1
- package/dist/locale-provider-BojNdf1Y.cjs +0 -2
- package/dist/locale-provider-BojNdf1Y.cjs.map +0 -1
- package/dist/locale-provider-DzBeb-X3.js +0 -1013
- package/dist/locale-provider-DzBeb-X3.js.map +0 -1
- package/dist/locale-selector-BD1IWk6X.cjs +0 -22
- package/dist/locale-selector-BD1IWk6X.cjs.map +0 -1
- package/dist/locale-selector-DLRSyVye.js +0 -1772
- package/dist/locale-selector-DLRSyVye.js.map +0 -1
- package/dist/minus-C0uyaz70.cjs +0 -7
- package/dist/multi-container-BZia7HCU.js +0 -748
- package/dist/multi-container-BZia7HCU.js.map +0 -1
- package/dist/multi-container-BdNbgtPZ.cjs +0 -7
- package/dist/multi-container-BdNbgtPZ.cjs.map +0 -1
- package/dist/pipeline-Dh052Dvj.cjs +0 -27
- package/dist/pipeline-Dh052Dvj.cjs.map +0 -1
- package/dist/pipeline-DqWvleNy.js +0 -1076
- package/dist/pipeline-DqWvleNy.js.map +0 -1
- package/dist/plus-BsV82JJ5.cjs +0 -7
- package/dist/popover-BgLxmm1z.cjs +0 -7
- package/dist/popover-BgLxmm1z.cjs.map +0 -1
- package/dist/popover-PI9jbhnS.js +0 -775
- package/dist/popover-PI9jbhnS.js.map +0 -1
- package/dist/progress-CTTt_CP3.js +0 -260
- package/dist/progress-CTTt_CP3.js.map +0 -1
- package/dist/progress-CTWb7X1Q.cjs +0 -37
- package/dist/progress-CTWb7X1Q.cjs.map +0 -1
- package/dist/scroll-area-A3jGu-Ta.js +0 -974
- package/dist/scroll-area-A3jGu-Ta.js.map +0 -1
- package/dist/scroll-area-DzDnWIYJ.cjs +0 -12
- package/dist/scroll-area-DzDnWIYJ.cjs.map +0 -1
- package/dist/select-BJpZrtep.js.map +0 -1
- package/dist/select-Ii8HRuXa.cjs +0 -2
- package/dist/select-Ii8HRuXa.cjs.map +0 -1
- package/dist/separator-BzcDE0Ei.cjs +0 -2
- package/dist/separator-BzcDE0Ei.cjs.map +0 -1
- package/dist/separator-DyarVo1-.js +0 -396
- package/dist/separator-DyarVo1-.js.map +0 -1
- package/dist/sheet-DPSdOoE6.js +0 -84
- package/dist/sheet-DPSdOoE6.js.map +0 -1
- package/dist/sheet-XtjvbEMq.cjs +0 -2
- package/dist/sheet-XtjvbEMq.cjs.map +0 -1
- package/dist/sparkline-chart-CeCDeMNk.cjs +0 -102
- package/dist/sparkline-chart-CeCDeMNk.cjs.map +0 -1
- package/dist/sparkline-chart-DUS4CoW_.js +0 -19787
- package/dist/sparkline-chart-DUS4CoW_.js.map +0 -1
- package/dist/use-formatters-CObUgipW.cjs +0 -2
- package/dist/welcome-card-CNuEa6Ck.cjs +0 -67
- package/dist/welcome-card-CNuEa6Ck.cjs.map +0 -1
- package/dist/welcome-card-Cp6t6G3j.js +0 -1041
- package/dist/welcome-card-Cp6t6G3j.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-provider-BScpm-eC.cjs","sources":["../src/lib/date-formats.ts","../src/lib/currencies.ts","../src/providers/locale-provider.tsx"],"sourcesContent":["export type SupportedLocale =\n | 'tr-TR'\n | 'en-US'\n | 'en-GB'\n | 'de-DE'\n | 'fr-FR'\n | 'es-ES'\n | 'it-IT'\n | 'pt-BR'\n | 'nl-NL'\n | 'pl-PL'\n | 'ru-RU'\n | 'ja-JP'\n | 'zh-CN'\n | 'ko-KR'\n | 'ar-SA'\n\nexport type DateFormatType = 'short' | 'long' | 'withTime' | 'relative'\nexport type TimeFormatType = 'short' | 'long'\n\nexport const dateFormats: Record<DateFormatType, Record<SupportedLocale, string>> = {\n short: {\n 'tr-TR': 'dd.MM.yyyy',\n 'en-US': 'MM/dd/yyyy',\n 'en-GB': 'dd/MM/yyyy',\n 'de-DE': 'dd.MM.yyyy',\n 'fr-FR': 'dd/MM/yyyy',\n 'es-ES': 'dd/MM/yyyy',\n 'it-IT': 'dd/MM/yyyy',\n 'pt-BR': 'dd/MM/yyyy',\n 'nl-NL': 'dd-MM-yyyy',\n 'pl-PL': 'dd.MM.yyyy',\n 'ru-RU': 'dd.MM.yyyy',\n 'ja-JP': 'yyyy/MM/dd',\n 'zh-CN': 'yyyy-MM-dd',\n 'ko-KR': 'yyyy.MM.dd',\n 'ar-SA': 'dd/MM/yyyy',\n },\n long: {\n 'tr-TR': 'd MMMM yyyy',\n 'en-US': 'MMMM d, yyyy',\n 'en-GB': 'd MMMM yyyy',\n 'de-DE': 'd. MMMM yyyy',\n 'fr-FR': 'd MMMM yyyy',\n 'es-ES': 'd de MMMM de yyyy',\n 'it-IT': 'd MMMM yyyy',\n 'pt-BR': 'd de MMMM de yyyy',\n 'nl-NL': 'd MMMM yyyy',\n 'pl-PL': 'd MMMM yyyy',\n 'ru-RU': 'd MMMM yyyy г.',\n 'ja-JP': 'yyyy年M月d日',\n 'zh-CN': 'yyyy年M月d日',\n 'ko-KR': 'yyyy년 M월 d일',\n 'ar-SA': 'd MMMM yyyy',\n },\n withTime: {\n 'tr-TR': 'dd.MM.yyyy HH:mm',\n 'en-US': 'MM/dd/yyyy hh:mm a',\n 'en-GB': 'dd/MM/yyyy HH:mm',\n 'de-DE': 'dd.MM.yyyy HH:mm',\n 'fr-FR': 'dd/MM/yyyy HH:mm',\n 'es-ES': 'dd/MM/yyyy HH:mm',\n 'it-IT': 'dd/MM/yyyy HH:mm',\n 'pt-BR': 'dd/MM/yyyy HH:mm',\n 'nl-NL': 'dd-MM-yyyy HH:mm',\n 'pl-PL': 'dd.MM.yyyy HH:mm',\n 'ru-RU': 'dd.MM.yyyy HH:mm',\n 'ja-JP': 'yyyy/MM/dd HH:mm',\n 'zh-CN': 'yyyy-MM-dd HH:mm',\n 'ko-KR': 'yyyy.MM.dd HH:mm',\n 'ar-SA': 'dd/MM/yyyy hh:mm a',\n },\n relative: {\n 'tr-TR': 'relative',\n 'en-US': 'relative',\n 'en-GB': 'relative',\n 'de-DE': 'relative',\n 'fr-FR': 'relative',\n 'es-ES': 'relative',\n 'it-IT': 'relative',\n 'pt-BR': 'relative',\n 'nl-NL': 'relative',\n 'pl-PL': 'relative',\n 'ru-RU': 'relative',\n 'ja-JP': 'relative',\n 'zh-CN': 'relative',\n 'ko-KR': 'relative',\n 'ar-SA': 'relative',\n },\n}\n\nexport const timeFormats: Record<TimeFormatType, Record<SupportedLocale, string>> = {\n short: {\n 'tr-TR': 'HH:mm',\n 'en-US': 'hh:mm a',\n 'en-GB': 'HH:mm',\n 'de-DE': 'HH:mm',\n 'fr-FR': 'HH:mm',\n 'es-ES': 'HH:mm',\n 'it-IT': 'HH:mm',\n 'pt-BR': 'HH:mm',\n 'nl-NL': 'HH:mm',\n 'pl-PL': 'HH:mm',\n 'ru-RU': 'HH:mm',\n 'ja-JP': 'HH:mm',\n 'zh-CN': 'HH:mm',\n 'ko-KR': 'HH:mm',\n 'ar-SA': 'hh:mm a',\n },\n long: {\n 'tr-TR': 'HH:mm:ss',\n 'en-US': 'hh:mm:ss a',\n 'en-GB': 'HH:mm:ss',\n 'de-DE': 'HH:mm:ss',\n 'fr-FR': 'HH:mm:ss',\n 'es-ES': 'HH:mm:ss',\n 'it-IT': 'HH:mm:ss',\n 'pt-BR': 'HH:mm:ss',\n 'nl-NL': 'HH:mm:ss',\n 'pl-PL': 'HH:mm:ss',\n 'ru-RU': 'HH:mm:ss',\n 'ja-JP': 'HH:mm:ss',\n 'zh-CN': 'HH:mm:ss',\n 'ko-KR': 'HH:mm:ss',\n 'ar-SA': 'hh:mm:ss a',\n },\n}\n\nexport interface LocaleInfo {\n code: SupportedLocale\n name: string\n nativeName: string\n flag: string\n defaultCurrency: string\n dateFormat: string\n timeFormat: string\n rtl?: boolean\n}\n\nexport const locales: Record<SupportedLocale, LocaleInfo> = {\n 'tr-TR': {\n code: 'tr-TR',\n name: 'Turkish',\n nativeName: 'Türkçe',\n flag: '🇹🇷',\n defaultCurrency: 'TRY',\n dateFormat: dateFormats.short['tr-TR'],\n timeFormat: timeFormats.short['tr-TR'],\n },\n 'en-US': {\n code: 'en-US',\n name: 'English (US)',\n nativeName: 'English (US)',\n flag: '🇺🇸',\n defaultCurrency: 'USD',\n dateFormat: dateFormats.short['en-US'],\n timeFormat: timeFormats.short['en-US'],\n },\n 'en-GB': {\n code: 'en-GB',\n name: 'English (UK)',\n nativeName: 'English (UK)',\n flag: '🇬🇧',\n defaultCurrency: 'GBP',\n dateFormat: dateFormats.short['en-GB'],\n timeFormat: timeFormats.short['en-GB'],\n },\n 'de-DE': {\n code: 'de-DE',\n name: 'German',\n nativeName: 'Deutsch',\n flag: '🇩🇪',\n defaultCurrency: 'EUR',\n dateFormat: dateFormats.short['de-DE'],\n timeFormat: timeFormats.short['de-DE'],\n },\n 'fr-FR': {\n code: 'fr-FR',\n name: 'French',\n nativeName: 'Français',\n flag: '🇫🇷',\n defaultCurrency: 'EUR',\n dateFormat: dateFormats.short['fr-FR'],\n timeFormat: timeFormats.short['fr-FR'],\n },\n 'es-ES': {\n code: 'es-ES',\n name: 'Spanish',\n nativeName: 'Español',\n flag: '🇪🇸',\n defaultCurrency: 'EUR',\n dateFormat: dateFormats.short['es-ES'],\n timeFormat: timeFormats.short['es-ES'],\n },\n 'it-IT': {\n code: 'it-IT',\n name: 'Italian',\n nativeName: 'Italiano',\n flag: '🇮🇹',\n defaultCurrency: 'EUR',\n dateFormat: dateFormats.short['it-IT'],\n timeFormat: timeFormats.short['it-IT'],\n },\n 'pt-BR': {\n code: 'pt-BR',\n name: 'Portuguese (Brazil)',\n nativeName: 'Português (Brasil)',\n flag: '🇧🇷',\n defaultCurrency: 'BRL',\n dateFormat: dateFormats.short['pt-BR'],\n timeFormat: timeFormats.short['pt-BR'],\n },\n 'nl-NL': {\n code: 'nl-NL',\n name: 'Dutch',\n nativeName: 'Nederlands',\n flag: '🇳🇱',\n defaultCurrency: 'EUR',\n dateFormat: dateFormats.short['nl-NL'],\n timeFormat: timeFormats.short['nl-NL'],\n },\n 'pl-PL': {\n code: 'pl-PL',\n name: 'Polish',\n nativeName: 'Polski',\n flag: '🇵🇱',\n defaultCurrency: 'PLN',\n dateFormat: dateFormats.short['pl-PL'],\n timeFormat: timeFormats.short['pl-PL'],\n },\n 'ru-RU': {\n code: 'ru-RU',\n name: 'Russian',\n nativeName: 'Русский',\n flag: '🇷🇺',\n defaultCurrency: 'RUB',\n dateFormat: dateFormats.short['ru-RU'],\n timeFormat: timeFormats.short['ru-RU'],\n },\n 'ja-JP': {\n code: 'ja-JP',\n name: 'Japanese',\n nativeName: '日本語',\n flag: '🇯🇵',\n defaultCurrency: 'JPY',\n dateFormat: dateFormats.short['ja-JP'],\n timeFormat: timeFormats.short['ja-JP'],\n },\n 'zh-CN': {\n code: 'zh-CN',\n name: 'Chinese (Simplified)',\n nativeName: '中文',\n flag: '🇨🇳',\n defaultCurrency: 'CNY',\n dateFormat: dateFormats.short['zh-CN'],\n timeFormat: timeFormats.short['zh-CN'],\n },\n 'ko-KR': {\n code: 'ko-KR',\n name: 'Korean',\n nativeName: '한국어',\n flag: '🇰🇷',\n defaultCurrency: 'KRW',\n dateFormat: dateFormats.short['ko-KR'],\n timeFormat: timeFormats.short['ko-KR'],\n },\n 'ar-SA': {\n code: 'ar-SA',\n name: 'Arabic',\n nativeName: 'العربية',\n flag: '🇸🇦',\n defaultCurrency: 'SAR',\n dateFormat: dateFormats.short['ar-SA'],\n timeFormat: timeFormats.short['ar-SA'],\n rtl: true,\n },\n}\n\nexport function getDateFormat(locale: SupportedLocale, type: DateFormatType = 'short'): string {\n return dateFormats[type][locale] || dateFormats[type]['en-US']\n}\n\nexport function getTimeFormat(locale: SupportedLocale, type: TimeFormatType = 'short'): string {\n return timeFormats[type][locale] || timeFormats[type]['en-US']\n}\n\nexport function getLocaleInfo(locale: SupportedLocale): LocaleInfo {\n return locales[locale] || locales['en-US']\n}\n\nexport function getAllLocales(): LocaleInfo[] {\n return Object.values(locales)\n}\n\nexport function getSupportedLocaleCodes(): SupportedLocale[] {\n return Object.keys(locales) as SupportedLocale[]\n}\n\nexport function isRTLLocale(locale: SupportedLocale): boolean {\n return locales[locale]?.rtl === true\n}\n","export interface Currency {\n code: string\n symbol: string\n name: string\n position: 'before' | 'after'\n decimals?: number\n}\n\nexport const currencies: Record<string, Currency> = {\n USD: { code: 'USD', symbol: '$', name: 'US Dollar', position: 'before', decimals: 2 },\n EUR: { code: 'EUR', symbol: '€', name: 'Euro', position: 'before', decimals: 2 },\n GBP: { code: 'GBP', symbol: '£', name: 'British Pound', position: 'before', decimals: 2 },\n TRY: { code: 'TRY', symbol: '₺', name: 'Turkish Lira', position: 'before', decimals: 2 },\n JPY: { code: 'JPY', symbol: '¥', name: 'Japanese Yen', position: 'before', decimals: 0 },\n CNY: { code: 'CNY', symbol: '¥', name: 'Chinese Yuan', position: 'before', decimals: 2 },\n KRW: { code: 'KRW', symbol: '₩', name: 'Korean Won', position: 'before', decimals: 0 },\n INR: { code: 'INR', symbol: '₹', name: 'Indian Rupee', position: 'before', decimals: 2 },\n BRL: { code: 'BRL', symbol: 'R$', name: 'Brazilian Real', position: 'before', decimals: 2 },\n RUB: { code: 'RUB', symbol: '₽', name: 'Russian Ruble', position: 'after', decimals: 2 },\n AUD: { code: 'AUD', symbol: 'A$', name: 'Australian Dollar', position: 'before', decimals: 2 },\n CAD: { code: 'CAD', symbol: 'C$', name: 'Canadian Dollar', position: 'before', decimals: 2 },\n CHF: { code: 'CHF', symbol: 'Fr', name: 'Swiss Franc', position: 'before', decimals: 2 },\n SEK: { code: 'SEK', symbol: 'kr', name: 'Swedish Krona', position: 'after', decimals: 2 },\n NOK: { code: 'NOK', symbol: 'kr', name: 'Norwegian Krone', position: 'after', decimals: 2 },\n DKK: { code: 'DKK', symbol: 'kr', name: 'Danish Krone', position: 'after', decimals: 2 },\n PLN: { code: 'PLN', symbol: 'zł', name: 'Polish Zloty', position: 'after', decimals: 2 },\n MXN: { code: 'MXN', symbol: '$', name: 'Mexican Peso', position: 'before', decimals: 2 },\n SGD: { code: 'SGD', symbol: 'S$', name: 'Singapore Dollar', position: 'before', decimals: 2 },\n HKD: { code: 'HKD', symbol: 'HK$', name: 'Hong Kong Dollar', position: 'before', decimals: 2 },\n AED: { code: 'AED', symbol: 'د.إ', name: 'UAE Dirham', position: 'before', decimals: 2 },\n SAR: { code: 'SAR', symbol: '﷼', name: 'Saudi Riyal', position: 'after', decimals: 2 },\n NZD: { code: 'NZD', symbol: 'NZ$', name: 'New Zealand Dollar', position: 'before', decimals: 2 },\n ZAR: { code: 'ZAR', symbol: 'R', name: 'South African Rand', position: 'before', decimals: 2 },\n THB: { code: 'THB', symbol: '฿', name: 'Thai Baht', position: 'before', decimals: 2 },\n IDR: { code: 'IDR', symbol: 'Rp', name: 'Indonesian Rupiah', position: 'before', decimals: 0 },\n MYR: { code: 'MYR', symbol: 'RM', name: 'Malaysian Ringgit', position: 'before', decimals: 2 },\n PHP: { code: 'PHP', symbol: '₱', name: 'Philippine Peso', position: 'before', decimals: 2 },\n VND: { code: 'VND', symbol: '₫', name: 'Vietnamese Dong', position: 'after', decimals: 0 },\n CZK: { code: 'CZK', symbol: 'Kč', name: 'Czech Koruna', position: 'after', decimals: 2 },\n HUF: { code: 'HUF', symbol: 'Ft', name: 'Hungarian Forint', position: 'after', decimals: 0 },\n ILS: { code: 'ILS', symbol: '₪', name: 'Israeli Shekel', position: 'before', decimals: 2 },\n CLP: { code: 'CLP', symbol: '$', name: 'Chilean Peso', position: 'before', decimals: 0 },\n COP: { code: 'COP', symbol: '$', name: 'Colombian Peso', position: 'before', decimals: 0 },\n ARS: { code: 'ARS', symbol: '$', name: 'Argentine Peso', position: 'before', decimals: 2 },\n PEN: { code: 'PEN', symbol: 'S/', name: 'Peruvian Sol', position: 'before', decimals: 2 },\n EGP: { code: 'EGP', symbol: 'E£', name: 'Egyptian Pound', position: 'before', decimals: 2 },\n NGN: { code: 'NGN', symbol: '₦', name: 'Nigerian Naira', position: 'before', decimals: 2 },\n PKR: { code: 'PKR', symbol: '₨', name: 'Pakistani Rupee', position: 'before', decimals: 2 },\n BDT: { code: 'BDT', symbol: '৳', name: 'Bangladeshi Taka', position: 'before', decimals: 2 },\n UAH: { code: 'UAH', symbol: '₴', name: 'Ukrainian Hryvnia', position: 'after', decimals: 2 },\n RON: { code: 'RON', symbol: 'lei', name: 'Romanian Leu', position: 'after', decimals: 2 },\n BGN: { code: 'BGN', symbol: 'лв', name: 'Bulgarian Lev', position: 'after', decimals: 2 },\n HRK: { code: 'HRK', symbol: 'kn', name: 'Croatian Kuna', position: 'after', decimals: 2 },\n ISK: { code: 'ISK', symbol: 'kr', name: 'Icelandic Krona', position: 'after', decimals: 0 },\n TWD: { code: 'TWD', symbol: 'NT$', name: 'Taiwan Dollar', position: 'before', decimals: 0 },\n} as const\n\nexport type CurrencyCode = keyof typeof currencies\n\nexport function getCurrency(code: string): Currency | undefined {\n return currencies[code]\n}\n\nexport function formatCurrency(\n amount: number,\n currencyCode: string,\n locale?: string\n): string {\n const currency = getCurrency(currencyCode)\n if (!currency) {\n return amount.toString()\n }\n\n const decimals = currency.decimals ?? 2\n const formattedAmount = amount.toLocaleString(locale, {\n minimumFractionDigits: decimals,\n maximumFractionDigits: decimals,\n })\n\n if (currency.position === 'before') {\n return `${currency.symbol}${formattedAmount}`\n }\n return `${formattedAmount} ${currency.symbol}`\n}\n\nexport function getAllCurrencies(): Currency[] {\n return Object.values(currencies)\n}\n\nexport function getCurrencyCodes(): string[] {\n return Object.keys(currencies)\n}\n","import * as React from 'react'\nimport { type SupportedLocale, locales, dateFormats, timeFormats } from '@/lib/date-formats'\nimport { currencies, type CurrencyCode, type Currency } from '@/lib/currencies'\n\nexport interface NumberFormatConfig {\n decimal: string\n thousand: string\n}\n\nexport type TranslationParams = Record<string, string | number>\nexport type TranslationResolver = (key: string, params?: TranslationParams) => string | undefined\n\nexport interface LocaleConfig {\n locale: SupportedLocale\n currency: CurrencyCode\n currencySymbol: string\n dateFormat: string\n timeFormat: string\n numberFormat: NumberFormatConfig\n translations: Record<string, string>\n rtl?: boolean\n}\n\nconst defaultTranslations: Record<string, Record<string, string>> = {\n 'en-US': {\n 'common.save': 'Save',\n 'common.cancel': 'Cancel',\n 'common.delete': 'Delete',\n 'common.edit': 'Edit',\n 'common.create': 'Create',\n 'common.title': 'Title',\n 'common.search': 'Search',\n 'common.clear': 'Clear',\n 'common.filter': 'Filter',\n 'common.export': 'Export',\n 'common.import': 'Import',\n 'common.loading': 'Loading...',\n 'common.noData': 'No data available',\n 'common.confirm': 'Confirm',\n 'common.close': 'Close',\n 'common.yes': 'Yes',\n 'common.no': 'No',\n 'common.all': 'All',\n 'common.none': 'None',\n 'common.select': 'Select',\n 'common.selectAll': 'Select all',\n 'common.clearAll': 'Clear all',\n 'common.apply': 'Apply',\n 'common.reset': 'Reset',\n 'common.more': 'More',\n 'common.moreOptions': 'More options',\n 'common.less': 'Less',\n 'common.viewAll': 'View all',\n 'common.showMore': 'Show more',\n 'common.showLess': 'Show less',\n 'common.total': 'Total',\n 'common.items': 'Items',\n 'table.rowsPerPage': 'Rows per page',\n 'table.of': 'of',\n 'table.page': 'Page',\n 'table.noResults': 'No results found',\n 'table.columns': 'Columns',\n 'table.searchPlaceholder': 'Search...',\n 'table.adjustSearchOrFilter': 'Try adjusting your search or filter criteria.',\n 'table.rowsSelected': '{selected} of {total} row(s) selected.',\n 'table.rowsTotal': '{count} row(s) total',\n 'table.previous': 'Previous',\n 'table.next': 'Next',\n 'table.openMenu': 'Open menu',\n 'table.actions': 'Actions',\n 'table.selectAllRows': 'Select all rows',\n 'table.selectRow': 'Select row',\n 'column.columns': 'Columns',\n 'column.toggleColumns': 'Toggle Columns',\n 'column.reset': 'Reset',\n 'column.selectAll': 'Select All',\n 'form.required': 'This field is required',\n 'form.invalidEmail': 'Invalid email address',\n 'form.invalidPhone': 'Invalid phone number',\n 'form.minLength': 'Minimum {min} characters required',\n 'form.maxLength': 'Maximum {max} characters allowed',\n 'form.phonePlaceholder': 'Phone number',\n 'tag.add': 'Add tag...',\n 'number.increment': 'Increase value',\n 'number.decrement': 'Decrease value',\n 'date.today': 'Today',\n 'date.yesterday': 'Yesterday',\n 'date.tomorrow': 'Tomorrow',\n 'date.thisWeek': 'This week',\n 'date.lastWeek': 'Last week',\n 'date.thisMonth': 'This month',\n 'date.lastMonth': 'Last month',\n 'notifications.success': 'Success',\n 'notifications.error': 'Error',\n 'notifications.warning': 'Warning',\n 'notifications.info': 'Info',\n 'deal.probability': 'Probability',\n 'deal.value': 'Value',\n 'deal.stage': 'Stage',\n 'deal.closeDate': 'Close Date',\n 'pipeline.moveTo': 'Move to',\n 'pipeline.stages': 'Stages',\n 'locale.selectLanguage': 'Select language',\n 'locale.selectCurrency': 'Select currency',\n 'lookup.startTyping': 'Start typing to search...',\n 'calendar.today': 'Today',\n 'calendar.month': 'Month',\n 'calendar.week': 'Week',\n 'calendar.day': 'Day',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'All day',\n 'calendar.noEvents': 'No events scheduled for this month',\n 'calendar.more': '+{count} more',\n 'calendar.viewDetails': 'View Details',\n 'date.selectDate': 'Pick a date',\n 'date.selectDateRange': 'Pick a date range',\n 'time.selectTime': 'Select time',\n 'time.hours': 'Hours',\n 'time.minutes': 'Minutes',\n 'time.period': 'Period',\n 'time.am': 'AM',\n 'time.pm': 'PM',\n 'status.active': 'Active',\n 'status.inactive': 'Inactive',\n 'status.pending': 'Pending',\n 'status.completed': 'Completed',\n 'status.cancelled': 'Cancelled',\n 'status.open': 'Open',\n 'status.resolved': 'Resolved',\n 'status.closed': 'Closed',\n 'status.low': 'Low',\n 'status.medium': 'Medium',\n 'status.high': 'High',\n 'status.urgent': 'Urgent',\n\n // Navigation\n 'navigation.breadcrumb': 'Breadcrumb',\n 'navigation.more': 'More',\n 'navigation.toggleSidebar': 'Toggle sidebar',\n 'navigation.toggleNavigationMenu': 'Toggle navigation menu',\n 'navigation.notifications': 'Notifications',\n 'navigation.recent': 'Recent',\n 'navigation.trending': 'Trending',\n 'navigation.results': 'Results',\n 'navigation.clearRecent': 'Clear',\n 'navigation.noResultsFor': 'No results found for \"{query}\"',\n 'navigation.commandPalettePlaceholder': 'Type a command or search...',\n\n // Feedback\n 'feedback.aiSummary': 'AI Summary',\n 'feedback.confidence': 'Confidence',\n 'feedback.wasHelpful': 'Was this helpful?',\n 'feedback.noSummary': 'No summary available',\n 'feature.tryNow': 'Try it now',\n 'feature.learnMore': 'Learn more',\n 'welcome.label': 'Welcome',\n 'welcome.setupProgress': 'Setup progress',\n 'welcome.completed': '{completed}/{total} completed',\n\n // Color\n 'color.select': 'Select color',\n 'color.current': 'Current Color',\n 'color.pickFromScreen': 'Pick color from screen',\n\n // File Upload\n 'fileUpload.dropOrClick': 'Drag & drop files here, or click to select',\n 'fileUpload.singleFile': 'Single file',\n 'fileUpload.upToFiles': 'Up to {count} files',\n 'fileUpload.maxEach': 'max {size} each',\n\n // Editable\n 'editable.save': 'Save',\n 'editable.cancel': 'Cancel',\n 'editable.edit': 'Edit',\n 'editable.emptyValue': '--',\n\n // Filter\n 'filter.filters': 'Filters',\n 'filter.filterRules': 'Filter rules',\n 'filter.clear': 'Clear',\n 'filter.active': 'active',\n 'filter.selectField': 'Select field...',\n 'filter.searchFields': 'Search fields...',\n 'filter.noFieldFound': 'No field found.',\n 'filter.value': 'Value...',\n 'filter.from': 'From',\n 'filter.to': 'To',\n 'filter.select': 'Select...',\n 'filter.presets': 'Presets',\n 'filter.savedFilters': 'Saved Filters',\n 'filter.save': 'Save',\n 'filter.savePreset': 'Save filter preset',\n 'filter.presetName': 'Preset name...',\n 'filter.match': 'Match',\n 'filter.and': 'and',\n 'filter.or': 'or',\n 'filter.ofFollowing': 'of the following rules',\n 'filter.addRule': 'Add rule',\n 'filter.addGroup': 'Add group',\n 'filter.activeFilters': 'Active filters:',\n 'filter.more': '+{count} more',\n 'filter.showLess': 'Show less',\n 'filter.operator.contains': 'Contains',\n 'filter.operator.notContains': 'Does not contain',\n 'filter.operator.equals': 'Equals',\n 'filter.operator.notEquals': 'Does not equal',\n 'filter.operator.startsWith': 'Starts with',\n 'filter.operator.endsWith': 'Ends with',\n 'filter.operator.isEmpty': 'Is empty',\n 'filter.operator.isNotEmpty': 'Is not empty',\n 'filter.operator.greaterThan': 'Greater than',\n 'filter.operator.greaterThanOrEqual': 'Greater than or equal',\n 'filter.operator.lessThan': 'Less than',\n 'filter.operator.lessThanOrEqual': 'Less than or equal',\n 'filter.operator.between': 'Between',\n 'filter.operator.is': 'Is',\n 'filter.operator.before': 'Before',\n 'filter.operator.after': 'After',\n 'filter.operator.isTrue': 'Is true',\n 'filter.operator.isFalse': 'Is false',\n 'filter.operator.isNot': 'Is not',\n 'filter.operator.includesAny': 'Includes any of',\n 'filter.operator.doesNotInclude': 'Does not include',\n\n // Bulk Data Ops\n 'bulkOps.upload': 'Upload',\n 'bulkOps.mapFields': 'Map Fields',\n 'bulkOps.validate': 'Validate',\n 'bulkOps.import': 'Import',\n 'bulkOps.dropFile': 'Drop your file here',\n 'bulkOps.supportedFormats': 'CSV, Excel (.xlsx), or JSON files supported',\n 'bulkOps.browseFiles': 'Browse Files',\n 'bulkOps.importing': 'Importing...',\n 'bulkOps.complete': '% complete',\n 'bulkOps.importComplete': 'Import complete!',\n 'bulkOps.readyToImport': 'Ready to import',\n 'bulkOps.errorsSkipped': 'errors (will be skipped)',\n 'bulkOps.back': 'Back',\n 'bulkOps.done': 'Done',\n 'bulkOps.startImport': 'Start Import',\n 'bulkOps.next': 'Next',\n 'bulkOps.mapped': '{mapped} / {total} mapped',\n 'bulkOps.requiredUnmapped': '{count} required field(s) unmapped',\n 'bulkOps.sourceColumn': 'Source Column',\n 'bulkOps.targetField': 'Target Field',\n 'bulkOps.skipColumn': 'Skip this column',\n 'bulkOps.skip': 'Skip',\n 'bulkOps.rows': '{count} rows',\n 'bulkOps.errors': '{count} errors',\n 'bulkOps.warnings': '{count} warnings',\n 'bulkOps.showOnlyIssues': 'Show only issues',\n 'bulkOps.status': 'Status',\n 'bulkOps.ok': 'OK',\n 'bulkOps.error': 'Error',\n 'bulkOps.warn': 'Warn',\n 'bulkOps.fix': 'Fix: {value}',\n 'bulkOps.recordsToMerge': '{count} records to merge',\n 'bulkOps.conflictsResolved': '{resolved} / {total} conflicts resolved',\n 'bulkOps.primaryRecord': 'Primary record (keep ID)',\n 'bulkOps.empty': '(empty)',\n 'bulkOps.fromRecord': 'from {label}',\n\n // Forecast Board\n 'forecast.forecast': 'Forecast',\n 'forecast.allOwners': 'All owners',\n 'forecast.deals': '{count} deal(s)',\n 'forecast.ofTarget': '% of target',\n 'forecast.totalDeals': '{count} total deal(s)',\n 'forecast.total': 'Total:',\n 'forecast.closed': 'Closed:',\n 'forecast.openPipeline': 'Open pipeline:',\n\n // Gantt Planner\n 'gantt.day': 'Day',\n 'gantt.week': 'Week',\n 'gantt.month': 'Month',\n 'gantt.tasks': '{count} tasks',\n 'gantt.viewMode': '{mode} view',\n 'gantt.taskName': 'Task Name',\n\n // Permission Matrix\n 'permission.all': 'All',\n 'permission.toggleAllForRole': 'Toggle all permissions for {role}',\n 'permission.toggleForAllRoles': 'Toggle {permission} for all roles',\n 'permission.toggleSingle': '{permission} for {role}',\n\n // Scheduler\n 'scheduler.previousWeek': 'Previous week',\n 'scheduler.today': 'Today',\n 'scheduler.nextWeek': 'Next week',\n 'scheduler.time': 'Time',\n 'scheduler.unavailable': 'unavailable',\n 'scheduler.days.mon': 'Mon',\n 'scheduler.days.tue': 'Tue',\n 'scheduler.days.wed': 'Wed',\n 'scheduler.days.thu': 'Thu',\n 'scheduler.days.fri': 'Fri',\n 'scheduler.days.sat': 'Sat',\n 'scheduler.days.sun': 'Sun',\n\n // Shared Inbox\n 'inbox.assign': 'Assign',\n 'inbox.assignTo': 'Assign to',\n 'inbox.searchConversations': 'Search conversations...',\n 'inbox.filter.all': 'All',\n 'inbox.filter.open': 'Open',\n 'inbox.filter.pending': 'Pending',\n 'inbox.filter.resolved': 'Resolved',\n 'inbox.noConversations': 'No conversations found',\n 'inbox.noMessages': 'No messages yet',\n 'inbox.selectConversation': 'Select a conversation',\n 'inbox.selectConversationHint': 'Choose a ticket from the sidebar to view messages',\n 'inbox.typeReply': 'Type your reply...',\n 'inbox.enterToSendHint': 'Press Enter to send, Shift+Enter for new line',\n 'inbox.read': 'Read',\n 'inbox.now': 'now',\n 'inbox.overdue': 'overdue',\n 'inbox.left': 'left',\n 'inbox.channel.email': 'Email',\n 'inbox.channel.chat': 'Chat',\n 'inbox.channel.phone': 'Phone',\n 'inbox.channel.social': 'Social',\n 'inbox.channel.sms': 'SMS',\n 'inbox.channel.whatsapp': 'WhatsApp',\n\n // Record Panel\n 'record.recentActivity': 'Recent Activity',\n 'record.viewAll': 'View all ({count})',\n 'record.noActivity': 'No activity yet.',\n 'record.justNow': 'Just now',\n 'record.minutesAgo': '{count}m ago',\n 'record.hoursAgo': '{count}h ago',\n 'record.daysAgo': '{count}d ago',\n 'record.openFullRecord': 'Open full record',\n 'record.createRecord': 'Create Record',\n 'record.editRecord': 'Edit Record',\n 'record.createDescription': 'Fill in the details to create a new record.',\n 'record.editDescription': 'Update the record details below.',\n 'record.creating': 'Creating...',\n 'record.saving': 'Saving...',\n 'record.create': 'Create',\n 'record.saveChanges': 'Save Changes',\n 'record.noRelated': 'No related records',\n 'record.timeline': 'Timeline',\n\n // Activity Composer\n 'activity.note': 'Note',\n 'activity.email': 'Email',\n 'activity.call': 'Call',\n 'activity.meeting': 'Meeting',\n 'activity.task': 'Task',\n 'activity.addPlaceholder': 'Add a {type}...',\n\n // Pipeline\n 'pipeline.kanban': 'Kanban',\n 'pipeline.table': 'Table',\n 'pipeline.timeline': 'Timeline',\n 'pipeline.selected': '{count} selected',\n 'pipeline.title': 'Title',\n 'pipeline.company': 'Company',\n 'pipeline.owner': 'Owner',\n 'pipeline.priority': 'Priority',\n 'pipeline.items': '{count} item(s)',\n\n // Kanban Board\n 'kanban.dragHere': 'Drag items here',\n\n // Form Builder\n 'formBuilder.fieldSettings': 'Field Settings',\n 'formBuilder.label': 'Label',\n 'formBuilder.placeholder': 'Placeholder',\n 'formBuilder.required': 'Required',\n 'formBuilder.width': 'Width',\n 'formBuilder.full': 'Full',\n 'formBuilder.half': 'Half',\n 'formBuilder.options': 'Options',\n 'formBuilder.optionLabel': 'Option label',\n 'formBuilder.addOption': 'Add Option',\n 'formBuilder.visibleWhen': 'Visible When',\n 'formBuilder.alwaysVisible': 'Always visible',\n 'formBuilder.value': 'Value',\n 'formBuilder.fieldTypes': 'Field Types',\n 'formBuilder.noFieldsPreview': 'No fields to preview.',\n 'formBuilder.addFieldsHint': 'Add fields from the palette to get started.',\n 'formBuilder.newField': 'New {type} field',\n 'formBuilder.type.text': 'Text',\n 'formBuilder.type.email': 'Email',\n 'formBuilder.type.phone': 'Phone',\n 'formBuilder.type.number': 'Number',\n 'formBuilder.type.select': 'Select',\n 'formBuilder.type.checkbox': 'Checkbox',\n 'formBuilder.type.radio': 'Radio',\n 'formBuilder.type.textarea': 'Textarea',\n 'formBuilder.type.date': 'Date',\n 'formBuilder.type.file': 'File',\n 'formBuilder.operator.equals': 'equals',\n 'formBuilder.operator.notEquals': 'notEquals',\n 'formBuilder.operator.contains': 'contains',\n 'formBuilder.operator.isEmpty': 'isEmpty',\n 'formBuilder.operator.isNotEmpty': 'isNotEmpty',\n 'formBuilder.selectPlaceholder': 'Select...',\n\n // Report Builder\n 'reportBuilder.configure': 'Configure',\n 'reportBuilder.preview': 'Preview',\n 'reportBuilder.chartType': 'Chart Type',\n 'reportBuilder.metrics': 'Metrics',\n 'reportBuilder.dimensions': 'Dimensions',\n 'reportBuilder.filters': 'Filters',\n 'reportBuilder.noFilters': 'No filters applied.',\n 'reportBuilder.noDimensions': 'No dimensions selected.',\n 'reportBuilder.noMetrics': 'No metrics selected.',\n 'reportBuilder.configureReport': 'Configure your report',\n 'reportBuilder.configureHint': 'Select a chart type, add metrics and dimensions to see a preview.',\n 'reportBuilder.chartPreview': '{type} chart preview',\n 'reportBuilder.metricCount': '{count} metric(s)',\n 'reportBuilder.dimensionCount': '{count} dimension(s)',\n 'reportBuilder.chart.bar': 'Bar',\n 'reportBuilder.chart.line': 'Line',\n 'reportBuilder.chart.pie': 'Pie',\n 'reportBuilder.chart.area': 'Area',\n 'reportBuilder.chart.table': 'Table',\n 'reportBuilder.agg.sum': 'Sum',\n 'reportBuilder.agg.count': 'Count',\n 'reportBuilder.agg.avg': 'Avg',\n 'reportBuilder.agg.min': 'Min',\n 'reportBuilder.agg.max': 'Max',\n\n // Workflow Builder\n 'workflow.zoomIn': 'Zoom In',\n 'workflow.zoomOut': 'Zoom Out',\n 'workflow.fitView': 'Fit View',\n 'workflow.configureNode': 'Configure Node',\n 'workflow.nodePalette': 'Node Palette',\n 'workflow.clickToAdd': 'Click to add nodes to the canvas',\n 'workflow.condition': 'Condition',\n 'workflow.delayWait': 'Delay / Wait',\n 'workflow.triggers': 'Triggers',\n 'workflow.logic': 'Logic',\n 'workflow.actions': 'Actions',\n 'workflow.timing': 'Timing',\n 'workflow.triggerType': 'Trigger Type',\n 'workflow.selectTrigger': 'Select trigger...',\n 'workflow.nodeLabel': 'Node label...',\n 'workflow.conditionName': 'Condition name...',\n 'workflow.conditionExpression': 'Condition Expression',\n 'workflow.conditionPlaceholder': 'e.g. deal.value > 10000',\n 'workflow.conditionHelp': 'Define when to follow the \"Yes\" branch',\n 'workflow.description': 'Description',\n 'workflow.label': 'Label',\n 'workflow.optionalDescription': 'Optional description...',\n 'workflow.actionType': 'Action Type',\n 'workflow.selectAction': 'Select action...',\n 'workflow.duration': 'Duration',\n 'workflow.amount': 'Amount',\n 'workflow.delayName': 'Delay name...',\n 'workflow.unit.minutes': 'Minutes',\n 'workflow.unit.hours': 'Hours',\n 'workflow.unit.days': 'Days',\n 'workflow.unit.weeks': 'Weeks',\n\n // Journey Canvas\n 'journey.configureStep': 'Configure Step',\n 'journey.label': 'Label',\n 'journey.description': 'Description',\n 'journey.metrics': 'Metrics',\n 'journey.journeySteps': 'Journey Steps',\n 'journey.clickToAdd': 'Click to add steps',\n 'journey.flowControl': 'Flow Control',\n 'journey.steps': 'Steps',\n 'journey.entryPoint': 'Entry Point',\n 'journey.decisionGate': 'Decision Gate',\n 'journey.end': 'End',\n 'journey.entered': 'Entered',\n 'journey.active': 'Active',\n 'journey.exited': 'Exited',\n 'journey.conversion': 'Conversion',\n 'journey.in': '{count} in',\n 'journey.yes': 'Yes',\n 'journey.no': 'No',\n\n // Record Dialog\n 'recordDialog.details': 'Details',\n 'recordDialog.activity': 'Activity',\n 'recordDialog.related': 'Related',\n 'recordDialog.close': 'Close',\n 'recordDialog.requiredField': 'Required',\n 'recordDialog.noFields': 'No fields to display.',\n 'recordDialog.addRelated': 'Add Related',\n 'recordDialog.collapse': 'Collapse section',\n 'recordDialog.expand': 'Expand section',\n\n // Dashboard Builder\n 'dashboard.noWidgets': 'No widgets yet',\n 'dashboard.addWidgetHint': 'Click \"Add Widget\" to get started.',\n 'dashboard.switchToEdit': 'Switch to edit mode to add widgets.',\n 'dashboard.done': 'Done',\n 'dashboard.edit': 'Edit',\n 'dashboard.addWidget': 'Add Widget',\n 'dashboard.chooseWidget': 'Choose a widget to add to your dashboard.',\n 'dashboard.widgetSettings': 'Widget Settings',\n 'dashboard.configureWidget': 'Configure the {label} widget.',\n 'dashboard.widgetTitle': 'Widget title...',\n 'dashboard.widget': 'Widget',\n },\n 'tr-TR': {\n 'common.save': 'Kaydet',\n 'common.cancel': 'İptal',\n 'common.delete': 'Sil',\n 'common.edit': 'Düzenle',\n 'common.create': 'Oluştur',\n 'common.title': 'Başlık',\n 'common.search': 'Ara',\n 'common.clear': 'Temizle',\n 'common.filter': 'Filtrele',\n 'common.export': 'Dışa Aktar',\n 'common.import': 'İçe Aktar',\n 'common.loading': 'Yükleniyor...',\n 'common.noData': 'Veri bulunamadı',\n 'common.confirm': 'Onayla',\n 'common.close': 'Kapat',\n 'common.yes': 'Evet',\n 'common.no': 'Hayır',\n 'common.all': 'Tümü',\n 'common.none': 'Hiçbiri',\n 'common.select': 'Seç',\n 'common.selectAll': 'Tümünü seç',\n 'common.clearAll': 'Tümünü temizle',\n 'common.apply': 'Uygula',\n 'common.reset': 'Sıfırla',\n 'common.more': 'Daha fazla',\n 'common.moreOptions': 'Daha fazla seçenek',\n 'common.less': 'Daha az',\n 'common.viewAll': 'Tümünü gör',\n 'common.showMore': 'Daha fazla göster',\n 'common.showLess': 'Daha az göster',\n 'common.total': 'Toplam',\n 'common.items': 'Öğeler',\n 'table.rowsPerPage': 'Sayfa başına satır',\n 'table.of': '/',\n 'table.page': 'Sayfa',\n 'table.noResults': 'Sonuç bulunamadı',\n 'table.columns': 'Sütunlar',\n 'table.searchPlaceholder': 'Ara...',\n 'table.adjustSearchOrFilter': 'Arama veya filtre kriterlerinizi güncellemeyi deneyin.',\n 'table.rowsSelected': '{selected} / {total} satır seçildi.',\n 'table.rowsTotal': 'Toplam {count} satır',\n 'table.previous': 'Önceki',\n 'table.next': 'Sonraki',\n 'table.openMenu': 'Menüyü aç',\n 'table.actions': 'Aksiyonlar',\n 'table.selectAllRows': 'Tüm satırları seç',\n 'table.selectRow': 'Satır seç',\n 'column.columns': 'Sütunlar',\n 'column.toggleColumns': 'Sütunları Değiştir',\n 'column.reset': 'Sıfırla',\n 'column.selectAll': 'Tümünü Seç',\n 'form.required': 'Bu alan zorunludur',\n 'form.invalidEmail': 'Geçersiz e-posta adresi',\n 'form.invalidPhone': 'Geçersiz telefon numarası',\n 'form.minLength': 'En az {min} karakter gerekli',\n 'form.maxLength': 'En fazla {max} karakter girilebilir',\n 'form.phonePlaceholder': 'Telefon numarası',\n 'tag.add': 'Etiket ekle...',\n 'number.increment': 'Değeri artır',\n 'number.decrement': 'Değeri azalt',\n 'date.today': 'Bugün',\n 'date.yesterday': 'Dün',\n 'date.tomorrow': 'Yarın',\n 'date.thisWeek': 'Bu hafta',\n 'date.lastWeek': 'Geçen hafta',\n 'date.thisMonth': 'Bu ay',\n 'date.lastMonth': 'Geçen ay',\n 'notifications.success': 'Başarılı',\n 'notifications.error': 'Hata',\n 'notifications.warning': 'Uyarı',\n 'notifications.info': 'Bilgi',\n 'deal.probability': 'Olasılık',\n 'deal.value': 'Değer',\n 'deal.stage': 'Aşama',\n 'deal.closeDate': 'Kapanış Tarihi',\n 'pipeline.moveTo': 'Taşı',\n 'pipeline.stages': 'Aşamalar',\n 'locale.selectLanguage': 'Dil seçin',\n 'locale.selectCurrency': 'Para birimi seçin',\n 'lookup.startTyping': 'Aramak için yazmaya başlayın...',\n 'calendar.today': 'Bugün',\n 'calendar.month': 'Ay',\n 'calendar.week': 'Hafta',\n 'calendar.day': 'Gün',\n 'calendar.agenda': 'Ajanda',\n 'calendar.allDay': 'Tüm gün',\n 'calendar.noEvents': 'Bu ay için planlanmış etkinlik yok',\n 'calendar.more': '+{count} daha',\n 'calendar.viewDetails': 'Detayları Gör',\n 'date.selectDate': 'Tarih seçin',\n 'date.selectDateRange': 'Tarih aralığı seçin',\n 'time.selectTime': 'Saat seçin',\n 'time.hours': 'Saat',\n 'time.minutes': 'Dakika',\n 'time.period': 'Dönem',\n 'time.am': 'ÖÖ',\n 'time.pm': 'ÖS',\n 'status.active': 'Aktif',\n 'status.inactive': 'Pasif',\n 'status.pending': 'Beklemede',\n 'status.completed': 'Tamamlandı',\n 'status.cancelled': 'İptal Edildi',\n 'status.open': 'Açık',\n 'status.resolved': 'Çözüldü',\n 'status.closed': 'Kapalı',\n 'status.low': 'Düşük',\n 'status.medium': 'Orta',\n 'status.high': 'Yüksek',\n 'status.urgent': 'Acil',\n\n // Navigation\n 'navigation.breadcrumb': 'Gezinti yolu',\n 'navigation.more': 'Daha fazla',\n 'navigation.toggleSidebar': 'Kenar çubuğunu aç/kapat',\n 'navigation.toggleNavigationMenu': 'Gezinti menüsünü aç/kapat',\n 'navigation.notifications': 'Bildirimler',\n 'navigation.recent': 'Son aramalar',\n 'navigation.trending': 'Trendler',\n 'navigation.results': 'Sonuçlar',\n 'navigation.clearRecent': 'Temizle',\n 'navigation.noResultsFor': '\"{query}\" için sonuç bulunamadı',\n 'navigation.commandPalettePlaceholder': 'Komut yazın veya arayın...',\n\n // Feedback\n 'feedback.aiSummary': 'YZ Özeti',\n 'feedback.confidence': 'Güven',\n 'feedback.wasHelpful': 'Bu faydalı mıydı?',\n 'feedback.noSummary': 'Özet bulunamadı',\n 'feature.tryNow': 'Hemen dene',\n 'feature.learnMore': 'Daha fazla bilgi',\n 'welcome.label': 'Hoş geldiniz',\n 'welcome.setupProgress': 'Kurulum ilerlemesi',\n 'welcome.completed': '{completed}/{total} tamamlandı',\n\n // Color\n 'color.select': 'Renk seç',\n 'color.current': 'Geçerli Renk',\n 'color.pickFromScreen': 'Ekrandan renk seç',\n\n // File Upload\n 'fileUpload.dropOrClick': 'Dosyaları buraya bırakın veya seçmek için tıklayın',\n 'fileUpload.singleFile': 'Tek dosya',\n 'fileUpload.upToFiles': 'En fazla {count} dosya',\n 'fileUpload.maxEach': 'dosya başına en fazla {size}',\n\n // Editable\n 'editable.save': 'Kaydet',\n 'editable.cancel': 'İptal',\n 'editable.edit': 'Düzenle',\n 'editable.emptyValue': '--',\n\n // Filter\n 'filter.filters': 'Filtreler',\n 'filter.filterRules': 'Filtre kuralları',\n 'filter.clear': 'Temizle',\n 'filter.active': 'aktif',\n 'filter.selectField': 'Alan seçin...',\n 'filter.searchFields': 'Alan ara...',\n 'filter.noFieldFound': 'Alan bulunamadı.',\n 'filter.value': 'Değer...',\n 'filter.from': 'Başlangıç',\n 'filter.to': 'Bitiş',\n 'filter.select': 'Seçin...',\n 'filter.presets': 'Hazır Filtreler',\n 'filter.savedFilters': 'Kayıtlı Filtreler',\n 'filter.save': 'Kaydet',\n 'filter.savePreset': 'Filtre şablonu kaydet',\n 'filter.presetName': 'Şablon adı...',\n 'filter.match': 'Eşleştir',\n 'filter.and': 've',\n 'filter.or': 'veya',\n 'filter.ofFollowing': 'aşağıdaki kurallardan',\n 'filter.addRule': 'Kural ekle',\n 'filter.addGroup': 'Grup ekle',\n 'filter.activeFilters': 'Aktif filtreler:',\n 'filter.more': '+{count} daha',\n 'filter.showLess': 'Daha az göster',\n 'filter.operator.contains': 'İçerir',\n 'filter.operator.notContains': 'İçermez',\n 'filter.operator.equals': 'Eşittir',\n 'filter.operator.notEquals': 'Eşit değildir',\n 'filter.operator.startsWith': 'İle başlar',\n 'filter.operator.endsWith': 'İle biter',\n 'filter.operator.isEmpty': 'Boştur',\n 'filter.operator.isNotEmpty': 'Boş değildir',\n 'filter.operator.greaterThan': 'Büyüktür',\n 'filter.operator.greaterThanOrEqual': 'Büyük veya eşittir',\n 'filter.operator.lessThan': 'Küçüktür',\n 'filter.operator.lessThanOrEqual': 'Küçük veya eşittir',\n 'filter.operator.between': 'Arasında',\n 'filter.operator.is': 'Şudur',\n 'filter.operator.before': 'Önce',\n 'filter.operator.after': 'Sonra',\n 'filter.operator.isTrue': 'Doğrudur',\n 'filter.operator.isFalse': 'Yanlıştır',\n 'filter.operator.isNot': 'Değildir',\n 'filter.operator.includesAny': 'Herhangi birini içerir',\n 'filter.operator.doesNotInclude': 'İçermez',\n\n // Bulk Data Ops\n 'bulkOps.upload': 'Yükle',\n 'bulkOps.mapFields': 'Alan Eşle',\n 'bulkOps.validate': 'Doğrula',\n 'bulkOps.import': 'İçe Aktar',\n 'bulkOps.dropFile': 'Dosyanızı buraya bırakın',\n 'bulkOps.supportedFormats': 'CSV, Excel (.xlsx) veya JSON dosyaları desteklenir',\n 'bulkOps.browseFiles': 'Dosya Seç',\n 'bulkOps.importing': 'İçe aktarılıyor...',\n 'bulkOps.complete': '% tamamlandı',\n 'bulkOps.importComplete': 'İçe aktarma tamamlandı!',\n 'bulkOps.readyToImport': 'İçe aktarmaya hazır',\n 'bulkOps.errorsSkipped': 'hata (atlanacak)',\n 'bulkOps.back': 'Geri',\n 'bulkOps.done': 'Bitti',\n 'bulkOps.startImport': 'İçe Aktarmayı Başlat',\n 'bulkOps.next': 'İleri',\n 'bulkOps.mapped': '{mapped} / {total} eşlendi',\n 'bulkOps.requiredUnmapped': '{count} zorunlu alan eşlenmedi',\n 'bulkOps.sourceColumn': 'Kaynak Sütun',\n 'bulkOps.targetField': 'Hedef Alan',\n 'bulkOps.skipColumn': 'Bu sütunu atla',\n 'bulkOps.skip': 'Atla',\n 'bulkOps.rows': '{count} satır',\n 'bulkOps.errors': '{count} hata',\n 'bulkOps.warnings': '{count} uyarı',\n 'bulkOps.showOnlyIssues': 'Sadece sorunları göster',\n 'bulkOps.status': 'Durum',\n 'bulkOps.ok': 'Tamam',\n 'bulkOps.error': 'Hata',\n 'bulkOps.warn': 'Uyarı',\n 'bulkOps.fix': 'Düzeltme: {value}',\n 'bulkOps.recordsToMerge': '{count} birleştirilecek kayıt',\n 'bulkOps.conflictsResolved': '{resolved} / {total} çakışma çözüldü',\n 'bulkOps.primaryRecord': 'Birincil kayıt (ID koru)',\n 'bulkOps.empty': '(boş)',\n 'bulkOps.fromRecord': '{label} kaynağından',\n\n // Forecast Board\n 'forecast.forecast': 'Tahmin',\n 'forecast.allOwners': 'Tüm sahipler',\n 'forecast.deals': '{count} anlaşma',\n 'forecast.ofTarget': '% hedefe',\n 'forecast.totalDeals': '{count} toplam anlaşma',\n 'forecast.total': 'Toplam:',\n 'forecast.closed': 'Kapanan:',\n 'forecast.openPipeline': 'Açık pipeline:',\n\n // Gantt Planner\n 'gantt.day': 'Gün',\n 'gantt.week': 'Hafta',\n 'gantt.month': 'Ay',\n 'gantt.tasks': '{count} görev',\n 'gantt.viewMode': '{mode} görünümü',\n 'gantt.taskName': 'Görev Adı',\n\n // Permission Matrix\n 'permission.all': 'Tümü',\n 'permission.toggleAllForRole': '{role} için tüm izinleri değiştir',\n 'permission.toggleForAllRoles': 'Tüm roller için {permission} izni değiştir',\n 'permission.toggleSingle': '{role} için {permission}',\n\n // Scheduler\n 'scheduler.previousWeek': 'Önceki hafta',\n 'scheduler.today': 'Bugün',\n 'scheduler.nextWeek': 'Sonraki hafta',\n 'scheduler.time': 'Saat',\n 'scheduler.unavailable': 'müsait değil',\n 'scheduler.days.mon': 'Pzt',\n 'scheduler.days.tue': 'Sal',\n 'scheduler.days.wed': 'Çar',\n 'scheduler.days.thu': 'Per',\n 'scheduler.days.fri': 'Cum',\n 'scheduler.days.sat': 'Cmt',\n 'scheduler.days.sun': 'Paz',\n\n // Shared Inbox\n 'inbox.assign': 'Ata',\n 'inbox.assignTo': 'Şuna ata',\n 'inbox.searchConversations': 'Konuşmalarda ara...',\n 'inbox.filter.all': 'Tümü',\n 'inbox.filter.open': 'Açık',\n 'inbox.filter.pending': 'Beklemede',\n 'inbox.filter.resolved': 'Çözüldü',\n 'inbox.noConversations': 'Konuşma bulunamadı',\n 'inbox.noMessages': 'Henüz mesaj yok',\n 'inbox.selectConversation': 'Bir konuşma seçin',\n 'inbox.selectConversationHint': 'Mesajları görüntülemek için kenar çubuktan bir kayıt seçin',\n 'inbox.typeReply': 'Yanıtınızı yazın...',\n 'inbox.enterToSendHint': 'Göndermek için Enter, yeni satır için Shift+Enter',\n 'inbox.read': 'Okundu',\n 'inbox.now': 'şimdi',\n 'inbox.overdue': 'gecikmiş',\n 'inbox.left': 'kaldı',\n 'inbox.channel.email': 'E-posta',\n 'inbox.channel.chat': 'Sohbet',\n 'inbox.channel.phone': 'Telefon',\n 'inbox.channel.social': 'Sosyal',\n 'inbox.channel.sms': 'SMS',\n 'inbox.channel.whatsapp': 'WhatsApp',\n\n // Record Panel\n 'record.recentActivity': 'Son Aktiviteler',\n 'record.viewAll': 'Tümünü gör ({count})',\n 'record.noActivity': 'Henüz aktivite yok.',\n 'record.justNow': 'Az önce',\n 'record.minutesAgo': '{count}dk önce',\n 'record.hoursAgo': '{count}sa önce',\n 'record.daysAgo': '{count}g önce',\n 'record.openFullRecord': 'Tam kaydı aç',\n 'record.createRecord': 'Kayıt Oluştur',\n 'record.editRecord': 'Kaydı Düzenle',\n 'record.createDescription': 'Yeni kayıt oluşturmak için detayları doldurun.',\n 'record.editDescription': 'Kayıt detaylarını güncelleyin.',\n 'record.creating': 'Oluşturuluyor...',\n 'record.saving': 'Kaydediliyor...',\n 'record.create': 'Oluştur',\n 'record.saveChanges': 'Değişiklikleri Kaydet',\n 'record.noRelated': 'İlişkili kayıt yok',\n 'record.timeline': 'Zaman Çizelgesi',\n\n // Activity Composer\n 'activity.note': 'Not',\n 'activity.email': 'E-posta',\n 'activity.call': 'Arama',\n 'activity.meeting': 'Toplantı',\n 'activity.task': 'Görev',\n 'activity.addPlaceholder': 'Bir {type} ekle...',\n\n // Pipeline\n 'pipeline.kanban': 'Kanban',\n 'pipeline.table': 'Tablo',\n 'pipeline.timeline': 'Zaman Çizelgesi',\n 'pipeline.selected': '{count} seçili',\n 'pipeline.title': 'Başlık',\n 'pipeline.company': 'Şirket',\n 'pipeline.owner': 'Sahip',\n 'pipeline.priority': 'Öncelik',\n 'pipeline.items': '{count} öğe',\n\n // Kanban Board\n 'kanban.dragHere': 'Öğeleri buraya sürükleyin',\n\n // Form Builder\n 'formBuilder.fieldSettings': 'Alan Ayarları',\n 'formBuilder.label': 'Etiket',\n 'formBuilder.placeholder': 'Yer Tutucu',\n 'formBuilder.required': 'Zorunlu',\n 'formBuilder.width': 'Genişlik',\n 'formBuilder.full': 'Tam',\n 'formBuilder.half': 'Yarım',\n 'formBuilder.options': 'Seçenekler',\n 'formBuilder.optionLabel': 'Seçenek etiketi',\n 'formBuilder.addOption': 'Seçenek Ekle',\n 'formBuilder.visibleWhen': 'Görünürlük Koşulu',\n 'formBuilder.alwaysVisible': 'Her zaman görünür',\n 'formBuilder.value': 'Değer',\n 'formBuilder.fieldTypes': 'Alan Türleri',\n 'formBuilder.noFieldsPreview': 'Önizlenecek alan yok.',\n 'formBuilder.addFieldsHint': 'Başlamak için paletten alan ekleyin.',\n 'formBuilder.newField': 'Yeni {type} alanı',\n 'formBuilder.type.text': 'Metin',\n 'formBuilder.type.email': 'E-posta',\n 'formBuilder.type.phone': 'Telefon',\n 'formBuilder.type.number': 'Sayı',\n 'formBuilder.type.select': 'Seçim',\n 'formBuilder.type.checkbox': 'Onay Kutusu',\n 'formBuilder.type.radio': 'Radyo',\n 'formBuilder.type.textarea': 'Metin Alanı',\n 'formBuilder.type.date': 'Tarih',\n 'formBuilder.type.file': 'Dosya',\n 'formBuilder.operator.equals': 'eşittir',\n 'formBuilder.operator.notEquals': 'eşit değil',\n 'formBuilder.operator.contains': 'içerir',\n 'formBuilder.operator.isEmpty': 'boş',\n 'formBuilder.operator.isNotEmpty': 'boş değil',\n 'formBuilder.selectPlaceholder': 'Seçin...',\n\n // Report Builder\n 'reportBuilder.configure': 'Yapılandır',\n 'reportBuilder.preview': 'Önizleme',\n 'reportBuilder.chartType': 'Grafik Türü',\n 'reportBuilder.metrics': 'Metrikler',\n 'reportBuilder.dimensions': 'Boyutlar',\n 'reportBuilder.filters': 'Filtreler',\n 'reportBuilder.noFilters': 'Filtre uygulanmadı.',\n 'reportBuilder.noDimensions': 'Boyut seçilmedi.',\n 'reportBuilder.noMetrics': 'Metrik seçilmedi.',\n 'reportBuilder.configureReport': 'Raporunuzu yapılandırın',\n 'reportBuilder.configureHint': 'Önizleme görmek için grafik türü seçin, metrik ve boyut ekleyin.',\n 'reportBuilder.chartPreview': '{type} grafik önizlemesi',\n 'reportBuilder.metricCount': '{count} metrik',\n 'reportBuilder.dimensionCount': '{count} boyut',\n 'reportBuilder.chart.bar': 'Çubuk',\n 'reportBuilder.chart.line': 'Çizgi',\n 'reportBuilder.chart.pie': 'Pasta',\n 'reportBuilder.chart.area': 'Alan',\n 'reportBuilder.chart.table': 'Tablo',\n 'reportBuilder.agg.sum': 'Toplam',\n 'reportBuilder.agg.count': 'Sayı',\n 'reportBuilder.agg.avg': 'Ortalama',\n 'reportBuilder.agg.min': 'Min',\n 'reportBuilder.agg.max': 'Maks',\n\n // Workflow Builder\n 'workflow.zoomIn': 'Yakınlaştır',\n 'workflow.zoomOut': 'Uzaklaştır',\n 'workflow.fitView': 'Sığdır',\n 'workflow.configureNode': 'Düğümü Yapılandır',\n 'workflow.nodePalette': 'Düğüm Paleti',\n 'workflow.clickToAdd': 'Tuvale düğüm eklemek için tıklayın',\n 'workflow.condition': 'Koşul',\n 'workflow.delayWait': 'Gecikme / Bekleme',\n 'workflow.triggers': 'Tetikleyiciler',\n 'workflow.logic': 'Mantık',\n 'workflow.actions': 'Eylemler',\n 'workflow.timing': 'Zamanlama',\n 'workflow.triggerType': 'Tetikleyici Türü',\n 'workflow.selectTrigger': 'Tetikleyici seçin...',\n 'workflow.nodeLabel': 'Düğüm etiketi...',\n 'workflow.conditionName': 'Koşul adı...',\n 'workflow.conditionExpression': 'Koşul İfadesi',\n 'workflow.conditionPlaceholder': 'ör. anlaşma.değer > 10000',\n 'workflow.conditionHelp': '\"Evet\" dalının ne zaman takip edileceğini belirleyin',\n 'workflow.description': 'Açıklama',\n 'workflow.label': 'Etiket',\n 'workflow.optionalDescription': 'İsteğe bağlı açıklama...',\n 'workflow.actionType': 'Eylem Türü',\n 'workflow.selectAction': 'Eylem seçin...',\n 'workflow.duration': 'Süre',\n 'workflow.amount': 'Miktar',\n 'workflow.delayName': 'Gecikme adı...',\n 'workflow.unit.minutes': 'Dakika',\n 'workflow.unit.hours': 'Saat',\n 'workflow.unit.days': 'Gün',\n 'workflow.unit.weeks': 'Hafta',\n\n // Journey Canvas\n 'journey.configureStep': 'Adımı Yapılandır',\n 'journey.label': 'Etiket',\n 'journey.description': 'Açıklama',\n 'journey.metrics': 'Metrikler',\n 'journey.journeySteps': 'Yolculuk Adımları',\n 'journey.clickToAdd': 'Adım eklemek için tıklayın',\n 'journey.flowControl': 'Akış Kontrolü',\n 'journey.steps': 'Adımlar',\n 'journey.entryPoint': 'Giriş Noktası',\n 'journey.decisionGate': 'Karar Kapısı',\n 'journey.end': 'Son',\n 'journey.entered': 'Giren',\n 'journey.active': 'Aktif',\n 'journey.exited': 'Çıkan',\n 'journey.conversion': 'Dönüşüm',\n 'journey.in': '{count} giren',\n 'journey.yes': 'Evet',\n 'journey.no': 'Hayır',\n\n // Record Dialog\n 'recordDialog.details': 'Detaylar',\n 'recordDialog.activity': 'Aktivite',\n 'recordDialog.related': 'İlişkili',\n 'recordDialog.close': 'Kapat',\n 'recordDialog.requiredField': 'Zorunlu',\n 'recordDialog.noFields': 'Görüntülenecek alan yok.',\n 'recordDialog.addRelated': 'İlişkili Ekle',\n 'recordDialog.collapse': 'Bölümü daralt',\n 'recordDialog.expand': 'Bölümü genişlet',\n\n // Dashboard Builder\n 'dashboard.noWidgets': 'Henüz widget yok',\n 'dashboard.addWidgetHint': 'Başlamak için \"Widget Ekle\"ye tıklayın.',\n 'dashboard.switchToEdit': 'Widget eklemek için düzenleme moduna geçin.',\n 'dashboard.done': 'Bitti',\n 'dashboard.edit': 'Düzenle',\n 'dashboard.addWidget': 'Widget Ekle',\n 'dashboard.chooseWidget': 'Panoya eklenecek bir widget seçin.',\n 'dashboard.widgetSettings': 'Widget Ayarları',\n 'dashboard.configureWidget': '{label} widget\\'ını yapılandırın.',\n 'dashboard.widgetTitle': 'Widget başlığı...',\n 'dashboard.widget': 'Widget',\n },\n 'de-DE': {\n 'common.save': 'Speichern',\n 'common.cancel': 'Abbrechen',\n 'common.delete': 'Löschen',\n 'common.edit': 'Bearbeiten',\n 'common.create': 'Erstellen',\n 'common.search': 'Suchen',\n 'common.filter': 'Filtern',\n 'common.loading': 'Laden...',\n 'common.noData': 'Keine Daten verfügbar',\n 'common.confirm': 'Bestätigen',\n 'common.close': 'Schließen',\n 'common.yes': 'Ja',\n 'common.no': 'Nein',\n 'common.total': 'Gesamt',\n 'common.items': 'Elemente',\n 'locale.selectLanguage': 'Sprache wählen',\n 'locale.selectCurrency': 'Währung wählen',\n 'calendar.today': 'Heute',\n 'calendar.month': 'Monat',\n 'calendar.week': 'Woche',\n 'calendar.day': 'Tag',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'Ganztägig',\n 'calendar.noEvents': 'Keine Termine für diesen Monat',\n 'date.selectDate': 'Datum auswählen',\n 'time.selectTime': 'Zeit auswählen',\n 'time.hours': 'Stunden',\n 'time.minutes': 'Minuten',\n 'time.period': 'Zeitraum',\n },\n 'fr-FR': {\n 'common.save': 'Enregistrer',\n 'common.cancel': 'Annuler',\n 'common.delete': 'Supprimer',\n 'common.edit': 'Modifier',\n 'common.create': 'Créer',\n 'common.search': 'Rechercher',\n 'common.filter': 'Filtrer',\n 'common.loading': 'Chargement...',\n 'common.noData': 'Aucune donnée disponible',\n 'common.confirm': 'Confirmer',\n 'common.close': 'Fermer',\n 'common.yes': 'Oui',\n 'common.no': 'Non',\n 'common.total': 'Total',\n 'common.items': 'Éléments',\n 'locale.selectLanguage': 'Sélectionner la langue',\n 'locale.selectCurrency': 'Sélectionner la devise',\n 'calendar.today': \"Aujourd'hui\",\n 'calendar.month': 'Mois',\n 'calendar.week': 'Semaine',\n 'calendar.day': 'Jour',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'Toute la journée',\n 'calendar.noEvents': 'Aucun événement prévu ce mois-ci',\n 'date.selectDate': 'Choisir une date',\n 'time.selectTime': 'Sélectionner l\\'heure',\n 'time.hours': 'Heures',\n 'time.minutes': 'Minutes',\n 'time.period': 'Période',\n },\n 'es-ES': {\n 'common.save': 'Guardar',\n 'common.cancel': 'Cancelar',\n 'common.delete': 'Eliminar',\n 'common.edit': 'Editar',\n 'common.create': 'Crear',\n 'common.search': 'Buscar',\n 'common.filter': 'Filtrar',\n 'common.loading': 'Cargando...',\n 'common.noData': 'No hay datos disponibles',\n 'common.confirm': 'Confirmar',\n 'common.close': 'Cerrar',\n 'common.yes': 'Sí',\n 'common.no': 'No',\n 'common.total': 'Total',\n 'common.items': 'Elementos',\n 'locale.selectLanguage': 'Seleccionar idioma',\n 'locale.selectCurrency': 'Seleccionar moneda',\n 'calendar.today': 'Hoy',\n 'calendar.month': 'Mes',\n 'calendar.week': 'Semana',\n 'calendar.day': 'Día',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'Todo el día',\n 'calendar.noEvents': 'No hay eventos programados este mes',\n 'date.selectDate': 'Seleccionar fecha',\n 'time.selectTime': 'Seleccionar hora',\n 'time.hours': 'Horas',\n 'time.minutes': 'Minutos',\n 'time.period': 'Período',\n },\n 'it-IT': {\n 'common.save': 'Salva',\n 'common.cancel': 'Annulla',\n 'common.delete': 'Elimina',\n 'common.edit': 'Modifica',\n 'common.create': 'Crea',\n 'common.search': 'Cerca',\n 'common.loading': 'Caricamento...',\n 'common.total': 'Totale',\n 'common.items': 'Elementi',\n 'locale.selectLanguage': 'Seleziona lingua',\n 'locale.selectCurrency': 'Seleziona valuta',\n 'calendar.today': 'Oggi',\n 'calendar.month': 'Mese',\n 'calendar.week': 'Settimana',\n 'calendar.day': 'Giorno',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'Tutto il giorno',\n 'date.selectDate': 'Seleziona data',\n 'time.selectTime': 'Seleziona ora',\n 'time.hours': 'Ore',\n 'time.minutes': 'Minuti',\n 'time.period': 'Periodo',\n },\n 'pt-BR': {\n 'common.save': 'Salvar',\n 'common.cancel': 'Cancelar',\n 'common.delete': 'Excluir',\n 'common.edit': 'Editar',\n 'common.create': 'Criar',\n 'common.search': 'Pesquisar',\n 'common.loading': 'Carregando...',\n 'common.total': 'Total',\n 'common.items': 'Itens',\n 'locale.selectLanguage': 'Selecionar idioma',\n 'locale.selectCurrency': 'Selecionar moeda',\n 'calendar.today': 'Hoje',\n 'calendar.month': 'Mês',\n 'calendar.week': 'Semana',\n 'calendar.day': 'Dia',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'Dia inteiro',\n 'date.selectDate': 'Selecionar data',\n 'time.selectTime': 'Selecionar hora',\n 'time.hours': 'Horas',\n 'time.minutes': 'Minutos',\n 'time.period': 'Período',\n },\n 'nl-NL': {\n 'common.save': 'Opslaan',\n 'common.cancel': 'Annuleren',\n 'common.delete': 'Verwijderen',\n 'common.edit': 'Bewerken',\n 'common.create': 'Maken',\n 'common.search': 'Zoeken',\n 'common.loading': 'Laden...',\n 'common.total': 'Totaal',\n 'common.items': 'Items',\n 'locale.selectLanguage': 'Taal selecteren',\n 'locale.selectCurrency': 'Valuta selecteren',\n 'calendar.today': 'Vandaag',\n 'calendar.month': 'Maand',\n 'calendar.week': 'Week',\n 'calendar.day': 'Dag',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'Hele dag',\n 'date.selectDate': 'Datum kiezen',\n 'time.selectTime': 'Tijd selecteren',\n 'time.hours': 'Uren',\n 'time.minutes': 'Minuten',\n 'time.period': 'Periode',\n },\n 'pl-PL': {\n 'common.save': 'Zapisz',\n 'common.cancel': 'Anuluj',\n 'common.delete': 'Usuń',\n 'common.edit': 'Edytuj',\n 'common.create': 'Utwórz',\n 'common.search': 'Szukaj',\n 'common.loading': 'Ładowanie...',\n 'common.total': 'Suma',\n 'common.items': 'Elementy',\n 'locale.selectLanguage': 'Wybierz język',\n 'locale.selectCurrency': 'Wybierz walutę',\n 'calendar.today': 'Dziś',\n 'calendar.month': 'Miesiąc',\n 'calendar.week': 'Tydzień',\n 'calendar.day': 'Dzień',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'Cały dzień',\n 'date.selectDate': 'Wybierz datę',\n 'time.selectTime': 'Wybierz czas',\n 'time.hours': 'Godziny',\n 'time.minutes': 'Minuty',\n 'time.period': 'Okres',\n },\n 'ru-RU': {\n 'common.save': 'Сохранить',\n 'common.cancel': 'Отмена',\n 'common.delete': 'Удалить',\n 'common.edit': 'Редактировать',\n 'common.create': 'Создать',\n 'common.search': 'Поиск',\n 'common.loading': 'Загрузка...',\n 'common.total': 'Всего',\n 'common.items': 'Элементы',\n 'locale.selectLanguage': 'Выбрать язык',\n 'locale.selectCurrency': 'Выбрать валюту',\n 'calendar.today': 'Сегодня',\n 'calendar.month': 'Месяц',\n 'calendar.week': 'Неделя',\n 'calendar.day': 'День',\n 'calendar.agenda': 'Повестка',\n 'calendar.allDay': 'Весь день',\n 'date.selectDate': 'Выберите дату',\n 'time.selectTime': 'Выберите время',\n 'time.hours': 'Часы',\n 'time.minutes': 'Минуты',\n 'time.period': 'Период',\n },\n 'ja-JP': {\n 'common.save': '保存',\n 'common.cancel': 'キャンセル',\n 'common.delete': '削除',\n 'common.edit': '編集',\n 'common.create': '作成',\n 'common.search': '検索',\n 'common.loading': '読み込み中...',\n 'common.total': '合計',\n 'common.items': 'アイテム',\n 'locale.selectLanguage': '言語を選択',\n 'locale.selectCurrency': '通貨を選択',\n 'calendar.today': '今日',\n 'calendar.month': '月',\n 'calendar.week': '週',\n 'calendar.day': '日',\n 'calendar.agenda': '予定表',\n 'calendar.allDay': '終日',\n 'date.selectDate': '日付を選択',\n 'time.selectTime': '時刻を選択',\n 'time.hours': '時',\n 'time.minutes': '分',\n 'time.period': '時間帯',\n },\n 'zh-CN': {\n 'common.save': '保存',\n 'common.cancel': '取消',\n 'common.delete': '删除',\n 'common.edit': '编辑',\n 'common.create': '创建',\n 'common.search': '搜索',\n 'common.loading': '加载中...',\n 'common.total': '总计',\n 'common.items': '项目',\n 'locale.selectLanguage': '选择语言',\n 'locale.selectCurrency': '选择货币',\n 'calendar.today': '今天',\n 'calendar.month': '月',\n 'calendar.week': '周',\n 'calendar.day': '日',\n 'calendar.agenda': '日程',\n 'calendar.allDay': '全天',\n 'date.selectDate': '选择日期',\n 'time.selectTime': '选择时间',\n 'time.hours': '小时',\n 'time.minutes': '分钟',\n 'time.period': '时段',\n },\n 'ko-KR': {\n 'common.save': '저장',\n 'common.cancel': '취소',\n 'common.delete': '삭제',\n 'common.edit': '편집',\n 'common.create': '만들기',\n 'common.search': '검색',\n 'common.loading': '로딩 중...',\n 'common.total': '합계',\n 'common.items': '항목',\n 'locale.selectLanguage': '언어 선택',\n 'locale.selectCurrency': '통화 선택',\n 'calendar.today': '오늘',\n 'calendar.month': '월',\n 'calendar.week': '주',\n 'calendar.day': '일',\n 'calendar.agenda': '일정',\n 'calendar.allDay': '종일',\n 'date.selectDate': '날짜 선택',\n 'time.selectTime': '시간 선택',\n 'time.hours': '시',\n 'time.minutes': '분',\n 'time.period': '오전/오후',\n },\n 'ar-SA': {\n 'common.save': 'حفظ',\n 'common.cancel': 'إلغاء',\n 'common.delete': 'حذف',\n 'common.edit': 'تعديل',\n 'common.create': 'إنشاء',\n 'common.search': 'بحث',\n 'common.loading': 'جاري التحميل...',\n 'common.total': 'المجموع',\n 'common.items': 'العناصر',\n 'locale.selectLanguage': 'اختر اللغة',\n 'locale.selectCurrency': 'اختر العملة',\n 'calendar.today': 'اليوم',\n 'calendar.month': 'شهر',\n 'calendar.week': 'أسبوع',\n 'calendar.day': 'يوم',\n 'calendar.agenda': 'جدول الأعمال',\n 'calendar.allDay': 'طوال اليوم',\n 'date.selectDate': 'اختر التاريخ',\n 'time.selectTime': 'اختر الوقت',\n 'time.hours': 'ساعات',\n 'time.minutes': 'دقائق',\n 'time.period': 'الفترة',\n },\n 'en-GB': {\n 'common.save': 'Save',\n 'common.cancel': 'Cancel',\n 'common.delete': 'Delete',\n 'common.edit': 'Edit',\n 'common.create': 'Create',\n 'common.search': 'Search',\n 'common.loading': 'Loading...',\n 'common.total': 'Total',\n 'common.items': 'Items',\n 'locale.selectLanguage': 'Select language',\n 'locale.selectCurrency': 'Select currency',\n 'calendar.today': 'Today',\n 'calendar.month': 'Month',\n 'calendar.week': 'Week',\n 'calendar.day': 'Day',\n 'calendar.agenda': 'Agenda',\n 'calendar.allDay': 'All day',\n 'date.selectDate': 'Pick a date',\n 'time.selectTime': 'Select time',\n 'time.hours': 'Hours',\n 'time.minutes': 'Minutes',\n 'time.period': 'Period',\n },\n}\n\nconst numberFormats: Record<SupportedLocale, NumberFormatConfig> = {\n 'en-US': { decimal: '.', thousand: ',' },\n 'en-GB': { decimal: '.', thousand: ',' },\n 'tr-TR': { decimal: ',', thousand: '.' },\n 'de-DE': { decimal: ',', thousand: '.' },\n 'fr-FR': { decimal: ',', thousand: ' ' },\n 'es-ES': { decimal: ',', thousand: '.' },\n 'it-IT': { decimal: ',', thousand: '.' },\n 'pt-BR': { decimal: ',', thousand: '.' },\n 'nl-NL': { decimal: ',', thousand: '.' },\n 'pl-PL': { decimal: ',', thousand: ' ' },\n 'ru-RU': { decimal: ',', thousand: ' ' },\n 'ja-JP': { decimal: '.', thousand: ',' },\n 'zh-CN': { decimal: '.', thousand: ',' },\n 'ko-KR': { decimal: '.', thousand: ',' },\n 'ar-SA': { decimal: '.', thousand: ',' },\n}\n\nfunction createLocaleConfig(locale: SupportedLocale): LocaleConfig {\n const localeInfo = locales[locale]\n const currencyInfo = currencies[localeInfo.defaultCurrency] as Currency\n\n return {\n locale,\n currency: localeInfo.defaultCurrency as CurrencyCode,\n currencySymbol: currencyInfo?.symbol || '$',\n dateFormat: dateFormats.short[locale],\n timeFormat: timeFormats.short[locale],\n numberFormat: numberFormats[locale],\n translations: defaultTranslations[locale] || defaultTranslations['en-US'],\n rtl: localeInfo.rtl,\n }\n}\n\nconst defaultLocaleConfigs: Record<SupportedLocale, LocaleConfig> = {\n 'en-US': createLocaleConfig('en-US'),\n 'en-GB': createLocaleConfig('en-GB'),\n 'tr-TR': createLocaleConfig('tr-TR'),\n 'de-DE': createLocaleConfig('de-DE'),\n 'fr-FR': createLocaleConfig('fr-FR'),\n 'es-ES': createLocaleConfig('es-ES'),\n 'it-IT': createLocaleConfig('it-IT'),\n 'pt-BR': createLocaleConfig('pt-BR'),\n 'nl-NL': createLocaleConfig('nl-NL'),\n 'pl-PL': createLocaleConfig('pl-PL'),\n 'ru-RU': createLocaleConfig('ru-RU'),\n 'ja-JP': createLocaleConfig('ja-JP'),\n 'zh-CN': createLocaleConfig('zh-CN'),\n 'ko-KR': createLocaleConfig('ko-KR'),\n 'ar-SA': createLocaleConfig('ar-SA'),\n}\n\ninterface LocaleContextValue {\n config: LocaleConfig\n setLocale: (locale: SupportedLocale) => void\n setCurrency: (currencyCode: CurrencyCode) => void\n setDateFormat: (format: string) => void\n setTimeFormat: (format: string) => void\n updateTranslations: (translations: Record<string, string>) => void\n updateConfig: (config: Partial<LocaleConfig>) => void\n formatNumber: (value: number) => string\n formatCurrency: (value: number, currencyCode?: CurrencyCode) => string\n t: (key: string, params?: TranslationParams) => string\n}\n\nconst LocaleContext = React.createContext<LocaleContextValue | undefined>(undefined)\n\nexport interface LocaleProviderProps {\n children: React.ReactNode\n defaultLocale?: SupportedLocale\n config?: Partial<LocaleConfig>\n translations?: Record<string, string>\n translationNamespace?: string\n translationResolver?: TranslationResolver\n onMissingKey?: (key: string) => void\n strictI18n?: boolean\n}\n\nexport function LocaleProvider({\n children,\n defaultLocale = 'en-US',\n config: customConfig,\n translations: customTranslations,\n translationNamespace,\n translationResolver,\n onMissingKey,\n strictI18n = false,\n}: LocaleProviderProps) {\n const [config, setConfig] = React.useState<LocaleConfig>(() => {\n const baseConfig = defaultLocaleConfigs[defaultLocale] || defaultLocaleConfigs['en-US']\n return {\n ...baseConfig,\n ...customConfig,\n translations: {\n ...baseConfig.translations,\n ...customTranslations,\n },\n }\n })\n\n const setLocale = React.useCallback((locale: SupportedLocale) => {\n const baseConfig = defaultLocaleConfigs[locale] || defaultLocaleConfigs['en-US']\n setConfig((prev) => ({\n ...baseConfig,\n translations: {\n ...baseConfig.translations,\n ...prev.translations,\n },\n }))\n }, [])\n\n const setCurrency = React.useCallback((currencyCode: CurrencyCode) => {\n const currencyInfo = currencies[currencyCode]\n if (currencyInfo) {\n setConfig((prev) => ({\n ...prev,\n currency: currencyCode,\n currencySymbol: currencyInfo.symbol,\n }))\n }\n }, [])\n\n const setDateFormat = React.useCallback((format: string) => {\n setConfig((prev) => ({\n ...prev,\n dateFormat: format,\n }))\n }, [])\n\n const setTimeFormat = React.useCallback((format: string) => {\n setConfig((prev) => ({\n ...prev,\n timeFormat: format,\n }))\n }, [])\n\n const updateTranslations = React.useCallback((translations: Record<string, string>) => {\n setConfig((prev) => ({\n ...prev,\n translations: {\n ...prev.translations,\n ...translations,\n },\n }))\n }, [])\n\n const updateConfig = React.useCallback((newConfig: Partial<LocaleConfig>) => {\n setConfig((prev) => ({\n ...prev,\n ...newConfig,\n translations: {\n ...prev.translations,\n ...newConfig.translations,\n },\n }))\n }, [])\n\n const formatNumber = React.useCallback(\n (value: number): string => {\n const { decimal, thousand } = config.numberFormat\n const parts = value.toFixed(2).split('.')\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousand)\n return parts.join(decimal)\n },\n [config.numberFormat]\n )\n\n const formatCurrency = React.useCallback(\n (value: number, currencyCode?: CurrencyCode): string => {\n const code = currencyCode || config.currency\n const currencyInfo = currencies[code]\n if (!currencyInfo) {\n return formatNumber(value)\n }\n\n const decimals = currencyInfo.decimals ?? 2\n const { decimal, thousand } = config.numberFormat\n const parts = value.toFixed(decimals).split('.')\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, thousand)\n const formattedValue = decimals > 0 ? parts.join(decimal) : parts[0]\n\n if (currencyInfo.position === 'before') {\n return `${currencyInfo.symbol}${formattedValue}`\n }\n return `${formattedValue} ${currencyInfo.symbol}`\n },\n [config.currency, config.numberFormat, formatNumber]\n )\n\n const t = React.useCallback(\n (key: string, params?: TranslationParams): string => {\n const resolvedKey = translationNamespace && !key.includes('.') ? `${translationNamespace}.${key}` : key\n const externalTranslation = translationResolver?.(resolvedKey, params)\n const fallbackTranslation = defaultTranslations['en-US']?.[resolvedKey]\n\n let translation =\n externalTranslation ??\n config.translations[resolvedKey] ??\n fallbackTranslation ??\n resolvedKey\n\n const isMissing = translation === resolvedKey\n if (isMissing) {\n onMissingKey?.(resolvedKey)\n if (strictI18n) {\n throw new Error(`[LocaleProvider] Missing translation key: ${resolvedKey}`)\n }\n }\n\n if (params) {\n Object.entries(params).forEach(([paramKey, paramValue]) => {\n translation = translation.replace(`{${paramKey}}`, String(paramValue))\n })\n }\n return translation\n },\n [config.translations, onMissingKey, strictI18n, translationNamespace, translationResolver]\n )\n\n const value = React.useMemo(\n () => ({\n config,\n setLocale,\n setCurrency,\n setDateFormat,\n setTimeFormat,\n updateTranslations,\n updateConfig,\n formatNumber,\n formatCurrency,\n t,\n }),\n [config, setLocale, setCurrency, setDateFormat, setTimeFormat, updateTranslations, updateConfig, formatNumber, formatCurrency, t]\n )\n\n return <LocaleContext.Provider value={value}>{children}</LocaleContext.Provider>\n}\n\nexport function useLocale() {\n const context = React.useContext(LocaleContext)\n if (context === undefined) {\n const defaultConfig = defaultLocaleConfigs['en-US']\n return {\n config: defaultConfig,\n setLocale: () => {},\n setCurrency: () => {},\n setDateFormat: () => {},\n setTimeFormat: () => {},\n updateTranslations: () => {},\n updateConfig: () => {},\n formatNumber: (value: number) => value.toLocaleString('en-US'),\n formatCurrency: (value: number) => `$${value.toLocaleString('en-US', { minimumFractionDigits: 2 })}`,\n t: (key: string, params?: TranslationParams) => {\n let text = defaultTranslations['en-US'][key] ?? key\n if (params) {\n Object.entries(params).forEach(([paramKey, paramValue]) => {\n text = text.replace(`{${paramKey}}`, String(paramValue))\n })\n }\n return text\n },\n }\n }\n return context\n}\n\nexport { LocaleContext, defaultLocaleConfigs, defaultTranslations }\nexport type { SupportedLocale, CurrencyCode }\n"],"names":["dateFormats","timeFormats","locales","getDateFormat","locale","type","getTimeFormat","getLocaleInfo","getAllLocales","getSupportedLocaleCodes","isRTLLocale","_a","currencies","getCurrency","code","formatCurrency","amount","currencyCode","currency","decimals","formattedAmount","getAllCurrencies","getCurrencyCodes","defaultTranslations","numberFormats","createLocaleConfig","localeInfo","currencyInfo","defaultLocaleConfigs","LocaleContext","React","LocaleProvider","children","defaultLocale","customConfig","customTranslations","translationNamespace","translationResolver","onMissingKey","strictI18n","config","setConfig","baseConfig","setLocale","prev","setCurrency","setDateFormat","format","setTimeFormat","updateTranslations","translations","updateConfig","newConfig","formatNumber","value","decimal","thousand","parts","formattedValue","t","key","params","resolvedKey","externalTranslation","fallbackTranslation","translation","paramKey","paramValue","jsx","useLocale","context","text"],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";const e=require("react/jsx-runtime"),S=require("react"),E=require("./button-CPuCii0R.cjs"),k=require("./index-Dy_9oyP3.cjs"),me=require("./label-F0zGAiI2.cjs"),q=require("./locale-provider-BScpm-eC.cjs"),Y=require("./use-controllable-state-3ATd6Fqd.cjs"),it=require("./calendar-CSJ060ym.cjs"),U=require("./popover-Bba1ELMX.cjs"),dt=require("./calendar-BH-AuyiB.cjs"),ge=require("./use-formatters-Bb0fX1lW.cjs"),te=require("./input-UBp7V7li.cjs"),ie=require("./dropdown-menu-ejikFvg2.cjs"),fe=require("./x-D-El5XAY.cjs"),ut=require("./upload-2tm-XihE.cjs"),mt=require("./file-CqYRamm8.cjs"),T=require("./command-BPtg-XK3.cjs"),we=require("./multi-select-DxN_LuXC.cjs"),oe=require("./badge-BZcdBG5J.cjs"),ft=require("./clock-CnxBAA_O.cjs"),Ve=require("./chevron-up-Bq55Db6X.cjs"),Ce=require("./scroll-area-HsTSI_58.cjs"),pt=require("./minus-BUFkTM0k.cjs"),xt=require("./plus-Bcuujcqd.cjs"),de=require("./dialog-DO5i1PED.cjs"),Ne=require("./avatar-Cl38Ye4J.cjs"),ht=require("./chevron-right-D-TdAZ7l.cjs"),gt=require("./loader-circle-IaJKvYsP.cjs");function jt(t){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const s in t)if(s!=="default"){const l=Object.getOwnPropertyDescriptor(t,s);Object.defineProperty(r,s,l.get?l:{enumerable:!0,get:()=>t[s]})}}return r.default=t,Object.freeze(r)}const N=jt(S);/**
|
|
2
|
+
* @license lucide-react v0.441.0 - ISC
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the ISC license.
|
|
5
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/const bt=Ce.createLucideIcon("Globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);/**
|
|
7
|
+
* @license lucide-react v0.441.0 - ISC
|
|
8
|
+
*
|
|
9
|
+
* This source code is licensed under the ISC license.
|
|
10
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
11
|
+
*/const Nt=Ce.createLucideIcon("Pipette",[["path",{d:"m2 22 1-1h3l9-9",key:"1sre89"}],["path",{d:"M3 21v-3l9-9",key:"hpe2y6"}],["path",{d:"m15 6 3.4-3.4a2.1 2.1 0 1 1 3 3L18 9l.4.4a2.1 2.1 0 1 1-3 3l-3.8-3.8a2.1 2.1 0 1 1 3-3l.4.4Z",key:"196du1"}]]);var yt=t=>t.type==="checkbox",ue=t=>t instanceof Date,Pe=t=>t==null;const _e=t=>typeof t=="object";var ce=t=>!Pe(t)&&!Array.isArray(t)&&_e(t)&&!ue(t),vt=t=>ce(t)&&t.target?yt(t.target)?t.target.checked:t.target.value:t,wt=t=>t.substring(0,t.search(/\.\d+(\.|$)/))||t,Ct=(t,r)=>t.has(wt(r)),Pt=t=>{const r=t.constructor&&t.constructor.prototype;return ce(r)&&r.hasOwnProperty("isPrototypeOf")},St=typeof window<"u"&&typeof window.HTMLElement<"u"&&typeof document<"u";function Oe(t){if(t instanceof Date)return new Date(t);const r=typeof FileList<"u"&&t instanceof FileList;if(St&&(t instanceof Blob||r))return t;const s=Array.isArray(t);if(!s&&!(ce(t)&&Pt(t)))return t;const l=s?[]:Object.create(Object.getPrototypeOf(t));for(const n in t)Object.prototype.hasOwnProperty.call(t,n)&&(l[n]=Oe(t[n]));return l}var Te=t=>/^\w*$/.test(t),ve=t=>t===void 0,kt=t=>Array.isArray(t)?t.filter(Boolean):[],Ee=t=>kt(t.replace(/["|']|\]/g,"").split(/\.|\[/)),J=(t,r,s)=>{if(!r||!ce(t))return s;const l=(Te(r)?[r]:Ee(r)).reduce((n,o)=>Pe(n)?n:n[o],t);return ve(l)||l===t?ve(t[r])?s:t[r]:l},ye=t=>typeof t=="boolean",he=t=>typeof t=="function",Le=(t,r,s)=>{let l=-1;const n=Te(r)?[r]:Ee(r),o=n.length,c=o-1;for(;++l<o;){const d=n[l];let m=s;if(l!==c){const h=t[d];m=ce(h)||Array.isArray(h)?h:isNaN(+n[l+1])?{}:[]}if(d==="__proto__"||d==="constructor"||d==="prototype")return;t[d]=m,t=t[d]}};const De={BLUR:"blur",CHANGE:"change"},Ie={all:"all"},Se=S.createContext(null);Se.displayName="HookFormControlContext";const ke=()=>S.useContext(Se);var Ft=(t,r,s,l=!0)=>{const n={defaultValues:r._defaultValues};for(const o in t)Object.defineProperty(n,o,{get:()=>{const c=o;return r._proxyFormState[c]!==Ie.all&&(r._proxyFormState[c]=!l||Ie.all),s&&(s[c]=!0),t[c]}});return n};const Ue=typeof window<"u"?S.useLayoutEffect:S.useEffect;function Vt(t){const r=ke(),{control:s=r,disabled:l,name:n,exact:o}=t||{},[c,d]=S.useState(s._formState),m=S.useRef({isDirty:!1,isLoading:!1,dirtyFields:!1,touchedFields:!1,validatingFields:!1,isValidating:!1,isValid:!1,errors:!1});return Ue(()=>s._subscribe({name:n,formState:m.current,exact:o,callback:h=>{!l&&d({...s._formState,...h})}}),[n,l,o]),S.useEffect(()=>{m.current.isValid&&s._setValid(!0)},[s]),S.useMemo(()=>Ft(c,s,m.current,!1),[c,s])}var Lt=t=>typeof t=="string",Me=(t,r,s,l,n)=>Lt(t)?J(s,t,n):Array.isArray(t)?t.map(o=>J(s,o)):s,Re=t=>Pe(t)||!_e(t);function je(t,r,s=new WeakSet){if(Re(t)||Re(r))return Object.is(t,r);if(ue(t)&&ue(r))return Object.is(t.getTime(),r.getTime());const l=Object.keys(t),n=Object.keys(r);if(l.length!==n.length)return!1;if(s.has(t)||s.has(r))return!0;s.add(t),s.add(r);for(const o of l){const c=t[o];if(!n.includes(o))return!1;if(o!=="ref"){const d=r[o];if(ue(c)&&ue(d)||ce(c)&&ce(d)||Array.isArray(c)&&Array.isArray(d)?!je(c,d,s):!Object.is(c,d))return!1}}return!0}function Dt(t){const r=ke(),{control:s=r,name:l,defaultValue:n,disabled:o,exact:c,compute:d}=t||{},m=S.useRef(n),h=S.useRef(d),g=S.useRef(void 0),f=S.useRef(s),x=S.useRef(l);h.current=d;const[P,C]=S.useState(()=>{const a=s._getWatch(l,m.current);return h.current?h.current(a):a}),w=S.useCallback(a=>{const j=Me(l,s._names,a||s._formValues,!1,m.current);return h.current?h.current(j):j},[s._formValues,s._names,l]),y=S.useCallback(a=>{if(!o){const j=Me(l,s._names,a||s._formValues,!1,m.current);if(h.current){const i=h.current(j);je(i,g.current)||(C(i),g.current=i)}else C(j)}},[s._formValues,s._names,o,l]);Ue(()=>((f.current!==s||!je(x.current,l))&&(f.current=s,x.current=l,y()),s._subscribe({name:l,formState:{values:!0},exact:c,callback:a=>{y(a.values)}})),[s,c,l,y]),S.useEffect(()=>s._removeUnmounted());const v=f.current!==s,b=x.current,F=S.useMemo(()=>{if(o)return null;const a=!v&&!je(b,l);return v||a?w():null},[o,v,l,b,w]);return F!==null?F:P}function It(t){const r=ke(),{name:s,disabled:l,control:n=r,shouldUnregister:o,defaultValue:c,exact:d=!0}=t,m=Ct(n._names.array,s),h=S.useMemo(()=>J(n._formValues,s,J(n._defaultValues,s,c)),[n,s,c]),g=Dt({control:n,name:s,defaultValue:h,exact:d}),f=Vt({control:n,name:s,exact:d}),x=S.useRef(t),P=S.useRef(void 0),C=S.useRef(n.register(s,{...t.rules,value:g,...ye(t.disabled)?{disabled:t.disabled}:{}}));x.current=t;const w=S.useMemo(()=>Object.defineProperties({},{invalid:{enumerable:!0,get:()=>!!J(f.errors,s)},isDirty:{enumerable:!0,get:()=>!!J(f.dirtyFields,s)},isTouched:{enumerable:!0,get:()=>!!J(f.touchedFields,s)},isValidating:{enumerable:!0,get:()=>!!J(f.validatingFields,s)},error:{enumerable:!0,get:()=>J(f.errors,s)}}),[f,s]),y=S.useCallback(a=>C.current.onChange({target:{value:vt(a),name:s},type:De.CHANGE}),[s]),v=S.useCallback(()=>C.current.onBlur({target:{value:J(n._formValues,s),name:s},type:De.BLUR}),[s,n._formValues]),b=S.useCallback(a=>{const j=J(n._fields,s);j&&j._f&&a&&(j._f.ref={focus:()=>he(a.focus)&&a.focus(),select:()=>he(a.select)&&a.select(),setCustomValidity:i=>he(a.setCustomValidity)&&a.setCustomValidity(i),reportValidity:()=>he(a.reportValidity)&&a.reportValidity()})},[n._fields,s]),F=S.useMemo(()=>({name:s,value:g,...ye(l)||f.disabled?{disabled:f.disabled||l}:{},onChange:y,onBlur:v,ref:b}),[s,l,f.disabled,y,v,b,g]);return S.useEffect(()=>{const a=n._options.shouldUnregister||o,j=P.current;j&&j!==s&&!m&&n.unregister(j),n.register(s,{...x.current.rules,...ye(x.current.disabled)?{disabled:x.current.disabled}:{}});const i=(I,p)=>{const D=J(n._fields,I);D&&D._f&&(D._f.mount=p)};if(i(s,!0),a){const I=Oe(J(n._options.defaultValues,s,x.current.defaultValue));Le(n._defaultValues,s,I),ve(J(n._formValues,s))&&Le(n._formValues,s,I)}return!m&&n.register(s),P.current=s,()=>{(m?a&&!n._state.action:a)?n.unregister(s):i(s,!1)}},[s,n,m,o]),S.useEffect(()=>{n._setDisabledField({disabled:l,name:s})},[l,s,n]),S.useMemo(()=>({field:F,formState:f,fieldState:w}),[F,f,w])}const Mt=t=>t.render(It(t)),Fe=S.createContext(null);Fe.displayName="HookFormContext";const Rt=()=>S.useContext(Fe),At=t=>{const{children:r,watch:s,getValues:l,getFieldState:n,setError:o,clearErrors:c,setValue:d,trigger:m,formState:h,resetField:g,reset:f,handleSubmit:x,unregister:P,control:C,register:w,setFocus:y,subscribe:v}=t;return S.createElement(Fe.Provider,{value:S.useMemo(()=>({watch:s,getValues:l,getFieldState:n,setError:o,clearErrors:c,setValue:d,trigger:m,formState:h,resetField:g,reset:f,handleSubmit:x,unregister:P,control:C,register:w,setFocus:y,subscribe:v}),[c,C,h,n,l,x,w,f,g,o,y,d,v,m,P,s])},S.createElement(Se.Provider,{value:C},r))},_t=At,Be=N.createContext({}),Ot=({...t})=>e.jsx(Be.Provider,{value:{name:t.name},children:e.jsx(Mt,{...t})}),pe=()=>{const t=N.useContext(Be),r=N.useContext($e),{getFieldState:s,formState:l}=Rt(),n=s(t.name,l);if(!t)throw new Error("useFormField should be used within <FormField>");const{id:o}=r;return{id:o,name:t.name,formItemId:`${o}-form-item`,formDescriptionId:`${o}-form-item-description`,formMessageId:`${o}-form-item-message`,...n}},$e=N.createContext({}),He=N.forwardRef(({className:t,...r},s)=>{const l=N.useId();return e.jsx($e.Provider,{value:{id:l},children:e.jsx("div",{ref:s,className:k.cn("space-y-2",t),...r})})});He.displayName="FormItem";const qe=N.forwardRef(({className:t,...r},s)=>{const{error:l,formItemId:n}=pe();return e.jsx(me.Label,{ref:s,className:k.cn(l&&"text-destructive",t),htmlFor:n,...r})});qe.displayName="FormLabel";const ze=N.forwardRef(({...t},r)=>{const{error:s,formItemId:l,formDescriptionId:n,formMessageId:o}=pe();return e.jsx(E.Slot,{ref:r,id:l,"aria-describedby":s?`${n} ${o}`:`${n}`,"aria-invalid":!!s,...t})});ze.displayName="FormControl";const Ge=N.forwardRef(({className:t,...r},s)=>{const{formDescriptionId:l}=pe();return e.jsx("p",{ref:s,id:l,className:k.cn("text-sm text-muted-foreground",t),...r})});Ge.displayName="FormDescription";const Ke=N.forwardRef(({className:t,children:r,...s},l)=>{const{error:n,formMessageId:o}=pe(),c=n?String(n==null?void 0:n.message):r;return c?e.jsx("p",{ref:l,id:o,className:k.cn("text-sm font-medium text-destructive",t),...s,children:c}):null});Ke.displayName="FormMessage";const We=N.forwardRef(({value:t,onChange:r,placeholder:s,disabled:l=!1,className:n,dateFormat:o="LLL dd, y",numberOfMonths:c=2,open:d,defaultOpen:m=!1,onOpenChange:h,renderValue:g,calendarProps:f},x)=>{const{t:P}=q.useLocale(),[C,w]=Y.useControllableState({value:d,defaultValue:m,onChange:h}),y=P("date.selectDateRange"),v=s??(y==="date.selectDateRange"?"Pick a date range":y),b=t!=null&&t.from?t.to?e.jsxs(e.Fragment,{children:[ge.format(t.from,o)," - ",ge.format(t.to,o)]}):ge.format(t.from,o):e.jsx("span",{children:v});return e.jsx("div",{className:k.cn("grid gap-2",n),children:e.jsxs(U.Popover,{open:C,onOpenChange:w,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(E.Button,{ref:x,id:"date",variant:"outline",disabled:l,className:k.cn("w-full justify-start text-left font-normal",!t&&"text-muted-foreground"),children:[e.jsx(dt.Calendar,{className:"mr-2 h-4 w-4"}),g?g(t):b]})}),e.jsx(U.PopoverContent,{className:"w-auto p-0",align:"start",children:e.jsx(it.Calendar,{initialFocus:!0,mode:"range",defaultMonth:t==null?void 0:t.from,selected:t,onSelect:r,numberOfMonths:c,...f})})]})})});We.displayName="DateRangePicker";const Xe=N.forwardRef(({className:t,value:r,onChange:s,onSearch:l,onClear:n,showClearButton:o=!0,loading:c=!1,placeholder:d,...m},h)=>{const{t:g}=q.useLocale(),f=C=>{s==null||s(C.target.value)},x=()=>{s==null||s(""),n==null||n()},P=C=>{C.key==="Enter"&&(l==null||l(r||""))};return e.jsxs("div",{className:k.cn("relative",t),children:[e.jsx(ie.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(te.Input,{ref:h,type:"text",value:r,onChange:f,onKeyDown:P,placeholder:d??g("table.searchPlaceholder"),className:k.cn("pl-9",o&&r&&"pr-9"),...m}),o&&r&&!c&&e.jsxs(E.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-1 top-1/2 h-7 w-7 -translate-y-1/2",onClick:x,children:[e.jsx(fe.X,{className:"h-4 w-4"}),e.jsx("span",{className:"sr-only",children:g("common.clear")})]}),c&&e.jsx("div",{className:"absolute right-3 top-1/2 -translate-y-1/2",children:e.jsx("div",{className:"h-4 w-4 animate-spin rounded-full border-2 border-muted-foreground border-t-transparent"})})]})});Xe.displayName="SearchInput";const Je=N.forwardRef(({value:t=[],onChange:r,accept:s,multiple:l=!1,maxFiles:n=10,maxSize:o=10*1024*1024,disabled:c=!1,className:d,dragActive:m,defaultDragActive:h=!1,onDragActiveChange:g,dropzoneTitle:f,dropzoneHint:x,singleFileLabel:P,maxFilesLabel:C,renderFileItem:w,onInvalidFile:y},v)=>{const{t:b}=q.useLocale(),F=N.useRef(null),[a,j]=Y.useControllableState({value:m,defaultValue:h,onChange:g}),i=V=>{if(V===0)return"0 Bytes";const _=1024,O=["Bytes","KB","MB","GB"],M=Math.floor(Math.log(V)/Math.log(_));return parseFloat((V/Math.pow(_,M)).toFixed(2))+" "+O[M]},I=b("fileUpload.dropOrClick"),p=f??(I==="fileUpload.dropOrClick"?"Drag & drop files here, or click to select":I),D=b("fileUpload.singleFile"),A=b("fileUpload.upToFiles",{count:n}),R=b("fileUpload.maxEach",{size:i(o)}),Z=P??(D==="fileUpload.singleFile"?"Single file":D),Q=(C==null?void 0:C(n))??(A==="fileUpload.upToFiles"?`Up to ${n} files`:A),se=R==="fileUpload.maxEach"?`max ${i(o)} each`:R,K=x??`${l?Q:Z} (${se})`,z=V=>{if(!V)return;const O=Array.from(V).filter(u=>u.size>o?(y==null||y(u,"size"),!1):!0),M=l?[...t,...O].slice(0,n):O.slice(0,1);r==null||r(M)},W=V=>{V.preventDefault(),V.stopPropagation(),V.type==="dragenter"||V.type==="dragover"?j(!0):V.type==="dragleave"&&j(!1)},re=V=>{V.preventDefault(),V.stopPropagation(),j(!1),c||z(V.dataTransfer.files)},ee=V=>{z(V.target.files)},ae=V=>{const _=t.filter((O,M)=>M!==V);r==null||r(_)};return e.jsxs("div",{ref:v,className:k.cn("space-y-4",d),children:[e.jsxs("div",{className:k.cn("relative flex flex-col items-center justify-center rounded-lg border-2 border-dashed p-6 transition-colors",a?"border-primary bg-primary/5":"border-muted-foreground/25",c&&"cursor-not-allowed opacity-50"),onDragEnter:W,onDragLeave:W,onDragOver:W,onDrop:re,children:[e.jsx("input",{ref:F,type:"file",accept:s,multiple:l,disabled:c,onChange:ee,className:"absolute inset-0 cursor-pointer opacity-0"}),e.jsx(ut.Upload,{className:"mb-2 h-10 w-10 text-muted-foreground"}),e.jsx("p",{className:"mb-1 text-sm font-medium",children:p}),e.jsx("p",{className:"text-xs text-muted-foreground",children:K})]}),t.length>0&&e.jsx("div",{className:"space-y-2",children:t.map((V,_)=>e.jsx(N.Fragment,{children:w?w(V,_,()=>ae(_)):e.jsxs("div",{className:"flex items-center justify-between rounded-lg border p-3",children:[e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsx(mt.File,{className:"h-8 w-8 text-muted-foreground"}),e.jsxs("div",{children:[e.jsx("p",{className:"text-sm font-medium",children:V.name}),e.jsx("p",{className:"text-xs text-muted-foreground",children:i(V.size)})]})]}),e.jsx(E.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>ae(_),disabled:c,"aria-label":b("common.delete"),children:e.jsx(fe.X,{className:"h-4 w-4"})})]})},`${V.name}-${_}`))})]})});Je.displayName="FileUpload";const Qe=N.forwardRef(({options:t,value:r,onChange:s,placeholder:l,searchPlaceholder:n,emptyMessage:o,disabled:c=!1,className:d,open:m,defaultOpen:h=!1,onOpenChange:g,searchValue:f,defaultSearchValue:x="",onSearchValueChange:P,clearSearchOnClose:C=!0,renderOption:w},y)=>{const{t:v}=q.useLocale(),[b,F]=Y.useControllableState({value:m,defaultValue:h,onChange:g}),[a,j]=Y.useControllableState({value:f,defaultValue:x,onChange:P}),i=l??v("common.select"),I=n??v("common.search"),p=o??v("table.noResults"),D=t.find(R=>R.value===r),A=R=>{F(R),!R&&C&&j("")};return e.jsxs(U.Popover,{open:b,onOpenChange:A,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(E.Button,{ref:y,variant:"outline",role:"combobox","aria-expanded":b,disabled:c,className:k.cn("w-full justify-between",!r&&"text-muted-foreground",d),children:[D?D.label:i,e.jsx(we.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(U.PopoverContent,{className:"w-full p-0",align:"start",children:e.jsxs(T.Command,{children:[e.jsx(T.CommandInput,{placeholder:I,value:a,onValueChange:j}),e.jsxs(T.CommandList,{children:[e.jsx(T.CommandEmpty,{children:p}),e.jsx(T.CommandGroup,{children:t.map(R=>e.jsx(T.CommandItem,{value:R.value,disabled:R.disabled,onSelect:Z=>{s==null||s(Z===r?"":Z),F(!1)},children:w?w(R,r===R.value):e.jsxs(e.Fragment,{children:[e.jsx(oe.Check,{className:k.cn("mr-2 h-4 w-4",r===R.value?"opacity-100":"opacity-0")}),R.label]})},R.value))})]})]})})]})});Qe.displayName="Combobox";const Ye=N.forwardRef(({value:t=[],onChange:r,placeholder:s,maxTags:l=10,allowDuplicates:n=!1,disabled:o=!1,className:c,inputValue:d,defaultInputValue:m="",onInputValueChange:h,onTagAdd:g,onTagRemove:f,separatorKeys:x=[","],normalizeTag:P},C)=>{const{t:w}=q.useLocale(),[y,v]=Y.useControllableState({value:d,defaultValue:m,onChange:h}),b=N.useRef(null),F=w("tag.add"),a=s??(F==="tag.add"?"Add tag...":F),j=p=>{const A=(P?P(p):p).trim();A&&(t.length>=l||!n&&t.includes(A)||(r==null||r([...t,A]),g==null||g(A),v("")))},i=p=>{const D=t.filter((A,R)=>R!==p);f==null||f(t[p]??"",p),r==null||r(D)},I=p=>{p.key==="Enter"?(p.preventDefault(),j(y)):p.key==="Backspace"&&!y&&t.length>0?i(t.length-1):x.includes(p.key)&&(p.preventDefault(),j(y))};return e.jsxs("div",{ref:C,className:k.cn("flex min-h-10 w-full flex-wrap items-center gap-2 rounded-md border border-input bg-background px-3 py-2 text-sm focus-within:ring-1 focus-within:ring-ring/50",o&&"cursor-not-allowed opacity-50",c),onClick:()=>{var p;return(p=b.current)==null?void 0:p.focus()},children:[t.map((p,D)=>e.jsxs(oe.Badge,{variant:"secondary",className:"gap-1",children:[p,!o&&e.jsx("button",{type:"button",onClick:A=>{A.stopPropagation(),i(D)},className:"ml-1 rounded-full outline-none focus-visible:ring-1 focus-visible:ring-ring/50",children:e.jsx(fe.X,{className:"h-3 w-3"})})]},`${p}-${D}`)),e.jsx(te.Input,{ref:b,type:"text",value:y,onChange:p=>v(p.target.value),onKeyDown:I,placeholder:t.length===0?a:"",disabled:o||t.length>=l,className:"flex-1 border-0 bg-transparent p-0 placeholder:text-muted-foreground focus-visible:ring-0 focus-visible:ring-offset-0"})]})});Ye.displayName="TagInput";const Ze=N.forwardRef(({value:t,onChange:r,format:s="24h",minuteStep:l=1,placeholder:n,disabled:o=!1,className:c,error:d,open:m,defaultOpen:h=!1,onOpenChange:g,hoursLabel:f,minutesLabel:x,periodLabel:P,amLabel:C,pmLabel:w},y)=>{const{t:v}=ge.useFormatters(),[b,F]=Y.useControllableState({value:m,defaultValue:h,onChange:g}),[a,j]=N.useState(0),[i,I]=N.useState(0),[p,D]=N.useState("AM"),A=f??v("time.hours"),R=x??v("time.minutes"),Z=P??v("time.period"),Q=v("time.am"),se=v("time.pm"),K=C??(Q==="time.am"?"AM":Q),z=w??(se==="time.pm"?"PM":se);N.useEffect(()=>{if(t){const[u,B]=t.split(":").map(Number);s==="12h"?(j(u>12?u-12:u===0?12:u),D(u>=12?"PM":"AM")):j(u),I(B)}},[t,s]);const W=(u,B,$)=>{let G=u;if(s==="12h"){const ne=$??p;ne==="PM"&&G!==12&&(G+=12),ne==="AM"&&G===12&&(G=0)}const X=`${G.toString().padStart(2,"0")}:${B.toString().padStart(2,"0")}`;r==null||r(X)},re=()=>{const u=s==="12h"?12:23,B=s==="12h"?1:0,$=a>=u?B:a+1;j($),W($,i)},ee=()=>{const u=s==="12h"?12:23,$=a<=(s==="12h"?1:0)?u:a-1;j($),W($,i)},ae=()=>{const u=i>=60-l,B=u?0:i+l;let $=a,G=p;if(u){const X=s==="12h"?12:23,ne=s==="12h"?1:0;$=a>=X?ne:a+1,s==="12h"&&a===11&&(G=p==="AM"?"PM":"AM",D(G)),j($)}I(B),W($,B,s==="12h"?G:void 0)},V=()=>{const u=i<l,B=u?60-l:i-l;let $=a,G=p;if(u){const X=s==="12h"?12:23;$=a<=(s==="12h"?1:0)?X:a-1,s==="12h"&&a===12&&(G=p==="AM"?"PM":"AM",D(G)),j($)}I(B),W($,B,s==="12h"?G:void 0)},_=()=>{const u=p==="AM"?"PM":"AM";D(u),W(a,i,u)},O=N.useMemo(()=>t?s==="12h"?`${a.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")} ${p==="AM"?K:z}`:`${a.toString().padStart(2,"0")}:${i.toString().padStart(2,"0")}`:"",[t,s,a,i,p,K,z]),M=n||v("time.selectTime");return e.jsxs(U.Popover,{open:b,onOpenChange:F,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs("div",{className:k.cn("relative",c),children:[e.jsx(te.Input,{ref:y,readOnly:!0,value:O,placeholder:M,disabled:o,className:k.cn("pr-10 cursor-pointer",d&&"border-destructive"),onClick:()=>!o&&F(!0)}),e.jsx(ft.Clock,{className:"absolute right-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"})]})}),e.jsx(U.PopoverContent,{className:"w-auto p-4",align:"start",children:e.jsxs("div",{className:"flex items-center gap-4",children:[e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(me.Label,{className:"text-xs text-muted-foreground",children:A}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx(E.Button,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:re,children:e.jsx(Ve.ChevronUp,{className:"h-4 w-4"})}),e.jsx("span",{className:"text-2xl font-bold tabular-nums",children:a.toString().padStart(2,"0")}),e.jsx(E.Button,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:ee,children:e.jsx(te.ChevronDown,{className:"h-4 w-4"})})]})]}),e.jsx("span",{className:"text-2xl font-bold",children:":"}),e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(me.Label,{className:"text-xs text-muted-foreground",children:R}),e.jsxs("div",{className:"flex flex-col items-center",children:[e.jsx(E.Button,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:ae,children:e.jsx(Ve.ChevronUp,{className:"h-4 w-4"})}),e.jsx("span",{className:"text-2xl font-bold tabular-nums",children:i.toString().padStart(2,"0")}),e.jsx(E.Button,{variant:"ghost",size:"icon",className:"h-8 w-8",onClick:V,children:e.jsx(te.ChevronDown,{className:"h-4 w-4"})})]})]}),s==="12h"&&e.jsxs("div",{className:"flex flex-col items-center gap-1",children:[e.jsx(me.Label,{className:"text-xs text-muted-foreground",children:Z}),e.jsx(E.Button,{variant:"outline",className:"h-auto px-3 py-2 text-lg font-bold",onClick:_,children:p==="AM"?K:z})]})]})})]})});Ze.displayName="TimePicker";const Tt=["#000000","#ffffff","#ef4444","#f97316","#f59e0b","#eab308","#84cc16","#22c55e","#10b981","#14b8a6","#06b6d4","#0ea5e9","#3b82f6","#6366f1","#8b5cf6","#a855f7","#d946ef","#ec4899","#f43f5e","#78716c","#737373","#71717a","#6b7280","#64748b"],et=N.forwardRef(({value:t="#000000",onChange:r,presetColors:s=Tt,showInput:l=!0,showEyeDropper:n=!0,placeholder:o,disabled:c=!1,className:d},m)=>{const{t:h}=q.useLocale(),[g,f]=N.useState(!1),[x,P]=N.useState(t),C=typeof window<"u"&&"EyeDropper"in window;N.useEffect(()=>{P(t)},[t]);const w=b=>{P(b),r==null||r(b)},y=b=>{const F=b.target.value;P(F),/^#[0-9A-Fa-f]{6}$/.test(F)&&(r==null||r(F))},v=async()=>{if(C)try{const F=await new window.EyeDropper().open();w(F.sRGBHex)}catch{}};return e.jsxs(U.Popover,{open:g,onOpenChange:f,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(E.Button,{ref:m,variant:"outline",disabled:c,className:k.cn("w-full justify-start gap-2",d),children:[e.jsx("div",{className:"h-5 w-5 rounded border",style:{backgroundColor:x}}),e.jsx("span",{className:"flex-1 text-left font-mono text-sm",children:x||o||h("color.select")})]})}),e.jsx(U.PopoverContent,{className:"w-64 p-3",align:"start",children:e.jsxs("div",{className:"space-y-3",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("div",{className:"h-10 w-10 rounded-lg border",style:{backgroundColor:x}}),e.jsxs("div",{className:"flex-1",children:[e.jsx(me.Label,{className:"text-xs text-muted-foreground",children:h("color.current")}),e.jsx("p",{className:"font-mono text-sm font-medium",children:x})]}),n&&C&&e.jsx(E.Button,{variant:"outline",size:"icon",onClick:v,title:h("color.pickFromScreen"),children:e.jsx(Nt,{className:"h-4 w-4"})})]}),e.jsx("div",{className:"grid grid-cols-6 gap-1",children:s.map(b=>e.jsx("button",{className:k.cn("h-7 w-7 rounded-md border-2 transition-transform hover:scale-110",x.toLowerCase()===b.toLowerCase()?"border-primary":"border-transparent"),style:{backgroundColor:b},onClick:()=>w(b),title:b},b))}),l&&e.jsxs("div",{className:"flex gap-2",children:[e.jsx(te.Input,{type:"text",value:x,onChange:y,placeholder:"#000000",className:"font-mono",maxLength:7}),e.jsx("input",{type:"color",value:x,onChange:b=>w(b.target.value),className:"h-10 w-10 cursor-pointer rounded border bg-transparent p-1"})]})]})})]})});et.displayName="ColorPicker";const Et=E.cva("relative flex",{variants:{size:{sm:"w-24",md:"w-32",lg:"w-40"}},defaultVariants:{size:"md"}}),Ae={sm:"h-8 w-8",md:"h-10 w-10",lg:"h-12 w-12"},Ut={sm:"h-8 text-sm",md:"h-10 text-base",lg:"h-12 text-lg"},tt=N.forwardRef(({className:t,value:r,onChange:s,min:l,max:n,step:o=1,precision:c=0,showStepper:d=!0,prefix:m,suffix:h,parser:g,formatter:f,inputValue:x,defaultInputValue:P=(r==null?void 0:r.toString())??"",onInputValueChange:C,onIncrement:w,onDecrement:y,decrementAriaLabel:v,incrementAriaLabel:b,disabled:F,size:a="md",...j},i)=>{const{t:I}=q.useLocale(),[p,D]=Y.useControllableState({value:x,defaultValue:P,onChange:C}),A=I("number.decrement"),R=I("number.increment"),Z=v??(A==="number.decrement"?"Decrease value":A),Q=b??(R==="number.increment"?"Increase value":R),se=N.useCallback(M=>{if(g)return g(M);const u=parseFloat(M);return Number.isNaN(u)?void 0:u},[g]),K=N.useCallback(M=>f?f(M):M==null?"":M.toString(),[f]);N.useEffect(()=>{x===void 0&&D(K(r))},[r,x,D,K]);const z=M=>{let u=M;return l!==void 0&&(u=Math.max(l,u)),n!==void 0&&(u=Math.min(n,u)),Number(u.toFixed(c))},W=M=>{const u=M.target.value;if(D(u),u===""||u==="-"){s==null||s(void 0);return}const B=se(u);B!==void 0&&(s==null||s(z(B)))},re=()=>{if(p===""||p==="-"){D(""),s==null||s(void 0);return}const M=se(p);if(M!==void 0){const u=z(M);D(K(u)),s==null||s(u)}},ee=()=>{const u=z((r??0)+o);D(K(u)),s==null||s(u),w==null||w(u)},ae=()=>{const u=z((r??0)-o);D(K(u)),s==null||s(u),y==null||y(u)},V=n===void 0||(r??0)<n,_=l===void 0||(r??0)>l,O=a||"md";return e.jsxs("div",{className:k.cn(Et({size:a}),t),children:[d&&e.jsx(E.Button,{type:"button",variant:"outline",size:"icon",className:k.cn("rounded-r-none",Ae[O]),onClick:ae,disabled:F||!_,"aria-label":Z,children:e.jsx(pt.Minus,{className:k.cn(O==="sm"?"h-3 w-3":"h-4 w-4")})}),e.jsxs("div",{className:"relative flex-1",children:[m&&e.jsx("span",{className:k.cn("absolute left-3 top-1/2 -translate-y-1/2 text-muted-foreground",O==="sm"&&"text-sm",O==="lg"&&"text-lg"),children:m}),e.jsx(te.Input,{ref:i,type:"text",inputMode:"decimal",value:p,onChange:W,onBlur:re,disabled:F,className:k.cn("text-center",Ut[O],d&&"rounded-none border-x-0",m&&"pl-8",h&&"pr-8"),...j}),h&&e.jsx("span",{className:k.cn("absolute right-3 top-1/2 -translate-y-1/2 text-muted-foreground",O==="sm"&&"text-sm",O==="lg"&&"text-lg"),children:h})]}),d&&e.jsx(E.Button,{type:"button",variant:"outline",size:"icon",className:k.cn("rounded-l-none",Ae[O]),onClick:ee,disabled:F||!V,"aria-label":Q,children:e.jsx(xt.Plus,{className:k.cn(O==="sm"?"h-3 w-3":"h-4 w-4")})})]})});tt.displayName="NumberInput";const st=[{code:"US",dialCode:"+1",name:"United States",flag:"🇺🇸"},{code:"GB",dialCode:"+44",name:"United Kingdom",flag:"🇬🇧"},{code:"DE",dialCode:"+49",name:"Germany",flag:"🇩🇪"},{code:"FR",dialCode:"+33",name:"France",flag:"🇫🇷"},{code:"IT",dialCode:"+39",name:"Italy",flag:"🇮🇹"},{code:"ES",dialCode:"+34",name:"Spain",flag:"🇪🇸"},{code:"TR",dialCode:"+90",name:"Turkey",flag:"🇹🇷"},{code:"NL",dialCode:"+31",name:"Netherlands",flag:"🇳🇱"},{code:"BE",dialCode:"+32",name:"Belgium",flag:"🇧🇪"},{code:"AT",dialCode:"+43",name:"Austria",flag:"🇦🇹"},{code:"CH",dialCode:"+41",name:"Switzerland",flag:"🇨🇭"},{code:"PL",dialCode:"+48",name:"Poland",flag:"🇵🇱"},{code:"SE",dialCode:"+46",name:"Sweden",flag:"🇸🇪"},{code:"NO",dialCode:"+47",name:"Norway",flag:"🇳🇴"},{code:"DK",dialCode:"+45",name:"Denmark",flag:"🇩🇰"},{code:"FI",dialCode:"+358",name:"Finland",flag:"🇫🇮"},{code:"PT",dialCode:"+351",name:"Portugal",flag:"🇵🇹"},{code:"GR",dialCode:"+30",name:"Greece",flag:"🇬🇷"},{code:"CZ",dialCode:"+420",name:"Czech Republic",flag:"🇨🇿"},{code:"RO",dialCode:"+40",name:"Romania",flag:"🇷🇴"},{code:"HU",dialCode:"+36",name:"Hungary",flag:"🇭🇺"},{code:"IE",dialCode:"+353",name:"Ireland",flag:"🇮🇪"},{code:"AU",dialCode:"+61",name:"Australia",flag:"🇦🇺"},{code:"CA",dialCode:"+1",name:"Canada",flag:"🇨🇦"},{code:"BR",dialCode:"+55",name:"Brazil",flag:"🇧🇷"},{code:"MX",dialCode:"+52",name:"Mexico",flag:"🇲🇽"},{code:"JP",dialCode:"+81",name:"Japan",flag:"🇯🇵"},{code:"CN",dialCode:"+86",name:"China",flag:"🇨🇳"},{code:"IN",dialCode:"+91",name:"India",flag:"🇮🇳"},{code:"RU",dialCode:"+7",name:"Russia",flag:"🇷🇺"}],rt=N.forwardRef(({value:t,onChange:r,defaultCountry:s="US",selectedCountryCode:l,onSelectedCountryCodeChange:n,onCountryChange:o,countries:c=st,placeholder:d,disabled:m=!1,className:h,error:g},f)=>{const{t:x}=q.useLocale(),[P,C]=Y.useControllableState({value:l,defaultValue:s,onChange:n}),w=N.useMemo(()=>c.find(i=>i.code===P)||c[0],[c,P]),[y,v]=N.useState(""),b=x("form.phonePlaceholder"),F=d??(b==="form.phonePlaceholder"?"Phone number":b);if(N.useEffect(()=>{if(t==null||t===""){v("");return}const i=c.find(I=>t.startsWith(I.dialCode));i?(C(i.code),v(t.slice(i.dialCode.length).trim())):v(t)},[t,c,C]),!w)return null;const a=i=>{C(i.code),o==null||o(i);const I=`${i.dialCode} ${y}`.trim();r==null||r(I,i)},j=i=>{const I=i.target.value.replace(/[^\d\s\-()]/g,"");v(I);const p=`${w.dialCode} ${I}`.trim();r==null||r(p,w)};return e.jsxs("div",{className:k.cn("flex",h),children:[e.jsxs(ie.DropdownMenu,{children:[e.jsx(ie.DropdownMenuTrigger,{asChild:!0,children:e.jsxs(E.Button,{variant:"outline",disabled:m,className:k.cn("flex shrink-0 items-center gap-1 rounded-r-none border-r-0 px-3",g&&"border-destructive"),children:[e.jsx("span",{className:"text-base",children:w.flag}),e.jsx("span",{className:"text-sm text-muted-foreground",children:w.dialCode}),e.jsx(te.ChevronDown,{className:"h-4 w-4 opacity-50"})]})}),e.jsx(ie.DropdownMenuContent,{className:"max-h-64 overflow-y-auto",children:c.map(i=>e.jsxs(ie.DropdownMenuItem,{onClick:()=>a(i),className:"flex items-center gap-2",children:[e.jsx("span",{className:"text-base",children:i.flag}),e.jsx("span",{className:"flex-1",children:i.name}),e.jsx("span",{className:"text-sm text-muted-foreground",children:i.dialCode})]},i.code))})]}),e.jsx(te.Input,{ref:f,type:"tel",value:y,onChange:j,placeholder:F,disabled:m,className:k.cn("rounded-l-none",g&&"border-destructive")})]})});rt.displayName="PhoneInput";const at=N.forwardRef(({value:t,onChange:r,onSearch:s,placeholder:l,dialogTitle:n,searchPlaceholder:o,emptyMessage:c,startTypingMessage:d,multiple:m=!1,disabled:h=!1,className:g,open:f,defaultOpen:x=!1,onOpenChange:P,searchQuery:C,defaultSearchQuery:w="",onSearchQueryChange:y,results:v,defaultResults:b=[],onResultsChange:F,loading:a,defaultLoading:j=!1,onLoadingChange:i,debounceMs:I=300,onSearchError:p,renderItem:D,renderLoadingState:A,renderEmptyState:R},Z)=>{const{t:Q}=q.useLocale(),[se,K]=Y.useControllableState({value:f,defaultValue:x,onChange:P}),[z,W]=Y.useControllableState({value:C,defaultValue:w,onChange:y}),[re,ee]=Y.useControllableState({value:v,defaultValue:b,onChange:F}),[ae,V]=Y.useControllableState({value:a,defaultValue:j,onChange:i}),_=N.useRef(null),O=Q("lookup.startTyping"),M=l??Q("common.select"),u=n??Q("common.search"),B=o??Q("common.search"),$=c??Q("table.noResults"),G=d??(O==="lookup.startTyping"?"Start typing to search...":O),X=N.useMemo(()=>t?Array.isArray(t)?t:[t]:[],[t]);N.useEffect(()=>()=>{_.current&&clearTimeout(_.current)},[]);const ne=N.useCallback(async L=>{if(W(L),_.current&&clearTimeout(_.current),!L.trim()){ee([]),V(!1);return}_.current=setTimeout(async()=>{V(!0);try{const H=await s(L);ee(H)}catch(H){p==null||p(H),ee([])}finally{V(!1)}},I)},[I,s,p,V,ee,W]),nt=L=>{if(m){const H=X,xe=H.some(be=>be.id===L.id)?H.filter(be=>be.id!==L.id):[...H,L];r==null||r(xe.length>0?xe:void 0)}else r==null||r(L),K(!1)},lt=(L,H)=>{if(H.stopPropagation(),m){const le=X.filter(xe=>xe.id!==L);r==null||r(le.length>0?le:void 0)}else r==null||r(void 0)},ot=L=>{L.stopPropagation(),r==null||r(void 0)},ct=L=>e.jsxs("div",{className:"flex items-center gap-3",children:[e.jsxs(Ne.Avatar,{className:"h-8 w-8",children:[L.avatar&&e.jsx(Ne.AvatarImage,{src:L.avatar}),e.jsx(Ne.AvatarFallback,{className:"text-xs",children:L.label.split(" ").map(H=>H[0]).join("").toUpperCase().slice(0,2)})]}),e.jsxs("div",{className:"flex flex-1 flex-col",children:[e.jsx("span",{className:"font-medium",children:L.label}),L.description&&e.jsx("span",{className:"text-xs text-muted-foreground",children:L.description})]}),L.badges&&L.badges.length>0&&e.jsx("div",{className:"flex gap-1",children:L.badges.map((H,le)=>e.jsx(oe.Badge,{variant:"secondary",className:"text-xs",children:H},le))})]});return e.jsxs(de.Dialog,{open:se,onOpenChange:K,children:[e.jsx(de.DialogTrigger,{asChild:!0,children:e.jsxs(E.Button,{ref:Z,variant:"outline",role:"combobox",disabled:h,className:k.cn("w-full justify-between font-normal",X.length===0&&"text-muted-foreground",g),children:[e.jsx("div",{className:"flex flex-1 flex-wrap items-center gap-1 overflow-hidden",children:X.length===0?e.jsx("span",{children:M}):m?X.map(L=>e.jsxs(oe.Badge,{variant:"secondary",className:"gap-1 pr-1",children:[L.label,e.jsx("button",{className:"rounded-full hover:bg-muted-foreground/20",onClick:H=>lt(L.id,H),children:e.jsx(fe.X,{className:"h-3 w-3"})})]},L.id)):e.jsx("span",{className:"truncate",children:X[0].label})}),e.jsxs("div",{className:"flex items-center gap-1",children:[X.length>0&&!m&&e.jsx("button",{className:"rounded p-0.5 hover:bg-muted",onClick:ot,children:e.jsx(fe.X,{className:"h-4 w-4 text-muted-foreground"})}),e.jsx(ht.ChevronRight,{className:"h-4 w-4 shrink-0 opacity-50"})]})]})}),e.jsxs(de.DialogContent,{className:"max-w-lg",children:[e.jsx(de.DialogHeader,{children:e.jsx(de.DialogTitle,{children:u})}),e.jsxs("div",{className:"space-y-4",children:[e.jsxs("div",{className:"relative",children:[e.jsx(ie.Search,{className:"absolute left-3 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground"}),e.jsx(te.Input,{placeholder:B,value:z,onChange:L=>ne(L.target.value),className:"pl-10",autoFocus:!0})]}),e.jsx(Ce.ScrollArea,{className:"h-64",children:ae?A?A():e.jsx("div",{className:"flex items-center justify-center py-8",children:e.jsx(gt.LoaderCircle,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):re.length===0?R?R(z):e.jsx("div",{className:"py-8 text-center text-sm text-muted-foreground",children:z?$:G}):e.jsx("div",{className:"space-y-1",children:re.map(L=>{const H=X.some(le=>le.id===L.id);return e.jsx("button",{onClick:()=>nt(L),className:k.cn("w-full rounded-md p-2 text-left transition-colors hover:bg-accent",H&&"bg-accent"),children:D?D(L):ct(L)},L.id)})})})]})]})]})});at.displayName="LookupField";const Bt=["USD","EUR","GBP","TRY","JPY","CNY"];function $t({value:t,onChange:r,placeholder:s,searchPlaceholder:l,emptyMessage:n,disabled:o=!1,className:c,showSymbol:d=!0,showCode:m=!0,showName:h=!0,popularCurrencies:g=Bt}){const[f,x]=N.useState(!1),{t:P}=q.useLocale(),C=q.getAllCurrencies(),w=t?q.currencies[t]:void 0,y=g.map(a=>q.currencies[a]).filter(Boolean),v=C.filter(a=>!g.includes(a.code)),F=w?(a=>{const j=[];return d&&j.push(a.symbol),m&&j.push(a.code),h&&j.push(`- ${a.name}`),j.join(" ")})(w):s||P("locale.selectCurrency");return e.jsxs(U.Popover,{open:f,onOpenChange:x,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(E.Button,{variant:"outline",role:"combobox","aria-expanded":f,disabled:o,className:k.cn("w-full justify-between",!t&&"text-muted-foreground",c),children:[e.jsx("span",{className:"truncate",children:F}),e.jsx(we.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(U.PopoverContent,{className:"w-[300px] p-0",align:"start",children:e.jsxs(T.Command,{children:[e.jsx(T.CommandInput,{placeholder:l||P("common.search"),className:"h-9"}),e.jsxs(T.CommandList,{children:[e.jsx(T.CommandEmpty,{children:n||P("common.noData")}),y.length>0&&e.jsx(T.CommandGroup,{heading:"Popular",children:y.map(a=>e.jsxs(T.CommandItem,{value:`${a.code} ${a.name}`,onSelect:()=>{r==null||r(a.code),x(!1)},children:[e.jsx(oe.Check,{className:k.cn("mr-2 h-4 w-4",t===a.code?"opacity-100":"opacity-0")}),e.jsx("span",{className:"w-8 font-medium",children:a.symbol}),e.jsx("span",{className:"w-12 text-muted-foreground",children:a.code}),e.jsx("span",{className:"truncate",children:a.name})]},a.code))}),e.jsx(T.CommandGroup,{heading:"All Currencies",children:v.map(a=>e.jsxs(T.CommandItem,{value:`${a.code} ${a.name}`,onSelect:()=>{r==null||r(a.code),x(!1)},children:[e.jsx(oe.Check,{className:k.cn("mr-2 h-4 w-4",t===a.code?"opacity-100":"opacity-0")}),e.jsx("span",{className:"w-8 font-medium",children:a.symbol}),e.jsx("span",{className:"w-12 text-muted-foreground",children:a.code}),e.jsx("span",{className:"truncate",children:a.name})]},a.code))})]})]})})]})}function Ht({value:t,onChange:r,placeholder:s,searchPlaceholder:l,emptyMessage:n,disabled:o=!1,className:c,showFlag:d=!0,showNativeName:m=!0,showCode:h=!1,variant:g="default"}){const[f,x]=N.useState(!1),{t:P,config:C}=q.useLocale(),w=q.getAllLocales(),y=t?q.getLocaleInfo(t):void 0,v=t||C.locale,F=y?((a,j=!1)=>{if(g==="icon-only"&&j)return d?a.flag:e.jsx(bt,{className:"h-4 w-4"});if(g==="compact"&&j)return e.jsxs("span",{className:"flex items-center gap-1.5",children:[d&&e.jsx("span",{children:a.flag}),e.jsx("span",{children:a.code.split("-")[0].toUpperCase()})]});const i=[];return d&&i.push(e.jsx("span",{className:"mr-1.5",children:a.flag},"flag")),m&&i.push(e.jsx("span",{children:a.nativeName},"native")),h&&i.push(e.jsxs("span",{className:"text-muted-foreground ml-1",children:["(",a.code,")"]},"code")),e.jsx("span",{className:"flex items-center",children:i})})(y,!0):s||P("locale.selectLanguage");return e.jsxs(U.Popover,{open:f,onOpenChange:x,children:[e.jsx(U.PopoverTrigger,{asChild:!0,children:e.jsxs(E.Button,{variant:"outline",role:"combobox","aria-expanded":f,disabled:o,className:k.cn("justify-between",g==="icon-only"?"w-10 px-0":g==="compact"?"w-auto":"w-full",!t&&"text-muted-foreground",c),children:[e.jsx("span",{className:k.cn("truncate",g==="icon-only"&&"text-lg"),children:F}),g!=="icon-only"&&e.jsx(we.ChevronsUpDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),e.jsx(U.PopoverContent,{className:"w-[280px] p-0",align:"start",children:e.jsxs(T.Command,{children:[e.jsx(T.CommandInput,{placeholder:l||P("common.search"),className:"h-9"}),e.jsxs(T.CommandList,{children:[e.jsx(T.CommandEmpty,{children:n||P("common.noData")}),e.jsx(T.CommandGroup,{children:w.map(a=>e.jsxs(T.CommandItem,{value:`${a.code} ${a.name} ${a.nativeName}`,onSelect:()=>{r==null||r(a.code),x(!1)},children:[e.jsx(oe.Check,{className:k.cn("mr-2 h-4 w-4",v===a.code?"opacity-100":"opacity-0")}),e.jsx("span",{className:"mr-2 text-lg",children:a.flag}),e.jsxs("div",{className:"flex flex-col",children:[e.jsx("span",{className:"font-medium",children:a.nativeName}),e.jsx("span",{className:"text-xs text-muted-foreground",children:a.name})]})]},a.code))})]})]})})]})}exports.ColorPicker=et;exports.Combobox=Qe;exports.CurrencySelector=$t;exports.DEFAULT_COUNTRIES=st;exports.DateRangePicker=We;exports.FileUpload=Je;exports.Form=_t;exports.FormControl=ze;exports.FormDescription=Ge;exports.FormField=Ot;exports.FormItem=He;exports.FormLabel=qe;exports.FormMessage=Ke;exports.LocaleSelector=Ht;exports.LookupField=at;exports.NumberInput=tt;exports.PhoneInput=rt;exports.SearchInput=Xe;exports.TagInput=Ye;exports.TimePicker=Ze;exports.useFormField=pe;
|
|
12
|
+
//# sourceMappingURL=locale-selector-D0jV4-90.cjs.map
|