@salt-ds/lab 1.0.0-alpha.102 → 1.0.0-alpha.104
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/CHANGELOG.md +56 -0
- package/css/salt-lab.css +370 -162
- package/dist-cjs/app-header/AppHeader.css.js +1 -1
- package/dist-cjs/avatar-group/AvatarGroup.css.js +6 -0
- package/dist-cjs/avatar-group/AvatarGroup.css.js.map +1 -0
- package/dist-cjs/avatar-group/AvatarGroup.js +31 -0
- package/dist-cjs/avatar-group/AvatarGroup.js.map +1 -0
- package/dist-cjs/avatar-group/AvatarGroupCount.css.js +6 -0
- package/dist-cjs/avatar-group/AvatarGroupCount.css.js.map +1 -0
- package/dist-cjs/avatar-group/AvatarGroupCount.js +39 -0
- package/dist-cjs/avatar-group/AvatarGroupCount.js.map +1 -0
- package/dist-cjs/button-bar/ButtonBar.css.js +1 -1
- package/dist-cjs/cascading-menu/CascadingMenuItem.css.js +1 -1
- package/dist-cjs/color-chooser/ColorChooser.css.js +1 -1
- package/dist-cjs/color-chooser/ColorPicker.css.js +1 -1
- package/dist-cjs/color-chooser/DictTabs.js +9 -1
- package/dist-cjs/color-chooser/DictTabs.js.map +1 -1
- package/dist-cjs/color-chooser/HexInput.css.js +1 -1
- package/dist-cjs/color-chooser/RGBAInput.css.js +1 -1
- package/dist-cjs/color-chooser/Swatch.css.js +1 -1
- package/dist-cjs/color-chooser/Swatches.css.js +1 -1
- package/dist-cjs/common-hooks/useSelection.js.map +1 -1
- package/dist-cjs/contact-details/ContactDetails.css.js +1 -1
- package/dist-cjs/content-status/ContentStatus.css.js +1 -1
- package/dist-cjs/dropdown/DropdownButton.css.js +1 -1
- package/dist-cjs/form-field-legacy/FormFieldLegacy.css.js +1 -1
- package/dist-cjs/form-field-legacy/FormHelperText.css.js +1 -1
- package/dist-cjs/index.js +6 -0
- package/dist-cjs/index.js.map +1 -1
- package/dist-cjs/input-legacy/InputLegacy.css.js +1 -1
- package/dist-cjs/input-legacy/StaticInputAdornment.css.js +1 -1
- package/dist-cjs/layer-layout/LayerLayout.css.js +1 -1
- package/dist-cjs/list/List.css.js +1 -1
- package/dist-cjs/list/ListItem.css.js +1 -1
- package/dist-cjs/list/useList.js +2 -3
- package/dist-cjs/list/useList.js.map +1 -1
- package/dist-cjs/list-deprecated/ListItem.css.js +1 -1
- package/dist-cjs/list-next/ListItemNext.css.js +1 -1
- package/dist-cjs/logo/LogoSeparator.css.js +1 -1
- package/dist-cjs/menu-button/MenuButtonTrigger.css.js +1 -1
- package/dist-cjs/metric/MetricContent.css.js +1 -1
- package/dist-cjs/metric/MetricHeader.css.js +1 -1
- package/dist-cjs/on-solid-button/OnSolidButton.css.js +6 -0
- package/dist-cjs/on-solid-button/OnSolidButton.css.js.map +1 -0
- package/dist-cjs/on-solid-button/OnSolidButton.js +62 -0
- package/dist-cjs/on-solid-button/OnSolidButton.js.map +1 -0
- package/dist-cjs/query-input/QueryInput.css.js +1 -1
- package/dist-cjs/tabs/Tab.css.js +1 -1
- package/dist-cjs/tabs/Tabstrip.css.js +1 -1
- package/dist-cjs/tabs/ThemeTabstrip.css.js +1 -1
- package/dist-cjs/tokenized-input/TokenizedInput.css.js +1 -1
- package/dist-cjs/tokenized-input-next/TokenizedInputNext.css.js +1 -1
- package/dist-cjs/tokenized-input-next/internal/InputPill.css.js +1 -1
- package/dist-cjs/toolbar/Toolbar.css.js +1 -1
- package/dist-cjs/toolbar/Tooltray.css.js +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowPanel.css.js +1 -1
- package/dist-cjs/toolbar/overflow-panel/OverflowSeparator.css.js +1 -1
- package/dist-es/app-header/AppHeader.css.js +1 -1
- package/dist-es/avatar-group/AvatarGroup.css.js +4 -0
- package/dist-es/avatar-group/AvatarGroup.css.js.map +1 -0
- package/dist-es/avatar-group/AvatarGroup.js +29 -0
- package/dist-es/avatar-group/AvatarGroup.js.map +1 -0
- package/dist-es/avatar-group/AvatarGroupCount.css.js +4 -0
- package/dist-es/avatar-group/AvatarGroupCount.css.js.map +1 -0
- package/dist-es/avatar-group/AvatarGroupCount.js +37 -0
- package/dist-es/avatar-group/AvatarGroupCount.js.map +1 -0
- package/dist-es/button-bar/ButtonBar.css.js +1 -1
- package/dist-es/cascading-menu/CascadingMenuItem.css.js +1 -1
- package/dist-es/color-chooser/ColorChooser.css.js +1 -1
- package/dist-es/color-chooser/ColorPicker.css.js +1 -1
- package/dist-es/color-chooser/DictTabs.js +9 -1
- package/dist-es/color-chooser/DictTabs.js.map +1 -1
- package/dist-es/color-chooser/HexInput.css.js +1 -1
- package/dist-es/color-chooser/RGBAInput.css.js +1 -1
- package/dist-es/color-chooser/Swatch.css.js +1 -1
- package/dist-es/color-chooser/Swatches.css.js +1 -1
- package/dist-es/common-hooks/useSelection.js.map +1 -1
- package/dist-es/contact-details/ContactDetails.css.js +1 -1
- package/dist-es/content-status/ContentStatus.css.js +1 -1
- package/dist-es/dropdown/DropdownButton.css.js +1 -1
- package/dist-es/form-field-legacy/FormFieldLegacy.css.js +1 -1
- package/dist-es/form-field-legacy/FormHelperText.css.js +1 -1
- package/dist-es/index.js +3 -0
- package/dist-es/index.js.map +1 -1
- package/dist-es/input-legacy/InputLegacy.css.js +1 -1
- package/dist-es/input-legacy/StaticInputAdornment.css.js +1 -1
- package/dist-es/layer-layout/LayerLayout.css.js +1 -1
- package/dist-es/list/List.css.js +1 -1
- package/dist-es/list/ListItem.css.js +1 -1
- package/dist-es/list/useList.js +2 -3
- package/dist-es/list/useList.js.map +1 -1
- package/dist-es/list-deprecated/ListItem.css.js +1 -1
- package/dist-es/list-next/ListItemNext.css.js +1 -1
- package/dist-es/logo/LogoSeparator.css.js +1 -1
- package/dist-es/menu-button/MenuButtonTrigger.css.js +1 -1
- package/dist-es/metric/MetricContent.css.js +1 -1
- package/dist-es/metric/MetricHeader.css.js +1 -1
- package/dist-es/on-solid-button/OnSolidButton.css.js +4 -0
- package/dist-es/on-solid-button/OnSolidButton.css.js.map +1 -0
- package/dist-es/on-solid-button/OnSolidButton.js +60 -0
- package/dist-es/on-solid-button/OnSolidButton.js.map +1 -0
- package/dist-es/query-input/QueryInput.css.js +1 -1
- package/dist-es/tabs/Tab.css.js +1 -1
- package/dist-es/tabs/Tabstrip.css.js +1 -1
- package/dist-es/tabs/ThemeTabstrip.css.js +1 -1
- package/dist-es/tokenized-input/TokenizedInput.css.js +1 -1
- package/dist-es/tokenized-input-next/TokenizedInputNext.css.js +1 -1
- package/dist-es/tokenized-input-next/internal/InputPill.css.js +1 -1
- package/dist-es/toolbar/Toolbar.css.js +1 -1
- package/dist-es/toolbar/Tooltray.css.js +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowPanel.css.js +1 -1
- package/dist-es/toolbar/overflow-panel/OverflowSeparator.css.js +1 -1
- package/dist-types/avatar-group/AvatarGroup.d.ts +14 -0
- package/dist-types/avatar-group/AvatarGroupCount.d.ts +15 -0
- package/dist-types/avatar-group/index.d.ts +2 -0
- package/dist-types/combo-box-deprecated/internal/useComboBox.d.ts +45 -45
- package/dist-types/combo-box-deprecated/internal/useMultiSelectComboBox.d.ts +91 -91
- package/dist-types/index.d.ts +2 -0
- package/dist-types/on-solid-button/OnSolidButton.d.ts +12 -0
- package/dist-types/on-solid-button/index.d.ts +1 -0
- package/package.json +11 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Styles applied to the root element dependent on density */\n.salt-density-touch {\n --inputLegacy-adornment-height: calc(var(--salt-size-base) + var(--salt-
|
|
3
|
+
var css_248z = "/* Styles applied to the root element dependent on density */\n.salt-density-touch {\n --inputLegacy-adornment-height: calc(var(--salt-size-base) + var(--salt-spacing-100) * 0.5);\n --inputLegacy-button-inset: 4px;\n}\n.salt-density-low {\n --inputLegacy-adornment-height: calc(var(--salt-size-base) + var(--salt-spacing-100) * 2 / 3);\n --inputLegacy-button-inset: 4px;\n}\n.salt-density-medium {\n --inputLegacy-adornment-height: calc(var(--salt-size-base) + var(--salt-spacing-100) * 0.5);\n --inputLegacy-button-inset: 2px;\n}\n.salt-density-high {\n --inputLegacy-adornment-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n --inputLegacy-button-inset: 2px;\n}\n\n/* Style applied to the root element */\n.saltInputLegacy {\n align-items: center;\n background: var(--saltInputLegacy-background, none);\n border: var(--saltInputLegacy-border, none);\n border-radius: var(--saltInputLegacy-borderRadius, 0);\n color: var(--saltInputLegacy-text-color, var(--salt-content-primary-foreground));\n cursor: var(--saltInputLegacy-cursor, default);\n display: inline-flex;\n font-family: var(--saltInputLegacy-fontFamily, var(--salt-text-fontFamily));\n font-size: var(--saltInputLegacy-fontSize, var(--salt-text-fontSize));\n height: var(--saltInputLegacy-height, var(--salt-size-base));\n line-height: var(--salt-text-lineHeight);\n min-height: var(--saltInputLegacy-minHeight, var(--salt-size-base));\n min-width: var(--saltInputLegacy-minWidth, 8em);\n padding: var(--saltInputLegacy-padding, 0 var(--salt-spacing-100));\n position: var(--saltInputLegacy-position, relative);\n width: 100%;\n box-sizing: border-box;\n}\n\n/* Reset in the next class */\n.saltInputLegacy-input:focus {\n outline: none;\n}\n\n/* Pseudo-class applied to the root element when focused */\n.saltInputLegacy-focused {\n outline-style: var(--saltInputLegacy-focused-outlineStyle, var(--salt-focused-outlineStyle));\n outline-width: var(--saltInputLegacy-focused-outlineWidth, var(--salt-focused-outlineWidth));\n outline-color: var(--saltInputLegacy-focused-outlineColor, var(--salt-focused-outlineColor));\n outline-offset: var(--saltInputLegacy-focused-outlineOffset, var(--salt-focused-outlineOffset));\n}\n\n/* Style applied to inner input component */\n.saltInputLegacy-input {\n background: var(--saltInputLegacy-background, none);\n border: none;\n box-sizing: content-box;\n color: inherit;\n display: block;\n flex: 1;\n font: inherit;\n letter-spacing: var(--saltInputLegacy-letterSpacing, 0);\n margin: 0;\n min-width: 0;\n overflow: hidden;\n padding: 0;\n height: 100%;\n width: 100%;\n}\n\n/* Style applied to input if `disabled={true}` */\n.saltInputLegacy-disabled .saltInputLegacy-input {\n cursor: var(--salt-cursor-disabled);\n color: var(--saltInputLegacy-text-color-disabled, var(--salt-content-primary-foreground-disabled));\n}\n\n/* Style applied to adornment containers */\n.saltInputLegacy-suffixContainer,\n.saltInputLegacy-prefixContainer {\n display: flex;\n align-items: center;\n\n height: var(--inputLegacy-adornment-height);\n}\n\n/* Style applied to root element with start adornment */\n.saltInputLegacy-inputAdornedStart {\n padding-left: var(--saltInputLegacy-adornedStart-padding, 0);\n}\n\n/* Style applied to inner input element with start adornment */\n.saltInputLegacy-inputAdornedStart .saltInputLegacy-input {\n padding-left: var(--saltInputLegacy-adornedStart-input-padding, var(--salt-spacing-100));\n}\n\n/* Style applied to root element with end adornment */\n.saltInputLegacy-inputAdornedEnd {\n padding-right: var(--saltInputLegacy-adornedEnd-padding, 0);\n}\n\n/* Style applied to inner input element with end adornment */\n.saltInputLegacy-inputAdornedEnd .saltInputLegacy-input {\n padding-right: var(--saltInputLegacy-adornedEnd-input-padding, var(--salt-spacing-100));\n}\n\n/* Style applied to salt Button used within Input component adornments */\n.saltInputLegacy .saltInputLegacy-suffixContainer > .saltButton,\n.saltInputLegacy .saltInputLegacy-prefixContainer > .saltButton {\n height: calc(var(--saltButton-height, var(--salt-size-base)) - (var(--inputLegacy-button-inset) * 2));\n margin: var(--inputLegacy-button-inset);\n padding: 0 calc(var(--salt-spacing-100) - var(--inputLegacy-button-inset));\n}\n\n/* Style applied if `textAlign={\"left\"}` */\n.saltInputLegacy-leftTextAlign .saltInputLegacy-input {\n text-align: left;\n}\n\n/* Style applied if `textAlign={\"center\"}` */\n.saltInputLegacy-centerTextAlign .saltInputLegacy-input {\n text-align: center;\n}\n\n/* Style applied if `textAlign={\"right\"}` */\n.saltInputLegacy-rightTextAlign .saltInputLegacy-input {\n text-align: right;\n}\n\n/* Style applied if `inFormField={true}` */\n.saltInputLegacy-formField {\n min-width: var(--saltFormFieldLegacy-input-minWidth, 0px);\n width: 100%;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=InputLegacy.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltStaticInputAdornment {\n --inputLegacy-staticAdornment-padding: var(--salt-
|
|
3
|
+
var css_248z = ".saltStaticInputAdornment {\n --inputLegacy-staticAdornment-padding: var(--salt-spacing-100);\n}\n\n.saltStaticInputAdornment {\n display: flex;\n align-items: center;\n}\n\n.saltInputLegacy-prefixContainer .saltStaticInputAdornment {\n padding-left: var(--inputLegacy-staticAdornment-padding);\n}\n\n.saltInputLegacy-suffixContainer .saltStaticInputAdornment {\n padding-right: var(--inputLegacy-staticAdornment-padding);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=StaticInputAdornment.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltLayerLayout {\n --layerLayout-boxShadow: var(--saltLayerLayout-boxShadow, var(--salt-overlayable-shadow-modal));\n --layerLayout-background: var(--saltLayerLayout-background, var(--salt-container-primary-background));\n --layerLayout-padding: var(--saltLayerLayout-padding, var(--salt-
|
|
3
|
+
var css_248z = ".saltLayerLayout {\n --layerLayout-boxShadow: var(--saltLayerLayout-boxShadow, var(--salt-overlayable-shadow-modal));\n --layerLayout-background: var(--saltLayerLayout-background, var(--salt-container-primary-background));\n --layerLayout-padding: var(--saltLayerLayout-padding, var(--salt-spacing-300));\n --layerLayout-margin: var(--saltLayerLayout-margin, var(--salt-spacing-300));\n}\n\n.saltLayerLayout {\n background: var(--layerLayout-background);\n display: flex;\n flex-direction: column;\n max-height: 100%;\n max-width: 100%;\n overflow: auto;\n padding: var(--layerLayout-padding);\n box-shadow: var(--saltLayerLayout-boxShadow, var(--layerLayout-boxShadow));\n z-index: calc(var(--salt-zIndex-appHeader) - 1);\n box-sizing: border-box;\n}\n\n.saltLayerLayout-fullScreen {\n width: 100vw;\n height: 100vh;\n margin: 0;\n position: fixed;\n top: 0;\n left: 0;\n}\n\n.saltLayerLayout-center {\n margin: var(--saltLayerLayout-margin, var(--layerLayout-margin));\n}\n\n.saltLayerLayout-center.saltLayerLayout-enter-animation,\n.saltLayerLayout-fullScreen.saltLayerLayout-enter-animation,\n.saltScrim.saltLayerLayout-enter-animation {\n animation: var(--salt-animation-fade-in-center);\n}\n\n.saltLayerLayout-center.saltLayerLayout-exit-animation,\n.saltLayerLayout-fullScreen.saltLayerLayout-exit-animation,\n.saltScrim.saltLayerLayout-exit-animation {\n animation: var(--salt-animation-fade-out-back);\n}\n\n.saltLayerLayout-anchor {\n position: fixed;\n max-height: 100%;\n top: 0;\n}\n\n.saltLayerLayout-top {\n left: 0;\n right: 0;\n bottom: auto;\n}\n\n.saltLayerLayout-top.saltLayerLayout-enter-animation {\n animation: var(--salt-animation-slide-in-bottom);\n}\n\n.saltLayerLayout-top.saltLayerLayout-exit-animation {\n animation: var(--salt-animation-slide-out-bottom);\n}\n\n.saltLayerLayout-right {\n left: auto;\n right: 0;\n height: 100%;\n}\n\n.saltLayerLayout-right.saltLayerLayout-enter-animation {\n animation: var(--salt-animation-slide-in-right);\n}\n\n.saltLayerLayout-right.saltLayerLayout-exit-animation {\n animation: var(--salt-animation-slide-out-right);\n}\n\n.saltLayerLayout-left {\n left: 0;\n right: auto;\n height: 100%;\n}\n\n.saltLayerLayout-left.saltLayerLayout-enter-animation {\n animation: var(--salt-animation-slide-in-left);\n}\n\n.saltLayerLayout-left.saltLayerLayout-exit-animation {\n animation: var(--salt-animation-slide-out-left);\n}\n\n.saltLayerLayout-bottom {\n left: 0;\n right: 0;\n bottom: 0;\n top: auto;\n}\n\n.saltLayerLayout-bottom.saltLayerLayout-enter-animation {\n animation: var(--salt-animation-slide-in-top);\n}\n\n.saltLayerLayout-bottom.saltLayerLayout-exit-animation {\n animation: var(--salt-animation-slide-out-top);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=LayerLayout.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltList {\n --list-background: var(--salt-container-primary-background);\n --list-borderStyle: var(--salt-borderStyle-solid);\n --list-borderWidth: var(--salt-size-fixed-100);\n --list-height: auto;\n --list-item-height: var(--salt-size-
|
|
3
|
+
var css_248z = ".saltList {\n --list-background: var(--salt-container-primary-background);\n --list-borderStyle: var(--salt-borderStyle-solid);\n --list-borderWidth: var(--salt-size-fixed-100);\n --list-height: auto;\n --list-item-height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n --list-item-gap: 0px;\n --list-maxHeight: 100%;\n\n background: var(--list-background);\n border-color: var(--salt-container-bold-borderColor);\n border-style: var(--list-borderStyle);\n border-width: var(--list-borderWidth);\n height: var(--saltList-height, var(--list-height));\n max-height: var(--list-maxHeight);\n outline: none;\n overflow-y: auto;\n position: relative;\n user-select: none;\n width: var(--saltList-width, auto);\n\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n\n box-sizing: border-box;\n}\n\n.saltList-borderless {\n --list-borderStyle: none;\n}\n\n/* virtualised list */\n.saltList-viewport {\n --list-item-height: 30px;\n max-height: calc(var(--list-maxHeight) - 2 * var(--list-borderWidth));\n overflow: auto;\n}\n\n.saltListItemHeader {\n --saltList-item-background: var(--list-item-header-background);\n color: var(--list-item-header-color);\n}\n\n.saltListItemHeader[data-sticky=\"true\"] {\n --saltList-item-background: var(--list-background);\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.saltList-collapsible .saltListItemHeader:after {\n border-width: var(--checkbox-borderWidth);\n border-color: var(--checkbox-borderColor);\n content: var(--list-item-header-twisty-content);\n -webkit-mask: var(--list-svg-chevron-down) center center / 12px 12px no-repeat;\n mask: var(--list-svg-chevron-down) center center / 12px 12px no-repeat;\n background: var(--list-item-header-twisty-color);\n height: 12px;\n left: var(--list-item-header-twisty-left);\n right: var(--list-item-header-twisty-right);\n margin-top: -8px;\n position: absolute;\n top: var(--list-item-header-twisty-top);\n transition: transform 0.3s;\n width: 12px;\n}\n.saltListItemHeader[aria-expanded=\"false\"]:after {\n transform: rotate(-90deg);\n}\n\n/* Selection */\n\n.saltList-scrollingContentContainer {\n box-sizing: inherit;\n position: relative;\n}\n\n.saltList-virtualized .saltListItem {\n line-height: 30px;\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n will-change: transform;\n}\n.saltList.saltFocusVisible:after {\n inset: 2px;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=List.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltListItem {\n /* Color */\n --list-item-text-color: var(--salt-content-primary-foreground);\n --list-item-background: var(--saltList-item-background, var(--salt-selectable-background));\n /* --list-item-selected-focus-outlineColor: var(--salt-color-white); TODO: Check token with design */\n --list-item-text-color-active: var(--salt-content-primary-foreground);\n --list-item-background-active: var(--salt-selectable-background-selected);\n --list-item-alignItems: center;\n}\n\n.saltListItem.saltHighlighted {\n --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);\n --list-item-background: var(--salt-selectable-background-hover);\n}\n\n.saltListItemHeader {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check token with design */\n}\n\n.saltListItemHeader[data-sticky] {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.saltListItem {\n color: var(--list-item-text-color);\n cursor: var(--saltList-item-cursor, var(--salt-cursor-hover));\n background: var(--saltList-item-background, var(--list-item-background));\n font-size: var(--salt-text-fontSize);\n text-align: var(--salt-text-textAlign);\n line-height: var(--salt-text-lineHeight);\n height: var(--saltList-item-height, var(--list-item-height, auto));\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n padding: 0 var(--salt-
|
|
3
|
+
var css_248z = ".saltListItem {\n /* Color */\n --list-item-text-color: var(--salt-content-primary-foreground);\n --list-item-background: var(--saltList-item-background, var(--salt-selectable-background));\n /* --list-item-selected-focus-outlineColor: var(--salt-color-white); TODO: Check token with design */\n --list-item-text-color-active: var(--salt-content-primary-foreground);\n --list-item-background-active: var(--salt-selectable-background-selected);\n --list-item-alignItems: center;\n}\n\n.saltListItem.saltHighlighted {\n --saltCheckbox-icon-stroke: var(--salt-selectable-borderColor-hover);\n --list-item-background: var(--salt-selectable-background-hover);\n}\n\n.saltListItemHeader {\n font-weight: var(--salt-text-fontWeight-strong); /* TODO: Check token with design */\n}\n\n.saltListItemHeader[data-sticky] {\n position: sticky;\n top: 0;\n z-index: 1;\n}\n\n.saltListItem {\n color: var(--list-item-text-color);\n cursor: var(--saltList-item-cursor, var(--salt-cursor-hover));\n background: var(--saltList-item-background, var(--list-item-background));\n font-size: var(--salt-text-fontSize);\n text-align: var(--salt-text-textAlign);\n line-height: var(--salt-text-lineHeight);\n height: var(--saltList-item-height, var(--list-item-height, auto));\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n padding: 0 var(--salt-spacing-100);\n left: 0;\n right: 0;\n display: flex;\n position: relative;\n align-items: var(--list-item-alignItems);\n white-space: nowrap;\n}\n\n.saltListItem:last-child {\n margin-bottom: 0px;\n}\n\n.saltListItem-checkbox {\n --list-item-background-active: var(--salt-selectable-background);\n --list-item-text-color-active: var(--salt-content-primary-foreground);\n --list-item-text-padding: 0 0 0 var(--salt-spacing-100);\n}\n\n.saltListItem[aria-selected=\"true\"]:not(.saltListItem-checkbox) {\n --list-item-background: var(--list-item-background-active);\n color: var(--list-item-text-color-active);\n}\n\n.saltListItem.saltDisabled {\n --list-item-text-color: var(--salt-content-primary-foreground-disabled);\n cursor: var(--salt-cursor-disabled);\n}\n\n.saltListItem.saltFocusVisible {\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n outline-color: var(--salt-focused-outlineColor);\n}\n\n.saltListItem.saltFocusVisible:after {\n content: none;\n}\n\n.saltListItem[aria-selected=\"true\"]:not(.saltListItem-checkbox).saltFocusVisible {\n outline-color: var(--list-item-selected-focus-outlineColor);\n}\n\n.saltListItem-textWrapper {\n flex: 1;\n overflow: hidden;\n padding: var(--list-item-text-padding, 0px);\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.saltListItem-proxy {\n /* biome-ignore lint/complexity/noImportantStyles: Needed to ensure the proxy doesn't take any space. */\n position: absolute !important;\n visibility: hidden;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=ListItem.css.js.map
|
package/dist-cjs/list/useList.js
CHANGED
|
@@ -187,9 +187,8 @@ const useList = ({
|
|
|
187
187
|
// resolves the clicked item directly from the event target, we must
|
|
188
188
|
// explicitly suppress the handler here.
|
|
189
189
|
onClick: disabled ? void 0 : selectionHook.listHandlers.onClick,
|
|
190
|
-
//
|
|
191
|
-
//
|
|
192
|
-
// keypress events, which break many tests.
|
|
190
|
+
// Retain mousemove semantics so keyboard events cannot synthesize hover
|
|
191
|
+
// transitions and unexpectedly change the highlighted item.
|
|
193
192
|
onMouseMove: handleMouseMove
|
|
194
193
|
};
|
|
195
194
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useList.js","sources":["../src/list/useList.ts"],"sourcesContent":["import {\n isValidElement,\n type KeyboardEvent,\n type MouseEvent,\n useCallback,\n useRef,\n} from \"react\";\nimport {\n type CollectionItem,\n closestListItemIndex,\n type ListHandlers,\n type SelectHandler,\n type SelectionChangeHandler,\n type SelectionStrategy,\n type SingleSelectionStrategy,\n useCollapsibleGroups,\n useKeyboardNavigation,\n useSelection,\n useTypeahead,\n useViewportTracking,\n} from \"../common-hooks\";\n\nimport type {\n ListControlProps,\n ListHookProps,\n ListHookResult,\n} from \"./listTypes\";\n\nexport const useList = <Item, Selection extends SelectionStrategy = \"default\">({\n collapsibleHeaders,\n collectionHook: dataHook,\n containerRef,\n contentRef,\n defaultHighlightedIndex,\n defaultSelected,\n disabled,\n disableAriaActiveDescendant,\n disableHighlightOnFocus,\n disableTypeToSelect,\n highlightedIndex: highlightedIndexProp,\n label = \"\",\n listHandlers: listHandlersProp,\n onSelect,\n onSelectionChange,\n onHighlight,\n onKeyboardNavigation,\n onKeyDown,\n restoreLastFocus,\n selected,\n selectionStrategy,\n selectionKeys,\n stickyHeaders,\n tabToSelect,\n}: ListHookProps<Item, Selection>): ListHookResult<Item, Selection> => {\n const lastSelection = useRef<typeof selected>(selected || defaultSelected);\n const handleKeyboardNavigation = (\n evt: KeyboardEvent<HTMLElement>,\n nextIndex: number,\n ) => {\n selectionHook.listHandlers.onKeyboardNavigation?.(evt, nextIndex);\n onKeyboardNavigation?.(evt, nextIndex);\n };\n\n // TODO where do these belong ?\n const handleSelect = useCallback<SelectHandler<CollectionItem<Item>>>(\n (evt, selectedItem) => {\n if (onSelect) {\n if (isValidElement(selectedItem.value)) {\n onSelect(evt, selectedItem.label as Item);\n } else if (selectedItem.value !== null) {\n onSelect(evt, selectedItem.value);\n }\n }\n },\n [onSelect],\n );\n\n const handleSelectionChange = useCallback<\n SelectionChangeHandler<CollectionItem<Item>, Selection>\n >(\n (evt, selected) => {\n if (onSelectionChange) {\n onSelectionChange(\n evt,\n (Array.isArray(selected)\n ? selected.map((s) => (isValidElement(s.value) ? s.label : s.value))\n : selected &&\n (isValidElement(selected.value)\n ? selected.label\n : selected.value)) as Selection extends SingleSelectionStrategy\n ? Item\n : Item[],\n );\n }\n },\n [onSelectionChange],\n );\n\n const {\n highlightedIndex,\n listProps: {\n onKeyDown: navigationKeyDown,\n onMouseMove: navigationMouseMove,\n ...navigationControlProps\n },\n setHighlightedIndex,\n ...keyboardHook\n } = useKeyboardNavigation<Item, Selection>({\n containerRef,\n defaultHighlightedIndex,\n disableHighlightOnFocus,\n highlightedIndex: highlightedIndexProp,\n indexPositions: dataHook.data,\n label,\n onHighlight,\n onKeyboardNavigation: handleKeyboardNavigation,\n restoreLastFocus,\n selected: lastSelection.current,\n });\n\n const collapsibleHook = useCollapsibleGroups({\n collapsibleHeaders,\n highlightedIdx: highlightedIndex,\n collectionHook: dataHook,\n });\n\n const selectionHook = useSelection<Item, Selection>({\n defaultSelected,\n highlightedIdx: highlightedIndex,\n indexPositions: dataHook.data,\n label,\n onSelect: handleSelect,\n onSelectionChange: handleSelectionChange,\n selected,\n selectionStrategy,\n selectionKeys,\n tabToSelect,\n });\n\n const { onKeyDown: typeaheadOnKeyDown } = useTypeahead<Item>({\n disableTypeToSelect,\n highlightedIdx: highlightedIndex,\n highlightItemAtIndex: setHighlightedIndex,\n typeToNavigate: true,\n items: dataHook.data,\n });\n\n const handleKeyDown = useCallback(\n (evt: KeyboardEvent<HTMLElement>) => {\n if (!evt.defaultPrevented) {\n typeaheadOnKeyDown?.(evt);\n }\n // We still let the keyboard navigation hook process the event even\n // if it has been handled by the typeahead hook. That is so it can\n // correctly manage the focusVisible state.\n navigationKeyDown(evt);\n if (!evt.defaultPrevented) {\n selectionHook.listHandlers.onKeyDown?.(evt);\n }\n if (!evt.defaultPrevented) {\n collapsibleHook?.onKeyDown?.(evt);\n }\n\n if (!evt.defaultPrevented) {\n onKeyDown?.(evt);\n }\n },\n [\n collapsibleHook,\n navigationKeyDown,\n onKeyDown,\n selectionHook.listHandlers,\n typeaheadOnKeyDown,\n ],\n );\n\n // This is only appropriate when we are directly controlling a List,\n // not when a control is manipulating the list\n const { isScrolling, scrollIntoView } = useViewportTracking({\n containerRef,\n contentRef,\n highlightedIdx: highlightedIndex,\n indexPositions: dataHook.data,\n stickyHeaders,\n });\n\n const handleMouseMove = useCallback(\n (evt: MouseEvent) => {\n if (!isScrolling.current && !disabled) {\n navigationMouseMove();\n const idx = closestListItemIndex(evt.target as HTMLElement);\n if (idx !== highlightedIndex) {\n const item = dataHook.data[idx];\n if (!item || item.disabled) {\n setHighlightedIndex(-1);\n } else {\n setHighlightedIndex(idx);\n }\n }\n }\n },\n [\n isScrolling,\n disabled,\n setHighlightedIndex,\n navigationMouseMove,\n highlightedIndex,\n dataHook.data,\n ],\n );\n\n const getActiveDescendant = () =>\n highlightedIndex === undefined ||\n highlightedIndex === -1 ||\n disableAriaActiveDescendant\n ? undefined\n : dataHook.data[highlightedIndex]?.id;\n\n // We need this on reEntry for navigation hook to handle focus\n lastSelection.current = selectionHook.selected;\n\n // controlProps ?\n const listControlProps: ListControlProps = {\n \"aria-activedescendant\": getActiveDescendant(),\n onBlur: navigationControlProps.onBlur,\n onFocus: navigationControlProps.onFocus,\n onKeyDown: handleKeyDown,\n onMouseDownCapture: navigationControlProps.onMouseDownCapture,\n onMouseLeave: navigationControlProps.onMouseLeave,\n };\n\n const listHandlers: ListHandlers = listHandlersProp || {\n // Don't expose a click handler when the list is disabled. Previously,\n // selection on disabled lists was prevented only as a side-effect of\n // `handleMouseMove` gating on `disabled` (which kept `highlightedIdx` at\n // -1, so `useSelection.handleClick` no-op'd). Now that `handleClick`\n // resolves the clicked item directly from the event target, we must\n // explicitly suppress the handler here.\n onClick: disabled ? undefined : selectionHook.listHandlers.onClick,\n // MouseEnter would be much better for this. There is a bug in Cypress\n // wheby it emits spurious MouseEnter (and MouseOver) events around\n // keypress events, which break many tests.\n onMouseMove: handleMouseMove,\n };\n\n return {\n focusVisible: keyboardHook.focusVisible,\n controlledHighlighting: keyboardHook.controlledHighlighting,\n highlightedIndex,\n keyboardNavigation: keyboardHook.keyboardNavigation,\n listHandlers,\n listItemHeaderHandlers: collapsibleHook,\n listControlProps,\n scrollIntoView,\n selected: selectionHook.selected,\n setHighlightedIndex,\n setIgnoreFocus: keyboardHook.setIgnoreFocus,\n setSelected: selectionHook.setSelected,\n };\n};\n"],"names":["useRef","useCallback","isValidElement","selected","useKeyboardNavigation","useCollapsibleGroups","useSelection","useTypeahead","useViewportTracking","closestListItemIndex"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"useList.js","sources":["../src/list/useList.ts"],"sourcesContent":["import {\n isValidElement,\n type KeyboardEvent,\n type MouseEvent,\n useCallback,\n useRef,\n} from \"react\";\nimport {\n type CollectionItem,\n closestListItemIndex,\n type ListHandlers,\n type SelectHandler,\n type SelectionChangeHandler,\n type SelectionStrategy,\n type SingleSelectionStrategy,\n useCollapsibleGroups,\n useKeyboardNavigation,\n useSelection,\n useTypeahead,\n useViewportTracking,\n} from \"../common-hooks\";\n\nimport type {\n ListControlProps,\n ListHookProps,\n ListHookResult,\n} from \"./listTypes\";\n\nexport const useList = <Item, Selection extends SelectionStrategy = \"default\">({\n collapsibleHeaders,\n collectionHook: dataHook,\n containerRef,\n contentRef,\n defaultHighlightedIndex,\n defaultSelected,\n disabled,\n disableAriaActiveDescendant,\n disableHighlightOnFocus,\n disableTypeToSelect,\n highlightedIndex: highlightedIndexProp,\n label = \"\",\n listHandlers: listHandlersProp,\n onSelect,\n onSelectionChange,\n onHighlight,\n onKeyboardNavigation,\n onKeyDown,\n restoreLastFocus,\n selected,\n selectionStrategy,\n selectionKeys,\n stickyHeaders,\n tabToSelect,\n}: ListHookProps<Item, Selection>): ListHookResult<Item, Selection> => {\n const lastSelection = useRef<typeof selected>(selected || defaultSelected);\n const handleKeyboardNavigation = (\n evt: KeyboardEvent<HTMLElement>,\n nextIndex: number,\n ) => {\n selectionHook.listHandlers.onKeyboardNavigation?.(evt, nextIndex);\n onKeyboardNavigation?.(evt, nextIndex);\n };\n\n // TODO where do these belong ?\n const handleSelect = useCallback<SelectHandler<CollectionItem<Item>>>(\n (evt, selectedItem) => {\n if (onSelect) {\n if (isValidElement(selectedItem.value)) {\n onSelect(evt, selectedItem.label as Item);\n } else if (selectedItem.value !== null) {\n onSelect(evt, selectedItem.value);\n }\n }\n },\n [onSelect],\n );\n\n const handleSelectionChange = useCallback<\n SelectionChangeHandler<CollectionItem<Item>, Selection>\n >(\n (evt, selected) => {\n if (onSelectionChange) {\n onSelectionChange(\n evt,\n (Array.isArray(selected)\n ? selected.map((s) => (isValidElement(s.value) ? s.label : s.value))\n : selected &&\n (isValidElement(selected.value)\n ? selected.label\n : selected.value)) as Selection extends SingleSelectionStrategy\n ? Item\n : Item[],\n );\n }\n },\n [onSelectionChange],\n );\n\n const {\n highlightedIndex,\n listProps: {\n onKeyDown: navigationKeyDown,\n onMouseMove: navigationMouseMove,\n ...navigationControlProps\n },\n setHighlightedIndex,\n ...keyboardHook\n } = useKeyboardNavigation<Item, Selection>({\n containerRef,\n defaultHighlightedIndex,\n disableHighlightOnFocus,\n highlightedIndex: highlightedIndexProp,\n indexPositions: dataHook.data,\n label,\n onHighlight,\n onKeyboardNavigation: handleKeyboardNavigation,\n restoreLastFocus,\n selected: lastSelection.current,\n });\n\n const collapsibleHook = useCollapsibleGroups({\n collapsibleHeaders,\n highlightedIdx: highlightedIndex,\n collectionHook: dataHook,\n });\n\n const selectionHook = useSelection<Item, Selection>({\n defaultSelected,\n highlightedIdx: highlightedIndex,\n indexPositions: dataHook.data,\n label,\n onSelect: handleSelect,\n onSelectionChange: handleSelectionChange,\n selected,\n selectionStrategy,\n selectionKeys,\n tabToSelect,\n });\n\n const { onKeyDown: typeaheadOnKeyDown } = useTypeahead<Item>({\n disableTypeToSelect,\n highlightedIdx: highlightedIndex,\n highlightItemAtIndex: setHighlightedIndex,\n typeToNavigate: true,\n items: dataHook.data,\n });\n\n const handleKeyDown = useCallback(\n (evt: KeyboardEvent<HTMLElement>) => {\n if (!evt.defaultPrevented) {\n typeaheadOnKeyDown?.(evt);\n }\n // We still let the keyboard navigation hook process the event even\n // if it has been handled by the typeahead hook. That is so it can\n // correctly manage the focusVisible state.\n navigationKeyDown(evt);\n if (!evt.defaultPrevented) {\n selectionHook.listHandlers.onKeyDown?.(evt);\n }\n if (!evt.defaultPrevented) {\n collapsibleHook?.onKeyDown?.(evt);\n }\n\n if (!evt.defaultPrevented) {\n onKeyDown?.(evt);\n }\n },\n [\n collapsibleHook,\n navigationKeyDown,\n onKeyDown,\n selectionHook.listHandlers,\n typeaheadOnKeyDown,\n ],\n );\n\n // This is only appropriate when we are directly controlling a List,\n // not when a control is manipulating the list\n const { isScrolling, scrollIntoView } = useViewportTracking({\n containerRef,\n contentRef,\n highlightedIdx: highlightedIndex,\n indexPositions: dataHook.data,\n stickyHeaders,\n });\n\n const handleMouseMove = useCallback(\n (evt: MouseEvent) => {\n if (!isScrolling.current && !disabled) {\n navigationMouseMove();\n const idx = closestListItemIndex(evt.target as HTMLElement);\n if (idx !== highlightedIndex) {\n const item = dataHook.data[idx];\n if (!item || item.disabled) {\n setHighlightedIndex(-1);\n } else {\n setHighlightedIndex(idx);\n }\n }\n }\n },\n [\n isScrolling,\n disabled,\n setHighlightedIndex,\n navigationMouseMove,\n highlightedIndex,\n dataHook.data,\n ],\n );\n\n const getActiveDescendant = () =>\n highlightedIndex === undefined ||\n highlightedIndex === -1 ||\n disableAriaActiveDescendant\n ? undefined\n : dataHook.data[highlightedIndex]?.id;\n\n // We need this on reEntry for navigation hook to handle focus\n lastSelection.current = selectionHook.selected;\n\n // controlProps ?\n const listControlProps: ListControlProps = {\n \"aria-activedescendant\": getActiveDescendant(),\n onBlur: navigationControlProps.onBlur,\n onFocus: navigationControlProps.onFocus,\n onKeyDown: handleKeyDown,\n onMouseDownCapture: navigationControlProps.onMouseDownCapture,\n onMouseLeave: navigationControlProps.onMouseLeave,\n };\n\n const listHandlers: ListHandlers = listHandlersProp || {\n // Don't expose a click handler when the list is disabled. Previously,\n // selection on disabled lists was prevented only as a side-effect of\n // `handleMouseMove` gating on `disabled` (which kept `highlightedIdx` at\n // -1, so `useSelection.handleClick` no-op'd). Now that `handleClick`\n // resolves the clicked item directly from the event target, we must\n // explicitly suppress the handler here.\n onClick: disabled ? undefined : selectionHook.listHandlers.onClick,\n // Retain mousemove semantics so keyboard events cannot synthesize hover\n // transitions and unexpectedly change the highlighted item.\n onMouseMove: handleMouseMove,\n };\n\n return {\n focusVisible: keyboardHook.focusVisible,\n controlledHighlighting: keyboardHook.controlledHighlighting,\n highlightedIndex,\n keyboardNavigation: keyboardHook.keyboardNavigation,\n listHandlers,\n listItemHeaderHandlers: collapsibleHook,\n listControlProps,\n scrollIntoView,\n selected: selectionHook.selected,\n setHighlightedIndex,\n setIgnoreFocus: keyboardHook.setIgnoreFocus,\n setSelected: selectionHook.setSelected,\n };\n};\n"],"names":["useRef","useCallback","isValidElement","selected","useKeyboardNavigation","useCollapsibleGroups","useSelection","useTypeahead","useViewportTracking","closestListItemIndex"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltListItemDeprecated {\n /* Color */\n --list-item-text-color: var(--salt-selectable-foreground);\n --list-item-background: var(--salt-selectable-background);\n --list-item-background-hover: var(--salt-selectable-background-hover);\n --list-item-selected-focus-outlineColor: var(--salt-content-bold-foreground);\n\n --list-item-text-color-active: var(--salt-selectable-foreground-selected);\n --list-item-background-active: var(--salt-selectable-background-selected);\n\n /* Text, Font */\n --list-item-textAlign: var(--salt-text-textAlign);\n --list-item-fontSize: var(--salt-text-fontSize);\n --list-item-lineHeight: var(--salt-text-lineHeight);\n\n /* Spacing */\n --list-item-padding: 0 var(--salt-
|
|
3
|
+
var css_248z = ".saltListItemDeprecated {\n /* Color */\n --list-item-text-color: var(--salt-selectable-foreground);\n --list-item-background: var(--salt-selectable-background);\n --list-item-background-hover: var(--salt-selectable-background-hover);\n --list-item-selected-focus-outlineColor: var(--salt-content-bold-foreground);\n\n --list-item-text-color-active: var(--salt-selectable-foreground-selected);\n --list-item-background-active: var(--salt-selectable-background-selected);\n\n /* Text, Font */\n --list-item-textAlign: var(--salt-text-textAlign);\n --list-item-fontSize: var(--salt-text-fontSize);\n --list-item-lineHeight: var(--salt-text-lineHeight);\n\n /* Spacing */\n --list-item-padding: 0 var(--salt-spacing-100);\n\n /* Misc. */\n --list-item-gap: 0px;\n --list-item-alignItems: center;\n --list-item-selectable-cursor: pointer;\n --list-item-cursor: default;\n\n --list-item-disabled-cursor: var(--salt-cursor-disabled);\n --list-item-disabled-regular-opacity: 0.4;\n}\n\n.saltListItemDeprecated {\n color: var(--list-item-text-color);\n background: var(--list-item-background);\n text-align: var(--list-item-textAlign);\n line-height: var(--list-item-lineHeight);\n font-size: var(--list-item-fontSize);\n padding: var(--list-item-padding);\n left: 0;\n right: 0;\n display: flex;\n position: relative;\n align-items: var(--list-item-alignItems);\n white-space: nowrap;\n}\n\n.saltListItemDeprecated {\n /* Replaced border-bottom with margin. In design spec, the height of the items should not include gap */\n margin-bottom: var(--list-item-gap);\n cursor: var(--list-item-selectable-cursor);\n}\n\n.saltListItemDeprecated:last-child {\n margin-bottom: 0px;\n}\n\n.saltListItemDeprecated.saltListItemDeprecated-highlighted:not(.saltListItemDeprecated-selected) {\n background: var(--list-item-background-hover);\n}\n\n.saltListItemDeprecated.saltListItemDeprecated-deselectable {\n cursor: var(--list-item-selectable-cursor);\n}\n\n.saltListItemDeprecated-textWrapper {\n flex: 1;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n\n.saltListItemDeprecated-selected {\n color: var(--list-item-text-color-active);\n background: var(--list-item-background-active);\n cursor: var(--list-item-cursor);\n}\n\n.saltListItemDeprecated-disabled {\n cursor: var(--list-item-disabled-cursor);\n opacity: var(--list-item-disabled-regular-opacity);\n}\n\n.saltListItemDeprecated-focusVisible:after {\n top: 2px;\n left: 2px;\n right: 2px;\n bottom: 2px;\n content: \"\";\n position: absolute;\n\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-color: var(--salt-focused-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n}\n\n.saltListItemDeprecated-focusVisible.saltListItemDeprecated-selected:after {\n outline-color: var(--list-item-selected-focus-outlineColor);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=ListItem.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Default variables applied to the root element */\n.saltListItemNext {\n --listNext-item-text-color: var(--salt-content-primary-foreground);\n --listNext-item-background: none;\n}\n\n.saltListItemNext {\n color: var(--listNext-item-text-color);\n background: var(--listNext-item-background);\n height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n padding-left: var(--salt-spacing-100);\n padding-right: var(--salt-spacing-100);\n display: flex;\n gap: var(--salt-
|
|
3
|
+
var css_248z = "/* Default variables applied to the root element */\n.saltListItemNext {\n --listNext-item-text-color: var(--salt-content-primary-foreground);\n --listNext-item-background: none;\n}\n\n.saltListItemNext {\n color: var(--listNext-item-text-color);\n background: var(--listNext-item-background);\n height: calc(var(--salt-size-base) + var(--salt-spacing-100));\n padding-left: var(--salt-spacing-100);\n padding-right: var(--salt-spacing-100);\n display: flex;\n gap: var(--salt-spacing-100);\n position: relative;\n align-items: center;\n white-space: nowrap;\n margin-top: var(--salt-size-fixed-100);\n margin-bottom: var(--salt-size-fixed-100);\n border: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) transparent;\n}\n\n/* Class applied to list item on focus using keyboard navigation only */\n.saltListItemNext-focused {\n border: var(--salt-focused-outline);\n}\n\n/* Active list item on focus using keyboard navigation */\n.saltListItemNext-highlighted:not([aria-disabled=\"true\"]) {\n --listNext-item-background: var(--salt-selectable-background-hover);\n cursor: var(--salt-cursor-hover);\n}\n\n.saltListItemNext[aria-selected=\"true\"] {\n outline: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-selectable-borderColor-selected);\n --listNext-item-background: var(--salt-selectable-background-selected);\n --saltIcon-color: var(--salt-selectable-foreground-selected);\n}\n\n/* Style applied to disabled items */\n.saltListItemNext[aria-disabled=\"true\"] {\n --listNext-item-text-color: var(--salt-content-primary-foreground-disabled);\n cursor: var(--salt-cursor-disabled);\n}\n.saltListItemNext[aria-disabled=\"true\"] .saltText {\n color: var(--listNext-item-text-color);\n}\n\n/* disabled list item when selected */\n.saltListItemNext[aria-disabled=\"true\"][aria-selected=\"true\"] {\n outline: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-selectable-borderColor-selectedDisabled);\n --listNext-item-background: var(--salt-selectable-background-selectedDisabled);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=ListItemNext.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Styles for LogoSeparator */\n.saltLogoSeparator {\n height: var(--salt-size-
|
|
3
|
+
var css_248z = "/* Styles for LogoSeparator */\n.saltLogoSeparator {\n height: var(--salt-size-base);\n border-right: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--salt-separable-primary-borderColor);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=LogoSeparator.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltMenuButtonTrigger {\n --menuButton-trigger-open-color: var(--saltMenuButton-trigger-open-color, var(--salt-actionable-
|
|
3
|
+
var css_248z = ".saltMenuButtonTrigger {\n --menuButton-trigger-open-color: var(--saltMenuButton-trigger-open-color, var(--salt-actionable-bold-foreground-active));\n}\n\n.saltMenuButtonTrigger {\n display: inline-flex;\n line-height: 1;\n}\n\n.saltMenuButtonTrigger-buttonOpen {\n background: var(--saltMenuButton-trigger-open-background, var(--salt-actionable-bold-background-active));\n color: var(--menuButton-trigger-open-color);\n}\n\n.saltMenuButtonTrigger-buttonOpen:not(:hover) .saltMenuButtonTrigger-caretIcon {\n color: var(--menuButton-trigger-open-color);\n}\n\n.saltMenuButtonTrigger-buttonOpen:not(:hover) .saltMenuButtonTrigger-icon {\n color: var(--menuButton-trigger-open-color);\n}\n\n.saltMenuButtonTrigger-caretIcon {\n --saltIcon-margin: 0 0 0 var(--salt-spacing-100);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=MenuButtonTrigger.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltMetricContent {\n display: flex;\n flex-direction: column;\n margin-top: var(--metric-content-marginTop, 0px);\n}\n\n.saltMetricContent-value-container {\n align-items: baseline;\n display: flex;\n flex-direction: row;\n gap: calc(var(--salt-
|
|
3
|
+
var css_248z = ".saltMetricContent {\n display: flex;\n flex-direction: column;\n margin-top: var(--metric-content-marginTop, 0px);\n}\n\n.saltMetricContent-value-container {\n align-items: baseline;\n display: flex;\n flex-direction: row;\n gap: calc(var(--salt-spacing-100) / 2);\n margin-top: var(--metric-content-valueContainer-marginTop, 0px);\n}\n\n.saltMetric-direction-up .saltMetricContent-indicator {\n fill: var(--salt-sentiment-positive-foreground-decorative);\n}\n.saltMetric-direction-up .saltMetricContent-subvalue {\n color: var(--salt-sentiment-positive-foreground-informative);\n}\n\n.saltMetric-direction-down .saltMetricContent-indicator {\n fill: var(--salt-sentiment-negative-foreground-decorative);\n}\n.saltMetric-direction-down .saltMetricContent-subvalue {\n color: var(--salt-sentiment-negative-foreground-informative);\n}\n\n.saltMetricContent-subvalue {\n margin-top: var(--metric-content-subvalue-marginTop, 0px);\n}\n\n.saltMetric-align-left .saltMetricContent {\n text-align: left;\n}\n\n.saltMetric-align-center .saltMetricContent {\n align-items: center;\n text-align: center;\n}\n\n.saltMetric-align-right .saltMetricContent {\n align-items: flex-end;\n text-align: right;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=MetricContent.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltMetricHeader {\n --metric-title-color: var(--salt-content-primary-foreground);\n --metric-subtitle-color: var(--salt-content-secondary-foreground);\n}\n\n.saltMetricHeader {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: calc(var(--salt-
|
|
3
|
+
var css_248z = ".saltMetricHeader {\n --metric-title-color: var(--salt-content-primary-foreground);\n --metric-subtitle-color: var(--salt-content-secondary-foreground);\n}\n\n.saltMetricHeader {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: calc(var(--salt-spacing-100) * 0.25);\n}\n\n.saltMetric-orientation-horizontal.saltMetric-size-small .saltMetricHeader {\n padding-top: 4px;\n}\n.saltMetric-orientation-horizontal.saltMetric-size-medium .saltMetricHeader {\n padding-top: 8px;\n}\n.saltMetric-orientation-horizontal.saltMetric-size-large .saltMetricHeader {\n padding-top: 14px;\n}\n\n.saltMetricHeader-title {\n color: var(--metric-title-color);\n}\n\n.saltMetricHeader-subtitle {\n color: var(--metric-subtitle-color);\n font-weight: var(--salt-text-fontWeight);\n}\n\n.saltMetric-align-center .saltMetricHeader {\n align-items: center;\n}\n\n.saltMetric-align-right .saltMetricHeader {\n align-items: flex-end;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=MetricHeader.css.js.map
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var css_248z = ".saltOnSolidButton {\n --onSolidButton-borderWidth: var(--salt-size-fixed-100);\n align-items: center;\n appearance: none;\n -webkit-appearance: none;\n background: var(--salt-actionable-onSolid-subtle-background);\n border-color: var(--salt-actionable-onSolid-subtle-borderColor);\n border-radius: var(--salt-palette-corner-weak, 0);\n border-style: solid;\n border-width: var(--onSolidButton-borderWidth);\n color: var(--salt-actionable-onSolid-subtle-foreground);\n display: inline-flex;\n font-family: var(--salt-text-action-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-action-fontWeight);\n gap: var(--salt-spacing-50);\n height: var(--salt-size-base);\n justify-content: center;\n letter-spacing: var(--salt-text-action-letterSpacing);\n line-height: var(--salt-text-lineHeight);\n margin: 0;\n padding: 0 calc(var(--salt-spacing-100) - var(--onSolidButton-borderWidth));\n position: relative;\n -webkit-tap-highlight-color: transparent;\n text-align: var(--salt-text-action-textAlign);\n text-decoration: none;\n text-transform: var(--salt-text-action-textTransform);\n transition: none;\n}\n\n.saltOnSolidButton:focus-visible {\n background: var(--salt-actionable-onSolid-subtle-background-hover);\n border-color: var(--salt-actionable-onSolid-subtle-borderColor-hover);\n color: var(--salt-actionable-onSolid-subtle-foreground-hover);\n outline-color: var(--salt-focused-onSolid-outlineColor);\n outline-offset: var(--salt-focused-outlineOffset);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n}\n\n@media (hover: hover) {\n .saltOnSolidButton:hover {\n background: var(--salt-actionable-onSolid-subtle-background-hover);\n border-color: var(--salt-actionable-onSolid-subtle-borderColor-hover);\n color: var(--salt-actionable-onSolid-subtle-foreground-hover);\n cursor: var(--salt-cursor-hover);\n }\n}\n\n.saltOnSolidButton.saltOnSolidButton-active:focus-visible,\n.saltOnSolidButton:focus-visible:active,\n.saltOnSolidButton:active,\n.saltOnSolidButton.saltOnSolidButton-active {\n background: var(--salt-actionable-onSolid-subtle-background-active);\n border-color: var(--salt-actionable-onSolid-subtle-borderColor-active);\n color: var(--salt-actionable-onSolid-subtle-foreground-active);\n cursor: var(--salt-cursor-active);\n}\n\n.saltOnSolidButton:disabled,\n.saltOnSolidButton.saltOnSolidButton-disabled,\n.saltOnSolidButton.saltOnSolidButton-disabled:active,\n.saltOnSolidButton.saltOnSolidButton-disabled:focus-visible,\n.saltOnSolidButton.saltOnSolidButton-disabled:focus-visible:active,\n.saltOnSolidButton.saltOnSolidButton-disabled:hover {\n background: var(--salt-actionable-onSolid-subtle-background);\n border-color: var(--salt-actionable-onSolid-subtle-borderColor);\n color: var(--salt-actionable-onSolid-subtle-foreground);\n cursor: var(--salt-cursor-disabled);\n opacity: 0.4;\n}\n\n.saltOnSolidButton strong {\n font-weight: var(--salt-text-action-fontWeight-strong);\n}\n\n.saltOnSolidButton small {\n font-size: inherit;\n font-weight: var(--salt-text-action-fontWeight-small);\n}\n";
|
|
4
|
+
|
|
5
|
+
module.exports = css_248z;
|
|
6
|
+
//# sourceMappingURL=OnSolidButton.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnSolidButton.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var core = require('@salt-ds/core');
|
|
5
|
+
var styles = require('@salt-ds/styles');
|
|
6
|
+
var window = require('@salt-ds/window');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var react = require('react');
|
|
9
|
+
var OnSolidButton$1 = require('./OnSolidButton.css.js');
|
|
10
|
+
|
|
11
|
+
const withBaseName = core.makePrefixer("saltOnSolidButton");
|
|
12
|
+
const OnSolidButton = react.forwardRef(
|
|
13
|
+
function OnSolidButton2({
|
|
14
|
+
children,
|
|
15
|
+
className,
|
|
16
|
+
disabled,
|
|
17
|
+
focusableWhenDisabled,
|
|
18
|
+
onBlur,
|
|
19
|
+
onClick,
|
|
20
|
+
onKeyDown,
|
|
21
|
+
onKeyUp,
|
|
22
|
+
type = "button",
|
|
23
|
+
...rest
|
|
24
|
+
}, ref) {
|
|
25
|
+
const targetWindow = window.useWindow();
|
|
26
|
+
styles.useComponentCssInjection({
|
|
27
|
+
testId: "salt-on-solid-button",
|
|
28
|
+
css: OnSolidButton$1,
|
|
29
|
+
window: targetWindow
|
|
30
|
+
});
|
|
31
|
+
const { active, buttonProps } = core.useButton({
|
|
32
|
+
disabled,
|
|
33
|
+
focusableWhenDisabled,
|
|
34
|
+
onBlur,
|
|
35
|
+
onClick,
|
|
36
|
+
onKeyDown,
|
|
37
|
+
onKeyUp
|
|
38
|
+
});
|
|
39
|
+
const { tabIndex: _tabIndex, ...restButtonProps } = buttonProps;
|
|
40
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
41
|
+
"button",
|
|
42
|
+
{
|
|
43
|
+
...restButtonProps,
|
|
44
|
+
className: clsx.clsx(
|
|
45
|
+
withBaseName(),
|
|
46
|
+
{
|
|
47
|
+
[withBaseName("active")]: active,
|
|
48
|
+
[withBaseName("disabled")]: disabled
|
|
49
|
+
},
|
|
50
|
+
className
|
|
51
|
+
),
|
|
52
|
+
...rest,
|
|
53
|
+
ref,
|
|
54
|
+
type,
|
|
55
|
+
children
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
exports.OnSolidButton = OnSolidButton;
|
|
62
|
+
//# sourceMappingURL=OnSolidButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OnSolidButton.js","sources":["../src/on-solid-button/OnSolidButton.tsx"],"sourcesContent":["import { makePrefixer, useButton } from \"@salt-ds/core\";\nimport { useComponentCssInjection } from \"@salt-ds/styles\";\nimport { useWindow } from \"@salt-ds/window\";\nimport { clsx } from \"clsx\";\nimport { type ComponentPropsWithoutRef, forwardRef } from \"react\";\n\nimport onSolidButtonCss from \"./OnSolidButton.css\";\n\nconst withBaseName = makePrefixer(\"saltOnSolidButton\");\n\nexport interface OnSolidButtonProps extends ComponentPropsWithoutRef<\"button\"> {\n /**\n * If `true`, the button will be disabled.\n */\n disabled?: boolean;\n /**\n * If `true`, the button will be focusable when disabled.\n */\n focusableWhenDisabled?: boolean;\n}\n\nexport const OnSolidButton = forwardRef<HTMLButtonElement, OnSolidButtonProps>(\n function OnSolidButton(\n {\n children,\n className,\n disabled,\n focusableWhenDisabled,\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n type = \"button\",\n ...rest\n },\n ref,\n ) {\n const targetWindow = useWindow();\n useComponentCssInjection({\n testId: \"salt-on-solid-button\",\n css: onSolidButtonCss,\n window: targetWindow,\n });\n\n const { active, buttonProps } = useButton<HTMLButtonElement>({\n disabled,\n focusableWhenDisabled,\n onBlur,\n onClick,\n onKeyDown,\n onKeyUp,\n });\n\n const { tabIndex: _tabIndex, ...restButtonProps } = buttonProps;\n\n return (\n <button\n {...restButtonProps}\n className={clsx(\n withBaseName(),\n {\n [withBaseName(\"active\")]: active,\n [withBaseName(\"disabled\")]: disabled,\n },\n className,\n )}\n {...rest}\n ref={ref}\n type={type}\n >\n {children}\n </button>\n );\n },\n);\n"],"names":["makePrefixer","forwardRef","OnSolidButton","useWindow","useComponentCssInjection","onSolidButtonCss","useButton","jsx","clsx"],"mappings":";;;;;;;;;;AAQA,MAAM,YAAA,GAAeA,kBAAa,mBAAmB,CAAA;AAa9C,MAAM,aAAA,GAAgBC,gBAAA;AAAA,EAC3B,SAASC,cAAAA,CACP;AAAA,IACE,QAAA;AAAA,IACA,SAAA;AAAA,IACA,QAAA;AAAA,IACA,qBAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA,IAAA,GAAO,QAAA;AAAA,IACP,GAAG;AAAA,KAEL,GAAA,EACA;AACA,IAAA,MAAM,eAAeC,gBAAA,EAAU;AAC/B,IAAAC,+BAAA,CAAyB;AAAA,MACvB,MAAA,EAAQ,sBAAA;AAAA,MACR,GAAA,EAAKC,eAAA;AAAA,MACL,MAAA,EAAQ;AAAA,KACT,CAAA;AAED,IAAA,MAAM,EAAE,MAAA,EAAQ,WAAA,EAAY,GAAIC,cAAA,CAA6B;AAAA,MAC3D,QAAA;AAAA,MACA,qBAAA;AAAA,MACA,MAAA;AAAA,MACA,OAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA,KACD,CAAA;AAED,IAAA,MAAM,EAAE,QAAA,EAAU,SAAA,EAAW,GAAG,iBAAgB,GAAI,WAAA;AAEpD,IAAA,uBACEC,cAAA;AAAA,MAAC,QAAA;AAAA,MAAA;AAAA,QACE,GAAG,eAAA;AAAA,QACJ,SAAA,EAAWC,SAAA;AAAA,UACT,YAAA,EAAa;AAAA,UACb;AAAA,YACE,CAAC,YAAA,CAAa,QAAQ,CAAC,GAAG,MAAA;AAAA,YAC1B,CAAC,YAAA,CAAa,UAAU,CAAC,GAAG;AAAA,WAC9B;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,IAAA;AAAA,QACJ,GAAA;AAAA,QACA,IAAA;AAAA,QAEC;AAAA;AAAA,KACH;AAAA,EAEJ;AACF;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltQueryInputBody {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.saltQueryInputBody > .saltIcon {\n padding: var(--salt-
|
|
3
|
+
var css_248z = ".saltQueryInputBody {\n display: flex;\n flex-direction: row;\n align-items: center;\n}\n\n.saltQueryInputBody > .saltIcon {\n padding: var(--salt-spacing-100);\n align-self: start;\n}\n\n.saltQueryInputBody-separator {\n width: 1px;\n background: var(--salt-separable-secondary-borderColor);\n margin: 0 var(--salt-spacing-100);\n align-self: stretch;\n}\n\n.saltQueryInputBody-buttonGroup {\n flex-shrink: 0;\n align-self: start;\n margin-bottom: var(--salt-spacing-100);\n}\n\n.saltQueryInputBody-input {\n flex-grow: 1;\n}\n\n.saltQueryInputValueSelector-content {\n display: flex;\n flex-direction: row;\n}\n\n.saltCategoryList-categoryWidthMeasure {\n position: fixed;\n left: -1000px;\n top: 0;\n border: solid 1px black;\n}\n\n.saltCategoryList-category {\n font-size: var(--salt-text-fontSize);\n}\n\n.saltCategoryListItem-text {\n flex-shrink: 0;\n margin-right: calc(var(--salt-spacing-100) * 1.5);\n}\n\n.saltCategoryListItem-valuesContainer {\n font-style: italic;\n color: var(--salt-content-secondary-foreground);\n flex-grow: 1;\n display: flex;\n flex-direction: row;\n overflow: hidden;\n}\n\n.saltCategoryListItem-values {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.saltCategoryListItem-chevron {\n flex-shrink: 0;\n margin-left: var(--salt-spacing-100);\n}\n\n.saltListItem-selected .saltIcon {\n fill: var(--list-item-text-color-active);\n}\n\n.saltQueryInputValueList {\n border: solid 1px var(--salt-container-bold-borderColor);\n}\n\n.saltQueryInputValueList-back {\n display: flex;\n flex-direction: row;\n align-items: center;\n border-bottom: solid 1px var(--salt-separable-secondary-borderColor);\n cursor: var(--salt-cursor-hover);\n}\n\n.saltQueryInputValueList-back .saltIcon {\n margin-right: var(--salt-spacing-100);\n}\n\n.saltQueryInputValueList-category {\n font-size: var(--salt-text-fontSize);\n flex-grow: 1;\n}\n\n.saltQueryInputSearchList-addKeyword {\n border-top: solid 1px var(--salt-separable-secondary-borderColor);\n}\n\n.saltQueryInputSearchList-categoryTitle {\n color: var(--salt-content-primary-foreground);\n background: var(--salt-container-primary-background);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight-strong);\n display: flex;\n align-items: center;\n padding: 0 var(--salt-spacing-100);\n position: sticky;\n top: 0;\n z-index: var(--salt-zIndex-default);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=QueryInput.css.js.map
|
package/dist-cjs/tabs/Tab.css.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Class applied to root Tab element */\n.saltTab {\n --saltEditableLabel-padding: 0;\n --saltEditableLabel-height: var(--tabs-tabstrip-height);\n --saltInputLegacy-minWidth: 4em;\n\n --tabs-tab-background: transparent;\n --tabs-tab-cursor: pointer;\n --tabs-tab-spacing: var(--salt-
|
|
3
|
+
var css_248z = "/* Class applied to root Tab element */\n.saltTab {\n --saltEditableLabel-padding: 0;\n --saltEditableLabel-height: var(--tabs-tabstrip-height);\n --saltInputLegacy-minWidth: 4em;\n\n --tabs-tab-background: transparent;\n --tabs-tab-cursor: pointer;\n --tabs-tab-spacing: var(--salt-spacing-100);\n --tabs-tab-position: relative;\n}\n\n.saltTab {\n align-items: center;\n align-self: stretch;\n background: var(--saltTabs-tab-background, var(--tabs-tab-background));\n border: none;\n border-radius: 0;\n color: var(--salt-content-primary-foreground);\n cursor: var(--saltTabs-tab-cursor, var(--tabs-tab-cursor));\n display: var(--tabs-tabstrip-display);\n height: var(--saltTabs-tab-height, var(--tabs-tabstrip-height));\n letter-spacing: var(--saltTabs-tab-letterSpacing, var(--tabs-tab-letterSpacing, 0));\n min-width: var(--saltTabs-tab-minWidth, 40px);\n outline: none;\n position: var(--saltTabs-tab-position, var(--tabs-tab-position));\n user-select: none;\n\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n /* Not specify line-height, otherwise tabs are misaligned */\n}\n\n/* Overrides characteristic used in saltFocusVisible */\n.saltTab.saltFocusVisible:after {\n inset: 2px 2px 4px 2px;\n}\n\n.saltTab:not(.saltTab-vertical) {\n margin: 0 var(--tabs-tab-spacing) 0 0;\n}\n\n.saltTab[aria-selected=\"true\"] {\n color: var(--salt-content-primary-foreground);\n font-weight: var(--salt-text-fontWeight-strong);\n}\n\n.saltTab-dragAway {\n display: none;\n}\n\n/* main content aria of Tab */\n.saltTab-main {\n background: inherit;\n border: none;\n color: inherit;\n cursor: inherit;\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n height: var(--saltTabs-tabstrip-height, calc(var(--salt-size-base) + var(--salt-spacing-100)));\n outline: none;\n padding: 0 var(--tabs-tab-spacing);\n position: relative;\n}\n\n.saltTab-closeable .saltTab-main {\n border-right: solid transparent var(--salt-spacing-100);\n}\n\n.saltTab .saltTab-closeButton {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n/* the close Button on a closeable Tab*/\n.saltTab-close-icon {\n display: block;\n}\n\n.saltTab .saltTab-text {\n display: inline-block;\n position: relative;\n overflow: hidden;\n text-align: var(--salt-text-textAlign-embedded);\n text-overflow: ellipsis;\n top: var(--saltTabs-tab-top, var(--tabs-tab-top, auto));\n white-space: nowrap;\n /* ensure content sits above focus ring */\n z-index: var(--salt-zIndex-default);\n}\n\n.saltTab-vertical .saltTab-text {\n text-align: var(--salt-text-textAlign);\n}\n\n.saltTab .saltTab-text:before {\n height: 0;\n content: attr(data-text);\n display: block;\n visibility: hidden;\n font-weight: var(--salt-text-fontWeight-strong);\n}\n\n/* FIXME: these are all focusVisible styles, but with a bespoke inset */\n.saltTab-editing:after {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n right: 0;\n bottom: 2px;\n outline-color: var(--salt-focused-outlineColor);\n outline-style: var(--salt-focused-outlineStyle);\n outline-width: var(--salt-focused-outlineWidth);\n outline-offset: -2px;\n}\n\n.saltTab-vertical.saltTab-editing:after {\n right: 2px;\n bottom: 0;\n}\n\n.saltTab-vertical .saltFocusVisible:not([aria-selected=\"true\"]):before {\n left: auto;\n height: auto;\n top: 0;\n width: 2px;\n}\n\n.saltTab.saltFocusVisible {\n background: var(--saltTabs-tab-hover-background, var(--salt-overlayable-background-hover));\n}\n\n.saltTab:before {\n content: var(--tabs-tab-before-content, none);\n background: var(--tabs-tab-before-background);\n height: var(--tabs-tab-before-height);\n inset: var(--tabs-tab-before-inset);\n position: absolute;\n width: var(--tabs-tab-before-width);\n z-index: 1;\n}\n\n.saltTabstrip-draggingTab .saltTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-accent-indicator-active);\n --tabs-tab-before-height: var(--tabs-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tabs-activationIndicator-inset);\n --tabs-tab-before-width: var(--tabs-activationIndicator-thumb-width);\n}\n\n/* Hover styling */\n.saltTab:not([aria-selected=\"true\"]).saltFocusVisible:before,\n.saltTab:hover:not([aria-selected=\"true\"]):before {\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tabs-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tabs-activationIndicator-inset);\n --tabs-tab-before-width: var(--tabs-activationIndicator-thumb-width);\n}\n\n.saltTab:hover:not(.saltTab-closeHover) {\n background: var(--saltTabs-tab-hover-background, var(--salt-overlayable-background-hover));\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=Tab.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Component class applied to the root element */\n.saltTabstrip {\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, var(--salt-size-
|
|
3
|
+
var css_248z = "/* Component class applied to the root element */\n.saltTabstrip {\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, calc(var(--salt-size-base) + var(--salt-spacing-100)));\n --tabs-tabstrip-dragging-display: none;\n --tabs-tabstrip-display: inline-flex;\n --tabs-tabstrip-background: transparent;\n\n align-items: flex-start;\n align-self: var(--saltTabs-tabstrip-alignSelf, stretch);\n font-size: var(--salt-text-fontSize);\n font-weight: var(--salt-text-fontWeight);\n position: relative;\n overflow: hidden;\n display: flex;\n min-width: 28px;\n width: 100%;\n}\n\n/* Tabstrip orientation is horizontal */\n.saltTabstrip-horizontal {\n --saltTabs-activationIndicator-height: 1px;\n --saltTabs-activationIndicator-thumb-inset: -1px 0 0 0;\n\n --tabs-activationIndicator-borderStyle: none none solid none;\n --tabs-activationIndicator-inset: auto 0px 0px 0px;\n --tabs-activationIndicator-transitionProperty: left;\n --tabs-activationIndicator-thumb-height: 2px;\n}\n\n/* Tabstrip orientation is vertical */\n.saltTabstrip-vertical {\n --saltTabs-activationIndicator-thumb-inset: 0 0 0 -1px;\n\n --tabs-activationIndicator-transition: top 0.3s ease;\n --tabs-activationIndicator-borderStyle: none solid none none;\n --tabs-activationIndicator-inset: 0px 0px 0px auto;\n --tabs-activationIndicator-transitionProperty: top;\n --tabs-activationIndicator-width: 1px;\n --tabs-activationIndicator-thumb-width: 2px;\n\n align-self: flex-start;\n display: inline-flex;\n}\n\n.saltTabstrip-draggingTab {\n --saltTabs-activationIndicator-transition: none;\n}\n\n.saltTabstrip-draggingTab .saltTab {\n pointer-events: none;\n}\n\n/* Tabstrip orientation is horizontal */\n.saltTabstrip-horizontal {\n height: var(--tabs-tabstrip-height);\n}\n\n.saltTabstrip-addButton,\n.saltDropdownBase.saltTabstrip-overflowMenu {\n margin-left: var(--salt-spacing-100);\n}\n\n.saltTabstrip-overflowMenu.saltDropdownBase {\n --saltIcon-margin: 2px 0 0 0px;\n}\n\n.saltTabstrip-overflowMenu-open {\n --saltButton-background: var(--salt-actionable-subtle-background-active);\n --saltButton-text-color: var(--salt-actionable-subtle-foreground-active);\n}\n\n.saltTabstrip-overflowMenu-open .saltButton {\n --saltIcon-color: var(--salt-actionable-subtle-foreground-active);\n}\n\n.saltTabstrip-inner {\n width: 100%;\n align-items: center;\n display: flex;\n flex-basis: auto;\n flex-grow: 0;\n flex-shrink: 1;\n flex-wrap: wrap;\n justify-content: flex-start;\n line-height: var(--tabs-tabstrip-height);\n}\n\n.saltTabstrip-vertical .saltTabstrip-inner {\n flex-direction: column;\n height: auto;\n}\n\n.saltTabstrip-centered .saltTabstrip-inner {\n justify-content: center;\n}\n\n/* Styling applied to Draggable wrapper when used to drag a Tab */\n.saltDraggable[class*=\"tabstrip\"] {\n --tabs-tabstrip-display: flex;\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, calc(var(--salt-size-base) + var(--salt-spacing-100)));\n --tabs-tabstrip-dragging-display: block;\n\n --tabs-tab-background: var(--salt-overlayable-background-hover);\n --tabs-tab-before-content: \"\";\n --tabs-tab-before-background: var(--salt-navigable-indicator-hover);\n --tabs-tab-before-height: var(--tabs-activationIndicator-thumb-height);\n --tabs-tab-before-inset: var(--tabs-activationIndicator-inset);\n --tabs-tab-before-width: var(--tabs-activationIndicator-thumb-width);\n --tabs-tab-cursor: var(--salt-cursor-grab-active);\n --tabs-tab-position: static;\n\n font-size: 12px;\n}\n\n.saltDraggable-tabstrip-horizontal {\n --tabs-tabstrip-height: var(--saltTabs-tabstrip-height, calc(var(--salt-size-base) + var(--salt-spacing-100)));\n --tabs-activationIndicator-thumb-height: 2px;\n --tabs-activationIndicator-inset: auto 0px 0px 0px;\n\n line-height: var(--tabs-tabstrip-height);\n}\n.saltDraggable-tabstrip-vertical {\n --tabs-activationIndicator-inset: 0px 0px 0px auto;\n --tabs-activationIndicator-thumb-width: 2px;\n}\n\n.saltDraggable[class*=\"tabstrip\"] .saltTab[aria-selected=\"true\"]:before {\n --tabs-tab-before-background: var(--salt-navigable-accent-indicator-active);\n}\n\n.saltDraggable[class*=\"tabstrip\"] .saltTab {\n box-shadow: var(--salt-overlayable-shadow-drag);\n}\n\n[data-overflowed] {\n order: 99;\n visibility: hidden;\n}\n\n.saltTabstrip-overflowMenu-dropTarget:after {\n background: var(--salt-selectable-background-selected);\n content: \"\";\n position: absolute;\n height: 2px;\n left: 0;\n right: 0;\n bottom: 0;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=Tabstrip.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".salt-density-touch {\n /* Component specific, what semantic concept would cover these */\n --toolbar-depth: calc(
|
|
3
|
+
var css_248z = ".salt-density-touch {\n /* Component specific, what semantic concept would cover these */\n --toolbar-depth: calc(4px * 13);\n}\n\n.salt-density-low {\n /* Component specific, what semantic concept would cover these */\n --toolbar-depth: calc(4px * 11);\n}\n\n.salt-density-medium {\n /* Component specific, what semantic concept would cover these */\n --toolbar-depth: calc(4px * 9);\n}\n\n.salt-density-high {\n /* Component specific, what semantic concept would cover these */\n --toolbar-depth: calc(4px * 7);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=ThemeTabstrip.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Styles applied to root component (TokenizedInput) */\n.salt-density-medium {\n --tokenizedInput-gutter-size:
|
|
3
|
+
var css_248z = "/* Styles applied to root component (TokenizedInput) */\n.salt-density-medium {\n --tokenizedInput-gutter-size: 4px;\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-spacing-100) / 2);\n --tokenizedInput-last-pill-margin: var(--salt-spacing-100);\n}\n.salt-density-touch {\n --tokenizedInput-gutter-size: 4px;\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-spacing-100) / 2 + 2px);\n --tokenizedInput-last-pill-margin: calc(var(--salt-spacing-100) / 2);\n}\n\n.salt-density-low {\n --tokenizedInput-gutter-size: 4px;\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-spacing-100) / 2 + 1px);\n --tokenizedInput-last-pill-margin: calc(var(--salt-spacing-100) / 2);\n}\n\n.salt-density-high {\n --tokenizedInput-gutter-size: calc(4px - 1px);\n --tokenizedInput-pill-group-y-padding: calc(var(--salt-spacing-100) / 2 + 1px);\n --tokenizedInput-last-pill-margin: var(--salt-spacing-100);\n}\n\n.saltTokenizedInput {\n --tokenizedInput-spacing: var(--salt-spacing-100);\n --tokenizedInput-height: var(--salt-size-base);\n}\n\n.saltTokenizedInput {\n display: inline-flex;\n justify-content: space-between;\n min-width: 8em; /* same min-width as Input component */\n width: 100%;\n}\n\n/* Styles applied to root component on hover state */\n.saltTokenizedInput:hover {\n cursor: var(--salt-cursor-text);\n}\n\n/* Styles applied to root component on hover state if `disabled={true}` */\n.saltTokenizedInput.saltTokenizedInput-disabled:hover {\n cursor: var(--salt-cursor-disabled);\n}\n\n/* Styles applied to container of pills */\n.saltTokenizedInput-pillGroup {\n align-content: flex-start;\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n min-height: var(--tokenizedInput-height);\n padding: var(--tokenizedInput-pill-group-y-padding) var(--tokenizedInput-spacing);\n box-sizing: border-box;\n}\n\n/* Styles applied to root component if `disabled={true}` */\n.saltTokenizedInput-disabled {\n cursor: var(--salt-cursor-disabled);\n opacity: var(--saltTokenizedInput-disabled-opacity, 0.4);\n}\n\n/* Styles applied to root component if `focused={true}` */\n.saltTokenizedInput-focused {\n outline: var(--saltTokenizedInput-focused-outline, var(--salt-focused-outline));\n}\n\n/* Styles applied to root component if `expanded={true}` */\n.saltTokenizedInput-expanded {\n height: auto;\n\n /* Pill CSS API */\n --saltPill-maxWidth: calc(100px - var(--salt-spacing-100));\n}\n\n/* Styles applied to Input and Clear Button if `expanded={false}` */\n.saltTokenizedInput-hidden,\n.saltTokenizedInput-input.saltTokenizedInput-hidden,\n.saltButton.saltTokenizedInput-hidden {\n display: none;\n}\n\n/**\n Styles applied to inner Input component\n Used to be .inputRoot\n**/\n.saltInputLegacy.saltTokenizedInput-input {\n align-items: flex-start;\n cursor: var(--salt-cursor-text);\n flex-grow: 1;\n padding: 0;\n outline: none;\n width: auto;\n height: auto;\n min-width: 0;\n min-height: 0;\n}\n\n/* Styles applied to Clear Button */\n.saltTokenizedInput-clearButton {\n flex: none;\n align-self: flex-end;\n}\n\n/* Styles applied to Expand Button */\n.saltTokenizedInput-expandButton.saltButton {\n padding: 0 calc(var(--tokenizedInput-spacing) / 4);\n --saltButton-height: calc(var(--tokenizedInput-height) - var(--tokenizedInput-spacing) * 1.5);\n --saltButton-margin: calc(var(--tokenizedInput-gutter-size) / 2) 0;\n}\n\n/* Styles applied to root component and pill container if `expanded={true}` */\n.saltTokenizedInput-expanded,\n.saltTokenizedInput-expanded .saltTokenizedInput-pillGroup {\n height: auto;\n}\n\n/* TODO: Adjust specificity of .InputPill depending on styling solution.\n This is an example of internal sub-component naming convension. */\n.saltTokenizedInput .saltInputPill,\n.saltInputLegacy.saltTokenizedInput-input,\n.saltTokenizedInput-inputField.saltTokenizedInput-inputMultiline .saltTokenizedInput-input {\n margin: calc(var(--tokenizedInput-gutter-size) / 2) 0;\n height: calc(var(--tokenizedInput-height) - var(--tokenizedInput-spacing) * 1.5);\n}\n\n/* Styles applied to inner Pills */\n.saltTokenizedInput .saltInputPill {\n min-width: 0;\n margin-right: var(--tokenizedInput-gutter-size);\n --saltPill-maxWidth: 100px;\n}\n\n.saltTokenizedInput .saltInputPill > * {\n min-width: 0;\n}\n\n/* Styles applied to a Pill if `expanded={false} && index >= firstHiddenIndex` */\n.saltTokenizedInput .saltInputPill.saltInputPill-hidden {\n display: none;\n}\n\n/* Styles applied to the last visible Pill when all visible */\n.saltTokenizedInput .saltInputPill-pillLastVisible {\n margin-right: var(--saltTokenizedInput-pill-last-visible-marginRight, var(--tokenizedInput-last-pill-margin));\n}\n\n/* Styles applied to a Pill when active */\n.saltTokenizedInput .saltInputPill-pillActive {\n background: var(--saltTokenizedInput-pill-background-active, var(--salt-selectable-background-hover));\n}\n\n/* Styles applied to a Pills delete icon */\n.saltTokenizedInput .saltInputPill-pillActive .saltPill-deleteIcon {\n color: var(--saltTokenizedInput-pill-delete-icon-color, var(--salt-actionable-accented-bold-foreground-hover));\n}\n\n/* Styles applied to a Pills delete button */\n.saltTokenizedInput .saltInputPill-pillActive .saltPill-deleteButton {\n color: var(--saltTokenizedInput-pill-delete-button-color-active, var(--salt-actionable-accented-bold-foreground-hover));\n background: var(--saltTokenizedInput-pill-delete-button-background-active, var(--salt-actionable-accented-bold-background-hover));\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=TokenizedInput.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = "/* Style applied to the root element */\n.saltTokenizedInputNext-container {\n width: 100%;\n}\n.saltTokenizedInputNext {\n --tokenizedInput-borderColor: var(--salt-editable-borderColor);\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-outlineColor: var(--salt-focused-outlineColor);\n --tokenizedInput-border: none;\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-100);\n\n align-items: center;\n background: var(--tokenizedInput-background);\n border: var(--tokenizedInput-border);\n color: var(--salt-content-primary-foreground);\n display: inline-flex;\n flex-wrap: wrap;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n height: 100%;\n line-height: var(--salt-text-lineHeight);\n min-height: var(--salt-size-base);\n padding: 0 var(--salt-spacing-100);\n position: relative;\n width: 100%;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* Style applied on hover */\n.saltTokenizedInputNext:hover {\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-borderColor: var(--salt-editable-borderColor-hover);\n\n background: var(--tokenizedInput-background-hover);\n cursor: var(--salt-cursor-hover);\n}\n\n/* Style applied when active */\n.saltTokenizedInputNext:active {\n --tokenizedInput-borderColor: var(--salt-editable-borderColor-active);\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-200);\n\n background: var(--tokenizedInput-background-active);\n cursor: var(--salt-cursor-active);\n}\n\n/* Class applied if `variant=\"primary\"` */\n.saltTokenizedInputNext-primary {\n --tokenizedInput-background: var(--salt-editable-primary-background);\n --tokenizedInput-background-active: var(--salt-editable-primary-background
|
|
3
|
+
var css_248z = "/* Style applied to the root element */\n.saltTokenizedInputNext-container {\n width: 100%;\n}\n.saltTokenizedInputNext {\n --tokenizedInput-borderColor: var(--salt-editable-borderColor);\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-outlineColor: var(--salt-focused-outlineColor);\n --tokenizedInput-border: none;\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-100);\n\n align-items: center;\n background: var(--tokenizedInput-background);\n border: var(--tokenizedInput-border);\n color: var(--salt-content-primary-foreground);\n display: inline-flex;\n flex-wrap: wrap;\n font-family: var(--salt-text-fontFamily);\n font-size: var(--salt-text-fontSize);\n height: 100%;\n line-height: var(--salt-text-lineHeight);\n min-height: var(--salt-size-base);\n padding: 0 var(--salt-spacing-100);\n position: relative;\n width: 100%;\n overflow: hidden;\n box-sizing: border-box;\n}\n\n/* Style applied on hover */\n.saltTokenizedInputNext:hover {\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-borderColor: var(--salt-editable-borderColor-hover);\n\n background: var(--tokenizedInput-background-hover);\n cursor: var(--salt-cursor-hover);\n}\n\n/* Style applied when active */\n.saltTokenizedInputNext:active {\n --tokenizedInput-borderColor: var(--salt-editable-borderColor-active);\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-200);\n\n background: var(--tokenizedInput-background-active);\n cursor: var(--salt-cursor-active);\n}\n\n/* Class applied if `variant=\"primary\"` */\n.saltTokenizedInputNext-primary {\n --tokenizedInput-background: var(--salt-editable-primary-background);\n --tokenizedInput-background-active: var(--salt-editable-primary-background);\n --tokenizedInput-background-hover: var(--salt-editable-primary-background);\n --tokenizedInput-background-disabled: var(--salt-editable-primary-background-disabled);\n --tokenizedInput-background-readonly: var(--salt-editable-background-readonly);\n}\n\n/* Class applied if `variant=\"secondary\"` */\n.saltTokenizedInputNext-secondary {\n --tokenizedInput-background: var(--salt-editable-secondary-background);\n --tokenizedInput-background-active: var(--salt-editable-secondary-background);\n --tokenizedInput-background-hover: var(--salt-editable-secondary-background);\n --tokenizedInput-background-disabled: var(--salt-editable-secondary-background-disabled);\n --tokenizedInput-background-readonly: var(--salt-editable-background-readonly);\n}\n\n/* Style applied to input if `validationState=\"error\"` */\n.saltTokenizedInputNext-error,\n.saltTokenizedInputNext-error:hover {\n --tokenizedInput-background: var(--salt-status-error-background);\n --tokenizedInput-background-active: var(--salt-status-error-background);\n --tokenizedInput-background-hover: var(--salt-status-error-background);\n --tokenizedInput-borderColor: var(--salt-status-error-borderColor);\n --tokenizedInput-outlineColor: var(--salt-status-error-borderColor);\n}\n\n/* Style applied to input if `validationState=\"warning\"` */\n.saltTokenizedInputNext-warning,\n.saltTokenizedInputNext-warning:hover {\n --tokenizedInput-background: var(--salt-status-warning-background);\n --tokenizedInput-background-active: var(--salt-status-warning-background);\n --tokenizedInput-background-hover: var(--salt-status-warning-background);\n --tokenizedInput-borderColor: var(--salt-status-warning-borderColor);\n --tokenizedInput-outlineColor: var(--salt-status-warning-borderColor);\n}\n\n/* Style applied to input if `validationState=\"success\"` */\n.saltTokenizedInputNext-success,\n.saltTokenizedInputNext-success:hover {\n --tokenizedInput-background: var(--salt-status-success-background);\n --tokenizedInput-background-active: var(--salt-status-success-background);\n --tokenizedInput-background-hover: var(--salt-status-success-background);\n --tokenizedInput-borderColor: var(--salt-status-success-borderColor);\n --tokenizedInput-outlineColor: var(--salt-status-success-borderColor);\n}\n\n/* Style applied to inner textarea element */\n.saltTokenizedInputNext-textarea {\n background: none;\n border: none;\n box-sizing: content-box;\n color: inherit;\n cursor: inherit;\n display: inline-flex;\n flex-basis: 0;\n height: var(--salt-text-lineHeight);\n font: inherit;\n letter-spacing: 0;\n overflow: hidden;\n resize: none;\n padding: 0;\n min-width: 1px; /* requires a min width to be visible */\n}\n.saltTokenizedInputNext-expanded .saltTokenizedInputNext-textarea {\n flex-grow: 1;\n min-width: 4em; /* on expanded, use the same min-width as input*/\n}\n\n/* Style applied to placeholder */\n.saltTokenizedInputNext-textarea::placeholder {\n font-weight: var(--salt-text-fontWeight-small);\n}\n\n/* Reset in the class */\n.saltTokenizedInputNext-textarea:focus {\n outline: none;\n}\n\n/* Styling when focused */\n.saltTokenizedInputNext-focused {\n --tokenizedInput-borderColor: var(--tokenizedInput-outlineColor);\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-200);\n\n outline: var(--salt-focused-outlineWidth) var(--salt-focused-outlineStyle) var(--tokenizedInput-outlineColor);\n}\n\n/* Style applied if `readOnly={true}` */\n.saltTokenizedInputNext-readOnly,\n.saltTokenizedInputNext-readOnly:active,\n.saltTokenizedInputNext-readOnly:hover {\n --tokenizedInput-borderColor: var(--salt-editable-borderColor-readonly);\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-100);\n\n background: var(--tokenizedInput-background-readonly);\n cursor: var(--salt-cursor-readonly);\n}\n\n/* Style applied to selected text if `disabled={true}` */\n.saltTokenizedInputNext-disabled .saltTokenizedInputNext-textarea::selection {\n background: none;\n}\n\n/* Style applied when `disabled={true}` */\n.saltTokenizedInputNext-disabled,\n.saltTokenizedInputNext-disabled:hover,\n.saltTokenizedInputNext-disabled:active {\n --tokenizedInput-borderColor: var(--salt-editable-borderColor-disabled);\n --tokenizedInput-borderStyle: var(--salt-borderStyle-solid);\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-100);\n\n background: var(--tokenizedInput-background-disabled);\n cursor: var(--salt-cursor-disabled);\n color: var(--salt-content-primary-foreground-disabled);\n}\n\n/* Style for activation indicator */\n.saltTokenizedInputNext-activationIndicator {\n left: 0;\n bottom: 0;\n width: 100%;\n position: absolute;\n border-bottom: var(--tokenizedInput-activationIndicator-borderWidth) var(--tokenizedInput-borderStyle) var(--tokenizedInput-borderColor);\n}\n\n/* Style applied if `bordered={true}` */\n.saltTokenizedInputNext.saltTokenizedInputNext-bordered {\n --tokenizedInput-border: var(--salt-size-fixed-100) var(--salt-borderStyle-solid) var(--tokenizedInput-borderColor);\n --tokenizedInput-activationIndicator-borderWidth: 0;\n}\n\n/* Style applied if active or focused when `bordered={true}` */\n.saltTokenizedInputNext-bordered:active,\n.saltTokenizedInputNext-bordered.saltTokenizedInputNext-focused {\n --tokenizedInput-activationIndicator-borderWidth: var(--salt-size-fixed-200);\n}\n\n/* Styling when focused if `disabled={true}` or `readOnly={true}` when `bordered={true}` */\n.saltTokenizedInputNext-bordered.saltTokenizedInputNext-readOnly:hover,\n.saltTokenizedInputNext-bordered.saltTokenizedInputNext-disabled:hover {\n --tokenizedInput-activationIndicator-borderWidth: 0;\n}\n\n.saltTokenizedInputNext-statusAdornment {\n margin-left: auto;\n margin-right: var(--salt-spacing-100);\n}\n\n.saltTokenizedInputNext-endAdornmentContainer {\n margin-left: auto;\n align-self: self-end;\n display: inline-flex;\n min-height: var(--salt-size-base);\n}\n\n.saltTokenizedInputNext-statusAdornment ~ .saltTokenizedInputNext-endAdornmentContainer {\n margin-left: 0;\n}\n\n.saltTokenizedInputNext .saltButton {\n --saltButton-padding: 0;\n --saltButton-height: calc(var(--salt-size-base) - var(--salt-spacing-100));\n --saltButton-width: calc(var(--salt-size-base) - var(--salt-spacing-100));\n}\n\n.saltTokenizedInputNext .saltButton.saltTokenizedInputNext-endAdornment {\n --saltButton-margin: auto calc(var(--salt-spacing-50) * -1) auto auto;\n}\n.saltTokenizedInputNext-hidden {\n display: none;\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=TokenizedInputNext.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltInputPill {\n max-width: 100%;\n margin: var(--salt-spacing-25) var(--salt-spacing-50);\n margin-left: 0;\n}\n.saltInputPill-expanded {\n max-width: calc(100% - (var(--salt-size-base) - var(--salt-spacing-100)));\n}\n.saltInputPill-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.saltInputPill.saltInputPill-hidden {\n display: none;\n}\n\n.saltInputPill.saltInputPill:hover {\n background: var(--salt-selectable-background-hover);\n}\n\n.saltInputPill.saltInputPill-pillHighlighted {\n --saltPill-background: var(--salt-selectable-background-hover);\n}\n\n.saltInputPill.saltInputPill:active {\n background: var(--salt-actionable-
|
|
3
|
+
var css_248z = ".saltInputPill {\n max-width: 100%;\n margin: var(--salt-spacing-25) var(--salt-spacing-50);\n margin-left: 0;\n}\n.saltInputPill-expanded {\n max-width: calc(100% - (var(--salt-size-base) - var(--salt-spacing-100)));\n}\n.saltInputPill-label {\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n.saltInputPill.saltInputPill-hidden {\n display: none;\n}\n\n.saltInputPill.saltInputPill:hover {\n background: var(--salt-selectable-background-hover);\n}\n\n.saltInputPill.saltInputPill-pillHighlighted {\n --saltPill-background: var(--salt-selectable-background-hover);\n}\n\n.saltInputPill.saltInputPill:active {\n background: var(--salt-actionable-bold-background-active);\n --saltPill-color: var(--salt-actionable-bold-foreground-active);\n --saltIcon-color: var(--salt-actionable-bold-foreground-active);\n}\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=InputPill.css.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var css_248z = ".saltToolbar {\n --toolbar-background: var(--salt-container-secondary-background);\n --toolbar-fontSize: var(--salt-text-fontSize);\n /* --saltFormFieldLegacy-activationIndicator-size: 0; */\n}\n\n.saltToolbar {\n --toolbar-size: calc(var(--salt-size-base) + var(--salt-
|
|
3
|
+
var css_248z = ".saltToolbar {\n --toolbar-background: var(--salt-container-secondary-background);\n --toolbar-fontSize: var(--salt-text-fontSize);\n /* --saltFormFieldLegacy-activationIndicator-size: 0; */\n}\n\n.saltToolbar {\n --toolbar-size: calc(var(--salt-size-base) + var(--salt-spacing-100) * 2);\n\n background: var(--saltToolbar-background, var(--toolbar-background));\n font-size: var(--toolbar-fontSize);\n justify-content: flex-start;\n overflow: hidden;\n position: relative;\n\n font-family: var(--salt-text-fontFamily);\n font-weight: var(--salt-text-fontWeight);\n line-height: var(--salt-text-lineHeight);\n}\n\n/* .saltToolbarField:not([data-overflow-indicator]) > .saltButton {\n --saltButton-fontSize: 0;\n --saltButton-letterSpacing: 0;\n} */\n\n.saltToolbar > .Responsive-inner {\n align-items: center;\n flex: 1;\n flex-wrap: wrap;\n justify-content: inherit;\n margin: 0 !important;\n overflow: hidden;\n padding: 0 !important;\n}\n\n.saltToolbar[aria-orientation=\"horizontal\"] {\n display: flex;\n height: var(--saltToolbar-height, var(--toolbar-size));\n line-height: normal;\n min-width: 0;\n white-space: nowrap;\n width: var(--saltToolbar-width, 100%);\n}\n\n.saltToolbar[aria-orientation=\"horizontal\"] > .Responsive-inner {\n display: flex;\n flex-direction: row;\n width: 100%;\n}\n\n.saltToolbar[aria-orientation=\"horizontal\"] > .Responsive-inner > :not(.saltTooltray) {\n margin-right: var(--salt-spacing-100);\n align-self: center;\n}\n\n.saltToolbar[aria-orientation=\"horizontal\"] > .Responsive-inner > .saltTooltray > .Responsive-inner > * {\n margin-top: var(--salt-spacing-100);\n /* margin-right: var(--salt-spacing-100); */\n}\n\n.saltToolbar[aria-orientation=\"horizontal\"] > .Responsive-inner > .saltTooltray {\n margin-top: 0;\n}\n\n.saltToolbar[aria-orientation=\"horizontal\"] > .Responsive-inner > [data-pad-end=\"true\"] {\n margin-right: auto;\n}\n\n.saltToolbar[aria-orientation=\"vertical\"] > .Responsive-inner > [data-pad-end=\"true\"] {\n margin-bottom: auto;\n}\n\n.saltToolbar[aria-orientation=\"horizontal\"] > .Responsive-inner > *:first-child {\n margin-left: var(--salt-spacing-100);\n}\n\n.saltToolbar[aria-orientation=\"vertical\"] {\n display: inline-flex;\n flex-direction: column;\n height: 100%;\n min-height: 0;\n}\n\n.saltToolbar[aria-orientation=\"vertical\"] > .Responsive-inner {\n display: inline-flex;\n flex-direction: column;\n max-height: 100%;\n}\n\n.saltToolbar > .Responsive-inner[data-collapsing=\"true\"] {\n flex-wrap: nowrap;\n}\n\n.saltToolbar > .Responsive-inner[data-collapsing=\"true\"] > *[data-overflowed=\"true\"] {\n min-width: 0;\n flex-shrink: 1;\n flex-basis: 0;\n padding: 0;\n margin: 0;\n visibility: visible;\n}\n\n.saltToolbar > .Responsive-inner > *[data-pad-start=\"true\"] {\n margin-left: auto;\n}\n\n.saltToolbarField-start {\n margin-left: 0 !important;\n order: -1;\n}\n\n.saltToolbar > .Responsive-inner > .saltToolbarField {\n flex-shrink: 0;\n flex-grow: 0;\n}\n\n.saltToolbarField.saltFormFieldLegacy-labelLeft > .saltFormLabel {\n padding-left: var(--salt-spacing-100);\n}\n\n.saltToolbar .saltFormFieldLegacy-primary.saltFormFieldLegacy > .saltToolbarButton {\n background: var(--toolbar-background);\n}\n.saltToolbar .saltFormFieldLegacy-primary.saltFormFieldLegacy > .saltToolbarButton:hover {\n background: var(--salt-actionable-subtle-background-hover);\n}\n.saltToolbar .saltFormFieldLegacy-primary.saltFormFieldLegacy > .saltButton-active,\n.saltToolbar .saltFormFieldLegacy-primary.saltFormFieldLegacy > .saltToolbarButton:active {\n background: var(--salt-actionable-subtle-background-active) !important;\n}\n\n/* copied over from Tabstrip.css */\n[data-overflowed] {\n order: 99;\n visibility: hidden;\n}\n\n/* .Responsive-inner > [data-collapsed='true'] {\n background: brown;\n}\n.Responsive-inner > [data-collapsing='true'] {\n background: pink;\n} */\n\n/* .saltToolbar > .Responsive-inner > .saltOverflowPanel {\n background: pink;;\n}\n\n.saltTooltray > .Responsive-inner > .saltOverflowPanel {\n background: yellow;\n} */\n";
|
|
4
4
|
|
|
5
5
|
module.exports = css_248z;
|
|
6
6
|
//# sourceMappingURL=Toolbar.css.js.map
|