@egose/shadcn-theme 0.0.16 → 0.0.18
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-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-R4N62Z3D.js → chunk-EQWIZ4DC.js} +40 -14
- package/chunk-EQWIZ4DC.js.map +1 -0
- package/{chunk-5GI6UANN.js → chunk-KRSIQ2CB.js} +2 -1
- package/chunk-KRSIQ2CB.js.map +1 -0
- package/chunk-RUACSQT3.js +84 -0
- package/chunk-RUACSQT3.js.map +1 -0
- package/{chunk-AWGHSCTG.mjs → chunk-V7HAO7KE.mjs} +40 -14
- package/chunk-V7HAO7KE.mjs.map +1 -0
- package/components/form/date-picker.d.mts +2 -1
- package/components/form/date-picker.d.ts +2 -1
- package/components/form/date-picker.js +2 -2
- package/components/form/date-picker.mjs +1 -1
- package/components/form/hook-date-picker.js +2 -2
- package/components/form/hook-date-picker.mjs +1 -1
- 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/sidebar.js +6 -6
- package/components/ui/sidebar.js.map +1 -1
- package/components/ui/sidebar.mjs +7 -7
- 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-AWGHSCTG.mjs.map +0 -1
- package/chunk-HPHG6IFO.mjs.map +0 -1
- package/chunk-R4N62Z3D.js.map +0 -1
- package/chunk-Z6AUIAE7.js.map +0 -1
|
@@ -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"]}
|
|
@@ -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":[]}
|
|
@@ -24,46 +24,72 @@ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
|
|
|
24
24
|
var _datefns = require('date-fns');
|
|
25
25
|
var _lucidereact = require('lucide-react');
|
|
26
26
|
var _kebabCase2 = require('lodash-es/kebabCase'); var _kebabCase3 = _interopRequireDefault(_kebabCase2);
|
|
27
|
-
var
|
|
27
|
+
var _isUndefined2 = require('lodash-es/isUndefined'); var _isUndefined3 = _interopRequireDefault(_isUndefined2);
|
|
28
28
|
var _isString2 = require('lodash-es/isString'); var _isString3 = _interopRequireDefault(_isString2);
|
|
29
29
|
function formatDate(date) {
|
|
30
30
|
return _datefns.format.call(void 0, date, "LLL dd, y");
|
|
31
31
|
}
|
|
32
|
+
function getStartOfDay(date) {
|
|
33
|
+
const startOfDay = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
34
|
+
return startOfDay;
|
|
35
|
+
}
|
|
32
36
|
function FormDatePicker({
|
|
33
37
|
id,
|
|
34
38
|
name,
|
|
35
39
|
label,
|
|
36
40
|
required = false,
|
|
37
41
|
disabled = false,
|
|
38
|
-
|
|
42
|
+
initialValue,
|
|
43
|
+
value,
|
|
39
44
|
onChange,
|
|
40
45
|
classNames
|
|
41
46
|
}) {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
47
|
+
const [date, setDate] = _react.useState.call(void 0, void 0);
|
|
48
|
+
const [initialized, setInitialized] = _react.useState.call(void 0, false);
|
|
49
|
+
_react.useEffect.call(void 0, () => {
|
|
50
|
+
if (!initialized) {
|
|
51
|
+
const dt = initialValue ? getStartOfDay(new Date(initialValue)) : getStartOfDay(/* @__PURE__ */ new Date());
|
|
52
|
+
setDate(dt);
|
|
53
|
+
setInitialized(true);
|
|
54
|
+
}
|
|
55
|
+
}, [initialized, initialValue]);
|
|
45
56
|
_react.useEffect.call(void 0, () => {
|
|
46
|
-
|
|
57
|
+
if (_isUndefined3.default.call(void 0, value)) {
|
|
58
|
+
if (!_isUndefined3.default.call(void 0, date)) {
|
|
59
|
+
setDate(void 0);
|
|
60
|
+
}
|
|
61
|
+
} else {
|
|
62
|
+
const dt = _isString3.default.call(void 0, value) ? new Date(value) : value;
|
|
63
|
+
if (!_chunkAIRT3G2Fjs.isEqualDate.call(void 0, date, dt)) {
|
|
64
|
+
setDate(getStartOfDay(dt));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
47
67
|
}, [value]);
|
|
68
|
+
_react.useEffect.call(void 0, () => {
|
|
69
|
+
if (initialized) {
|
|
70
|
+
onChange(date);
|
|
71
|
+
}
|
|
72
|
+
}, [date, initialized]);
|
|
48
73
|
if (!id) id = _kebabCase3.default.call(void 0, name);
|
|
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");
|
|
49
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(
|
|
50
76
|
_chunkY2EVJJLMjs.Button,
|
|
51
77
|
{
|
|
52
|
-
variant:
|
|
78
|
+
variant: date ? "secondary" : "muted",
|
|
53
79
|
outline: true,
|
|
54
80
|
className: _chunkB2G2EZ4Pjs.cn.call(void 0, "min-w-[145px] justify-start text-left font-normal", classNames == null ? void 0 : classNames.button)
|
|
55
81
|
},
|
|
56
82
|
/* @__PURE__ */ _react2.default.createElement(_lucidereact.CalendarIcon, null),
|
|
57
|
-
|
|
83
|
+
display
|
|
58
84
|
)), /* @__PURE__ */ _react2.default.createElement(_chunkZ33UILCVjs.PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ _react2.default.createElement(
|
|
59
85
|
_chunk73AY2MAQjs.Calendar,
|
|
60
86
|
{
|
|
61
87
|
mode: "single",
|
|
62
|
-
defaultMonth:
|
|
63
|
-
selected:
|
|
64
|
-
onSelect: (
|
|
65
|
-
if (!_chunkAIRT3G2Fjs.isEqualDate.call(void 0,
|
|
66
|
-
|
|
88
|
+
defaultMonth: date,
|
|
89
|
+
selected: date,
|
|
90
|
+
onSelect: (newdate) => {
|
|
91
|
+
if (!_chunkAIRT3G2Fjs.isEqualDate.call(void 0, date, newdate)) {
|
|
92
|
+
setDate(newdate);
|
|
67
93
|
}
|
|
68
94
|
}
|
|
69
95
|
}
|
|
@@ -73,4 +99,4 @@ function FormDatePicker({
|
|
|
73
99
|
|
|
74
100
|
|
|
75
101
|
exports.FormDatePicker = FormDatePicker;
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-EQWIZ4DC.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-EQWIZ4DC.js","../components/form/date-picker.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-EQWIZ4DC.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"]}
|
|
@@ -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"]}
|
|
@@ -24,46 +24,72 @@ import React, { useEffect, useState } from "react";
|
|
|
24
24
|
import { format } from "date-fns";
|
|
25
25
|
import { CalendarIcon } from "lucide-react";
|
|
26
26
|
import _kebabCase from "lodash-es/kebabCase";
|
|
27
|
-
import
|
|
27
|
+
import _isUndefined from "lodash-es/isUndefined";
|
|
28
28
|
import _isString from "lodash-es/isString";
|
|
29
29
|
function formatDate(date) {
|
|
30
30
|
return format(date, "LLL dd, y");
|
|
31
31
|
}
|
|
32
|
+
function getStartOfDay(date) {
|
|
33
|
+
const startOfDay = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
34
|
+
return startOfDay;
|
|
35
|
+
}
|
|
32
36
|
function FormDatePicker({
|
|
33
37
|
id,
|
|
34
38
|
name,
|
|
35
39
|
label,
|
|
36
40
|
required = false,
|
|
37
41
|
disabled = false,
|
|
38
|
-
|
|
42
|
+
initialValue,
|
|
43
|
+
value,
|
|
39
44
|
onChange,
|
|
40
45
|
classNames
|
|
41
46
|
}) {
|
|
42
|
-
const
|
|
43
|
-
const
|
|
44
|
-
|
|
47
|
+
const [date, setDate] = useState(void 0);
|
|
48
|
+
const [initialized, setInitialized] = useState(false);
|
|
49
|
+
useEffect(() => {
|
|
50
|
+
if (!initialized) {
|
|
51
|
+
const dt = initialValue ? getStartOfDay(new Date(initialValue)) : getStartOfDay(/* @__PURE__ */ new Date());
|
|
52
|
+
setDate(dt);
|
|
53
|
+
setInitialized(true);
|
|
54
|
+
}
|
|
55
|
+
}, [initialized, initialValue]);
|
|
45
56
|
useEffect(() => {
|
|
46
|
-
|
|
57
|
+
if (_isUndefined(value)) {
|
|
58
|
+
if (!_isUndefined(date)) {
|
|
59
|
+
setDate(void 0);
|
|
60
|
+
}
|
|
61
|
+
} else {
|
|
62
|
+
const dt = _isString(value) ? new Date(value) : value;
|
|
63
|
+
if (!isEqualDate(date, dt)) {
|
|
64
|
+
setDate(getStartOfDay(dt));
|
|
65
|
+
}
|
|
66
|
+
}
|
|
47
67
|
}, [value]);
|
|
68
|
+
useEffect(() => {
|
|
69
|
+
if (initialized) {
|
|
70
|
+
onChange(date);
|
|
71
|
+
}
|
|
72
|
+
}, [date, initialized]);
|
|
48
73
|
if (!id) id = _kebabCase(name);
|
|
74
|
+
const display = !initialized ? /* @__PURE__ */ React.createElement("span", null) : date ? /* @__PURE__ */ React.createElement(React.Fragment, null, formatDate(date)) : /* @__PURE__ */ React.createElement("span", null, "Pick a date");
|
|
49
75
|
return /* @__PURE__ */ React.createElement("div", { className: cn("date-picker", 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("div", { className: cn("grid gap-2") }, /* @__PURE__ */ React.createElement(Popover, null, /* @__PURE__ */ React.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
|
|
50
76
|
Button,
|
|
51
77
|
{
|
|
52
|
-
variant:
|
|
78
|
+
variant: date ? "secondary" : "muted",
|
|
53
79
|
outline: true,
|
|
54
80
|
className: cn("min-w-[145px] justify-start text-left font-normal", classNames == null ? void 0 : classNames.button)
|
|
55
81
|
},
|
|
56
82
|
/* @__PURE__ */ React.createElement(CalendarIcon, null),
|
|
57
|
-
|
|
83
|
+
display
|
|
58
84
|
)), /* @__PURE__ */ React.createElement(PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ React.createElement(
|
|
59
85
|
Calendar,
|
|
60
86
|
{
|
|
61
87
|
mode: "single",
|
|
62
|
-
defaultMonth:
|
|
63
|
-
selected:
|
|
64
|
-
onSelect: (
|
|
65
|
-
if (!isEqualDate(
|
|
66
|
-
|
|
88
|
+
defaultMonth: date,
|
|
89
|
+
selected: date,
|
|
90
|
+
onSelect: (newdate) => {
|
|
91
|
+
if (!isEqualDate(date, newdate)) {
|
|
92
|
+
setDate(newdate);
|
|
67
93
|
}
|
|
68
94
|
}
|
|
69
95
|
}
|
|
@@ -73,4 +99,4 @@ function FormDatePicker({
|
|
|
73
99
|
export {
|
|
74
100
|
FormDatePicker
|
|
75
101
|
};
|
|
76
|
-
//# sourceMappingURL=chunk-
|
|
102
|
+
//# sourceMappingURL=chunk-V7HAO7KE.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/form/date-picker.tsx"],"sourcesContent":["'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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,SAAS,WAAW,gBAAgB;AAC3C,SAAkB,cAAuB;AACzC,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AAEvB,OAAO,kBAAkB;AACzB,OAAO,eAAe;AAStB,SAAS,WAAW,MAAY;AAC9B,SAAO,OAAO,MAAM,WAAW;AACjC;AAEA,SAAS,cAAc,MAAY;AACjC,QAAM,aAAa,IAAI,KAAK,KAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ,CAAC;AAC/E,SAAO;AACT;AAkBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AAAA,EACX;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,CAAC,MAAM,OAAO,IAAI,SAA2B,MAAS;AAC5D,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,YAAU,MAAM;AACd,QAAI,CAAC,aAAa;AAChB,YAAM,KAAK,eAAe,cAAc,IAAI,KAAK,YAAY,CAAC,IAAI,cAAc,oBAAI,KAAK,CAAC;AAE1F,cAAQ,EAAE;AACV,qBAAe,IAAI;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,CAAC;AAE9B,YAAU,MAAM;AACd,QAAI,aAAa,KAAK,GAAG;AACvB,UAAI,CAAC,aAAa,IAAI,GAAG;AACvB,gBAAQ,MAAS;AAAA,MACnB;AAAA,IACF,OAAO;AACL,YAAM,KAAK,UAAU,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;AAChD,UAAI,CAAC,YAAY,MAAM,EAAE,GAAG;AAC1B,gBAAQ,cAAc,EAAE,CAAC;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,YAAU,MAAM;AACd,QAAI,aAAa;AACf,eAAS,IAAI;AAAA,IACf;AAAA,EACF,GAAG,CAAC,MAAM,WAAW,CAAC;AAEtB,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,QAAM,UAAU,CAAC,cAAc,oCAAC,YAAK,IAAU,OAAO,0DAAG,WAAW,IAAI,CAAE,IAAM,oCAAC,cAAK,aAAW;AAEjG,SACE,oCAAC,SAAI,WAAW,GAAG,eAAe,yCAAY,OAAO,KAClD,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAEF,oCAAC,SAAI,WAAW,GAAG,YAAY,KAC7B,oCAAC,eACC,oCAAC,kBAAe,SAAO,QACrB;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,OAAO,cAAc;AAAA,MAC9B,SAAO;AAAA,MACP,WAAW,GAAG,qDAAqD,yCAAY,MAAM;AAAA;AAAA,IAErF,oCAAC,kBAAa;AAAA,IACb;AAAA,EACH,CACF,GACA,oCAAC,kBAAe,WAAU,cAAa,OAAM,WAC3C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAU,CAAC,YAAY;AACrB,YAAI,CAAC,YAAY,MAAM,OAAO,GAAG;AAC/B,kBAAQ,OAAO;AAAA,QACjB;AAAA,MACF;AAAA;AAAA,EACF,CACF,CACF,CACF,CACF;AAEJ;","names":[]}
|
|
@@ -6,6 +6,7 @@ interface FormDatePickerProps {
|
|
|
6
6
|
label?: string;
|
|
7
7
|
required?: boolean;
|
|
8
8
|
disabled?: boolean;
|
|
9
|
+
initialValue?: Date | string;
|
|
9
10
|
value?: Date | string;
|
|
10
11
|
onChange: (value?: Date) => void;
|
|
11
12
|
classNames?: {
|
|
@@ -14,6 +15,6 @@ interface FormDatePickerProps {
|
|
|
14
15
|
button?: string;
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
|
-
declare function FormDatePicker({ id, name, label, required, disabled,
|
|
18
|
+
declare function FormDatePicker({ id, name, label, required, disabled, initialValue, value, onChange, classNames, }: FormDatePickerProps): React__default.JSX.Element;
|
|
18
19
|
|
|
19
20
|
export { FormDatePicker, type FormDatePickerProps };
|
|
@@ -6,6 +6,7 @@ interface FormDatePickerProps {
|
|
|
6
6
|
label?: string;
|
|
7
7
|
required?: boolean;
|
|
8
8
|
disabled?: boolean;
|
|
9
|
+
initialValue?: Date | string;
|
|
9
10
|
value?: Date | string;
|
|
10
11
|
onChange: (value?: Date) => void;
|
|
11
12
|
classNames?: {
|
|
@@ -14,6 +15,6 @@ interface FormDatePickerProps {
|
|
|
14
15
|
button?: string;
|
|
15
16
|
};
|
|
16
17
|
}
|
|
17
|
-
declare function FormDatePicker({ id, name, label, required, disabled,
|
|
18
|
+
declare function FormDatePicker({ id, name, label, required, disabled, initialValue, value, onChange, classNames, }: FormDatePickerProps): React__default.JSX.Element;
|
|
18
19
|
|
|
19
20
|
export { FormDatePicker, type FormDatePickerProps };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkEQWIZ4DCjs = require('../../chunk-EQWIZ4DC.js');
|
|
5
5
|
require('../../chunk-Z33UILCV.js');
|
|
6
6
|
require('../../chunk-73AY2MAQ.js');
|
|
7
7
|
require('../../chunk-Y2EVJJLM.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 = _chunkEQWIZ4DCjs.FormDatePicker;
|
|
16
16
|
//# sourceMappingURL=date-picker.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }"use client";
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkEQWIZ4DCjs = require('../../chunk-EQWIZ4DC.js');
|
|
5
5
|
require('../../chunk-Z33UILCV.js');
|
|
6
6
|
require('../../chunk-73AY2MAQ.js');
|
|
7
7
|
require('../../chunk-Y2EVJJLM.js');
|
|
@@ -51,7 +51,7 @@ function HookFormDatePicker(_a) {
|
|
|
51
51
|
rules,
|
|
52
52
|
render: ({ field: { onChange, onBlur, value } }) => {
|
|
53
53
|
return /* @__PURE__ */ _react2.default.createElement(
|
|
54
|
-
|
|
54
|
+
_chunkEQWIZ4DCjs.FormDatePicker,
|
|
55
55
|
_chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {
|
|
56
56
|
id,
|
|
57
57
|
name,
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { FieldValues, Path, RegisterOptions } from 'react-hook-form';
|
|
3
|
+
import { FormSelectProps } from './select.mjs';
|
|
4
|
+
|
|
5
|
+
declare function HookFormSelect<T extends FieldValues>({ id, name, options, label, error, classNames, disabled, ...others }: Omit<FormSelectProps, 'name' | 'selectProps'> & {
|
|
6
|
+
name: Path<T>;
|
|
7
|
+
options?: RegisterOptions<T, Path<T>> | undefined;
|
|
8
|
+
error?: string;
|
|
9
|
+
}): React__default.JSX.Element | null;
|
|
10
|
+
|
|
11
|
+
export { HookFormSelect };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React__default from 'react';
|
|
2
|
+
import { FieldValues, Path, RegisterOptions } from 'react-hook-form';
|
|
3
|
+
import { FormSelectProps } from './select.js';
|
|
4
|
+
|
|
5
|
+
declare function HookFormSelect<T extends FieldValues>({ id, name, options, label, error, classNames, disabled, ...others }: Omit<FormSelectProps, 'name' | 'selectProps'> & {
|
|
6
|
+
name: Path<T>;
|
|
7
|
+
options?: RegisterOptions<T, Path<T>> | undefined;
|
|
8
|
+
error?: string;
|
|
9
|
+
}): React__default.JSX.Element | null;
|
|
10
|
+
|
|
11
|
+
export { HookFormSelect };
|