@craftzbay/ui 0.9.0 → 0.10.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.
Files changed (171) hide show
  1. package/README.md +72 -6
  2. package/dist-lib/components/ui/Accordion.js +60 -0
  3. package/dist-lib/components/ui/Accordion.js.map +1 -0
  4. package/dist-lib/components/ui/Alert.d.ts +1 -1
  5. package/dist-lib/components/ui/Alert.js +66 -0
  6. package/dist-lib/components/ui/Alert.js.map +1 -0
  7. package/dist-lib/components/ui/Avatar.d.ts +2 -2
  8. package/dist-lib/components/ui/Avatar.js +96 -0
  9. package/dist-lib/components/ui/Avatar.js.map +1 -0
  10. package/dist-lib/components/ui/Badge.d.ts +1 -1
  11. package/dist-lib/components/ui/Badge.js +67 -0
  12. package/dist-lib/components/ui/Badge.js.map +1 -0
  13. package/dist-lib/components/ui/Breadcrumbs.js +34 -0
  14. package/dist-lib/components/ui/Breadcrumbs.js.map +1 -0
  15. package/dist-lib/components/ui/Button.d.ts +1 -1
  16. package/dist-lib/components/ui/Button.js +117 -0
  17. package/dist-lib/components/ui/Button.js.map +1 -0
  18. package/dist-lib/components/ui/Calendar.d.ts +7 -1
  19. package/dist-lib/components/ui/Calendar.js +111 -0
  20. package/dist-lib/components/ui/Calendar.js.map +1 -0
  21. package/dist-lib/components/ui/Card.d.ts +1 -1
  22. package/dist-lib/components/ui/Card.js +116 -0
  23. package/dist-lib/components/ui/Card.js.map +1 -0
  24. package/dist-lib/components/ui/Carousel.d.ts +5 -1
  25. package/dist-lib/components/ui/Carousel.js +143 -0
  26. package/dist-lib/components/ui/Carousel.js.map +1 -0
  27. package/dist-lib/components/ui/Chart.d.ts +26 -4
  28. package/dist-lib/components/ui/Chart.js +253 -0
  29. package/dist-lib/components/ui/Chart.js.map +1 -0
  30. package/dist-lib/components/ui/Checkbox.js +56 -0
  31. package/dist-lib/components/ui/Checkbox.js.map +1 -0
  32. package/dist-lib/components/ui/Combobox.d.ts +7 -0
  33. package/dist-lib/components/ui/Combobox.js +164 -0
  34. package/dist-lib/components/ui/Combobox.js.map +1 -0
  35. package/dist-lib/components/ui/CommandPalette.d.ts +3 -3
  36. package/dist-lib/components/ui/CommandPalette.js +174 -0
  37. package/dist-lib/components/ui/CommandPalette.js.map +1 -0
  38. package/dist-lib/components/ui/ContextMenu.js +150 -0
  39. package/dist-lib/components/ui/ContextMenu.js.map +1 -0
  40. package/dist-lib/components/ui/DataGrid.js +84 -0
  41. package/dist-lib/components/ui/DataGrid.js.map +1 -0
  42. package/dist-lib/components/ui/DatePicker.d.ts +16 -13
  43. package/dist-lib/components/ui/DatePicker.js +174 -0
  44. package/dist-lib/components/ui/DatePicker.js.map +1 -0
  45. package/dist-lib/components/ui/DesignSystemProvider.d.ts +8 -1
  46. package/dist-lib/components/ui/DesignSystemProvider.js +79 -0
  47. package/dist-lib/components/ui/DesignSystemProvider.js.map +1 -0
  48. package/dist-lib/components/ui/Dialog.d.ts +1 -1
  49. package/dist-lib/components/ui/Dialog.js +140 -0
  50. package/dist-lib/components/ui/Dialog.js.map +1 -0
  51. package/dist-lib/components/ui/Drawer.d.ts +6 -0
  52. package/dist-lib/components/ui/Drawer.js +98 -0
  53. package/dist-lib/components/ui/Drawer.js.map +1 -0
  54. package/dist-lib/components/ui/DropdownMenu.js +164 -0
  55. package/dist-lib/components/ui/DropdownMenu.js.map +1 -0
  56. package/dist-lib/components/ui/EmptyState.js +32 -0
  57. package/dist-lib/components/ui/EmptyState.js.map +1 -0
  58. package/dist-lib/components/ui/ErrorState.js +48 -0
  59. package/dist-lib/components/ui/ErrorState.js.map +1 -0
  60. package/dist-lib/components/ui/FileUpload.d.ts +3 -0
  61. package/dist-lib/components/ui/FileUpload.js +108 -0
  62. package/dist-lib/components/ui/FileUpload.js.map +1 -0
  63. package/dist-lib/components/ui/Form.d.ts +1 -0
  64. package/dist-lib/components/ui/Form.js +105 -0
  65. package/dist-lib/components/ui/Form.js.map +1 -0
  66. package/dist-lib/components/ui/Icon.js +26 -0
  67. package/dist-lib/components/ui/Icon.js.map +1 -0
  68. package/dist-lib/components/ui/IconButton.d.ts +1 -1
  69. package/dist-lib/components/ui/IconButton.js +56 -0
  70. package/dist-lib/components/ui/IconButton.js.map +1 -0
  71. package/dist-lib/components/ui/Input.d.ts +6 -3
  72. package/dist-lib/components/ui/Input.js +135 -0
  73. package/dist-lib/components/ui/Input.js.map +1 -0
  74. package/dist-lib/components/ui/Kbd.js +24 -0
  75. package/dist-lib/components/ui/Kbd.js.map +1 -0
  76. package/dist-lib/components/ui/MultiSelect.d.ts +3 -1
  77. package/dist-lib/components/ui/MultiSelect.js +196 -0
  78. package/dist-lib/components/ui/MultiSelect.js.map +1 -0
  79. package/dist-lib/components/ui/Pagination.d.ts +23 -0
  80. package/dist-lib/components/ui/Pagination.js +148 -0
  81. package/dist-lib/components/ui/Pagination.js.map +1 -0
  82. package/dist-lib/components/ui/Popover.js +35 -0
  83. package/dist-lib/components/ui/Popover.js.map +1 -0
  84. package/dist-lib/components/ui/Progress.js +95 -0
  85. package/dist-lib/components/ui/Progress.js.map +1 -0
  86. package/dist-lib/components/ui/RadioGroup.js +64 -0
  87. package/dist-lib/components/ui/RadioGroup.js.map +1 -0
  88. package/dist-lib/components/ui/ScrollArea.js +44 -0
  89. package/dist-lib/components/ui/ScrollArea.js.map +1 -0
  90. package/dist-lib/components/ui/Select.js +131 -0
  91. package/dist-lib/components/ui/Select.js.map +1 -0
  92. package/dist-lib/components/ui/Separator.js +26 -0
  93. package/dist-lib/components/ui/Separator.js.map +1 -0
  94. package/dist-lib/components/ui/Sheet.d.ts +1 -1
  95. package/dist-lib/components/ui/Sheet.js +113 -0
  96. package/dist-lib/components/ui/Sheet.js.map +1 -0
  97. package/dist-lib/components/ui/Sidebar.d.ts +18 -6
  98. package/dist-lib/components/ui/Sidebar.js +169 -0
  99. package/dist-lib/components/ui/Sidebar.js.map +1 -0
  100. package/dist-lib/components/ui/Skeleton.js +28 -0
  101. package/dist-lib/components/ui/Skeleton.js.map +1 -0
  102. package/dist-lib/components/ui/Slider.js +52 -0
  103. package/dist-lib/components/ui/Slider.js.map +1 -0
  104. package/dist-lib/components/ui/Snackbar.d.ts +1 -1
  105. package/dist-lib/components/ui/Snackbar.js +56 -0
  106. package/dist-lib/components/ui/Snackbar.js.map +1 -0
  107. package/dist-lib/components/ui/Spinner.js +42 -0
  108. package/dist-lib/components/ui/Spinner.js.map +1 -0
  109. package/dist-lib/components/ui/Stepper.js +88 -0
  110. package/dist-lib/components/ui/Stepper.js.map +1 -0
  111. package/dist-lib/components/ui/Switch.js +77 -0
  112. package/dist-lib/components/ui/Switch.js.map +1 -0
  113. package/dist-lib/components/ui/Table.d.ts +9 -1
  114. package/dist-lib/components/ui/Table.js +157 -0
  115. package/dist-lib/components/ui/Table.js.map +1 -0
  116. package/dist-lib/components/ui/Tabs.d.ts +1 -1
  117. package/dist-lib/components/ui/Tabs.js +89 -0
  118. package/dist-lib/components/ui/Tabs.js.map +1 -0
  119. package/dist-lib/components/ui/TagInput.d.ts +17 -2
  120. package/dist-lib/components/ui/TagInput.js +111 -0
  121. package/dist-lib/components/ui/TagInput.js.map +1 -0
  122. package/dist-lib/components/ui/Textarea.js +77 -0
  123. package/dist-lib/components/ui/Textarea.js.map +1 -0
  124. package/dist-lib/components/ui/Timeline.d.ts +16 -6
  125. package/dist-lib/components/ui/Timeline.js +52 -0
  126. package/dist-lib/components/ui/Timeline.js.map +1 -0
  127. package/dist-lib/components/ui/Toast.d.ts +1 -1
  128. package/dist-lib/components/ui/Toast.js +171 -0
  129. package/dist-lib/components/ui/Toast.js.map +1 -0
  130. package/dist-lib/components/ui/Tooltip.js +58 -0
  131. package/dist-lib/components/ui/Tooltip.js.map +1 -0
  132. package/dist-lib/components/ui/TopNav.js +52 -0
  133. package/dist-lib/components/ui/TopNav.js.map +1 -0
  134. package/dist-lib/components/ui/Tree.d.ts +27 -5
  135. package/dist-lib/components/ui/Tree.js +167 -0
  136. package/dist-lib/components/ui/Tree.js.map +1 -0
  137. package/dist-lib/hooks/use-field-ids.d.ts +29 -0
  138. package/dist-lib/hooks/use-field-ids.js +18 -0
  139. package/dist-lib/hooks/use-field-ids.js.map +1 -0
  140. package/dist-lib/hooks/use-media-query.js +18 -0
  141. package/dist-lib/hooks/use-media-query.js.map +1 -0
  142. package/dist-lib/hooks/use-strings.d.ts +5 -0
  143. package/dist-lib/hooks/use-strings.js +12 -0
  144. package/dist-lib/hooks/use-strings.js.map +1 -0
  145. package/dist-lib/hooks/use-toast.js +36 -0
  146. package/dist-lib/hooks/use-toast.js.map +1 -0
  147. package/dist-lib/icon.d.ts +8 -0
  148. package/dist-lib/icon.js +7 -0
  149. package/dist-lib/icon.js.map +1 -0
  150. package/dist-lib/icons/index.d.ts +71 -88
  151. package/dist-lib/icons/index.js +145 -0
  152. package/dist-lib/icons/index.js.map +1 -0
  153. package/dist-lib/illustrations/index.js +105 -0
  154. package/dist-lib/illustrations/index.js.map +1 -0
  155. package/dist-lib/index.d.ts +62 -59
  156. package/dist-lib/index.js +267 -4529
  157. package/dist-lib/index.js.map +1 -1
  158. package/dist-lib/lib/strings.d.ts +129 -0
  159. package/dist-lib/lib/strings.js +85 -0
  160. package/dist-lib/lib/strings.js.map +1 -0
  161. package/dist-lib/lib/strings.mn.d.ts +3 -0
  162. package/dist-lib/lib/strings.mn.js +70 -0
  163. package/dist-lib/lib/strings.mn.js.map +1 -0
  164. package/dist-lib/lib/utils.d.ts +0 -1
  165. package/dist-lib/lib/utils.js +10 -0
  166. package/dist-lib/lib/utils.js.map +1 -0
  167. package/dist-lib/styles.css +1 -1
  168. package/dist-lib/theme.css +777 -0
  169. package/package.json +31 -8
  170. package/dist-lib/index.cjs +0 -8
  171. package/dist-lib/index.cjs.map +0 -1
@@ -0,0 +1,129 @@
1
+ /**
2
+ * Every user-facing string the library renders on its own (aria-labels,
3
+ * placeholders, empty states, …). Consumers override any subset through
4
+ * `<DesignSystemProvider strings={…}>`; per-component props still win.
5
+ *
6
+ * Placeholders use `{name}` and are expanded with `formatString`.
7
+ */
8
+ export interface UiStrings {
9
+ alert: {
10
+ dismiss: string;
11
+ };
12
+ snackbar: {
13
+ dismiss: string;
14
+ };
15
+ dialog: {
16
+ close: string;
17
+ };
18
+ sheet: {
19
+ close: string;
20
+ };
21
+ toast: {
22
+ close: string;
23
+ region: string;
24
+ };
25
+ confirmationDialog: {
26
+ confirm: string;
27
+ cancel: string;
28
+ };
29
+ commandDialog: {
30
+ title: string;
31
+ };
32
+ carousel: {
33
+ label: string;
34
+ previous: string;
35
+ next: string;
36
+ slide: string;
37
+ };
38
+ pagination: {
39
+ showing: string;
40
+ rowsPerPage: string;
41
+ first: string;
42
+ last: string;
43
+ prev: string;
44
+ next: string;
45
+ page: string;
46
+ perPage: string;
47
+ nav: string;
48
+ };
49
+ breadcrumbs: {
50
+ label: string;
51
+ };
52
+ stepper: {
53
+ label: string;
54
+ };
55
+ sidebar: {
56
+ label: string;
57
+ collapse: string;
58
+ expand: string;
59
+ collapseShort: string;
60
+ };
61
+ combobox: {
62
+ placeholder: string;
63
+ searchPlaceholder: string;
64
+ empty: string;
65
+ clear: string;
66
+ };
67
+ multiSelect: {
68
+ placeholder: string;
69
+ empty: string;
70
+ clearAll: string;
71
+ remove: string;
72
+ };
73
+ tagInput: {
74
+ placeholder: string;
75
+ remove: string;
76
+ };
77
+ dataGrid: {
78
+ filterPlaceholder: string;
79
+ empty: string;
80
+ columns: string;
81
+ columnVisibility: string;
82
+ filterRows: string;
83
+ };
84
+ datePicker: {
85
+ pickDate: string;
86
+ pickRange: string;
87
+ };
88
+ fileUpload: {
89
+ drop: string;
90
+ remove: string;
91
+ };
92
+ input: {
93
+ clear: string;
94
+ showPassword: string;
95
+ hidePassword: string;
96
+ };
97
+ slider: {
98
+ minimum: string;
99
+ maximum: string;
100
+ value: string;
101
+ };
102
+ spinner: {
103
+ loading: string;
104
+ };
105
+ errorState: {
106
+ notFoundTitle: string;
107
+ notFoundDescription: string;
108
+ serverTitle: string;
109
+ serverDescription: string;
110
+ genericTitle: string;
111
+ genericDescription: string;
112
+ tryAgain: string;
113
+ };
114
+ avatar: {
115
+ status: string;
116
+ more: string;
117
+ };
118
+ tree: {
119
+ label: string;
120
+ };
121
+ }
122
+ export type DeepPartial<T> = {
123
+ [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K];
124
+ };
125
+ export declare const defaultStrings: UiStrings;
126
+ /** Expand `{name}` placeholders. Unknown placeholders are left as-is. */
127
+ export declare function formatString(template: string, vars: Record<string, string | number | undefined>): string;
128
+ /** Deep-merge a partial override on top of a complete strings object. */
129
+ export declare function mergeStrings(base: UiStrings, override?: DeepPartial<UiStrings>): UiStrings;
@@ -0,0 +1,85 @@
1
+ "use client";
2
+ const i = {
3
+ alert: { dismiss: "Dismiss" },
4
+ snackbar: { dismiss: "Dismiss" },
5
+ dialog: { close: "Close" },
6
+ sheet: { close: "Close" },
7
+ toast: { close: "Close", region: "Notifications" },
8
+ confirmationDialog: { confirm: "Confirm", cancel: "Cancel" },
9
+ commandDialog: { title: "Command palette" },
10
+ carousel: { label: "Carousel", previous: "Previous", next: "Next", slide: "{index} of {count}" },
11
+ pagination: {
12
+ showing: "Showing {from}–{to} of {total}",
13
+ rowsPerPage: "Rows per page",
14
+ first: "Go to first page",
15
+ last: "Go to last page",
16
+ prev: "Previous page",
17
+ next: "Next page",
18
+ page: "Page {n}",
19
+ perPage: "{n} / page",
20
+ nav: "Pagination"
21
+ },
22
+ breadcrumbs: { label: "Breadcrumb" },
23
+ stepper: { label: "Progress" },
24
+ sidebar: {
25
+ label: "Primary",
26
+ collapse: "Collapse sidebar",
27
+ expand: "Expand sidebar",
28
+ collapseShort: "Collapse"
29
+ },
30
+ combobox: {
31
+ placeholder: "Select…",
32
+ searchPlaceholder: "Search…",
33
+ empty: "No results.",
34
+ clear: "Clear selection"
35
+ },
36
+ multiSelect: {
37
+ placeholder: "Select…",
38
+ empty: "No results.",
39
+ clearAll: "Clear all",
40
+ remove: "Remove {label}"
41
+ },
42
+ tagInput: { placeholder: "Add and press Enter", remove: "Remove {tag}" },
43
+ dataGrid: {
44
+ filterPlaceholder: "Filter…",
45
+ empty: "No results.",
46
+ columns: "Columns",
47
+ columnVisibility: "Column visibility",
48
+ filterRows: "Filter rows"
49
+ },
50
+ datePicker: { pickDate: "Pick a date", pickRange: "Pick a range" },
51
+ fileUpload: { drop: "Drop files here, or click to browse", remove: "Remove {name}" },
52
+ input: { clear: "Clear input", showPassword: "Show password", hidePassword: "Hide password" },
53
+ slider: { minimum: "Minimum", maximum: "Maximum", value: "Value" },
54
+ spinner: { loading: "Loading" },
55
+ errorState: {
56
+ notFoundTitle: "Page not found",
57
+ notFoundDescription: "We couldn't find what you were looking for.",
58
+ serverTitle: "Something went wrong",
59
+ serverDescription: "We're looking into it. Please try again in a moment.",
60
+ genericTitle: "Unexpected error",
61
+ genericDescription: "Something interrupted this action.",
62
+ tryAgain: "Try again"
63
+ },
64
+ avatar: { status: "Status: {status}", more: "{n} more" },
65
+ tree: { label: "Tree" }
66
+ };
67
+ function l(r, t) {
68
+ return r.replace(/\{(\w+)\}/g, (e, a) => {
69
+ const o = t[a];
70
+ return o === void 0 ? e : String(o);
71
+ });
72
+ }
73
+ function s(r, t) {
74
+ if (!t) return r;
75
+ const e = { ...r };
76
+ for (const [a, o] of Object.entries(t))
77
+ o && (e[a] = { ...e[a], ...o });
78
+ return e;
79
+ }
80
+ export {
81
+ i as defaultStrings,
82
+ l as formatString,
83
+ s as mergeStrings
84
+ };
85
+ //# sourceMappingURL=strings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.js","sources":["../../src/lib/strings.ts"],"sourcesContent":["'use client';\n\n/**\n * Every user-facing string the library renders on its own (aria-labels,\n * placeholders, empty states, …). Consumers override any subset through\n * `<DesignSystemProvider strings={…}>`; per-component props still win.\n *\n * Placeholders use `{name}` and are expanded with `formatString`.\n */\nexport interface UiStrings {\n alert: { dismiss: string };\n snackbar: { dismiss: string };\n dialog: { close: string };\n sheet: { close: string };\n toast: { close: string; region: string };\n confirmationDialog: { confirm: string; cancel: string };\n commandDialog: { title: string };\n carousel: { label: string; previous: string; next: string; slide: string };\n pagination: {\n showing: string;\n rowsPerPage: string;\n first: string;\n last: string;\n prev: string;\n next: string;\n page: string;\n perPage: string;\n nav: string;\n };\n breadcrumbs: { label: string };\n stepper: { label: string };\n sidebar: { label: string; collapse: string; expand: string; collapseShort: string };\n combobox: { placeholder: string; searchPlaceholder: string; empty: string; clear: string };\n multiSelect: { placeholder: string; empty: string; clearAll: string; remove: string };\n tagInput: { placeholder: string; remove: string };\n dataGrid: {\n filterPlaceholder: string;\n empty: string;\n columns: string;\n columnVisibility: string;\n filterRows: string;\n };\n datePicker: { pickDate: string; pickRange: string };\n fileUpload: { drop: string; remove: string };\n input: { clear: string; showPassword: string; hidePassword: string };\n slider: { minimum: string; maximum: string; value: string };\n spinner: { loading: string };\n errorState: {\n notFoundTitle: string;\n notFoundDescription: string;\n serverTitle: string;\n serverDescription: string;\n genericTitle: string;\n genericDescription: string;\n tryAgain: string;\n };\n avatar: { status: string; more: string };\n tree: { label: string };\n}\n\nexport type DeepPartial<T> = { [K in keyof T]?: T[K] extends object ? DeepPartial<T[K]> : T[K] };\n\nexport const defaultStrings: UiStrings = {\n alert: { dismiss: 'Dismiss' },\n snackbar: { dismiss: 'Dismiss' },\n dialog: { close: 'Close' },\n sheet: { close: 'Close' },\n toast: { close: 'Close', region: 'Notifications' },\n confirmationDialog: { confirm: 'Confirm', cancel: 'Cancel' },\n commandDialog: { title: 'Command palette' },\n carousel: { label: 'Carousel', previous: 'Previous', next: 'Next', slide: '{index} of {count}' },\n pagination: {\n showing: 'Showing {from}–{to} of {total}',\n rowsPerPage: 'Rows per page',\n first: 'Go to first page',\n last: 'Go to last page',\n prev: 'Previous page',\n next: 'Next page',\n page: 'Page {n}',\n perPage: '{n} / page',\n nav: 'Pagination',\n },\n breadcrumbs: { label: 'Breadcrumb' },\n stepper: { label: 'Progress' },\n sidebar: {\n label: 'Primary',\n collapse: 'Collapse sidebar',\n expand: 'Expand sidebar',\n collapseShort: 'Collapse',\n },\n combobox: {\n placeholder: 'Select…',\n searchPlaceholder: 'Search…',\n empty: 'No results.',\n clear: 'Clear selection',\n },\n multiSelect: {\n placeholder: 'Select…',\n empty: 'No results.',\n clearAll: 'Clear all',\n remove: 'Remove {label}',\n },\n tagInput: { placeholder: 'Add and press Enter', remove: 'Remove {tag}' },\n dataGrid: {\n filterPlaceholder: 'Filter…',\n empty: 'No results.',\n columns: 'Columns',\n columnVisibility: 'Column visibility',\n filterRows: 'Filter rows',\n },\n datePicker: { pickDate: 'Pick a date', pickRange: 'Pick a range' },\n fileUpload: { drop: 'Drop files here, or click to browse', remove: 'Remove {name}' },\n input: { clear: 'Clear input', showPassword: 'Show password', hidePassword: 'Hide password' },\n slider: { minimum: 'Minimum', maximum: 'Maximum', value: 'Value' },\n spinner: { loading: 'Loading' },\n errorState: {\n notFoundTitle: 'Page not found',\n notFoundDescription: \"We couldn't find what you were looking for.\",\n serverTitle: 'Something went wrong',\n serverDescription: \"We're looking into it. Please try again in a moment.\",\n genericTitle: 'Unexpected error',\n genericDescription: 'Something interrupted this action.',\n tryAgain: 'Try again',\n },\n avatar: { status: 'Status: {status}', more: '{n} more' },\n tree: { label: 'Tree' },\n};\n\n/** Expand `{name}` placeholders. Unknown placeholders are left as-is. */\nexport function formatString(\n template: string,\n vars: Record<string, string | number | undefined>,\n): string {\n return template.replace(/\\{(\\w+)\\}/g, (match, key: string) => {\n const v = vars[key];\n return v === undefined ? match : String(v);\n });\n}\n\n/** Deep-merge a partial override on top of a complete strings object. */\nexport function mergeStrings(base: UiStrings, override?: DeepPartial<UiStrings>): UiStrings {\n if (!override) return base;\n const out = { ...base } as Record<string, Record<string, string>>;\n for (const [group, values] of Object.entries(override)) {\n if (!values) continue;\n out[group] = { ...out[group], ...(values as Record<string, string>) };\n }\n return out as unknown as UiStrings;\n}\n"],"names":["defaultStrings","formatString","template","vars","match","key","v","mergeStrings","base","override","out","group","values"],"mappings":";AA8DO,MAAMA,IAA4B;AAAA,EACvC,OAAO,EAAE,SAAS,UAAA;AAAA,EAClB,UAAU,EAAE,SAAS,UAAA;AAAA,EACrB,QAAQ,EAAE,OAAO,QAAA;AAAA,EACjB,OAAO,EAAE,OAAO,QAAA;AAAA,EAChB,OAAO,EAAE,OAAO,SAAS,QAAQ,gBAAA;AAAA,EACjC,oBAAoB,EAAE,SAAS,WAAW,QAAQ,SAAA;AAAA,EAClD,eAAe,EAAE,OAAO,kBAAA;AAAA,EACxB,UAAU,EAAE,OAAO,YAAY,UAAU,YAAY,MAAM,QAAQ,OAAO,qBAAA;AAAA,EAC1E,YAAY;AAAA,IACV,SAAS;AAAA,IACT,aAAa;AAAA,IACb,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,KAAK;AAAA,EAAA;AAAA,EAEP,aAAa,EAAE,OAAO,aAAA;AAAA,EACtB,SAAS,EAAE,OAAO,WAAA;AAAA,EAClB,SAAS;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,eAAe;AAAA,EAAA;AAAA,EAEjB,UAAU;AAAA,IACR,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAET,aAAa;AAAA,IACX,aAAa;AAAA,IACb,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU,EAAE,aAAa,uBAAuB,QAAQ,eAAA;AAAA,EACxD,UAAU;AAAA,IACR,mBAAmB;AAAA,IACnB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,YAAY;AAAA,EAAA;AAAA,EAEd,YAAY,EAAE,UAAU,eAAe,WAAW,eAAA;AAAA,EAClD,YAAY,EAAE,MAAM,uCAAuC,QAAQ,gBAAA;AAAA,EACnE,OAAO,EAAE,OAAO,eAAe,cAAc,iBAAiB,cAAc,gBAAA;AAAA,EAC5E,QAAQ,EAAE,SAAS,WAAW,SAAS,WAAW,OAAO,QAAA;AAAA,EACzD,SAAS,EAAE,SAAS,UAAA;AAAA,EACpB,YAAY;AAAA,IACV,eAAe;AAAA,IACf,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,oBAAoB;AAAA,IACpB,UAAU;AAAA,EAAA;AAAA,EAEZ,QAAQ,EAAE,QAAQ,oBAAoB,MAAM,WAAA;AAAA,EAC5C,MAAM,EAAE,OAAO,OAAA;AACjB;AAGO,SAASC,EACdC,GACAC,GACQ;AACR,SAAOD,EAAS,QAAQ,cAAc,CAACE,GAAOC,MAAgB;AAC5D,UAAMC,IAAIH,EAAKE,CAAG;AAClB,WAAOC,MAAM,SAAYF,IAAQ,OAAOE,CAAC;AAAA,EAC3C,CAAC;AACH;AAGO,SAASC,EAAaC,GAAiBC,GAA8C;AAC1F,MAAI,CAACA,EAAU,QAAOD;AACtB,QAAME,IAAM,EAAE,GAAGF,EAAA;AACjB,aAAW,CAACG,GAAOC,CAAM,KAAK,OAAO,QAAQH,CAAQ;AACnD,IAAKG,MACLF,EAAIC,CAAK,IAAI,EAAE,GAAGD,EAAIC,CAAK,GAAG,GAAIC,EAAA;AAEpC,SAAOF;AACT;"}
@@ -0,0 +1,3 @@
1
+ import { UiStrings } from './strings.js';
2
+ /** Mongolian (Cyrillic) translation — pass to `<DesignSystemProvider strings={mnStrings}>`. */
3
+ export declare const mnStrings: UiStrings;
@@ -0,0 +1,70 @@
1
+ "use client";
2
+ const e = {
3
+ alert: { dismiss: "Хаах" },
4
+ snackbar: { dismiss: "Хаах" },
5
+ dialog: { close: "Хаах" },
6
+ sheet: { close: "Хаах" },
7
+ toast: { close: "Хаах", region: "Мэдэгдлүүд" },
8
+ confirmationDialog: { confirm: "Баталгаажуулах", cancel: "Болих" },
9
+ commandDialog: { title: "Командын самбар" },
10
+ carousel: { label: "Гүйлгэгч", previous: "Өмнөх", next: "Дараах", slide: "{index} / {count}" },
11
+ pagination: {
12
+ showing: "{from}–{to} / {total}",
13
+ rowsPerPage: "Хуудас бүрт мөр",
14
+ first: "Эхний хуудас",
15
+ last: "Сүүлийн хуудас",
16
+ prev: "Өмнөх хуудас",
17
+ next: "Дараах хуудас",
18
+ page: "{n}-р хуудас",
19
+ perPage: "Хуудас бүрт {n} мөр",
20
+ nav: "Хуудаслалт"
21
+ },
22
+ breadcrumbs: { label: "Замчлал" },
23
+ stepper: { label: "Явц" },
24
+ sidebar: {
25
+ label: "Үндсэн цэс",
26
+ collapse: "Хажуугийн самбарыг хураах",
27
+ expand: "Хажуугийн самбарыг дэлгэх",
28
+ collapseShort: "Хураах"
29
+ },
30
+ combobox: {
31
+ placeholder: "Сонгох…",
32
+ searchPlaceholder: "Хайх…",
33
+ empty: "Илэрц алга",
34
+ clear: "Сонголтыг цэвэрлэх"
35
+ },
36
+ multiSelect: {
37
+ placeholder: "Сонгох…",
38
+ empty: "Илэрц алга",
39
+ clearAll: "Бүгдийг цэвэрлэх",
40
+ remove: "{label}-г устгах"
41
+ },
42
+ tagInput: { placeholder: "Бичээд Enter дарна уу", remove: "{tag}-г устгах" },
43
+ dataGrid: {
44
+ filterPlaceholder: "Шүүх…",
45
+ empty: "Илэрц алга",
46
+ columns: "Баганууд",
47
+ columnVisibility: "Багана харуулах",
48
+ filterRows: "Мөр шүүх"
49
+ },
50
+ datePicker: { pickDate: "Огноо сонгох", pickRange: "Хугацааны интервал сонгох" },
51
+ fileUpload: { drop: "Файл чирж оруулах эсвэл дарж сонгох", remove: "{name}-г устгах" },
52
+ input: { clear: "Цэвэрлэх", showPassword: "Нууц үг харуулах", hidePassword: "Нууц үг нуух" },
53
+ slider: { minimum: "Доод хязгаар", maximum: "Дээд хязгаар", value: "Утга" },
54
+ spinner: { loading: "Ачаалж байна" },
55
+ errorState: {
56
+ notFoundTitle: "Хуудас олдсонгүй",
57
+ notFoundDescription: "Таны хайсан зүйл олдсонгүй.",
58
+ serverTitle: "Алдаа гарлаа",
59
+ serverDescription: "Бид шалгаж байна. Хэсэг хугацааны дараа дахин оролдоно уу.",
60
+ genericTitle: "Гэнэтийн алдаа",
61
+ genericDescription: "Энэ үйлдэл тасалдлаа.",
62
+ tryAgain: "Дахин оролдох"
63
+ },
64
+ avatar: { status: "Төлөв: {status}", more: "бусад {n}" },
65
+ tree: { label: "Мод" }
66
+ };
67
+ export {
68
+ e as mnStrings
69
+ };
70
+ //# sourceMappingURL=strings.mn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strings.mn.js","sources":["../../src/lib/strings.mn.ts"],"sourcesContent":["'use client';\n\nimport type { UiStrings } from './strings';\n\n/** Mongolian (Cyrillic) translation — pass to `<DesignSystemProvider strings={mnStrings}>`. */\nexport const mnStrings: UiStrings = {\n alert: { dismiss: 'Хаах' },\n snackbar: { dismiss: 'Хаах' },\n dialog: { close: 'Хаах' },\n sheet: { close: 'Хаах' },\n toast: { close: 'Хаах', region: 'Мэдэгдлүүд' },\n confirmationDialog: { confirm: 'Баталгаажуулах', cancel: 'Болих' },\n commandDialog: { title: 'Командын самбар' },\n carousel: { label: 'Гүйлгэгч', previous: 'Өмнөх', next: 'Дараах', slide: '{index} / {count}' },\n pagination: {\n showing: '{from}–{to} / {total}',\n rowsPerPage: 'Хуудас бүрт мөр',\n first: 'Эхний хуудас',\n last: 'Сүүлийн хуудас',\n prev: 'Өмнөх хуудас',\n next: 'Дараах хуудас',\n page: '{n}-р хуудас',\n perPage: 'Хуудас бүрт {n} мөр',\n nav: 'Хуудаслалт',\n },\n breadcrumbs: { label: 'Замчлал' },\n stepper: { label: 'Явц' },\n sidebar: {\n label: 'Үндсэн цэс',\n collapse: 'Хажуугийн самбарыг хураах',\n expand: 'Хажуугийн самбарыг дэлгэх',\n collapseShort: 'Хураах',\n },\n combobox: {\n placeholder: 'Сонгох…',\n searchPlaceholder: 'Хайх…',\n empty: 'Илэрц алга',\n clear: 'Сонголтыг цэвэрлэх',\n },\n multiSelect: {\n placeholder: 'Сонгох…',\n empty: 'Илэрц алга',\n clearAll: 'Бүгдийг цэвэрлэх',\n remove: '{label}-г устгах',\n },\n tagInput: { placeholder: 'Бичээд Enter дарна уу', remove: '{tag}-г устгах' },\n dataGrid: {\n filterPlaceholder: 'Шүүх…',\n empty: 'Илэрц алга',\n columns: 'Баганууд',\n columnVisibility: 'Багана харуулах',\n filterRows: 'Мөр шүүх',\n },\n datePicker: { pickDate: 'Огноо сонгох', pickRange: 'Хугацааны интервал сонгох' },\n fileUpload: { drop: 'Файл чирж оруулах эсвэл дарж сонгох', remove: '{name}-г устгах' },\n input: { clear: 'Цэвэрлэх', showPassword: 'Нууц үг харуулах', hidePassword: 'Нууц үг нуух' },\n slider: { minimum: 'Доод хязгаар', maximum: 'Дээд хязгаар', value: 'Утга' },\n spinner: { loading: 'Ачаалж байна' },\n errorState: {\n notFoundTitle: 'Хуудас олдсонгүй',\n notFoundDescription: 'Таны хайсан зүйл олдсонгүй.',\n serverTitle: 'Алдаа гарлаа',\n serverDescription: 'Бид шалгаж байна. Хэсэг хугацааны дараа дахин оролдоно уу.',\n genericTitle: 'Гэнэтийн алдаа',\n genericDescription: 'Энэ үйлдэл тасалдлаа.',\n tryAgain: 'Дахин оролдох',\n },\n avatar: { status: 'Төлөв: {status}', more: 'бусад {n}' },\n tree: { label: 'Мод' },\n};\n"],"names":["mnStrings"],"mappings":";AAKO,MAAMA,IAAuB;AAAA,EAClC,OAAO,EAAE,SAAS,OAAA;AAAA,EAClB,UAAU,EAAE,SAAS,OAAA;AAAA,EACrB,QAAQ,EAAE,OAAO,OAAA;AAAA,EACjB,OAAO,EAAE,OAAO,OAAA;AAAA,EAChB,OAAO,EAAE,OAAO,QAAQ,QAAQ,aAAA;AAAA,EAChC,oBAAoB,EAAE,SAAS,kBAAkB,QAAQ,QAAA;AAAA,EACzD,eAAe,EAAE,OAAO,kBAAA;AAAA,EACxB,UAAU,EAAE,OAAO,YAAY,UAAU,SAAS,MAAM,UAAU,OAAO,oBAAA;AAAA,EACzE,YAAY;AAAA,IACV,SAAS;AAAA,IACT,aAAa;AAAA,IACb,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,MAAM;AAAA,IACN,SAAS;AAAA,IACT,KAAK;AAAA,EAAA;AAAA,EAEP,aAAa,EAAE,OAAO,UAAA;AAAA,EACtB,SAAS,EAAE,OAAO,MAAA;AAAA,EAClB,SAAS;AAAA,IACP,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR,eAAe;AAAA,EAAA;AAAA,EAEjB,UAAU;AAAA,IACR,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,OAAO;AAAA,IACP,OAAO;AAAA,EAAA;AAAA,EAET,aAAa;AAAA,IACX,aAAa;AAAA,IACb,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,EAAA;AAAA,EAEV,UAAU,EAAE,aAAa,yBAAyB,QAAQ,iBAAA;AAAA,EAC1D,UAAU;AAAA,IACR,mBAAmB;AAAA,IACnB,OAAO;AAAA,IACP,SAAS;AAAA,IACT,kBAAkB;AAAA,IAClB,YAAY;AAAA,EAAA;AAAA,EAEd,YAAY,EAAE,UAAU,gBAAgB,WAAW,4BAAA;AAAA,EACnD,YAAY,EAAE,MAAM,uCAAuC,QAAQ,kBAAA;AAAA,EACnE,OAAO,EAAE,OAAO,YAAY,cAAc,oBAAoB,cAAc,eAAA;AAAA,EAC5E,QAAQ,EAAE,SAAS,gBAAgB,SAAS,gBAAgB,OAAO,OAAA;AAAA,EACnE,SAAS,EAAE,SAAS,eAAA;AAAA,EACpB,YAAY;AAAA,IACV,eAAe;AAAA,IACf,qBAAqB;AAAA,IACrB,aAAa;AAAA,IACb,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,oBAAoB;AAAA,IACpB,UAAU;AAAA,EAAA;AAAA,EAEZ,QAAQ,EAAE,QAAQ,mBAAmB,MAAM,YAAA;AAAA,EAC3C,MAAM,EAAE,OAAO,MAAA;AACjB;"}
@@ -9,4 +9,3 @@ import { ClassValue } from 'clsx';
9
9
  * classes with template strings — they will not de-duplicate.
10
10
  */
11
11
  export declare function cn(...inputs: ClassValue[]): string;
12
- export declare function uid(prefix?: string): string;
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ import { clsx as t } from "clsx";
3
+ import { twMerge as e } from "tailwind-merge";
4
+ function c(...r) {
5
+ return e(t(r));
6
+ }
7
+ export {
8
+ c as cn
9
+ };
10
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sources":["../../src/lib/utils.ts"],"sourcesContent":["import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\n/**\n * Compose Tailwind class names safely.\n *\n * - `clsx` handles conditionals, arrays, and objects.\n * - `tailwind-merge` resolves conflicts: `cn('p-2', condition && 'p-4')` returns `'p-4'`.\n *\n * Use this everywhere classes are composed. Never concatenate Tailwind\n * classes with template strings — they will not de-duplicate.\n */\nexport function cn(...inputs: ClassValue[]): string {\n return twMerge(clsx(inputs));\n}\n"],"names":["cn","inputs","twMerge","clsx"],"mappings":";;;AAYO,SAASA,KAAMC,GAA8B;AAClD,SAAOC,EAAQC,EAAKF,CAAM,CAAC;AAC7B;"}