@senitix/ui 0.4.0
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/avatar-C0aVNCG9.cjs +2 -0
- package/dist/avatar-C0aVNCG9.cjs.map +1 -0
- package/dist/avatar-CN6wcrqY.js +288 -0
- package/dist/avatar-CN6wcrqY.js.map +1 -0
- package/dist/calendar-BFWc4IB7.js +1182 -0
- package/dist/calendar-BFWc4IB7.js.map +1 -0
- package/dist/calendar-BUm7YrNf.cjs +2 -0
- package/dist/calendar-BUm7YrNf.cjs.map +1 -0
- package/dist/calendar-ChJkFXXr.js +11 -0
- package/dist/calendar-ChJkFXXr.js.map +1 -0
- package/dist/calendar-SwL5isYC.cjs +2 -0
- package/dist/calendar-SwL5isYC.cjs.map +1 -0
- package/dist/card-K4fxyYwE.js +51 -0
- package/dist/card-K4fxyYwE.js.map +1 -0
- package/dist/card-tMkUxpmW.cjs +2 -0
- package/dist/card-tMkUxpmW.cjs.map +1 -0
- package/dist/checkbox-CpOq5hkT.js +289 -0
- package/dist/checkbox-CpOq5hkT.js.map +1 -0
- package/dist/checkbox-D7-LQyCl.cjs +2 -0
- package/dist/checkbox-D7-LQyCl.cjs.map +1 -0
- package/dist/chevron-down-DHdXqOqK.cjs +2 -0
- package/dist/chevron-down-DHdXqOqK.cjs.map +1 -0
- package/dist/chevron-down-DJ1_YIFu.js +8 -0
- package/dist/chevron-down-DJ1_YIFu.js.map +1 -0
- package/dist/chevron-right-B3bovvh0.js +8 -0
- package/dist/chevron-right-B3bovvh0.js.map +1 -0
- package/dist/chevron-right-Dvyd11q0.cjs +2 -0
- package/dist/chevron-right-Dvyd11q0.cjs.map +1 -0
- package/dist/chevron-up-B9fuiZhc.cjs +2 -0
- package/dist/chevron-up-B9fuiZhc.cjs.map +1 -0
- package/dist/chevron-up-CGtXOr51.js +6 -0
- package/dist/chevron-up-CGtXOr51.js.map +1 -0
- package/dist/components/charts/index.cjs.js +2 -0
- package/dist/components/charts/index.cjs.js.map +1 -0
- package/dist/components/charts/index.es.js +12 -0
- package/dist/components/charts/index.es.js.map +1 -0
- package/dist/components/data-display/index.cjs.js +2 -0
- package/dist/components/data-display/index.cjs.js.map +1 -0
- package/dist/components/data-display/index.es.js +25 -0
- package/dist/components/data-display/index.es.js.map +1 -0
- package/dist/components/dnd/index.cjs.js +2 -0
- package/dist/components/dnd/index.cjs.js.map +1 -0
- package/dist/components/dnd/index.es.js +9 -0
- package/dist/components/dnd/index.es.js.map +1 -0
- package/dist/components/feedback/index.cjs.js +2 -0
- package/dist/components/feedback/index.cjs.js.map +1 -0
- package/dist/components/feedback/index.es.js +16 -0
- package/dist/components/feedback/index.es.js.map +1 -0
- package/dist/components/forms/index.cjs.js +2 -0
- package/dist/components/forms/index.cjs.js.map +1 -0
- package/dist/components/forms/index.es.js +27 -0
- package/dist/components/forms/index.es.js.map +1 -0
- package/dist/components/layouts/index.cjs.js +2 -0
- package/dist/components/layouts/index.cjs.js.map +1 -0
- package/dist/components/layouts/index.es.js +25 -0
- package/dist/components/layouts/index.es.js.map +1 -0
- package/dist/components/navigation/index.cjs.js +2 -0
- package/dist/components/navigation/index.cjs.js.map +1 -0
- package/dist/components/navigation/index.es.js +42 -0
- package/dist/components/navigation/index.es.js.map +1 -0
- package/dist/components/ui/index.cjs.js +2 -0
- package/dist/components/ui/index.cjs.js.map +1 -0
- package/dist/components/ui/index.es.js +165 -0
- package/dist/components/ui/index.es.js.map +1 -0
- package/dist/createLucideIcon-BbeNo6vq.js +56 -0
- package/dist/createLucideIcon-BbeNo6vq.js.map +1 -0
- package/dist/createLucideIcon-i5GEhNMV.cjs +2 -0
- package/dist/createLucideIcon-i5GEhNMV.cjs.map +1 -0
- package/dist/ellipsis-BW2gWki8.cjs +2 -0
- package/dist/ellipsis-BW2gWki8.cjs.map +1 -0
- package/dist/ellipsis-CiKEaUNP.js +10 -0
- package/dist/ellipsis-CiKEaUNP.js.map +1 -0
- package/dist/file-V_hhCUhr.cjs +2 -0
- package/dist/file-V_hhCUhr.cjs.map +1 -0
- package/dist/file-wzTXnWqz.js +9 -0
- package/dist/file-wzTXnWqz.js.map +1 -0
- package/dist/filter-tags-DjUaNXHR.cjs +5 -0
- package/dist/filter-tags-DjUaNXHR.cjs.map +1 -0
- package/dist/filter-tags-i_I8qV1N.js +2658 -0
- package/dist/filter-tags-i_I8qV1N.js.map +1 -0
- package/dist/full-calendar-7ac2FFU6.js +3518 -0
- package/dist/full-calendar-7ac2FFU6.js.map +1 -0
- package/dist/full-calendar-Cpeh5xMP.cjs +8 -0
- package/dist/full-calendar-Cpeh5xMP.cjs.map +1 -0
- package/dist/global-search-UNXjoFlI.cjs +2 -0
- package/dist/global-search-UNXjoFlI.cjs.map +1 -0
- package/dist/global-search-h1rVbP2q.js +1188 -0
- package/dist/global-search-h1rVbP2q.js.map +1 -0
- package/dist/hooks/index.cjs.js +2 -0
- package/dist/hooks/index.cjs.js.map +1 -0
- package/dist/hooks/index.es.js +13 -0
- package/dist/hooks/index.es.js.map +1 -0
- package/dist/index-Co9o9StL.js +33 -0
- package/dist/index-Co9o9StL.js.map +1 -0
- package/dist/index-CwJPJKOE.js +2278 -0
- package/dist/index-CwJPJKOE.js.map +1 -0
- package/dist/index-CzVK9Zyb.cjs +6 -0
- package/dist/index-CzVK9Zyb.cjs.map +1 -0
- package/dist/index-l828OqQN.js +288 -0
- package/dist/index-l828OqQN.js.map +1 -0
- package/dist/index-lGzB9daF.cjs +2 -0
- package/dist/index-lGzB9daF.cjs.map +1 -0
- package/dist/index-lT9bLt9X.cjs +2 -0
- package/dist/index-lT9bLt9X.cjs.map +1 -0
- package/dist/index.cjs.js +2 -0
- package/dist/index.cjs.js.map +1 -0
- package/dist/index.es.js +332 -0
- package/dist/index.es.js.map +1 -0
- package/dist/input-CZrckPLk.cjs +42 -0
- package/dist/input-CZrckPLk.cjs.map +1 -0
- package/dist/input-D4AoiWxo.js +3629 -0
- package/dist/input-D4AoiWxo.js.map +1 -0
- package/dist/locale-provider-DHMwuneF.cjs +2 -0
- package/dist/locale-provider-DHMwuneF.cjs.map +1 -0
- package/dist/locale-provider-DanG6RRG.js +1012 -0
- package/dist/locale-provider-DanG6RRG.js.map +1 -0
- package/dist/locale-selector-Ppe0KTi-.cjs +2 -0
- package/dist/locale-selector-Ppe0KTi-.cjs.map +1 -0
- package/dist/locale-selector-xn2GpdP9.js +1745 -0
- package/dist/locale-selector-xn2GpdP9.js.map +1 -0
- package/dist/minus-BXBFZSZs.cjs +2 -0
- package/dist/minus-BXBFZSZs.cjs.map +1 -0
- package/dist/minus-DvlYtl96.js +6 -0
- package/dist/minus-DvlYtl96.js.map +1 -0
- package/dist/multi-container-C2UpSw5f.js +731 -0
- package/dist/multi-container-C2UpSw5f.js.map +1 -0
- package/dist/multi-container-DMKL8c9B.cjs +2 -0
- package/dist/multi-container-DMKL8c9B.cjs.map +1 -0
- package/dist/pipeline-By5_8AFg.cjs +2 -0
- package/dist/pipeline-By5_8AFg.cjs.map +1 -0
- package/dist/pipeline-D-QNSU0U.js +1036 -0
- package/dist/pipeline-D-QNSU0U.js.map +1 -0
- package/dist/plus-8wKRkVu-.cjs +2 -0
- package/dist/plus-8wKRkVu-.cjs.map +1 -0
- package/dist/plus-CJD68KQD.js +9 -0
- package/dist/plus-CJD68KQD.js.map +1 -0
- package/dist/popover-4V4sGe1U.js +765 -0
- package/dist/popover-4V4sGe1U.js.map +1 -0
- package/dist/popover-ivh-plLc.cjs +2 -0
- package/dist/popover-ivh-plLc.cjs.map +1 -0
- package/dist/progress-CFnuLqnS.cjs +7 -0
- package/dist/progress-CFnuLqnS.cjs.map +1 -0
- package/dist/progress-D5AsrWa6.js +222 -0
- package/dist/progress-D5AsrWa6.js.map +1 -0
- package/dist/providers/index.cjs.js +2 -0
- package/dist/providers/index.cjs.js.map +1 -0
- package/dist/providers/index.es.js +9 -0
- package/dist/providers/index.es.js.map +1 -0
- package/dist/scroll-area-DQeqDp3Y.js +952 -0
- package/dist/scroll-area-DQeqDp3Y.js.map +1 -0
- package/dist/scroll-area-DYOiJMXh.cjs +2 -0
- package/dist/scroll-area-DYOiJMXh.cjs.map +1 -0
- package/dist/select-C1rNBi6c.js +974 -0
- package/dist/select-C1rNBi6c.js.map +1 -0
- package/dist/select-m-Mqwxu3.cjs +2 -0
- package/dist/select-m-Mqwxu3.cjs.map +1 -0
- package/dist/separator-DBUivkHq.cjs +2 -0
- package/dist/separator-DBUivkHq.cjs.map +1 -0
- package/dist/separator-DsfoJx-2.js +395 -0
- package/dist/separator-DsfoJx-2.js.map +1 -0
- package/dist/sheet-BVWCpq7E.js +84 -0
- package/dist/sheet-BVWCpq7E.js.map +1 -0
- package/dist/sheet-mKiFLVnK.cjs +2 -0
- package/dist/sheet-mKiFLVnK.cjs.map +1 -0
- package/dist/skeleton-BSwwYaQU.cjs +2 -0
- package/dist/skeleton-BSwwYaQU.cjs.map +1 -0
- package/dist/skeleton-BmGbfJw3.js +9 -0
- package/dist/skeleton-BmGbfJw3.js.map +1 -0
- package/dist/sortable.esm-Blhf_jh1.js +3391 -0
- package/dist/sortable.esm-Blhf_jh1.js.map +1 -0
- package/dist/sortable.esm-DcQYlXi3.cjs +6 -0
- package/dist/sortable.esm-DcQYlXi3.cjs.map +1 -0
- package/dist/sparkline-chart-Da-ehDGv.js +21082 -0
- package/dist/sparkline-chart-Da-ehDGv.js.map +1 -0
- package/dist/sparkline-chart-ca3uTzVK.cjs +68 -0
- package/dist/sparkline-chart-ca3uTzVK.cjs.map +1 -0
- package/dist/trending-up-D3Nfrhi3.cjs +2 -0
- package/dist/trending-up-D3Nfrhi3.cjs.map +1 -0
- package/dist/trending-up-DPwlYzQb.js +9 -0
- package/dist/trending-up-DPwlYzQb.js.map +1 -0
- package/dist/ui.css +1 -0
- package/dist/use-formatters-d97RVcmg.cjs +2 -0
- package/dist/use-formatters-d97RVcmg.cjs.map +1 -0
- package/dist/use-formatters-l1_2c8z0.js +6682 -0
- package/dist/use-formatters-l1_2c8z0.js.map +1 -0
- package/dist/use-local-storage-BjlrKzE-.js +42 -0
- package/dist/use-local-storage-BjlrKzE-.js.map +1 -0
- package/dist/use-local-storage-q-1odzIu.cjs +2 -0
- package/dist/use-local-storage-q-1odzIu.cjs.map +1 -0
- package/dist/use-mobile-C-LMK4T8.js +15 -0
- package/dist/use-mobile-C-LMK4T8.js.map +1 -0
- package/dist/use-mobile-DY7TJ5lx.cjs +2 -0
- package/dist/use-mobile-DY7TJ5lx.cjs.map +1 -0
- package/dist/use-toast-DG2qdYhl.js +97 -0
- package/dist/use-toast-DG2qdYhl.js.map +1 -0
- package/dist/use-toast-DxZJ8uUm.cjs +2 -0
- package/dist/use-toast-DxZJ8uUm.cjs.map +1 -0
- package/dist/utils/index.cjs.js +2 -0
- package/dist/utils/index.cjs.js.map +1 -0
- package/dist/utils/index.es.js +5 -0
- package/dist/utils/index.es.js.map +1 -0
- package/dist/welcome-card-CPolYl1D.cjs +2 -0
- package/dist/welcome-card-CPolYl1D.cjs.map +1 -0
- package/dist/welcome-card-CxMJZ8bv.js +963 -0
- package/dist/welcome-card-CxMJZ8bv.js.map +1 -0
- package/package.json +179 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";const B=require("react/jsx-runtime"),w=require("react");function K(e){const m=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const y=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(m,r,y.get?y:{enumerable:!0,get:()=>e[r]})}}return m.default=e,Object.freeze(m)}const i=K(w),n={short:{"tr-TR":"dd.MM.yyyy","en-US":"MM/dd/yyyy","en-GB":"dd/MM/yyyy","de-DE":"dd.MM.yyyy","fr-FR":"dd/MM/yyyy","es-ES":"dd/MM/yyyy","it-IT":"dd/MM/yyyy","pt-BR":"dd/MM/yyyy","nl-NL":"dd-MM-yyyy","pl-PL":"dd.MM.yyyy","ru-RU":"dd.MM.yyyy","ja-JP":"yyyy/MM/dd","zh-CN":"yyyy-MM-dd","ko-KR":"yyyy.MM.dd","ar-SA":"dd/MM/yyyy"},long:{"tr-TR":"d MMMM yyyy","en-US":"MMMM d, yyyy","en-GB":"d MMMM yyyy","de-DE":"d. MMMM yyyy","fr-FR":"d MMMM yyyy","es-ES":"d de MMMM de yyyy","it-IT":"d MMMM yyyy","pt-BR":"d de MMMM de yyyy","nl-NL":"d MMMM yyyy","pl-PL":"d MMMM yyyy","ru-RU":"d MMMM yyyy г.","ja-JP":"yyyy年M月d日","zh-CN":"yyyy年M月d日","ko-KR":"yyyy년 M월 d일","ar-SA":"d MMMM yyyy"},withTime:{"tr-TR":"dd.MM.yyyy HH:mm","en-US":"MM/dd/yyyy hh:mm a","en-GB":"dd/MM/yyyy HH:mm","de-DE":"dd.MM.yyyy HH:mm","fr-FR":"dd/MM/yyyy HH:mm","es-ES":"dd/MM/yyyy HH:mm","it-IT":"dd/MM/yyyy HH:mm","pt-BR":"dd/MM/yyyy HH:mm","nl-NL":"dd-MM-yyyy HH:mm","pl-PL":"dd.MM.yyyy HH:mm","ru-RU":"dd.MM.yyyy HH:mm","ja-JP":"yyyy/MM/dd HH:mm","zh-CN":"yyyy-MM-dd HH:mm","ko-KR":"yyyy.MM.dd HH:mm","ar-SA":"dd/MM/yyyy hh:mm a"},relative:{"tr-TR":"relative","en-US":"relative","en-GB":"relative","de-DE":"relative","fr-FR":"relative","es-ES":"relative","it-IT":"relative","pt-BR":"relative","nl-NL":"relative","pl-PL":"relative","ru-RU":"relative","ja-JP":"relative","zh-CN":"relative","ko-KR":"relative","ar-SA":"relative"}},t={short:{"tr-TR":"HH:mm","en-US":"hh:mm a","en-GB":"HH:mm","de-DE":"HH:mm","fr-FR":"HH:mm","es-ES":"HH:mm","it-IT":"HH:mm","pt-BR":"HH:mm","nl-NL":"HH:mm","pl-PL":"HH:mm","ru-RU":"HH:mm","ja-JP":"HH:mm","zh-CN":"HH:mm","ko-KR":"HH:mm","ar-SA":"hh:mm a"},long:{"tr-TR":"HH:mm:ss","en-US":"hh:mm:ss a","en-GB":"HH:mm:ss","de-DE":"HH:mm:ss","fr-FR":"HH:mm:ss","es-ES":"HH:mm:ss","it-IT":"HH:mm:ss","pt-BR":"HH:mm:ss","nl-NL":"HH:mm:ss","pl-PL":"HH:mm:ss","ru-RU":"HH:mm:ss","ja-JP":"HH:mm:ss","zh-CN":"HH:mm:ss","ko-KR":"HH:mm:ss","ar-SA":"hh:mm:ss a"}},h={"tr-TR":{code:"tr-TR",name:"Turkish",nativeName:"Türkçe",flag:"🇹🇷",defaultCurrency:"TRY",dateFormat:n.short["tr-TR"],timeFormat:t.short["tr-TR"]},"en-US":{code:"en-US",name:"English (US)",nativeName:"English (US)",flag:"🇺🇸",defaultCurrency:"USD",dateFormat:n.short["en-US"],timeFormat:t.short["en-US"]},"en-GB":{code:"en-GB",name:"English (UK)",nativeName:"English (UK)",flag:"🇬🇧",defaultCurrency:"GBP",dateFormat:n.short["en-GB"],timeFormat:t.short["en-GB"]},"de-DE":{code:"de-DE",name:"German",nativeName:"Deutsch",flag:"🇩🇪",defaultCurrency:"EUR",dateFormat:n.short["de-DE"],timeFormat:t.short["de-DE"]},"fr-FR":{code:"fr-FR",name:"French",nativeName:"Français",flag:"🇫🇷",defaultCurrency:"EUR",dateFormat:n.short["fr-FR"],timeFormat:t.short["fr-FR"]},"es-ES":{code:"es-ES",name:"Spanish",nativeName:"Español",flag:"🇪🇸",defaultCurrency:"EUR",dateFormat:n.short["es-ES"],timeFormat:t.short["es-ES"]},"it-IT":{code:"it-IT",name:"Italian",nativeName:"Italiano",flag:"🇮🇹",defaultCurrency:"EUR",dateFormat:n.short["it-IT"],timeFormat:t.short["it-IT"]},"pt-BR":{code:"pt-BR",name:"Portuguese (Brazil)",nativeName:"Português (Brasil)",flag:"🇧🇷",defaultCurrency:"BRL",dateFormat:n.short["pt-BR"],timeFormat:t.short["pt-BR"]},"nl-NL":{code:"nl-NL",name:"Dutch",nativeName:"Nederlands",flag:"🇳🇱",defaultCurrency:"EUR",dateFormat:n.short["nl-NL"],timeFormat:t.short["nl-NL"]},"pl-PL":{code:"pl-PL",name:"Polish",nativeName:"Polski",flag:"🇵🇱",defaultCurrency:"PLN",dateFormat:n.short["pl-PL"],timeFormat:t.short["pl-PL"]},"ru-RU":{code:"ru-RU",name:"Russian",nativeName:"Русский",flag:"🇷🇺",defaultCurrency:"RUB",dateFormat:n.short["ru-RU"],timeFormat:t.short["ru-RU"]},"ja-JP":{code:"ja-JP",name:"Japanese",nativeName:"日本語",flag:"🇯🇵",defaultCurrency:"JPY",dateFormat:n.short["ja-JP"],timeFormat:t.short["ja-JP"]},"zh-CN":{code:"zh-CN",name:"Chinese (Simplified)",nativeName:"中文",flag:"🇨🇳",defaultCurrency:"CNY",dateFormat:n.short["zh-CN"],timeFormat:t.short["zh-CN"]},"ko-KR":{code:"ko-KR",name:"Korean",nativeName:"한국어",flag:"🇰🇷",defaultCurrency:"KRW",dateFormat:n.short["ko-KR"],timeFormat:t.short["ko-KR"]},"ar-SA":{code:"ar-SA",name:"Arabic",nativeName:"العربية",flag:"🇸🇦",defaultCurrency:"SAR",dateFormat:n.short["ar-SA"],timeFormat:t.short["ar-SA"],rtl:!0}};function z(e,m="short"){return n[m][e]||n[m]["en-US"]}function I(e,m="short"){return t[m][e]||t[m]["en-US"]}function j(e){return h[e]||h["en-US"]}function G(){return Object.values(h)}function O(){return Object.keys(h)}function $(e){return h[e]?.rtl===!0}const f={USD:{code:"USD",symbol:"$",name:"US Dollar",position:"before",decimals:2},EUR:{code:"EUR",symbol:"€",name:"Euro",position:"before",decimals:2},GBP:{code:"GBP",symbol:"£",name:"British Pound",position:"before",decimals:2},TRY:{code:"TRY",symbol:"₺",name:"Turkish Lira",position:"before",decimals:2},JPY:{code:"JPY",symbol:"¥",name:"Japanese Yen",position:"before",decimals:0},CNY:{code:"CNY",symbol:"¥",name:"Chinese Yuan",position:"before",decimals:2},KRW:{code:"KRW",symbol:"₩",name:"Korean Won",position:"before",decimals:0},INR:{code:"INR",symbol:"₹",name:"Indian Rupee",position:"before",decimals:2},BRL:{code:"BRL",symbol:"R$",name:"Brazilian Real",position:"before",decimals:2},RUB:{code:"RUB",symbol:"₽",name:"Russian Ruble",position:"after",decimals:2},AUD:{code:"AUD",symbol:"A$",name:"Australian Dollar",position:"before",decimals:2},CAD:{code:"CAD",symbol:"C$",name:"Canadian Dollar",position:"before",decimals:2},CHF:{code:"CHF",symbol:"Fr",name:"Swiss Franc",position:"before",decimals:2},SEK:{code:"SEK",symbol:"kr",name:"Swedish Krona",position:"after",decimals:2},NOK:{code:"NOK",symbol:"kr",name:"Norwegian Krone",position:"after",decimals:2},DKK:{code:"DKK",symbol:"kr",name:"Danish Krone",position:"after",decimals:2},PLN:{code:"PLN",symbol:"zł",name:"Polish Zloty",position:"after",decimals:2},MXN:{code:"MXN",symbol:"$",name:"Mexican Peso",position:"before",decimals:2},SGD:{code:"SGD",symbol:"S$",name:"Singapore Dollar",position:"before",decimals:2},HKD:{code:"HKD",symbol:"HK$",name:"Hong Kong Dollar",position:"before",decimals:2},AED:{code:"AED",symbol:"د.إ",name:"UAE Dirham",position:"before",decimals:2},SAR:{code:"SAR",symbol:"﷼",name:"Saudi Riyal",position:"after",decimals:2},NZD:{code:"NZD",symbol:"NZ$",name:"New Zealand Dollar",position:"before",decimals:2},ZAR:{code:"ZAR",symbol:"R",name:"South African Rand",position:"before",decimals:2},THB:{code:"THB",symbol:"฿",name:"Thai Baht",position:"before",decimals:2},IDR:{code:"IDR",symbol:"Rp",name:"Indonesian Rupiah",position:"before",decimals:0},MYR:{code:"MYR",symbol:"RM",name:"Malaysian Ringgit",position:"before",decimals:2},PHP:{code:"PHP",symbol:"₱",name:"Philippine Peso",position:"before",decimals:2},VND:{code:"VND",symbol:"₫",name:"Vietnamese Dong",position:"after",decimals:0},CZK:{code:"CZK",symbol:"Kč",name:"Czech Koruna",position:"after",decimals:2},HUF:{code:"HUF",symbol:"Ft",name:"Hungarian Forint",position:"after",decimals:0},ILS:{code:"ILS",symbol:"₪",name:"Israeli Shekel",position:"before",decimals:2},CLP:{code:"CLP",symbol:"$",name:"Chilean Peso",position:"before",decimals:0},COP:{code:"COP",symbol:"$",name:"Colombian Peso",position:"before",decimals:0},ARS:{code:"ARS",symbol:"$",name:"Argentine Peso",position:"before",decimals:2},PEN:{code:"PEN",symbol:"S/",name:"Peruvian Sol",position:"before",decimals:2},EGP:{code:"EGP",symbol:"E£",name:"Egyptian Pound",position:"before",decimals:2},NGN:{code:"NGN",symbol:"₦",name:"Nigerian Naira",position:"before",decimals:2},PKR:{code:"PKR",symbol:"₨",name:"Pakistani Rupee",position:"before",decimals:2},BDT:{code:"BDT",symbol:"৳",name:"Bangladeshi Taka",position:"before",decimals:2},UAH:{code:"UAH",symbol:"₴",name:"Ukrainian Hryvnia",position:"after",decimals:2},RON:{code:"RON",symbol:"lei",name:"Romanian Leu",position:"after",decimals:2},BGN:{code:"BGN",symbol:"лв",name:"Bulgarian Lev",position:"after",decimals:2},HRK:{code:"HRK",symbol:"kn",name:"Croatian Kuna",position:"after",decimals:2},ISK:{code:"ISK",symbol:"kr",name:"Icelandic Krona",position:"after",decimals:0},TWD:{code:"TWD",symbol:"NT$",name:"Taiwan Dollar",position:"before",decimals:0}};function F(e){return f[e]}function J(e,m,r){const y=F(m);if(!y)return e.toString();const c=y.decimals??2,u=e.toLocaleString(r,{minimumFractionDigits:c,maximumFractionDigits:c});return y.position==="before"?`${y.symbol}${u}`:`${u} ${y.symbol}`}function x(){return Object.values(f)}function W(){return Object.keys(f)}const S={"en-US":{"common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.edit":"Edit","common.create":"Create","common.search":"Search","common.filter":"Filter","common.export":"Export","common.import":"Import","common.loading":"Loading...","common.noData":"No data available","common.confirm":"Confirm","common.close":"Close","common.yes":"Yes","common.no":"No","common.all":"All","common.none":"None","common.select":"Select","common.selectAll":"Select all","common.clearAll":"Clear all","common.apply":"Apply","common.reset":"Reset","common.more":"More","common.less":"Less","common.viewAll":"View all","common.showMore":"Show more","common.showLess":"Show less","common.total":"Total","common.items":"Items","table.rowsPerPage":"Rows per page","table.of":"of","table.page":"Page","table.noResults":"No results found","table.columns":"Columns","form.required":"This field is required","form.invalidEmail":"Invalid email address","form.invalidPhone":"Invalid phone number","form.minLength":"Minimum {min} characters required","form.maxLength":"Maximum {max} characters allowed","date.today":"Today","date.yesterday":"Yesterday","date.tomorrow":"Tomorrow","date.thisWeek":"This week","date.lastWeek":"Last week","date.thisMonth":"This month","date.lastMonth":"Last month","notifications.success":"Success","notifications.error":"Error","notifications.warning":"Warning","notifications.info":"Info","deal.probability":"Probability","deal.value":"Value","deal.stage":"Stage","deal.closeDate":"Close Date","pipeline.moveTo":"Move to","pipeline.stages":"Stages","locale.selectLanguage":"Select language","locale.selectCurrency":"Select currency","calendar.today":"Today","calendar.month":"Month","calendar.week":"Week","calendar.day":"Day","calendar.agenda":"Agenda","calendar.allDay":"All day","calendar.noEvents":"No events scheduled for this month","calendar.more":"+{count} more","calendar.viewDetails":"View Details","date.selectDate":"Pick a date","time.selectTime":"Select time","time.hours":"Hours","time.minutes":"Minutes","time.period":"Period","status.active":"Active","status.inactive":"Inactive","status.pending":"Pending","status.completed":"Completed","status.cancelled":"Cancelled"},"tr-TR":{"common.save":"Kaydet","common.cancel":"İptal","common.delete":"Sil","common.edit":"Düzenle","common.create":"Oluştur","common.search":"Ara","common.filter":"Filtrele","common.export":"Dışa Aktar","common.import":"İçe Aktar","common.loading":"Yükleniyor...","common.noData":"Veri bulunamadı","common.confirm":"Onayla","common.close":"Kapat","common.yes":"Evet","common.no":"Hayır","common.all":"Tümü","common.none":"Hiçbiri","common.select":"Seç","common.selectAll":"Tümünü seç","common.clearAll":"Tümünü temizle","common.apply":"Uygula","common.reset":"Sıfırla","common.more":"Daha fazla","common.less":"Daha az","common.viewAll":"Tümünü gör","common.showMore":"Daha fazla göster","common.showLess":"Daha az göster","common.total":"Toplam","common.items":"Öğeler","table.rowsPerPage":"Sayfa başına satır","table.of":"/","table.page":"Sayfa","table.noResults":"Sonuç bulunamadı","table.columns":"Sütunlar","form.required":"Bu alan zorunludur","form.invalidEmail":"Geçersiz e-posta adresi","form.invalidPhone":"Geçersiz telefon numarası","form.minLength":"En az {min} karakter gerekli","form.maxLength":"En fazla {max} karakter girilebilir","date.today":"Bugün","date.yesterday":"Dün","date.tomorrow":"Yarın","date.thisWeek":"Bu hafta","date.lastWeek":"Geçen hafta","date.thisMonth":"Bu ay","date.lastMonth":"Geçen ay","notifications.success":"Başarılı","notifications.error":"Hata","notifications.warning":"Uyarı","notifications.info":"Bilgi","deal.probability":"Olasılık","deal.value":"Değer","deal.stage":"Aşama","deal.closeDate":"Kapanış Tarihi","pipeline.moveTo":"Taşı","pipeline.stages":"Aşamalar","locale.selectLanguage":"Dil seçin","locale.selectCurrency":"Para birimi seçin","calendar.today":"Bugün","calendar.month":"Ay","calendar.week":"Hafta","calendar.day":"Gün","calendar.agenda":"Ajanda","calendar.allDay":"Tüm gün","calendar.noEvents":"Bu ay için planlanmış etkinlik yok","calendar.more":"+{count} daha","calendar.viewDetails":"Detayları Gör","date.selectDate":"Tarih seçin","time.selectTime":"Saat seçin","time.hours":"Saat","time.minutes":"Dakika","time.period":"Dönem","status.active":"Aktif","status.inactive":"Pasif","status.pending":"Beklemede","status.completed":"Tamamlandı","status.cancelled":"İptal Edildi"},"de-DE":{"common.save":"Speichern","common.cancel":"Abbrechen","common.delete":"Löschen","common.edit":"Bearbeiten","common.create":"Erstellen","common.search":"Suchen","common.filter":"Filtern","common.loading":"Laden...","common.noData":"Keine Daten verfügbar","common.confirm":"Bestätigen","common.close":"Schließen","common.yes":"Ja","common.no":"Nein","common.total":"Gesamt","common.items":"Elemente","locale.selectLanguage":"Sprache wählen","locale.selectCurrency":"Währung wählen","calendar.today":"Heute","calendar.month":"Monat","calendar.week":"Woche","calendar.day":"Tag","calendar.agenda":"Agenda","calendar.allDay":"Ganztägig","calendar.noEvents":"Keine Termine für diesen Monat","date.selectDate":"Datum auswählen","time.selectTime":"Zeit auswählen","time.hours":"Stunden","time.minutes":"Minuten","time.period":"Zeitraum"},"fr-FR":{"common.save":"Enregistrer","common.cancel":"Annuler","common.delete":"Supprimer","common.edit":"Modifier","common.create":"Créer","common.search":"Rechercher","common.filter":"Filtrer","common.loading":"Chargement...","common.noData":"Aucune donnée disponible","common.confirm":"Confirmer","common.close":"Fermer","common.yes":"Oui","common.no":"Non","common.total":"Total","common.items":"Éléments","locale.selectLanguage":"Sélectionner la langue","locale.selectCurrency":"Sélectionner la devise","calendar.today":"Aujourd'hui","calendar.month":"Mois","calendar.week":"Semaine","calendar.day":"Jour","calendar.agenda":"Agenda","calendar.allDay":"Toute la journée","calendar.noEvents":"Aucun événement prévu ce mois-ci","date.selectDate":"Choisir une date","time.selectTime":"Sélectionner l'heure","time.hours":"Heures","time.minutes":"Minutes","time.period":"Période"},"es-ES":{"common.save":"Guardar","common.cancel":"Cancelar","common.delete":"Eliminar","common.edit":"Editar","common.create":"Crear","common.search":"Buscar","common.filter":"Filtrar","common.loading":"Cargando...","common.noData":"No hay datos disponibles","common.confirm":"Confirmar","common.close":"Cerrar","common.yes":"Sí","common.no":"No","common.total":"Total","common.items":"Elementos","locale.selectLanguage":"Seleccionar idioma","locale.selectCurrency":"Seleccionar moneda","calendar.today":"Hoy","calendar.month":"Mes","calendar.week":"Semana","calendar.day":"Día","calendar.agenda":"Agenda","calendar.allDay":"Todo el día","calendar.noEvents":"No hay eventos programados este mes","date.selectDate":"Seleccionar fecha","time.selectTime":"Seleccionar hora","time.hours":"Horas","time.minutes":"Minutos","time.period":"Período"},"it-IT":{"common.save":"Salva","common.cancel":"Annulla","common.delete":"Elimina","common.edit":"Modifica","common.create":"Crea","common.search":"Cerca","common.loading":"Caricamento...","common.total":"Totale","common.items":"Elementi","locale.selectLanguage":"Seleziona lingua","locale.selectCurrency":"Seleziona valuta","calendar.today":"Oggi","calendar.month":"Mese","calendar.week":"Settimana","calendar.day":"Giorno","calendar.agenda":"Agenda","calendar.allDay":"Tutto il giorno","date.selectDate":"Seleziona data","time.selectTime":"Seleziona ora","time.hours":"Ore","time.minutes":"Minuti","time.period":"Periodo"},"pt-BR":{"common.save":"Salvar","common.cancel":"Cancelar","common.delete":"Excluir","common.edit":"Editar","common.create":"Criar","common.search":"Pesquisar","common.loading":"Carregando...","common.total":"Total","common.items":"Itens","locale.selectLanguage":"Selecionar idioma","locale.selectCurrency":"Selecionar moeda","calendar.today":"Hoje","calendar.month":"Mês","calendar.week":"Semana","calendar.day":"Dia","calendar.agenda":"Agenda","calendar.allDay":"Dia inteiro","date.selectDate":"Selecionar data","time.selectTime":"Selecionar hora","time.hours":"Horas","time.minutes":"Minutos","time.period":"Período"},"nl-NL":{"common.save":"Opslaan","common.cancel":"Annuleren","common.delete":"Verwijderen","common.edit":"Bewerken","common.create":"Maken","common.search":"Zoeken","common.loading":"Laden...","common.total":"Totaal","common.items":"Items","locale.selectLanguage":"Taal selecteren","locale.selectCurrency":"Valuta selecteren","calendar.today":"Vandaag","calendar.month":"Maand","calendar.week":"Week","calendar.day":"Dag","calendar.agenda":"Agenda","calendar.allDay":"Hele dag","date.selectDate":"Datum kiezen","time.selectTime":"Tijd selecteren","time.hours":"Uren","time.minutes":"Minuten","time.period":"Periode"},"pl-PL":{"common.save":"Zapisz","common.cancel":"Anuluj","common.delete":"Usuń","common.edit":"Edytuj","common.create":"Utwórz","common.search":"Szukaj","common.loading":"Ładowanie...","common.total":"Suma","common.items":"Elementy","locale.selectLanguage":"Wybierz język","locale.selectCurrency":"Wybierz walutę","calendar.today":"Dziś","calendar.month":"Miesiąc","calendar.week":"Tydzień","calendar.day":"Dzień","calendar.agenda":"Agenda","calendar.allDay":"Cały dzień","date.selectDate":"Wybierz datę","time.selectTime":"Wybierz czas","time.hours":"Godziny","time.minutes":"Minuty","time.period":"Okres"},"ru-RU":{"common.save":"Сохранить","common.cancel":"Отмена","common.delete":"Удалить","common.edit":"Редактировать","common.create":"Создать","common.search":"Поиск","common.loading":"Загрузка...","common.total":"Всего","common.items":"Элементы","locale.selectLanguage":"Выбрать язык","locale.selectCurrency":"Выбрать валюту","calendar.today":"Сегодня","calendar.month":"Месяц","calendar.week":"Неделя","calendar.day":"День","calendar.agenda":"Повестка","calendar.allDay":"Весь день","date.selectDate":"Выберите дату","time.selectTime":"Выберите время","time.hours":"Часы","time.minutes":"Минуты","time.period":"Период"},"ja-JP":{"common.save":"保存","common.cancel":"キャンセル","common.delete":"削除","common.edit":"編集","common.create":"作成","common.search":"検索","common.loading":"読み込み中...","common.total":"合計","common.items":"アイテム","locale.selectLanguage":"言語を選択","locale.selectCurrency":"通貨を選択","calendar.today":"今日","calendar.month":"月","calendar.week":"週","calendar.day":"日","calendar.agenda":"予定表","calendar.allDay":"終日","date.selectDate":"日付を選択","time.selectTime":"時刻を選択","time.hours":"時","time.minutes":"分","time.period":"時間帯"},"zh-CN":{"common.save":"保存","common.cancel":"取消","common.delete":"删除","common.edit":"编辑","common.create":"创建","common.search":"搜索","common.loading":"加载中...","common.total":"总计","common.items":"项目","locale.selectLanguage":"选择语言","locale.selectCurrency":"选择货币","calendar.today":"今天","calendar.month":"月","calendar.week":"周","calendar.day":"日","calendar.agenda":"日程","calendar.allDay":"全天","date.selectDate":"选择日期","time.selectTime":"选择时间","time.hours":"小时","time.minutes":"分钟","time.period":"时段"},"ko-KR":{"common.save":"저장","common.cancel":"취소","common.delete":"삭제","common.edit":"편집","common.create":"만들기","common.search":"검색","common.loading":"로딩 중...","common.total":"합계","common.items":"항목","locale.selectLanguage":"언어 선택","locale.selectCurrency":"통화 선택","calendar.today":"오늘","calendar.month":"월","calendar.week":"주","calendar.day":"일","calendar.agenda":"일정","calendar.allDay":"종일","date.selectDate":"날짜 선택","time.selectTime":"시간 선택","time.hours":"시","time.minutes":"분","time.period":"오전/오후"},"ar-SA":{"common.save":"حفظ","common.cancel":"إلغاء","common.delete":"حذف","common.edit":"تعديل","common.create":"إنشاء","common.search":"بحث","common.loading":"جاري التحميل...","common.total":"المجموع","common.items":"العناصر","locale.selectLanguage":"اختر اللغة","locale.selectCurrency":"اختر العملة","calendar.today":"اليوم","calendar.month":"شهر","calendar.week":"أسبوع","calendar.day":"يوم","calendar.agenda":"جدول الأعمال","calendar.allDay":"طوال اليوم","date.selectDate":"اختر التاريخ","time.selectTime":"اختر الوقت","time.hours":"ساعات","time.minutes":"دقائق","time.period":"الفترة"},"en-GB":{"common.save":"Save","common.cancel":"Cancel","common.delete":"Delete","common.edit":"Edit","common.create":"Create","common.search":"Search","common.loading":"Loading...","common.total":"Total","common.items":"Items","locale.selectLanguage":"Select language","locale.selectCurrency":"Select currency","calendar.today":"Today","calendar.month":"Month","calendar.week":"Week","calendar.day":"Day","calendar.agenda":"Agenda","calendar.allDay":"All day","date.selectDate":"Pick a date","time.selectTime":"Select time","time.hours":"Hours","time.minutes":"Minutes","time.period":"Period"}},Y={"en-US":{decimal:".",thousand:","},"en-GB":{decimal:".",thousand:","},"tr-TR":{decimal:",",thousand:"."},"de-DE":{decimal:",",thousand:"."},"fr-FR":{decimal:",",thousand:" "},"es-ES":{decimal:",",thousand:"."},"it-IT":{decimal:",",thousand:"."},"pt-BR":{decimal:",",thousand:"."},"nl-NL":{decimal:",",thousand:"."},"pl-PL":{decimal:",",thousand:" "},"ru-RU":{decimal:",",thousand:" "},"ja-JP":{decimal:".",thousand:","},"zh-CN":{decimal:".",thousand:","},"ko-KR":{decimal:".",thousand:","},"ar-SA":{decimal:".",thousand:","}};function l(e){const m=h[e],r=f[m.defaultCurrency];return{locale:e,currency:m.defaultCurrency,currencySymbol:r?.symbol||"$",dateFormat:n.short[e],timeFormat:t.short[e],numberFormat:Y[e],translations:S[e]||S["en-US"],rtl:m.rtl}}const g={"en-US":l("en-US"),"en-GB":l("en-GB"),"tr-TR":l("tr-TR"),"de-DE":l("de-DE"),"fr-FR":l("fr-FR"),"es-ES":l("es-ES"),"it-IT":l("it-IT"),"pt-BR":l("pt-BR"),"nl-NL":l("nl-NL"),"pl-PL":l("pl-PL"),"ru-RU":l("ru-RU"),"ja-JP":l("ja-JP"),"zh-CN":l("zh-CN"),"ko-KR":l("ko-KR"),"ar-SA":l("ar-SA")},R=i.createContext(void 0);function Z({children:e,defaultLocale:m="en-US",config:r,translations:y}){const[c,u]=i.useState(()=>{const a=g[m]||g["en-US"];return{...a,...r,translations:{...a.translations,...y}}}),C=i.useCallback(a=>{const o=g[a]||g["en-US"];u(s=>({...o,translations:{...o.translations,...s.translations}}))},[]),D=i.useCallback(a=>{const o=f[a];o&&u(s=>({...s,currency:a,currencySymbol:o.symbol}))},[]),H=i.useCallback(a=>{u(o=>({...o,dateFormat:a}))},[]),T=i.useCallback(a=>{u(o=>({...o,timeFormat:a}))},[]),v=i.useCallback(a=>{u(o=>({...o,translations:{...o.translations,...a}}))},[]),L=i.useCallback(a=>{u(o=>({...o,...a,translations:{...o.translations,...a.translations}}))},[]),p=i.useCallback(a=>{const{decimal:o,thousand:s}=c.numberFormat,d=a.toFixed(2).split(".");return d[0]=d[0].replace(/\B(?=(\d{3})+(?!\d))/g,s),d.join(o)},[c.numberFormat]),P=i.useCallback((a,o)=>{const s=o||c.currency,d=f[s];if(!d)return p(a);const b=d.decimals??2,{decimal:A,thousand:U}=c.numberFormat,M=a.toFixed(b).split(".");M[0]=M[0].replace(/\B(?=(\d{3})+(?!\d))/g,U);const k=b>0?M.join(A):M[0];return d.position==="before"?`${d.symbol}${k}`:`${k} ${d.symbol}`},[c.currency,c.numberFormat,p]),N=i.useCallback((a,o)=>{let s=c.translations[a]||a;return o&&Object.entries(o).forEach(([d,b])=>{s=s.replace(`{${d}}`,String(b))}),s},[c.translations]),E=i.useMemo(()=>({config:c,setLocale:C,setCurrency:D,setDateFormat:H,setTimeFormat:T,updateTranslations:v,updateConfig:L,formatNumber:p,formatCurrency:P,t:N}),[c,C,D,H,T,v,L,p,P,N]);return B.jsx(R.Provider,{value:E,children:e})}function V(){const e=i.useContext(R);return e===void 0?{config:g["en-US"],setLocale:()=>{},setCurrency:()=>{},setDateFormat:()=>{},setTimeFormat:()=>{},updateTranslations:()=>{},updateConfig:()=>{},formatNumber:r=>r.toLocaleString("en-US"),formatCurrency:r=>`$${r.toLocaleString("en-US",{minimumFractionDigits:2})}`,t:r=>r}:e}exports.LocaleContext=R;exports.LocaleProvider=Z;exports.currencies=f;exports.dateFormats=n;exports.defaultLocaleConfigs=g;exports.defaultTranslations=S;exports.formatCurrency=J;exports.getAllCurrencies=x;exports.getAllLocales=G;exports.getCurrency=F;exports.getCurrencyCodes=W;exports.getDateFormat=z;exports.getLocaleInfo=j;exports.getSupportedLocaleCodes=O;exports.getTimeFormat=I;exports.isRTLLocale=$;exports.locales=h;exports.timeFormats=t;exports.useLocale=V;
|
|
2
|
+
//# sourceMappingURL=locale-provider-DHMwuneF.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale-provider-DHMwuneF.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 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.search': 'Search',\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.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 '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 '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 '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 'time.selectTime': 'Select time',\n 'time.hours': 'Hours',\n 'time.minutes': 'Minutes',\n 'time.period': 'Period',\n 'status.active': 'Active',\n 'status.inactive': 'Inactive',\n 'status.pending': 'Pending',\n 'status.completed': 'Completed',\n 'status.cancelled': 'Cancelled',\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.search': 'Ara',\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.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 '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 '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 '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 'time.selectTime': 'Saat seçin',\n 'time.hours': 'Saat',\n 'time.minutes': 'Dakika',\n 'time.period': 'Dönem',\n 'status.active': 'Aktif',\n 'status.inactive': 'Pasif',\n 'status.pending': 'Beklemede',\n 'status.completed': 'Tamamlandı',\n 'status.cancelled': 'İptal Edildi',\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?: Record<string, string | number>) => 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}\n\nexport function LocaleProvider({\n children,\n defaultLocale = 'en-US',\n config: customConfig,\n translations: customTranslations,\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?: Record<string, string | number>): string => {\n let translation = config.translations[key] || key\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]\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) => key,\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","currencies","getCurrency","code","formatCurrency","amount","currencyCode","currency","decimals","formattedAmount","getAllCurrencies","getCurrencyCodes","defaultTranslations","numberFormats","createLocaleConfig","localeInfo","currencyInfo","defaultLocaleConfigs","LocaleContext","React","LocaleProvider","children","defaultLocale","customConfig","customTranslations","config","setConfig","baseConfig","setLocale","prev","setCurrency","setDateFormat","format","setTimeFormat","updateTranslations","translations","updateConfig","newConfig","formatNumber","value","decimal","thousand","parts","formattedValue","t","key","params","translation","paramKey","paramValue","jsx","useLocale","context"],"mappings":"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"}
|