@cratis/components 4.14.3 → 4.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (97) hide show
  1. package/compat-manifest.json +11 -11
  2. package/dist/esm/Chat/ChatSidebar.d.ts +1 -1
  3. package/dist/esm/Chat/ChatSidebar.js +34 -3
  4. package/dist/esm/Chat/ChatSidebar.js.map +1 -1
  5. package/dist/esm/CommandDialog/CommandStepperContent.js +19 -25
  6. package/dist/esm/CommandDialog/CommandStepperContent.js.map +1 -1
  7. package/dist/esm/CommandDialog/StepperCommandDialog.js +13 -4
  8. package/dist/esm/CommandDialog/StepperCommandDialog.js.map +1 -1
  9. package/dist/esm/CommandDialog/transitionStep.d.ts +16 -0
  10. package/dist/esm/CommandDialog/transitionStep.js +15 -0
  11. package/dist/esm/CommandDialog/transitionStep.js.map +1 -0
  12. package/dist/esm/Common/CratisComponentsProvider.d.ts +7 -1
  13. package/dist/esm/Common/CratisComponentsProvider.js.map +1 -1
  14. package/dist/esm/DataPage/DataPage.d.ts +6 -0
  15. package/dist/esm/DataPage/DataPage.js.map +1 -1
  16. package/dist/esm/DataTables/DataTableCore.d.ts +18 -1
  17. package/dist/esm/DataTables/DataTableCore.js +13 -4
  18. package/dist/esm/DataTables/DataTableCore.js.map +1 -1
  19. package/dist/esm/DataTables/DataTableForObservableQuery.d.ts +6 -0
  20. package/dist/esm/DataTables/DataTableForObservableQuery.js +3 -2
  21. package/dist/esm/DataTables/DataTableForObservableQuery.js.map +1 -1
  22. package/dist/esm/DataTables/DataTableForQuery.d.ts +6 -0
  23. package/dist/esm/DataTables/DataTableForQuery.js +3 -2
  24. package/dist/esm/DataTables/DataTableForQuery.js.map +1 -1
  25. package/dist/esm/DataTables/DataTableStatus.d.ts +12 -0
  26. package/dist/esm/DataTables/DataTableStatus.d.ts.map +1 -0
  27. package/dist/esm/DataTables/DataTableStatus.js +10 -0
  28. package/dist/esm/DataTables/DataTableStatus.js.map +1 -0
  29. package/dist/esm/DataTables/index.d.ts +1 -0
  30. package/dist/esm/DataTables/index.js +1 -0
  31. package/dist/esm/DataTables/index.js.map +1 -1
  32. package/dist/esm/DataTables/resolveDataTableStatus.d.ts +8 -0
  33. package/dist/esm/DataTables/resolveDataTableStatus.js +14 -0
  34. package/dist/esm/DataTables/resolveDataTableStatus.js.map +1 -0
  35. package/dist/esm/PivotViewer/PivotViewer.d.ts +1 -1
  36. package/dist/esm/PivotViewer/PivotViewer.js +9 -7
  37. package/dist/esm/PivotViewer/PivotViewer.js.map +1 -1
  38. package/dist/esm/PivotViewer/components/PivotCanvas.js +15 -4
  39. package/dist/esm/PivotViewer/components/PivotCanvas.js.map +1 -1
  40. package/dist/esm/PivotViewer/components/PivotViewerMain.d.ts +2 -1
  41. package/dist/esm/PivotViewer/components/PivotViewerMain.js +2 -2
  42. package/dist/esm/PivotViewer/components/PivotViewerMain.js.map +1 -1
  43. package/dist/esm/PivotViewer/components/Spinner.d.ts +3 -1
  44. package/dist/esm/PivotViewer/components/Spinner.d.ts.map +1 -1
  45. package/dist/esm/PivotViewer/components/Spinner.js +3 -3
  46. package/dist/esm/PivotViewer/components/Spinner.js.map +1 -1
  47. package/dist/esm/PivotViewer/components/pivot/animation.d.ts +2 -0
  48. package/dist/esm/PivotViewer/components/pivot/animation.js +6 -1
  49. package/dist/esm/PivotViewer/components/pivot/animation.js.map +1 -1
  50. package/dist/esm/PivotViewer/components/pivot/sprites.js +1 -0
  51. package/dist/esm/PivotViewer/components/pivot/sprites.js.map +1 -1
  52. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.d.ts +4 -0
  53. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.js +8 -0
  54. package/dist/esm/PivotViewer/components/pivot/syncScrollSprites.js.map +1 -0
  55. package/dist/esm/PivotViewer/components/pivot/visibility.d.ts +2 -0
  56. package/dist/esm/PivotViewer/components/pivot/visibility.js +26 -65
  57. package/dist/esm/PivotViewer/components/pivot/visibility.js.map +1 -1
  58. package/dist/esm/PivotViewer/engine/store.d.ts +1 -1
  59. package/dist/esm/PivotViewer/engine/store.js +29 -12
  60. package/dist/esm/PivotViewer/engine/store.js.map +1 -1
  61. package/dist/esm/PivotViewer/engine/types.d.ts +2 -1
  62. package/dist/esm/PivotViewer/engine/types.d.ts.map +1 -1
  63. package/dist/esm/PivotViewer/hooks/useCurrentFilters.js +6 -9
  64. package/dist/esm/PivotViewer/hooks/useCurrentFilters.js.map +1 -1
  65. package/dist/esm/PivotViewer/hooks/useFieldExtractors.js +17 -35
  66. package/dist/esm/PivotViewer/hooks/useFieldExtractors.js.map +1 -1
  67. package/dist/esm/PivotViewer/types.d.ts +2 -0
  68. package/dist/esm/PivotViewer/utils/presentGrouping.d.ts +4 -0
  69. package/dist/esm/PivotViewer/utils/presentGrouping.js +22 -0
  70. package/dist/esm/PivotViewer/utils/presentGrouping.js.map +1 -0
  71. package/dist/esm/Toolbar/ToolbarButton.js +3 -3
  72. package/dist/esm/Toolbar/ToolbarButton.js.map +1 -1
  73. package/dist/esm/configuration/CratisComponentsDefaults.js +3 -0
  74. package/dist/esm/configuration/CratisComponentsDefaults.js.map +1 -1
  75. package/dist/esm/styles.Canvas.css +24 -38
  76. package/dist/esm/styles.Chat.css +13 -0
  77. package/dist/esm/styles.CommandDialog.css +14 -32
  78. package/dist/esm/styles.CommandForm.css +14 -32
  79. package/dist/esm/styles.CommandStepper.css +14 -32
  80. package/dist/esm/styles.Common.css +7 -19
  81. package/dist/esm/styles.DataPage.css +10 -20
  82. package/dist/esm/styles.DataTables.css +10 -20
  83. package/dist/esm/styles.Display.css +7 -19
  84. package/dist/esm/styles.Dropdown.css +7 -19
  85. package/dist/esm/styles.Filter.css +2 -7
  86. package/dist/esm/styles.ObjectContentEditor.css +7 -19
  87. package/dist/esm/styles.ObjectNavigationalBar.css +7 -19
  88. package/dist/esm/styles.PivotViewer.css +18 -20
  89. package/dist/esm/styles.SchemaEditor.css +10 -20
  90. package/dist/esm/styles.Toolbar.css +14 -58
  91. package/dist/esm/styles.css +59 -111
  92. package/dist/esm/styles.renderer.builtin.css +10 -20
  93. package/dist/esm/types/parts.d.ts +18 -6
  94. package/dist/esm/types/parts.d.ts.map +1 -1
  95. package/dist/esm/types/parts.js +18 -6
  96. package/dist/esm/types/parts.js.map +1 -1
  97. package/package.json +3 -2
@@ -322,7 +322,9 @@
322
322
  box-shadow: var(--cratis-focus-ring);
323
323
  }
324
324
  .cratis-toggle-group[data-disabled],
325
- .cratis-tabs[data-disabled] {
325
+ .cratis-tabs[data-disabled],
326
+ .cratis-toggle-group__option[data-disabled],
327
+ .cratis-tabs__tab[data-disabled] {
326
328
  cursor: not-allowed;
327
329
  opacity: var(--cratis-disabled-opacity);
328
330
  }
@@ -361,10 +363,6 @@
361
363
  box-shadow: var(--cratis-shadow-card, none);
362
364
  font-weight: 600;
363
365
  }
364
- .cratis-toggle-group__option[data-disabled] {
365
- cursor: not-allowed;
366
- opacity: var(--cratis-disabled-opacity);
367
- }
368
366
  .cratis-toggle-group__icon {
369
367
  display: inline-flex;
370
368
  }
@@ -395,10 +393,6 @@
395
393
  color: var(--cratis-text-color);
396
394
  font-weight: 600;
397
395
  }
398
- .cratis-tabs__tab[data-disabled] {
399
- cursor: not-allowed;
400
- opacity: var(--cratis-disabled-opacity);
401
- }
402
396
  .cratis-tabs__panel {
403
397
  padding: 0.75rem 0;
404
398
  outline: none;
@@ -764,7 +758,8 @@
764
758
  .cratis-number-input[data-invalid='true'] .cratis-number-input__group {
765
759
  border-color: var(--cratis-red-500);
766
760
  }
767
- .cratis-number-input[data-disabled='true'] {
761
+ .cratis-number-input[data-disabled='true'],
762
+ .cratis-number-input__step:disabled {
768
763
  cursor: not-allowed;
769
764
  opacity: var(--cratis-disabled-opacity);
770
765
  }
@@ -826,10 +821,6 @@
826
821
  outline: 2px solid var(--cratis-primary-color);
827
822
  outline-offset: -3px;
828
823
  }
829
- .cratis-number-input__step:disabled {
830
- cursor: not-allowed;
831
- opacity: var(--cratis-disabled-opacity);
832
- }
833
824
  .cratis-number-input__description,
834
825
  .cratis-number-input__error {
835
826
  display: block;
@@ -910,7 +901,8 @@
910
901
  background: var(--cratis-surface-100);
911
902
  }
912
903
  .cratis-text-input:disabled,
913
- .cratis-text-area:disabled {
904
+ .cratis-text-area:disabled,
905
+ .cratis-choice[data-disabled='true'] {
914
906
  cursor: not-allowed;
915
907
  opacity: var(--cratis-disabled-opacity);
916
908
  }
@@ -927,10 +919,6 @@
927
919
  color: var(--cratis-text-color);
928
920
  cursor: pointer;
929
921
  }
930
- .cratis-choice[data-disabled='true'] {
931
- cursor: not-allowed;
932
- opacity: var(--cratis-disabled-opacity);
933
- }
934
922
  .cratis-choice[data-readonly='true']:not([data-disabled='true']) {
935
923
  cursor: default;
936
924
  }
@@ -123,7 +123,8 @@
123
123
  box-shadow: inset 0 1px 0 var(--cratis-surface-border);
124
124
  }
125
125
 
126
- .pv-search input:focus {
126
+ .pv-search input:focus,
127
+ .pv-filter-group-search input:focus {
127
128
  outline: none;
128
129
  border-color: var(--cratis-primary-color);
129
130
  box-shadow: var(--cratis-focus-ring);
@@ -143,12 +144,6 @@
143
144
  font-size: 0.85rem;
144
145
  }
145
146
 
146
- .pv-filter-group-search input:focus {
147
- outline: none;
148
- border-color: var(--cratis-primary-color);
149
- box-shadow: var(--cratis-focus-ring);
150
- }
151
-
152
147
  /* Reusable checkbox/radio option list (CheckboxListFilter) */
153
148
  .pv-option-list {
154
149
  position: relative;
@@ -322,7 +322,9 @@
322
322
  box-shadow: var(--cratis-focus-ring);
323
323
  }
324
324
  .cratis-toggle-group[data-disabled],
325
- .cratis-tabs[data-disabled] {
325
+ .cratis-tabs[data-disabled],
326
+ .cratis-toggle-group__option[data-disabled],
327
+ .cratis-tabs__tab[data-disabled] {
326
328
  cursor: not-allowed;
327
329
  opacity: var(--cratis-disabled-opacity);
328
330
  }
@@ -361,10 +363,6 @@
361
363
  box-shadow: var(--cratis-shadow-card, none);
362
364
  font-weight: 600;
363
365
  }
364
- .cratis-toggle-group__option[data-disabled] {
365
- cursor: not-allowed;
366
- opacity: var(--cratis-disabled-opacity);
367
- }
368
366
  .cratis-toggle-group__icon {
369
367
  display: inline-flex;
370
368
  }
@@ -395,10 +393,6 @@
395
393
  color: var(--cratis-text-color);
396
394
  font-weight: 600;
397
395
  }
398
- .cratis-tabs__tab[data-disabled] {
399
- cursor: not-allowed;
400
- opacity: var(--cratis-disabled-opacity);
401
- }
402
396
  .cratis-tabs__panel {
403
397
  padding: 0.75rem 0;
404
398
  outline: none;
@@ -764,7 +758,8 @@
764
758
  .cratis-number-input[data-invalid='true'] .cratis-number-input__group {
765
759
  border-color: var(--cratis-red-500);
766
760
  }
767
- .cratis-number-input[data-disabled='true'] {
761
+ .cratis-number-input[data-disabled='true'],
762
+ .cratis-number-input__step:disabled {
768
763
  cursor: not-allowed;
769
764
  opacity: var(--cratis-disabled-opacity);
770
765
  }
@@ -826,10 +821,6 @@
826
821
  outline: 2px solid var(--cratis-primary-color);
827
822
  outline-offset: -3px;
828
823
  }
829
- .cratis-number-input__step:disabled {
830
- cursor: not-allowed;
831
- opacity: var(--cratis-disabled-opacity);
832
- }
833
824
  .cratis-number-input__description,
834
825
  .cratis-number-input__error {
835
826
  display: block;
@@ -910,7 +901,8 @@
910
901
  background: var(--cratis-surface-100);
911
902
  }
912
903
  .cratis-text-input:disabled,
913
- .cratis-text-area:disabled {
904
+ .cratis-text-area:disabled,
905
+ .cratis-choice[data-disabled='true'] {
914
906
  cursor: not-allowed;
915
907
  opacity: var(--cratis-disabled-opacity);
916
908
  }
@@ -927,10 +919,6 @@
927
919
  color: var(--cratis-text-color);
928
920
  cursor: pointer;
929
921
  }
930
- .cratis-choice[data-disabled='true'] {
931
- cursor: not-allowed;
932
- opacity: var(--cratis-disabled-opacity);
933
- }
934
922
  .cratis-choice[data-readonly='true']:not([data-disabled='true']) {
935
923
  cursor: default;
936
924
  }
@@ -322,7 +322,9 @@
322
322
  box-shadow: var(--cratis-focus-ring);
323
323
  }
324
324
  .cratis-toggle-group[data-disabled],
325
- .cratis-tabs[data-disabled] {
325
+ .cratis-tabs[data-disabled],
326
+ .cratis-toggle-group__option[data-disabled],
327
+ .cratis-tabs__tab[data-disabled] {
326
328
  cursor: not-allowed;
327
329
  opacity: var(--cratis-disabled-opacity);
328
330
  }
@@ -361,10 +363,6 @@
361
363
  box-shadow: var(--cratis-shadow-card, none);
362
364
  font-weight: 600;
363
365
  }
364
- .cratis-toggle-group__option[data-disabled] {
365
- cursor: not-allowed;
366
- opacity: var(--cratis-disabled-opacity);
367
- }
368
366
  .cratis-toggle-group__icon {
369
367
  display: inline-flex;
370
368
  }
@@ -395,10 +393,6 @@
395
393
  color: var(--cratis-text-color);
396
394
  font-weight: 600;
397
395
  }
398
- .cratis-tabs__tab[data-disabled] {
399
- cursor: not-allowed;
400
- opacity: var(--cratis-disabled-opacity);
401
- }
402
396
  .cratis-tabs__panel {
403
397
  padding: 0.75rem 0;
404
398
  outline: none;
@@ -764,7 +758,8 @@
764
758
  .cratis-number-input[data-invalid='true'] .cratis-number-input__group {
765
759
  border-color: var(--cratis-red-500);
766
760
  }
767
- .cratis-number-input[data-disabled='true'] {
761
+ .cratis-number-input[data-disabled='true'],
762
+ .cratis-number-input__step:disabled {
768
763
  cursor: not-allowed;
769
764
  opacity: var(--cratis-disabled-opacity);
770
765
  }
@@ -826,10 +821,6 @@
826
821
  outline: 2px solid var(--cratis-primary-color);
827
822
  outline-offset: -3px;
828
823
  }
829
- .cratis-number-input__step:disabled {
830
- cursor: not-allowed;
831
- opacity: var(--cratis-disabled-opacity);
832
- }
833
824
  .cratis-number-input__description,
834
825
  .cratis-number-input__error {
835
826
  display: block;
@@ -910,7 +901,8 @@
910
901
  background: var(--cratis-surface-100);
911
902
  }
912
903
  .cratis-text-input:disabled,
913
- .cratis-text-area:disabled {
904
+ .cratis-text-area:disabled,
905
+ .cratis-choice[data-disabled='true'] {
914
906
  cursor: not-allowed;
915
907
  opacity: var(--cratis-disabled-opacity);
916
908
  }
@@ -927,10 +919,6 @@
927
919
  color: var(--cratis-text-color);
928
920
  cursor: pointer;
929
921
  }
930
- .cratis-choice[data-disabled='true'] {
931
- cursor: not-allowed;
932
- opacity: var(--cratis-disabled-opacity);
933
- }
934
922
  .cratis-choice[data-readonly='true']:not([data-disabled='true']) {
935
923
  cursor: default;
936
924
  }
@@ -123,7 +123,8 @@
123
123
  box-shadow: inset 0 1px 0 var(--cratis-surface-border);
124
124
  }
125
125
 
126
- .pv-search input:focus {
126
+ .pv-search input:focus,
127
+ .pv-filter-group-search input:focus {
127
128
  outline: none;
128
129
  border-color: var(--cratis-primary-color);
129
130
  box-shadow: var(--cratis-focus-ring);
@@ -143,12 +144,6 @@
143
144
  font-size: 0.85rem;
144
145
  }
145
146
 
146
- .pv-filter-group-search input:focus {
147
- outline: none;
148
- border-color: var(--cratis-primary-color);
149
- box-shadow: var(--cratis-focus-ring);
150
- }
151
-
152
147
  /* Reusable checkbox/radio option list (CheckboxListFilter) */
153
148
  .pv-option-list {
154
149
  position: relative;
@@ -666,7 +661,8 @@
666
661
  }
667
662
 
668
663
  .pv-filter-button.active,
669
- .pv-filter-button:hover {
664
+ .pv-filter-button:hover,
665
+ .pv-filter-icon-button.active {
670
666
  background: var(--cratis-surface-hover);
671
667
  box-shadow: var(--cratis-focus-ring);
672
668
  }
@@ -694,11 +690,6 @@
694
690
  background: var(--cratis-surface-hover);
695
691
  }
696
692
 
697
- .pv-filter-icon-button.active {
698
- background: var(--cratis-surface-hover);
699
- box-shadow: var(--cratis-focus-ring);
700
- }
701
-
702
693
  .pv-filter-badge {
703
694
  position: absolute;
704
695
  top: -4px;
@@ -1085,7 +1076,8 @@
1085
1076
  background: var(--cratis-highlight-bg);
1086
1077
  }
1087
1078
 
1088
- .pv-axis-label:focus-visible {
1079
+ .pv-axis-label:focus-visible,
1080
+ .pv-card:focus-visible {
1089
1081
  outline: none;
1090
1082
  border-color: var(--cratis-primary-color);
1091
1083
  box-shadow: var(--cratis-focus-ring);
@@ -1215,12 +1207,6 @@
1215
1207
  transition: border-color 160ms ease;
1216
1208
  }
1217
1209
 
1218
- .pv-card:focus-visible {
1219
- outline: none;
1220
- border-color: var(--cratis-primary-color);
1221
- box-shadow: var(--cratis-focus-ring);
1222
- }
1223
-
1224
1210
  .pv-card.selected {
1225
1211
  border-color: var(--cratis-primary-color);
1226
1212
  box-shadow:
@@ -1552,6 +1538,18 @@
1552
1538
  min-height: 400px;
1553
1539
  }
1554
1540
 
1541
+ .pv-loading__label {
1542
+ position: absolute;
1543
+ width: 1px;
1544
+ height: 1px;
1545
+ padding: 0;
1546
+ margin: -1px;
1547
+ overflow: hidden;
1548
+ clip: rect(0, 0, 0, 0);
1549
+ white-space: nowrap;
1550
+ border: 0;
1551
+ }
1552
+
1555
1553
  .pv-spinner {
1556
1554
  width: 80px;
1557
1555
  height: 80px;
@@ -322,7 +322,9 @@
322
322
  box-shadow: var(--cratis-focus-ring);
323
323
  }
324
324
  .cratis-toggle-group[data-disabled],
325
- .cratis-tabs[data-disabled] {
325
+ .cratis-tabs[data-disabled],
326
+ .cratis-toggle-group__option[data-disabled],
327
+ .cratis-tabs__tab[data-disabled] {
326
328
  cursor: not-allowed;
327
329
  opacity: var(--cratis-disabled-opacity);
328
330
  }
@@ -361,10 +363,6 @@
361
363
  box-shadow: var(--cratis-shadow-card, none);
362
364
  font-weight: 600;
363
365
  }
364
- .cratis-toggle-group__option[data-disabled] {
365
- cursor: not-allowed;
366
- opacity: var(--cratis-disabled-opacity);
367
- }
368
366
  .cratis-toggle-group__icon {
369
367
  display: inline-flex;
370
368
  }
@@ -395,10 +393,6 @@
395
393
  color: var(--cratis-text-color);
396
394
  font-weight: 600;
397
395
  }
398
- .cratis-tabs__tab[data-disabled] {
399
- cursor: not-allowed;
400
- opacity: var(--cratis-disabled-opacity);
401
- }
402
396
  .cratis-tabs__panel {
403
397
  padding: 0.75rem 0;
404
398
  outline: none;
@@ -764,7 +758,8 @@
764
758
  .cratis-number-input[data-invalid='true'] .cratis-number-input__group {
765
759
  border-color: var(--cratis-red-500);
766
760
  }
767
- .cratis-number-input[data-disabled='true'] {
761
+ .cratis-number-input[data-disabled='true'],
762
+ .cratis-number-input__step:disabled {
768
763
  cursor: not-allowed;
769
764
  opacity: var(--cratis-disabled-opacity);
770
765
  }
@@ -826,10 +821,6 @@
826
821
  outline: 2px solid var(--cratis-primary-color);
827
822
  outline-offset: -3px;
828
823
  }
829
- .cratis-number-input__step:disabled {
830
- cursor: not-allowed;
831
- opacity: var(--cratis-disabled-opacity);
832
- }
833
824
  .cratis-number-input__description,
834
825
  .cratis-number-input__error {
835
826
  display: block;
@@ -910,7 +901,8 @@
910
901
  background: var(--cratis-surface-100);
911
902
  }
912
903
  .cratis-text-input:disabled,
913
- .cratis-text-area:disabled {
904
+ .cratis-text-area:disabled,
905
+ .cratis-choice[data-disabled='true'] {
914
906
  cursor: not-allowed;
915
907
  opacity: var(--cratis-disabled-opacity);
916
908
  }
@@ -927,10 +919,6 @@
927
919
  color: var(--cratis-text-color);
928
920
  cursor: pointer;
929
921
  }
930
- .cratis-choice[data-disabled='true'] {
931
- cursor: not-allowed;
932
- opacity: var(--cratis-disabled-opacity);
933
- }
934
922
  .cratis-choice[data-readonly='true']:not([data-disabled='true']) {
935
923
  cursor: default;
936
924
  }
@@ -1284,7 +1272,9 @@
1284
1272
  background: var(--cratis-highlight-bg);
1285
1273
  color: var(--cratis-highlight-text-color);
1286
1274
  }
1287
- .cratis-datatable__empty-cell {
1275
+ .cratis-datatable__empty-cell,
1276
+ .cratis-datatable__loading-cell,
1277
+ .cratis-datatable__failure-cell {
1288
1278
  padding: 2rem 1rem;
1289
1279
  color: var(--cratis-text-color-secondary);
1290
1280
  text-align: center;
@@ -322,7 +322,9 @@
322
322
  box-shadow: var(--cratis-focus-ring);
323
323
  }
324
324
  .cratis-toggle-group[data-disabled],
325
- .cratis-tabs[data-disabled] {
325
+ .cratis-tabs[data-disabled],
326
+ .cratis-toggle-group__option[data-disabled],
327
+ .cratis-tabs__tab[data-disabled] {
326
328
  cursor: not-allowed;
327
329
  opacity: var(--cratis-disabled-opacity);
328
330
  }
@@ -361,10 +363,6 @@
361
363
  box-shadow: var(--cratis-shadow-card, none);
362
364
  font-weight: 600;
363
365
  }
364
- .cratis-toggle-group__option[data-disabled] {
365
- cursor: not-allowed;
366
- opacity: var(--cratis-disabled-opacity);
367
- }
368
366
  .cratis-toggle-group__icon {
369
367
  display: inline-flex;
370
368
  }
@@ -395,10 +393,6 @@
395
393
  color: var(--cratis-text-color);
396
394
  font-weight: 600;
397
395
  }
398
- .cratis-tabs__tab[data-disabled] {
399
- cursor: not-allowed;
400
- opacity: var(--cratis-disabled-opacity);
401
- }
402
396
  .cratis-tabs__panel {
403
397
  padding: 0.75rem 0;
404
398
  outline: none;
@@ -764,7 +758,8 @@
764
758
  .cratis-number-input[data-invalid='true'] .cratis-number-input__group {
765
759
  border-color: var(--cratis-red-500);
766
760
  }
767
- .cratis-number-input[data-disabled='true'] {
761
+ .cratis-number-input[data-disabled='true'],
762
+ .cratis-number-input__step:disabled {
768
763
  cursor: not-allowed;
769
764
  opacity: var(--cratis-disabled-opacity);
770
765
  }
@@ -826,10 +821,6 @@
826
821
  outline: 2px solid var(--cratis-primary-color);
827
822
  outline-offset: -3px;
828
823
  }
829
- .cratis-number-input__step:disabled {
830
- cursor: not-allowed;
831
- opacity: var(--cratis-disabled-opacity);
832
- }
833
824
  .cratis-number-input__description,
834
825
  .cratis-number-input__error {
835
826
  display: block;
@@ -910,7 +901,8 @@
910
901
  background: var(--cratis-surface-100);
911
902
  }
912
903
  .cratis-text-input:disabled,
913
- .cratis-text-area:disabled {
904
+ .cratis-text-area:disabled,
905
+ .cratis-choice[data-disabled='true'] {
914
906
  cursor: not-allowed;
915
907
  opacity: var(--cratis-disabled-opacity);
916
908
  }
@@ -927,10 +919,6 @@
927
919
  color: var(--cratis-text-color);
928
920
  cursor: pointer;
929
921
  }
930
- .cratis-choice[data-disabled='true'] {
931
- cursor: not-allowed;
932
- opacity: var(--cratis-disabled-opacity);
933
- }
934
922
  .cratis-choice[data-readonly='true']:not([data-disabled='true']) {
935
923
  cursor: default;
936
924
  }
@@ -1227,7 +1215,8 @@
1227
1215
  /* Licensed under the MIT license. See LICENSE file in the project root for full license information. */
1228
1216
 
1229
1217
  /* ── Toolbar container ───────────────────────────────────────────────────── */
1230
- .toolbar {
1218
+ .toolbar,
1219
+ .toolbar-group {
1231
1220
  background: var(--cratis-surface-card);
1232
1221
  border: 1px solid var(--cratis-surface-border);
1233
1222
  box-shadow: var(--cratis-shadow-overlay);
@@ -1282,17 +1271,10 @@
1282
1271
  white-space: nowrap;
1283
1272
  }
1284
1273
 
1285
- /* ── Toolbar section (context switching) ────────────────────────────────── */
1286
-
1287
- /*
1288
- * The section is a fixed-size container that transitions smoothly between
1289
- * the dimensions required by each context.
1290
- * Overflow stays visible in the settled state so absolutely-positioned
1291
- * children (e.g. fan-out panels) can extend beyond the section's bounds.
1292
- * During a context resize transition, a temporary modifier clips incoming
1293
- * content so buttons do not float outside the current toolbar bounds.
1294
- */
1295
- .toolbar-section {
1274
+ /* Context sections and group slots resize alike. Only transitioning modifiers clip contents;
1275
+ settled panels can extend beyond the section bounds. */
1276
+ .toolbar-section,
1277
+ .toolbar-slot-section {
1296
1278
  position: relative;
1297
1279
  transition:
1298
1280
  width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
@@ -1517,33 +1499,7 @@
1517
1499
  gap: 0.5rem;
1518
1500
  }
1519
1501
 
1520
- /*
1521
- * Each ToolbarGroup is a self-contained pill that matches the visual style
1522
- * of a standalone Toolbar.
1523
- */
1524
- .toolbar-group {
1525
- background: var(--cratis-surface-card);
1526
- border: 1px solid var(--cratis-surface-border);
1527
- box-shadow: var(--cratis-shadow-overlay);
1528
- }
1529
-
1530
- /* ── Toolbar slot transition (ToolbarGroup slot content) ─────────────────── */
1531
-
1532
- /*
1533
- * Size-morphing container for slot content inside a ToolbarGroup or ToolbarLayout.
1534
- * Mirrors the .toolbar-section transition parameters for visual consistency —
1535
- * the container resizes smoothly while content cross-fades.
1536
- * Overflow stays visible in the settled state so absolutely-positioned children
1537
- * (fan-out and folder panels, and the hover tooltips inside them) can escape the
1538
- * section's bounds; it is only clipped while outgoing content is fading out, so
1539
- * that content does not bleed past the container mid-transition.
1540
- */
1541
- .toolbar-slot-section {
1542
- position: relative;
1543
- transition:
1544
- width 0.35s cubic-bezier(0.4, 0, 0.2, 1),
1545
- height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
1546
- }
1502
+ /* ToolbarGroup slots use the section transition above. */
1547
1503
 
1548
1504
  .toolbar-slot-section--transitioning {
1549
1505
  overflow: hidden;