@threadlabs/looma 0.33.1 → 0.34.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/components/shared/overlay.js +8 -2
  2. package/components/shared/surface-material.js +21 -0
  3. package/components/ui-button/ui-button.html +63 -47
  4. package/components/ui-card/ui-card.html +44 -2
  5. package/components/ui-curve-editor/curve.js +10 -0
  6. package/components/ui-curve-editor/ui-curve-editor.html +181 -0
  7. package/components/ui-curve-editor/ui-curve-editor.js +51 -0
  8. package/components/ui-dialog/ui-dialog.html +62 -1
  9. package/components/ui-dialog/ui-dialog.js +9 -1
  10. package/components/ui-icon-button/ui-icon-button.html +75 -23
  11. package/components/ui-menu/ui-menu.html +60 -0
  12. package/components/ui-menu/ui-menu.js +1 -1
  13. package/components/ui-number-input/arithmetic.js +47 -0
  14. package/components/ui-number-input/ui-number-input.html +62 -0
  15. package/components/ui-number-input/ui-number-input.js +44 -0
  16. package/components/ui-popover/ui-popover.html +64 -1
  17. package/components/ui-popover/ui-popover.js +1 -1
  18. package/components/ui-slider/ui-slider.html +84 -0
  19. package/components/ui-slider/ui-slider.js +29 -0
  20. package/components/ui-tabs/ui-tabs.html +6 -1
  21. package/components/ui-text/ui-text.html +31 -6
  22. package/components/ui-tooltip/ui-tooltip.html +60 -0
  23. package/components/ui-tooltip/ui-tooltip.js +1 -1
  24. package/dist/index.js +46 -43
  25. package/docs/README.md +34 -4
  26. package/docs/card.html +16 -2
  27. package/docs/card.js +17 -2
  28. package/docs/catalog.json +1154 -144
  29. package/docs/customizer-render.mjs +35 -9
  30. package/docs/customizer.js +83 -20
  31. package/docs/documentation.css +9 -1
  32. package/docs/index.d.ts +4 -2
  33. package/docs/index.mjs +1 -1
  34. package/docs/preview.js +2 -0
  35. package/docs/render.mjs +15 -6
  36. package/docs/site.mjs +50 -9
  37. package/docs/theme-session.mjs +51 -0
  38. package/docs/theme.mjs +134 -15
  39. package/docs/value-editors.mjs +33 -0
  40. package/package.json +2 -2
  41. package/styles/ui-button.css +45 -45
  42. package/styles/ui-card.css +47 -0
  43. package/styles/ui-curve-editor.css +109 -0
  44. package/styles/ui-dialog.css +132 -0
  45. package/styles/ui-icon-button.css +63 -20
  46. package/styles/ui-menu.css +72 -0
  47. package/styles/ui-number-input.css +34 -0
  48. package/styles/ui-popover.css +74 -0
  49. package/styles/ui-slider.css +53 -0
  50. package/styles/ui-tabs.css +6 -1
  51. package/styles/ui-text.css +23 -1
  52. package/styles/ui-tooltip.css +72 -0
  53. package/theme-system.css +26 -10
  54. package/tokens.css +8 -2
  55. package/vanilla/UiButton.d.ts +1 -0
  56. package/vanilla/UiButton.js +195 -130
  57. package/vanilla/UiCard.d.ts +1 -1
  58. package/vanilla/UiCard.js +1 -1
  59. package/vanilla/UiCurveEditor.d.ts +28 -0
  60. package/vanilla/UiCurveEditor.js +134 -0
  61. package/vanilla/UiIconButton.d.ts +2 -1
  62. package/vanilla/UiIconButton.js +58 -31
  63. package/vanilla/UiNumberInput.d.ts +33 -0
  64. package/vanilla/UiNumberInput.js +79 -0
  65. package/vanilla/UiSlider.d.ts +33 -0
  66. package/vanilla/UiSlider.js +125 -0
  67. package/vanilla/UiText.d.ts +2 -2
  68. package/vanilla/UiText.js +45 -11
  69. package/vanilla/index.js +3 -0
  70. package/vue/UiButton.d.ts +6 -0
  71. package/vue/UiButton.vue +155 -56
  72. package/vue/UiCard.d.ts +2 -2
  73. package/vue/UiCard.vue +55 -5
  74. package/vue/UiCurveEditor.d.ts +53 -0
  75. package/vue/UiCurveEditor.js +2 -0
  76. package/vue/UiCurveEditor.vue +427 -0
  77. package/vue/UiDialog.vue +177 -1
  78. package/vue/UiIconButton.d.ts +8 -2
  79. package/vue/UiIconButton.vue +164 -34
  80. package/vue/UiMenu.vue +89 -0
  81. package/vue/UiNumberInput.d.ts +83 -0
  82. package/vue/UiNumberInput.js +2 -0
  83. package/vue/UiNumberInput.vue +370 -0
  84. package/vue/UiPopover.vue +92 -1
  85. package/vue/UiSlider.d.ts +83 -0
  86. package/vue/UiSlider.js +2 -0
  87. package/vue/UiSlider.vue +412 -0
  88. package/vue/UiTabs.vue +6 -1
  89. package/vue/UiText.d.ts +7 -5
  90. package/vue/UiText.vue +104 -22
  91. package/vue/UiTooltip.vue +89 -0
  92. package/vue/chunks/UiActionBar.js +1 -1
  93. package/vue/chunks/UiAffordanceScope.js +2 -2
  94. package/vue/chunks/UiAvatar.js +2 -2
  95. package/vue/chunks/UiAvatarGroup.js +2 -2
  96. package/vue/chunks/UiBadge.js +2 -2
  97. package/vue/chunks/UiBreadcrumbItem.js +2 -2
  98. package/vue/chunks/UiBreadcrumbs.js +2 -2
  99. package/vue/chunks/UiButton.js +94 -11
  100. package/vue/chunks/UiCallout.js +2 -2
  101. package/vue/chunks/UiCard.js +6 -5
  102. package/vue/chunks/UiCheckbox.js +2 -2
  103. package/vue/chunks/UiCluster.js +2 -2
  104. package/vue/chunks/UiColorPicker.js +2 -2
  105. package/vue/chunks/UiCombobox.js +2 -2
  106. package/vue/chunks/UiContainer.js +2 -2
  107. package/vue/chunks/UiContextMenu.js +2 -2
  108. package/vue/chunks/UiCover.js +2 -2
  109. package/vue/chunks/UiCurveEditor.js +413 -0
  110. package/vue/chunks/UiDescriptionItem.js +2 -2
  111. package/vue/chunks/UiDescriptionList.js +2 -2
  112. package/vue/chunks/UiDialog.js +4 -4
  113. package/vue/chunks/UiDisclosure.js +2 -2
  114. package/vue/chunks/UiEditable.js +2 -2
  115. package/vue/chunks/UiEditorBlockActions.js +2 -2
  116. package/vue/chunks/UiEditorChipEditor.js +2 -2
  117. package/vue/chunks/UiEditorCodeLanguage.js +2 -2
  118. package/vue/chunks/UiEditorFootnoteEditor.js +2 -2
  119. package/vue/chunks/UiEditorImageToolbar.js +3 -3
  120. package/vue/chunks/UiEditorInsertTableGrid.js +2 -2
  121. package/vue/chunks/UiEditorLinkCard.js +3 -3
  122. package/vue/chunks/UiEditorLinkForm.js +3 -3
  123. package/vue/chunks/UiEditorMentionMenu.js +2 -2
  124. package/vue/chunks/UiEditorMentionMenuItem.js +2 -2
  125. package/vue/chunks/UiEditorSlashMenu.js +2 -2
  126. package/vue/chunks/UiEditorSlashMenuGroup.js +2 -2
  127. package/vue/chunks/UiEditorSlashMenuItem.js +2 -2
  128. package/vue/chunks/UiEditorSurface.js +2 -2
  129. package/vue/chunks/UiEditorTableContextMenu.js +2 -2
  130. package/vue/chunks/UiEditorTableOverlay.js +2 -2
  131. package/vue/chunks/UiEditorTableToolbar.js +2 -2
  132. package/vue/chunks/UiEditorToolbar.js +2 -2
  133. package/vue/chunks/UiFloatingActionButton.js +2 -2
  134. package/vue/chunks/UiFormField.js +2 -2
  135. package/vue/chunks/UiGrid.js +2 -2
  136. package/vue/chunks/UiIcon.js +2 -2
  137. package/vue/chunks/UiIconButton.js +77 -11
  138. package/vue/chunks/UiImage.js +2 -2
  139. package/vue/chunks/UiInput.js +2 -2
  140. package/vue/chunks/UiInputGroup.js +2 -2
  141. package/vue/chunks/UiList.js +2 -2
  142. package/vue/chunks/UiListItem.js +2 -2
  143. package/vue/chunks/UiListbox.js +2 -2
  144. package/vue/chunks/UiMenu.js +3 -3
  145. package/vue/chunks/UiMenuGroup.js +2 -2
  146. package/vue/chunks/UiMenuItem.js +2 -2
  147. package/vue/chunks/UiMeter.js +2 -2
  148. package/vue/chunks/UiNavItem.js +2 -2
  149. package/vue/chunks/UiNumberInput.js +390 -0
  150. package/vue/chunks/UiPageHeader.js +2 -2
  151. package/vue/chunks/UiPopover.js +4 -4
  152. package/vue/chunks/UiRadio.js +2 -2
  153. package/vue/chunks/UiRadioGroup.js +2 -2
  154. package/vue/chunks/UiReel.js +2 -2
  155. package/vue/chunks/UiScrollArea.js +2 -2
  156. package/vue/chunks/UiSearchResultRow.js +2 -2
  157. package/vue/chunks/UiSearchShell.js +2 -2
  158. package/vue/chunks/UiSection.js +2 -2
  159. package/vue/chunks/UiSelect.js +2 -2
  160. package/vue/chunks/UiSeparator.js +2 -2
  161. package/vue/chunks/UiSidebar.js +2 -2
  162. package/vue/chunks/UiSlider.js +396 -0
  163. package/vue/chunks/UiSpinner.js +2 -2
  164. package/vue/chunks/UiStack.js +2 -2
  165. package/vue/chunks/UiStatusMessage.js +2 -2
  166. package/vue/chunks/UiSwatch.js +2 -2
  167. package/vue/chunks/UiSwitch.js +2 -2
  168. package/vue/chunks/UiSwitcher.js +2 -2
  169. package/vue/chunks/UiTable.js +2 -2
  170. package/vue/chunks/UiTabs.js +3 -3
  171. package/vue/chunks/UiText.js +53 -12
  172. package/vue/chunks/UiTextarea.js +2 -2
  173. package/vue/chunks/UiToast.js +2 -2
  174. package/vue/chunks/UiToastRegion.js +2 -2
  175. package/vue/chunks/UiTooltip.js +3 -3
  176. package/vue/chunks/UiTopBar.js +1 -1
  177. package/vue/chunks/UiTree.js +2 -2
  178. package/vue/chunks/UiTreeItem.js +2 -2
  179. package/vue/chunks/_plugin-vue_export-helper.js +68 -2
  180. package/vue/chunks/props.js +24 -1
  181. package/vue/components.css +2215 -1203
  182. package/vue/editor/index.js +623 -211
  183. package/vue/index.d.ts +3 -0
  184. package/vue/index.js +5 -2
package/vue/UiDialog.vue CHANGED
@@ -84,7 +84,8 @@ const propValidityContract = {
84
84
  type: { kind: 'terminal', name: 'keyword' },
85
85
  required: false,
86
86
  target: { attribute: 'size' },
87
- description: 'Choose a compact, standard, wide, or viewport-filling dialog.',
87
+ description:
88
+ 'Choose a compact, standard, wide, or viewport-filling dialog. Shared surface separation adapts to dialog purpose and rendered size.',
88
89
  values: ['sm', 'md', 'lg', 'fullscreen'],
89
90
  default: 'md',
90
91
  },
@@ -362,6 +363,9 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
362
363
  inherits: false;
363
364
  }
364
365
 
366
+ /* Purpose and measured size shape one shared separation lever. The content plane stays opaque;
367
+ transparency, saturation and edge light belong to the surrounding decorative material. */
368
+
365
369
  /* Own the layout wrapper; nested component roots are outside these scoped rules. */
366
370
 
367
371
  /* Alerts have no close target to add height above the title. */
@@ -387,6 +391,7 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
387
391
 
388
392
  @scope (.ui-dialog) to ([data-hn]) {
389
393
  :global(:scope:where([data-hn-ui-dialog])) {
394
+ --_ui-material-scale: 1;
390
395
  /* Hooks do not inherit, so the parts below read them from the root. */
391
396
  --_ui-dialog-duration: var(--ui-dialog-duration);
392
397
 
@@ -422,6 +427,91 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
422
427
  display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
423
428
  overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
424
429
  }
430
+ :global(:scope:where([data-hn-ui-dialog])) {
431
+ --_ui-material-glassiness: clamp(0, var(--ui-glassiness, 0), 1);
432
+ --_ui-material-separation: clamp(0, var(--ui-surface-separation, 0), 1);
433
+ --_ui-material-active: clamp(
434
+ 0,
435
+ calc((var(--_ui-material-glassiness) + var(--_ui-material-separation)) * 100000),
436
+ 1
437
+ );
438
+ --_ui-material-rim: calc(
439
+ (
440
+ var(--_ui-material-separation) + var(--_ui-material-glassiness) * 0.25
441
+ ) *
442
+ var(--_ui-material-scale, 1) *
443
+ 8px
444
+ );
445
+ --_ui-material-content-color: var(
446
+ --ui-dialog-surface,
447
+ var(--ui-material-content, var(--ui-overlay-surface, var(--ui-surface-elevated)))
448
+ );
449
+ --_ui-material-rim-color: color-mix(
450
+ in srgb,
451
+ var(--ui-material-glass, var(--ui-surface-elevated)) calc(var(--_ui-material-active) * 100%),
452
+ transparent
453
+ );
454
+ background:
455
+ linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color))
456
+ padding-box,
457
+ linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
458
+ var(--_ui-material-content-color) padding-box;
459
+ border-width: calc(var(--ui-border-width) + var(--_ui-material-rim));
460
+ border-color: var(
461
+ --ui-dialog-border,
462
+ color-mix(
463
+ in oklab,
464
+ var(--ui-overlay-border, var(--ui-border-strong)) calc(
465
+ (1 - var(--_ui-material-active)) * 100%
466
+ ),
467
+ transparent
468
+ )
469
+ );
470
+ box-shadow: var(
471
+ --ui-dialog-shadow,
472
+ var(
473
+ --ui-overlay-shadow,
474
+ 0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 8px) calc(
475
+ var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 24px
476
+ ) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
477
+ inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(
478
+ --ui-material-edge,
479
+ var(--ui-border-strong)
480
+ ),
481
+ var(--ui-elevation-dialog, var(--ui-shadow-xl))
482
+ )
483
+ );
484
+ backdrop-filter: blur(
485
+ calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 18px)
486
+ ) saturate(calc(1 + var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 0.18));
487
+ -webkit-backdrop-filter: blur(
488
+ calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 18px)
489
+ ) saturate(calc(1 + var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 0.18));
490
+ }
491
+
492
+ @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
493
+ :global(:scope:where([data-hn-ui-dialog])) {
494
+ background: var(--_ui-material-content-color);
495
+ }
496
+ }
497
+
498
+ @media (prefers-reduced-transparency: reduce) {
499
+ :global(:scope:where([data-hn-ui-dialog])) {
500
+ background: var(--_ui-material-content-color);
501
+ backdrop-filter: none;
502
+ -webkit-backdrop-filter: none;
503
+ }
504
+ }
505
+
506
+ @media (forced-colors: active) {
507
+ :global(:scope:where([data-hn-ui-dialog])) {
508
+ background: Canvas;
509
+ border-color: CanvasText;
510
+ box-shadow: none;
511
+ backdrop-filter: none;
512
+ -webkit-backdrop-filter: none;
513
+ }
514
+ }
425
515
 
426
516
  :global(:scope[open]:where([data-hn-ui-dialog])) {
427
517
  display: flex !important;
@@ -578,6 +668,7 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
578
668
 
579
669
  @scope ([data-slotted~="ui-dialog"]:not([data-hn])) to ([data-hn], [data-slotted]) {
580
670
  :global(:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
671
+ --_ui-material-scale: 1;
581
672
  /* Hooks do not inherit, so the parts below read them from the root. */
582
673
  --_ui-dialog-duration: var(--ui-dialog-duration);
583
674
 
@@ -613,6 +704,91 @@ useComponentHost(() => import('../components/ui-dialog/ui-dialog.js'), {
613
704
  display var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete,
614
705
  overlay var(--ui-dialog-duration, var(--ui-motion-base)) var(--ui-motion-ease) allow-discrete;
615
706
  }
707
+ :global(:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
708
+ --_ui-material-glassiness: clamp(0, var(--ui-glassiness, 0), 1);
709
+ --_ui-material-separation: clamp(0, var(--ui-surface-separation, 0), 1);
710
+ --_ui-material-active: clamp(
711
+ 0,
712
+ calc((var(--_ui-material-glassiness) + var(--_ui-material-separation)) * 100000),
713
+ 1
714
+ );
715
+ --_ui-material-rim: calc(
716
+ (
717
+ var(--_ui-material-separation) + var(--_ui-material-glassiness) * 0.25
718
+ ) *
719
+ var(--_ui-material-scale, 1) *
720
+ 8px
721
+ );
722
+ --_ui-material-content-color: var(
723
+ --ui-dialog-surface,
724
+ var(--ui-material-content, var(--ui-overlay-surface, var(--ui-surface-elevated)))
725
+ );
726
+ --_ui-material-rim-color: color-mix(
727
+ in srgb,
728
+ var(--ui-material-glass, var(--ui-surface-elevated)) calc(var(--_ui-material-active) * 100%),
729
+ transparent
730
+ );
731
+ background:
732
+ linear-gradient(var(--_ui-material-content-color), var(--_ui-material-content-color))
733
+ padding-box,
734
+ linear-gradient(var(--_ui-material-rim-color), var(--_ui-material-rim-color)) border-box,
735
+ var(--_ui-material-content-color) padding-box;
736
+ border-width: calc(var(--ui-border-width) + var(--_ui-material-rim));
737
+ border-color: var(
738
+ --ui-dialog-border,
739
+ color-mix(
740
+ in oklab,
741
+ var(--ui-overlay-border, var(--ui-border-strong)) calc(
742
+ (1 - var(--_ui-material-active)) * 100%
743
+ ),
744
+ transparent
745
+ )
746
+ );
747
+ box-shadow: var(
748
+ --ui-dialog-shadow,
749
+ var(
750
+ --ui-overlay-shadow,
751
+ 0 calc(var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 8px) calc(
752
+ var(--_ui-material-separation) * var(--_ui-material-scale, 1) * 24px
753
+ ) color-mix(in oklab, var(--ui-text-primary) 15%, transparent),
754
+ inset 0 0 0 calc(var(--_ui-material-active) * var(--ui-border-width)) var(
755
+ --ui-material-edge,
756
+ var(--ui-border-strong)
757
+ ),
758
+ var(--ui-elevation-dialog, var(--ui-shadow-xl))
759
+ )
760
+ );
761
+ backdrop-filter: blur(
762
+ calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 18px)
763
+ ) saturate(calc(1 + var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 0.18));
764
+ -webkit-backdrop-filter: blur(
765
+ calc(var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 18px)
766
+ ) saturate(calc(1 + var(--_ui-material-glassiness) * var(--_ui-material-scale, 1) * 0.18));
767
+ }
768
+
769
+ @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
770
+ :global(:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
771
+ background: var(--_ui-material-content-color);
772
+ }
773
+ }
774
+
775
+ @media (prefers-reduced-transparency: reduce) {
776
+ :global(:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
777
+ background: var(--_ui-material-content-color);
778
+ backdrop-filter: none;
779
+ -webkit-backdrop-filter: none;
780
+ }
781
+ }
782
+
783
+ @media (forced-colors: active) {
784
+ :global(:where(.ui-dialog):where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
785
+ background: Canvas;
786
+ border-color: CanvasText;
787
+ box-shadow: none;
788
+ backdrop-filter: none;
789
+ -webkit-backdrop-filter: none;
790
+ }
791
+ }
616
792
 
617
793
  :global(:where(.ui-dialog)[open]:where(:scope, :not([data-hn], [data-slotted]:not([data-slotted~="ui-dialog"]))):where([data-hn-ui-dialog])) {
618
794
  display: flex !important;
@@ -26,6 +26,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
26
26
  pending: {
27
27
  type: PropType<boolean | null>;
28
28
  };
29
+ preset: {
30
+ type: PropType<"none" | "primary" | "standard" | "quiet" | "destructive" | null>;
31
+ };
29
32
  revealed: {
30
33
  type: PropType<boolean | null>;
31
34
  };
@@ -36,7 +39,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
36
39
  type: PropType<"sm" | "md" | "lg" | null>;
37
40
  };
38
41
  tone: {
39
- type: PropType<"accent" | "neutral" | null>;
42
+ type: PropType<"auto" | "accent" | "neutral" | "danger" | "success" | "warning" | "info" | null>;
40
43
  };
41
44
  variant: {
42
45
  type: PropType<"ghost" | "outline" | "solid" | null>;
@@ -66,6 +69,9 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
66
69
  pending: {
67
70
  type: PropType<boolean | null>;
68
71
  };
72
+ preset: {
73
+ type: PropType<"none" | "primary" | "standard" | "quiet" | "destructive" | null>;
74
+ };
69
75
  revealed: {
70
76
  type: PropType<boolean | null>;
71
77
  };
@@ -76,7 +82,7 @@ declare const __VLS_base: import("vue").DefineComponent<import("vue").ExtractPro
76
82
  type: PropType<"sm" | "md" | "lg" | null>;
77
83
  };
78
84
  tone: {
79
- type: PropType<"accent" | "neutral" | null>;
85
+ type: PropType<"auto" | "accent" | "neutral" | "danger" | "success" | "warning" | "info" | null>;
80
86
  };
81
87
  variant: {
82
88
  type: PropType<"ghost" | "outline" | "solid" | null>;