@egose/shadcn-theme 0.0.17 → 0.0.19
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/chunk-4J7ZCWRI.mjs +84 -0
- package/chunk-4J7ZCWRI.mjs.map +1 -0
- package/{chunk-Y2EVJJLM.js → chunk-575K47ZF.js} +5 -4
- package/chunk-575K47ZF.js.map +1 -0
- package/{chunk-Z6AUIAE7.js → chunk-AIYBVHJZ.js} +2 -1
- package/chunk-AIYBVHJZ.js.map +1 -0
- package/{chunk-NEW6PZDO.mjs → chunk-ASPYSRE6.mjs} +2 -1
- package/{chunk-NEW6PZDO.mjs.map → chunk-ASPYSRE6.mjs.map} +1 -1
- package/{chunk-HPHG6IFO.mjs → chunk-DNKFPC6O.mjs} +2 -1
- package/chunk-DNKFPC6O.mjs.map +1 -0
- package/{chunk-73AY2MAQ.js → chunk-GLZZPRFW.js} +4 -4
- package/{chunk-73AY2MAQ.js.map → chunk-GLZZPRFW.js.map} +1 -1
- package/{chunk-EQWIZ4DC.js → chunk-GZJKDKEB.js} +5 -5
- package/{chunk-EQWIZ4DC.js.map → chunk-GZJKDKEB.js.map} +1 -1
- package/{chunk-5GI6UANN.js → chunk-KRSIQ2CB.js} +2 -1
- package/chunk-KRSIQ2CB.js.map +1 -0
- package/{chunk-V7HAO7KE.mjs → chunk-QY46KGSX.mjs} +3 -3
- package/{chunk-K34Y62WO.mjs → chunk-RCRQSAMN.mjs} +2 -2
- package/chunk-RUACSQT3.js +84 -0
- package/chunk-RUACSQT3.js.map +1 -0
- package/{chunk-YFW7UI3E.mjs → chunk-TYSI4CV6.mjs} +5 -4
- package/chunk-TYSI4CV6.mjs.map +1 -0
- package/components/form/date-picker.js +4 -4
- package/components/form/date-picker.mjs +3 -3
- package/components/form/date-range-picker.js +4 -4
- package/components/form/date-range-picker.mjs +2 -2
- package/components/form/hook-date-picker.js +4 -4
- package/components/form/hook-date-picker.mjs +3 -3
- package/components/form/hook-select.d.mts +11 -0
- package/components/form/hook-select.d.ts +11 -0
- package/components/form/hook-select.js +72 -0
- package/components/form/hook-select.js.map +1 -0
- package/components/form/hook-select.mjs +72 -0
- package/components/form/hook-select.mjs.map +1 -0
- package/components/form/hook-text-input.js +2 -2
- package/components/form/hook-text-input.mjs +1 -1
- package/components/form/hook-textarea.js +2 -2
- package/components/form/hook-textarea.mjs +1 -1
- package/components/form/select.d.mts +23 -0
- package/components/form/select.d.ts +23 -0
- package/components/form/select.js +11 -0
- package/components/form/select.js.map +1 -0
- package/components/form/select.mjs +11 -0
- package/components/form/select.mjs.map +1 -0
- package/components/form/text-input.js +2 -2
- package/components/form/text-input.mjs +1 -1
- package/components/form/textarea.js +2 -2
- package/components/form/textarea.mjs +1 -1
- package/components/ui/alert-dialog.js +3 -3
- package/components/ui/alert-dialog.mjs +1 -1
- package/components/ui/button.d.mts +1 -0
- package/components/ui/button.d.ts +1 -0
- package/components/ui/button.js +2 -2
- package/components/ui/button.mjs +1 -1
- package/components/ui/calendar.js +3 -3
- package/components/ui/calendar.mjs +2 -2
- package/components/ui/carousel.js +3 -3
- package/components/ui/carousel.mjs +1 -1
- package/components/ui/pagination.js +2 -2
- package/components/ui/pagination.mjs +1 -1
- package/components/ui/sidebar.js +8 -8
- package/components/ui/sidebar.js.map +1 -1
- package/components/ui/sidebar.mjs +8 -8
- package/components/widgets/dialog-manager/index.js +2 -2
- package/components/widgets/dialog-manager/index.js.map +1 -1
- package/components/widgets/dialog-manager/index.mjs +1 -1
- package/package.json +1 -1
- package/chunk-5GI6UANN.js.map +0 -1
- package/chunk-HPHG6IFO.mjs.map +0 -1
- package/chunk-Y2EVJJLM.js.map +0 -1
- package/chunk-YFW7UI3E.mjs.map +0 -1
- package/chunk-Z6AUIAE7.js.map +0 -1
- /package/{chunk-V7HAO7KE.mjs.map → chunk-QY46KGSX.mjs.map} +0 -0
- /package/{chunk-K34Y62WO.mjs.map → chunk-RCRQSAMN.mjs.map} +0 -0
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Label
|
|
3
|
+
} from "./chunk-7W42BHVK.mjs";
|
|
4
|
+
import {
|
|
5
|
+
cn
|
|
6
|
+
} from "./chunk-3ONILUYO.mjs";
|
|
7
|
+
import {
|
|
8
|
+
__objRest,
|
|
9
|
+
__spreadProps,
|
|
10
|
+
__spreadValues
|
|
11
|
+
} from "./chunk-YOSPWY5K.mjs";
|
|
12
|
+
|
|
13
|
+
// components/form/select.tsx
|
|
14
|
+
import React from "react";
|
|
15
|
+
import _kebabCase from "lodash-es/kebabCase";
|
|
16
|
+
import _isString from "lodash-es/isString";
|
|
17
|
+
function listToSelectOptions(items) {
|
|
18
|
+
return items.map((item) => {
|
|
19
|
+
return { label: item, value: item };
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function FormSelect(_a) {
|
|
23
|
+
var _b = _a, {
|
|
24
|
+
id,
|
|
25
|
+
name,
|
|
26
|
+
label,
|
|
27
|
+
selectProps,
|
|
28
|
+
data,
|
|
29
|
+
defaultValue,
|
|
30
|
+
classNames,
|
|
31
|
+
required,
|
|
32
|
+
disabled
|
|
33
|
+
} = _b, others = __objRest(_b, [
|
|
34
|
+
"id",
|
|
35
|
+
"name",
|
|
36
|
+
"label",
|
|
37
|
+
"selectProps",
|
|
38
|
+
"data",
|
|
39
|
+
"defaultValue",
|
|
40
|
+
"classNames",
|
|
41
|
+
"required",
|
|
42
|
+
"disabled"
|
|
43
|
+
]);
|
|
44
|
+
var _a2;
|
|
45
|
+
let _options = [];
|
|
46
|
+
if (data.length > 0) {
|
|
47
|
+
if (_isString(data[0])) {
|
|
48
|
+
_options = listToSelectOptions(data);
|
|
49
|
+
} else {
|
|
50
|
+
_options = data;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (!id) id = _kebabCase(name);
|
|
54
|
+
return /* @__PURE__ */ React.createElement("div", { className: classNames == null ? void 0 : classNames.wrapper }, label && /* @__PURE__ */ React.createElement(Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ React.createElement(
|
|
55
|
+
"select",
|
|
56
|
+
__spreadValues(__spreadProps(__spreadValues({}, selectProps), {
|
|
57
|
+
id,
|
|
58
|
+
name,
|
|
59
|
+
autoComplete: id,
|
|
60
|
+
className: cn(
|
|
61
|
+
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
62
|
+
(_a2 = classNames == null ? void 0 : classNames.input) != null ? _a2 : ""
|
|
63
|
+
),
|
|
64
|
+
required,
|
|
65
|
+
disabled,
|
|
66
|
+
defaultValue
|
|
67
|
+
}), others),
|
|
68
|
+
_options.map((option, index) => {
|
|
69
|
+
return /* @__PURE__ */ React.createElement(
|
|
70
|
+
"option",
|
|
71
|
+
{
|
|
72
|
+
key: option.value,
|
|
73
|
+
value: option.value
|
|
74
|
+
},
|
|
75
|
+
option.label
|
|
76
|
+
);
|
|
77
|
+
})
|
|
78
|
+
));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export {
|
|
82
|
+
FormSelect
|
|
83
|
+
};
|
|
84
|
+
//# sourceMappingURL=chunk-4J7ZCWRI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/form/select.tsx"],"sourcesContent":["'use client';\n\nimport React, { SelectHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isString from 'lodash-es/isString';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\n\ntype SelectProps = SelectHTMLAttributes<HTMLSelectElement>;\n\nexport interface SelectOption {\n label: string;\n value: string;\n}\n\nfunction listToSelectOptions(items: string[]) {\n return items.map((item) => {\n return { label: item, value: item };\n });\n}\n\nexport interface FormSelectProps extends SelectProps {\n id?: string;\n name: string;\n label: string;\n selectProps: SelectProps;\n data: SelectOption[] | string[];\n defaultValue?: string;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormSelect({\n id,\n name,\n label,\n selectProps,\n data,\n defaultValue,\n classNames,\n required,\n disabled,\n ...others\n}: FormSelectProps) {\n let _options: SelectOption[] = [];\n if (data.length > 0) {\n if (_isString(data[0])) {\n _options = listToSelectOptions(data as string[]);\n } else {\n _options = data as SelectOption[];\n }\n }\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={classNames?.wrapper}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <select\n {...selectProps}\n id={id}\n name={name}\n autoComplete={id}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n classNames?.input ?? '',\n )}\n required={required}\n disabled={disabled}\n defaultValue={defaultValue}\n {...others}\n >\n {_options.map((option, index) => {\n return (\n <option\n key={option.value}\n value={option.value}\n // Unfortunately, the selected prop is not properly set at the nested component level.\n // use `defaultValue` in select element.\n // selected={defaultValue ? defaultValue === option.value : index === 0}\n >\n {option.label}\n </option>\n );\n })}\n </select>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;AAEA,OAAO,WAAqC;AAC5C,OAAO,gBAAgB;AACvB,OAAO,eAAe;AAWtB,SAAS,oBAAoB,OAAiB;AAC5C,SAAO,MAAM,IAAI,CAAC,SAAS;AACzB,WAAO,EAAE,OAAO,MAAM,OAAO,KAAK;AAAA,EACpC,CAAC;AACH;AAgBO,SAAS,WAAW,IAWP;AAXO,eACzB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EA5CF,IAmC2B,IAUtB,mBAVsB,IAUtB;AAAA,IATH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AA5CF,MAAAA;AA+CE,MAAI,WAA2B,CAAC;AAChC,MAAI,KAAK,SAAS,GAAG;AACnB,QAAI,UAAU,KAAK,CAAC,CAAC,GAAG;AACtB,iBAAW,oBAAoB,IAAgB;AAAA,IACjD,OAAO;AACL,iBAAW;AAAA,IACb;AAAA,EACF;AAEA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,SACE,oCAAC,SAAI,WAAW,yCAAY,WACzB,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAGF;AAAA,IAAC;AAAA,oDACK,cADL;AAAA,MAEC;AAAA,MACA;AAAA,MACA,cAAc;AAAA,MACd,WAAW;AAAA,QACT;AAAA,SACAA,MAAA,yCAAY,UAAZ,OAAAA,MAAqB;AAAA,MACvB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,QACI;AAAA,IAEH,SAAS,IAAI,CAAC,QAAQ,UAAU;AAC/B,aACE;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,OAAO;AAAA,UACZ,OAAO,OAAO;AAAA;AAAA,QAKb,OAAO;AAAA,MACV;AAAA,IAEJ,CAAC;AAAA,EACH,CACF;AAEJ;","names":["_a"]}
|
|
@@ -164,7 +164,7 @@ function getThinClasses(size) {
|
|
|
164
164
|
}
|
|
165
165
|
var Button = React.forwardRef(
|
|
166
166
|
(_a, ref) => {
|
|
167
|
-
var _b = _a, { className, variant, size, outline, outlineFilled, loading, thin, asChild = false } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className", "variant", "size", "outline", "outlineFilled", "loading", "thin", "asChild"]);
|
|
167
|
+
var _b = _a, { className, variant, size, outline, outlineFilled, loading, thin, asChild = false, children, left } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className", "variant", "size", "outline", "outlineFilled", "loading", "thin", "asChild", "children", "left"]);
|
|
168
168
|
const Comp = asChild ? _reactslot.Slot : "button";
|
|
169
169
|
let outlineClasses = [];
|
|
170
170
|
if (outline || outlineFilled) {
|
|
@@ -173,7 +173,7 @@ var Button = React.forwardRef(
|
|
|
173
173
|
}
|
|
174
174
|
const thinClasses = thin ? getThinClasses(size) : "";
|
|
175
175
|
if (loading) {
|
|
176
|
-
const
|
|
176
|
+
const loaderProps = _chunk2NMEKWO5js.__objRest.call(void 0, props, []);
|
|
177
177
|
const spinnerClasses = outline || outlineFilled ? getOutlineSpinnerClasses(variant) : getSpinnerClasses(variant);
|
|
178
178
|
const loadingClasses = "pointer-events-none";
|
|
179
179
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -198,7 +198,8 @@ var Button = React.forwardRef(
|
|
|
198
198
|
type: "button",
|
|
199
199
|
className: _chunkB2G2EZ4Pjs.cn.call(void 0, buttonVariants({ variant, size, outline, className }), outlineClasses, thinClasses),
|
|
200
200
|
ref
|
|
201
|
-
}, props)
|
|
201
|
+
}, props),
|
|
202
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-1" }, left, children)
|
|
202
203
|
);
|
|
203
204
|
}
|
|
204
205
|
);
|
|
@@ -208,4 +209,4 @@ Button.displayName = "Button";
|
|
|
208
209
|
|
|
209
210
|
|
|
210
211
|
exports.buttonVariants = buttonVariants; exports.Button = Button;
|
|
211
|
-
//# sourceMappingURL=chunk-
|
|
212
|
+
//# sourceMappingURL=chunk-575K47ZF.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-575K47ZF.js","../components/ui/button.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-575K47ZF.js","sourcesContent":[null,"import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Spinner } from './spinner';\n\nconst buttonVariants = cva(\n [\n 'cursor-pointer',\n 'active:translate-y-[0.5px]',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'focus-visible:ring-ring',\n 'font-medium',\n 'gap-2',\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'rounded-sm',\n 'text-sm',\n 'transform',\n 'transition',\n 'transition-colors',\n 'whitespace-nowrap',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n '[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',\n secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',\n success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',\n warning: 'border border-warning bg-warning text-warning-foreground shadow-sm hover:bg-warning/90',\n danger: 'border border-danger bg-danger text-danger-foreground shadow-sm hover:bg-danger/90',\n info: 'border border-info bg-info text-info-foreground shadow-sm hover:bg-info/90',\n light: 'border border-light bg-light text-light-foreground shadow-sm hover:bg-light/90',\n dark: 'border border-dark bg-dark text-dark-foreground shadow-sm hover:bg-dark/90',\n accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',\n destructive:\n 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-light hover:text-light-foreground',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-sm px-3 text-xs',\n lg: 'h-10 rounded-sm px-8',\n icon: 'h-9 w-9',\n },\n outline: {\n false: null,\n true: '',\n },\n outlineFilled: {\n false: null,\n true: '',\n },\n loading: {\n false: null,\n true: '',\n },\n thin: {\n false: null,\n true: '',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n outline: false,\n outlineFilled: false,\n loading: false,\n thin: false,\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n left?: React.ReactNode;\n}\n\nfunction getOutlineClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',\n secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',\n success: 'border-success text-success shadow-sm hover:bg-success/10',\n warning: 'border-warning text-warning shadow-sm hover:bg-warning/10',\n danger: 'border-danger text-danger shadow-sm hover:bg-danger/10',\n info: 'border-info text-info shadow-sm hover:bg-info/10',\n light: 'border-light text-light-foreground shadow-sm hover:bg-light/10',\n dark: 'border-dark text-dark shadow-sm hover:bg-dark/10',\n accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',\n destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',\n muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getOutlineFilledClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'hover:bg-primary hover:text-primary-foreground',\n secondary: 'hover:bg-secondary hover:text-secondary-foreground',\n success: 'hover:bg-success hover:text-success-foreground',\n warning: 'hover:bg-warning hover:text-warning-foreground',\n danger: 'hover:bg-danger hover:text-danger-foreground',\n info: 'hover:bg-info hover:text-info-foreground',\n light: 'hover:bg-light hover:text-light-foreground',\n dark: 'hover:bg-dark hover:text-dark-foreground',\n accent: 'hover:bg-accent hover:text-accent-foreground',\n destructive: 'hover:bg-destructive hover:text-destructive-foreground',\n muted: 'hover:bg-muted hover:text-muted-foreground',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getSpinnerClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'bg-primary text-primary-foreground hover:bg-primary',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary',\n success: 'bg-success text-success-foreground hover:bg-success',\n warning: 'bg-warning text-warning-foreground hover:bg-warning',\n danger: 'bg-danger text-danger-foreground hover:bg-danger',\n info: 'bg-info text-info-foreground hover:bg-info',\n light: 'bg-light text-light-foreground hover:bg-light',\n dark: 'bg-dark text-dark-foreground hover:bg-dark',\n accent: 'bg-accent text-accent-foreground hover:bg-accent',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive',\n muted: 'bg-muted text-muted-foreground hover:bg-muted',\n link: 'text-primary',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getOutlineSpinnerClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n info: 'text-info',\n light: 'text-light',\n dark: 'text-dark',\n accent: 'text-accent',\n destructive: 'text-destructive',\n muted: 'text-muted-foreground',\n link: 'text-primary',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getThinClasses(size: any) {\n const colors: Record<string, string> = {\n default: 'h-8 px-2 py-1',\n sm: 'h-7 px-2 py-1',\n lg: 'h-9 px-2 py-1',\n icon: 'h-8 w-8',\n };\n\n return colors[size ?? 'default'];\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, size, outline, outlineFilled, loading, thin, asChild = false, children, left, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n\n let outlineClasses: string[] = [];\n if (outline || outlineFilled) {\n outlineClasses = ['bg-white border', getOutlineClasses(variant)];\n if (outlineFilled) outlineClasses.push(getOutlineFilledClasses(variant));\n }\n\n const thinClasses = thin ? getThinClasses(size) : '';\n\n if (loading) {\n const { ...loaderProps } = props;\n const spinnerClasses = outline || outlineFilled ? getOutlineSpinnerClasses(variant) : getSpinnerClasses(variant);\n const loadingClasses = 'pointer-events-none';\n\n return (\n <Comp\n type=\"button\"\n className={cn(\n buttonVariants({ variant, size, outline, className }),\n outlineClasses,\n thinClasses,\n spinnerClasses,\n loadingClasses,\n )}\n ref={ref}\n {...loaderProps}\n >\n <div className=\"relative inline-flex items-center\">\n <span className=\"invisible\">{children}</span>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner className={cn(spinnerClasses, loadingClasses)} />\n </span>\n </div>\n </Comp>\n );\n }\n\n return (\n <Comp\n type=\"button\"\n className={cn(buttonVariants({ variant, size, outline, className }), outlineClasses, thinClasses)}\n ref={ref}\n {...props}\n >\n <div className=\"flex items-center gap-1\">\n {left}\n {children}\n </div>\n </Comp>\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"]}
|
|
@@ -46,6 +46,7 @@ function FormTextarea(_a) {
|
|
|
46
46
|
id,
|
|
47
47
|
name,
|
|
48
48
|
rows,
|
|
49
|
+
required,
|
|
49
50
|
disabled,
|
|
50
51
|
autoComplete: "off"
|
|
51
52
|
}, inputProps), others), {
|
|
@@ -68,4 +69,4 @@ function FormTextarea(_a) {
|
|
|
68
69
|
|
|
69
70
|
|
|
70
71
|
exports.FormTextarea = FormTextarea;
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-AIYBVHJZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-AIYBVHJZ.js","../components/form/textarea.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACbA,4EAAsD;AACtD,4GAAwB;AACxB,wGAAuB;AAOvB,IAAM,WAAA,EAAa,EAAA;AAcZ,SAAS,YAAA,CAAa,EAAA,EAUP;AAVO,EAAA,IAAA,GAAA,EAAA,EAAA,EAC3B;AAAA,IAAA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA,EAAO,CAAA;AAAA,IACP,UAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA,EAAa,CAAC;AAAA,EAjChB,EAAA,EAyB6B,EAAA,EASxB,OAAA,EAAA,wCAAA,EATwB,EASxB;AAAA,IARH,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AAGA,EAAA,GAAA,CAAI,CAAC,EAAA,EAAI,GAAA,EAAK,iCAAA,IAAe,CAAA;AAC7B,EAAA,MAAM,KAAA,EAAO,2BAAA,IAAgC,CAAA;AAE7C,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,UAAG,EAAY,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,OAAO,EAAA,CAAA,EAC/C,MAAA,mBACC,eAAA,CAAA,aAAA,CAAC,sBAAA,EAAA,EAAM,OAAA,EAAS,EAAA,EAAI,SAAA,EAAW,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO,SAAA,CAAA,EAC/C,KACH,CAAA,kBAEF,eAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA,4CAAA,6CAAA,6CAAA;AAAA,MACC,EAAA;AAAA,MACA,IAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA,EAAa;AAAA,IAAA,CAAA,EACT,UAAA,CAAA,EACA,MAAA,CAAA,EARL;AAAA,MAYC,GAAA,EAAK,CAAC,EAAA,EAAA,GAAO;AACX,QAAA,GAAA,CAAI,CAAC,EAAA,EAAI,MAAA;AAET,QAAA,CAAC,IAAA,EAAM,UAAA,CAAW,GAAG,CAAA,CAAE,OAAA,CAAQ,CAAC,EAAA,EAAA,GAAO;AACrC,UAAA,GAAA,CAAI,CAAC,EAAA,EAAI,MAAA;AAET,UAAA,GAAA,CAAI,kCAAA,EAAc,CAAA,EAAG;AACnB,YAAA,EAAA,CAAG,EAAE,CAAA;AAAA,UACP,EAAA,KAAO;AACL,YAAA,EAAA,CAAG,QAAA,EAAU,EAAA;AAAA,UACf;AAAA,QACF,CAAC,CAAA;AAAA,MACH,CAAA;AAAA,MACA,SAAA,EAAW,iCAAA,UAAG,EAAY,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAK;AAAA,IAAA,CAAA;AAAA,EAC7C,CACF,CAAA;AAEJ;ADRA;AACA;AACE;AACF,oCAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-AIYBVHJZ.js","sourcesContent":[null,"'use client';\n\nimport React, { TextareaHTMLAttributes, useRef } from 'react';\nimport _isFunction from 'lodash-es/isFunction';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Textarea } from '../ui/textarea';\n\ninterface InputProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst inputClass = '';\n\nexport interface FormTextareaProps extends InputProps {\n id?: string;\n name: string;\n label?: string;\n inputProps?: InputProps & { ref?: any };\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormTextarea({\n id,\n name,\n label,\n rows = 5,\n classNames,\n required,\n disabled,\n inputProps = {},\n ...others\n}: FormTextareaProps) {\n if (!id) id = _kebabCase(name);\n const _ref = useRef<HTMLTextAreaElement>(null);\n\n return (\n <div className={cn('textarea', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n rows={rows}\n required={required}\n disabled={disabled}\n autoComplete=\"off\"\n {...inputProps}\n {...others}\n // Required to bind three potential refs:\n // 1. From the inputProps ex) react-hook-form.\n // 2. From the this component instance itself.\n ref={(el) => {\n if (!el) return;\n\n [_ref, inputProps.ref].forEach((rf) => {\n if (!rf) return;\n\n if (_isFunction(rf)) {\n rf(el);\n } else {\n rf.current = el;\n }\n });\n }}\n className={cn(inputClass, classNames?.input)}\n />\n </div>\n );\n}\n"]}
|
|
@@ -44,6 +44,7 @@ function FormTextInput(_a) {
|
|
|
44
44
|
type,
|
|
45
45
|
id,
|
|
46
46
|
name,
|
|
47
|
+
required,
|
|
47
48
|
disabled,
|
|
48
49
|
autoComplete: "off"
|
|
49
50
|
}, inputProps), others), {
|
|
@@ -55,4 +56,4 @@ function FormTextInput(_a) {
|
|
|
55
56
|
export {
|
|
56
57
|
FormTextInput
|
|
57
58
|
};
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-ASPYSRE6.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../components/form/text-input.tsx"],"sourcesContent":["'use client';\n\nimport React, { InputHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Input } from '../ui/input';\n\ninterface InputProps extends InputHTMLAttributes<HTMLInputElement> {}\n\nconst inputClass = '';\n\nexport interface FormTextInputProps extends InputProps {\n id?: string;\n name: string;\n label?: string;\n inputProps?: InputProps;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormTextInput({\n id,\n name,\n label,\n type = 'text',\n classNames,\n required,\n disabled,\n inputProps = {},\n ...others\n}: FormTextInputProps) {\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('_text-input', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n <Input\n type={type}\n id={id}\n name={name}\n disabled={disabled}\n autoComplete=\"off\"\n {...inputProps}\n {...others}\n className={cn(inputClass, classNames?.input)}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEA,OAAO,WAAoC;AAC3C,OAAO,gBAAgB;AAOvB,IAAM,aAAa;AAcZ,SAAS,cAAc,IAUP;AAVO,eAC5B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,CAAC;AAAA,EAhChB,IAwB8B,IASzB,mBATyB,IASzB;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,SACE,oCAAC,SAAI,WAAW,GAAG,eAAe,yCAAY,OAAO,KAClD,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAEF;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAa;AAAA,OACT,aACA,
|
|
1
|
+
{"version":3,"sources":["../components/form/text-input.tsx"],"sourcesContent":["'use client';\n\nimport React, { InputHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Input } from '../ui/input';\n\ninterface InputProps extends InputHTMLAttributes<HTMLInputElement> {}\n\nconst inputClass = '';\n\nexport interface FormTextInputProps extends InputProps {\n id?: string;\n name: string;\n label?: string;\n inputProps?: InputProps;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormTextInput({\n id,\n name,\n label,\n type = 'text',\n classNames,\n required,\n disabled,\n inputProps = {},\n ...others\n}: FormTextInputProps) {\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('_text-input', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n <Input\n type={type}\n id={id}\n name={name}\n required={required}\n disabled={disabled}\n autoComplete=\"off\"\n {...inputProps}\n {...others}\n className={cn(inputClass, classNames?.input)}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEA,OAAO,WAAoC;AAC3C,OAAO,gBAAgB;AAOvB,IAAM,aAAa;AAcZ,SAAS,cAAc,IAUP;AAVO,eAC5B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,CAAC;AAAA,EAhChB,IAwB8B,IASzB,mBATyB,IASzB;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,SACE,oCAAC,SAAI,WAAW,GAAG,eAAe,yCAAY,OAAO,KAClD,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAEF;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAa;AAAA,OACT,aACA,SARL;AAAA,MASC,WAAW,GAAG,YAAY,yCAAY,KAAK;AAAA;AAAA,EAC7C,CACF;AAEJ;","names":[]}
|
|
@@ -46,6 +46,7 @@ function FormTextarea(_a) {
|
|
|
46
46
|
id,
|
|
47
47
|
name,
|
|
48
48
|
rows,
|
|
49
|
+
required,
|
|
49
50
|
disabled,
|
|
50
51
|
autoComplete: "off"
|
|
51
52
|
}, inputProps), others), {
|
|
@@ -68,4 +69,4 @@ function FormTextarea(_a) {
|
|
|
68
69
|
export {
|
|
69
70
|
FormTextarea
|
|
70
71
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-DNKFPC6O.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/form/textarea.tsx"],"sourcesContent":["'use client';\n\nimport React, { TextareaHTMLAttributes, useRef } from 'react';\nimport _isFunction from 'lodash-es/isFunction';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Textarea } from '../ui/textarea';\n\ninterface InputProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst inputClass = '';\n\nexport interface FormTextareaProps extends InputProps {\n id?: string;\n name: string;\n label?: string;\n inputProps?: InputProps & { ref?: any };\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormTextarea({\n id,\n name,\n label,\n rows = 5,\n classNames,\n required,\n disabled,\n inputProps = {},\n ...others\n}: FormTextareaProps) {\n if (!id) id = _kebabCase(name);\n const _ref = useRef<HTMLTextAreaElement>(null);\n\n return (\n <div className={cn('textarea', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n <Textarea\n id={id}\n name={name}\n rows={rows}\n required={required}\n disabled={disabled}\n autoComplete=\"off\"\n {...inputProps}\n {...others}\n // Required to bind three potential refs:\n // 1. From the inputProps ex) react-hook-form.\n // 2. From the this component instance itself.\n ref={(el) => {\n if (!el) return;\n\n [_ref, inputProps.ref].forEach((rf) => {\n if (!rf) return;\n\n if (_isFunction(rf)) {\n rf(el);\n } else {\n rf.current = el;\n }\n });\n }}\n className={cn(inputClass, classNames?.input)}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAEA,OAAO,SAAiC,cAAc;AACtD,OAAO,iBAAiB;AACxB,OAAO,gBAAgB;AAOvB,IAAM,aAAa;AAcZ,SAAS,aAAa,IAUP;AAVO,eAC3B;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA,aAAa,CAAC;AAAA,EAjChB,IAyB6B,IASxB,mBATwB,IASxB;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAC7B,QAAM,OAAO,OAA4B,IAAI;AAE7C,SACE,oCAAC,SAAI,WAAW,GAAG,YAAY,yCAAY,OAAO,KAC/C,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAEF;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,cAAa;AAAA,OACT,aACA,SARL;AAAA,MAYC,KAAK,CAAC,OAAO;AACX,YAAI,CAAC,GAAI;AAET,SAAC,MAAM,WAAW,GAAG,EAAE,QAAQ,CAAC,OAAO;AACrC,cAAI,CAAC,GAAI;AAET,cAAI,YAAY,EAAE,GAAG;AACnB,eAAG,EAAE;AAAA,UACP,OAAO;AACL,eAAG,UAAU;AAAA,UACf;AAAA,QACF,CAAC;AAAA,MACH;AAAA,MACA,WAAW,GAAG,YAAY,yCAAY,KAAK;AAAA;AAAA,EAC7C,CACF;AAEJ;","names":[]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var _chunk575K47ZFjs = require('./chunk-575K47ZF.js');
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
var _chunkB2G2EZ4Pjs = require('./chunk-B2G2EZ4P.js');
|
|
@@ -17,7 +17,7 @@ var _reactdaypicker = require('react-day-picker');
|
|
|
17
17
|
function Calendar(_a) {
|
|
18
18
|
var _b = _a, { className, classNames, showOutsideDays = true } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className", "classNames", "showOutsideDays"]);
|
|
19
19
|
const navigationButtonClass = _chunkB2G2EZ4Pjs.cn.call(void 0,
|
|
20
|
-
|
|
20
|
+
_chunk575K47ZFjs.buttonVariants.call(void 0, { variant: "light" }),
|
|
21
21
|
"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
|
|
22
22
|
);
|
|
23
23
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -40,7 +40,7 @@ function Calendar(_a) {
|
|
|
40
40
|
week: "flex w-full mt-2",
|
|
41
41
|
day: "h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md",
|
|
42
42
|
day_button: _chunkB2G2EZ4Pjs.cn.call(void 0,
|
|
43
|
-
|
|
43
|
+
_chunk575K47ZFjs.buttonVariants.call(void 0, { variant: "ghost" }),
|
|
44
44
|
"h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20"
|
|
45
45
|
),
|
|
46
46
|
range_start: "day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground",
|
|
@@ -68,4 +68,4 @@ Calendar.displayName = "Calendar";
|
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
exports.Calendar = Calendar;
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-GLZZPRFW.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-GLZZPRFW.js","../components/ui/calendar.tsx"],"names":["_a","props"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACVA,2EAAuB;AAEvB,2CAA0C;AAC1C,kDAA0B;AAO1B,SAAS,QAAA,CAAS,EAAA,EAA4E;AAA5E,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,UAAA,EAAY,gBAAA,EAAkB,KAZ7D,EAAA,EAYkB,EAAA,EAAoD,MAAA,EAAA,wCAAA,EAApD,EAAoD,CAAlD,WAAA,EAAW,YAAA,EAAY,iBAAA,CAAA,CAAA;AACzC,EAAA,MAAM,sBAAA,EAAwB,iCAAA;AAAA,IAC5B,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,IACnC;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA,6CAAA;AAAA,MACC,eAAA;AAAA,MACA,SAAA,EAAW,iCAAA,cAAG,EAAgB,SAAS,CAAA;AAAA,MACvC,UAAA,EAAY,6CAAA;AAAA,QACV,KAAA,EAAO,WAAA;AAAA,QACP,MAAA,EAAQ,iEAAA;AAAA,QACR,aAAA,EAAe,gDAAA;AAAA,QACf,UAAA,EAAY,kCAAA;AAAA,QACZ,aAAA,EAAe,qBAAA;AAAA,QACf,GAAA,EAAK,sDAAA;AAAA,QACL,eAAA,EAAiB,qBAAA;AAAA,QACjB,WAAA,EAAa,qBAAA;AAAA,QACb,KAAA,EAAO,wBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,OAAA,EAAS,gEAAA;AAAA,QACT,IAAA,EAAM,kBAAA;AAAA,QACN,GAAA,EAAK,iIAAA;AAAA,QACL,UAAA,EAAY,iCAAA;AAAA,UACV,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,UACnC;AAAA,QACF,CAAA;AAAA,QACA,WAAA,EACE,0KAAA;AAAA,QACF,SAAA,EACE,wKAAA;AAAA,QACF,YAAA,EAAc,oEAAA;AAAA,QACd,QAAA,EAAU,iCAAA;AAAA,UACR,KAAA,CAAM,KAAA,IAAS,QAAA,EACX,2GAAA,EACA;AAAA,QACN,CAAA;AAAA,QACA,KAAA,EAAO,mEAAA;AAAA,QACP,OAAA,EACE,4IAAA;AAAA,QACF,QAAA,EAAU,kCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,MAAA,CAAA,EACL,UAAA,CAAA;AAAA,MAEL,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,CAACA,GAAAA,EAAAA,GAAc;AAAd,UAAA,IAAKC,OAAAA,EAAA,wCAAA,GAALD,EAAK,CAAA,CAAA,CAAA;AACb,UAAA,OAAAC,MAAAA,CAAM,YAAA,IAAgB,OAAA,kBACpB,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAgBA,MAAAA,CAAAA,EAAhB,EAAuB,SAAA,EAAU,UAAA,CAAA,CAAU,EAAA,kBAE5C,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAiBA,MAAAA,CAAAA,EAAjB,EAAwB,SAAA,EAAU,UAAA,CAAA,CAAU,CAAA;AAAA,QAAA;AAAA,MAEnD;AAAA,IAAA,CAAA,EACI,KAAA;AAAA,EACN,CAAA;AAEJ;AACA,QAAA,CAAS,YAAA,EAAc,UAAA;ADHvB;AACA;AACE;AACF,4BAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-GLZZPRFW.js","sourcesContent":[null,"'use client';\n\nimport * as React from 'react';\nimport type { ComponentProps } from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { buttonVariants } from '../../components/ui/button';\n\nexport type CalendarProps = ComponentProps<typeof DayPicker>;\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n const navigationButtonClass = cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n );\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3 bg-white', className)}\n classNames={{\n month: 'space-y-4',\n months: 'flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2',\n month_caption: 'flex justify-center pt-1 relative items-center',\n month_grid: 'w-full border-collapse space-y-1',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center justify-between absolute inset-x-0',\n button_previous: navigationButtonClass,\n button_next: navigationButtonClass,\n weeks: 'w-full border-collapse',\n weekdays: 'flex',\n weekday: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md',\n day_button: cn(\n buttonVariants({ variant: 'ghost' }),\n 'h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20',\n ),\n range_start:\n 'day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_end:\n 'day-range-end !bg-secondary rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_middle: 'aria-selected:bg-secondary aria-selected:text-secondary-foreground',\n selected: cn(\n props.mode === 'range'\n ? 'bg-primary hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground'\n : 'rounded-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n ),\n today: 'text-success italic [&>button]:underline [&>button]:font-semibold',\n outside:\n 'day-outside text-muted-foreground opacity-50 !aria-selected:bg-secondary/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30',\n disabled: 'text-muted-foreground opacity-50',\n hidden: 'invisible',\n ...classNames,\n }}\n components={{\n Chevron: ({ ...props }) =>\n props.orientation === 'left' ? (\n <ChevronLeft {...props} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...props} className=\"h-4 w-4\" />\n ),\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"]}
|
|
@@ -5,10 +5,10 @@
|
|
|
5
5
|
var _chunkZ33UILCVjs = require('./chunk-Z33UILCV.js');
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkGLZZPRFWjs = require('./chunk-GLZZPRFW.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
var
|
|
11
|
+
var _chunk575K47ZFjs = require('./chunk-575K47ZF.js');
|
|
12
12
|
|
|
13
13
|
|
|
14
14
|
var _chunkAIRT3G2Fjs = require('./chunk-AIRT3G2F.js');
|
|
@@ -73,7 +73,7 @@ function FormDatePicker({
|
|
|
73
73
|
if (!id) id = _kebabCase3.default.call(void 0, name);
|
|
74
74
|
const display = !initialized ? /* @__PURE__ */ _react2.default.createElement("span", null) : date ? /* @__PURE__ */ _react2.default.createElement(_react2.default.Fragment, null, formatDate(date)) : /* @__PURE__ */ _react2.default.createElement("span", null, "Pick a date");
|
|
75
75
|
return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkB2G2EZ4Pjs.cn.call(void 0, "date-picker", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ _react2.default.createElement(_chunkAXZDZXCYjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkB2G2EZ4Pjs.cn.call(void 0, "grid gap-2") }, /* @__PURE__ */ _react2.default.createElement(_chunkZ33UILCVjs.Popover, null, /* @__PURE__ */ _react2.default.createElement(_chunkZ33UILCVjs.PopoverTrigger, { asChild: true }, /* @__PURE__ */ _react2.default.createElement(
|
|
76
|
-
|
|
76
|
+
_chunk575K47ZFjs.Button,
|
|
77
77
|
{
|
|
78
78
|
variant: date ? "secondary" : "muted",
|
|
79
79
|
outline: true,
|
|
@@ -82,7 +82,7 @@ function FormDatePicker({
|
|
|
82
82
|
/* @__PURE__ */ _react2.default.createElement(_lucidereact.CalendarIcon, null),
|
|
83
83
|
display
|
|
84
84
|
)), /* @__PURE__ */ _react2.default.createElement(_chunkZ33UILCVjs.PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ _react2.default.createElement(
|
|
85
|
-
|
|
85
|
+
_chunkGLZZPRFWjs.Calendar,
|
|
86
86
|
{
|
|
87
87
|
mode: "single",
|
|
88
88
|
defaultMonth: date,
|
|
@@ -99,4 +99,4 @@ function FormDatePicker({
|
|
|
99
99
|
|
|
100
100
|
|
|
101
101
|
exports.FormDatePicker = FormDatePicker;
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-GZJKDKEB.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-GZJKDKEB.js","../components/form/date-picker.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-GZJKDKEB.js","sourcesContent":[null,"'use client';\n\nimport React, { useEffect, useState } from 'react';\nimport { addDays, format, isEqual } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\nimport _isUndefined from 'lodash-es/isUndefined';\nimport _isString from 'lodash-es/isString';\n\nimport { isEqualDate } from '../../lib/date';\nimport { cn } from '../../lib/utils';\nimport { Button } from '../ui/button';\nimport { Label } from '../ui/label';\nimport { Calendar } from '../ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\n\nfunction formatDate(date: Date) {\n return format(date, 'LLL dd, y');\n}\n\nfunction getStartOfDay(date: Date) {\n const startOfDay = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n return startOfDay;\n}\n\nexport interface FormDatePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n initialValue?: Date | string;\n value?: Date | string;\n onChange: (value?: Date) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n button?: string;\n };\n}\n\nexport function FormDatePicker({\n id,\n name,\n label,\n required = false,\n disabled = false,\n initialValue,\n value,\n onChange,\n classNames,\n}: FormDatePickerProps) {\n const [date, setDate] = useState<Date | undefined>(undefined);\n const [initialized, setInitialized] = useState(false);\n\n useEffect(() => {\n if (!initialized) {\n const dt = initialValue ? getStartOfDay(new Date(initialValue)) : getStartOfDay(new Date());\n\n setDate(dt);\n setInitialized(true);\n }\n }, [initialized, initialValue]);\n\n useEffect(() => {\n if (_isUndefined(value)) {\n if (!_isUndefined(date)) {\n setDate(undefined);\n }\n } else {\n const dt = _isString(value) ? new Date(value) : value;\n if (!isEqualDate(date, dt)) {\n setDate(getStartOfDay(dt));\n }\n }\n }, [value]);\n\n useEffect(() => {\n if (initialized) {\n onChange(date);\n }\n }, [date, initialized]);\n\n if (!id) id = _kebabCase(name);\n\n const display = !initialized ? <span></span> : date ? <>{formatDate(date)}</> : <span>Pick a date</span>;\n\n return (\n <div className={cn('date-picker', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n <div className={cn('grid gap-2')}>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n variant={date ? 'secondary' : 'muted'}\n outline\n className={cn('min-w-[145px] justify-start text-left font-normal', classNames?.button)}\n >\n <CalendarIcon />\n {display}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n defaultMonth={date}\n selected={date}\n onSelect={(newdate) => {\n if (!isEqualDate(date, newdate)) {\n setDate(newdate);\n }\n }}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -44,6 +44,7 @@ function FormTextInput(_a) {
|
|
|
44
44
|
type,
|
|
45
45
|
id,
|
|
46
46
|
name,
|
|
47
|
+
required,
|
|
47
48
|
disabled,
|
|
48
49
|
autoComplete: "off"
|
|
49
50
|
}, inputProps), others), {
|
|
@@ -55,4 +56,4 @@ function FormTextInput(_a) {
|
|
|
55
56
|
|
|
56
57
|
|
|
57
58
|
exports.FormTextInput = FormTextInput;
|
|
58
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-KRSIQ2CB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-KRSIQ2CB.js","../components/form/text-input.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACbA,4EAA2C;AAC3C,wGAAuB;AAOvB,IAAM,WAAA,EAAa,EAAA;AAcZ,SAAS,aAAA,CAAc,EAAA,EAUP;AAVO,EAAA,IAAA,GAAA,EAAA,EAAA,EAC5B;AAAA,IAAA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA,EAAO,MAAA;AAAA,IACP,UAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA,EAAa,CAAC;AAAA,EAhChB,EAAA,EAwB8B,EAAA,EASzB,OAAA,EAAA,wCAAA,EATyB,EASzB;AAAA,IARH,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AAGA,EAAA,GAAA,CAAI,CAAC,EAAA,EAAI,GAAA,EAAK,iCAAA,IAAe,CAAA;AAE7B,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,aAAG,EAAe,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,OAAO,EAAA,CAAA,EAClD,MAAA,mBACC,eAAA,CAAA,aAAA,CAAC,sBAAA,EAAA,EAAM,OAAA,EAAS,EAAA,EAAI,SAAA,EAAW,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO,SAAA,CAAA,EAC/C,KACH,CAAA,kBAEF,eAAA,CAAA,aAAA;AAAA,IAAC,sBAAA;AAAA,IAAA,4CAAA,6CAAA,6CAAA;AAAA,MACC,IAAA;AAAA,MACA,EAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA,EAAa;AAAA,IAAA,CAAA,EACT,UAAA,CAAA,EACA,MAAA,CAAA,EARL;AAAA,MASC,SAAA,EAAW,iCAAA,UAAG,EAAY,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAK;AAAA,IAAA,CAAA;AAAA,EAC7C,CACF,CAAA;AAEJ;ADHA;AACA;AACE;AACF,sCAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-KRSIQ2CB.js","sourcesContent":[null,"'use client';\n\nimport React, { InputHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\nimport { Input } from '../ui/input';\n\ninterface InputProps extends InputHTMLAttributes<HTMLInputElement> {}\n\nconst inputClass = '';\n\nexport interface FormTextInputProps extends InputProps {\n id?: string;\n name: string;\n label?: string;\n inputProps?: InputProps;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormTextInput({\n id,\n name,\n label,\n type = 'text',\n classNames,\n required,\n disabled,\n inputProps = {},\n ...others\n}: FormTextInputProps) {\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('_text-input', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n <Input\n type={type}\n id={id}\n name={name}\n required={required}\n disabled={disabled}\n autoComplete=\"off\"\n {...inputProps}\n {...others}\n className={cn(inputClass, classNames?.input)}\n />\n </div>\n );\n}\n"]}
|
|
@@ -5,10 +5,10 @@ import {
|
|
|
5
5
|
} from "./chunk-M2OVLURH.mjs";
|
|
6
6
|
import {
|
|
7
7
|
Calendar
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-RCRQSAMN.mjs";
|
|
9
9
|
import {
|
|
10
10
|
Button
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-TYSI4CV6.mjs";
|
|
12
12
|
import {
|
|
13
13
|
isEqualDate
|
|
14
14
|
} from "./chunk-SXP4Q3XZ.mjs";
|
|
@@ -99,4 +99,4 @@ function FormDatePicker({
|
|
|
99
99
|
export {
|
|
100
100
|
FormDatePicker
|
|
101
101
|
};
|
|
102
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-QY46KGSX.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buttonVariants
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TYSI4CV6.mjs";
|
|
4
4
|
import {
|
|
5
5
|
cn
|
|
6
6
|
} from "./chunk-3ONILUYO.mjs";
|
|
@@ -68,4 +68,4 @@ Calendar.displayName = "Calendar";
|
|
|
68
68
|
export {
|
|
69
69
|
Calendar
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-RCRQSAMN.mjs.map
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
2
|
+
|
|
3
|
+
var _chunkAXZDZXCYjs = require('./chunk-AXZDZXCY.js');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkB2G2EZ4Pjs = require('./chunk-B2G2EZ4P.js');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _chunk2NMEKWO5js = require('./chunk-2NMEKWO5.js');
|
|
12
|
+
|
|
13
|
+
// components/form/select.tsx
|
|
14
|
+
var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
15
|
+
var _kebabCase2 = require('lodash-es/kebabCase'); var _kebabCase3 = _interopRequireDefault(_kebabCase2);
|
|
16
|
+
var _isString2 = require('lodash-es/isString'); var _isString3 = _interopRequireDefault(_isString2);
|
|
17
|
+
function listToSelectOptions(items) {
|
|
18
|
+
return items.map((item) => {
|
|
19
|
+
return { label: item, value: item };
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
function FormSelect(_a) {
|
|
23
|
+
var _b = _a, {
|
|
24
|
+
id,
|
|
25
|
+
name,
|
|
26
|
+
label,
|
|
27
|
+
selectProps,
|
|
28
|
+
data,
|
|
29
|
+
defaultValue,
|
|
30
|
+
classNames,
|
|
31
|
+
required,
|
|
32
|
+
disabled
|
|
33
|
+
} = _b, others = _chunk2NMEKWO5js.__objRest.call(void 0, _b, [
|
|
34
|
+
"id",
|
|
35
|
+
"name",
|
|
36
|
+
"label",
|
|
37
|
+
"selectProps",
|
|
38
|
+
"data",
|
|
39
|
+
"defaultValue",
|
|
40
|
+
"classNames",
|
|
41
|
+
"required",
|
|
42
|
+
"disabled"
|
|
43
|
+
]);
|
|
44
|
+
var _a2;
|
|
45
|
+
let _options = [];
|
|
46
|
+
if (data.length > 0) {
|
|
47
|
+
if (_isString3.default.call(void 0, data[0])) {
|
|
48
|
+
_options = listToSelectOptions(data);
|
|
49
|
+
} else {
|
|
50
|
+
_options = data;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (!id) id = _kebabCase3.default.call(void 0, name);
|
|
54
|
+
return /* @__PURE__ */ _react2.default.createElement("div", { className: classNames == null ? void 0 : classNames.wrapper }, label && /* @__PURE__ */ _react2.default.createElement(_chunkAXZDZXCYjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement(
|
|
55
|
+
"select",
|
|
56
|
+
_chunk2NMEKWO5js.__spreadValues.call(void 0, _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {}, selectProps), {
|
|
57
|
+
id,
|
|
58
|
+
name,
|
|
59
|
+
autoComplete: id,
|
|
60
|
+
className: _chunkB2G2EZ4Pjs.cn.call(void 0,
|
|
61
|
+
"flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
62
|
+
(_a2 = classNames == null ? void 0 : classNames.input) != null ? _a2 : ""
|
|
63
|
+
),
|
|
64
|
+
required,
|
|
65
|
+
disabled,
|
|
66
|
+
defaultValue
|
|
67
|
+
}), others),
|
|
68
|
+
_options.map((option, index) => {
|
|
69
|
+
return /* @__PURE__ */ _react2.default.createElement(
|
|
70
|
+
"option",
|
|
71
|
+
{
|
|
72
|
+
key: option.value,
|
|
73
|
+
value: option.value
|
|
74
|
+
},
|
|
75
|
+
option.label
|
|
76
|
+
);
|
|
77
|
+
})
|
|
78
|
+
));
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
exports.FormSelect = FormSelect;
|
|
84
|
+
//# sourceMappingURL=chunk-RUACSQT3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-RUACSQT3.js","../components/form/select.tsx"],"names":["_a"],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-RUACSQT3.js","sourcesContent":[null,"'use client';\n\nimport React, { SelectHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isString from 'lodash-es/isString';\nimport { cn } from '../../lib/utils';\nimport { Label } from '../ui/label';\n\ntype SelectProps = SelectHTMLAttributes<HTMLSelectElement>;\n\nexport interface SelectOption {\n label: string;\n value: string;\n}\n\nfunction listToSelectOptions(items: string[]) {\n return items.map((item) => {\n return { label: item, value: item };\n });\n}\n\nexport interface FormSelectProps extends SelectProps {\n id?: string;\n name: string;\n label: string;\n selectProps: SelectProps;\n data: SelectOption[] | string[];\n defaultValue?: string;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormSelect({\n id,\n name,\n label,\n selectProps,\n data,\n defaultValue,\n classNames,\n required,\n disabled,\n ...others\n}: FormSelectProps) {\n let _options: SelectOption[] = [];\n if (data.length > 0) {\n if (_isString(data[0])) {\n _options = listToSelectOptions(data as string[]);\n } else {\n _options = data as SelectOption[];\n }\n }\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={classNames?.wrapper}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <select\n {...selectProps}\n id={id}\n name={name}\n autoComplete={id}\n className={cn(\n 'flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-base shadow-sm transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n classNames?.input ?? '',\n )}\n required={required}\n disabled={disabled}\n defaultValue={defaultValue}\n {...others}\n >\n {_options.map((option, index) => {\n return (\n <option\n key={option.value}\n value={option.value}\n // Unfortunately, the selected prop is not properly set at the nested component level.\n // use `defaultValue` in select element.\n // selected={defaultValue ? defaultValue === option.value : index === 0}\n >\n {option.label}\n </option>\n );\n })}\n </select>\n </div>\n );\n}\n"]}
|
|
@@ -164,7 +164,7 @@ function getThinClasses(size) {
|
|
|
164
164
|
}
|
|
165
165
|
var Button = React.forwardRef(
|
|
166
166
|
(_a, ref) => {
|
|
167
|
-
var _b = _a, { className, variant, size, outline, outlineFilled, loading, thin, asChild = false } = _b, props = __objRest(_b, ["className", "variant", "size", "outline", "outlineFilled", "loading", "thin", "asChild"]);
|
|
167
|
+
var _b = _a, { className, variant, size, outline, outlineFilled, loading, thin, asChild = false, children, left } = _b, props = __objRest(_b, ["className", "variant", "size", "outline", "outlineFilled", "loading", "thin", "asChild", "children", "left"]);
|
|
168
168
|
const Comp = asChild ? Slot : "button";
|
|
169
169
|
let outlineClasses = [];
|
|
170
170
|
if (outline || outlineFilled) {
|
|
@@ -173,7 +173,7 @@ var Button = React.forwardRef(
|
|
|
173
173
|
}
|
|
174
174
|
const thinClasses = thin ? getThinClasses(size) : "";
|
|
175
175
|
if (loading) {
|
|
176
|
-
const
|
|
176
|
+
const loaderProps = __objRest(props, []);
|
|
177
177
|
const spinnerClasses = outline || outlineFilled ? getOutlineSpinnerClasses(variant) : getSpinnerClasses(variant);
|
|
178
178
|
const loadingClasses = "pointer-events-none";
|
|
179
179
|
return /* @__PURE__ */ React.createElement(
|
|
@@ -198,7 +198,8 @@ var Button = React.forwardRef(
|
|
|
198
198
|
type: "button",
|
|
199
199
|
className: cn(buttonVariants({ variant, size, outline, className }), outlineClasses, thinClasses),
|
|
200
200
|
ref
|
|
201
|
-
}, props)
|
|
201
|
+
}, props),
|
|
202
|
+
/* @__PURE__ */ React.createElement("div", { className: "flex items-center gap-1" }, left, children)
|
|
202
203
|
);
|
|
203
204
|
}
|
|
204
205
|
);
|
|
@@ -208,4 +209,4 @@ export {
|
|
|
208
209
|
buttonVariants,
|
|
209
210
|
Button
|
|
210
211
|
};
|
|
211
|
-
//# sourceMappingURL=chunk-
|
|
212
|
+
//# sourceMappingURL=chunk-TYSI4CV6.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/ui/button.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../../lib/utils';\nimport { Spinner } from './spinner';\n\nconst buttonVariants = cva(\n [\n 'cursor-pointer',\n 'active:translate-y-[0.5px]',\n 'disabled:pointer-events-none',\n 'disabled:opacity-50',\n 'focus-visible:outline-none',\n 'focus-visible:ring-1',\n 'focus-visible:ring-ring',\n 'font-medium',\n 'gap-2',\n 'inline-flex',\n 'items-center',\n 'justify-center',\n 'rounded-sm',\n 'text-sm',\n 'transform',\n 'transition',\n 'transition-colors',\n 'whitespace-nowrap',\n '[&_svg]:pointer-events-none',\n '[&_svg]:shrink-0',\n '[&_svg]:size-4',\n ],\n {\n variants: {\n variant: {\n primary: 'border border-primary bg-primary text-primary-foreground shadow-sm hover:bg-primary/90',\n secondary: 'border border-secondary bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/90',\n success: 'border border-success bg-success text-success-foreground shadow-sm hover:bg-success/90',\n warning: 'border border-warning bg-warning text-warning-foreground shadow-sm hover:bg-warning/90',\n danger: 'border border-danger bg-danger text-danger-foreground shadow-sm hover:bg-danger/90',\n info: 'border border-info bg-info text-info-foreground shadow-sm hover:bg-info/90',\n light: 'border border-light bg-light text-light-foreground shadow-sm hover:bg-light/90',\n dark: 'border border-dark bg-dark text-dark-foreground shadow-sm hover:bg-dark/90',\n accent: 'border border-accent bg-accent text-accent-foreground shadow-sm hover:bg-accent/90',\n destructive:\n 'border border-destructive bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90',\n muted: 'border border-muted bg-muted text-muted-foreground shadow-sm hover:bg-muted/90',\n link: 'text-primary underline-offset-4 hover:underline',\n ghost: 'hover:bg-light hover:text-light-foreground',\n },\n size: {\n default: 'h-9 px-4 py-2',\n sm: 'h-8 rounded-sm px-3 text-xs',\n lg: 'h-10 rounded-sm px-8',\n icon: 'h-9 w-9',\n },\n outline: {\n false: null,\n true: '',\n },\n outlineFilled: {\n false: null,\n true: '',\n },\n loading: {\n false: null,\n true: '',\n },\n thin: {\n false: null,\n true: '',\n },\n },\n defaultVariants: {\n variant: 'primary',\n size: 'default',\n outline: false,\n outlineFilled: false,\n loading: false,\n thin: false,\n },\n },\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n left?: React.ReactNode;\n}\n\nfunction getOutlineClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'border-primary text-primary shadow-sm hover:bg-primary/10',\n secondary: 'border-secondary text-secondary shadow-sm hover:bg-secondary/10',\n success: 'border-success text-success shadow-sm hover:bg-success/10',\n warning: 'border-warning text-warning shadow-sm hover:bg-warning/10',\n danger: 'border-danger text-danger shadow-sm hover:bg-danger/10',\n info: 'border-info text-info shadow-sm hover:bg-info/10',\n light: 'border-light text-light-foreground shadow-sm hover:bg-light/10',\n dark: 'border-dark text-dark shadow-sm hover:bg-dark/10',\n accent: 'border-accent text-accent shadow-sm hover:bg-accent/10',\n destructive: 'border-destructive text-destructive shadow-sm hover:bg-destructive/10',\n muted: 'border-muted text-muted-foreground shadow-sm hover:bg-muted/10',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getOutlineFilledClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'hover:bg-primary hover:text-primary-foreground',\n secondary: 'hover:bg-secondary hover:text-secondary-foreground',\n success: 'hover:bg-success hover:text-success-foreground',\n warning: 'hover:bg-warning hover:text-warning-foreground',\n danger: 'hover:bg-danger hover:text-danger-foreground',\n info: 'hover:bg-info hover:text-info-foreground',\n light: 'hover:bg-light hover:text-light-foreground',\n dark: 'hover:bg-dark hover:text-dark-foreground',\n accent: 'hover:bg-accent hover:text-accent-foreground',\n destructive: 'hover:bg-destructive hover:text-destructive-foreground',\n muted: 'hover:bg-muted hover:text-muted-foreground',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getSpinnerClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'bg-primary text-primary-foreground hover:bg-primary',\n secondary: 'bg-secondary text-secondary-foreground hover:bg-secondary',\n success: 'bg-success text-success-foreground hover:bg-success',\n warning: 'bg-warning text-warning-foreground hover:bg-warning',\n danger: 'bg-danger text-danger-foreground hover:bg-danger',\n info: 'bg-info text-info-foreground hover:bg-info',\n light: 'bg-light text-light-foreground hover:bg-light',\n dark: 'bg-dark text-dark-foreground hover:bg-dark',\n accent: 'bg-accent text-accent-foreground hover:bg-accent',\n destructive: 'bg-destructive text-destructive-foreground hover:bg-destructive',\n muted: 'bg-muted text-muted-foreground hover:bg-muted',\n link: 'text-primary',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getOutlineSpinnerClasses(variant: any) {\n const colors: Record<string, string> = {\n primary: 'text-primary',\n secondary: 'text-secondary',\n success: 'text-success',\n warning: 'text-warning',\n danger: 'text-danger',\n info: 'text-info',\n light: 'text-light',\n dark: 'text-dark',\n accent: 'text-accent',\n destructive: 'text-destructive',\n muted: 'text-muted-foreground',\n link: 'text-primary',\n };\n\n return colors[variant ?? 'primary'];\n}\n\nfunction getThinClasses(size: any) {\n const colors: Record<string, string> = {\n default: 'h-8 px-2 py-1',\n sm: 'h-7 px-2 py-1',\n lg: 'h-9 px-2 py-1',\n icon: 'h-8 w-8',\n };\n\n return colors[size ?? 'default'];\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n { className, variant, size, outline, outlineFilled, loading, thin, asChild = false, children, left, ...props },\n ref,\n ) => {\n const Comp = asChild ? Slot : 'button';\n\n let outlineClasses: string[] = [];\n if (outline || outlineFilled) {\n outlineClasses = ['bg-white border', getOutlineClasses(variant)];\n if (outlineFilled) outlineClasses.push(getOutlineFilledClasses(variant));\n }\n\n const thinClasses = thin ? getThinClasses(size) : '';\n\n if (loading) {\n const { ...loaderProps } = props;\n const spinnerClasses = outline || outlineFilled ? getOutlineSpinnerClasses(variant) : getSpinnerClasses(variant);\n const loadingClasses = 'pointer-events-none';\n\n return (\n <Comp\n type=\"button\"\n className={cn(\n buttonVariants({ variant, size, outline, className }),\n outlineClasses,\n thinClasses,\n spinnerClasses,\n loadingClasses,\n )}\n ref={ref}\n {...loaderProps}\n >\n <div className=\"relative inline-flex items-center\">\n <span className=\"invisible\">{children}</span>\n <span className=\"absolute inset-0 flex items-center justify-center\">\n <Spinner className={cn(spinnerClasses, loadingClasses)} />\n </span>\n </div>\n </Comp>\n );\n }\n\n return (\n <Comp\n type=\"button\"\n className={cn(buttonVariants({ variant, size, outline, className }), outlineClasses, thinClasses)}\n ref={ref}\n {...props}\n >\n <div className=\"flex items-center gap-1\">\n {left}\n {children}\n </div>\n </Comp>\n );\n },\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n"],"mappings":"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","names":[]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkGZJKDKEBjs = require('../../chunk-GZJKDKEB.js');
|
|
5
5
|
require('../../chunk-Z33UILCV.js');
|
|
6
|
-
require('../../chunk-
|
|
7
|
-
require('../../chunk-
|
|
6
|
+
require('../../chunk-GLZZPRFW.js');
|
|
7
|
+
require('../../chunk-575K47ZF.js');
|
|
8
8
|
require('../../chunk-MKSF24CS.js');
|
|
9
9
|
require('../../chunk-AIRT3G2F.js');
|
|
10
10
|
require('../../chunk-AXZDZXCY.js');
|
|
@@ -12,5 +12,5 @@ require('../../chunk-B2G2EZ4P.js');
|
|
|
12
12
|
require('../../chunk-2NMEKWO5.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
exports.FormDatePicker =
|
|
15
|
+
exports.FormDatePicker = _chunkGZJKDKEBjs.FormDatePicker;
|
|
16
16
|
//# sourceMappingURL=date-picker.js.map
|