UNPKG

wix-style-react

Version:
355 lines (290 loc) • 8.73 kB
@st-import [ --wds-add-item-padding-vertical-large, --wds-add-item-padding-horizontal-large, --wds-add-item-padding-vertical-medium, --wds-add-item-padding-vertical-small, --wds-add-item-padding-vertical-tiny, --wds-shadow-focus-standard, --wds-color-text-primary, --wds-color-text-standard-secondary, --wds-color-text-disabled, --wds-color-fill-standard-tertiary, --wds-color-fill-standard-tertiary-hover, --wds-color-fill-standard-tertiary-active, --wds-color-fill-standard-tertiary-disabled, --wds-color-border-standard-primary, --wds-color-border-standard-primary-hover, --wds-color-border-standard-primary-disabled, --wds-color-black-100-transparent-5, --wds-color-blue-600, --wds-color-blue-500, --wds-space-100, --wds-space-200, --wds-border-radius-100, --wds-border-radius-400, ] from '@wix/design-system-tokens/all.st.css'; :import { -st-from: '../Foundation/stylable/colors.st.css'; -st-named: B10, B20, B30, B40, B50, B60, D20, D60, D70, D80, D10-05, D10-10, D10-30, F00, } :import { -st-from: '../Foundation/stylable/easing.st.css'; -st-named: ease-9; } :import { -st-from: '../Tooltip/Tooltip.st.css'; -st-default: Tooltip; } :import { -st-from: '../Foundation/stylable/opacity.st.css'; -st-named: opacity48; } :import { -st-from: '../Foundation/stylable/border.st.css'; -st-named: radius08; } :import { -st-from: '../Text/Text.st.css'; -st-default: Text; } .root { -st-states: theme(enum(dashes, plain, filled, image)), size(enum(tiny, small, medium, large)), alignItems(enum(left, right, center)), removePadding, disabled, newColorsBranding, focus-visible; display: flex; height: 100%; width: 100%; cursor: pointer; outline: none; box-sizing: border-box; align-items: center; justify-content: center; padding: 12px 30px; color: var(--wds-color-text-primary, value(B10)); } .root:size(small) { padding: var(--wds-add-item-padding-vertical-small, 18px) var(--wds-add-item-padding-horizontal-large, 30px); } .root:size(medium) { padding: var(--wds-add-item-padding-vertical-medium, 24px) var(--wds-add-item-padding-horizontal-large, 30px); } .root:size(large) { padding: var(--wds-add-item-padding-vertical-large, 30px) var(--wds-add-item-padding-horizontal-large, 30px); } .root:removePadding { padding: 0; } .root:not(:disabled):focus-visible { box-shadow: var(--wds-shadow-focus-standard, 0 0 0 3px value(F00)); } .root:theme(dashes):hover, .root:theme(plain):hover, .root:theme(filled):hover, .root:theme(image):hover { background-color: var(--wds-color-fill-standard-tertiary-hover, value(B40)); } .root:newColorsBranding:theme(dashes):hover, .root:newColorsBranding:theme(plain):hover { background-color: var(--wds-color-fill-standard-tertiary-hover, value(B50)); } .root:newColorsBranding:theme(filled):hover, .root:newColorsBranding:theme(image):hover { background-color: var(--wds-color-blue-500, value(B50)); } .root:theme(dashes):active, .root:theme(plain):active, .root:theme(filled):active, .root:theme(image):active { background-color: var(--wds-color-fill-standard-tertiary-active, value(B30)); } .root:newColorsBranding:theme(dashes):active, .root:newColorsBranding:theme(plain):active, .root:newColorsBranding:theme(filled):active, .root:newColorsBranding:theme(image):active { background-color: var(--wds-color-fill-standard-tertiary-active, value(B40)); } /* Theme plain */ .root:theme(plain) { background-color: var(--wds-color-fill-standard-tertiary, value(D80)); border: none; } .root:theme(plain):disabled { cursor: not-allowed; background-color: var(--wds-color-fill-standard-tertiary, value(D10-10)); color: var(--wds-color-text-disabled, value(D10-30)); } /* Theme dashes */ .root:theme(dashes) { outline: 1px dashed var(--wds-color-border-standard-primary, value(B20)); outline-offset: -1px; border: none; background-color: var(--wds-color-fill-standard-tertiary, value(opacity48)); border-radius: var(--wds-border-radius-400, value(radius08)); } .root:theme(dashes):hover { outline-color: var(--wds-color-border-standard-primary-hover, value(B20)); } .root:theme(dashes):disabled { cursor: not-allowed; background-color: var(--wds-color-black-100-transparent-5, value(D10-05)); color: var(--wds-color-text-disabled, value(D10-30)); outline-color: var(--wds-color-border-standard-primary-disabled, value(D10-30)); } .root:not(:disabled):focus-visible:theme(dashes) { box-shadow: var(--wds-shadow-focus-standard, 0 0 0 3px value(F00)); outline-color: transparent; } /* Theme filled */ .root:theme(filled) { background-color: var(--wds-color-blue-600, value(B50)); border-radius: var(--wds-border-radius-400, value(radius08)); border: none; } .root:newColorsBranding:theme(filled) { background-color: var(--wds-color-blue-600, value(B60)); } .root:theme(filled):disabled { cursor: not-allowed; background-color: var(--wds-color-black-100-transparent-5, value(D70)); color: var(--wds-color-text-disabled, value(D10-30)); } /* Theme image */ .root:theme(image) { display: block; height: 100%; padding: var(--wds-add-item-padding-vertical-tiny, 12px); border: none; transition: background 0.2s value(ease-9); backface-visibility: hidden; transform: translate3d(0, 0, 0); background-color: var(--wds-color-blue-600, value(B50)); border-radius: var(--wds-border-radius-400, value(radius08)); } .root:newColorsBranding:theme(image) { background-color: var(--wds-color-blue-600, value(B60)); } .root:theme(image):disabled { background-color: var(--wds-color-black-100-transparent-5, value(D70)); color: var(--wds-color-text-disabled, initial); } .root:size(tiny) .icon, .root:size(tiny) .illustration { flex-shrink: 0; margin: 0px 6px; } .root:size(tiny):alignItems(left) .icon, .root:size(tiny):alignItems(right) .icon { margin: 0 var(--wds-space-100, 6px) 0 0; } .illustration { background-color: initial; } /* Content container */ .contentContainer { -st-states: theme(enum(image)), alignItems(enum(center, right, left)), size(enum(tiny)), disabled; display: flex; flex-direction: column; align-items: center; box-sizing: border-box; justify-content: center; width: 100%; height: 100%; } /* Specific theme image classname */ .contentContainer:theme(image) { border: 1px dashed var(--wds-color-border-standard-primary, value(B20)); border-radius: var(--wds-border-radius-100, 3px); padding: var(--wds-add-item-padding-vertical-tiny, 12px); } .contentContainer:theme(image):hover { border-color: var(--wds-color-border-standard-primary-hover, value(B20)); } .contentContainer:disabled:theme(image) { cursor: not-allowed; color: var(--wds-color-text-disabled, value(D10-30)); border: dashed 1px var(--wds-color-border-standard-primary-disabled, value(D60)); } .contentContainer:alignItems(center) { align-items: center; } .contentContainer:alignItems(left) { align-items: flex-start; } .contentContainer:alignItems(right) { align-items: flex-end; } /* Content */ .content { -st-states: size(enum(tiny)); display: flex; flex-direction: column; align-items: center; } .content:size(tiny) { flex-direction: row; justify-content: center; max-width: 100%; } /* Text */ .textWrapper { -st-states: size(enum(tiny, small, medium, large)); display: flex; align-items: center; justify-content: center; } .textWrapper:size(tiny) { max-width: 100%; flex-basis: auto; } .textWrapper:size(small) { width: 100%; padding-top: var(--wds-space-100, 6px); } .textWrapper:size(medium) { width: 100%; padding-top: var(--wds-space-200, 12px); } .textWrapper:size(large) { width: 100%; padding-top: var(--wds-space-200, 12px); } .textContent { -st-extends: Text; } .textContent:skin(standard):weight(thin) { color: var(--wds-color-text-primary, value(B10)); } .root:disabled .textContent:skin(standard) { color: var(--wds-color-text-disabled, value(D10-30)); } .subtitle { -st-extends: Text; -st-states: size(enum(tiny, small)); padding-top: var(--wds-space-200, 12px); } .subtitle:skin(standard):size(tiny) { padding-top: var(--wds-space-100, 6px); } .subtitle:skin(standard):size(small) { padding-top: var(--wds-space-100, 6px); } .subtitle:skin(standard):weight(thin) { color: var(--wds-color-text-standard-secondary, value(D20)); } .tooltip { -st-extends: Tooltip; display: flex; width: 100%; height: 100%; } .tooltip::element { width: 100%; height: 100%; } /* Disabling pointer events in order to delegate mouse enter/leave events */ .root:disabled { pointer-events: none; } /* st-namespace-reference="../../../src/AddItem/AddItem.st.css" */