@wellingtonhlc/shared-ui 0.25.6 → 0.25.7
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/README.md +34 -0
- package/dist/components/FieldControl.js +1 -1
- package/dist/components/FieldGroup.d.ts +2 -1
- package/dist/components/FieldGroup.d.ts.map +1 -1
- package/dist/components/FieldGroup.js +2 -2
- package/dist/components/RadioGroup.d.ts +2 -1
- package/dist/components/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup.js +37 -2
- package/dist/components/form-control-helpers.d.ts +1 -1
- package/dist/components/form-control-helpers.d.ts.map +1 -1
- package/dist/components/form-control-helpers.js +1 -1
- package/dist/styles.css +23 -3
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -205,6 +205,40 @@ para declarar o formato esperado pelo campo:
|
|
|
205
205
|
|
|
206
206
|
`enableTime` permanece suportado como alias legado para `mode="dateTime"`.
|
|
207
207
|
|
|
208
|
+
## FieldGroup
|
|
209
|
+
|
|
210
|
+
`FieldGroup` renderiza um grupo visual de campos com legenda. A borda vem ativa por
|
|
211
|
+
padrao; use `bordered={false}` quando o consumidor precisar manter a semantica de
|
|
212
|
+
grupo sem adicionar contorno visual.
|
|
213
|
+
|
|
214
|
+
```tsx
|
|
215
|
+
import { FieldGroup, TextField } from '@wellingtonhlc/shared-ui';
|
|
216
|
+
|
|
217
|
+
<FieldGroup title="Endereco" bordered={false}>
|
|
218
|
+
<TextField label="CEP" />
|
|
219
|
+
<TextField label="Cidade" />
|
|
220
|
+
</FieldGroup>;
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
## RadioGroup
|
|
224
|
+
|
|
225
|
+
`RadioGroup` segue a mesma escala de altura dos campos base (`xs`, `sm`, `md`,
|
|
226
|
+
`lg`) para alinhar visualmente com `TextField`, `SelectField` e demais controles
|
|
227
|
+
na mesma linha de formulario.
|
|
228
|
+
|
|
229
|
+
O padrao `boxed` renderiza um `fieldset` com legenda, fazendo a borda contornar
|
|
230
|
+
o grupo a partir da label. Use `variant="plain"` quando precisar do grupo sem
|
|
231
|
+
borda.
|
|
232
|
+
|
|
233
|
+
```tsx
|
|
234
|
+
import { RadioGroup } from '@wellingtonhlc/shared-ui';
|
|
235
|
+
|
|
236
|
+
<RadioGroup label="Tipo Pessoa" value={1} onChange={setType}>
|
|
237
|
+
<RadioGroup.Item value={1} label="Fisica" />
|
|
238
|
+
<RadioGroup.Item value={2} label="Juridica" />
|
|
239
|
+
</RadioGroup>;
|
|
240
|
+
```
|
|
241
|
+
|
|
208
242
|
## AppShell.Topbar.Button
|
|
209
243
|
|
|
210
244
|
Use `AppShell.Topbar.Button` para acoes de icone na barra superior, como notificacoes,
|
|
@@ -12,7 +12,7 @@ export const FieldControl = ({ label, id, wrapperClassName, labelClassName = '',
|
|
|
12
12
|
const roundedClass = roundedFull ? 'fc-rounded-full' : '';
|
|
13
13
|
const isHorizontal = labelPosition === 'left' || labelPosition === 'right';
|
|
14
14
|
const labelSizeClassMap = {
|
|
15
|
-
xs: 'text-[10px]
|
|
15
|
+
xs: 'text-[10px]',
|
|
16
16
|
sm: 'text-xs',
|
|
17
17
|
md: 'text-sm',
|
|
18
18
|
lg: 'text-base',
|
|
@@ -3,8 +3,9 @@ export interface FieldGroupProps {
|
|
|
3
3
|
title: string;
|
|
4
4
|
children: ReactNode;
|
|
5
5
|
className?: string;
|
|
6
|
+
bordered?: boolean;
|
|
6
7
|
titleAlign?: 'left' | 'center' | 'right';
|
|
7
8
|
}
|
|
8
|
-
export declare function FieldGroup({ children, className, title, titleAlign }: FieldGroupProps): import("react").JSX.Element;
|
|
9
|
+
export declare function FieldGroup({ bordered, children, className, title, titleAlign }: FieldGroupProps): import("react").JSX.Element;
|
|
9
10
|
export declare const FormSection: typeof FieldGroup;
|
|
10
11
|
//# sourceMappingURL=FieldGroup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldGroup.d.ts","sourceRoot":"","sources":["../../src/components/FieldGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC1C;AAQD,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE,eAAe,+
|
|
1
|
+
{"version":3,"file":"FieldGroup.d.ts","sourceRoot":"","sources":["../../src/components/FieldGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;CAC1C;AAQD,wBAAgB,UAAU,CAAC,EAAE,QAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,UAAmB,EAAE,EAAE,eAAe,+BAS/G;AAED,eAAO,MAAM,WAAW,mBAAa,CAAC"}
|
|
@@ -5,7 +5,7 @@ const titleAlignClass = {
|
|
|
5
5
|
center: 'mx-auto',
|
|
6
6
|
right: 'ml-auto',
|
|
7
7
|
};
|
|
8
|
-
export function FieldGroup({ children, className, title, titleAlign = 'left' }) {
|
|
9
|
-
return (_jsxs("fieldset", { className: cn('
|
|
8
|
+
export function FieldGroup({ bordered = true, children, className, title, titleAlign = 'left' }) {
|
|
9
|
+
return (_jsxs("fieldset", { className: cn('rounded-xl px-4 pb-4 pt-2', bordered && 'border-app-border border', className), children: [_jsx("legend", { className: cn('text-foreground-muted px-2 text-xs font-medium', titleAlignClass[titleAlign]), children: title }), children] }));
|
|
10
10
|
}
|
|
11
11
|
export const FormSection = FieldGroup;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { type FieldValues } from 'react-hook-form';
|
|
3
|
-
import type
|
|
3
|
+
import { type FormControlSize } from './form-control-helpers';
|
|
4
4
|
export interface RadioGroupProps<TFieldValues extends FieldValues = FieldValues> {
|
|
5
5
|
value?: string | number | null;
|
|
6
6
|
onChange?: (value: string | number) => void;
|
|
@@ -12,6 +12,7 @@ export interface RadioGroupProps<TFieldValues extends FieldValues = FieldValues>
|
|
|
12
12
|
disabled?: boolean;
|
|
13
13
|
size?: FormControlSize;
|
|
14
14
|
direction?: 'row' | 'column';
|
|
15
|
+
variant?: 'plain' | 'boxed';
|
|
15
16
|
children?: React.ReactNode;
|
|
16
17
|
control?: unknown;
|
|
17
18
|
rules?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/components/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"RadioGroup.d.ts","sourceRoot":"","sources":["../../src/components/RadioGroup.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAC;AAKzB,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAe5E,MAAM,WAAW,eAAe,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW;IAC7E,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC7B,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA2JD,iBAAS,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,mBAAmB,qBA6BrF;AAaD,iBAAS,cAAc,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,YAAY,CAAC,qBAM3G;AAED,eAAO,MAAM,UAAU;;CAA0C,CAAC"}
|
|
@@ -3,6 +3,8 @@ import React from 'react';
|
|
|
3
3
|
import { useController, } from 'react-hook-form';
|
|
4
4
|
import { cn } from '../utils/cn';
|
|
5
5
|
import { FieldControl } from './FieldControl';
|
|
6
|
+
import { FieldValidationError } from './FieldValidationError';
|
|
7
|
+
import { fieldWrapper } from './form-control-helpers';
|
|
6
8
|
const RadioGroupContext = React.createContext({
|
|
7
9
|
size: 'sm',
|
|
8
10
|
onChange: () => { },
|
|
@@ -13,15 +15,48 @@ const sizeStyles = {
|
|
|
13
15
|
md: { outer: 'h-5 w-5', dot: 'h-2.5 w-2.5', text: 'text-sm' },
|
|
14
16
|
lg: { outer: 'h-6 w-6', dot: 'h-3 w-3', text: 'text-base' },
|
|
15
17
|
};
|
|
16
|
-
|
|
18
|
+
const groupHeightStyles = {
|
|
19
|
+
xs: 'h-7',
|
|
20
|
+
sm: 'h-9',
|
|
21
|
+
md: 'h-12',
|
|
22
|
+
lg: 'h-14',
|
|
23
|
+
};
|
|
24
|
+
const groupMinHeightStyles = {
|
|
25
|
+
xs: 'min-h-7',
|
|
26
|
+
sm: 'min-h-9',
|
|
27
|
+
md: 'min-h-12',
|
|
28
|
+
lg: 'min-h-14',
|
|
29
|
+
};
|
|
30
|
+
const groupPaddingStyles = {
|
|
31
|
+
xs: 'px-2',
|
|
32
|
+
sm: 'px-3',
|
|
33
|
+
md: 'px-4',
|
|
34
|
+
lg: 'px-6',
|
|
35
|
+
};
|
|
36
|
+
const boxedFieldsetHeightStyles = {
|
|
37
|
+
xs: 'min-h-12',
|
|
38
|
+
sm: 'min-h-14',
|
|
39
|
+
md: 'min-h-[4.25rem]',
|
|
40
|
+
lg: 'min-h-[4.75rem]',
|
|
41
|
+
};
|
|
42
|
+
function RadioGroupBase({ children, direction = 'row', disabled = false, errorMessage, inputDisabled, inputName, inputOnBlur, inputValue, label, labelClassName = '', name, onChange, onValueChange, size = 'sm', value, variant = 'boxed', wrapperClassName, }) {
|
|
43
|
+
const generatedId = React.useId().replace(/:/g, '');
|
|
17
44
|
const resolvedValue = inputValue ?? value;
|
|
18
45
|
const resolvedName = inputName ?? name;
|
|
19
46
|
const resolvedDisabled = inputDisabled ?? disabled;
|
|
47
|
+
const legendId = `rg-${generatedId}-legend`;
|
|
48
|
+
const errorId = `rg-${generatedId}-error`;
|
|
49
|
+
const describedBy = errorMessage ? errorId : undefined;
|
|
20
50
|
function handleChange(nextValue) {
|
|
21
51
|
onValueChange?.(nextValue);
|
|
22
52
|
onChange?.(nextValue);
|
|
23
53
|
}
|
|
24
|
-
|
|
54
|
+
const groupClassName = cn('flex gap-3', direction === 'column' ? groupMinHeightStyles[size] : groupHeightStyles[size], direction === 'column' ? 'flex-col items-start justify-center' : 'flex-row flex-wrap items-center');
|
|
55
|
+
const boxedGroupClassName = cn(groupClassName, direction === 'row' && 'justify-around', groupPaddingStyles[size]);
|
|
56
|
+
if (variant === 'plain') {
|
|
57
|
+
return (_jsx(RadioGroupContext.Provider, { value: { name: resolvedName, value: resolvedValue, disabled: resolvedDisabled, size, onChange: handleChange }, children: _jsx(FieldControl, { label: label, wrapperClassName: wrapperClassName, labelClassName: labelClassName, errorMessage: errorMessage, size: size, disabled: resolvedDisabled, children: () => (_jsx("div", { role: "radiogroup", "aria-label": label, "aria-describedby": describedBy, onBlur: inputOnBlur, className: groupClassName, children: children })) }) }));
|
|
58
|
+
}
|
|
59
|
+
return (_jsx(RadioGroupContext.Provider, { value: { name: resolvedName, value: resolvedValue, disabled: resolvedDisabled, size, onChange: handleChange }, children: _jsxs("div", { className: cn(fieldWrapper, wrapperClassName), "data-disabled": resolvedDisabled || undefined, "data-invalid": !!errorMessage || undefined, children: [_jsxs("fieldset", { className: cn('border-app-border flex h-full flex-1 flex-col justify-center rounded-xl border px-3 pb-2 pt-0 transition-[background-color,border-color,box-shadow,color] duration-200', boxedFieldsetHeightStyles[size], resolvedDisabled && 'cursor-not-allowed opacity-60', errorMessage && 'border-red-500 dark:border-red-400'), children: [label ? (_jsx("legend", { id: legendId, className: cn('text-foreground-muted px-2 text-xs font-medium transition-colors', resolvedDisabled && 'cursor-not-allowed opacity-70', errorMessage && 'text-red-600 dark:text-red-400', labelClassName), children: label })) : null, _jsx("div", { role: "radiogroup", "aria-label": label ? undefined : resolvedName, "aria-labelledby": label ? legendId : undefined, "aria-describedby": describedBy, onBlur: inputOnBlur, className: boxedGroupClassName, children: children })] }), _jsx(FieldValidationError, { id: errorId, message: errorMessage })] }) }));
|
|
25
60
|
}
|
|
26
61
|
function Item({ className, disabled: itemDisabled, label, value }) {
|
|
27
62
|
const { value: groupValue, disabled: groupDisabled, size, onChange } = React.useContext(RadioGroupContext);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const fieldWrapper = "flex w-full flex-col space-y-1";
|
|
2
|
-
export declare const labelBase = "
|
|
2
|
+
export declare const labelBase = "text-md font-medium";
|
|
3
3
|
export type FormControlVariant = 'default' | 'filled' | 'ghost' | 'neutral';
|
|
4
4
|
interface ControlClassOptions {
|
|
5
5
|
errorMessage?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-control-helpers.d.ts","sourceRoot":"","sources":["../../src/components/form-control-helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,mCAAmC,CAAC;AAE7D,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"form-control-helpers.d.ts","sourceRoot":"","sources":["../../src/components/form-control-helpers.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,mCAAmC,CAAC;AAE7D,eAAO,MAAM,SAAS,wBAAwB,CAAC;AAE/C,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAgC5E,UAAU,mBAAmB;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,kBAAkB,CAAC;CAC9B;AAED,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAExD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,EAAE,eAAe,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;AAClG,wBAAgB,cAAc,CAAC,OAAO,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { cn } from '../utils/cn';
|
|
2
2
|
export const fieldWrapper = 'flex w-full flex-col space-y-1';
|
|
3
|
-
export const labelBase = '
|
|
3
|
+
export const labelBase = 'text-md font-medium';
|
|
4
4
|
const controlShared = cn('text-foreground placeholder:text-foreground-muted w-full rounded-md px-3 py-2 font-medium border', 'transition-[background-color,border-color,box-shadow,color] duration-200', 'disabled:cursor-not-allowed disabled:opacity-60');
|
|
5
5
|
const controlDefault = cn(controlShared, 'bg-surface border-app-border', 'enabled:hover:border-brand', 'focus:outline-none focus:bg-surface focus:border-brand focus:ring-2 focus:ring-inset focus:ring-brand/35', 'disabled:bg-input-bg disabled:border-app-border');
|
|
6
6
|
const controlFilled = cn(controlShared, 'bg-input-bg border-app-border', 'enabled:hover:border-brand enabled:hover:bg-[color-mix(in_srgb,var(--input-bg)_75%,var(--surface))]', 'focus:outline-none focus:bg-surface focus:border-brand focus:ring-2 focus:ring-inset focus:ring-brand/35', 'disabled:bg-input-bg disabled:border-app-border');
|
package/dist/styles.css
CHANGED
|
@@ -956,6 +956,9 @@ h2.react-datepicker__current-month {
|
|
|
956
956
|
.order-3 {
|
|
957
957
|
order: 3;
|
|
958
958
|
}
|
|
959
|
+
.col-span-4 {
|
|
960
|
+
grid-column: span 4 / span 4;
|
|
961
|
+
}
|
|
959
962
|
.col-span-12 {
|
|
960
963
|
grid-column: span 12 / span 12;
|
|
961
964
|
}
|
|
@@ -1019,9 +1022,6 @@ h2.react-datepicker__current-month {
|
|
|
1019
1022
|
.mb-0 {
|
|
1020
1023
|
margin-bottom: calc(var(--spacing) * 0);
|
|
1021
1024
|
}
|
|
1022
|
-
.mb-0\.5 {
|
|
1023
|
-
margin-bottom: calc(var(--spacing) * 0.5);
|
|
1024
|
-
}
|
|
1025
1025
|
.mb-1 {
|
|
1026
1026
|
margin-bottom: calc(var(--spacing) * 1);
|
|
1027
1027
|
}
|
|
@@ -1289,6 +1289,12 @@ h2.react-datepicker__current-month {
|
|
|
1289
1289
|
.min-h-\[2rem\] {
|
|
1290
1290
|
min-height: 2rem;
|
|
1291
1291
|
}
|
|
1292
|
+
.min-h-\[4\.25rem\] {
|
|
1293
|
+
min-height: 4.25rem;
|
|
1294
|
+
}
|
|
1295
|
+
.min-h-\[4\.75rem\] {
|
|
1296
|
+
min-height: 4.75rem;
|
|
1297
|
+
}
|
|
1292
1298
|
.min-h-\[10rem\] {
|
|
1293
1299
|
min-height: 10rem;
|
|
1294
1300
|
}
|
|
@@ -1591,6 +1597,9 @@ h2.react-datepicker__current-month {
|
|
|
1591
1597
|
.grid-cols-2 {
|
|
1592
1598
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1593
1599
|
}
|
|
1600
|
+
.grid-cols-12 {
|
|
1601
|
+
grid-template-columns: repeat(12, minmax(0, 1fr));
|
|
1602
|
+
}
|
|
1594
1603
|
.grid-cols-\[8rem_minmax\(0\,1fr\)\] {
|
|
1595
1604
|
grid-template-columns: 8rem minmax(0,1fr);
|
|
1596
1605
|
}
|
|
@@ -1642,6 +1651,9 @@ h2.react-datepicker__current-month {
|
|
|
1642
1651
|
.items-stretch {
|
|
1643
1652
|
align-items: stretch;
|
|
1644
1653
|
}
|
|
1654
|
+
.justify-around {
|
|
1655
|
+
justify-content: space-around;
|
|
1656
|
+
}
|
|
1645
1657
|
.justify-between {
|
|
1646
1658
|
justify-content: space-between;
|
|
1647
1659
|
}
|
|
@@ -2181,6 +2193,9 @@ h2.react-datepicker__current-month {
|
|
|
2181
2193
|
.py-10 {
|
|
2182
2194
|
padding-block: calc(var(--spacing) * 10);
|
|
2183
2195
|
}
|
|
2196
|
+
.pt-0 {
|
|
2197
|
+
padding-top: calc(var(--spacing) * 0);
|
|
2198
|
+
}
|
|
2184
2199
|
.pt-2 {
|
|
2185
2200
|
padding-top: calc(var(--spacing) * 2);
|
|
2186
2201
|
}
|
|
@@ -3839,6 +3854,11 @@ h2.react-datepicker__current-month {
|
|
|
3839
3854
|
}
|
|
3840
3855
|
}
|
|
3841
3856
|
}
|
|
3857
|
+
.dark\:border-red-400 {
|
|
3858
|
+
@media (prefers-color-scheme: dark) {
|
|
3859
|
+
border-color: var(--color-red-400);
|
|
3860
|
+
}
|
|
3861
|
+
}
|
|
3842
3862
|
.dark\:\!bg-\[rgb\(var\(--color-brand\)\/0\.13\)\] {
|
|
3843
3863
|
@media (prefers-color-scheme: dark) {
|
|
3844
3864
|
background-color: rgb(var(--color-brand)/0.13) !important;
|