@stamcat/craftsman 0.0.27-alpha.19 → 0.0.27-alpha.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +2 -0
- package/Components.esm.js +48 -44
- package/Styles.esm.js +7 -7
- package/_virtual/_rolldown/runtime.esm.js +15 -6
- package/package.json +10 -1
- package/src/components/Carousel/Carousel.css +1 -1
- package/src/components/Carousel/Carousel.scss +1 -1
- package/src/components/Checkbox/Checkbox.d.ts +2 -1
- package/src/components/DatePicker/DatePicker.css +1 -1
- package/src/components/DatePicker/DatePicker.scss +1 -1
- package/src/components/DatePicker/ReactCalendar.css +1 -1
- package/src/components/DatePicker/ReactCalendar.scss +8 -29
- package/src/components/DatePicker/{_DateTimePicker.scss → _DatePicker.scss} +7 -1
- package/src/components/DateRangePicker/AGENTS.md +38 -0
- package/src/components/DateRangePicker/DateRangePicker.css +1 -0
- package/src/components/DateRangePicker/DateRangePicker.d.ts +8 -0
- package/src/components/DateRangePicker/DateRangePicker.scss +62 -0
- package/src/components/DateRangePicker/DateRangePicker2.esm.js +29 -0
- package/src/components/DateTimePicker/DateTimePicker.css +1 -1
- package/src/components/DateTimePicker/DateTimePicker.scss +2 -2
- package/src/components/Input/AGENTS.md +1 -0
- package/src/components/Input/Input.css +1 -1
- package/src/components/Input/Input.scss +44 -32
- package/src/components/Input/Input2.esm.js +27 -18
- package/src/components/Input/InputWrapper.d.ts +1 -0
- package/src/components/InputNumber/AGENTS.md +36 -0
- package/src/components/InputNumber/InputNumber.css +1 -0
- package/src/components/InputNumber/InputNumber.d.ts +9 -0
- package/src/components/InputNumber/InputNumber.scss +29 -0
- package/src/components/InputNumber/InputNumber2.esm.js +36 -0
- package/src/components/InputPhone/InputPhone.css +1 -1
- package/src/components/InputPhone/InputPhone.scss +1 -1
- package/src/components/Modal/Modal.css +1 -1
- package/src/components/Modal/Modal.scss +88 -86
- package/src/components/Pagination/Pagination.css +1 -1
- package/src/components/Pagination/Pagination.scss +1 -1
- package/src/components/RadioButton/RadioButton.d.ts +2 -1
- package/src/components/Text/Text.css +1 -1
- package/src/components/Text/Text.scss +1 -1
- package/src/components/TimePicker/AGENTS.md +1 -0
- package/src/components/TimePicker/TimePicker.css +1 -1
- package/src/components/TimePicker/TimePicker.scss +2 -2
- package/src/components/TimePicker/TimePicker2.esm.js +1 -0
- package/src/components/Tooltip/Tooltip.css +1 -1
- package/src/components/Tooltip/Tooltip.scss +1 -1
- package/src/components/index.d.ts +2 -0
- package/src/stories/documentation/ToDo.mdx +8 -4
- package/src/styles/global/components/_button.scss +9 -5
- package/src/styles/global/components/_input.scss +1 -1
- package/src/styles/global/globalStyles.scss +1 -1
- package/src/utilities/types.d.ts +12 -0
- package/src/utilities/types.esm.js +6 -6
package/AGENTS.md
CHANGED
|
@@ -17,7 +17,9 @@ import { Button } from "@stamcat/craftsman/Button";
|
|
|
17
17
|
import { Carousel } from "@stamcat/craftsman/Carousel";
|
|
18
18
|
import { Checkbox } from "@stamcat/craftsman/Checkbox";
|
|
19
19
|
import { DatePicker } from "@stamcat/craftsman/DatePicker";
|
|
20
|
+
import { DateRangePicker } from "@stamcat/craftsman/DateRangePicker";
|
|
20
21
|
import { Input } from "@stamcat/craftsman/Input";
|
|
22
|
+
import { InputNumber } from "@stamcat/craftsman/InputNumber";
|
|
21
23
|
import { InputPassword } from "@stamcat/craftsman/InputPassword";
|
|
22
24
|
import { InputPhone } from "@stamcat/craftsman/InputPhone";
|
|
23
25
|
import { Loader } from "@stamcat/craftsman/Loader";
|
package/Components.esm.js
CHANGED
|
@@ -10,62 +10,66 @@ import { Text as c } from "./src/components/Text/Text2.esm.js";
|
|
|
10
10
|
import { Modal as l } from "./src/components/Modal/Modal2.esm.js";
|
|
11
11
|
import { Select as u } from "./src/components/Select/Select.esm.js";
|
|
12
12
|
import { DatePicker as d } from "./src/components/DatePicker/DatePicker2.esm.js";
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
import {
|
|
31
|
-
import {
|
|
32
|
-
import {
|
|
33
|
-
import {
|
|
13
|
+
import { DateRangePicker as f } from "./src/components/DateRangePicker/DateRangePicker2.esm.js";
|
|
14
|
+
import { InputPhone as p } from "./src/components/InputPhone/InputPhone2.esm.js";
|
|
15
|
+
import { InputNumber as m } from "./src/components/InputNumber/InputNumber2.esm.js";
|
|
16
|
+
import { Pagination as h } from "./src/components/Pagination/Pagination2.esm.js";
|
|
17
|
+
import { Carousel as g } from "./src/components/Carousel/Carousel2.esm.js";
|
|
18
|
+
import { TimePicker as _ } from "./src/components/TimePicker/TimePicker2.esm.js";
|
|
19
|
+
import { DateTimePicker as v } from "./src/components/DateTimePicker/DateTimePicker2.esm.js";
|
|
20
|
+
import { Tooltip as y } from "./src/components/Tooltip/Tooltip2.esm.js";
|
|
21
|
+
import { IconAmazonPay as b } from "./src/components/Icons/IconAmazonPay.esm.js";
|
|
22
|
+
import { IconAmex as x } from "./src/components/Icons/IconAmex.esm.js";
|
|
23
|
+
import { IconApplePay as S } from "./src/components/Icons/IconApplePay.esm.js";
|
|
24
|
+
import { IconDiscover as C } from "./src/components/Icons/IconDiscover.esm.js";
|
|
25
|
+
import { IconGooglePay as w } from "./src/components/Icons/IconGooglePay.esm.js";
|
|
26
|
+
import { IconMaestro as T } from "./src/components/Icons/IconMaestro.esm.js";
|
|
27
|
+
import { IconMastercard as E } from "./src/components/Icons/IconMastercard.esm.js";
|
|
28
|
+
import { IconPayPal as D } from "./src/components/Icons/IconPayPal.esm.js";
|
|
29
|
+
import { IconSepa as O } from "./src/components/Icons/IconSepa.esm.js";
|
|
30
|
+
import { IconShopPay as k } from "./src/components/Icons/IconShopPay.esm.js";
|
|
31
|
+
import { IconSquare as A } from "./src/components/Icons/IconSquare.esm.js";
|
|
32
|
+
import { IconStripe as j } from "./src/components/Icons/IconStripe.esm.js";
|
|
33
|
+
import { IconUnionPay as M } from "./src/components/Icons/IconUnionPay.esm.js";
|
|
34
|
+
import { IconVenmo as N } from "./src/components/Icons/IconVenmo.esm.js";
|
|
35
|
+
import { IconVisa as P } from "./src/components/Icons/IconVisa.esm.js";
|
|
34
36
|
import "./src/components/Icons/index.esm.js";
|
|
35
37
|
//#region src/components/index.ts
|
|
36
|
-
var
|
|
38
|
+
var F = /* @__PURE__ */ e({
|
|
37
39
|
Button: () => t,
|
|
38
|
-
Carousel: () =>
|
|
40
|
+
Carousel: () => g,
|
|
39
41
|
Checkbox: () => o,
|
|
40
42
|
DatePicker: () => d,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
43
|
+
DateRangePicker: () => f,
|
|
44
|
+
DateTimePicker: () => v,
|
|
45
|
+
IconAmazonPay: () => b,
|
|
46
|
+
IconAmex: () => x,
|
|
47
|
+
IconApplePay: () => S,
|
|
48
|
+
IconDiscover: () => C,
|
|
49
|
+
IconGooglePay: () => w,
|
|
50
|
+
IconMaestro: () => T,
|
|
51
|
+
IconMastercard: () => E,
|
|
52
|
+
IconPayPal: () => D,
|
|
53
|
+
IconSepa: () => O,
|
|
54
|
+
IconShopPay: () => k,
|
|
55
|
+
IconSquare: () => A,
|
|
56
|
+
IconStripe: () => j,
|
|
57
|
+
IconUnionPay: () => M,
|
|
58
|
+
IconVenmo: () => N,
|
|
59
|
+
IconVisa: () => P,
|
|
57
60
|
Input: () => n,
|
|
61
|
+
InputNumber: () => m,
|
|
58
62
|
InputPassword: () => r,
|
|
59
|
-
InputPhone: () =>
|
|
63
|
+
InputPhone: () => p,
|
|
60
64
|
Loader: () => i,
|
|
61
65
|
Modal: () => l,
|
|
62
|
-
Pagination: () =>
|
|
66
|
+
Pagination: () => h,
|
|
63
67
|
RadioButton: () => a,
|
|
64
68
|
Select: () => u,
|
|
65
69
|
Text: () => c,
|
|
66
70
|
Textarea: () => s,
|
|
67
|
-
TimePicker: () =>
|
|
68
|
-
Tooltip: () =>
|
|
71
|
+
TimePicker: () => _,
|
|
72
|
+
Tooltip: () => y
|
|
69
73
|
});
|
|
70
74
|
//#endregion
|
|
71
|
-
export { t as Button,
|
|
75
|
+
export { t as Button, g as Carousel, o as Checkbox, d as DatePicker, f as DateRangePicker, v as DateTimePicker, b as IconAmazonPay, x as IconAmex, S as IconApplePay, C as IconDiscover, w as IconGooglePay, T as IconMaestro, E as IconMastercard, D as IconPayPal, O as IconSepa, k as IconShopPay, A as IconSquare, j as IconStripe, M as IconUnionPay, N as IconVenmo, P as IconVisa, n as Input, m as InputNumber, r as InputPassword, p as InputPhone, i as Loader, l as Modal, h as Pagination, a as RadioButton, u as Select, c as Text, s as Textarea, _ as TimePicker, y as Tooltip, F as components_exports };
|
package/Styles.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { BaseWidthSchema as e, BreakpointSchema as t, ButtonType as n, CarouselPageType as r, LayoutWidthsSchema as i, MaxScreenWidthSchema as a, ScreenWidthSchema as o, TextSize as s, TextTags as c, TextType as l,
|
|
2
|
-
import { defaultColors as
|
|
3
|
-
import { breakpoint as
|
|
4
|
-
import { color as
|
|
5
|
-
import { themeBuilder as
|
|
6
|
-
import { ThemeProvider as
|
|
7
|
-
export { e as BaseWidthSchema, t as BreakpointSchema, n as ButtonType, r as CarouselPageType, i as LayoutWidthsSchema, a as MaxScreenWidthSchema, o as ScreenWidthSchema, s as TextSize, c as TextTags, l as TextType,
|
|
1
|
+
import { BaseWidthSchema as e, BreakpointSchema as t, ButtonType as n, CarouselPageType as r, LayoutWidthsSchema as i, MaxScreenWidthSchema as a, ScreenWidthSchema as o, TextSize as s, TextTags as c, TextType as l, zCheckboxLabelPosition as u, zLabelPosition as d, zRadioLabelPosition as f, zTextInputExclusions as p, zTextInputType as m, zTextInputTypes as h } from "./src/utilities/types.esm.js";
|
|
2
|
+
import { defaultColors as g, defaultWidths as _ } from "./src/styles/utilities/constants.esm.js";
|
|
3
|
+
import { breakpoint as v, media as y, width as b, widths as x } from "./src/styles/utilities/layout.esm.js";
|
|
4
|
+
import { color as S, colors as C, hexToRgba as w } from "./src/styles/utilities/color.esm.js";
|
|
5
|
+
import { themeBuilder as T } from "./src/styles/theme/theme.esm.js";
|
|
6
|
+
import { ThemeProvider as E } from "./src/styles/components/ThemeProvider.esm.js";
|
|
7
|
+
export { e as BaseWidthSchema, t as BreakpointSchema, n as ButtonType, r as CarouselPageType, i as LayoutWidthsSchema, a as MaxScreenWidthSchema, o as ScreenWidthSchema, s as TextSize, c as TextTags, l as TextType, E as ThemeProvider, v as breakpoint, S as color, C as colors, g as defaultColors, _ as defaultWidths, w as hexToRgba, y as media, T as themeBuilder, b as width, x as widths, u as zCheckboxLabelPosition, d as zLabelPosition, f as zRadioLabelPosition, p as zTextInputExclusions, m as zTextInputType, h as zTextInputTypes };
|
|
@@ -1,14 +1,23 @@
|
|
|
1
1
|
//#region \0rolldown/runtime.js
|
|
2
|
-
var e = Object.
|
|
2
|
+
var e = Object.create, t = Object.defineProperty, n = Object.getOwnPropertyDescriptor, r = Object.getOwnPropertyNames, i = Object.getPrototypeOf, a = Object.prototype.hasOwnProperty, o = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), s = (e, n) => {
|
|
3
3
|
let r = {};
|
|
4
|
-
for (var i in
|
|
5
|
-
get:
|
|
4
|
+
for (var i in e) t(r, i, {
|
|
5
|
+
get: e[i],
|
|
6
6
|
enumerable: !0
|
|
7
7
|
});
|
|
8
|
-
return n ||
|
|
9
|
-
},
|
|
8
|
+
return n || t(r, Symbol.toStringTag, { value: "Module" }), r;
|
|
9
|
+
}, c = (e, i, o, s) => {
|
|
10
|
+
if (i && typeof i == "object" || typeof i == "function") for (var c = r(i), l = 0, u = c.length, d; l < u; l++) d = c[l], !a.call(e, d) && d !== o && t(e, d, {
|
|
11
|
+
get: ((e) => i[e]).bind(null, d),
|
|
12
|
+
enumerable: !(s = n(i, d)) || s.enumerable
|
|
13
|
+
});
|
|
14
|
+
return e;
|
|
15
|
+
}, l = (n, r, a) => (a = n == null ? {} : e(i(n)), c(r || !n || !n.__esModule ? t(a, "default", {
|
|
16
|
+
value: n,
|
|
17
|
+
enumerable: !0
|
|
18
|
+
}) : a, n)), u = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
|
|
10
19
|
if (typeof require < "u") return require.apply(this, arguments);
|
|
11
20
|
throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
12
21
|
});
|
|
13
22
|
//#endregion
|
|
14
|
-
export {
|
|
23
|
+
export { o as __commonJSMin, s as __exportAll, u as __require, l as __toESM };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stamcat/craftsman",
|
|
3
|
-
"version": "0.0.27-alpha.
|
|
3
|
+
"version": "0.0.27-alpha.20",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "A powerful, lightweight framework for design systems",
|
|
6
6
|
"repository": {
|
|
@@ -24,6 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
26
|
"@floating-ui/react-dom": "2.1.9",
|
|
27
|
+
"@wojtekmaj/react-daterange-picker": "7.1.0",
|
|
27
28
|
"clsx": "2.1.1",
|
|
28
29
|
"country-flag-icons": "1.6.20",
|
|
29
30
|
"dompurify": "3.4.13",
|
|
@@ -111,10 +112,18 @@
|
|
|
111
112
|
"types": "./src/components/DatePicker.d.ts",
|
|
112
113
|
"default": "./src/components/DatePicker.esm.js"
|
|
113
114
|
},
|
|
115
|
+
"./DateRangePicker": {
|
|
116
|
+
"types": "./src/components/DateRangePicker.d.ts",
|
|
117
|
+
"default": "./src/components/DateRangePicker.esm.js"
|
|
118
|
+
},
|
|
114
119
|
"./InputPhone": {
|
|
115
120
|
"types": "./src/components/InputPhone.d.ts",
|
|
116
121
|
"default": "./src/components/InputPhone.esm.js"
|
|
117
122
|
},
|
|
123
|
+
"./InputNumber": {
|
|
124
|
+
"types": "./src/components/InputNumber.d.ts",
|
|
125
|
+
"default": "./src/components/InputNumber.esm.js"
|
|
126
|
+
},
|
|
118
127
|
"./Pagination": {
|
|
119
128
|
"types": "./src/components/Pagination.d.ts",
|
|
120
129
|
"default": "./src/components/Pagination.esm.js"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer craftsman-
|
|
1
|
+
@layer craftsman-component{.carousel{position:relative}.carousel__viewport{overflow:hidden}.carousel__container{touch-action:pan-y pinch-zoom;display:flex}.carousel__slide{flex:0 0 100%;min-width:0}.carousel__controls{justify-content:space-between;gap:calc(var(--w-gutter) * .5);margin-top:calc(var(--w-gutter) * .75);flex-flow:row;width:100%;display:inline-flex}.carousel__dots button{margin:0 calc(var(--w-gutter) * .125)}}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { InputProps } from '../Input/Input';
|
|
2
|
+
import { CheckboxLabelPosition } from '../../utilities/types';
|
|
2
3
|
export type CheckboxProps = InputProps & {
|
|
3
4
|
type?: "checkbox";
|
|
4
|
-
labelPosition?:
|
|
5
|
+
labelPosition?: CheckboxLabelPosition;
|
|
5
6
|
};
|
|
6
7
|
export declare const Checkbox: React.FC<CheckboxProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer craftsman-base{.react-date-picker__wrapper:focus{box-shadow:none;outline:0}.react-date-picker__wrapper{color:var(--text);border:1px solid var(--gray400);padding:calc(var(--w-gutter) * .5);background-color:var(--white);border-radius:
|
|
1
|
+
@layer craftsman-base{.react-date-picker__wrapper:focus{box-shadow:none;outline:0}.react-date-picker__wrapper{color:var(--text);border:1px solid var(--gray400);padding:calc(var(--w-gutter) * .5);background-color:var(--white);border-radius:6px}[type=number].react-date-picker__wrapper::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[type=number].react-date-picker__wrapper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[type=number].react-date-picker__wrapper{appearance:textfield}.react-date-picker__wrapper:disabled,.disabled.react-date-picker__wrapper{border-color:var(--gray200);background-color:var(--gray100)}.react-date-picker__calendar{z-index:1;width:350px;max-width:100vw}.react-date-picker__calendar .react-calendar{border-width:thin}.react-date-picker__calendar--closed,.react-date-picker__clock--closed{display:none}.react-date-picker__calendar .react-date-picker__inputGroup__input:invalid{background:unset}}.react-date-picker,.react-date-picker *,.react-date-picker :before,.react-date-picker :after{box-sizing:border-box}@layer craftsman-component{.react-date-picker{display:inline-flex;position:relative}.react-date-picker--disabled{color:#6d6d6d;background-color:#f0f0f0}.react-date-picker__wrapper{flex-grow:1;flex-shrink:0;padding:6px 8px;display:flex}.react-date-picker__inputGroup{box-sizing:content-box;flex-grow:1;padding:0 2px}.react-date-picker__inputGroup__divider{white-space:pre;padding:1px 0}.react-date-picker__inputGroup__divider,.react-date-picker__inputGroup__leadingZero{font:inherit;display:inline-block}.react-date-picker__inputGroup__input{text-align:center;color:currentColor;min-width:calc(2ch + 1px);height:calc(100% - 2px);font:inherit;box-sizing:content-box;appearance:textfield;background:0 0;border:0;padding:1px;position:relative}[name=year].react-date-picker__inputGroup__input{min-width:calc(4ch + 2px)}.react-date-picker__inputGroup__input:disabled{background-color:unset}.react-date-picker__inputGroup__input::-webkit-outer-spin-button{appearance:none;margin:0}.react-date-picker__inputGroup__input::-webkit-inner-spin-button{appearance:none;margin:0}.react-date-picker__inputGroup__input--hasLeadingZero{margin-left:-.54em;padding-left:calc(1px + .54em)}.react-date-picker__button{border:0;padding:4px 4px 4px 7px}.react-date-picker__button:hover{background:0 0}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}@layer craftsman-base{.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-
|
|
1
|
+
.react-calendar,.react-calendar *,.react-calendar :before,.react-calendar :after{box-sizing:border-box}@layer craftsman-base{.react-calendar{background:#fff;border:1px solid #a0a096;width:350px;max-width:100%;line-height:1.125em}.react-calendar--doubleView{width:700px}.react-calendar--doubleView .react-calendar__viewContainer{margin:-.5em;display:flex}.react-calendar--doubleView .react-calendar__viewContainer>*{width:50%;margin:.5em}.react-calendar button{border:0;outline:none;margin:0}.react-calendar button:enabled:hover{cursor:pointer}.react-calendar__navigation{height:44px;margin-bottom:1em;display:flex}.react-calendar__navigation button{background:0 0;min-width:44px}.react-calendar__navigation button:disabled{background-color:#f0f0f0}.react-calendar__navigation button:enabled:hover,.react-calendar__navigation button:enabled:focus{background-color:#e6e6e6}.react-calendar__month-view__weekdays{text-align:center;text-transform:uppercase;font:inherit;font-size:.75em;font-weight:700}.react-calendar__month-view__weekdays__weekday{padding:.5em}.react-calendar__month-view__weekNumbers .react-calendar__tile{font:inherit;justify-content:center;align-items:center;font-size:.75em;font-weight:700;display:flex}.react-calendar__month-view__days__day--weekend{color:#d10000}.react-calendar__month-view__days__day--neighboringMonth,.react-calendar__decade-view__years__year--neighboringDecade,.react-calendar__century-view__decades__decade--neighboringCentury{color:#757575}.react-calendar__tile:disabled{color:#ababab;background-color:#f0f0f0}.react-calendar__month-view__days__day--neighboringMonth:disabled,.react-calendar__decade-view__years__year--neighboringDecade:disabled,.react-calendar__century-view__decades__decade--neighboringCentury:disabled{color:#cdcdcd}.react-calendar__tile:enabled:hover,.react-calendar__tile:enabled:focus{background-color:#e6e6e6}.react-calendar__tile--now{background:#ffff76}.react-calendar__tile--now:enabled:hover,.react-calendar__tile--now:enabled:focus{background:#ffffa9}.react-calendar__tile--hasActive{background:#76baff}.react-calendar__tile--hasActive:enabled:hover,.react-calendar__tile--hasActive:enabled:focus{background:#a9d4ff}.react-calendar__tile--active{color:#fff;background:#006edc}.react-calendar__tile--active:enabled:hover,.react-calendar__tile--active:enabled:focus{background:#1087ff}.react-calendar--selectRange .react-calendar__tile--hover{background-color:#e6e6e6}.react-calendar{border-color:var(--gray400)}.react-calendar button{border-radius:unset;justify-content:center;padding:12px 0}.react-calendar__year-view button,.react-calendar__decade-view button,.react-calendar__century-view button{padding:18px 0}}
|
|
@@ -90,22 +90,6 @@
|
|
|
90
90
|
.react-calendar__century-view__decades__decade--neighboringCentury {
|
|
91
91
|
color: #757575;
|
|
92
92
|
}
|
|
93
|
-
|
|
94
|
-
.react-calendar__year-view .react-calendar__tile,
|
|
95
|
-
.react-calendar__decade-view .react-calendar__tile,
|
|
96
|
-
.react-calendar__century-view .react-calendar__tile {
|
|
97
|
-
padding: 2em 0.5em;
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
.react-calendar__tile {
|
|
101
|
-
max-width: 100%;
|
|
102
|
-
padding: 10px 6.6667px;
|
|
103
|
-
background: none;
|
|
104
|
-
text-align: center;
|
|
105
|
-
font: inherit;
|
|
106
|
-
font-size: 0.833em;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
93
|
.react-calendar__tile:disabled {
|
|
110
94
|
background-color: #f0f0f0;
|
|
111
95
|
color: #ababab;
|
|
@@ -159,20 +143,15 @@
|
|
|
159
143
|
.react-calendar button {
|
|
160
144
|
justify-content: center;
|
|
161
145
|
}
|
|
162
|
-
.react-
|
|
146
|
+
.react-calendar {
|
|
147
|
+
button {
|
|
148
|
+
border-radius: unset;
|
|
149
|
+
padding: 12px 0px;
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
.react-calendar__year-view, .react-calendar__decade-view, .react-calendar__century-view {
|
|
163
153
|
button {
|
|
164
|
-
|
|
165
|
-
height: 50px;
|
|
166
|
-
&:hover {
|
|
167
|
-
border-radius: 50%;
|
|
168
|
-
}
|
|
169
|
-
&--active {
|
|
170
|
-
border-radius: 50%;
|
|
171
|
-
}
|
|
172
|
-
&--now {
|
|
173
|
-
border-radius: 50%;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
154
|
+
padding: 18px 0px;
|
|
176
155
|
}
|
|
177
156
|
}
|
|
178
157
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
@use "../../styles/utilities/_functions" as u;
|
|
3
3
|
@use "../../styles/utilities/_placeholders";
|
|
4
4
|
|
|
5
|
-
@layer craftsman-
|
|
5
|
+
@layer craftsman-component {
|
|
6
6
|
%date-picker-styles {
|
|
7
7
|
display: inline-flex;
|
|
8
8
|
position: relative;
|
|
@@ -46,6 +46,12 @@
|
|
|
46
46
|
-webkit-appearance: textfield;
|
|
47
47
|
-moz-appearance: textfield;
|
|
48
48
|
appearance: textfield;
|
|
49
|
+
&[name="year"] {
|
|
50
|
+
min-width: calc(4ch + 2px);
|
|
51
|
+
}
|
|
52
|
+
&:disabled {
|
|
53
|
+
background-color: unset;
|
|
54
|
+
}
|
|
49
55
|
}
|
|
50
56
|
%date-picker-input-spinner {
|
|
51
57
|
-webkit-appearance: none;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# DateRangePicker — Agent Usage Notes
|
|
2
|
+
|
|
3
|
+
Import:
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import { DateRangePicker } from "@stamcat/craftsman/DateRangePicker";
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
Props:
|
|
10
|
+
|
|
11
|
+
- Extends `DateRangePickerProps` from `@wojtekmaj/react-daterange-picker`.
|
|
12
|
+
- `label?: string | ReactNode`
|
|
13
|
+
- `labelPosition?: "top" | "left" | "bottom" | "right" | "inside" | "hidden"` (default: `"top"`)
|
|
14
|
+
- `error?: string | boolean | ReactNode`
|
|
15
|
+
- `required?: boolean`
|
|
16
|
+
- `id?: string`
|
|
17
|
+
- `style?: React.CSSProperties`
|
|
18
|
+
- `value?` / `onChange?` — from the underlying library; `value` is typically a `[Date, Date] | null` tuple.
|
|
19
|
+
|
|
20
|
+
Behavior notes:
|
|
21
|
+
|
|
22
|
+
- This component directly wraps `react-daterange-picker`; consult that library's docs for range-selection edge cases.
|
|
23
|
+
- `calendarIcon` and `clearIcon` default to `FaRegCalendar` / `FaX` but can be overridden since consumer props are spread after the defaults.
|
|
24
|
+
- Controlled component — parent owns `value` and `onChange`.
|
|
25
|
+
- Calendar flyout renders below the input; ensure the container has enough vertical space.
|
|
26
|
+
|
|
27
|
+
Example:
|
|
28
|
+
|
|
29
|
+
```tsx
|
|
30
|
+
const [range, setRange] = useState<[Date, Date] | null>(null);
|
|
31
|
+
|
|
32
|
+
<DateRangePicker
|
|
33
|
+
label="Stay Dates"
|
|
34
|
+
value={range}
|
|
35
|
+
onChange={setRange}
|
|
36
|
+
required
|
|
37
|
+
/>
|
|
38
|
+
```
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@layer craftsman-base{.react-daterange-picker__wrapper:focus{box-shadow:none;outline:0}.react-daterange-picker__wrapper{color:var(--text);border:1px solid var(--gray400);padding:calc(var(--w-gutter) * .5);background-color:var(--white);border-radius:6px}[type=number].react-daterange-picker__wrapper::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[type=number].react-daterange-picker__wrapper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[type=number].react-daterange-picker__wrapper{appearance:textfield}.react-daterange-picker__wrapper:disabled,.disabled.react-daterange-picker__wrapper{border-color:var(--gray200);background-color:var(--gray100)}}.react-daterange-picker,.react-daterange-picker *,.react-daterange-picker :before,.react-daterange-picker :after{box-sizing:border-box}@layer craftsman-component{.react-daterange-picker{display:inline-flex;position:relative}.react-daterange-picker--disabled{color:#6d6d6d;background-color:#f0f0f0}.react-daterange-picker__wrapper{flex-grow:1;flex-shrink:0;padding:6px 8px;display:flex}.react-daterange-picker__inputGroup{box-sizing:content-box;flex-grow:1;padding:0 2px}.react-daterange-picker__inputGroup__divider{white-space:pre;padding:1px 0}.react-daterange-picker__inputGroup__divider,.react-daterange-picker__inputGroup__leadingZero{font:inherit;display:inline-block}.react-daterange-picker__inputGroup__input{text-align:center;color:currentColor;min-width:calc(2ch + 1px);height:calc(100% - 2px);font:inherit;box-sizing:content-box;appearance:textfield;background:0 0;border:0;padding:1px;position:relative}[name=year].react-daterange-picker__inputGroup__input{min-width:calc(4ch + 2px)}.react-daterange-picker__inputGroup__input:disabled{background-color:unset}.react-daterange-picker__inputGroup__input::-webkit-outer-spin-button{appearance:none;margin:0}.react-daterange-picker__inputGroup__input::-webkit-inner-spin-button{appearance:none;margin:0}.react-daterange-picker__inputGroup__input--hasLeadingZero{margin-left:-.54em;padding-left:calc(1px + .54em)}.react-daterange-picker__button{border:0;padding:4px 4px 4px 7px}.react-daterange-picker__button:hover{background:0 0}.react-daterange-picker__calendar{z-index:1;width:350px;max-width:100vw}.react-daterange-picker__calendar .react-calendar{border-width:thin}.react-daterange-picker__calendar--closed,.react-daterange-picker__clock--closed{display:none}.react-daterange-picker__calendar .react-daterange-picker__inputGroup__input:invalid{background:unset}}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { default as React } from 'react';
|
|
2
|
+
import { LabeledInput } from '../Input/InputWrapper';
|
|
3
|
+
import { DateRangePickerProps as ReactDateRangePickerProps } from '@wojtekmaj/react-daterange-picker';
|
|
4
|
+
export type DateRangePickerProps = ReactDateRangePickerProps & LabeledInput & {
|
|
5
|
+
id?: string;
|
|
6
|
+
style?: React.CSSProperties;
|
|
7
|
+
};
|
|
8
|
+
export declare const DateRangePicker: React.FC<DateRangePickerProps>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
@use "../../styles/global/components/input";
|
|
2
|
+
@use "../../styles/utilities/_functions" as u;
|
|
3
|
+
@use "../../styles/utilities/_placeholders";
|
|
4
|
+
@use "../DatePicker/_DatePicker";
|
|
5
|
+
@layer craftsman-component {
|
|
6
|
+
.react-daterange-picker,
|
|
7
|
+
.react-daterange-picker *,
|
|
8
|
+
.react-daterange-picker *:before,
|
|
9
|
+
.react-daterange-picker *:after {
|
|
10
|
+
@extend %border-box;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.react-daterange-picker {
|
|
14
|
+
@extend %date-picker-styles;
|
|
15
|
+
&--disabled {
|
|
16
|
+
@extend %date-picker-disabled;
|
|
17
|
+
}
|
|
18
|
+
&__wrapper {
|
|
19
|
+
@extend %date-picker-wrapper;
|
|
20
|
+
}
|
|
21
|
+
&__inputGroup {
|
|
22
|
+
@extend %date-picker-input-group;
|
|
23
|
+
}
|
|
24
|
+
&__inputGroup__divider {
|
|
25
|
+
@extend %date-picker-divider;
|
|
26
|
+
}
|
|
27
|
+
&__inputGroup__divider,
|
|
28
|
+
&__inputGroup__leadingZero {
|
|
29
|
+
@extend %date-picker-leading-zero-divider;
|
|
30
|
+
}
|
|
31
|
+
&__inputGroup__input {
|
|
32
|
+
@extend %date-picker-group-input;
|
|
33
|
+
}
|
|
34
|
+
&__inputGroup__input::-webkit-outer-spin-button,
|
|
35
|
+
&__inputGroup__input::-webkit-inner-spin-button {
|
|
36
|
+
@extend %date-picker-input-spinner;
|
|
37
|
+
}
|
|
38
|
+
&__inputGroup__input--hasLeadingZero {
|
|
39
|
+
@extend %date-picker-input-leading-zero;
|
|
40
|
+
}
|
|
41
|
+
&__button {
|
|
42
|
+
@extend %date-picker-button;
|
|
43
|
+
}
|
|
44
|
+
&__calendar {
|
|
45
|
+
width: 350px;
|
|
46
|
+
max-width: 100vw;
|
|
47
|
+
z-index: 1;
|
|
48
|
+
.react-calendar {
|
|
49
|
+
border-width: thin;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
&__calendar--closed, &__clock--closed {
|
|
53
|
+
display: none;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|
|
57
|
+
.react-daterange-picker__calendar
|
|
58
|
+
.react-daterange-picker__inputGroup__input:invalid {
|
|
59
|
+
background: unset;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { InputWrapper as e } from "../Input/InputWrapper.esm.js";
|
|
3
|
+
import './DateRangePicker.css';import '../DatePicker/ReactCalendar.css';/* empty css */
|
|
4
|
+
/* empty css */
|
|
5
|
+
import t from "../../../node_modules/@wojtekmaj/react-daterange-picker/dist/DateRangePicker.esm.js";
|
|
6
|
+
import n from "clsx";
|
|
7
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
8
|
+
import { useId as i } from "react";
|
|
9
|
+
import { FaRegCalendar as a, FaX as o } from "react-icons/fa6";
|
|
10
|
+
//#region src/components/DateRangePicker/DateRangePicker.tsx
|
|
11
|
+
var s = ({ label: s, id: c, labelPosition: l = "top", required: u = !1, error: d, style: f, className: p, ...m }) => {
|
|
12
|
+
let h = i();
|
|
13
|
+
return /* @__PURE__ */ r(e, {
|
|
14
|
+
id: c || h,
|
|
15
|
+
className: n("dateRangePicker", p),
|
|
16
|
+
label: s,
|
|
17
|
+
labelPosition: l,
|
|
18
|
+
error: d,
|
|
19
|
+
required: u,
|
|
20
|
+
style: f,
|
|
21
|
+
children: /* @__PURE__ */ r(t, {
|
|
22
|
+
calendarIcon: /* @__PURE__ */ r(a, { size: 16 }),
|
|
23
|
+
clearIcon: /* @__PURE__ */ r(o, { size: 14 }),
|
|
24
|
+
...m
|
|
25
|
+
})
|
|
26
|
+
});
|
|
27
|
+
};
|
|
28
|
+
//#endregion
|
|
29
|
+
export { s as DateRangePicker };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer craftsman-base{.react-datetime-picker__wrapper:focus{box-shadow:none;outline:0}.react-datetime-picker__wrapper{color:var(--text);border:1px solid var(--gray400);padding:calc(var(--w-gutter) * .5);background-color:var(--white);border-radius:
|
|
1
|
+
@layer craftsman-base{.react-datetime-picker__wrapper:focus{box-shadow:none;outline:0}.react-datetime-picker__wrapper{color:var(--text);border:1px solid var(--gray400);padding:calc(var(--w-gutter) * .5);background-color:var(--white);border-radius:6px}[type=number].react-datetime-picker__wrapper::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}[type=number].react-datetime-picker__wrapper::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}[type=number].react-datetime-picker__wrapper{appearance:textfield}.react-datetime-picker__wrapper:disabled,.disabled.react-datetime-picker__wrapper{border-color:var(--gray200);background-color:var(--gray100)}}.react-datetime-picker,.react-datetime-picker *,.react-datetime-picker :before,.react-datetime-picker :after{box-sizing:border-box}@layer craftsman-component{.react-datetime-picker{display:inline-flex;position:relative}.react-datetime-picker--disabled{color:#6d6d6d;background-color:#f0f0f0}.react-datetime-picker__wrapper{flex-grow:1;flex-shrink:0;padding:6px 8px;display:flex}.react-datetime-picker__inputGroup{box-sizing:content-box;flex-grow:1;padding:0 2px}.react-datetime-picker__inputGroup__divider{white-space:pre;padding:1px 0}.react-datetime-picker__inputGroup__divider,.react-datetime-picker__inputGroup__leadingZero{font:inherit;display:inline-block}.react-datetime-picker__inputGroup__input{text-align:center;color:currentColor;min-width:calc(2ch + 1px);height:calc(100% - 2px);font:inherit;box-sizing:content-box;appearance:textfield;background:0 0;border:0;padding:1px;position:relative}[name=year].react-datetime-picker__inputGroup__input{min-width:calc(4ch + 2px)}.react-datetime-picker__inputGroup__input:disabled{background-color:unset}.react-datetime-picker__inputGroup__input::-webkit-outer-spin-button{appearance:none;margin:0}.react-datetime-picker__inputGroup__input::-webkit-inner-spin-button{appearance:none;margin:0}.react-datetime-picker__inputGroup__input--hasLeadingZero{margin-left:-.54em;padding-left:calc(1px + .54em)}.react-datetime-picker__button{border:0;padding:4px 4px 4px 7px}.react-datetime-picker__button:hover{background:0 0}.react-datetime-picker__calendar--closed,.react-datetime-picker__clock--closed{display:none}.react-datetime-picker__calendar,.react-datetime-picker__clock{z-index:1}.react-datetime-picker__inputGroup__input:invalid{background:#ff00001a}.react-datetime-picker__inputGroup__amPm{font:inherit;appearance:menulist}.react-datetime-picker__calendar{width:350px;max-width:100vw}.react-datetime-picker__calendar .react-calendar{border-width:thin}.react-date-picker__inputGroup__input:invalid,.react-datetime-picker__inputGroup__input:invalid{background:unset}.dateTimePicker__time-display{margin-top:8px;display:flex}.dateTimePicker__wrapper{display:inline-block}}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
@use "../../styles/global/components/input";
|
|
2
2
|
@use "../../styles/utilities/_functions" as u;
|
|
3
3
|
@use "../../styles/utilities/_placeholders";
|
|
4
|
-
@use "../DatePicker/
|
|
5
|
-
@layer craftsman-
|
|
4
|
+
@use "../DatePicker/_DatePicker";
|
|
5
|
+
@layer craftsman-component {
|
|
6
6
|
.react-datetime-picker,
|
|
7
7
|
.react-datetime-picker *,
|
|
8
8
|
.react-datetime-picker *:before,
|
|
@@ -21,6 +21,7 @@ Behavior notes:
|
|
|
21
21
|
- `id` is preserved; if omitted, a stable React `useId` value is used.
|
|
22
22
|
- Floating-label behavior is supported when `labelPosition="inside"`.
|
|
23
23
|
- `endAdornment` exists as an internal extension point used by `InputPassword`; consumer apps should prefer `InputPassword` rather than wiring password toggles on `Input`.
|
|
24
|
+
- `preAdornment` is an internal extension point used by `InputNumber` for its decrement button; consumer apps should prefer `InputNumber` rather than wiring stepper buttons on `Input` directly.
|
|
24
25
|
|
|
25
26
|
Example:
|
|
26
27
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
@layer craftsman-base{.input-wrapper label .input-label{margin-bottom:calc(var(--w-gutter) * .25)}.input-wrapper[data-required=true] label .input-label:after{content:"*";color:var(--red700)}.input-wrapper[data-label-position=left] label{align-items:center;display:inline-flex}.input-wrapper[data-label-position=left] label .input-label{width:fit-content;margin-right:calc(var(--w-gutter) * .75)}.input-wrapper[data-label-position=left].textarea label{align-items:flex-start}.input-wrapper[data-label-position=bottom] label{flex-direction:column-reverse;align-items:flex-start;display:inline-flex}.input-wrapper[data-label-position=bottom] label .input-label{margin-bottom:0;margin-top:calc(var(--w-gutter) * .25)}.input-wrapper[data-label-position=right] label{flex-direction:row-reverse;align-items:baseline;display:inline-flex}.input-wrapper[data-label-position=right] label .input-label{margin-left:calc(var(--w-gutter) * .25);margin-bottom:0}.input-wrapper[data-label-position=inside]{--react-international-phone-height:50px;--react-international-phone-border-radius:8px;--react-international-phone-border-color:silver;position:relative}.input-wrapper[data-label-position=inside] .input-label{background-color:var(--white);z-index:1;width:fit-content;top:calc(var(--w-gutter) * .
|
|
1
|
+
@layer craftsman-base{.input-pre-adornment,.input-end-adornment{z-index:1;align-items:center;margin-top:0;display:inline-flex;position:absolute;top:50%;transform:translateY(-50%)}.input-wrapper label .input-label{margin-bottom:calc(var(--w-gutter) * .25)}.input-wrapper[data-required=true] label .input-label:after{content:"*";color:var(--red700)}.input-wrapper[data-label-position=left] label{align-items:center;display:inline-flex}.input-wrapper[data-label-position=left] label .input-label{width:fit-content;margin-right:calc(var(--w-gutter) * .75)}.input-wrapper[data-label-position=left].textarea label{align-items:flex-start}.input-wrapper[data-label-position=bottom] label{flex-direction:column-reverse;align-items:flex-start;display:inline-flex}.input-wrapper[data-label-position=bottom] label .input-label{margin-bottom:0;margin-top:calc(var(--w-gutter) * .25)}.input-wrapper[data-label-position=right] label{flex-direction:row-reverse;align-items:baseline;display:inline-flex}.input-wrapper[data-label-position=right] label .input-label{margin-left:calc(var(--w-gutter) * .25);margin-bottom:0}.input-wrapper[data-label-position=inside]{--react-international-phone-height:50px;--react-international-phone-border-radius:8px;--react-international-phone-border-color:silver;position:relative}.input-wrapper[data-label-position=inside] .input-label{background-color:var(--white);z-index:1;width:fit-content;top:calc(var(--w-gutter) * .45);left:calc(var(--w-gutter) * .25);pointer-events:none;padding:0 5px;transition:top .15s,left .15s,font-size .15s,color .15s;position:absolute}.input-wrapper[data-label-position=inside]>label>.input-field>.input,.input-wrapper[data-label-position=inside]>.input{transition:border-color .2s}.input-wrapper[data-label-position=inside]:focus-within .input-label{top:-.5rem;left:calc(var(--w-gutter) * .125);font-size:calc(var(--w-text) * .75);color:var(--blue500)}.input-wrapper[data-label-position=inside]:focus-within .input{border-color:var(--blue500)}.input-wrapper[data-label-position=inside]:focus-within .input::placeholder{opacity:1}.input-wrapper[data-label-position=inside][data-has-input=true] .input-label{top:-.5rem;left:calc(var(--w-gutter) * .125);font-size:calc(var(--w-text) * .75)}.input-wrapper[data-label-position=inside] .input[type=tel]{width:100%}.input-wrapper[data-label-position=inside] .input::placeholder{opacity:0;transition:opacity .2s}.input-field{align-items:center;display:inline-flex;position:relative}.input-field[data-has-end-adornment=true]>.input{padding-right:calc(var(--w-gutter) * 1.5)}.input-field[data-has-pre-adornment=true]>.input{padding-left:calc(var(--w-gutter) * 2.25)}.input-end-adornment{right:calc(var(--w-gutter) * .5)}.input-pre-adornment{left:calc(var(--w-gutter) * .5)}.input-error{margin-top:calc(var(--w-gutter) * .25);font-size:calc(var(--w-text) * .75);color:var(--red600)}.input-view-toggle{align-items:"center";padding:0;line-height:1;display:inline-flex}}
|