@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.
Files changed (54) hide show
  1. package/chunk-4J7ZCWRI.mjs +84 -0
  2. package/chunk-4J7ZCWRI.mjs.map +1 -0
  3. package/{chunk-Z6AUIAE7.js → chunk-AIYBVHJZ.js} +2 -1
  4. package/chunk-AIYBVHJZ.js.map +1 -0
  5. package/{chunk-NEW6PZDO.mjs → chunk-ASPYSRE6.mjs} +2 -1
  6. package/{chunk-NEW6PZDO.mjs.map → chunk-ASPYSRE6.mjs.map} +1 -1
  7. package/{chunk-HPHG6IFO.mjs → chunk-DNKFPC6O.mjs} +2 -1
  8. package/chunk-DNKFPC6O.mjs.map +1 -0
  9. package/{chunk-R4N62Z3D.js → chunk-EQWIZ4DC.js} +40 -14
  10. package/chunk-EQWIZ4DC.js.map +1 -0
  11. package/{chunk-5GI6UANN.js → chunk-KRSIQ2CB.js} +2 -1
  12. package/chunk-KRSIQ2CB.js.map +1 -0
  13. package/chunk-RUACSQT3.js +84 -0
  14. package/chunk-RUACSQT3.js.map +1 -0
  15. package/{chunk-AWGHSCTG.mjs → chunk-V7HAO7KE.mjs} +40 -14
  16. package/chunk-V7HAO7KE.mjs.map +1 -0
  17. package/components/form/date-picker.d.mts +2 -1
  18. package/components/form/date-picker.d.ts +2 -1
  19. package/components/form/date-picker.js +2 -2
  20. package/components/form/date-picker.mjs +1 -1
  21. package/components/form/hook-date-picker.js +2 -2
  22. package/components/form/hook-date-picker.mjs +1 -1
  23. package/components/form/hook-select.d.mts +11 -0
  24. package/components/form/hook-select.d.ts +11 -0
  25. package/components/form/hook-select.js +72 -0
  26. package/components/form/hook-select.js.map +1 -0
  27. package/components/form/hook-select.mjs +72 -0
  28. package/components/form/hook-select.mjs.map +1 -0
  29. package/components/form/hook-text-input.js +2 -2
  30. package/components/form/hook-text-input.mjs +1 -1
  31. package/components/form/hook-textarea.js +2 -2
  32. package/components/form/hook-textarea.mjs +1 -1
  33. package/components/form/select.d.mts +23 -0
  34. package/components/form/select.d.ts +23 -0
  35. package/components/form/select.js +11 -0
  36. package/components/form/select.js.map +1 -0
  37. package/components/form/select.mjs +11 -0
  38. package/components/form/select.mjs.map +1 -0
  39. package/components/form/text-input.js +2 -2
  40. package/components/form/text-input.mjs +1 -1
  41. package/components/form/textarea.js +2 -2
  42. package/components/form/textarea.mjs +1 -1
  43. package/components/ui/sidebar.js +6 -6
  44. package/components/ui/sidebar.js.map +1 -1
  45. package/components/ui/sidebar.mjs +7 -7
  46. package/components/widgets/dialog-manager/index.js +2 -2
  47. package/components/widgets/dialog-manager/index.js.map +1 -1
  48. package/components/widgets/dialog-manager/index.mjs +1 -1
  49. package/package.json +1 -1
  50. package/chunk-5GI6UANN.js.map +0 -1
  51. package/chunk-AWGHSCTG.mjs.map +0 -1
  52. package/chunk-HPHG6IFO.mjs.map +0 -1
  53. package/chunk-R4N62Z3D.js.map +0 -1
  54. 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-Z6AUIAE7.js.map
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-NEW6PZDO.mjs.map
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,SAPL;AAAA,MAQC,WAAW,GAAG,YAAY,yCAAY,KAAK;AAAA;AAAA,EAC7C,CACF;AAEJ;","names":[]}
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-HPHG6IFO.mjs.map
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 _isNil2 = require('lodash-es/isNil'); var _isNil3 = _interopRequireDefault(_isNil2);
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
- value: initialValue,
42
+ initialValue,
43
+ value,
39
44
  onChange,
40
45
  classNames
41
46
  }) {
42
- const dt = _isNil3.default.call(void 0, initialValue) ? /* @__PURE__ */ new Date() : _isString3.default.call(void 0, initialValue) ? new Date(initialValue) : initialValue;
43
- const startOfDay = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
44
- const [value, setValue] = _react.useState.call(void 0, startOfDay);
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
- onChange(value);
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: value ? "secondary" : "muted",
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
- value ? /* @__PURE__ */ _react2.default.createElement(_react2.default.Fragment, null, formatDate(value)) : /* @__PURE__ */ _react2.default.createElement("span", null, "Pick a date")
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: value,
63
- selected: value,
64
- onSelect: (date) => {
65
- if (!_chunkAIRT3G2Fjs.isEqualDate.call(void 0, value, date)) {
66
- setValue(date);
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-R4N62Z3D.js.map
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-5GI6UANN.js.map
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 _isNil from "lodash-es/isNil";
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
- value: initialValue,
42
+ initialValue,
43
+ value,
39
44
  onChange,
40
45
  classNames
41
46
  }) {
42
- const dt = _isNil(initialValue) ? /* @__PURE__ */ new Date() : _isString(initialValue) ? new Date(initialValue) : initialValue;
43
- const startOfDay = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());
44
- const [value, setValue] = useState(startOfDay);
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
- onChange(value);
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: value ? "secondary" : "muted",
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
- value ? /* @__PURE__ */ React.createElement(React.Fragment, null, formatDate(value)) : /* @__PURE__ */ React.createElement("span", null, "Pick a date")
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: value,
63
- selected: value,
64
- onSelect: (date) => {
65
- if (!isEqualDate(value, date)) {
66
- setValue(date);
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-AWGHSCTG.mjs.map
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, value: initialValue, onChange, classNames, }: FormDatePickerProps): React__default.JSX.Element;
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, value: initialValue, onChange, classNames, }: FormDatePickerProps): React__default.JSX.Element;
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 _chunkR4N62Z3Djs = require('../../chunk-R4N62Z3D.js');
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 = _chunkR4N62Z3Djs.FormDatePicker;
15
+ exports.FormDatePicker = _chunkEQWIZ4DCjs.FormDatePicker;
16
16
  //# sourceMappingURL=date-picker.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  FormDatePicker
4
- } from "../../chunk-AWGHSCTG.mjs";
4
+ } from "../../chunk-V7HAO7KE.mjs";
5
5
  import "../../chunk-M2OVLURH.mjs";
6
6
  import "../../chunk-K34Y62WO.mjs";
7
7
  import "../../chunk-YFW7UI3E.mjs";
@@ -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 _chunkR4N62Z3Djs = require('../../chunk-R4N62Z3D.js');
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
- _chunkR4N62Z3Djs.FormDatePicker,
54
+ _chunkEQWIZ4DCjs.FormDatePicker,
55
55
  _chunk2NMEKWO5js.__spreadProps.call(void 0, _chunk2NMEKWO5js.__spreadValues.call(void 0, {
56
56
  id,
57
57
  name,
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  FormDatePicker
4
- } from "../../chunk-AWGHSCTG.mjs";
4
+ } from "../../chunk-V7HAO7KE.mjs";
5
5
  import "../../chunk-M2OVLURH.mjs";
6
6
  import "../../chunk-K34Y62WO.mjs";
7
7
  import "../../chunk-YFW7UI3E.mjs";
@@ -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 };