@salt-ds/lab 1.0.0-alpha.24 → 1.0.0-alpha.26

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 (146) hide show
  1. package/css/salt-lab.css +107 -185
  2. package/dist-cjs/combo-box-next/ComboBoxNext.js +1 -1
  3. package/dist-cjs/combo-box-next/ComboBoxNext.js.map +1 -1
  4. package/dist-cjs/dropdown-next/DropdownNext.js +1 -2
  5. package/dist-cjs/dropdown-next/DropdownNext.js.map +1 -1
  6. package/dist-cjs/file-drop-zone/FileDropZone.css.js +1 -1
  7. package/dist-cjs/file-drop-zone/FileDropZone.js +32 -132
  8. package/dist-cjs/file-drop-zone/FileDropZone.js.map +1 -1
  9. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js +25 -0
  10. package/dist-cjs/file-drop-zone/FileDropZoneIcon.js.map +1 -0
  11. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js +52 -0
  12. package/dist-cjs/file-drop-zone/FileDropZoneTrigger.js.map +1 -0
  13. package/dist-cjs/file-drop-zone/internal/utils.js +4 -13
  14. package/dist-cjs/file-drop-zone/internal/utils.js.map +1 -1
  15. package/dist-cjs/index.js +8 -3
  16. package/dist-cjs/index.js.map +1 -1
  17. package/dist-cjs/pagination/CompactInput.css.js +6 -0
  18. package/dist-cjs/pagination/CompactInput.css.js.map +1 -0
  19. package/dist-cjs/pagination/CompactInput.js +31 -35
  20. package/dist-cjs/pagination/CompactInput.js.map +1 -1
  21. package/dist-cjs/pagination/CompactPaginator.css.js +6 -0
  22. package/dist-cjs/pagination/CompactPaginator.css.js.map +1 -0
  23. package/dist-cjs/pagination/CompactPaginator.js +76 -0
  24. package/dist-cjs/pagination/CompactPaginator.js.map +1 -0
  25. package/dist-cjs/pagination/GoToInput.css.js +6 -0
  26. package/dist-cjs/pagination/GoToInput.css.js.map +1 -0
  27. package/dist-cjs/pagination/GoToInput.js +37 -59
  28. package/dist-cjs/pagination/GoToInput.js.map +1 -1
  29. package/dist-cjs/pagination/PageButton.css.js +6 -0
  30. package/dist-cjs/pagination/PageButton.css.js.map +1 -0
  31. package/dist-cjs/pagination/PageButton.js +34 -33
  32. package/dist-cjs/pagination/PageButton.js.map +1 -1
  33. package/dist-cjs/pagination/PageRanges.css.js +6 -0
  34. package/dist-cjs/pagination/PageRanges.css.js.map +1 -0
  35. package/dist-cjs/pagination/PageRanges.js +73 -0
  36. package/dist-cjs/pagination/PageRanges.js.map +1 -0
  37. package/dist-cjs/pagination/Pagination.css.js +1 -1
  38. package/dist-cjs/pagination/Pagination.js +21 -38
  39. package/dist-cjs/pagination/Pagination.js.map +1 -1
  40. package/dist-cjs/pagination/PaginationContext.js +1 -6
  41. package/dist-cjs/pagination/PaginationContext.js.map +1 -1
  42. package/dist-cjs/pagination/Paginator.css.js +6 -0
  43. package/dist-cjs/pagination/Paginator.css.js.map +1 -0
  44. package/dist-cjs/pagination/Paginator.js +33 -43
  45. package/dist-cjs/pagination/Paginator.js.map +1 -1
  46. package/dist-cjs/pagination/usePaginationContext.js +1 -1
  47. package/dist-cjs/pagination/usePaginationContext.js.map +1 -1
  48. package/dist-cjs/pill-next/PillNext.css.js +1 -1
  49. package/dist-cjs/pill-next/PillNext.js +26 -31
  50. package/dist-cjs/pill-next/PillNext.js.map +1 -1
  51. package/dist-es/combo-box-next/ComboBoxNext.js +1 -1
  52. package/dist-es/combo-box-next/ComboBoxNext.js.map +1 -1
  53. package/dist-es/dropdown-next/DropdownNext.js +1 -2
  54. package/dist-es/dropdown-next/DropdownNext.js.map +1 -1
  55. package/dist-es/file-drop-zone/FileDropZone.css.js +1 -1
  56. package/dist-es/file-drop-zone/FileDropZone.js +36 -136
  57. package/dist-es/file-drop-zone/FileDropZone.js.map +1 -1
  58. package/dist-es/file-drop-zone/FileDropZoneIcon.js +21 -0
  59. package/dist-es/file-drop-zone/FileDropZoneIcon.js.map +1 -0
  60. package/dist-es/file-drop-zone/FileDropZoneTrigger.js +48 -0
  61. package/dist-es/file-drop-zone/FileDropZoneTrigger.js.map +1 -0
  62. package/dist-es/file-drop-zone/internal/utils.js +5 -12
  63. package/dist-es/file-drop-zone/internal/utils.js.map +1 -1
  64. package/dist-es/index.js +4 -1
  65. package/dist-es/index.js.map +1 -1
  66. package/dist-es/pagination/CompactInput.css.js +4 -0
  67. package/dist-es/pagination/CompactInput.css.js.map +1 -0
  68. package/dist-es/pagination/CompactInput.js +32 -36
  69. package/dist-es/pagination/CompactInput.js.map +1 -1
  70. package/dist-es/pagination/CompactPaginator.css.js +4 -0
  71. package/dist-es/pagination/CompactPaginator.css.js.map +1 -0
  72. package/dist-es/pagination/CompactPaginator.js +72 -0
  73. package/dist-es/pagination/CompactPaginator.js.map +1 -0
  74. package/dist-es/pagination/GoToInput.css.js +4 -0
  75. package/dist-es/pagination/GoToInput.css.js.map +1 -0
  76. package/dist-es/pagination/GoToInput.js +40 -62
  77. package/dist-es/pagination/GoToInput.js.map +1 -1
  78. package/dist-es/pagination/PageButton.css.js +4 -0
  79. package/dist-es/pagination/PageButton.css.js.map +1 -0
  80. package/dist-es/pagination/PageButton.js +34 -33
  81. package/dist-es/pagination/PageButton.js.map +1 -1
  82. package/dist-es/pagination/PageRanges.css.js +4 -0
  83. package/dist-es/pagination/PageRanges.css.js.map +1 -0
  84. package/dist-es/pagination/PageRanges.js +69 -0
  85. package/dist-es/pagination/PageRanges.js.map +1 -0
  86. package/dist-es/pagination/Pagination.css.js +1 -1
  87. package/dist-es/pagination/Pagination.js +20 -37
  88. package/dist-es/pagination/Pagination.js.map +1 -1
  89. package/dist-es/pagination/PaginationContext.js +1 -6
  90. package/dist-es/pagination/PaginationContext.js.map +1 -1
  91. package/dist-es/pagination/Paginator.css.js +4 -0
  92. package/dist-es/pagination/Paginator.css.js.map +1 -0
  93. package/dist-es/pagination/Paginator.js +32 -42
  94. package/dist-es/pagination/Paginator.js.map +1 -1
  95. package/dist-es/pagination/usePaginationContext.js +1 -1
  96. package/dist-es/pagination/usePaginationContext.js.map +1 -1
  97. package/dist-es/pill-next/PillNext.css.js +1 -1
  98. package/dist-es/pill-next/PillNext.js +28 -33
  99. package/dist-es/pill-next/PillNext.js.map +1 -1
  100. package/dist-types/combo-box-next/useComboBox.d.ts +2 -2
  101. package/dist-types/combo-box-next/useComboboxPortal.d.ts +2 -2
  102. package/dist-types/dialog/useDialog.d.ts +6 -7
  103. package/dist-types/drawer/useDrawer.d.ts +6 -7
  104. package/dist-types/dropdown-next/useDropdownNext.d.ts +12 -4
  105. package/dist-types/file-drop-zone/FileDropZone.d.ts +7 -44
  106. package/dist-types/file-drop-zone/FileDropZoneIcon.d.ts +9 -0
  107. package/dist-types/file-drop-zone/FileDropZoneTrigger.d.ts +22 -0
  108. package/dist-types/file-drop-zone/index.d.ts +2 -1
  109. package/dist-types/file-drop-zone/internal/utils.d.ts +0 -6
  110. package/dist-types/pagination/CompactInput.d.ts +2 -8
  111. package/dist-types/pagination/CompactPaginator.d.ts +1 -0
  112. package/dist-types/pagination/GoToInput.d.ts +13 -4
  113. package/dist-types/pagination/PageButton.d.ts +2 -3
  114. package/dist-types/pagination/PageRanges.d.ts +5 -0
  115. package/dist-types/pagination/Pagination.d.ts +15 -4
  116. package/dist-types/pagination/PaginationContext.d.ts +2 -4
  117. package/dist-types/pagination/Paginator.d.ts +6 -3
  118. package/dist-types/pagination/index.d.ts +2 -0
  119. package/dist-types/pill-next/PillNext.d.ts +1 -4
  120. package/dist-types/tabs/drag-drop/drag-utils.d.ts +6 -6
  121. package/package.json +5 -5
  122. package/dist-cjs/file-drop-zone/validators.js +0 -38
  123. package/dist-cjs/file-drop-zone/validators.js.map +0 -1
  124. package/dist-cjs/pagination/ArrowButton.js +0 -64
  125. package/dist-cjs/pagination/ArrowButton.js.map +0 -1
  126. package/dist-cjs/pagination/CompactControls.js +0 -38
  127. package/dist-cjs/pagination/CompactControls.js.map +0 -1
  128. package/dist-cjs/pagination/RegularControls.js +0 -58
  129. package/dist-cjs/pagination/RegularControls.js.map +0 -1
  130. package/dist-cjs/pagination/utils.js +0 -10
  131. package/dist-cjs/pagination/utils.js.map +0 -1
  132. package/dist-es/file-drop-zone/validators.js +0 -29
  133. package/dist-es/file-drop-zone/validators.js.map +0 -1
  134. package/dist-es/pagination/ArrowButton.js +0 -60
  135. package/dist-es/pagination/ArrowButton.js.map +0 -1
  136. package/dist-es/pagination/CompactControls.js +0 -34
  137. package/dist-es/pagination/CompactControls.js.map +0 -1
  138. package/dist-es/pagination/RegularControls.js +0 -54
  139. package/dist-es/pagination/RegularControls.js.map +0 -1
  140. package/dist-es/pagination/utils.js +0 -6
  141. package/dist-es/pagination/utils.js.map +0 -1
  142. package/dist-types/file-drop-zone/validators.d.ts +0 -21
  143. package/dist-types/pagination/ArrowButton.d.ts +0 -7
  144. package/dist-types/pagination/CompactControls.d.ts +0 -8
  145. package/dist-types/pagination/RegularControls.d.ts +0 -8
  146. package/dist-types/pagination/utils.d.ts +0 -1
package/css/salt-lab.css CHANGED
@@ -1252,82 +1252,39 @@
1252
1252
 
1253
1253
  /* src/file-drop-zone/FileDropZone.css */
1254
1254
  .saltFileDropZone {
1255
- --fileDropZone-background: var(--salt-container-secondary-background);
1256
- --fileDropZone-borderColor: var(--salt-container-secondary-borderColor);
1257
- --fileDropZone-borderWidth: var(--salt-size-border);
1258
- --fileDropZone-borderStyle: var(--salt-target-borderStyle);
1259
- --fileDropZone-text-color: var(--salt-content-primary-foreground);
1260
- --fileDropZone-icon-color: var(--salt-content-primary-foreground);
1261
- --fileDropZone-padding: var(--salt-size-container-spacing);
1262
- --fileDropZone-title-fontSize: var(--salt-text-fontSize);
1263
- --fileDropZone-title-lineHeight: var(--salt-text-lineHeight);
1264
- }
1265
- .saltFileDropZone {
1266
- color: var(--saltFileDropZone-text-color, var(--fileDropZone-text-color));
1255
+ color: var(--saltFileDropZone-text-color, var(--salt-text-primary-foreground));
1267
1256
  display: inline-flex;
1268
- background: var(--saltFileDropZone-background, var(--fileDropZone-background));
1257
+ background: var(--saltFileDropZone-background, var(--salt-container-primary-background));
1269
1258
  text-align: center;
1270
- align-items: stretch;
1259
+ align-items: center;
1271
1260
  justify-content: center;
1272
- border-color: var(--saltFileDropZone-borderColor, var(--fileDropZone-borderColor));
1273
- border-style: var(--saltFileDropZone-borderStyle, var(--fileDropZone-borderStyle));
1274
- border-width: var(--saltFileDropZone-borderWidth, var(--fileDropZone-borderWidth));
1261
+ border: var(--saltFileDropZone-border, var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-container-primary-borderColor));
1275
1262
  flex-direction: column;
1276
- padding: var(--saltFileDropZone-padding, var(--fileDropZone-padding));
1277
- }
1278
- .saltFileDropZone *:not(.saltFileDropZone-inputRoot, .saltFileDropZone-inputRoot *) {
1279
- pointer-events: none;
1280
- }
1281
- .saltFileDropZone-icon {
1282
- fill: var(--fileDropZone-icon-color);
1283
- margin-bottom: var(--salt-size-unit);
1284
- }
1285
- .saltFileDropZone .saltFileDropZone-title:not(:last-child),
1286
- .saltFileDropZone .saltFileDropZone-inputRoot:not(:last-child) {
1287
- margin-bottom: calc(var(--salt-size-unit) * 2);
1288
- }
1289
- .saltFileDropZone-active:not(.saltFileDropZone-disabled) {
1290
- --fileDropZone-background: var(--salt-target-background-hover);
1263
+ padding: var(--salt-spacing-200);
1264
+ gap: var(--salt-spacing-200);
1265
+ width: 100%;
1266
+ font-size: var(--saltFileDropZone-fontSize, var(--salt-text-fontSize));
1267
+ font-family: var(--saltFileDropZone-fontFamily, var(--salt-text-fontFamily));
1268
+ line-height: var(--saltFileDropZone-lineHeight, var(--salt-text-lineHeight));
1291
1269
  }
1292
- .saltFileDropZone-error .saltFileDropZone-description {
1293
- margin-bottom: calc(var(--salt-size-unit) * 2);
1270
+ .saltFileDropZone-active {
1271
+ background: var(--salt-target-background-hover);
1272
+ border: var(--salt-size-border-strong) var(--salt-target-borderStyle-hover) var(--salt-target-borderColor-hover);
1294
1273
  }
1295
1274
  .saltFileDropZone-error {
1296
- --fileDropZone-background: var(--salt-status-error-background);
1297
- --fileDropZone-borderColor: var(--salt-status-error-borderColor);
1298
- --fileDropZone-icon-color: var(--salt-status-error-foreground);
1275
+ border: var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-status-error-borderColor);
1299
1276
  }
1300
- .saltFileDropZone-error:not(.saltFileDropZone-disabled).saltFileDropZone-active {
1301
- --fileDropZone-background: var(--salt-target-background-hover);
1302
- --fileDropZone-borderColor: var(--salt-container-secondary-borderColor);
1277
+ .saltFileDropZone-success {
1278
+ border: var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-status-success-borderColor);
1303
1279
  }
1304
- .saltFileDropZone-title,
1305
- .saltFileDropZone-description {
1306
- font-size: var(--saltFileDropZone-title-fontSize, var(--fileDropZone-title-fontSize));
1307
- line-height: var(--saltFileDropZone-title-lineHeight, var(--fileDropZone-title-lineHeight));
1308
- }
1309
- .saltFileDropZone-title {
1310
- font-weight: var(--saltFileDropZone-fontWeight, var(--salt-text-fontWeight-strong));
1311
- }
1312
- .saltFileDropZone-inputButton {
1313
- display: inline-flex;
1314
- }
1315
- .saltFileDropZone-inputRoot {
1316
- line-height: 1;
1317
- }
1318
- .saltFileDropZone-inputRoot .input-hidden {
1319
- position: absolute;
1320
- clip: rect(0, 0, 0, 0);
1321
- visibility: hidden;
1280
+ .saltFileDropZone .input-hidden {
1281
+ display: none;
1322
1282
  }
1323
1283
  .saltFileDropZone-disabled {
1324
- --fileDropZone-borderColor: var(--salt-container-secondary-borderColor-disabled);
1284
+ background: var(--salt-container-primary-background-disabled);
1285
+ border: var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-container-primary-borderColor-disabled);
1325
1286
  cursor: var(--salt-target-cursor-disabled);
1326
- }
1327
- .saltFileDropZone-disabled .saltFileDropZone-icon,
1328
- .saltFileDropZone-disabled .saltFileDropZone-title {
1329
- --fileDropZone-text-color: var(--salt-content-primary-foreground-disabled);
1330
- --fileDropZone-icon-color: var(--salt-content-primary-foreground-disabled);
1287
+ color: var(--salt-content-primary-foreground-disabled);
1331
1288
  }
1332
1289
 
1333
1290
  /* src/form-field-legacy/FormActivationIndicator.css */
@@ -2622,99 +2579,100 @@
2622
2579
  z-index: var(--salt-zIndex-default);
2623
2580
  }
2624
2581
 
2625
- /* src/pagination/Pagination.css */
2626
- .salt-density-medium {
2627
- --pagination-button-size: 28px;
2628
- --pagination-fontSize: 12px;
2582
+ /* src/pagination/CompactInput.css */
2583
+ .saltCompactInput {
2584
+ --saltInput-paddingLeft: 0;
2585
+ --saltInput-paddingRight: 0;
2629
2586
  }
2630
- .salt-density-high {
2631
- --pagination-button-size: 20px;
2632
- --pagination-fontSize: 11px;
2587
+ .saltCompactInput-defaultSize.saltInput {
2588
+ --saltInput-minWidth: var(--salt-size-base);
2589
+ width: var(--salt-size-base);
2633
2590
  }
2634
- .salt-density-low {
2635
- --pagination-button-size: 36px;
2636
- --pagination-fontSize: 14px;
2591
+
2592
+ /* src/pagination/CompactPaginator.css */
2593
+ .saltCompactPaginator {
2594
+ flex-wrap: nowrap;
2595
+ display: flex;
2596
+ gap: var(--salt-spacing-100);
2597
+ align-items: center;
2637
2598
  }
2638
- .salt-density-touch {
2639
- --pagination-button-size: 44px;
2640
- --pagination-fontSize: 16px;
2599
+ .saltCompactPaginator-arrowButton {
2600
+ --saltButton-width: var(--salt-size-base);
2601
+ --saltButton-height: var(--salt-size-base);
2602
+ --saltButton-padding: var(--salt-spacing-100);
2641
2603
  }
2642
- .saltPagination {
2604
+
2605
+ /* src/pagination/GoToInput.css */
2606
+ .saltGoToInput.saltFormField {
2643
2607
  display: flex;
2644
2608
  flex-direction: row;
2609
+ gap: var(--salt-spacing-100);
2610
+ align-items: baseline;
2611
+ text-wrap: nowrap;
2645
2612
  }
2646
- .saltPagination-arrowButton {
2647
- width: var(--pagination-button-size);
2648
- height: var(--pagination-button-size);
2649
- }
2650
- .saltPagination-previousButton {
2651
- margin-right: var(--salt-size-unit);
2613
+ .saltGoToInput-input {
2614
+ height: var(--salt-size-base);
2615
+ --saltInput-minWidth: unset;
2652
2616
  }
2653
- .saltPagination-nextButton {
2654
- margin-left: var(--salt-size-unit);
2617
+ .saltGoToInput-inputDefaultSize {
2618
+ --saltInput-minWidth: var(--salt-size-base);
2619
+ max-width: var(--salt-size-base);
2620
+ width: var(--salt-size-base);
2655
2621
  }
2656
- .saltPagination-pageButton {
2657
- min-width: var(--pagination-button-size);
2658
- height: var(--pagination-button-size);
2622
+
2623
+ /* src/pagination/PageButton.css */
2624
+ .saltPageButton {
2625
+ --saltButton-minWidth: var(--salt-size-base);
2659
2626
  --saltButton-fontWeight: var(--salt-text-fontWeight);
2627
+ --saltButton-height: var(--salt-size-base);
2628
+ --saltButton-text-color: var(--salt-content-primary-foreground);
2629
+ --saltButton-background-active: var(--salt-selectable-background-selected);
2630
+ --saltButton-text-color-active: var(--salt-content-primary-foreground);
2660
2631
  }
2661
- .saltPagination-pageButtonSelected {
2662
- background: var(--salt-selectable-background-selected);
2663
- color: var(--salt-palette-interact-cta-foreground-active);
2664
- }
2665
- .saltPagination-pageButtonFixed {
2666
- padding: 0;
2632
+ .saltPageButton:hover,
2633
+ .saltPageButton:focus-visible {
2634
+ --saltButton-background-hover: var(--salt-selectable-background-hover);
2667
2635
  }
2668
- .saltPagination-ellipsis {
2669
- width: var(--pagination-button-size);
2670
- height: var(--pagination-button-size);
2671
- text-align: center;
2636
+ .saltPageButton:disabled {
2637
+ --saltButton-text-color-disabled: var(--salt-content-secondary-foreground);
2638
+ --saltButton-cursor-disabled: var(--salt-editable-cursor-readonly);
2672
2639
  }
2673
- .saltPagination-accessibleText {
2674
- display: block;
2675
- position: absolute;
2676
- width: 1px;
2677
- height: 1px;
2678
- overflow: hidden;
2679
- top: 0;
2680
- left: 0;
2681
- opacity: 0;
2640
+ .saltPageButton-selected {
2641
+ --saltButton-background: var(--salt-selectable-background-selected);
2682
2642
  }
2683
- .saltPagination-compactInputField {
2643
+ .saltPageButton-selected:focus-visible {
2644
+ --saltButton-background-hover: var(--salt-selectable-background-selected);
2684
2645
  }
2685
- .saltPagination-compactInput {
2686
- height: var(--pagination-button-size);
2687
- min-width: unset;
2646
+ .saltPageButton-fixed {
2647
+ --saltButton-padding: 0;
2688
2648
  }
2689
- .saltPagination-compactInputFixed {
2690
- min-width: var(--pagination-button-size);
2691
- width: var(--pagination-button-size);
2692
- }
2693
- .saltPagination-compactSeparator {
2694
- height: var(--pagination-button-size);
2695
- width: var(--pagination-button-size);
2696
- text-align: center;
2697
- font-size: var(--pagination-fontSize);
2698
- line-height: var(--pagination-button-size);
2699
- }
2700
- .saltPagination-goToInputWrapper {
2701
- }
2702
- .saltPagination-leftGoToInput {
2703
- margin-right: var(--salt-size-unit);
2649
+
2650
+ /* src/pagination/PageRanges.css */
2651
+ .saltPageRanges-ellipsis {
2652
+ display: inline-flex;
2653
+ width: var(--salt-size-base);
2654
+ height: var(--salt-size-base);
2655
+ line-height: var(--salt-size-base);
2656
+ justify-content: center;
2704
2657
  }
2705
- .saltPagination-rightGoToInput {
2706
- margin-left: var(--salt-size-unit);
2707
- min-width: unset;
2658
+
2659
+ /* src/pagination/Pagination.css */
2660
+ .saltPagination {
2661
+ display: flex;
2662
+ flex-direction: row;
2663
+ align-items: center;
2708
2664
  }
2709
- .saltPagination-goToInputField {
2665
+
2666
+ /* src/pagination/Paginator.css */
2667
+ .saltPaginator {
2668
+ display: flex;
2669
+ flex-wrap: nowrap;
2710
2670
  }
2711
- .saltPagination-goToInput {
2712
- height: var(--pagination-button-size);
2713
- min-width: unset;
2671
+ .saltPaginator-arrowButton-previous {
2672
+ --saltButton-margin: 0 var(--salt-spacing-100) 0 0;
2714
2673
  }
2715
- .saltPagination-goToInputFixed {
2716
- min-width: var(--pagination-button-size);
2717
- width: var(--pagination-button-size);
2674
+ .saltPaginator-arrowButton-next {
2675
+ --saltButton-margin: 0 0 0 var(--salt-spacing-100);
2718
2676
  }
2719
2677
 
2720
2678
  /* src/parent-child-item/ParentChildItem.css */
@@ -2926,25 +2884,10 @@
2926
2884
 
2927
2885
  /* src/pill-next/PillNext.css */
2928
2886
  .saltPillNext {
2929
- display: flex;
2930
- max-width: 100%;
2931
- }
2932
- .saltPillNext-action {
2933
- --pillNext-background: var(--salt-actionable-primary-background);
2934
- --pillNext-background-active: var(--salt-actionable-primary-background-active);
2935
- --pillNext-background-disabled: var(--salt-actionable-primary-background-disabled);
2936
- --pillNext-background-hover: var(--salt-actionable-primary-background-hover);
2937
- --pillNext-text-color: var(--salt-actionable-primary-foreground);
2938
- --pillNext-text-color-active: var(--salt-actionable-primary-foreground-active);
2939
- --pillNext-text-color-hover: var(--salt-actionable-primary-foreground-hover);
2940
- --pillNext-text-color-disabled: var(--salt-actionable-primary-foreground-disabled);
2941
- }
2942
- .saltPillNext-action {
2943
2887
  appearance: none;
2944
- -webkit-appearance: none;
2945
2888
  display: inline-flex;
2946
2889
  align-items: center;
2947
- background: var(--pillNext-background);
2890
+ background: var(--saltPillNext-background, var(--salt-actionable-primary-background));
2948
2891
  border-radius: 0;
2949
2892
  border: 0;
2950
2893
  height: calc(var(--salt-size-base) - var(--salt-spacing-100));
@@ -2954,55 +2897,34 @@
2954
2897
  gap: var(--salt-spacing-50);
2955
2898
  padding-left: var(--salt-spacing-50);
2956
2899
  padding-right: var(--salt-spacing-50);
2957
- color: var(--pillNext-text-color);
2900
+ color: var(--saltPillNext-color, var(--salt-actionable-primary-foreground));
2958
2901
  font-family: var(--salt-text-fontFamily);
2959
2902
  font-size: var(--salt-text-fontSize);
2960
2903
  font-weight: var(--salt-text-fontWeight);
2961
2904
  line-height: var(--salt-text-lineHeight);
2962
- }
2963
- .saltPillNext-label {
2964
- min-width: 0;
2965
2905
  overflow: hidden;
2966
- text-overflow: ellipsis;
2967
2906
  white-space: nowrap;
2968
2907
  }
2969
- .saltPillNext-close-button {
2970
- --saltButton-height: calc(var(--salt-size-base) - var(--salt-spacing-100));
2971
- --saltButton-padding: var(--salt-spacing-50);
2972
- }
2973
- .saltPillNext-action .saltIcon {
2974
- --saltIcon-color: currentColor;
2975
- }
2976
2908
  .saltPillNext-clickable {
2977
2909
  cursor: var(--salt-selectable-cursor-hover);
2978
2910
  }
2979
2911
  .saltPillNext-clickable:hover,
2980
2912
  .saltPillNext-clickable:focus-visible {
2981
- color: var(--pillNext-text-color-hover);
2982
- background: var(--pillNext-background-hover);
2983
- }
2984
- .saltPillNext-clickable.saltPillNext-disabled:hover {
2985
- color: var(--pillNext-text-color);
2986
- background: var(--pillNext-background);
2913
+ color: var(--salt-actionable-primary-foreground-hover);
2914
+ background: var(--salt-actionable-primary-background-hover);
2987
2915
  }
2988
2916
  .saltPillNext-clickable.saltPillNext-active,
2989
2917
  .saltPillNext-clickable:active {
2990
- background: var(--pillNext-background-active);
2991
- color: var(--pillNext-text-color-active);
2918
+ background: var(--salt-actionable-primary-background-active);
2919
+ color: var(--salt-actionable-primary-foreground-active);
2992
2920
  }
2993
- .saltPillNext-clickable.saltPillNext-disabled.saltPillNext-active,
2994
- .saltPillNext-clickable.saltPillNext-disabled:active {
2995
- background: var(--pillNext-background);
2996
- color: var(--pillNext-text-color);
2997
- }
2998
- .saltPillNext-action:focus-visible {
2921
+ .saltPillNext:focus-visible {
2999
2922
  outline: var(--salt-focused-outline);
3000
- z-index: var(--salt-zIndex-default);
3001
2923
  }
3002
- .saltPillNext-action.saltPillNext-disabled,
3003
- .saltPillNext-action.saltPillNext-disabled:hover {
3004
- color: var(--pillNext-text-color-disabled);
3005
- background: var(--pillNext-background-disabled);
2924
+ .saltPillNext:disabled,
2925
+ .saltPillNext:disabled:hover {
2926
+ color: var(--salt-actionable-primary-foreground-disabled);
2927
+ background: var(--salt-actionable-primary-background-disabled);
3006
2928
  cursor: var(--salt-selectable-cursor-disabled);
3007
2929
  }
3008
2930
 
@@ -4842,4 +4764,4 @@
4842
4764
  margin: calc(var(--salt-size-unit) / 2) 0;
4843
4765
  }
4844
4766
 
4845
- /* src/54bcdacf-3525-4b80-99dd-6c38ba20e381.css */
4767
+ /* src/9bca76ec-eb3b-42a1-96c2-e524fd8f78b1.css */
@@ -149,9 +149,9 @@ const ComboBoxNext = React.forwardRef(function ComboBoxNext2({
149
149
  }),
150
150
  /* @__PURE__ */ jsxRuntime.jsx(FloatingComponent, {
151
151
  open: Boolean(open && !disabled && filteredSource),
152
- ref: floating,
153
152
  ...getPortalProps(),
154
153
  ...getPosition(),
154
+ ref: floating,
155
155
  children: /* @__PURE__ */ jsxRuntime.jsx(ListNext.ListNext, {
156
156
  className: clsx.clsx(withBaseName("list"), listClassName),
157
157
  disableFocus: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBoxNext.js","sources":["../src/combo-box-next/ComboBoxNext.tsx"],"sourcesContent":["import {\n ChangeEvent,\n ComponentPropsWithoutRef,\n ForwardedRef,\n forwardRef,\n ReactElement,\n Ref,\n SyntheticEvent,\n useRef,\n} from \"react\";\nimport {\n Input,\n makePrefixer,\n useForkRef,\n useId,\n useFloatingComponent,\n} from \"@salt-ds/core\";\nimport { ListNext, ListNextProps } from \"../list-next\";\nimport { useComboBox } from \"./useComboBox\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport comboBoxNextCss from \"./ComboBoxNext.css\";\nimport { ChevronDownIcon, ChevronUpIcon } from \"@salt-ds/icons\";\nimport { DefaultListItem, defaultFilter, ComboBoxItemProps } from \"./utils\";\nimport { clsx } from \"clsx\";\nimport { UseComboBoxPortalProps } from \"./useComboboxPortal\";\n\nconst withBaseName = makePrefixer(\"saltComboBoxNext\");\n\nexport interface ComboBoxNextProps<T>\n extends Omit<ComponentPropsWithoutRef<\"input\">, \"onChange\" | \"onSelect\"> {\n /**\n * Additional props for the list component.\n */\n ListProps?: ListNextProps;\n /**\n * Additional props for the portal.\n */\n PortalProps?: UseComboBoxPortalProps;\n /**\n * Controlled prop. Controls the Input value in the Combo Box Input.\n */\n inputValue?: string;\n /**\n * Controlled prop. Controls the Highlighted item in the Combo Box list.\n */\n highlightedItem?: string;\n /**\n * Controlled prop. Controls the Selected value in the Combo Box list.\n */\n selected?: string;\n /**\n * Initial input value for when the list is uncontrolled.\n */\n defaultInputValue?: string;\n /**\n * Initial selected value for when the list is uncontrolled.\n */\n defaultSelected?: string;\n /**\n * If `true`, the component will be disabled.\n */\n disabled?: boolean;\n /**\n * Styling variant. Defaults to \"primary\".\n */\n variant?: \"primary\" | \"secondary\";\n /**\n /**\n * The source of combobox items.\n */\n source: T[];\n /**\n * Optional ref for the list component\n */\n listRef?: Ref<HTMLUListElement>;\n /**\n * The component used for item instead of the default.\n */\n ListItem?: (\n props: ComboBoxItemProps<T>\n ) => ReactElement<ComboBoxItemProps<T>>;\n /**\n * Function to be used as filter.\n */\n itemFilter?: (source: T[], filterValue?: string) => T[];\n /**\n * Callback for mouse over event\n */\n onMouseOver?: (event: SyntheticEvent) => void;\n /**\n * Callback for list selection event\n */\n onSelect?: (event: SyntheticEvent, data: { value: string }) => void;\n /**\n /**\n * Callback for list change event\n */\n onListChange?: (\n event: SyntheticEvent,\n data: { value: string | undefined }\n ) => void;\n /**\n * Callback for input change event\n */\n onChange?: (event: SyntheticEvent, data: { value: string }) => void;\n}\n\nexport const ComboBoxNext = forwardRef(function ComboBoxNext<T>(\n {\n ListProps = {},\n PortalProps = {},\n inputValue: inputValueProp,\n highlightedItem: highlightedItemProp,\n selected: selectedProp,\n defaultInputValue,\n defaultSelected,\n disabled,\n variant = \"primary\",\n source,\n listRef: listRefProp,\n ListItem = DefaultListItem as unknown as ComboBoxNextProps<T>[\"ListItem\"],\n itemFilter = defaultFilter as unknown as ComboBoxNextProps<T>[\"itemFilter\"],\n onMouseOver,\n onFocus,\n onKeyDown,\n onSelect,\n onListChange,\n onChange: onInputChange,\n ...rest\n }: ComboBoxNextProps<T>,\n ref?: ForwardedRef<HTMLInputElement>\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-combo-box-next\",\n css: comboBoxNextCss,\n window: targetWindow,\n });\n const listId = useId(ListProps?.id);\n const listRef = useRef<HTMLUListElement>(null);\n\n const setListRef = useForkRef(listRefProp, listRef);\n const listProps = {\n disabled,\n highlightedItem: highlightedItemProp,\n selected: selectedProp,\n defaultSelected,\n onChange: onListChange,\n onSelect: onSelect,\n id: listId,\n ref: listRef,\n };\n\n const {\n inputValue,\n setInputValue,\n portalProps,\n selectedItem,\n highlightedItem,\n activeDescendant,\n focusVisibleRef,\n keyDownHandler,\n focusHandler,\n setSelectedItem,\n setHighlightedItem,\n mouseOverHandler,\n mouseDownHandler,\n listSelectHandler,\n } = useComboBox({\n defaultInputValue,\n inputValue: inputValueProp,\n onFocus,\n onMouseOver,\n onKeyDown,\n listProps,\n PortalProps,\n });\n\n const {\n open,\n setOpen,\n floating,\n reference,\n getTriggerProps,\n getPortalProps,\n getPosition,\n } = portalProps;\n\n // floating references\n const triggerRef = useForkRef(ref, reference);\n const inputRef = useForkRef(triggerRef, focusVisibleRef);\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const getFilteredSource = () => {\n if (!source) return null;\n if (selectedItem && inputValue === selectedItem) return source;\n return itemFilter?.(source, inputValue);\n };\n const filteredSource = getFilteredSource();\n\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n setInputValue(value);\n if (value === \"\") {\n setHighlightedItem(undefined);\n setSelectedItem(value);\n } else {\n if (!open) {\n setOpen(true);\n }\n if (filteredSource) {\n setHighlightedItem(filteredSource[0] as unknown as string);\n }\n }\n onInputChange?.(event, { value: value ?? \"\" });\n };\n\n const adornment = open ? (\n <ChevronUpIcon className={withBaseName(\"chevron\")} />\n ) : (\n <ChevronDownIcon className={withBaseName(\"chevron\")} />\n );\n\n const { className: listClassName, ...restListProps } = ListProps;\n const { className: inputClassName, ...restInputProps } = rest;\n\n return (\n <>\n <Input\n aria-controls={listId}\n aria-activedescendant={disabled ? undefined : activeDescendant}\n className={clsx(withBaseName(\"input\"), inputClassName)}\n disabled={disabled}\n endAdornment={adornment}\n onChange={onChange}\n onMouseDown={mouseDownHandler}\n inputRef={inputRef as Ref<HTMLInputElement>}\n inputProps={{\n \"aria-expanded\": open,\n tabIndex: disabled ? -1 : 0,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n }}\n role=\"combobox\"\n variant={variant}\n value={inputValue}\n {...getTriggerProps()}\n {...restInputProps}\n />\n\n <FloatingComponent\n open={Boolean(open && !disabled && filteredSource)}\n ref={floating}\n {...getPortalProps()}\n {...getPosition()}\n >\n <ListNext\n className={clsx(withBaseName(\"list\"), listClassName)}\n disableFocus\n highlightedItem={highlightedItem}\n onMouseOver={mouseOverHandler}\n onSelect={listSelectHandler}\n selected={selectedItem}\n {...restListProps}\n ref={setListRef}\n >\n {filteredSource?.map((value, index) => {\n const onMouseDown = (event: SyntheticEvent<HTMLLIElement>) => {\n setSelectedItem(event.currentTarget?.dataset.value);\n setInputValue(event.currentTarget?.dataset.value);\n };\n return (\n ListItem && (\n <ListItem\n key={index}\n value={value}\n matchPattern={inputValue}\n onMouseDown={onMouseDown}\n />\n )\n );\n })}\n </ListNext>\n </FloatingComponent>\n </>\n );\n});\n"],"names":["makePrefixer","forwardRef","ComboBoxNext","DefaultListItem","defaultFilter","useWindow","useComponentCssInjection","comboBoxNextCss","useId","useRef","useForkRef","useComboBox","useFloatingComponent","jsx","ChevronUpIcon","ChevronDownIcon","jsxs","Fragment","Input","clsx","ListNext"],"mappings":"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"}
1
+ {"version":3,"file":"ComboBoxNext.js","sources":["../src/combo-box-next/ComboBoxNext.tsx"],"sourcesContent":["import {\n ChangeEvent,\n ComponentPropsWithoutRef,\n ForwardedRef,\n forwardRef,\n ReactElement,\n Ref,\n SyntheticEvent,\n useRef,\n} from \"react\";\nimport {\n Input,\n makePrefixer,\n useForkRef,\n useId,\n useFloatingComponent,\n} from \"@salt-ds/core\";\nimport { ListNext, ListNextProps } from \"../list-next\";\nimport { useComboBox } from \"./useComboBox\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport comboBoxNextCss from \"./ComboBoxNext.css\";\nimport { ChevronDownIcon, ChevronUpIcon } from \"@salt-ds/icons\";\nimport { DefaultListItem, defaultFilter, ComboBoxItemProps } from \"./utils\";\nimport { clsx } from \"clsx\";\nimport { UseComboBoxPortalProps } from \"./useComboboxPortal\";\n\nconst withBaseName = makePrefixer(\"saltComboBoxNext\");\n\nexport interface ComboBoxNextProps<T>\n extends Omit<ComponentPropsWithoutRef<\"input\">, \"onChange\" | \"onSelect\"> {\n /**\n * Additional props for the list component.\n */\n ListProps?: ListNextProps;\n /**\n * Additional props for the portal.\n */\n PortalProps?: UseComboBoxPortalProps;\n /**\n * Controlled prop. Controls the Input value in the Combo Box Input.\n */\n inputValue?: string;\n /**\n * Controlled prop. Controls the Highlighted item in the Combo Box list.\n */\n highlightedItem?: string;\n /**\n * Controlled prop. Controls the Selected value in the Combo Box list.\n */\n selected?: string;\n /**\n * Initial input value for when the list is uncontrolled.\n */\n defaultInputValue?: string;\n /**\n * Initial selected value for when the list is uncontrolled.\n */\n defaultSelected?: string;\n /**\n * If `true`, the component will be disabled.\n */\n disabled?: boolean;\n /**\n * Styling variant. Defaults to \"primary\".\n */\n variant?: \"primary\" | \"secondary\";\n /**\n /**\n * The source of combobox items.\n */\n source: T[];\n /**\n * Optional ref for the list component\n */\n listRef?: Ref<HTMLUListElement>;\n /**\n * The component used for item instead of the default.\n */\n ListItem?: (\n props: ComboBoxItemProps<T>\n ) => ReactElement<ComboBoxItemProps<T>>;\n /**\n * Function to be used as filter.\n */\n itemFilter?: (source: T[], filterValue?: string) => T[];\n /**\n * Callback for mouse over event\n */\n onMouseOver?: (event: SyntheticEvent) => void;\n /**\n * Callback for list selection event\n */\n onSelect?: (event: SyntheticEvent, data: { value: string }) => void;\n /**\n /**\n * Callback for list change event\n */\n onListChange?: (\n event: SyntheticEvent,\n data: { value: string | undefined }\n ) => void;\n /**\n * Callback for input change event\n */\n onChange?: (event: SyntheticEvent, data: { value: string }) => void;\n}\n\nexport const ComboBoxNext = forwardRef(function ComboBoxNext<T>(\n {\n ListProps = {},\n PortalProps = {},\n inputValue: inputValueProp,\n highlightedItem: highlightedItemProp,\n selected: selectedProp,\n defaultInputValue,\n defaultSelected,\n disabled,\n variant = \"primary\",\n source,\n listRef: listRefProp,\n ListItem = DefaultListItem as unknown as ComboBoxNextProps<T>[\"ListItem\"],\n itemFilter = defaultFilter as unknown as ComboBoxNextProps<T>[\"itemFilter\"],\n onMouseOver,\n onFocus,\n onKeyDown,\n onSelect,\n onListChange,\n onChange: onInputChange,\n ...rest\n }: ComboBoxNextProps<T>,\n ref?: ForwardedRef<HTMLInputElement>\n) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-combo-box-next\",\n css: comboBoxNextCss,\n window: targetWindow,\n });\n const listId = useId(ListProps?.id);\n const listRef = useRef<HTMLUListElement>(null);\n\n const setListRef = useForkRef(listRefProp, listRef);\n const listProps = {\n disabled,\n highlightedItem: highlightedItemProp,\n selected: selectedProp,\n defaultSelected,\n onChange: onListChange,\n onSelect: onSelect,\n id: listId,\n ref: listRef,\n };\n\n const {\n inputValue,\n setInputValue,\n portalProps,\n selectedItem,\n highlightedItem,\n activeDescendant,\n focusVisibleRef,\n keyDownHandler,\n focusHandler,\n setSelectedItem,\n setHighlightedItem,\n mouseOverHandler,\n mouseDownHandler,\n listSelectHandler,\n } = useComboBox({\n defaultInputValue,\n inputValue: inputValueProp,\n onFocus,\n onMouseOver,\n onKeyDown,\n listProps,\n PortalProps,\n });\n\n const {\n open,\n setOpen,\n floating,\n reference,\n getTriggerProps,\n getPortalProps,\n getPosition,\n } = portalProps;\n\n // floating references\n const triggerRef = useForkRef(ref, reference);\n const inputRef = useForkRef(triggerRef, focusVisibleRef);\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const getFilteredSource = () => {\n if (!source) return null;\n if (selectedItem && inputValue === selectedItem) return source;\n return itemFilter?.(source, inputValue);\n };\n const filteredSource = getFilteredSource();\n\n const onChange = (event: ChangeEvent<HTMLInputElement>) => {\n const value = event.target.value;\n setInputValue(value);\n if (value === \"\") {\n setHighlightedItem(undefined);\n setSelectedItem(value);\n } else {\n if (!open) {\n setOpen(true);\n }\n if (filteredSource) {\n setHighlightedItem(filteredSource[0] as unknown as string);\n }\n }\n onInputChange?.(event, { value: value ?? \"\" });\n };\n\n const adornment = open ? (\n <ChevronUpIcon className={withBaseName(\"chevron\")} />\n ) : (\n <ChevronDownIcon className={withBaseName(\"chevron\")} />\n );\n\n const { className: listClassName, ...restListProps } = ListProps;\n const { className: inputClassName, ...restInputProps } = rest;\n\n return (\n <>\n <Input\n aria-controls={listId}\n aria-activedescendant={disabled ? undefined : activeDescendant}\n className={clsx(withBaseName(\"input\"), inputClassName)}\n disabled={disabled}\n endAdornment={adornment}\n onChange={onChange}\n onMouseDown={mouseDownHandler}\n inputRef={inputRef as Ref<HTMLInputElement>}\n inputProps={{\n \"aria-expanded\": open,\n tabIndex: disabled ? -1 : 0,\n onFocus: focusHandler,\n onKeyDown: keyDownHandler,\n }}\n role=\"combobox\"\n variant={variant}\n value={inputValue}\n {...getTriggerProps()}\n {...restInputProps}\n />\n\n <FloatingComponent\n open={Boolean(open && !disabled && filteredSource)}\n {...getPortalProps()}\n {...getPosition()}\n ref={floating}\n >\n <ListNext\n className={clsx(withBaseName(\"list\"), listClassName)}\n disableFocus\n highlightedItem={highlightedItem}\n onMouseOver={mouseOverHandler}\n onSelect={listSelectHandler}\n selected={selectedItem}\n {...restListProps}\n ref={setListRef}\n >\n {filteredSource?.map((value, index) => {\n const onMouseDown = (event: SyntheticEvent<HTMLLIElement>) => {\n setSelectedItem(event.currentTarget?.dataset.value);\n setInputValue(event.currentTarget?.dataset.value);\n };\n return (\n ListItem && (\n <ListItem\n key={index}\n value={value}\n matchPattern={inputValue}\n onMouseDown={onMouseDown}\n />\n )\n );\n })}\n </ListNext>\n </FloatingComponent>\n </>\n );\n});\n"],"names":["makePrefixer","forwardRef","ComboBoxNext","DefaultListItem","defaultFilter","useWindow","useComponentCssInjection","comboBoxNextCss","useId","useRef","useForkRef","useComboBox","useFloatingComponent","jsx","ChevronUpIcon","ChevronDownIcon","jsxs","Fragment","Input","clsx","ListNext"],"mappings":"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"}
@@ -80,7 +80,6 @@ const DropdownNext = React.forwardRef(function DropdownNext2(props, ref) {
80
80
  listSelectHandler
81
81
  } = handlers;
82
82
  const triggerRef = core.useForkRef(ref, reference);
83
- const portalRef = core.useForkRef(ref, floating);
84
83
  const getIcon = () => {
85
84
  if (readOnly)
86
85
  return;
@@ -162,9 +161,9 @@ const DropdownNext = React.forwardRef(function DropdownNext2(props, ref) {
162
161
  }),
163
162
  /* @__PURE__ */ jsxRuntime.jsx(FloatingComponent, {
164
163
  open: open && !disabled,
165
- ref: portalRef,
166
164
  ...getDropdownNextProps(),
167
165
  ...getPosition(),
166
+ ref: floating,
168
167
  children: /* @__PURE__ */ jsxRuntime.jsx(ListNext.ListNext, {
169
168
  "data-test-id": "list-container",
170
169
  id: listId,
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownNext.js","sources":["../src/dropdown-next/DropdownNext.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { ListNext, ListNextProps } from \"../list-next\";\nimport {\n makePrefixer,\n useId,\n useForkRef,\n useFloatingComponent,\n} from \"@salt-ds/core\";\nimport { ChevronDownIcon, ChevronUpIcon } from \"@salt-ds/icons\";\nimport {\n useRef,\n forwardRef,\n FocusEvent,\n KeyboardEvent,\n MouseEvent,\n Ref,\n ForwardedRef,\n SyntheticEvent,\n ComponentPropsWithoutRef,\n} from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport dropdownNextCss from \"./DropdownNext.css\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { Placement } from \"@floating-ui/react\";\nimport { useDropdownNext } from \"./useDropdownNext\";\n\nconst withBaseName = makePrefixer(\"saltDropdownNext\");\n\nexport interface DropdownNextProps\n extends Omit<ComponentPropsWithoutRef<\"button\">, \"onSelect\"> {\n /**\n * If `true`, dropdown will be disabled.\n */\n disabled?: boolean;\n /**\n * Initially selected value for the dropdown, for use only in uncontrolled component.\n */\n defaultSelected?: string;\n /**\n * List of options when using a dropdown.\n */\n source: string[];\n /**\n * If `true`, dropdown is read only.\n */\n readOnly?: boolean;\n /**\n * Background styling variant. Defaults to `primary` .\n */\n variant?: \"primary\" | \"secondary\";\n /**\n * Placement of dropdown list. Defaults to `bottom` .\n */\n placement?: Placement;\n /**\n * Optional ref for the list component.\n */\n listRef?: Ref<HTMLUListElement>;\n /**\n * Additional props for dropdown list.\n */\n ListProps?: ListNextProps;\n /* Status open or close for use in controlled component. */\n open?: boolean;\n /**\n * Callback for list selection event\n */\n onSelect?: (event: SyntheticEvent, data: { value: string }) => void;\n /**\n /* Selected prop for use in controlled component. */\n selected?: string;\n /* Highlighted item prop for use in controlled component. */\n highlightedItem?: string;\n}\n\nexport const DropdownNext = forwardRef(function DropdownNext(\n props: DropdownNextProps,\n ref: ForwardedRef<HTMLButtonElement>\n) {\n const {\n className,\n disabled,\n variant = \"primary\",\n id: dropdownIdProp,\n defaultSelected,\n readOnly,\n source,\n placement = \"bottom\",\n open: openControlProp,\n selected: selectedControlProp,\n highlightedItem: highlightedItemControlProp,\n onFocus,\n onKeyDown,\n onMouseOver,\n onMouseDown,\n onSelect,\n listRef: listRefProp,\n ListProps,\n ...restProps\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dropdown-next\",\n css: dropdownNextCss,\n window: targetWindow,\n });\n\n const listId = useId(ListProps?.id);\n const dropdownId = useId(dropdownIdProp);\n const listRef = useRef<HTMLUListElement>(null);\n\n const setListRef = useForkRef(listRefProp, listRef);\n const listProps = {\n defaultSelected,\n disabled,\n ref: listRef,\n id: listId,\n onSelect: onSelect,\n selected: selectedControlProp,\n highlightedItem: highlightedItemControlProp,\n };\n\n const {\n handlers,\n activeDescendant,\n selectedItem,\n highlightedItem,\n getListItems,\n portalProps,\n getReferenceProps,\n refs,\n } = useDropdownNext({\n listProps,\n placement,\n openControlProp,\n });\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const { open, floating, reference, getDropdownNextProps, getPosition } =\n portalProps;\n const {\n focusHandler,\n keyDownHandler,\n mouseOverHandler,\n mouseDownHandler,\n listSelectHandler,\n } = handlers;\n\n const triggerRef = useForkRef<HTMLButtonElement>(ref, reference);\n const portalRef = useForkRef<HTMLButtonElement>(ref, floating);\n\n const getIcon = () => {\n if (readOnly) return;\n\n const iconClassName = clsx(withBaseName(\"icon\"), {\n [withBaseName(\"disabled\")]: disabled,\n });\n\n return open ? (\n <ChevronUpIcon className={iconClassName} />\n ) : (\n <ChevronDownIcon className={iconClassName} />\n );\n };\n\n const handleFocus = (event: FocusEvent<HTMLButtonElement>) => {\n if (disabled) return;\n focusHandler(event);\n onFocus?.(event);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) return;\n keyDownHandler(event);\n onKeyDown?.(event);\n };\n\n const handleMouseOver = (event: MouseEvent<HTMLButtonElement>) => {\n mouseOverHandler();\n onMouseOver?.(event);\n };\n\n const handleMouseDown = (event: MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) return;\n mouseDownHandler();\n onMouseDown?.(event);\n };\n\n const handleListSelect = () => {\n listSelectHandler();\n (refs.domReference.current as HTMLButtonElement)?.focus();\n };\n\n return (\n <div className={clsx(withBaseName())}>\n <button\n id={dropdownId}\n disabled={disabled}\n {...getReferenceProps({\n onFocus: handleFocus,\n onMouseOver: handleMouseOver,\n onMouseDown: handleMouseDown,\n onKeyDown: handleKeyDown,\n })}\n value={selectedItem}\n className={clsx(\n withBaseName(\"button\"),\n withBaseName(variant),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n },\n className\n )}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n aria-activedescendant={activeDescendant}\n tabIndex={disabled ? -1 : 0}\n aria-owns={listId}\n aria-controls={listId}\n aria-disabled={disabled}\n {...restProps}\n ref={triggerRef}\n >\n <span className={clsx(withBaseName(\"buttonText\"))}>{selectedItem}</span>\n {getIcon()}\n </button>\n <FloatingComponent\n open={open && !disabled}\n ref={portalRef}\n {...getDropdownNextProps()}\n {...getPosition()}\n >\n <ListNext\n data-test-id={\"list-container\"}\n id={listId}\n className={clsx(withBaseName(\"list\"), ListProps?.className)}\n disableFocus\n disabled={disabled || ListProps?.disabled}\n selected={selectedItem}\n highlightedItem={highlightedItem}\n {...ListProps}\n ref={setListRef}\n onSelect={handleListSelect}\n >\n {getListItems(source)}\n </ListNext>\n </FloatingComponent>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","DropdownNext","useWindow","useComponentCssInjection","dropdownNextCss","useId","useRef","useForkRef","useDropdownNext","useFloatingComponent","clsx","jsx","ChevronUpIcon","ChevronDownIcon","jsxs","ListNext"],"mappings":"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"}
1
+ {"version":3,"file":"DropdownNext.js","sources":["../src/dropdown-next/DropdownNext.tsx"],"sourcesContent":["import { clsx } from \"clsx\";\nimport { ListNext, ListNextProps } from \"../list-next\";\nimport {\n makePrefixer,\n useId,\n useForkRef,\n useFloatingComponent,\n} from \"@salt-ds/core\";\nimport { ChevronDownIcon, ChevronUpIcon } from \"@salt-ds/icons\";\nimport {\n useRef,\n forwardRef,\n FocusEvent,\n KeyboardEvent,\n MouseEvent,\n Ref,\n ForwardedRef,\n SyntheticEvent,\n ComponentPropsWithoutRef,\n} from \"react\";\nimport { useWindow } from \"@salt-ds/window\";\nimport dropdownNextCss from \"./DropdownNext.css\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { Placement } from \"@floating-ui/react\";\nimport { useDropdownNext } from \"./useDropdownNext\";\n\nconst withBaseName = makePrefixer(\"saltDropdownNext\");\n\nexport interface DropdownNextProps\n extends Omit<ComponentPropsWithoutRef<\"button\">, \"onSelect\"> {\n /**\n * If `true`, dropdown will be disabled.\n */\n disabled?: boolean;\n /**\n * Initially selected value for the dropdown, for use only in uncontrolled component.\n */\n defaultSelected?: string;\n /**\n * List of options when using a dropdown.\n */\n source: string[];\n /**\n * If `true`, dropdown is read only.\n */\n readOnly?: boolean;\n /**\n * Background styling variant. Defaults to `primary` .\n */\n variant?: \"primary\" | \"secondary\";\n /**\n * Placement of dropdown list. Defaults to `bottom` .\n */\n placement?: Placement;\n /**\n * Optional ref for the list component.\n */\n listRef?: Ref<HTMLUListElement>;\n /**\n * Additional props for dropdown list.\n */\n ListProps?: ListNextProps;\n /* Status open or close for use in controlled component. */\n open?: boolean;\n /**\n * Callback for list selection event\n */\n onSelect?: (event: SyntheticEvent, data: { value: string }) => void;\n /**\n /* Selected prop for use in controlled component. */\n selected?: string;\n /* Highlighted item prop for use in controlled component. */\n highlightedItem?: string;\n}\n\nexport const DropdownNext = forwardRef(function DropdownNext(\n props: DropdownNextProps,\n ref: ForwardedRef<HTMLButtonElement>\n) {\n const {\n className,\n disabled,\n variant = \"primary\",\n id: dropdownIdProp,\n defaultSelected,\n readOnly,\n source,\n placement = \"bottom\",\n open: openControlProp,\n selected: selectedControlProp,\n highlightedItem: highlightedItemControlProp,\n onFocus,\n onKeyDown,\n onMouseOver,\n onMouseDown,\n onSelect,\n listRef: listRefProp,\n ListProps,\n ...restProps\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-dropdown-next\",\n css: dropdownNextCss,\n window: targetWindow,\n });\n\n const listId = useId(ListProps?.id);\n const dropdownId = useId(dropdownIdProp);\n const listRef = useRef<HTMLUListElement>(null);\n\n const setListRef = useForkRef(listRefProp, listRef);\n const listProps = {\n defaultSelected,\n disabled,\n ref: listRef,\n id: listId,\n onSelect: onSelect,\n selected: selectedControlProp,\n highlightedItem: highlightedItemControlProp,\n };\n\n const {\n handlers,\n activeDescendant,\n selectedItem,\n highlightedItem,\n getListItems,\n portalProps,\n getReferenceProps,\n refs,\n } = useDropdownNext({\n listProps,\n placement,\n openControlProp,\n });\n\n const { Component: FloatingComponent } = useFloatingComponent();\n\n const { open, floating, reference, getDropdownNextProps, getPosition } =\n portalProps;\n const {\n focusHandler,\n keyDownHandler,\n mouseOverHandler,\n mouseDownHandler,\n listSelectHandler,\n } = handlers;\n\n const triggerRef = useForkRef<HTMLButtonElement>(ref, reference);\n\n const getIcon = () => {\n if (readOnly) return;\n\n const iconClassName = clsx(withBaseName(\"icon\"), {\n [withBaseName(\"disabled\")]: disabled,\n });\n\n return open ? (\n <ChevronUpIcon className={iconClassName} />\n ) : (\n <ChevronDownIcon className={iconClassName} />\n );\n };\n\n const handleFocus = (event: FocusEvent<HTMLButtonElement>) => {\n if (disabled) return;\n focusHandler(event);\n onFocus?.(event);\n };\n\n const handleKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) return;\n keyDownHandler(event);\n onKeyDown?.(event);\n };\n\n const handleMouseOver = (event: MouseEvent<HTMLButtonElement>) => {\n mouseOverHandler();\n onMouseOver?.(event);\n };\n\n const handleMouseDown = (event: MouseEvent<HTMLButtonElement>) => {\n if (disabled || readOnly) return;\n mouseDownHandler();\n onMouseDown?.(event);\n };\n\n const handleListSelect = () => {\n listSelectHandler();\n (refs.domReference.current as HTMLButtonElement)?.focus();\n };\n\n return (\n <div className={clsx(withBaseName())}>\n <button\n id={dropdownId}\n disabled={disabled}\n {...getReferenceProps({\n onFocus: handleFocus,\n onMouseOver: handleMouseOver,\n onMouseDown: handleMouseDown,\n onKeyDown: handleKeyDown,\n })}\n value={selectedItem}\n className={clsx(\n withBaseName(\"button\"),\n withBaseName(variant),\n {\n [withBaseName(\"disabled\")]: disabled,\n [withBaseName(\"readOnly\")]: readOnly,\n },\n className\n )}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n aria-activedescendant={activeDescendant}\n tabIndex={disabled ? -1 : 0}\n aria-owns={listId}\n aria-controls={listId}\n aria-disabled={disabled}\n {...restProps}\n ref={triggerRef}\n >\n <span className={clsx(withBaseName(\"buttonText\"))}>{selectedItem}</span>\n {getIcon()}\n </button>\n <FloatingComponent\n open={open && !disabled}\n {...getDropdownNextProps()}\n {...getPosition()}\n ref={floating}\n >\n <ListNext\n data-test-id={\"list-container\"}\n id={listId}\n className={clsx(withBaseName(\"list\"), ListProps?.className)}\n disableFocus\n disabled={disabled || ListProps?.disabled}\n selected={selectedItem}\n highlightedItem={highlightedItem}\n {...ListProps}\n ref={setListRef}\n onSelect={handleListSelect}\n >\n {getListItems(source)}\n </ListNext>\n </FloatingComponent>\n </div>\n );\n});\n"],"names":["makePrefixer","forwardRef","DropdownNext","useWindow","useComponentCssInjection","dropdownNextCss","useId","useRef","useForkRef","useDropdownNext","useFloatingComponent","clsx","jsx","ChevronUpIcon","ChevronDownIcon","jsxs","ListNext"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var css_248z = "/* Styles applied to root component */\n.saltFileDropZone {\n --fileDropZone-background: var(--salt-container-secondary-background);\n --fileDropZone-borderColor: var(--salt-container-secondary-borderColor);\n --fileDropZone-borderWidth: var(--salt-size-border);\n --fileDropZone-borderStyle: var(--salt-target-borderStyle);\n --fileDropZone-text-color: var(--salt-content-primary-foreground);\n --fileDropZone-icon-color: var(--salt-content-primary-foreground);\n --fileDropZone-padding: var(--salt-size-container-spacing);\n --fileDropZone-title-fontSize: var(--salt-text-fontSize);\n --fileDropZone-title-lineHeight: var(--salt-text-lineHeight);\n}\n\n.saltFileDropZone {\n color: var(--saltFileDropZone-text-color, var(--fileDropZone-text-color));\n display: inline-flex;\n background: var(--saltFileDropZone-background, var(--fileDropZone-background));\n text-align: center;\n align-items: stretch;\n justify-content: center;\n border-color: var(--saltFileDropZone-borderColor, var(--fileDropZone-borderColor));\n border-style: var(--saltFileDropZone-borderStyle, var(--fileDropZone-borderStyle));\n border-width: var(--saltFileDropZone-borderWidth, var(--fileDropZone-borderWidth));\n flex-direction: column;\n padding: var(--saltFileDropZone-padding, var(--fileDropZone-padding));\n}\n\n.saltFileDropZone *:not(.saltFileDropZone-inputRoot, .saltFileDropZone-inputRoot *) {\n pointer-events: none;\n}\n\n/* Styles applied to icon */\n.saltFileDropZone-icon {\n fill: var(--fileDropZone-icon-color);\n margin-bottom: var(--salt-size-unit);\n}\n\n.saltFileDropZone .saltFileDropZone-title:not(:last-child),\n.saltFileDropZone .saltFileDropZone-inputRoot:not(:last-child) {\n margin-bottom: calc(var(--salt-size-unit) * 2);\n}\n\n/* Styles applied if `isActive={true}` */\n.saltFileDropZone-active:not(.saltFileDropZone-disabled) {\n --fileDropZone-background: var(--salt-target-background-hover);\n}\n\n/* Styles applied to description if `isRejected={true}` */\n.saltFileDropZone-error .saltFileDropZone-description {\n margin-bottom: calc(var(--salt-size-unit) * 2);\n}\n\n/* Styles applied if `isRejected={true}` */\n.saltFileDropZone-error {\n --fileDropZone-background: var(--salt-status-error-background);\n --fileDropZone-borderColor: var(--salt-status-error-borderColor);\n --fileDropZone-icon-color: var(--salt-status-error-foreground);\n}\n\n/* Styles applied on if `isRejected={true}` and `isActive={true}` */\n.saltFileDropZone-error:not(.saltFileDropZone-disabled).saltFileDropZone-active {\n --fileDropZone-background: var(--salt-target-background-hover);\n --fileDropZone-borderColor: var(--salt-container-secondary-borderColor);\n}\n\n/* Styles applied to title and description */\n.saltFileDropZone-title,\n.saltFileDropZone-description {\n font-size: var(--saltFileDropZone-title-fontSize, var(--fileDropZone-title-fontSize));\n line-height: var(--saltFileDropZone-title-lineHeight, var(--fileDropZone-title-lineHeight));\n}\n\n/* Styles applied to title */\n.saltFileDropZone-title {\n font-weight: var(--saltFileDropZone-fontWeight, var(--salt-text-fontWeight-strong));\n}\n\n/* Styles applied to input button */\n.saltFileDropZone-inputButton {\n display: inline-flex;\n}\n\n/* Styles applied to input root */\n.saltFileDropZone-inputRoot {\n line-height: 1;\n}\n\n.saltFileDropZone-inputRoot .input-hidden {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n visibility: hidden;\n}\n\n/* Styles applied if `disabled={true}` */\n.saltFileDropZone-disabled {\n --fileDropZone-borderColor: var(--salt-container-secondary-borderColor-disabled);\n\n cursor: var(--salt-target-cursor-disabled);\n}\n\n/* Styles applied if `disabled={true}` to icon and title */\n.saltFileDropZone-disabled .saltFileDropZone-icon,\n.saltFileDropZone-disabled .saltFileDropZone-title {\n --fileDropZone-text-color: var(--salt-content-primary-foreground-disabled);\n --fileDropZone-icon-color: var(--salt-content-primary-foreground-disabled);\n}\n";
3
+ var css_248z = ".saltFileDropZone {\n color: var(--saltFileDropZone-text-color, var(--salt-text-primary-foreground));\n display: inline-flex;\n background: var(--saltFileDropZone-background, var(--salt-container-primary-background));\n text-align: center;\n align-items: center;\n justify-content: center;\n border: var(--saltFileDropZone-border, var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-container-primary-borderColor));\n flex-direction: column;\n padding: var(--salt-spacing-200);\n gap: var(--salt-spacing-200);\n width: 100%;\n font-size: var(--saltFileDropZone-fontSize, var(--salt-text-fontSize));\n font-family: var(--saltFileDropZone-fontFamily, var(--salt-text-fontFamily));\n line-height: var(--saltFileDropZone-lineHeight, var(--salt-text-lineHeight));\n}\n\n.saltFileDropZone-active {\n background: var(--salt-target-background-hover);\n border: var(--salt-size-border-strong) var(--salt-target-borderStyle-hover) var(--salt-target-borderColor-hover);\n}\n\n/* Styles applied if `status=\"error\" */\n.saltFileDropZone-error {\n border: var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-status-error-borderColor);\n}\n\n/* Styles applied if `status=\"success\" */\n.saltFileDropZone-success {\n border: var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-status-success-borderColor);\n}\n\n.saltFileDropZone .input-hidden {\n display: none;\n}\n\n/* Styles applied if `disabled={true}` */\n.saltFileDropZone-disabled {\n background: var(--salt-container-primary-background-disabled);\n border: var(--salt-size-border-strong) var(--salt-target-borderStyle) var(--salt-container-primary-borderColor-disabled);\n cursor: var(--salt-target-cursor-disabled);\n color: var(--salt-content-primary-foreground-disabled);\n}\n";
4
4
 
5
5
  module.exports = css_248z;
6
6
  //# sourceMappingURL=FileDropZone.css.js.map