@wellingtonhlc/shared-ui 0.1.7 → 0.1.16
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 +8 -0
- package/dist/components/Badge.d.ts.map +1 -1
- package/dist/components/Badge.js +4 -4
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +9 -9
- package/dist/components/ConfirmationDialog.js +1 -1
- package/dist/components/Modal.js +2 -2
- package/dist/components/Pagination.d.ts +3 -1
- package/dist/components/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination.js +36 -16
- package/dist/components/Switch.d.ts +1 -0
- package/dist/components/Switch.d.ts.map +1 -1
- package/dist/components/Switch.js +10 -3
- package/dist/components/TextField.d.ts +8 -0
- package/dist/components/TextField.d.ts.map +1 -1
- package/dist/components/TextField.js +39 -11
- package/dist/components/form-control-helpers.d.ts +2 -1
- package/dist/components/form-control-helpers.d.ts.map +1 -1
- package/dist/components/form-control-helpers.js +10 -8
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/styles.css +350 -33
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -210,6 +210,14 @@ Tabela de historico:
|
|
|
210
210
|
|
|
211
211
|
| Versao | Data | Tipo | Resumo | Validacao |
|
|
212
212
|
|--------|------|------|--------|-----------|
|
|
213
|
+
| `0.1.15` | 2026-06-16 | Patch | Corrige a hierarquia de z-index de `Modal` e `ConfirmationDialog` para o overlay cobrir sidebar e flyouts. | `npm run build`; `npm run build-storybook`. |
|
|
214
|
+
| `0.1.14` | 2026-06-16 | Minor pre-v1 | Adiciona `icon` e `iconPosition` ao `TextField` e ajusta o offset lateral dos icones internos. | `npm run build`; `npm run build-storybook`. |
|
|
215
|
+
| `0.1.13` | 2026-06-16 | Minor pre-v1 | Refina o visual do `Pagination`, remove botoes circulares e adiciona `size="sm" | "md" | "lg"`. | `npm run build`; `npm run build-storybook`. |
|
|
216
|
+
| `0.1.12` | 2026-06-16 | Minor pre-v1 | Adiciona variantes explicitas ao `TextField` e corrige alinhamento de icones internos com `startAdornment` e `endAdornment`. | `npm run build`; `npm run build-storybook`. |
|
|
217
|
+
| `0.1.11` | 2026-06-16 | Patch | Reequilibra variantes de `Button`, separando `default` de `primary` e usando cores explicitas para estados de marca e semanticos. | `npm run build`; `npm run build-storybook`. |
|
|
218
|
+
| `0.1.10` | 2026-06-16 | Patch | Reequilibra `Badge` `default`, `primary` e `muted` com estilos distintos e cor de texto explicita para `primary`. | `npm run build`; `npm run build-storybook`. |
|
|
219
|
+
| `0.1.9` | 2026-06-16 | Patch | Garante estilos distintos para `Badge` `default`, `primary` e `muted`, e normaliza alias legado `active` para `success`. | `npm run build`; `npm run build-storybook`. |
|
|
220
|
+
| `0.1.8` | 2026-06-16 | Minor pre-v1 | Adiciona `Switch display="inline"` para linhas compactas com label integrado e alinhamento previsivel. | `npm run build`; `npm run build-storybook`; build do `EloDesk.CRM`. |
|
|
213
221
|
| `0.1.7` | 2026-06-16 | Minor pre-v1 | Adiciona props de customizacao dos botoes de aparencia em `ThemePreferencesSelector`. | `npm run build`; build do `EloDesk.CRM`. |
|
|
214
222
|
| `0.1.6` | 2026-06-16 | Patch | Forca o destaque da aparencia selecionada por CSS explicito em `[aria-pressed='true']`. | `npm run build`; `npm run build-storybook`; build do `EloDesk.CRM.Portal`. |
|
|
215
223
|
| `0.1.5` | 2026-06-16 | Patch | Aplica o destaque da aparencia selecionada por estilo inline para evitar perda por ordem/geracao de CSS nos consumidores. | `npm run build`; `npm run build-storybook`; build do `EloDesk.CRM.Portal`. |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAIxD,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,eAAe,CAAC;IACjE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"Badge.d.ts","sourceRoot":"","sources":["../../src/components/Badge.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,cAAc,EAAE,MAAM,OAAO,CAAC;AAIxD,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,SAAS,GACT,SAAS,GACT,SAAS,GACT,MAAM,GACN,QAAQ,GACR,OAAO,CAAC;AAEZ,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAE3C,MAAM,WAAW,UAAW,SAAQ,cAAc,CAAC,eAAe,CAAC;IACjE,OAAO,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAChC,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB;AA+BD,eAAO,MAAM,KAAK,wGAoBjB,CAAC"}
|
package/dist/components/Badge.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
3
|
import { cn } from '../utils/cn';
|
|
4
4
|
const variantAlias = {
|
|
5
|
-
active: '
|
|
5
|
+
active: 'success',
|
|
6
6
|
paid: 'success',
|
|
7
7
|
pending: 'warning',
|
|
8
8
|
sent: 'warning',
|
|
@@ -11,13 +11,13 @@ const variantAlias = {
|
|
|
11
11
|
'status-danger': 'danger',
|
|
12
12
|
};
|
|
13
13
|
const variantClasses = {
|
|
14
|
-
default: 'border-app-border bg-
|
|
15
|
-
primary: 'border-
|
|
14
|
+
default: 'border-[color-mix(in_srgb,var(--foreground-muted)_42%,var(--app-border))] bg-[color-mix(in_srgb,var(--foreground-muted)_14%,var(--surface))] text-foreground',
|
|
15
|
+
primary: 'border-[color-mix(in_srgb,var(--brand)_40%,transparent)] bg-[color-mix(in_srgb,var(--brand)_14%,var(--surface))] text-[var(--brand)]',
|
|
16
16
|
success: 'border-[var(--status-success-border,#86efac)] bg-[var(--status-success-bg,rgba(220,252,231,0.8))] text-[var(--status-success-text,#15803d)]',
|
|
17
17
|
warning: 'border-[var(--status-warning-border,#fcd34d)] bg-[var(--status-warning-bg,rgba(254,243,199,0.8))] text-[var(--status-warning-text,#92400e)]',
|
|
18
18
|
info: 'border-[var(--status-info-border,#93c5fd)] bg-[var(--status-info-bg,rgba(219,234,254,0.8))] text-[var(--status-info-text,#1d4ed8)]',
|
|
19
19
|
danger: 'border-[var(--status-danger-border,#fca5a5)] bg-[var(--status-danger-bg,rgba(254,202,202,0.8))] text-[var(--status-danger-text,#b91c1c)]',
|
|
20
|
-
muted: 'border-
|
|
20
|
+
muted: 'border-[color-mix(in_srgb,var(--foreground-muted)_24%,transparent)] bg-[color-mix(in_srgb,var(--foreground-muted)_8%,var(--surface))] text-foreground-muted',
|
|
21
21
|
};
|
|
22
22
|
const sizeClasses = {
|
|
23
23
|
xs: 'px-2 py-0.5 text-xs',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAI9D,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,aAAa,GACb,SAAS,CAAC;AACd,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../src/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAI9D,MAAM,MAAM,aAAa,GACrB,SAAS,GACT,SAAS,GACT,WAAW,GACX,OAAO,GACP,SAAS,GACT,SAAS,GACT,QAAQ,GACR,aAAa,GACb,SAAS,CAAC;AACd,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAuCD,eAAO,MAAM,MAAM,2GAmDlB,CAAC"}
|
|
@@ -2,15 +2,15 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { forwardRef } from 'react';
|
|
3
3
|
import { cn } from '../utils/cn';
|
|
4
4
|
const variantClasses = {
|
|
5
|
-
default: 'border-
|
|
6
|
-
primary: 'border-transparent bg-brand text-primary-foreground hover:bg-brand-hover',
|
|
7
|
-
secondary: 'border-app-border bg-surface text-
|
|
8
|
-
ghost: 'border-transparent bg-transparent text-foreground-muted hover:bg-[color-mix(in_srgb,var(--
|
|
9
|
-
outline: 'border-app-border bg-
|
|
10
|
-
success: 'border-transparent bg-
|
|
11
|
-
danger: 'border-transparent bg-
|
|
12
|
-
destructive: 'border-transparent bg-destructive text-white hover:bg-
|
|
13
|
-
sidebar: 'border-transparent bg-transparent text-foreground-muted hover:bg-[color-mix(in_srgb,var(--brand)_10%,transparent)] hover:text-brand',
|
|
5
|
+
default: 'border-app-border bg-surface text-foreground hover:border-[color-mix(in_srgb,var(--foreground-muted)_42%,var(--app-border))] hover:bg-[color-mix(in_srgb,var(--foreground-muted)_10%,var(--surface))]',
|
|
6
|
+
primary: 'border-transparent bg-[var(--brand)] text-[var(--primary-foreground,#ffffff)] shadow-[0_10px_22px_-16px_color-mix(in_srgb,var(--brand)_70%,#000)] hover:bg-[var(--brand-hover,var(--brand))]',
|
|
7
|
+
secondary: 'border-[color-mix(in_srgb,var(--brand)_28%,var(--app-border))] bg-[color-mix(in_srgb,var(--brand)_10%,var(--surface))] text-[var(--brand)] hover:bg-[color-mix(in_srgb,var(--brand)_16%,var(--surface))]',
|
|
8
|
+
ghost: 'border-transparent bg-transparent text-foreground-muted hover:bg-[color-mix(in_srgb,var(--foreground-muted)_10%,transparent)] hover:text-foreground',
|
|
9
|
+
outline: 'border-app-border bg-transparent text-foreground hover:border-[color-mix(in_srgb,var(--brand)_46%,var(--app-border))] hover:bg-[color-mix(in_srgb,var(--brand)_8%,transparent)] hover:text-[var(--brand)]',
|
|
10
|
+
success: 'border-transparent bg-[var(--status-success-text,#15803d)] text-white hover:bg-[color-mix(in_srgb,var(--status-success-text,#15803d)_88%,#000)]',
|
|
11
|
+
danger: 'border-transparent bg-[var(--status-danger-text,#b91c1c)] text-white hover:bg-[color-mix(in_srgb,var(--status-danger-text,#b91c1c)_88%,#000)]',
|
|
12
|
+
destructive: 'border-transparent bg-[var(--destructive)] text-white hover:bg-[color-mix(in_srgb,var(--destructive)_88%,#000)]',
|
|
13
|
+
sidebar: 'border-transparent bg-transparent text-foreground-muted hover:bg-[color-mix(in_srgb,var(--brand)_10%,transparent)] hover:text-[var(--brand)]',
|
|
14
14
|
};
|
|
15
15
|
const sizeClasses = {
|
|
16
16
|
xs: 'min-h-7 min-w-7 px-1.5 py-1 text-[0.625rem]',
|
|
@@ -135,7 +135,7 @@ function Root({ children, className, closeOnEscape = true, onOpenChange, open, o
|
|
|
135
135
|
if (!open) {
|
|
136
136
|
return null;
|
|
137
137
|
}
|
|
138
|
-
return createPortal(_jsx(ConfirmationDialogContext.Provider, { value: value, children: _jsx("div", { className: cn('fixed inset-0 z-
|
|
138
|
+
return createPortal(_jsx(ConfirmationDialogContext.Provider, { value: value, children: _jsx("div", { className: cn('fixed inset-0 z-[100] flex items-center justify-center bg-black/50 p-4 backdrop-blur-[2px]', overlayClassName), role: "presentation", children: _jsxs("section", { "aria-describedby": descriptionId, "aria-labelledby": titleId, "aria-modal": "true", className: cn('border-app-border bg-background-secondary text-foreground relative grid gap-4 rounded-xl border p-6 shadow-2xl', className), role: "alertdialog", style: { width: 'min(29rem, calc(100vw - 2rem))' }, children: [_jsx("button", { "aria-label": "Fechar", className: cn('text-foreground-muted hover:bg-background hover:text-foreground absolute right-4 top-4 inline-flex size-7 cursor-pointer items-center justify-center rounded-md opacity-60 transition disabled:cursor-not-allowed disabled:opacity-30'), disabled: isBusy, onClick: close, type: "button", children: _jsx(XIcon, { className: "size-3.5" }) }), children] }) }) }), document.body);
|
|
139
139
|
}
|
|
140
140
|
function Icon({ className }) {
|
|
141
141
|
const { variant } = useConfirmationDialog();
|
package/dist/components/Modal.js
CHANGED
|
@@ -49,10 +49,10 @@ function createTrigger(trigger, options) {
|
|
|
49
49
|
}
|
|
50
50
|
function ModalRoot({ allowExternalFocus = false, centered = false, children, className, overlayClassName, offset, showCloseButton = true, size = 'lg', variant = 'default', ...props }) {
|
|
51
51
|
const hasFooter = React.Children.toArray(children).some((child) => React.isValidElement(child) && child.type === ModalFooter);
|
|
52
|
-
return (_jsx(DialogPrimitive.Root, { ...props, children: _jsxs(DialogPrimitive.Portal, { children: [_jsx(DialogPrimitive.Overlay, { className: cn('fixed inset-0 z-
|
|
52
|
+
return (_jsx(DialogPrimitive.Root, { ...props, children: _jsxs(DialogPrimitive.Portal, { children: [_jsx(DialogPrimitive.Overlay, { className: cn('fixed inset-0 z-[100] bg-black/50 backdrop-blur-[2px] data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:animate-in data-[state=open]:fade-in-0', overlayClassName) }), _jsxs(DialogPrimitive.Content, { onFocusOutside: allowExternalFocus ? (event) => event.preventDefault() : undefined, style: {
|
|
53
53
|
width: widthVariants[size],
|
|
54
54
|
...(!centered && offset ? { top: `${offset}px` } : {}),
|
|
55
|
-
}, className: cn('fixed z-
|
|
55
|
+
}, className: cn('fixed z-[110] grid max-h-[95vh] gap-4', hasFooter ? 'grid-rows-[auto_minmax(0,1fr)_auto]' : 'grid-rows-[auto_minmax(0,1fr)]', 'rounded-xl duration-200', variant === 'default' && 'border-app-border bg-background-secondary text-foreground border p-6 shadow-lg', variant === 'elevated' && 'border-app-border bg-surface text-foreground border p-6 shadow-2xl', centered ? 'left-[50%] top-[50%] -translate-x-1/2 -translate-y-1/2' : 'left-[50%] top-[2.5%] -translate-x-1/2', sizeVariants[size], minHeightVariants[size], 'data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95', className), children: [children, showCloseButton ? (_jsxs(DialogPrimitive.Close, { className: cn('absolute right-4 top-4 inline-flex h-8 w-8 items-center justify-center rounded-md', 'text-foreground-muted hover:bg-background hover:text-foreground cursor-pointer transition-colors', 'focus:ring-brand/50 focus:ring-2 focus:ring-offset-2 focus:outline-none disabled:pointer-events-none'), children: [_jsx(XIcon, { className: "size-4" }), _jsx("span", { className: "sr-only", children: "Fechar" })] })) : null] })] }) }));
|
|
56
56
|
}
|
|
57
57
|
function ModalHeader({ className, density = 'default', separated = false, ...props }) {
|
|
58
58
|
return (_jsx("div", { "data-slot": "modal-header", className: cn('flex flex-col text-center sm:text-left', density === 'default' && 'gap-1', density === 'compact' && 'gap-0.5', separated && 'border-app-border border-b pb-3', className), ...props }));
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export type PaginationSize = 'sm' | 'md' | 'lg';
|
|
1
2
|
export interface PaginationProps {
|
|
2
3
|
page: number;
|
|
3
4
|
totalPages: number;
|
|
@@ -8,6 +9,7 @@ export interface PaginationProps {
|
|
|
8
9
|
pageSizeOptions?: number[];
|
|
9
10
|
label?: string;
|
|
10
11
|
isLoading?: boolean;
|
|
12
|
+
size?: PaginationSize;
|
|
11
13
|
}
|
|
12
|
-
export declare function Pagination({ page, totalPages, totalItems, pageSize, onPageChange, onPageSizeChange, pageSizeOptions, label, isLoading, }: PaginationProps): import("react").JSX.Element;
|
|
14
|
+
export declare function Pagination({ page, totalPages, totalItems, pageSize, onPageChange, onPageSizeChange, pageSizeOptions, label, isLoading, size, }: PaginationProps): import("react").JSX.Element;
|
|
13
15
|
//# sourceMappingURL=Pagination.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/components/Pagination.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../src/components/Pagination.tsx"],"names":[],"mappings":"AAMA,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AA+ChD,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,cAAc,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,gBAAgB,EAChB,eAA+B,EAC/B,KAA0B,EAC1B,SAAiB,EACjB,IAAW,GACZ,EAAE,eAAe,+BA0GjB"}
|
|
@@ -1,21 +1,43 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { ChevronLeft, ChevronRight, ChevronsLeft, ChevronsRight } from 'lucide-react';
|
|
2
3
|
import { cn } from '../utils/cn';
|
|
3
4
|
import { Button } from './Button';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
5
|
+
const sizeClasses = {
|
|
6
|
+
sm: {
|
|
7
|
+
root: 'gap-2 md:gap-3',
|
|
8
|
+
count: 'text-xs md:min-w-[7rem] md:text-[0.8125rem]',
|
|
9
|
+
controls: 'gap-1',
|
|
10
|
+
iconButton: 'h-8 min-h-8 min-w-8 px-2 py-0 [&_svg]:size-3.5',
|
|
11
|
+
navButton: 'h-8 min-h-8 min-w-8 px-2 py-0 min-[901px]:min-w-[5.75rem] [&_svg]:size-3.5',
|
|
12
|
+
pageIndicator: 'h-8 px-2 text-xs md:min-w-[6.75rem] md:text-[0.8125rem]',
|
|
13
|
+
select: 'h-8 min-w-18 px-2.5 text-xs',
|
|
14
|
+
selectLabel: 'text-xs md:text-[0.8125rem]',
|
|
15
|
+
},
|
|
16
|
+
md: {
|
|
17
|
+
root: 'gap-2.5 md:gap-3',
|
|
18
|
+
count: 'text-[0.8125rem] md:min-w-[7.5rem]',
|
|
19
|
+
controls: 'gap-1.5',
|
|
20
|
+
iconButton: 'h-9 min-h-9 min-w-9 px-2.5 py-0 [&_svg]:size-4',
|
|
21
|
+
navButton: 'h-9 min-h-9 min-w-9 px-3 py-0 min-[901px]:min-w-[6.25rem] [&_svg]:size-4',
|
|
22
|
+
pageIndicator: 'h-9 px-3 text-[0.8125rem] md:min-w-[7.25rem]',
|
|
23
|
+
select: 'h-9 min-w-20 px-3 text-[0.8125rem]',
|
|
24
|
+
selectLabel: 'text-[0.8125rem]',
|
|
25
|
+
},
|
|
26
|
+
lg: {
|
|
27
|
+
root: 'gap-3 md:gap-4',
|
|
28
|
+
count: 'text-sm md:min-w-[8rem]',
|
|
29
|
+
controls: 'gap-2',
|
|
30
|
+
iconButton: 'h-10 min-h-10 min-w-10 px-3 py-0 [&_svg]:size-[1.125rem]',
|
|
31
|
+
navButton: 'h-10 min-h-10 min-w-10 px-3.5 py-0 min-[901px]:min-w-[6.75rem] [&_svg]:size-[1.125rem]',
|
|
32
|
+
pageIndicator: 'h-10 px-3.5 text-sm md:min-w-[7.75rem]',
|
|
33
|
+
select: 'h-10 min-w-22 px-3.5 text-sm',
|
|
34
|
+
selectLabel: 'text-sm',
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
export function Pagination({ page, totalPages, totalItems, pageSize, onPageChange, onPageSizeChange, pageSizeOptions = [20, 50, 100], label = 'Itens por pagina', isLoading = false, size = 'sm', }) {
|
|
17
38
|
const isFirstPage = page <= 1;
|
|
18
39
|
const isLastPage = page >= totalPages;
|
|
40
|
+
const resolvedSize = sizeClasses[size];
|
|
19
41
|
function handleFirstPage() {
|
|
20
42
|
onPageChange(1);
|
|
21
43
|
}
|
|
@@ -31,7 +53,5 @@ export function Pagination({ page, totalPages, totalItems, pageSize, onPageChang
|
|
|
31
53
|
function handleSizeChange(event) {
|
|
32
54
|
onPageSizeChange(Number(event.target.value));
|
|
33
55
|
}
|
|
34
|
-
|
|
35
|
-
const navButtonClass = 'size-8 min-h-8 min-w-8 p-0 md:w-auto md:px-2 [&_svg]:size-3.5';
|
|
36
|
-
return (_jsxs("div", { className: "flex w-full min-w-0 flex-wrap items-center justify-between gap-2 md:flex-nowrap md:gap-3", children: [_jsx("div", { className: "flex min-w-0 shrink-0 items-center justify-start whitespace-nowrap text-xs font-medium text-foreground-muted md:min-w-[7rem] md:text-[0.8125rem]", children: _jsx("span", { children: typeof totalItems === 'number' ? `${totalItems} registro(s)` : 'Nenhum resultado' }) }), _jsxs("div", { className: "order-3 flex min-w-0 flex-1 flex-nowrap items-center justify-center gap-1.5 md:order-none", children: [_jsx(Button, { variant: "outline", rounded: true, size: "sm", className: iconButtonClass, onClick: handleFirstPage, disabled: isFirstPage || isLoading, "aria-label": "Primeira p\u00E1gina", tooltip: "Primeira p\u00E1gina", children: _jsx(IconChevronsLeft, {}) }), _jsxs(Button, { variant: "outline", rounded: true, size: "sm", className: navButtonClass, onClick: handlePrevPage, disabled: isFirstPage || isLoading, "aria-label": "P\u00E1gina anterior", children: [_jsx(IconChevronLeft, {}), _jsx("span", { className: "hidden text-xs min-[901px]:inline", children: "Anterior" })] }), _jsxs("span", { className: "inline-flex min-w-0 items-center justify-center whitespace-nowrap rounded-[var(--radius)] px-2 py-1.5 text-xs font-semibold text-foreground md:min-w-[6.75rem] md:text-[0.8125rem]", children: ["P\u00E1gina ", page, " de ", totalPages] }), _jsxs(Button, { variant: "outline", rounded: true, size: "sm", className: navButtonClass, onClick: handleNextPage, disabled: isLastPage || isLoading, "aria-label": "Pr\u00F3xima p\u00E1gina", children: [_jsx("span", { className: "hidden text-xs min-[901px]:inline", children: "Pr\u00F3xima" }), _jsx(IconChevronRight, {})] }), _jsx(Button, { variant: "outline", rounded: true, size: "sm", className: iconButtonClass, onClick: handleLastPage, disabled: isLastPage || isLoading, "aria-label": "\u00DAltima p\u00E1gina", tooltip: "\u00DAltima p\u00E1gina", children: _jsx(IconChevronsRight, {}) })] }), _jsxs("div", { className: cn('flex min-w-0 shrink-0 items-center justify-end gap-1.5 md:min-w-[9rem]', pageSizeOptions.length <= 1 && 'invisible'), children: [_jsx("span", { className: "whitespace-nowrap text-xs text-foreground-muted md:text-[0.8125rem]", children: label }), _jsx("select", { className: "border-app-border bg-surface h-8 min-w-18 cursor-pointer rounded-[var(--radius)] border px-2.5 text-xs text-foreground transition-colors focus:border-brand focus:outline-none focus:ring-2 focus:ring-brand/20 disabled:cursor-not-allowed disabled:opacity-50", value: pageSize, onChange: handleSizeChange, disabled: isLoading, "aria-label": "Itens por p\u00E1gina", children: pageSizeOptions.map((size) => (_jsx("option", { value: size, children: size }, size))) })] })] }));
|
|
56
|
+
return (_jsxs("div", { className: cn('flex w-full min-w-0 flex-wrap items-center justify-between md:flex-nowrap', resolvedSize.root), children: [_jsx("div", { className: cn('flex min-w-0 shrink-0 items-center justify-start whitespace-nowrap font-medium text-foreground-muted', resolvedSize.count), children: _jsx("span", { children: typeof totalItems === 'number' ? `${totalItems} registro(s)` : 'Nenhum resultado' }) }), _jsxs("div", { className: cn('order-3 flex min-w-0 flex-1 flex-nowrap items-center justify-center md:order-none', resolvedSize.controls), children: [_jsx(Button, { variant: "outline", size: "xs", className: resolvedSize.iconButton, onClick: handleFirstPage, disabled: isFirstPage || isLoading, "aria-label": "Primeira pagina", tooltip: "Primeira pagina", children: _jsx(ChevronsLeft, { "aria-hidden": "true" }) }), _jsxs(Button, { variant: "outline", size: "xs", className: resolvedSize.navButton, onClick: handlePrevPage, disabled: isFirstPage || isLoading, "aria-label": "Pagina anterior", children: [_jsx(ChevronLeft, { "aria-hidden": "true" }), _jsx("span", { className: "hidden min-[901px]:inline", children: "Anterior" })] }), _jsxs("span", { className: cn('inline-flex min-w-0 items-center justify-center whitespace-nowrap rounded-[var(--radius)] font-semibold text-foreground', resolvedSize.pageIndicator), children: ["Pagina ", page, " de ", totalPages] }), _jsxs(Button, { variant: "outline", size: "xs", className: resolvedSize.navButton, onClick: handleNextPage, disabled: isLastPage || isLoading, "aria-label": "Proxima pagina", children: [_jsx("span", { className: "hidden min-[901px]:inline", children: "Proxima" }), _jsx(ChevronRight, { "aria-hidden": "true" })] }), _jsx(Button, { variant: "outline", size: "xs", className: resolvedSize.iconButton, onClick: handleLastPage, disabled: isLastPage || isLoading, "aria-label": "Ultima pagina", tooltip: "Ultima pagina", children: _jsx(ChevronsRight, { "aria-hidden": "true" }) })] }), _jsxs("div", { className: cn('flex min-w-0 shrink-0 items-center justify-end gap-1.5 md:min-w-[9rem]', pageSizeOptions.length <= 1 && 'invisible'), children: [_jsx("span", { className: cn('whitespace-nowrap text-foreground-muted', resolvedSize.selectLabel), children: label }), _jsx("select", { className: cn('border-app-border bg-surface cursor-pointer rounded-[var(--radius)] border text-foreground transition-colors focus:border-brand focus:outline-none focus:ring-2 focus:ring-brand/20 disabled:cursor-not-allowed disabled:opacity-50', resolvedSize.select), value: pageSize, onChange: handleSizeChange, disabled: isLoading, "aria-label": "Itens por pagina", children: pageSizeOptions.map((option) => (_jsx("option", { value: option, children: option }, option))) })] })] }));
|
|
37
57
|
}
|
|
@@ -8,6 +8,7 @@ export interface SwitchProps<TFieldValues extends FieldValues = FieldValues> ext
|
|
|
8
8
|
wrapperClassName?: string;
|
|
9
9
|
labelClassName?: string;
|
|
10
10
|
labelPosition?: 'top' | 'right' | 'bottom' | 'left';
|
|
11
|
+
display?: 'field' | 'inline';
|
|
11
12
|
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
12
13
|
control?: unknown;
|
|
13
14
|
rules?: unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/components/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,WAAW,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,CACzE,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;
|
|
1
|
+
{"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../src/components/Switch.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAGL,KAAK,WAAW,EAGjB,MAAM,iBAAiB,CAAC;AAKzB,MAAM,WAAW,WAAW,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,CACzE,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC;IACvE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpD,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAC7B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAyJD,wBAAgB,MAAM,CAAC,YAAY,SAAS,WAAW,GAAG,WAAW,EAAE,KAAK,EAAE,WAAW,CAAC,YAAY,CAAC,qBAMtG;yBANe,MAAM"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useController, } from 'react-hook-form';
|
|
3
3
|
import { cn } from '../utils/cn';
|
|
4
4
|
import { FieldControl } from './FieldControl';
|
|
@@ -24,7 +24,7 @@ const switchSizeClasses = {
|
|
|
24
24
|
offset: 20,
|
|
25
25
|
},
|
|
26
26
|
};
|
|
27
|
-
function SwitchBase({ checked, className, errorMessage, id, inputChecked, inputDisabled, inputName, inputOnBlur, label, labelClassName = '', labelPosition = 'left', name, onChange, onCheckedChange, size = 'md', wrapperClassName, ...props }) {
|
|
27
|
+
function SwitchBase({ checked, className, errorMessage, id, inputChecked, inputDisabled, inputName, inputOnBlur, label, labelClassName = '', labelPosition = 'left', display = 'field', name, onChange, onCheckedChange, size = 'md', wrapperClassName, ...props }) {
|
|
28
28
|
const resolvedChecked = inputChecked ?? checked;
|
|
29
29
|
const resolvedName = inputName ?? name;
|
|
30
30
|
const resolvedDisabled = inputDisabled ?? props.disabled;
|
|
@@ -36,7 +36,14 @@ function SwitchBase({ checked, className, errorMessage, id, inputChecked, inputD
|
|
|
36
36
|
onCheckedChange?.(nextChecked);
|
|
37
37
|
onChange?.(nextChecked);
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
const button = (controlId, describedBy, disabled = resolvedDisabled) => (_jsx("button", { type: "button", role: "switch", "aria-checked": !!resolvedChecked, "aria-label": label, "aria-describedby": describedBy, id: controlId, name: resolvedName, onClick: handleClick, onBlur: inputOnBlur, disabled: disabled, "data-checked": !!resolvedChecked, className: cn('app-switch focus:ring-brand/50 inline-flex shrink-0 flex-none self-center rounded-full transition-colors duration-200 focus:ring-2 focus:ring-offset-2 focus:outline-none', sizeClasses.root, disabled ? 'cursor-not-allowed opacity-60' : 'cursor-pointer', className), ...props, children: _jsx("span", { className: cn('app-switch__thumb block rounded-full shadow-sm transition-transform duration-200', sizeClasses.thumb), style: { transform: `translateX(${resolvedChecked ? sizeClasses.offset : 0}px)` } }) }));
|
|
40
|
+
if (display === 'inline') {
|
|
41
|
+
const labelElement = label ? (_jsx("span", { className: cn('min-w-0 flex-1 text-sm font-medium leading-snug text-foreground', labelClassName), children: label })) : null;
|
|
42
|
+
const isLabelAfter = labelPosition === 'right' || labelPosition === 'bottom';
|
|
43
|
+
const isVertical = labelPosition === 'top' || labelPosition === 'bottom';
|
|
44
|
+
return (_jsxs("div", { className: cn('flex gap-3', isVertical ? 'flex-col items-start' : 'items-center justify-between', resolvedDisabled && 'opacity-70', wrapperClassName), "data-disabled": resolvedDisabled || undefined, children: [!isLabelAfter && labelElement, button(componentId, undefined, resolvedDisabled), isLabelAfter && labelElement] }));
|
|
45
|
+
}
|
|
46
|
+
return (_jsx(FieldControl, { label: label, id: componentId, labelClassName: cn('whitespace-nowrap leading-none', isHorizontal && 'self-center', labelClassName), labelPosition: labelPosition, wrapperClassName: wrapperClassName, errorMessage: errorMessage, size: size, disabled: resolvedDisabled, children: ({ controlId, describedBy, disabled }) => (button(controlId, describedBy, disabled)) }));
|
|
40
47
|
}
|
|
41
48
|
function HookFormSwitch(props) {
|
|
42
49
|
const { control, name, rules, ...rest } = props;
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { type FormControlVariant } from './form-control-helpers';
|
|
3
|
+
export type TextFieldVariant = FormControlVariant;
|
|
4
|
+
export type TextFieldIconPosition = 'left' | 'right';
|
|
2
5
|
export interface TextFieldProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'size'> {
|
|
3
6
|
wrapperClassName?: string;
|
|
4
7
|
labelClassName?: string;
|
|
@@ -10,8 +13,13 @@ export interface TextFieldProps extends Omit<React.InputHTMLAttributes<HTMLInput
|
|
|
10
13
|
roundedFull?: boolean;
|
|
11
14
|
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
12
15
|
labelPosition?: 'top' | 'right' | 'bottom' | 'left';
|
|
16
|
+
variant?: TextFieldVariant;
|
|
17
|
+
icon?: React.ReactNode;
|
|
18
|
+
iconPosition?: TextFieldIconPosition;
|
|
13
19
|
children?: React.ReactNode;
|
|
20
|
+
startAdornment?: React.ReactNode;
|
|
14
21
|
endAdornment?: React.ReactNode;
|
|
22
|
+
adornmentClassName?: string;
|
|
15
23
|
}
|
|
16
24
|
export declare const TextField: React.ForwardRefExoticComponent<TextFieldProps & React.RefAttributes<HTMLInputElement>>;
|
|
17
25
|
//# sourceMappingURL=TextField.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../src/components/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../src/components/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAGjF,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAClD,MAAM,MAAM,qBAAqB,GAAG,MAAM,GAAG,OAAO,CAAC;AAErD,MAAM,WAAW,cAAe,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC/F,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IACjC,aAAa,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpD,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACjC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,SAAS,yFA+KrB,CAAC"}
|
|
@@ -3,10 +3,13 @@ import React from 'react';
|
|
|
3
3
|
import { cn } from '../utils/cn';
|
|
4
4
|
import { controlClasses } from './form-control-helpers';
|
|
5
5
|
import { FieldControl } from './FieldControl';
|
|
6
|
-
export const TextField = React.forwardRef(({ label, errorMessage, error, id, className, wrapperClassName, labelClassName = '', labelPosition = 'top', children, endAdornment, roundedFull = false, size = 'sm', placeholder, disabled = false, helperText, ...props }, ref) => {
|
|
6
|
+
export const TextField = React.forwardRef(({ label, errorMessage, error, id, className, wrapperClassName, labelClassName = '', labelPosition = 'top', icon, iconPosition = 'right', children, startAdornment, endAdornment, adornmentClassName, roundedFull = false, size = 'sm', variant = 'default', placeholder, disabled = false, helperText, hasValidation = false, ...props }, ref) => {
|
|
7
7
|
const componentId = id || props.name;
|
|
8
|
-
const
|
|
9
|
-
const
|
|
8
|
+
const positionedIcon = icon;
|
|
9
|
+
const resolvedStartAdornment = startAdornment ?? (iconPosition === 'left' ? positionedIcon : undefined);
|
|
10
|
+
const resolvedEndAdornment = endAdornment ?? children ?? (iconPosition === 'right' ? positionedIcon : undefined);
|
|
11
|
+
const hasStartAdornment = !!resolvedStartAdornment;
|
|
12
|
+
const hasEndAdornment = !!resolvedEndAdornment;
|
|
10
13
|
const resolvedError = errorMessage ?? error;
|
|
11
14
|
const sizeMap = {
|
|
12
15
|
xs: 'h-7 text-xs',
|
|
@@ -28,16 +31,41 @@ export const TextField = React.forwardRef(({ label, errorMessage, error, id, cla
|
|
|
28
31
|
md: 'pr-12',
|
|
29
32
|
lg: 'pr-14',
|
|
30
33
|
};
|
|
31
|
-
|
|
34
|
+
const leftPaddingMap = {
|
|
35
|
+
xs: 'pl-8',
|
|
36
|
+
sm: 'pl-10',
|
|
37
|
+
md: 'pl-12',
|
|
38
|
+
lg: 'pl-14',
|
|
39
|
+
};
|
|
40
|
+
const startAdornmentOffsetMap = {
|
|
41
|
+
xs: 'left-2',
|
|
42
|
+
sm: 'left-2',
|
|
43
|
+
md: 'left-3',
|
|
44
|
+
lg: 'left-4',
|
|
45
|
+
};
|
|
46
|
+
const endAdornmentOffsetMap = {
|
|
47
|
+
xs: 'right-1.5',
|
|
48
|
+
sm: 'right-2',
|
|
49
|
+
md: 'right-3',
|
|
50
|
+
lg: 'right-4',
|
|
51
|
+
};
|
|
52
|
+
const adornmentSizeMap = {
|
|
53
|
+
xs: '[&>svg]:size-3.5',
|
|
54
|
+
sm: '[&>svg]:size-4',
|
|
55
|
+
md: '[&>svg]:size-[1.125rem]',
|
|
56
|
+
lg: '[&>svg]:size-5',
|
|
57
|
+
};
|
|
58
|
+
return (_jsx(FieldControl, { label: label, id: componentId, labelClassName: labelClassName, labelPosition: labelPosition, wrapperClassName: wrapperClassName, errorMessage: resolvedError, hasValidation: hasValidation || !!helperText || props['aria-invalid'] === true, roundedFull: roundedFull, size: size, disabled: disabled, children: ({ controlId, describedBy, errorMessage: controlError, disabled: controlDisabled, label: controlLabel }) => {
|
|
32
59
|
const helperId = `${controlId}-helper`;
|
|
33
60
|
const inputDescribedBy = cn(describedBy, helperText && !controlError && helperId);
|
|
34
|
-
return (_jsxs("div", {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
61
|
+
return (_jsxs("div", { children: [_jsxs("div", { className: "relative", children: [_jsx("input", { ref: ref, ...props, id: controlId, disabled: controlDisabled, placeholder: placeholder ?? controlLabel, "aria-invalid": !!controlError, "aria-describedby": inputDescribedBy || undefined, className: controlClasses({
|
|
62
|
+
errorMessage: controlError,
|
|
63
|
+
disabled: controlDisabled,
|
|
64
|
+
variant,
|
|
65
|
+
extra: cn(className, 'truncate', roundedFull
|
|
66
|
+
? cn('rounded-full', paddingClass[size ?? 'sm'], sizeClass, hasStartAdornment && leftPaddingMap[size ?? 'sm'], hasEndAdornment && rightPaddingMap[size ?? 'sm'])
|
|
67
|
+
: cn(paddingClass[size ?? 'sm'], sizeClass, hasStartAdornment && leftPaddingMap[size ?? 'sm'], hasEndAdornment && rightPaddingMap[size ?? 'sm'])),
|
|
68
|
+
}) }), hasStartAdornment && (_jsx("div", { className: cn('pointer-events-none absolute inset-y-0 flex items-center justify-center text-foreground-muted', startAdornmentOffsetMap[size ?? 'sm'], adornmentSizeMap[size ?? 'sm'], adornmentClassName), children: resolvedStartAdornment })), hasEndAdornment && (_jsx("div", { className: cn('pointer-events-none absolute inset-y-0 flex items-center justify-center text-foreground-muted', endAdornmentOffsetMap[size ?? 'sm'], adornmentSizeMap[size ?? 'sm'], adornmentClassName), children: resolvedEndAdornment }))] }), helperText && !controlError ? (_jsx("p", { id: helperId, className: "mt-1 text-xs font-medium text-foreground-muted", children: helperText })) : null] }));
|
|
41
69
|
} }));
|
|
42
70
|
});
|
|
43
71
|
TextField.displayName = 'TextField';
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
export declare const fieldWrapper = "flex w-full flex-col space-y-1";
|
|
2
2
|
export declare const labelBase = "mb-1 text-md font-medium";
|
|
3
|
+
export type FormControlVariant = 'default' | 'filled' | 'ghost' | 'neutral';
|
|
3
4
|
interface ControlClassOptions {
|
|
4
5
|
errorMessage?: string;
|
|
5
6
|
extra?: string;
|
|
6
7
|
disabled?: boolean;
|
|
7
|
-
variant?:
|
|
8
|
+
variant?: FormControlVariant;
|
|
8
9
|
}
|
|
9
10
|
export type FormControlSize = 'xs' | 'sm' | 'md' | 'lg';
|
|
10
11
|
export interface FormControlRenderProps {
|
|
@@ -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,6BAA6B,CAAC;
|
|
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,6BAA6B,CAAC;AAEpD,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,18 +1,20 @@
|
|
|
1
1
|
import { cn } from '../utils/cn';
|
|
2
2
|
export const fieldWrapper = 'flex w-full flex-col space-y-1';
|
|
3
3
|
export const labelBase = 'mb-1 text-md font-medium';
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
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
|
+
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
|
+
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');
|
|
7
|
+
const controlGhost = cn(controlShared, 'bg-transparent border-transparent', 'enabled:hover:bg-[color-mix(in_srgb,var(--foreground-muted)_8%,transparent)] enabled:hover:border-[color-mix(in_srgb,var(--foreground-muted)_24%,transparent)]', 'focus:outline-none focus:bg-surface focus:border-brand focus:ring-2 focus:ring-inset focus:ring-brand/25', 'disabled:bg-transparent disabled:border-transparent');
|
|
7
8
|
export function controlClasses(errorMessageOrOptions, extra, disabled) {
|
|
8
9
|
const options = typeof errorMessageOrOptions === 'object'
|
|
9
10
|
? errorMessageOrOptions
|
|
10
11
|
: { errorMessage: errorMessageOrOptions, extra, disabled };
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
const variant = options.variant === 'neutral' ? 'ghost' : options.variant ?? 'default';
|
|
13
|
+
const base = variant === 'filled'
|
|
14
|
+
? controlFilled
|
|
15
|
+
: variant === 'ghost'
|
|
16
|
+
? controlGhost
|
|
17
|
+
: controlDefault;
|
|
16
18
|
return cn(base, options.errorMessage &&
|
|
17
19
|
'border-red-500 focus:border-red-500 focus:ring-inset focus:ring-red-200 dark:focus:border-red-400 dark:focus:ring-red-950', options.extra);
|
|
18
20
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -12,7 +12,7 @@ export { FieldSkeleton, type FieldSkeletonProps } from './components/FieldSkelet
|
|
|
12
12
|
export { FieldValidationError } from './components/FieldValidationError';
|
|
13
13
|
export { Modal, type ModalBodyProps, type ModalDensity, type ModalRootProps, type ModalSectionProps, type ModalSize, type ModalVariant } from './components/Modal';
|
|
14
14
|
export { MultiSelectField, type MultiSelectFieldProps, type MultiSelectOption } from './components/MultiSelectField';
|
|
15
|
-
export { TextField, type TextFieldProps } from './components/TextField';
|
|
15
|
+
export { TextField, type TextFieldIconPosition, type TextFieldProps, type TextFieldVariant } from './components/TextField';
|
|
16
16
|
export { RadioGroup, type RadioGroupItemProps, type RadioGroupProps } from './components/RadioGroup';
|
|
17
17
|
export { RenderCase, type RenderCaseChildProps, type RenderCaseRootProps } from './components/RenderCase';
|
|
18
18
|
export { RenderIf, type RenderIfProps } from './components/RenderIf';
|
|
@@ -22,7 +22,7 @@ export { Switch, type SwitchProps } from './components/Switch';
|
|
|
22
22
|
export { TextareaField, type TextareaFieldProps } from './components/TextareaField';
|
|
23
23
|
export { DateField, type DateFieldProps } from './components/DateField';
|
|
24
24
|
export { DecimalField, type DecimalFieldProps } from './components/DecimalField';
|
|
25
|
-
export { Pagination, type PaginationProps } from './components/Pagination';
|
|
25
|
+
export { Pagination, type PaginationProps, type PaginationSize } from './components/Pagination';
|
|
26
26
|
export { Page } from './components/Page';
|
|
27
27
|
export { PageMessage, type PageMessageProps, type PageMessageVariant } from './components/PageMessage';
|
|
28
28
|
export { PasswordInput, type PasswordInputProps } from './components/PasswordInput';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC3J,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,KAAK,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAClK,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnK,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,YAAY,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,KAAK,oBAAoB,EAAE,KAAK,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC3J,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,wBAAwB,EACxB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,EAChC,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,GACnC,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,KAAK,EAAE,KAAK,UAAU,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,kBAAkB,EAAE,KAAK,wBAAwB,EAAE,KAAK,uBAAuB,EAAE,KAAK,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AAClK,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AACnG,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,KAAK,EAAE,KAAK,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnK,OAAO,EAAE,gBAAgB,EAAE,KAAK,qBAAqB,EAAE,KAAK,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACrH,OAAO,EAAE,SAAS,EAAE,KAAK,qBAAqB,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC3H,OAAO,EAAE,UAAU,EAAE,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACrG,OAAO,EAAE,UAAU,EAAE,KAAK,oBAAoB,EAAE,KAAK,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC1G,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAChG,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC9E,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AACvG,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,KAAK,iBAAiB,EAAE,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3F,OAAO,EAAE,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAC/G,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EACL,wBAAwB,EACxB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EACrB,KAAK,6BAA6B,EAClC,KAAK,qBAAqB,GAC3B,MAAM,uCAAuC,CAAC;AAC/C,cAAc,+BAA+B,CAAC;AAC9C,OAAO,EACL,IAAI,EACJ,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,WAAW,EAChB,KAAK,oBAAoB,EACzB,KAAK,eAAe,EACpB,KAAK,SAAS,EACd,KAAK,gBAAgB,EACrB,KAAK,WAAW,GACjB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,KAAK,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC9G,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,sBAAsB,CAAC"}
|
package/dist/styles.css
CHANGED
|
@@ -608,8 +608,6 @@ h2.react-datepicker__current-month {
|
|
|
608
608
|
--color-amber-600: oklch(66.6% 0.179 58.318);
|
|
609
609
|
--color-amber-700: oklch(55.5% 0.163 48.998);
|
|
610
610
|
--color-amber-800: oklch(47.3% 0.137 46.201);
|
|
611
|
-
--color-green-600: oklch(62.7% 0.194 149.214);
|
|
612
|
-
--color-green-700: oklch(52.7% 0.154 150.069);
|
|
613
611
|
--color-emerald-50: oklch(97.9% 0.021 166.113);
|
|
614
612
|
--color-emerald-100: oklch(95% 0.052 163.051);
|
|
615
613
|
--color-emerald-200: oklch(90.5% 0.093 164.15);
|
|
@@ -636,6 +634,7 @@ h2.react-datepicker__current-month {
|
|
|
636
634
|
--container-xs: 20rem;
|
|
637
635
|
--container-sm: 24rem;
|
|
638
636
|
--container-md: 28rem;
|
|
637
|
+
--container-lg: 32rem;
|
|
639
638
|
--text-xs: 0.75rem;
|
|
640
639
|
--text-xs--line-height: calc(1 / 0.75);
|
|
641
640
|
--text-sm: 0.875rem;
|
|
@@ -876,6 +875,12 @@ h2.react-datepicker__current-month {
|
|
|
876
875
|
.top-full {
|
|
877
876
|
top: 100%;
|
|
878
877
|
}
|
|
878
|
+
.right-1\.5 {
|
|
879
|
+
right: calc(var(--spacing) * 1.5);
|
|
880
|
+
}
|
|
881
|
+
.right-2 {
|
|
882
|
+
right: calc(var(--spacing) * 2);
|
|
883
|
+
}
|
|
879
884
|
.right-3 {
|
|
880
885
|
right: calc(var(--spacing) * 3);
|
|
881
886
|
}
|
|
@@ -894,9 +899,15 @@ h2.react-datepicker__current-month {
|
|
|
894
899
|
.left-0 {
|
|
895
900
|
left: calc(var(--spacing) * 0);
|
|
896
901
|
}
|
|
902
|
+
.left-2 {
|
|
903
|
+
left: calc(var(--spacing) * 2);
|
|
904
|
+
}
|
|
897
905
|
.left-3 {
|
|
898
906
|
left: calc(var(--spacing) * 3);
|
|
899
907
|
}
|
|
908
|
+
.left-4 {
|
|
909
|
+
left: calc(var(--spacing) * 4);
|
|
910
|
+
}
|
|
900
911
|
.left-7 {
|
|
901
912
|
left: calc(var(--spacing) * 7);
|
|
902
913
|
}
|
|
@@ -921,6 +932,12 @@ h2.react-datepicker__current-month {
|
|
|
921
932
|
.z-\[70\] {
|
|
922
933
|
z-index: 70;
|
|
923
934
|
}
|
|
935
|
+
.z-\[100\] {
|
|
936
|
+
z-index: 100;
|
|
937
|
+
}
|
|
938
|
+
.z-\[110\] {
|
|
939
|
+
z-index: 110;
|
|
940
|
+
}
|
|
924
941
|
.order-3 {
|
|
925
942
|
order: 3;
|
|
926
943
|
}
|
|
@@ -1152,6 +1169,9 @@ h2.react-datepicker__current-month {
|
|
|
1152
1169
|
.min-h-9 {
|
|
1153
1170
|
min-height: calc(var(--spacing) * 9);
|
|
1154
1171
|
}
|
|
1172
|
+
.min-h-10 {
|
|
1173
|
+
min-height: calc(var(--spacing) * 10);
|
|
1174
|
+
}
|
|
1155
1175
|
.min-h-11 {
|
|
1156
1176
|
min-height: calc(var(--spacing) * 11);
|
|
1157
1177
|
}
|
|
@@ -1245,6 +1265,15 @@ h2.react-datepicker__current-month {
|
|
|
1245
1265
|
.w-72 {
|
|
1246
1266
|
width: calc(var(--spacing) * 72);
|
|
1247
1267
|
}
|
|
1268
|
+
.w-80 {
|
|
1269
|
+
width: calc(var(--spacing) * 80);
|
|
1270
|
+
}
|
|
1271
|
+
.w-\[28rem\] {
|
|
1272
|
+
width: 28rem;
|
|
1273
|
+
}
|
|
1274
|
+
.w-\[42rem\] {
|
|
1275
|
+
width: 42rem;
|
|
1276
|
+
}
|
|
1248
1277
|
.w-\[min\(10rem\,24vw\)\] {
|
|
1249
1278
|
width: min(10rem, 24vw);
|
|
1250
1279
|
}
|
|
@@ -1281,6 +1310,9 @@ h2.react-datepicker__current-month {
|
|
|
1281
1310
|
.max-w-full {
|
|
1282
1311
|
max-width: 100%;
|
|
1283
1312
|
}
|
|
1313
|
+
.max-w-lg {
|
|
1314
|
+
max-width: var(--container-lg);
|
|
1315
|
+
}
|
|
1284
1316
|
.max-w-md {
|
|
1285
1317
|
max-width: var(--container-md);
|
|
1286
1318
|
}
|
|
@@ -1320,6 +1352,9 @@ h2.react-datepicker__current-month {
|
|
|
1320
1352
|
.min-w-20 {
|
|
1321
1353
|
min-width: calc(var(--spacing) * 20);
|
|
1322
1354
|
}
|
|
1355
|
+
.min-w-22 {
|
|
1356
|
+
min-width: calc(var(--spacing) * 22);
|
|
1357
|
+
}
|
|
1323
1358
|
.min-w-24 {
|
|
1324
1359
|
min-width: calc(var(--spacing) * 24);
|
|
1325
1360
|
}
|
|
@@ -1329,6 +1364,9 @@ h2.react-datepicker__current-month {
|
|
|
1329
1364
|
.min-w-\[18rem\] {
|
|
1330
1365
|
min-width: 18rem;
|
|
1331
1366
|
}
|
|
1367
|
+
.min-w-\[48rem\] {
|
|
1368
|
+
min-width: 48rem;
|
|
1369
|
+
}
|
|
1332
1370
|
.flex-1 {
|
|
1333
1371
|
flex: 1;
|
|
1334
1372
|
}
|
|
@@ -1389,6 +1427,15 @@ h2.react-datepicker__current-month {
|
|
|
1389
1427
|
.appearance-none {
|
|
1390
1428
|
appearance: none;
|
|
1391
1429
|
}
|
|
1430
|
+
.grid-cols-2 {
|
|
1431
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
1432
|
+
}
|
|
1433
|
+
.grid-cols-\[8rem_minmax\(0\,1fr\)\] {
|
|
1434
|
+
grid-template-columns: 8rem minmax(0,1fr);
|
|
1435
|
+
}
|
|
1436
|
+
.grid-cols-\[minmax\(0\,1fr\)_auto_auto_auto\] {
|
|
1437
|
+
grid-template-columns: minmax(0,1fr) auto auto auto;
|
|
1438
|
+
}
|
|
1392
1439
|
.grid-rows-\[0fr\] {
|
|
1393
1440
|
grid-template-rows: 0fr;
|
|
1394
1441
|
}
|
|
@@ -1497,6 +1544,15 @@ h2.react-datepicker__current-month {
|
|
|
1497
1544
|
margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
|
|
1498
1545
|
}
|
|
1499
1546
|
}
|
|
1547
|
+
.divide-y {
|
|
1548
|
+
:where(& > :not(:last-child)) {
|
|
1549
|
+
--tw-divide-y-reverse: 0;
|
|
1550
|
+
border-bottom-style: var(--tw-border-style);
|
|
1551
|
+
border-top-style: var(--tw-border-style);
|
|
1552
|
+
border-top-width: calc(1px * var(--tw-divide-y-reverse));
|
|
1553
|
+
border-bottom-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
|
|
1554
|
+
}
|
|
1555
|
+
}
|
|
1500
1556
|
.self-center {
|
|
1501
1557
|
align-self: center;
|
|
1502
1558
|
}
|
|
@@ -1593,12 +1649,36 @@ h2.react-datepicker__current-month {
|
|
|
1593
1649
|
--tw-border-style: dashed;
|
|
1594
1650
|
border-style: dashed;
|
|
1595
1651
|
}
|
|
1652
|
+
.border-\[color-mix\(in_srgb\,var\(--brand\)_28\%\,var\(--app-border\)\)\] {
|
|
1653
|
+
border-color: var(--brand);
|
|
1654
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1655
|
+
border-color: color-mix(in srgb,var(--brand) 28%,var(--app-border));
|
|
1656
|
+
}
|
|
1657
|
+
}
|
|
1658
|
+
.border-\[color-mix\(in_srgb\,var\(--brand\)_40\%\,transparent\)\] {
|
|
1659
|
+
border-color: var(--brand);
|
|
1660
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1661
|
+
border-color: color-mix(in srgb,var(--brand) 40%,transparent);
|
|
1662
|
+
}
|
|
1663
|
+
}
|
|
1596
1664
|
.border-\[color-mix\(in_srgb\,var\(--brand\)_64\%\,\#fff\)\] {
|
|
1597
1665
|
border-color: var(--brand);
|
|
1598
1666
|
@supports (color: color-mix(in lab, red, red)) {
|
|
1599
1667
|
border-color: color-mix(in srgb,var(--brand) 64%,#fff);
|
|
1600
1668
|
}
|
|
1601
1669
|
}
|
|
1670
|
+
.border-\[color-mix\(in_srgb\,var\(--foreground-muted\)_24\%\,transparent\)\] {
|
|
1671
|
+
border-color: var(--foreground-muted);
|
|
1672
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1673
|
+
border-color: color-mix(in srgb,var(--foreground-muted) 24%,transparent);
|
|
1674
|
+
}
|
|
1675
|
+
}
|
|
1676
|
+
.border-\[color-mix\(in_srgb\,var\(--foreground-muted\)_42\%\,var\(--app-border\)\)\] {
|
|
1677
|
+
border-color: var(--foreground-muted);
|
|
1678
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1679
|
+
border-color: color-mix(in srgb,var(--foreground-muted) 42%,var(--app-border));
|
|
1680
|
+
}
|
|
1681
|
+
}
|
|
1602
1682
|
.border-\[var\(--status-danger-border\,\#fca5a5\)\] {
|
|
1603
1683
|
border-color: var(--status-danger-border,#fca5a5);
|
|
1604
1684
|
}
|
|
@@ -1635,10 +1715,16 @@ h2.react-datepicker__current-month {
|
|
|
1635
1715
|
.\!bg-transparent {
|
|
1636
1716
|
background-color: transparent !important;
|
|
1637
1717
|
}
|
|
1638
|
-
.bg-\[color-mix\(in_srgb\,var\(--
|
|
1639
|
-
background-color: var(--
|
|
1718
|
+
.bg-\[color-mix\(in_srgb\,var\(--brand\)_10\%\,var\(--surface\)\)\] {
|
|
1719
|
+
background-color: var(--brand);
|
|
1640
1720
|
@supports (color: color-mix(in lab, red, red)) {
|
|
1641
|
-
background-color: color-mix(in srgb,var(--
|
|
1721
|
+
background-color: color-mix(in srgb,var(--brand) 10%,var(--surface));
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
.bg-\[color-mix\(in_srgb\,var\(--brand\)_14\%\,var\(--surface\)\)\] {
|
|
1725
|
+
background-color: var(--brand);
|
|
1726
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1727
|
+
background-color: color-mix(in srgb,var(--brand) 14%,var(--surface));
|
|
1642
1728
|
}
|
|
1643
1729
|
}
|
|
1644
1730
|
.bg-\[color-mix\(in_srgb\,var\(--destructive\)_12\%\,var\(--surface\)\)\] {
|
|
@@ -1647,18 +1733,42 @@ h2.react-datepicker__current-month {
|
|
|
1647
1733
|
background-color: color-mix(in srgb,var(--destructive) 12%,var(--surface));
|
|
1648
1734
|
}
|
|
1649
1735
|
}
|
|
1736
|
+
.bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_8\%\,var\(--surface\)\)\] {
|
|
1737
|
+
background-color: var(--foreground-muted);
|
|
1738
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1739
|
+
background-color: color-mix(in srgb,var(--foreground-muted) 8%,var(--surface));
|
|
1740
|
+
}
|
|
1741
|
+
}
|
|
1742
|
+
.bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_14\%\,var\(--surface\)\)\] {
|
|
1743
|
+
background-color: var(--foreground-muted);
|
|
1744
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
1745
|
+
background-color: color-mix(in srgb,var(--foreground-muted) 14%,var(--surface));
|
|
1746
|
+
}
|
|
1747
|
+
}
|
|
1650
1748
|
.bg-\[rgb\(var\(--color-brand\)\/0\.08\)\] {
|
|
1651
1749
|
background-color: rgb(var(--color-brand)/0.08);
|
|
1652
1750
|
}
|
|
1751
|
+
.bg-\[var\(--brand\)\] {
|
|
1752
|
+
background-color: var(--brand);
|
|
1753
|
+
}
|
|
1754
|
+
.bg-\[var\(--destructive\)\] {
|
|
1755
|
+
background-color: var(--destructive);
|
|
1756
|
+
}
|
|
1653
1757
|
.bg-\[var\(--status-danger-bg\,rgba\(254\,202\,202\,0\.8\)\)\] {
|
|
1654
1758
|
background-color: var(--status-danger-bg,rgba(254,202,202,0.8));
|
|
1655
1759
|
}
|
|
1760
|
+
.bg-\[var\(--status-danger-text\,\#b91c1c\)\] {
|
|
1761
|
+
background-color: var(--status-danger-text,#b91c1c);
|
|
1762
|
+
}
|
|
1656
1763
|
.bg-\[var\(--status-info-bg\,rgba\(219\,234\,254\,0\.8\)\)\] {
|
|
1657
1764
|
background-color: var(--status-info-bg,rgba(219,234,254,0.8));
|
|
1658
1765
|
}
|
|
1659
1766
|
.bg-\[var\(--status-success-bg\,rgba\(220\,252\,231\,0\.8\)\)\] {
|
|
1660
1767
|
background-color: var(--status-success-bg,rgba(220,252,231,0.8));
|
|
1661
1768
|
}
|
|
1769
|
+
.bg-\[var\(--status-success-text\,\#15803d\)\] {
|
|
1770
|
+
background-color: var(--status-success-text,#15803d);
|
|
1771
|
+
}
|
|
1662
1772
|
.bg-\[var\(--status-warning-bg\,rgba\(254\,243\,199\,0\.8\)\)\] {
|
|
1663
1773
|
background-color: var(--status-warning-bg,rgba(254,243,199,0.8));
|
|
1664
1774
|
}
|
|
@@ -1680,15 +1790,9 @@ h2.react-datepicker__current-month {
|
|
|
1680
1790
|
.bg-gray-300 {
|
|
1681
1791
|
background-color: var(--color-gray-300);
|
|
1682
1792
|
}
|
|
1683
|
-
.bg-green-600 {
|
|
1684
|
-
background-color: var(--color-green-600);
|
|
1685
|
-
}
|
|
1686
1793
|
.bg-red-50 {
|
|
1687
1794
|
background-color: var(--color-red-50);
|
|
1688
1795
|
}
|
|
1689
|
-
.bg-red-700 {
|
|
1690
|
-
background-color: var(--color-red-700);
|
|
1691
|
-
}
|
|
1692
1796
|
.bg-slate-900\/18 {
|
|
1693
1797
|
background-color: color-mix(in srgb, oklch(20.8% 0.042 265.755) 18%, transparent);
|
|
1694
1798
|
@supports (color: color-mix(in lab, red, red)) {
|
|
@@ -1762,6 +1866,9 @@ h2.react-datepicker__current-month {
|
|
|
1762
1866
|
.px-3 {
|
|
1763
1867
|
padding-inline: calc(var(--spacing) * 3);
|
|
1764
1868
|
}
|
|
1869
|
+
.px-3\.5 {
|
|
1870
|
+
padding-inline: calc(var(--spacing) * 3.5);
|
|
1871
|
+
}
|
|
1765
1872
|
.px-4 {
|
|
1766
1873
|
padding-inline: calc(var(--spacing) * 4);
|
|
1767
1874
|
}
|
|
@@ -1834,6 +1941,12 @@ h2.react-datepicker__current-month {
|
|
|
1834
1941
|
.pb-4 {
|
|
1835
1942
|
padding-bottom: calc(var(--spacing) * 4);
|
|
1836
1943
|
}
|
|
1944
|
+
.pl-8 {
|
|
1945
|
+
padding-left: calc(var(--spacing) * 8);
|
|
1946
|
+
}
|
|
1947
|
+
.pl-10 {
|
|
1948
|
+
padding-left: calc(var(--spacing) * 10);
|
|
1949
|
+
}
|
|
1837
1950
|
.pl-12 {
|
|
1838
1951
|
padding-left: calc(var(--spacing) * 12);
|
|
1839
1952
|
}
|
|
@@ -1861,6 +1974,9 @@ h2.react-datepicker__current-month {
|
|
|
1861
1974
|
.align-middle {
|
|
1862
1975
|
vertical-align: middle;
|
|
1863
1976
|
}
|
|
1977
|
+
.font-mono {
|
|
1978
|
+
font-family: var(--font-mono);
|
|
1979
|
+
}
|
|
1864
1980
|
.text-2xl {
|
|
1865
1981
|
font-size: var(--text-2xl);
|
|
1866
1982
|
line-height: var(--tw-leading, var(--text-2xl--line-height));
|
|
@@ -1990,6 +2106,12 @@ h2.react-datepicker__current-month {
|
|
|
1990
2106
|
.whitespace-nowrap {
|
|
1991
2107
|
white-space: nowrap;
|
|
1992
2108
|
}
|
|
2109
|
+
.text-\[var\(--brand\)\] {
|
|
2110
|
+
color: var(--brand);
|
|
2111
|
+
}
|
|
2112
|
+
.text-\[var\(--primary-foreground\,\#ffffff\)\] {
|
|
2113
|
+
color: var(--primary-foreground,#ffffff);
|
|
2114
|
+
}
|
|
1993
2115
|
.text-\[var\(--status-danger-text\,\#b91c1c\)\] {
|
|
1994
2116
|
color: var(--status-danger-text,#b91c1c);
|
|
1995
2117
|
}
|
|
@@ -2104,6 +2226,13 @@ h2.react-datepicker__current-month {
|
|
|
2104
2226
|
--tw-shadow: 0 8px 24px -4px var(--tw-shadow-color, rgba(0,0,0,0.16)), 0 2px 8px -2px var(--tw-shadow-color, rgba(0,0,0,0.08));
|
|
2105
2227
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2106
2228
|
}
|
|
2229
|
+
.shadow-\[0_10px_22px_-16px_color-mix\(in_srgb\,var\(--brand\)_70\%\,\#000\)\] {
|
|
2230
|
+
--tw-shadow: 0 10px 22px -16px var(--tw-shadow-color, var(--brand));
|
|
2231
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2232
|
+
--tw-shadow: 0 10px 22px -16px var(--tw-shadow-color, color-mix(in srgb,var(--brand) 70%,#000));
|
|
2233
|
+
}
|
|
2234
|
+
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2235
|
+
}
|
|
2107
2236
|
.shadow-\[0_12px_32px_rgba\(15\,23\,42\,0\.06\)\] {
|
|
2108
2237
|
--tw-shadow: 0 12px 32px var(--tw-shadow-color, rgba(15,23,42,0.06));
|
|
2109
2238
|
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
@@ -2172,6 +2301,11 @@ h2.react-datepicker__current-month {
|
|
|
2172
2301
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
2173
2302
|
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
2174
2303
|
}
|
|
2304
|
+
.transition-\[background-color\,border-color\,box-shadow\,color\] {
|
|
2305
|
+
transition-property: background-color,border-color,box-shadow,color;
|
|
2306
|
+
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
2307
|
+
transition-duration: var(--tw-duration, var(--default-transition-duration));
|
|
2308
|
+
}
|
|
2175
2309
|
.transition-\[background-color\,border-color\,color\,box-shadow\,transform\,opacity\] {
|
|
2176
2310
|
transition-property: background-color,border-color,color,box-shadow,transform,opacity;
|
|
2177
2311
|
transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
|
|
@@ -2301,6 +2435,16 @@ h2.react-datepicker__current-month {
|
|
|
2301
2435
|
}
|
|
2302
2436
|
}
|
|
2303
2437
|
}
|
|
2438
|
+
.hover\:border-\[color-mix\(in_srgb\,var\(--brand\)_46\%\,var\(--app-border\)\)\] {
|
|
2439
|
+
&:hover {
|
|
2440
|
+
@media (hover: hover) {
|
|
2441
|
+
border-color: var(--brand);
|
|
2442
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2443
|
+
border-color: color-mix(in srgb,var(--brand) 46%,var(--app-border));
|
|
2444
|
+
}
|
|
2445
|
+
}
|
|
2446
|
+
}
|
|
2447
|
+
}
|
|
2304
2448
|
.hover\:border-\[color-mix\(in_srgb\,var\(--brand\)_52\%\,transparent\)\] {
|
|
2305
2449
|
&:hover {
|
|
2306
2450
|
@media (hover: hover) {
|
|
@@ -2311,6 +2455,16 @@ h2.react-datepicker__current-month {
|
|
|
2311
2455
|
}
|
|
2312
2456
|
}
|
|
2313
2457
|
}
|
|
2458
|
+
.hover\:border-\[color-mix\(in_srgb\,var\(--foreground-muted\)_42\%\,var\(--app-border\)\)\] {
|
|
2459
|
+
&:hover {
|
|
2460
|
+
@media (hover: hover) {
|
|
2461
|
+
border-color: var(--foreground-muted);
|
|
2462
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2463
|
+
border-color: color-mix(in srgb,var(--foreground-muted) 42%,var(--app-border));
|
|
2464
|
+
}
|
|
2465
|
+
}
|
|
2466
|
+
}
|
|
2467
|
+
}
|
|
2314
2468
|
.hover\:border-transparent {
|
|
2315
2469
|
&:hover {
|
|
2316
2470
|
@media (hover: hover) {
|
|
@@ -2342,6 +2496,16 @@ h2.react-datepicker__current-month {
|
|
|
2342
2496
|
}
|
|
2343
2497
|
}
|
|
2344
2498
|
}
|
|
2499
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--brand\)_8\%\,transparent\)\] {
|
|
2500
|
+
&:hover {
|
|
2501
|
+
@media (hover: hover) {
|
|
2502
|
+
background-color: var(--brand);
|
|
2503
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2504
|
+
background-color: color-mix(in srgb,var(--brand) 8%,transparent);
|
|
2505
|
+
}
|
|
2506
|
+
}
|
|
2507
|
+
}
|
|
2508
|
+
}
|
|
2345
2509
|
.hover\:bg-\[color-mix\(in_srgb\,var\(--brand\)_10\%\,transparent\)\] {
|
|
2346
2510
|
&:hover {
|
|
2347
2511
|
@media (hover: hover) {
|
|
@@ -2362,6 +2526,16 @@ h2.react-datepicker__current-month {
|
|
|
2362
2526
|
}
|
|
2363
2527
|
}
|
|
2364
2528
|
}
|
|
2529
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--brand\)_16\%\,var\(--surface\)\)\] {
|
|
2530
|
+
&:hover {
|
|
2531
|
+
@media (hover: hover) {
|
|
2532
|
+
background-color: var(--brand);
|
|
2533
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2534
|
+
background-color: color-mix(in srgb,var(--brand) 16%,var(--surface));
|
|
2535
|
+
}
|
|
2536
|
+
}
|
|
2537
|
+
}
|
|
2538
|
+
}
|
|
2365
2539
|
.hover\:bg-\[color-mix\(in_srgb\,var\(--destructive\)_12\%\,transparent\)\] {
|
|
2366
2540
|
&:hover {
|
|
2367
2541
|
@media (hover: hover) {
|
|
@@ -2372,38 +2546,74 @@ h2.react-datepicker__current-month {
|
|
|
2372
2546
|
}
|
|
2373
2547
|
}
|
|
2374
2548
|
}
|
|
2375
|
-
.hover\:bg-\[
|
|
2549
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--destructive\)_88\%\,\#000\)\] {
|
|
2376
2550
|
&:hover {
|
|
2377
2551
|
@media (hover: hover) {
|
|
2378
|
-
background-color:
|
|
2552
|
+
background-color: var(--destructive);
|
|
2553
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2554
|
+
background-color: color-mix(in srgb,var(--destructive) 88%,#000);
|
|
2555
|
+
}
|
|
2379
2556
|
}
|
|
2380
2557
|
}
|
|
2381
2558
|
}
|
|
2382
|
-
.hover\:bg-\[
|
|
2559
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_10\%\,transparent\)\] {
|
|
2383
2560
|
&:hover {
|
|
2384
2561
|
@media (hover: hover) {
|
|
2385
|
-
background-color:
|
|
2562
|
+
background-color: var(--foreground-muted);
|
|
2563
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2564
|
+
background-color: color-mix(in srgb,var(--foreground-muted) 10%,transparent);
|
|
2565
|
+
}
|
|
2566
|
+
}
|
|
2567
|
+
}
|
|
2568
|
+
}
|
|
2569
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_10\%\,var\(--surface\)\)\] {
|
|
2570
|
+
&:hover {
|
|
2571
|
+
@media (hover: hover) {
|
|
2572
|
+
background-color: var(--foreground-muted);
|
|
2573
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2574
|
+
background-color: color-mix(in srgb,var(--foreground-muted) 10%,var(--surface));
|
|
2575
|
+
}
|
|
2386
2576
|
}
|
|
2387
2577
|
}
|
|
2388
2578
|
}
|
|
2389
|
-
.hover\:bg-
|
|
2579
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--status-danger-text\,\#b91c1c\)_88\%\,\#000\)\] {
|
|
2390
2580
|
&:hover {
|
|
2391
2581
|
@media (hover: hover) {
|
|
2392
|
-
background-color: var(--
|
|
2582
|
+
background-color: var(--status-danger-text,#b91c1c);
|
|
2583
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2584
|
+
background-color: color-mix(in srgb,var(--status-danger-text,#b91c1c) 88%,#000);
|
|
2585
|
+
}
|
|
2393
2586
|
}
|
|
2394
2587
|
}
|
|
2395
2588
|
}
|
|
2396
|
-
.hover\:bg-
|
|
2589
|
+
.hover\:bg-\[color-mix\(in_srgb\,var\(--status-success-text\,\#15803d\)_88\%\,\#000\)\] {
|
|
2397
2590
|
&:hover {
|
|
2398
2591
|
@media (hover: hover) {
|
|
2399
|
-
background-color: var(--
|
|
2592
|
+
background-color: var(--status-success-text,#15803d);
|
|
2593
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2594
|
+
background-color: color-mix(in srgb,var(--status-success-text,#15803d) 88%,#000);
|
|
2595
|
+
}
|
|
2400
2596
|
}
|
|
2401
2597
|
}
|
|
2402
2598
|
}
|
|
2403
|
-
.hover\:bg-
|
|
2599
|
+
.hover\:bg-\[rgb\(var\(--color-brand\)\/0\.11\)\] {
|
|
2404
2600
|
&:hover {
|
|
2405
2601
|
@media (hover: hover) {
|
|
2406
|
-
background-color: var(--color-
|
|
2602
|
+
background-color: rgb(var(--color-brand)/0.11);
|
|
2603
|
+
}
|
|
2604
|
+
}
|
|
2605
|
+
}
|
|
2606
|
+
.hover\:bg-\[rgb\(var\(--color-brand\)\/0\.12\)\] {
|
|
2607
|
+
&:hover {
|
|
2608
|
+
@media (hover: hover) {
|
|
2609
|
+
background-color: rgb(var(--color-brand)/0.12);
|
|
2610
|
+
}
|
|
2611
|
+
}
|
|
2612
|
+
}
|
|
2613
|
+
.hover\:bg-\[var\(--brand-hover\,var\(--brand\)\)\] {
|
|
2614
|
+
&:hover {
|
|
2615
|
+
@media (hover: hover) {
|
|
2616
|
+
background-color: var(--brand-hover,var(--brand));
|
|
2407
2617
|
}
|
|
2408
2618
|
}
|
|
2409
2619
|
}
|
|
@@ -2425,6 +2635,13 @@ h2.react-datepicker__current-month {
|
|
|
2425
2635
|
}
|
|
2426
2636
|
}
|
|
2427
2637
|
}
|
|
2638
|
+
.hover\:text-\[var\(--brand\)\] {
|
|
2639
|
+
&:hover {
|
|
2640
|
+
@media (hover: hover) {
|
|
2641
|
+
color: var(--brand);
|
|
2642
|
+
}
|
|
2643
|
+
}
|
|
2644
|
+
}
|
|
2428
2645
|
.hover\:text-amber-700 {
|
|
2429
2646
|
&:hover {
|
|
2430
2647
|
@media (hover: hover) {
|
|
@@ -2470,12 +2687,6 @@ h2.react-datepicker__current-month {
|
|
|
2470
2687
|
border-color: var(--color-red-500);
|
|
2471
2688
|
}
|
|
2472
2689
|
}
|
|
2473
|
-
.focus\:ring-1 {
|
|
2474
|
-
&:focus {
|
|
2475
|
-
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
2476
|
-
box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
|
|
2477
|
-
}
|
|
2478
|
-
}
|
|
2479
2690
|
.focus\:ring-2 {
|
|
2480
2691
|
&:focus {
|
|
2481
2692
|
--tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
|
|
@@ -2541,6 +2752,42 @@ h2.react-datepicker__current-month {
|
|
|
2541
2752
|
translate: var(--tw-translate-x) var(--tw-translate-y);
|
|
2542
2753
|
}
|
|
2543
2754
|
}
|
|
2755
|
+
.enabled\:hover\:border-\[color-mix\(in_srgb\,var\(--foreground-muted\)_24\%\,transparent\)\] {
|
|
2756
|
+
&:enabled {
|
|
2757
|
+
&:hover {
|
|
2758
|
+
@media (hover: hover) {
|
|
2759
|
+
border-color: var(--foreground-muted);
|
|
2760
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2761
|
+
border-color: color-mix(in srgb,var(--foreground-muted) 24%,transparent);
|
|
2762
|
+
}
|
|
2763
|
+
}
|
|
2764
|
+
}
|
|
2765
|
+
}
|
|
2766
|
+
}
|
|
2767
|
+
.enabled\:hover\:bg-\[color-mix\(in_srgb\,var\(--foreground-muted\)_8\%\,transparent\)\] {
|
|
2768
|
+
&:enabled {
|
|
2769
|
+
&:hover {
|
|
2770
|
+
@media (hover: hover) {
|
|
2771
|
+
background-color: var(--foreground-muted);
|
|
2772
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2773
|
+
background-color: color-mix(in srgb,var(--foreground-muted) 8%,transparent);
|
|
2774
|
+
}
|
|
2775
|
+
}
|
|
2776
|
+
}
|
|
2777
|
+
}
|
|
2778
|
+
}
|
|
2779
|
+
.enabled\:hover\:bg-\[color-mix\(in_srgb\,var\(--input-bg\)_75\%\,var\(--surface\)\)\] {
|
|
2780
|
+
&:enabled {
|
|
2781
|
+
&:hover {
|
|
2782
|
+
@media (hover: hover) {
|
|
2783
|
+
background-color: var(--input-bg);
|
|
2784
|
+
@supports (color: color-mix(in lab, red, red)) {
|
|
2785
|
+
background-color: color-mix(in srgb,var(--input-bg) 75%,var(--surface));
|
|
2786
|
+
}
|
|
2787
|
+
}
|
|
2788
|
+
}
|
|
2789
|
+
}
|
|
2790
|
+
}
|
|
2544
2791
|
.disabled\:pointer-events-none {
|
|
2545
2792
|
&:disabled {
|
|
2546
2793
|
pointer-events: none;
|
|
@@ -2557,6 +2804,16 @@ h2.react-datepicker__current-month {
|
|
|
2557
2804
|
cursor: not-allowed;
|
|
2558
2805
|
}
|
|
2559
2806
|
}
|
|
2807
|
+
.disabled\:border-transparent {
|
|
2808
|
+
&:disabled {
|
|
2809
|
+
border-color: transparent;
|
|
2810
|
+
}
|
|
2811
|
+
}
|
|
2812
|
+
.disabled\:bg-transparent {
|
|
2813
|
+
&:disabled {
|
|
2814
|
+
background-color: transparent;
|
|
2815
|
+
}
|
|
2816
|
+
}
|
|
2560
2817
|
.disabled\:opacity-30 {
|
|
2561
2818
|
&:disabled {
|
|
2562
2819
|
opacity: 30%;
|
|
@@ -2683,6 +2940,21 @@ h2.react-datepicker__current-month {
|
|
|
2683
2940
|
display: inline;
|
|
2684
2941
|
}
|
|
2685
2942
|
}
|
|
2943
|
+
.min-\[901px\]\:min-w-\[5\.75rem\] {
|
|
2944
|
+
@media (width >= 901px) {
|
|
2945
|
+
min-width: 5.75rem;
|
|
2946
|
+
}
|
|
2947
|
+
}
|
|
2948
|
+
.min-\[901px\]\:min-w-\[6\.25rem\] {
|
|
2949
|
+
@media (width >= 901px) {
|
|
2950
|
+
min-width: 6.25rem;
|
|
2951
|
+
}
|
|
2952
|
+
}
|
|
2953
|
+
.min-\[901px\]\:min-w-\[6\.75rem\] {
|
|
2954
|
+
@media (width >= 901px) {
|
|
2955
|
+
min-width: 6.75rem;
|
|
2956
|
+
}
|
|
2957
|
+
}
|
|
2686
2958
|
.sm\:flex-row {
|
|
2687
2959
|
@media (width >= 40rem) {
|
|
2688
2960
|
flex-direction: row;
|
|
@@ -2718,14 +2990,24 @@ h2.react-datepicker__current-month {
|
|
|
2718
2990
|
width: calc(var(--spacing) * 20);
|
|
2719
2991
|
}
|
|
2720
2992
|
}
|
|
2721
|
-
.md\:w
|
|
2993
|
+
.md\:min-w-\[6\.75rem\] {
|
|
2722
2994
|
@media (width >= 48rem) {
|
|
2723
|
-
width:
|
|
2995
|
+
min-width: 6.75rem;
|
|
2724
2996
|
}
|
|
2725
2997
|
}
|
|
2726
|
-
.md\:min-w-\[
|
|
2998
|
+
.md\:min-w-\[7\.5rem\] {
|
|
2727
2999
|
@media (width >= 48rem) {
|
|
2728
|
-
min-width:
|
|
3000
|
+
min-width: 7.5rem;
|
|
3001
|
+
}
|
|
3002
|
+
}
|
|
3003
|
+
.md\:min-w-\[7\.25rem\] {
|
|
3004
|
+
@media (width >= 48rem) {
|
|
3005
|
+
min-width: 7.25rem;
|
|
3006
|
+
}
|
|
3007
|
+
}
|
|
3008
|
+
.md\:min-w-\[7\.75rem\] {
|
|
3009
|
+
@media (width >= 48rem) {
|
|
3010
|
+
min-width: 7.75rem;
|
|
2729
3011
|
}
|
|
2730
3012
|
}
|
|
2731
3013
|
.md\:min-w-\[7rem\] {
|
|
@@ -2733,6 +3015,11 @@ h2.react-datepicker__current-month {
|
|
|
2733
3015
|
min-width: 7rem;
|
|
2734
3016
|
}
|
|
2735
3017
|
}
|
|
3018
|
+
.md\:min-w-\[8rem\] {
|
|
3019
|
+
@media (width >= 48rem) {
|
|
3020
|
+
min-width: 8rem;
|
|
3021
|
+
}
|
|
3022
|
+
}
|
|
2736
3023
|
.md\:min-w-\[9rem\] {
|
|
2737
3024
|
@media (width >= 48rem) {
|
|
2738
3025
|
min-width: 9rem;
|
|
@@ -2759,9 +3046,9 @@ h2.react-datepicker__current-month {
|
|
|
2759
3046
|
gap: calc(var(--spacing) * 3);
|
|
2760
3047
|
}
|
|
2761
3048
|
}
|
|
2762
|
-
.md\:
|
|
3049
|
+
.md\:gap-4 {
|
|
2763
3050
|
@media (width >= 48rem) {
|
|
2764
|
-
|
|
3051
|
+
gap: calc(var(--spacing) * 4);
|
|
2765
3052
|
}
|
|
2766
3053
|
}
|
|
2767
3054
|
.md\:text-\[0\.8125rem\] {
|
|
@@ -3081,6 +3368,12 @@ h2.react-datepicker__current-month {
|
|
|
3081
3368
|
height: calc(var(--spacing) * 5);
|
|
3082
3369
|
}
|
|
3083
3370
|
}
|
|
3371
|
+
.\[\&_svg\]\:size-\[1\.125rem\] {
|
|
3372
|
+
& svg {
|
|
3373
|
+
width: 1.125rem;
|
|
3374
|
+
height: 1.125rem;
|
|
3375
|
+
}
|
|
3376
|
+
}
|
|
3084
3377
|
.\[\&_td\]\:py-2 {
|
|
3085
3378
|
& td {
|
|
3086
3379
|
padding-block: calc(var(--spacing) * 2);
|
|
@@ -3137,12 +3430,30 @@ h2.react-datepicker__current-month {
|
|
|
3137
3430
|
padding: calc(var(--spacing) * 0);
|
|
3138
3431
|
}
|
|
3139
3432
|
}
|
|
3433
|
+
.\[\&\>svg\]\:size-3\.5 {
|
|
3434
|
+
&>svg {
|
|
3435
|
+
width: calc(var(--spacing) * 3.5);
|
|
3436
|
+
height: calc(var(--spacing) * 3.5);
|
|
3437
|
+
}
|
|
3438
|
+
}
|
|
3140
3439
|
.\[\&\>svg\]\:size-4 {
|
|
3141
3440
|
&>svg {
|
|
3142
3441
|
width: calc(var(--spacing) * 4);
|
|
3143
3442
|
height: calc(var(--spacing) * 4);
|
|
3144
3443
|
}
|
|
3145
3444
|
}
|
|
3445
|
+
.\[\&\>svg\]\:size-5 {
|
|
3446
|
+
&>svg {
|
|
3447
|
+
width: calc(var(--spacing) * 5);
|
|
3448
|
+
height: calc(var(--spacing) * 5);
|
|
3449
|
+
}
|
|
3450
|
+
}
|
|
3451
|
+
.\[\&\>svg\]\:size-\[1\.125rem\] {
|
|
3452
|
+
&>svg {
|
|
3453
|
+
width: 1.125rem;
|
|
3454
|
+
height: 1.125rem;
|
|
3455
|
+
}
|
|
3456
|
+
}
|
|
3146
3457
|
.\[\&\>svg\]\:size-full {
|
|
3147
3458
|
&>svg {
|
|
3148
3459
|
width: 100%;
|
|
@@ -3435,6 +3746,11 @@ h2.react-datepicker__current-month {
|
|
|
3435
3746
|
inherits: false;
|
|
3436
3747
|
initial-value: 0;
|
|
3437
3748
|
}
|
|
3749
|
+
@property --tw-divide-y-reverse {
|
|
3750
|
+
syntax: "*";
|
|
3751
|
+
inherits: false;
|
|
3752
|
+
initial-value: 0;
|
|
3753
|
+
}
|
|
3438
3754
|
@property --tw-border-style {
|
|
3439
3755
|
syntax: "*";
|
|
3440
3756
|
inherits: false;
|
|
@@ -3638,6 +3954,7 @@ h2.react-datepicker__current-month {
|
|
|
3638
3954
|
--tw-skew-x: initial;
|
|
3639
3955
|
--tw-skew-y: initial;
|
|
3640
3956
|
--tw-space-y-reverse: 0;
|
|
3957
|
+
--tw-divide-y-reverse: 0;
|
|
3641
3958
|
--tw-border-style: solid;
|
|
3642
3959
|
--tw-leading: initial;
|
|
3643
3960
|
--tw-font-weight: initial;
|