@doneisbetter/gds-core 2.6.1

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/server.js ADDED
@@ -0,0 +1,3114 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/server.ts
21
+ var server_exports = {};
22
+ __export(server_exports, {
23
+ AccentPanel: () => AccentPanel,
24
+ AccessSummary: () => AccessSummary,
25
+ ArticleShell: () => ArticleShell,
26
+ AuthShell: () => AuthShell,
27
+ BrowseSurface: () => BrowseSurface,
28
+ ConsumerDashboardGrid: () => ConsumerDashboardGrid,
29
+ ConsumerSection: () => ConsumerSection,
30
+ CtaButtonGroup: () => CtaButtonGroup,
31
+ DataToolbar: () => DataToolbar,
32
+ DocsPageShell: () => DocsPageShell,
33
+ EditorialCard: () => EditorialCard,
34
+ EditorialHero: () => EditorialHero,
35
+ EmptyState: () => EmptyState,
36
+ FeatureBand: () => FeatureBand,
37
+ FilterDrawer: () => FilterDrawer,
38
+ FormField: () => FormField,
39
+ GdsIcons: () => GdsIcons,
40
+ GdsVocabulary: () => GdsVocabulary,
41
+ MediaCard: () => MediaCard,
42
+ MediaField: () => MediaField,
43
+ MetricCard: () => MetricCard,
44
+ PageHeader: () => PageHeader,
45
+ PlaceholderPanel: () => PlaceholderPanel,
46
+ ProductCard: () => ProductCard,
47
+ ProgressCard: () => ProgressCard,
48
+ PublicBrandFooter: () => PublicBrandFooter,
49
+ PublicNav: () => PublicNav,
50
+ PublicProductCard: () => PublicProductCard,
51
+ PublicShell: () => PublicShell,
52
+ PublicSiteFooter: () => PublicSiteFooter,
53
+ SectionPanel: () => SectionPanel,
54
+ SimpleDataTable: () => SimpleDataTable,
55
+ StateBlock: () => StateBlock,
56
+ StatsSection: () => StatsSection,
57
+ StatusBadge: () => StatusBadge,
58
+ ar: () => ar,
59
+ de: () => de,
60
+ en: () => en,
61
+ es: () => es,
62
+ fr: () => fr,
63
+ gdsLocales: () => gdsLocales,
64
+ getGdsMessages: () => getGdsMessages,
65
+ he: () => he,
66
+ hu: () => hu,
67
+ it: () => it,
68
+ resolveAccentPanelStyles: () => resolveAccentPanelStyles,
69
+ ru: () => ru
70
+ });
71
+ module.exports = __toCommonJS(server_exports);
72
+
73
+ // src/icons.ts
74
+ var import_icons_react = require("@tabler/icons-react");
75
+ var GdsIcons = {
76
+ // Navigation
77
+ Dashboard: import_icons_react.IconDashboard,
78
+ Settings: import_icons_react.IconSettings,
79
+ Users: import_icons_react.IconUsers,
80
+ Analytics: import_icons_react.IconChartBar,
81
+ Home: import_icons_react.IconHome,
82
+ Inbox: import_icons_react.IconInbox,
83
+ Calendar: import_icons_react.IconCalendar,
84
+ Gallery: import_icons_react.IconPhoto,
85
+ History: import_icons_react.IconHistory,
86
+ Profile: import_icons_react.IconUser,
87
+ // Actions
88
+ Add: import_icons_react.IconPlus,
89
+ Edit: import_icons_react.IconEdit,
90
+ Delete: import_icons_react.IconTrash,
91
+ Search: import_icons_react.IconSearch,
92
+ Save: import_icons_react.IconDeviceFloppy,
93
+ Play: import_icons_react.IconPlayerPlay,
94
+ Start: import_icons_react.IconRocket,
95
+ Send: import_icons_react.IconSend,
96
+ Reply: import_icons_react.IconArrowBackUp,
97
+ Forward: import_icons_react.IconArrowForwardUp,
98
+ Attach: import_icons_react.IconPaperclip,
99
+ Upload: import_icons_react.IconUpload,
100
+ Download: import_icons_react.IconDownload,
101
+ Print: import_icons_react.IconPrinter,
102
+ Copy: import_icons_react.IconCopy,
103
+ Duplicate: import_icons_react.IconCopyPlus,
104
+ Check: import_icons_react.IconSquareCheck,
105
+ Uncheck: import_icons_react.IconSquareX,
106
+ Complete: import_icons_react.IconChecks,
107
+ Clear: import_icons_react.IconClearAll,
108
+ Cancel: import_icons_react.IconBan,
109
+ Confirm: import_icons_react.IconThumbUp,
110
+ Close: import_icons_react.IconX,
111
+ // Preferences & System
112
+ Language: import_icons_react.IconLanguage,
113
+ Theme: import_icons_react.IconPalette,
114
+ // Media
115
+ Capture: import_icons_react.IconCamera,
116
+ Record: import_icons_react.IconVideo,
117
+ Flip: import_icons_react.IconCameraRotate,
118
+ Flash: import_icons_react.IconBolt,
119
+ // Domain specific
120
+ Course: import_icons_react.IconBook,
121
+ Lesson: import_icons_react.IconNotebook,
122
+ Certificate: import_icons_react.IconCertificate,
123
+ Student: import_icons_react.IconSchool,
124
+ Class: import_icons_react.IconBooks,
125
+ Grade: import_icons_react.IconAward,
126
+ Child: import_icons_react.IconMoodKid,
127
+ Family: import_icons_react.IconUsersGroup,
128
+ Habit: import_icons_react.IconTarget,
129
+ Goal: import_icons_react.IconFlag,
130
+ Streak: import_icons_react.IconFlame,
131
+ Reward: import_icons_react.IconGift,
132
+ // Feedback
133
+ Success: import_icons_react.IconCheck,
134
+ Warning: import_icons_react.IconAlertTriangle,
135
+ Danger: import_icons_react.IconAlertCircle,
136
+ Info: import_icons_react.IconInfoCircle,
137
+ // Analysis additions
138
+ Trophy: import_icons_react.IconTrophy,
139
+ Crown: import_icons_react.IconCrown,
140
+ Pause: import_icons_react.IconPlayerPause,
141
+ Message: import_icons_react.IconMessage,
142
+ Mail: import_icons_react.IconMail,
143
+ Refresh: import_icons_react.IconRefresh,
144
+ TrendingUp: import_icons_react.IconTrendingUp,
145
+ TrendingDown: import_icons_react.IconTrendingDown,
146
+ Currency: import_icons_react.IconCurrencyDollar,
147
+ Grid: import_icons_react.IconLayoutGrid,
148
+ List: import_icons_react.IconList,
149
+ Logout: import_icons_react.IconDoorExit,
150
+ Notifications: import_icons_react.IconBell,
151
+ Back: import_icons_react.IconArrowLeft,
152
+ Eye: import_icons_react.IconEye,
153
+ EyeOff: import_icons_react.IconEyeOff,
154
+ Help: import_icons_react.IconHelpCircle,
155
+ Filter: import_icons_react.IconFilter,
156
+ Sort: import_icons_react.IconArrowsSort,
157
+ // New Audit-driven additions
158
+ Export: import_icons_react.IconFileExport,
159
+ Import: import_icons_react.IconFileImport,
160
+ Preview: import_icons_react.IconEye,
161
+ Clone: import_icons_react.IconCopy,
162
+ Restore: import_icons_react.IconTrashOff,
163
+ Toggle: import_icons_react.IconToggleLeft,
164
+ Submit: import_icons_react.IconCheck,
165
+ Reset: import_icons_react.IconRefresh,
166
+ Login: import_icons_react.IconLogin,
167
+ Register: import_icons_react.IconUserPlus,
168
+ Verify: import_icons_react.IconShieldCheck,
169
+ Launch: import_icons_react.IconRocket,
170
+ Draft: import_icons_react.IconFileText,
171
+ Refer: import_icons_react.IconShare,
172
+ Evidence: import_icons_react.IconPaperclip,
173
+ // System
174
+ ChevronDown: import_icons_react.IconChevronDown,
175
+ ChevronUp: import_icons_react.IconChevronUp,
176
+ Menu: import_icons_react.IconMenu2,
177
+ Moon: import_icons_react.IconMoon,
178
+ Sun: import_icons_react.IconSun
179
+ };
180
+
181
+ // src/vocabulary.ts
182
+ var GdsVocabulary = {
183
+ // Base
184
+ settings: { id: "gds.action.settings", defaultMessage: "Settings", icon: GdsIcons.Settings, feedback: { icon: GdsIcons.Settings, color: "teal", messageId: "gds.feedback.saved" } },
185
+ analytics: { id: "gds.action.analytics", defaultMessage: "Analytics", icon: GdsIcons.Analytics, feedback: { icon: GdsIcons.Analytics, color: "teal", messageId: "gds.feedback.loaded" } },
186
+ dashboard: { id: "gds.action.dashboard", defaultMessage: "Dashboard", icon: GdsIcons.Dashboard, feedback: { icon: GdsIcons.Dashboard, color: "teal", messageId: "gds.feedback.loaded" } },
187
+ play: { id: "gds.action.play", defaultMessage: "Play", icon: GdsIcons.Play, feedback: { icon: GdsIcons.Play, color: "teal", messageId: "gds.feedback.started" } },
188
+ start: { id: "gds.action.start", defaultMessage: "Start", icon: GdsIcons.Start, feedback: { icon: GdsIcons.Start, color: "teal", messageId: "gds.feedback.started" } },
189
+ users: { id: "gds.action.users", defaultMessage: "Users", icon: GdsIcons.Users, feedback: { icon: GdsIcons.Users, color: "teal", messageId: "gds.feedback.loaded" } },
190
+ add: { id: "gds.action.add", defaultMessage: "Add", icon: GdsIcons.Add, feedback: { icon: GdsIcons.Add, color: "teal", messageId: "gds.feedback.added" } },
191
+ edit: { id: "gds.action.edit", defaultMessage: "Edit", icon: GdsIcons.Edit, feedback: { icon: GdsIcons.Edit, color: "teal", messageId: "gds.feedback.edited" } },
192
+ delete: { id: "gds.action.delete", defaultMessage: "Delete", icon: GdsIcons.Delete, feedback: { icon: GdsIcons.Delete, color: "red", messageId: "gds.feedback.deleted" } },
193
+ save: { id: "gds.action.save", defaultMessage: "Save", icon: GdsIcons.Save, feedback: { icon: GdsIcons.Save, color: "teal", messageId: "gds.feedback.saved" } },
194
+ cancel: { id: "gds.action.cancel", defaultMessage: "Cancel", icon: GdsIcons.Cancel, feedback: { icon: GdsIcons.Cancel, color: "red", messageId: "gds.feedback.canceled" } },
195
+ confirm: { id: "gds.action.confirm", defaultMessage: "Confirm", icon: GdsIcons.Confirm, feedback: { icon: GdsIcons.Confirm, color: "teal", messageId: "gds.feedback.confirmed" } },
196
+ close: { id: "gds.action.close", defaultMessage: "Close", icon: GdsIcons.Close, feedback: { icon: GdsIcons.Close, color: "gray", messageId: "gds.feedback.closed" } },
197
+ language: { id: "gds.action.language", defaultMessage: "Language", icon: GdsIcons.Language, feedback: { icon: GdsIcons.Language, color: "teal", messageId: "gds.feedback.changed" } },
198
+ theme: { id: "gds.action.theme", defaultMessage: "Theme", icon: GdsIcons.Theme, feedback: { icon: GdsIcons.Theme, color: "teal", messageId: "gds.feedback.changed" } },
199
+ // Navigation
200
+ home: { id: "gds.action.home", defaultMessage: "Home", icon: GdsIcons.Home, feedback: { icon: GdsIcons.Home, color: "teal", messageId: "gds.feedback.opened" } },
201
+ inbox: { id: "gds.action.inbox", defaultMessage: "Inbox", icon: GdsIcons.Inbox, feedback: { icon: GdsIcons.Inbox, color: "teal", messageId: "gds.feedback.opened" } },
202
+ calendar: { id: "gds.action.calendar", defaultMessage: "Calendar", icon: GdsIcons.Calendar, feedback: { icon: GdsIcons.Calendar, color: "teal", messageId: "gds.feedback.opened" } },
203
+ gallery: { id: "gds.action.gallery", defaultMessage: "Gallery", icon: GdsIcons.Gallery, feedback: { icon: GdsIcons.Gallery, color: "teal", messageId: "gds.feedback.opened" } },
204
+ history: { id: "gds.action.history", defaultMessage: "History", icon: GdsIcons.History, feedback: { icon: GdsIcons.History, color: "teal", messageId: "gds.feedback.opened" } },
205
+ profile: { id: "gds.action.profile", defaultMessage: "Profile", icon: GdsIcons.Profile, feedback: { icon: GdsIcons.Profile, color: "teal", messageId: "gds.feedback.opened" } },
206
+ // Actions
207
+ send: { id: "gds.action.send", defaultMessage: "Send", icon: GdsIcons.Send, feedback: { icon: GdsIcons.Send, color: "blue", messageId: "gds.feedback.sent" } },
208
+ reply: { id: "gds.action.reply", defaultMessage: "Reply", icon: GdsIcons.Reply, feedback: { icon: GdsIcons.Reply, color: "blue", messageId: "gds.feedback.replied" } },
209
+ forward: { id: "gds.action.forward", defaultMessage: "Forward", icon: GdsIcons.Forward, feedback: { icon: GdsIcons.Forward, color: "blue", messageId: "gds.feedback.forwarded" } },
210
+ attach: { id: "gds.action.attach", defaultMessage: "Attach", icon: GdsIcons.Attach, feedback: { icon: GdsIcons.Attach, color: "teal", messageId: "gds.feedback.attached" } },
211
+ upload: { id: "gds.action.upload", defaultMessage: "Upload", icon: GdsIcons.Upload, feedback: { icon: GdsIcons.Upload, color: "teal", messageId: "gds.feedback.uploaded" } },
212
+ download: { id: "gds.action.download", defaultMessage: "Download", icon: GdsIcons.Download, feedback: { icon: GdsIcons.Download, color: "teal", messageId: "gds.feedback.downloaded" } },
213
+ print: { id: "gds.action.print", defaultMessage: "Print", icon: GdsIcons.Print, feedback: { icon: GdsIcons.Print, color: "teal", messageId: "gds.feedback.printed" } },
214
+ copy: { id: "gds.action.copy", defaultMessage: "Copy", icon: GdsIcons.Copy, feedback: { icon: GdsIcons.Copy, color: "teal", messageId: "gds.feedback.copied" } },
215
+ duplicate: { id: "gds.action.duplicate", defaultMessage: "Duplicate", icon: GdsIcons.Duplicate, feedback: { icon: GdsIcons.Duplicate, color: "teal", messageId: "gds.feedback.duplicated" } },
216
+ check: { id: "gds.action.check", defaultMessage: "Check", icon: GdsIcons.Check, feedback: { icon: GdsIcons.Check, color: "teal", messageId: "gds.feedback.checked" } },
217
+ uncheck: { id: "gds.action.uncheck", defaultMessage: "Uncheck", icon: GdsIcons.Uncheck, feedback: { icon: GdsIcons.Uncheck, color: "red", messageId: "gds.feedback.unchecked" } },
218
+ complete: { id: "gds.action.complete", defaultMessage: "Complete", icon: GdsIcons.Complete, feedback: { icon: GdsIcons.Complete, color: "teal", messageId: "gds.feedback.completed" } },
219
+ clear: { id: "gds.action.clear", defaultMessage: "Clear", icon: GdsIcons.Clear, feedback: { icon: GdsIcons.Clear, color: "red", messageId: "gds.feedback.cleared" } },
220
+ // Media (camera project)
221
+ capture: { id: "gds.action.capture", defaultMessage: "Capture", icon: GdsIcons.Capture, feedback: { icon: GdsIcons.Capture, color: "teal", messageId: "gds.feedback.captured" } },
222
+ record: { id: "gds.action.record", defaultMessage: "Record", icon: GdsIcons.Record, feedback: { icon: GdsIcons.Record, color: "teal", messageId: "gds.feedback.recorded" } },
223
+ flip: { id: "gds.action.flip", defaultMessage: "Flip", icon: GdsIcons.Flip, feedback: { icon: GdsIcons.Flip, color: "teal", messageId: "gds.feedback.flipped" } },
224
+ flash: { id: "gds.action.flash", defaultMessage: "Flash", icon: GdsIcons.Flash, feedback: { icon: GdsIcons.Flash, color: "teal", messageId: "gds.feedback.flashed" } },
225
+ // Domain specific (amanoba, classscout, kidex, habigoal)
226
+ course: { id: "gds.action.course", defaultMessage: "Course", icon: GdsIcons.Course, feedback: { icon: GdsIcons.Course, color: "teal", messageId: "gds.feedback.done" } },
227
+ lesson: { id: "gds.action.lesson", defaultMessage: "Lesson", icon: GdsIcons.Lesson, feedback: { icon: GdsIcons.Lesson, color: "teal", messageId: "gds.feedback.done" } },
228
+ certificate: { id: "gds.action.certificate", defaultMessage: "Certificate", icon: GdsIcons.Certificate, feedback: { icon: GdsIcons.Certificate, color: "teal", messageId: "gds.feedback.done" } },
229
+ student: { id: "gds.action.student", defaultMessage: "Student", icon: GdsIcons.Student, feedback: { icon: GdsIcons.Student, color: "teal", messageId: "gds.feedback.done" } },
230
+ class: { id: "gds.action.class", defaultMessage: "Class", icon: GdsIcons.Class, feedback: { icon: GdsIcons.Class, color: "teal", messageId: "gds.feedback.done" } },
231
+ grade: { id: "gds.action.grade", defaultMessage: "Grade", icon: GdsIcons.Grade, feedback: { icon: GdsIcons.Grade, color: "teal", messageId: "gds.feedback.done" } },
232
+ child: { id: "gds.action.child", defaultMessage: "Child", icon: GdsIcons.Child, feedback: { icon: GdsIcons.Child, color: "teal", messageId: "gds.feedback.done" } },
233
+ family: { id: "gds.action.family", defaultMessage: "Family", icon: GdsIcons.Family, feedback: { icon: GdsIcons.Family, color: "teal", messageId: "gds.feedback.done" } },
234
+ habit: { id: "gds.action.habit", defaultMessage: "Habit", icon: GdsIcons.Habit, feedback: { icon: GdsIcons.Habit, color: "teal", messageId: "gds.feedback.done" } },
235
+ goal: { id: "gds.action.goal", defaultMessage: "Goal", icon: GdsIcons.Goal, feedback: { icon: GdsIcons.Goal, color: "teal", messageId: "gds.feedback.done" } },
236
+ streak: { id: "gds.action.streak", defaultMessage: "Streak", icon: GdsIcons.Streak, feedback: { icon: GdsIcons.Streak, color: "teal", messageId: "gds.feedback.done" } },
237
+ reward: { id: "gds.action.reward", defaultMessage: "Reward", icon: GdsIcons.Reward, feedback: { icon: GdsIcons.Reward, color: "yellow", messageId: "gds.feedback.rewarded" } },
238
+ // Codebase analysis additions
239
+ trophy: { id: "gds.action.trophy", defaultMessage: "Trophy", icon: GdsIcons.Trophy, feedback: { icon: GdsIcons.Trophy, color: "yellow", messageId: "gds.feedback.rewarded" } },
240
+ crown: { id: "gds.action.crown", defaultMessage: "Crown", icon: GdsIcons.Crown, feedback: { icon: GdsIcons.Crown, color: "yellow", messageId: "gds.feedback.rewarded" } },
241
+ pause: { id: "gds.action.pause", defaultMessage: "Pause", icon: GdsIcons.Pause, feedback: { icon: GdsIcons.Pause, color: "teal", messageId: "gds.feedback.paused" } },
242
+ message: { id: "gds.action.message", defaultMessage: "Message", icon: GdsIcons.Message, feedback: { icon: GdsIcons.Message, color: "blue", messageId: "gds.feedback.sent" } },
243
+ mail: { id: "gds.action.mail", defaultMessage: "Mail", icon: GdsIcons.Mail, feedback: { icon: GdsIcons.Mail, color: "blue", messageId: "gds.feedback.mailed" } },
244
+ refresh: { id: "gds.action.refresh", defaultMessage: "Refresh", icon: GdsIcons.Refresh, feedback: { icon: GdsIcons.Refresh, color: "teal", messageId: "gds.feedback.refreshed" } },
245
+ trendingUp: { id: "gds.action.trendingUp", defaultMessage: "Trending Up", icon: GdsIcons.TrendingUp, feedback: { icon: GdsIcons.TrendingUp, color: "teal", messageId: "gds.feedback.done" } },
246
+ trendingDown: { id: "gds.action.trendingDown", defaultMessage: "Trending Down", icon: GdsIcons.TrendingDown, feedback: { icon: GdsIcons.TrendingDown, color: "teal", messageId: "gds.feedback.done" } },
247
+ currency: { id: "gds.action.currency", defaultMessage: "Currency", icon: GdsIcons.Currency, feedback: { icon: GdsIcons.Currency, color: "teal", messageId: "gds.feedback.done" } },
248
+ grid: { id: "gds.action.grid", defaultMessage: "Grid", icon: GdsIcons.Grid, feedback: { icon: GdsIcons.Grid, color: "teal", messageId: "gds.feedback.done" } },
249
+ list: { id: "gds.action.list", defaultMessage: "List", icon: GdsIcons.List, feedback: { icon: GdsIcons.List, color: "teal", messageId: "gds.feedback.done" } },
250
+ logout: { id: "gds.action.logout", defaultMessage: "Logout", icon: GdsIcons.Logout, feedback: { icon: GdsIcons.Logout, color: "teal", messageId: "gds.feedback.loggedOut" } },
251
+ notifications: { id: "gds.action.notifications", defaultMessage: "Notifications", icon: GdsIcons.Notifications, feedback: { icon: GdsIcons.Notifications, color: "teal", messageId: "gds.feedback.done" } },
252
+ back: { id: "gds.action.back", defaultMessage: "Back", icon: GdsIcons.Back, feedback: { icon: GdsIcons.Back, color: "teal", messageId: "gds.feedback.done" } },
253
+ eye: { id: "gds.action.eye", defaultMessage: "View", icon: GdsIcons.Eye, feedback: { icon: GdsIcons.Eye, color: "teal", messageId: "gds.feedback.done" } },
254
+ eyeOff: { id: "gds.action.eyeOff", defaultMessage: "Hide", icon: GdsIcons.EyeOff, feedback: { icon: GdsIcons.EyeOff, color: "teal", messageId: "gds.feedback.done" } },
255
+ help: { id: "gds.action.help", defaultMessage: "Help", icon: GdsIcons.Help, feedback: { icon: GdsIcons.Help, color: "teal", messageId: "gds.feedback.done" } },
256
+ filter: { id: "gds.action.filter", defaultMessage: "Filter", icon: GdsIcons.Filter, feedback: { icon: GdsIcons.Filter, color: "teal", messageId: "gds.feedback.filtered" } },
257
+ sort: { id: "gds.action.sort", defaultMessage: "Sort", icon: GdsIcons.Sort, feedback: { icon: GdsIcons.Sort, color: "teal", messageId: "gds.feedback.sorted" } },
258
+ // Audit-driven additions
259
+ export: { id: "gds.action.export", defaultMessage: "Export", icon: GdsIcons.Export, feedback: { icon: GdsIcons.Export, color: "teal", messageId: "gds.feedback.exported" } },
260
+ import: { id: "gds.action.import", defaultMessage: "Import", icon: GdsIcons.Import, feedback: { icon: GdsIcons.Import, color: "teal", messageId: "gds.feedback.imported" } },
261
+ preview: { id: "gds.action.preview", defaultMessage: "Preview", icon: GdsIcons.Preview, feedback: { icon: GdsIcons.Preview, color: "teal", messageId: "gds.feedback.previewed" } },
262
+ clone: { id: "gds.action.clone", defaultMessage: "Clone", icon: GdsIcons.Clone, feedback: { icon: GdsIcons.Clone, color: "teal", messageId: "gds.feedback.cloned" } },
263
+ restore: { id: "gds.action.restore", defaultMessage: "Restore", icon: GdsIcons.Restore, feedback: { icon: GdsIcons.Restore, color: "teal", messageId: "gds.feedback.restored" } },
264
+ toggle: { id: "gds.action.toggle", defaultMessage: "Toggle", icon: GdsIcons.Toggle, feedback: { icon: GdsIcons.Toggle, color: "teal", messageId: "gds.feedback.toggled" } },
265
+ search: { id: "gds.action.search", defaultMessage: "Search", icon: GdsIcons.Search, feedback: { icon: GdsIcons.Search, color: "teal", messageId: "gds.feedback.searched" } },
266
+ submit: { id: "gds.action.submit", defaultMessage: "Submit", icon: GdsIcons.Submit, feedback: { icon: GdsIcons.Submit, color: "teal", messageId: "gds.feedback.submitted" } },
267
+ reset: { id: "gds.action.reset", defaultMessage: "Reset", icon: GdsIcons.Reset, feedback: { icon: GdsIcons.Reset, color: "red", messageId: "gds.feedback.reset" } },
268
+ login: { id: "gds.action.login", defaultMessage: "Login", icon: GdsIcons.Login, feedback: { icon: GdsIcons.Login, color: "teal", messageId: "gds.feedback.loggedIn" } },
269
+ register: { id: "gds.action.register", defaultMessage: "Register", icon: GdsIcons.Register, feedback: { icon: GdsIcons.Register, color: "teal", messageId: "gds.feedback.registered" } },
270
+ verify: { id: "gds.action.verify", defaultMessage: "Verify", icon: GdsIcons.Verify, feedback: { icon: GdsIcons.Verify, color: "teal", messageId: "gds.feedback.verified" } },
271
+ launch: { id: "gds.action.launch", defaultMessage: "Launch", icon: GdsIcons.Launch, feedback: { icon: GdsIcons.Launch, color: "purple", messageId: "gds.feedback.launched" } },
272
+ draft: { id: "gds.action.draft", defaultMessage: "Draft", icon: GdsIcons.Draft, feedback: { icon: GdsIcons.Draft, color: "teal", messageId: "gds.feedback.drafted" } },
273
+ refer: { id: "gds.action.refer", defaultMessage: "Refer", icon: GdsIcons.Refer, feedback: { icon: GdsIcons.Refer, color: "teal", messageId: "gds.feedback.referred" } },
274
+ evidence: { id: "gds.action.evidence", defaultMessage: "Evidence", icon: GdsIcons.Evidence, feedback: { icon: GdsIcons.Evidence, color: "teal", messageId: "gds.feedback.added" } }
275
+ };
276
+
277
+ // src/StatusBadge.tsx
278
+ var import_core = require("@mantine/core");
279
+ var import_jsx_runtime = require("react/jsx-runtime");
280
+ var statusColorMap = {
281
+ success: "green",
282
+ warning: "yellow",
283
+ danger: "red",
284
+ info: "blue",
285
+ neutral: "gray"
286
+ };
287
+ function StatusBadge({ status, children, ...props }) {
288
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_core.Badge, { color: statusColorMap[status], variant: "light", ...props, children });
289
+ }
290
+
291
+ // src/EmptyState.tsx
292
+ var import_core2 = require("@mantine/core");
293
+ var import_jsx_runtime2 = require("react/jsx-runtime");
294
+ function EmptyState({ icon, title, description, action }) {
295
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(import_core2.Stack, { align: "center", justify: "center", gap: "md", py: "xl", ta: "center", children: [
296
+ icon && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_core2.Box, { c: "dimmed", children: icon }),
297
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_core2.Title, { order: 3, children: title }),
298
+ /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_core2.Text, { c: "dimmed", maw: 400, children: description }),
299
+ action && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_core2.Box, { mt: "md", children: action })
300
+ ] });
301
+ }
302
+
303
+ // src/MetricCard.tsx
304
+ var import_core3 = require("@mantine/core");
305
+ var import_jsx_runtime3 = require("react/jsx-runtime");
306
+ var trendColors = {
307
+ positive: "teal",
308
+ negative: "red",
309
+ neutral: "gray"
310
+ };
311
+ function MetricCard({ label, value, description, trend, icon, footer }) {
312
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.Card, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_core3.Stack, { gap: "md", children: [
313
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_core3.Group, { justify: "space-between", align: "flex-start", wrap: "nowrap", children: [
314
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_core3.Stack, { gap: 4, children: [
315
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.Text, { size: "sm", c: "dimmed", fw: 600, children: label }),
316
+ /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.Title, { order: 3, children: value })
317
+ ] }),
318
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.ThemeIcon, { variant: "light", size: "xl", radius: "xl", "aria-hidden": true, children: icon }) : null
319
+ ] }),
320
+ description || trend ? /* @__PURE__ */ (0, import_jsx_runtime3.jsxs)(import_core3.Group, { justify: "space-between", align: "center", gap: "sm", children: [
321
+ description ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.Text, { size: "sm", c: "dimmed", flex: 1, children: description }) : /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("span", {}),
322
+ trend ? /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_core3.Badge, { color: trendColors[trend.tone ?? "neutral"], variant: "light", children: trend.label }) : null
323
+ ] }) : null,
324
+ footer
325
+ ] }) });
326
+ }
327
+
328
+ // src/ProgressCard.tsx
329
+ var import_core4 = require("@mantine/core");
330
+ var import_jsx_runtime4 = require("react/jsx-runtime");
331
+ function ProgressCard({
332
+ label,
333
+ value,
334
+ progress,
335
+ progressLabel,
336
+ description,
337
+ action
338
+ }) {
339
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_core4.Card, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_core4.Stack, { gap: "md", children: [
340
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_core4.Group, { justify: "space-between", align: "flex-start", children: [
341
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_core4.Stack, { gap: 4, children: [
342
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_core4.Text, { size: "sm", c: "dimmed", fw: 600, children: label }),
343
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_core4.Title, { order: 3, children: value })
344
+ ] }),
345
+ action
346
+ ] }),
347
+ description ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_core4.Text, { size: "sm", c: "dimmed", children: description }) : null,
348
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_core4.Stack, { gap: 6, children: [
349
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_core4.Group, { justify: "space-between", gap: "sm", children: [
350
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_core4.Text, { size: "sm", fw: 500, children: progressLabel ?? "Progress" }),
351
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(import_core4.Text, { size: "sm", c: "dimmed", children: [
352
+ Math.round(progress),
353
+ "%"
354
+ ] })
355
+ ] }),
356
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_core4.Progress, { value: progress, radius: "xl", size: "md" })
357
+ ] })
358
+ ] }) });
359
+ }
360
+
361
+ // src/SectionPanel.tsx
362
+ var import_core5 = require("@mantine/core");
363
+ var import_jsx_runtime5 = require("react/jsx-runtime");
364
+ var toneBackgrounds = {
365
+ default: "var(--mantine-color-body)",
366
+ supporting: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))",
367
+ warning: "light-dark(var(--mantine-color-yellow-0), color-mix(in srgb, var(--mantine-color-yellow-9) 18%, var(--mantine-color-body)))",
368
+ critical: "light-dark(var(--mantine-color-red-0), color-mix(in srgb, var(--mantine-color-red-9) 18%, var(--mantine-color-body)))"
369
+ };
370
+ function SectionPanel({
371
+ title,
372
+ description,
373
+ action,
374
+ children,
375
+ tone = "default",
376
+ id,
377
+ divided = true
378
+ }) {
379
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core5.Paper, { id, withBorder: true, radius: "xl", p: "lg", style: { background: toneBackgrounds[tone] }, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_core5.Stack, { gap: "md", children: [
380
+ title || description || action ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_jsx_runtime5.Fragment, { children: [
381
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_core5.Group, { justify: "space-between", align: "flex-start", gap: "md", wrap: "wrap", children: [
382
+ title || description ? /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(import_core5.Stack, { gap: 4, children: [
383
+ title ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core5.Title, { order: 3, children: title }) : null,
384
+ description ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core5.Text, { size: "sm", c: "dimmed", children: description }) : null
385
+ ] }) : null,
386
+ action
387
+ ] }),
388
+ divided ? /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(import_core5.Divider, {}) : null
389
+ ] }) : null,
390
+ children
391
+ ] }) });
392
+ }
393
+
394
+ // src/ConsumerSection.tsx
395
+ var import_jsx_runtime6 = require("react/jsx-runtime");
396
+ function ConsumerSection({
397
+ title,
398
+ description,
399
+ action,
400
+ children,
401
+ tone = "default"
402
+ }) {
403
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(SectionPanel, { title, description, action, tone, children });
404
+ }
405
+
406
+ // src/ConsumerDashboardGrid.tsx
407
+ var import_core6 = require("@mantine/core");
408
+ var import_jsx_runtime7 = require("react/jsx-runtime");
409
+ function ConsumerDashboardGrid({
410
+ children,
411
+ columns = 3
412
+ }) {
413
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_core6.SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children });
414
+ }
415
+
416
+ // src/ProductCard.tsx
417
+ var import_core7 = require("@mantine/core");
418
+ var import_jsx_runtime8 = require("react/jsx-runtime");
419
+ function ProductCard({
420
+ title,
421
+ description,
422
+ media,
423
+ icon,
424
+ status,
425
+ metadata = [],
426
+ primaryAction,
427
+ secondaryActions = [],
428
+ footer
429
+ }) {
430
+ const MoreIcon = GdsIcons.Menu;
431
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Card, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_core7.Stack, { gap: "md", children: [
432
+ media,
433
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_core7.Group, { justify: "space-between", align: "flex-start", wrap: "nowrap", children: [
434
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_core7.Group, { align: "flex-start", gap: "sm", wrap: "nowrap", children: [
435
+ icon ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.ThemeIcon, { variant: "light", size: "xl", radius: "xl", "aria-hidden": true, children: icon }) : null,
436
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_core7.Stack, { gap: 4, children: [
437
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Title, { order: 4, children: title }),
438
+ description ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Text, { size: "sm", c: "dimmed", lineClamp: 3, children: description }) : null
439
+ ] })
440
+ ] }),
441
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_core7.Group, { gap: "xs", align: "center", wrap: "nowrap", children: [
442
+ typeof status === "string" ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Badge, { variant: "light", children: status }) : status,
443
+ secondaryActions.length ? /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_core7.Menu, { position: "bottom-end", withinPortal: true, children: [
444
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Menu.Target, { children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.ActionIcon, { variant: "subtle", "aria-label": "More actions", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(MoreIcon, { size: "1rem" }) }) }),
445
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Menu.Dropdown, { children: secondaryActions.map(
446
+ (action) => action.href ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Menu.Item, { component: "a", href: action.href, color: action.color, children: action.label }, action.label) : /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Menu.Item, { onClick: action.onClick, color: action.color, children: action.label }, action.label)
447
+ ) })
448
+ ] }) : null
449
+ ] })
450
+ ] }),
451
+ metadata.length ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Stack, { gap: 6, children: metadata.map((item) => /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_core7.Group, { justify: "space-between", gap: "sm", children: [
452
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Text, { size: "sm", c: "dimmed", children: item.label }),
453
+ /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Text, { size: "sm", fw: 500, ta: "right", children: item.value })
454
+ ] }, item.label)) }) : null,
455
+ primaryAction ? /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_core7.Group, { justify: "space-between", children: primaryAction }) : null,
456
+ footer
457
+ ] }) });
458
+ }
459
+
460
+ // src/EditorialCard.tsx
461
+ var import_core8 = require("@mantine/core");
462
+ var import_jsx_runtime9 = require("react/jsx-runtime");
463
+ var tonePalette = {
464
+ default: {
465
+ accent: "violet",
466
+ background: "var(--mantine-color-body)"
467
+ },
468
+ warm: {
469
+ accent: "orange",
470
+ background: "light-dark(var(--mantine-color-orange-0), color-mix(in srgb, var(--mantine-color-orange-9) 16%, var(--mantine-color-body)))"
471
+ },
472
+ cool: {
473
+ accent: "blue",
474
+ background: "light-dark(var(--mantine-color-blue-0), color-mix(in srgb, var(--mantine-color-blue-9) 16%, var(--mantine-color-body)))"
475
+ },
476
+ muted: {
477
+ accent: "gray",
478
+ background: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))"
479
+ }
480
+ };
481
+ function EditorialMediaFallback({ compact }) {
482
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.AspectRatio, { ratio: compact ? 16 / 10 : 4 / 3, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
483
+ import_core8.Box,
484
+ {
485
+ style: {
486
+ display: "grid",
487
+ placeItems: "center",
488
+ width: "100%",
489
+ height: "100%",
490
+ background: "var(--mantine-color-gray-0)",
491
+ borderRadius: "var(--mantine-radius-md)"
492
+ },
493
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(GdsIcons.Gallery, { size: compact ? "1.5rem" : "2rem" })
494
+ }
495
+ ) });
496
+ }
497
+ function EditorialCard({
498
+ media,
499
+ mediaAlt,
500
+ eyebrow,
501
+ badge,
502
+ title,
503
+ description,
504
+ meta,
505
+ ctaLabel = "Explore",
506
+ href,
507
+ onClick,
508
+ tone = "default",
509
+ variant = "standard",
510
+ classNames
511
+ }) {
512
+ const compact = variant === "compact";
513
+ const featured = variant === "featured";
514
+ const palette = tonePalette[tone];
515
+ const interactiveProps = href ? { component: "a", href } : onClick ? { component: "button", onClick, type: "button" } : {};
516
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(
517
+ import_core8.Card,
518
+ {
519
+ className: classNames?.root,
520
+ withBorder: true,
521
+ radius: "xl",
522
+ padding: 0,
523
+ ...interactiveProps,
524
+ style: {
525
+ overflow: "hidden",
526
+ textAlign: "left",
527
+ background: featured ? palette.background : "var(--mantine-color-body)",
528
+ cursor: href || onClick ? "pointer" : "default"
529
+ },
530
+ children: [
531
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Card.Section, { className: classNames?.media, children: media ?? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(EditorialMediaFallback, { compact }) }),
532
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Stack, { gap: "md", p: compact ? "md" : "lg", className: classNames?.body, children: [
533
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Group, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "wrap", children: [
534
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Stack, { gap: 4, flex: 1, children: [
535
+ eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Text, { size: "xs", fw: 700, c: "dimmed", children: eyebrow }) : null,
536
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Title, { order: compact ? 4 : 3, className: classNames?.title, children: title })
537
+ ] }),
538
+ badge ? typeof badge === "string" ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Badge, { color: palette.accent, variant: "light", children: badge }) : badge : null
539
+ ] }),
540
+ description ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Text, { size: "sm", c: "dimmed", children: description }) : null,
541
+ meta ? /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Text, { size: "sm", c: "dimmed", className: classNames?.meta, children: meta }) : null,
542
+ href || onClick || ctaLabel ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core8.Group, { gap: 6, c: `${palette.accent}.7`, className: classNames?.action, children: [
543
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core8.Text, { fw: 600, size: "sm", children: ctaLabel }),
544
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
545
+ import_core8.Anchor,
546
+ {
547
+ component: "span",
548
+ underline: "never",
549
+ c: "inherit",
550
+ "aria-label": typeof mediaAlt === "string" ? mediaAlt : void 0,
551
+ children: "\u2192"
552
+ }
553
+ )
554
+ ] }) : null
555
+ ] })
556
+ ]
557
+ }
558
+ );
559
+ }
560
+
561
+ // src/PublicProductCard.tsx
562
+ var import_react = require("react");
563
+ var import_core9 = require("@mantine/core");
564
+ var import_jsx_runtime10 = require("react/jsx-runtime");
565
+ var stateConfig = {
566
+ available: { label: "Available", color: "teal" },
567
+ limited: { label: "Limited", color: "yellow" },
568
+ "sold-out": { label: "Sold out", color: "red" },
569
+ preorder: { label: "Preorder", color: "violet" }
570
+ };
571
+ function enhanceAction(action, disabled) {
572
+ if (!(0, import_react.isValidElement)(action)) {
573
+ return action;
574
+ }
575
+ return (0, import_react.cloneElement)(action, {
576
+ disabled: disabled || Boolean(action.props.disabled),
577
+ "aria-disabled": disabled || void 0
578
+ });
579
+ }
580
+ function ImageFallback({ compact }) {
581
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.AspectRatio, { ratio: compact ? 16 / 9 : 4 / 3, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
582
+ import_core9.ThemeIcon,
583
+ {
584
+ size: "100%",
585
+ radius: "md",
586
+ variant: "light",
587
+ color: "gray",
588
+ "aria-label": "No product image available",
589
+ children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(GdsIcons.Gallery, { size: compact ? "1.5rem" : "2rem" })
590
+ }
591
+ ) });
592
+ }
593
+ function LoadingCard({ compact }) {
594
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Card, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Stack, { gap: "md", children: [
595
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.AspectRatio, { ratio: compact ? 16 / 9 : 4 / 3, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Skeleton, { radius: "md" }) }),
596
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Stack, { gap: "xs", children: [
597
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Skeleton, { height: 20, radius: "sm", width: "70%" }),
598
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Skeleton, { height: 14, radius: "sm", width: "100%" }),
599
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Skeleton, { height: 14, radius: "sm", width: "85%" })
600
+ ] }),
601
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Group, { justify: "space-between", align: "center", children: [
602
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Skeleton, { height: 18, radius: "sm", width: 72 }),
603
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Skeleton, { height: 36, radius: "md", width: 120 })
604
+ ] })
605
+ ] }) });
606
+ }
607
+ function PublicProductCard({
608
+ title,
609
+ description,
610
+ image,
611
+ price,
612
+ helperText,
613
+ helperKind = "supporting",
614
+ pickupNote,
615
+ inventoryNote,
616
+ state = "available",
617
+ stateLabels: stateLabels2,
618
+ primaryAction,
619
+ secondaryAction,
620
+ metadata = [],
621
+ compact = false,
622
+ loading = false,
623
+ disabled = false
624
+ }) {
625
+ if (loading) {
626
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(LoadingCard, { compact });
627
+ }
628
+ const isActionDisabled = disabled || state === "sold-out";
629
+ const resolvedPrimaryAction = enhanceAction(primaryAction, isActionDisabled);
630
+ const resolvedSecondaryAction = enhanceAction(secondaryAction, disabled);
631
+ const stateBadge = {
632
+ ...stateConfig[state],
633
+ label: stateLabels2?.[state] ?? stateConfig[state].label
634
+ };
635
+ const supportingHelper = helperKind === "supporting" ? helperText : null;
636
+ const pickupHelper = helperKind === "pickup" ? helperText : pickupNote;
637
+ const inventoryHelper = helperKind === "inventory" ? helperText : inventoryNote;
638
+ const hasSupportingRegion = Boolean(price || supportingHelper || pickupHelper || inventoryHelper);
639
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Card, { withBorder: true, radius: "lg", padding: compact ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Stack, { gap: compact ? "sm" : "md", children: [
640
+ image ?? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(ImageFallback, { compact }),
641
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Group, { justify: "space-between", align: "flex-start", wrap: "nowrap", gap: "sm", children: [
642
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Stack, { gap: 4, style: { minWidth: 0, flex: 1 }, children: [
643
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Title, { order: compact ? 5 : 4, lineClamp: 2, children: title }),
644
+ description ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "sm", c: "dimmed", lineClamp: compact ? 2 : 3, children: description }) : null
645
+ ] }),
646
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Badge, { variant: "light", color: stateBadge.color, children: stateBadge.label })
647
+ ] }),
648
+ hasSupportingRegion ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Group, { justify: "space-between", align: "flex-end", gap: "sm", wrap: "nowrap", children: [
649
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Stack, { gap: 2, style: { minWidth: 0, flex: 1 }, children: [
650
+ price ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { fw: 700, size: compact ? "md" : "lg", children: price }) : null,
651
+ supportingHelper ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "xs", c: "dimmed", children: supportingHelper }) : null
652
+ ] }),
653
+ resolvedPrimaryAction
654
+ ] }) : resolvedPrimaryAction ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Group, { justify: "flex-end", children: resolvedPrimaryAction }) : null,
655
+ pickupHelper || inventoryHelper || metadata.length ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Stack, { gap: 6, children: [
656
+ pickupHelper ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Group, { justify: "space-between", gap: "sm", children: [
657
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "sm", c: "dimmed", children: "Pickup" }),
658
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "sm", fw: 500, ta: "right", children: pickupHelper })
659
+ ] }) : null,
660
+ inventoryHelper ? /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Group, { justify: "space-between", gap: "sm", children: [
661
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "sm", c: "dimmed", children: "Availability" }),
662
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "sm", fw: 500, ta: "right", children: inventoryHelper })
663
+ ] }) : null,
664
+ metadata.map((item) => /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core9.Group, { justify: "space-between", gap: "sm", children: [
665
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "sm", c: "dimmed", children: item.label }),
666
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Text, { size: "sm", fw: 500, ta: "right", children: item.value })
667
+ ] }, item.label))
668
+ ] }) : null,
669
+ resolvedSecondaryAction ? /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core9.Group, { justify: "flex-end", children: resolvedSecondaryAction }) : null
670
+ ] }) });
671
+ }
672
+
673
+ // src/BrowseSurface.tsx
674
+ var import_core12 = require("@mantine/core");
675
+
676
+ // src/DataToolbar.tsx
677
+ var import_core10 = require("@mantine/core");
678
+ var import_jsx_runtime11 = require("react/jsx-runtime");
679
+ function DataToolbar({
680
+ searchSlot,
681
+ filterSlot,
682
+ sortSlot,
683
+ resetAction,
684
+ createAction,
685
+ activeFilters = []
686
+ }) {
687
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_core10.Stack, { gap: "sm", children: [
688
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_core10.Group, { justify: "space-between", align: "flex-start", gap: "sm", children: [
689
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_core10.Group, { flex: 1, align: "flex-start", gap: "sm", children: [
690
+ searchSlot,
691
+ filterSlot,
692
+ sortSlot
693
+ ] }),
694
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(import_core10.Group, { gap: "sm", children: [
695
+ resetAction,
696
+ createAction
697
+ ] })
698
+ ] }),
699
+ activeFilters.length ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_core10.Group, { gap: "xs", children: activeFilters.map((filter) => /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
700
+ import_core10.Badge,
701
+ {
702
+ variant: "light",
703
+ rightSection: filter.onRemove ? "\xD7" : void 0,
704
+ style: filter.onRemove ? { cursor: "pointer" } : void 0,
705
+ onClick: filter.onRemove,
706
+ children: filter.label
707
+ },
708
+ filter.label
709
+ )) }) : null
710
+ ] });
711
+ }
712
+
713
+ // src/StateBlock.tsx
714
+ var import_core11 = require("@mantine/core");
715
+ var import_jsx_runtime12 = require("react/jsx-runtime");
716
+ var variantConfig = {
717
+ loading: { color: "violet", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_core11.Loader, { size: "sm" }) },
718
+ empty: { color: "gray", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GdsIcons.Inbox, { size: "1.1rem" }) },
719
+ error: { color: "red", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GdsIcons.Danger, { size: "1.1rem" }) },
720
+ permission: { color: "orange", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GdsIcons.Verify, { size: "1.1rem" }) },
721
+ disabled: { color: "gray", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GdsIcons.Toggle, { size: "1.1rem" }) },
722
+ success: { color: "teal", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GdsIcons.Success, { size: "1.1rem" }) },
723
+ info: { color: "blue", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GdsIcons.Info, { size: "1.1rem" }) },
724
+ "not-enough-data": { color: "yellow", icon: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(GdsIcons.Analytics, { size: "1.1rem" }) }
725
+ };
726
+ function StateBlock({
727
+ variant,
728
+ title,
729
+ description,
730
+ action,
731
+ icon,
732
+ compact = false
733
+ }) {
734
+ const config = variantConfig[variant];
735
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(
736
+ import_core11.Stack,
737
+ {
738
+ align: compact ? "flex-start" : "center",
739
+ justify: "center",
740
+ gap: "md",
741
+ py: compact ? "md" : "xl",
742
+ ta: compact ? "left" : "center",
743
+ children: [
744
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_core11.ThemeIcon, { variant: "light", color: config.color, size: compact ? "lg" : "xl", radius: "xl", children: icon ?? config.icon }),
745
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)(import_core11.Stack, { gap: 6, align: compact ? "flex-start" : "center", children: [
746
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_core11.Title, { order: compact ? 4 : 3, children: title }),
747
+ description ? /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_core11.Text, { c: "dimmed", maw: compact ? void 0 : 480, children: description }) : null
748
+ ] }),
749
+ action
750
+ ]
751
+ }
752
+ );
753
+ }
754
+
755
+ // src/BrowseSurface.tsx
756
+ var import_jsx_runtime13 = require("react/jsx-runtime");
757
+ function BrowseSurface({
758
+ eyebrow,
759
+ title,
760
+ description,
761
+ resultCount,
762
+ resultLabel = "results",
763
+ activeFilters = [],
764
+ scopeOptions = [],
765
+ scopeLabel = "Scope",
766
+ locationControls,
767
+ primaryControls,
768
+ toolbar,
769
+ sortControl,
770
+ mobileFilters,
771
+ filterDrawer,
772
+ content,
773
+ loading = false,
774
+ loadingTitle = "Loading results",
775
+ loadingDescription = "The browse surface is still synchronizing.",
776
+ error,
777
+ errorTitle = "Unable to load results",
778
+ errorAction,
779
+ empty = false,
780
+ emptyTitle = "No matching results",
781
+ emptyDescription = "Try adjusting your filters or broadening the current scope.",
782
+ emptyAction
783
+ }) {
784
+ const toolbarFilters = activeFilters.map((filter) => ({
785
+ label: typeof filter.label === "string" ? filter.label : `Filter ${filter.id}`,
786
+ onRemove: filter.onRemove
787
+ }));
788
+ let body = content;
789
+ if (loading) {
790
+ body = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(StateBlock, { variant: "loading", title: loadingTitle, description: loadingDescription, compact: true });
791
+ } else if (error) {
792
+ body = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(StateBlock, { variant: "error", title: errorTitle, description: error, action: errorAction ?? emptyAction, compact: true });
793
+ } else if (empty) {
794
+ body = /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, action: emptyAction, compact: true });
795
+ }
796
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { gap: "lg", children: [
797
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Paper, { withBorder: true, radius: "xl", p: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { gap: "lg", children: [
798
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Group, { justify: "space-between", align: "flex-start", gap: "md", children: [
799
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { gap: "xs", maw: 760, children: [
800
+ eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Text, { size: "xs", fw: 700, tt: "uppercase", c: "dimmed", style: { letterSpacing: "0.18em" }, children: eyebrow }) : null,
801
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Title, { order: 1, children: title }),
802
+ description ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Text, { size: "lg", c: "dimmed", children: description }) : null
803
+ ] }),
804
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { align: "flex-end", gap: "xs", children: [
805
+ typeof resultCount === "number" ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Badge, { size: "lg", radius: "xl", variant: "light", color: "violet", children: [
806
+ resultCount,
807
+ " ",
808
+ resultLabel
809
+ ] }) : null,
810
+ primaryControls
811
+ ] })
812
+ ] }),
813
+ scopeOptions.length ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { gap: "xs", children: [
814
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Text, { size: "sm", fw: 600, c: "dimmed", children: scopeLabel }),
815
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Group, { gap: "xs", wrap: "wrap", children: scopeOptions.map((option) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
816
+ import_core12.Button,
817
+ {
818
+ variant: option.active ? "filled" : "default",
819
+ color: option.active ? "violet" : "gray",
820
+ radius: "xl",
821
+ size: "sm",
822
+ onClick: option.onSelect,
823
+ children: option.label
824
+ },
825
+ option.id
826
+ )) })
827
+ ] }) : null,
828
+ locationControls ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { gap: "xs", children: [
829
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Text, { size: "sm", fw: 600, c: "dimmed", children: "Location" }),
830
+ locationControls
831
+ ] }) : null,
832
+ toolbar || sortControl ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.SimpleGrid, { cols: { base: 1, lg: sortControl ? 2 : 1 }, spacing: "md", children: [
833
+ toolbar ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
834
+ DataToolbar,
835
+ {
836
+ ...toolbar,
837
+ activeFilters: toolbarFilters.length ? toolbarFilters : toolbar.fallbackActiveFilters
838
+ }
839
+ ) : /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Box, {}),
840
+ sortControl ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { gap: "xs", align: "stretch", children: [
841
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Text, { size: "sm", fw: 600, c: "dimmed", children: "Sort" }),
842
+ sortControl
843
+ ] }) : null
844
+ ] }) : null,
845
+ mobileFilters ? /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(import_core12.Stack, { hiddenFrom: "lg", gap: "xs", children: [
846
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Text, { size: "sm", fw: 600, c: "dimmed", children: "Filters" }),
847
+ mobileFilters
848
+ ] }) : null,
849
+ filterDrawer ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Box, { hiddenFrom: "lg", children: filterDrawer }) : null,
850
+ activeFilters.length ? /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_core12.Group, { gap: "xs", wrap: "wrap", children: activeFilters.map((filter) => /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
851
+ import_core12.Badge,
852
+ {
853
+ variant: "light",
854
+ color: "violet",
855
+ rightSection: filter.onRemove ? "\xD7" : void 0,
856
+ style: filter.onRemove ? { cursor: "pointer" } : void 0,
857
+ onClick: filter.onRemove,
858
+ children: filter.label
859
+ },
860
+ filter.id
861
+ )) }) : null
862
+ ] }) }),
863
+ body
864
+ ] });
865
+ }
866
+
867
+ // src/AccentPanel.tsx
868
+ var import_core13 = require("@mantine/core");
869
+ var import_jsx_runtime14 = require("react/jsx-runtime");
870
+ var toneStyles = {
871
+ gray: {
872
+ bg: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-gray-7) 88%, black))",
873
+ border: "light-dark(var(--mantine-color-gray-2), color-mix(in srgb, var(--mantine-color-gray-4) 70%, transparent))",
874
+ color: "light-dark(var(--mantine-color-gray-9), var(--mantine-color-gray-0))"
875
+ },
876
+ violet: {
877
+ bg: "light-dark(var(--mantine-color-violet-0), color-mix(in srgb, var(--mantine-color-violet-9) 70%, black))",
878
+ border: "light-dark(var(--mantine-color-violet-2), color-mix(in srgb, var(--mantine-color-violet-4) 75%, transparent))",
879
+ color: "light-dark(var(--mantine-color-violet-9), var(--mantine-color-violet-0))"
880
+ },
881
+ green: {
882
+ bg: "light-dark(var(--mantine-color-green-0), color-mix(in srgb, var(--mantine-color-green-9) 72%, black))",
883
+ border: "light-dark(var(--mantine-color-green-2), color-mix(in srgb, var(--mantine-color-green-4) 78%, transparent))",
884
+ color: "light-dark(var(--mantine-color-green-9), var(--mantine-color-green-0))"
885
+ },
886
+ red: {
887
+ bg: "light-dark(var(--mantine-color-red-0), color-mix(in srgb, var(--mantine-color-red-9) 72%, black))",
888
+ border: "light-dark(var(--mantine-color-red-2), color-mix(in srgb, var(--mantine-color-red-4) 78%, transparent))",
889
+ color: "light-dark(var(--mantine-color-red-9), var(--mantine-color-red-0))"
890
+ },
891
+ amber: {
892
+ bg: "light-dark(var(--mantine-color-yellow-0), color-mix(in srgb, var(--mantine-color-yellow-8) 78%, black))",
893
+ border: "light-dark(var(--mantine-color-yellow-3), color-mix(in srgb, var(--mantine-color-yellow-5) 70%, transparent))",
894
+ color: "light-dark(var(--mantine-color-yellow-9), var(--mantine-color-yellow-0))"
895
+ },
896
+ blue: {
897
+ bg: "light-dark(var(--mantine-color-blue-0), color-mix(in srgb, var(--mantine-color-blue-9) 74%, black))",
898
+ border: "light-dark(var(--mantine-color-blue-2), color-mix(in srgb, var(--mantine-color-blue-4) 75%, transparent))",
899
+ color: "light-dark(var(--mantine-color-blue-9), var(--mantine-color-blue-0))"
900
+ }
901
+ };
902
+ function resolveAccentPanelStyles(tone = "violet", variant = "subtle") {
903
+ const token = toneStyles[tone];
904
+ if (variant === "soft-outline") {
905
+ return {
906
+ backgroundColor: "light-dark(var(--mantine-color-body), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))",
907
+ border: `1px solid ${token.border}`,
908
+ color: token.color
909
+ };
910
+ }
911
+ return {
912
+ backgroundColor: token.bg,
913
+ border: `1px solid ${token.border}`,
914
+ color: token.color
915
+ };
916
+ }
917
+ function AccentPanel({
918
+ tone = "violet",
919
+ variant = "subtle",
920
+ title,
921
+ badge,
922
+ children
923
+ }) {
924
+ const styles = resolveAccentPanelStyles(tone, variant);
925
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Paper, { withBorder: true, radius: "lg", p: "lg", style: styles, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_core13.Stack, { gap: "sm", children: [
926
+ title || badge ? /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)(import_core13.Group, { justify: "space-between", align: "flex-start", gap: "sm", wrap: "wrap", children: [
927
+ title ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Title, { order: 4, c: "inherit", children: title }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Box, {}),
928
+ badge ? typeof badge === "string" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Badge, { color: tone === "amber" ? "yellow" : tone, variant: "filled", children: badge }) : badge : null
929
+ ] }) : null,
930
+ typeof children === "string" ? /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Text, { c: "inherit", children }) : /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_core13.Box, { c: "inherit", children })
931
+ ] }) });
932
+ }
933
+
934
+ // src/PublicShell.tsx
935
+ var import_core15 = require("@mantine/core");
936
+
937
+ // src/PublicNav.tsx
938
+ var import_core14 = require("@mantine/core");
939
+ var import_jsx_runtime15 = require("react/jsx-runtime");
940
+ function PublicNav({ items, activeId, renderLink }) {
941
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_core14.Group, { component: "nav", "aria-label": "Primary", gap: "lg", wrap: "nowrap", children: items.map((item) => {
942
+ const active = item.id === activeId;
943
+ if (renderLink) {
944
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { children: renderLink(item, active) }, item.id);
945
+ }
946
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
947
+ import_core14.Anchor,
948
+ {
949
+ href: item.href,
950
+ "aria-current": active ? "page" : void 0,
951
+ c: active ? "var(--mantine-color-text)" : "dimmed",
952
+ fw: active ? 700 : 500,
953
+ underline: "never",
954
+ target: item.external ? "_blank" : void 0,
955
+ rel: item.external ? "noreferrer" : void 0,
956
+ children: item.label
957
+ },
958
+ item.id
959
+ );
960
+ }) });
961
+ }
962
+
963
+ // src/PublicShell.tsx
964
+ var import_jsx_runtime16 = require("react/jsx-runtime");
965
+ function InlineMobileNavigation({
966
+ mobileNavigation,
967
+ className,
968
+ mode
969
+ }) {
970
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_core15.Box, { component: "details", hiddenFrom: "sm", className, children: [
971
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
972
+ import_core15.Box,
973
+ {
974
+ component: "summary",
975
+ "aria-label": mode === "drawer" ? "Open site navigation drawer" : "Open site navigation",
976
+ style: {
977
+ listStyle: "none",
978
+ cursor: "pointer",
979
+ display: "flex",
980
+ alignItems: "center",
981
+ gap: "0.5rem"
982
+ },
983
+ children: [
984
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Burger, { opened: false, "aria-hidden": true }),
985
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Text, { size: "sm", fw: 600, children: "Menu" })
986
+ ]
987
+ }
988
+ ),
989
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
990
+ import_core15.Box,
991
+ {
992
+ mt: "sm",
993
+ p: "sm",
994
+ style: {
995
+ borderRadius: "var(--mantine-radius-lg)",
996
+ border: "1px solid var(--mantine-color-default-border)",
997
+ background: mode === "drawer" ? "light-dark(var(--mantine-color-white), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))" : "var(--mantine-color-body)"
998
+ },
999
+ children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Stack, { gap: "sm", children: mobileNavigation })
1000
+ }
1001
+ )
1002
+ ] });
1003
+ }
1004
+ function PublicShell({
1005
+ brand,
1006
+ navItems,
1007
+ activeNavId,
1008
+ navigation,
1009
+ actions,
1010
+ footer,
1011
+ mobileNavigation,
1012
+ children,
1013
+ headerBordered = true,
1014
+ compact = false,
1015
+ maxContentWidth,
1016
+ headerVariant = "default",
1017
+ mobileNavigationMode = "sheet",
1018
+ classNames
1019
+ }) {
1020
+ const resolvedNavigation = navigation ?? (navItems ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(PublicNav, { items: navItems, activeId: activeNavId }) : null);
1021
+ const containerSize = maxContentWidth ?? (compact ? "md" : "lg");
1022
+ const headerHeight = headerVariant === "compact" ? 64 : headerVariant === "branded-quiet" ? 88 : 72;
1023
+ const mainPadding = headerVariant === "compact" ? "lg" : "xl";
1024
+ const usesInlineMobileNavigation = Boolean(mobileNavigation) && mobileNavigationMode !== "sheet";
1025
+ const usesSheetMobileNavigation = Boolean(mobileNavigation) && mobileNavigationMode === "sheet";
1026
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1027
+ import_core15.AppShell,
1028
+ {
1029
+ className: classNames?.root,
1030
+ header: { height: headerHeight },
1031
+ footer: usesSheetMobileNavigation ? { height: 68 } : void 0,
1032
+ padding: 0,
1033
+ children: [
1034
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.AppShell.Header, { withBorder: headerBordered, className: classNames?.header, "data-header-variant": headerVariant, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Container, { size: containerSize, h: "100%", py: headerVariant === "branded-quiet" ? "sm" : 0, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
1035
+ import_core15.Group,
1036
+ {
1037
+ h: "100%",
1038
+ justify: "space-between",
1039
+ wrap: "nowrap",
1040
+ gap: headerVariant === "compact" ? "sm" : "lg",
1041
+ children: [
1042
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_core15.Group, { wrap: "nowrap", gap: headerVariant === "compact" ? "xs" : "sm", className: classNames?.brand, children: [
1043
+ usesInlineMobileNavigation ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
1044
+ InlineMobileNavigation,
1045
+ {
1046
+ mobileNavigation,
1047
+ className: classNames?.mobileNavigation,
1048
+ mode: mobileNavigationMode
1049
+ }
1050
+ ) : null,
1051
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Box, { children: brand })
1052
+ ] }),
1053
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Group, { visibleFrom: "sm", gap: headerVariant === "compact" ? "md" : "lg", className: classNames?.navigation, children: resolvedNavigation }),
1054
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Group, { gap: "sm", className: classNames?.actions, children: actions })
1055
+ ]
1056
+ }
1057
+ ) }) }),
1058
+ usesSheetMobileNavigation ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.AppShell.Footer, { withBorder: true, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Container, { size: containerSize, h: "100%", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Group, { h: "100%", justify: "space-around", wrap: "nowrap", children: mobileNavigation }) }) }) : null,
1059
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(import_core15.AppShell.Main, { children: [
1060
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Container, { size: containerSize, py: mainPadding, className: classNames?.content, children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Stack, { gap: "xl", children }) }),
1061
+ footer ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Box, { component: typeof footer === "string" ? "footer" : "div", py: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Container, { size: containerSize, children: typeof footer === "string" ? /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(import_core15.Text, { size: "sm", c: "dimmed", children: footer }) : footer }) }) : null
1062
+ ] })
1063
+ ]
1064
+ }
1065
+ );
1066
+ }
1067
+
1068
+ // src/PublicSiteFooter.tsx
1069
+ var import_core16 = require("@mantine/core");
1070
+ var import_jsx_runtime17 = require("react/jsx-runtime");
1071
+ function PublicSiteFooter({ children, meta }) {
1072
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsxs)(import_core16.Stack, { component: "footer", gap: "xs", children: [
1073
+ children ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_core16.Text, { size: "sm", children }) : null,
1074
+ meta ? /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_core16.Group, { gap: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(import_core16.Text, { size: "xs", c: "dimmed", children: meta }) }) : null
1075
+ ] });
1076
+ }
1077
+
1078
+ // src/PublicBrandFooter.tsx
1079
+ var import_core17 = require("@mantine/core");
1080
+ var import_jsx_runtime18 = require("react/jsx-runtime");
1081
+ function PublicBrandFooter({
1082
+ media,
1083
+ brandTitle,
1084
+ description,
1085
+ actions,
1086
+ secondary,
1087
+ legal,
1088
+ compact = false,
1089
+ layoutVariant = "default",
1090
+ classNames
1091
+ }) {
1092
+ const mediaSpan = layoutVariant === "immersive-media" ? 5 : 4;
1093
+ const primarySpan = media ? layoutVariant === "balanced-quote" ? 4 : 4 : secondary ? 6 : 12;
1094
+ const secondarySpan = media ? Math.max(3, 12 - mediaSpan - primarySpan) : Math.max(4, 12 - primarySpan);
1095
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
1096
+ import_core17.Paper,
1097
+ {
1098
+ component: "footer",
1099
+ withBorder: true,
1100
+ radius: "xl",
1101
+ p: compact ? "lg" : "xl",
1102
+ className: classNames?.root,
1103
+ "data-layout-variant": layoutVariant,
1104
+ children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_core17.Stack, { gap: "lg", children: [
1105
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_core17.Grid, { gutter: compact ? "lg" : "xl", align: "flex-start", children: [
1106
+ media ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Grid.Col, { span: { base: 12, md: mediaSpan }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Box, { className: classNames?.media, children: media }) }) : null,
1107
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Grid.Col, { span: { base: 12, md: primarySpan }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_core17.Stack, { gap: compact ? "xs" : "sm", className: classNames?.primary, children: [
1108
+ brandTitle ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Title, { order: 4, children: brandTitle }) : null,
1109
+ description ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Text, { c: "dimmed", children: description }) : null,
1110
+ actions ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Box, { children: actions }) : null
1111
+ ] }) }),
1112
+ secondary ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Grid.Col, { span: { base: 12, md: secondarySpan }, children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Stack, { gap: compact ? "xs" : "sm", className: classNames?.secondary, children: secondary }) }) : null
1113
+ ] }),
1114
+ legal ? /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)(import_jsx_runtime18.Fragment, { children: [
1115
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Divider, {}),
1116
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Group, { justify: "space-between", gap: "sm", wrap: "wrap", className: classNames?.legal, children: typeof legal === "string" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(import_core17.Text, { size: "sm", c: "dimmed", children: legal }) : legal })
1117
+ ] }) : null
1118
+ ] })
1119
+ }
1120
+ );
1121
+ }
1122
+
1123
+ // src/AuthShell.tsx
1124
+ var import_core18 = require("@mantine/core");
1125
+ var import_jsx_runtime19 = require("react/jsx-runtime");
1126
+ function AuthShell({ title, description, brand, footer, helper, children }) {
1127
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Box, { py: { base: "xl", md: "4rem" }, children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Container, { size: "xs", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_core18.Stack, { gap: "xl", children: [
1128
+ brand ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Group, { justify: "center", children: brand }) : null,
1129
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Card, { withBorder: true, radius: "lg", padding: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_core18.Stack, { gap: "lg", children: [
1130
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(import_core18.Stack, { gap: "xs", ta: "center", children: [
1131
+ /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Title, { order: 2, children: title }),
1132
+ description ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Text, { c: "dimmed", size: "sm", children: description }) : null
1133
+ ] }),
1134
+ children,
1135
+ helper ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Text, { size: "sm", c: "dimmed", ta: "center", children: helper }) : null
1136
+ ] }) }),
1137
+ footer ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_core18.Text, { size: "sm", c: "dimmed", ta: "center", children: footer }) : null
1138
+ ] }) }) });
1139
+ }
1140
+
1141
+ // src/ArticleShell.tsx
1142
+ var import_core19 = require("@mantine/core");
1143
+ var import_jsx_runtime20 = require("react/jsx-runtime");
1144
+ function ArticleShell({ eyebrow, title, lead, meta, sideRail, children }) {
1145
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core19.Container, { size: "lg", py: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_core19.Group, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1146
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_core19.Stack, { gap: "lg", maw: 760, flex: 1, children: [
1147
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(import_core19.Stack, { gap: "sm", children: [
1148
+ eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core19.Text, { size: "sm", fw: 700, c: "dimmed", tt: "uppercase", children: eyebrow }) : null,
1149
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core19.Title, { order: 1, children: title }),
1150
+ lead ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core19.Text, { size: "lg", c: "dimmed", children: lead }) : null,
1151
+ meta ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core19.Group, { gap: "md", children: meta }) : null
1152
+ ] }),
1153
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core19.Stack, { gap: "md", children })
1154
+ ] }),
1155
+ sideRail ? /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(import_core19.Stack, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1156
+ ] }) });
1157
+ }
1158
+
1159
+ // src/CtaButtonGroup.tsx
1160
+ var import_core20 = require("@mantine/core");
1161
+ var import_jsx_runtime21 = require("react/jsx-runtime");
1162
+ function CtaButtonGroup({ primary, secondary, tertiary }) {
1163
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_core20.Stack, { gap: "sm", children: [
1164
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(import_core20.Group, { gap: "sm", align: "stretch", children: [
1165
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: primary }),
1166
+ secondary ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: secondary }) : null
1167
+ ] }),
1168
+ tertiary ? /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: tertiary }) : null
1169
+ ] });
1170
+ }
1171
+
1172
+ // src/DocsPageShell.tsx
1173
+ var import_core21 = require("@mantine/core");
1174
+ var import_jsx_runtime22 = require("react/jsx-runtime");
1175
+ function DocsPageShell({
1176
+ breadcrumbs = [],
1177
+ title,
1178
+ lead,
1179
+ eyebrow,
1180
+ meta,
1181
+ sideRail,
1182
+ footerNext,
1183
+ children
1184
+ }) {
1185
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Container, { size: "lg", py: "xl", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_core21.Group, { align: "flex-start", gap: "xl", wrap: "nowrap", children: [
1186
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_core21.Stack, { component: "article", gap: "lg", maw: 760, flex: 1, children: [
1187
+ breadcrumbs.length ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Breadcrumbs, { children: breadcrumbs.map(
1188
+ (crumb) => crumb.href ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Anchor, { href: crumb.href, children: crumb.label }, `${crumb.label}-${crumb.href}`) : /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Text, { children: crumb.label }, crumb.label)
1189
+ ) }) : null,
1190
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(import_core21.Stack, { gap: "sm", children: [
1191
+ eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Text, { size: "sm", fw: 700, c: "dimmed", children: eyebrow }) : null,
1192
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Title, { order: 1, children: title }),
1193
+ lead ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Text, { size: "lg", c: "dimmed", children: lead }) : null,
1194
+ meta ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Group, { gap: "md", children: meta }) : null
1195
+ ] }),
1196
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Stack, { gap: "md", children }),
1197
+ footerNext ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Anchor, { href: footerNext.href, fw: 600, children: footerNext.label }) : null
1198
+ ] }),
1199
+ sideRail ? /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_core21.Stack, { visibleFrom: "lg", gap: "md", w: 240, children: sideRail }) : null
1200
+ ] }) });
1201
+ }
1202
+
1203
+ // src/EditorialHero.tsx
1204
+ var import_core22 = require("@mantine/core");
1205
+ var import_jsx_runtime23 = require("react/jsx-runtime");
1206
+ function resolveActionVariant(action, index, seenPrimary) {
1207
+ const requested = action.variant ?? (index === 0 ? "primary" : "secondary");
1208
+ if (requested === "primary" && !seenPrimary) {
1209
+ return { variant: "filled", seenPrimary: true };
1210
+ }
1211
+ if (requested === "subtle") {
1212
+ return { variant: "subtle", seenPrimary };
1213
+ }
1214
+ return { variant: "default", seenPrimary };
1215
+ }
1216
+ function HeroAction({ action, variant }) {
1217
+ const content = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1218
+ import_core22.Anchor,
1219
+ {
1220
+ href: action.href,
1221
+ onClick: action.onClick,
1222
+ "aria-disabled": action.disabled || action.loading || void 0,
1223
+ underline: "never",
1224
+ c: variant === "filled" ? "white" : void 0,
1225
+ style: {
1226
+ display: "inline-flex",
1227
+ alignItems: "center",
1228
+ justifyContent: "center",
1229
+ padding: "0.625rem 1rem",
1230
+ borderRadius: "var(--mantine-radius-md)",
1231
+ fontWeight: 600,
1232
+ minHeight: "2.5rem",
1233
+ border: variant === "default" ? "1px solid var(--mantine-color-default-border)" : "1px solid transparent",
1234
+ background: variant === "filled" ? "var(--mantine-color-violet-filled)" : variant === "subtle" ? "transparent" : "var(--mantine-color-default)",
1235
+ opacity: action.disabled ? 0.6 : 1,
1236
+ pointerEvents: action.disabled ? "none" : void 0
1237
+ },
1238
+ children: action.loading ? "Loading\u2026" : action.label
1239
+ }
1240
+ );
1241
+ if (!action.href) {
1242
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1243
+ import_core22.Box,
1244
+ {
1245
+ component: "button",
1246
+ type: "button",
1247
+ onClick: action.onClick,
1248
+ disabled: action.disabled || action.loading,
1249
+ style: {
1250
+ display: "inline-flex",
1251
+ alignItems: "center",
1252
+ justifyContent: "center",
1253
+ padding: "0.625rem 1rem",
1254
+ borderRadius: "var(--mantine-radius-md)",
1255
+ fontWeight: 600,
1256
+ minHeight: "2.5rem",
1257
+ border: variant === "default" ? "1px solid var(--mantine-color-default-border)" : "1px solid transparent",
1258
+ background: variant === "filled" ? "var(--mantine-color-violet-filled)" : variant === "subtle" ? "transparent" : "var(--mantine-color-default)",
1259
+ color: variant === "filled" ? "white" : "inherit",
1260
+ cursor: action.disabled ? "not-allowed" : "pointer",
1261
+ opacity: action.disabled ? 0.6 : 1
1262
+ },
1263
+ children: action.loading ? "Loading\u2026" : action.label
1264
+ }
1265
+ );
1266
+ }
1267
+ return content;
1268
+ }
1269
+ function LoadingHero({ compact }) {
1270
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Paper, { withBorder: true, radius: "xl", p: compact ? "lg" : "xl", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_core22.Grid, { gutter: compact ? "lg" : "xl", align: "center", children: [
1271
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Grid.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_core22.Stack, { gap: "md", children: [
1272
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Skeleton, { height: 16, width: 96, radius: "xl" }),
1273
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Skeleton, { height: 48, width: "90%", radius: "md" }),
1274
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Skeleton, { height: 18, width: "100%", radius: "md" }),
1275
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Skeleton, { height: 18, width: "82%", radius: "md" }),
1276
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_core22.Group, { children: [
1277
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Skeleton, { height: 40, width: 140, radius: "md" }),
1278
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Skeleton, { height: 40, width: 140, radius: "md" })
1279
+ ] })
1280
+ ] }) }),
1281
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Grid.Col, { span: { base: 12, md: 6 }, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.AspectRatio, { ratio: 16 / 11, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Skeleton, { radius: "lg" }) }) })
1282
+ ] }) });
1283
+ }
1284
+ function MediaFallback() {
1285
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.AspectRatio, { ratio: 16 / 11, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1286
+ import_core22.ThemeIcon,
1287
+ {
1288
+ size: "100%",
1289
+ radius: "lg",
1290
+ color: "gray",
1291
+ variant: "light",
1292
+ "aria-label": "Hero media is unavailable",
1293
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(GdsIcons.Gallery, { size: "2.5rem" })
1294
+ }
1295
+ ) });
1296
+ }
1297
+ function MediaFrame({
1298
+ media,
1299
+ mediaAlt,
1300
+ mediaFade,
1301
+ className
1302
+ }) {
1303
+ let overlayBackground = null;
1304
+ if (mediaFade === "background-blend") {
1305
+ overlayBackground = "linear-gradient(135deg, light-dark(rgba(255,255,255,0), rgba(17,24,39,0.08)) 0%, light-dark(rgba(255,255,255,0.42), rgba(17,24,39,0.54)) 100%)";
1306
+ } else if (mediaFade === "background-match") {
1307
+ overlayBackground = "linear-gradient(180deg, rgba(255,255,255,0) 0%, light-dark(rgba(248,250,252,0.75), rgba(17,24,39,0.56)) 100%)";
1308
+ } else if (mediaFade === "mask-soft-edge") {
1309
+ overlayBackground = "linear-gradient(90deg, light-dark(rgba(255,255,255,0.78), rgba(17,24,39,0.68)) 0%, rgba(255,255,255,0.18) 18%, rgba(255,255,255,0) 42%)";
1310
+ } else if (mediaFade === "soft-start") {
1311
+ overlayBackground = "linear-gradient(90deg, light-dark(rgba(255,255,255,0.9), rgba(17,24,39,0.72)) 0%, rgba(255,255,255,0) 28%)";
1312
+ }
1313
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1314
+ import_core22.Box,
1315
+ {
1316
+ component: "figure",
1317
+ m: 0,
1318
+ className,
1319
+ style: {
1320
+ position: "relative",
1321
+ overflow: "hidden",
1322
+ borderRadius: "var(--mantine-radius-xl)",
1323
+ minHeight: "100%"
1324
+ },
1325
+ "aria-label": mediaAlt,
1326
+ children: [
1327
+ media ?? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MediaFallback, {}),
1328
+ media && overlayBackground ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1329
+ import_core22.Box,
1330
+ {
1331
+ "aria-hidden": true,
1332
+ style: {
1333
+ position: "absolute",
1334
+ inset: 0,
1335
+ pointerEvents: "none",
1336
+ background: overlayBackground
1337
+ }
1338
+ }
1339
+ ) : null
1340
+ ]
1341
+ }
1342
+ );
1343
+ }
1344
+ function EditorialHero({
1345
+ eyebrow,
1346
+ title,
1347
+ description,
1348
+ actions = [],
1349
+ meta = [],
1350
+ media,
1351
+ mediaAlt,
1352
+ mediaPosition = "right",
1353
+ mediaFade = "soft-start",
1354
+ align = "start",
1355
+ compact = false,
1356
+ loading = false,
1357
+ error,
1358
+ surfaceVariant = "default",
1359
+ classNames
1360
+ }) {
1361
+ if (loading) {
1362
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(LoadingHero, { compact });
1363
+ }
1364
+ const stackAlign = align === "center" ? "center" : "flex-start";
1365
+ const textAlign = align === "center" ? "center" : "left";
1366
+ let seenPrimary = false;
1367
+ const renderedActions = actions.slice(0, 3).map((action, index) => {
1368
+ const resolved = resolveActionVariant(action, index, seenPrimary);
1369
+ seenPrimary = resolved.seenPrimary;
1370
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(HeroAction, { action, variant: resolved.variant }, `${action.label}-${index}`);
1371
+ });
1372
+ const textSlot = /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_core22.Stack, { gap: compact ? "md" : "lg", justify: "center", h: "100%", className: classNames?.content, children: [
1373
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_core22.Stack, { gap: "sm", align: stackAlign, children: [
1374
+ eyebrow ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Text, { size: "sm", fw: 700, c: "dimmed", ta: textAlign, children: eyebrow }) : null,
1375
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Title, { order: 1, maw: 760, ta: textAlign, children: title }),
1376
+ description ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Text, { size: compact ? "md" : "lg", c: "dimmed", maw: 720, ta: textAlign, children: description }) : null
1377
+ ] }),
1378
+ renderedActions.length ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Box, { className: classNames?.actions, children: /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1379
+ CtaButtonGroup,
1380
+ {
1381
+ primary: renderedActions[0],
1382
+ secondary: renderedActions[1],
1383
+ tertiary: renderedActions[2]
1384
+ }
1385
+ ) }) : null,
1386
+ meta.length ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Group, { gap: "sm", wrap: "wrap", "aria-label": "Supporting details", className: classNames?.meta, children: meta.map((item) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
1387
+ import_core22.Group,
1388
+ {
1389
+ gap: 6,
1390
+ px: "sm",
1391
+ py: 6,
1392
+ style: {
1393
+ borderRadius: "var(--mantine-radius-xl)",
1394
+ background: "light-dark(var(--mantine-color-gray-0), color-mix(in srgb, var(--mantine-color-dark-7) 92%, black))"
1395
+ },
1396
+ children: [
1397
+ item.icon,
1398
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Text, { size: "sm", c: "dimmed", children: item.label })
1399
+ ]
1400
+ },
1401
+ item.id
1402
+ )) }) : null
1403
+ ] });
1404
+ const mediaSlot = error ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(AccentPanel, { tone: "red", variant: "soft-outline", title: "Media unavailable", children: error }) : /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(MediaFrame, { media, mediaAlt, mediaFade, className: classNames?.media });
1405
+ const textCol = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Grid.Col, { span: { base: 12, md: 6 }, order: { base: 1, md: mediaPosition === "left" ? 2 : 1 }, children: textSlot });
1406
+ const mediaCol = /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(import_core22.Grid.Col, { span: { base: 12, md: 6 }, order: { base: 2, md: mediaPosition === "left" ? 1 : 2 }, children: mediaSlot });
1407
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1408
+ import_core22.Paper,
1409
+ {
1410
+ component: "section",
1411
+ withBorder: true,
1412
+ radius: "xl",
1413
+ p: compact ? "lg" : "xl",
1414
+ className: classNames?.root,
1415
+ style: surfaceVariant === "flat-public" ? { boxShadow: "none" } : void 0,
1416
+ children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(import_core22.Grid, { gutter: compact ? "lg" : "xl", align: "center", children: [
1417
+ textCol,
1418
+ mediaCol
1419
+ ] })
1420
+ }
1421
+ );
1422
+ }
1423
+
1424
+ // src/FeatureBand.tsx
1425
+ var import_core23 = require("@mantine/core");
1426
+ var import_jsx_runtime24 = require("react/jsx-runtime");
1427
+ function FeatureBandSkeleton({
1428
+ columns = 3,
1429
+ bordered = true,
1430
+ variant = "default"
1431
+ }) {
1432
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: Array.from({ length: columns }).map((_, index) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Paper, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_core23.Stack, { gap: "md", children: [
1433
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Skeleton, { height: variant === "process" ? 28 : 42, width: variant === "process" ? 72 : 42, radius: "xl" }),
1434
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_core23.Stack, { gap: "xs", children: [
1435
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Skeleton, { height: 20, width: "75%", radius: "md" }),
1436
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Skeleton, { height: 14, width: "100%", radius: "md" }),
1437
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Skeleton, { height: 14, width: "82%", radius: "md" })
1438
+ ] })
1439
+ ] }) }, index)) });
1440
+ }
1441
+ function FeatureBand({
1442
+ items,
1443
+ columns = 3,
1444
+ bordered = true,
1445
+ loading = false,
1446
+ emptyState,
1447
+ variant = "default"
1448
+ }) {
1449
+ if (loading) {
1450
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(FeatureBandSkeleton, { columns, bordered, variant });
1451
+ }
1452
+ if (!items.length) {
1453
+ return emptyState ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_jsx_runtime24.Fragment, { children: emptyState }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1454
+ EmptyState,
1455
+ {
1456
+ title: "No supporting details available",
1457
+ description: "Add shared feature-band items when this public surface needs trust, service, or location context."
1458
+ }
1459
+ );
1460
+ }
1461
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Box, { component: "section", "aria-label": "Supporting features", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.SimpleGrid, { cols: { base: 1, sm: Math.min(columns, 2), lg: columns }, spacing: "lg", children: items.map((item, index) => /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Paper, { withBorder: bordered, radius: "lg", p: variant === "compact" ? "md" : "lg", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_core23.Stack, { gap: "md", children: [
1462
+ variant === "process" ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
1463
+ import_core23.Text,
1464
+ {
1465
+ fw: 800,
1466
+ size: "sm",
1467
+ px: "sm",
1468
+ py: 6,
1469
+ style: {
1470
+ borderRadius: "999px",
1471
+ background: "var(--mantine-color-violet-light)"
1472
+ },
1473
+ children: item.stepLabel ?? `Step ${index + 1}`
1474
+ }
1475
+ ) }) : item.media ? item.media : item.icon ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.ThemeIcon, { size: "xl", radius: "xl", variant: "light", color: "violet", children: item.icon }) }) : /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Group, { children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.ThemeIcon, { size: "xl", radius: "xl", variant: "light", color: "gray", "aria-hidden": true, children: /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(GdsIcons.Info, { size: "1.25rem" }) }) }),
1476
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(import_core23.Stack, { gap: "xs", children: [
1477
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Title, { order: 4, children: item.title }),
1478
+ item.description ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Text, { c: "dimmed", children: item.description }) : null,
1479
+ item.meta ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)(import_core23.Text, { size: "sm", c: "dimmed", children: item.meta }) : null
1480
+ ] })
1481
+ ] }) }, item.id)) }) });
1482
+ }
1483
+
1484
+ // src/MediaField.tsx
1485
+ var import_core25 = require("@mantine/core");
1486
+
1487
+ // src/FormField.tsx
1488
+ var import_core24 = require("@mantine/core");
1489
+ var import_jsx_runtime25 = require("react/jsx-runtime");
1490
+ function FormField({ label, description, error, children }) {
1491
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_core24.Box, { component: "label", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)(import_core24.Stack, { gap: 4, children: [
1492
+ typeof label === "string" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_core24.Text, { size: "xs", fw: 600, c: "dimmed", children: label }) : label,
1493
+ description ? typeof description === "string" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_core24.Text, { size: "xs", c: "dimmed", children: description }) : description : null,
1494
+ children,
1495
+ error ? typeof error === "string" ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_core24.Text, { size: "xs", c: "red.7", children: error }) : error : null
1496
+ ] }) });
1497
+ }
1498
+
1499
+ // src/MediaField.tsx
1500
+ var import_jsx_runtime26 = require("react/jsx-runtime");
1501
+ var stateLabels = {
1502
+ empty: { label: "Empty", color: "gray" },
1503
+ selected: { label: "Selected", color: "blue" },
1504
+ saved: { label: "Saved", color: "teal" },
1505
+ invalid: { label: "Needs attention", color: "red" },
1506
+ uploading: { label: "Uploading", color: "violet" }
1507
+ };
1508
+ function MediaField({
1509
+ label,
1510
+ description,
1511
+ value,
1512
+ preview,
1513
+ uploadControl,
1514
+ urlInput,
1515
+ helpText,
1516
+ policyText,
1517
+ error,
1518
+ retryAction,
1519
+ onRemove,
1520
+ onReset,
1521
+ removeAction,
1522
+ resetAction,
1523
+ statusAction,
1524
+ state = "empty",
1525
+ mode = "stacked"
1526
+ }) {
1527
+ const stateBadge = stateLabels[state];
1528
+ const resolvedRemoveAction = removeAction ?? (onRemove ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Button, { type: "button", variant: "light", color: "red", onClick: onRemove, children: "Remove" }) : null);
1529
+ const resolvedResetAction = resetAction ?? (onReset ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Button, { type: "button", variant: "default", onClick: onReset, children: "Reset" }) : null);
1530
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1531
+ FormField,
1532
+ {
1533
+ label,
1534
+ description,
1535
+ error,
1536
+ children: /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Paper, { withBorder: true, radius: "xl", p: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_core25.Stack, { gap: "md", children: [
1537
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Group, { justify: "flex-end", align: "center", gap: "sm", children: /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_core25.Group, { gap: "xs", justify: "flex-end", children: [
1538
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Badge, { variant: "light", color: stateBadge.color, children: stateBadge.label }),
1539
+ statusAction
1540
+ ] }) }),
1541
+ preview ? preview : null,
1542
+ uploadControl || urlInput ? /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_jsx_runtime26.Fragment, { children: [
1543
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Divider, {}),
1544
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_core25.Stack, { gap: "sm", style: mode === "split" ? { display: "grid", gridTemplateColumns: "repeat(auto-fit, minmax(220px, 1fr))" } : void 0, children: [
1545
+ uploadControl,
1546
+ urlInput
1547
+ ] })
1548
+ ] }) : null,
1549
+ value ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Text, { size: "sm", c: "dimmed", style: { wordBreak: "break-all" }, children: value }) : null,
1550
+ helpText ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Text, { size: "sm", c: "dimmed", children: helpText }) : null,
1551
+ policyText ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(import_core25.Text, { size: "sm", c: error ? "red.7" : "dimmed", children: policyText }) : null,
1552
+ typeof error !== "string" && error ? error : null,
1553
+ resolvedRemoveAction || resolvedResetAction ? /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_core25.Group, { gap: "sm", children: [
1554
+ resolvedResetAction,
1555
+ retryAction,
1556
+ resolvedRemoveAction
1557
+ ] }) : null
1558
+ ] }) })
1559
+ }
1560
+ );
1561
+ }
1562
+
1563
+ // src/MediaCard.tsx
1564
+ var import_core26 = require("@mantine/core");
1565
+ var import_jsx_runtime27 = require("react/jsx-runtime");
1566
+ function MediaCard({ title, image, description, status, overlay, actions = [] }) {
1567
+ const EyeIcon = GdsIcons.Eye;
1568
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_core26.Card, { withBorder: true, radius: "lg", padding: "md", children: [
1569
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_core26.Card.Section, { pos: "relative", children: [
1570
+ image,
1571
+ overlay ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { style: { position: "absolute", inset: 12, display: "flex", justifyContent: "flex-end", alignItems: "flex-start" }, children: overlay }) : null
1572
+ ] }),
1573
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_core26.Stack, { gap: "sm", mt: "md", children: [
1574
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_core26.Group, { justify: "space-between", align: "flex-start", children: [
1575
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(import_core26.Stack, { gap: 4, children: [
1576
+ /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_core26.Title, { order: 4, children: title }),
1577
+ description ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_core26.Text, { size: "sm", c: "dimmed", lineClamp: 2, children: description }) : null
1578
+ ] }),
1579
+ status ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_core26.Badge, { variant: "light", children: status }) : null
1580
+ ] }),
1581
+ actions.length ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_core26.Group, { justify: "flex-end", gap: "xs", children: actions.map((action) => /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(import_core26.ActionIcon, { variant: "light", "aria-label": action.label, onClick: action.onClick, children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(EyeIcon, { size: "1rem" }) }, action.label)) }) : null
1582
+ ] })
1583
+ ] });
1584
+ }
1585
+
1586
+ // src/AccessSummary.tsx
1587
+ var import_core27 = require("@mantine/core");
1588
+ var import_jsx_runtime28 = require("react/jsx-runtime");
1589
+ function AccessSummary({ title, roles, scope, blocked = false, description }) {
1590
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core27.Card, { withBorder: true, radius: "lg", padding: "lg", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_core27.Stack, { gap: "sm", children: [
1591
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_core27.Group, { justify: "space-between", align: "center", children: [
1592
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core27.Title, { order: 4, children: title }),
1593
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core27.Badge, { color: blocked ? "red" : "teal", variant: "light", children: blocked ? "Blocked" : "Allowed" })
1594
+ ] }),
1595
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core27.Group, { gap: "xs", children: roles.map((role) => /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core27.Badge, { variant: "outline", children: role }, role)) }),
1596
+ scope ? /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(import_core27.Text, { size: "sm", c: "dimmed", children: [
1597
+ "Scope: ",
1598
+ scope
1599
+ ] }) : null,
1600
+ description ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_core27.Text, { size: "sm", children: description }) : null
1601
+ ] }) });
1602
+ }
1603
+
1604
+ // src/PageHeader.tsx
1605
+ var import_core28 = require("@mantine/core");
1606
+ var import_jsx_runtime29 = require("react/jsx-runtime");
1607
+ function PageHeader({
1608
+ title,
1609
+ description,
1610
+ eyebrow,
1611
+ actions,
1612
+ eyebrowVariant = "neutral"
1613
+ }) {
1614
+ const eyebrowProps = eyebrowVariant === "ornamental" ? { tt: "uppercase", style: { letterSpacing: "0.12em" } } : {};
1615
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_core28.Group, { justify: "space-between", align: "flex-start", gap: "lg", wrap: "wrap", children: [
1616
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(import_core28.Stack, { gap: "xs", children: [
1617
+ eyebrow && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_core28.Text, { size: "xs", fw: 700, c: "dimmed", ...eyebrowProps, children: eyebrow }),
1618
+ /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_core28.Title, { order: 1, children: title }),
1619
+ description && /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_core28.Text, { c: "dimmed", maw: 720, children: description })
1620
+ ] }),
1621
+ actions ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_core28.Box, { children: actions }) : null
1622
+ ] });
1623
+ }
1624
+
1625
+ // src/FilterDrawer.tsx
1626
+ var import_core29 = require("@mantine/core");
1627
+ var import_jsx_runtime30 = require("react/jsx-runtime");
1628
+ function FilterDrawer({
1629
+ opened,
1630
+ onClose,
1631
+ title,
1632
+ description,
1633
+ children,
1634
+ mode = "side",
1635
+ applyAction,
1636
+ resetAction,
1637
+ closeAction,
1638
+ primaryAction,
1639
+ secondaryAction
1640
+ }) {
1641
+ const resolvedPrimaryAction = applyAction ?? primaryAction;
1642
+ const resolvedSecondaryAction = resetAction ?? secondaryAction;
1643
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
1644
+ import_core29.Drawer,
1645
+ {
1646
+ opened,
1647
+ onClose,
1648
+ title,
1649
+ position: mode === "bottom-sheet" ? "bottom" : "right",
1650
+ size: mode === "bottom-sheet" ? "auto" : "md",
1651
+ radius: mode === "bottom-sheet" ? "xl" : void 0,
1652
+ children: /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_core29.Stack, { gap: "md", children: [
1653
+ description ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)(import_core29.Text, { size: "sm", c: "dimmed", children: description }) : null,
1654
+ children,
1655
+ resolvedPrimaryAction || resolvedSecondaryAction || closeAction ? /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_core29.Group, { justify: "space-between", mt: "md", children: [
1656
+ /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(import_core29.Group, { gap: "sm", children: [
1657
+ closeAction,
1658
+ resolvedSecondaryAction
1659
+ ] }),
1660
+ resolvedPrimaryAction
1661
+ ] }) : null
1662
+ ] })
1663
+ }
1664
+ );
1665
+ }
1666
+
1667
+ // src/PlaceholderPanel.tsx
1668
+ var import_core30 = require("@mantine/core");
1669
+ var import_jsx_runtime31 = require("react/jsx-runtime");
1670
+ function PlaceholderPanel({
1671
+ title,
1672
+ description,
1673
+ badge,
1674
+ footer,
1675
+ children,
1676
+ mode
1677
+ }) {
1678
+ if (mode === "live" && children) {
1679
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_jsx_runtime31.Fragment, { children });
1680
+ }
1681
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_core30.Card, { children: /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_core30.Stack, { gap: "md", children: [
1682
+ badge ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_core30.Badge, { variant: "light", color: "blue", w: "fit-content", children: badge }) : null,
1683
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)(import_core30.Stack, { gap: "xs", children: [
1684
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_core30.Title, { order: 4, children: title }),
1685
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_core30.Text, { c: "dimmed", children: description })
1686
+ ] }),
1687
+ footer ? /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(import_core30.Text, { size: "sm", children: footer }) : null,
1688
+ /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1689
+ StateBlock,
1690
+ {
1691
+ variant: "not-enough-data",
1692
+ title: "Content is not live yet",
1693
+ description: "This surface is intentionally showing a governed placeholder until live data is available.",
1694
+ compact: true
1695
+ }
1696
+ )
1697
+ ] }) });
1698
+ }
1699
+
1700
+ // src/SimpleDataTable.tsx
1701
+ var import_core31 = require("@mantine/core");
1702
+ var import_jsx_runtime32 = require("react/jsx-runtime");
1703
+ function SimpleDataTable({
1704
+ columns,
1705
+ rows,
1706
+ loading = false,
1707
+ error = null,
1708
+ emptyTitle = "No data available",
1709
+ emptyDescription = "There is no live data to show yet.",
1710
+ getRowKey
1711
+ }) {
1712
+ if (error) {
1713
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(StateBlock, { variant: "error", title: "Unable to load data", description: error, compact: true });
1714
+ }
1715
+ if (loading) {
1716
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(StateBlock, { variant: "loading", title: "Loading data", description: "Please wait while the shared dataset is prepared.", compact: true });
1717
+ }
1718
+ if (!rows.length) {
1719
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(StateBlock, { variant: "empty", title: emptyTitle, description: emptyDescription, compact: true });
1720
+ }
1721
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core31.ScrollArea, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsxs)(import_core31.Table, { striped: true, highlightOnHover: true, withTableBorder: true, withColumnBorders: true, children: [
1722
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core31.Table.Thead, { children: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core31.Table.Tr, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core31.Table.Th, { children: column.header }, String(column.key))) }) }),
1723
+ /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core31.Table.Tbody, { children: rows.map((row, index) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core31.Table.Tr, { children: columns.map((column) => /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_core31.Table.Td, { children: column.render ? column.render(row) : String(row[column.key] ?? "") }, String(column.key))) }, getRowKey ? getRowKey(row, index) : index)) })
1724
+ ] }) });
1725
+ }
1726
+
1727
+ // src/StatsSection.tsx
1728
+ var import_core32 = require("@mantine/core");
1729
+ var import_jsx_runtime33 = require("react/jsx-runtime");
1730
+ function StatsSection({
1731
+ title,
1732
+ loading = false,
1733
+ error = null,
1734
+ belowThreshold = false,
1735
+ thresholdMessage,
1736
+ children,
1737
+ placeholder
1738
+ }) {
1739
+ let content = children;
1740
+ if (error) {
1741
+ content = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StateBlock, { variant: "error", title: "Unable to load statistics", description: error, compact: true });
1742
+ } else if (loading) {
1743
+ content = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(StateBlock, { variant: "loading", title: "Loading statistics", description: "This shared data surface is still synchronizing.", compact: true });
1744
+ } else if (belowThreshold) {
1745
+ content = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1746
+ StateBlock,
1747
+ {
1748
+ variant: "not-enough-data",
1749
+ title: "Not enough data yet",
1750
+ description: thresholdMessage ?? "This view is hidden until the reporting threshold is met.",
1751
+ compact: true
1752
+ }
1753
+ );
1754
+ } else if (placeholder) {
1755
+ content = /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(PlaceholderPanel, { ...placeholder, mode: "placeholder" });
1756
+ }
1757
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsxs)(import_core32.Stack, { gap: "md", children: [
1758
+ /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_core32.Title, { order: 3, children: title }),
1759
+ content
1760
+ ] });
1761
+ }
1762
+
1763
+ // src/locales/ar.ts
1764
+ var ar = {
1765
+ "gds.action.settings": "\u0627\u0644\u0625\u0639\u062F\u0627\u062F\u0627\u062A",
1766
+ "gds.action.analytics": "\u062A\u062D\u0644\u064A\u0644\u0627\u062A",
1767
+ "gds.action.dashboard": "\u0644\u0648\u062D\u0629 \u0627\u0644\u0642\u064A\u0627\u062F\u0629",
1768
+ "gds.action.play": "\u062A\u0634\u063A\u064A\u0644",
1769
+ "gds.action.start": "\u0628\u062F\u0621",
1770
+ "gds.action.users": "\u0627\u0644\u0645\u0633\u062A\u062E\u062F\u0645\u064A\u0646",
1771
+ "gds.action.add": "\u0625\u0636\u0627\u0641\u0629",
1772
+ "gds.action.edit": "\u062A\u0639\u062F\u064A\u0644",
1773
+ "gds.action.delete": "\u062D\u0630\u0641",
1774
+ "gds.action.save": "\u062D\u0641\u0638",
1775
+ "gds.action.cancel": "\u0625\u0644\u063A\u0627\u0621",
1776
+ "gds.action.confirm": "\u062A\u0623\u0643\u064A\u062F",
1777
+ "gds.action.close": "\u0625\u063A\u0644\u0627\u0642",
1778
+ "gds.action.language": "\u0627\u0644\u0644\u063A\u0629",
1779
+ "gds.action.theme": "\u0627\u0644\u0633\u0645\u0629",
1780
+ "gds.action.home": "\u0627\u0644\u0631\u0626\u064A\u0633\u064A\u0629",
1781
+ "gds.action.inbox": "\u0635\u0646\u062F\u0648\u0642 \u0627\u0644\u0648\u0627\u0631\u062F",
1782
+ "gds.action.calendar": "\u0627\u0644\u062A\u0642\u0648\u064A\u0645",
1783
+ "gds.action.gallery": "\u0627\u0644\u0645\u0639\u0631\u0636",
1784
+ "gds.action.history": "\u0627\u0644\u0633\u062C\u0644",
1785
+ "gds.action.profile": "\u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0634\u062E\u0635\u064A",
1786
+ "gds.action.send": "\u0625\u0631\u0633\u0627\u0644",
1787
+ "gds.action.reply": "\u0631\u062F",
1788
+ "gds.action.forward": "\u0625\u0639\u0627\u062F\u0629 \u062A\u0648\u062C\u064A\u0647",
1789
+ "gds.action.attach": "\u0625\u0631\u0641\u0627\u0642",
1790
+ "gds.action.upload": "\u0631\u0641\u0639",
1791
+ "gds.action.download": "\u062A\u0646\u0632\u064A\u0644",
1792
+ "gds.action.print": "\u0637\u0628\u0627\u0639\u0629",
1793
+ "gds.action.copy": "\u0646\u0633\u062E",
1794
+ "gds.action.duplicate": "\u062A\u0643\u0631\u0627\u0631",
1795
+ "gds.action.check": "\u062A\u062D\u062F\u064A\u062F",
1796
+ "gds.action.uncheck": "\u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u062D\u062F\u064A\u062F",
1797
+ "gds.action.complete": "\u0627\u0643\u062A\u0645\u0627\u0644",
1798
+ "gds.action.clear": "\u0645\u0633\u062D",
1799
+ "gds.action.capture": "\u0627\u0644\u062A\u0642\u0627\u0637",
1800
+ "gds.action.record": "\u062A\u0633\u062C\u064A\u0644",
1801
+ "gds.action.flip": "\u0642\u0644\u0628",
1802
+ "gds.action.flash": "\u0641\u0644\u0627\u0634",
1803
+ "gds.action.course": "\u062F\u0648\u0631\u0629",
1804
+ "gds.action.lesson": "\u062F\u0631\u0633",
1805
+ "gds.action.certificate": "\u0634\u0647\u0627\u062F\u0629",
1806
+ "gds.action.student": "\u0637\u0627\u0644\u0628",
1807
+ "gds.action.class": "\u0641\u0635\u0644",
1808
+ "gds.action.grade": "\u062F\u0631\u062C\u0629",
1809
+ "gds.action.child": "\u0637\u0641\u0644",
1810
+ "gds.action.family": "\u0639\u0627\u0626\u0644\u0629",
1811
+ "gds.action.habit": "\u0639\u0627\u062F\u0629",
1812
+ "gds.action.goal": "\u0647\u062F\u0641",
1813
+ "gds.action.streak": "\u0633\u0644\u0633\u0644\u0629",
1814
+ "gds.action.reward": "\u0645\u0643\u0627\u0641\u0623\u0629",
1815
+ "gds.action.trophy": "\u0643\u0623\u0633",
1816
+ "gds.action.crown": "\u062A\u0627\u062C",
1817
+ "gds.action.pause": "\u0625\u064A\u0642\u0627\u0641 \u0645\u0624\u0642\u062A",
1818
+ "gds.action.message": "\u0631\u0633\u0627\u0644\u0629",
1819
+ "gds.action.mail": "\u0628\u0631\u064A\u062F",
1820
+ "gds.action.refresh": "\u062A\u062D\u062F\u064A\u062B",
1821
+ "gds.action.trendingUp": "\u0627\u062A\u062C\u0627\u0647 \u0635\u0627\u0639\u062F",
1822
+ "gds.action.trendingDown": "\u0627\u062A\u062C\u0627\u0647 \u0647\u0627\u0628\u0637",
1823
+ "gds.action.currency": "\u0639\u0645\u0644\u0629",
1824
+ "gds.action.grid": "\u0634\u0628\u0643\u0629",
1825
+ "gds.action.list": "\u0642\u0627\u0626\u0645\u0629",
1826
+ "gds.action.logout": "\u062A\u0633\u062C\u064A\u0644 \u062E\u0631\u0648\u062C",
1827
+ "gds.action.notifications": "\u0625\u0634\u0639\u0627\u0631\u0627\u062A",
1828
+ "gds.action.back": "\u0631\u062C\u0648\u0639",
1829
+ "gds.action.eye": "\u0639\u0631\u0636",
1830
+ "gds.action.eyeOff": "\u0625\u062E\u0641\u0627\u0621",
1831
+ "gds.action.help": "\u0645\u0633\u0627\u0639\u062F\u0629",
1832
+ "gds.action.filter": "\u062A\u0635\u0641\u064A\u0629",
1833
+ "gds.action.sort": "\u0641\u0631\u0632",
1834
+ "gds.action.export": "\u062A\u0635\u062F\u064A\u0631",
1835
+ "gds.action.import": "\u0627\u0633\u062A\u064A\u0631\u0627\u062F",
1836
+ "gds.action.preview": "\u0645\u0639\u0627\u064A\u0646\u0629",
1837
+ "gds.action.clone": "\u0627\u0633\u062A\u0646\u0633\u0627\u062E",
1838
+ "gds.action.restore": "\u0627\u0633\u062A\u0639\u0627\u062F\u0629",
1839
+ "gds.action.toggle": "\u062A\u0628\u062F\u064A\u0644",
1840
+ "gds.action.search": "\u0628\u062D\u062B",
1841
+ "gds.action.submit": "\u0625\u0631\u0633\u0627\u0644",
1842
+ "gds.action.reset": "\u0625\u0639\u0627\u062F\u0629 \u0636\u0628\u0637",
1843
+ "gds.action.login": "\u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
1844
+ "gds.action.register": "\u062A\u0633\u062C\u064A\u0644",
1845
+ "gds.action.verify": "\u062A\u062D\u0642\u0642",
1846
+ "gds.action.launch": "\u0625\u0637\u0644\u0627\u0642",
1847
+ "gds.action.draft": "\u0645\u0633\u0648\u062F\u0629",
1848
+ "gds.action.refer": "\u0625\u062D\u0627\u0644\u0629",
1849
+ "gds.action.evidence": "\u062F\u0644\u064A\u0644",
1850
+ "gds.feedback.saved": "\u062A\u0645 \u0627\u0644\u062D\u0641\u0638",
1851
+ "gds.feedback.error": "\u062D\u062F\u062B \u062E\u0637\u0623 \u0645\u0627",
1852
+ "gds.feedback.added": "\u062A\u0645\u062A \u0627\u0644\u0625\u0636\u0627\u0641\u0629",
1853
+ "gds.feedback.edited": "\u062A\u0645 \u0627\u0644\u062A\u0639\u062F\u064A\u0644",
1854
+ "gds.feedback.deleted": "\u062A\u0645 \u0627\u0644\u062D\u0630\u0641",
1855
+ "gds.feedback.canceled": "\u062A\u0645 \u0627\u0644\u0625\u0644\u063A\u0627\u0621",
1856
+ "gds.feedback.confirmed": "\u062A\u0645 \u0627\u0644\u062A\u0623\u0643\u064A\u062F",
1857
+ "gds.feedback.closed": "\u062A\u0645 \u0627\u0644\u0625\u063A\u0644\u0627\u0642",
1858
+ "gds.feedback.changed": "\u062A\u0645 \u0627\u0644\u062A\u063A\u064A\u064A\u0631",
1859
+ "gds.feedback.loaded": "\u062A\u0645 \u0627\u0644\u062A\u062D\u0645\u064A\u0644",
1860
+ "gds.feedback.started": "\u062A\u0645 \u0627\u0644\u0628\u062F\u0621",
1861
+ "gds.feedback.opened": "\u062A\u0645 \u0627\u0644\u0641\u062A\u062D",
1862
+ "gds.feedback.sent": "\u062A\u0645 \u0627\u0644\u0625\u0631\u0633\u0627\u0644",
1863
+ "gds.feedback.replied": "\u062A\u0645 \u0627\u0644\u0631\u062F",
1864
+ "gds.feedback.forwarded": "\u062A\u0645\u062A \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u062A\u0648\u062C\u064A\u0647",
1865
+ "gds.feedback.attached": "\u062A\u0645 \u0627\u0644\u0625\u0631\u0641\u0627\u0642",
1866
+ "gds.feedback.uploaded": "\u062A\u0645 \u0627\u0644\u0631\u0641\u0639",
1867
+ "gds.feedback.downloaded": "\u062A\u0645 \u0627\u0644\u062A\u0646\u0632\u064A\u0644",
1868
+ "gds.feedback.printed": "\u062A\u0645\u062A \u0627\u0644\u0637\u0628\u0627\u0639\u0629",
1869
+ "gds.feedback.copied": "\u062A\u0645 \u0627\u0644\u0646\u0633\u062E",
1870
+ "gds.feedback.duplicated": "\u062A\u0645 \u0627\u0644\u062A\u0643\u0631\u0627\u0631",
1871
+ "gds.feedback.checked": "\u062A\u0645 \u0627\u0644\u062A\u062D\u062F\u064A\u062F",
1872
+ "gds.feedback.unchecked": "\u062A\u0645 \u0625\u0644\u063A\u0627\u0621 \u0627\u0644\u062A\u062D\u062F\u064A\u062F",
1873
+ "gds.feedback.completed": "\u062A\u0645 \u0627\u0644\u0627\u0643\u062A\u0645\u0627\u0644",
1874
+ "gds.feedback.cleared": "\u062A\u0645 \u0627\u0644\u0645\u0633\u062D",
1875
+ "gds.feedback.captured": "\u062A\u0645 \u0627\u0644\u0627\u0644\u062A\u0642\u0627\u0637",
1876
+ "gds.feedback.recorded": "\u062A\u0645 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",
1877
+ "gds.feedback.flipped": "\u062A\u0645 \u0627\u0644\u0642\u0644\u0628",
1878
+ "gds.feedback.flashed": "\u062A\u0645 \u062A\u0634\u063A\u064A\u0644 \u0627\u0644\u0641\u0644\u0627\u0634",
1879
+ "gds.feedback.done": "\u062A\u0645",
1880
+ "gds.feedback.rewarded": "\u062A\u0645\u062A \u0627\u0644\u0645\u0643\u0627\u0641\u0623\u0629",
1881
+ "gds.feedback.paused": "\u062A\u0645 \u0627\u0644\u0625\u064A\u0642\u0627\u0641 \u0627\u0644\u0645\u0624\u0642\u062A",
1882
+ "gds.feedback.mailed": "\u062A\u0645 \u0627\u0644\u0625\u0631\u0633\u0627\u0644 \u0628\u0627\u0644\u0628\u0631\u064A\u062F",
1883
+ "gds.feedback.refreshed": "\u062A\u0645 \u0627\u0644\u062A\u062D\u062F\u064A\u062B",
1884
+ "gds.feedback.loggedOut": "\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062E\u0631\u0648\u062C",
1885
+ "gds.feedback.filtered": "\u062A\u0645\u062A \u0627\u0644\u062A\u0635\u0641\u064A\u0629",
1886
+ "gds.feedback.sorted": "\u062A\u0645 \u0627\u0644\u0641\u0631\u0632",
1887
+ "gds.feedback.exported": "\u062A\u0645 \u0627\u0644\u062A\u0635\u062F\u064A\u0631",
1888
+ "gds.feedback.imported": "\u062A\u0645 \u0627\u0644\u0627\u0633\u062A\u064A\u0631\u0627\u062F",
1889
+ "gds.feedback.previewed": "\u062A\u0645\u062A \u0627\u0644\u0645\u0639\u0627\u064A\u0646\u0629",
1890
+ "gds.feedback.cloned": "\u062A\u0645 \u0627\u0644\u0627\u0633\u062A\u0646\u0633\u0627\u062E",
1891
+ "gds.feedback.restored": "\u062A\u0645\u062A \u0627\u0644\u0627\u0633\u062A\u0639\u0627\u062F\u0629",
1892
+ "gds.feedback.toggled": "\u062A\u0645 \u0627\u0644\u062A\u0628\u062F\u064A\u0644",
1893
+ "gds.feedback.searched": "\u062A\u0645 \u0627\u0644\u0628\u062D\u062B",
1894
+ "gds.feedback.submitted": "\u062A\u0645 \u0627\u0644\u0625\u0631\u0633\u0627\u0644",
1895
+ "gds.feedback.reset": "\u062A\u0645\u062A \u0625\u0639\u0627\u062F\u0629 \u0627\u0644\u0636\u0628\u0637",
1896
+ "gds.feedback.loggedIn": "\u062A\u0645 \u062A\u0633\u062C\u064A\u0644 \u0627\u0644\u062F\u062E\u0648\u0644",
1897
+ "gds.feedback.registered": "\u062A\u0645 \u0627\u0644\u062A\u0633\u062C\u064A\u0644",
1898
+ "gds.feedback.verified": "\u062A\u0645 \u0627\u0644\u062A\u062D\u0642\u0642",
1899
+ "gds.feedback.launched": "\u062A\u0645 \u0627\u0644\u0625\u0637\u0644\u0627\u0642",
1900
+ "gds.feedback.drafted": "\u062A\u0645 \u062D\u0641\u0638 \u0627\u0644\u0645\u0633\u0648\u062F\u0629",
1901
+ "gds.feedback.referred": "\u062A\u0645\u062A \u0627\u0644\u0625\u062D\u0627\u0644\u0629",
1902
+ "gds.aria.themeToggle": "\u062A\u0628\u062F\u064A\u0644 \u0646\u0638\u0627\u0645 \u0627\u0644\u0623\u0644\u0648\u0627\u0646",
1903
+ "gds.state.emptyData": "\u0644\u0627 \u062A\u0648\u062C\u062F \u0628\u064A\u0627\u0646\u0627\u062A \u0645\u062A\u0627\u062D\u0629."
1904
+ };
1905
+
1906
+ // src/locales/de.ts
1907
+ var de = {
1908
+ "gds.action.settings": "Einstellungen",
1909
+ "gds.action.analytics": "Analyse",
1910
+ "gds.action.dashboard": "Dashboard",
1911
+ "gds.action.play": "Abspielen",
1912
+ "gds.action.start": "Start",
1913
+ "gds.action.users": "Benutzer",
1914
+ "gds.action.add": "Hinzuf\xFCgen",
1915
+ "gds.action.edit": "Bearbeiten",
1916
+ "gds.action.delete": "L\xF6schen",
1917
+ "gds.action.save": "Speichern",
1918
+ "gds.action.cancel": "Abbrechen",
1919
+ "gds.action.confirm": "Best\xE4tigen",
1920
+ "gds.action.close": "Schlie\xDFen",
1921
+ "gds.action.language": "Sprache",
1922
+ "gds.action.theme": "Thema",
1923
+ "gds.action.home": "Startseite",
1924
+ "gds.action.inbox": "Posteingang",
1925
+ "gds.action.calendar": "Kalender",
1926
+ "gds.action.gallery": "Galerie",
1927
+ "gds.action.history": "Verlauf",
1928
+ "gds.action.profile": "Profil",
1929
+ "gds.action.send": "Senden",
1930
+ "gds.action.reply": "Antworten",
1931
+ "gds.action.forward": "Weiterleiten",
1932
+ "gds.action.attach": "Anh\xE4ngen",
1933
+ "gds.action.upload": "Hochladen",
1934
+ "gds.action.download": "Herunterladen",
1935
+ "gds.action.print": "Drucken",
1936
+ "gds.action.copy": "Kopieren",
1937
+ "gds.action.duplicate": "Duplizieren",
1938
+ "gds.action.check": "\xDCberpr\xFCfen",
1939
+ "gds.action.uncheck": "H\xE4kchen entfernen",
1940
+ "gds.action.complete": "Abschlie\xDFen",
1941
+ "gds.action.clear": "Leeren",
1942
+ "gds.action.capture": "Aufnehmen",
1943
+ "gds.action.record": "Aufzeichnen",
1944
+ "gds.action.flip": "Umdrehen",
1945
+ "gds.action.flash": "Blitz",
1946
+ "gds.action.course": "Kurs",
1947
+ "gds.action.lesson": "Lektion",
1948
+ "gds.action.certificate": "Zertifikat",
1949
+ "gds.action.student": "Student",
1950
+ "gds.action.class": "Klasse",
1951
+ "gds.action.grade": "Note",
1952
+ "gds.action.child": "Kind",
1953
+ "gds.action.family": "Familie",
1954
+ "gds.action.habit": "Gewohnheit",
1955
+ "gds.action.goal": "Ziel",
1956
+ "gds.action.streak": "Serie",
1957
+ "gds.action.reward": "Belohnung",
1958
+ "gds.action.trophy": "Troph\xE4e",
1959
+ "gds.action.crown": "Krone",
1960
+ "gds.action.pause": "Pause",
1961
+ "gds.action.message": "Nachricht",
1962
+ "gds.action.mail": "E-Mail",
1963
+ "gds.action.refresh": "Aktualisieren",
1964
+ "gds.action.trendingUp": "Aufw\xE4rtstrend",
1965
+ "gds.action.trendingDown": "Abw\xE4rtstrend",
1966
+ "gds.action.currency": "W\xE4hrung",
1967
+ "gds.action.grid": "Raster",
1968
+ "gds.action.list": "Liste",
1969
+ "gds.action.logout": "Abmelden",
1970
+ "gds.action.notifications": "Benachrichtigungen",
1971
+ "gds.action.back": "Zur\xFCck",
1972
+ "gds.action.eye": "Anzeigen",
1973
+ "gds.action.eyeOff": "Ausblenden",
1974
+ "gds.action.help": "Hilfe",
1975
+ "gds.action.filter": "Filter",
1976
+ "gds.action.sort": "Sortieren",
1977
+ "gds.action.export": "Exportieren",
1978
+ "gds.action.import": "Importieren",
1979
+ "gds.action.preview": "Vorschau",
1980
+ "gds.action.clone": "Klonen",
1981
+ "gds.action.restore": "Wiederherstellen",
1982
+ "gds.action.toggle": "Umschalten",
1983
+ "gds.action.search": "Suchen",
1984
+ "gds.action.submit": "Absenden",
1985
+ "gds.action.reset": "Zur\xFCcksetzen",
1986
+ "gds.action.login": "Einloggen",
1987
+ "gds.action.register": "Registrieren",
1988
+ "gds.action.verify": "Verifizieren",
1989
+ "gds.action.launch": "Starten",
1990
+ "gds.action.draft": "Entwurf",
1991
+ "gds.action.refer": "Empfehlen",
1992
+ "gds.action.evidence": "Beweismittel",
1993
+ "gds.feedback.saved": "Gespeichert",
1994
+ "gds.feedback.error": "Etwas ist schiefgelaufen",
1995
+ "gds.feedback.added": "Hinzugef\xFCgt",
1996
+ "gds.feedback.edited": "Bearbeitet",
1997
+ "gds.feedback.deleted": "Gel\xF6scht",
1998
+ "gds.feedback.canceled": "Abgebrochen",
1999
+ "gds.feedback.confirmed": "Best\xE4tigt",
2000
+ "gds.feedback.closed": "Geschlossen",
2001
+ "gds.feedback.changed": "Ge\xE4ndert",
2002
+ "gds.feedback.loaded": "Geladen",
2003
+ "gds.feedback.started": "Gestartet",
2004
+ "gds.feedback.opened": "Ge\xF6ffnet",
2005
+ "gds.feedback.sent": "Gesendet",
2006
+ "gds.feedback.replied": "Geantwortet",
2007
+ "gds.feedback.forwarded": "Weitergeleitet",
2008
+ "gds.feedback.attached": "Angeh\xE4ngt",
2009
+ "gds.feedback.uploaded": "Hochgeladen",
2010
+ "gds.feedback.downloaded": "Heruntergeladen",
2011
+ "gds.feedback.printed": "Gedruckt",
2012
+ "gds.feedback.copied": "Kopiert",
2013
+ "gds.feedback.duplicated": "Dupliziert",
2014
+ "gds.feedback.checked": "Ausgew\xE4hlt",
2015
+ "gds.feedback.unchecked": "H\xE4kchen entfernt",
2016
+ "gds.feedback.completed": "Abgeschlossen",
2017
+ "gds.feedback.cleared": "Geleert",
2018
+ "gds.feedback.captured": "Erfasst",
2019
+ "gds.feedback.recorded": "Aufgezeichnet",
2020
+ "gds.feedback.flipped": "Umdreht",
2021
+ "gds.feedback.flashed": "Geblitzt",
2022
+ "gds.feedback.done": "Erledigt",
2023
+ "gds.feedback.rewarded": "Belohnt",
2024
+ "gds.feedback.paused": "Pausiert",
2025
+ "gds.feedback.mailed": "Gemailt",
2026
+ "gds.feedback.refreshed": "Aktualisiert",
2027
+ "gds.feedback.loggedOut": "Abgemeldet",
2028
+ "gds.feedback.filtered": "Gefiltert",
2029
+ "gds.feedback.sorted": "Sortiert",
2030
+ "gds.feedback.exported": "Exportiert",
2031
+ "gds.feedback.imported": "Importiert",
2032
+ "gds.feedback.previewed": "Angezeigt",
2033
+ "gds.feedback.cloned": "Kloniert",
2034
+ "gds.feedback.restored": "Wiederhergestellt",
2035
+ "gds.feedback.toggled": "Umgeschaltet",
2036
+ "gds.feedback.searched": "Gesucht",
2037
+ "gds.feedback.submitted": "Abgesendet",
2038
+ "gds.feedback.reset": "Zur\xFCckgesetzt",
2039
+ "gds.feedback.loggedIn": "Eingeloggt",
2040
+ "gds.feedback.registered": "Registriert",
2041
+ "gds.feedback.verified": "Verifiziert",
2042
+ "gds.feedback.launched": "Gestartet",
2043
+ "gds.feedback.drafted": "Entworfen",
2044
+ "gds.feedback.referred": "Empfohlen",
2045
+ "gds.aria.themeToggle": "Farbschema umschalten",
2046
+ "gds.state.emptyData": "Keine Daten verf\xFCgbar."
2047
+ };
2048
+
2049
+ // src/locales/en.ts
2050
+ var en = {
2051
+ "gds.action.settings": "Settings",
2052
+ "gds.action.analytics": "Analytics",
2053
+ "gds.action.dashboard": "Dashboard",
2054
+ "gds.action.play": "Play",
2055
+ "gds.action.start": "Start",
2056
+ "gds.action.users": "Users",
2057
+ "gds.action.add": "Add",
2058
+ "gds.action.edit": "Edit",
2059
+ "gds.action.delete": "Delete",
2060
+ "gds.action.save": "Save",
2061
+ "gds.action.cancel": "Cancel",
2062
+ "gds.action.confirm": "Confirm",
2063
+ "gds.action.close": "Close",
2064
+ "gds.action.language": "Language",
2065
+ "gds.action.theme": "Theme",
2066
+ "gds.action.home": "Home",
2067
+ "gds.action.inbox": "Inbox",
2068
+ "gds.action.calendar": "Calendar",
2069
+ "gds.action.gallery": "Gallery",
2070
+ "gds.action.history": "History",
2071
+ "gds.action.profile": "Profile",
2072
+ "gds.action.send": "Send",
2073
+ "gds.action.reply": "Reply",
2074
+ "gds.action.forward": "Forward",
2075
+ "gds.action.attach": "Attach",
2076
+ "gds.action.upload": "Upload",
2077
+ "gds.action.download": "Download",
2078
+ "gds.action.print": "Print",
2079
+ "gds.action.copy": "Copy",
2080
+ "gds.action.duplicate": "Duplicate",
2081
+ "gds.action.check": "Check",
2082
+ "gds.action.uncheck": "Uncheck",
2083
+ "gds.action.complete": "Complete",
2084
+ "gds.action.clear": "Clear",
2085
+ "gds.action.capture": "Capture",
2086
+ "gds.action.record": "Record",
2087
+ "gds.action.flip": "Flip",
2088
+ "gds.action.flash": "Flash",
2089
+ "gds.action.course": "Course",
2090
+ "gds.action.lesson": "Lesson",
2091
+ "gds.action.certificate": "Certificate",
2092
+ "gds.action.student": "Student",
2093
+ "gds.action.class": "Class",
2094
+ "gds.action.grade": "Grade",
2095
+ "gds.action.child": "Child",
2096
+ "gds.action.family": "Family",
2097
+ "gds.action.habit": "Habit",
2098
+ "gds.action.goal": "Goal",
2099
+ "gds.action.streak": "Streak",
2100
+ "gds.action.reward": "Reward",
2101
+ "gds.action.trophy": "Trophy",
2102
+ "gds.action.crown": "Crown",
2103
+ "gds.action.pause": "Pause",
2104
+ "gds.action.message": "Message",
2105
+ "gds.action.mail": "Mail",
2106
+ "gds.action.refresh": "Refresh",
2107
+ "gds.action.trendingUp": "Trending Up",
2108
+ "gds.action.trendingDown": "Trending Down",
2109
+ "gds.action.currency": "Currency",
2110
+ "gds.action.grid": "Grid",
2111
+ "gds.action.list": "List",
2112
+ "gds.action.logout": "Logout",
2113
+ "gds.action.notifications": "Notifications",
2114
+ "gds.action.back": "Back",
2115
+ "gds.action.eye": "View",
2116
+ "gds.action.eyeOff": "Hide",
2117
+ "gds.action.help": "Help",
2118
+ "gds.action.filter": "Filter",
2119
+ "gds.action.sort": "Sort",
2120
+ "gds.action.export": "Export",
2121
+ "gds.action.import": "Import",
2122
+ "gds.action.preview": "Preview",
2123
+ "gds.action.clone": "Clone",
2124
+ "gds.action.restore": "Restore",
2125
+ "gds.action.toggle": "Toggle",
2126
+ "gds.action.search": "Search",
2127
+ "gds.action.submit": "Submit",
2128
+ "gds.action.reset": "Reset",
2129
+ "gds.action.login": "Login",
2130
+ "gds.action.register": "Register",
2131
+ "gds.action.verify": "Verify",
2132
+ "gds.action.launch": "Launch",
2133
+ "gds.action.draft": "Draft",
2134
+ "gds.action.refer": "Refer",
2135
+ "gds.action.evidence": "Evidence",
2136
+ "gds.feedback.saved": "Saved",
2137
+ "gds.feedback.error": "Something went wrong",
2138
+ "gds.feedback.added": "Added",
2139
+ "gds.feedback.edited": "Edited",
2140
+ "gds.feedback.deleted": "Deleted",
2141
+ "gds.feedback.canceled": "Canceled",
2142
+ "gds.feedback.confirmed": "Confirmed",
2143
+ "gds.feedback.closed": "Closed",
2144
+ "gds.feedback.changed": "Changed",
2145
+ "gds.feedback.loaded": "Loaded",
2146
+ "gds.feedback.started": "Started",
2147
+ "gds.feedback.opened": "Opened",
2148
+ "gds.feedback.sent": "Sent",
2149
+ "gds.feedback.replied": "Replied",
2150
+ "gds.feedback.forwarded": "Forwarded",
2151
+ "gds.feedback.attached": "Attached",
2152
+ "gds.feedback.uploaded": "Uploaded",
2153
+ "gds.feedback.downloaded": "Downloaded",
2154
+ "gds.feedback.printed": "Printed",
2155
+ "gds.feedback.copied": "Copied",
2156
+ "gds.feedback.duplicated": "Duplicated",
2157
+ "gds.feedback.checked": "Checked",
2158
+ "gds.feedback.unchecked": "Unchecked",
2159
+ "gds.feedback.completed": "Completed",
2160
+ "gds.feedback.cleared": "Cleared",
2161
+ "gds.feedback.captured": "Captured",
2162
+ "gds.feedback.recorded": "Recorded",
2163
+ "gds.feedback.flipped": "Flipped",
2164
+ "gds.feedback.flashed": "Flashed",
2165
+ "gds.feedback.done": "Done",
2166
+ "gds.feedback.rewarded": "Rewarded",
2167
+ "gds.feedback.paused": "Paused",
2168
+ "gds.feedback.mailed": "Mailed",
2169
+ "gds.feedback.refreshed": "Refreshed",
2170
+ "gds.feedback.loggedOut": "Logged Out",
2171
+ "gds.feedback.filtered": "Filtered",
2172
+ "gds.feedback.sorted": "Sorted",
2173
+ "gds.feedback.exported": "Exported",
2174
+ "gds.feedback.imported": "Imported",
2175
+ "gds.feedback.previewed": "Previewed",
2176
+ "gds.feedback.cloned": "Cloned",
2177
+ "gds.feedback.restored": "Restored",
2178
+ "gds.feedback.toggled": "Toggled",
2179
+ "gds.feedback.searched": "Searched",
2180
+ "gds.feedback.submitted": "Submitted",
2181
+ "gds.feedback.reset": "Reset",
2182
+ "gds.feedback.loggedIn": "Logged In",
2183
+ "gds.feedback.registered": "Registered",
2184
+ "gds.feedback.verified": "Verified",
2185
+ "gds.feedback.launched": "Launched",
2186
+ "gds.feedback.drafted": "Drafted",
2187
+ "gds.feedback.referred": "Referred",
2188
+ "gds.aria.themeToggle": "Toggle color scheme",
2189
+ "gds.state.emptyData": "No data available."
2190
+ };
2191
+
2192
+ // src/locales/es.ts
2193
+ var es = {
2194
+ "gds.action.settings": "Configuraci\xF3n",
2195
+ "gds.action.analytics": "Anal\xEDtica",
2196
+ "gds.action.dashboard": "Panel",
2197
+ "gds.action.play": "Reproducir",
2198
+ "gds.action.start": "Iniciar",
2199
+ "gds.action.users": "Usuarios",
2200
+ "gds.action.add": "A\xF1adir",
2201
+ "gds.action.edit": "Editar",
2202
+ "gds.action.delete": "Eliminar",
2203
+ "gds.action.save": "Guardar",
2204
+ "gds.action.cancel": "Cancelar",
2205
+ "gds.action.confirm": "Confirmar",
2206
+ "gds.action.close": "Cerrar",
2207
+ "gds.action.language": "Idioma",
2208
+ "gds.action.theme": "Tema",
2209
+ "gds.action.home": "Inicio",
2210
+ "gds.action.inbox": "Bandeja de entrada",
2211
+ "gds.action.calendar": "Calendario",
2212
+ "gds.action.gallery": "Galer\xEDa",
2213
+ "gds.action.history": "Historial",
2214
+ "gds.action.profile": "Perfil",
2215
+ "gds.action.send": "Enviar",
2216
+ "gds.action.reply": "Responder",
2217
+ "gds.action.forward": "Reenviar",
2218
+ "gds.action.attach": "Adjuntar",
2219
+ "gds.action.upload": "Subir",
2220
+ "gds.action.download": "Descargar",
2221
+ "gds.action.print": "Imprimir",
2222
+ "gds.action.copy": "Copiar",
2223
+ "gds.action.duplicate": "Duplicar",
2224
+ "gds.action.check": "Marcar",
2225
+ "gds.action.uncheck": "Desmarcar",
2226
+ "gds.action.complete": "Completar",
2227
+ "gds.action.clear": "Limpiar",
2228
+ "gds.action.capture": "Capturar",
2229
+ "gds.action.record": "Grabar",
2230
+ "gds.action.flip": "Girar",
2231
+ "gds.action.flash": "Flash",
2232
+ "gds.action.course": "Curso",
2233
+ "gds.action.lesson": "Lecci\xF3n",
2234
+ "gds.action.certificate": "Certificado",
2235
+ "gds.action.student": "Estudiante",
2236
+ "gds.action.class": "Clase",
2237
+ "gds.action.grade": "Calificaci\xF3n",
2238
+ "gds.action.child": "Ni\xF1o",
2239
+ "gds.action.family": "Familia",
2240
+ "gds.action.habit": "H\xE1bito",
2241
+ "gds.action.goal": "Objetivo",
2242
+ "gds.action.streak": "Racha",
2243
+ "gds.action.reward": "Recompensa",
2244
+ "gds.action.trophy": "Trofeo",
2245
+ "gds.action.crown": "Corona",
2246
+ "gds.action.pause": "Pausa",
2247
+ "gds.action.message": "Mensaje",
2248
+ "gds.action.mail": "Correo",
2249
+ "gds.action.refresh": "Actualizar",
2250
+ "gds.action.trendingUp": "Tendencia al alza",
2251
+ "gds.action.trendingDown": "Tendencia a la baja",
2252
+ "gds.action.currency": "Moneda",
2253
+ "gds.action.grid": "Cuadr\xEDcula",
2254
+ "gds.action.list": "Lista",
2255
+ "gds.action.logout": "Cerrar sesi\xF3n",
2256
+ "gds.action.notifications": "Notificaciones",
2257
+ "gds.action.back": "Volver",
2258
+ "gds.action.eye": "Ver",
2259
+ "gds.action.eyeOff": "Ocultar",
2260
+ "gds.action.help": "Ayuda",
2261
+ "gds.action.filter": "Filtrar",
2262
+ "gds.action.sort": "Ordenar",
2263
+ "gds.action.export": "Exportar",
2264
+ "gds.action.import": "Importar",
2265
+ "gds.action.preview": "Vista previa",
2266
+ "gds.action.clone": "Clonar",
2267
+ "gds.action.restore": "Restaurar",
2268
+ "gds.action.toggle": "Alternar",
2269
+ "gds.action.search": "Buscar",
2270
+ "gds.action.submit": "Enviar",
2271
+ "gds.action.reset": "Restablecer",
2272
+ "gds.action.login": "Iniciar sesi\xF3n",
2273
+ "gds.action.register": "Registrarse",
2274
+ "gds.action.verify": "Verificar",
2275
+ "gds.action.launch": "Lanzar",
2276
+ "gds.action.draft": "Borrador",
2277
+ "gds.action.refer": "Referir",
2278
+ "gds.action.evidence": "Evidencia",
2279
+ "gds.feedback.saved": "Guardado",
2280
+ "gds.feedback.error": "Algo sali\xF3 mal",
2281
+ "gds.feedback.added": "A\xF1adido",
2282
+ "gds.feedback.edited": "Editado",
2283
+ "gds.feedback.deleted": "Eliminado",
2284
+ "gds.feedback.canceled": "Cancelado",
2285
+ "gds.feedback.confirmed": "Confirmado",
2286
+ "gds.feedback.closed": "Cerrado",
2287
+ "gds.feedback.changed": "Cambiado",
2288
+ "gds.feedback.loaded": "Cargado",
2289
+ "gds.feedback.started": "Iniciado",
2290
+ "gds.feedback.opened": "Abierto",
2291
+ "gds.feedback.sent": "Enviado",
2292
+ "gds.feedback.replied": "Respondido",
2293
+ "gds.feedback.forwarded": "Reenviado",
2294
+ "gds.feedback.attached": "Adjuntado",
2295
+ "gds.feedback.uploaded": "Subido",
2296
+ "gds.feedback.downloaded": "Descargado",
2297
+ "gds.feedback.printed": "Impreso",
2298
+ "gds.feedback.copied": "Copiado",
2299
+ "gds.feedback.duplicated": "Duplicado",
2300
+ "gds.feedback.checked": "Marcado",
2301
+ "gds.feedback.unchecked": "Desmarcado",
2302
+ "gds.feedback.completed": "Completado",
2303
+ "gds.feedback.cleared": "Limpiado",
2304
+ "gds.feedback.captured": "Capturado",
2305
+ "gds.feedback.recorded": "Grabado",
2306
+ "gds.feedback.flipped": "Girado",
2307
+ "gds.feedback.flashed": "Flash activado",
2308
+ "gds.feedback.done": "Hecho",
2309
+ "gds.feedback.rewarded": "Recompensado",
2310
+ "gds.feedback.paused": "Pausado",
2311
+ "gds.feedback.mailed": "Enviado por correo",
2312
+ "gds.feedback.refreshed": "Actualizado",
2313
+ "gds.feedback.loggedOut": "Sesi\xF3n cerrada",
2314
+ "gds.feedback.filtered": "Filtrado",
2315
+ "gds.feedback.sorted": "Ordenado",
2316
+ "gds.feedback.exported": "Exportado",
2317
+ "gds.feedback.imported": "Importado",
2318
+ "gds.feedback.previewed": "Previsualizado",
2319
+ "gds.feedback.cloned": "Clonado",
2320
+ "gds.feedback.restored": "Restaurado",
2321
+ "gds.feedback.toggled": "Alternado",
2322
+ "gds.feedback.searched": "Buscado",
2323
+ "gds.feedback.submitted": "Enviado",
2324
+ "gds.feedback.reset": "Restablecido",
2325
+ "gds.feedback.loggedIn": "Sesi\xF3n iniciada",
2326
+ "gds.feedback.registered": "Registrado",
2327
+ "gds.feedback.verified": "Verificado",
2328
+ "gds.feedback.launched": "Lanzado",
2329
+ "gds.feedback.drafted": "Guardado como borrador",
2330
+ "gds.feedback.referred": "Referido",
2331
+ "gds.aria.themeToggle": "Alternar esquema de color",
2332
+ "gds.state.emptyData": "No hay datos disponibles."
2333
+ };
2334
+
2335
+ // src/locales/fr.ts
2336
+ var fr = {
2337
+ "gds.action.settings": "Param\xE8tres",
2338
+ "gds.action.analytics": "Analytique",
2339
+ "gds.action.dashboard": "Tableau de bord",
2340
+ "gds.action.play": "Jouer",
2341
+ "gds.action.start": "D\xE9marrer",
2342
+ "gds.action.users": "Utilisateurs",
2343
+ "gds.action.add": "Ajouter",
2344
+ "gds.action.edit": "Modifier",
2345
+ "gds.action.delete": "Supprimer",
2346
+ "gds.action.save": "Enregistrer",
2347
+ "gds.action.cancel": "Annuler",
2348
+ "gds.action.confirm": "Confirmer",
2349
+ "gds.action.close": "Fermer",
2350
+ "gds.action.language": "Langue",
2351
+ "gds.action.theme": "Th\xE8me",
2352
+ "gds.action.home": "Accueil",
2353
+ "gds.action.inbox": "Bo\xEEte de r\xE9ception",
2354
+ "gds.action.calendar": "Calendrier",
2355
+ "gds.action.gallery": "Galerie",
2356
+ "gds.action.history": "Historique",
2357
+ "gds.action.profile": "Profil",
2358
+ "gds.action.send": "Envoyer",
2359
+ "gds.action.reply": "R\xE9pondre",
2360
+ "gds.action.forward": "Transf\xE9rer",
2361
+ "gds.action.attach": "Joindre",
2362
+ "gds.action.upload": "T\xE9l\xE9verser",
2363
+ "gds.action.download": "T\xE9l\xE9charger",
2364
+ "gds.action.print": "Imprimer",
2365
+ "gds.action.copy": "Copier",
2366
+ "gds.action.duplicate": "Dupliquer",
2367
+ "gds.action.check": "Cocher",
2368
+ "gds.action.uncheck": "D\xE9cocher",
2369
+ "gds.action.complete": "Terminer",
2370
+ "gds.action.clear": "Effacer",
2371
+ "gds.action.capture": "Capturer",
2372
+ "gds.action.record": "Enregistrer",
2373
+ "gds.action.flip": "Retourner",
2374
+ "gds.action.flash": "Flash",
2375
+ "gds.action.course": "Cours",
2376
+ "gds.action.lesson": "Le\xE7on",
2377
+ "gds.action.certificate": "Certificat",
2378
+ "gds.action.student": "\xC9tudiant",
2379
+ "gds.action.class": "Classe",
2380
+ "gds.action.grade": "Note",
2381
+ "gds.action.child": "Enfant",
2382
+ "gds.action.family": "Famille",
2383
+ "gds.action.habit": "Habitude",
2384
+ "gds.action.goal": "Objectif",
2385
+ "gds.action.streak": "S\xE9rie",
2386
+ "gds.action.reward": "R\xE9compense",
2387
+ "gds.action.trophy": "Troph\xE9e",
2388
+ "gds.action.crown": "Couronne",
2389
+ "gds.action.pause": "Pause",
2390
+ "gds.action.message": "Message",
2391
+ "gds.action.mail": "Courrier",
2392
+ "gds.action.refresh": "Actualiser",
2393
+ "gds.action.trendingUp": "Tendance \xE0 la hausse",
2394
+ "gds.action.trendingDown": "Tendance \xE0 la baisse",
2395
+ "gds.action.currency": "Devise",
2396
+ "gds.action.grid": "Grille",
2397
+ "gds.action.list": "Liste",
2398
+ "gds.action.logout": "D\xE9connexion",
2399
+ "gds.action.notifications": "Notifications",
2400
+ "gds.action.back": "Retour",
2401
+ "gds.action.eye": "Afficher",
2402
+ "gds.action.eyeOff": "Masquer",
2403
+ "gds.action.help": "Aide",
2404
+ "gds.action.filter": "Filtrer",
2405
+ "gds.action.sort": "Trier",
2406
+ "gds.action.export": "Exporter",
2407
+ "gds.action.import": "Importer",
2408
+ "gds.action.preview": "Aper\xE7u",
2409
+ "gds.action.clone": "Cloner",
2410
+ "gds.action.restore": "Restaurer",
2411
+ "gds.action.toggle": "Basculer",
2412
+ "gds.action.search": "Rechercher",
2413
+ "gds.action.submit": "Soumettre",
2414
+ "gds.action.reset": "R\xE9initialiser",
2415
+ "gds.action.login": "Connexion",
2416
+ "gds.action.register": "S'inscrire",
2417
+ "gds.action.verify": "V\xE9rifier",
2418
+ "gds.action.launch": "Lancer",
2419
+ "gds.action.draft": "Brouillon",
2420
+ "gds.action.refer": "R\xE9f\xE9rer",
2421
+ "gds.action.evidence": "Preuve",
2422
+ "gds.feedback.saved": "Enregistr\xE9",
2423
+ "gds.feedback.error": "Une erreur est survenue",
2424
+ "gds.feedback.added": "Ajout\xE9",
2425
+ "gds.feedback.edited": "Modifi\xE9",
2426
+ "gds.feedback.deleted": "Supprim\xE9",
2427
+ "gds.feedback.canceled": "Annul\xE9",
2428
+ "gds.feedback.confirmed": "Confirm\xE9",
2429
+ "gds.feedback.closed": "Ferm\xE9",
2430
+ "gds.feedback.changed": "Modifi\xE9",
2431
+ "gds.feedback.loaded": "Charg\xE9",
2432
+ "gds.feedback.started": "D\xE9marr\xE9",
2433
+ "gds.feedback.opened": "Ouvert",
2434
+ "gds.feedback.sent": "Envoy\xE9",
2435
+ "gds.feedback.replied": "R\xE9pondu",
2436
+ "gds.feedback.forwarded": "Transf\xE9r\xE9",
2437
+ "gds.feedback.attached": "Joint",
2438
+ "gds.feedback.uploaded": "T\xE9l\xE9vers\xE9",
2439
+ "gds.feedback.downloaded": "T\xE9l\xE9charg\xE9",
2440
+ "gds.feedback.printed": "Imprim\xE9",
2441
+ "gds.feedback.copied": "Copi\xE9",
2442
+ "gds.feedback.duplicated": "Dupliqu\xE9",
2443
+ "gds.feedback.checked": "Coch\xE9",
2444
+ "gds.feedback.unchecked": "D\xE9coch\xE9",
2445
+ "gds.feedback.completed": "Termin\xE9",
2446
+ "gds.feedback.cleared": "Effac\xE9",
2447
+ "gds.feedback.captured": "Captur\xE9",
2448
+ "gds.feedback.recorded": "Enregistr\xE9",
2449
+ "gds.feedback.flipped": "Retourn\xE9",
2450
+ "gds.feedback.flashed": "Flash\xE9",
2451
+ "gds.feedback.done": "Fait",
2452
+ "gds.feedback.rewarded": "R\xE9compens\xE9",
2453
+ "gds.feedback.paused": "En pause",
2454
+ "gds.feedback.mailed": "Envoy\xE9",
2455
+ "gds.feedback.refreshed": "Actualis\xE9",
2456
+ "gds.feedback.loggedOut": "D\xE9connect\xE9",
2457
+ "gds.feedback.filtered": "Filtr\xE9",
2458
+ "gds.feedback.sorted": "Tri\xE9",
2459
+ "gds.feedback.exported": "Export\xE9",
2460
+ "gds.feedback.imported": "Import\xE9",
2461
+ "gds.feedback.previewed": "Visualis\xE9",
2462
+ "gds.feedback.cloned": "Clon\xE9",
2463
+ "gds.feedback.restored": "Restaur\xE9",
2464
+ "gds.feedback.toggled": "Bascul\xE9",
2465
+ "gds.feedback.searched": "Recherch\xE9",
2466
+ "gds.feedback.submitted": "Soumis",
2467
+ "gds.feedback.reset": "R\xE9initialis\xE9",
2468
+ "gds.feedback.loggedIn": "Connect\xE9",
2469
+ "gds.feedback.registered": "Inscrit",
2470
+ "gds.feedback.verified": "V\xE9rifi\xE9",
2471
+ "gds.feedback.launched": "Lanc\xE9",
2472
+ "gds.feedback.drafted": "R\xE9dig\xE9",
2473
+ "gds.feedback.referred": "R\xE9f\xE9r\xE9",
2474
+ "gds.aria.themeToggle": "Basculer le th\xE8me",
2475
+ "gds.state.emptyData": "Aucune donn\xE9e disponible."
2476
+ };
2477
+
2478
+ // src/locales/he.ts
2479
+ var he = {
2480
+ "gds.action.settings": "\u05D4\u05D2\u05D3\u05E8\u05D5\u05EA",
2481
+ "gds.action.analytics": "\u05E0\u05D9\u05EA\u05D5\u05D7 \u05E0\u05EA\u05D5\u05E0\u05D9\u05DD",
2482
+ "gds.action.dashboard": "\u05DC\u05D5\u05D7 \u05D1\u05E7\u05E8\u05D4",
2483
+ "gds.action.play": "\u05D4\u05E4\u05E2\u05DC",
2484
+ "gds.action.start": "\u05D4\u05EA\u05D7\u05DC",
2485
+ "gds.action.users": "\u05DE\u05E9\u05EA\u05DE\u05E9\u05D9\u05DD",
2486
+ "gds.action.add": "\u05D4\u05D5\u05E1\u05E3",
2487
+ "gds.action.edit": "\u05E2\u05E8\u05D5\u05DA",
2488
+ "gds.action.delete": "\u05DE\u05D7\u05E7",
2489
+ "gds.action.save": "\u05E9\u05DE\u05D5\u05E8",
2490
+ "gds.action.cancel": "\u05D1\u05D9\u05D8\u0648\u0644",
2491
+ "gds.action.confirm": "\u05D0\u05D9\u05E9\u05D5\u05E8",
2492
+ "gds.action.close": "\u05E1\u05D2\u05D5\u05E8",
2493
+ "gds.action.language": "\u05E9\u05E4\u05D4",
2494
+ "gds.action.theme": "\u05E2\u05E8\u05DB\u05EA \u05E0\u05D5\u05E9\u05D0",
2495
+ "gds.action.home": "\u05D3\u05E3 \u05D4\u05D1\u05D9\u05EA",
2496
+ "gds.action.inbox": "\u05D3\u05D5\u05D0\u05E8 \u05E0\u05DB\u05E0\u05E1",
2497
+ "gds.action.calendar": "\u05DC\u05D5\u05D7 \u05E9\u05E0\u05D4",
2498
+ "gds.action.gallery": "\u05D2\u05DC\u05E8\u05D9\u05D4",
2499
+ "gds.action.history": "\u05D4\u05D9\u05E1\u05D8\u05D5\u05E8\u05D9\u05D4",
2500
+ "gds.action.profile": "\u05E4\u05E8\u05D5\u05E4\u05D9\u05DC",
2501
+ "gds.action.send": "\u05E9\u05DC\u05D7",
2502
+ "gds.action.reply": "\u05D4\u05E9\u05D1",
2503
+ "gds.action.forward": "\u05D4\u05E2\u05D1\u05E8",
2504
+ "gds.action.attach": "\u05E6\u05E8\u05E3",
2505
+ "gds.action.upload": "\u05D4\u05E2\u05DC\u05D4",
2506
+ "gds.action.download": "\u05D4\u05D5\u05E8\u05D3",
2507
+ "gds.action.print": "\u05D4\u05D3\u05E4\u05E1",
2508
+ "gds.action.copy": "\u05D4\u05E2\u05EA\u05E7",
2509
+ "gds.action.duplicate": "\u05E9\u05DB\u05E4\u05DC",
2510
+ "gds.action.check": "\u05E1\u05DE\u05DF",
2511
+ "gds.action.uncheck": "\u05D1\u05D8\u05DC \u05E1\u05D9\u05DE\u05D5\u05DF",
2512
+ "gds.action.complete": "\u05D4\u05E9\u05DC\u05DD",
2513
+ "gds.action.clear": "\u05E0\u05E7\u05D4",
2514
+ "gds.action.capture": "\u05E6\u05DC\u05DD",
2515
+ "gds.action.record": "\u05D4\u05E7\u05DC\u05D8",
2516
+ "gds.action.flip": "\u05D4\u05E4\u05D5\u05DA",
2517
+ "gds.action.flash": "\u05DE\u05D1\u05D6\u05E7",
2518
+ "gds.action.course": "\u05E7\u05D5\u05E8\u05E1",
2519
+ "gds.action.lesson": "\u05E9\u05D9\u05E2\u05D5\u05E8",
2520
+ "gds.action.certificate": "\u05EA\u05E2\u05D5\u05D3\u05D4",
2521
+ "gds.action.student": "\u05EA\u05DC\u05DE\u05D9\u05D3",
2522
+ "gds.action.class": "\u05DB\u05D9\u05EA\u05D4",
2523
+ "gds.action.grade": "\u05E6\u05D9\u05D5\u05DF",
2524
+ "gds.action.child": "\u05D9\u05DC\u05D3",
2525
+ "gds.action.family": "\u05DE\u05E9\u05E4\u05D7\u05D4",
2526
+ "gds.action.habit": "\u05D4\u05E8\u05D2\u05DC",
2527
+ "gds.action.goal": "\u05DE\u05D8\u05E8\u05D4",
2528
+ "gds.action.streak": "\u05E8\u05E6\u05E3",
2529
+ "gds.action.reward": "\u05E4\u05E8\u05E1",
2530
+ "gds.action.trophy": "\u05D2\u05D1\u05D9\u05E2",
2531
+ "gds.action.crown": "\u05DB\u05EA\u05E8",
2532
+ "gds.action.pause": "\u05D4\u05E9\u05D4\u05D4",
2533
+ "gds.action.message": "\u05D4\u05D5\u05D3\u05E2\u05D4",
2534
+ "gds.action.mail": "\u05D3\u05D5\u05D0\u05E8",
2535
+ "gds.action.refresh": "\u05E8\u05E2\u05E0\u05DF",
2536
+ "gds.action.trendingUp": "\u05DE\u05D2\u05DE\u05D4 \u05D7\u05D9\u05D5\u05D1\u05D9\u05EA",
2537
+ "gds.action.trendingDown": "\u05DE\u05D2\u05DE\u05D4 \u05E9\u05DC\u05D9\u05DC\u05D9\u05EA",
2538
+ "gds.action.currency": "\u05DE\u05D8\u05D1\u05E2",
2539
+ "gds.action.grid": "\u05E8\u05E9\u05EA",
2540
+ "gds.action.list": "\u05E8\u05E9\u05D9\u05DE\u05D4",
2541
+ "gds.action.logout": "\u05D4\u05EA\u05E0\u05EA\u05E7",
2542
+ "gds.action.notifications": "\u05D4\u05EA\u05E8\u05D0\u05D5\u05EA",
2543
+ "gds.action.back": "\u05D7\u05D6\u05D5\u05E8",
2544
+ "gds.action.eye": "\u05D4\u05E6\u05D2",
2545
+ "gds.action.eyeOff": "\u05D4\u05E1\u05EA\u05E8",
2546
+ "gds.action.help": "\u05E2\u05D6\u05E8\u05D4",
2547
+ "gds.action.filter": "\u05E1\u05E0\u05DF",
2548
+ "gds.action.sort": "\u05DE\u05D9\u05D9\u05DF",
2549
+ "gds.action.export": "\u05D9\u05D9\u05E6\u05D5\u05D0",
2550
+ "gds.action.import": "\u05D9\u05D9\u05D1\u05D5\u05D0",
2551
+ "gds.action.preview": "\u05EA\u05E6\u05D5\u05D2\u05D4 \u05DE\u05E7\u05D3\u05D9\u05DE\u05D4",
2552
+ "gds.action.clone": "\u05E9\u05DB\u05E4\u05D5\u05DC",
2553
+ "gds.action.restore": "\u05E9\u05D7\u05D6\u05D5\u05E8",
2554
+ "gds.action.toggle": "\u05D4\u05D7\u05DC\u05E4\u05D4",
2555
+ "gds.action.search": "\u05D7\u05D9\u05E4\u05D5\u05E9",
2556
+ "gds.action.submit": "\u05E9\u05DC\u05D9\u05D7\u05D4",
2557
+ "gds.action.reset": "\u05D0\u05D9\u05E4\u05D5\u05E1",
2558
+ "gds.action.login": "\u05D4\u05EA\u05D7\u05D1\u05E8\u05D5\u05EA",
2559
+ "gds.action.register": "\u05D4\u05E8\u05E9\u05DE\u05D4",
2560
+ "gds.action.verify": "\u05D0\u05D9\u05DE\u05D5\u05EA",
2561
+ "gds.action.launch": "\u05D4\u05E9\u05E7\u05D4",
2562
+ "gds.action.draft": "\u05D8\u05D9\u05D5\u05D8\u05D4",
2563
+ "gds.action.refer": "\u05D4\u05E4\u05E0\u05D9\u05D4",
2564
+ "gds.action.evidence": "\u05E8\u05D0\u05D9\u05D4",
2565
+ "gds.feedback.saved": "\u05E0\u05E9\u05DE\u05E8",
2566
+ "gds.feedback.error": "\u05DE\u05E9\u05D4\u05D5 \u05D4\u05E9\u05EA\u05D1\u05E9",
2567
+ "gds.feedback.added": "\u05E0\u05D5\u05E1\u05E3",
2568
+ "gds.feedback.edited": "\u05E0\u05E2\u05E8\u05DA",
2569
+ "gds.feedback.deleted": "\u05E0\u05DE\u05D7\u05E7",
2570
+ "gds.feedback.canceled": "\u05D1\u05D5\u05D8\u05DC",
2571
+ "gds.feedback.confirmed": "\u05D0\u05D5\u05E9\u05E8",
2572
+ "gds.feedback.closed": "\u05E0\u05E1\u05D2\u05E8",
2573
+ "gds.feedback.changed": "\u05E9\u05D5\u05E0\u05D4",
2574
+ "gds.feedback.loaded": "\u05E0\u05D8\u05E2\u05DF",
2575
+ "gds.feedback.started": "\u05D4\u05D5\u05EA\u05D7\u05DC",
2576
+ "gds.feedback.opened": "\u05E0\u05E4\u05EA\u05D7",
2577
+ "gds.feedback.sent": "\u05E0\u05E9\u05DC\u05D7",
2578
+ "gds.feedback.replied": "\u05E0\u05E2\u05E0\u05D4",
2579
+ "gds.feedback.forwarded": "\u05D4\u05D5\u05E2\u05D1\u05E8",
2580
+ "gds.feedback.attached": "\u05E6\u05D5\u05E8\u05E3",
2581
+ "gds.feedback.uploaded": "\u05D4\u05D5\u05E2\u05DC\u05D4",
2582
+ "gds.feedback.downloaded": "\u05D4\u05D5\u05E8\u05D3",
2583
+ "gds.feedback.printed": "\u05D4\u05D5\u05D3\u05E4\u05E1",
2584
+ "gds.feedback.copied": "\u05D4\u05D5\u05E2\u05EA\u05E7",
2585
+ "gds.feedback.duplicated": "\u05E9\u05D5\u05DB\u05E4\u05DC",
2586
+ "gds.feedback.checked": "\u05E1\u05D5\u05DE\u05DF",
2587
+ "gds.feedback.unchecked": "\u05D4\u05E1\u05D9\u05DE\u05D5\u05DF \u05D1\u05D5\u05D8\u05DC",
2588
+ "gds.feedback.completed": "\u05D4\u05D5\u05E9\u05DC\u05DD",
2589
+ "gds.feedback.cleared": "\u05E0\u05D5\u05E7\u05D4",
2590
+ "gds.feedback.captured": "\u05E6\u05D5\u05DC\u05DD",
2591
+ "gds.feedback.recorded": "\u05D4\u05D5\u05E7\u05DC\u05D8",
2592
+ "gds.feedback.flipped": "\u05E0\u05D4\u05E4\u05DA",
2593
+ "gds.feedback.flashed": "\u05D4\u05D5\u05D1\u05D6\u05E7",
2594
+ "gds.feedback.done": "\u05D1\u05D5\u05E6\u05E2",
2595
+ "gds.feedback.rewarded": "\u05EA\u05D5\u05D2\u05DE\u05DC",
2596
+ "gds.feedback.paused": "\u05D4\u05D5\u05E9\u05D4\u05D4",
2597
+ "gds.feedback.mailed": "\u05E0\u05E9\u05DC\u05D7",
2598
+ "gds.feedback.refreshed": "\u05E8\u05D5\u05E2\u05E0\u05DF",
2599
+ "gds.feedback.loggedOut": "\u05D4\u05EA\u05E0\u05EA\u05E7",
2600
+ "gds.feedback.filtered": "\u05E1\u05D5\u05E0\u05DF",
2601
+ "gds.feedback.sorted": "\u05DE\u05D5\u05D9\u05DF",
2602
+ "gds.feedback.exported": "\u05D9\u05D5\u05E6\u05D0",
2603
+ "gds.feedback.imported": "\u05D9\u05D5\u05D1\u05D0",
2604
+ "gds.feedback.previewed": "\u05D4\u05D5\u05E6\u05D2",
2605
+ "gds.feedback.cloned": "\u05E9\u05D5\u05DB\u05E4\u05DC",
2606
+ "gds.feedback.restored": "\u05E9\u05D5\u05D7\u05D6\u05E8",
2607
+ "gds.feedback.toggled": "\u05D4\u05D5\u05D7\u05DC\u05E3",
2608
+ "gds.feedback.searched": "\u05D7\u05D9\u05E4\u05D5\u05E9 \u05D4\u05D5\u05E9\u05DC\u05DD",
2609
+ "gds.feedback.submitted": "\u05E0\u05E9\u05DC\u05D7",
2610
+ "gds.feedback.reset": "\u05D0\u05D5\u05E4\u05E1",
2611
+ "gds.feedback.loggedIn": "\u05D4\u05EA\u05D7\u05D1\u05E8",
2612
+ "gds.feedback.registered": "\u05E0\u05E8\u05E9\u05DD",
2613
+ "gds.feedback.verified": "\u05D0\u05D5\u05DE\u05EA",
2614
+ "gds.feedback.launched": "\u05D4\u05D5\u05E9\u05E7",
2615
+ "gds.feedback.drafted": "\u05E0\u05E9\u05DE\u05E8 \u05DB\u05D8\u05D9\u05D5\u05D8\u05D4",
2616
+ "gds.feedback.referred": "\u05D4\u05D5\u05E4\u05E0\u05D4",
2617
+ "gds.aria.themeToggle": "\u05D4\u05D7\u05DC\u05E3 \u05E2\u05E8\u05DB\u05EA \u05E6\u05D1\u05E2\u05D9\u05DD",
2618
+ "gds.state.emptyData": "\u05D0\u05D9\u05DF \u05E0\u05EA\u05D5\u05E0\u05D9\u05DD \u05D6\u05DE\u05D9\u05E0\u05D9\u05DD."
2619
+ };
2620
+
2621
+ // src/locales/hu.ts
2622
+ var hu = {
2623
+ "gds.action.settings": "Be\xE1ll\xEDt\xE1sok",
2624
+ "gds.action.analytics": "Analitika",
2625
+ "gds.action.dashboard": "Ir\xE1ny\xEDt\xF3pult",
2626
+ "gds.action.play": "Lej\xE1tsz\xE1s",
2627
+ "gds.action.start": "Ind\xEDt\xE1s",
2628
+ "gds.action.users": "Felhaszn\xE1l\xF3k",
2629
+ "gds.action.add": "Hozz\xE1ad\xE1s",
2630
+ "gds.action.edit": "Szerkeszt\xE9s",
2631
+ "gds.action.delete": "T\xF6rl\xE9s",
2632
+ "gds.action.save": "Ment\xE9s",
2633
+ "gds.action.cancel": "M\xE9gse",
2634
+ "gds.action.confirm": "Meger\u0151s\xEDt\xE9s",
2635
+ "gds.action.close": "Bez\xE1r\xE1s",
2636
+ "gds.action.language": "Nyelv",
2637
+ "gds.action.theme": "T\xE9ma",
2638
+ "gds.action.home": "F\u0151oldal",
2639
+ "gds.action.inbox": "Be\xE9rkez\u0151",
2640
+ "gds.action.calendar": "Napt\xE1r",
2641
+ "gds.action.gallery": "Gal\xE9ria",
2642
+ "gds.action.history": "El\u0151zm\xE9nyek",
2643
+ "gds.action.profile": "Profil",
2644
+ "gds.action.send": "K\xFCld\xE9s",
2645
+ "gds.action.reply": "V\xE1lasz",
2646
+ "gds.action.forward": "Tov\xE1bb\xEDt\xE1s",
2647
+ "gds.action.attach": "Csatol\xE1s",
2648
+ "gds.action.upload": "Felt\xF6lt\xE9s",
2649
+ "gds.action.download": "Let\xF6lt\xE9s",
2650
+ "gds.action.print": "Nyomtat\xE1s",
2651
+ "gds.action.copy": "M\xE1sol\xE1s",
2652
+ "gds.action.duplicate": "Duplik\xE1l\xE1s",
2653
+ "gds.action.check": "Jel\xF6l\xE9s",
2654
+ "gds.action.uncheck": "Jel\xF6l\xE9s t\xF6rl\xE9se",
2655
+ "gds.action.complete": "K\xE9sz",
2656
+ "gds.action.clear": "Ki\xFCr\xEDt\xE9s",
2657
+ "gds.action.capture": "Felv\xE9tel",
2658
+ "gds.action.record": "R\xF6gz\xEDt\xE9s",
2659
+ "gds.action.flip": "Ford\xEDt\xE1s",
2660
+ "gds.action.flash": "Vaku",
2661
+ "gds.action.course": "Tanfolyam",
2662
+ "gds.action.lesson": "Lecke",
2663
+ "gds.action.certificate": "Tan\xFAs\xEDtv\xE1ny",
2664
+ "gds.action.student": "Tanul\xF3",
2665
+ "gds.action.class": "Oszt\xE1ly",
2666
+ "gds.action.grade": "Oszt\xE1lyzat",
2667
+ "gds.action.child": "Gyermek",
2668
+ "gds.action.family": "Csal\xE1d",
2669
+ "gds.action.habit": "Szok\xE1s",
2670
+ "gds.action.goal": "C\xE9l",
2671
+ "gds.action.streak": "Sorozat",
2672
+ "gds.action.reward": "Jutalom",
2673
+ "gds.action.trophy": "Tr\xF3fea",
2674
+ "gds.action.crown": "Korona",
2675
+ "gds.action.pause": "Sz\xFCnet",
2676
+ "gds.action.message": "\xDCzenet",
2677
+ "gds.action.mail": "Lev\xE9l",
2678
+ "gds.action.refresh": "Friss\xEDt\xE9s",
2679
+ "gds.action.trendingUp": "N\xF6vekv\u0151 trend",
2680
+ "gds.action.trendingDown": "Cs\xF6kken\u0151 trend",
2681
+ "gds.action.currency": "P\xE9nznem",
2682
+ "gds.action.grid": "R\xE1cs",
2683
+ "gds.action.list": "Lista",
2684
+ "gds.action.logout": "Kijelentkez\xE9s",
2685
+ "gds.action.notifications": "\xC9rtes\xEDt\xE9sek",
2686
+ "gds.action.back": "Vissza",
2687
+ "gds.action.eye": "Megtekint\xE9s",
2688
+ "gds.action.eyeOff": "Elrejt\xE9s",
2689
+ "gds.action.help": "S\xFAg\xF3",
2690
+ "gds.action.filter": "Sz\u0171r\u0151",
2691
+ "gds.action.sort": "Rendez\xE9s",
2692
+ "gds.action.export": "Export\xE1l\xE1s",
2693
+ "gds.action.import": "Import\xE1l\xE1s",
2694
+ "gds.action.preview": "El\u0151n\xE9zet",
2695
+ "gds.action.clone": "Kl\xF3noz\xE1s",
2696
+ "gds.action.restore": "Vissza\xE1ll\xEDt\xE1s",
2697
+ "gds.action.toggle": "V\xE1lt\xE1s",
2698
+ "gds.action.search": "Keres\xE9s",
2699
+ "gds.action.submit": "K\xFCld\xE9s",
2700
+ "gds.action.reset": "Alaphelyzet",
2701
+ "gds.action.login": "Bejelentkez\xE9s",
2702
+ "gds.action.register": "Regisztr\xE1ci\xF3",
2703
+ "gds.action.verify": "Ellen\u0151rz\xE9s",
2704
+ "gds.action.launch": "Ind\xEDt\xE1s",
2705
+ "gds.action.draft": "Piszkozat",
2706
+ "gds.action.refer": "Aj\xE1nl\xE1s",
2707
+ "gds.action.evidence": "Bizony\xEDt\xE9k",
2708
+ "gds.feedback.saved": "Mentve",
2709
+ "gds.feedback.error": "Hiba t\xF6rt\xE9nt",
2710
+ "gds.feedback.added": "Hozz\xE1adva",
2711
+ "gds.feedback.edited": "Szerkesztve",
2712
+ "gds.feedback.deleted": "T\xF6r\xF6lve",
2713
+ "gds.feedback.canceled": "Megszak\xEDtva",
2714
+ "gds.feedback.confirmed": "Meger\u0151s\xEDtve",
2715
+ "gds.feedback.closed": "Bez\xE1rva",
2716
+ "gds.feedback.changed": "Megv\xE1ltoztatva",
2717
+ "gds.feedback.loaded": "Bet\xF6ltve",
2718
+ "gds.feedback.started": "Elind\xEDtva",
2719
+ "gds.feedback.opened": "Megnyitva",
2720
+ "gds.feedback.sent": "Elk\xFCldve",
2721
+ "gds.feedback.replied": "Megv\xE1laszolva",
2722
+ "gds.feedback.forwarded": "Tov\xE1bb\xEDtva",
2723
+ "gds.feedback.attached": "Csatolva",
2724
+ "gds.feedback.uploaded": "Felt\xF6ltve",
2725
+ "gds.feedback.downloaded": "Let\xF6ltve",
2726
+ "gds.feedback.printed": "Kinyomtatva",
2727
+ "gds.feedback.copied": "M\xE1solva",
2728
+ "gds.feedback.duplicated": "Duplik\xE1lva",
2729
+ "gds.feedback.checked": "Kijel\xF6lve",
2730
+ "gds.feedback.unchecked": "Kijel\xF6l\xE9s t\xF6r\xF6lve",
2731
+ "gds.feedback.completed": "Befejezve",
2732
+ "gds.feedback.cleared": "Ki\xFCr\xEDtve",
2733
+ "gds.feedback.captured": "R\xF6gz\xEDtve",
2734
+ "gds.feedback.recorded": "Felv\xE9ve",
2735
+ "gds.feedback.flipped": "Megford\xEDtva",
2736
+ "gds.feedback.flashed": "Villantva",
2737
+ "gds.feedback.done": "K\xE9sz",
2738
+ "gds.feedback.rewarded": "Jutalmazva",
2739
+ "gds.feedback.paused": "Sz\xFCneteltetve",
2740
+ "gds.feedback.mailed": "Elk\xFCldve",
2741
+ "gds.feedback.refreshed": "Friss\xEDtve",
2742
+ "gds.feedback.loggedOut": "Kijelentkezve",
2743
+ "gds.feedback.filtered": "Sz\u0171rve",
2744
+ "gds.feedback.sorted": "Rendezve",
2745
+ "gds.feedback.exported": "Export\xE1lva",
2746
+ "gds.feedback.imported": "Import\xE1lva",
2747
+ "gds.feedback.previewed": "El\u0151n\xE9zet bet\xF6ltve",
2748
+ "gds.feedback.cloned": "Kl\xF3nozva",
2749
+ "gds.feedback.restored": "Vissza\xE1ll\xEDtva",
2750
+ "gds.feedback.toggled": "\xC1tv\xE1ltva",
2751
+ "gds.feedback.searched": "Keresve",
2752
+ "gds.feedback.submitted": "Elk\xFCldve",
2753
+ "gds.feedback.reset": "Alaphelyzetbe \xE1ll\xEDtva",
2754
+ "gds.feedback.loggedIn": "Bejelentkezve",
2755
+ "gds.feedback.registered": "Regisztr\xE1lva",
2756
+ "gds.feedback.verified": "Ellen\u0151rizve",
2757
+ "gds.feedback.launched": "Elind\xEDtva",
2758
+ "gds.feedback.drafted": "L\xE9trehozva",
2759
+ "gds.feedback.referred": "Aj\xE1nlva",
2760
+ "gds.aria.themeToggle": "Sz\xEDns\xE9ma v\xE1lt\xE1sa",
2761
+ "gds.state.emptyData": "Nincs el\xE9rhet\u0151 adat."
2762
+ };
2763
+
2764
+ // src/locales/it.ts
2765
+ var it = {
2766
+ "gds.action.settings": "Impostazioni",
2767
+ "gds.action.analytics": "Analitica",
2768
+ "gds.action.dashboard": "Dashboard",
2769
+ "gds.action.play": "Riproduci",
2770
+ "gds.action.start": "Inizia",
2771
+ "gds.action.users": "Utenti",
2772
+ "gds.action.add": "Aggiungi",
2773
+ "gds.action.edit": "Modifica",
2774
+ "gds.action.delete": "Elimina",
2775
+ "gds.action.save": "Salva",
2776
+ "gds.action.cancel": "Annulla",
2777
+ "gds.action.confirm": "Conferma",
2778
+ "gds.action.close": "Chiudi",
2779
+ "gds.action.language": "Lingua",
2780
+ "gds.action.theme": "Tema",
2781
+ "gds.action.home": "Home",
2782
+ "gds.action.inbox": "Posta in arrivo",
2783
+ "gds.action.calendar": "Calendario",
2784
+ "gds.action.gallery": "Galleria",
2785
+ "gds.action.history": "Cronologia",
2786
+ "gds.action.profile": "Profilo",
2787
+ "gds.action.send": "Invia",
2788
+ "gds.action.reply": "Rispondi",
2789
+ "gds.action.forward": "Inoltra",
2790
+ "gds.action.attach": "Allega",
2791
+ "gds.action.upload": "Carica",
2792
+ "gds.action.download": "Scarica",
2793
+ "gds.action.print": "Stampa",
2794
+ "gds.action.copy": "Copia",
2795
+ "gds.action.duplicate": "Duplica",
2796
+ "gds.action.check": "Seleziona",
2797
+ "gds.action.uncheck": "Deseleziona",
2798
+ "gds.action.complete": "Completa",
2799
+ "gds.action.clear": "Pulisci",
2800
+ "gds.action.capture": "Cattura",
2801
+ "gds.action.record": "Registra",
2802
+ "gds.action.flip": "Capovolgi",
2803
+ "gds.action.flash": "Flash",
2804
+ "gds.action.course": "Corso",
2805
+ "gds.action.lesson": "Lezione",
2806
+ "gds.action.certificate": "Certificato",
2807
+ "gds.action.student": "Studente",
2808
+ "gds.action.class": "Classe",
2809
+ "gds.action.grade": "Voto",
2810
+ "gds.action.child": "Bambino",
2811
+ "gds.action.family": "Famiglia",
2812
+ "gds.action.habit": "Abitudine",
2813
+ "gds.action.goal": "Obiettivo",
2814
+ "gds.action.streak": "Serie",
2815
+ "gds.action.reward": "Ricompensa",
2816
+ "gds.action.trophy": "Trofeo",
2817
+ "gds.action.crown": "Corona",
2818
+ "gds.action.pause": "Pausa",
2819
+ "gds.action.message": "Messaggio",
2820
+ "gds.action.mail": "Posta",
2821
+ "gds.action.refresh": "Aggiorna",
2822
+ "gds.action.trendingUp": "In crescita",
2823
+ "gds.action.trendingDown": "In calo",
2824
+ "gds.action.currency": "Valuta",
2825
+ "gds.action.grid": "Griglia",
2826
+ "gds.action.list": "Elenco",
2827
+ "gds.action.logout": "Esci",
2828
+ "gds.action.notifications": "Notifiche",
2829
+ "gds.action.back": "Indietro",
2830
+ "gds.action.eye": "Mostra",
2831
+ "gds.action.eyeOff": "Nascondi",
2832
+ "gds.action.help": "Aiuto",
2833
+ "gds.action.filter": "Filtra",
2834
+ "gds.action.sort": "Ordina",
2835
+ "gds.action.export": "Esporta",
2836
+ "gds.action.import": "Importa",
2837
+ "gds.action.preview": "Anteprima",
2838
+ "gds.action.clone": "Clona",
2839
+ "gds.action.restore": "Ripristina",
2840
+ "gds.action.toggle": "Attiva/Disattiva",
2841
+ "gds.action.search": "Cerca",
2842
+ "gds.action.submit": "Invia",
2843
+ "gds.action.reset": "Reimposta",
2844
+ "gds.action.login": "Accedi",
2845
+ "gds.action.register": "Registrati",
2846
+ "gds.action.verify": "Verifica",
2847
+ "gds.action.launch": "Avvia",
2848
+ "gds.action.draft": "Bozza",
2849
+ "gds.action.refer": "Segnala",
2850
+ "gds.action.evidence": "Prova",
2851
+ "gds.feedback.saved": "Salvato",
2852
+ "gds.feedback.error": "Si \xE8 verificato un errore",
2853
+ "gds.feedback.added": "Aggiunto",
2854
+ "gds.feedback.edited": "Modificato",
2855
+ "gds.feedback.deleted": "Eliminato",
2856
+ "gds.feedback.canceled": "Annullato",
2857
+ "gds.feedback.confirmed": "Confermato",
2858
+ "gds.feedback.closed": "Chiuso",
2859
+ "gds.feedback.changed": "Cambiato",
2860
+ "gds.feedback.loaded": "Caricato",
2861
+ "gds.feedback.started": "Iniziato",
2862
+ "gds.feedback.opened": "Aperto",
2863
+ "gds.feedback.sent": "Inviato",
2864
+ "gds.feedback.replied": "Risposto",
2865
+ "gds.feedback.forwarded": "Inoltrato",
2866
+ "gds.feedback.attached": "Allegato",
2867
+ "gds.feedback.uploaded": "Caricato",
2868
+ "gds.feedback.downloaded": "Scaricato",
2869
+ "gds.feedback.printed": "Stampato",
2870
+ "gds.feedback.copied": "Copiato",
2871
+ "gds.feedback.duplicated": "Duplicato",
2872
+ "gds.feedback.checked": "Selezionato",
2873
+ "gds.feedback.unchecked": "Deselezionato",
2874
+ "gds.feedback.completed": "Completato",
2875
+ "gds.feedback.cleared": "Svuotato",
2876
+ "gds.feedback.captured": "Catturato",
2877
+ "gds.feedback.recorded": "Registrato",
2878
+ "gds.feedback.flipped": "Capovolto",
2879
+ "gds.feedback.flashed": "Lampeggiato",
2880
+ "gds.feedback.done": "Fatto",
2881
+ "gds.feedback.rewarded": "Premiato",
2882
+ "gds.feedback.paused": "In pausa",
2883
+ "gds.feedback.mailed": "Inviato",
2884
+ "gds.feedback.refreshed": "Aggiornato",
2885
+ "gds.feedback.loggedOut": "Disconnesso",
2886
+ "gds.feedback.filtered": "Filtrato",
2887
+ "gds.feedback.sorted": "Ordinato",
2888
+ "gds.feedback.exported": "Esportato",
2889
+ "gds.feedback.imported": "Importato",
2890
+ "gds.feedback.previewed": "Visualizzato",
2891
+ "gds.feedback.cloned": "Clonato",
2892
+ "gds.feedback.restored": "Ripristinato",
2893
+ "gds.feedback.toggled": "Attivato",
2894
+ "gds.feedback.searched": "Cercato",
2895
+ "gds.feedback.submitted": "Inviato",
2896
+ "gds.feedback.reset": "Reimpostato",
2897
+ "gds.feedback.loggedIn": "Accesso effettuato",
2898
+ "gds.feedback.registered": "Registrato",
2899
+ "gds.feedback.verified": "Verificato",
2900
+ "gds.feedback.launched": "Avviato",
2901
+ "gds.feedback.drafted": "Bozza salvata",
2902
+ "gds.feedback.referred": "Segnalato",
2903
+ "gds.aria.themeToggle": "Cambia schema colori",
2904
+ "gds.state.emptyData": "Nessun dato disponibile."
2905
+ };
2906
+
2907
+ // src/locales/ru.ts
2908
+ var ru = {
2909
+ "gds.action.settings": "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",
2910
+ "gds.action.analytics": "\u0410\u043D\u0430\u043B\u0438\u0442\u0438\u043A\u0430",
2911
+ "gds.action.dashboard": "\u041F\u0430\u043D\u0435\u043B\u044C",
2912
+ "gds.action.play": "\u0412\u043E\u0441\u043F\u0440\u043E\u0438\u0437\u0432\u0435\u0441\u0442\u0438",
2913
+ "gds.action.start": "\u0421\u0442\u0430\u0440\u0442",
2914
+ "gds.action.users": "\u041F\u043E\u043B\u044C\u0437\u043E\u0432\u0430\u0442\u0435\u043B\u0438",
2915
+ "gds.action.add": "\u0414\u043E\u0431\u0430\u0432\u0438\u0442\u044C",
2916
+ "gds.action.edit": "\u0418\u0437\u043C\u0435\u043D\u0438\u0442\u044C",
2917
+ "gds.action.delete": "\u0423\u0434\u0430\u043B\u0438\u0442\u044C",
2918
+ "gds.action.save": "\u0421\u043E\u0445\u0440\u0430\u043D\u0438\u0442\u044C",
2919
+ "gds.action.cancel": "\u041E\u0442\u043C\u0435\u043D\u0430",
2920
+ "gds.action.confirm": "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C",
2921
+ "gds.action.close": "\u0417\u0430\u043A\u0440\u044B\u0442\u044C",
2922
+ "gds.action.language": "\u042F\u0437\u044B\u043A",
2923
+ "gds.action.theme": "\u0422\u0435\u043C\u0430",
2924
+ "gds.action.home": "\u0413\u043B\u0430\u0432\u043D\u0430\u044F",
2925
+ "gds.action.inbox": "\u0412\u0445\u043E\u0434\u044F\u0449\u0438\u0435",
2926
+ "gds.action.calendar": "\u041A\u0430\u043B\u0435\u043D\u0434\u0430\u0440\u044C",
2927
+ "gds.action.gallery": "\u0413\u0430\u043B\u0435\u0440\u0435\u044F",
2928
+ "gds.action.history": "\u0418\u0441\u0442\u043E\u0440\u0438\u044F",
2929
+ "gds.action.profile": "\u041F\u0440\u043E\u0444\u0438\u043B\u044C",
2930
+ "gds.action.send": "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
2931
+ "gds.action.reply": "\u041E\u0442\u0432\u0435\u0442\u0438\u0442\u044C",
2932
+ "gds.action.forward": "\u041F\u0435\u0440\u0435\u0441\u043B\u0430\u0442\u044C",
2933
+ "gds.action.attach": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u0438\u0442\u044C",
2934
+ "gds.action.upload": "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",
2935
+ "gds.action.download": "\u0421\u043A\u0430\u0447\u0430\u0442\u044C",
2936
+ "gds.action.print": "\u041F\u0435\u0447\u0430\u0442\u044C",
2937
+ "gds.action.copy": "\u041A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
2938
+ "gds.action.duplicate": "\u0414\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
2939
+ "gds.action.check": "\u041E\u0442\u043C\u0435\u0442\u0438\u0442\u044C",
2940
+ "gds.action.uncheck": "\u0421\u043D\u044F\u0442\u044C \u043E\u0442\u043C\u0435\u0442\u043A\u0443",
2941
+ "gds.action.complete": "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C",
2942
+ "gds.action.clear": "\u041E\u0447\u0438\u0441\u0442\u0438\u0442\u044C",
2943
+ "gds.action.capture": "\u0421\u043D\u044F\u0442\u044C",
2944
+ "gds.action.record": "\u0417\u0430\u043F\u0438\u0441\u044C",
2945
+ "gds.action.flip": "\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u044C",
2946
+ "gds.action.flash": "\u0412\u0441\u043F\u044B\u0448\u043A\u0430",
2947
+ "gds.action.course": "\u041A\u0443\u0440\u0441",
2948
+ "gds.action.lesson": "\u0423\u0440\u043E\u043A",
2949
+ "gds.action.certificate": "\u0421\u0435\u0440\u0442\u0438\u0444\u0438\u043A\u0430\u0442",
2950
+ "gds.action.student": "\u0421\u0442\u0443\u0434\u0435\u043D\u0442",
2951
+ "gds.action.class": "\u041A\u043B\u0430\u0441\u0441",
2952
+ "gds.action.grade": "\u041E\u0446\u0435\u043D\u043A\u0430",
2953
+ "gds.action.child": "\u0420\u0435\u0431\u0435\u043D\u043E\u043A",
2954
+ "gds.action.family": "\u0421\u0435\u043C\u044C\u044F",
2955
+ "gds.action.habit": "\u041F\u0440\u0438\u0432\u044B\u0447\u043A\u0430",
2956
+ "gds.action.goal": "\u0426\u0435\u043B\u044C",
2957
+ "gds.action.streak": "\u0421\u0435\u0440\u0438\u044F",
2958
+ "gds.action.reward": "\u041D\u0430\u0433\u0440\u0430\u0434\u0430",
2959
+ "gds.action.trophy": "\u0422\u0440\u043E\u0444\u0435\u0439",
2960
+ "gds.action.crown": "\u041A\u043E\u0440\u043E\u043D\u0430",
2961
+ "gds.action.pause": "\u041F\u0430\u0443\u0437\u0430",
2962
+ "gds.action.message": "\u0421\u043E\u043E\u0431\u0449\u0435\u043D\u0438\u0435",
2963
+ "gds.action.mail": "\u041F\u043E\u0447\u0442\u0430",
2964
+ "gds.action.refresh": "\u041E\u0431\u043D\u043E\u0432\u0438\u0442\u044C",
2965
+ "gds.action.trendingUp": "\u0422\u0435\u043D\u0434\u0435\u043D\u0446\u0438\u044F \u0432\u0432\u0435\u0440\u0445",
2966
+ "gds.action.trendingDown": "\u0422\u0435\u043D\u0434\u0435\u043D\u0446\u0438\u044F \u0432\u043D\u0438\u0437",
2967
+ "gds.action.currency": "\u0412\u0430\u043B\u044E\u0442\u0430",
2968
+ "gds.action.grid": "\u0421\u0435\u0442\u043A\u0430",
2969
+ "gds.action.list": "\u0421\u043F\u0438\u0441\u043E\u043A",
2970
+ "gds.action.logout": "\u0412\u044B\u0439\u0442\u0438",
2971
+ "gds.action.notifications": "\u0423\u0432\u0435\u0434\u043E\u043C\u043B\u0435\u043D\u0438\u044F",
2972
+ "gds.action.back": "\u041D\u0430\u0437\u0430\u0434",
2973
+ "gds.action.eye": "\u041F\u043E\u043A\u0430\u0437\u0430\u0442\u044C",
2974
+ "gds.action.eyeOff": "\u0421\u043A\u0440\u044B\u0442\u044C",
2975
+ "gds.action.help": "\u041F\u043E\u043C\u043E\u0449\u044C",
2976
+ "gds.action.filter": "\u0424\u0438\u043B\u044C\u0442\u0440",
2977
+ "gds.action.sort": "\u0421\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u043A\u0430",
2978
+ "gds.action.export": "\u042D\u043A\u0441\u043F\u043E\u0440\u0442",
2979
+ "gds.action.import": "\u0418\u043C\u043F\u043E\u0440\u0442",
2980
+ "gds.action.preview": "\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440",
2981
+ "gds.action.clone": "\u041A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u0442\u044C",
2982
+ "gds.action.restore": "\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u0438\u0442\u044C",
2983
+ "gds.action.toggle": "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C",
2984
+ "gds.action.search": "\u041F\u043E\u0438\u0441\u043A",
2985
+ "gds.action.submit": "\u041E\u0442\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
2986
+ "gds.action.reset": "\u0421\u0431\u0440\u043E\u0441\u0438\u0442\u044C",
2987
+ "gds.action.login": "\u0412\u043E\u0439\u0442\u0438",
2988
+ "gds.action.register": "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0430\u0446\u0438\u044F",
2989
+ "gds.action.verify": "\u041F\u0440\u043E\u0432\u0435\u0440\u0438\u0442\u044C",
2990
+ "gds.action.launch": "\u0417\u0430\u043F\u0443\u0441\u0442\u0438\u0442\u044C",
2991
+ "gds.action.draft": "\u0427\u0435\u0440\u043D\u043E\u0432\u0438\u043A",
2992
+ "gds.action.refer": "\u041D\u0430\u043F\u0440\u0430\u0432\u0438\u0442\u044C",
2993
+ "gds.action.evidence": "\u0414\u043E\u043A\u0430\u0437\u0430\u0442\u0435\u043B\u044C\u0441\u0442\u0432\u043E",
2994
+ "gds.feedback.saved": "\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u043E",
2995
+ "gds.feedback.error": "\u0427\u0442\u043E-\u0442\u043E \u043F\u043E\u0448\u043B\u043E \u043D\u0435 \u0442\u0430\u043A",
2996
+ "gds.feedback.added": "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u043E",
2997
+ "gds.feedback.edited": "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E",
2998
+ "gds.feedback.deleted": "\u0423\u0434\u0430\u043B\u0435\u043D\u043E",
2999
+ "gds.feedback.canceled": "\u041E\u0442\u043C\u0435\u043D\u0435\u043D\u043E",
3000
+ "gds.feedback.confirmed": "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0435\u043D\u043E",
3001
+ "gds.feedback.closed": "\u0417\u0430\u043A\u0440\u044B\u0442\u043E",
3002
+ "gds.feedback.changed": "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E",
3003
+ "gds.feedback.loaded": "\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E",
3004
+ "gds.feedback.started": "\u041D\u0430\u0447\u0430\u0442\u043E",
3005
+ "gds.feedback.opened": "\u041E\u0442\u043A\u0440\u044B\u0442\u043E",
3006
+ "gds.feedback.sent": "\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
3007
+ "gds.feedback.replied": "\u041E\u0442\u0432\u0435\u0447\u0435\u043D\u043E",
3008
+ "gds.feedback.forwarded": "\u041F\u0435\u0440\u0435\u0441\u043B\u0430\u043D\u043E",
3009
+ "gds.feedback.attached": "\u041F\u0440\u0438\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u043E",
3010
+ "gds.feedback.uploaded": "\u0417\u0430\u0433\u0440\u0443\u0436\u0435\u043D\u043E",
3011
+ "gds.feedback.downloaded": "\u0421\u043A\u0430\u0447\u0430\u043D\u043E",
3012
+ "gds.feedback.printed": "\u0420\u0430\u0441\u043F\u0435\u0447\u0430\u0442\u0430\u043D\u043E",
3013
+ "gds.feedback.copied": "\u0421\u043A\u043E\u043F\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
3014
+ "gds.feedback.duplicated": "\u0414\u0443\u0431\u043B\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
3015
+ "gds.feedback.checked": "\u041E\u0442\u043C\u0435\u0447\u0435\u043D\u043E",
3016
+ "gds.feedback.unchecked": "\u041E\u0442\u043C\u0435\u0442\u043A\u0430 \u0441\u043D\u044F\u0442\u0430",
3017
+ "gds.feedback.completed": "\u0417\u0430\u0432\u0435\u0440\u0448\u0435\u043D\u043E",
3018
+ "gds.feedback.cleared": "\u041E\u0447\u0438\u0449\u0435\u043D\u043E",
3019
+ "gds.feedback.captured": "\u0421\u043D\u044F\u0442\u043E",
3020
+ "gds.feedback.recorded": "\u0417\u0430\u043F\u0438\u0441\u0430\u043D\u043E",
3021
+ "gds.feedback.flipped": "\u041F\u0435\u0440\u0435\u0432\u0435\u0440\u043D\u0443\u0442\u043E",
3022
+ "gds.feedback.flashed": "\u0412\u0441\u043F\u044B\u0448\u043A\u0430",
3023
+ "gds.feedback.done": "\u0413\u043E\u0442\u043E\u0432\u043E",
3024
+ "gds.feedback.rewarded": "\u041D\u0430\u0433\u0440\u0430\u0436\u0434\u0435\u043D\u043E",
3025
+ "gds.feedback.paused": "\u041F\u0440\u0438\u043E\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",
3026
+ "gds.feedback.mailed": "\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
3027
+ "gds.feedback.refreshed": "\u041E\u0431\u043D\u043E\u0432\u043B\u0435\u043D\u043E",
3028
+ "gds.feedback.loggedOut": "\u0412\u044B\u0448\u0435\u043B",
3029
+ "gds.feedback.filtered": "\u041E\u0442\u0444\u0438\u043B\u044C\u0442\u0440\u043E\u0432\u0430\u043D\u043E",
3030
+ "gds.feedback.sorted": "\u041E\u0442\u0441\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
3031
+ "gds.feedback.exported": "\u042D\u043A\u0441\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
3032
+ "gds.feedback.imported": "\u0418\u043C\u043F\u043E\u0440\u0442\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
3033
+ "gds.feedback.previewed": "\u041F\u0440\u0435\u0434\u043F\u0440\u043E\u0441\u043C\u043E\u0442\u0440\u0435\u043D\u043E",
3034
+ "gds.feedback.cloned": "\u041A\u043B\u043E\u043D\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
3035
+ "gds.feedback.restored": "\u0412\u043E\u0441\u0441\u0442\u0430\u043D\u043E\u0432\u043B\u0435\u043D\u043E",
3036
+ "gds.feedback.toggled": "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0435\u043D\u043E",
3037
+ "gds.feedback.searched": "\u041D\u0430\u0439\u0434\u0435\u043D\u043E",
3038
+ "gds.feedback.submitted": "\u041E\u0442\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
3039
+ "gds.feedback.reset": "\u0421\u0431\u0440\u043E\u0448\u0435\u043D\u043E",
3040
+ "gds.feedback.loggedIn": "\u0412\u0445\u043E\u0434 \u0432\u044B\u043F\u043E\u043B\u043D\u0435\u043D",
3041
+ "gds.feedback.registered": "\u0417\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043E\u0432\u0430\u043D\u043E",
3042
+ "gds.feedback.verified": "\u041F\u0440\u043E\u0432\u0435\u0440\u0435\u043D\u043E",
3043
+ "gds.feedback.launched": "\u0417\u0430\u043F\u0443\u0449\u0435\u043D\u043E",
3044
+ "gds.feedback.drafted": "\u0427\u0435\u0440\u043D\u043E\u0432\u0438\u043A \u0441\u043E\u0437\u0434\u0430\u043D",
3045
+ "gds.feedback.referred": "\u041D\u0430\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E",
3046
+ "gds.aria.themeToggle": "\u041F\u0435\u0440\u0435\u043A\u043B\u044E\u0447\u0438\u0442\u044C \u0446\u0432\u0435\u0442\u043E\u0432\u0443\u044E \u0441\u0445\u0435\u043C\u0443",
3047
+ "gds.state.emptyData": "\u041D\u0435\u0442 \u0434\u043E\u0441\u0442\u0443\u043F\u043D\u044B\u0445 \u0434\u0430\u043D\u043D\u044B\u0445."
3048
+ };
3049
+
3050
+ // src/locales/index.ts
3051
+ var gdsLocales = {
3052
+ en,
3053
+ es,
3054
+ hu,
3055
+ de,
3056
+ fr,
3057
+ it,
3058
+ ru,
3059
+ he,
3060
+ ar
3061
+ };
3062
+ function getGdsMessages(locale) {
3063
+ return gdsLocales[locale] ?? en;
3064
+ }
3065
+ // Annotate the CommonJS export names for ESM import in node:
3066
+ 0 && (module.exports = {
3067
+ AccentPanel,
3068
+ AccessSummary,
3069
+ ArticleShell,
3070
+ AuthShell,
3071
+ BrowseSurface,
3072
+ ConsumerDashboardGrid,
3073
+ ConsumerSection,
3074
+ CtaButtonGroup,
3075
+ DataToolbar,
3076
+ DocsPageShell,
3077
+ EditorialCard,
3078
+ EditorialHero,
3079
+ EmptyState,
3080
+ FeatureBand,
3081
+ FilterDrawer,
3082
+ FormField,
3083
+ GdsIcons,
3084
+ GdsVocabulary,
3085
+ MediaCard,
3086
+ MediaField,
3087
+ MetricCard,
3088
+ PageHeader,
3089
+ PlaceholderPanel,
3090
+ ProductCard,
3091
+ ProgressCard,
3092
+ PublicBrandFooter,
3093
+ PublicNav,
3094
+ PublicProductCard,
3095
+ PublicShell,
3096
+ PublicSiteFooter,
3097
+ SectionPanel,
3098
+ SimpleDataTable,
3099
+ StateBlock,
3100
+ StatsSection,
3101
+ StatusBadge,
3102
+ ar,
3103
+ de,
3104
+ en,
3105
+ es,
3106
+ fr,
3107
+ gdsLocales,
3108
+ getGdsMessages,
3109
+ he,
3110
+ hu,
3111
+ it,
3112
+ resolveAccentPanelStyles,
3113
+ ru
3114
+ });