@salutejs/plasma-new-hope 0.82.1-canary.1209.9162541836.0 → 0.83.0-canary.1194.9157747369.0
Sign up to get free protection for your applications and to get access to all the features.
- package/cjs/components/Combobox/hooks/useFocusController.js +1 -0
- package/cjs/components/Combobox/hooks/useFocusController.js.map +1 -1
- package/cjs/components/Slider/Slider.css +69 -0
- package/cjs/components/Slider/Slider.js +48 -0
- package/cjs/components/Slider/Slider.js.map +1 -0
- package/cjs/components/Slider/Slider.tokens.js +79 -0
- package/cjs/components/Slider/Slider.tokens.js.map +1 -0
- package/cjs/components/Slider/components/Double/Double.css +62 -0
- package/cjs/components/Slider/components/Double/Double.js +288 -0
- package/cjs/components/Slider/components/Double/Double.js.map +1 -0
- package/cjs/components/Slider/components/Double/Double.styles.js +61 -0
- package/cjs/components/Slider/components/Double/Double.styles.js.map +1 -0
- package/cjs/components/Slider/components/Double/Double.styles_1jhda4u.css +7 -0
- package/cjs/components/Slider/components/Single/Single.css +16 -0
- package/cjs/components/Slider/components/Single/Single.js +164 -0
- package/cjs/components/Slider/components/Single/Single.js.map +1 -0
- package/cjs/components/Slider/components/Single/Single.styles.js +45 -0
- package/cjs/components/Slider/components/Single/Single.styles.js.map +1 -0
- package/cjs/components/Slider/components/Single/Single.styles_1r9f1e0.css +6 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.css +4 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.js +82 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.js.map +1 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +33 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -0
- package/cjs/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +4 -0
- package/cjs/components/Slider/ui/Handler/Handler.css +4 -0
- package/cjs/components/Slider/ui/Handler/Handler.js +174 -0
- package/cjs/components/Slider/ui/Handler/Handler.js.map +1 -0
- package/cjs/components/Slider/ui/Handler/Handler.styles.js +21 -0
- package/cjs/components/Slider/ui/Handler/Handler.styles.js.map +1 -0
- package/cjs/components/Slider/ui/Handler/Handler.styles_8crx5z.css +2 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.css +1 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.js +31 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.js.map +1 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js +15 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -0
- package/cjs/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +1 -0
- package/cjs/components/Slider/utils/index.js +56 -0
- package/cjs/components/Slider/utils/index.js.map +1 -0
- package/cjs/components/Slider/variations/_disabled/base.js +9 -0
- package/cjs/components/Slider/variations/_disabled/base.js.map +1 -0
- package/cjs/components/Slider/variations/_disabled/base_x642ct.css +1 -0
- package/cjs/components/Slider/variations/_size/base.js +9 -0
- package/cjs/components/Slider/variations/_size/base.js.map +1 -0
- package/cjs/components/Slider/variations/_size/base_x642ct.css +1 -0
- package/cjs/components/Slider/variations/_view/base.js +9 -0
- package/cjs/components/Slider/variations/_view/base.js.map +1 -0
- package/cjs/components/Slider/variations/_view/base_x642ct.css +1 -0
- package/cjs/components/TextArea/TextArea.js +5 -7
- package/cjs/components/TextArea/TextArea.js.map +1 -1
- package/cjs/components/TextArea/TextArea.tokens.js +0 -4
- package/cjs/components/TextArea/TextArea.tokens.js.map +1 -1
- package/cjs/components/TextArea/TextArea_qicm5y.css +1 -0
- package/cjs/components/TextField/TextField.js +12 -3
- package/cjs/components/TextField/TextField.js.map +1 -1
- package/cjs/engines/common.js +4 -0
- package/cjs/engines/common.js.map +1 -1
- package/cjs/engines/index.js.map +1 -1
- package/cjs/hooks/useIsomorphicLayoutEffect.js +15 -0
- package/cjs/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/cjs/index.css +26 -1
- package/cjs/index.js +14 -0
- package/cjs/index.js.map +1 -1
- package/cjs/utils/canUseDOM.js +12 -0
- package/cjs/utils/canUseDOM.js.map +1 -0
- package/cjs/utils/index.js.map +1 -1
- package/es/components/Combobox/hooks/useFocusController.js +1 -0
- package/es/components/Combobox/hooks/useFocusController.js.map +1 -1
- package/es/components/Slider/Slider.css +69 -0
- package/es/components/Slider/Slider.js +43 -0
- package/es/components/Slider/Slider.js.map +1 -0
- package/es/components/Slider/Slider.tokens.js +74 -0
- package/es/components/Slider/Slider.tokens.js.map +1 -0
- package/es/components/Slider/components/Double/Double.css +62 -0
- package/es/components/Slider/components/Double/Double.js +284 -0
- package/es/components/Slider/components/Double/Double.js.map +1 -0
- package/es/components/Slider/components/Double/Double.styles.js +51 -0
- package/es/components/Slider/components/Double/Double.styles.js.map +1 -0
- package/es/components/Slider/components/Double/Double.styles_1jhda4u.css +7 -0
- package/es/components/Slider/components/Single/Single.css +16 -0
- package/es/components/Slider/components/Single/Single.js +160 -0
- package/es/components/Slider/components/Single/Single.js.map +1 -0
- package/es/components/Slider/components/Single/Single.styles.js +36 -0
- package/es/components/Slider/components/Single/Single.styles.js.map +1 -0
- package/es/components/Slider/components/Single/Single.styles_1r9f1e0.css +6 -0
- package/es/components/Slider/components/SliderBase/SliderBase.css +4 -0
- package/es/components/Slider/components/SliderBase/SliderBase.js +78 -0
- package/es/components/Slider/components/SliderBase/SliderBase.js.map +1 -0
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js +26 -0
- package/es/components/Slider/components/SliderBase/SliderBase.styles.js.map +1 -0
- package/es/components/Slider/components/SliderBase/SliderBase.styles_7is2ll.css +4 -0
- package/es/components/Slider/ui/Handler/Handler.css +4 -0
- package/es/components/Slider/ui/Handler/Handler.js +170 -0
- package/es/components/Slider/ui/Handler/Handler.js.map +1 -0
- package/es/components/Slider/ui/Handler/Handler.styles.js +16 -0
- package/es/components/Slider/ui/Handler/Handler.styles.js.map +1 -0
- package/es/components/Slider/ui/Handler/Handler.styles_8crx5z.css +2 -0
- package/es/components/Slider/ui/Thumb/Thumb.css +1 -0
- package/es/components/Slider/ui/Thumb/Thumb.js +27 -0
- package/es/components/Slider/ui/Thumb/Thumb.js.map +1 -0
- package/es/components/Slider/ui/Thumb/Thumb.styles.js +11 -0
- package/es/components/Slider/ui/Thumb/Thumb.styles.js.map +1 -0
- package/es/components/Slider/ui/Thumb/Thumb.styles_4w4gzn.css +1 -0
- package/es/components/Slider/utils/index.js +50 -0
- package/es/components/Slider/utils/index.js.map +1 -0
- package/es/components/Slider/variations/_disabled/base.js +5 -0
- package/es/components/Slider/variations/_disabled/base.js.map +1 -0
- package/es/components/Slider/variations/_disabled/base_x642ct.css +1 -0
- package/es/components/Slider/variations/_size/base.js +5 -0
- package/es/components/Slider/variations/_size/base.js.map +1 -0
- package/es/components/Slider/variations/_size/base_x642ct.css +1 -0
- package/es/components/Slider/variations/_view/base.js +5 -0
- package/es/components/Slider/variations/_view/base.js.map +1 -0
- package/es/components/Slider/variations/_view/base_x642ct.css +1 -0
- package/es/components/TextArea/TextArea.js +5 -7
- package/es/components/TextArea/TextArea.js.map +1 -1
- package/es/components/TextArea/TextArea.tokens.js +0 -4
- package/es/components/TextArea/TextArea.tokens.js.map +1 -1
- package/es/components/TextArea/TextArea_qicm5y.css +1 -0
- package/es/components/TextField/TextField.js +12 -3
- package/es/components/TextField/TextField.js.map +1 -1
- package/es/engines/common.js +4 -0
- package/es/engines/common.js.map +1 -1
- package/es/engines/index.js.map +1 -1
- package/es/hooks/useIsomorphicLayoutEffect.js +11 -0
- package/es/hooks/useIsomorphicLayoutEffect.js.map +1 -0
- package/es/index.css +26 -1
- package/es/index.js +8 -0
- package/es/index.js.map +1 -1
- package/es/utils/canUseDOM.js +8 -0
- package/es/utils/canUseDOM.js.map +1 -0
- package/es/utils/index.js.map +1 -1
- package/package.json +3 -2
- package/styled-components/cjs/components/Slider/Slider.js +47 -0
- package/styled-components/cjs/components/Slider/Slider.tokens.js +77 -0
- package/styled-components/cjs/components/Slider/Slider.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/Double/Double.js +300 -0
- package/styled-components/cjs/components/Slider/components/Double/Double.styles.js +36 -0
- package/styled-components/cjs/components/Slider/components/Double/Double.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/Single/Single.js +176 -0
- package/styled-components/cjs/components/Slider/components/Single/Single.styles.js +27 -0
- package/styled-components/cjs/components/Slider/components/Single/Single.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.js +83 -0
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.styles.js +21 -0
- package/styled-components/cjs/components/Slider/components/SliderBase/SliderBase.types.js +5 -0
- package/styled-components/cjs/components/Slider/components/index.js +27 -0
- package/styled-components/cjs/components/Slider/index.js +32 -0
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.js +183 -0
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.styles.js +15 -0
- package/styled-components/cjs/components/Slider/ui/Handler/Handler.types.js +5 -0
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.js +32 -0
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.styles.js +18 -0
- package/styled-components/cjs/components/Slider/ui/Thumb/Thumb.types.js +5 -0
- package/styled-components/cjs/components/Slider/ui/index.js +63 -0
- package/styled-components/cjs/components/Slider/utils/index.js +55 -0
- package/styled-components/cjs/components/Slider/variations/_disabled/base.js +8 -0
- package/styled-components/cjs/components/Slider/variations/_disabled/tokens.json +4 -0
- package/styled-components/cjs/components/Slider/variations/_size/base.js +8 -0
- package/styled-components/cjs/components/Slider/variations/_size/tokens.json +0 -0
- package/styled-components/cjs/components/Slider/variations/_view/base.js +8 -0
- package/styled-components/cjs/components/Slider/variations/_view/tokens.json +0 -0
- package/styled-components/cjs/components/TextArea/TextArea.js +4 -6
- package/styled-components/cjs/components/TextArea/TextArea.tokens.js +0 -4
- package/styled-components/cjs/components/TextArea/mixins/applyDynamicLabel.js +1 -1
- package/styled-components/cjs/components/TextField/TextField.js +12 -3
- package/styled-components/cjs/engines/common.js +4 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.config.js +29 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.js +16 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Slider/Slider.stories.tsx +164 -0
- package/styled-components/cjs/examples/plasma_b2c/components/TextArea/TextArea.config.js +4 -4
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.config.js +29 -0
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.js +16 -0
- package/styled-components/cjs/examples/plasma_web/components/Slider/Slider.stories.tsx +163 -0
- package/styled-components/cjs/examples/plasma_web/components/TextArea/TextArea.config.js +4 -4
- package/styled-components/cjs/hooks/index.js +8 -1
- package/styled-components/cjs/hooks/useIsomorphicLayoutEffect.js +12 -0
- package/styled-components/cjs/index.js +11 -0
- package/styled-components/cjs/utils/canUseDOM.js +11 -0
- package/styled-components/cjs/utils/index.js +7 -0
- package/styled-components/es/components/Slider/Slider.js +38 -0
- package/styled-components/es/components/Slider/Slider.tokens.js +71 -0
- package/styled-components/es/components/Slider/Slider.types.js +1 -0
- package/styled-components/es/components/Slider/components/Double/Double.js +292 -0
- package/styled-components/es/components/Slider/components/Double/Double.styles.js +29 -0
- package/styled-components/es/components/Slider/components/Double/Double.types.js +1 -0
- package/styled-components/es/components/Slider/components/Single/Single.js +168 -0
- package/styled-components/es/components/Slider/components/Single/Single.styles.js +20 -0
- package/styled-components/es/components/Slider/components/Single/Single.types.js +1 -0
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.js +74 -0
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.styles.js +14 -0
- package/styled-components/es/components/Slider/components/SliderBase/SliderBase.types.js +1 -0
- package/styled-components/es/components/Slider/components/index.js +3 -0
- package/styled-components/es/components/Slider/index.js +3 -0
- package/styled-components/es/components/Slider/ui/Handler/Handler.js +174 -0
- package/styled-components/es/components/Slider/ui/Handler/Handler.styles.js +8 -0
- package/styled-components/es/components/Slider/ui/Handler/Handler.types.js +1 -0
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.js +25 -0
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.styles.js +11 -0
- package/styled-components/es/components/Slider/ui/Thumb/Thumb.types.js +1 -0
- package/styled-components/es/components/Slider/ui/index.js +5 -0
- package/styled-components/es/components/Slider/utils/index.js +47 -0
- package/styled-components/es/components/Slider/variations/_disabled/base.js +2 -0
- package/styled-components/es/components/Slider/variations/_disabled/tokens.json +4 -0
- package/styled-components/es/components/Slider/variations/_size/base.js +2 -0
- package/styled-components/es/components/Slider/variations/_size/tokens.json +0 -0
- package/styled-components/es/components/Slider/variations/_view/base.js +2 -0
- package/styled-components/es/components/Slider/variations/_view/tokens.json +0 -0
- package/styled-components/es/components/TextArea/TextArea.js +4 -6
- package/styled-components/es/components/TextArea/TextArea.tokens.js +0 -4
- package/styled-components/es/components/TextArea/mixins/applyDynamicLabel.js +1 -1
- package/styled-components/es/components/TextField/TextField.js +12 -3
- package/styled-components/es/engines/common.js +4 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.config.js +23 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.js +10 -0
- package/styled-components/es/examples/plasma_b2c/components/Slider/Slider.stories.tsx +164 -0
- package/styled-components/es/examples/plasma_b2c/components/TextArea/TextArea.config.js +4 -4
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.config.js +23 -0
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.js +10 -0
- package/styled-components/es/examples/plasma_web/components/Slider/Slider.stories.tsx +163 -0
- package/styled-components/es/examples/plasma_web/components/TextArea/TextArea.config.js +4 -4
- package/styled-components/es/hooks/index.js +2 -1
- package/styled-components/es/hooks/useIsomorphicLayoutEffect.js +7 -0
- package/styled-components/es/index.js +2 -1
- package/styled-components/es/utils/canUseDOM.js +5 -0
- package/styled-components/es/utils/index.js +1 -0
- package/types/components/Slider/Slider.d.ts +27 -0
- package/types/components/Slider/Slider.d.ts.map +1 -0
- package/types/components/Slider/Slider.tokens.d.ts +72 -0
- package/types/components/Slider/Slider.tokens.d.ts.map +1 -0
- package/types/components/Slider/Slider.types.d.ts +3 -0
- package/types/components/Slider/Slider.types.d.ts.map +1 -0
- package/types/components/Slider/components/Double/Double.d.ts +4 -0
- package/types/components/Slider/components/Double/Double.d.ts.map +1 -0
- package/types/components/Slider/components/Double/Double.styles.d.ts +43 -0
- package/types/components/Slider/components/Double/Double.styles.d.ts.map +1 -0
- package/types/components/Slider/components/Double/Double.types.d.ts +65 -0
- package/types/components/Slider/components/Double/Double.types.d.ts.map +1 -0
- package/types/components/Slider/components/Single/Single.d.ts +4 -0
- package/types/components/Slider/components/Single/Single.d.ts.map +1 -0
- package/types/components/Slider/components/Single/Single.styles.d.ts +8 -0
- package/types/components/Slider/components/Single/Single.styles.d.ts.map +1 -0
- package/types/components/Slider/components/Single/Single.types.d.ts +55 -0
- package/types/components/Slider/components/Single/Single.types.d.ts.map +1 -0
- package/types/components/Slider/components/SliderBase/SliderBase.d.ts +4 -0
- package/types/components/Slider/components/SliderBase/SliderBase.d.ts.map +1 -0
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts +6 -0
- package/types/components/Slider/components/SliderBase/SliderBase.styles.d.ts.map +1 -0
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts +45 -0
- package/types/components/Slider/components/SliderBase/SliderBase.types.d.ts.map +1 -0
- package/types/components/Slider/components/index.d.ts +6 -0
- package/types/components/Slider/components/index.d.ts.map +1 -0
- package/types/components/Slider/index.d.ts +6 -0
- package/types/components/Slider/index.d.ts.map +1 -0
- package/types/components/Slider/ui/Handler/Handler.d.ts +9 -0
- package/types/components/Slider/ui/Handler/Handler.d.ts.map +1 -0
- package/types/components/Slider/ui/Handler/Handler.styles.d.ts +4 -0
- package/types/components/Slider/ui/Handler/Handler.styles.d.ts.map +1 -0
- package/types/components/Slider/ui/Handler/Handler.types.d.ts +24 -0
- package/types/components/Slider/ui/Handler/Handler.types.d.ts.map +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.d.ts +4 -0
- package/types/components/Slider/ui/Thumb/Thumb.d.ts.map +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts +5 -0
- package/types/components/Slider/ui/Thumb/Thumb.styles.d.ts.map +1 -0
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts +12 -0
- package/types/components/Slider/ui/Thumb/Thumb.types.d.ts.map +1 -0
- package/types/components/Slider/ui/index.d.ts +6 -0
- package/types/components/Slider/ui/index.d.ts.map +1 -0
- package/types/components/Slider/utils/index.d.ts +33 -0
- package/types/components/Slider/utils/index.d.ts.map +1 -0
- package/types/components/Slider/variations/_disabled/base.d.ts +2 -0
- package/types/components/Slider/variations/_disabled/base.d.ts.map +1 -0
- package/types/components/Slider/variations/_size/base.d.ts +2 -0
- package/types/components/Slider/variations/_size/base.d.ts.map +1 -0
- package/types/components/Slider/variations/_view/base.d.ts +2 -0
- package/types/components/Slider/variations/_view/base.d.ts.map +1 -0
- package/types/components/TextArea/TextArea.d.ts.map +1 -1
- package/types/components/TextArea/TextArea.tokens.d.ts +0 -4
- package/types/components/TextArea/TextArea.tokens.d.ts.map +1 -1
- package/types/components/TextArea/mixins/applyDynamicLabel.d.ts.map +1 -1
- package/types/components/TextField/TextField.d.ts.map +1 -1
- package/types/engines/common.d.ts +3 -3
- package/types/engines/common.d.ts.map +1 -1
- package/types/engines/index.d.ts +1 -1
- package/types/engines/index.d.ts.map +1 -1
- package/types/engines/types.d.ts +4 -0
- package/types/engines/types.d.ts.map +1 -1
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts +22 -0
- package/types/examples/plasma_b2c/components/Slider/Slider.config.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts +21 -0
- package/types/examples/plasma_b2c/components/Slider/Slider.d.ts.map +1 -0
- package/types/examples/plasma_b2c/components/TextArea/TextArea.config.d.ts.map +1 -1
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts +22 -0
- package/types/examples/plasma_web/components/Slider/Slider.config.d.ts.map +1 -0
- package/types/examples/plasma_web/components/Slider/Slider.d.ts +21 -0
- package/types/examples/plasma_web/components/Slider/Slider.d.ts.map +1 -0
- package/types/examples/plasma_web/components/TextArea/TextArea.config.d.ts.map +1 -1
- package/types/hooks/index.d.ts +1 -0
- package/types/hooks/index.d.ts.map +1 -1
- package/types/hooks/useIsomorphicLayoutEffect.d.ts +6 -0
- package/types/hooks/useIsomorphicLayoutEffect.d.ts.map +1 -0
- package/types/index.d.ts +1 -0
- package/types/index.d.ts.map +1 -1
- package/types/utils/canUseDOM.d.ts +6 -0
- package/types/utils/canUseDOM.d.ts.map +1 -0
- package/types/utils/index.d.ts +1 -0
- package/types/utils/index.d.ts.map +1 -1
- package/cjs/components/TextArea/TextArea_ob9y3r.css +0 -1
- package/es/components/TextArea/TextArea_ob9y3r.css +0 -1
@@ -1,4 +1,4 @@
|
|
1
|
-
import './
|
1
|
+
import './TextArea_qicm5y.css';
|
2
2
|
import { objectWithoutProperties as _objectWithoutProperties, slicedToArray as _slicedToArray, toConsumableArray as _toConsumableArray, extends as _extends } from '../../_virtual/_rollupPluginBabelHelpers.js';
|
3
3
|
import React, { forwardRef, useState, useCallback, createRef } from 'react';
|
4
4
|
import { useResizeObserver } from '@salutejs/plasma-core';
|
@@ -36,17 +36,16 @@ var getDynamicLabelClasses = function getDynamicLabelClasses(props, focused) {
|
|
36
36
|
labelPlacement = props.labelPlacement,
|
37
37
|
autoResize = props.autoResize,
|
38
38
|
rows = props.rows,
|
39
|
-
value = props.value
|
40
|
-
size = props.size;
|
39
|
+
value = props.value;
|
41
40
|
|
42
41
|
// Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе
|
43
42
|
var withFocusedOuterUpPlaceholder = !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;
|
44
43
|
|
45
44
|
// Добавить класс отвечающий за поднятие и уменьшение плейсхолдера
|
46
|
-
var withInnerPlaceholderUp = labelPlacement === 'inner' && label && !autoResize && !rows &&
|
45
|
+
var withInnerPlaceholderUp = labelPlacement === 'inner' && label && !autoResize && !rows && (!readOnly && (value || focused) || readOnly && value) ? innerPlaceholderUp : undefined;
|
47
46
|
|
48
47
|
// Добавить класс отвечающий за скрытие плейсхолдера
|
49
|
-
var withHidePlaceholder = value && !label || labelPlacement === 'inner' && (focused && !readOnly || value) && label && (rows || autoResize) || labelPlacement === 'outer' && value
|
48
|
+
var withHidePlaceholder = value && !label || labelPlacement === 'inner' && (focused && !readOnly || value) && label && (rows || autoResize) || labelPlacement === 'outer' && value ? hidePlaceHolder : undefined;
|
50
49
|
return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];
|
51
50
|
};
|
52
51
|
var textAreaRoot = function textAreaRoot(Root) {
|
@@ -98,7 +97,7 @@ var textAreaRoot = function textAreaRoot(Root) {
|
|
98
97
|
var overriddenView = status !== undefined ? fallbackStatusMap[status] : view;
|
99
98
|
var textareaHelperId = id ? "".concat(id, "-helper") : undefined;
|
100
99
|
var applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;
|
101
|
-
var placeLabel = labelPlacement === 'inner' && label
|
100
|
+
var placeLabel = labelPlacement === 'inner' && label ? label : placeholder;
|
102
101
|
useResizeObserver(outerRef, function (currentElement) {
|
103
102
|
var _currentElement$style = currentElement.style,
|
104
103
|
inlineWidth = _currentElement$style.width,
|
@@ -124,7 +123,6 @@ var textAreaRoot = function textAreaRoot(Root) {
|
|
124
123
|
onChange === null || onChange === void 0 || onChange(event);
|
125
124
|
}, [value, onChange]);
|
126
125
|
var dynamicLabelClasses = getDynamicLabelClasses({
|
127
|
-
size: size,
|
128
126
|
readOnly: readOnly,
|
129
127
|
label: label,
|
130
128
|
labelPlacement: labelPlacement,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value, size } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n size !== 'xs' &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value) ||\n (labelPlacement === 'inner' && size === 'xs' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = innerRef && 'current' in innerRef ? innerRef : createRef<HTMLTextAreaElement>();\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeLabel = labelPlacement === 'inner' && label && size !== 'xs' ? label : placeholder;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth, height: inlineHeight } = currentElement.style;\n\n if (inlineWidth || inlineHeight || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n {\n size,\n readOnly,\n label,\n labelPlacement,\n autoResize,\n rows,\n value: value || uncontrolledValue || defaultValue,\n },\n focused,\n );\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={style}\n className={className}\n >\n {label && labelPlacement === 'outer' && <StyledLabel>{label}</StyledLabel>}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={outerRef}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeLabel}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","size","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hasHelper","Boolean","overriddenView","textareaHelperId","applyCustomWidth","placeLabel","useResizeObserver","currentElement","_currentElement$style","inlineWidth","inlineHeight","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","React","createElement","StyledLabel","StyledContainer","cx","apply","_toConsumableArray","onFocus","onBlur","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"TextArea.js","sources":["../../../src/components/TextArea/TextArea.tsx"],"sourcesContent":["import React, { forwardRef, useState, createRef, useCallback } from 'react';\nimport { css } from '@linaria/core';\nimport { useResizeObserver } from '@salutejs/plasma-core';\n\nimport { cx } from '../../utils';\nimport type { RootProps } from '../../engines/types';\n\nimport { applyDynamicLabel } from './mixins';\nimport { useAutoResize, ROOT_FONT_SIZE } from './hooks';\nimport {\n StyledContent,\n StyledHelpers,\n StyledLeftHelper,\n StyledRightHelper,\n StyledLabel,\n StyledPlaceholder,\n StyledTextArea,\n StyledTextAreaWrapper,\n StyledContainer,\n} from './TextArea.styles';\nimport { classes } from './TextArea.tokens';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport type { TextAreaProps } from './TextArea.types';\n\nconst {\n innerPlaceholderUp,\n focusedOuterPlaceholderColor,\n hidePlaceHolder,\n styledContainer,\n styledTextArea,\n styledTextAreaWrapper,\n styledPlaceholder,\n styledHelpers,\n} = classes;\n\nconst base = css`\n ${applyDynamicLabel};\n\n position: relative;\n box-sizing: border-box;\n`;\n\n// TODO: Удалить после отказа от старых библиотек plasma-web / plasma-b2c\nconst fallbackStatusMap = {\n '': 'primary',\n success: 'positive',\n warning: 'warning',\n error: 'negative',\n};\n\n// TODO: Перенести этот метод в файл applyDynamicLabel.ts\nexport const getDynamicLabelClasses = (props: TextAreaProps, focused: boolean) => {\n const { readOnly, label, labelPlacement, autoResize, rows, value } = props;\n\n // Добавить класс отвечающий за изменение цвета плейсхолдера при фокусе\n const withFocusedOuterUpPlaceholder =\n !readOnly && focused && (!label || labelPlacement === 'outer') ? focusedOuterPlaceholderColor : undefined;\n\n // Добавить класс отвечающий за поднятие и уменьшение плейсхолдера\n const withInnerPlaceholderUp =\n labelPlacement === 'inner' &&\n label &&\n !autoResize &&\n !rows &&\n ((!readOnly && (value || focused)) || (readOnly && value))\n ? innerPlaceholderUp\n : undefined;\n\n // Добавить класс отвечающий за скрытие плейсхолдера\n const withHidePlaceholder =\n (value && !label) ||\n (labelPlacement === 'inner' && ((focused && !readOnly) || value) && label && (rows || autoResize)) ||\n (labelPlacement === 'outer' && value)\n ? hidePlaceHolder\n : undefined;\n\n return [withFocusedOuterUpPlaceholder, withInnerPlaceholderUp, withHidePlaceholder];\n};\n\nexport const textAreaRoot = (Root: RootProps<HTMLTextAreaElement, TextAreaProps>) =>\n forwardRef<HTMLTextAreaElement, TextAreaProps>((props, innerRef) => {\n const {\n helperText,\n status,\n resize,\n rightHelper,\n leftHelper,\n contentRight,\n autoResize = false,\n minAuto = 0,\n maxAuto,\n label,\n labelPlacement = 'inner',\n placeholder,\n defaultValue,\n height,\n width,\n value,\n disabled,\n size,\n view,\n id,\n style,\n className,\n readOnly,\n rows,\n cols,\n onChange,\n ...rest\n } = props;\n\n const [helperWidth, setHelperWidth] = useState<string>(width ? `${width}rem` : '100%');\n const [focused, setFocused] = useState(false);\n const [uncontrolledValue, setUncontrolledValue] = useState<string | undefined>();\n\n const outerRef = innerRef && 'current' in innerRef ? innerRef : createRef<HTMLTextAreaElement>();\n const hasHelper = Boolean(leftHelper || rightHelper || helperText);\n const overriddenView = status !== undefined ? fallbackStatusMap[status] : view;\n const textareaHelperId = id ? `${id}-helper` : undefined;\n const applyCustomWidth = resize !== 'horizontal' && resize !== 'both' && !cols;\n const placeLabel = labelPlacement === 'inner' && label ? label : placeholder;\n\n useResizeObserver(outerRef, (currentElement) => {\n const { width: inlineWidth, height: inlineHeight } = currentElement.style;\n\n if (inlineWidth || inlineHeight || cols) {\n const { width: elementWidth } = currentElement.getBoundingClientRect();\n setHelperWidth(`${elementWidth / ROOT_FONT_SIZE}rem`);\n }\n });\n\n useAutoResize(autoResize, outerRef, value, minAuto, maxAuto);\n\n const onFocusHandler = useCallback(() => {\n setFocused(true);\n }, []);\n const onBlurHandler = useCallback(() => {\n setFocused(false);\n }, []);\n\n const onChangeHandler = useCallback(\n (event: React.ChangeEvent<HTMLTextAreaElement>) => {\n // INFO: Для крайне редких кейсов, когда value снаружи не контролируется\n if (value === undefined) {\n setUncontrolledValue(event?.target.value);\n }\n\n onChange?.(event);\n },\n [value, onChange],\n );\n\n const dynamicLabelClasses = getDynamicLabelClasses(\n { readOnly, label, labelPlacement, autoResize, rows, value: value || uncontrolledValue || defaultValue },\n focused,\n );\n\n return (\n <Root\n view={overriddenView}\n size={size}\n disabled={disabled}\n readOnly={readOnly}\n style={style}\n className={className}\n >\n {label && labelPlacement === 'outer' && <StyledLabel>{label}</StyledLabel>}\n <StyledContainer\n className={cx(styledContainer, ...dynamicLabelClasses)}\n width={helperWidth}\n onFocus={onFocusHandler}\n onBlur={onBlurHandler}\n >\n {contentRight && <StyledContent>{contentRight}</StyledContent>}\n <StyledTextAreaWrapper className={styledTextAreaWrapper} hasHelper={hasHelper}>\n <StyledTextArea\n className={styledTextArea}\n id={id}\n hasContentRight={Boolean(contentRight)}\n hasHelper={hasHelper}\n applyCustomWidth={applyCustomWidth}\n ref={outerRef}\n disabled={disabled}\n height={autoResize ? minAuto : height}\n width={width}\n placeholder={placeLabel}\n aria-describedby={textareaHelperId}\n value={value}\n readOnly={readOnly}\n rows={rows}\n cols={cols}\n resize={resize}\n defaultValue={defaultValue}\n onChange={onChangeHandler}\n {...rest}\n />\n </StyledTextAreaWrapper>\n {hasHelper && (\n <StyledHelpers className={styledHelpers} id={textareaHelperId}>\n {(leftHelper || helperText) && (\n <StyledLeftHelper>{leftHelper || helperText}</StyledLeftHelper>\n )}\n {rightHelper && <StyledRightHelper>{rightHelper}</StyledRightHelper>}\n </StyledHelpers>\n )}\n {placeLabel && (\n <StyledPlaceholder\n hasContentRight={Boolean(contentRight)}\n className={styledPlaceholder}\n htmlFor={id}\n >\n {placeLabel}\n </StyledPlaceholder>\n )}\n </StyledContainer>\n </Root>\n );\n });\n\nexport const textAreaConfig = {\n name: 'TextArea',\n tag: 'div',\n layout: textAreaRoot,\n base,\n variations: {\n size: {\n css: sizeCSS,\n },\n view: {\n css: viewCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n attrs: true,\n },\n },\n defaults: {\n size: 'm',\n view: 'primary',\n },\n};\n"],"names":["innerPlaceholderUp","classes","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","base","fallbackStatusMap","success","warning","error","getDynamicLabelClasses","props","focused","readOnly","label","labelPlacement","autoResize","rows","value","withFocusedOuterUpPlaceholder","undefined","withInnerPlaceholderUp","withHidePlaceholder","textAreaRoot","Root","forwardRef","innerRef","helperText","status","resize","rightHelper","leftHelper","contentRight","_props$autoResize","_props$minAuto","minAuto","maxAuto","_props$labelPlacement","placeholder","defaultValue","height","width","disabled","size","view","id","style","className","cols","onChange","rest","_excluded","_useState","useState","concat","_useState2","_slicedToArray","helperWidth","setHelperWidth","_useState3","_useState4","setFocused","_useState5","_useState6","uncontrolledValue","setUncontrolledValue","outerRef","createRef","hasHelper","Boolean","overriddenView","textareaHelperId","applyCustomWidth","placeLabel","useResizeObserver","currentElement","_currentElement$style","inlineWidth","inlineHeight","_currentElement$getBo","getBoundingClientRect","elementWidth","ROOT_FONT_SIZE","useAutoResize","onFocusHandler","useCallback","onBlurHandler","onChangeHandler","event","target","dynamicLabelClasses","React","createElement","StyledLabel","StyledContainer","cx","apply","_toConsumableArray","onFocus","onBlur","StyledContent","StyledTextAreaWrapper","StyledTextArea","_extends","hasContentRight","ref","StyledHelpers","StyledLeftHelper","StyledRightHelper","StyledPlaceholder","htmlFor","textAreaConfig","name","tag","layout","variations","css","sizeCSS","viewCSS","disabledCSS","attrs","defaults"],"mappings":"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"}
|
@@ -115,10 +115,6 @@ var tokens = {
|
|
115
115
|
labelInnerLetterSpacing: '--plasma-textarea-label-inner-letter-spacing',
|
116
116
|
/** Высота строки для элемента label, когда он внутри и уменьшен */
|
117
117
|
labelInnerLineHeight: '--plasma-textarea-label-inner-line-height',
|
118
|
-
/** Отступ сверху для элемента textarea при фокусе */
|
119
|
-
labelInnerTop: '--plasma-textarea-label-inner-top',
|
120
|
-
/** Отступ между Label и TextArea */
|
121
|
-
labelInnerMarginBottom: '--plasma-textarea-label-inner-margin-bottom',
|
122
118
|
/** Шрифт для элемента textarea */
|
123
119
|
inputFontFamily: '--plasma-textarea-input-font-family',
|
124
120
|
/** Размер шрифта для элемента textarea */
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextArea.tokens.js","sources":["../../../src/components/TextArea/TextArea.tokens.ts"],"sourcesContent":["export const classes = {\n /** Класс отвечающий за поднятие и уменьшение плейсхолдера */\n innerPlaceholderUp: 'inner-placeholder-up',\n /** Класс отвечающий за изменение цвета плейсхолдера при фокусе */\n focusedOuterPlaceholderColor: 'focused-outer-placeholder-color',\n /** Класс отвечающий за скрытие плейсхолдера */\n hidePlaceHolder: 'hide-placeholder',\n /** Класс для компонента `StyledContainer` */\n styledContainer: 'textarea-container',\n /** Класс для компонента `StyledTextArea` */\n styledTextArea: 'textarea',\n /** Класс для компонента `StyledTextAreaWrapper` */\n styledTextAreaWrapper: 'textarea-wrapper',\n /** Класс для компонента `StyledPlaceholder` */\n styledPlaceholder: 'textarea-placeholder',\n /** Класс для компонента `StyledHelpers` */\n styledHelpers: 'textarea-helpers',\n};\n\nexport const tokens = {\n /** Цвет фона для элемента textarea */\n inputBackgroundColor: '--plasma-textarea-input-background-color',\n /** Цвет фона для элемента textarea в состоянии hover */\n inputBackgroundColorHover: '--plasma-textarea-input-background-color-hover',\n /** Цвет фона для элемента textarea в состоянии active */\n inputBackgroundColorActive: '--plasma-textarea-input-background-color-active',\n /** Цвет фона для элемента textarea в состоянии focus */\n inputBackgroundColorFocus: '--plasma-textarea-input-background-color-focus',\n /** Цвета границы для элемента textarea */\n inputBorderColor: '--plasma-textarea-input-border-color',\n /** Цвета границы для элемента textarea в состоянии hover */\n inputBorderColorHover: '--plasma-textarea-input-border-color-hover',\n /** Цвета границы для элемента textarea в состоянии active */\n inputBorderColorActive: '--plasma-textarea-input-border-color-active',\n /** Цвета границы для элемента textarea в состоянии focus */\n inputBorderColorFocus: '--plasma-textarea-input-border-color-focus',\n /** Цвет фона для блока подписей снизу */\n helpersBackgroundColor: '--plasma-textarea-helpers-background-color',\n /** Цвет фона для блока подписей снизу в состоянии hover */\n helpersBackgroundColorHover: '--plasma-textarea-helpers-background-color-hover',\n /** Цвет фона для блока подписей снизу в состоянии active */\n helpersBackgroundColorActive: '--plasma-textarea-helpers-background-color-active',\n /** Цвет фона для блока подписей снизу в состоянии focus */\n helpersBackgroundColorFocus: '--plasma-textarea-helpers-background-color-focus',\n /** Цвет текста для элемента textarea */\n inputColor: '--plasma-textarea-input-color',\n /** Цвет текста для элемента textarea в состоянии focus */\n inputColorFocus: '--plasma-textarea-input-color-focus',\n /** Цвет каретки для элемента textarea */\n inputCaretColor: '--plasma-textarea-input-caret-color',\n /** Цвет элемента placeholder */\n placeholderColor: '--plasma-textarea-placeholder-color',\n /** Цвет элемента placeholder в состоянии focus */\n placeholderColorFocus: '--plasma-textarea-placeholder-color-focus',\n /** Цвет текста для левой подписи снизу */\n leftHelperColor: '--plasma-textarea-left-helper-color',\n /** Цвет текста для правой подписи снизу */\n rightHelperColor: '--plasma-textarea-right-helper-color',\n /** Цвета границы для всего компонента */\n borderColor: '--plasma-textarea-border-color',\n /** Цвета границы для всего компонента в состоянии hover */\n borderColorHover: '--plasma-textarea-border-color-hover',\n /** Цвета границы для всего компонента в состоянии focus */\n borderColorFocus: '--plasma-textarea-border-color-focus',\n\n /** Ширина элемента textarea */\n inputWidth: '--plasma-textarea-input-width',\n /** Высота элемента textarea */\n inputHeight: '--plasma-textarea-input-height',\n /** Минимальная высота элемента textarea */\n inputMinHeight: '--plasma-textarea-input-min-height',\n /** Толщина рамки всего компонента */\n borderSize: '--plasma-textarea-border-size',\n /** Размер скругления рамки всего компонента */\n borderRadius: '--plasma-textarea-border-radius',\n /** Размер скругления рамки всего компонента, когда есть блок подписей и у него нет рамки */\n borderRadiusWithHelpers: '--plasma-textarea-border-radius-with-helpers',\n /** Отступ сверху для элемента textarea */\n inputPaddingTop: '--plasma-textarea-input-padding-top',\n /** Отступ справа для элемента textarea */\n inputPaddingRight: '--plasma-textarea-input-padding-right',\n /** Отступ справа для элемента textarea, когда есть контент справа */\n inputPaddingRightWithRightContent: '--plasma-textarea-input-padding-right-with-right-content',\n /** Отступ снизу для элемента textarea */\n inputPaddingBottom: '--plasma-textarea-input-padding-bottom',\n /** Отступ снизу для элемента textarea, когда есть блок подписей */\n inputPaddingBottomWithHelpers: '--plasma-textarea-input-padding-bottom-with-helpers',\n /** Отступ слева для элемента textarea */\n inputPaddingLeft: '--plasma-textarea-input-padding-left',\n /** Отступ сверху для блока подписей */\n helpersPaddingTop: '--plasma-textarea-helpers-padding-top',\n /** Отступ справа для блока подписей */\n helpersPaddingRight: '--plasma-textarea-helpers-padding-right',\n /** Отступ снизу для блока подписей */\n helpersPaddingBottom: '--plasma-textarea-helpers-padding-bottom',\n /** Отступ слева для блока подписей */\n helpersPaddingLeft: '--plasma-textarea-helpers-padding-left',\n /** Вспомогательная высота для всего компонента, когда есть блок подписей и у него нет рамки */\n helpersOffset: '--plasma-textarea-helpers-offset',\n /** Отступ сверху для контента справа */\n rightContentTop: '--plasma-textarea-right-content-top',\n /** Отступ справа для контента справа */\n rightContentRight: '--plasma-textarea-right-content-right',\n /** Высота контента справа */\n rightContentHeight: '--plasma-textarea-right-content-height',\n /** Отступ сверху для элемента label, когда он внутри и уменьшен */\n labelMarginBottom: '--plasma-textarea-label-margin-bottom',\n /** Шрифт для элемента label, когда он внутри и уменьшен */\n labelInnerFontFamily: '--plasma-textarea-label-inner-font-family',\n /** Размер шрифта для элемента label, когда он внутри и уменьшен */\n labelInnerFontSize: '--plasma-textarea-label-inner-font-size',\n /** Стиль шрифта для элемента label, когда он внутри и уменьшен */\n labelInnerFontStyle: '--plasma-textarea-label-inner-font-style',\n /** Начертание шрифта для элемента label, когда он внутри и уменьшен */\n labelInnerFontWeight: '--plasma-textarea-label-inner-font-weight',\n /** Межсимвольное расстояние для элемента label, когда он внутри и уменьшен */\n labelInnerLetterSpacing: '--plasma-textarea-label-inner-letter-spacing',\n /** Высота строки для элемента label, когда он внутри и уменьшен */\n labelInnerLineHeight: '--plasma-textarea-label-inner-line-height',\n /** Отступ сверху для элемента textarea при фокусе */\n labelInnerTop: '--plasma-textarea-label-inner-top',\n /** Отступ между Label и TextArea */\n labelInnerMarginBottom: '--plasma-textarea-label-inner-margin-bottom',\n /** Шрифт для элемента textarea */\n inputFontFamily: '--plasma-textarea-input-font-family',\n /** Размер шрифта для элемента textarea */\n inputFontSize: '--plasma-textarea-input-font-size',\n /** Стиль шрифта для элемента textarea */\n inputFontStyle: '--plasma-textarea-input-font-style',\n /** Начертание шрифта для элемента textarea */\n inputFontWeight: '--plasma-textarea-input-font-weight',\n /** Межсимвольное расстояние шрифта для элемента textarea */\n inputLetterSpacing: '--plasma-textarea-input-letter-spacing',\n /** Высота строки шрифта для элемента textarea */\n inputLineHeight: '--plasma-textarea-input-line-height',\n /** Шрифт для элемента блока подписей снизу */\n helpersFontFamily: '--plasma-textarea-helpers-font-family',\n /** Размер шрифта для элемента блока подписей снизу */\n helpersFontSize: '--plasma-textarea-helpers-font-size',\n /** Стиль шрифта для элемента блока подписей снизу */\n helpersFontStyle: '--plasma-textarea-helpers-font-style',\n /** Начертание шрифта для элемента блока подписей снизу */\n helpersFontWeight: '--plasma-textarea-helpers-font-weight',\n /** Межсимвольное расстояние для элемента блока подписей снизу */\n helpersLetterSpacing: '--plasma-textarea-helpers-letter-spacing',\n /** Высота строки для элемента блока подписей снизу */\n helpersLineHeight: '--plasma-textarea-helpers-line-height',\n\n /** Прозрачность для всего компонента в состоянии disabled */\n disabledOpacity: '--plasma-textarea-disabled-opacity',\n /** Цвет текста для элемента textarea в состоянии disabled */\n inputColorDisabled: '--plasma-textarea-input-color-disabled',\n};\n"],"names":["classes","innerPlaceholderUp","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","tokens","inputBackgroundColor","inputBackgroundColorHover","inputBackgroundColorActive","inputBackgroundColorFocus","inputBorderColor","inputBorderColorHover","inputBorderColorActive","inputBorderColorFocus","helpersBackgroundColor","helpersBackgroundColorHover","helpersBackgroundColorActive","helpersBackgroundColorFocus","inputColor","inputColorFocus","inputCaretColor","placeholderColor","placeholderColorFocus","leftHelperColor","rightHelperColor","borderColor","borderColorHover","borderColorFocus","inputWidth","inputHeight","inputMinHeight","borderSize","borderRadius","borderRadiusWithHelpers","inputPaddingTop","inputPaddingRight","inputPaddingRightWithRightContent","inputPaddingBottom","inputPaddingBottomWithHelpers","inputPaddingLeft","helpersPaddingTop","helpersPaddingRight","helpersPaddingBottom","helpersPaddingLeft","helpersOffset","rightContentTop","rightContentRight","rightContentHeight","labelMarginBottom","labelInnerFontFamily","labelInnerFontSize","labelInnerFontStyle","labelInnerFontWeight","labelInnerLetterSpacing","labelInnerLineHeight","labelInnerTop","labelInnerMarginBottom","inputFontFamily","inputFontSize","inputFontStyle","inputFontWeight","inputLetterSpacing","inputLineHeight","helpersFontFamily","helpersFontSize","helpersFontStyle","helpersFontWeight","helpersLetterSpacing","helpersLineHeight","disabledOpacity","inputColorDisabled"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"TextArea.tokens.js","sources":["../../../src/components/TextArea/TextArea.tokens.ts"],"sourcesContent":["export const classes = {\n /** Класс отвечающий за поднятие и уменьшение плейсхолдера */\n innerPlaceholderUp: 'inner-placeholder-up',\n /** Класс отвечающий за изменение цвета плейсхолдера при фокусе */\n focusedOuterPlaceholderColor: 'focused-outer-placeholder-color',\n /** Класс отвечающий за скрытие плейсхолдера */\n hidePlaceHolder: 'hide-placeholder',\n /** Класс для компонента `StyledContainer` */\n styledContainer: 'textarea-container',\n /** Класс для компонента `StyledTextArea` */\n styledTextArea: 'textarea',\n /** Класс для компонента `StyledTextAreaWrapper` */\n styledTextAreaWrapper: 'textarea-wrapper',\n /** Класс для компонента `StyledPlaceholder` */\n styledPlaceholder: 'textarea-placeholder',\n /** Класс для компонента `StyledHelpers` */\n styledHelpers: 'textarea-helpers',\n};\n\nexport const tokens = {\n /** Цвет фона для элемента textarea */\n inputBackgroundColor: '--plasma-textarea-input-background-color',\n /** Цвет фона для элемента textarea в состоянии hover */\n inputBackgroundColorHover: '--plasma-textarea-input-background-color-hover',\n /** Цвет фона для элемента textarea в состоянии active */\n inputBackgroundColorActive: '--plasma-textarea-input-background-color-active',\n /** Цвет фона для элемента textarea в состоянии focus */\n inputBackgroundColorFocus: '--plasma-textarea-input-background-color-focus',\n /** Цвета границы для элемента textarea */\n inputBorderColor: '--plasma-textarea-input-border-color',\n /** Цвета границы для элемента textarea в состоянии hover */\n inputBorderColorHover: '--plasma-textarea-input-border-color-hover',\n /** Цвета границы для элемента textarea в состоянии active */\n inputBorderColorActive: '--plasma-textarea-input-border-color-active',\n /** Цвета границы для элемента textarea в состоянии focus */\n inputBorderColorFocus: '--plasma-textarea-input-border-color-focus',\n /** Цвет фона для блока подписей снизу */\n helpersBackgroundColor: '--plasma-textarea-helpers-background-color',\n /** Цвет фона для блока подписей снизу в состоянии hover */\n helpersBackgroundColorHover: '--plasma-textarea-helpers-background-color-hover',\n /** Цвет фона для блока подписей снизу в состоянии active */\n helpersBackgroundColorActive: '--plasma-textarea-helpers-background-color-active',\n /** Цвет фона для блока подписей снизу в состоянии focus */\n helpersBackgroundColorFocus: '--plasma-textarea-helpers-background-color-focus',\n /** Цвет текста для элемента textarea */\n inputColor: '--plasma-textarea-input-color',\n /** Цвет текста для элемента textarea в состоянии focus */\n inputColorFocus: '--plasma-textarea-input-color-focus',\n /** Цвет каретки для элемента textarea */\n inputCaretColor: '--plasma-textarea-input-caret-color',\n /** Цвет элемента placeholder */\n placeholderColor: '--plasma-textarea-placeholder-color',\n /** Цвет элемента placeholder в состоянии focus */\n placeholderColorFocus: '--plasma-textarea-placeholder-color-focus',\n /** Цвет текста для левой подписи снизу */\n leftHelperColor: '--plasma-textarea-left-helper-color',\n /** Цвет текста для правой подписи снизу */\n rightHelperColor: '--plasma-textarea-right-helper-color',\n /** Цвета границы для всего компонента */\n borderColor: '--plasma-textarea-border-color',\n /** Цвета границы для всего компонента в состоянии hover */\n borderColorHover: '--plasma-textarea-border-color-hover',\n /** Цвета границы для всего компонента в состоянии focus */\n borderColorFocus: '--plasma-textarea-border-color-focus',\n\n /** Ширина элемента textarea */\n inputWidth: '--plasma-textarea-input-width',\n /** Высота элемента textarea */\n inputHeight: '--plasma-textarea-input-height',\n /** Минимальная высота элемента textarea */\n inputMinHeight: '--plasma-textarea-input-min-height',\n /** Толщина рамки всего компонента */\n borderSize: '--plasma-textarea-border-size',\n /** Размер скругления рамки всего компонента */\n borderRadius: '--plasma-textarea-border-radius',\n /** Размер скругления рамки всего компонента, когда есть блок подписей и у него нет рамки */\n borderRadiusWithHelpers: '--plasma-textarea-border-radius-with-helpers',\n /** Отступ сверху для элемента textarea */\n inputPaddingTop: '--plasma-textarea-input-padding-top',\n /** Отступ справа для элемента textarea */\n inputPaddingRight: '--plasma-textarea-input-padding-right',\n /** Отступ справа для элемента textarea, когда есть контент справа */\n inputPaddingRightWithRightContent: '--plasma-textarea-input-padding-right-with-right-content',\n /** Отступ снизу для элемента textarea */\n inputPaddingBottom: '--plasma-textarea-input-padding-bottom',\n /** Отступ снизу для элемента textarea, когда есть блок подписей */\n inputPaddingBottomWithHelpers: '--plasma-textarea-input-padding-bottom-with-helpers',\n /** Отступ слева для элемента textarea */\n inputPaddingLeft: '--plasma-textarea-input-padding-left',\n /** Отступ сверху для блока подписей */\n helpersPaddingTop: '--plasma-textarea-helpers-padding-top',\n /** Отступ справа для блока подписей */\n helpersPaddingRight: '--plasma-textarea-helpers-padding-right',\n /** Отступ снизу для блока подписей */\n helpersPaddingBottom: '--plasma-textarea-helpers-padding-bottom',\n /** Отступ слева для блока подписей */\n helpersPaddingLeft: '--plasma-textarea-helpers-padding-left',\n /** Вспомогательная высота для всего компонента, когда есть блок подписей и у него нет рамки */\n helpersOffset: '--plasma-textarea-helpers-offset',\n /** Отступ сверху для контента справа */\n rightContentTop: '--plasma-textarea-right-content-top',\n /** Отступ справа для контента справа */\n rightContentRight: '--plasma-textarea-right-content-right',\n /** Высота контента справа */\n rightContentHeight: '--plasma-textarea-right-content-height',\n /** Отступ сверху для элемента label, когда он внутри и уменьшен */\n labelMarginBottom: '--plasma-textarea-label-margin-bottom',\n /** Шрифт для элемента label, когда он внутри и уменьшен */\n labelInnerFontFamily: '--plasma-textarea-label-inner-font-family',\n /** Размер шрифта для элемента label, когда он внутри и уменьшен */\n labelInnerFontSize: '--plasma-textarea-label-inner-font-size',\n /** Стиль шрифта для элемента label, когда он внутри и уменьшен */\n labelInnerFontStyle: '--plasma-textarea-label-inner-font-style',\n /** Начертание шрифта для элемента label, когда он внутри и уменьшен */\n labelInnerFontWeight: '--plasma-textarea-label-inner-font-weight',\n /** Межсимвольное расстояние для элемента label, когда он внутри и уменьшен */\n labelInnerLetterSpacing: '--plasma-textarea-label-inner-letter-spacing',\n /** Высота строки для элемента label, когда он внутри и уменьшен */\n labelInnerLineHeight: '--plasma-textarea-label-inner-line-height',\n /** Шрифт для элемента textarea */\n inputFontFamily: '--plasma-textarea-input-font-family',\n /** Размер шрифта для элемента textarea */\n inputFontSize: '--plasma-textarea-input-font-size',\n /** Стиль шрифта для элемента textarea */\n inputFontStyle: '--plasma-textarea-input-font-style',\n /** Начертание шрифта для элемента textarea */\n inputFontWeight: '--plasma-textarea-input-font-weight',\n /** Межсимвольное расстояние шрифта для элемента textarea */\n inputLetterSpacing: '--plasma-textarea-input-letter-spacing',\n /** Высота строки шрифта для элемента textarea */\n inputLineHeight: '--plasma-textarea-input-line-height',\n /** Шрифт для элемента блока подписей снизу */\n helpersFontFamily: '--plasma-textarea-helpers-font-family',\n /** Размер шрифта для элемента блока подписей снизу */\n helpersFontSize: '--plasma-textarea-helpers-font-size',\n /** Стиль шрифта для элемента блока подписей снизу */\n helpersFontStyle: '--plasma-textarea-helpers-font-style',\n /** Начертание шрифта для элемента блока подписей снизу */\n helpersFontWeight: '--plasma-textarea-helpers-font-weight',\n /** Межсимвольное расстояние для элемента блока подписей снизу */\n helpersLetterSpacing: '--plasma-textarea-helpers-letter-spacing',\n /** Высота строки для элемента блока подписей снизу */\n helpersLineHeight: '--plasma-textarea-helpers-line-height',\n\n /** Прозрачность для всего компонента в состоянии disabled */\n disabledOpacity: '--plasma-textarea-disabled-opacity',\n /** Цвет текста для элемента textarea в состоянии disabled */\n inputColorDisabled: '--plasma-textarea-input-color-disabled',\n};\n"],"names":["classes","innerPlaceholderUp","focusedOuterPlaceholderColor","hidePlaceHolder","styledContainer","styledTextArea","styledTextAreaWrapper","styledPlaceholder","styledHelpers","tokens","inputBackgroundColor","inputBackgroundColorHover","inputBackgroundColorActive","inputBackgroundColorFocus","inputBorderColor","inputBorderColorHover","inputBorderColorActive","inputBorderColorFocus","helpersBackgroundColor","helpersBackgroundColorHover","helpersBackgroundColorActive","helpersBackgroundColorFocus","inputColor","inputColorFocus","inputCaretColor","placeholderColor","placeholderColorFocus","leftHelperColor","rightHelperColor","borderColor","borderColorHover","borderColorFocus","inputWidth","inputHeight","inputMinHeight","borderSize","borderRadius","borderRadiusWithHelpers","inputPaddingTop","inputPaddingRight","inputPaddingRightWithRightContent","inputPaddingBottom","inputPaddingBottomWithHelpers","inputPaddingLeft","helpersPaddingTop","helpersPaddingRight","helpersPaddingBottom","helpersPaddingLeft","helpersOffset","rightContentTop","rightContentRight","rightContentHeight","labelMarginBottom","labelInnerFontFamily","labelInnerFontSize","labelInnerFontStyle","labelInnerFontWeight","labelInnerLetterSpacing","labelInnerLineHeight","inputFontFamily","inputFontSize","inputFontStyle","inputFontWeight","inputLetterSpacing","inputLineHeight","helpersFontFamily","helpersFontSize","helpersFontStyle","helpersFontWeight","helpersLetterSpacing","helpersLineHeight","disabledOpacity","inputColorDisabled"],"mappings":"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"}
|
@@ -0,0 +1 @@
|
|
1
|
+
.b6rykm0{position:relative;box-sizing:border-box;}.b6rykm0 .inner-placeholder-up .textarea{height:calc(var(--plasma_private-textarea-input-actual-height) - 1rem);}.b6rykm0 .inner-placeholder-up .textarea-wrapper{padding-top:calc(var(--plasma-textarea-input-padding-top) + 1rem);}.b6rykm0 .inner-placeholder-up .textarea-placeholder{font-family:var(--plasma-textarea-label-inner-font-family);font-size:var(--plasma-textarea-label-inner-font-size);font-style:var(--plasma-textarea-label-inner-font-style);font-weight:var(--plasma-textarea-label-inner-font-weight);-webkit-letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);-moz-letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);-ms-letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);line-height:var(--plasma-textarea-label-inner-line-height);}.b6rykm0 .hide-placeholder .textarea-placeholder{display:none;}.b6rykm0 .focused-outer-placeholder-color .textarea-placeholder{color:var(--plasma-textarea-placeholder-color-focus);}
|
@@ -13,11 +13,13 @@ import { classes } from './TextField.tokens.js';
|
|
13
13
|
import { TextFieldChip } from './ui/TextFieldChip/TextFieldChip.js';
|
14
14
|
import { useKeyNavigation } from './hooks/useKeyNavigation.js';
|
15
15
|
|
16
|
-
var _excluded = ["id", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch"];
|
16
|
+
var _excluded = ["id", "className", "style", "contentLeft", "contentRight", "label", "labelPlacement", "placeholder", "leftHelper", "enumerationType", "view", "size", "readOnly", "disabled", "chips", "onChange", "onChangeChips", "onSearch", "onKeyDown"];
|
17
17
|
var base = "bpunezx";
|
18
18
|
var textFieldRoot = function textFieldRoot(Root) {
|
19
19
|
return /*#__PURE__*/forwardRef(function (_ref, ref) {
|
20
20
|
var id = _ref.id,
|
21
|
+
className = _ref.className,
|
22
|
+
style = _ref.style,
|
21
23
|
contentLeft = _ref.contentLeft,
|
22
24
|
contentRight = _ref.contentRight,
|
23
25
|
label = _ref.label,
|
@@ -36,6 +38,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
36
38
|
onChange = _ref.onChange,
|
37
39
|
onChangeChips = _ref.onChangeChips,
|
38
40
|
onSearch = _ref.onSearch,
|
41
|
+
onKeyDown = _ref.onKeyDown,
|
39
42
|
rest = _objectWithoutProperties(_ref, _excluded);
|
40
43
|
var contentRef = useRef(null);
|
41
44
|
var inputRef = useRef(null);
|
@@ -115,6 +118,10 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
115
118
|
chipsRefs.current[index] = element;
|
116
119
|
}
|
117
120
|
};
|
121
|
+
var handleOnKeyDown = function handleOnKeyDown(event) {
|
122
|
+
handleInputKeydown(event);
|
123
|
+
onKeyDown && onKeyDown(event);
|
124
|
+
};
|
118
125
|
useEffect(function () {
|
119
126
|
if (!isChipEnumeration && !(values !== null && values !== void 0 && values.length)) {
|
120
127
|
return;
|
@@ -133,7 +140,9 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
133
140
|
disabled: disabled,
|
134
141
|
readOnly: !disabled && readOnly,
|
135
142
|
labelPlacement: innerLabelPlacementValue,
|
136
|
-
onClick: handleInputFocus
|
143
|
+
onClick: handleInputFocus,
|
144
|
+
className: className,
|
145
|
+
style: style
|
137
146
|
}, labelInside || innerLabelValue && /*#__PURE__*/React.createElement(Label, {
|
138
147
|
id: labelId,
|
139
148
|
htmlFor: id
|
@@ -174,7 +183,7 @@ var textFieldRoot = function textFieldRoot(Root) {
|
|
174
183
|
disabled: disabled,
|
175
184
|
readOnly: !disabled && readOnly,
|
176
185
|
onChange: handleChange,
|
177
|
-
onKeyDown:
|
186
|
+
onKeyDown: handleOnKeyDown
|
178
187
|
})), labelInside && /*#__PURE__*/React.createElement(Label, {
|
179
188
|
id: labelId,
|
180
189
|
htmlFor: innerId
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputForkRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleInputKeydown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","className","cx","StyledContentLeft","InputLabelWrapper","tabIndex","onKeyDown","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"TextField.js","sources":["../../../src/components/TextField/TextField.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from 'react';\nimport type { ChangeEventHandler, KeyboardEvent, ChangeEvent } from 'react';\nimport { safeUseId, useForkRef } from '@salutejs/plasma-core';\nimport { css } from '@linaria/core';\n\nimport type { RootProps } from '../../engines';\nimport { cx } from '../../utils';\n\nimport type { ChipValues, TextFieldPrimitiveValue, TextFieldProps } from './TextField.types';\nimport { base as sizeCSS } from './variations/_size/base';\nimport { base as viewCSS } from './variations/_view/base';\nimport { base as disabledCSS } from './variations/_disabled/base';\nimport { base as readOnlyCSS } from './variations/_read-only/base';\nimport { base as labelPlacementCSS } from './variations/_label-placement/base';\nimport {\n Input,\n LeftHelper,\n Label,\n InputWrapper,\n InputLabelWrapper,\n StyledContentLeft,\n StyledContentRight,\n StyledChips,\n} from './TextField.styles';\nimport { classes } from './TextField.tokens';\nimport { TextFieldChip } from './ui';\nimport { useKeyNavigation } from './hooks';\n\nexport const base = css`\n /* NOTE: Webkit не применяет opacity к inline тегам */\n display: block;\n overflow: hidden;\n`;\n\nexport const textFieldRoot = (Root: RootProps<HTMLDivElement, TextFieldProps>) =>\n forwardRef<HTMLInputElement, TextFieldProps>(\n (\n {\n id,\n className,\n style,\n\n // layout\n contentLeft,\n contentRight,\n label,\n labelPlacement,\n placeholder,\n leftHelper,\n enumerationType = 'plain',\n\n // variations\n view,\n size,\n readOnly = false,\n disabled = false,\n\n // controlled\n chips: values,\n\n // events\n onChange,\n onChangeChips,\n onSearch,\n onKeyDown,\n\n ...rest\n },\n ref,\n ) => {\n const contentRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const inputForkRef = useForkRef(inputRef, ref);\n const chipsRefs = useRef<Array<HTMLButtonElement>>([]);\n\n const controlledRefs = { contentRef, inputRef, chipsRefs };\n\n const [chips, setChips] = useState<Array<ChipValues>>([]);\n\n const uniqId = safeUseId();\n const innerId = id || uniqId;\n const labelId = safeUseId();\n const helperTextId = safeUseId();\n\n const isChipEnumeration = enumerationType === 'chip';\n const hideLabel = (size === 'xs' || isChipEnumeration) && labelPlacement === 'inner';\n const labelInside = size !== 'xs' && labelPlacement === 'inner';\n const innerLabelPlacementValue = hideLabel ? 'outer' : labelPlacement;\n const innerPlaceholderValue = hideLabel ? label : placeholder;\n const innerLabelValue = hideLabel ? undefined : label;\n\n const isChipsVisible = isChipEnumeration && chips?.length;\n const withHasChips = isChipsVisible ? classes.hasChips : undefined;\n const wrapperWithoutLeftContent = !contentLeft && isChipsVisible ? classes.hasEmptyContentLeft : undefined;\n const wrapperWithoutRightContent =\n !contentRight && isChipsVisible ? classes.hasEmptyContentRight : undefined;\n\n const handleChange: ChangeEventHandler<HTMLInputElement> = (event) => {\n if (disabled || readOnly) {\n return;\n }\n\n const { maxLength, value } = event.target;\n\n if (maxLength !== -1 && value.length > maxLength) {\n return;\n }\n\n onChange?.(event);\n };\n\n const updateChips = (newChips: Array<ChipValues>, newValues: Array<TextFieldPrimitiveValue>) => {\n setChips(newChips);\n onChangeChips?.(newValues);\n };\n\n const { handleInputKeydown, handleChipKeyDown, onChipClear, handleContentKeyDown } = useKeyNavigation({\n controlledRefs,\n disabled,\n readOnly,\n chips,\n enumerationType,\n updateChips,\n onSearch,\n onChange,\n });\n\n const onChipClick = (event: React.MouseEvent<HTMLButtonElement>) => event.stopPropagation();\n\n const handleInputFocus = () => {\n if (readOnly || disabled || !inputRef?.current) {\n return;\n }\n\n inputRef.current.scrollIntoView({\n behavior: 'smooth',\n block: 'center',\n inline: 'center',\n });\n\n inputRef.current.focus({ preventScroll: true });\n };\n\n const getRef = (element: HTMLButtonElement | null, index: number) => {\n if (element && chipsRefs?.current) {\n chipsRefs.current[index] = element;\n }\n };\n\n const handleOnKeyDown = (event: ChangeEvent<HTMLInputElement> & KeyboardEvent<HTMLInputElement>) => {\n handleInputKeydown(event);\n onKeyDown && onKeyDown(event);\n };\n\n useEffect(() => {\n if (!isChipEnumeration && !values?.length) {\n return;\n }\n\n const newChips =\n values?.map((value, index) => ({\n id: `${index}_${value}`,\n text: value,\n })) || [];\n\n setChips(newChips);\n }, [isChipEnumeration, values]);\n\n return (\n <Root\n view={view}\n size={size}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n labelPlacement={innerLabelPlacementValue}\n onClick={handleInputFocus}\n className={className}\n style={style}\n >\n {labelInside ||\n (innerLabelValue && (\n <Label id={labelId} htmlFor={id}>\n {innerLabelValue}\n </Label>\n ))}\n <InputWrapper className={cx(withHasChips, wrapperWithoutLeftContent, wrapperWithoutRightContent)}>\n {contentLeft && <StyledContentLeft>{contentLeft}</StyledContentLeft>}\n <InputLabelWrapper\n tabIndex={-1}\n ref={contentRef}\n onKeyDown={handleContentKeyDown}\n className={withHasChips}\n >\n {isChipEnumeration && Boolean(chips?.length) && (\n <StyledChips>\n {chips?.map(({ id: chipId, text }, index) => {\n return (\n <TextFieldChip\n id={chipId}\n ref={(element) => getRef(element, index)}\n key={`${chipId}_${index}`}\n disabled={disabled}\n readOnly={readOnly}\n value={text}\n text={text}\n onKeyDown={(event) => handleChipKeyDown(event, chipId, index)}\n onClear={() => onChipClear(chipId, index)}\n onClick={onChipClick}\n />\n );\n })}\n </StyledChips>\n )}\n <Input\n {...rest}\n ref={inputForkRef}\n id={innerId}\n aria-labelledby={labelId}\n aria-describedby={helperTextId}\n placeholder={innerPlaceholderValue}\n disabled={disabled}\n readOnly={!disabled && readOnly}\n onChange={handleChange}\n onKeyDown={handleOnKeyDown}\n />\n {labelInside && (\n <Label id={labelId} htmlFor={innerId}>\n {innerLabelValue}\n </Label>\n )}\n </InputLabelWrapper>\n {contentRight && <StyledContentRight>{contentRight}</StyledContentRight>}\n </InputWrapper>\n {leftHelper && <LeftHelper id={helperTextId}>{leftHelper}</LeftHelper>}\n </Root>\n );\n },\n );\n\nexport const textFieldConfig = {\n name: 'TextField',\n tag: 'div',\n layout: textFieldRoot,\n base,\n variations: {\n view: {\n css: viewCSS,\n },\n size: {\n css: sizeCSS,\n },\n disabled: {\n css: disabledCSS,\n attrs: true,\n },\n readOnly: {\n css: readOnlyCSS,\n attrs: true,\n },\n labelPlacement: {\n css: labelPlacementCSS,\n },\n },\n defaults: {\n size: 'm',\n view: 'default',\n },\n};\n"],"names":["base","textFieldRoot","Root","forwardRef","_ref","ref","id","className","style","contentLeft","contentRight","label","labelPlacement","placeholder","leftHelper","_ref$enumerationType","enumerationType","view","size","_ref$readOnly","readOnly","_ref$disabled","disabled","values","chips","onChange","onChangeChips","onSearch","onKeyDown","rest","contentRef","useRef","inputRef","inputForkRef","useForkRef","chipsRefs","controlledRefs","_useState","useState","_useState2","_slicedToArray","setChips","uniqId","safeUseId","innerId","labelId","helperTextId","isChipEnumeration","hideLabel","labelInside","innerLabelPlacementValue","innerPlaceholderValue","innerLabelValue","undefined","isChipsVisible","length","withHasChips","classes","hasChips","wrapperWithoutLeftContent","hasEmptyContentLeft","wrapperWithoutRightContent","hasEmptyContentRight","handleChange","event","_event$target","target","maxLength","value","updateChips","newChips","newValues","_useKeyNavigation","useKeyNavigation","handleInputKeydown","handleChipKeyDown","onChipClear","handleContentKeyDown","onChipClick","stopPropagation","handleInputFocus","current","scrollIntoView","behavior","block","inline","focus","preventScroll","getRef","element","index","handleOnKeyDown","useEffect","map","concat","text","React","createElement","onClick","Label","htmlFor","InputWrapper","cx","StyledContentLeft","InputLabelWrapper","tabIndex","Boolean","StyledChips","_ref2","chipId","TextFieldChip","key","onClear","Input","_extends","StyledContentRight","LeftHelper","textFieldConfig","name","tag","layout","variations","css","viewCSS","sizeCSS","disabledCSS","attrs","readOnlyCSS","labelPlacementCSS","defaults"],"mappings":"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"}
|
package/es/engines/common.js
CHANGED
@@ -2,6 +2,10 @@ import { objectSpread2 as _objectSpread2, extends as _extends, toConsumableArray
|
|
2
2
|
import React from 'react';
|
3
3
|
import { _component } from './linaria.js';
|
4
4
|
|
5
|
+
//
|
6
|
+
// Тип HTMLAttributesOmitOnChange требуется чтобы использовать компонент с кастомным пропсом onChange
|
7
|
+
//
|
8
|
+
|
5
9
|
var getStaticVariants = function getStaticVariants(config) {
|
6
10
|
if (!config.variations) {
|
7
11
|
return [];
|
package/es/engines/common.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"common.js","sources":["../../src/engines/common.tsx"],"sourcesContent":["import React from 'react';\n\nimport { _component } from './linaria';\nimport type {
|
1
|
+
{"version":3,"file":"common.js","sources":["../../src/engines/common.tsx"],"sourcesContent":["import React from 'react';\n\nimport { _component } from './linaria';\nimport type {\n ComponentConfig,\n HTMLAnyAttributes,\n HTMLTagList,\n PropsType,\n Variants,\n HTMLAttributesOmitOnChange,\n} from './types';\n\n//\n// Тип HTMLAttributesOmitOnChange требуется чтобы использовать компонент с кастомным пропсом onChange\n//\n\nexport const getStaticVariants = (config: ComponentConfig) => {\n if (!config.variations) {\n return [];\n }\n const res = [];\n const { variations } = config;\n\n // eslint-disable-next-line guard-for-in\n for (const key in variations) {\n const { css } = variations[key];\n css && res.push(css);\n }\n\n return res;\n};\n\nexport const getDynamicVariants = (config: ComponentConfig) => {\n return (props: HTMLAnyAttributes) => {\n const res = [];\n\n // eslint-disable-next-line guard-for-in\n for (const key in config.variations) {\n if (key in props) {\n const variant = config.variations[key];\n\n const css = variant[props[key]];\n // no css for { modifier: true }\n css && Array.isArray(css) ? res.push(...css) : res.push(css);\n }\n }\n\n return res;\n };\n};\n\nexport const mergeConfig = <\n Tag extends HTMLTagList,\n VariantList extends Variants,\n VariantsProps extends PropsType<VariantList>,\n LayoutPropsBase extends React.HTMLAttributes<HTMLElement> | HTMLAttributesOmitOnChange,\n LayoutPropsUser extends React.HTMLAttributes<HTMLElement> | HTMLAttributesOmitOnChange | undefined = undefined\n>(\n baseConfig: ComponentConfig<Tag, Variants, PropsType & LayoutPropsBase, LayoutPropsBase>,\n userConfig?: Partial<ComponentConfig<Tag, VariantList, VariantsProps, LayoutPropsUser>>,\n) => {\n const res = { ...baseConfig, ...userConfig };\n\n if (res.variations) {\n // copy variations base css\n // eslint-disable-next-line guard-for-in\n for (const key in res.variations) {\n const variant = baseConfig.variations[key];\n\n res.variations[key].css = variant?.css;\n /* start of bad decision */\n if (!res.variations[key].true && variant?.true) {\n res.variations[key].true = variant.true;\n }\n /* end of bad decision */\n if (variant?.attrs) {\n res.variations[key].attrs = variant.attrs;\n }\n }\n }\n\n // eslint-disable-next-line guard-for-in\n for (const key in baseConfig.defaults || {}) {\n if (!(key in res.defaults)) {\n res.defaults[key] = baseConfig.defaults[key];\n }\n }\n\n return res as ComponentConfig<\n Tag,\n VariantList,\n PropsType<VariantList>,\n LayoutPropsUser extends undefined ? LayoutPropsBase : LayoutPropsUser\n >;\n};\n\nexport function component<\n Tag extends HTMLTagList,\n VariantList extends Variants,\n VariantsProps extends PropsType<VariantList>,\n LayoutProps extends React.HTMLAttributes<HTMLElement> | HTMLAttributesOmitOnChange\n>(\n config: ComponentConfig<Tag, VariantList, VariantsProps, LayoutProps>,\n): React.FunctionComponent<VariantsProps & LayoutProps> {\n const Comp = config.layout(_component((config as unknown) as ComponentConfig));\n\n return React.forwardRef<VariantsProps & LayoutProps, any>((props, ref) => (\n <Comp {...config?.defaults} {...props} ref={ref} />\n ));\n}\n"],"names":["getStaticVariants","config","variations","res","key","css","push","getDynamicVariants","props","variant","Array","isArray","apply","_toConsumableArray","mergeConfig","baseConfig","userConfig","_objectSpread","attrs","defaults","component","Comp","layout","_component","React","forwardRef","ref","createElement","_extends"],"mappings":"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"}
|
package/es/engines/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../src/engines/index.ts"],"sourcesContent":["import { css as cssLibrary } from '@linaria/core';\n\nimport type { CSS } from './types';\n\nexport const css = cssLibrary as CSS;\nexport { mergeConfig, component } from './common';\n\nexport type { Variant, ComponentConfig, RootProps, CSS } from './types';\n"],"names":["css","cssLibrary"],"mappings":";;;;AAIO,IAAMA,GAAG,GAAGC;;;;"}
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/engines/index.ts"],"sourcesContent":["import { css as cssLibrary } from '@linaria/core';\n\nimport type { CSS } from './types';\n\nexport const css = cssLibrary as CSS;\nexport { mergeConfig, component } from './common';\n\nexport type { Variant, ComponentConfig, RootProps, CSS, RootPropsOmitOnChange } from './types';\n"],"names":["css","cssLibrary"],"mappings":";;;;AAIO,IAAMA,GAAG,GAAGC;;;;"}
|
@@ -0,0 +1,11 @@
|
|
1
|
+
import { useLayoutEffect, useEffect } from 'react';
|
2
|
+
import { canUseDOM } from '../utils/canUseDOM.js';
|
3
|
+
import '../utils/react.js';
|
4
|
+
|
5
|
+
/**
|
6
|
+
* Runs effect safely on server.
|
7
|
+
*/
|
8
|
+
var useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
|
9
|
+
|
10
|
+
export { useIsomorphicLayoutEffect };
|
11
|
+
//# sourceMappingURL=useIsomorphicLayoutEffect.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"useIsomorphicLayoutEffect.js","sources":["../../src/hooks/useIsomorphicLayoutEffect.ts"],"sourcesContent":["import { useLayoutEffect, useEffect } from 'react';\n\nimport { canUseDOM } from '../utils';\n\n/**\n * Runs effect safely on server.\n */\nexport const useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;\n"],"names":["useIsomorphicLayoutEffect","canUseDOM","useLayoutEffect","useEffect"],"mappings":";;;;AAIA;AACA;AACA;IACaA,yBAAyB,GAAGC,SAAS,GAAGC,eAAe,GAAGC;;;;"}
|
package/es/index.css
CHANGED
@@ -111,7 +111,7 @@
|
|
111
111
|
|
112
112
|
.base_4q50ag_b1w9g1pa__4e22704f[disabled]{opacity:var(--plasma-textarea-disabled-opacity);cursor:not-allowed;}.base_4q50ag_b1w9g1pa__4e22704f[disabled]:hover,.base_4q50ag_b1w9g1pa__4e22704f[disabled]:active{-webkit-transform:none;-ms-transform:none;transform:none;}.base_4q50ag_b1w9g1pa__4e22704f .base_4q50ag_textarea__4e22704f:disabled{cursor:not-allowed;color:var(--plasma-textarea-input-color-disabled);}
|
113
113
|
|
114
|
-
.
|
114
|
+
.TextArea_qicm5y_b6rykm0__77932f3e{position:relative;box-sizing:border-box;}.TextArea_qicm5y_b6rykm0__77932f3e .TextArea_qicm5y_innerPlaceholderUp__77932f3e .TextArea_qicm5y_textarea__77932f3e{height:calc(var(--plasma_private-textarea-input-actual-height) - 1rem);}.TextArea_qicm5y_b6rykm0__77932f3e .TextArea_qicm5y_innerPlaceholderUp__77932f3e .TextArea_qicm5y_textareaWrapper__77932f3e{padding-top:calc(var(--plasma-textarea-input-padding-top) + 1rem);}.TextArea_qicm5y_b6rykm0__77932f3e .TextArea_qicm5y_innerPlaceholderUp__77932f3e .TextArea_qicm5y_textareaPlaceholder__77932f3e{font-family:var(--plasma-textarea-label-inner-font-family);font-size:var(--plasma-textarea-label-inner-font-size);font-style:var(--plasma-textarea-label-inner-font-style);font-weight:var(--plasma-textarea-label-inner-font-weight);-webkit-letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);-moz-letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);-ms-letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);letter-spacing:var(--plasma-textarea-label-inner-letter-spacing);line-height:var(--plasma-textarea-label-inner-line-height);}.TextArea_qicm5y_b6rykm0__77932f3e .TextArea_qicm5y_hidePlaceholder__77932f3e .TextArea_qicm5y_textareaPlaceholder__77932f3e{display:none;}.TextArea_qicm5y_b6rykm0__77932f3e .TextArea_qicm5y_focusedOuterPlaceholderColor__77932f3e .TextArea_qicm5y_textareaPlaceholder__77932f3e{color:var(--plasma-textarea-placeholder-color-focus);}
|
115
115
|
|
116
116
|
.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb{padding:var(--plasma-textfield-placement_inner__content-padding);}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:focus ~ .inner_gqlcj2_l13qvwoy__0d4c77cb,.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:not(:placeholder-shown) ~ .inner_gqlcj2_l13qvwoy__0d4c77cb{height:auto;padding:var(--plasma-textfield-placement_inner__label-padding);font-family:var(--plasma-textfield-placement_inner__label-font-family);font-size:var(--plasma-textfield-placement_inner__label-font-size);font-style:var(--plasma-textfield-placement_inner__label-font-style);font-weight:var(--plasma-textfield-placement_inner__label-font-weight);-webkit-letter-spacing:var(--plasma-textfield-placement_inner__label-letter-spacing);-moz-letter-spacing:var(--plasma-textfield-placement_inner__label-letter-spacing);-ms-letter-spacing:var(--plasma-textfield-placement_inner__label-letter-spacing);letter-spacing:var(--plasma-textfield-placement_inner__label-letter-spacing);line-height:var(--plasma-textfield-placement_inner__label-line-height);}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:not(:focus)::-webkit-input-placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:not(:focus)::-moz-placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:not(:focus):-ms-input-placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:not(:focus)::placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:focus::-webkit-input-placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:focus::-moz-placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:focus:-ms-input-placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_io4bpie__0d4c77cb:focus::placeholder{color:transparent;}.inner_gqlcj2_l8oinlg__0d4c77cb .inner_gqlcj2_l13qvwoy__0d4c77cb{color:var(--plasma-textfield__placeholder-color);pointer-events:none;position:absolute;top:0;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;box-sizing:border-box;-webkit-transition:padding 0.1s ease-in-out,height 0s;transition:padding 0.1s ease-in-out,height 0s;height:var(--plasma-textfield-height);padding-top:calc(var(--plasma-textfield-height) / 4);padding-bottom:calc(var(--plasma-textfield-height) / 4);}
|
117
117
|
|
@@ -532,3 +532,28 @@
|
|
532
532
|
.Toolbar_styles_iomsh3_bd5aerk__291bdbec{display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;box-sizing:border-box;border-radius:var(--plasma-toolbar-border-radius);background:var(--plasma-toolbar-background);padding:var(--plasma-toolbar-padding);}.Toolbar_styles_iomsh3_bd5aerk__291bdbec.Toolbar_styles_iomsh3_toolbarShadow__291bdbec{box-shadow:var(--plasma-toolbar-box-shadow);}.Toolbar_styles_iomsh3_bd5aerk__291bdbec.Toolbar_styles_iomsh3_toolbarVertical__291bdbec{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;width:var(--plasma-toolbar-size);}.Toolbar_styles_iomsh3_bd5aerk__291bdbec.Toolbar_styles_iomsh3_toolbarHorizontal__291bdbec{-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;height:var(--plasma-toolbar-size);}.Toolbar_styles_iomsh3_bd5aerk__291bdbec.Toolbar_styles_iomsh3_toolbarVertical__291bdbec .Toolbar_styles_iomsh3_plasmaDivider__291bdbec{width:var(--plasma-toolbar-divider-size);height:0.063rem;margin:var(--plasma-toolbar-divider-offset) 0;}.Toolbar_styles_iomsh3_bd5aerk__291bdbec.Toolbar_styles_iomsh3_toolbarHorizontal__291bdbec .Toolbar_styles_iomsh3_plasmaDivider__291bdbec{width:0.063rem;height:var(--plasma-toolbar-divider-size);margin:0 var(--plasma-toolbar-divider-offset);}
|
533
533
|
|
534
534
|
.ToolbarDivider_styles_1ypqhb1_mcdkovg__81732880{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;--plasma-divider-background:var(--plasma-toolbar-divider-color);--plasma-divider-border-radius:var(--plasma-toolbar-divider-border-radius);}
|
535
|
+
|
536
|
+
.SliderBase_styles_7is2ll_s33crq1__0c0959e2{-webkit-flex:1;-ms-flex:1;flex:1;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:var(--plasma-slider-height);}
|
537
|
+
.SliderBase_styles_7is2ll_rnaoqfb__0c0959e2{height:100%;}
|
538
|
+
.SliderBase_styles_7is2ll_r1bro5xo__0c0959e2{position:relative;top:50%;height:var(--plasma-slider-rail-height);border-radius:var(--plasma-slider-rail-border-radius);background-color:var(--plasma-slider-rail-background-color);overflow:hidden;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);}
|
539
|
+
.SliderBase_styles_7is2ll_fdg7yhg__0c0959e2{position:absolute;height:100%;top:0;left:0;background:var(--plasma-slider-fill-color);width:0;}
|
540
|
+
|
541
|
+
.Single_styles_1r9f1e0_l1p4kc08__4db690dd{color:var(--plasma-slider-label-color);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-slider-label-wrapper-gap);}
|
542
|
+
|
543
|
+
.Single_styles_1r9f1e0_lozb535__4db690dd{font-family:var(--plasma-slider-label-font-family);font-size:var(--plasma-slider-label-font-size);font-style:var(--plasma-slider-label-font-style);font-weight:var(--plasma-slider-label-font-weight);-webkit-letter-spacing:var(--plasma-slider-label-letter-spacing);-moz-letter-spacing:var(--plasma-slider-label-letter-spacing);-ms-letter-spacing:var(--plasma-slider-label-letter-spacing);letter-spacing:var(--plasma-slider-label-letter-spacing);line-height:var(--plasma-slider-label-line-height);}
|
544
|
+
.Single_styles_1r9f1e0_s1w9icbd__4db690dd{color:var(--plasma-slider-range-value-color);font-family:var(--plasma-slider-range-value-font-family);font-size:var(--plasma-slider-range-value-font-size);font-style:var(--plasma-slider-range-value-font-style);font-weight:var(--plasma-slider-range-value-font-weight);-webkit-letter-spacing:var(--plasma-slider-range-value-letter-spacing);-moz-letter-spacing:var(--plasma-slider-range-value-letter-spacing);-ms-letter-spacing:var(--plasma-slider-range-value-letter-spacing);letter-spacing:var(--plasma-slider-range-value-letter-spacing);line-height:var(--plasma-slider-range-value-line-height);-webkit-transition:opacity 0.1s ease-in-out;transition:opacity 0.1s ease-in-out;}.Single_styles_1r9f1e0_s1w9icbd__4db690dd.Single_styles_1r9f1e0_sliderHideMinValue__4db690dd,.Single_styles_1r9f1e0_s1w9icbd__4db690dd.Single_styles_1r9f1e0_sliderHideMaxValue__4db690dd{opacity:0;}.Single_styles_1r9f1e0_s1w9icbd__4db690dd.Single_styles_1r9f1e0_sliderActiveRangeValue__4db690dd{color:var(--plasma-slider-label-color);}
|
545
|
+
.Single_styles_1r9f1e0_s1d2sfgl__4db690dd{position:relative;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex:1;-ms-flex:1;flex:1;}.Single_styles_1r9f1e0_s1d2sfgl__4db690dd.Single_styles_1r9f1e0_sliderRangeValuesPlacementOuter__4db690dd .Single_styles_1r9f1e0_s1w9icbd__4db690dd{position:absolute;bottom:var(--plasma-slider-range-value-bottom-offset);left:0;}.Single_styles_1r9f1e0_s1d2sfgl__4db690dd.Single_styles_1r9f1e0_sliderRangeValuesPlacementOuter__4db690dd .Single_styles_1r9f1e0_s1w9icbd__4db690dd.Single_styles_1r9f1e0_sliderMaxRangeValue__4db690dd{left:unset;right:0;}.Single_styles_1r9f1e0_s1d2sfgl__4db690dd.Single_styles_1r9f1e0_sliderRangeValuesPlacementInner__4db690dd{-webkit-align-items:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;}.Single_styles_1r9f1e0_s1d2sfgl__4db690dd.Single_styles_1r9f1e0_sliderRangeValuesPlacementInner__4db690dd .Single_styles_1r9f1e0_s1w9icbd__4db690dd{margin-right:var(--plasma-slider-range-min-value-margin);}.Single_styles_1r9f1e0_s1d2sfgl__4db690dd.Single_styles_1r9f1e0_sliderRangeValuesPlacementInner__4db690dd .Single_styles_1r9f1e0_s1w9icbd__4db690dd.Single_styles_1r9f1e0_sliderMaxRangeValue__4db690dd{margin-right:0;margin-left:var(--plasma-slider-range-max-value-margin);}
|
546
|
+
.Single_styles_1r9f1e0_ss3ujqx__4db690dd{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;opacity:var(--plasma-slider-disabled-opacity);}.Single_styles_1r9f1e0_ss3ujqx__4db690dd.Single_styles_1r9f1e0_sliderLabelPlacementOuter__4db690dd{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}.Single_styles_1r9f1e0_ss3ujqx__4db690dd.Single_styles_1r9f1e0_sliderLabelPlacementOuter__4db690dd .Single_styles_1r9f1e0_l1p4kc08__4db690dd{margin-bottom:var(--plasma-slider-label-wrapper-margin-bottom);}.Single_styles_1r9f1e0_ss3ujqx__4db690dd.Single_styles_1r9f1e0_sliderLabelPlacementInner__4db690dd .Single_styles_1r9f1e0_l1p4kc08__4db690dd{margin-right:var(--plasma-slider-label-wrapper-margin-right);}
|
547
|
+
|
548
|
+
.Double_styles_1jhda4u_lcs82cd__5dc981f4{color:var(--plasma-slider-label-color);display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-slider-label-wrapper-gap);margin-bottom:var(--plasma-slider-label-wrapper-margin-bottom);}
|
549
|
+
|
550
|
+
.Double_styles_1jhda4u_l1at2q9b__5dc981f4{font-family:var(--plasma-slider-label-font-family);font-size:var(--plasma-slider-label-font-size);font-style:var(--plasma-slider-label-font-style);font-weight:var(--plasma-slider-label-font-weight);-webkit-letter-spacing:var(--plasma-slider-label-letter-spacing);-moz-letter-spacing:var(--plasma-slider-label-letter-spacing);-ms-letter-spacing:var(--plasma-slider-label-letter-spacing);letter-spacing:var(--plasma-slider-label-letter-spacing);line-height:var(--plasma-slider-label-line-height);}
|
551
|
+
.Double_styles_1jhda4u_i11dc2og__5dc981f4{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;gap:var(--plasma-slider-text-field-wrapper-gap);margin-top:var(--plasma-slider-double-wrapper-gap);}
|
552
|
+
.Double_styles_1jhda4u_s4zvp7i__5dc981f4{-webkit-flex:1;-ms-flex:1;flex:1;--plasma-textfield-color:var(--plasma-slider-text-field-color);--plasma-textfield-bg-color:var(--plasma-slider-text-field-background-color);--plasma-textfield__caret-color:var(--plasma-slider-text-field-caret-color);--plasma-textfield__placeholder-color:var(--plasma-slider-text-field-placeholder-color);--plasma-textfield-disabled-opacity:var(--plasma-slider-disabled-opacity);--plasma-textfield-height:var(--plasma-slider-text-field-height);--plasma-textfield-padding:var(--plasma-slider-text-field-padding);--plasma-textfield-border-radius:var(--plasma-slider-text-field-border-radius);--plasma-textfield-font-family:var(--plasma-slider-text-field-font-family);--plasma-textfield-font-size:var(--plasma-slider-text-field-font-size);--plasma-textfield-font-style:var(--plasma-slider-text-field-font-style);--plasma-textfield-font-weight:var(--plasma-slider-text-field-font-weight);--plasma-textfield-letter-spacing:var(--plasma-slider-text-field-letter-spacing);--plasma-textfield-line-height:var(--plasma-slider-text-field-line-height);}.Double_styles_1jhda4u_s4zvp7i__5dc981f4.Double_styles_1jhda4u_sliderFirstTextField__5dc981f4 > div{border-top-right-radius:0;border-bottom-right-radius:0;}.Double_styles_1jhda4u_s4zvp7i__5dc981f4.Double_styles_1jhda4u_sliderSecondTextField__5dc981f4 > div{border-top-left-radius:0;border-bottom-left-radius:0;}.Double_styles_1jhda4u_s4zvp7i__5dc981f4 input:focus,.Double_styles_1jhda4u_s4zvp7i__5dc981f4.Double_styles_1jhda4u_sliderTextFieldActive__5dc981f4{--plasma-textfield-color:var(--plasma-slider-text-field-focus-color);}
|
553
|
+
.Double_styles_1jhda4u_d3kvcjo__5dc981f4{opacity:var(--plasma-slider-disabled-opacity);}
|
554
|
+
|
555
|
+
|
556
|
+
.Handler_styles_8crx5z_h1tnrnip__2d4342c7{cursor:pointer;position:absolute;z-index:1;top:0;left:0;}
|
557
|
+
.Handler_styles_8crx5z_s12uu2lj__2d4342c7{position:absolute;z-index:1;top:var(--plasma-slider-current-value-top-offset);text-align:center;width:100%;margin-left:-0.125rem;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;font-family:var(--plasma-slider-current-value-font-family);font-size:var(--plasma-slider-current-value-font-size);font-style:var(--plasma-slider-current-value-font-style);font-weight:var(--plasma-slider-current-value-font-weight);-webkit-letter-spacing:var(--plasma-slider-current-value-letter-spacing);-moz-letter-spacing:var(--plasma-slider-current-value-letter-spacing);-ms-letter-spacing:var(--plasma-slider-current-value-letter-spacing);letter-spacing:var(--plasma-slider-current-value-letter-spacing);line-height:var(--plasma-slider-current-value-line-height);}
|
558
|
+
|
559
|
+
.Thumb_styles_4w4gzn_tqbdf8b__14129a5b{width:var(--plasma-slider-thumb-size);height:var(--plasma-slider-thumb-size);position:relative;left:-0.125rem;top:-0.125rem;border-radius:50%;box-sizing:border-box;background:var(--plasma-slider-thumb-background-color);margin:0.125rem;-webkit-transition:border-color 0.1s ease-in-out;transition:border-color 0.1s ease-in-out;position:relative;}.Thumb_styles_4w4gzn_tqbdf8b__14129a5b:after{background:var(--plasma-slider-thumb-border-color);margin:-0.125rem;content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;}.Thumb_styles_4w4gzn_tqbdf8b__14129a5b:not([disabled]):hover:after,.Thumb_styles_4w4gzn_tqbdf8b__14129a5b:not([disabled]):active:after{background:var(--plasma-slider-thumb-focus-border-color);}.Thumb_styles_4w4gzn_tqbdf8b__14129a5b[disabled]{cursor:not-allowed;}.Thumb_styles_4w4gzn_tqbdf8b__14129a5b:focus{outline:none;}.Thumb_styles_4w4gzn_tqbdf8b__14129a5b::before{content:'';position:absolute;top:0.125rem;left:0.125rem;right:0.125rem;bottom:0.125rem;z-index:1;display:block;box-sizing:content-box;border:0.125rem solid transparent;border-radius:50%;-webkit-transition:box-shadow 0.2s ease-in-out;transition:box-shadow 0.2s ease-in-out;pointer-events:none;}.Thumb_styles_4w4gzn_tqbdf8b__14129a5b.Thumb_styles_4w4gzn_focusVisible__14129a5b:focus::before,.Thumb_styles_4w4gzn_tqbdf8b__14129a5b[data-focus-visible-added]::before{outline:none;box-shadow:0 0 0 0.125rem var(--plasma-slider-thumb-focus-border-color);}
|
package/es/index.js
CHANGED
@@ -13,6 +13,7 @@ export { useUniqId } from './hooks/useUniqId.js';
|
|
13
13
|
export { usePreviousValue } from './hooks/usePreviousValue.js';
|
14
14
|
export { useForceUpdate } from './hooks/useForceUpdate.js';
|
15
15
|
export { useDidMountEffect } from './hooks/useDidMountEffect.js';
|
16
|
+
export { useIsomorphicLayoutEffect } from './hooks/useIsomorphicLayoutEffect.js';
|
16
17
|
export { composableStyle, cx } from './utils/index.js';
|
17
18
|
export { buttonConfig, buttonRoot } from './components/Button/Button.js';
|
18
19
|
export { classes as buttonClasses, tokens as buttonTokens } from './components/Button/Button.tokens.js';
|
@@ -165,7 +166,14 @@ export { classes as dividerClasses, tokens as dividerTokens } from './components
|
|
165
166
|
export { toolbarConfig, toolbarRoot } from './components/Toolbar/Toolbar.js';
|
166
167
|
export { tokens as toolbarTokens } from './components/Toolbar/Toolbar.tokens.js';
|
167
168
|
export { toolbarDividerConfig, toolbarDividerRoot } from './components/Toolbar/ui/ToolbarDivider/ToolbarDivider.js';
|
169
|
+
export { sliderConfig, sliderRoot } from './components/Slider/Slider.js';
|
170
|
+
export { tokens as sliderTokens } from './components/Slider/Slider.tokens.js';
|
171
|
+
import 'react';
|
172
|
+
import 'react-draggable';
|
173
|
+
export { ThumbBase } from './components/Slider/ui/Thumb/Thumb.styles.js';
|
174
|
+
import '@linaria/react';
|
168
175
|
export { component, mergeConfig } from './engines/common.js';
|
176
|
+
export { canUseDOM } from './utils/canUseDOM.js';
|
169
177
|
export { extractTextFrom } from './utils/extractTextFrom.js';
|
170
178
|
export { getSizeValueFromProp } from './utils/getSizeValueFromProp.js';
|
171
179
|
export { IS_REACT_18, safeUseId } from './utils/react.js';
|
package/es/index.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/**
|
2
|
+
* This constant tells you whether can DOM be used.
|
3
|
+
* https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js
|
4
|
+
*/
|
5
|
+
var canUseDOM = /*#__PURE__*/Boolean(typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined');
|
6
|
+
|
7
|
+
export { canUseDOM };
|
8
|
+
//# sourceMappingURL=canUseDOM.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"canUseDOM.js","sources":["../../src/utils/canUseDOM.ts"],"sourcesContent":["/**\n * This constant tells you whether can DOM be used.\n * https://github.com/facebook/react/blob/master/packages/shared/ExecutionEnvironment.js\n */\nexport const canUseDOM = Boolean(\n typeof window !== 'undefined' &&\n typeof window.document !== 'undefined' &&\n typeof window.document.createElement !== 'undefined',\n);\n"],"names":["canUseDOM","Boolean","window","document","createElement"],"mappings":"AAAA;AACA;AACA;AACA;AACO,IAAMA,SAAS,gBAAGC,OAAO,CAC5B,OAAOC,MAAM,KAAK,WAAW,IACzB,OAAOA,MAAM,CAACC,QAAQ,KAAK,WAAW,IACtC,OAAOD,MAAM,CAACC,QAAQ,CAACC,aAAa,KAAK,WACjD;;;;"}
|