@egose/shadcn-theme 0.0.15 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -51,7 +51,7 @@ function FormDatePicker({
51
51
  {
52
52
  variant: value ? "secondary" : "muted",
53
53
  outline: true,
54
- className: cn("w-[300px] justify-start text-left font-normal")
54
+ className: cn("min-w-[145px] justify-start text-left font-normal", classNames == null ? void 0 : classNames.button)
55
55
  },
56
56
  /* @__PURE__ */ React.createElement(CalendarIcon, null),
57
57
  value ? /* @__PURE__ */ React.createElement(React.Fragment, null, formatDate(value)) : /* @__PURE__ */ React.createElement("span", null, "Pick a date")
@@ -73,4 +73,4 @@ function FormDatePicker({
73
73
  export {
74
74
  FormDatePicker
75
75
  };
76
- //# sourceMappingURL=chunk-2NSYAQFL.mjs.map
76
+ //# sourceMappingURL=chunk-AWGHSCTG.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 _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\nexport interface FormDatePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\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 value: initialValue,\n onChange,\n classNames,\n}: FormDatePickerProps) {\n const dt = _isNil(initialValue) ? new Date() : _isString(initialValue) ? new Date(initialValue) : initialValue;\n const startOfDay = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n const [value, setValue] = useState<Date | undefined>(startOfDay);\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\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={value ? 'secondary' : 'muted'}\n outline\n className={cn('min-w-[145px] justify-start text-left font-normal', classNames?.button)}\n >\n <CalendarIcon />\n {value ? <>{formatDate(value)}</> : <span>Pick a date</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n defaultMonth={value}\n selected={value}\n onSelect={(date) => {\n if (!isEqualDate(value, date)) {\n setValue(date);\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;AACvB,OAAO,YAAY;AACnB,OAAO,eAAe;AAStB,SAAS,WAAW,MAAY;AAC9B,SAAO,OAAO,MAAM,WAAW;AACjC;AAiBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,KAAK,OAAO,YAAY,IAAI,oBAAI,KAAK,IAAI,UAAU,YAAY,IAAI,IAAI,KAAK,YAAY,IAAI;AAClG,QAAM,aAAa,IAAI,KAAK,GAAG,YAAY,GAAG,GAAG,SAAS,GAAG,GAAG,QAAQ,CAAC;AACzE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA2B,UAAU;AAE/D,YAAU,MAAM;AACd,aAAS,KAAK;AAAA,EAChB,GAAG,CAAC,KAAK,CAAC;AAEV,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,oCAAC,SAAI,WAAW,GAAG,YAAY,KAC7B,oCAAC,eACC,oCAAC,kBAAe,SAAO,QACrB;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,QAAQ,cAAc;AAAA,MAC/B,SAAO;AAAA,MACP,WAAW,GAAG,qDAAqD,yCAAY,MAAM;AAAA;AAAA,IAErF,oCAAC,kBAAa;AAAA,IACb,QAAQ,0DAAG,WAAW,KAAK,CAAE,IAAM,oCAAC,cAAK,aAAW;AAAA,EACvD,CACF,GACA,oCAAC,kBAAe,WAAU,cAAa,OAAM,WAC3C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAU,CAAC,SAAS;AAClB,YAAI,CAAC,YAAY,OAAO,IAAI,GAAG;AAC7B,mBAAS,IAAI;AAAA,QACf;AAAA,MACF;AAAA;AAAA,EACF,CACF,CACF,CACF,CACF;AAEJ;","names":[]}
@@ -51,7 +51,7 @@ function FormDatePicker({
51
51
  {
52
52
  variant: value ? "secondary" : "muted",
53
53
  outline: true,
54
- className: _chunkB2G2EZ4Pjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal")
54
+ className: _chunkB2G2EZ4Pjs.cn.call(void 0, "min-w-[145px] justify-start text-left font-normal", classNames == null ? void 0 : classNames.button)
55
55
  },
56
56
  /* @__PURE__ */ _react2.default.createElement(_lucidereact.CalendarIcon, null),
57
57
  value ? /* @__PURE__ */ _react2.default.createElement(_react2.default.Fragment, null, formatDate(value)) : /* @__PURE__ */ _react2.default.createElement("span", null, "Pick a date")
@@ -73,4 +73,4 @@ function FormDatePicker({
73
73
 
74
74
 
75
75
  exports.FormDatePicker = FormDatePicker;
76
- //# sourceMappingURL=chunk-2QPFMTGQ.js.map
76
+ //# sourceMappingURL=chunk-R4N62Z3D.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-R4N62Z3D.js","../components/form/date-picker.tsx"],"names":[],"mappings":"AAAA;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACnBA,4EAA2C;AAC3C,mCAAyC;AACzC,2CAA6B;AAC7B,wGAAuB;AACvB,wFAAmB;AACnB,oGAAsB;AAStB,SAAS,UAAA,CAAW,IAAA,EAAY;AAC9B,EAAA,OAAO,6BAAA,IAAO,EAAM,WAAW,CAAA;AACjC;AAiBO,SAAS,cAAA,CAAe;AAAA,EAC7B,EAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,EAAW,KAAA;AAAA,EACX,SAAA,EAAW,KAAA;AAAA,EACX,KAAA,EAAO,YAAA;AAAA,EACP,QAAA;AAAA,EACA;AACF,CAAA,EAAwB;AACtB,EAAA,MAAM,GAAA,EAAK,6BAAA,YAAmB,EAAA,kBAAI,IAAI,IAAA,CAAK,EAAA,EAAI,gCAAA,YAAsB,EAAA,EAAI,IAAI,IAAA,CAAK,YAAY,EAAA,EAAI,YAAA;AAClG,EAAA,MAAM,WAAA,EAAa,IAAI,IAAA,CAAK,EAAA,CAAG,WAAA,CAAY,CAAA,EAAG,EAAA,CAAG,QAAA,CAAS,CAAA,EAAG,EAAA,CAAG,OAAA,CAAQ,CAAC,CAAA;AACzE,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,EAAA,EAAI,6BAAA,UAAqC,CAAA;AAE/D,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,QAAA,CAAS,KAAK,CAAA;AAAA,EAChB,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,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,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,YAAe,EAAA,CAAA,kBAC7B,eAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,IAAA,kBACC,eAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,EAAe,OAAA,EAAO,KAAA,CAAA,kBACrB,eAAA,CAAA,aAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,MAAA,EAAQ,YAAA,EAAc,OAAA;AAAA,MAC/B,OAAA,EAAO,IAAA;AAAA,MACP,SAAA,EAAW,iCAAA,mDAAG,EAAqD,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,MAAM;AAAA,IAAA,CAAA;AAAA,oBAErF,eAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,IAAa,CAAA;AAAA,IACb,MAAA,kBAAQ,eAAA,CAAA,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,IAAA,EAAG,UAAA,CAAW,KAAK,CAAE,EAAA,kBAAM,eAAA,CAAA,aAAA,CAAC,MAAA,EAAA,IAAA,EAAK,aAAW;AAAA,EACvD,CACF,CAAA,kBACA,eAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,EAAe,SAAA,EAAU,YAAA,EAAa,KAAA,EAAM,QAAA,CAAA,kBAC3C,eAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,YAAA,EAAc,KAAA;AAAA,MACd,QAAA,EAAU,KAAA;AAAA,MACV,QAAA,EAAU,CAAC,IAAA,EAAA,GAAS;AAClB,QAAA,GAAA,CAAI,CAAC,0CAAA,KAAY,EAAO,IAAI,CAAA,EAAG;AAC7B,UAAA,QAAA,CAAS,IAAI,CAAA;AAAA,QACf;AAAA,MACF;AAAA,IAAA;AAAA,EACF,CACF,CACF,CACF,CACF,CAAA;AAEJ;ADnBA;AACA;AACE;AACF,wCAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-R4N62Z3D.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 _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\nexport interface FormDatePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\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 value: initialValue,\n onChange,\n classNames,\n}: FormDatePickerProps) {\n const dt = _isNil(initialValue) ? new Date() : _isString(initialValue) ? new Date(initialValue) : initialValue;\n const startOfDay = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n const [value, setValue] = useState<Date | undefined>(startOfDay);\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\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={value ? 'secondary' : 'muted'}\n outline\n className={cn('min-w-[145px] justify-start text-left font-normal', classNames?.button)}\n >\n <CalendarIcon />\n {value ? <>{formatDate(value)}</> : <span>Pick a date</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n defaultMonth={value}\n selected={value}\n onSelect={(date) => {\n if (!isEqualDate(value, date)) {\n setValue(date);\n }\n }}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}
@@ -11,6 +11,7 @@ interface FormDatePickerProps {
11
11
  classNames?: {
12
12
  wrapper?: string;
13
13
  label?: string;
14
+ button?: string;
14
15
  };
15
16
  }
16
17
  declare function FormDatePicker({ id, name, label, required, disabled, value: initialValue, onChange, classNames, }: FormDatePickerProps): React__default.JSX.Element;
@@ -11,6 +11,7 @@ interface FormDatePickerProps {
11
11
  classNames?: {
12
12
  wrapper?: string;
13
13
  label?: string;
14
+ button?: string;
14
15
  };
15
16
  }
16
17
  declare function FormDatePicker({ id, name, label, required, disabled, value: initialValue, onChange, classNames, }: FormDatePickerProps): React__default.JSX.Element;
@@ -1,7 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunk2QPFMTGQjs = require('../../chunk-2QPFMTGQ.js');
4
+ var _chunkR4N62Z3Djs = require('../../chunk-R4N62Z3D.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 = _chunk2QPFMTGQjs.FormDatePicker;
15
+ exports.FormDatePicker = _chunkR4N62Z3Djs.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-2NSYAQFL.mjs";
4
+ } from "../../chunk-AWGHSCTG.mjs";
5
5
  import "../../chunk-M2OVLURH.mjs";
6
6
  import "../../chunk-K34Y62WO.mjs";
7
7
  import "../../chunk-YFW7UI3E.mjs";
@@ -11,6 +11,7 @@ interface FormDateRangePickerProps {
11
11
  classNames?: {
12
12
  wrapper?: string;
13
13
  label?: string;
14
+ button?: string;
14
15
  };
15
16
  }
16
17
  declare function FormDateRangePicker({ id, name, label, required, value: initialValue, onChange, classNames, }: FormDateRangePickerProps): React__default.JSX.Element;
@@ -11,6 +11,7 @@ interface FormDateRangePickerProps {
11
11
  classNames?: {
12
12
  wrapper?: string;
13
13
  label?: string;
14
+ button?: string;
14
15
  };
15
16
  }
16
17
  declare function FormDateRangePicker({ id, name, label, required, value: initialValue, onChange, classNames, }: FormDateRangePickerProps): React__default.JSX.Element;
@@ -66,7 +66,7 @@ function FormDateRangePicker({
66
66
  {
67
67
  variant: value ? "secondary" : "muted",
68
68
  outline: true,
69
- className: _chunkB2G2EZ4Pjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal")
69
+ className: _chunkB2G2EZ4Pjs.cn.call(void 0, "min-w-[240px] justify-start text-left font-normal", classNames == null ? void 0 : classNames.button)
70
70
  },
71
71
  /* @__PURE__ */ _react2.default.createElement(_lucidereact.CalendarIcon, null),
72
72
  (value == null ? void 0 : value.from) ? value.to ? /* @__PURE__ */ _react2.default.createElement(_react2.default.Fragment, null, formatDate(value.from), " - ", formatDate(value.to)) : formatDate(value.from) : /* @__PURE__ */ _react2.default.createElement("span", null, "Pick a date")
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/components/form/date-range-picker.js","../../../components/form/date-range-picker.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/components/form/date-range-picker.js","sourcesContent":[null,"'use client';\n\nimport React, { HTMLAttributes, useEffect, useState } from 'react';\nimport { addDays, format, isEqual } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { DateRange } from 'react-day-picker';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\n\nimport { isEqualDates } 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\nexport interface FormDateRangePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n value?: DateRange;\n onChange: (value: DateRange | undefined) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n };\n}\n\nexport function FormDateRangePicker({\n id,\n name,\n label,\n required = false,\n value: initialValue,\n onChange,\n classNames,\n}: FormDateRangePickerProps) {\n let initialFrom!: Date;\n let initialTo!: Date;\n\n if (initialValue) {\n const from = initialValue.from ?? new Date();\n const to = initialValue.to ?? new Date();\n initialFrom = new Date(from.getFullYear(), from.getMonth(), from.getDate());\n initialTo = new Date(to.getFullYear(), to.getMonth(), to.getDate());\n } else {\n const now = new Date();\n const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n initialFrom = startOfDay;\n initialTo = startOfDay;\n }\n\n const [value, setValue] = useState<DateRange | undefined>({\n from: initialFrom,\n to: initialTo,\n });\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('date-range-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={value ? 'secondary' : 'muted'}\n outline\n className={cn('w-[300px] justify-start text-left font-normal')}\n >\n <CalendarIcon />\n {value?.from ? (\n value.to ? (\n <>\n {formatDate(value.from)} - {formatDate(value.to)}\n </>\n ) : (\n formatDate(value.from)\n )\n ) : (\n <span>Pick a date</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"range\"\n defaultMonth={value?.from}\n selected={value}\n onSelect={(dateRange) => {\n if (!isEqualDates([value?.from, value?.to], [dateRange?.from, dateRange?.to])) {\n setValue(dateRange);\n }\n }}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/components/form/date-range-picker.js","../../../components/form/date-range-picker.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/components/form/date-range-picker.js","sourcesContent":[null,"'use client';\n\nimport React, { HTMLAttributes, useEffect, useState } from 'react';\nimport { addDays, format, isEqual } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { DateRange } from 'react-day-picker';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\n\nimport { isEqualDates } 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\nexport interface FormDateRangePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n value?: DateRange;\n onChange: (value: DateRange | undefined) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n button?: string;\n };\n}\n\nexport function FormDateRangePicker({\n id,\n name,\n label,\n required = false,\n value: initialValue,\n onChange,\n classNames,\n}: FormDateRangePickerProps) {\n let initialFrom!: Date;\n let initialTo!: Date;\n\n if (initialValue) {\n const from = initialValue.from ?? new Date();\n const to = initialValue.to ?? new Date();\n initialFrom = new Date(from.getFullYear(), from.getMonth(), from.getDate());\n initialTo = new Date(to.getFullYear(), to.getMonth(), to.getDate());\n } else {\n const now = new Date();\n const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n initialFrom = startOfDay;\n initialTo = startOfDay;\n }\n\n const [value, setValue] = useState<DateRange | undefined>({\n from: initialFrom,\n to: initialTo,\n });\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('date-range-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={value ? 'secondary' : 'muted'}\n outline\n className={cn('min-w-[240px] justify-start text-left font-normal', classNames?.button)}\n >\n <CalendarIcon />\n {value?.from ? (\n value.to ? (\n <>\n {formatDate(value.from)} - {formatDate(value.to)}\n </>\n ) : (\n formatDate(value.from)\n )\n ) : (\n <span>Pick a date</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"range\"\n defaultMonth={value?.from}\n selected={value}\n onSelect={(dateRange) => {\n if (!isEqualDates([value?.from, value?.to], [dateRange?.from, dateRange?.to])) {\n setValue(dateRange);\n }\n }}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}
@@ -66,7 +66,7 @@ function FormDateRangePicker({
66
66
  {
67
67
  variant: value ? "secondary" : "muted",
68
68
  outline: true,
69
- className: cn("w-[300px] justify-start text-left font-normal")
69
+ className: cn("min-w-[240px] justify-start text-left font-normal", classNames == null ? void 0 : classNames.button)
70
70
  },
71
71
  /* @__PURE__ */ React.createElement(CalendarIcon, null),
72
72
  (value == null ? void 0 : value.from) ? value.to ? /* @__PURE__ */ React.createElement(React.Fragment, null, formatDate(value.from), " - ", formatDate(value.to)) : formatDate(value.from) : /* @__PURE__ */ React.createElement("span", null, "Pick a date")
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/form/date-range-picker.tsx"],"sourcesContent":["'use client';\n\nimport React, { HTMLAttributes, useEffect, useState } from 'react';\nimport { addDays, format, isEqual } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { DateRange } from 'react-day-picker';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\n\nimport { isEqualDates } 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\nexport interface FormDateRangePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n value?: DateRange;\n onChange: (value: DateRange | undefined) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n };\n}\n\nexport function FormDateRangePicker({\n id,\n name,\n label,\n required = false,\n value: initialValue,\n onChange,\n classNames,\n}: FormDateRangePickerProps) {\n let initialFrom!: Date;\n let initialTo!: Date;\n\n if (initialValue) {\n const from = initialValue.from ?? new Date();\n const to = initialValue.to ?? new Date();\n initialFrom = new Date(from.getFullYear(), from.getMonth(), from.getDate());\n initialTo = new Date(to.getFullYear(), to.getMonth(), to.getDate());\n } else {\n const now = new Date();\n const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n initialFrom = startOfDay;\n initialTo = startOfDay;\n }\n\n const [value, setValue] = useState<DateRange | undefined>({\n from: initialFrom,\n to: initialTo,\n });\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('date-range-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={value ? 'secondary' : 'muted'}\n outline\n className={cn('w-[300px] justify-start text-left font-normal')}\n >\n <CalendarIcon />\n {value?.from ? (\n value.to ? (\n <>\n {formatDate(value.from)} - {formatDate(value.to)}\n </>\n ) : (\n formatDate(value.from)\n )\n ) : (\n <span>Pick a date</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"range\"\n defaultMonth={value?.from}\n selected={value}\n onSelect={(dateRange) => {\n if (!isEqualDates([value?.from, value?.to], [dateRange?.from, dateRange?.to])) {\n setValue(dateRange);\n }\n }}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,SAAyB,WAAW,gBAAgB;AAC3D,SAAkB,cAAuB;AACzC,SAAS,oBAAoB;AAE7B,OAAO,gBAAgB;AAUvB,SAAS,WAAW,MAAY;AAC9B,SAAO,OAAO,MAAM,WAAW;AACjC;AAeO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAA6B;AAzC7B;AA0CE,MAAI;AACJ,MAAI;AAEJ,MAAI,cAAc;AAChB,UAAM,QAAO,kBAAa,SAAb,YAAqB,oBAAI,KAAK;AAC3C,UAAM,MAAK,kBAAa,OAAb,YAAmB,oBAAI,KAAK;AACvC,kBAAc,IAAI,KAAK,KAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ,CAAC;AAC1E,gBAAY,IAAI,KAAK,GAAG,YAAY,GAAG,GAAG,SAAS,GAAG,GAAG,QAAQ,CAAC;AAAA,EACpE,OAAO;AACL,UAAM,MAAM,oBAAI,KAAK;AACrB,UAAM,aAAa,IAAI,KAAK,IAAI,YAAY,GAAG,IAAI,SAAS,GAAG,IAAI,QAAQ,CAAC;AAC5E,kBAAc;AACd,gBAAY;AAAA,EACd;AAEA,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgC;AAAA,IACxD,MAAM;AAAA,IACN,IAAI;AAAA,EACN,CAAC;AAED,YAAU,MAAM;AACd,aAAS,KAAK;AAAA,EAChB,GAAG,CAAC,KAAK,CAAC;AAEV,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,SACE,oCAAC,SAAI,WAAW,GAAG,qBAAqB,yCAAY,OAAO,KACxD,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,QAAQ,cAAc;AAAA,MAC/B,SAAO;AAAA,MACP,WAAW,GAAG,+CAA+C;AAAA;AAAA,IAE7D,oCAAC,kBAAa;AAAA,KACb,+BAAO,QACN,MAAM,KACJ,0DACG,WAAW,MAAM,IAAI,GAAE,OAAI,WAAW,MAAM,EAAE,CACjD,IAEA,WAAW,MAAM,IAAI,IAGvB,oCAAC,cAAK,aAAW;AAAA,EAErB,CACF,GACA,oCAAC,kBAAe,WAAU,cAAa,OAAM,WAC3C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAc,+BAAO;AAAA,MACrB,UAAU;AAAA,MACV,UAAU,CAAC,cAAc;AACvB,YAAI,CAAC,aAAa,CAAC,+BAAO,MAAM,+BAAO,EAAE,GAAG,CAAC,uCAAW,MAAM,uCAAW,EAAE,CAAC,GAAG;AAC7E,mBAAS,SAAS;AAAA,QACpB;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA;AAAA,EAClB,CACF,CACF,CACF,CACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/form/date-range-picker.tsx"],"sourcesContent":["'use client';\n\nimport React, { HTMLAttributes, useEffect, useState } from 'react';\nimport { addDays, format, isEqual } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { DateRange } from 'react-day-picker';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\n\nimport { isEqualDates } 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\nexport interface FormDateRangePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n value?: DateRange;\n onChange: (value: DateRange | undefined) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n button?: string;\n };\n}\n\nexport function FormDateRangePicker({\n id,\n name,\n label,\n required = false,\n value: initialValue,\n onChange,\n classNames,\n}: FormDateRangePickerProps) {\n let initialFrom!: Date;\n let initialTo!: Date;\n\n if (initialValue) {\n const from = initialValue.from ?? new Date();\n const to = initialValue.to ?? new Date();\n initialFrom = new Date(from.getFullYear(), from.getMonth(), from.getDate());\n initialTo = new Date(to.getFullYear(), to.getMonth(), to.getDate());\n } else {\n const now = new Date();\n const startOfDay = new Date(now.getFullYear(), now.getMonth(), now.getDate());\n initialFrom = startOfDay;\n initialTo = startOfDay;\n }\n\n const [value, setValue] = useState<DateRange | undefined>({\n from: initialFrom,\n to: initialTo,\n });\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('date-range-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={value ? 'secondary' : 'muted'}\n outline\n className={cn('min-w-[240px] justify-start text-left font-normal', classNames?.button)}\n >\n <CalendarIcon />\n {value?.from ? (\n value.to ? (\n <>\n {formatDate(value.from)} - {formatDate(value.to)}\n </>\n ) : (\n formatDate(value.from)\n )\n ) : (\n <span>Pick a date</span>\n )}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"range\"\n defaultMonth={value?.from}\n selected={value}\n onSelect={(dateRange) => {\n if (!isEqualDates([value?.from, value?.to], [dateRange?.from, dateRange?.to])) {\n setValue(dateRange);\n }\n }}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,SAAyB,WAAW,gBAAgB;AAC3D,SAAkB,cAAuB;AACzC,SAAS,oBAAoB;AAE7B,OAAO,gBAAgB;AAUvB,SAAS,WAAW,MAAY;AAC9B,SAAO,OAAO,MAAM,WAAW;AACjC;AAgBO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAA6B;AA1C7B;AA2CE,MAAI;AACJ,MAAI;AAEJ,MAAI,cAAc;AAChB,UAAM,QAAO,kBAAa,SAAb,YAAqB,oBAAI,KAAK;AAC3C,UAAM,MAAK,kBAAa,OAAb,YAAmB,oBAAI,KAAK;AACvC,kBAAc,IAAI,KAAK,KAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ,CAAC;AAC1E,gBAAY,IAAI,KAAK,GAAG,YAAY,GAAG,GAAG,SAAS,GAAG,GAAG,QAAQ,CAAC;AAAA,EACpE,OAAO;AACL,UAAM,MAAM,oBAAI,KAAK;AACrB,UAAM,aAAa,IAAI,KAAK,IAAI,YAAY,GAAG,IAAI,SAAS,GAAG,IAAI,QAAQ,CAAC;AAC5E,kBAAc;AACd,gBAAY;AAAA,EACd;AAEA,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgC;AAAA,IACxD,MAAM;AAAA,IACN,IAAI;AAAA,EACN,CAAC;AAED,YAAU,MAAM;AACd,aAAS,KAAK;AAAA,EAChB,GAAG,CAAC,KAAK,CAAC;AAEV,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,SACE,oCAAC,SAAI,WAAW,GAAG,qBAAqB,yCAAY,OAAO,KACxD,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,QAAQ,cAAc;AAAA,MAC/B,SAAO;AAAA,MACP,WAAW,GAAG,qDAAqD,yCAAY,MAAM;AAAA;AAAA,IAErF,oCAAC,kBAAa;AAAA,KACb,+BAAO,QACN,MAAM,KACJ,0DACG,WAAW,MAAM,IAAI,GAAE,OAAI,WAAW,MAAM,EAAE,CACjD,IAEA,WAAW,MAAM,IAAI,IAGvB,oCAAC,cAAK,aAAW;AAAA,EAErB,CACF,GACA,oCAAC,kBAAe,WAAU,cAAa,OAAM,WAC3C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAc,+BAAO;AAAA,MACrB,UAAU;AAAA,MACV,UAAU,CAAC,cAAc;AACvB,YAAI,CAAC,aAAa,CAAC,+BAAO,MAAM,+BAAO,EAAE,GAAG,CAAC,uCAAW,MAAM,uCAAW,EAAE,CAAC,GAAG;AAC7E,mBAAS,SAAS;AAAA,QACpB;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA;AAAA,EAClB,CACF,CACF,CACF,CACF;AAEJ;","names":[]}
@@ -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 _chunk2QPFMTGQjs = require('../../chunk-2QPFMTGQ.js');
4
+ var _chunkR4N62Z3Djs = require('../../chunk-R4N62Z3D.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
- _chunk2QPFMTGQjs.FormDatePicker,
54
+ _chunkR4N62Z3Djs.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-2NSYAQFL.mjs";
4
+ } from "../../chunk-AWGHSCTG.mjs";
5
5
  import "../../chunk-M2OVLURH.mjs";
6
6
  import "../../chunk-K34Y62WO.mjs";
7
7
  import "../../chunk-YFW7UI3E.mjs";
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.15",
2
+ "version": "0.0.16",
3
3
  "description": "shadcn UI theme",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
@@ -1 +0,0 @@
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 _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\nexport interface FormDatePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n value?: Date | string;\n onChange: (value?: Date) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n };\n}\n\nexport function FormDatePicker({\n id,\n name,\n label,\n required = false,\n disabled = false,\n value: initialValue,\n onChange,\n classNames,\n}: FormDatePickerProps) {\n const dt = _isNil(initialValue) ? new Date() : _isString(initialValue) ? new Date(initialValue) : initialValue;\n const startOfDay = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n const [value, setValue] = useState<Date | undefined>(startOfDay);\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\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={value ? 'secondary' : 'muted'}\n outline\n className={cn('w-[300px] justify-start text-left font-normal')}\n >\n <CalendarIcon />\n {value ? <>{formatDate(value)}</> : <span>Pick a date</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n defaultMonth={value}\n selected={value}\n onSelect={(date) => {\n if (!isEqualDate(value, date)) {\n setValue(date);\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;AACvB,OAAO,YAAY;AACnB,OAAO,eAAe;AAStB,SAAS,WAAW,MAAY;AAC9B,SAAO,OAAO,MAAM,WAAW;AACjC;AAgBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,KAAK,OAAO,YAAY,IAAI,oBAAI,KAAK,IAAI,UAAU,YAAY,IAAI,IAAI,KAAK,YAAY,IAAI;AAClG,QAAM,aAAa,IAAI,KAAK,GAAG,YAAY,GAAG,GAAG,SAAS,GAAG,GAAG,QAAQ,CAAC;AACzE,QAAM,CAAC,OAAO,QAAQ,IAAI,SAA2B,UAAU;AAE/D,YAAU,MAAM;AACd,aAAS,KAAK;AAAA,EAChB,GAAG,CAAC,KAAK,CAAC;AAEV,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,oCAAC,SAAI,WAAW,GAAG,YAAY,KAC7B,oCAAC,eACC,oCAAC,kBAAe,SAAO,QACrB;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,QAAQ,cAAc;AAAA,MAC/B,SAAO;AAAA,MACP,WAAW,GAAG,+CAA+C;AAAA;AAAA,IAE7D,oCAAC,kBAAa;AAAA,IACb,QAAQ,0DAAG,WAAW,KAAK,CAAE,IAAM,oCAAC,cAAK,aAAW;AAAA,EACvD,CACF,GACA,oCAAC,kBAAe,WAAU,cAAa,OAAM,WAC3C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAU,CAAC,SAAS;AAClB,YAAI,CAAC,YAAY,OAAO,IAAI,GAAG;AAC7B,mBAAS,IAAI;AAAA,QACf;AAAA,MACF;AAAA;AAAA,EACF,CACF,CACF,CACF,CACF;AAEJ;","names":[]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-2QPFMTGQ.js","../components/form/date-picker.tsx"],"names":[],"mappings":"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","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-2QPFMTGQ.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 _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\nexport interface FormDatePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n disabled?: boolean;\n value?: Date | string;\n onChange: (value?: Date) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n };\n}\n\nexport function FormDatePicker({\n id,\n name,\n label,\n required = false,\n disabled = false,\n value: initialValue,\n onChange,\n classNames,\n}: FormDatePickerProps) {\n const dt = _isNil(initialValue) ? new Date() : _isString(initialValue) ? new Date(initialValue) : initialValue;\n const startOfDay = new Date(dt.getFullYear(), dt.getMonth(), dt.getDate());\n const [value, setValue] = useState<Date | undefined>(startOfDay);\n\n useEffect(() => {\n onChange(value);\n }, [value]);\n\n if (!id) id = _kebabCase(name);\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={value ? 'secondary' : 'muted'}\n outline\n className={cn('w-[300px] justify-start text-left font-normal')}\n >\n <CalendarIcon />\n {value ? <>{formatDate(value)}</> : <span>Pick a date</span>}\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n defaultMonth={value}\n selected={value}\n onSelect={(date) => {\n if (!isEqualDate(value, date)) {\n setValue(date);\n }\n }}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}