@shadow-js/ui 0.0.0-stage → 1.0.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 (190) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/LICENSE +21 -0
  3. package/README.md +598 -2
  4. package/dist/cli.mjs +2293 -0
  5. package/dist/dev/cli/schema.d.ts +73 -0
  6. package/dist/dev/index.d.ts +6 -0
  7. package/dist/dev/index.js +5 -0
  8. package/dist/dev/locales/ar.d.ts +141 -0
  9. package/dist/dev/locales/ar.js +128 -0
  10. package/dist/dev/locales/ar.js.map +1 -0
  11. package/dist/dev/locales/en.d.ts +141 -0
  12. package/dist/dev/locales/en.js +128 -0
  13. package/dist/dev/locales/en.js.map +1 -0
  14. package/dist/dev/registry/utils/utils.d.ts +29 -0
  15. package/dist/dev/registry/utils/utils.js +27 -0
  16. package/dist/dev/registry/utils/utils.js.map +1 -0
  17. package/dist/dev/theme/theme-logic.d.ts +187 -0
  18. package/dist/dev/theme/theme-logic.js +184 -0
  19. package/dist/dev/theme/theme-logic.js.map +1 -0
  20. package/dist/dev/theme/theme-provider.d.ts +90 -0
  21. package/dist/dev/theme/theme-provider.js +150 -0
  22. package/dist/dev/theme/theme-provider.js.map +1 -0
  23. package/dist/prod/index.js +1 -0
  24. package/dist/prod/locales/ar.js +2 -0
  25. package/dist/prod/locales/ar.js.map +1 -0
  26. package/dist/prod/locales/en.js +2 -0
  27. package/dist/prod/locales/en.js.map +1 -0
  28. package/dist/prod/registry/utils/utils.js +2 -0
  29. package/dist/prod/registry/utils/utils.js.map +1 -0
  30. package/dist/prod/theme/theme-logic.js +2 -0
  31. package/dist/prod/theme/theme-logic.js.map +1 -0
  32. package/dist/prod/theme/theme-provider.js +2 -0
  33. package/dist/prod/theme/theme-provider.js.map +1 -0
  34. package/package.json +102 -4
  35. package/registry/accordion/accordion.tsx +210 -0
  36. package/registry/accordion/item.json +4 -0
  37. package/registry/alert/alert.tsx +200 -0
  38. package/registry/alert/item.json +4 -0
  39. package/registry/alert-dialog/alert-dialog.tsx +530 -0
  40. package/registry/alert-dialog/item.json +4 -0
  41. package/registry/aspect-ratio/aspect-ratio.tsx +71 -0
  42. package/registry/aspect-ratio/item.json +4 -0
  43. package/registry/attachment/attachment.tsx +459 -0
  44. package/registry/attachment/item.json +4 -0
  45. package/registry/avatar/avatar.tsx +385 -0
  46. package/registry/avatar/item.json +4 -0
  47. package/registry/badge/badge.tsx +108 -0
  48. package/registry/badge/item.json +4 -0
  49. package/registry/breadcrumb/breadcrumb.tsx +354 -0
  50. package/registry/breadcrumb/item.json +4 -0
  51. package/registry/bubble/bubble.tsx +260 -0
  52. package/registry/bubble/item.json +4 -0
  53. package/registry/button/button.tsx +125 -0
  54. package/registry/button/item.json +4 -0
  55. package/registry/button-group/button-group.tsx +189 -0
  56. package/registry/button-group/item.json +4 -0
  57. package/registry/calendar/calendar.tsx +348 -0
  58. package/registry/calendar/item.json +4 -0
  59. package/registry/card/card.tsx +311 -0
  60. package/registry/card/item.json +4 -0
  61. package/registry/carousel/carousel.tsx +851 -0
  62. package/registry/carousel/item.json +4 -0
  63. package/registry/chart/chart.tsx +1956 -0
  64. package/registry/chart/item.json +4 -0
  65. package/registry/chart-scale/chart-scale.ts +670 -0
  66. package/registry/chart-scale/item.json +5 -0
  67. package/registry/checkbox/checkbox.tsx +79 -0
  68. package/registry/checkbox/item.json +4 -0
  69. package/registry/code-block/code-block.tsx +470 -0
  70. package/registry/code-block/item.json +4 -0
  71. package/registry/collapsible/collapsible.tsx +117 -0
  72. package/registry/collapsible/item.json +4 -0
  73. package/registry/combobox/combobox.tsx +977 -0
  74. package/registry/combobox/item.json +4 -0
  75. package/registry/command/command.tsx +757 -0
  76. package/registry/command/item.json +4 -0
  77. package/registry/context-menu/context-menu.tsx +697 -0
  78. package/registry/context-menu/item.json +4 -0
  79. package/registry/data-table/data-table.tsx +437 -0
  80. package/registry/data-table/item.json +4 -0
  81. package/registry/date-picker/date-picker.tsx +349 -0
  82. package/registry/date-picker/item.json +4 -0
  83. package/registry/dialog/dialog.tsx +412 -0
  84. package/registry/dialog/item.json +4 -0
  85. package/registry/direction/direction.tsx +88 -0
  86. package/registry/direction/item.json +4 -0
  87. package/registry/drawer/drawer.tsx +787 -0
  88. package/registry/drawer/item.json +4 -0
  89. package/registry/dropdown-menu/dropdown-menu.tsx +692 -0
  90. package/registry/dropdown-menu/item.json +4 -0
  91. package/registry/empty/empty.tsx +240 -0
  92. package/registry/empty/item.json +4 -0
  93. package/registry/field/field.tsx +624 -0
  94. package/registry/field/item.json +4 -0
  95. package/registry/form/form.tsx +1112 -0
  96. package/registry/form/item.json +4 -0
  97. package/registry/hover-card/hover-card.tsx +144 -0
  98. package/registry/hover-card/item.json +4 -0
  99. package/registry/icons/icons.tsx +1691 -0
  100. package/registry/icons/item.json +4 -0
  101. package/registry/input/input.tsx +43 -0
  102. package/registry/input/item.json +4 -0
  103. package/registry/input-group/input-group.tsx +315 -0
  104. package/registry/input-group/item.json +4 -0
  105. package/registry/input-otp/input-otp.tsx +329 -0
  106. package/registry/input-otp/item.json +4 -0
  107. package/registry/item/item.json +4 -0
  108. package/registry/item/item.tsx +439 -0
  109. package/registry/kbd/item.json +4 -0
  110. package/registry/kbd/kbd.tsx +65 -0
  111. package/registry/label/item.json +4 -0
  112. package/registry/label/label.tsx +60 -0
  113. package/registry/marker/item.json +4 -0
  114. package/registry/marker/marker.tsx +175 -0
  115. package/registry/menubar/item.json +4 -0
  116. package/registry/menubar/menubar.tsx +694 -0
  117. package/registry/message/item.json +4 -0
  118. package/registry/message/message.tsx +280 -0
  119. package/registry/message-scroller/item.json +4 -0
  120. package/registry/message-scroller/message-scroller.tsx +262 -0
  121. package/registry/native-select/item.json +4 -0
  122. package/registry/native-select/native-select.tsx +113 -0
  123. package/registry/navigation-menu/item.json +4 -0
  124. package/registry/navigation-menu/navigation-menu.tsx +362 -0
  125. package/registry/pagination/item.json +4 -0
  126. package/registry/pagination/pagination.tsx +460 -0
  127. package/registry/password-input/item.json +5 -0
  128. package/registry/password-input/password-input.tsx +494 -0
  129. package/registry/popover/item.json +4 -0
  130. package/registry/popover/popover.tsx +284 -0
  131. package/registry/progress/item.json +4 -0
  132. package/registry/progress/progress.tsx +190 -0
  133. package/registry/questionnaire/item.json +4 -0
  134. package/registry/questionnaire/questionnaire.tsx +569 -0
  135. package/registry/radio-group/item.json +4 -0
  136. package/registry/radio-group/radio-group.tsx +101 -0
  137. package/registry/resizable/item.json +4 -0
  138. package/registry/resizable/resizable.tsx +455 -0
  139. package/registry/scroll-area/item.json +4 -0
  140. package/registry/scroll-area/scroll-area.tsx +149 -0
  141. package/registry/select/item.json +4 -0
  142. package/registry/select/select.tsx +571 -0
  143. package/registry/separator/item.json +4 -0
  144. package/registry/separator/separator.tsx +52 -0
  145. package/registry/sheet/item.json +4 -0
  146. package/registry/sheet/sheet.tsx +476 -0
  147. package/registry/sidebar/item.json +4 -0
  148. package/registry/sidebar/sidebar.tsx +1870 -0
  149. package/registry/skeleton/item.json +4 -0
  150. package/registry/skeleton/skeleton.tsx +47 -0
  151. package/registry/slider/item.json +4 -0
  152. package/registry/slider/slider.tsx +149 -0
  153. package/registry/spinner/item.json +4 -0
  154. package/registry/spinner/spinner.tsx +51 -0
  155. package/registry/switch/item.json +4 -0
  156. package/registry/switch/switch.tsx +93 -0
  157. package/registry/table/item.json +4 -0
  158. package/registry/table/table.tsx +373 -0
  159. package/registry/tabs/item.json +4 -0
  160. package/registry/tabs/tabs.tsx +209 -0
  161. package/registry/textarea/item.json +4 -0
  162. package/registry/textarea/textarea.tsx +51 -0
  163. package/registry/toast/item.json +4 -0
  164. package/registry/toast/toast.tsx +949 -0
  165. package/registry/toggle/item.json +4 -0
  166. package/registry/toggle/toggle.tsx +110 -0
  167. package/registry/toggle-group/item.json +4 -0
  168. package/registry/toggle-group/toggle-group.tsx +189 -0
  169. package/registry/tooltip/item.json +4 -0
  170. package/registry/tooltip/tooltip.tsx +169 -0
  171. package/registry/trace/item.json +4 -0
  172. package/registry/trace/trace.tsx +356 -0
  173. package/registry/ui-strings/item.json +5 -0
  174. package/registry/ui-strings/ui-strings.tsx +454 -0
  175. package/registry/use-highlighted-code/item.json +5 -0
  176. package/registry/use-highlighted-code/use-highlighted-code.tsx +145 -0
  177. package/registry/use-mobile/item.json +5 -0
  178. package/registry/use-mobile/use-mobile.ts +46 -0
  179. package/registry/utils/item.json +5 -0
  180. package/registry/utils/utils.ts +38 -0
  181. package/registry.json +3274 -0
  182. package/styles/animations.css +321 -0
  183. package/styles/theme-core.css +55 -0
  184. package/styles/theme.css +12 -0
  185. package/styles/themes/gray.css +69 -0
  186. package/styles/themes/neutral.css +69 -0
  187. package/styles/themes/slate.css +69 -0
  188. package/styles/themes/stone.css +69 -0
  189. package/styles/themes/zinc.css +69 -0
  190. package/styles/typeset.css +251 -0
@@ -0,0 +1,73 @@
1
+ //#region src/cli/schema.d.ts
2
+ /**
3
+ * The shapes the CLI reads: the registry index (`registry.json`) and the project's
4
+ * `components.json`, with validators that turn untrusted JSON into typed values or a clear error.
5
+ * @packageDocumentation
6
+ */
7
+ /**
8
+ * Where an item's files are written: `ui` components, `lib` helpers, `hook` hooks.
9
+ * @since 1.0.0
10
+ *
11
+ * @internal Not exported from `@shadow-js/ui`: part of the shadow-ui command, whose public surface is the CLI.
12
+ */
13
+ export type RegistryItemType = "ui" | "lib" | "hook";
14
+ /**
15
+ * One file of a registry item: where it lives in the package and where it is copied to.
16
+ * @since 1.0.0
17
+ */
18
+ export interface RegistryFile {
19
+ /** Path inside the package, `registry/<name>/<file>`. */
20
+ readonly path: string;
21
+ /** Where the file is copied: `ui` (components), `lib` (helpers) or `hook` (hooks). */
22
+ readonly type: RegistryItemType;
23
+ }
24
+ /**
25
+ * One installable registry item, as listed in `registry.json`.
26
+ * @since 1.0.0
27
+ */
28
+ export interface RegistryItem {
29
+ /** Kebab-case id: `button`, `dropdown-menu`. */
30
+ readonly name: string;
31
+ /**
32
+ * Where the files go: `ui` to the components alias, `lib` to the lib alias (`utils` to the utils
33
+ * alias), `hook` to the hooks alias.
34
+ */
35
+ readonly type: RegistryItemType;
36
+ /** The display name of the item, such as `Dropdown Menu`. */
37
+ readonly title: string;
38
+ /** One sentence on what the item is; `shadow-ui list` prints it. */
39
+ readonly description: string;
40
+ /** The files to copy, each under the item's own `registry/<name>/` folder. */
41
+ readonly files: readonly RegistryFile[];
42
+ /** Other registry items this one imports, by name. `add` copies them first. */
43
+ readonly registryDependencies: readonly string[];
44
+ /** Third-party npm packages (name -> exact version) the files import. */
45
+ readonly dependencies: Readonly<Record<string, string>>;
46
+ /** Names the item's files export. Documentation metadata: the CLI does not read it. */
47
+ readonly exports: readonly string[];
48
+ /** Names the files import from `@shadow-js/primitives`. */
49
+ readonly primitives: readonly string[];
50
+ /** Tailwind facts about the files. */
51
+ readonly tailwind: {
52
+ /** Theme color tokens the files use, such as `background` or `primary`. */
53
+ readonly tokens: readonly string[];
54
+ /** Whether the files need the animation utilities from `animations.css`. */
55
+ readonly animations: boolean;
56
+ };
57
+ }
58
+ /**
59
+ * The parsed `registry.json`: the registry's name and version, the framework packages and every item.
60
+ * @since 1.0.0
61
+ */
62
+ export interface RegistryIndex {
63
+ /** The package the registry belongs to, `@shadow-js/ui`. */
64
+ readonly name: string;
65
+ /** The registry version. `shadow-ui --version` prints the package version and uses this as the fallback. */
66
+ readonly version: string;
67
+ /** The `@shadow-js/*` packages `add` installs when an item uses `@shadow-js/primitives`. */
68
+ readonly frameworkDependencies: readonly string[];
69
+ /** Every installable item, in registry order. */
70
+ readonly items: readonly RegistryItem[];
71
+ }
72
+ //#endregion
73
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { ClassValue, cn } from "./registry/utils/utils.js";
2
+ import { RegistryFile, RegistryIndex, RegistryItem } from "./cli/schema.js";
3
+ import { DEFAULT_STORAGE_KEY, ResolvedTheme, Theme, ThemeAttribute, ThemeOptions, applyTheme, isTheme, readStoredTheme, resolveTheme, themeScript, themeScriptTag, writeStoredTheme } from "./theme/theme-logic.js";
4
+ import { ThemeContextValue, ThemeProvider, ThemeProviderProps, useTheme } from "./theme/theme-provider.js";
5
+ import { VariantProps, cva } from "class-variance-authority";
6
+ export { type ClassValue, DEFAULT_STORAGE_KEY, type RegistryFile, type RegistryIndex, type RegistryItem, type ResolvedTheme, type Theme, type ThemeAttribute, type ThemeContextValue, type ThemeOptions, ThemeProvider, type ThemeProviderProps, type VariantProps, applyTheme, cn, cva, isTheme, readStoredTheme, resolveTheme, themeScript, themeScriptTag, useTheme, writeStoredTheme };
@@ -0,0 +1,5 @@
1
+ import { cn } from "./registry/utils/utils.js";
2
+ import { DEFAULT_STORAGE_KEY, applyTheme, isTheme, readStoredTheme, resolveTheme, themeScript, themeScriptTag, writeStoredTheme } from "./theme/theme-logic.js";
3
+ import { ThemeProvider, useTheme } from "./theme/theme-provider.js";
4
+ import { cva } from "class-variance-authority";
5
+ export { DEFAULT_STORAGE_KEY, ThemeProvider, applyTheme, cn, cva, isTheme, readStoredTheme, resolveTheme, themeScript, themeScriptTag, useTheme, writeStoredTheme };
@@ -0,0 +1,141 @@
1
+ //#region src/locales/ar.d.ts
2
+ /**
3
+ * The Arabic messages of the UI kit, as a catalog of messages: every label, description and live-region text the components show, keyed
4
+ * by component. Pass it (or a copy with your own words) to the strings provider of your project, or into a `createI18n` catalog.
5
+ *
6
+ * @example
7
+ * import ar from "@shadow-js/ui/locales/ar";
8
+ *
9
+ * console.log(typeof ar.toast.close);
10
+ * @since 1.0.0
11
+ */
12
+ declare const ar: {
13
+ readonly breadcrumb: {
14
+ readonly label: "مسار التنقل";
15
+ readonly more: "المزيد";
16
+ };
17
+ readonly calendar: {
18
+ readonly month: "الشهر";
19
+ readonly nextMonth: "الشهر التالي";
20
+ readonly previousMonth: "الشهر السابق";
21
+ readonly year: "السنة";
22
+ };
23
+ readonly carousel: {
24
+ readonly goToSlide: "الانتقال إلى الشريحة {position}";
25
+ readonly next: "الشريحة التالية";
26
+ readonly previous: "الشريحة السابقة";
27
+ readonly slide: "{position} من {total}";
28
+ };
29
+ readonly chart: {
30
+ readonly announce: "{label}: {values}";
31
+ readonly captionTruncated: "{series}. عرض {shown, number} من أصل {total, plural, zero {لا توجد نقاط بيانات} one {نقطة بيانات واحدة} two {نقطتي بيانات} few {# نقاط بيانات} many {# نقطة بيانات} other {# نقطة بيانات}}.";
32
+ readonly label: {
33
+ readonly area: "مخطط مساحي لـ {series}";
34
+ readonly bar: "مخطط أعمدة لـ {series}";
35
+ readonly donut: "مخطط حلقي لـ {series}";
36
+ readonly line: "مخطط خطي لـ {series}";
37
+ readonly pie: "مخطط دائري لـ {series}";
38
+ readonly radial: "مخطط شعاعي لـ {series}";
39
+ };
40
+ readonly roledescription: "مخطط";
41
+ readonly separator: "، ";
42
+ readonly share: "{name}: {value} ({percent})";
43
+ readonly value: "{name}: {value}";
44
+ };
45
+ readonly codeBlock: {
46
+ readonly copied: "تم النسخ";
47
+ readonly copy: "نسخ الشيفرة";
48
+ };
49
+ readonly combobox: {
50
+ readonly clear: "مسح";
51
+ readonly toggle: "تبديل الاقتراحات";
52
+ };
53
+ readonly command: {
54
+ readonly description: "ابحث عن أمر لتنفيذه...";
55
+ readonly title: "لوحة الأوامر";
56
+ };
57
+ readonly dataTable: {
58
+ readonly empty: "لا توجد نتائج.";
59
+ readonly next: "التالي";
60
+ readonly noPages: "لا توجد صفحات";
61
+ readonly page: "الصفحة {page} من {pages}";
62
+ readonly previous: "السابق";
63
+ readonly view: "عرض";
64
+ };
65
+ readonly datePicker: {
66
+ readonly open: "فتح التقويم";
67
+ };
68
+ readonly dialog: {
69
+ readonly close: "إغلاق";
70
+ };
71
+ readonly drawer: {
72
+ readonly handle: "اسحب لتغيير الحجم";
73
+ };
74
+ readonly form: {
75
+ readonly errorSummary: {
76
+ readonly item: "{label}: {message}";
77
+ readonly title: "{count, plural, zero {لا توجد مشكلات في النموذج} one {هناك مشكلة واحدة في النموذج} two {هناك مشكلتان في النموذج} few {هناك # مشكلات في النموذج} many {هناك # مشكلة في النموذج} other {هناك # مشكلة في النموذج}}";
78
+ };
79
+ };
80
+ readonly inputOtp: {
81
+ readonly character: "الحرف {position} من {total}";
82
+ readonly digit: "الرقم {position} من {total}";
83
+ };
84
+ readonly messageScroller: {
85
+ readonly label: "الرسائل";
86
+ readonly toEnd: "الانتقال إلى أحدث رسالة";
87
+ readonly toStart: "الانتقال إلى البداية";
88
+ };
89
+ readonly pagination: {
90
+ readonly goNext: "الانتقال إلى الصفحة التالية";
91
+ readonly goPrevious: "الانتقال إلى الصفحة السابقة";
92
+ readonly goToPage: "الانتقال إلى الصفحة {page}";
93
+ readonly label: "ترقيم الصفحات";
94
+ readonly next: "التالي";
95
+ readonly previous: "السابق";
96
+ };
97
+ readonly password: {
98
+ readonly capsLock: "مفتاح Caps Lock مفعّل";
99
+ readonly level: {
100
+ readonly "0": "ضعيفة جداً";
101
+ readonly "1": "ضعيفة";
102
+ readonly "2": "مقبولة";
103
+ readonly "3": "جيدة";
104
+ readonly "4": "قوية";
105
+ };
106
+ readonly show: "إظهار كلمة المرور";
107
+ readonly strength: "قوة كلمة المرور";
108
+ };
109
+ readonly questionnaire: {
110
+ readonly next: "التالي";
111
+ readonly optional: "أجب عن هذا السؤال، أو تخطَّه، للمتابعة.";
112
+ readonly previous: "السابق";
113
+ readonly progress: "السؤال {current} من {total}";
114
+ readonly progressLabel: "تقدم الاستبيان";
115
+ readonly required: "أجب عن هذا السؤال للمتابعة.";
116
+ readonly skip: "تخطَّ";
117
+ readonly submit: "إرسال";
118
+ };
119
+ readonly resizable: {
120
+ readonly handle: "تغيير حجم اللوحات";
121
+ };
122
+ readonly sheet: {
123
+ readonly close: "إغلاق";
124
+ };
125
+ readonly sidebar: {
126
+ readonly mobileDescription: "يعرض الشريط الجانبي للجوال.";
127
+ readonly title: "الشريط الجانبي";
128
+ readonly toggle: "تبديل الشريط الجانبي";
129
+ };
130
+ readonly spinner: {
131
+ readonly loading: "جارٍ التحميل";
132
+ };
133
+ readonly toast: {
134
+ readonly action: "إجراء";
135
+ readonly close: "إغلاق الإشعار";
136
+ readonly notifications: "الإشعارات";
137
+ };
138
+ };
139
+ //#endregion
140
+ export { ar as default };
141
+ //# sourceMappingURL=ar.d.ts.map
@@ -0,0 +1,128 @@
1
+ //#region src/locales/ar.ts
2
+ /**
3
+ * The Arabic messages of the UI kit, as a catalog of messages: every label, description and live-region text the components show, keyed
4
+ * by component. Pass it (or a copy with your own words) to the strings provider of your project, or into a `createI18n` catalog.
5
+ *
6
+ * @example
7
+ * import ar from "@shadow-js/ui/locales/ar";
8
+ *
9
+ * console.log(typeof ar.toast.close);
10
+ * @since 1.0.0
11
+ */
12
+ const ar = {
13
+ breadcrumb: {
14
+ label: "مسار التنقل",
15
+ more: "المزيد"
16
+ },
17
+ calendar: {
18
+ month: "الشهر",
19
+ nextMonth: "الشهر التالي",
20
+ previousMonth: "الشهر السابق",
21
+ year: "السنة"
22
+ },
23
+ carousel: {
24
+ goToSlide: "الانتقال إلى الشريحة {position}",
25
+ next: "الشريحة التالية",
26
+ previous: "الشريحة السابقة",
27
+ slide: "{position} من {total}"
28
+ },
29
+ chart: {
30
+ announce: "{label}: {values}",
31
+ captionTruncated: "{series}. عرض {shown, number} من أصل {total, plural, zero {لا توجد نقاط بيانات} one {نقطة بيانات واحدة} two {نقطتي بيانات} few {# نقاط بيانات} many {# نقطة بيانات} other {# نقطة بيانات}}.",
32
+ label: {
33
+ area: "مخطط مساحي لـ {series}",
34
+ bar: "مخطط أعمدة لـ {series}",
35
+ donut: "مخطط حلقي لـ {series}",
36
+ line: "مخطط خطي لـ {series}",
37
+ pie: "مخطط دائري لـ {series}",
38
+ radial: "مخطط شعاعي لـ {series}"
39
+ },
40
+ roledescription: "مخطط",
41
+ separator: "، ",
42
+ share: "{name}: {value} ({percent})",
43
+ value: "{name}: {value}"
44
+ },
45
+ codeBlock: {
46
+ copied: "تم النسخ",
47
+ copy: "نسخ الشيفرة"
48
+ },
49
+ combobox: {
50
+ clear: "مسح",
51
+ toggle: "تبديل الاقتراحات"
52
+ },
53
+ command: {
54
+ description: "ابحث عن أمر لتنفيذه...",
55
+ title: "لوحة الأوامر"
56
+ },
57
+ dataTable: {
58
+ empty: "لا توجد نتائج.",
59
+ next: "التالي",
60
+ noPages: "لا توجد صفحات",
61
+ page: "الصفحة {page} من {pages}",
62
+ previous: "السابق",
63
+ view: "عرض"
64
+ },
65
+ datePicker: { open: "فتح التقويم" },
66
+ dialog: { close: "إغلاق" },
67
+ drawer: { handle: "اسحب لتغيير الحجم" },
68
+ form: { errorSummary: {
69
+ item: "{label}: {message}",
70
+ title: "{count, plural, zero {لا توجد مشكلات في النموذج} one {هناك مشكلة واحدة في النموذج} two {هناك مشكلتان في النموذج} few {هناك # مشكلات في النموذج} many {هناك # مشكلة في النموذج} other {هناك # مشكلة في النموذج}}"
71
+ } },
72
+ inputOtp: {
73
+ character: "الحرف {position} من {total}",
74
+ digit: "الرقم {position} من {total}"
75
+ },
76
+ messageScroller: {
77
+ label: "الرسائل",
78
+ toEnd: "الانتقال إلى أحدث رسالة",
79
+ toStart: "الانتقال إلى البداية"
80
+ },
81
+ pagination: {
82
+ goNext: "الانتقال إلى الصفحة التالية",
83
+ goPrevious: "الانتقال إلى الصفحة السابقة",
84
+ goToPage: "الانتقال إلى الصفحة {page}",
85
+ label: "ترقيم الصفحات",
86
+ next: "التالي",
87
+ previous: "السابق"
88
+ },
89
+ password: {
90
+ capsLock: "مفتاح Caps Lock مفعّل",
91
+ level: {
92
+ "0": "ضعيفة جداً",
93
+ "1": "ضعيفة",
94
+ "2": "مقبولة",
95
+ "3": "جيدة",
96
+ "4": "قوية"
97
+ },
98
+ show: "إظهار كلمة المرور",
99
+ strength: "قوة كلمة المرور"
100
+ },
101
+ questionnaire: {
102
+ next: "التالي",
103
+ optional: "أجب عن هذا السؤال، أو تخطَّه، للمتابعة.",
104
+ previous: "السابق",
105
+ progress: "السؤال {current} من {total}",
106
+ progressLabel: "تقدم الاستبيان",
107
+ required: "أجب عن هذا السؤال للمتابعة.",
108
+ skip: "تخطَّ",
109
+ submit: "إرسال"
110
+ },
111
+ resizable: { handle: "تغيير حجم اللوحات" },
112
+ sheet: { close: "إغلاق" },
113
+ sidebar: {
114
+ mobileDescription: "يعرض الشريط الجانبي للجوال.",
115
+ title: "الشريط الجانبي",
116
+ toggle: "تبديل الشريط الجانبي"
117
+ },
118
+ spinner: { loading: "جارٍ التحميل" },
119
+ toast: {
120
+ action: "إجراء",
121
+ close: "إغلاق الإشعار",
122
+ notifications: "الإشعارات"
123
+ }
124
+ };
125
+ //#endregion
126
+ export { ar as default };
127
+
128
+ //# sourceMappingURL=ar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ar.js","names":[],"sources":["../../../src/locales/ar.ts"],"sourcesContent":["/**\n * The Arabic messages of the UI kit, as a catalog of messages: every label, description and live-region text the components show, keyed\n * by component. Pass it (or a copy with your own words) to the strings provider of your project, or into a `createI18n` catalog.\n *\n * @example\n * import ar from \"@shadow-js/ui/locales/ar\";\n *\n * console.log(typeof ar.toast.close);\n * @since 1.0.0\n */\nconst ar = {\n breadcrumb: {\n label: \"مسار التنقل\",\n more: \"المزيد\",\n },\n calendar: {\n month: \"الشهر\",\n nextMonth: \"الشهر التالي\",\n previousMonth: \"الشهر السابق\",\n year: \"السنة\",\n },\n carousel: {\n goToSlide: \"الانتقال إلى الشريحة {position}\",\n next: \"الشريحة التالية\",\n previous: \"الشريحة السابقة\",\n slide: \"{position} من {total}\",\n },\n chart: {\n announce: \"{label}: {values}\",\n captionTruncated:\n \"{series}. عرض {shown, number} من أصل {total, plural, zero {لا توجد نقاط بيانات} one {نقطة بيانات واحدة} two {نقطتي بيانات} few {# نقاط بيانات} many {# نقطة بيانات} other {# نقطة بيانات}}.\",\n label: {\n area: \"مخطط مساحي لـ {series}\",\n bar: \"مخطط أعمدة لـ {series}\",\n donut: \"مخطط حلقي لـ {series}\",\n line: \"مخطط خطي لـ {series}\",\n pie: \"مخطط دائري لـ {series}\",\n radial: \"مخطط شعاعي لـ {series}\",\n },\n roledescription: \"مخطط\",\n separator: \"، \",\n share: \"{name}: {value} ({percent})\",\n value: \"{name}: {value}\",\n },\n codeBlock: {\n copied: \"تم النسخ\",\n copy: \"نسخ الشيفرة\",\n },\n combobox: {\n clear: \"مسح\",\n toggle: \"تبديل الاقتراحات\",\n },\n command: {\n description: \"ابحث عن أمر لتنفيذه...\",\n title: \"لوحة الأوامر\",\n },\n dataTable: {\n empty: \"لا توجد نتائج.\",\n next: \"التالي\",\n noPages: \"لا توجد صفحات\",\n page: \"الصفحة {page} من {pages}\",\n previous: \"السابق\",\n view: \"عرض\",\n },\n datePicker: {\n open: \"فتح التقويم\",\n },\n dialog: {\n close: \"إغلاق\",\n },\n drawer: {\n handle: \"اسحب لتغيير الحجم\",\n },\n form: {\n errorSummary: {\n item: \"{label}: {message}\",\n title:\n \"{count, plural, zero {لا توجد مشكلات في النموذج} one {هناك مشكلة واحدة في النموذج} two {هناك مشكلتان في النموذج} few {هناك # مشكلات في النموذج} many {هناك # مشكلة في النموذج} other {هناك # مشكلة في النموذج}}\",\n },\n },\n inputOtp: {\n character: \"الحرف {position} من {total}\",\n digit: \"الرقم {position} من {total}\",\n },\n messageScroller: {\n label: \"الرسائل\",\n toEnd: \"الانتقال إلى أحدث رسالة\",\n toStart: \"الانتقال إلى البداية\",\n },\n pagination: {\n goNext: \"الانتقال إلى الصفحة التالية\",\n goPrevious: \"الانتقال إلى الصفحة السابقة\",\n goToPage: \"الانتقال إلى الصفحة {page}\",\n label: \"ترقيم الصفحات\",\n next: \"التالي\",\n previous: \"السابق\",\n },\n password: {\n capsLock: \"مفتاح Caps Lock مفعّل\",\n level: {\n \"0\": \"ضعيفة جداً\",\n \"1\": \"ضعيفة\",\n \"2\": \"مقبولة\",\n \"3\": \"جيدة\",\n \"4\": \"قوية\",\n },\n show: \"إظهار كلمة المرور\",\n strength: \"قوة كلمة المرور\",\n },\n questionnaire: {\n next: \"التالي\",\n optional: \"أجب عن هذا السؤال، أو تخطَّه، للمتابعة.\",\n previous: \"السابق\",\n progress: \"السؤال {current} من {total}\",\n progressLabel: \"تقدم الاستبيان\",\n required: \"أجب عن هذا السؤال للمتابعة.\",\n skip: \"تخطَّ\",\n submit: \"إرسال\",\n },\n resizable: {\n handle: \"تغيير حجم اللوحات\",\n },\n sheet: {\n close: \"إغلاق\",\n },\n sidebar: {\n mobileDescription: \"يعرض الشريط الجانبي للجوال.\",\n title: \"الشريط الجانبي\",\n toggle: \"تبديل الشريط الجانبي\",\n },\n spinner: {\n loading: \"جارٍ التحميل\",\n },\n toast: {\n action: \"إجراء\",\n close: \"إغلاق الإشعار\",\n notifications: \"الإشعارات\",\n },\n} as const;\n\nexport default ar;\n"],"mappings":";;;;;;;;;;;AAUA,MAAM,KAAK;CACT,YAAY;EACV,OAAO;EACP,MAAM;CACR;CACA,UAAU;EACR,OAAO;EACP,WAAW;EACX,eAAe;EACf,MAAM;CACR;CACA,UAAU;EACR,WAAW;EACX,MAAM;EACN,UAAU;EACV,OAAO;CACT;CACA,OAAO;EACL,UAAU;EACV,kBACE;EACF,OAAO;GACL,MAAM;GACN,KAAK;GACL,OAAO;GACP,MAAM;GACN,KAAK;GACL,QAAQ;EACV;EACA,iBAAiB;EACjB,WAAW;EACX,OAAO;EACP,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,MAAM;CACR;CACA,UAAU;EACR,OAAO;EACP,QAAQ;CACV;CACA,SAAS;EACP,aAAa;EACb,OAAO;CACT;CACA,WAAW;EACT,OAAO;EACP,MAAM;EACN,SAAS;EACT,MAAM;EACN,UAAU;EACV,MAAM;CACR;CACA,YAAY,EACV,MAAM,cACR;CACA,QAAQ,EACN,OAAO,QACT;CACA,QAAQ,EACN,QAAQ,oBACV;CACA,MAAM,EACJ,cAAc;EACZ,MAAM;EACN,OACE;CACJ,EACF;CACA,UAAU;EACR,WAAW;EACX,OAAO;CACT;CACA,iBAAiB;EACf,OAAO;EACP,OAAO;EACP,SAAS;CACX;CACA,YAAY;EACV,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,OAAO;EACP,MAAM;EACN,UAAU;CACZ;CACA,UAAU;EACR,UAAU;EACV,OAAO;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;EACP;EACA,MAAM;EACN,UAAU;CACZ;CACA,eAAe;EACb,MAAM;EACN,UAAU;EACV,UAAU;EACV,UAAU;EACV,eAAe;EACf,UAAU;EACV,MAAM;EACN,QAAQ;CACV;CACA,WAAW,EACT,QAAQ,oBACV;CACA,OAAO,EACL,OAAO,QACT;CACA,SAAS;EACP,mBAAmB;EACnB,OAAO;EACP,QAAQ;CACV;CACA,SAAS,EACP,SAAS,eACX;CACA,OAAO;EACL,QAAQ;EACR,OAAO;EACP,eAAe;CACjB;AACF"}
@@ -0,0 +1,141 @@
1
+ //#region src/locales/en.d.ts
2
+ /**
3
+ * The English messages of the UI kit, as a catalog of messages: every label, description and live-region text the components show, keyed
4
+ * by component. Pass it (or a copy with your own words) to the strings provider of your project, or into a `createI18n` catalog.
5
+ *
6
+ * @example
7
+ * import en from "@shadow-js/ui/locales/en";
8
+ *
9
+ * console.log(typeof en.toast.close);
10
+ * @since 1.0.0
11
+ */
12
+ declare const en: {
13
+ readonly breadcrumb: {
14
+ readonly label: "breadcrumb";
15
+ readonly more: "More";
16
+ };
17
+ readonly calendar: {
18
+ readonly month: "Month";
19
+ readonly nextMonth: "Next month";
20
+ readonly previousMonth: "Previous month";
21
+ readonly year: "Year";
22
+ };
23
+ readonly carousel: {
24
+ readonly goToSlide: "Go to slide {position}";
25
+ readonly next: "Next slide";
26
+ readonly previous: "Previous slide";
27
+ readonly slide: "{position} of {total}";
28
+ };
29
+ readonly chart: {
30
+ readonly announce: "{label}: {values}";
31
+ readonly captionTruncated: "{series}. Showing {shown, number} of {total, plural, one {# data point} other {# data points}}.";
32
+ readonly label: {
33
+ readonly area: "Area chart of {series}";
34
+ readonly bar: "Bar chart of {series}";
35
+ readonly donut: "Donut chart of {series}";
36
+ readonly line: "Line chart of {series}";
37
+ readonly pie: "Pie chart of {series}";
38
+ readonly radial: "Radial chart of {series}";
39
+ };
40
+ readonly roledescription: "chart";
41
+ readonly separator: ", ";
42
+ readonly share: "{name}: {value} ({percent})";
43
+ readonly value: "{name}: {value}";
44
+ };
45
+ readonly codeBlock: {
46
+ readonly copied: "Copied";
47
+ readonly copy: "Copy code";
48
+ };
49
+ readonly combobox: {
50
+ readonly clear: "Clear";
51
+ readonly toggle: "Toggle suggestions";
52
+ };
53
+ readonly command: {
54
+ readonly description: "Search for a command to run...";
55
+ readonly title: "Command Palette";
56
+ };
57
+ readonly dataTable: {
58
+ readonly empty: "No results.";
59
+ readonly next: "Next";
60
+ readonly noPages: "No pages";
61
+ readonly page: "Page {page} of {pages}";
62
+ readonly previous: "Previous";
63
+ readonly view: "View";
64
+ };
65
+ readonly datePicker: {
66
+ readonly open: "Open calendar";
67
+ };
68
+ readonly dialog: {
69
+ readonly close: "Close";
70
+ };
71
+ readonly drawer: {
72
+ readonly handle: "Drag to resize";
73
+ };
74
+ readonly form: {
75
+ readonly errorSummary: {
76
+ readonly item: "{label}: {message}";
77
+ readonly title: "{count, plural, one {There is # problem with your submission} other {There are # problems with your submission}}";
78
+ };
79
+ };
80
+ readonly inputOtp: {
81
+ readonly character: "Character {position} of {total}";
82
+ readonly digit: "Digit {position} of {total}";
83
+ };
84
+ readonly messageScroller: {
85
+ readonly label: "Messages";
86
+ readonly toEnd: "Scroll to latest";
87
+ readonly toStart: "Scroll to start";
88
+ };
89
+ readonly pagination: {
90
+ readonly goNext: "Go to next page";
91
+ readonly goPrevious: "Go to previous page";
92
+ readonly goToPage: "Go to page {page}";
93
+ readonly label: "pagination";
94
+ readonly next: "Next";
95
+ readonly previous: "Previous";
96
+ };
97
+ readonly password: {
98
+ readonly capsLock: "Caps Lock is on";
99
+ readonly level: {
100
+ readonly "0": "Very weak";
101
+ readonly "1": "Weak";
102
+ readonly "2": "Fair";
103
+ readonly "3": "Good";
104
+ readonly "4": "Strong";
105
+ };
106
+ readonly show: "Show password";
107
+ readonly strength: "Password strength";
108
+ };
109
+ readonly questionnaire: {
110
+ readonly next: "Next";
111
+ readonly optional: "Answer this question, or skip it, to continue.";
112
+ readonly previous: "Back";
113
+ readonly progress: "Question {current} of {total}";
114
+ readonly progressLabel: "Questionnaire progress";
115
+ readonly required: "Answer this question to continue.";
116
+ readonly skip: "Skip";
117
+ readonly submit: "Submit";
118
+ };
119
+ readonly resizable: {
120
+ readonly handle: "Resize panels";
121
+ };
122
+ readonly sheet: {
123
+ readonly close: "Close";
124
+ };
125
+ readonly sidebar: {
126
+ readonly mobileDescription: "Displays the mobile sidebar.";
127
+ readonly title: "Sidebar";
128
+ readonly toggle: "Toggle Sidebar";
129
+ };
130
+ readonly spinner: {
131
+ readonly loading: "Loading";
132
+ };
133
+ readonly toast: {
134
+ readonly action: "Action";
135
+ readonly close: "Close toast";
136
+ readonly notifications: "Notifications";
137
+ };
138
+ };
139
+ //#endregion
140
+ export { en as default };
141
+ //# sourceMappingURL=en.d.ts.map
@@ -0,0 +1,128 @@
1
+ //#region src/locales/en.ts
2
+ /**
3
+ * The English messages of the UI kit, as a catalog of messages: every label, description and live-region text the components show, keyed
4
+ * by component. Pass it (or a copy with your own words) to the strings provider of your project, or into a `createI18n` catalog.
5
+ *
6
+ * @example
7
+ * import en from "@shadow-js/ui/locales/en";
8
+ *
9
+ * console.log(typeof en.toast.close);
10
+ * @since 1.0.0
11
+ */
12
+ const en = {
13
+ breadcrumb: {
14
+ label: "breadcrumb",
15
+ more: "More"
16
+ },
17
+ calendar: {
18
+ month: "Month",
19
+ nextMonth: "Next month",
20
+ previousMonth: "Previous month",
21
+ year: "Year"
22
+ },
23
+ carousel: {
24
+ goToSlide: "Go to slide {position}",
25
+ next: "Next slide",
26
+ previous: "Previous slide",
27
+ slide: "{position} of {total}"
28
+ },
29
+ chart: {
30
+ announce: "{label}: {values}",
31
+ captionTruncated: "{series}. Showing {shown, number} of {total, plural, one {# data point} other {# data points}}.",
32
+ label: {
33
+ area: "Area chart of {series}",
34
+ bar: "Bar chart of {series}",
35
+ donut: "Donut chart of {series}",
36
+ line: "Line chart of {series}",
37
+ pie: "Pie chart of {series}",
38
+ radial: "Radial chart of {series}"
39
+ },
40
+ roledescription: "chart",
41
+ separator: ", ",
42
+ share: "{name}: {value} ({percent})",
43
+ value: "{name}: {value}"
44
+ },
45
+ codeBlock: {
46
+ copied: "Copied",
47
+ copy: "Copy code"
48
+ },
49
+ combobox: {
50
+ clear: "Clear",
51
+ toggle: "Toggle suggestions"
52
+ },
53
+ command: {
54
+ description: "Search for a command to run...",
55
+ title: "Command Palette"
56
+ },
57
+ dataTable: {
58
+ empty: "No results.",
59
+ next: "Next",
60
+ noPages: "No pages",
61
+ page: "Page {page} of {pages}",
62
+ previous: "Previous",
63
+ view: "View"
64
+ },
65
+ datePicker: { open: "Open calendar" },
66
+ dialog: { close: "Close" },
67
+ drawer: { handle: "Drag to resize" },
68
+ form: { errorSummary: {
69
+ item: "{label}: {message}",
70
+ title: "{count, plural, one {There is # problem with your submission} other {There are # problems with your submission}}"
71
+ } },
72
+ inputOtp: {
73
+ character: "Character {position} of {total}",
74
+ digit: "Digit {position} of {total}"
75
+ },
76
+ messageScroller: {
77
+ label: "Messages",
78
+ toEnd: "Scroll to latest",
79
+ toStart: "Scroll to start"
80
+ },
81
+ pagination: {
82
+ goNext: "Go to next page",
83
+ goPrevious: "Go to previous page",
84
+ goToPage: "Go to page {page}",
85
+ label: "pagination",
86
+ next: "Next",
87
+ previous: "Previous"
88
+ },
89
+ password: {
90
+ capsLock: "Caps Lock is on",
91
+ level: {
92
+ "0": "Very weak",
93
+ "1": "Weak",
94
+ "2": "Fair",
95
+ "3": "Good",
96
+ "4": "Strong"
97
+ },
98
+ show: "Show password",
99
+ strength: "Password strength"
100
+ },
101
+ questionnaire: {
102
+ next: "Next",
103
+ optional: "Answer this question, or skip it, to continue.",
104
+ previous: "Back",
105
+ progress: "Question {current} of {total}",
106
+ progressLabel: "Questionnaire progress",
107
+ required: "Answer this question to continue.",
108
+ skip: "Skip",
109
+ submit: "Submit"
110
+ },
111
+ resizable: { handle: "Resize panels" },
112
+ sheet: { close: "Close" },
113
+ sidebar: {
114
+ mobileDescription: "Displays the mobile sidebar.",
115
+ title: "Sidebar",
116
+ toggle: "Toggle Sidebar"
117
+ },
118
+ spinner: { loading: "Loading" },
119
+ toast: {
120
+ action: "Action",
121
+ close: "Close toast",
122
+ notifications: "Notifications"
123
+ }
124
+ };
125
+ //#endregion
126
+ export { en as default };
127
+
128
+ //# sourceMappingURL=en.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"en.js","names":[],"sources":["../../../src/locales/en.ts"],"sourcesContent":["/**\n * The English messages of the UI kit, as a catalog of messages: every label, description and live-region text the components show, keyed\n * by component. Pass it (or a copy with your own words) to the strings provider of your project, or into a `createI18n` catalog.\n *\n * @example\n * import en from \"@shadow-js/ui/locales/en\";\n *\n * console.log(typeof en.toast.close);\n * @since 1.0.0\n */\nconst en = {\n breadcrumb: {\n label: \"breadcrumb\",\n more: \"More\",\n },\n calendar: {\n month: \"Month\",\n nextMonth: \"Next month\",\n previousMonth: \"Previous month\",\n year: \"Year\",\n },\n carousel: {\n goToSlide: \"Go to slide {position}\",\n next: \"Next slide\",\n previous: \"Previous slide\",\n slide: \"{position} of {total}\",\n },\n chart: {\n announce: \"{label}: {values}\",\n captionTruncated:\n \"{series}. Showing {shown, number} of {total, plural, one {# data point} other {# data points}}.\",\n label: {\n area: \"Area chart of {series}\",\n bar: \"Bar chart of {series}\",\n donut: \"Donut chart of {series}\",\n line: \"Line chart of {series}\",\n pie: \"Pie chart of {series}\",\n radial: \"Radial chart of {series}\",\n },\n roledescription: \"chart\",\n separator: \", \",\n share: \"{name}: {value} ({percent})\",\n value: \"{name}: {value}\",\n },\n codeBlock: {\n copied: \"Copied\",\n copy: \"Copy code\",\n },\n combobox: {\n clear: \"Clear\",\n toggle: \"Toggle suggestions\",\n },\n command: {\n description: \"Search for a command to run...\",\n title: \"Command Palette\",\n },\n dataTable: {\n empty: \"No results.\",\n next: \"Next\",\n noPages: \"No pages\",\n page: \"Page {page} of {pages}\",\n previous: \"Previous\",\n view: \"View\",\n },\n datePicker: {\n open: \"Open calendar\",\n },\n dialog: {\n close: \"Close\",\n },\n drawer: {\n handle: \"Drag to resize\",\n },\n form: {\n errorSummary: {\n item: \"{label}: {message}\",\n title:\n \"{count, plural, one {There is # problem with your submission} other {There are # problems with your submission}}\",\n },\n },\n inputOtp: {\n character: \"Character {position} of {total}\",\n digit: \"Digit {position} of {total}\",\n },\n messageScroller: {\n label: \"Messages\",\n toEnd: \"Scroll to latest\",\n toStart: \"Scroll to start\",\n },\n pagination: {\n goNext: \"Go to next page\",\n goPrevious: \"Go to previous page\",\n goToPage: \"Go to page {page}\",\n label: \"pagination\",\n next: \"Next\",\n previous: \"Previous\",\n },\n password: {\n capsLock: \"Caps Lock is on\",\n level: {\n \"0\": \"Very weak\",\n \"1\": \"Weak\",\n \"2\": \"Fair\",\n \"3\": \"Good\",\n \"4\": \"Strong\",\n },\n show: \"Show password\",\n strength: \"Password strength\",\n },\n questionnaire: {\n next: \"Next\",\n optional: \"Answer this question, or skip it, to continue.\",\n previous: \"Back\",\n progress: \"Question {current} of {total}\",\n progressLabel: \"Questionnaire progress\",\n required: \"Answer this question to continue.\",\n skip: \"Skip\",\n submit: \"Submit\",\n },\n resizable: {\n handle: \"Resize panels\",\n },\n sheet: {\n close: \"Close\",\n },\n sidebar: {\n mobileDescription: \"Displays the mobile sidebar.\",\n title: \"Sidebar\",\n toggle: \"Toggle Sidebar\",\n },\n spinner: {\n loading: \"Loading\",\n },\n toast: {\n action: \"Action\",\n close: \"Close toast\",\n notifications: \"Notifications\",\n },\n} as const;\n\nexport default en;\n"],"mappings":";;;;;;;;;;;AAUA,MAAM,KAAK;CACT,YAAY;EACV,OAAO;EACP,MAAM;CACR;CACA,UAAU;EACR,OAAO;EACP,WAAW;EACX,eAAe;EACf,MAAM;CACR;CACA,UAAU;EACR,WAAW;EACX,MAAM;EACN,UAAU;EACV,OAAO;CACT;CACA,OAAO;EACL,UAAU;EACV,kBACE;EACF,OAAO;GACL,MAAM;GACN,KAAK;GACL,OAAO;GACP,MAAM;GACN,KAAK;GACL,QAAQ;EACV;EACA,iBAAiB;EACjB,WAAW;EACX,OAAO;EACP,OAAO;CACT;CACA,WAAW;EACT,QAAQ;EACR,MAAM;CACR;CACA,UAAU;EACR,OAAO;EACP,QAAQ;CACV;CACA,SAAS;EACP,aAAa;EACb,OAAO;CACT;CACA,WAAW;EACT,OAAO;EACP,MAAM;EACN,SAAS;EACT,MAAM;EACN,UAAU;EACV,MAAM;CACR;CACA,YAAY,EACV,MAAM,gBACR;CACA,QAAQ,EACN,OAAO,QACT;CACA,QAAQ,EACN,QAAQ,iBACV;CACA,MAAM,EACJ,cAAc;EACZ,MAAM;EACN,OACE;CACJ,EACF;CACA,UAAU;EACR,WAAW;EACX,OAAO;CACT;CACA,iBAAiB;EACf,OAAO;EACP,OAAO;EACP,SAAS;CACX;CACA,YAAY;EACV,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,OAAO;EACP,MAAM;EACN,UAAU;CACZ;CACA,UAAU;EACR,UAAU;EACV,OAAO;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;GACL,KAAK;EACP;EACA,MAAM;EACN,UAAU;CACZ;CACA,eAAe;EACb,MAAM;EACN,UAAU;EACV,UAAU;EACV,UAAU;EACV,eAAe;EACf,UAAU;EACV,MAAM;EACN,QAAQ;CACV;CACA,WAAW,EACT,QAAQ,gBACV;CACA,OAAO,EACL,OAAO,QACT;CACA,SAAS;EACP,mBAAmB;EACnB,OAAO;EACP,QAAQ;CACV;CACA,SAAS,EACP,SAAS,UACX;CACA,OAAO;EACL,QAAQ;EACR,OAAO;EACP,eAAe;CACjB;AACF"}