@salt-ds/lab 1.0.0-alpha.36 → 1.0.0-alpha.38
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.
- package/css/salt-lab.css +27 -400
- package/dist-cjs/calendar/internal/CalendarNavigation.js +4 -8
- package/dist-cjs/calendar/internal/CalendarNavigation.js.map +1 -1
- package/dist-cjs/combo-box/useCombobox.js.map +1 -1
- package/dist-cjs/index.js +2 -8
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/segmented-button-group/SegmentedButtonGroup.css.js +6 -0
- package/dist-cjs/segmented-button-group/SegmentedButtonGroup.css.js.map +1 -0
- package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js +30 -0
- package/dist-cjs/segmented-button-group/SegmentedButtonGroup.js.map +1 -0
- package/dist-cjs/tabs-next/TabstripNext.css.js +1 -1
- package/dist-es/calendar/internal/CalendarNavigation.js +3 -7
- package/dist-es/calendar/internal/CalendarNavigation.js.map +1 -1
- package/dist-es/combo-box/useCombobox.js.map +1 -1
- package/dist-es/index.js +1 -4
- package/dist-es/index.js.map +1 -1
- package/dist-es/segmented-button-group/SegmentedButtonGroup.css.js +4 -0
- package/dist-es/segmented-button-group/SegmentedButtonGroup.css.js.map +1 -0
- package/dist-es/segmented-button-group/SegmentedButtonGroup.js +26 -0
- package/dist-es/segmented-button-group/SegmentedButtonGroup.js.map +1 -0
- package/dist-es/tabs-next/TabstripNext.css.js +1 -1
- package/dist-types/calendar/internal/CalendarNavigation.d.ts +2 -3
- package/dist-types/index.d.ts +1 -3
- package/dist-types/segmented-button-group/SegmentedButtonGroup.d.ts +4 -0
- package/dist-types/segmented-button-group/index.d.ts +1 -0
- package/package.json +2 -2
- package/dist-cjs/combo-box-next/ComboBoxNext.css.js +0 -6
- package/dist-cjs/combo-box-next/ComboBoxNext.css.js.map +0 -1
- package/dist-cjs/combo-box-next/ComboBoxNext.js +0 -366
- package/dist-cjs/combo-box-next/ComboBoxNext.js.map +0 -1
- package/dist-cjs/combo-box-next/useComboBoxNext.js +0 -68
- package/dist-cjs/combo-box-next/useComboBoxNext.js.map +0 -1
- package/dist-cjs/dropdown-next/DropdownNext.css.js +0 -6
- package/dist-cjs/dropdown-next/DropdownNext.css.js.map +0 -1
- package/dist-cjs/dropdown-next/DropdownNext.js +0 -335
- package/dist-cjs/dropdown-next/DropdownNext.js.map +0 -1
- package/dist-cjs/list-control/ListControlContext.js +0 -38
- package/dist-cjs/list-control/ListControlContext.js.map +0 -1
- package/dist-cjs/list-control/ListControlState.js +0 -192
- package/dist-cjs/list-control/ListControlState.js.map +0 -1
- package/dist-cjs/option/Option.css.js +0 -6
- package/dist-cjs/option/Option.css.js.map +0 -1
- package/dist-cjs/option/Option.js +0 -99
- package/dist-cjs/option/Option.js.map +0 -1
- package/dist-cjs/option/OptionGroup.css.js +0 -6
- package/dist-cjs/option/OptionGroup.css.js.map +0 -1
- package/dist-cjs/option/OptionGroup.js +0 -44
- package/dist-cjs/option/OptionGroup.js.map +0 -1
- package/dist-cjs/option/OptionList.css.js +0 -6
- package/dist-cjs/option/OptionList.css.js.map +0 -1
- package/dist-cjs/option/OptionList.js +0 -40
- package/dist-cjs/option/OptionList.js.map +0 -1
- package/dist-cjs/pill-input/PillInput.css.js +0 -6
- package/dist-cjs/pill-input/PillInput.css.js.map +0 -1
- package/dist-cjs/pill-input/PillInput.js +0 -256
- package/dist-cjs/pill-input/PillInput.js.map +0 -1
- package/dist-cjs/pill-input/useTruncatePills.js +0 -85
- package/dist-cjs/pill-input/useTruncatePills.js.map +0 -1
- package/dist-cjs/utils/useValueEffect.js +0 -40
- package/dist-cjs/utils/useValueEffect.js.map +0 -1
- package/dist-es/combo-box-next/ComboBoxNext.css.js +0 -4
- package/dist-es/combo-box-next/ComboBoxNext.css.js.map +0 -1
- package/dist-es/combo-box-next/ComboBoxNext.js +0 -362
- package/dist-es/combo-box-next/ComboBoxNext.js.map +0 -1
- package/dist-es/combo-box-next/useComboBoxNext.js +0 -64
- package/dist-es/combo-box-next/useComboBoxNext.js.map +0 -1
- package/dist-es/dropdown-next/DropdownNext.css.js +0 -4
- package/dist-es/dropdown-next/DropdownNext.css.js.map +0 -1
- package/dist-es/dropdown-next/DropdownNext.js +0 -331
- package/dist-es/dropdown-next/DropdownNext.js.map +0 -1
- package/dist-es/list-control/ListControlContext.js +0 -33
- package/dist-es/list-control/ListControlContext.js.map +0 -1
- package/dist-es/list-control/ListControlState.js +0 -187
- package/dist-es/list-control/ListControlState.js.map +0 -1
- package/dist-es/option/Option.css.js +0 -4
- package/dist-es/option/Option.css.js.map +0 -1
- package/dist-es/option/Option.js +0 -95
- package/dist-es/option/Option.js.map +0 -1
- package/dist-es/option/OptionGroup.css.js +0 -4
- package/dist-es/option/OptionGroup.css.js.map +0 -1
- package/dist-es/option/OptionGroup.js +0 -40
- package/dist-es/option/OptionGroup.js.map +0 -1
- package/dist-es/option/OptionList.css.js +0 -4
- package/dist-es/option/OptionList.css.js.map +0 -1
- package/dist-es/option/OptionList.js +0 -36
- package/dist-es/option/OptionList.js.map +0 -1
- package/dist-es/pill-input/PillInput.css.js +0 -4
- package/dist-es/pill-input/PillInput.css.js.map +0 -1
- package/dist-es/pill-input/PillInput.js +0 -252
- package/dist-es/pill-input/PillInput.js.map +0 -1
- package/dist-es/pill-input/useTruncatePills.js +0 -81
- package/dist-es/pill-input/useTruncatePills.js.map +0 -1
- package/dist-es/utils/useValueEffect.js +0 -36
- package/dist-es/utils/useValueEffect.js.map +0 -1
- package/dist-types/combo-box-next/ComboBoxNext.d.ts +0 -17
- package/dist-types/combo-box-next/index.d.ts +0 -1
- package/dist-types/combo-box-next/useComboBoxNext.d.ts +0 -30
- package/dist-types/dropdown-next/DropdownNext.d.ts +0 -99
- package/dist-types/dropdown-next/index.d.ts +0 -1
- package/dist-types/list-control/ListControlContext.d.ts +0 -21
- package/dist-types/list-control/ListControlState.d.ts +0 -70
- package/dist-types/option/Option.d.ts +0 -16
- package/dist-types/option/OptionGroup.d.ts +0 -12
- package/dist-types/option/OptionList.d.ts +0 -5
- package/dist-types/option/index.d.ts +0 -2
- package/dist-types/pill-input/PillInput.d.ts +0 -48
- package/dist-types/pill-input/index.d.ts +0 -1
- package/dist-types/pill-input/useTruncatePills.d.ts +0 -8
- package/dist-types/utils/useValueEffect.d.ts +0 -4
package/css/salt-lab.css
CHANGED
|
@@ -567,11 +567,6 @@
|
|
|
567
567
|
z-index: calc(var(--salt-zIndex-flyover) - 1);
|
|
568
568
|
}
|
|
569
569
|
|
|
570
|
-
/* src/combo-box-next/ComboBoxNext.css */
|
|
571
|
-
.saltComboBoxNext-focused {
|
|
572
|
-
outline: var(--salt-focused-outline);
|
|
573
|
-
}
|
|
574
|
-
|
|
575
570
|
/* src/contact-details/ContactDetails.css */
|
|
576
571
|
.salt-density-touch {
|
|
577
572
|
--contactDetails-default-primary-fontSize: 30px;
|
|
@@ -906,91 +901,6 @@
|
|
|
906
901
|
outline: none;
|
|
907
902
|
}
|
|
908
903
|
|
|
909
|
-
/* src/dropdown-next/DropdownNext.css */
|
|
910
|
-
.saltDropdownNext {
|
|
911
|
-
--dropdownNext-borderColor: var(--salt-editable-borderColor);
|
|
912
|
-
--dropdownNext-color: var(--salt-content-primary-foreground);
|
|
913
|
-
--dropdownNext-cursor: var(--salt-selectable-cursor-hover);
|
|
914
|
-
}
|
|
915
|
-
.saltDropdownNext {
|
|
916
|
-
all: unset;
|
|
917
|
-
box-sizing: border-box;
|
|
918
|
-
min-width: 4em;
|
|
919
|
-
width: 100%;
|
|
920
|
-
background: var(--dropdownNext-background);
|
|
921
|
-
cursor: var(--dropdownNext-cursor);
|
|
922
|
-
min-height: var(--salt-size-base);
|
|
923
|
-
border-bottom: var(--salt-size-border) var(--salt-editable-borderStyle) var(--dropdownNext-borderColor);
|
|
924
|
-
display: flex;
|
|
925
|
-
align-items: center;
|
|
926
|
-
padding: 0 var(--salt-spacing-100);
|
|
927
|
-
gap: var(--salt-spacing-100);
|
|
928
|
-
color: var(--dropdownNext-color);
|
|
929
|
-
font-family: var(--salt-text-fontFamily);
|
|
930
|
-
font-size: var(--salt-text-fontSize);
|
|
931
|
-
font-weight: var(--salt-text-fontWeight);
|
|
932
|
-
}
|
|
933
|
-
.saltDropdownNext:hover {
|
|
934
|
-
--dropdownNext-borderColor: var(--salt-editable-borderColor-hover);
|
|
935
|
-
}
|
|
936
|
-
.saltDropdownNext:focus-visible {
|
|
937
|
-
outline: var(--salt-focused-outline);
|
|
938
|
-
--dropdownNext-borderColor: var(--salt-editable-borderColor-hover);
|
|
939
|
-
}
|
|
940
|
-
.saltDropdownNext-content {
|
|
941
|
-
flex: 1;
|
|
942
|
-
max-width: 100%;
|
|
943
|
-
overflow: hidden;
|
|
944
|
-
text-overflow: ellipsis;
|
|
945
|
-
text-wrap: nowrap;
|
|
946
|
-
}
|
|
947
|
-
.saltDropdownNext-placeholder {
|
|
948
|
-
color: var(--salt-content-secondary-foreground);
|
|
949
|
-
font-weight: var(--salt-text-fontWeight-small);
|
|
950
|
-
}
|
|
951
|
-
.saltDropdownNext-primary {
|
|
952
|
-
--dropdownNext-background: var(--salt-editable-primary-background);
|
|
953
|
-
}
|
|
954
|
-
.saltDropdownNext-secondary {
|
|
955
|
-
--dropdownNext-background: var(--salt-editable-secondary-background);
|
|
956
|
-
}
|
|
957
|
-
.saltDropdownNext:disabled {
|
|
958
|
-
--dropdownNext-background: var(--salt-editable-primary-background-disabled);
|
|
959
|
-
--dropdownNext-borderColor: var(--salt-editable-borderColor-disabled);
|
|
960
|
-
--dropdownNext-color: var(--salt-content-primary-foreground-disabled);
|
|
961
|
-
--dropdownNext-cursor: var(--salt-selectable-cursor-disabled);
|
|
962
|
-
}
|
|
963
|
-
.saltDropdownNext[aria-readonly=true] {
|
|
964
|
-
--dropdownNext-background: var(--salt-editable-primary-background-readonly);
|
|
965
|
-
--dropdownNext-borderColor: var(--salt-editable-borderColor-readonly);
|
|
966
|
-
--dropdownNext-color: var(--salt-content-primary-foreground);
|
|
967
|
-
--dropdownNext-cursor: var(--salt-selectable-cursor-readonly);
|
|
968
|
-
}
|
|
969
|
-
.saltDropdownNext-error {
|
|
970
|
-
--dropdownNext-background: var(--salt-status-error-background);
|
|
971
|
-
--dropdownNext-borderColor: var(--salt-status-error-borderColor);
|
|
972
|
-
}
|
|
973
|
-
.saltDropdownNext-error .saltDropdownNext:focus-visible {
|
|
974
|
-
outline-color: var(--salt-status-error-borderColor);
|
|
975
|
-
--dropdownNext-borderColor: var(--salt-status-error-borderColor);
|
|
976
|
-
}
|
|
977
|
-
.saltDropdownNext-warning {
|
|
978
|
-
--dropdownNext-background: var(--salt-status-warning-background);
|
|
979
|
-
--dropdownNext-borderColor: var(--salt-status-warning-borderColor);
|
|
980
|
-
}
|
|
981
|
-
.saltDropdownNext-warning .saltDropdownNext:focus-visible {
|
|
982
|
-
outline-color: var(--salt-status-warning-borderColor);
|
|
983
|
-
--dropdownNext-borderColor: var(--salt-status-warning-borderColor);
|
|
984
|
-
}
|
|
985
|
-
.saltDropdownNext-success {
|
|
986
|
-
--dropdownNext-background: var(--salt-status-success-background);
|
|
987
|
-
--dropdownNext-borderColor: var(--salt-status-success-borderColor);
|
|
988
|
-
}
|
|
989
|
-
.saltDropdownNext-success .saltDropdownNext:focus-visible {
|
|
990
|
-
outline-color: var(--salt-status-success-borderColor);
|
|
991
|
-
--dropdownNext-borderColor: var(--salt-status-success-borderColor);
|
|
992
|
-
}
|
|
993
|
-
|
|
994
904
|
/* src/editable-label/EditableLabel.css */
|
|
995
905
|
.saltEditableLabel {
|
|
996
906
|
--saltInputLegacy-minWidth: 14px;
|
|
@@ -2123,97 +2033,6 @@
|
|
|
2123
2033
|
align-items: flex-end;
|
|
2124
2034
|
}
|
|
2125
2035
|
|
|
2126
|
-
/* src/option/Option.css */
|
|
2127
|
-
.saltOption {
|
|
2128
|
-
color: var(--salt-content-primary-foreground);
|
|
2129
|
-
background: var(--salt-selectable-background);
|
|
2130
|
-
font-size: var(--salt-text-fontSize);
|
|
2131
|
-
font-weight: var(--salt-text-fontWeight);
|
|
2132
|
-
min-height: calc(var(--salt-size-base) + var(--salt-spacing-100));
|
|
2133
|
-
padding-left: var(--salt-spacing-100);
|
|
2134
|
-
padding-right: var(--salt-spacing-100);
|
|
2135
|
-
display: flex;
|
|
2136
|
-
gap: var(--salt-spacing-100);
|
|
2137
|
-
position: relative;
|
|
2138
|
-
align-items: center;
|
|
2139
|
-
cursor: var(--salt-selectable-cursor-hover);
|
|
2140
|
-
box-sizing: border-box;
|
|
2141
|
-
}
|
|
2142
|
-
.saltOption-active {
|
|
2143
|
-
background: var(--salt-selectable-background-hover);
|
|
2144
|
-
}
|
|
2145
|
-
.saltOption-focusVisible {
|
|
2146
|
-
outline: var(--salt-focused-outline);
|
|
2147
|
-
outline-offset: calc(var(--salt-size-border) * -2);
|
|
2148
|
-
}
|
|
2149
|
-
.saltOption:hover {
|
|
2150
|
-
background: var(--salt-selectable-background-hover);
|
|
2151
|
-
}
|
|
2152
|
-
.saltOption[aria-selected=true] {
|
|
2153
|
-
background: var(--salt-selectable-background-selected);
|
|
2154
|
-
}
|
|
2155
|
-
.saltOption[aria-selected=true]::before {
|
|
2156
|
-
content: "";
|
|
2157
|
-
display: block;
|
|
2158
|
-
position: absolute;
|
|
2159
|
-
top: -1px;
|
|
2160
|
-
bottom: -1px;
|
|
2161
|
-
left: 0;
|
|
2162
|
-
width: 100%;
|
|
2163
|
-
}
|
|
2164
|
-
.saltOption[aria-selected=true]::before {
|
|
2165
|
-
border-top: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
|
|
2166
|
-
border-bottom: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
|
|
2167
|
-
}
|
|
2168
|
-
.saltOption[aria-selected=true]:first-of-type::before {
|
|
2169
|
-
border-top: unset;
|
|
2170
|
-
top: 0;
|
|
2171
|
-
}
|
|
2172
|
-
.saltOption[aria-selected=true]:last-of-type::before {
|
|
2173
|
-
border-bottom: unset;
|
|
2174
|
-
bottom: 0;
|
|
2175
|
-
}
|
|
2176
|
-
.saltOption[aria-disabled=true] {
|
|
2177
|
-
color: var(--salt-content-primary-foreground-disabled);
|
|
2178
|
-
cursor: var(--salt-selectable-cursor-disabled);
|
|
2179
|
-
}
|
|
2180
|
-
|
|
2181
|
-
/* src/option/OptionGroup.css */
|
|
2182
|
-
.saltOptionGroup-label {
|
|
2183
|
-
background: var(--salt-container-primary-background);
|
|
2184
|
-
color: var(--salt-text-secondary-foreground);
|
|
2185
|
-
font-size: var(--salt-text-label-fontSize);
|
|
2186
|
-
font-weight: var(--salt-text-label-fontWeight-strong);
|
|
2187
|
-
height: calc(var(--salt-size-base) + var(--salt-spacing-100));
|
|
2188
|
-
padding-left: var(--salt-spacing-100);
|
|
2189
|
-
padding-right: var(--salt-spacing-100);
|
|
2190
|
-
display: flex;
|
|
2191
|
-
align-items: center;
|
|
2192
|
-
position: sticky;
|
|
2193
|
-
top: 0;
|
|
2194
|
-
z-index: 2;
|
|
2195
|
-
}
|
|
2196
|
-
|
|
2197
|
-
/* src/option/OptionList.css */
|
|
2198
|
-
.saltOptionList {
|
|
2199
|
-
background: var(--salt-container-primary-background);
|
|
2200
|
-
border: var(--salt-size-border) var(--salt-selectable-borderStyle-selected) var(--salt-selectable-borderColor-selected);
|
|
2201
|
-
overflow: hidden;
|
|
2202
|
-
overflow-y: auto;
|
|
2203
|
-
position: relative;
|
|
2204
|
-
z-index: var(--salt-zIndex-flyover);
|
|
2205
|
-
box-shadow: var(--salt-overlayable-shadow-popout);
|
|
2206
|
-
max-height: inherit;
|
|
2207
|
-
min-height: inherit;
|
|
2208
|
-
box-sizing: border-box;
|
|
2209
|
-
display: flex;
|
|
2210
|
-
flex-direction: column;
|
|
2211
|
-
gap: var(--salt-size-border);
|
|
2212
|
-
}
|
|
2213
|
-
.saltOptionList-collapsed {
|
|
2214
|
-
display: none;
|
|
2215
|
-
}
|
|
2216
|
-
|
|
2217
2036
|
/* src/overlay/Overlay.css */
|
|
2218
2037
|
.saltOverlayPanel {
|
|
2219
2038
|
--overlay-borderColor: var(--saltOverlay-borderColor, var(--salt-container-primary-borderColor));
|
|
@@ -2274,223 +2093,6 @@
|
|
|
2274
2093
|
}
|
|
2275
2094
|
}
|
|
2276
2095
|
|
|
2277
|
-
/* src/pill-input/PillInput.css */
|
|
2278
|
-
.saltPillInput {
|
|
2279
|
-
--input-borderColor: var(--salt-editable-borderColor);
|
|
2280
|
-
--input-borderStyle: var(--salt-editable-borderStyle);
|
|
2281
|
-
--input-outlineColor: var(--salt-focused-outlineColor);
|
|
2282
|
-
--input-borderWidth: var(--salt-size-border);
|
|
2283
|
-
align-items: center;
|
|
2284
|
-
background: var(--saltInput-background, var(--input-background));
|
|
2285
|
-
color: var(--saltInput-color, var(--salt-content-primary-foreground));
|
|
2286
|
-
display: inline-flex;
|
|
2287
|
-
font-family: var(--salt-text-fontFamily);
|
|
2288
|
-
font-size: var(--saltInput-fontSize, var(--salt-text-fontSize));
|
|
2289
|
-
line-height: var(--saltInput-lineHeight, var(--salt-text-lineHeight));
|
|
2290
|
-
min-height: var(--saltInput-minHeight, var(--salt-size-base));
|
|
2291
|
-
min-width: var(--saltInput-minWidth, 4em);
|
|
2292
|
-
padding-left: var(--saltInput-paddingLeft, var(--salt-spacing-50));
|
|
2293
|
-
padding-right: var(--saltInput-paddingRight, var(--salt-spacing-100));
|
|
2294
|
-
position: relative;
|
|
2295
|
-
width: 100%;
|
|
2296
|
-
box-sizing: border-box;
|
|
2297
|
-
}
|
|
2298
|
-
.saltPillInput-truncate {
|
|
2299
|
-
height: var(--salt-size-base);
|
|
2300
|
-
}
|
|
2301
|
-
.saltPillInput-truncate .saltPillInput-inputWrapper {
|
|
2302
|
-
flex-wrap: nowrap;
|
|
2303
|
-
}
|
|
2304
|
-
.saltPillInput:hover {
|
|
2305
|
-
--input-borderStyle: var(--salt-editable-borderStyle-hover);
|
|
2306
|
-
--input-borderColor: var(--salt-editable-borderColor-hover);
|
|
2307
|
-
background: var(--saltInput-background-hover, var(--input-background-hover));
|
|
2308
|
-
cursor: var(--salt-editable-cursor-hover);
|
|
2309
|
-
}
|
|
2310
|
-
.saltPillInput:active {
|
|
2311
|
-
--input-borderColor: var(--salt-editable-borderColor-active);
|
|
2312
|
-
--input-borderStyle: var(--salt-editable-borderStyle-active);
|
|
2313
|
-
--input-borderWidth: var(--salt-editable-borderWidth-active);
|
|
2314
|
-
background: var(--saltInput-background-active, var(--input-background-active));
|
|
2315
|
-
cursor: var(--salt-editable-cursor-active);
|
|
2316
|
-
}
|
|
2317
|
-
.saltPillInput-primary {
|
|
2318
|
-
--input-background: var(--salt-editable-primary-background);
|
|
2319
|
-
--input-background-active: var(--salt-editable-primary-background-active);
|
|
2320
|
-
--input-background-hover: var(--salt-editable-primary-background-hover);
|
|
2321
|
-
--input-background-disabled: var(--salt-editable-primary-background-disabled);
|
|
2322
|
-
--input-background-readonly: var(--salt-editable-primary-background-readonly);
|
|
2323
|
-
}
|
|
2324
|
-
.saltPillInput-secondary {
|
|
2325
|
-
--input-background: var(--salt-editable-secondary-background);
|
|
2326
|
-
--input-background-active: var(--salt-editable-secondary-background-active);
|
|
2327
|
-
--input-background-hover: var(--salt-editable-secondary-background-active);
|
|
2328
|
-
--input-background-disabled: var(--salt-editable-secondary-background-disabled);
|
|
2329
|
-
--input-background-readonly: var(--salt-editable-secondary-background-readonly);
|
|
2330
|
-
}
|
|
2331
|
-
.saltPillInput-error,
|
|
2332
|
-
.saltPillInput-error:hover {
|
|
2333
|
-
--input-background: var(--salt-status-error-background);
|
|
2334
|
-
--input-background-active: var(--salt-status-error-background);
|
|
2335
|
-
--input-background-hover: var(--salt-status-error-background);
|
|
2336
|
-
--input-borderColor: var(--salt-status-error-borderColor);
|
|
2337
|
-
--input-outlineColor: var(--salt-status-error-borderColor);
|
|
2338
|
-
}
|
|
2339
|
-
.saltPillInput-warning,
|
|
2340
|
-
.saltPillInput-warning:hover {
|
|
2341
|
-
--input-background: var(--salt-status-warning-background);
|
|
2342
|
-
--input-background-active: var(--salt-status-warning-background);
|
|
2343
|
-
--input-background-hover: var(--salt-status-warning-background);
|
|
2344
|
-
--input-borderColor: var(--salt-status-warning-borderColor);
|
|
2345
|
-
--input-outlineColor: var(--salt-status-warning-borderColor);
|
|
2346
|
-
}
|
|
2347
|
-
.saltPillInput-success,
|
|
2348
|
-
.saltPillInput-success:hover {
|
|
2349
|
-
--input-background: var(--salt-status-success-background);
|
|
2350
|
-
--input-background-active: var(--salt-status-success-background);
|
|
2351
|
-
--input-background-hover: var(--salt-status-success-background);
|
|
2352
|
-
--input-borderColor: var(--salt-status-success-borderColor);
|
|
2353
|
-
--input-outlineColor: var(--salt-status-success-borderColor);
|
|
2354
|
-
}
|
|
2355
|
-
.saltPillInput-input {
|
|
2356
|
-
background: none;
|
|
2357
|
-
border: none;
|
|
2358
|
-
box-sizing: content-box;
|
|
2359
|
-
color: inherit;
|
|
2360
|
-
cursor: inherit;
|
|
2361
|
-
display: block;
|
|
2362
|
-
flex: 1;
|
|
2363
|
-
font: inherit;
|
|
2364
|
-
height: 100%;
|
|
2365
|
-
letter-spacing: var(--saltInput-letterSpacing, 0);
|
|
2366
|
-
margin: 0;
|
|
2367
|
-
min-width: 0;
|
|
2368
|
-
overflow: hidden;
|
|
2369
|
-
padding: 0;
|
|
2370
|
-
text-align: var(--input-textAlign);
|
|
2371
|
-
width: 100%;
|
|
2372
|
-
}
|
|
2373
|
-
.saltPillInput-input:focus {
|
|
2374
|
-
outline: none;
|
|
2375
|
-
}
|
|
2376
|
-
.saltPillInput-input::selection {
|
|
2377
|
-
background: var(--salt-content-foreground-highlight);
|
|
2378
|
-
}
|
|
2379
|
-
.saltPillInput-input::placeholder {
|
|
2380
|
-
color: var(--salt-content-secondary-foreground);
|
|
2381
|
-
font-weight: var(--salt-text-fontWeight-small);
|
|
2382
|
-
}
|
|
2383
|
-
.saltPillInput-focused {
|
|
2384
|
-
--input-borderColor: var(--input-outlineColor);
|
|
2385
|
-
--input-borderWidth: var(--salt-editable-borderWidth-active);
|
|
2386
|
-
outline: var(--saltInput-outline, var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--input-outlineColor));
|
|
2387
|
-
}
|
|
2388
|
-
.saltPillInput.saltPillInput-readOnly {
|
|
2389
|
-
--input-borderColor: var(--salt-editable-borderColor-readonly);
|
|
2390
|
-
--input-borderStyle: var(--salt-editable-borderStyle-readonly);
|
|
2391
|
-
--input-borderWidth: var(--salt-size-border);
|
|
2392
|
-
background: var(--input-background-readonly);
|
|
2393
|
-
cursor: var(--salt-editable-cursor-readonly);
|
|
2394
|
-
}
|
|
2395
|
-
.saltPillInput-focused.saltPillInput-disabled {
|
|
2396
|
-
--input-borderWidth: var(--salt-size-border);
|
|
2397
|
-
outline: none;
|
|
2398
|
-
}
|
|
2399
|
-
.saltPillInput-focused.saltPillInput-readOnly {
|
|
2400
|
-
--input-borderWidth: var(--salt-size-border);
|
|
2401
|
-
}
|
|
2402
|
-
.saltPillInput-disabled .saltPillInput-input::selection {
|
|
2403
|
-
background: none;
|
|
2404
|
-
}
|
|
2405
|
-
.saltPillInput.saltPillInput-disabled,
|
|
2406
|
-
.saltPillInput.saltPillInput-disabled:hover,
|
|
2407
|
-
.saltPillInput.saltPillInput-disabled:active {
|
|
2408
|
-
--input-borderColor: var(--salt-editable-borderColor-disabled);
|
|
2409
|
-
--input-borderStyle: var(--salt-editable-borderStyle-disabled);
|
|
2410
|
-
--input-borderWidth: var(--salt-size-border);
|
|
2411
|
-
background: var(--input-background-disabled);
|
|
2412
|
-
cursor: var(--salt-editable-cursor-disabled);
|
|
2413
|
-
color: var(--saltInput-color-disabled, var(--salt-content-primary-foreground-disabled));
|
|
2414
|
-
}
|
|
2415
|
-
.saltPillInput-activationIndicator {
|
|
2416
|
-
left: 0;
|
|
2417
|
-
bottom: 0;
|
|
2418
|
-
width: 100%;
|
|
2419
|
-
position: absolute;
|
|
2420
|
-
border-bottom: var(--input-borderWidth) var(--input-borderStyle) var(--input-borderColor);
|
|
2421
|
-
}
|
|
2422
|
-
.saltPillInput-startAdornmentContainer {
|
|
2423
|
-
align-items: center;
|
|
2424
|
-
display: inline-flex;
|
|
2425
|
-
padding-right: var(--salt-spacing-100);
|
|
2426
|
-
column-gap: var(--salt-spacing-100);
|
|
2427
|
-
}
|
|
2428
|
-
.saltPillInput-endAdornmentContainer {
|
|
2429
|
-
align-items: center;
|
|
2430
|
-
display: inline-flex;
|
|
2431
|
-
padding-left: var(--salt-spacing-100);
|
|
2432
|
-
padding-top: var(--salt-spacing-50);
|
|
2433
|
-
column-gap: var(--salt-spacing-100);
|
|
2434
|
-
align-self: flex-start;
|
|
2435
|
-
}
|
|
2436
|
-
.saltPillInput-readOnly .saltPillInput-startAdornmentContainer {
|
|
2437
|
-
margin-left: var(--salt-spacing-50);
|
|
2438
|
-
}
|
|
2439
|
-
.saltPillInput-startAdornmentContainer .saltButton ~ .saltButton {
|
|
2440
|
-
margin-left: calc(-1 * var(--salt-spacing-50));
|
|
2441
|
-
}
|
|
2442
|
-
.saltPillInput-endAdornmentContainer .saltButton ~ .saltButton {
|
|
2443
|
-
margin-left: calc(-1 * var(--salt-spacing-50));
|
|
2444
|
-
}
|
|
2445
|
-
.saltPillInput-startAdornmentContainer .saltButton:first-child {
|
|
2446
|
-
margin-left: calc(var(--salt-spacing-50) * -1);
|
|
2447
|
-
}
|
|
2448
|
-
.saltPillInput-endAdornmentContainer .saltButton:last-child {
|
|
2449
|
-
margin-right: calc(var(--salt-spacing-50) * -1);
|
|
2450
|
-
}
|
|
2451
|
-
.saltPillInput-startAdornmentContainer > .saltButton,
|
|
2452
|
-
.saltPillInput-endAdornmentContainer > .saltButton {
|
|
2453
|
-
--saltButton-padding: var(--salt-spacing-50);
|
|
2454
|
-
--saltButton-height: calc(var(--salt-size-base) - var(--salt-spacing-100));
|
|
2455
|
-
}
|
|
2456
|
-
.saltPillInput-inputWrapper {
|
|
2457
|
-
display: flex;
|
|
2458
|
-
gap: var(--salt-spacing-50);
|
|
2459
|
-
align-items: center;
|
|
2460
|
-
flex: 1;
|
|
2461
|
-
padding: var(--salt-spacing-50) 0;
|
|
2462
|
-
flex-wrap: wrap;
|
|
2463
|
-
max-height: inherit;
|
|
2464
|
-
height: inherit;
|
|
2465
|
-
overflow-y: auto;
|
|
2466
|
-
box-sizing: border-box;
|
|
2467
|
-
}
|
|
2468
|
-
.saltPillInput-pillList {
|
|
2469
|
-
display: contents;
|
|
2470
|
-
}
|
|
2471
|
-
.saltPillInput .saltPill:focus-visible {
|
|
2472
|
-
background: var(--salt-selectable-background-hover);
|
|
2473
|
-
outline: none;
|
|
2474
|
-
}
|
|
2475
|
-
.saltPillInput .saltPill:hover {
|
|
2476
|
-
background: var(--salt-selectable-background-hover);
|
|
2477
|
-
}
|
|
2478
|
-
.saltPillInput .saltPill:active {
|
|
2479
|
-
background: var(--salt-actionable-primary-background-active);
|
|
2480
|
-
--saltPill-color: var(--salt-actionable-primary-foreground-active);
|
|
2481
|
-
--saltIcon-color: var(--salt-actionable-primary-foreground-active);
|
|
2482
|
-
}
|
|
2483
|
-
div[role=listitem] {
|
|
2484
|
-
display: inline;
|
|
2485
|
-
}
|
|
2486
|
-
.saltPillInput-overflowIndicator {
|
|
2487
|
-
width: calc(var(--salt-size-base) - var(--salt-spacing-100));
|
|
2488
|
-
height: calc(var(--salt-size-base) - var(--salt-spacing-100));
|
|
2489
|
-
display: flex;
|
|
2490
|
-
align-items: center;
|
|
2491
|
-
justify-content: center;
|
|
2492
|
-
}
|
|
2493
|
-
|
|
2494
2096
|
/* src/query-input/QueryInput.css */
|
|
2495
2097
|
.saltQueryInput {
|
|
2496
2098
|
}
|
|
@@ -2599,6 +2201,30 @@ div[role=listitem] {
|
|
|
2599
2201
|
display: none;
|
|
2600
2202
|
}
|
|
2601
2203
|
|
|
2204
|
+
/* src/segmented-button-group/SegmentedButtonGroup.css */
|
|
2205
|
+
.saltSegmentedButtonGroup {
|
|
2206
|
+
display: flex;
|
|
2207
|
+
flex-direction: row;
|
|
2208
|
+
background: var(--button-background);
|
|
2209
|
+
gap: var(--salt-size-border);
|
|
2210
|
+
}
|
|
2211
|
+
.saltSegmentedButtonGroup > *:not(:last-child)::after {
|
|
2212
|
+
content: "";
|
|
2213
|
+
width: var(--salt-size-border);
|
|
2214
|
+
position: absolute;
|
|
2215
|
+
background: var(--button-background);
|
|
2216
|
+
right: calc(var(--salt-size-border) * -1);
|
|
2217
|
+
height: 100%;
|
|
2218
|
+
}
|
|
2219
|
+
.saltSegmentedButtonGroup > *:not(:first-child)::before {
|
|
2220
|
+
content: "";
|
|
2221
|
+
width: var(--salt-size-border);
|
|
2222
|
+
position: absolute;
|
|
2223
|
+
background: var(--salt-separable-primary-borderColor);
|
|
2224
|
+
left: calc(var(--salt-size-border) * -1);
|
|
2225
|
+
height: 100%;
|
|
2226
|
+
}
|
|
2227
|
+
|
|
2602
2228
|
/* src/skip-link/SkipLink.css */
|
|
2603
2229
|
.saltSkipLink {
|
|
2604
2230
|
--skipLink-padding: var(--saltSkipLink-padding, var(--salt-size-unit));
|
|
@@ -3303,8 +2929,9 @@ div[role=listitem] {
|
|
|
3303
2929
|
line-height: var(--salt-text-lineHeight);
|
|
3304
2930
|
}
|
|
3305
2931
|
.saltTabstripNext-container {
|
|
3306
|
-
display:
|
|
2932
|
+
display: block;
|
|
3307
2933
|
width: 100%;
|
|
2934
|
+
height: fit-content;
|
|
3308
2935
|
position: relative;
|
|
3309
2936
|
}
|
|
3310
2937
|
.saltTabstripNext-main {
|
|
@@ -4380,4 +4007,4 @@ div[role=listitem] {
|
|
|
4380
4007
|
margin: calc(var(--salt-size-unit) / 2) 0;
|
|
4381
4008
|
}
|
|
4382
4009
|
|
|
4383
|
-
/* src/
|
|
4010
|
+
/* src/f5100cb6-e2c1-49f5-82cc-2fffd4bc6d16.css */
|
|
@@ -7,16 +7,12 @@ var React = require('react');
|
|
|
7
7
|
var core = require('@salt-ds/core');
|
|
8
8
|
var icons = require('@salt-ds/icons');
|
|
9
9
|
var clsx = require('clsx');
|
|
10
|
-
var DropdownNext = require('../../dropdown-next/DropdownNext.js');
|
|
11
10
|
var CalendarContext = require('./CalendarContext.js');
|
|
12
11
|
var CalendarNavigation$1 = require('./CalendarNavigation.css.js');
|
|
13
12
|
var date = require('@internationalized/date');
|
|
14
13
|
var utils = require('./utils.js');
|
|
15
14
|
var window = require('@salt-ds/window');
|
|
16
15
|
var styles = require('@salt-ds/styles');
|
|
17
|
-
var Option = require('../../option/Option.js');
|
|
18
|
-
require('../../option/OptionGroup.js');
|
|
19
|
-
var ListControlContext = require('../../list-control/ListControlContext.js');
|
|
20
16
|
|
|
21
17
|
const withBaseName = core.makePrefixer("saltCalendarNavigation");
|
|
22
18
|
function useCalendarNavigation() {
|
|
@@ -79,7 +75,7 @@ const OptionWithTooltip = ({
|
|
|
79
75
|
disabled,
|
|
80
76
|
tooltipContent
|
|
81
77
|
}) => {
|
|
82
|
-
const { activeState, openState } =
|
|
78
|
+
const { activeState, openState } = core.useListControlContext();
|
|
83
79
|
const open = (activeState == null ? void 0 : activeState.value) === value;
|
|
84
80
|
return /* @__PURE__ */ jsxRuntime.jsx(core.Tooltip, {
|
|
85
81
|
placement: "right",
|
|
@@ -88,7 +84,7 @@ const OptionWithTooltip = ({
|
|
|
88
84
|
content: tooltipContent,
|
|
89
85
|
enterDelay: 0,
|
|
90
86
|
leaveDelay: 0,
|
|
91
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
87
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(core.Option, {
|
|
92
88
|
value,
|
|
93
89
|
disabled,
|
|
94
90
|
children
|
|
@@ -170,7 +166,7 @@ const CalendarNavigation = React.forwardRef(function CalendarNavigation2(props,
|
|
|
170
166
|
/* @__PURE__ */ jsxRuntime.jsxs("div", {
|
|
171
167
|
className: withBaseName("dropdowns"),
|
|
172
168
|
children: [
|
|
173
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
169
|
+
/* @__PURE__ */ jsxRuntime.jsx(core.Dropdown, {
|
|
174
170
|
"aria-label": "Month Dropdown",
|
|
175
171
|
selected: selectedMonth ? [selectedMonth] : [],
|
|
176
172
|
value: formatMonth(selectedMonth),
|
|
@@ -183,7 +179,7 @@ const CalendarNavigation = React.forwardRef(function CalendarNavigation2(props,
|
|
|
183
179
|
children: formatMonth(month)
|
|
184
180
|
}, formatMonth(month)))
|
|
185
181
|
}),
|
|
186
|
-
!hideYearDropdown && /* @__PURE__ */ jsxRuntime.jsx(
|
|
182
|
+
!hideYearDropdown && /* @__PURE__ */ jsxRuntime.jsx(core.Dropdown, {
|
|
187
183
|
"aria-label": "Year Dropdown",
|
|
188
184
|
selected: selectedYear ? [selectedYear] : [],
|
|
189
185
|
value: formatYear(selectedYear),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CalendarNavigation.js","sources":["../src/calendar/internal/CalendarNavigation.tsx"],"sourcesContent":["import {\n ComponentPropsWithRef,\n forwardRef,\n MouseEventHandler,\n SyntheticEvent,\n} from \"react\";\nimport { Button, ButtonProps, makePrefixer, Tooltip } from \"@salt-ds/core\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\nimport { DropdownNext, DropdownNextProps } from \"../../dropdown-next\";\n\nimport { useCalendarContext } from \"./CalendarContext\";\n\nimport calendarNavigationCss from \"./CalendarNavigation.css\";\nimport { DateValue, isSameMonth, isSameYear } from \"@internationalized/date\";\nimport { formatDate, monthDiff, monthsForLocale } from \"./utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { Option, OptionProps } from \"../../option\";\nimport { useListControlContext } from \"../../list-control/ListControlContext\";\n\ntype dateDropdownProps = DropdownNextProps<DateValue>;\n\nexport interface CalendarNavigationProps extends ComponentPropsWithRef<\"div\"> {\n MonthDropdownProps?: dateDropdownProps;\n YearDropdownProps?: dateDropdownProps;\n onMonthSelect?: dateDropdownProps[\"onChange\"];\n onYearSelect?: dateDropdownProps[\"onChange\"];\n onNavigateNext?: ButtonProps[\"onClick\"];\n onNavigatePrevious?: ButtonProps[\"onClick\"];\n hideYearDropdown?: boolean;\n}\n\ninterface OptionWithTooltipProps extends OptionProps {\n value: DateValue;\n tooltipContent: string;\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarNavigation\");\n\nfunction useCalendarNavigation() {\n const {\n state: { visibleMonth, minDate, maxDate },\n helpers: {\n setVisibleMonth,\n isDayVisible,\n isOutsideAllowedYears,\n isOutsideAllowedMonths,\n },\n } = useCalendarContext();\n\n const moveToNextMonth = (event: SyntheticEvent) => {\n setVisibleMonth(event, visibleMonth.add({ months: 1 }));\n };\n\n const moveToPreviousMonth = (event: SyntheticEvent) => {\n setVisibleMonth(event, visibleMonth.subtract({ months: 1 }));\n };\n\n const moveToMonth = (event: SyntheticEvent, month: DateValue) => {\n let newMonth = month;\n\n if (!isOutsideAllowedYears(newMonth)) {\n if (isOutsideAllowedMonths(newMonth)) {\n // If month is navigable we should move to the closest navigable month\n const navigableMonths = monthsForLocale(visibleMonth).filter(\n (n) => !isOutsideAllowedMonths(n)\n );\n newMonth = navigableMonths.reduce((closestMonth, currentMonth) =>\n Math.abs(monthDiff(currentMonth, newMonth)) <\n Math.abs(monthDiff(closestMonth, newMonth))\n ? currentMonth\n : closestMonth\n );\n }\n setVisibleMonth(event, newMonth);\n }\n };\n\n const months: DateValue[] = monthsForLocale(visibleMonth);\n\n const years: DateValue[] = [-2, -1, 0, 1, 2]\n .map((delta) => visibleMonth.add({ years: delta }))\n .filter((year) => !isOutsideAllowedYears(year));\n\n const selectedMonth: DateValue | undefined = months.find((month: DateValue) =>\n isSameMonth(month, visibleMonth)\n );\n const selectedYear: DateValue | undefined = years.find((year: DateValue) =>\n isSameYear(year, visibleMonth)\n );\n\n const canNavigatePrevious = !(minDate && isDayVisible(minDate));\n const canNavigateNext = !(maxDate && isDayVisible(maxDate));\n\n return {\n moveToNextMonth,\n moveToPreviousMonth,\n moveToMonth,\n visibleMonth,\n months,\n years,\n canNavigateNext,\n canNavigatePrevious,\n selectedMonth,\n selectedYear,\n isOutsideAllowedMonths,\n };\n}\n\nconst OptionWithTooltip = ({\n value,\n children,\n disabled,\n tooltipContent,\n}: OptionWithTooltipProps) => {\n const { activeState, openState } = useListControlContext();\n const open = activeState?.value === value;\n\n return (\n <Tooltip\n placement=\"right\"\n open={open && openState}\n disabled={!disabled}\n content={tooltipContent}\n enterDelay={0} // --salt-duration-instant\n leaveDelay={0} // --salt-duration-instant\n >\n <Option value={value} disabled={disabled}>\n {children}\n </Option>\n </Tooltip>\n );\n};\n\nexport const CalendarNavigation = forwardRef<\n HTMLDivElement,\n CalendarNavigationProps\n>(function CalendarNavigation(props, ref) {\n const {\n className,\n MonthDropdownProps,\n YearDropdownProps,\n hideYearDropdown,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-navigation\",\n css: calendarNavigationCss,\n window: targetWindow,\n });\n\n const {\n moveToPreviousMonth,\n moveToNextMonth,\n moveToMonth,\n months,\n years,\n canNavigateNext,\n canNavigatePrevious,\n visibleMonth,\n selectedMonth,\n selectedYear,\n isOutsideAllowedMonths,\n } = useCalendarNavigation();\n\n const handleNavigatePrevious: MouseEventHandler<HTMLButtonElement> = (\n event\n ) => {\n moveToPreviousMonth(event);\n };\n\n const handleNavigateNext: MouseEventHandler<HTMLButtonElement> = (event) => {\n moveToNextMonth(event);\n };\n\n const handleMonthSelect = (event: SyntheticEvent, month: DateValue[]) => {\n moveToMonth(event, month[0]);\n };\n\n const handleYearSelect = (event: SyntheticEvent, year: DateValue[]) => {\n moveToMonth(event, year[0]);\n };\n\n const formatMonth = (date?: DateValue) => {\n return !date\n ? \"\"\n : formatDate(date, { month: hideYearDropdown ? \"long\" : \"short\" });\n };\n\n const formatYear = (date?: DateValue) => {\n return !date ? \"\" : formatDate(date, { year: \"numeric\" });\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n { [withBaseName(\"hideYearDropdown\")]: hideYearDropdown },\n className\n )}\n ref={ref}\n {...rest}\n >\n <Tooltip\n placement=\"top\"\n disabled={canNavigatePrevious}\n content=\"Past dates are out of range\"\n enterDelay={0} // --salt-duration-instant\n leaveDelay={0} // --salt-duration-instant\n >\n <Button\n disabled={!canNavigatePrevious}\n variant=\"secondary\"\n onClick={handleNavigatePrevious}\n focusableWhenDisabled={true}\n >\n <ChevronLeftIcon\n aria-label={`Previous Month, ${formatDate(\n visibleMonth.subtract({ months: 1 })\n )}`}\n />\n </Button>\n </Tooltip>\n <div className={withBaseName(\"dropdowns\")}>\n <DropdownNext\n aria-label=\"Month Dropdown\"\n selected={selectedMonth ? [selectedMonth] : []}\n value={formatMonth(selectedMonth)}\n onSelectionChange={handleMonthSelect}\n {...MonthDropdownProps}\n >\n {months.map((month) => (\n <OptionWithTooltip\n key={formatMonth(month)}\n value={month}\n disabled={isOutsideAllowedMonths(month)}\n tooltipContent=\"This month is out of range\"\n >\n {formatMonth(month)}\n </OptionWithTooltip>\n ))}\n </DropdownNext>\n {!hideYearDropdown && (\n <DropdownNext\n aria-label=\"Year Dropdown\"\n selected={selectedYear ? [selectedYear] : []}\n value={formatYear(selectedYear)}\n onSelectionChange={handleYearSelect}\n {...YearDropdownProps}\n >\n {years.map((year) => (\n <OptionWithTooltip\n key={formatYear(year)}\n value={year}\n tooltipContent=\"This year is out of range\"\n >\n {formatYear(year)}\n </OptionWithTooltip>\n ))}\n </DropdownNext>\n )}\n </div>\n <Tooltip\n placement=\"top\"\n disabled={canNavigateNext}\n content=\"Future dates are out of range\"\n enterDelay={0} // --salt-duration-instant\n leaveDelay={0} // --salt-duration-instant\n >\n <Button\n disabled={!canNavigateNext}\n variant=\"secondary\"\n onClick={handleNavigateNext}\n focusableWhenDisabled={true}\n >\n <ChevronRightIcon\n aria-label={`Next Month, ${formatDate(\n visibleMonth.add({ months: 1 })\n )}`}\n />\n </Button>\n </Tooltip>\n </div>\n );\n});\n"],"names":["makePrefixer","useCalendarContext","monthsForLocale","monthDiff","isSameMonth","isSameYear","useListControlContext","jsx","Tooltip","Option","forwardRef","CalendarNavigation","useWindow","useComponentCssInjection","calendarNavigationCss","formatDate","jsxs","clsx","Button","ChevronLeftIcon","DropdownNext","ChevronRightIcon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CalendarNavigation.js","sources":["../src/calendar/internal/CalendarNavigation.tsx"],"sourcesContent":["import {\n ComponentPropsWithRef,\n forwardRef,\n MouseEventHandler,\n SyntheticEvent,\n} from \"react\";\nimport {\n Button,\n ButtonProps,\n makePrefixer,\n Tooltip,\n Dropdown,\n DropdownProps,\n Option,\n OptionProps,\n useListControlContext,\n} from \"@salt-ds/core\";\nimport { ChevronLeftIcon, ChevronRightIcon } from \"@salt-ds/icons\";\nimport { clsx } from \"clsx\";\n\nimport { useCalendarContext } from \"./CalendarContext\";\n\nimport calendarNavigationCss from \"./CalendarNavigation.css\";\nimport { DateValue, isSameMonth, isSameYear } from \"@internationalized/date\";\nimport { formatDate, monthDiff, monthsForLocale } from \"./utils\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\n\ntype dateDropdownProps = DropdownProps<DateValue>;\n\nexport interface CalendarNavigationProps extends ComponentPropsWithRef<\"div\"> {\n MonthDropdownProps?: dateDropdownProps;\n YearDropdownProps?: dateDropdownProps;\n onMonthSelect?: dateDropdownProps[\"onChange\"];\n onYearSelect?: dateDropdownProps[\"onChange\"];\n onNavigateNext?: ButtonProps[\"onClick\"];\n onNavigatePrevious?: ButtonProps[\"onClick\"];\n hideYearDropdown?: boolean;\n}\n\ninterface OptionWithTooltipProps extends OptionProps {\n value: DateValue;\n tooltipContent: string;\n}\n\nconst withBaseName = makePrefixer(\"saltCalendarNavigation\");\n\nfunction useCalendarNavigation() {\n const {\n state: { visibleMonth, minDate, maxDate },\n helpers: {\n setVisibleMonth,\n isDayVisible,\n isOutsideAllowedYears,\n isOutsideAllowedMonths,\n },\n } = useCalendarContext();\n\n const moveToNextMonth = (event: SyntheticEvent) => {\n setVisibleMonth(event, visibleMonth.add({ months: 1 }));\n };\n\n const moveToPreviousMonth = (event: SyntheticEvent) => {\n setVisibleMonth(event, visibleMonth.subtract({ months: 1 }));\n };\n\n const moveToMonth = (event: SyntheticEvent, month: DateValue) => {\n let newMonth = month;\n\n if (!isOutsideAllowedYears(newMonth)) {\n if (isOutsideAllowedMonths(newMonth)) {\n // If month is navigable we should move to the closest navigable month\n const navigableMonths = monthsForLocale(visibleMonth).filter(\n (n) => !isOutsideAllowedMonths(n)\n );\n newMonth = navigableMonths.reduce((closestMonth, currentMonth) =>\n Math.abs(monthDiff(currentMonth, newMonth)) <\n Math.abs(monthDiff(closestMonth, newMonth))\n ? currentMonth\n : closestMonth\n );\n }\n setVisibleMonth(event, newMonth);\n }\n };\n\n const months: DateValue[] = monthsForLocale(visibleMonth);\n\n const years: DateValue[] = [-2, -1, 0, 1, 2]\n .map((delta) => visibleMonth.add({ years: delta }))\n .filter((year) => !isOutsideAllowedYears(year));\n\n const selectedMonth: DateValue | undefined = months.find((month: DateValue) =>\n isSameMonth(month, visibleMonth)\n );\n const selectedYear: DateValue | undefined = years.find((year: DateValue) =>\n isSameYear(year, visibleMonth)\n );\n\n const canNavigatePrevious = !(minDate && isDayVisible(minDate));\n const canNavigateNext = !(maxDate && isDayVisible(maxDate));\n\n return {\n moveToNextMonth,\n moveToPreviousMonth,\n moveToMonth,\n visibleMonth,\n months,\n years,\n canNavigateNext,\n canNavigatePrevious,\n selectedMonth,\n selectedYear,\n isOutsideAllowedMonths,\n };\n}\n\nconst OptionWithTooltip = ({\n value,\n children,\n disabled,\n tooltipContent,\n}: OptionWithTooltipProps) => {\n const { activeState, openState } = useListControlContext();\n const open = activeState?.value === value;\n\n return (\n <Tooltip\n placement=\"right\"\n open={open && openState}\n disabled={!disabled}\n content={tooltipContent}\n enterDelay={0} // --salt-duration-instant\n leaveDelay={0} // --salt-duration-instant\n >\n <Option value={value} disabled={disabled}>\n {children}\n </Option>\n </Tooltip>\n );\n};\n\nexport const CalendarNavigation = forwardRef<\n HTMLDivElement,\n CalendarNavigationProps\n>(function CalendarNavigation(props, ref) {\n const {\n className,\n MonthDropdownProps,\n YearDropdownProps,\n hideYearDropdown,\n ...rest\n } = props;\n\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-calendar-navigation\",\n css: calendarNavigationCss,\n window: targetWindow,\n });\n\n const {\n moveToPreviousMonth,\n moveToNextMonth,\n moveToMonth,\n months,\n years,\n canNavigateNext,\n canNavigatePrevious,\n visibleMonth,\n selectedMonth,\n selectedYear,\n isOutsideAllowedMonths,\n } = useCalendarNavigation();\n\n const handleNavigatePrevious: MouseEventHandler<HTMLButtonElement> = (\n event\n ) => {\n moveToPreviousMonth(event);\n };\n\n const handleNavigateNext: MouseEventHandler<HTMLButtonElement> = (event) => {\n moveToNextMonth(event);\n };\n\n const handleMonthSelect = (event: SyntheticEvent, month: DateValue[]) => {\n moveToMonth(event, month[0]);\n };\n\n const handleYearSelect = (event: SyntheticEvent, year: DateValue[]) => {\n moveToMonth(event, year[0]);\n };\n\n const formatMonth = (date?: DateValue) => {\n return !date\n ? \"\"\n : formatDate(date, { month: hideYearDropdown ? \"long\" : \"short\" });\n };\n\n const formatYear = (date?: DateValue) => {\n return !date ? \"\" : formatDate(date, { year: \"numeric\" });\n };\n\n return (\n <div\n className={clsx(\n withBaseName(),\n { [withBaseName(\"hideYearDropdown\")]: hideYearDropdown },\n className\n )}\n ref={ref}\n {...rest}\n >\n <Tooltip\n placement=\"top\"\n disabled={canNavigatePrevious}\n content=\"Past dates are out of range\"\n enterDelay={0} // --salt-duration-instant\n leaveDelay={0} // --salt-duration-instant\n >\n <Button\n disabled={!canNavigatePrevious}\n variant=\"secondary\"\n onClick={handleNavigatePrevious}\n focusableWhenDisabled={true}\n >\n <ChevronLeftIcon\n aria-label={`Previous Month, ${formatDate(\n visibleMonth.subtract({ months: 1 })\n )}`}\n />\n </Button>\n </Tooltip>\n <div className={withBaseName(\"dropdowns\")}>\n <Dropdown\n aria-label=\"Month Dropdown\"\n selected={selectedMonth ? [selectedMonth] : []}\n value={formatMonth(selectedMonth)}\n onSelectionChange={handleMonthSelect}\n {...MonthDropdownProps}\n >\n {months.map((month) => (\n <OptionWithTooltip\n key={formatMonth(month)}\n value={month}\n disabled={isOutsideAllowedMonths(month)}\n tooltipContent=\"This month is out of range\"\n >\n {formatMonth(month)}\n </OptionWithTooltip>\n ))}\n </Dropdown>\n {!hideYearDropdown && (\n <Dropdown\n aria-label=\"Year Dropdown\"\n selected={selectedYear ? [selectedYear] : []}\n value={formatYear(selectedYear)}\n onSelectionChange={handleYearSelect}\n {...YearDropdownProps}\n >\n {years.map((year) => (\n <OptionWithTooltip\n key={formatYear(year)}\n value={year}\n tooltipContent=\"This year is out of range\"\n >\n {formatYear(year)}\n </OptionWithTooltip>\n ))}\n </Dropdown>\n )}\n </div>\n <Tooltip\n placement=\"top\"\n disabled={canNavigateNext}\n content=\"Future dates are out of range\"\n enterDelay={0} // --salt-duration-instant\n leaveDelay={0} // --salt-duration-instant\n >\n <Button\n disabled={!canNavigateNext}\n variant=\"secondary\"\n onClick={handleNavigateNext}\n focusableWhenDisabled={true}\n >\n <ChevronRightIcon\n aria-label={`Next Month, ${formatDate(\n visibleMonth.add({ months: 1 })\n )}`}\n />\n </Button>\n </Tooltip>\n </div>\n );\n});\n"],"names":["makePrefixer","useCalendarContext","monthsForLocale","monthDiff","isSameMonth","isSameYear","useListControlContext","jsx","Tooltip","Option","forwardRef","CalendarNavigation","useWindow","useComponentCssInjection","calendarNavigationCss","formatDate","jsxs","clsx","Button","ChevronLeftIcon","Dropdown","ChevronRightIcon"],"mappings":"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"}
|