@ac-design/design-system 2.6.1 → 2.8.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 (78) hide show
  1. package/dist/lib/charts/ChartFrame.vue_vue_type_script_setup_true_lang.js +2 -2
  2. package/dist/lib/charts/graph.d.ts +9 -15
  3. package/dist/lib/charts/graph.js +79 -75
  4. package/dist/lib/charts/index.d.ts +4 -2
  5. package/dist/lib/charts/index.js +2 -1
  6. package/dist/lib/charts/nodeSymbol.d.ts +15 -0
  7. package/dist/lib/charts/nodeSymbol.js +27 -0
  8. package/dist/lib/charts/tree.d.ts +15 -0
  9. package/dist/lib/charts/tree.js +89 -0
  10. package/dist/lib/compat.css +162 -10
  11. package/dist/lib/components/AcAccordionItem.vue.d.ts +3 -1
  12. package/dist/lib/components/AcAccordionItem.vue_vue_type_script_setup_true_lang.js +35 -26
  13. package/dist/lib/components/AcAlert.vue.d.ts +1 -1
  14. package/dist/lib/components/AcBadge.vue.d.ts +1 -1
  15. package/dist/lib/components/AcBanner.vue.d.ts +1 -1
  16. package/dist/lib/components/AcCard.vue.d.ts +1 -1
  17. package/dist/lib/components/AcCard.vue_vue_type_script_setup_true_lang.js +2 -2
  18. package/dist/lib/components/AcCellValue.vue.d.ts +1 -1
  19. package/dist/lib/components/AcCheckBox.vue_vue_type_script_setup_true_lang.js +46 -43
  20. package/dist/lib/components/AcCheckList.vue.d.ts +1 -1
  21. package/dist/lib/components/AcCheckRadio.vue_vue_type_script_setup_true_lang.js +3 -3
  22. package/dist/lib/components/AcColorInput.vue.d.ts +4 -0
  23. package/dist/lib/components/AcColorInput.vue_vue_type_script_setup_true_lang.js +12 -2
  24. package/dist/lib/components/AcConfirmModal.vue.d.ts +1 -1
  25. package/dist/lib/components/AcDatePicker.vue.d.ts +3 -0
  26. package/dist/lib/components/AcDatePicker.vue_vue_type_script_setup_true_lang.js +12 -2
  27. package/dist/lib/components/AcDropdownItem.vue.d.ts +1 -1
  28. package/dist/lib/components/AcFeatureCard.vue.d.ts +1 -1
  29. package/dist/lib/components/AcGraphChart.vue.d.ts +53 -3
  30. package/dist/lib/components/AcGraphChart.vue_vue_type_script_setup_true_lang.js +401 -233
  31. package/dist/lib/components/AcHeader.vue_vue_type_script_setup_true_lang.js +1 -1
  32. package/dist/lib/components/AcInput.vue.d.ts +2 -0
  33. package/dist/lib/components/AcInput.vue_vue_type_script_setup_true_lang.js +18 -8
  34. package/dist/lib/components/AcList.js +5 -0
  35. package/dist/lib/components/AcList.vue.d.ts +56 -0
  36. package/dist/lib/components/AcList.vue_vue_type_script_setup_true_lang.js +74 -0
  37. package/dist/lib/components/AcListItem.js +5 -0
  38. package/dist/lib/components/AcListItem.vue.d.ts +53 -0
  39. package/dist/lib/components/AcListItem.vue_vue_type_script_setup_true_lang.js +105 -0
  40. package/dist/lib/components/AcMapChart.vue.d.ts +66 -3
  41. package/dist/lib/components/AcMapChart.vue_vue_type_script_setup_true_lang.js +403 -201
  42. package/dist/lib/components/AcModal.vue_vue_type_script_setup_true_lang.js +12 -8
  43. package/dist/lib/components/AcMonthPicker.js +5 -0
  44. package/dist/lib/components/AcMonthPicker.vue.d.ts +105 -0
  45. package/dist/lib/components/AcMonthPicker.vue_vue_type_script_setup_true_lang.js +605 -0
  46. package/dist/lib/components/AcNavbarItem.vue.d.ts +1 -1
  47. package/dist/lib/components/AcNumberInput.vue.d.ts +3 -0
  48. package/dist/lib/components/AcNumberInput.vue_vue_type_script_setup_true_lang.js +11 -1
  49. package/dist/lib/components/AcResourceCard.vue.d.ts +1 -1
  50. package/dist/lib/components/AcSelect.vue.d.ts +3 -0
  51. package/dist/lib/components/AcSelect.vue_vue_type_script_setup_true_lang.js +241 -218
  52. package/dist/lib/components/AcSidePanel.vue_vue_type_script_setup_true_lang.js +11 -7
  53. package/dist/lib/components/AcSideTabs.vue.d.ts +3 -1
  54. package/dist/lib/components/AcSideTabs.vue_vue_type_script_setup_true_lang.js +53 -33
  55. package/dist/lib/components/AcSidebar.vue_vue_type_script_setup_true_lang.js +1 -1
  56. package/dist/lib/components/AcSidebarItem.vue.d.ts +1 -1
  57. package/dist/lib/components/AcStatCard.vue.d.ts +1 -1
  58. package/dist/lib/components/AcSteps.vue.d.ts +3 -0
  59. package/dist/lib/components/AcSteps.vue_vue_type_script_setup_true_lang.js +33 -29
  60. package/dist/lib/components/AcSwitch.vue_vue_type_script_setup_true_lang.js +1 -1
  61. package/dist/lib/components/AcTable.vue_vue_type_script_setup_true_lang.js +83 -72
  62. package/dist/lib/components/AcTextarea.vue.d.ts +3 -0
  63. package/dist/lib/components/AcTextarea.vue_vue_type_script_setup_true_lang.js +11 -1
  64. package/dist/lib/components/AcTimePicker.vue.d.ts +3 -0
  65. package/dist/lib/components/AcTimePicker.vue_vue_type_script_setup_true_lang.js +12 -2
  66. package/dist/lib/components/AcToaster.vue.d.ts +3 -0
  67. package/dist/lib/components/AcToaster.vue_vue_type_script_setup_true_lang.js +71 -68
  68. package/dist/lib/components/AcTreeChart.js +5 -0
  69. package/dist/lib/components/AcTreeChart.vue.d.ts +135 -0
  70. package/dist/lib/components/AcTreeChart.vue_vue_type_script_setup_true_lang.js +809 -0
  71. package/dist/lib/components/AcUsageCard.vue.d.ts +1 -1
  72. package/dist/lib/components/index.d.ts +5 -2
  73. package/dist/lib/composables/copyText.d.ts +5 -1
  74. package/dist/lib/composables/copyText.js +15 -3
  75. package/dist/lib/index.d.ts +3 -0
  76. package/dist/lib/index.js +85 -81
  77. package/dist/lib/theme.css +11 -0
  78. package/package.json +1 -1
@@ -16,6 +16,7 @@ code:is([data-ac-ds], [data-ac-ds] *), kbd:is([data-ac-ds], [data-ac-ds] *), sam
16
16
  --font-sans: "Roboto Variable", "Roboto", ui-sans-serif, system-ui, sans-serif;
17
17
  --font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SFMono-Regular", Menlo, Consolas, monospace;
18
18
  --spacing: calc(4px * var(--ac-scale));
19
+ --container-xs: 320px;
19
20
  --container-sm: 384px;
20
21
  --container-md: 448px;
21
22
  --container-xl: 576px;
@@ -315,6 +316,10 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
315
316
  display: none !important;
316
317
  }
317
318
  @layer ac-compat {
319
+ .\@container\/steps:where([data-ac-ds], [data-ac-ds] *) {
320
+ container-type: inline-size !important;
321
+ container-name: steps !important;
322
+ }
318
323
  .\@container:where([data-ac-ds], [data-ac-ds] *) {
319
324
  container-type: inline-size !important;
320
325
  }
@@ -371,6 +376,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
371
376
  .inset-y-0:where([data-ac-ds], [data-ac-ds] *) {
372
377
  inset-block: 0px !important;
373
378
  }
379
+ .start-0:where([data-ac-ds], [data-ac-ds] *) {
380
+ inset-inline-start: calc(var(--spacing) * 0) !important;
381
+ }
374
382
  .-top-1:where([data-ac-ds], [data-ac-ds] *) {
375
383
  top: calc(var(--spacing) * -1) !important;
376
384
  }
@@ -407,8 +415,8 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
407
415
  .top-10:where([data-ac-ds], [data-ac-ds] *) {
408
416
  top: calc(var(--spacing) * 10) !important;
409
417
  }
410
- .top-20:where([data-ac-ds], [data-ac-ds] *) {
411
- top: calc(var(--spacing) * 20) !important;
418
+ .top-\[var\(--ac-toaster-offset\,80px\)\]:where([data-ac-ds], [data-ac-ds] *) {
419
+ top: var(--ac-toaster-offset,80px) !important;
412
420
  }
413
421
  .top-full:where([data-ac-ds], [data-ac-ds] *) {
414
422
  top: 100% !important;
@@ -455,14 +463,17 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
455
463
  .bottom-0:where([data-ac-ds], [data-ac-ds] *) {
456
464
  bottom: 0px !important;
457
465
  }
466
+ .bottom-1\.5:where([data-ac-ds], [data-ac-ds] *) {
467
+ bottom: calc(var(--spacing) * 1.5) !important;
468
+ }
458
469
  .bottom-2:where([data-ac-ds], [data-ac-ds] *) {
459
470
  bottom: calc(var(--spacing) * 2) !important;
460
471
  }
461
472
  .bottom-3:where([data-ac-ds], [data-ac-ds] *) {
462
473
  bottom: calc(var(--spacing) * 3) !important;
463
474
  }
464
- .bottom-5:where([data-ac-ds], [data-ac-ds] *) {
465
- bottom: calc(var(--spacing) * 5) !important;
475
+ .bottom-\[var\(--ac-toaster-offset\,20px\)\]:where([data-ac-ds], [data-ac-ds] *) {
476
+ bottom: var(--ac-toaster-offset,20px) !important;
466
477
  }
467
478
  .bottom-full:where([data-ac-ds], [data-ac-ds] *) {
468
479
  bottom: 100% !important;
@@ -572,6 +583,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
572
583
  margin-inline: auto !important;
573
584
  padding-inline: calc(var(--spacing) * 4) !important;
574
585
  }
586
+ .-mx-1:where([data-ac-ds], [data-ac-ds] *) {
587
+ margin-inline: calc(var(--spacing) * -1) !important;
588
+ }
575
589
  .-mx-2:where([data-ac-ds], [data-ac-ds] *) {
576
590
  margin-inline: calc(var(--spacing) * -2) !important;
577
591
  }
@@ -659,24 +673,21 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
659
673
  .-mr-2:where([data-ac-ds], [data-ac-ds] *) {
660
674
  margin-right: calc(var(--spacing) * -2) !important;
661
675
  }
676
+ .mr-0\.5:where([data-ac-ds], [data-ac-ds] *) {
677
+ margin-right: calc(var(--spacing) * 0.5) !important;
678
+ }
662
679
  .mr-1:where([data-ac-ds], [data-ac-ds] *) {
663
680
  margin-right: var(--spacing) !important;
664
681
  }
665
682
  .mr-1\.5:where([data-ac-ds], [data-ac-ds] *) {
666
683
  margin-right: calc(var(--spacing) * 1.5) !important;
667
684
  }
668
- .mr-2:where([data-ac-ds], [data-ac-ds] *) {
669
- margin-right: calc(var(--spacing) * 2) !important;
670
- }
671
685
  .mr-3:where([data-ac-ds], [data-ac-ds] *) {
672
686
  margin-right: calc(var(--spacing) * 3) !important;
673
687
  }
674
688
  .mr-4:where([data-ac-ds], [data-ac-ds] *) {
675
689
  margin-right: calc(var(--spacing) * 4) !important;
676
690
  }
677
- .mr-5:where([data-ac-ds], [data-ac-ds] *) {
678
- margin-right: calc(var(--spacing) * 5) !important;
679
- }
680
691
  .mb-1:where([data-ac-ds], [data-ac-ds] *) {
681
692
  margin-bottom: var(--spacing) !important;
682
693
  }
@@ -1188,6 +1199,12 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
1188
1199
  .w-72:where([data-ac-ds], [data-ac-ds] *) {
1189
1200
  width: calc(var(--spacing) * 72) !important;
1190
1201
  }
1202
+ .w-\[3ch\]:where([data-ac-ds], [data-ac-ds] *) {
1203
+ width: 3ch !important;
1204
+ }
1205
+ .w-\[3px\]:where([data-ac-ds], [data-ac-ds] *) {
1206
+ width: 3px !important;
1207
+ }
1191
1208
  .w-\[34px\]:where([data-ac-ds], [data-ac-ds] *) {
1192
1209
  width: 34px !important;
1193
1210
  }
@@ -1197,6 +1214,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
1197
1214
  .w-\[calc\(100\%-52px\)\]:where([data-ac-ds], [data-ac-ds] *) {
1198
1215
  width: calc(100% - 52px) !important;
1199
1216
  }
1217
+ .w-\[calc\(296px\*var\(--ac-scale\)\)\]:where([data-ac-ds], [data-ac-ds] *) {
1218
+ width: calc(296px * var(--ac-scale)) !important;
1219
+ }
1200
1220
  .w-\[calc\(320px\*var\(--ac-scale\)\)\]:where([data-ac-ds], [data-ac-ds] *) {
1201
1221
  width: calc(320px * var(--ac-scale)) !important;
1202
1222
  }
@@ -1302,6 +1322,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
1302
1322
  .max-w-xl:where([data-ac-ds], [data-ac-ds] *) {
1303
1323
  max-width: var(--container-xl) !important;
1304
1324
  }
1325
+ .max-w-xs:where([data-ac-ds], [data-ac-ds] *) {
1326
+ max-width: var(--container-xs) !important;
1327
+ }
1305
1328
  .min-w-0:where([data-ac-ds], [data-ac-ds] *) {
1306
1329
  min-width: 0px !important;
1307
1330
  }
@@ -1810,6 +1833,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
1810
1833
  .overflow-auto:where([data-ac-ds], [data-ac-ds] *) {
1811
1834
  overflow: auto !important;
1812
1835
  }
1836
+ .overflow-clip:where([data-ac-ds], [data-ac-ds] *) {
1837
+ overflow: clip !important;
1838
+ }
1813
1839
  .overflow-hidden:where([data-ac-ds], [data-ac-ds] *) {
1814
1840
  overflow: hidden !important;
1815
1841
  }
@@ -1855,6 +1881,10 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
1855
1881
  .rounded-full:where([data-ac-ds], [data-ac-ds] *) {
1856
1882
  border-radius: calc(infinity * 1px) !important;
1857
1883
  }
1884
+ .rounded-e-full:where([data-ac-ds], [data-ac-ds] *) {
1885
+ border-start-end-radius: calc(infinity * 1px) !important;
1886
+ border-end-end-radius: calc(infinity * 1px) !important;
1887
+ }
1858
1888
  .rounded-t-8:where([data-ac-ds], [data-ac-ds] *) {
1859
1889
  border-top-left-radius: var(--radius-8) !important;
1860
1890
  border-top-right-radius: var(--radius-8) !important;
@@ -3425,6 +3455,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
3425
3455
  color: color-mix(in oklab, var(--color-info) 5%, transparent) !important;
3426
3456
  }
3427
3457
  }
3458
+ .text-inherit:where([data-ac-ds], [data-ac-ds] *) {
3459
+ color: inherit !important;
3460
+ }
3428
3461
  .text-muted:where([data-ac-ds], [data-ac-ds] *) {
3429
3462
  color: var(--color-muted) !important;
3430
3463
  }
@@ -4174,9 +4207,27 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
4174
4207
  .group-focus-visible\/thumb\:opacity-100:is(:where(.group\/thumb):focus-visible *):where([data-ac-ds], [data-ac-ds] *) {
4175
4208
  opacity: 100% !important;
4176
4209
  }
4210
+ .group-aria-pressed\/row\:block:is(:where(.group\/row)[aria-pressed="true"] *):where([data-ac-ds], [data-ac-ds] *) {
4211
+ display: block !important;
4212
+ }
4213
+ .group-aria-pressed\/row\:text-primary:is(:where(.group\/row)[aria-pressed="true"] *):where([data-ac-ds], [data-ac-ds] *) {
4214
+ color: var(--color-primary) !important;
4215
+ }
4177
4216
  .group-aria-\[current\=page\]\:text-primary\!:is(:where(.group)[aria-current="page"] *):where([data-ac-ds], [data-ac-ds] *) {
4178
4217
  color: var(--color-primary) !important;
4179
4218
  }
4219
+ .group-aria-\[current\=page\]\/row\:block:is(:where(.group\/row)[aria-current="page"] *):where([data-ac-ds], [data-ac-ds] *) {
4220
+ display: block !important;
4221
+ }
4222
+ .group-aria-\[current\=page\]\/row\:text-primary:is(:where(.group\/row)[aria-current="page"] *):where([data-ac-ds], [data-ac-ds] *) {
4223
+ color: var(--color-primary) !important;
4224
+ }
4225
+ .group-aria-\[current\=true\]\/row\:block:is(:where(.group\/row)[aria-current="true"] *):where([data-ac-ds], [data-ac-ds] *) {
4226
+ display: block !important;
4227
+ }
4228
+ .group-aria-\[current\=true\]\/row\:text-primary:is(:where(.group\/row)[aria-current="true"] *):where([data-ac-ds], [data-ac-ds] *) {
4229
+ color: var(--color-primary) !important;
4230
+ }
4180
4231
  .peer-checked\:scale-100:is(:where(.peer):checked ~ *):where([data-ac-ds], [data-ac-ds] *) {
4181
4232
  --tw-scale-x: 100% !important;
4182
4233
  --tw-scale-y: 100% !important;
@@ -4284,6 +4335,12 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
4284
4335
  background-color: color-mix(in oklab, var(--color-danger) 10%, transparent) !important;
4285
4336
  }
4286
4337
  }
4338
+ .focus-within\:bg-surface-sunken:focus-within:where([data-ac-ds], [data-ac-ds] *) {
4339
+ background-color: var(--color-surface-sunken) !important;
4340
+ }
4341
+ .focus-within\:text-heading:focus-within:where([data-ac-ds], [data-ac-ds] *) {
4342
+ color: var(--color-heading) !important;
4343
+ }
4287
4344
  .focus-within\:shadow-\[0_0_0_2px_color-mix\(in_srgb\,var\(--color-danger\)_20\%\,transparent\)\]:focus-within:where([data-ac-ds], [data-ac-ds] *) {
4288
4345
  --tw-shadow: 0 0 0 2px var(--tw-shadow-color, color-mix(in srgb,#ef4444 20%,transparent)) !important;
4289
4346
  @supports (color: color-mix(in lab, red, red)) {
@@ -4298,6 +4355,13 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
4298
4355
  }
4299
4356
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
4300
4357
  }
4358
+ .focus-within\:ring-2:focus-within:where([data-ac-ds], [data-ac-ds] *) {
4359
+ --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor) !important;
4360
+ box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow) !important;
4361
+ }
4362
+ .focus-within\:ring-ring:focus-within:where([data-ac-ds], [data-ac-ds] *) {
4363
+ --tw-ring-color: var(--color-ring) !important;
4364
+ }
4301
4365
  @media (hover: hover) {
4302
4366
  .hover\:-translate-y-0\.5:hover:where([data-ac-ds], [data-ac-ds] *) {
4303
4367
  --tw-translate-y: calc(var(--spacing) * -0.5) !important;
@@ -4961,6 +5025,12 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
4961
5025
  .has-\[\[data-ac-card-link\]\:focus-visible\]\:ring-offset-surface:has(:is([data-ac-card-link]:focus-visible)):where([data-ac-ds], [data-ac-ds] *) {
4962
5026
  --tw-ring-offset-color: var(--color-surface) !important;
4963
5027
  }
5028
+ .has-\[\[data-accordion-trigger\]\:enabled\:hover\]\:bg-accent-hover\/60:has(:is([data-accordion-trigger]:enabled:hover)):where([data-ac-ds], [data-ac-ds] *) {
5029
+ background-color: color-mix(in srgb, #f2f9fd 60%, transparent) !important;
5030
+ @supports (color: color-mix(in lab, red, red)) {
5031
+ background-color: color-mix(in oklab, var(--color-accent-hover) 60%, transparent) !important;
5032
+ }
5033
+ }
4964
5034
  .has-\[img\]\:border:has(:is(img)):where([data-ac-ds], [data-ac-ds] *) {
4965
5035
  border-style: var(--tw-border-style) !important;
4966
5036
  border-width: 1px !important;
@@ -5014,6 +5084,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
5014
5084
  .aria-disabled\:opacity-50[aria-disabled="true"]:where([data-ac-ds], [data-ac-ds] *) {
5015
5085
  opacity: 50% !important;
5016
5086
  }
5087
+ .aria-pressed\:bg-accent[aria-pressed="true"]:where([data-ac-ds], [data-ac-ds] *) {
5088
+ background-color: var(--color-accent) !important;
5089
+ }
5017
5090
  .aria-\[current\=page\]\:border-primary\/35[aria-current="page"]:where([data-ac-ds], [data-ac-ds] *) {
5018
5091
  border-color: color-mix(in srgb, hsl(var(--primary-hue) var(--primary-saturation) var(--primary-light)) 35%, transparent) !important;
5019
5092
  @supports (color: color-mix(in lab, red, red)) {
@@ -5045,6 +5118,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
5045
5118
  --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-primary) 10%, transparent) var(--tw-shadow-alpha), transparent) !important;
5046
5119
  }
5047
5120
  }
5121
+ .aria-\[current\=true\]\:bg-accent[aria-current="true"]:where([data-ac-ds], [data-ac-ds] *) {
5122
+ background-color: var(--color-accent) !important;
5123
+ }
5048
5124
  @media (prefers-reduced-motion: no-preference) {
5049
5125
  .motion-safe\:-translate-x-1:where([data-ac-ds], [data-ac-ds] *) {
5050
5126
  --tw-translate-x: calc(var(--spacing) * -1) !important;
@@ -5282,6 +5358,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
5282
5358
  .sm\:shrink-0:where([data-ac-ds], [data-ac-ds] *) {
5283
5359
  flex-shrink: 0 !important;
5284
5360
  }
5361
+ .sm\:basis-\[160px\]:where([data-ac-ds], [data-ac-ds] *) {
5362
+ flex-basis: 160px !important;
5363
+ }
5285
5364
  .sm\:-translate-x-1\/2:where([data-ac-ds], [data-ac-ds] *) {
5286
5365
  --tw-translate-x: calc(calc(1 / 2 * 100%) * -1) !important;
5287
5366
  translate: var(--tw-translate-x) var(--tw-translate-y) !important;
@@ -5503,7 +5582,77 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
5503
5582
  display: none !important;
5504
5583
  }
5505
5584
  }
5585
+ @container steps (width < 480px) {
5586
+ .\@max-\[480px\]\/steps\:sr-only:where([data-ac-ds], [data-ac-ds] *) {
5587
+ position: absolute !important;
5588
+ width: 1px !important;
5589
+ height: 1px !important;
5590
+ padding: 0 !important;
5591
+ margin: -1px !important;
5592
+ overflow: hidden !important;
5593
+ clip-path: inset(50%) !important;
5594
+ white-space: nowrap !important;
5595
+ border-width: 0 !important;
5596
+ }
5597
+ }
5598
+ @container (width < 448px) {
5599
+ .\@max-md\:-mt-1:where([data-ac-ds], [data-ac-ds] *) {
5600
+ margin-top: calc(var(--spacing) * -1) !important;
5601
+ }
5602
+ .\@max-md\:-mt-2:where([data-ac-ds], [data-ac-ds] *) {
5603
+ margin-top: calc(var(--spacing) * -2) !important;
5604
+ }
5605
+ .\@max-md\:w-full:where([data-ac-ds], [data-ac-ds] *) {
5606
+ width: 100% !important;
5607
+ }
5608
+ .\@max-md\:basis-full:where([data-ac-ds], [data-ac-ds] *) {
5609
+ flex-basis: 100% !important;
5610
+ }
5611
+ .\@max-md\:flex-wrap:where([data-ac-ds], [data-ac-ds] *) {
5612
+ flex-wrap: wrap !important;
5613
+ }
5614
+ .\@max-md\:pb-3:where([data-ac-ds], [data-ac-ds] *) {
5615
+ padding-bottom: calc(var(--spacing) * 3) !important;
5616
+ }
5617
+ .\@max-md\:pb-4:where([data-ac-ds], [data-ac-ds] *) {
5618
+ padding-bottom: calc(var(--spacing) * 4) !important;
5619
+ }
5620
+ .\@max-md\:pl-8:where([data-ac-ds], [data-ac-ds] *) {
5621
+ padding-left: calc(var(--spacing) * 8) !important;
5622
+ }
5623
+ .\@max-md\:pl-12:where([data-ac-ds], [data-ac-ds] *) {
5624
+ padding-left: calc(var(--spacing) * 12) !important;
5625
+ }
5626
+ }
5627
+ @container (width >= 401px) {
5628
+ .\@min-\[401px\]\:sr-only:where([data-ac-ds], [data-ac-ds] *) {
5629
+ position: absolute !important;
5630
+ width: 1px !important;
5631
+ height: 1px !important;
5632
+ padding: 0 !important;
5633
+ margin: -1px !important;
5634
+ overflow: hidden !important;
5635
+ clip-path: inset(50%) !important;
5636
+ white-space: nowrap !important;
5637
+ border-width: 0 !important;
5638
+ }
5639
+ }
5506
5640
  @container (width >= 512px) {
5641
+ .\@lg\:w-2\/5:where([data-ac-ds], [data-ac-ds] *) {
5642
+ width: calc(2 / 5 * 100%) !important;
5643
+ }
5644
+ .\@lg\:max-w-\[240px\]:where([data-ac-ds], [data-ac-ds] *) {
5645
+ max-width: 240px !important;
5646
+ }
5647
+ .\@lg\:shrink-0:where([data-ac-ds], [data-ac-ds] *) {
5648
+ flex-shrink: 0 !important;
5649
+ }
5650
+ .\@lg\:flex-row:where([data-ac-ds], [data-ac-ds] *) {
5651
+ flex-direction: row !important;
5652
+ }
5653
+ .\@lg\:items-center:where([data-ac-ds], [data-ac-ds] *) {
5654
+ align-items: center !important;
5655
+ }
5507
5656
  .\@lg\:gap-x-2:where([data-ac-ds], [data-ac-ds] *) {
5508
5657
  column-gap: calc(var(--spacing) * 2) !important;
5509
5658
  }
@@ -5796,6 +5945,9 @@ button:is([data-ac-ds], [data-ac-ds] *), input:where([type="button"], [type="res
5796
5945
  .\[\&\>svg\]\:text-muted > svg:where([data-ac-ds], [data-ac-ds] *) {
5797
5946
  color: var(--color-muted) !important;
5798
5947
  }
5948
+ :where(.\[\:where\(\&\)\]\:w-full):where([data-ac-ds], [data-ac-ds] *) {
5949
+ width: 100% !important;
5950
+ }
5799
5951
  :where(.\[\:where\(\&\)\]\:bg-danger\/5):where([data-ac-ds], [data-ac-ds] *) {
5800
5952
  background-color: color-mix(in srgb, #ef4444 5%, transparent) !important;
5801
5953
  @supports (color: color-mix(in lab, red, red)) {
@@ -14,12 +14,14 @@ type __VLS_Props = Props;
14
14
  type __VLS_Slots = {
15
15
  /** The panel content, shown when open. */
16
16
  default?: () => unknown;
17
- /** Replaces the `title` text. Keep it to text and inline badges; it sits inside the header button. */
17
+ /** Replaces the `title` text. Keep it to text and inline badges; it sits inside the header button. Put buttons in `actions`. */
18
18
  title?: () => unknown;
19
19
  /** Replaces the `description` text. */
20
20
  description?: () => unknown;
21
21
  /** A 16px icon before the title, shown in a tinted 32px tile. */
22
22
  icon?: () => unknown;
23
+ /** Buttons at the right of the header, e.g. Edit and Delete. They sit beside the header button, not in it, so clicking them doesn't open or close the item. The chevron moves to the start of the header; below 448px the actions wrap under the title. */
24
+ actions?: () => unknown;
23
25
  };
24
26
  type __VLS_ModelProps = {
25
27
  /** Whether the item is open. Use `v-model:open` for a single item outside an AcAccordion. */
@@ -1,5 +1,5 @@
1
- import { computed as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, createVNode as o, defineComponent as s, inject as c, mergeModels as l, normalizeClass as u, openBlock as d, renderSlot as f, resolveDynamicComponent as p, toDisplayString as m, unref as h, useId as g, useModel as _, watch as v, withCtx as y } from "vue";
2
- import { ChevronDown as b } from "@lucide/vue";
1
+ import { computed as e, createBlock as t, createCommentVNode as n, createElementBlock as r, createElementVNode as i, createTextVNode as a, defineComponent as o, inject as s, mergeModels as c, normalizeClass as l, openBlock as u, renderSlot as d, resolveDynamicComponent as f, toDisplayString as p, unref as m, useId as h, useModel as g, watch as _, withCtx as v } from "vue";
2
+ import { ChevronDown as y, ChevronRight as b } from "@lucide/vue";
3
3
  //#region src/lib/components/AcAccordionItem.vue?vue&type=script&setup=true&lang.ts
4
4
  var x = [
5
5
  "id",
@@ -7,7 +7,7 @@ var x = [
7
7
  "aria-controls",
8
8
  "disabled"
9
9
  ], S = {
10
- key: 0,
10
+ key: 1,
11
11
  class: "inline-flex size-8 shrink-0 items-center justify-center rounded-10 border border-primary/25 bg-primary/10 text-primary-strong [&_svg]:size-4",
12
12
  "aria-hidden": "true"
13
13
  }, C = { class: "min-w-0 flex-1" }, w = { class: "block text-lg leading-6 font-semibold tracking-tight text-heading" }, T = {
@@ -17,9 +17,9 @@ var x = [
17
17
  "id",
18
18
  "aria-labelledby",
19
19
  "inert"
20
- ], D = /*@__PURE__*/ s({
20
+ ], D = /*@__PURE__*/ o({
21
21
  __name: "AcAccordionItem",
22
- props: /*@__PURE__*/ l({
22
+ props: /*@__PURE__*/ c({
23
23
  value: { default: void 0 },
24
24
  title: { default: "" },
25
25
  description: { default: "" },
@@ -35,46 +35,55 @@ var x = [
35
35
  },
36
36
  openModifiers: {}
37
37
  }),
38
- emits: /*@__PURE__*/ l(["toggle"], ["update:open"]),
39
- setup(s, { emit: l }) {
40
- let D = s, O = _(s, "open"), k = l, A = c("ac-accordion", null), j = g(), M = e(() => D.value ?? j), N = e(() => A ? A.isOpen(M.value) : O.value), P = e(() => D.headingLevel ?? A?.headingLevel.value ?? 3), F = e(() => A?.variant.value ?? "separated");
38
+ emits: /*@__PURE__*/ c(["toggle"], ["update:open"]),
39
+ setup(o, { emit: c }) {
40
+ let D = o, O = g(o, "open"), k = c, A = s("ac-accordion", null), j = h(), M = e(() => D.value ?? j), N = e(() => A ? A.isOpen(M.value) : O.value), P = e(() => D.headingLevel ?? A?.headingLevel.value ?? 3), F = e(() => A?.variant.value ?? "separated");
41
41
  function I() {
42
42
  if (D.disabled) return;
43
43
  let e = !N.value;
44
44
  A ? A.toggle(M.value) : O.value = e, k("toggle", e);
45
45
  }
46
- return v(N, (e) => {
46
+ return _(N, (e) => {
47
47
  A && (O.value = e);
48
- }), (e, c) => (d(), r("div", {
49
- class: u(F.value === "separated" && "overflow-hidden rounded-14 border border-border bg-surface"),
48
+ }), (e, s) => (u(), r("div", {
49
+ class: l([F.value === "separated" && "overflow-hidden rounded-14 border border-border bg-surface", e.$slots.actions && "@container"]),
50
50
  "data-ac-ds": "",
51
51
  "data-testid": "ac-accordion-item"
52
- }, [(d(), t(p(`h${P.value}`), { class: "m-0 text-base leading-5 font-normal tracking-normal" }, {
53
- default: y(() => [i("button", {
54
- id: `${h(j)}-trigger`,
52
+ }, [i("div", { class: l(["flex items-center", e.$slots.actions && "transition-colors duration-200 @max-md:flex-wrap has-[[data-accordion-trigger]:enabled:hover]:bg-accent-hover/60"]) }, [(u(), t(f(`h${P.value}`), { class: "m-0 min-w-0 flex-1 text-base leading-5 font-normal tracking-normal @max-md:basis-full" }, {
53
+ default: v(() => [i("button", {
54
+ id: `${m(j)}-trigger`,
55
55
  type: "button",
56
56
  "data-accordion-trigger": "",
57
57
  "aria-expanded": N.value,
58
- "aria-controls": `${h(j)}-panel`,
59
- disabled: s.disabled,
60
- class: u(["flex w-full cursor-pointer items-center gap-3 text-left transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset disabled:cursor-not-allowed disabled:opacity-50", [F.value === "flush" ? "px-1 py-3" : "px-5 py-4", !s.disabled && "hover:bg-accent-hover/60"]]),
58
+ "aria-controls": `${m(j)}-panel`,
59
+ disabled: o.disabled,
60
+ class: l(["flex w-full cursor-pointer items-center gap-3 text-left transition-colors duration-200 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-inset disabled:cursor-not-allowed disabled:opacity-50", [F.value === "flush" ? "px-1 py-3" : "px-5 py-4", !o.disabled && !e.$slots.actions && "hover:bg-accent-hover/60"]]),
61
61
  onClick: I
62
62
  }, [
63
- e.$slots.icon ? (d(), r("span", S, [f(e.$slots, "icon")])) : n("", !0),
64
- i("span", C, [i("span", w, [f(e.$slots, "title", {}, () => [a(m(s.title), 1)])]), s.description || e.$slots.description ? (d(), r("span", T, [f(e.$slots, "description", {}, () => [a(m(s.description), 1)])])) : n("", !0)]),
65
- o(h(b), {
66
- class: u(["size-4 shrink-0 text-muted transition-transform duration-200 ease-out-soft motion-reduce:transition-none", N.value && "rotate-180 text-heading"]),
63
+ e.$slots.actions ? (u(), t(m(b), {
64
+ key: 0,
65
+ class: l(["size-4 shrink-0 text-muted transition-transform duration-200 ease-out-soft motion-reduce:transition-none", N.value && "rotate-90 text-heading"]),
66
+ "aria-hidden": "true"
67
+ }, null, 8, ["class"])) : n("", !0),
68
+ e.$slots.icon ? (u(), r("span", S, [d(e.$slots, "icon")])) : n("", !0),
69
+ i("span", C, [i("span", w, [d(e.$slots, "title", {}, () => [a(p(o.title), 1)])]), o.description || e.$slots.description ? (u(), r("span", T, [d(e.$slots, "description", {}, () => [a(p(o.description), 1)])])) : n("", !0)]),
70
+ e.$slots.actions ? n("", !0) : (u(), t(m(y), {
71
+ key: 2,
72
+ class: l(["size-4 shrink-0 text-muted transition-transform duration-200 ease-out-soft motion-reduce:transition-none", N.value && "rotate-180 text-heading"]),
67
73
  "aria-hidden": "true"
68
- }, null, 8, ["class"])
74
+ }, null, 8, ["class"]))
69
75
  ], 10, x)]),
70
76
  _: 3
71
- })), i("div", { class: u(["grid transition-[grid-template-rows] duration-200 ease-out-soft motion-reduce:transition-none", N.value ? "grid-rows-[1fr]" : "grid-rows-[0fr]"]) }, [i("div", {
72
- id: `${h(j)}-panel`,
77
+ })), e.$slots.actions ? (u(), r("div", {
78
+ key: 0,
79
+ class: l(["flex shrink-0 flex-wrap items-center gap-1.5 @max-md:w-full", F.value === "flush" ? "pr-1 @max-md:-mt-1 @max-md:pb-3 @max-md:pl-8" : "pr-5 @max-md:-mt-2 @max-md:pb-4 @max-md:pl-12"])
80
+ }, [d(e.$slots, "actions")], 2)) : n("", !0)], 2), i("div", { class: l(["grid transition-[grid-template-rows] duration-200 ease-out-soft motion-reduce:transition-none", N.value ? "grid-rows-[1fr]" : "grid-rows-[0fr]"]) }, [i("div", {
81
+ id: `${m(j)}-panel`,
73
82
  role: "region",
74
- "aria-labelledby": `${h(j)}-trigger`,
83
+ "aria-labelledby": `${m(j)}-trigger`,
75
84
  inert: !N.value || void 0,
76
85
  class: "min-h-0 overflow-hidden"
77
- }, [i("div", { class: u(["pt-0.5 text-base text-body", F.value === "flush" ? "px-1 pb-4" : "px-5 pb-5"]) }, [f(e.$slots, "default")], 2)], 8, E)], 2)], 2));
86
+ }, [i("div", { class: l(["pt-0.5 text-base text-body", F.value === "flush" ? "px-1 pb-4" : "px-5 pb-5"]) }, [d(e.$slots, "default")], 2)], 8, E)], 2)], 2));
78
87
  }
79
88
  });
80
89
  //#endregion
@@ -41,8 +41,8 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
41
41
  }>, {
42
42
  variant: "tinted" | "callout";
43
43
  title: string;
44
- icon: Component;
45
44
  color: Tone | "neutral";
45
+ icon: Component;
46
46
  size: "normal" | "small";
47
47
  loading: boolean;
48
48
  dismissible: boolean;
@@ -27,8 +27,8 @@ type __VLS_Slots = {
27
27
  declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<Props> & Readonly<{}>, {
28
28
  variant: Variant;
29
29
  label: string;
30
- icon: Component;
31
30
  color: Tone | "pending" | "default" | "secondary" | "dark";
31
+ icon: Component;
32
32
  status: string | null;
33
33
  rounded: boolean;
34
34
  dot: boolean;
@@ -40,8 +40,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
40
40
  }>, {
41
41
  variant: "subtle" | "solid";
42
42
  title: string;
43
- icon: Component;
44
43
  color: "info" | "warning" | "danger" | "primary" | "neutral";
44
+ icon: Component;
45
45
  dismissible: boolean;
46
46
  hideIcon: boolean;
47
47
  actionLabel: string;
@@ -49,8 +49,8 @@ declare const __VLS_base: import("vue").DefineComponent<Props, {}, {}, {}, {}, i
49
49
  variant: "default" | "muted" | "dashed" | "danger";
50
50
  title: string;
51
51
  description: string;
52
- icon: Component;
53
52
  color: "primary" | "blue" | "violet" | "red" | "amber";
53
+ icon: Component;
54
54
  subtitle: string;
55
55
  padded: boolean;
56
56
  padding: "none" | "xs" | "sm" | "md" | "lg";
@@ -12,7 +12,7 @@ var g = {
12
12
  class: "mt-0.5 text-xs leading-4 text-muted"
13
13
  }, b = {
14
14
  key: 1,
15
- class: "flex max-w-full min-w-0 shrink-0 flex-wrap items-center gap-2"
15
+ class: "flex max-w-full min-w-0 shrink-0 flex-wrap items-center gap-2 sm:flex-nowrap"
16
16
  }, x = /*@__PURE__*/ c({
17
17
  __name: "AcCard",
18
18
  props: {
@@ -203,7 +203,7 @@ var g = {
203
203
  key: 1,
204
204
  class: l(["absolute -top-4 -right-4 [&_svg]:size-24!", M.value.watermark])
205
205
  }, [d(e.$slots, "icon")], 2))])) : i("", !0),
206
- o("div", { class: l(["flex min-w-0 flex-1 basis-[220px] items-center", A.value ? "gap-2.5" : "gap-3"]) }, [c.icon || e.$slots.icon ? (u(), a("span", {
206
+ o("div", { class: l(["flex min-w-0 flex-1 basis-[220px] items-center sm:basis-[160px]", A.value ? "gap-2.5" : "gap-3"]) }, [c.icon || e.$slots.icon ? (u(), a("span", {
207
207
  key: 0,
208
208
  class: l(["flex shrink-0 items-center justify-center", [
209
209
  M.value.tile,
@@ -123,9 +123,9 @@ declare const __VLS_export: import("vue").DefineComponent<Props, {}, {}, {}, {},
123
123
  bold: boolean;
124
124
  title: string;
125
125
  value: undefined;
126
- icon: string;
127
126
  color: string;
128
127
  href: string;
128
+ icon: string;
129
129
  align: "left" | "center" | "right";
130
130
  maxWidth: string;
131
131
  tooltip: string;