@tempots/beatui 1.5.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (184) hide show
  1. package/dist/ar-Wr6gMs-M.cjs +1 -0
  2. package/dist/{ar-C-kUt6f9.js → ar-fdUqbCvM.js} +154 -1
  3. package/dist/auth/index.cjs.js +1 -1
  4. package/dist/auth/index.es.js +1 -1
  5. package/dist/auth-divider-DewHpITQ.cjs +1 -0
  6. package/dist/{auth-divider-BIATan1F.js → auth-divider-qnJuYK-x.js} +7 -7
  7. package/dist/beatui.css +1711 -132
  8. package/dist/beatui.tailwind.css +1711 -132
  9. package/dist/better-auth/index.cjs.js +1 -1
  10. package/dist/better-auth/index.es.js +5 -5
  11. package/dist/{modal-BHlp4QeT.js → custom-validation-BetUqAEz.js} +186 -186
  12. package/dist/custom-validation-CLscGHY4.cjs +1 -0
  13. package/dist/{de-CP0kbElb.js → de-C5-k5Eov.js} +156 -3
  14. package/dist/de-DZqdSEta.cjs +1 -0
  15. package/dist/deep-merge-D90SW1Ci.cjs +1 -0
  16. package/dist/deep-merge-ZVigk5Qf.js +1765 -0
  17. package/dist/{duration-input-C5il_E0F.cjs → duration-input-4AQnQpyo.cjs} +1 -1
  18. package/dist/{duration-input-DoCCrqOG.js → duration-input-GMBmT1BE.js} +4 -4
  19. package/dist/{editor-toolbar-group-QVdBUbB8.cjs → editor-toolbar-group-C_ft_T8D.cjs} +1 -1
  20. package/dist/{editor-toolbar-group-DWUWUO-B.js → editor-toolbar-group-FpOHrmtx.js} +2 -2
  21. package/dist/es-CJgYfRap.cjs +1 -0
  22. package/dist/{es-BtIkcnsw.js → es-h6jmoF4X.js} +156 -3
  23. package/dist/fa-BQ5PzwNY.cjs +1 -0
  24. package/dist/{fa-11-rZmQ-.js → fa-BuxK837l.js} +154 -1
  25. package/dist/fr-Bv3TG44U.cjs +1 -0
  26. package/dist/{fr-C-L2F8w2.js → fr-BwILQ9G2.js} +165 -12
  27. package/dist/he-5LbvgMCC.cjs +1 -0
  28. package/dist/{he-Bu1xGoQ9.js → he-yC9Sc7JD.js} +154 -1
  29. package/dist/{hi-CewH-MAH.js → hi-Da7rcCpP.js} +154 -1
  30. package/dist/hi-YWhWcG_L.cjs +1 -0
  31. package/dist/{index-BGKz2Nol.js → index-DI8bf9oC.js} +175 -172
  32. package/dist/index-DeUj-5ph.cjs +1 -0
  33. package/dist/index.cjs.js +4 -4
  34. package/dist/index.es.js +11548 -8326
  35. package/dist/{input-container-CO3DNqpp.js → input-container-8JFB11xN.js} +1 -1
  36. package/dist/{input-container-BkPcNDaZ.cjs → input-container-CyOgiiQD.cjs} +1 -1
  37. package/dist/it-BxOIJE45.cjs +1 -0
  38. package/dist/{it-5hiKQO_p.js → it-Yeklau78.js} +156 -3
  39. package/dist/ja-CNhjK06P.cjs +1 -0
  40. package/dist/{ja-CGfEmZrm.js → ja-Dxj9Q5Yd.js} +155 -2
  41. package/dist/json-schema/index.cjs.js +1 -1
  42. package/dist/json-schema/index.es.js +10 -10
  43. package/dist/json-schema-display/index.cjs.js +1 -1
  44. package/dist/json-schema-display/index.es.js +1 -1
  45. package/dist/json-structure/index.cjs.js +1 -1
  46. package/dist/json-structure/index.es.js +5 -5
  47. package/dist/ko-DgkqcXTs.cjs +1 -0
  48. package/dist/{ko-DZthvREd.js → ko-gn_MsegK.js} +154 -1
  49. package/dist/lexical/index.cjs.js +1 -1
  50. package/dist/lexical/index.es.js +4 -4
  51. package/dist/nl-Dy9lmbBO.cjs +1 -0
  52. package/dist/{nl-CcKyHlQ7.js → nl-vHNFtXXb.js} +162 -9
  53. package/dist/{notice-BXKtBEiC.js → notice-B6ojfenv.js} +4 -4
  54. package/dist/{notice-BBnSXYUc.cjs → notice-p2IqXS5-.cjs} +1 -1
  55. package/dist/{oneof-branch-detection-DSzC0PkO.js → oneof-branch-detection-Q_jxvJIA.js} +1 -1
  56. package/dist/{oneof-branch-detection-BEkAezNi.cjs → oneof-branch-detection-xDDDdYRk.cjs} +1 -1
  57. package/dist/pl-BtYbtsmG.cjs +1 -0
  58. package/dist/{pl-Mwtjp4MV.js → pl-C0UdHla0.js} +184 -31
  59. package/dist/prosemirror/index.cjs.js +1 -1
  60. package/dist/prosemirror/index.es.js +4 -4
  61. package/dist/pt-CtNmqQ1X.cjs +1 -0
  62. package/dist/{pt-BaTsY-8f.js → pt-DGKtfN0d.js} +156 -3
  63. package/dist/ru-BaL_NPRU.cjs +1 -0
  64. package/dist/{ru-CvbGmz5s.js → ru-CpXYLt-v.js} +154 -1
  65. package/dist/tailwind/preset.cjs.js +1 -1
  66. package/dist/tailwind/preset.es.js +1 -1
  67. package/dist/tailwind/vite-plugin.cjs.js +1 -1
  68. package/dist/tailwind/vite-plugin.es.js +1 -1
  69. package/dist/{text-input-D_IxFd0M.cjs → text-input-DS5zlXb2.cjs} +1 -1
  70. package/dist/{text-input-BAn02BzO.js → text-input-NJypZSnE.js} +1 -1
  71. package/dist/{toolbar-CnecqhaU.cjs → toolbar-BBwfe8U9.cjs} +1 -1
  72. package/dist/{toolbar-BKan3NHw.js → toolbar-BF2L6WKC.js} +1 -1
  73. package/dist/{tr-YFqQdZjM.js → tr-DIFZDFW_.js} +156 -3
  74. package/dist/tr-DwOd87oB.cjs +1 -0
  75. package/dist/{translations-CxDUnbXn.js → translations-5cXBrENb.js} +1 -1
  76. package/dist/{translations-DT5QQ4WO.js → translations-BCMP-h52.js} +269 -115
  77. package/dist/{translations-C_-cObaF.cjs → translations-BqWc0ZHz.cjs} +1 -1
  78. package/dist/translations-EwEmHe3v.cjs +1 -0
  79. package/dist/types/beatui-i18n/default.d.ts +109 -0
  80. package/dist/types/beatui-i18n/locales/en.d.ts +109 -0
  81. package/dist/types/beatui-i18n/translations.d.ts +109 -0
  82. package/dist/types/components/button/copy-button.d.ts +42 -0
  83. package/dist/types/components/button/index.d.ts +1 -0
  84. package/dist/types/components/button/toggle-button-group.d.ts +2 -2
  85. package/dist/types/components/button/toggle-button.d.ts +2 -2
  86. package/dist/types/components/data/date-picker-shared.d.ts +2 -5
  87. package/dist/types/components/data/date-picker.d.ts +1 -1
  88. package/dist/types/components/data/date-range-picker.d.ts +1 -1
  89. package/dist/types/components/data/index.d.ts +3 -0
  90. package/dist/types/components/data/stat-card.d.ts +108 -0
  91. package/dist/types/components/data/time-picker.d.ts +54 -0
  92. package/dist/types/components/data/virtual-scrolling/index.d.ts +1 -0
  93. package/dist/types/components/data/virtual-scrolling/virtual-list.d.ts +91 -0
  94. package/dist/types/components/form/input/checkbox-input.d.ts +1 -1
  95. package/dist/types/components/form/input/color-input.d.ts +1 -1
  96. package/dist/types/components/form/input/color-picker/canvas-draw.d.ts +12 -0
  97. package/dist/types/components/form/input/color-picker/channel-picker.d.ts +71 -0
  98. package/dist/types/components/form/input/color-picker/hex-color-picker.d.ts +20 -0
  99. package/dist/types/components/form/input/color-picker/hsl-color-picker.d.ts +14 -0
  100. package/dist/types/components/form/input/color-picker/hwb-color-picker.d.ts +15 -0
  101. package/dist/types/components/form/input/color-picker/index.d.ts +7 -0
  102. package/dist/types/components/form/input/color-picker/oklch-color-picker.d.ts +15 -0
  103. package/dist/types/components/form/input/color-picker/rgb-color-picker.d.ts +17 -0
  104. package/dist/types/components/form/input/color-swatch-input.d.ts +1 -1
  105. package/dist/types/components/form/input/combobox-input.d.ts +1 -1
  106. package/dist/types/components/form/input/date-input.d.ts +1 -1
  107. package/dist/types/components/form/input/date-range-select-base.d.ts +23 -0
  108. package/dist/types/components/form/input/date-range-select.d.ts +64 -0
  109. package/dist/types/components/form/input/date-select.d.ts +52 -0
  110. package/dist/types/components/form/input/date-time-input.d.ts +1 -1
  111. package/dist/types/components/form/input/date-time-select-base.d.ts +23 -0
  112. package/dist/types/components/form/input/date-time-select.d.ts +66 -0
  113. package/dist/types/components/form/input/dropdown-input.d.ts +1 -1
  114. package/dist/types/components/form/input/email-input.d.ts +1 -1
  115. package/dist/types/components/form/input/index.d.ts +17 -0
  116. package/dist/types/components/form/input/nullable-date-select.d.ts +55 -0
  117. package/dist/types/components/form/input/nullable-date-time-select.d.ts +68 -0
  118. package/dist/types/components/form/input/nullable-time-select.d.ts +64 -0
  119. package/dist/types/components/form/input/number-input.d.ts +5 -40
  120. package/dist/types/components/form/input/number-stepper.d.ts +53 -0
  121. package/dist/types/components/form/input/open-date-range-select.d.ts +75 -0
  122. package/dist/types/components/form/input/otp-input.d.ts +2 -2
  123. package/dist/types/components/form/input/password-input.d.ts +1 -1
  124. package/dist/types/components/form/input/radio-group.d.ts +1 -1
  125. package/dist/types/components/form/input/range-slider.d.ts +4 -4
  126. package/dist/types/components/form/input/rating-input.d.ts +1 -1
  127. package/dist/types/components/form/input/segmented-input.d.ts +6 -2
  128. package/dist/types/components/form/input/segmented-select.d.ts +84 -0
  129. package/dist/types/components/form/input/slider-input.d.ts +2 -2
  130. package/dist/types/components/form/input/sortable-list.d.ts +68 -0
  131. package/dist/types/components/form/input/switch.d.ts +1 -1
  132. package/dist/types/components/form/input/text-area.d.ts +1 -1
  133. package/dist/types/components/form/input/text-input.d.ts +1 -1
  134. package/dist/types/components/form/input/time-format.d.ts +31 -0
  135. package/dist/types/components/form/input/time-select-base.d.ts +23 -0
  136. package/dist/types/components/form/input/time-select.d.ts +61 -0
  137. package/dist/types/components/form/input/transfer-list.d.ts +56 -0
  138. package/dist/types/components/form/input/tri-state-checkbox-input.d.ts +1 -1
  139. package/dist/types/components/form/input/url-input.d.ts +1 -1
  140. package/dist/types/components/layout/nine-slice-scroll-view.d.ts +1 -1
  141. package/dist/types/components/navigation/index.d.ts +1 -0
  142. package/dist/types/components/navigation/stepper.d.ts +102 -0
  143. package/dist/types/components/overlay/index.d.ts +1 -1
  144. package/dist/types/components/overlay/spotlight.d.ts +62 -0
  145. package/dist/types/utils/index.d.ts +0 -1
  146. package/dist/ur-D9nLchps.cjs +1 -0
  147. package/dist/{ur-CdnwwnG_.js → ur-DBst-TXc.js} +154 -1
  148. package/dist/{use-form-CP6nftVl.cjs → use-form-Dcra7GeE.cjs} +1 -1
  149. package/dist/{use-form-CmQdxpOi.js → use-form-NfobsGNl.js} +2 -2
  150. package/dist/{vi-Bwvz1d_n.js → vi-DQOJp32U.js} +183 -30
  151. package/dist/vi-Dg1aiMr5.cjs +1 -0
  152. package/dist/widget-customization-BtkexHgm.js +1458 -0
  153. package/dist/widget-customization-pqmtsraC.cjs +1 -0
  154. package/dist/{zh-hy7Uw6c5.js → zh-DPK4HXl2.js} +154 -1
  155. package/dist/zh-tbwSTbmn.cjs +1 -0
  156. package/package.json +9 -9
  157. package/dist/ar-Dc56zcjW.cjs +0 -1
  158. package/dist/auth-divider-CVKfA8Cp.cjs +0 -1
  159. package/dist/de-DboQlEC4.cjs +0 -1
  160. package/dist/deep-merge-B33Qtlmw.cjs +0 -1
  161. package/dist/deep-merge-BUsrE2v4.js +0 -1704
  162. package/dist/es-CAmE_0Ph.cjs +0 -1
  163. package/dist/fa-D9LrFZdW.cjs +0 -1
  164. package/dist/fr-DKogQyss.cjs +0 -1
  165. package/dist/he-CVx91Jdr.cjs +0 -1
  166. package/dist/hi-BgrHV72l.cjs +0 -1
  167. package/dist/index-DFF7Uahh.cjs +0 -1
  168. package/dist/it-B1rA1F9l.cjs +0 -1
  169. package/dist/ja-DZnjjqoi.cjs +0 -1
  170. package/dist/ko-CDnYKYWU.cjs +0 -1
  171. package/dist/modal-BmpfNL48.cjs +0 -1
  172. package/dist/nl-Bj8QnDEY.cjs +0 -1
  173. package/dist/pl-BmuuxxVd.cjs +0 -1
  174. package/dist/pt-RiC0yeVA.cjs +0 -1
  175. package/dist/ru-pRqtOQHF.cjs +0 -1
  176. package/dist/tr-B9JhBJeL.cjs +0 -1
  177. package/dist/translations-qefRsdGi.cjs +0 -1
  178. package/dist/types/components/overlay/command-palette.d.ts +0 -17
  179. package/dist/types/utils/color.d.ts +0 -346
  180. package/dist/ur-BZakU0iv.cjs +0 -1
  181. package/dist/vi-D1nly0nb.cjs +0 -1
  182. package/dist/widget-customization-B0y-eesp.cjs +0 -1
  183. package/dist/widget-customization-CKbR4Dsg.js +0 -1066
  184. package/dist/zh-DBk7sSD9.cjs +0 -1
@@ -1,4 +1,4 @@
1
- import { f as i } from "./translations-DT5QQ4WO.js";
1
+ import { f as i } from "./translations-BCMP-h52.js";
2
2
  const s = {
3
3
  loadingExtended: "لوڈ ہو رہا ہے، براہ کرم انتظار کریں",
4
4
  loadingShort: "لوڈ ہو رہا ہے...",
@@ -57,6 +57,11 @@ const s = {
57
57
  clearAllFiles: "تمام فائلیں صاف کریں",
58
58
  // inputs reset
59
59
  clearValue: "قدر صاف کریں",
60
+ // Date range select
61
+ dateRangeStart: "Start",
62
+ dateRangeEnd: "End",
63
+ dateRangeNoLimit: "No limit",
64
+ dateRangeSelectDate: "Select date",
60
65
  unknownType: "نامعلوم قسم",
61
66
  filesInputInstructions: (e, t, l) => {
62
67
  let o = e == null || e > 1 ? "منتخب کرنے کے لیے کلک کریں یا فائلیں یہاں گھسیٹیں" : "منتخب کرنے کے لیے کلک کریں یا فائل یہاں گھسیٹیں";
@@ -247,6 +252,154 @@ const s = {
247
252
  horizontalRule: "Horizontal Rule",
248
253
  linkUrlPlaceholder: "https://example.com"
249
254
  },
255
+ // Carousel
256
+ carousel: {
257
+ label: "کیروسیل",
258
+ previousSlide: "پچھلی سلائیڈ",
259
+ nextSlide: "اگلی سلائیڈ",
260
+ slideNavigation: "سلائیڈ نیویگیشن",
261
+ slideOfTotal: (e, t) => `سلائیڈ ${e} از ${t}`,
262
+ goToSlide: (e) => `سلائیڈ ${e} پر جائیں`
263
+ },
264
+ // Date picker
265
+ datePicker: {
266
+ label: "تاریخ منتخب کریں",
267
+ previousYear: "پچھلا سال",
268
+ previousMonth: "پچھلا مہینہ",
269
+ selectMonth: "مہینہ منتخب کریں",
270
+ selectYear: "سال منتخب کریں",
271
+ nextMonth: "اگلا مہینہ",
272
+ nextYear: "اگلا سال",
273
+ previousYears: (e) => `پچھلے ${e} سال`,
274
+ nextYears: (e) => `اگلے ${e} سال`,
275
+ dateRangePickerLabel: "تاریخ کی حد منتخب کریں",
276
+ monthNames: [
277
+ "جنوری",
278
+ "فروری",
279
+ "مارچ",
280
+ "اپریل",
281
+ "مئی",
282
+ "جون",
283
+ "جولائی",
284
+ "اگست",
285
+ "ستمبر",
286
+ "اکتوبر",
287
+ "نومبر",
288
+ "دسمبر"
289
+ ],
290
+ shortMonthNames: [
291
+ "جنو",
292
+ "فرو",
293
+ "مار",
294
+ "اپر",
295
+ "مئی",
296
+ "جون",
297
+ "جول",
298
+ "اگس",
299
+ "ستم",
300
+ "اکت",
301
+ "نوم",
302
+ "دسم"
303
+ ],
304
+ dayNames: ["اتو", "پیر", "منگ", "بدھ", "جمع", "جمعہ", "ہفت"]
305
+ },
306
+ // Time picker
307
+ timePicker: {
308
+ label: "وقت منتخب کنندہ",
309
+ hoursLabel: "HH",
310
+ minutesLabel: "MM",
311
+ secondsLabel: "SS",
312
+ selectHours: "گھنٹے منتخب کریں",
313
+ selectMinutes: "منٹ منتخب کریں",
314
+ selectSeconds: "سیکنڈ منتخب کریں",
315
+ selectPeriod: "AM/PM منتخب کریں",
316
+ nowLabel: "ابھی"
317
+ },
318
+ // Time select
319
+ timeSelectTime: "وقت منتخب کریں",
320
+ dateTimeSelectDateTime: "تاریخ اور وقت منتخب کریں",
321
+ // Color picker
322
+ colorPicker: {
323
+ hue: "رنگت",
324
+ saturation: "سنترپشن",
325
+ lightness: "چمک",
326
+ alpha: "الفا",
327
+ red: "سرخ",
328
+ green: "سبز",
329
+ blue: "نیلا",
330
+ hex: "Hex",
331
+ whiteness: "سفیدی",
332
+ blackness: "سیاہی",
333
+ chroma: "کروما"
334
+ },
335
+ // Spotlight
336
+ spotlight: {
337
+ placeholder: "تلاش کریں...",
338
+ noResults: "کوئی نتائج نہیں ملے",
339
+ recentItems: "حالیہ",
340
+ close: "بند کریں"
341
+ },
342
+ // Virtual list
343
+ virtualList: {
344
+ listLabel: "سکرول کے قابل فہرست"
345
+ },
346
+ // Stepper
347
+ stepper: {
348
+ step: "مرحلہ",
349
+ stepOfTotal: (e, t) => `مرحلہ ${e} از ${t}`,
350
+ completed: "مکمل",
351
+ next: "اگلا",
352
+ previous: "پچھلا",
353
+ complete: "مکمل کریں"
354
+ },
355
+ // Sortable list
356
+ sortableList: {
357
+ dragHandle: "ترتیب بدلنے کے لیے گھسیٹیں"
358
+ },
359
+ // Transfer list
360
+ transferList: {
361
+ available: "دستیاب",
362
+ selected: "منتخب",
363
+ moveRight: "منتخب میں منتقل کریں",
364
+ moveLeft: "دستیاب میں منتقل کریں",
365
+ moveAllRight: "سب منتخب میں منتقل کریں",
366
+ moveAllLeft: "سب دستیاب میں منتقل کریں",
367
+ searchAvailable: "دستیاب آئٹمز تلاش کریں…",
368
+ searchSelected: "منتخب آئٹمز تلاش کریں…"
369
+ },
370
+ // Copy button
371
+ copyButton: {
372
+ copied: "کاپی ہو گیا!",
373
+ copyToClipboard: "کلپ بورڈ پر کاپی کریں"
374
+ },
375
+ // Number stepper
376
+ numberStepper: {
377
+ increment: "بڑھائیں",
378
+ decrement: "گھٹائیں",
379
+ value: "قدر"
380
+ },
381
+ // Stat card
382
+ statCard: {
383
+ trendUp: "بڑھتا رجحان",
384
+ trendDown: "گرتا رجحان",
385
+ trendFlat: "کوئی تبدیلی نہیں"
386
+ },
387
+ // OTP input
388
+ otpInputLabel: "ایک بار کا پاس ورڈ درج کریں",
389
+ otpDigitLabel: (e, t) => `ہندسہ ${e} از ${t}`,
390
+ // Nine-slice scroll view
391
+ scrollableGridView: "سکرول ایبل گرڈ ویو",
392
+ // Onboarding tour
393
+ onboardingTour: {
394
+ label: "رہنمائی ٹور",
395
+ stepIndicator: (e, t) => `مرحلہ ${e} از ${t}`,
396
+ skip: "چھوڑیں",
397
+ previous: "پچھلا",
398
+ next: "اگلا",
399
+ finish: "مکمل"
400
+ },
401
+ // Combobox
402
+ searchPlaceholder: "تلاش کریں",
250
403
  // PDF Page Viewer
251
404
  pdfPageViewer: {
252
405
  loading: "Loading PDF...",
@@ -1,2 +1,2 @@
1
- "use strict";const s=require("@tempots/dom"),w=require("./translations-qefRsdGi.cjs"),P=require("./input-container-BkPcNDaZ.cjs"),B=require("./stack-dwLevGa2.cjs"),_=require("./session-id-B5lJMzbB.cjs"),p=require("@tempots/std"),j={layout:"vertical",labelWidth:"7.5rem",size:"md",gap:"md",columns:1,minFieldWidth:"15rem",compact:!1},E={mark:s.makeProviderMark("FieldLayout"),create:(i={},e)=>{let t=j;try{t=e.getProvider(E.mark).value}catch(a){if(!(a instanceof s.ProviderNotFoundError))throw a}return{value:{layout:i.layout??t.layout,labelWidth:i.labelWidth??t.labelWidth,size:i.size??t.size,gap:i.gap??t.gap,columns:i.columns??t.columns,minFieldWidth:i.minFieldWidth??t.minFieldWidth,compact:i.compact??t.compact},dispose:()=>{}}}},q=s.html.span(s.attr.class("bc-field__required")," *");function te(i,e){const t=["bc-field"];return i!=="vertical"&&t.push(`bc-field--${i}`),e&&t.push("bc-field--compact"),t.join(" ")}function se(i,e){const t=["bc-field__label-text"];return i?t.push("bc-field__label-text--error"):e?t.push("bc-field__label-text--disabled"):t.push("bc-field__label-text--default"),t.join(" ")}function ie(i,e,t){const n=[];return(i==="horizontal-fixed"||i==="horizontal-end"||i==="responsive")&&e!=null&&n.push(`--field-label-width: ${e}`),t!=null&&t>0&&n.push(`grid-column: span ${t}`),n.length>0?n.join("; "):void 0}function ne(i,e,t){const{fullWidth:n=!1,required:a,label:o,labelChildren:l,context:r,description:c,content:u,error:h,labelFor:m,hasError:g,disabled:y,span:b}=e,d=g??h!=null,C=y??!1,V=e.layout??i.layout,J=e.labelWidth??i.labelWidth,Q=e.compact??i.compact,x=_.sessionId("input-wrapper"),T=c?`${x}-description`:void 0,I=h!=null?`${x}-error`:void 0,W=s.computedOf(V)(f=>f!=="vertical"&&f!=="responsive"),X=s.computedOf(V,J,b??void 0)((f,v,ee)=>ie(f,s.Value.get(v),ee)),Z=s.computedOf(V,Q)((f,v)=>te(f,v??!1));return s.html.div(s.attr.class(Z),s.attr.class(s.Value.map(n,f=>f?"bc-field--full-width":"")),s.attr.style(X),o!=null||r!=null?s.html.div(s.attr.class("bc-field__header"),s.html.div(s.attr.class("bc-field__label-section"),s.html.label(s.attr.class("bc-field__label"),m!=null?s.attr.for(m):s.Empty,s.html.span(s.attr.class(s.computedOf(d,C)((f,v)=>se(f??!1,v??!1))),o),o!=null&&a?q:s.Empty),s.When(s.computedOf(W,c)((f,v)=>f&&v!=null),()=>s.html.div(s.attr.class("bc-field__description bc-field__description--under-label"),s.attr.id(T),c))),r!=null?B.Label(r):s.Empty,l):s.Empty,s.html.div(s.attr.class("bc-field__content"),[T,I].filter(Boolean).length>0?s.dataAttr("describedby",[T,I].filter(Boolean).join(" ")):s.Empty,a?s.dataAttr("required","true"):s.Empty,s.When(d,()=>s.dataAttr("invalid","true")),u),s.When(s.computedOf(W,c)((f,v)=>!f&&v!=null),()=>s.html.div(s.attr.class("bc-field__description"),s.attr.id(T),c)),s.When(d,()=>s.html.div(s.attr.class("bc-field__error"),s.attr.id(I),s.aria.live("polite"),s.attr.role("alert"),h)),...t)}const S=(i,...e)=>{const t={};return i.layout!==void 0&&(t.layout=i.layout),i.labelWidth!==void 0&&(t.labelWidth=i.labelWidth),i.compact!==void 0&&(t.compact=i.compact),s.Provide(E,t,()=>s.Use(E,n=>ne(n,i,e)))};function ae({size:i="sm",icon:e="line-md:close",disabled:t,roundedness:n="full",color:a="base",onClick:o,label:l},...r){return s.Use(w.BeatUII18n,c=>{const u=s.coalesce(l,c.$.closeModal);return P.Button({variant:"text",size:i,roundedness:n,disabled:t,color:a,onClick:o},s.attr.title(u),s.aria.label(u),...r,w.Icon({icon:e,size:i??"sm"}))})}const re=i=>{const{value:e,onBlur:t,onChange:n,onInput:a,placeholder:o,disabled:l,id:r,activeIcon:c,inactiveIcon:u,size:h="md"}=i,m=r??_.sessionId("checkbox"),g=`${m}-label`,y=()=>{if(s.Value.get(l??!1))return;const d=s.Value.get(e);n?.(!d),a?.(!d)},b=d=>{s.Value.get(l??!1)||(d.key===" "||d.key==="Enter")&&(d.preventDefault(),y())};return P.InputContainer({baseContainer:!0,growInput:!1,...i,input:s.html.span(s.attr.class("bc-checkbox-input"),s.html.span(s.attr.class("bc-checkbox-input__checkbox"),s.attr.class(s.Value.map(e,d=>d?"bc-checkbox-input__checkbox--checked":"bc-checkbox-input__checkbox--unchecked")),s.attr.class(s.Value.map(l??!1,d=>d?"bc-checkbox-input__checkbox--disabled":"")),s.attr.id(m),s.attr.role("checkbox"),s.attr.tabindex(s.Value.map(l??!1,d=>d?-1:0)),s.aria.checked(e),s.aria.disabled(l),o!=null?s.aria.labelledby(g):s.Empty,s.on.keydown(b),t!=null?s.on.blur(t):s.Empty,w.Icon({icon:s.computedOf(e,c,u)((d,C,V)=>d?C??"ri:checkbox-fill":V??"mdi:checkbox-blank-outline"),accessibility:"decorative",size:h})),o!=null?s.html.label(s.attr.class("bc-checkbox-input__label"),s.attr.id(g),s.attr.for(m),B.MutedLabel(o)):s.Empty)},s.on.click(y))},L=((i,e)=>()=>{i.markTouched(),e?.()}),F=(i,e)=>t=>{i.change(t),e?.(t)};function M(i,e){const{controller:t,onBlur:n,onChange:a,id:o,triggerOn:l,...r}=e;return i({id:o??t.name,disabled:t.disabled,value:t.signal,hasError:t.errorVisible,name:t.name,...r,onInput:l==="input"?F(t,a):void 0,onChange:l!=="input"?F(t,a):void 0,onBlur:L(t,n)})}function le(i,{id:e,labelFor:t,...n},...a){const o=e??n.controller.name??_.sessionId("control"),l=t??o;return S({...n,hasError:n.controller.errorVisible,error:s.TextNode(n.controller.error.map(r=>r??"")),labelFor:l,content:M(r=>i({...r,id:o}),n)},...a)}function H(i,e){const{toInput:t,fromInput:n,controller:a,...o}=e,l=a.transform(t,n);return M(i,{...o,controller:l})}function oe(i,{id:e,labelFor:t,...n},...a){const o=e??n.controller.name??_.sessionId("control");return S({...n,labelFor:t??o,content:H(i,{...n,id:o})},...a)}function ce(i){return i.split(".").map(t=>{const n=t.match(/^\[(\d+)\]$/);return n?Number(n[1]):t})}function $(i){return typeof i=="number"?`[${i}]`:`.${i}`}function z(i){if(i.length===0)return"";const[e,...t]=i;return[typeof e=="number"?`[${e}]`:e,...t.map($)].join("")}const de={valid:p.Validation.valid,invalid(i){return p.Validation.invalid({message:i})},invalidFields(i){const e={};for(const[t,n]of Object.entries(i))e[t]=typeof n=="string"?{message:n}:n;return p.Validation.invalid({dependencies:e})},fromError(i){return p.Validation.invalid(i)}};function D(i){return function(t){if(t.type==="valid")return t;let n=t.error;for(const a of i)if(n=n?.dependencies?.[a],n==null)return p.Validation.valid;return p.Validation.invalid(n)}}class k{path;change;signal;status;error;hasError;touched;errorVisible;dirty;dependencyErrors;#e={disabled:s.prop(!1),touched:s.prop(!1)};#s;#t=s.prop(void 0);parent;disabled;#i=[];disabledOrHasErrors;constructor(e,t,n,a,o,l=p.strictEqual){this.path=e,this.change=t,this.signal=n,this.status=a,this.#s=l,this.#t.set(n.value),this.error=a.map(r=>r?.type==="invalid"?r.error?.message:void 0),this.hasError=this.error.map(r=>r!=null),this.touched=this.#e.touched,o.validationMode?this.errorVisible=s.computedOf(this.hasError,this.touched,o.validationMode)((r,c,u)=>u==="eager"?!!r:!!r&&!!c):this.errorVisible=s.computedOf(this.hasError,this.touched)((r,c)=>!!r&&!!c),this.dirty=s.computedOf(this.signal,this.#t)((r,c)=>!this.#s(r,c)),this.dependencyErrors=a.map(r=>r?.type==="invalid"?r.error?.dependencies:void 0),this.parent=o,this.disabled=s.computedOf(this.#e.disabled,o.disabled)((r,c)=>r||c),this.disabledOrHasErrors=s.computedOf(this.disabled,this.hasError)((r,c)=>r||c),this.onDispose(()=>{this.#e.disabled.dispose(),this.#e.touched.dispose(),this.disabled.dispose(),this.error.dispose(),this.errorVisible.dispose(),this.dirty.dispose(),this.#t.dispose(),this.dependencyErrors.dispose(),this.disabledOrHasErrors.dispose()})}get name(){return z(this.path)}onDispose=e=>{this.#i.push(e)};dispose=()=>{for(const e of this.#i)try{e()}catch(t){console.error("Error in dispose callback:",t)}this.#i.length=0};setDisabled=e=>{this.#e.disabled.set(e)};disable=()=>this.setDisabled(!0);enable=()=>this.setDisabled(!1);markTouched=()=>{this.#e.touched.set(!0)};resetTouched=()=>{this.#e.touched.set(!1)};markPristine=()=>{this.#t.set(this.signal.value)};reset=()=>{this.change(this.#t.value)};array=(e=p.strictEqual)=>new U(this.path,this.change,this.signal,this.status,this.parent,e);object=(e=p.strictEqual)=>new N(this.path,this.change,this.signal,this.status,this.parent,e);transform=(e,t,n=[],a=p.strictEqual)=>new k([...this.path,...n],o=>this.change(t(o)),this.signal.map(e,a),this.status.map(D(n)),this.parent,a);asyncTransform=(e,t,n,a=[],o=p.strictEqual)=>new k([...this.path,...a],l=>{t(l).then(r=>this.change(r))},this.signal.mapAsync(e,n,void 0,o),this.status.map(D(a)),this.parent,o)}class N extends k{#e=new Map;#s=new Map;#t=new Map;#i=s.prop(!1);touchedDeep=this.#i;#a=new Map;#n=new Map;#l=s.prop(!1);dirtyDeep=this.#l;#c;#d;#o=()=>{let e=!1;for(const t of this.#s.values())if(t){e=!0;break}this.#i.set(this.touched.value||e)};constructor(e,t,n,a,o,l){super(e,t,n.map(c=>c??{},l),a,o,l),this.#c=this.touched.on(()=>{this.#o()}),this.#d=this.dirty.on(()=>{this.#r()});const r=this.signal.on(()=>this.#r());this.onDispose(()=>{for(const c of this.#e.values())c.dispose();this.#e.clear();for(const c of this.#t.values())c();this.#t.clear(),this.#s.clear(),this.#i.dispose();for(const c of this.#n.values())c();this.#n.clear(),this.#a.clear(),this.#l.dispose(),this.#c(),this.#d(),r()})}field=e=>{if(this.#e.has(e))return this.#e.get(e);const t=async l=>{this.change({...this.signal.value,[e]:l})},n=new k([...this.path,e],t,this.signal.map(l=>l[e]),this.status.map(D([e])),{disabled:this.disabled,validationMode:this.parent.validationMode});this.#e.set(e,n);const a=n.touched.on(l=>{this.#s.set(e,l),this.#o()});this.#t.set(e,a);const o=n.dirty.on(l=>{this.#a.set(e,l),this.#r()});return this.#n.set(e,o),n};markAllTouched=()=>{this.markTouched();const e=this.signal.value;for(const t of Object.keys(e))this.field(t).markTouched();for(const t of this.#e.values())t.markTouched()};markAllPristine=()=>{this.markPristine();const e=this.signal.value;for(const t of Object.keys(e))this.field(t).markPristine?.();for(const t of this.#e.values())t.markPristine?.()};#r=()=>{let e=!1;for(const t of this.#a.values())if(t){e=!0;break}this.#l.set(this.dirty.value||e)}}class U extends k{#e=new Array;length;#s=new Map;#t=new Map;#i=s.prop(!1);touchedDeep=this.#i;#a=new Map;#n=new Map;#l=s.prop(!1);dirtyDeep=this.#l;#c;#d;#o=()=>{let e=!1;for(const t of this.#s.values())if(t){e=!0;break}this.#i.set(this.touched.value||e)};constructor(e,t,n,a,o,l){const r=n.map(h=>h??[],l);super(e,t,r,a,o,l);const c=r.on(h=>{const m=this.#e.length-h.length;m>0&&(this.#e.splice(h.length,m).forEach((g,y)=>{const b=h.length+y;g.dispose(),this.#t.get(b)?.(),this.#t.delete(b),this.#s.delete(b),this.#n.get(b)?.(),this.#n.delete(b),this.#a.delete(b)}),this.#o(),this.#r())});this.length=r.map(h=>h.length),this.#c=this.touched.on(()=>{this.#o()}),this.#d=this.dirty.on(()=>{this.#r()});const u=this.signal.on(()=>this.#r());this.onDispose(()=>{for(const h of this.#e)h.dispose();this.length.dispose(),this.#e.length=0,c(),r.dispose();for(const h of this.#t.values())h();this.#t.clear(),this.#s.clear(),this.#i.dispose();for(const h of this.#n.values())h();this.#n.clear(),this.#a.clear(),this.#l.dispose(),this.#c(),this.#d(),u()})}item=e=>{if(this.#e[e])return this.#e[e];const t=async l=>{const r=this.signal.value.slice();r[e]=l,this.change(r)},n=new k([...this.path,e],t,this.signal.map(l=>l[e]),this.status.map(D([e])),{disabled:this.disabled,validationMode:this.parent.validationMode});this.#e[e]=n;const a=n.touched.on(l=>{this.#s.set(e,l),this.#o()});this.#t.set(e,a);const o=n.dirty.on(l=>{this.#a.set(e,l),this.#r()});return this.#n.set(e,o),n};push=(...e)=>{this.change([...this.signal.value,...e])};pop=()=>{this.splice(this.signal.value.length-1,1)};shift=()=>{this.splice(0,1)};unshift=(...e)=>{this.change([...e,...this.signal.value])};removeAt=e=>{this.splice(e,1)};splice=(e,t)=>{const n=this.signal.value.slice();n.splice(e,t),this.change(n)};move=(e,t,n=1)=>{if(n<1||e===t)return;const a=this.signal.value.slice(),o=a.splice(e,n);a.splice(t,0,...o),this.change(a)};markAllTouched=()=>{this.markTouched();const e=this.signal.value.length;for(let t=0;t<e;t++)this.item(t).markTouched()};markAllPristine=()=>{this.markPristine();const e=this.signal.value.length;for(let t=0;t<e;t++)this.item(t).markPristine?.()};#r=()=>{let e=!1;for(const t of this.#a.values())if(t){e=!0;break}this.#l.set(this.dirty.value||e)}}function R(i){function e(t){return typeof t=="number"?t:t.toString()}return i.map(t=>typeof t=="object"&&t.key!=null?e(t.key):e(t))}function Y(i){const e=i.filter(a=>a.path==null||a.path.length===0).map(a=>a.message),t=i.filter(a=>a.path!=null&&a.path.length>0).reduce((a,o)=>{const l=R(o.path),r=l.pop();let c=a;for(const u of l)c.dependencies==null&&(c.dependencies={}),c.dependencies[u]==null&&(c.dependencies[u]={}),c=c.dependencies[u];return c.dependencies==null&&(c.dependencies={}),c.dependencies[r]={message:o.message},a},{}),n=e.join(`
1
+ "use strict";const s=require("@tempots/dom"),w=require("./translations-EwEmHe3v.cjs"),P=require("./input-container-CyOgiiQD.cjs"),B=require("./stack-dwLevGa2.cjs"),_=require("./session-id-B5lJMzbB.cjs"),p=require("@tempots/std"),j={layout:"vertical",labelWidth:"7.5rem",size:"md",gap:"md",columns:1,minFieldWidth:"15rem",compact:!1},E={mark:s.makeProviderMark("FieldLayout"),create:(i={},e)=>{let t=j;try{t=e.getProvider(E.mark).value}catch(a){if(!(a instanceof s.ProviderNotFoundError))throw a}return{value:{layout:i.layout??t.layout,labelWidth:i.labelWidth??t.labelWidth,size:i.size??t.size,gap:i.gap??t.gap,columns:i.columns??t.columns,minFieldWidth:i.minFieldWidth??t.minFieldWidth,compact:i.compact??t.compact},dispose:()=>{}}}},q=s.html.span(s.attr.class("bc-field__required")," *");function te(i,e){const t=["bc-field"];return i!=="vertical"&&t.push(`bc-field--${i}`),e&&t.push("bc-field--compact"),t.join(" ")}function se(i,e){const t=["bc-field__label-text"];return i?t.push("bc-field__label-text--error"):e?t.push("bc-field__label-text--disabled"):t.push("bc-field__label-text--default"),t.join(" ")}function ie(i,e,t){const n=[];return(i==="horizontal-fixed"||i==="horizontal-end"||i==="responsive")&&e!=null&&n.push(`--field-label-width: ${e}`),t!=null&&t>0&&n.push(`grid-column: span ${t}`),n.length>0?n.join("; "):void 0}function ne(i,e,t){const{fullWidth:n=!1,required:a,label:o,labelChildren:l,context:r,description:c,content:u,error:h,labelFor:m,hasError:g,disabled:y,span:b}=e,d=g??h!=null,C=y??!1,V=e.layout??i.layout,J=e.labelWidth??i.labelWidth,Q=e.compact??i.compact,x=_.sessionId("input-wrapper"),T=c?`${x}-description`:void 0,I=h!=null?`${x}-error`:void 0,W=s.computedOf(V)(f=>f!=="vertical"&&f!=="responsive"),X=s.computedOf(V,J,b??void 0)((f,v,ee)=>ie(f,s.Value.get(v),ee)),Z=s.computedOf(V,Q)((f,v)=>te(f,v??!1));return s.html.div(s.attr.class(Z),s.attr.class(s.Value.map(n,f=>f?"bc-field--full-width":"")),s.attr.style(X),o!=null||r!=null?s.html.div(s.attr.class("bc-field__header"),s.html.div(s.attr.class("bc-field__label-section"),s.html.label(s.attr.class("bc-field__label"),m!=null?s.attr.for(m):s.Empty,s.html.span(s.attr.class(s.computedOf(d,C)((f,v)=>se(f??!1,v??!1))),o),o!=null&&a?q:s.Empty),s.When(s.computedOf(W,c)((f,v)=>f&&v!=null),()=>s.html.div(s.attr.class("bc-field__description bc-field__description--under-label"),s.attr.id(T),c))),r!=null?B.Label(r):s.Empty,l):s.Empty,s.html.div(s.attr.class("bc-field__content"),[T,I].filter(Boolean).length>0?s.dataAttr("describedby",[T,I].filter(Boolean).join(" ")):s.Empty,a?s.dataAttr("required","true"):s.Empty,s.When(d,()=>s.dataAttr("invalid","true")),u),s.When(s.computedOf(W,c)((f,v)=>!f&&v!=null),()=>s.html.div(s.attr.class("bc-field__description"),s.attr.id(T),c)),s.When(d,()=>s.html.div(s.attr.class("bc-field__error"),s.attr.id(I),s.aria.live("polite"),s.attr.role("alert"),h)),...t)}const S=(i,...e)=>{const t={};return i.layout!==void 0&&(t.layout=i.layout),i.labelWidth!==void 0&&(t.labelWidth=i.labelWidth),i.compact!==void 0&&(t.compact=i.compact),s.Provide(E,t,()=>s.Use(E,n=>ne(n,i,e)))};function ae({size:i="sm",icon:e="line-md:close",disabled:t,roundedness:n="full",color:a="base",onClick:o,label:l},...r){return s.Use(w.BeatUII18n,c=>{const u=s.coalesce(l,c.$.closeModal);return P.Button({variant:"text",size:i,roundedness:n,disabled:t,color:a,onClick:o},s.attr.title(u),s.aria.label(u),...r,w.Icon({icon:e,size:i??"sm"}))})}const re=i=>{const{value:e,onBlur:t,onChange:n,onInput:a,placeholder:o,disabled:l,id:r,activeIcon:c,inactiveIcon:u,size:h="md"}=i,m=r??_.sessionId("checkbox"),g=`${m}-label`,y=()=>{if(s.Value.get(l??!1))return;const d=s.Value.get(e);n?.(!d),a?.(!d)},b=d=>{s.Value.get(l??!1)||(d.key===" "||d.key==="Enter")&&(d.preventDefault(),y())};return P.InputContainer({baseContainer:!0,growInput:!1,...i,input:s.html.span(s.attr.class("bc-checkbox-input"),s.html.span(s.attr.class("bc-checkbox-input__checkbox"),s.attr.class(s.Value.map(e,d=>d?"bc-checkbox-input__checkbox--checked":"bc-checkbox-input__checkbox--unchecked")),s.attr.class(s.Value.map(l??!1,d=>d?"bc-checkbox-input__checkbox--disabled":"")),s.attr.id(m),s.attr.role("checkbox"),s.attr.tabindex(s.Value.map(l??!1,d=>d?-1:0)),s.aria.checked(e),s.aria.disabled(l),o!=null?s.aria.labelledby(g):s.Empty,s.on.keydown(b),t!=null?s.on.blur(t):s.Empty,w.Icon({icon:s.computedOf(e,c,u)((d,C,V)=>d?C??"ri:checkbox-fill":V??"mdi:checkbox-blank-outline"),accessibility:"decorative",size:h})),o!=null?s.html.label(s.attr.class("bc-checkbox-input__label"),s.attr.id(g),s.attr.for(m),B.MutedLabel(o)):s.Empty)},s.on.click(y))},L=((i,e)=>()=>{i.markTouched(),e?.()}),F=(i,e)=>t=>{i.change(t),e?.(t)};function M(i,e){const{controller:t,onBlur:n,onChange:a,id:o,triggerOn:l,...r}=e;return i({id:o??t.name,disabled:t.disabled,value:t.signal,hasError:t.errorVisible,name:t.name,...r,onInput:l==="input"?F(t,a):void 0,onChange:l!=="input"?F(t,a):void 0,onBlur:L(t,n)})}function le(i,{id:e,labelFor:t,...n},...a){const o=e??n.controller.name??_.sessionId("control"),l=t??o;return S({...n,hasError:n.controller.errorVisible,error:s.TextNode(n.controller.error.map(r=>r??"")),labelFor:l,content:M(r=>i({...r,id:o}),n)},...a)}function H(i,e){const{toInput:t,fromInput:n,controller:a,...o}=e,l=a.transform(t,n);return M(i,{...o,controller:l})}function oe(i,{id:e,labelFor:t,...n},...a){const o=e??n.controller.name??_.sessionId("control");return S({...n,labelFor:t??o,content:H(i,{...n,id:o})},...a)}function ce(i){return i.split(".").map(t=>{const n=t.match(/^\[(\d+)\]$/);return n?Number(n[1]):t})}function $(i){return typeof i=="number"?`[${i}]`:`.${i}`}function z(i){if(i.length===0)return"";const[e,...t]=i;return[typeof e=="number"?`[${e}]`:e,...t.map($)].join("")}const de={valid:p.Validation.valid,invalid(i){return p.Validation.invalid({message:i})},invalidFields(i){const e={};for(const[t,n]of Object.entries(i))e[t]=typeof n=="string"?{message:n}:n;return p.Validation.invalid({dependencies:e})},fromError(i){return p.Validation.invalid(i)}};function D(i){return function(t){if(t.type==="valid")return t;let n=t.error;for(const a of i)if(n=n?.dependencies?.[a],n==null)return p.Validation.valid;return p.Validation.invalid(n)}}class k{path;change;signal;status;error;hasError;touched;errorVisible;dirty;dependencyErrors;#e={disabled:s.prop(!1),touched:s.prop(!1)};#s;#t=s.prop(void 0);parent;disabled;#i=[];disabledOrHasErrors;constructor(e,t,n,a,o,l=p.strictEqual){this.path=e,this.change=t,this.signal=n,this.status=a,this.#s=l,this.#t.set(n.value),this.error=a.map(r=>r?.type==="invalid"?r.error?.message:void 0),this.hasError=this.error.map(r=>r!=null),this.touched=this.#e.touched,o.validationMode?this.errorVisible=s.computedOf(this.hasError,this.touched,o.validationMode)((r,c,u)=>u==="eager"?!!r:!!r&&!!c):this.errorVisible=s.computedOf(this.hasError,this.touched)((r,c)=>!!r&&!!c),this.dirty=s.computedOf(this.signal,this.#t)((r,c)=>!this.#s(r,c)),this.dependencyErrors=a.map(r=>r?.type==="invalid"?r.error?.dependencies:void 0),this.parent=o,this.disabled=s.computedOf(this.#e.disabled,o.disabled)((r,c)=>r||c),this.disabledOrHasErrors=s.computedOf(this.disabled,this.hasError)((r,c)=>r||c),this.onDispose(()=>{this.#e.disabled.dispose(),this.#e.touched.dispose(),this.disabled.dispose(),this.error.dispose(),this.errorVisible.dispose(),this.dirty.dispose(),this.#t.dispose(),this.dependencyErrors.dispose(),this.disabledOrHasErrors.dispose()})}get name(){return z(this.path)}onDispose=e=>{this.#i.push(e)};dispose=()=>{for(const e of this.#i)try{e()}catch(t){console.error("Error in dispose callback:",t)}this.#i.length=0};setDisabled=e=>{this.#e.disabled.set(e)};disable=()=>this.setDisabled(!0);enable=()=>this.setDisabled(!1);markTouched=()=>{this.#e.touched.set(!0)};resetTouched=()=>{this.#e.touched.set(!1)};markPristine=()=>{this.#t.set(this.signal.value)};reset=()=>{this.change(this.#t.value)};array=(e=p.strictEqual)=>new U(this.path,this.change,this.signal,this.status,this.parent,e);object=(e=p.strictEqual)=>new N(this.path,this.change,this.signal,this.status,this.parent,e);transform=(e,t,n=[],a=p.strictEqual)=>new k([...this.path,...n],o=>this.change(t(o)),this.signal.map(e,a),this.status.map(D(n)),this.parent,a);asyncTransform=(e,t,n,a=[],o=p.strictEqual)=>new k([...this.path,...a],l=>{t(l).then(r=>this.change(r))},this.signal.mapAsync(e,n,void 0,o),this.status.map(D(a)),this.parent,o)}class N extends k{#e=new Map;#s=new Map;#t=new Map;#i=s.prop(!1);touchedDeep=this.#i;#a=new Map;#n=new Map;#l=s.prop(!1);dirtyDeep=this.#l;#c;#d;#o=()=>{let e=!1;for(const t of this.#s.values())if(t){e=!0;break}this.#i.set(this.touched.value||e)};constructor(e,t,n,a,o,l){super(e,t,n.map(c=>c??{},l),a,o,l),this.#c=this.touched.on(()=>{this.#o()}),this.#d=this.dirty.on(()=>{this.#r()});const r=this.signal.on(()=>this.#r());this.onDispose(()=>{for(const c of this.#e.values())c.dispose();this.#e.clear();for(const c of this.#t.values())c();this.#t.clear(),this.#s.clear(),this.#i.dispose();for(const c of this.#n.values())c();this.#n.clear(),this.#a.clear(),this.#l.dispose(),this.#c(),this.#d(),r()})}field=e=>{if(this.#e.has(e))return this.#e.get(e);const t=async l=>{this.change({...this.signal.value,[e]:l})},n=new k([...this.path,e],t,this.signal.map(l=>l[e]),this.status.map(D([e])),{disabled:this.disabled,validationMode:this.parent.validationMode});this.#e.set(e,n);const a=n.touched.on(l=>{this.#s.set(e,l),this.#o()});this.#t.set(e,a);const o=n.dirty.on(l=>{this.#a.set(e,l),this.#r()});return this.#n.set(e,o),n};markAllTouched=()=>{this.markTouched();const e=this.signal.value;for(const t of Object.keys(e))this.field(t).markTouched();for(const t of this.#e.values())t.markTouched()};markAllPristine=()=>{this.markPristine();const e=this.signal.value;for(const t of Object.keys(e))this.field(t).markPristine?.();for(const t of this.#e.values())t.markPristine?.()};#r=()=>{let e=!1;for(const t of this.#a.values())if(t){e=!0;break}this.#l.set(this.dirty.value||e)}}class U extends k{#e=new Array;length;#s=new Map;#t=new Map;#i=s.prop(!1);touchedDeep=this.#i;#a=new Map;#n=new Map;#l=s.prop(!1);dirtyDeep=this.#l;#c;#d;#o=()=>{let e=!1;for(const t of this.#s.values())if(t){e=!0;break}this.#i.set(this.touched.value||e)};constructor(e,t,n,a,o,l){const r=n.map(h=>h??[],l);super(e,t,r,a,o,l);const c=r.on(h=>{const m=this.#e.length-h.length;m>0&&(this.#e.splice(h.length,m).forEach((g,y)=>{const b=h.length+y;g.dispose(),this.#t.get(b)?.(),this.#t.delete(b),this.#s.delete(b),this.#n.get(b)?.(),this.#n.delete(b),this.#a.delete(b)}),this.#o(),this.#r())});this.length=r.map(h=>h.length),this.#c=this.touched.on(()=>{this.#o()}),this.#d=this.dirty.on(()=>{this.#r()});const u=this.signal.on(()=>this.#r());this.onDispose(()=>{for(const h of this.#e)h.dispose();this.length.dispose(),this.#e.length=0,c(),r.dispose();for(const h of this.#t.values())h();this.#t.clear(),this.#s.clear(),this.#i.dispose();for(const h of this.#n.values())h();this.#n.clear(),this.#a.clear(),this.#l.dispose(),this.#c(),this.#d(),u()})}item=e=>{if(this.#e[e])return this.#e[e];const t=async l=>{const r=this.signal.value.slice();r[e]=l,this.change(r)},n=new k([...this.path,e],t,this.signal.map(l=>l[e]),this.status.map(D([e])),{disabled:this.disabled,validationMode:this.parent.validationMode});this.#e[e]=n;const a=n.touched.on(l=>{this.#s.set(e,l),this.#o()});this.#t.set(e,a);const o=n.dirty.on(l=>{this.#a.set(e,l),this.#r()});return this.#n.set(e,o),n};push=(...e)=>{this.change([...this.signal.value,...e])};pop=()=>{this.splice(this.signal.value.length-1,1)};shift=()=>{this.splice(0,1)};unshift=(...e)=>{this.change([...e,...this.signal.value])};removeAt=e=>{this.splice(e,1)};splice=(e,t)=>{const n=this.signal.value.slice();n.splice(e,t),this.change(n)};move=(e,t,n=1)=>{if(n<1||e===t)return;const a=this.signal.value.slice(),o=a.splice(e,n);a.splice(t,0,...o),this.change(a)};markAllTouched=()=>{this.markTouched();const e=this.signal.value.length;for(let t=0;t<e;t++)this.item(t).markTouched()};markAllPristine=()=>{this.markPristine();const e=this.signal.value.length;for(let t=0;t<e;t++)this.item(t).markPristine?.()};#r=()=>{let e=!1;for(const t of this.#a.values())if(t){e=!0;break}this.#l.set(this.dirty.value||e)}}function R(i){function e(t){return typeof t=="number"?t:t.toString()}return i.map(t=>typeof t=="object"&&t.key!=null?e(t.key):e(t))}function Y(i){const e=i.filter(a=>a.path==null||a.path.length===0).map(a=>a.message),t=i.filter(a=>a.path!=null&&a.path.length>0).reduce((a,o)=>{const l=R(o.path),r=l.pop();let c=a;for(const u of l)c.dependencies==null&&(c.dependencies={}),c.dependencies[u]==null&&(c.dependencies[u]={}),c=c.dependencies[u];return c.dependencies==null&&(c.dependencies={}),c.dependencies[r]={message:o.message},a},{}),n=e.join(`
2
2
  `);return{...t,message:n!=""?n:void 0}}function K({initialValue:i,onChange:e,validate:t,equals:n,validationMode:a,validateDebounceMs:o}){const l=s.Value.deriveProp(i),r=s.prop(p.Validation.valid),c=s.prop(!1),u=s.prop(a??"onTouched"),h=d=>{r.set(d)};let m;const g=async d=>{if(t!=null){const C=await t(d);h(C)}},y=async d=>{l.set(d),e?.(d);const C=u.value;if(t!=null){if(C==="onSubmit")return;const V=o??0;V>0?(m&&clearTimeout(m),m=setTimeout(()=>{g(d)},V)):await g(d)}},b=new k([],y,l,r,{disabled:c,validationMode:u},n??p.strictEqual);return b.onDispose(()=>{c.dispose(),l.dispose(),r.dispose(),u.dispose(),m&&clearTimeout(m)}),{controller:b,setStatus:h}}function A(i){return s.Fragment(s.attr.disabled(i.disabled),s.attr.name(i.name))}function he(i,{triggerOn:e="change"}={}){return s.Fragment(A(i),s.attr.value(i.signal),(e==="input"?s.on.input:s.on.change)(s.emitValue(i.change)))}function ue(i,{triggerOn:e="change"}={}){return s.Fragment(A(i),s.attr.valueAsNumber(i.signal),(e==="input"?s.on.input:s.on.change)(s.emitValueAsNumber(i.change)))}function O(i){return i.issues!=null?p.Validation.invalid(Y(i.issues)):p.Validation.valid}async function pe({task:i,errorMessage:e,errorPath:t=["root"],validation:n}){try{const a=await i();return n!=null?n(a):p.Validation.valid}catch(a){const o=e??(a instanceof Error?a.message:"Operation failed");return t.length===1&&t[0]==="root"?p.Validation.invalid({message:o}):p.Validation.invalid({dependencies:G(t,o)})}}function G(i,e){if(i.length===1)return{[i[0]]:{message:e}};const[t,...n]=i;return{[t]:{dependencies:G(n,e)}}}function me({initialValue:i={},schema:e,onSubmit:t=async()=>p.Validation.valid,validationMode:n,validateDebounceMs:a}){const{controller:o,setStatus:l}=K({initialValue:i,validationMode:n??"onTouched",validateDebounceMs:a,validate:(n??"onTouched")==="onSubmit"||e==null?void 0:async h=>O(await e["~standard"].validate(h))}),r=s.prop(!1),c=o.object();return c.onDispose(()=>r.dispose()),{controller:c,setStatus:l,submit:async h=>{if(r.set(!0),h?.preventDefault(),c.markAllTouched(),e!=null){const g=c.signal.value,y=O(await e["~standard"].validate(g));if(l(y),y.type==="invalid"){r.set(!1);return}}const m=await t(c.signal.value);r.set(!1),m.type==="invalid"&&l(m)},submitting:r}}exports.ArrayController=U;exports.BaseControl=M;exports.BaseMappedControl=H;exports.CheckboxInput=re;exports.CloseButton=ae;exports.Control=le;exports.Controller=k;exports.ControllerValidation=de;exports.FIELD_LAYOUT_DEFAULTS=j;exports.Field=S;exports.FieldLayout=E;exports.MappedControl=oe;exports.ObjectController=N;exports.RequiredSymbol=q;exports.connectCommonAttributes=A;exports.connectNumberInput=ue;exports.connectStringInput=he;exports.convertStandardSchemaIssues=Y;exports.convertStandardSchemaPathToPath=R;exports.makeMapValidation=D;exports.makeOnBlurHandler=L;exports.makeOnChangeHandler=F;exports.parsePath=ce;exports.pathToString=z;exports.standardSchemaResultToValidation=O;exports.taskToValidation=pe;exports.useController=K;exports.useForm=me;exports.wrapSegment=$;
@@ -1,6 +1,6 @@
1
1
  import { ProviderNotFoundError as ee, makeProviderMark as te, Provide as se, Use as N, html as b, attr as c, computedOf as v, Value as T, Empty as _, When as x, dataAttr as W, aria as S, coalesce as ie, on as F, TextNode as ne, prop as D, Fragment as P, emitValueAsNumber as ae, emitValue as le } from "@tempots/dom";
2
- import { B as re, I as U } from "./translations-DT5QQ4WO.js";
3
- import { B as oe, I as ce } from "./input-container-CO3DNqpp.js";
2
+ import { B as re, I as U } from "./translations-BCMP-h52.js";
3
+ import { B as oe, I as ce } from "./input-container-8JFB11xN.js";
4
4
  import { L as de, M as he } from "./stack-BLMteGTn.js";
5
5
  import { s as B } from "./session-id-3KiilioY.js";
6
6
  import { Validation as g, strictEqual as M } from "@tempots/std";
@@ -1,4 +1,4 @@
1
- import { f as a } from "./translations-DT5QQ4WO.js";
1
+ import { f as h } from "./translations-BCMP-h52.js";
2
2
  const r = {
3
3
  loadingExtended: "Đang tải, vui lòng đợi",
4
4
  loadingShort: "Đang tải...",
@@ -57,24 +57,29 @@ const r = {
57
57
  clearAllFiles: "Xóa tất cả tệp",
58
58
  // inputs reset
59
59
  clearValue: "Xóa giá trị",
60
+ // Date range select
61
+ dateRangeStart: "Start",
62
+ dateRangeEnd: "End",
63
+ dateRangeNoLimit: "No limit",
64
+ dateRangeSelectDate: "Select date",
60
65
  unknownType: "Loại không xác định",
61
- filesInputInstructions: (n, t, e) => {
66
+ filesInputInstructions: (n, e, t) => {
62
67
  let i = n == null || n > 1 ? "Nhấp để chọn hoặc kéo tệp vào đây" : "Nhấp để chọn hoặc kéo một tệp vào đây";
63
- if (n || t) {
64
- const o = [];
65
- if (n != null && n > 1 && o.push(`tối đa ${n} tệp`), t && e) {
66
- const l = a(t, {
67
- units: e
68
+ if (n || e) {
69
+ const l = [];
70
+ if (n != null && n > 1 && l.push(`tối đa ${n} tệp`), e && t) {
71
+ const o = h(e, {
72
+ units: t
68
73
  });
69
- o.push(`mỗi tệp tối đa ${l}`);
74
+ l.push(`mỗi tệp tối đa ${o}`);
70
75
  }
71
- o.length > 0 && (i += ` (${o.join(", ")})`);
76
+ l.length > 0 && (i += ` (${l.join(", ")})`);
72
77
  }
73
78
  return i;
74
79
  },
75
80
  // Pagination
76
81
  paginationLabel: "Phân trang",
77
- paginationRange: (n, t, e, i) => i > e ? `Hàng ${n} đến ${t} trong ${e} trên ${i}` : `Hàng ${n} đến ${t} trong ${e}`,
82
+ paginationRange: (n, e, t, i) => i > t ? `Hàng ${n} đến ${e} trong ${t} trên ${i}` : `Hàng ${n} đến ${e} trong ${t}`,
78
83
  firstPage: "Trang đầu",
79
84
  previousPage: "Trang trước",
80
85
  nextPage: "Trang tiếp",
@@ -201,7 +206,7 @@ const r = {
201
206
  menuResetColumns: "Đặt lại cột",
202
207
  menuFilter: "Lọc",
203
208
  // Row count footer
204
- rowCount: (n, t) => `Hàng: ${n} Tổng hàng: ${t}`,
209
+ rowCount: (n, e) => `Hàng: ${n} Tổng hàng: ${e}`,
205
210
  // Tags filter
206
211
  filterTagsPlaceholder: "Chọn giá trị...",
207
212
  // Group by
@@ -209,24 +214,24 @@ const r = {
209
214
  collapseGroup: "Thu gọn nhóm",
210
215
  expandGroup: "Mở rộng nhóm",
211
216
  describeFilter: {
212
- textContains: (n, t) => `${n} chứa "${t}"`,
213
- textNotContains: (n, t) => `${n} không chứa "${t}"`,
214
- textEquals: (n, t) => `${n} bằng "${t}"`,
215
- textNotEquals: (n, t) => `${n} không bằng "${t}"`,
216
- textStartsWith: (n, t) => `${n} bắt đầu bằng "${t}"`,
217
- textEndsWith: (n, t) => `${n} kết thúc bằng "${t}"`,
218
- compareEq: (n, t) => `${n} = ${t}`,
219
- compareNeq: (n, t) => `${n} ≠ ${t}`,
220
- compareGt: (n, t) => `${n} > ${t}`,
221
- compareGte: (n, t) => `${n} ≥ ${t}`,
222
- compareLt: (n, t) => `${n} < ${t}`,
223
- compareLte: (n, t) => `${n} ≤ ${t}`,
224
- rangeBetween: (n, t, e) => `${n} giữa ${t} và ${e}`,
225
- rangeGte: (n, t) => `${n} ≥ ${t}`,
226
- rangeLte: (n, t) => `${n} ≤ ${t}`,
227
- setIn: (n, t) => `${n} trong [${t}]`,
228
- setNotIn: (n, t) => `${n} không trong [${t}]`,
229
- booleanIs: (n, t) => `${n} là ${t}`,
217
+ textContains: (n, e) => `${n} chứa "${e}"`,
218
+ textNotContains: (n, e) => `${n} không chứa "${e}"`,
219
+ textEquals: (n, e) => `${n} bằng "${e}"`,
220
+ textNotEquals: (n, e) => `${n} không bằng "${e}"`,
221
+ textStartsWith: (n, e) => `${n} bắt đầu bằng "${e}"`,
222
+ textEndsWith: (n, e) => `${n} kết thúc bằng "${e}"`,
223
+ compareEq: (n, e) => `${n} = ${e}`,
224
+ compareNeq: (n, e) => `${n} ≠ ${e}`,
225
+ compareGt: (n, e) => `${n} > ${e}`,
226
+ compareGte: (n, e) => `${n} ≥ ${e}`,
227
+ compareLt: (n, e) => `${n} < ${e}`,
228
+ compareLte: (n, e) => `${n} ≤ ${e}`,
229
+ rangeBetween: (n, e, t) => `${n} giữa ${e} và ${t}`,
230
+ rangeGte: (n, e) => `${n} ≥ ${e}`,
231
+ rangeLte: (n, e) => `${n} ≤ ${e}`,
232
+ setIn: (n, e) => `${n} trong [${e}]`,
233
+ setNotIn: (n, e) => `${n} không trong [${e}]`,
234
+ booleanIs: (n, e) => `${n} là ${e}`,
230
235
  isNull: (n) => `${n} trống`,
231
236
  isNotNull: (n) => `${n} không trống`,
232
237
  compositeAnd: (n) => n.join(" VÀ "),
@@ -247,12 +252,160 @@ const r = {
247
252
  horizontalRule: "Horizontal Rule",
248
253
  linkUrlPlaceholder: "https://example.com"
249
254
  },
255
+ // Carousel
256
+ carousel: {
257
+ label: "Băng chuyền",
258
+ previousSlide: "Slide trước",
259
+ nextSlide: "Slide tiếp theo",
260
+ slideNavigation: "Điều hướng slide",
261
+ slideOfTotal: (n, e) => `Slide ${n} trên ${e}`,
262
+ goToSlide: (n) => `Đến slide ${n}`
263
+ },
264
+ // Date picker
265
+ datePicker: {
266
+ label: "Chọn ngày",
267
+ previousYear: "Năm trước",
268
+ previousMonth: "Tháng trước",
269
+ selectMonth: "Chọn tháng",
270
+ selectYear: "Chọn năm",
271
+ nextMonth: "Tháng sau",
272
+ nextYear: "Năm sau",
273
+ previousYears: (n) => `${n} năm trước`,
274
+ nextYears: (n) => `${n} năm sau`,
275
+ dateRangePickerLabel: "Chọn khoảng ngày",
276
+ monthNames: [
277
+ "Tháng 1",
278
+ "Tháng 2",
279
+ "Tháng 3",
280
+ "Tháng 4",
281
+ "Tháng 5",
282
+ "Tháng 6",
283
+ "Tháng 7",
284
+ "Tháng 8",
285
+ "Tháng 9",
286
+ "Tháng 10",
287
+ "Tháng 11",
288
+ "Tháng 12"
289
+ ],
290
+ shortMonthNames: [
291
+ "Th1",
292
+ "Th2",
293
+ "Th3",
294
+ "Th4",
295
+ "Th5",
296
+ "Th6",
297
+ "Th7",
298
+ "Th8",
299
+ "Th9",
300
+ "Th10",
301
+ "Th11",
302
+ "Th12"
303
+ ],
304
+ dayNames: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"]
305
+ },
306
+ // Time picker
307
+ timePicker: {
308
+ label: "Bộ chọn thời gian",
309
+ hoursLabel: "HH",
310
+ minutesLabel: "MM",
311
+ secondsLabel: "SS",
312
+ selectHours: "Chọn giờ",
313
+ selectMinutes: "Chọn phút",
314
+ selectSeconds: "Chọn giây",
315
+ selectPeriod: "Chọn SA/CH",
316
+ nowLabel: "Bây giờ"
317
+ },
318
+ // Time select
319
+ timeSelectTime: "Chọn thời gian",
320
+ dateTimeSelectDateTime: "Chọn ngày và giờ",
321
+ // Color picker
322
+ colorPicker: {
323
+ hue: "Sắc độ",
324
+ saturation: "Độ bão hòa",
325
+ lightness: "Độ sáng",
326
+ alpha: "Alpha",
327
+ red: "Đỏ",
328
+ green: "Xanh lá",
329
+ blue: "Xanh dương",
330
+ hex: "Hex",
331
+ whiteness: "Độ trắng",
332
+ blackness: "Độ đen",
333
+ chroma: "Sắc độ(C)"
334
+ },
335
+ // Spotlight
336
+ spotlight: {
337
+ placeholder: "Tìm kiếm...",
338
+ noResults: "Không tìm thấy kết quả",
339
+ recentItems: "Gần đây",
340
+ close: "Đóng"
341
+ },
342
+ // Virtual list
343
+ virtualList: {
344
+ listLabel: "Danh sách cuộn được"
345
+ },
346
+ // Stepper
347
+ stepper: {
348
+ step: "Bước",
349
+ stepOfTotal: (n, e) => `Bước ${n} trên ${e}`,
350
+ completed: "Hoàn thành",
351
+ next: "Tiếp theo",
352
+ previous: "Trước",
353
+ complete: "Hoàn tất"
354
+ },
355
+ // Sortable list
356
+ sortableList: {
357
+ dragHandle: "Kéo để sắp xếp lại"
358
+ },
359
+ // Transfer list
360
+ transferList: {
361
+ available: "Có sẵn",
362
+ selected: "Đã chọn",
363
+ moveRight: "Chuyển sang đã chọn",
364
+ moveLeft: "Chuyển sang có sẵn",
365
+ moveAllRight: "Chuyển tất cả sang đã chọn",
366
+ moveAllLeft: "Chuyển tất cả sang có sẵn",
367
+ searchAvailable: "Tìm mục có sẵn…",
368
+ searchSelected: "Tìm mục đã chọn…"
369
+ },
370
+ // Copy button
371
+ copyButton: {
372
+ copied: "Đã sao chép!",
373
+ copyToClipboard: "Sao chép vào bộ nhớ tạm"
374
+ },
375
+ // Number stepper
376
+ numberStepper: {
377
+ increment: "Tăng",
378
+ decrement: "Giảm",
379
+ value: "Giá trị"
380
+ },
381
+ // Stat card
382
+ statCard: {
383
+ trendUp: "Xu hướng tăng",
384
+ trendDown: "Xu hướng giảm",
385
+ trendFlat: "Không thay đổi"
386
+ },
387
+ // OTP input
388
+ otpInputLabel: "Nhập mật khẩu một lần",
389
+ otpDigitLabel: (n, e) => `Chữ số ${n} trên ${e}`,
390
+ // Nine-slice scroll view
391
+ scrollableGridView: "Chế độ xem lưới có thể cuộn",
392
+ // Onboarding tour
393
+ onboardingTour: {
394
+ label: "Tour hướng dẫn",
395
+ stepIndicator: (n, e) => `Bước ${n} trên ${e}`,
396
+ skip: "Bỏ qua",
397
+ previous: "Trước",
398
+ next: "Tiếp",
399
+ finish: "Hoàn thành"
400
+ },
401
+ // Combobox
402
+ searchPlaceholder: "Tìm kiếm",
250
403
  // PDF Page Viewer
251
404
  pdfPageViewer: {
252
405
  loading: "Đang tải PDF...",
253
406
  loadFailed: "Không thể tải PDF",
254
407
  invalidPdf: "Tệp PDF không hợp lệ",
255
- pageOutOfRange: (n, t) => `Trang ${n} nằm ngoài phạm vi (1-${t})`,
408
+ pageOutOfRange: (n, e) => `Trang ${n} nằm ngoài phạm vi (1-${e})`,
256
409
  renderFailed: "Không thể hiển thị trang PDF"
257
410
  }
258
411
  };
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("./translations-EwEmHe3v.cjs"),h={loadingExtended:"Đang tải, vui lòng đợi",loadingShort:"Đang tải...",locale:"Ngôn ngữ",iconDescription:"Biểu tượng",loadingIcon:"Biểu tượng tải",failedToLoadIcon:"Không thể tải biểu tượng",editLabel:"Chỉnh sửa",selectOne:"Chọn một",selectNone:"Không có",selectMany:"Chọn nhiều",noResults:"Không có kết quả",passwordPlaceholderText:"Mật khẩu bí mật",togglePasswordVisibility:"Chuyển đổi hiển thị mật khẩu",toggleMenu:"Chuyển đổi menu",toggleAside:"Chuyển đổi bảng bên",mainNavigation:"Điều hướng chính",sidebar:"Thanh bên",closeDrawer:"Đóng ngăn kéo",closeModal:"Đóng modal",confirm:"Xác nhận",cancel:"Hủy",addLabel:"Thêm",removeItem:"Xóa mục",currentLocale:"Tiếng Việt",ar:"Tiếng Ả Rập",de:"Tiếng Đức",en:"Tiếng Anh",es:"Tiếng Tây Ban Nha",fr:"Tiếng Pháp",hi:"Tiếng Hindi",it:"Tiếng Ý",ja:"Tiếng Nhật",ko:"Tiếng Hàn",nl:"Tiếng Hà Lan",pl:"Tiếng Ba Lan",pt:"Tiếng Bồ Đào Nha",ru:"Tiếng Nga",tr:"Tiếng Thổ Nhĩ Kỳ",vi:"Tiếng Việt",zh:"Tiếng Trung",he:"Tiếng Do Thái",fa:"Tiếng Ba Tư",ur:"Tiếng Urdu",emailPlaceholderText:"Nhập email của bạn",incrementValue:"Tăng giá trị",decrementValue:"Giảm giá trị",dropZoneInstructions:n=>n?"Nhấp để chọn hoặc kéo tệp vào đây, hoặc nhấn Enter hoặc Space để mở trình chọn tệp":"Kéo tệp vào đây",fileSizeUnits:["Byte","KB","MB","GB","TB"],removeFile:"Xóa tệp",clearAllFiles:"Xóa tất cả tệp",clearValue:"Xóa giá trị",dateRangeStart:"Start",dateRangeEnd:"End",dateRangeNoLimit:"No limit",dateRangeSelectDate:"Select date",unknownType:"Loại không xác định",filesInputInstructions:(n,e,t)=>{let i=n==null||n>1?"Nhấp để chọn hoặc kéo tệp vào đây":"Nhấp để chọn hoặc kéo một tệp vào đây";if(n||e){const l=[];if(n!=null&&n>1&&l.push(`tối đa ${n} tệp`),e&&t){const o=a.formatFileSize(e,{units:t});l.push(`mỗi tệp tối đa ${o}`)}l.length>0&&(i+=` (${l.join(", ")})`)}return i},paginationLabel:"Phân trang",paginationRange:(n,e,t,i)=>i>t?`Hàng ${n} đến ${e} trong ${t} trên ${i}`:`Hàng ${n} đến ${e} trong ${t}`,firstPage:"Trang đầu",previousPage:"Trang trước",nextPage:"Trang tiếp",lastPage:"Trang cuối",breadcrumbs:"Thanh điều hướng",commandPalette:"Bảng lệnh",typeACommand:"Nhập lệnh...",noResultsFound:"Không tìm thấy kết quả",noMatchingCommands:"Không có lệnh phù hợp",appearanceSystem:"Hệ thống",appearanceLight:"Sáng",appearanceDark:"Tối",ok:"OK",changeTypeConfirmation:"Thay đổi loại sẽ xóa giá trị hiện tại. Tiếp tục?",notifications:"Thông báo",markAllAsRead:"Đánh dấu tất cả đã đọc",noNotifications:"Không có thông báo",schemaConflictsDetected:"Phát hiện xung đột lược đồ",schemaViolationsDetected:"Phát hiện vi phạm lược đồ",properties:"Thuộc tính",uploading:"Đang tải lên...",dropFilesOrBrowse:"Kéo thả tệp vào đây hoặc nhấp để duyệt",acceptedTypes:n=>`Loại tệp được chấp nhận: ${n}`,enterUrlPrompt:"Nhập URL:",exceeded:"(vượt quá)",pdfPreview:"Xem trước PDF",lexical:{fontFamily:"Phông chữ",fontSize:"Cỡ chữ",lineHeight:"Chiều cao dòng",fontColor:"Màu chữ",highlightColor:"Màu đánh dấu",backgroundColor:"Màu nền",bold:"Đậm",italic:"Nghiêng",underline:"Gạch chân",strikethrough:"Gạch ngang",code:"Mã",clearFormatting:"Xóa định dạng",normal:"Bình thường",heading:n=>`Tiêu đề ${n}`,bulletList:"Danh sách dấu đầu dòng",orderedList:"Danh sách đánh số",checkList:"Danh sách kiểm tra",indent:"Thụt lề",outdent:"Giảm thụt lề",blockquote:"Trích dẫn",codeBlock:"Khối mã",horizontalRule:"Đường kẻ ngang",insertTable:"Chèn bảng",link:"Liên kết",undo:"Hoàn tác",redo:"Làm lại",cut:"Cắt",copy:"Sao chép",paste:"Dán",defaultOption:"Mặc định",slashCommands:"Lệnh gạch chéo",noCommandsFound:"Không tìm thấy lệnh",changeBlockType:"Đổi loại khối",blockTypes:"Loại khối",enterUrl:"Nhập URL:",tableActions:"Table actions",insertRowAbove:"Insert row above",insertRowBelow:"Insert row below",insertColumnLeft:"Insert column left",insertColumnRight:"Insert column right",deleteRow:"Delete row",deleteColumn:"Delete column",deleteTable:"Delete table"},dataTable:{sortAscending:"Sắp xếp tăng dần",sortDescending:"Sắp xếp giảm dần",clearSort:"Xóa sắp xếp",filterPlaceholder:"Lọc...",clearFilter:"Xóa bộ lọc",selectAll:"Chọn tất cả",deselectAll:"Bỏ chọn tất cả",selectedCount:n=>`${n} đã chọn`,resetAll:"Đặt lại tất cả",noResults:"Không tìm thấy kết quả",loading:"Đang tải...",filterPanelAddCondition:"Thêm điều kiện",filterPanelApply:"Áp dụng",filterPanelClear:"Xóa bộ lọc",filterPanelAnd:"VÀ",filterPanelOr:"HOẶC",filterPanelContains:"Chứa",filterPanelNotContains:"Không chứa",filterPanelEquals:"Bằng",filterPanelNotEquals:"Không bằng",filterPanelStartsWith:"Bắt đầu với",filterPanelEndsWith:"Kết thúc với",filterPanelIsNull:"Trống",filterPanelIsNotNull:"Không trống",filterPanelGt:"Lớn hơn",filterPanelGte:"Lớn hơn hoặc bằng",filterPanelLt:"Nhỏ hơn",filterPanelLte:"Nhỏ hơn hoặc bằng",filterPanelBetween:"Trong khoảng",filterPanelValuePlaceholder:"Giá trị...",sortMultiHint:"Giữ Shift để sắp xếp nhiều cột",columnVisibility:"Cột",showAllColumns:"Hiển thị tất cả",menuSortAsc:"Sắp xếp tăng dần",menuSortDesc:"Sắp xếp giảm dần",menuClearSort:"Xóa sắp xếp",menuHideColumn:"Ẩn cột",menuChooseColumns:"Chọn cột",menuResetColumns:"Đặt lại cột",menuFilter:"Lọc",rowCount:(n,e)=>`Hàng: ${n} Tổng hàng: ${e}`,filterTagsPlaceholder:"Chọn giá trị...",groupCount:n=>`${n} mục`,collapseGroup:"Thu gọn nhóm",expandGroup:"Mở rộng nhóm",describeFilter:{textContains:(n,e)=>`${n} chứa "${e}"`,textNotContains:(n,e)=>`${n} không chứa "${e}"`,textEquals:(n,e)=>`${n} bằng "${e}"`,textNotEquals:(n,e)=>`${n} không bằng "${e}"`,textStartsWith:(n,e)=>`${n} bắt đầu bằng "${e}"`,textEndsWith:(n,e)=>`${n} kết thúc bằng "${e}"`,compareEq:(n,e)=>`${n} = ${e}`,compareNeq:(n,e)=>`${n} ≠ ${e}`,compareGt:(n,e)=>`${n} > ${e}`,compareGte:(n,e)=>`${n} ≥ ${e}`,compareLt:(n,e)=>`${n} < ${e}`,compareLte:(n,e)=>`${n} ≤ ${e}`,rangeBetween:(n,e,t)=>`${n} giữa ${e} và ${t}`,rangeGte:(n,e)=>`${n} ≥ ${e}`,rangeLte:(n,e)=>`${n} ≤ ${e}`,setIn:(n,e)=>`${n} trong [${e}]`,setNotIn:(n,e)=>`${n} không trong [${e}]`,booleanIs:(n,e)=>`${n} là ${e}`,isNull:n=>`${n} trống`,isNotNull:n=>`${n} không trống`,compositeAnd:n=>n.join(" VÀ "),compositeOr:n=>n.join(" HOẶC ")}},prosemirror:{bold:"Bold",italic:"Italic",code:"Code",link:"Link",removeLink:"Remove Link",heading:n=>`Heading ${n}`,bulletList:"Bullet List",orderedList:"Ordered List",blockquote:"Blockquote",codeBlock:"Code Block",horizontalRule:"Horizontal Rule",linkUrlPlaceholder:"https://example.com"},carousel:{label:"Băng chuyền",previousSlide:"Slide trước",nextSlide:"Slide tiếp theo",slideNavigation:"Điều hướng slide",slideOfTotal:(n,e)=>`Slide ${n} trên ${e}`,goToSlide:n=>`Đến slide ${n}`},datePicker:{label:"Chọn ngày",previousYear:"Năm trước",previousMonth:"Tháng trước",selectMonth:"Chọn tháng",selectYear:"Chọn năm",nextMonth:"Tháng sau",nextYear:"Năm sau",previousYears:n=>`${n} năm trước`,nextYears:n=>`${n} năm sau`,dateRangePickerLabel:"Chọn khoảng ngày",monthNames:["Tháng 1","Tháng 2","Tháng 3","Tháng 4","Tháng 5","Tháng 6","Tháng 7","Tháng 8","Tháng 9","Tháng 10","Tháng 11","Tháng 12"],shortMonthNames:["Th1","Th2","Th3","Th4","Th5","Th6","Th7","Th8","Th9","Th10","Th11","Th12"],dayNames:["CN","T2","T3","T4","T5","T6","T7"]},timePicker:{label:"Bộ chọn thời gian",hoursLabel:"HH",minutesLabel:"MM",secondsLabel:"SS",selectHours:"Chọn giờ",selectMinutes:"Chọn phút",selectSeconds:"Chọn giây",selectPeriod:"Chọn SA/CH",nowLabel:"Bây giờ"},timeSelectTime:"Chọn thời gian",dateTimeSelectDateTime:"Chọn ngày và giờ",colorPicker:{hue:"Sắc độ",saturation:"Độ bão hòa",lightness:"Độ sáng",alpha:"Alpha",red:"Đỏ",green:"Xanh lá",blue:"Xanh dương",hex:"Hex",whiteness:"Độ trắng",blackness:"Độ đen",chroma:"Sắc độ(C)"},spotlight:{placeholder:"Tìm kiếm...",noResults:"Không tìm thấy kết quả",recentItems:"Gần đây",close:"Đóng"},virtualList:{listLabel:"Danh sách cuộn được"},stepper:{step:"Bước",stepOfTotal:(n,e)=>`Bước ${n} trên ${e}`,completed:"Hoàn thành",next:"Tiếp theo",previous:"Trước",complete:"Hoàn tất"},sortableList:{dragHandle:"Kéo để sắp xếp lại"},transferList:{available:"Có sẵn",selected:"Đã chọn",moveRight:"Chuyển sang đã chọn",moveLeft:"Chuyển sang có sẵn",moveAllRight:"Chuyển tất cả sang đã chọn",moveAllLeft:"Chuyển tất cả sang có sẵn",searchAvailable:"Tìm mục có sẵn…",searchSelected:"Tìm mục đã chọn…"},copyButton:{copied:"Đã sao chép!",copyToClipboard:"Sao chép vào bộ nhớ tạm"},numberStepper:{increment:"Tăng",decrement:"Giảm",value:"Giá trị"},statCard:{trendUp:"Xu hướng tăng",trendDown:"Xu hướng giảm",trendFlat:"Không thay đổi"},otpInputLabel:"Nhập mật khẩu một lần",otpDigitLabel:(n,e)=>`Chữ số ${n} trên ${e}`,scrollableGridView:"Chế độ xem lưới có thể cuộn",onboardingTour:{label:"Tour hướng dẫn",stepIndicator:(n,e)=>`Bước ${n} trên ${e}`,skip:"Bỏ qua",previous:"Trước",next:"Tiếp",finish:"Hoàn thành"},searchPlaceholder:"Tìm kiếm",pdfPageViewer:{loading:"Đang tải PDF...",loadFailed:"Không thể tải PDF",invalidPdf:"Tệp PDF không hợp lệ",pageOutOfRange:(n,e)=>`Trang ${n} nằm ngoài phạm vi (1-${e})`,renderFailed:"Không thể hiển thị trang PDF"}};exports.default=h;