reshaped 3.7.0-canary.9 → 3.7.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +36 -1
- package/dist/bundle.css +1 -1
- package/dist/bundle.d.ts +1 -2
- package/dist/bundle.js +11 -11
- package/dist/cjs/themes/_generator/tokens/color/utilities/generateColors.js +1 -1
- package/dist/cjs/themes/_generator/tokens/css.js +2 -2
- package/dist/cjs/themes/figma/theme.css +1 -1
- package/dist/cjs/themes/fragments/twitter/theme.css +1 -1
- package/dist/cjs/themes/reshaped/theme.css +1 -1
- package/dist/cjs/themes/slate/theme.css +1 -1
- package/dist/components/Accordion/Accordion.types.d.ts +2 -0
- package/dist/components/ActionBar/ActionBar.js +12 -4
- package/dist/components/ActionBar/ActionBar.module.css +1 -1
- package/dist/components/ActionBar/ActionBar.types.d.ts +4 -1
- package/dist/components/ActionBar/tests/ActionBar.stories.d.ts +19 -1
- package/dist/components/ActionBar/tests/ActionBar.stories.js +161 -3
- package/dist/components/Actionable/Actionable.js +3 -3
- package/dist/components/Actionable/Actionable.module.css +1 -1
- package/dist/components/Actionable/Actionable.types.d.ts +1 -0
- package/dist/components/Autocomplete/Autocomplete.js +66 -25
- package/dist/components/Autocomplete/Autocomplete.types.d.ts +2 -0
- package/dist/components/Autocomplete/tests/Autocomplete.stories.js +8 -8
- package/dist/components/Avatar/Avatar.js +4 -4
- package/dist/components/Badge/Badge.js +3 -3
- package/dist/components/Badge/Badge.module.css +1 -1
- package/dist/components/Badge/Badge.types.d.ts +4 -4
- package/dist/components/Badge/tests/Badge.stories.js +11 -0
- package/dist/components/Button/Button.module.css +1 -1
- package/dist/components/Calendar/Calendar.types.d.ts +1 -0
- package/dist/components/Calendar/Calendar.utils.d.ts +11 -0
- package/dist/components/Calendar/Calendar.utils.js +25 -0
- package/dist/components/Calendar/CalendarDate.js +6 -2
- package/dist/components/Calendar/CalendarMonth.js +9 -23
- package/dist/components/Calendar/tests/Calendar.stories.js +9 -2
- package/dist/components/Card/Card.d.ts +1 -1
- package/dist/components/Card/Card.js +9 -12
- package/dist/components/Card/Card.module.css +1 -1
- package/dist/components/Card/tests/Card.stories.d.ts +1 -1
- package/dist/components/Card/tests/Card.test.stories.d.ts +1 -1
- package/dist/components/Carousel/Carousel.js +3 -1
- package/dist/components/Carousel/Carousel.types.d.ts +1 -0
- package/dist/components/Carousel/CarouselControl.d.ts +1 -2
- package/dist/components/Carousel/CarouselControl.js +8 -7
- package/dist/components/Checkbox/Checkbox.module.css +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.js +9 -6
- package/dist/components/FileUpload/FileUpload.js +5 -3
- package/dist/components/FileUpload/FileUpload.module.css +1 -1
- package/dist/components/FileUpload/FileUpload.types.d.ts +5 -1
- package/dist/components/FileUpload/tests/FileUpload.stories.d.ts +18 -2
- package/dist/components/FileUpload/tests/FileUpload.stories.js +102 -23
- package/dist/components/Flyout/Flyout.module.css +1 -1
- package/dist/components/Flyout/Flyout.types.d.ts +2 -1
- package/dist/components/Flyout/FlyoutContent.js +3 -3
- package/dist/components/Flyout/FlyoutControlled.js +7 -3
- package/dist/components/Flyout/FlyoutTrigger.js +4 -3
- package/dist/components/FormControl/FormControl.module.css +1 -1
- package/dist/components/FormControl/tests/FormControl.stories.d.ts +4 -0
- package/dist/components/FormControl/tests/FormControl.stories.js +18 -0
- package/dist/components/Grid/Grid.js +5 -11
- package/dist/components/Grid/Grid.types.d.ts +2 -0
- package/dist/components/Grid/tests/Grid.stories.js +12 -1
- package/dist/components/HiddenVisually/HiddenVisually.module.css +1 -1
- package/dist/components/Icon/Icon.js +4 -4
- package/dist/components/Image/Image.js +4 -15
- package/dist/components/MenuItem/MenuItem.js +2 -2
- package/dist/components/MenuItem/MenuItem.module.css +1 -1
- package/dist/components/MenuItem/MenuItem.types.d.ts +1 -0
- package/dist/components/Modal/Modal.js +4 -4
- package/dist/components/Modal/Modal.module.css +1 -1
- package/dist/components/Modal/tests/Modal.test.stories.js +2 -2
- package/dist/components/Overlay/tests/Overlay.test.stories.js +4 -2
- package/dist/components/PinField/PinField.module.css +1 -1
- package/dist/components/Popover/Popover.js +5 -5
- package/dist/components/Popover/Popover.module.css +1 -1
- package/dist/components/Popover/Popover.types.d.ts +1 -1
- package/dist/components/Popover/tests/Popover.stories.d.ts +1 -0
- package/dist/components/Popover/tests/Popover.stories.js +24 -4
- package/dist/components/ProgressIndicator/ProgressIndicator.module.css +1 -1
- package/dist/components/Reshaped/Reshaped.css +1 -1
- package/dist/components/Resizable/Resizable.module.css +1 -1
- package/dist/components/ScrollArea/ScrollArea.js +5 -7
- package/dist/components/ScrollArea/ScrollArea.module.css +1 -1
- package/dist/components/Select/Select.module.css +1 -1
- package/dist/components/Slider/Slider.module.css +1 -1
- package/dist/components/Switch/Switch.js +1 -1
- package/dist/components/Switch/Switch.module.css +1 -1
- package/dist/components/Table/Table.js +4 -7
- package/dist/components/Tabs/TabsItem.js +2 -1
- package/dist/components/Tabs/TabsList.js +2 -2
- package/dist/components/Text/Text.js +4 -4
- package/dist/components/TextField/TextField.module.css +1 -1
- package/dist/components/TextField/tests/TextField.stories.js +3 -1
- package/dist/components/Theme/Theme.js +7 -2
- package/dist/components/Theme/Theme.types.d.ts +12 -13
- package/dist/components/Theme/index.d.ts +1 -1
- package/dist/components/Theme/tests/{Theme.test.stories.d.ts → Theme.stories.d.ts} +1 -0
- package/dist/components/Theme/tests/{Theme.test.stories.js → Theme.stories.js} +39 -1
- package/dist/components/Theme/useTheme.d.ts +6 -6
- package/dist/components/View/View.js +43 -60
- package/dist/components/View/View.module.css +1 -1
- package/dist/components/View/View.types.d.ts +7 -0
- package/dist/components/View/tests/View.stories.d.ts +4 -0
- package/dist/components/View/tests/View.stories.js +65 -1
- package/dist/components/_private/Portal/Portal.js +9 -1
- package/dist/config/tailwind.d.ts +1 -1
- package/dist/hooks/_private/useIsDismissible.js +11 -8
- package/dist/hooks/useToggle.d.ts +1 -1
- package/dist/hooks/useToggle.js +1 -0
- package/dist/index.d.ts +1 -2
- package/dist/styles/mixin.d.ts +6 -0
- package/dist/styles/mixin.js +71 -0
- package/dist/styles/resolvers/align/align.css +1 -0
- package/dist/styles/resolvers/align/index.d.ts +4 -0
- package/dist/styles/resolvers/align/index.js +10 -0
- package/dist/styles/resolvers/aspectRatio/aspectRatio.css +1 -0
- package/dist/styles/resolvers/aspectRatio/index.d.ts +4 -0
- package/dist/styles/resolvers/aspectRatio/index.js +10 -0
- package/dist/styles/resolvers/bleed/bleed.module.css +1 -0
- package/dist/styles/resolvers/bleed/index.d.ts +3 -0
- package/dist/styles/{bleed → resolvers/bleed}/index.js +4 -4
- package/dist/styles/resolvers/border/border.module.css +1 -0
- package/dist/styles/resolvers/border/borderWidth.css +1 -0
- package/dist/styles/resolvers/border/index.d.ts +11 -0
- package/dist/styles/resolvers/border/index.js +74 -0
- package/dist/styles/resolvers/height/index.d.ts +3 -0
- package/dist/styles/{height → resolvers/height}/index.js +4 -4
- package/dist/styles/resolvers/inset/index.d.ts +10 -0
- package/dist/styles/resolvers/inset/index.js +38 -0
- package/dist/styles/resolvers/inset/inset.css +1 -0
- package/dist/styles/resolvers/justify/index.d.ts +4 -0
- package/dist/styles/resolvers/justify/index.js +10 -0
- package/dist/styles/resolvers/justify/justify.css +1 -0
- package/dist/styles/resolvers/margin/index.d.ts +10 -0
- package/dist/styles/resolvers/margin/index.js +38 -0
- package/dist/styles/resolvers/margin/margin.css +1 -0
- package/dist/styles/resolvers/maxHeight/index.d.ts +3 -0
- package/dist/styles/{maxHeight → resolvers/maxHeight}/index.js +4 -4
- package/dist/styles/resolvers/maxHeight/maxHeight.module.css +1 -0
- package/dist/styles/resolvers/maxWidth/index.d.ts +3 -0
- package/dist/styles/{maxWidth → resolvers/maxWidth}/index.js +4 -4
- package/dist/styles/resolvers/maxWidth/maxWidth.module.css +1 -0
- package/dist/styles/resolvers/minHeight/index.d.ts +3 -0
- package/dist/styles/{minHeight → resolvers/minHeight}/index.js +4 -4
- package/dist/styles/resolvers/minHeight/minHeight.module.css +1 -0
- package/dist/styles/resolvers/minWidth/index.d.ts +3 -0
- package/dist/styles/{minWidth → resolvers/minWidth}/index.js +4 -4
- package/dist/styles/resolvers/minWidth/minWidth.module.css +1 -0
- package/dist/styles/resolvers/padding/index.d.ts +10 -0
- package/dist/styles/resolvers/padding/index.js +38 -0
- package/dist/styles/resolvers/padding/padding.css +1 -0
- package/dist/styles/resolvers/position/index.d.ts +4 -0
- package/dist/styles/resolvers/position/index.js +9 -0
- package/dist/styles/resolvers/position/position.css +1 -0
- package/dist/styles/resolvers/radius/index.d.ts +3 -0
- package/dist/styles/resolvers/radius/index.js +10 -0
- package/dist/styles/resolvers/textAlign/index.d.ts +4 -0
- package/dist/styles/resolvers/textAlign/index.js +10 -0
- package/dist/styles/resolvers/textAlign/textAlign.css +1 -0
- package/dist/styles/resolvers/width/index.d.ts +3 -0
- package/dist/styles/{width → resolvers/width}/index.js +4 -4
- package/dist/styles/resolvers/width/width.module.css +1 -0
- package/dist/styles/types.d.ts +63 -16
- package/dist/themes/_generator/tokens/color/utilities/generateColors.js +1 -1
- package/dist/themes/_generator/tokens/css.js +2 -2
- package/dist/themes/figma/theme.css +1 -1
- package/dist/themes/fragments/twitter/theme.css +1 -1
- package/dist/themes/reshaped/theme.css +1 -1
- package/dist/themes/slate/theme.css +1 -1
- package/dist/types/global.d.ts +5 -0
- package/dist/utilities/a11y/tests/TrapFocus.stories.js +4 -4
- package/package.json +24 -24
- package/dist/components/ActionBar/tests/ActionBar.test.stories.d.ts +0 -15
- package/dist/components/ActionBar/tests/ActionBar.test.stories.js +0 -26
- package/dist/components/FileUpload/tests/FileUpload.test.stories.d.ts +0 -21
- package/dist/components/FileUpload/tests/FileUpload.test.stories.js +0 -52
- package/dist/styles/align/align.css +0 -1
- package/dist/styles/align/index.d.ts +0 -4
- package/dist/styles/align/index.js +0 -10
- package/dist/styles/aspectRatio/aspectRatio.css +0 -1
- package/dist/styles/aspectRatio/index.d.ts +0 -4
- package/dist/styles/aspectRatio/index.js +0 -9
- package/dist/styles/bleed/bleed.module.css +0 -1
- package/dist/styles/bleed/index.d.ts +0 -3
- package/dist/styles/border/border.module.css +0 -1
- package/dist/styles/border/index.d.ts +0 -3
- package/dist/styles/border/index.js +0 -10
- package/dist/styles/height/index.d.ts +0 -3
- package/dist/styles/inset/index.d.ts +0 -5
- package/dist/styles/inset/index.js +0 -11
- package/dist/styles/inset/inset.css +0 -1
- package/dist/styles/justify/index.d.ts +0 -4
- package/dist/styles/justify/index.js +0 -10
- package/dist/styles/justify/justify.css +0 -1
- package/dist/styles/maxHeight/index.d.ts +0 -3
- package/dist/styles/maxHeight/maxHeight.module.css +0 -1
- package/dist/styles/maxWidth/index.d.ts +0 -3
- package/dist/styles/maxWidth/maxWidth.module.css +0 -1
- package/dist/styles/minHeight/index.d.ts +0 -3
- package/dist/styles/minHeight/minHeight.module.css +0 -1
- package/dist/styles/minWidth/index.d.ts +0 -3
- package/dist/styles/minWidth/minWidth.module.css +0 -1
- package/dist/styles/padding/index.d.ts +0 -4
- package/dist/styles/padding/index.js +0 -9
- package/dist/styles/padding/padding.css +0 -1
- package/dist/styles/position/index.d.ts +0 -4
- package/dist/styles/position/index.js +0 -9
- package/dist/styles/position/position.css +0 -1
- package/dist/styles/radius/index.d.ts +0 -3
- package/dist/styles/radius/index.js +0 -10
- package/dist/styles/textAlign/index.d.ts +0 -4
- package/dist/styles/textAlign/index.js +0 -10
- package/dist/styles/textAlign/textAlign.css +0 -1
- package/dist/styles/width/index.d.ts +0 -3
- package/dist/styles/width/width.module.css +0 -1
- /package/dist/styles/{height → resolvers/height}/height.module.css +0 -0
- /package/dist/styles/{radius → resolvers/radius}/radius.module.css +0 -0
@@ -1 +1 @@
|
|
1
|
-
.root{--rs-scroll-area-thumb-size:calc(var(--rs-unit-x1) * 1.5);--rs-scroll-area-thumb-offset:calc(var(--rs-unit-x1) / 2);height:100%;overflow:hidden;position:relative}[data-rs-keyboard] .root:has(.scrollable:focus){box-shadow:var(--rs-focus-shadow)}.scrollable{height:100%;outline:none;overflow:auto;position:relative;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollable::-webkit-scrollbar{display:none;height:0;width:0}.content{display:inline-block;min-height:100%;min-width:100%;vertical-align:top}.scrollbar{box-sizing:initial;padding:var(--rs-scroll-area-thumb-offset);position:absolute}.thumb{height:100%;position:relative;width:100%}.thumb:before{background:var(--rs-color-foreground-neutral);border-radius:
|
1
|
+
.root{--rs-scroll-area-thumb-size:calc(var(--rs-unit-x1) * 1.5);--rs-scroll-area-thumb-offset:calc(var(--rs-unit-x1) / 2);height:100%;overflow:hidden;position:relative}[data-rs-keyboard] .root:has(.scrollable:focus){box-shadow:var(--rs-focus-shadow)}.scrollable{height:100%;outline:none;overflow:auto;position:relative;scrollbar-width:none;-webkit-overflow-scrolling:touch}.scrollable::-webkit-scrollbar{display:none;height:0;width:0}.content{display:inline-block;min-height:100%;min-width:100%;vertical-align:top}.scrollbar{box-sizing:initial;padding:var(--rs-scroll-area-thumb-offset);position:absolute}.thumb{height:100%;position:relative;width:100%}.thumb:before{background:var(--rs-color-foreground-neutral);border-radius:var(--rs-radius-circular);content:"";display:block;opacity:0;position:absolute;transition:opacity var(--rs-duration-fast) var(--rs-easing-standard)}.--scrollbar-y{inset-block:0;inset-inline-end:0;width:var(--rs-scroll-area-thumb-size)}.--scrollbar-y .thumb:before{height:calc(var(--rs-scroll-area-ratio) * 100%);inset-block-start:calc(var(--rs-scroll-area-position) * 100%);width:100%}.--scrollbar-x{height:var(--rs-scroll-area-thumb-size);inset-block-end:0;inset-inline:0}.--scrollbar-x .thumb:before{height:100%;inset-inline-start:calc(var(--rs-scroll-area-position) * 100%);width:calc(var(--rs-scroll-area-ratio) * 100%)}.--scrollbar-y:not(:last-child){inset-block-end:calc(var(--rs-scroll-area-thumb-size) + var(--rs-scroll-area-thumb-offset) * 2)}.--scrollbar-y~.--scrollbar-x{inset-inline-end:calc(var(--rs-scroll-area-thumb-size) + var(--rs-scroll-area-thumb-offset) * 2)}.--display-hover:hover>.scrollbar .thumb:before,.--display-visible .thumb:before{opacity:.2}.--display-hover:hover .--scrollbar-dragging .thumb:before,.--scrollbar-dragging .thumb:before,.scrollbar:hover .thumb:before{opacity:.32}
|
@@ -1 +1 @@
|
|
1
|
-
.root{background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);display:flex;overflow:hidden;padding:calc(var(--rs-unit-x1) - 1px) 0;position:relative;z-index:0}.root:focus-within{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.input{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:0;box-sizing:border-box;color:var(--rs-color-foreground-neutral);cursor:pointer;display:flex;flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);outline:none;padding-inline-end:calc(var(--rs-select-chevron-size) + var(--rs-select-gap) * 2 + var(--rs-unit-x1));padding-inline-start:var(--rs-select-gap);position:relative;text-overflow:ellipsis;width:100%;z-index:1}.input::-ms-expand{display:none}.slot{align-items:center;display:flex;flex-shrink:0;padding-inline-start:var(--rs-select-gap);position:relative;z-index:5}.input .slot{padding-inline-end:var(--rs-select-gap);padding-inline-start:0}.arrow{color:var(--rs-color-foreground-neutral-faded);display:flex;inset-block-start:50%;inset-inline-end:var(--rs-select-gap);pointer-events:none;position:absolute;transform:translateY(-50%);z-index:5}.--size-small{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-small .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:0}.--size-medium{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-medium .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:var(--rs-unit-x1)}.--size-large{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-large .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x2)}.--size-xlarge{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-xlarge .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x3)}.root.--variant-faded{background:var(--rs-color-background-neutral-faded);border-color:transparent}.root.--variant-faded:focus-within{border-color:var(--rs-color-border-primary)}.root.--variant-headless{background:transparent;border-color:transparent}.root.--variant-headless.--status-error,.root.--variant-headless.--status-error:focus-within,.root.--variant-headless:focus-within{border-color:transparent;box-shadow:none}.root.--status-error{border-color:var(--rs-color-border-critical)}.root.--status-error:focus-within{border-color:var(--rs-color-border-primary)}.root.--placeholder .input{color:var(--rs-color-foreground-
|
1
|
+
.root{background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);display:flex;overflow:hidden;padding:calc(var(--rs-unit-x1) - 1px) 0;position:relative;z-index:0}.root:focus-within{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.input{align-items:center;-webkit-appearance:none;appearance:none;background:none;border:0;box-sizing:border-box;color:var(--rs-color-foreground-neutral);cursor:pointer;display:flex;flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);outline:none;padding-inline-end:calc(var(--rs-select-chevron-size) + var(--rs-select-gap) * 2 + var(--rs-unit-x1));padding-inline-start:var(--rs-select-gap);position:relative;text-overflow:ellipsis;width:100%;z-index:1}.input::-ms-expand{display:none}.slot{align-items:center;display:flex;flex-shrink:0;padding-inline-start:var(--rs-select-gap);position:relative;z-index:5}.input .slot{padding-inline-end:var(--rs-select-gap);padding-inline-start:0}.arrow{color:var(--rs-color-foreground-neutral-faded);display:flex;inset-block-start:50%;inset-inline-end:var(--rs-select-gap);pointer-events:none;position:absolute;transform:translateY(-50%);z-index:5}.--size-small{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-small .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:0}.--size-medium{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-medium .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:var(--rs-unit-x1)}.--size-large{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-large .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x2)}.--size-xlarge{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-xlarge .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x3)}.root.--variant-faded{background:var(--rs-color-background-neutral-faded);border-color:transparent}.root.--variant-faded:focus-within{border-color:var(--rs-color-border-primary)}.root.--variant-headless{background:transparent;border-color:transparent}.root.--variant-headless.--status-error,.root.--variant-headless.--status-error:focus-within,.root.--variant-headless:focus-within{border-color:transparent;box-shadow:none}.root.--status-error{border-color:var(--rs-color-border-critical)}.root.--status-error:focus-within{border-color:var(--rs-color-border-primary)}.root.--placeholder .input{color:var(--rs-color-foreground-disabled)}.root.--disabled{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled)}.root.--disabled .arrow,.root.--disabled .input{color:var(--rs-color-foreground-disabled);cursor:not-allowed}@media (--rs-viewport-s ) and (hover:none){.input{font-size:var(--rs-font-size-body-2)!important}}@media (--rs-viewport-m ){.--size-small--m{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-small--m .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:0}.--size-medium--m{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-medium--m .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:var(--rs-unit-x1)}.--size-large--m{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-large--m .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x2)}.--size-xlarge--m{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-xlarge--m .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x3)}}@media (--rs-viewport-l ){.--size-small--l{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-small--l .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:0}.--size-medium--l{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-medium--l .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:var(--rs-unit-x1)}.--size-large--l{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-large--l .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x2)}.--size-xlarge--l{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-xlarge--l .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x3)}}@media (--rs-viewport-xl ){.--size-small--xl{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-small--xl .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:0}.--size-medium--xl{--rs-select-gap:var(--rs-unit-x2);--rs-select-chevron-size:var(--rs-unit-x4);border-radius:var(--rs-radius-small)}.--size-medium--xl .input{font-size:var(--rs-font-size-body-3);letter-spacing:var(--rs-letter-spacing-body-3);line-height:var(--rs-line-height-body-3);padding-block:var(--rs-unit-x1)}.--size-large--xl{--rs-select-gap:var(--rs-unit-x3);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-large--xl .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x2)}.--size-xlarge--xl{--rs-select-gap:var(--rs-unit-x4);--rs-select-chevron-size:var(--rs-unit-x5);border-radius:var(--rs-radius-medium)}.--size-xlarge--xl .input{font-size:var(--rs-font-size-body-2);letter-spacing:var(--rs-letter-spacing-body-2);line-height:var(--rs-line-height-body-2);padding-block:var(--rs-unit-x3)}}
|
@@ -1 +1 @@
|
|
1
|
-
.root{--rs-slider-overflow-gap:var(--rs-unit-x1);--rs-slider-thumb-size:var(--rs-unit-x4);align-items:center;cursor:pointer;display:flex;position:relative;user-select:none;-webkit-tap-highlight-color:transparent}.root:has(.thumb:hover,.thumb--active,.input:focus-visible){overflow:visible}.bar{background:var(--rs-color-background-neutral);border-radius:var(--rs-radius-small);position:relative}.bar,.input{overflow:hidden}.input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.selection{background:var(--rs-color-background-primary);position:absolute}.tooltip{--rs-slider-tooltip-translate:calc(-50% + var(--rs-slider-tooltip-offset, 0px));background:var(--rs-color-background-elevation-overlay);border-radius:var(--rs-radius-small);box-shadow:var(--rs-shadow-overlay);box-sizing:initial;color:var(--rs-color-foreground-neutral);font-variant-numeric:tabular-nums;min-width:var(--rs-line-height-caption-1);opacity:0;padding:calc(var(--rs-unit-x1) / 2) var(--rs-unit-x1);pointer-events:none;text-align:center;transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity,transform;user-select:none;white-space:nowrap;will-change:transform}.thumb,.thumbs,.tooltip{position:absolute}.thumb:before{background:var(--rs-color-background-primary);border-radius:
|
1
|
+
.root{--rs-slider-overflow-gap:var(--rs-unit-x1);--rs-slider-thumb-size:var(--rs-unit-x4);align-items:center;cursor:pointer;display:flex;position:relative;user-select:none;-webkit-tap-highlight-color:transparent}.root:has(.thumb:hover,.thumb--active,.input:focus-visible){overflow:visible}.bar{background:var(--rs-color-background-neutral);border-radius:var(--rs-radius-small);position:relative}.bar,.input{overflow:hidden}.input{height:1px;opacity:0;pointer-events:none;position:absolute;width:1px}.selection{background:var(--rs-color-background-primary);position:absolute}.tooltip{--rs-slider-tooltip-translate:calc(-50% + var(--rs-slider-tooltip-offset, 0px));background:var(--rs-color-background-elevation-overlay);border-radius:var(--rs-radius-small);box-shadow:var(--rs-shadow-overlay);box-sizing:initial;color:var(--rs-color-foreground-neutral);font-variant-numeric:tabular-nums;min-width:var(--rs-line-height-caption-1);opacity:0;padding:calc(var(--rs-unit-x1) / 2) var(--rs-unit-x1);pointer-events:none;text-align:center;transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:opacity,transform;user-select:none;white-space:nowrap;will-change:transform}.thumb,.thumbs,.tooltip{position:absolute}.thumb:before{background:var(--rs-color-background-primary);border-radius:var(--rs-radius-circular);box-shadow:0 0 0 2px var(--rs-color-background-elevation-base);box-sizing:border-box;height:var(--rs-slider-thumb-size);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:box-shadow;width:var(--rs-slider-thumb-size)}.thumb:after,.thumb:before{content:"";position:absolute}.thumb:after{cursor:grab;height:var(--rs-unit-x7);width:var(--rs-unit-x7)}.thumb:hover .tooltip{opacity:1}.thumb--active:after,[data-rs-keyboard] .input:focus+.thumb:after{cursor:grabbing}.thumb--active:before,[data-rs-keyboard] .input:focus+.thumb:before{box-shadow:0 0 0 1px var(--rs-color-background-elevation-base)}.thumb--active .tooltip,[data-rs-keyboard] .input:focus+.thumb .tooltip{opacity:1}[data-rs-keyboard] .input:focus+.thumb:before{box-shadow:var(--rs-focus-shadow)}.--orientation-horizontal{height:var(--rs-slider-thumb-size);margin-inline:calc(var(--rs-slider-overflow-gap) * -1);overflow-x:clip;padding-inline:var(--rs-slider-overflow-gap)}.--orientation-horizontal .bar{height:var(--rs-unit-x1);width:100%}.--orientation-horizontal .selection{height:100%;inset-inline-start:var(--rs-slider-selection-start);width:var(--rs-slider-selection-size)}.--orientation-horizontal .tooltip{bottom:100%;left:50%;transform:translate(var(--rs-slider-tooltip-translate))}.--orientation-horizontal .thumbs{height:100%;inset-inline:calc(var(--rs-slider-thumb-size) / 2 + var(--rs-slider-overflow-gap))}.--orientation-horizontal .thumb{height:100%;inset-inline-start:var(--ts-slider-thumb-position);width:0}.--orientation-horizontal .thumb:after,.--orientation-horizontal .thumb:before{left:0;top:50%;transform:translate(-50%,-50%)}.--orientation-horizontal .input:focus+.thumb .tooltip,.--orientation-horizontal .thumb--active .tooltip,.--orientation-horizontal .thumb:hover .tooltip{transform:translate(var(--rs-slider-tooltip-translate),calc(var(--rs-unit-x1) * -1.5))}.--orientation-vertical{flex-direction:column;height:100%;margin-block:calc(var(--rs-slider-overflow-gap) * -1);overflow-y:clip;padding-block:var(--rs-slider-overflow-gap);width:var(--rs-slider-thumb-size)}.--orientation-vertical .bar{height:100%;width:var(--rs-unit-x1)}.--orientation-vertical .selection{height:var(--rs-slider-selection-size);inset-block-end:var(--rs-slider-selection-start);inset-inline-start:auto;width:100%}.--orientation-vertical .tooltip{inset-inline-start:100%;top:50%;transform:translateY(var(--rs-slider-tooltip-translate))}.--orientation-vertical .thumbs{inset-block:calc(var(--rs-slider-thumb-size) / 2 + var(--rs-slider-overflow-gap));width:100%}.--orientation-vertical .thumb{height:0;inset-block-end:var(--ts-slider-thumb-position);width:100%}.--orientation-vertical .thumb:after,.--orientation-vertical .thumb:before{left:50%;top:0;transform:translate(-50%,-50%)}.--orientation-vertical .input:focus+.thumb .tooltip,.--orientation-vertical .thumb--active .tooltip,.--orientation-vertical .thumb:hover .tooltip{transform:translate(calc(var(--rs-unit-x1) * 1.5),-50%)}.--disabled{cursor:not-allowed}.--disabled .bar{background-color:var(--rs-color-background-disabled)}.--disabled .selection,.--disabled .thumb:before{background-color:var(--rs-color-foreground-disabled)}.--disabled .thumb:after{cursor:not-allowed}.--disabled .thumb:hover .tooltip{opacity:0}
|
@@ -21,7 +21,7 @@ const Switch = (props) => {
|
|
21
21
|
checked: event.target.checked,
|
22
22
|
});
|
23
23
|
};
|
24
|
-
return (_jsxs("label", { ...attributes, className: rootClassNames, children: [_jsx("input", { type: "checkbox", ...inputAttributes, className: s.input, name: name, checked: checked, defaultChecked: defaultChecked, disabled: disabled, onChange: handleChange, onFocus: onFocus || inputAttributes?.onFocus, onBlur: onBlur || inputAttributes?.onBlur, id: id }),
|
24
|
+
return (_jsxs("label", { ...attributes, className: rootClassNames, children: [_jsx("input", { type: "checkbox", ...inputAttributes, className: s.input, name: name, checked: checked, defaultChecked: defaultChecked, disabled: disabled, onChange: handleChange, onFocus: onFocus || inputAttributes?.onFocus, onBlur: onBlur || inputAttributes?.onBlur, id: id }), _jsxs("span", { className: s.area, "aria-hidden": "true", children: [_jsx("span", { className: s.hitbox }), _jsx("span", { className: s.thumb })] }), children && (_jsx(Text, { variant: responsivePropDependency(size, (value) => {
|
25
25
|
if (value === "large")
|
26
26
|
return "body-2";
|
27
27
|
if (value === "medium")
|
@@ -1 +1 @@
|
|
1
|
-
.root{align-items:center;display:inline-flex;gap:var(--rs-switch-gap);position:relative;vertical-align:top;-webkit-tap-highlight-color:transparent}.root.--reversed{flex-direction:row-reverse}.input{border:0;height:1px;left:0;opacity:0;outline:none;position:absolute;top:0;width:1px}.input:checked+.area{background:var(--rs-color-background-primary);border-color:transparent}.input:checked+.area .thumb{transform:translateX(calc(var(--rs-switch-width) - var(--rs-switch-height)))}[dir=rtl] .input:checked+.area .thumb{transform:translateX(calc(var(--rs-switch-height) - var(--rs-switch-width)))}[data-rs-keyboard] .input:focus+.area{box-shadow:var(--rs-focus-shadow)}.input[disabled]+.area{background:var(--rs-color-background-disabled);cursor:not-allowed}.input[disabled]+.area .thumb{opacity:.8}.input[disabled]:checked+.area{background:var(--rs-color-background-primary);opacity:.4}.input[disabled]:checked+.area .thumb{opacity:1}.area{align-items:center;background:var(--rs-color-background-neutral);border:2px solid transparent;box-sizing:border-box;cursor:pointer;display:flex;height:var(--rs-switch-height);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background,border;width:var(--rs-switch-width)}.
|
1
|
+
.root{align-items:center;display:inline-flex;gap:var(--rs-switch-gap);position:relative;vertical-align:top;-webkit-tap-highlight-color:transparent}.root.--reversed{flex-direction:row-reverse}.input{border:0;height:1px;left:0;opacity:0;outline:none;position:absolute;top:0;width:1px}.input:checked+.area{background:var(--rs-color-background-primary);border-color:transparent}.input:checked+.area .thumb{transform:translateX(calc(var(--rs-switch-width) - var(--rs-switch-height)))}[dir=rtl] .input:checked+.area .thumb{transform:translateX(calc(var(--rs-switch-height) - var(--rs-switch-width)))}[data-rs-keyboard] .input:focus+.area{box-shadow:var(--rs-focus-shadow)}.input[disabled]+.area{background:var(--rs-color-background-disabled);cursor:not-allowed}.input[disabled]+.area .thumb{opacity:.8}.input[disabled]:checked+.area{background:var(--rs-color-background-primary);opacity:.4}.input[disabled]:checked+.area .thumb{opacity:1}.area{align-items:center;background:var(--rs-color-background-neutral);border:2px solid transparent;border-radius:var(--rs-radius-circular);box-sizing:border-box;cursor:pointer;display:flex;height:var(--rs-switch-height);transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:background,border;width:var(--rs-switch-width)}.hitbox{height:24px;inset-inline:0;position:absolute;top:50%;transform:translateY(-50%)}.thumb{background:var(--rs-color-white);border-radius:var(--rs-radius-circular);box-shadow:var(--rs-shadow-raised);height:calc(var(--rs-switch-height) - var(--rs-unit-x1));transition:var(--rs-duration-fast) var(--rs-easing-standard);transition-property:transform;width:calc(var(--rs-switch-height) - var(--rs-unit-x1))}.--size-small{--rs-switch-height:var(--rs-unit-x4);--rs-switch-width:var(--rs-unit-x6);--rs-switch-gap:var(--rs-unit-x1);--rs-switch-line-height:var(--rs-line-height-caption-1);--rs-switch-font-size:var(--rs-font-size-caption-1)}.--size-medium{--rs-switch-height:var(--rs-unit-x5);--rs-switch-width:var(--rs-unit-x8);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-3);--rs-switch-font-size:var(--rs-font-size-body-3)}.--size-large{--rs-switch-height:var(--rs-unit-x6);--rs-switch-width:var(--rs-unit-x10);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-2);--rs-switch-font-size:var(--rs-font-size-body-2)}@media (--rs-viewport-m ){.--size-small--m{--rs-switch-height:var(--rs-unit-x4);--rs-switch-width:var(--rs-unit-x6);--rs-switch-gap:var(--rs-unit-x1);--rs-switch-line-height:var(--rs-line-height-caption-1);--rs-switch-font-size:var(--rs-font-size-caption-1)}.--size-medium--m{--rs-switch-height:var(--rs-unit-x5);--rs-switch-width:var(--rs-unit-x8);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-3);--rs-switch-font-size:var(--rs-font-size-body-3)}.--size-large--m{--rs-switch-height:var(--rs-unit-x6);--rs-switch-width:var(--rs-unit-x10);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-2);--rs-switch-font-size:var(--rs-font-size-body-2)}}@media (--rs-viewport-l ){.--size-small--l{--rs-switch-height:var(--rs-unit-x4);--rs-switch-width:var(--rs-unit-x6);--rs-switch-gap:var(--rs-unit-x1);--rs-switch-line-height:var(--rs-line-height-caption-1);--rs-switch-font-size:var(--rs-font-size-caption-1)}.--size-medium--l{--rs-switch-height:var(--rs-unit-x5);--rs-switch-width:var(--rs-unit-x8);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-3);--rs-switch-font-size:var(--rs-font-size-body-3)}.--size-large--l{--rs-switch-height:var(--rs-unit-x6);--rs-switch-width:var(--rs-unit-x10);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-2);--rs-switch-font-size:var(--rs-font-size-body-2)}}@media (--rs-viewport-xl ){.--size-small--xl{--rs-switch-height:var(--rs-unit-x4);--rs-switch-width:var(--rs-unit-x6);--rs-switch-gap:var(--rs-unit-x1);--rs-switch-line-height:var(--rs-line-height-caption-1);--rs-switch-font-size:var(--rs-font-size-caption-1)}.--size-medium--xl{--rs-switch-height:var(--rs-unit-x5);--rs-switch-width:var(--rs-unit-x8);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-3);--rs-switch-font-size:var(--rs-font-size-body-3)}.--size-large--xl{--rs-switch-height:var(--rs-unit-x6);--rs-switch-width:var(--rs-unit-x10);--rs-switch-gap:var(--rs-unit-x2);--rs-switch-line-height:var(--rs-line-height-body-2);--rs-switch-font-size:var(--rs-font-size-body-2)}}
|
@@ -2,19 +2,16 @@
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
3
3
|
import React from "react";
|
4
4
|
import { classNames, responsiveVariables } from "../../utilities/props.js";
|
5
|
-
import
|
6
|
-
import getMinWidthStyles from "../../styles/minWidth/index.js";
|
5
|
+
import { resolveMixin } from "../../styles/mixin.js";
|
7
6
|
import s from "./Table.module.css";
|
8
7
|
import useFadeSide from "../../hooks/_private/useFadeSide.js";
|
9
8
|
const TableCellPrivate = (props) => {
|
10
9
|
const { minWidth, rowSpan, colSpan, align, verticalAlign, tagName: TagName, padding, paddingInline, paddingBlock, children, className, attributes, } = props;
|
11
10
|
const width = props.width === "auto" ? "0px" : props.width;
|
12
|
-
const
|
13
|
-
const
|
14
|
-
const headingClassNames = classNames(s.cell, widthStyles?.classNames, minWidthStyles?.classNames, (width === 0 || width === "0px") && s["cell--width-auto"], align && s[`cell--align-${align}`], verticalAlign && s[`cell--valign-${verticalAlign}`], className);
|
11
|
+
const mixinStyles = resolveMixin({ width, minWidth });
|
12
|
+
const headingClassNames = classNames(s.cell, mixinStyles.classNames, (width === 0 || width === "0px") && s["cell--width-auto"], align && s[`cell--align-${align}`], verticalAlign && s[`cell--valign-${verticalAlign}`], className);
|
15
13
|
const headingStyle = {
|
16
|
-
...
|
17
|
-
...minWidthStyles?.variables,
|
14
|
+
...mixinStyles.variables,
|
18
15
|
...responsiveVariables("--rs-table-p-vertical", paddingBlock ?? padding),
|
19
16
|
...responsiveVariables("--rs-table-p-horizontal", paddingInline ?? padding),
|
20
17
|
};
|
@@ -12,7 +12,7 @@ import { useTabs } from "./TabsContext.js";
|
|
12
12
|
import s from "./Tabs.module.css";
|
13
13
|
const TabsItem = React.forwardRef((props, ref) => {
|
14
14
|
const { value, children, icon, href, disabled, attributes } = props;
|
15
|
-
const { onChange, panelId, name, size, value: tabsValue, selection, elActiveRef, elPrevActiveRef, elScrollableRef, } = useTabs(value);
|
15
|
+
const { onChange, panelId, buttonId, name, size, value: tabsValue, selection, elActiveRef, elPrevActiveRef, elScrollableRef, } = useTabs(value);
|
16
16
|
const itemRef = React.useRef(null);
|
17
17
|
const active = tabsValue === value;
|
18
18
|
const visuallySelected = active && selection.status === "idle";
|
@@ -63,6 +63,7 @@ const TabsItem = React.forwardRef((props, ref) => {
|
|
63
63
|
return (_jsx("div", { ...attributes, className: itemClassNames, ref: itemRef, role: "presentation", children: _jsxs(Actionable, { ref: ref, href: href, insetFocus: true, disabled: disabled, onClick: !name ? handleChange : undefined, className: [s.button, disabled && s["button--disabled"]], as: name ? "label" : undefined, attributes: {
|
64
64
|
...(!isFormControl && tabAttributes),
|
65
65
|
"aria-controls": panelId,
|
66
|
+
id: buttonId,
|
66
67
|
}, children: [name && (_jsx(HiddenInput, { type: "radio", name: name, value: value, checked: visuallySelected, onChange: handleChange, className: s.radio })), _jsxs("span", { className: s.buttonContent, children: [icon && _jsx(Icon, { svg: icon, className: s.icon, size: 4 }), children && (_jsx(Text, { variant: size === "large" ? "body-2" : "body-3", weight: "medium", children: children }))] })] }) }));
|
67
68
|
});
|
68
69
|
TabsItem.displayName = "Tabs.Item";
|
@@ -116,11 +116,11 @@ const TabsList = (props) => {
|
|
116
116
|
"--rs-tab-selection-y": selection.top,
|
117
117
|
"--rs-tab-selection-scale-x": selection.scaleX,
|
118
118
|
"--rs-tab-selection-scale-y": selection.scaleY,
|
119
|
-
} })] }) }), _jsx(Actionable, { onClick: handlePrevClick, attributes: { "aria-hidden": true, tabIndex: -1 }, className: [
|
119
|
+
} })] }) }), _jsx(Actionable, { onClick: handlePrevClick, touchHitbox: true, attributes: { "aria-hidden": true, tabIndex: -1 }, className: [
|
120
120
|
s.control,
|
121
121
|
s["control--prev"],
|
122
122
|
(fadeSide === "start" || fadeSide === "both") && s["control--active"],
|
123
|
-
], children: _jsx(Icon, { svg: IconChevronLeft, size: 5 }) }), _jsx(Actionable, { onClick: handleNextClick, attributes: { "aria-hidden": true, tabIndex: -1 }, className: [
|
123
|
+
], children: _jsx(Icon, { svg: IconChevronLeft, size: 5 }) }), _jsx(Actionable, { onClick: handleNextClick, touchHitbox: true, attributes: { "aria-hidden": true, tabIndex: -1 }, className: [
|
124
124
|
s.control,
|
125
125
|
s["control--next"],
|
126
126
|
(fadeSide === "end" || fadeSide === "both") && s["control--active"],
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import { classNames, responsiveClassNames } from "../../utilities/props.js";
|
3
|
-
import
|
3
|
+
import { resolveMixin } from "../../styles/mixin.js";
|
4
4
|
import s from "./Text.module.css";
|
5
5
|
const tagMap = {
|
6
6
|
"title-1": "h1",
|
@@ -13,14 +13,14 @@ const tagMap = {
|
|
13
13
|
const Text = (props) => {
|
14
14
|
const { variant, color, weight, align, decoration, maxLines, wrap, monospace, children, className, attributes, } = props;
|
15
15
|
const largestVariant = typeof variant === "string" ? variant : variant?.xl || variant?.l || variant?.m || variant?.s;
|
16
|
-
const
|
16
|
+
const mixinStyles = resolveMixin({ textAlign: align });
|
17
17
|
// Using any here to let TS save on type resolving, otherwise TS throws an error due to the type complexity
|
18
18
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
19
19
|
const TagName = props.as || (largestVariant && tagMap[largestVariant]) || "div";
|
20
|
-
const rootClassName = classNames(s.root, color && s[`--color-${color}`], ...responsiveClassNames(s, "--variant", variant), ...responsiveClassNames(s, "--weight", weight), decoration && s[`--decoration-${decoration}`], maxLines !== undefined && s[`--clamp`], maxLines === 1 && s["--break-all"], wrap && s[`--wrap-${wrap}`], monospace && s["--monospace"], className);
|
20
|
+
const rootClassName = classNames(s.root, color && s[`--color-${color}`], ...responsiveClassNames(s, "--variant", variant), ...responsiveClassNames(s, "--weight", weight), decoration && s[`--decoration-${decoration}`], maxLines !== undefined && s[`--clamp`], maxLines === 1 && s["--break-all"], wrap && s[`--wrap-${wrap}`], monospace && s["--monospace"], className, mixinStyles.classNames);
|
21
21
|
const style = {
|
22
22
|
...attributes?.style,
|
23
|
-
...
|
23
|
+
...mixinStyles.variables,
|
24
24
|
"--rs-text-lines": maxLines,
|
25
25
|
};
|
26
26
|
return (_jsx(TagName, { ...attributes, className: rootClassName, style: style, children: children }));
|
@@ -1 +1 @@
|
|
1
|
-
.root{--rs-p-h:var(--rs-text-field-gap);align-items:center;background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);border-radius:var(--rs-text-field-radius);column-gap:var(--rs-text-field-gap);display:flex;padding:0 calc(var(--rs-text-field-gap) - 1px);position:relative;z-index:0}.root.--focused,.root:has(label:active),.root:not(:has(button:focus,a:focus,[tabindex="0"]:focus,[role=button]:focus)):focus-within{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.root.--multiline{flex-wrap:wrap}.root.--multiline .input{width:auto}.root.--rounded{border-radius:999px}.root.--rounded .affix:first-child,.root.--rounded .icon:first-child{padding-inline-start:var(--rs-unit-x1)}.root.--rounded .input:first-child{padding-inline-start:calc(var(--rs-text-field-gap) + var(--rs-unit-x1))}.inner{column-gap:var(--rs-text-field-gap);display:inline-flex;flex-grow:1}.input{background:none;border:none;box-sizing:border-box;color:var(--rs-color-foreground-neutral);flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);margin:0 calc(var(--rs-text-field-gap) * -1);outline:none;padding-block:calc(var(--rs-text-field-p-v) - 1px);padding-inline:var(--rs-text-field-gap);position:relative;width:100%;z-index:1}.input:-webkit-autofill{-webkit-background-clip:text;-webkit-text-fill-color:var(--rs-color-foreground-neutral)}.affix,.input{font-size:var(--rs-text-field-font-size);letter-spacing:var(--rs-text-field-letter-spacing);line-height:var(--rs-text-field-line-height)}.affix,.icon{cursor:text}.affix,.icon,.slot{align-items:center;display:flex;flex-shrink:0;max-width:100%;min-height:var(--rs-text-field-attachment-height);position:relative;z-index:5}.input+.affix--position-end,.input+.icon--position-end,.input+.slot--position-end{margin-inline-start:auto}.slot--position-end:last-child{margin-inline-end:calc(var(--rs-text-field-gap) * -1);padding-inline-end:var(--rs-text-field-action-inset)}.affix{color:var(--rs-color-foreground-neutral-faded)}.affix.affix--position-start{padding-inline-end:var(--rs-text-field-gap)}.affix.affix--position-start:after{border-inline-end:1px solid var(--rs-color-border-neutral-faded);content:"";inset-block:var(--rs-unit-x1);inset-inline-end:0;position:absolute}.affix.affix--position-end{padding-inline-start:var(--rs-text-field-gap)}.affix.affix--position-end:after{border-inline-start:1px solid var(--rs-color-border-neutral-faded);content:"";inset-block:var(--rs-unit-x1);inset-inline-start:0;position:absolute}.root.--disabled{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled)}.root.--disabled,.root.--disabled .input{color:var(--rs-color-foreground-disabled);cursor:not-allowed}.--size-small{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.root.--variant-faded{background:var(--rs-color-background-neutral-faded);border-color:transparent}.root.--variant-faded.--focused,.root.--variant-faded:has(label:active),.root.--variant-faded:not(:has(button:focus,a:focus,[tabindex="0"]:focus,[role=button]:focus)):focus-within{border-color:var(--rs-color-border-primary)}.root.--variant-headless{background:transparent;border-color:transparent}.root.--variant-headless.--status-error,.root.--variant-headless.--status-error.--focused,.root.--variant-headless.--status-error:focus-within,.root.--variant-headless:focus-within{border-color:transparent;box-shadow:none}.root.--status-error{border-color:var(--rs-color-border-critical)}.root.--status-error.--focused,.root.--status-error:focus-within{border-color:var(--rs-color-border-primary)}@media (--rs-viewport-s ) and (hover:none){.input{font-size:var(--rs-font-size-body-2)!important}}@media (--rs-viewport-m ){.--size-small--m{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium--m{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large--m{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge--m{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}}@media (--rs-viewport-l ){.--size-small--l{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium--l{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large--l{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge--l{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}}@media (--rs-viewport-xl ){.--size-small--xl{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium--xl{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large--xl{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge--xl{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}}
|
1
|
+
.root{--rs-p-h:var(--rs-text-field-gap);align-items:center;background:var(--rs-color-background-elevation-base);border:1px solid var(--rs-color-border-neutral);border-radius:var(--rs-text-field-radius);column-gap:var(--rs-text-field-gap);display:flex;padding:0 calc(var(--rs-text-field-gap) - 1px);position:relative;z-index:0}.root.--focused,.root:has(label:active),.root:not(:has(button:focus,a:focus,[tabindex="0"]:focus,[role=button]:focus)):focus-within{border-color:var(--rs-color-border-primary);box-shadow:0 0 0 1px var(--rs-color-border-primary)}.root.--multiline{flex-wrap:wrap}.root.--multiline .input{width:auto}.root.--rounded{border-radius:var(--rs-radius-circular)}.root.--rounded .affix:first-child,.root.--rounded .icon:first-child{padding-inline-start:var(--rs-unit-x1)}.root.--rounded .input:first-child{padding-inline-start:calc(var(--rs-text-field-gap) + var(--rs-unit-x1))}.inner{column-gap:var(--rs-text-field-gap);display:inline-flex;flex-grow:1}.input{background:none;border:none;box-sizing:border-box;color:var(--rs-color-foreground-neutral);flex-grow:1;font-family:var(--rs-font-family-body);font-weight:var(--rs-font-weight-regular);margin:0 calc(var(--rs-text-field-gap) * -1);outline:none;padding-block:calc(var(--rs-text-field-p-v) - 1px);padding-inline:var(--rs-text-field-gap);position:relative;width:100%;z-index:1}.input:-webkit-autofill{-webkit-background-clip:text;-webkit-text-fill-color:var(--rs-color-foreground-neutral)}.affix,.input{font-size:var(--rs-text-field-font-size);letter-spacing:var(--rs-text-field-letter-spacing);line-height:var(--rs-text-field-line-height)}.affix,.icon{cursor:text}.affix,.icon,.slot{align-items:center;display:flex;flex-shrink:0;max-width:100%;min-height:var(--rs-text-field-attachment-height);position:relative;z-index:5}.input+.affix--position-end,.input+.icon--position-end,.input+.slot--position-end{margin-inline-start:auto}.slot--position-end:last-child{margin-inline-end:calc(var(--rs-text-field-gap) * -1);padding-inline-end:var(--rs-text-field-action-inset)}.affix{color:var(--rs-color-foreground-neutral-faded)}.affix.affix--position-start{padding-inline-end:var(--rs-text-field-gap)}.affix.affix--position-start:after{border-inline-end:1px solid var(--rs-color-border-neutral-faded);content:"";inset-block:var(--rs-unit-x1);inset-inline-end:0;position:absolute}.affix.affix--position-end{padding-inline-start:var(--rs-text-field-gap)}.affix.affix--position-end:after{border-inline-start:1px solid var(--rs-color-border-neutral-faded);content:"";inset-block:var(--rs-unit-x1);inset-inline-start:0;position:absolute}.root.--disabled{background:var(--rs-color-background-disabled-faded);border-color:var(--rs-color-border-disabled)}.root.--disabled,.root.--disabled .input{color:var(--rs-color-foreground-disabled);cursor:not-allowed}.--size-small{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.root.--variant-faded{background:var(--rs-color-background-neutral-faded);border-color:transparent}.root.--variant-faded.--focused,.root.--variant-faded:has(label:active),.root.--variant-faded:not(:has(button:focus,a:focus,[tabindex="0"]:focus,[role=button]:focus)):focus-within{border-color:var(--rs-color-border-primary)}.root.--variant-headless{background:transparent;border-color:transparent}.root.--variant-headless.--status-error,.root.--variant-headless.--status-error.--focused,.root.--variant-headless.--status-error:focus-within,.root.--variant-headless:focus-within{border-color:transparent;box-shadow:none}.root.--status-error{border-color:var(--rs-color-border-critical)}.root.--status-error.--focused,.root.--status-error:focus-within{border-color:var(--rs-color-border-primary)}@media (--rs-viewport-s ) and (hover:none){.input{font-size:var(--rs-font-size-body-2)!important}}@media (--rs-viewport-m ){.--size-small--m{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium--m{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large--m{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge--m{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}}@media (--rs-viewport-l ){.--size-small--l{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium--l{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large--l{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge--l{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}}@media (--rs-viewport-xl ){.--size-small--xl{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x1);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x2) - 2px)}.--size-medium--xl{--rs-text-field-gap:var(--rs-unit-x2);--rs-text-field-radius:var(--rs-radius-small);--rs-text-field-p-v:var(--rs-unit-x2);--rs-text-field-font-size:var(--rs-font-size-body-3);--rs-text-field-line-height:var(--rs-line-height-body-3);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-3);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-large--xl{--rs-text-field-gap:var(--rs-unit-x3);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x3);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x2);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}.--size-xlarge--xl{--rs-text-field-gap:var(--rs-unit-x4);--rs-text-field-radius:var(--rs-radius-medium);--rs-text-field-p-v:var(--rs-unit-x4);--rs-text-field-font-size:var(--rs-font-size-body-2);--rs-text-field-line-height:var(--rs-line-height-body-2);--rs-text-field-letter-spacing:var(--rs-letter-spacing-body-2);--rs-text-field-action-inset:var(--rs-unit-x1);--rs-text-field-attachment-height:calc(var(--rs-text-field-line-height) + var(--rs-unit-x4) - 2px)}}
|
@@ -120,7 +120,9 @@ export const slots = () => (<Example>
|
|
120
120
|
<TextField name="Name" placeholder="Enter your name" value="Reshaped" endSlot={<Button icon={IconZap} size="small" onClick={() => { }} attributes={{ "aria-label": "Action" }}/>}/>
|
121
121
|
</Example.Item>
|
122
122
|
<Example.Item title="multiline wrap">
|
123
|
-
<TextField name="Name" placeholder="Enter your name" value="Reshaped" startSlot={[...Array(10).keys()].map((i) => (<Badge key={i}>
|
123
|
+
<TextField name="Name" placeholder="Enter your name" value="Reshaped" startSlot={[...Array(10).keys()].map((i) => (<Badge size="small" key={i}>
|
124
|
+
Item {i + 1}
|
125
|
+
</Badge>))} multiline/>
|
124
126
|
</Example.Item>
|
125
127
|
</Example>);
|
126
128
|
export const formControl = () => (<Example>
|
@@ -7,6 +7,11 @@ import { ThemeContext } from "./Theme.context.js";
|
|
7
7
|
import { getRootThemeEl } from "./Theme.utilities.js";
|
8
8
|
import { useTheme, useGlobalColorMode } from "./useTheme.js";
|
9
9
|
import s from "./Theme.module.css";
|
10
|
+
const getThemeAttribute = (theme) => {
|
11
|
+
if (typeof theme === "string")
|
12
|
+
return theme;
|
13
|
+
return ` ${theme.join(" ")} `;
|
14
|
+
};
|
10
15
|
const Theme = (props) => _jsx(PrivateTheme, { ...props });
|
11
16
|
export const PrivateTheme = (props) => {
|
12
17
|
const { name, defaultName, colorMode, scoped, scopeRef, children, className } = props;
|
@@ -40,7 +45,7 @@ export const PrivateTheme = (props) => {
|
|
40
45
|
return;
|
41
46
|
const themeRootEl = getRootThemeEl(scopeRef?.current);
|
42
47
|
const hasColorModeApplied = themeRootEl.getAttribute("data-rs-color-mode");
|
43
|
-
themeRootEl.setAttribute("data-rs-theme", usedTheme);
|
48
|
+
themeRootEl.setAttribute("data-rs-theme", getThemeAttribute(usedTheme));
|
44
49
|
if (!hasColorModeApplied)
|
45
50
|
themeRootEl.setAttribute("data-rs-color-mode", usedColorMode);
|
46
51
|
return () => {
|
@@ -56,7 +61,7 @@ export const PrivateTheme = (props) => {
|
|
56
61
|
setTheme,
|
57
62
|
setRootTheme,
|
58
63
|
}), [usedTheme, usedColorMode, setTheme, setRootTheme, rootTheme]);
|
59
|
-
return (_jsx(ThemeContext.Provider, { value: value, children: _jsx("div", { className: rootClassNames, ref: scopeRef, "data-rs-root": scoped ? true : undefined, "data-rs-theme": isRootProvider ? undefined : usedTheme, "data-rs-color-mode": isRootProvider || (!colorMode && !mounted) ? undefined : usedColorMode, children: children }) }));
|
64
|
+
return (_jsx(ThemeContext.Provider, { value: value, children: _jsx("div", { className: rootClassNames, ref: scopeRef, "data-rs-root": scoped ? true : undefined, "data-rs-theme": isRootProvider ? undefined : getThemeAttribute(usedTheme), "data-rs-color-mode": isRootProvider || (!colorMode && !mounted) ? undefined : usedColorMode, children: children }) }));
|
60
65
|
};
|
61
66
|
Theme.displayName = "Theme";
|
62
67
|
export default Theme;
|
@@ -1,22 +1,21 @@
|
|
1
1
|
import React from "react";
|
2
2
|
import * as G from "../../types/global";
|
3
|
-
export type ColorMode = "light" | "dark";
|
4
3
|
export type GlobalColorModeContextData = {
|
5
|
-
mode: ColorMode;
|
6
|
-
setMode: (mode: ColorMode) => void;
|
4
|
+
mode: G.ColorMode;
|
5
|
+
setMode: (mode: G.ColorMode) => void;
|
7
6
|
invertMode: () => void;
|
8
7
|
};
|
9
8
|
export type ThemeContextData = {
|
10
|
-
colorMode: ColorMode;
|
11
|
-
theme:
|
12
|
-
setTheme: (theme:
|
13
|
-
rootTheme:
|
14
|
-
setRootTheme: (theme:
|
9
|
+
colorMode: G.ColorMode;
|
10
|
+
theme: G.Theme;
|
11
|
+
setTheme: (theme: G.Theme) => void;
|
12
|
+
rootTheme: G.Theme;
|
13
|
+
setRootTheme: (theme: G.Theme) => void;
|
15
14
|
};
|
16
15
|
export type Props = {
|
17
|
-
name?:
|
18
|
-
defaultName?:
|
19
|
-
colorMode?: ColorMode | "inverted";
|
16
|
+
name?: G.Theme;
|
17
|
+
defaultName?: G.Theme;
|
18
|
+
colorMode?: G.ColorMode | "inverted";
|
20
19
|
className?: G.ClassName;
|
21
20
|
children?: React.ReactNode;
|
22
21
|
};
|
@@ -25,8 +24,8 @@ export type PrivateProps = Props & {
|
|
25
24
|
scopeRef?: React.RefObject<HTMLDivElement | null>;
|
26
25
|
};
|
27
26
|
export type GlobalColorModeProps = {
|
28
|
-
mode?: ColorMode;
|
29
|
-
defaultMode: ColorMode;
|
27
|
+
mode?: G.ColorMode;
|
28
|
+
defaultMode: G.ColorMode;
|
30
29
|
scopeRef?: React.RefObject<HTMLDivElement | null>;
|
31
30
|
children?: React.ReactNode;
|
32
31
|
};
|
@@ -1,4 +1,4 @@
|
|
1
1
|
export { default, PrivateTheme } from "./Theme";
|
2
2
|
export { default as GlobalColorMode } from "./GlobalColorMode";
|
3
3
|
export { useTheme } from "./useTheme";
|
4
|
-
export type { Props as ThemeProps, GlobalColorModeProps
|
4
|
+
export type { Props as ThemeProps, GlobalColorModeProps } from "./Theme.types";
|
@@ -5,8 +5,9 @@ import View from "../../View/index.js";
|
|
5
5
|
import MenuItem from "../../MenuItem/index.js";
|
6
6
|
import Theme, { useTheme } from "../index.js";
|
7
7
|
import { Example } from "../../../utilities/storybook/index.js";
|
8
|
+
import Popover from "../../Popover/index.js";
|
8
9
|
export default {
|
9
|
-
title: "Utility components/Theme
|
10
|
+
title: "Utility components/Theme",
|
10
11
|
component: Theme,
|
11
12
|
parameters: {
|
12
13
|
iframe: {
|
@@ -15,6 +16,43 @@ export default {
|
|
15
16
|
chromatic: { disableSnapshot: true },
|
16
17
|
},
|
17
18
|
};
|
19
|
+
export const scoped = {
|
20
|
+
name: "scoped",
|
21
|
+
render: () => (<Example>
|
22
|
+
<Example.Item title="scoped, single">
|
23
|
+
<Theme name="reshaped">
|
24
|
+
<Card attributes={{ "data-testid": "test-id" }}>
|
25
|
+
<Button color="primary">Action</Button>
|
26
|
+
</Card>
|
27
|
+
</Theme>
|
28
|
+
</Example.Item>
|
29
|
+
|
30
|
+
<Example.Item title="scoped, multiple">
|
31
|
+
<Theme name={["reshaped", "figma"]}>
|
32
|
+
<Card attributes={{ "data-testid": "test-id-multi" }}>
|
33
|
+
<View direction="row" gap={4}>
|
34
|
+
<Button color="primary">Action</Button>
|
35
|
+
|
36
|
+
<Popover>
|
37
|
+
<Popover.Trigger>
|
38
|
+
{(attributes) => <Button attributes={attributes}>Popover</Button>}
|
39
|
+
</Popover.Trigger>
|
40
|
+
<Popover.Content>Content</Popover.Content>
|
41
|
+
</Popover>
|
42
|
+
</View>
|
43
|
+
</Card>
|
44
|
+
</Theme>
|
45
|
+
</Example.Item>
|
46
|
+
</Example>),
|
47
|
+
play: ({ canvas }) => {
|
48
|
+
const root = canvas.getByTestId("test-id").parentNode;
|
49
|
+
const rootMultiple = canvas.getByTestId("test-id-multi").parentNode;
|
50
|
+
expect(root).toHaveAttribute("data-rs-theme", "reshaped");
|
51
|
+
expect(root).toHaveAttribute("data-rs-color-mode", "dark");
|
52
|
+
expect(rootMultiple).toHaveAttribute("data-rs-theme", " reshaped figma ");
|
53
|
+
expect(root).toHaveAttribute("data-rs-color-mode", "dark");
|
54
|
+
},
|
55
|
+
};
|
18
56
|
export const light = {
|
19
57
|
name: "light",
|
20
58
|
render: () => (<Theme name="reshaped" colorMode="light">
|
@@ -1,10 +1,10 @@
|
|
1
1
|
export declare const useGlobalColorMode: () => import("./Theme.types").GlobalColorModeContextData;
|
2
2
|
export declare const useTheme: () => {
|
3
|
-
theme:
|
4
|
-
setTheme: (theme:
|
5
|
-
rootTheme:
|
6
|
-
setRootTheme: (theme:
|
7
|
-
colorMode: import("
|
8
|
-
setColorMode: (mode: import("
|
3
|
+
theme: import("../../types/global").Theme;
|
4
|
+
setTheme: (theme: import("../../types/global").Theme) => void;
|
5
|
+
rootTheme: import("../../types/global").Theme;
|
6
|
+
setRootTheme: (theme: import("../../types/global").Theme) => void;
|
7
|
+
colorMode: import("../..").ColorMode;
|
8
|
+
setColorMode: (mode: import("../..").ColorMode) => void;
|
9
9
|
invertColorMode: () => void;
|
10
10
|
};
|
@@ -5,21 +5,7 @@ import { classNames, responsiveClassNames, responsiveVariables } from "../../uti
|
|
5
5
|
import Divider from "../Divider/index.js";
|
6
6
|
import Hidden from "../Hidden/index.js";
|
7
7
|
import s from "./View.module.css";
|
8
|
-
import
|
9
|
-
import getBleedStyles from "../../styles/bleed/index.js";
|
10
|
-
import getWidthStyles from "../../styles/width/index.js";
|
11
|
-
import getHeightStyles from "../../styles/height/index.js";
|
12
|
-
import getMaxWidthStyles from "../../styles/maxWidth/index.js";
|
13
|
-
import getMaxHeightStyles from "../../styles/maxHeight/index.js";
|
14
|
-
import getMinWidthStyles from "../../styles/minWidth/index.js";
|
15
|
-
import getMinHeightStyles from "../../styles/minHeight/index.js";
|
16
|
-
import getPositionStyles from "../../styles/position/index.js";
|
17
|
-
import getInsetStyles from "../../styles/inset/index.js";
|
18
|
-
import getAspectRatioStyles from "../../styles/aspectRatio/index.js";
|
19
|
-
import getBorderStyles from "../../styles/border/index.js";
|
20
|
-
import getTextAlignStyles from "../../styles/textAlign/index.js";
|
21
|
-
import getAlignStyles from "../../styles/align/index.js";
|
22
|
-
import getJustifyStyles from "../../styles/justify/index.js";
|
8
|
+
import { resolveMixin } from "../../styles/mixin.js";
|
23
9
|
const ViewItem = (props) => {
|
24
10
|
const { columns, grow, shrink, gapBefore,
|
25
11
|
// Using any here to let TS save on type resolving, otherwise TS throws an error due to the type complexity
|
@@ -41,7 +27,7 @@ const View = (props) => {
|
|
41
27
|
/**
|
42
28
|
* Style props
|
43
29
|
* */
|
44
|
-
animated, backgroundColor, borderColor, borderRadius, shadow, textAlign, overflow, position, inset, insetTop, insetBottom, insetStart, insetEnd, zIndex,
|
30
|
+
animated, backgroundColor, borderColor, borderTop, borderBottom, borderStart, borderEnd, borderInline, borderBlock, borderRadius, shadow, textAlign, overflow, position, inset, insetTop, insetBottom, insetStart, insetEnd, zIndex,
|
45
31
|
/**
|
46
32
|
* Item prop
|
47
33
|
*/
|
@@ -49,27 +35,47 @@ const View = (props) => {
|
|
49
35
|
// Using any here to let TS save on type resolving, otherwise TS throws an error due to the type complexity
|
50
36
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
51
37
|
as: TagName = "div", children, divided, className, attributes, } = props;
|
38
|
+
const border = props.border ??
|
39
|
+
(borderColor
|
40
|
+
? !borderTop && !borderBottom && !borderStart && !borderEnd && !borderInline && !borderBlock
|
41
|
+
: undefined);
|
52
42
|
let isFlex = !!align || !!justify || !!gap || !!props.direction;
|
53
43
|
const direction = props.direction || (isFlex ? "column" : undefined);
|
54
|
-
const
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
44
|
+
const mixinStyles = resolveMixin({
|
45
|
+
align,
|
46
|
+
inset,
|
47
|
+
insetTop,
|
48
|
+
insetBottom,
|
49
|
+
insetStart,
|
50
|
+
insetEnd,
|
51
|
+
bleed,
|
52
|
+
width,
|
53
|
+
height,
|
54
|
+
maxWidth,
|
55
|
+
maxHeight,
|
56
|
+
minWidth,
|
57
|
+
minHeight,
|
58
|
+
position,
|
59
|
+
aspectRatio,
|
60
|
+
textAlign,
|
61
|
+
justify,
|
62
|
+
padding,
|
63
|
+
paddingInline,
|
64
|
+
paddingBlock,
|
65
|
+
paddingBottom,
|
66
|
+
paddingEnd,
|
67
|
+
paddingStart,
|
68
|
+
paddingTop,
|
69
|
+
borderColor,
|
70
|
+
border,
|
71
|
+
borderTop,
|
72
|
+
borderBottom,
|
73
|
+
borderStart,
|
74
|
+
borderEnd,
|
75
|
+
borderInline,
|
76
|
+
borderBlock,
|
77
|
+
radius: borderRadius,
|
78
|
+
});
|
73
79
|
let renderedItemIndex = 0;
|
74
80
|
// If wrap is not defined, it can be set based on item grow and split usage
|
75
81
|
let nowrap;
|
@@ -147,8 +153,7 @@ const View = (props) => {
|
|
147
153
|
return renderItem({ child, index: usedIndex });
|
148
154
|
});
|
149
155
|
// Classnames and attributes are written here so we can assign nowrap to the root element based on the children
|
150
|
-
const rootClassNames = classNames(s.root, className,
|
151
|
-
s["--padding"], (isFlex || nowrap) && s["--flex"], ...responsiveClassNames(s, "--direction", direction),
|
156
|
+
const rootClassNames = classNames(s.root, className, mixinStyles.classNames, backgroundColor && s[`--bg-${backgroundColor}`], shadow && s[`--shadow-${shadow}`], overflow && s[`--overflow-${overflow}`], animated && s["--animated"], divided && s["--divided"], (isFlex || nowrap) && s["--flex"], ...responsiveClassNames(s, "--direction", direction),
|
152
157
|
// Wrap and nowrap are separate here because inverting any of them could result into a false value which will be ignored by classNames
|
153
158
|
...responsiveClassNames(s, "--nowrap", nowrap || wrap === false), ...responsiveClassNames(s, "--wrap", wrap),
|
154
159
|
// Item classnames
|
@@ -156,29 +161,7 @@ const View = (props) => {
|
|
156
161
|
const rootVariables = {
|
157
162
|
...attributes?.style,
|
158
163
|
...responsiveVariables("--rs-view-gap", gap),
|
159
|
-
...
|
160
|
-
...responsiveVariables("--rs-view-p-horizontal", paddingInline || padding),
|
161
|
-
...responsiveVariables("--rs-view-p-bottom", paddingBottom),
|
162
|
-
...responsiveVariables("--rs-view-p-top", paddingTop),
|
163
|
-
...responsiveVariables("--rs-view-p-start", paddingStart),
|
164
|
-
...responsiveVariables("--rs-view-p-end", paddingEnd),
|
165
|
-
...bleedStyles?.variables,
|
166
|
-
...widthStyles?.variables,
|
167
|
-
...heightStyles?.variables,
|
168
|
-
...aspectRatioStyles?.variables,
|
169
|
-
...maxWidthStyles?.variables,
|
170
|
-
...maxHeightStyles?.variables,
|
171
|
-
...minWidthStyles?.variables,
|
172
|
-
...minHeightStyles?.variables,
|
173
|
-
...insetStyles?.variables,
|
174
|
-
...insetTopStyles?.variables,
|
175
|
-
...insetBottomStyles?.variables,
|
176
|
-
...insetStartStyles?.variables,
|
177
|
-
...insetEndStyles?.variables,
|
178
|
-
...alignStyles?.variables,
|
179
|
-
...justifyStyles?.variables,
|
180
|
-
...positionStyles?.variables,
|
181
|
-
...textAlignStyles?.variables,
|
164
|
+
...mixinStyles.variables,
|
182
165
|
...(zIndex ? { "--rs-view-z": zIndex } : {}),
|
183
166
|
};
|
184
167
|
return (_jsx(TagName, { ...attributes, className: rootClassNames, style: rootVariables, children: formattedChildren }));
|