@lerianstudio/sindarian-ui 1.0.0-beta.1
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 +235 -0
- package/dist/components/breadcrumb/get-breadcrumb-paths.d.ts +10 -0
- package/dist/components/breadcrumb/get-breadcrumb-paths.d.ts.map +1 -0
- package/dist/components/breadcrumb/get-breadcrumb-paths.js +15 -0
- package/dist/components/breadcrumb/index.d.ts +10 -0
- package/dist/components/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/breadcrumb/index.js +13 -0
- package/dist/components/entity-box/index.d.ts +17 -0
- package/dist/components/entity-box/index.d.ts.map +1 -0
- package/dist/components/entity-box/index.js +39 -0
- package/dist/components/entity-data-table/index.d.ts +17 -0
- package/dist/components/entity-data-table/index.d.ts.map +1 -0
- package/dist/components/entity-data-table/index.js +20 -0
- package/dist/components/form/combo-box-field/index.d.ts +14 -0
- package/dist/components/form/combo-box-field/index.d.ts.map +1 -0
- package/dist/components/form/combo-box-field/index.js +35 -0
- package/dist/components/form/country-field/index.d.ts +4 -0
- package/dist/components/form/country-field/index.d.ts.map +1 -0
- package/dist/components/form/country-field/index.js +11 -0
- package/dist/components/form/index.d.ts +8 -0
- package/dist/components/form/index.d.ts.map +1 -0
- package/dist/components/form/index.js +23 -0
- package/dist/components/form/input-field/index.d.ts +23 -0
- package/dist/components/form/input-field/index.d.ts.map +1 -0
- package/dist/components/form/input-field/index.js +14 -0
- package/dist/components/form/pagination-limit-field/index.d.ts +8 -0
- package/dist/components/form/pagination-limit-field/index.d.ts.map +1 -0
- package/dist/components/form/pagination-limit-field/index.js +10 -0
- package/dist/components/form/password-field/index.d.ts +12 -0
- package/dist/components/form/password-field/index.d.ts.map +1 -0
- package/dist/components/form/password-field/index.js +15 -0
- package/dist/components/form/select-field/index.d.ts +18 -0
- package/dist/components/form/select-field/index.d.ts.map +1 -0
- package/dist/components/form/select-field/index.js +14 -0
- package/dist/components/form/state-field/index.d.ts +8 -0
- package/dist/components/form/state-field/index.d.ts.map +1 -0
- package/dist/components/form/state-field/index.js +42 -0
- package/dist/components/form/switch-field/index.d.ts +14 -0
- package/dist/components/form/switch-field/index.d.ts.map +1 -0
- package/dist/components/form/switch-field/index.js +11 -0
- package/dist/components/page/index.d.ts +4 -0
- package/dist/components/page/index.d.ts.map +1 -0
- package/dist/components/page/index.js +16 -0
- package/dist/components/page-header/index.d.ts +33 -0
- package/dist/components/page-header/index.d.ts.map +1 -0
- package/dist/components/page-header/index.js +47 -0
- package/dist/components/pagination/index.d.ts +8 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/index.js +10 -0
- package/dist/components/table/id-table-cell.d.ts +6 -0
- package/dist/components/table/id-table-cell.d.ts.map +1 -0
- package/dist/components/table/id-table-cell.js +16 -0
- package/dist/components/table/index.d.ts +3 -0
- package/dist/components/table/index.d.ts.map +1 -0
- package/dist/components/table/index.js +18 -0
- package/dist/components/table/locked-table-actions.d.ts +6 -0
- package/dist/components/table/locked-table-actions.d.ts.map +1 -0
- package/dist/components/table/locked-table-actions.js +11 -0
- package/dist/components/table/name-table-cell.d.ts +6 -0
- package/dist/components/table/name-table-cell.d.ts.map +1 -0
- package/dist/components/table/name-table-cell.js +10 -0
- package/dist/components/ui/alert/index.d.ts +11 -0
- package/dist/components/ui/alert/index.d.ts.map +1 -0
- package/dist/components/ui/alert/index.js +31 -0
- package/dist/components/ui/autocomplete/index.d.ts +54 -0
- package/dist/components/ui/autocomplete/index.d.ts.map +1 -0
- package/dist/components/ui/autocomplete/index.js +324 -0
- package/dist/components/ui/autosize-textarea/index.d.ts +15 -0
- package/dist/components/ui/autosize-textarea/index.d.ts.map +1 -0
- package/dist/components/ui/autosize-textarea/index.js +89 -0
- package/dist/components/ui/avatar/index.d.ts +7 -0
- package/dist/components/ui/avatar/index.d.ts.map +1 -0
- package/dist/components/ui/avatar/index.js +51 -0
- package/dist/components/ui/badge/index.d.ts +11 -0
- package/dist/components/ui/badge/index.d.ts.map +1 -0
- package/dist/components/ui/badge/index.js +28 -0
- package/dist/components/ui/breadcrumb/index.d.ts +12 -0
- package/dist/components/ui/breadcrumb/index.d.ts.map +1 -0
- package/dist/components/ui/breadcrumb/index.js +35 -0
- package/dist/components/ui/button/index.d.ts +17 -0
- package/dist/components/ui/button/index.d.ts.map +1 -0
- package/dist/components/ui/button/index.js +72 -0
- package/dist/components/ui/card/index.d.ts +10 -0
- package/dist/components/ui/card/index.d.ts.map +1 -0
- package/dist/components/ui/card/index.js +32 -0
- package/dist/components/ui/checkbox/index.d.ts +5 -0
- package/dist/components/ui/checkbox/index.d.ts.map +1 -0
- package/dist/components/ui/checkbox/index.js +44 -0
- package/dist/components/ui/collapsible/index.d.ts +6 -0
- package/dist/components/ui/collapsible/index.d.ts.map +1 -0
- package/dist/components/ui/collapsible/index.js +50 -0
- package/dist/components/ui/command/index.d.ts +14 -0
- package/dist/components/ui/command/index.d.ts.map +1 -0
- package/dist/components/ui/command/index.js +45 -0
- package/dist/components/ui/dialog/index.d.ts +16 -0
- package/dist/components/ui/dialog/index.d.ts.map +1 -0
- package/dist/components/ui/dialog/index.js +80 -0
- package/dist/components/ui/dropdown-menu/index.d.ts +27 -0
- package/dist/components/ui/dropdown-menu/index.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu/index.js +107 -0
- package/dist/components/ui/form.d.ts +37 -0
- package/dist/components/ui/form.d.ts.map +1 -0
- package/dist/components/ui/form.js +110 -0
- package/dist/components/ui/input/index.d.ts +4 -0
- package/dist/components/ui/input/index.d.ts.map +1 -0
- package/dist/components/ui/input/index.js +10 -0
- package/dist/components/ui/input-with-icon/index.d.ts +12 -0
- package/dist/components/ui/input-with-icon/index.d.ts.map +1 -0
- package/dist/components/ui/input-with-icon/index.js +57 -0
- package/dist/components/ui/label/index.d.ts +7 -0
- package/dist/components/ui/label/index.d.ts.map +1 -0
- package/dist/components/ui/label/index.js +45 -0
- package/dist/components/ui/label/label.stories.d.ts +5 -0
- package/dist/components/ui/label/label.stories.d.ts.map +1 -0
- package/dist/components/ui/label/label.stories.js +24 -0
- package/dist/components/ui/loading-button/index.d.ts +7 -0
- package/dist/components/ui/loading-button/index.d.ts.map +1 -0
- package/dist/components/ui/loading-button/index.js +9 -0
- package/dist/components/ui/multiple-select/index.d.ts +91 -0
- package/dist/components/ui/multiple-select/index.d.ts.map +1 -0
- package/dist/components/ui/multiple-select/index.js +233 -0
- package/dist/components/ui/paper/index.d.ts +4 -0
- package/dist/components/ui/paper/index.d.ts.map +1 -0
- package/dist/components/ui/paper/index.js +8 -0
- package/dist/components/ui/popover/index.d.ts +8 -0
- package/dist/components/ui/popover/index.d.ts.map +1 -0
- package/dist/components/ui/popover/index.js +55 -0
- package/dist/components/ui/progress/index.d.ts +8 -0
- package/dist/components/ui/progress/index.d.ts.map +1 -0
- package/dist/components/ui/progress/index.js +43 -0
- package/dist/components/ui/select/index.d.ts +19 -0
- package/dist/components/ui/select/index.d.ts.map +1 -0
- package/dist/components/ui/select/index.js +101 -0
- package/dist/components/ui/separator/index.d.ts +5 -0
- package/dist/components/ui/separator/index.d.ts.map +1 -0
- package/dist/components/ui/separator/index.js +43 -0
- package/dist/components/ui/sheet/index.d.ts +19 -0
- package/dist/components/ui/sheet/index.d.ts.map +1 -0
- package/dist/components/ui/sheet/index.js +94 -0
- package/dist/components/ui/skeleton/index.d.ts +3 -0
- package/dist/components/ui/skeleton/index.d.ts.map +1 -0
- package/dist/components/ui/skeleton/index.js +8 -0
- package/dist/components/ui/stepper/index.d.ts +18 -0
- package/dist/components/ui/stepper/index.d.ts.map +1 -0
- package/dist/components/ui/stepper/index.js +29 -0
- package/dist/components/ui/switch/index.d.ts +5 -0
- package/dist/components/ui/switch/index.d.ts.map +1 -0
- package/dist/components/ui/switch/index.js +43 -0
- package/dist/components/ui/table/index.d.ts +21 -0
- package/dist/components/ui/table/index.d.ts.map +1 -0
- package/dist/components/ui/table/index.js +56 -0
- package/dist/components/ui/tabs/index.d.ts +8 -0
- package/dist/components/ui/tabs/index.d.ts.map +1 -0
- package/dist/components/ui/tabs/index.js +55 -0
- package/dist/components/ui/textarea/index.d.ts +4 -0
- package/dist/components/ui/textarea/index.d.ts.map +1 -0
- package/dist/components/ui/textarea/index.js +8 -0
- package/dist/components/ui/toast/index.d.ts +17 -0
- package/dist/components/ui/toast/index.d.ts.map +1 -0
- package/dist/components/ui/toast/index.js +80 -0
- package/dist/components/ui/toast/toaster.d.ts +2 -0
- package/dist/components/ui/toast/toaster.d.ts.map +1 -0
- package/dist/components/ui/toast/toaster.js +13 -0
- package/dist/components/ui/tooltip/index.d.ts +11 -0
- package/dist/components/ui/tooltip/index.d.ts.map +1 -0
- package/dist/components/ui/tooltip/index.js +66 -0
- package/dist/hooks/use-click-away.d.ts +9 -0
- package/dist/hooks/use-click-away.d.ts.map +1 -0
- package/dist/hooks/use-click-away.js +29 -0
- package/dist/hooks/use-click-away.test.d.ts +2 -0
- package/dist/hooks/use-click-away.test.d.ts.map +1 -0
- package/dist/hooks/use-click-away.test.js +39 -0
- package/dist/hooks/use-pagination.d.ts +13 -0
- package/dist/hooks/use-pagination.d.ts.map +1 -0
- package/dist/hooks/use-pagination.js +41 -0
- package/dist/hooks/use-stepper.d.ts +11 -0
- package/dist/hooks/use-stepper.d.ts.map +1 -0
- package/dist/hooks/use-stepper.js +26 -0
- package/dist/hooks/use-stepper.test.d.ts +2 -0
- package/dist/hooks/use-stepper.test.d.ts.map +1 -0
- package/dist/hooks/use-stepper.test.js +45 -0
- package/dist/hooks/use-toast.d.ts +45 -0
- package/dist/hooks/use-toast.d.ts.map +1 -0
- package/dist/hooks/use-toast.js +164 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +64 -0
- package/dist/lib/utils.d.ts +3 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/utils.js +8 -0
- package/dist/public/countries.json +21210 -0
- package/dist/types/metadata-type.d.ts +2 -0
- package/dist/types/metadata-type.d.ts.map +1 -0
- package/dist/types/metadata-type.js +2 -0
- package/dist/utils/country-utils.d.ts +17 -0
- package/dist/utils/country-utils.d.ts.map +1 -0
- package/dist/utils/country-utils.js +25 -0
- package/dist/utils/currency-codes.d.ts +5 -0
- package/dist/utils/currency-codes.d.ts.map +1 -0
- package/dist/utils/currency-codes.js +184 -0
- package/package.json +76 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React, { PropsWithChildren, ReactNode } from 'react';
|
|
2
|
+
import { Control } from 'react-hook-form';
|
|
3
|
+
export type SelectFieldProps = PropsWithChildren & {
|
|
4
|
+
name: string;
|
|
5
|
+
label?: ReactNode;
|
|
6
|
+
tooltip?: string;
|
|
7
|
+
labelExtra?: React.ReactNode;
|
|
8
|
+
description?: ReactNode;
|
|
9
|
+
placeholder?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
readOnly?: boolean;
|
|
12
|
+
control: Control<any>;
|
|
13
|
+
multi?: boolean;
|
|
14
|
+
required?: boolean;
|
|
15
|
+
emptyMessage?: string;
|
|
16
|
+
};
|
|
17
|
+
export declare const SelectField: ({ name, label, tooltip, labelExtra, required, placeholder, description, disabled, readOnly, multi, control, children, emptyMessage, ...others }: SelectFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/select-field/index.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG;IACjD,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,SAAS,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAC5B,WAAW,CAAC,EAAE,SAAS,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,iJAezB,gBAAgB,4CA4DlB,CAAA"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SelectField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const form_1 = require("../../../components/ui/form");
|
|
6
|
+
const multiple_select_1 = require("../../../components/ui/multiple-select");
|
|
7
|
+
const select_1 = require("../../../components/ui/select");
|
|
8
|
+
const utils_1 = require("../../../lib/utils");
|
|
9
|
+
const SelectField = ({ name, label, tooltip, labelExtra, required, placeholder, description, disabled, readOnly, multi, control, children, emptyMessage = 'No options found.', ...others }) => {
|
|
10
|
+
return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, control: control, ...others, render: ({ field }) => {
|
|
11
|
+
return ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && ((0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : labelExtra, children: label })), multi ? ((0, jsx_runtime_1.jsxs)(multiple_select_1.MultipleSelect, { onValueChange: field.onChange, disabled: disabled, ...field, children: [(0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectTrigger, { readOnly: readOnly, children: (0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectValue, { placeholder: placeholder }) }), (0, jsx_runtime_1.jsx)(multiple_select_1.MultipleSelectContent, { children: children })] })) : ((0, jsx_runtime_1.jsxs)(select_1.Select, { onValueChange: field.onChange, value: field.value, disabled: disabled, open: readOnly ? false : undefined, onOpenChange: readOnly ? () => { } : undefined, children: [(0, jsx_runtime_1.jsx)(form_1.FormControl, { children: (0, jsx_runtime_1.jsx)(select_1.SelectTrigger, { className: (0, utils_1.cn)(disabled && 'bg-shadcn-100'), readOnly: readOnly, children: (0, jsx_runtime_1.jsx)(select_1.SelectValue, { placeholder: placeholder }) }) }), (0, jsx_runtime_1.jsxs)(select_1.SelectContent, { children: [(0, jsx_runtime_1.jsx)(select_1.SelectEmpty, { children: emptyMessage }), children] })] })), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {}), description && (0, jsx_runtime_1.jsx)(form_1.FormDescription, { children: description })] }));
|
|
12
|
+
} }));
|
|
13
|
+
};
|
|
14
|
+
exports.SelectField = SelectField;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { SelectFieldProps } from '../select-field';
|
|
2
|
+
export type StateFieldProps = Omit<SelectFieldProps, 'children'> & {
|
|
3
|
+
countryName?: string;
|
|
4
|
+
emptyMessage?: string;
|
|
5
|
+
readOnly?: boolean;
|
|
6
|
+
};
|
|
7
|
+
export declare const StateField: ({ countryName, label, placeholder, emptyMessage, required, readOnly, ...others }: StateFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/state-field/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAA;AAsHlD,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAC,GAAG;IACjE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,kFAQxB,eAAe,4CAmBjB,CAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StateField = void 0;
|
|
7
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
8
|
+
const react_1 = __importDefault(require("react"));
|
|
9
|
+
const country_utils_1 = require("../../../utils/country-utils");
|
|
10
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
11
|
+
const form_1 = require("../../../components/ui/form");
|
|
12
|
+
const button_1 = require("../../../components/ui/button");
|
|
13
|
+
const utils_1 = require("../../../lib/utils");
|
|
14
|
+
const popover_1 = require("../../../components/ui/popover");
|
|
15
|
+
const lucide_react_1 = require("lucide-react");
|
|
16
|
+
const command_1 = require("../../../components/ui/command");
|
|
17
|
+
function StateComboBox({ value, placeholder, onChange, countryName, emptyMessage, readOnly }) {
|
|
18
|
+
const [open, setOpen] = react_1.default.useState(false);
|
|
19
|
+
const form = (0, react_hook_form_1.useFormContext)();
|
|
20
|
+
const country = form.watch(countryName);
|
|
21
|
+
const options = react_1.default.useMemo(() => {
|
|
22
|
+
const states = (0, country_utils_1.getStateCountry)(country)?.map((state) => ({
|
|
23
|
+
value: state.code,
|
|
24
|
+
label: state.name
|
|
25
|
+
}));
|
|
26
|
+
if (!states) {
|
|
27
|
+
onChange?.('');
|
|
28
|
+
}
|
|
29
|
+
return states ?? [];
|
|
30
|
+
}, [country, onChange]);
|
|
31
|
+
const getDisplayValue = react_1.default.useCallback((value) => {
|
|
32
|
+
return options.find((option) => option.value === value)?.label ?? null;
|
|
33
|
+
}, [options]);
|
|
34
|
+
return ((0, jsx_runtime_1.jsxs)(popover_1.Popover, { open: readOnly ? false : open, onOpenChange: readOnly ? () => { } : setOpen, children: [(0, jsx_runtime_1.jsx)(popover_1.PopoverTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "outline", role: "combobox", "aria-expanded": readOnly ? false : open, readOnly: readOnly, tabIndex: 0, className: (0, utils_1.cn)('w-full justify-between', !value && 'text-muted-foreground'), children: [getDisplayValue(value) ?? placeholder, !readOnly && ((0, jsx_runtime_1.jsx)(lucide_react_1.ChevronsUpDown, { className: "ml-2 h-4 w-4 shrink-0 opacity-50" }))] }) }), (0, jsx_runtime_1.jsx)(popover_1.PopoverContent, { className: "w-(--radix-popover-trigger-width) p-0", children: (0, jsx_runtime_1.jsxs)(command_1.Command, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandInput, { placeholder: placeholder }), (0, jsx_runtime_1.jsxs)(command_1.CommandList, { children: [(0, jsx_runtime_1.jsx)(command_1.CommandEmpty, { children: emptyMessage }), (0, jsx_runtime_1.jsx)(command_1.CommandGroup, { children: options.map((option) => ((0, jsx_runtime_1.jsx)(command_1.CommandItem, { value: option.value, keywords: [option.label], onSelect: (currentValue) => {
|
|
35
|
+
onChange?.(value !== currentValue ? currentValue : '');
|
|
36
|
+
setOpen(false);
|
|
37
|
+
}, children: option.label }, option.value))) })] })] }) })] }));
|
|
38
|
+
}
|
|
39
|
+
const StateField = ({ countryName = 'address.country', label, placeholder, emptyMessage, required, readOnly, ...others }) => {
|
|
40
|
+
return ((0, jsx_runtime_1.jsx)(form_1.FormField, { ...others, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && (0, jsx_runtime_1.jsx)(form_1.FormLabel, { children: label }), (0, jsx_runtime_1.jsx)(StateComboBox, { countryName: countryName, placeholder: placeholder, emptyMessage: emptyMessage, readOnly: readOnly, ...field }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {})] })) }));
|
|
41
|
+
};
|
|
42
|
+
exports.StateField = StateField;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { Control } from 'react-hook-form';
|
|
3
|
+
export type SwitchFieldProps = {
|
|
4
|
+
label?: string;
|
|
5
|
+
name: string;
|
|
6
|
+
control: Control<any>;
|
|
7
|
+
labelExtra?: ReactNode;
|
|
8
|
+
tooltip?: string;
|
|
9
|
+
required?: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
disabledTooltip?: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const SwitchField: ({ label, name, control, labelExtra, tooltip, required, disabled, disabledTooltip }: SwitchFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/form/switch-field/index.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAA;AAEzC,MAAM,MAAM,gBAAgB,GAAG;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAA;IACrB,UAAU,CAAC,EAAE,SAAS,CAAA;IACtB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,oFASzB,gBAAgB,4CAgDlB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwitchField = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const form_1 = require("../../../components/ui/form");
|
|
6
|
+
const switch_1 = require("../../../components/ui/switch");
|
|
7
|
+
const tooltip_1 = require("../../../components/ui/tooltip");
|
|
8
|
+
const SwitchField = ({ label, name, control, labelExtra, tooltip, required, disabled, disabledTooltip }) => {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)(form_1.FormField, { name: name, control: control, render: ({ field }) => ((0, jsx_runtime_1.jsxs)(form_1.FormItem, { required: required, children: [label && ((0, jsx_runtime_1.jsx)(form_1.FormLabel, { extra: tooltip ? (0, jsx_runtime_1.jsx)(form_1.FormTooltip, { children: tooltip }) : labelExtra, children: label })), (0, jsx_runtime_1.jsx)("div", { className: "relative", children: (0, jsx_runtime_1.jsx)(form_1.FormControl, { children: disabled && disabledTooltip ? ((0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: "inline-flex w-auto", children: (0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: field.value, onCheckedChange: field.onChange, disabled: disabled }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { children: disabledTooltip })] }) })) : ((0, jsx_runtime_1.jsx)(switch_1.Switch, { checked: field.value, onCheckedChange: field.onChange, disabled: disabled })) }) }), (0, jsx_runtime_1.jsx)(form_1.FormMessage, {})] })) }));
|
|
10
|
+
};
|
|
11
|
+
exports.SwitchField = SwitchField;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function PageRoot({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
export declare function PageView({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function PageContent({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/page/index.tsx"],"names":[],"mappings":"AAEA,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW5E;AAED,wBAAgB,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAW5E;AAED,wBAAgB,WAAW,CAAC,EAC1B,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageRoot = PageRoot;
|
|
4
|
+
exports.PageView = PageView;
|
|
5
|
+
exports.PageContent = PageContent;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const utils_1 = require("../../lib/utils");
|
|
8
|
+
function PageRoot({ className, ...props }) {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-root", className: (0, utils_1.cn)('bg-background text-foreground flex h-full min-h-screen w-full overflow-y-auto', className), ...props }));
|
|
10
|
+
}
|
|
11
|
+
function PageView({ className, ...props }) {
|
|
12
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-view", className: (0, utils_1.cn)('bg-shadcn-100 flex min-h-full grow flex-col overflow-y-auto', className), ...props }));
|
|
13
|
+
}
|
|
14
|
+
function PageContent({ className, ...props }) {
|
|
15
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-content", className: (0, utils_1.cn)('h-full w-full overflow-y-auto p-16', className), ...props }));
|
|
16
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export declare function PageHeaderActionButtons({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
export declare function PageHeaderWrapper({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
4
|
+
type PageHeaderProps = {
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
};
|
|
8
|
+
export declare function PageHeader({ children, className }: PageHeaderProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export type PageHeaderInfoTitleProps = {
|
|
10
|
+
title: string;
|
|
11
|
+
subtitle?: string;
|
|
12
|
+
subtitleCopyToClipboard?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
children?: ReactNode;
|
|
15
|
+
};
|
|
16
|
+
export declare function PageHeaderInfoTitle({ title, subtitle, className, children }: PageHeaderInfoTitleProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export type PageHeaderInfoTooltipProps = {
|
|
18
|
+
subtitle: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function PageHeaderInfoTooltip({ subtitle }: PageHeaderInfoTooltipProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export type PageHeaderCollapsibleInfoTriggerProps = {
|
|
22
|
+
question: string;
|
|
23
|
+
};
|
|
24
|
+
export declare function PageHeaderCollapsibleInfoTrigger({ question }: PageHeaderCollapsibleInfoTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export type PageHeaderCollapsibleInfoProps = {
|
|
26
|
+
question?: string;
|
|
27
|
+
answer?: string;
|
|
28
|
+
seeMore?: string;
|
|
29
|
+
href?: string;
|
|
30
|
+
};
|
|
31
|
+
export declare function PageHeaderCollapsibleInfo({ question, answer, seeMore, href }: PageHeaderCollapsibleInfoProps): import("react/jsx-runtime").JSX.Element;
|
|
32
|
+
export {};
|
|
33
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/page-header/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAY,MAAM,OAAO,CAAA;AAiB3C,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,wBAAgB,iBAAiB,CAAC,EAChC,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,KAAK,eAAe,GAAG;IACrB,QAAQ,EAAE,SAAS,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,wBAAgB,UAAU,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,eAAe,2CAUlE;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB,CAAA;AAED,wBAAgB,mBAAmB,CAAC,EAClC,KAAK,EACL,QAAQ,EACR,SAAS,EACT,QAAQ,EACT,EAAE,wBAAwB,2CAmB1B;AAED,MAAM,MAAM,0BAA0B,GAAG;IACvC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAgB,qBAAqB,CAAC,EACpC,QAAQ,EACT,EAAE,0BAA0B,2CA8B5B;AAED,MAAM,MAAM,qCAAqC,GAAG;IAClD,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,wBAAgB,gCAAgC,CAAC,EAC/C,QAAQ,EACT,EAAE,qCAAqC,2CAWvC;AAED,MAAM,MAAM,8BAA8B,GAAG;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAA;AAED,wBAAgB,yBAAyB,CAAC,EACxC,QAAQ,EACR,MAAM,EACN,OAAO,EACP,IAAI,EACL,EAAE,8BAA8B,2CAoChC"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageHeaderActionButtons = PageHeaderActionButtons;
|
|
4
|
+
exports.PageHeaderWrapper = PageHeaderWrapper;
|
|
5
|
+
exports.PageHeader = PageHeader;
|
|
6
|
+
exports.PageHeaderInfoTitle = PageHeaderInfoTitle;
|
|
7
|
+
exports.PageHeaderInfoTooltip = PageHeaderInfoTooltip;
|
|
8
|
+
exports.PageHeaderCollapsibleInfoTrigger = PageHeaderCollapsibleInfoTrigger;
|
|
9
|
+
exports.PageHeaderCollapsibleInfo = PageHeaderCollapsibleInfo;
|
|
10
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
11
|
+
const utils_1 = require("../../lib/utils");
|
|
12
|
+
const react_1 = require("react");
|
|
13
|
+
const collapsible_1 = require("../../components/ui/collapsible");
|
|
14
|
+
const button_1 = require("../ui/button");
|
|
15
|
+
const lucide_react_1 = require("lucide-react");
|
|
16
|
+
const tooltip_1 = require("../../components/ui/tooltip");
|
|
17
|
+
const use_toast_1 = require("../../hooks/use-toast");
|
|
18
|
+
const react_tooltip_1 = require("@radix-ui/react-tooltip");
|
|
19
|
+
function PageHeaderActionButtons({ className, ...props }) {
|
|
20
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-action-buttons", className: (0, utils_1.cn)('flex gap-8', className), ...props }));
|
|
21
|
+
}
|
|
22
|
+
function PageHeaderWrapper({ className, ...props }) {
|
|
23
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-wrapper", className: (0, utils_1.cn)('flex justify-between border-b', className), ...props }));
|
|
24
|
+
}
|
|
25
|
+
function PageHeader({ children, className }) {
|
|
26
|
+
const [isOpen, setIsOpen] = (0, react_1.useState)(false);
|
|
27
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header", className: "mt-12", children: (0, jsx_runtime_1.jsx)(collapsible_1.Collapsible, { open: isOpen, onOpenChange: setIsOpen, className: className, children: children }) }));
|
|
28
|
+
}
|
|
29
|
+
function PageHeaderInfoTitle({ title, subtitle, className, children }) {
|
|
30
|
+
return ((0, jsx_runtime_1.jsxs)("div", { "data-slot": "page-header-info-title", className: "mb-12 flex flex-col gap-4", children: [(0, jsx_runtime_1.jsx)("h1", { className: (0, utils_1.cn)('text-4xl font-bold text-[#3f3f46]', className), "data-testid": "title", children: title }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-2", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-shadcn-400 text-sm font-medium", children: subtitle }), children] })] }));
|
|
31
|
+
}
|
|
32
|
+
function PageHeaderInfoTooltip({ subtitle }) {
|
|
33
|
+
const { toast } = (0, use_toast_1.useToast)();
|
|
34
|
+
const handleCopyToClipboard = (value) => {
|
|
35
|
+
navigator.clipboard.writeText(value);
|
|
36
|
+
toast({
|
|
37
|
+
description: 'Copied to clipboard!'
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-info-tooltip", children: (0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { delayDuration: 300, children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { onClick: () => handleCopyToClipboard(subtitle), children: (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, { size: 16, className: "cursor-pointer" }) }), (0, jsx_runtime_1.jsxs)(tooltip_1.TooltipContent, { className: "bg-shadcn-600 border-none", arrowPadding: 0, children: [(0, jsx_runtime_1.jsx)("p", { className: "text-shadcn-400 text-sm font-medium", children: subtitle }), (0, jsx_runtime_1.jsx)("p", { className: "text-center text-white", children: "Click to copy" }), (0, jsx_runtime_1.jsx)(react_tooltip_1.Arrow, { height: 8, width: 15 })] })] }) }) }));
|
|
41
|
+
}
|
|
42
|
+
function PageHeaderCollapsibleInfoTrigger({ question }) {
|
|
43
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-collapsible-info-trigger", children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsxs)(button_1.Button, { variant: "link", className: "flex gap-2 pr-0", children: [(0, jsx_runtime_1.jsx)("span", { className: "text-sm font-medium text-[#3f3f46]", children: question }), (0, jsx_runtime_1.jsx)(lucide_react_1.HelpCircle, { className: "h-4 w-4" })] }) }) }));
|
|
44
|
+
}
|
|
45
|
+
function PageHeaderCollapsibleInfo({ question, answer, seeMore, href }) {
|
|
46
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "page-header-collapsible-info", children: (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleContent, { children: (0, jsx_runtime_1.jsxs)("div", { className: "flex w-full justify-between", children: [(0, jsx_runtime_1.jsxs)("div", { className: "mt-12 flex flex-col gap-3", children: [(0, jsx_runtime_1.jsx)("h1", { className: "text-xl font-bold text-[#3f3f46]", children: question }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-3", children: [(0, jsx_runtime_1.jsx)("p", { className: "text-shadcn-500 text-sm leading-none font-medium", children: answer }), (0, jsx_runtime_1.jsxs)("div", { className: "flex items-center gap-1", children: [(0, jsx_runtime_1.jsx)("a", { target: "_blank", rel: "noopener noreferrer", href: href, className: "text-shadcn-600 justify-start text-sm font-medium underline underline-offset-4", children: seeMore }), (0, jsx_runtime_1.jsx)(lucide_react_1.ExternalLink, { size: 16 })] })] })] }), (0, jsx_runtime_1.jsx)(collapsible_1.CollapsibleTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "plain", className: "cursor-pointer self-start", children: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronUp, { size: 24, className: "text-shadcn-500" }) }) })] }) }) }));
|
|
47
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { UsePaginationReturn } from '../../hooks/use-pagination';
|
|
2
|
+
export type PaginationProps = UsePaginationReturn & {
|
|
3
|
+
previousLabel?: string;
|
|
4
|
+
nextLabel?: string;
|
|
5
|
+
total?: number;
|
|
6
|
+
};
|
|
7
|
+
export declare const Pagination: ({ page, limit, total, previousLabel, nextLabel, nextPage, previousPage }: PaginationProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAGjE,MAAM,MAAM,eAAe,GAAG,mBAAmB,GAAG;IAClD,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,UAAU,GAAI,0EAQxB,eAAe,4CA0BjB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Pagination = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const button_1 = require("../ui/button");
|
|
6
|
+
const lucide_react_1 = require("lucide-react");
|
|
7
|
+
const Pagination = ({ page, limit, total = 0, previousLabel, nextLabel, nextPage, previousPage }) => {
|
|
8
|
+
return ((0, jsx_runtime_1.jsxs)("div", { className: "flex items-center justify-end space-x-2", children: [(0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", size: "sm", onClick: previousPage, disabled: page <= 1, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronLeft, { size: 16 }), iconPlacement: "start", children: previousLabel }), (0, jsx_runtime_1.jsx)(button_1.Button, { variant: "outline", size: "sm", onClick: nextPage, disabled: total < limit, icon: (0, jsx_runtime_1.jsx)(lucide_react_1.ChevronRight, { size: 16 }), iconPlacement: "end", children: nextLabel })] }));
|
|
9
|
+
};
|
|
10
|
+
exports.Pagination = Pagination;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"id-table-cell.d.ts","sourceRoot":"","sources":["../../../src/components/table/id-table-cell.tsx"],"names":[],"mappings":"AAcA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,WAAW,GAAI,gBAAgB,gBAAgB,4CAqB3D,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IdTableCell = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const table_1 = require("../../components/ui/table");
|
|
6
|
+
const tooltip_1 = require("../../components/ui/tooltip");
|
|
7
|
+
const lodash_1 = require("lodash");
|
|
8
|
+
const lucide_react_1 = require("lucide-react");
|
|
9
|
+
const IdTableCell = ({ id, onCopy }) => {
|
|
10
|
+
const handleCopyToClipboard = () => {
|
|
11
|
+
navigator.clipboard.writeText(id);
|
|
12
|
+
onCopy?.(id);
|
|
13
|
+
};
|
|
14
|
+
return ((0, jsx_runtime_1.jsx)(table_1.TableCell, { onClick: handleCopyToClipboard, children: (0, jsx_runtime_1.jsxs)(table_1.TableCellWrapper, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { delayDuration: 300, children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { children: (0, lodash_1.truncate)(id, { length: 16 }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { children: id })] }) }), (0, jsx_runtime_1.jsx)(table_1.TableCellAction, { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Copy, { className: "size-3.5" }) })] }) }));
|
|
15
|
+
};
|
|
16
|
+
exports.IdTableCell = IdTableCell;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/table/index.tsx"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAA;AAC/B,cAAc,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./id-table-cell"), exports);
|
|
18
|
+
__exportStar(require("./name-table-cell"), exports);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export type LockedTableActionsProps = {
|
|
2
|
+
message: string;
|
|
3
|
+
className?: string;
|
|
4
|
+
};
|
|
5
|
+
export declare const LockedTableActions: ({ message, className }: LockedTableActionsProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=locked-table-actions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locked-table-actions.d.ts","sourceRoot":"","sources":["../../../src/components/table/locked-table-actions.tsx"],"names":[],"mappings":"AAUA,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,kBAAkB,GAAI,wBAGhC,uBAAuB,4CAkBzB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.LockedTableActions = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const lucide_react_1 = require("lucide-react");
|
|
6
|
+
const tooltip_1 = require("../../components/ui/tooltip");
|
|
7
|
+
const utils_1 = require("../../lib/utils");
|
|
8
|
+
const LockedTableActions = ({ message, className }) => {
|
|
9
|
+
return ((0, jsx_runtime_1.jsx)(tooltip_1.TooltipProvider, { children: (0, jsx_runtime_1.jsxs)(tooltip_1.Tooltip, { children: [(0, jsx_runtime_1.jsx)(tooltip_1.TooltipTrigger, { asChild: true, children: (0, jsx_runtime_1.jsx)("div", { className: (0, utils_1.cn)('border-border bg-muted flex h-[36px] w-[36px] items-center justify-center rounded-md border', className), children: (0, jsx_runtime_1.jsx)(lucide_react_1.LockIcon, { size: 14, className: "text-muted-foreground" }) }) }), (0, jsx_runtime_1.jsx)(tooltip_1.TooltipContent, { side: "left", children: message })] }) }));
|
|
10
|
+
};
|
|
11
|
+
exports.LockedTableActions = LockedTableActions;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { TableCell } from '../ui/table';
|
|
2
|
+
export type NameTableCellProps = React.ComponentProps<typeof TableCell> & {
|
|
3
|
+
name?: string | React.ReactNode;
|
|
4
|
+
};
|
|
5
|
+
export declare const NameTableCell: ({ name, ...props }: NameTableCellProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
//# sourceMappingURL=name-table-cell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"name-table-cell.d.ts","sourceRoot":"","sources":["../../../src/components/table/name-table-cell.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAqC,MAAM,aAAa,CAAA;AAE1E,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,SAAS,CAAC,GAAG;IACxE,IAAI,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,SAAS,CAAA;CAChC,CAAA;AAED,eAAO,MAAM,aAAa,GAAI,oBAAoB,kBAAkB,4CAWnE,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.NameTableCell = void 0;
|
|
4
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
5
|
+
const lucide_react_1 = require("lucide-react");
|
|
6
|
+
const table_1 = require("../ui/table");
|
|
7
|
+
const NameTableCell = ({ name, ...props }) => {
|
|
8
|
+
return ((0, jsx_runtime_1.jsx)(table_1.TableCell, { ...props, children: (0, jsx_runtime_1.jsxs)(table_1.TableCellWrapper, { children: [(0, jsx_runtime_1.jsx)("p", { className: "cursor-pointer", children: name }), (0, jsx_runtime_1.jsx)(table_1.TableCellAction, { children: (0, jsx_runtime_1.jsx)(lucide_react_1.Search, { className: "size-3.5" }) })] }) }));
|
|
9
|
+
};
|
|
10
|
+
exports.NameTableCell = NameTableCell;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const alertVariants: (props?: ({
|
|
4
|
+
variant?: "default" | "informative" | "destructive" | "warning" | "success" | null | undefined;
|
|
5
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
6
|
+
export type AlertProps = React.ComponentProps<'div'> & VariantProps<typeof alertVariants>;
|
|
7
|
+
declare function Alert({ className, variant, ...props }: AlertProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
declare function AlertTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
declare function AlertDescription({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export { Alert, AlertTitle, AlertDescription };
|
|
11
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/alert/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,aAAa;;8EAoBlB,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAClD,YAAY,CAAC,OAAO,aAAa,CAAC,CAAA;AAEpC,iBAAS,KAAK,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,UAAU,2CAS1D;AAED,iBAAS,UAAU,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQvE;AAED,iBAAS,gBAAgB,CAAC,EACxB,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQ7B;AAED,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAA"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Alert = Alert;
|
|
4
|
+
exports.AlertTitle = AlertTitle;
|
|
5
|
+
exports.AlertDescription = AlertDescription;
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
const class_variance_authority_1 = require("class-variance-authority");
|
|
8
|
+
const utils_1 = require("../../../lib/utils");
|
|
9
|
+
const alertVariants = (0, class_variance_authority_1.cva)('relative w-full rounded-lg border border-slate-200 p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-slate-950 dark:border-slate-800 dark:[&>svg]:text-slate-50', {
|
|
10
|
+
variants: {
|
|
11
|
+
variant: {
|
|
12
|
+
default: 'bg-white text-slate-950 dark:bg-slate-950 dark:text-slate-50',
|
|
13
|
+
informative: 'bg-[#EFF6FF] border-opacity-50 border-[#2563eb] text-[#1E40AF] dark:bg-blue-900 dark:text-blue-50 [&>svg]:text-blue-600',
|
|
14
|
+
destructive: 'border-red-500/50 text-red-500 dark:border-red-500 [&>svg]:text-red-500 dark:border-red-900/50 dark:text-red-900 dark:dark:border-red-900 dark:[&>svg]:text-red-900',
|
|
15
|
+
warning: 'bg-yellow-50 border-yellow-200 text-yellow-800 [&>svg]:text-yellow-500 dark:bg-yellow-900 dark:border-yellow-700 dark:text-yellow-200 dark:[&>svg]:text-yellow-400',
|
|
16
|
+
success: 'bg-[#F0FDF4] border-green-500/50 text-green-800 [&>svg]:text-green-600'
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
defaultVariants: {
|
|
20
|
+
variant: 'default'
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
function Alert({ className, variant, ...props }) {
|
|
24
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert", role: "alert", className: (0, utils_1.cn)(alertVariants({ variant }), className), ...props }));
|
|
25
|
+
}
|
|
26
|
+
function AlertTitle({ className, ...props }) {
|
|
27
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-title", className: (0, utils_1.cn)('mb-1 leading-none font-medium tracking-tight', className), ...props }));
|
|
28
|
+
}
|
|
29
|
+
function AlertDescription({ className, ...props }) {
|
|
30
|
+
return ((0, jsx_runtime_1.jsx)("div", { "data-slot": "alert-description", className: (0, utils_1.cn)('text-sm [&_p]:leading-relaxed', className), ...props }));
|
|
31
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Command as CommandPrimitive } from 'cmdk';
|
|
3
|
+
export type AutocompleteContextType = React.HtmlHTMLAttributes<HTMLInputElement> & {
|
|
4
|
+
/** Fields expected on simple Input */
|
|
5
|
+
value: string | string[] | [];
|
|
6
|
+
onValueChange: (values: string[]) => void;
|
|
7
|
+
readOnly?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
/** Internal control logic */
|
|
10
|
+
showValue?: boolean;
|
|
11
|
+
handleChange: (value?: string) => void;
|
|
12
|
+
handleClear: () => void;
|
|
13
|
+
onScrollbar?: boolean;
|
|
14
|
+
setOnScrollbar: (onScrollbar: boolean) => void;
|
|
15
|
+
open?: boolean;
|
|
16
|
+
setOpen: (open: boolean) => void;
|
|
17
|
+
options: Record<string, string>;
|
|
18
|
+
addOption: (option: Record<string, string>) => void;
|
|
19
|
+
/** Component References */
|
|
20
|
+
inputRef: React.RefObject<HTMLInputElement | null>;
|
|
21
|
+
};
|
|
22
|
+
export type AutocompleteTriggerProps = React.ComponentProps<'div'> & {
|
|
23
|
+
onClear?: () => void;
|
|
24
|
+
};
|
|
25
|
+
export declare function AutocompleteTrigger({ ref, className, onClear, children }: AutocompleteTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
export declare function AutocompleteValue({ ref, className, value: valueProp, onValueChange, onBlur, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
export declare function AutocompleteMultipleValue({ ref, className, ...props }: React.ComponentProps<typeof CommandPrimitive.Input>): import("react/jsx-runtime").JSX.Element;
|
|
28
|
+
export declare function AutocompleteEmpty({ className, ...props }: React.ComponentProps<typeof CommandPrimitive.Empty>): import("react/jsx-runtime").JSX.Element | null;
|
|
29
|
+
export declare function AutocompleteLoading({ className, ref, ...props }: React.ComponentProps<typeof CommandPrimitive.Loading>): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
export declare const SIDE_OPTIONS: string[];
|
|
31
|
+
type Side = (typeof SIDE_OPTIONS)[number];
|
|
32
|
+
export type AutocompleteContentProps = React.ComponentProps<typeof CommandPrimitive.List> & {
|
|
33
|
+
position?: 'popper' | 'static';
|
|
34
|
+
side?: Side;
|
|
35
|
+
onPointerDownOutside?: (event: MouseEvent | TouchEvent) => void;
|
|
36
|
+
};
|
|
37
|
+
export declare function AutocompleteContent({ className, position, side, ref, children, onMouseEnter, onMouseLeave, onPointerDownOutside, ...props }: AutocompleteContentProps): import("react/jsx-runtime").JSX.Element | null;
|
|
38
|
+
export declare function AutocompleteGroup({ className, ...props }: React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>): import("react/jsx-runtime").JSX.Element;
|
|
39
|
+
export declare function AutocompleteItem({ className, value, onSelect, ...props }: React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>): import("react/jsx-runtime").JSX.Element;
|
|
40
|
+
export type AutocompleteProps = React.ComponentProps<typeof CommandPrimitive> & {
|
|
41
|
+
value?: string | string[] | [];
|
|
42
|
+
defaultValue?: string | string[] | [];
|
|
43
|
+
onValueChange?: (values: string | string[]) => void;
|
|
44
|
+
onClear?: () => void;
|
|
45
|
+
open?: boolean;
|
|
46
|
+
onOpenChange?: (open: boolean) => void;
|
|
47
|
+
showValue?: boolean;
|
|
48
|
+
readOnly?: boolean;
|
|
49
|
+
disabled?: boolean;
|
|
50
|
+
multiple?: boolean;
|
|
51
|
+
};
|
|
52
|
+
export declare function Autocomplete({ ref, value, defaultValue, onValueChange, onClear, className, open: openProp, onOpenChange, showValue, readOnly, disabled, multiple, onKeyDown, children, ...props }: AutocompleteProps): import("react/jsx-runtime").JSX.Element;
|
|
53
|
+
export {};
|
|
54
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/autocomplete/index.tsx"],"names":[],"mappings":"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"}
|