@egose/shadcn-theme 0.0.9 → 0.0.10

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.
@@ -16,6 +16,10 @@ var _lucidereact = require('lucide-react');
16
16
  var _reactdaypicker = require('react-day-picker');
17
17
  function Calendar(_a) {
18
18
  var _b = _a, { className, classNames, showOutsideDays = true } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className", "classNames", "showOutsideDays"]);
19
+ const navigationButtonClass = _chunkB2G2EZ4Pjs.cn.call(void 0,
20
+ _chunkY2EVJJLMjs.buttonVariants.call(void 0, { variant: "light" }),
21
+ "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
22
+ );
19
23
  return /* @__PURE__ */ React.createElement(
20
24
  _reactdaypicker.DayPicker,
21
25
  _chunk2NMEKWO5js.__spreadValues.call(void 0, {
@@ -28,14 +32,8 @@ function Calendar(_a) {
28
32
  month_grid: "w-full border-collapse space-y-1",
29
33
  caption_label: "text-sm font-medium",
30
34
  nav: "flex items-center justify-between absolute inset-x-0",
31
- button_previous: _chunkB2G2EZ4Pjs.cn.call(void 0,
32
- _chunkY2EVJJLMjs.buttonVariants.call(void 0, { variant: "light" }),
33
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
34
- ),
35
- button_next: _chunkB2G2EZ4Pjs.cn.call(void 0,
36
- _chunkY2EVJJLMjs.buttonVariants.call(void 0, { variant: "light" }),
37
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
38
- ),
35
+ button_previous: navigationButtonClass,
36
+ button_next: navigationButtonClass,
39
37
  weeks: "w-full border-collapse",
40
38
  weekdays: "flex",
41
39
  weekday: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
@@ -70,4 +68,4 @@ Calendar.displayName = "Calendar";
70
68
 
71
69
 
72
70
  exports.Calendar = Calendar;
73
- //# sourceMappingURL=chunk-IOM6JB34.js.map
71
+ //# sourceMappingURL=chunk-CN2Y7Q7T.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-CN2Y7Q7T.js","../components/ui/calendar.tsx"],"names":["_a","props"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACVA,2EAAuB;AAEvB,2CAA0C;AAC1C,kDAA0B;AAO1B,SAAS,QAAA,CAAS,EAAA,EAA4E;AAA5E,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,UAAA,EAAY,gBAAA,EAAkB,KAZ7D,EAAA,EAYkB,EAAA,EAAoD,MAAA,EAAA,wCAAA,EAApD,EAAoD,CAAlD,WAAA,EAAW,YAAA,EAAY,iBAAA,CAAA,CAAA;AACzC,EAAA,MAAM,sBAAA,EAAwB,iCAAA;AAAA,IAC5B,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,IACnC;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA,6CAAA;AAAA,MACC,eAAA;AAAA,MACA,SAAA,EAAW,iCAAA,cAAG,EAAgB,SAAS,CAAA;AAAA,MACvC,UAAA,EAAY,6CAAA;AAAA,QACV,KAAA,EAAO,WAAA;AAAA,QACP,MAAA,EAAQ,iEAAA;AAAA,QACR,aAAA,EAAe,gDAAA;AAAA,QACf,UAAA,EAAY,kCAAA;AAAA,QACZ,aAAA,EAAe,qBAAA;AAAA,QACf,GAAA,EAAK,sDAAA;AAAA,QACL,eAAA,EAAiB,qBAAA;AAAA,QACjB,WAAA,EAAa,qBAAA;AAAA,QACb,KAAA,EAAO,wBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,OAAA,EAAS,gEAAA;AAAA,QACT,IAAA,EAAM,kBAAA;AAAA,QACN,GAAA,EAAK,iIAAA;AAAA,QACL,UAAA,EAAY,iCAAA;AAAA,UACV,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,UACnC;AAAA,QACF,CAAA;AAAA,QACA,WAAA,EACE,0KAAA;AAAA,QACF,SAAA,EACE,wKAAA;AAAA,QACF,YAAA,EAAc,oEAAA;AAAA,QACd,QAAA,EAAU,iCAAA;AAAA,UACR,KAAA,CAAM,KAAA,IAAS,QAAA,EACX,2GAAA,EACA;AAAA,QACN,CAAA;AAAA,QACA,KAAA,EAAO,qBAAA;AAAA,QACP,OAAA,EACE,4IAAA;AAAA,QACF,QAAA,EAAU,kCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,MAAA,CAAA,EACL,UAAA,CAAA;AAAA,MAEL,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,CAACA,GAAAA,EAAAA,GAAc;AAAd,UAAA,IAAKC,OAAAA,EAAA,wCAAA,GAALD,EAAK,CAAA,CAAA,CAAA;AACb,UAAA,OAAAC,MAAAA,CAAM,YAAA,IAAgB,OAAA,kBACpB,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAgBA,MAAAA,CAAAA,EAAhB,EAAuB,SAAA,EAAU,UAAA,CAAA,CAAU,EAAA,kBAE5C,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAiBA,MAAAA,CAAAA,EAAjB,EAAwB,SAAA,EAAU,UAAA,CAAA,CAAU,CAAA;AAAA,QAAA;AAAA,MAEnD;AAAA,IAAA,CAAA,EACI,KAAA;AAAA,EACN,CAAA;AAEJ;AACA,QAAA,CAAS,YAAA,EAAc,UAAA;ADHvB;AACA;AACE;AACF,4BAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-CN2Y7Q7T.js","sourcesContent":[null,"'use client';\n\nimport * as React from 'react';\nimport type { ComponentProps } from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { buttonVariants } from '../../components/ui/button';\n\nexport type CalendarProps = ComponentProps<typeof DayPicker>;\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n const navigationButtonClass = cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n );\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3 bg-white', className)}\n classNames={{\n month: 'space-y-4',\n months: 'flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2',\n month_caption: 'flex justify-center pt-1 relative items-center',\n month_grid: 'w-full border-collapse space-y-1',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center justify-between absolute inset-x-0',\n button_previous: navigationButtonClass,\n button_next: navigationButtonClass,\n weeks: 'w-full border-collapse',\n weekdays: 'flex',\n weekday: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md',\n day_button: cn(\n buttonVariants({ variant: 'ghost' }),\n 'h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20',\n ),\n range_start:\n 'day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_end:\n 'day-range-end !bg-secondary rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_middle: 'aria-selected:bg-secondary aria-selected:text-secondary-foreground',\n selected: cn(\n props.mode === 'range'\n ? 'bg-primary hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground'\n : '[&>button]:focus:bg-primary [&>button]:focus:text-primary-foreground',\n ),\n today: 'text-success italic',\n outside:\n 'day-outside text-muted-foreground opacity-50 !aria-selected:bg-secondary/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30',\n disabled: 'text-muted-foreground opacity-50',\n hidden: 'invisible',\n ...classNames,\n }}\n components={{\n Chevron: ({ ...props }) =>\n props.orientation === 'left' ? (\n <ChevronLeft {...props} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...props} className=\"h-4 w-4\" />\n ),\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"]}
@@ -16,6 +16,10 @@ import { ChevronLeft, ChevronRight } from "lucide-react";
16
16
  import { DayPicker } from "react-day-picker";
17
17
  function Calendar(_a) {
18
18
  var _b = _a, { className, classNames, showOutsideDays = true } = _b, props = __objRest(_b, ["className", "classNames", "showOutsideDays"]);
19
+ const navigationButtonClass = cn(
20
+ buttonVariants({ variant: "light" }),
21
+ "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
22
+ );
19
23
  return /* @__PURE__ */ React.createElement(
20
24
  DayPicker,
21
25
  __spreadValues({
@@ -28,14 +32,8 @@ function Calendar(_a) {
28
32
  month_grid: "w-full border-collapse space-y-1",
29
33
  caption_label: "text-sm font-medium",
30
34
  nav: "flex items-center justify-between absolute inset-x-0",
31
- button_previous: cn(
32
- buttonVariants({ variant: "light" }),
33
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
34
- ),
35
- button_next: cn(
36
- buttonVariants({ variant: "light" }),
37
- "h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10"
38
- ),
35
+ button_previous: navigationButtonClass,
36
+ button_next: navigationButtonClass,
39
37
  weeks: "w-full border-collapse",
40
38
  weekdays: "flex",
41
39
  weekday: "text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]",
@@ -70,4 +68,4 @@ Calendar.displayName = "Calendar";
70
68
  export {
71
69
  Calendar
72
70
  };
73
- //# sourceMappingURL=chunk-Z2NDEOFH.mjs.map
71
+ //# sourceMappingURL=chunk-QNHDDTYE.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../components/ui/calendar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ComponentProps } from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { buttonVariants } from '../../components/ui/button';\n\nexport type CalendarProps = ComponentProps<typeof DayPicker>;\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n const navigationButtonClass = cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n );\n\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3 bg-white', className)}\n classNames={{\n month: 'space-y-4',\n months: 'flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2',\n month_caption: 'flex justify-center pt-1 relative items-center',\n month_grid: 'w-full border-collapse space-y-1',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center justify-between absolute inset-x-0',\n button_previous: navigationButtonClass,\n button_next: navigationButtonClass,\n weeks: 'w-full border-collapse',\n weekdays: 'flex',\n weekday: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md',\n day_button: cn(\n buttonVariants({ variant: 'ghost' }),\n 'h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20',\n ),\n range_start:\n 'day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_end:\n 'day-range-end !bg-secondary rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_middle: 'aria-selected:bg-secondary aria-selected:text-secondary-foreground',\n selected: cn(\n props.mode === 'range'\n ? 'bg-primary hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground'\n : '[&>button]:focus:bg-primary [&>button]:focus:text-primary-foreground',\n ),\n today: 'text-success italic',\n outside:\n 'day-outside text-muted-foreground opacity-50 !aria-selected:bg-secondary/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30',\n disabled: 'text-muted-foreground opacity-50',\n hidden: 'invisible',\n ...classNames,\n }}\n components={{\n Chevron: ({ ...props }) =>\n props.orientation === 'left' ? (\n <ChevronLeft {...props} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...props} className=\"h-4 w-4\" />\n ),\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"],"mappings":";;;;;;;;;;;;;AAEA,YAAY,WAAW;AAEvB,SAAS,aAAa,oBAAoB;AAC1C,SAAS,iBAAiB;AAO1B,SAAS,SAAS,IAA4E;AAA5E,eAAE,aAAW,YAAY,kBAAkB,KAZ7D,IAYkB,IAAoD,kBAApD,IAAoD,CAAlD,aAAW,cAAY;AACzC,QAAM,wBAAwB;AAAA,IAC5B,eAAe,EAAE,SAAS,QAAQ,CAAC;AAAA,IACnC;AAAA,EACF;AAEA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,gBAAgB,SAAS;AAAA,MACvC,YAAY;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,iBAAiB;AAAA,QACjB,aAAa;AAAA,QACb,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,KAAK;AAAA,QACL,YAAY;AAAA,UACV,eAAe,EAAE,SAAS,QAAQ,CAAC;AAAA,UACnC;AAAA,QACF;AAAA,QACA,aACE;AAAA,QACF,WACE;AAAA,QACF,cAAc;AAAA,QACd,UAAU;AAAA,UACR,MAAM,SAAS,UACX,6GACA;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP,SACE;AAAA,QACF,UAAU;AAAA,QACV,QAAQ;AAAA,SACL;AAAA,MAEL,YAAY;AAAA,QACV,SAAS,CAACA,QAAc;AAAd,cAAKC,SAAA,UAALD,KAAK;AACb,iBAAAC,OAAM,gBAAgB,SACpB,oCAAC,8CAAgBA,SAAhB,EAAuB,WAAU,YAAU,IAE5C,oCAAC,+CAAiBA,SAAjB,EAAwB,WAAU,YAAU;AAAA;AAAA,MAEnD;AAAA,OACI;AAAA,EACN;AAEJ;AACA,SAAS,cAAc;","names":["_a","props"]}
@@ -1,5 +1,19 @@
1
- import * as React from 'react';
1
+ import React__default from 'react';
2
+ import { DateRange } from 'react-day-picker';
2
3
 
3
- declare function DatePickerWithRange({ className }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
4
+ declare function isEqualDate(dt1: Date | undefined, dt2: Date | undefined): boolean;
5
+ declare function isEqualDates(dts1: [Date | undefined, Date | undefined], dts2: [Date | undefined, Date | undefined]): boolean;
6
+ interface FormDateRangePickerProps {
7
+ id?: string;
8
+ name: string;
9
+ label?: string;
10
+ required?: boolean;
11
+ onChange: (value: DateRange | undefined) => void;
12
+ classNames?: {
13
+ wrapper?: string;
14
+ label?: string;
15
+ };
16
+ }
17
+ declare function FormDateRangePicker({ id, name, label, required, onChange, classNames, }: FormDateRangePickerProps): React__default.JSX.Element;
4
18
 
5
- export { DatePickerWithRange };
19
+ export { FormDateRangePicker, type FormDateRangePickerProps, isEqualDate, isEqualDates };
@@ -1,5 +1,19 @@
1
- import * as React from 'react';
1
+ import React__default from 'react';
2
+ import { DateRange } from 'react-day-picker';
2
3
 
3
- declare function DatePickerWithRange({ className }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
4
+ declare function isEqualDate(dt1: Date | undefined, dt2: Date | undefined): boolean;
5
+ declare function isEqualDates(dts1: [Date | undefined, Date | undefined], dts2: [Date | undefined, Date | undefined]): boolean;
6
+ interface FormDateRangePickerProps {
7
+ id?: string;
8
+ name: string;
9
+ label?: string;
10
+ required?: boolean;
11
+ onChange: (value: DateRange | undefined) => void;
12
+ classNames?: {
13
+ wrapper?: string;
14
+ label?: string;
15
+ };
16
+ }
17
+ declare function FormDateRangePicker({ id, name, label, required, onChange, classNames, }: FormDateRangePickerProps): React__default.JSX.Element;
4
18
 
5
- export { DatePickerWithRange };
19
+ export { FormDateRangePicker, type FormDateRangePickerProps, isEqualDate, isEqualDates };
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }"use client";
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
4
 
@@ -6,48 +6,86 @@
6
6
  var _chunkZ33UILCVjs = require('../../chunk-Z33UILCV.js');
7
7
 
8
8
 
9
- var _chunkIOM6JB34js = require('../../chunk-IOM6JB34.js');
9
+ var _chunkCN2Y7Q7Tjs = require('../../chunk-CN2Y7Q7T.js');
10
10
 
11
11
 
12
12
  var _chunkY2EVJJLMjs = require('../../chunk-Y2EVJJLM.js');
13
13
  require('../../chunk-MKSF24CS.js');
14
14
 
15
15
 
16
+ var _chunkAXZDZXCYjs = require('../../chunk-AXZDZXCY.js');
17
+
18
+
16
19
  var _chunkB2G2EZ4Pjs = require('../../chunk-B2G2EZ4P.js');
17
20
  require('../../chunk-2NMEKWO5.js');
18
21
 
19
22
  // components/form/date-range-picker.tsx
20
- var _react = require('react'); var React = _interopRequireWildcard(_react);
23
+ var _react = require('react'); var _react2 = _interopRequireDefault(_react);
21
24
  var _datefns = require('date-fns');
22
25
  var _lucidereact = require('lucide-react');
23
- function DatePickerWithRange({ className }) {
24
- const [date, setDate] = React.useState({
26
+ var _kebabCase2 = require('lodash-es/kebabCase'); var _kebabCase3 = _interopRequireDefault(_kebabCase2);
27
+ var _isNil2 = require('lodash-es/isNil'); var _isNil3 = _interopRequireDefault(_isNil2);
28
+ function formatDate(date) {
29
+ return _datefns.format.call(void 0, date, "LLL dd, y");
30
+ }
31
+ function isEqualDate(dt1, dt2) {
32
+ const nildt1 = _isNil3.default.call(void 0, dt1);
33
+ const nildt2 = _isNil3.default.call(void 0, dt2);
34
+ if (nildt1) dt1 = void 0;
35
+ if (nildt2) dt2 = void 0;
36
+ if (nildt1 || nildt2) {
37
+ return nildt1 === nildt2;
38
+ }
39
+ return _datefns.isEqual.call(void 0, dt1, dt2);
40
+ }
41
+ function isEqualDates(dts1, dts2) {
42
+ const dts11 = dts1[0];
43
+ const dts12 = dts1[1];
44
+ const dts21 = dts2[0];
45
+ const dts22 = dts2[1];
46
+ return isEqualDate(dts11, dts21) && isEqualDate(dts12, dts22);
47
+ }
48
+ function FormDateRangePicker({
49
+ id,
50
+ name,
51
+ label,
52
+ required = false,
53
+ onChange,
54
+ classNames
55
+ }) {
56
+ const [value, setValue] = _react.useState.call(void 0, {
25
57
  from: new Date(2022, 0, 20),
26
58
  to: _datefns.addDays.call(void 0, new Date(2022, 0, 20), 20)
27
59
  });
28
- return /* @__PURE__ */ React.createElement("div", { className: _chunkB2G2EZ4Pjs.cn.call(void 0, "grid gap-2", className) }, /* @__PURE__ */ React.createElement(_chunkZ33UILCVjs.Popover, null, /* @__PURE__ */ React.createElement(_chunkZ33UILCVjs.PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
60
+ if (!id) id = _kebabCase3.default.call(void 0, name);
61
+ return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunkB2G2EZ4Pjs.cn.call(void 0, "date-range-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(
29
62
  _chunkY2EVJJLMjs.Button,
30
63
  {
31
- id: "date",
32
- variant: date ? "secondary" : "muted",
64
+ variant: value ? "secondary" : "muted",
33
65
  outline: true,
34
66
  className: _chunkB2G2EZ4Pjs.cn.call(void 0, "w-[300px] justify-start text-left font-normal")
35
67
  },
36
- /* @__PURE__ */ React.createElement(_lucidereact.CalendarIcon, null),
37
- (date == null ? void 0 : date.from) ? date.to ? /* @__PURE__ */ React.createElement(React.Fragment, null, _datefns.format.call(void 0, date.from, "LLL dd, y"), " - ", _datefns.format.call(void 0, date.to, "LLL dd, y")) : _datefns.format.call(void 0, date.from, "LLL dd, y") : /* @__PURE__ */ React.createElement("span", null, "Pick a date")
38
- )), /* @__PURE__ */ React.createElement(_chunkZ33UILCVjs.PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ React.createElement(
39
- _chunkIOM6JB34js.Calendar,
68
+ /* @__PURE__ */ _react2.default.createElement(_lucidereact.CalendarIcon, null),
69
+ (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")
70
+ )), /* @__PURE__ */ _react2.default.createElement(_chunkZ33UILCVjs.PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ _react2.default.createElement(
71
+ _chunkCN2Y7Q7Tjs.Calendar,
40
72
  {
41
- initialFocus: true,
42
73
  mode: "range",
43
- defaultMonth: date == null ? void 0 : date.from,
44
- selected: date,
45
- onSelect: setDate,
74
+ defaultMonth: value == null ? void 0 : value.from,
75
+ selected: value,
76
+ onSelect: (dateRange) => {
77
+ if (!isEqualDates([value == null ? void 0 : value.from, value == null ? void 0 : value.to], [dateRange == null ? void 0 : dateRange.from, dateRange == null ? void 0 : dateRange.to])) {
78
+ onChange(dateRange);
79
+ setValue(dateRange);
80
+ }
81
+ },
46
82
  numberOfMonths: 2
47
83
  }
48
- ))));
84
+ )))));
49
85
  }
50
86
 
51
87
 
52
- exports.DatePickerWithRange = DatePickerWithRange;
88
+
89
+
90
+ exports.FormDateRangePicker = FormDateRangePicker; exports.isEqualDate = isEqualDate; exports.isEqualDates = isEqualDates;
53
91
  //# sourceMappingURL=date-range-picker.js.map
@@ -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":"AAAA,uWAAY;AACZ;AACE;AACA;AACA;AACF,0DAAgC;AAChC;AACE;AACF,0DAAgC;AAChC;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC;AACE;AACF,0DAAgC;AAChC,mCAAgC;AAChC;AACA;AChBA,2EAAuB;AACvB,mCAAgC;AAChC,2CAA6B;AAQtB,SAAS,mBAAA,CAAoB,EAAE,UAAU,CAAA,EAAyC;AACvF,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,EAAA,EAAU,KAAA,CAAA,QAAA,CAAgC;AAAA,IAC5D,IAAA,EAAM,IAAI,IAAA,CAAK,IAAA,EAAM,CAAA,EAAG,EAAE,CAAA;AAAA,IAC1B,EAAA,EAAI,8BAAA,IAAY,IAAA,CAAK,IAAA,EAAM,CAAA,EAAG,EAAE,CAAA,EAAG,EAAE;AAAA,EACvC,CAAC,CAAA;AAED,EAAA,uBACE,KAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,YAAG,EAAc,SAAS,EAAA,CAAA,kBACxC,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,IAAA,kBACC,KAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,EAAe,OAAA,EAAO,KAAA,CAAA,kBACrB,KAAA,CAAA,aAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAG,MAAA;AAAA,MACH,OAAA,EAAS,KAAA,EAAO,YAAA,EAAc,OAAA;AAAA,MAC9B,OAAA,EAAO,IAAA;AAAA,MACP,SAAA,EAAW,iCAAA,+CAAkD;AAAA,IAAA,CAAA;AAAA,oBAE7D,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,IAAa,CAAA;AAAA,IAAA,CACb,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,IAAA,CAAM,IAAA,EAAA,EACL,IAAA,CAAK,GAAA,kBACH,KAAA,CAAA,aAAA,CAAA,KAAA,CAAA,QAAA,EAAA,IAAA,EACG,6BAAA,IAAO,CAAK,IAAA,EAAM,WAAW,CAAA,EAAE,KAAA,EAAI,6BAAA,IAAO,CAAK,EAAA,EAAI,WAAW,CACjE,EAAA,EAEA,6BAAA,IAAO,CAAK,IAAA,EAAM,WAAW,EAAA,kBAG/B,KAAA,CAAA,aAAA,CAAC,MAAA,EAAA,IAAA,EAAK,aAAW;AAAA,EAErB,CACF,CAAA,kBACA,KAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,EAAe,SAAA,EAAU,YAAA,EAAa,KAAA,EAAM,QAAA,CAAA,kBAC3C,KAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,IAAA;AAAA,MACZ,IAAA,EAAK,OAAA;AAAA,MACL,YAAA,EAAc,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,IAAA,CAAM,IAAA;AAAA,MACpB,QAAA,EAAU,IAAA;AAAA,MACV,QAAA,EAAU,OAAA;AAAA,MACV,cAAA,EAAgB;AAAA,IAAA;AAAA,EAClB,CACF,CACF,CACF,CAAA;AAEJ;ADNA;AACE;AACF,kDAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/components/form/date-range-picker.js","sourcesContent":[null,"'use client';\n\nimport * as React from 'react';\nimport { addDays, format } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { DateRange } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { Button } from '../ui/button';\nimport { Calendar } from '../ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\n\nexport function DatePickerWithRange({ className }: React.HTMLAttributes<HTMLDivElement>) {\n const [date, setDate] = React.useState<DateRange | undefined>({\n from: new Date(2022, 0, 20),\n to: addDays(new Date(2022, 0, 20), 20),\n });\n\n return (\n <div className={cn('grid gap-2', className)}>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n id=\"date\"\n variant={date ? 'secondary' : 'muted'}\n outline\n className={cn('w-[300px] justify-start text-left font-normal')}\n >\n <CalendarIcon />\n {date?.from ? (\n date.to ? (\n <>\n {format(date.from, 'LLL dd, y')} - {format(date.to, 'LLL dd, y')}\n </>\n ) : (\n format(date.from, 'LLL dd, y')\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 initialFocus\n mode=\"range\"\n defaultMonth={date?.from}\n selected={date}\n onSelect={setDate}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\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, 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 { 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 function isEqualDate(dt1: Date | undefined, dt2: Date | undefined) {\n const nildt1 = _isNil(dt1);\n const nildt2 = _isNil(dt2);\n\n if (nildt1) dt1 = undefined;\n if (nildt2) dt2 = undefined;\n\n if (nildt1 || nildt2) {\n return nildt1 === nildt2;\n }\n\n return isEqual(dt1 as Date, dt2 as Date);\n}\n\nexport function isEqualDates(dts1: [Date | undefined, Date | undefined], dts2: [Date | undefined, Date | undefined]) {\n const dts11 = dts1[0];\n const dts12 = dts1[1];\n const dts21 = dts2[0];\n const dts22 = dts2[1];\n\n return isEqualDate(dts11, dts21) && isEqualDate(dts12, dts22);\n}\n\nexport interface FormDateRangePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\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 onChange,\n classNames,\n}: FormDateRangePickerProps) {\n const [value, setValue] = useState<DateRange | undefined>({\n from: new Date(2022, 0, 20),\n to: addDays(new Date(2022, 0, 20), 20),\n });\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 onChange(dateRange);\n setValue(dateRange);\n }\n }}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}
@@ -6,48 +6,86 @@ import {
6
6
  } from "../../chunk-M2OVLURH.mjs";
7
7
  import {
8
8
  Calendar
9
- } from "../../chunk-Z2NDEOFH.mjs";
9
+ } from "../../chunk-QNHDDTYE.mjs";
10
10
  import {
11
11
  Button
12
12
  } from "../../chunk-YFW7UI3E.mjs";
13
13
  import "../../chunk-P2MQ6OUG.mjs";
14
+ import {
15
+ Label
16
+ } from "../../chunk-7W42BHVK.mjs";
14
17
  import {
15
18
  cn
16
19
  } from "../../chunk-3ONILUYO.mjs";
17
20
  import "../../chunk-YOSPWY5K.mjs";
18
21
 
19
22
  // components/form/date-range-picker.tsx
20
- import * as React from "react";
21
- import { addDays, format } from "date-fns";
23
+ import React, { useState } from "react";
24
+ import { addDays, format, isEqual } from "date-fns";
22
25
  import { CalendarIcon } from "lucide-react";
23
- function DatePickerWithRange({ className }) {
24
- const [date, setDate] = React.useState({
26
+ import _kebabCase from "lodash-es/kebabCase";
27
+ import _isNil from "lodash-es/isNil";
28
+ function formatDate(date) {
29
+ return format(date, "LLL dd, y");
30
+ }
31
+ function isEqualDate(dt1, dt2) {
32
+ const nildt1 = _isNil(dt1);
33
+ const nildt2 = _isNil(dt2);
34
+ if (nildt1) dt1 = void 0;
35
+ if (nildt2) dt2 = void 0;
36
+ if (nildt1 || nildt2) {
37
+ return nildt1 === nildt2;
38
+ }
39
+ return isEqual(dt1, dt2);
40
+ }
41
+ function isEqualDates(dts1, dts2) {
42
+ const dts11 = dts1[0];
43
+ const dts12 = dts1[1];
44
+ const dts21 = dts2[0];
45
+ const dts22 = dts2[1];
46
+ return isEqualDate(dts11, dts21) && isEqualDate(dts12, dts22);
47
+ }
48
+ function FormDateRangePicker({
49
+ id,
50
+ name,
51
+ label,
52
+ required = false,
53
+ onChange,
54
+ classNames
55
+ }) {
56
+ const [value, setValue] = useState({
25
57
  from: new Date(2022, 0, 20),
26
58
  to: addDays(new Date(2022, 0, 20), 20)
27
59
  });
28
- return /* @__PURE__ */ React.createElement("div", { className: cn("grid gap-2", className) }, /* @__PURE__ */ React.createElement(Popover, null, /* @__PURE__ */ React.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
60
+ if (!id) id = _kebabCase(name);
61
+ return /* @__PURE__ */ React.createElement("div", { className: cn("date-range-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(
29
62
  Button,
30
63
  {
31
- id: "date",
32
- variant: date ? "secondary" : "muted",
64
+ variant: value ? "secondary" : "muted",
33
65
  outline: true,
34
66
  className: cn("w-[300px] justify-start text-left font-normal")
35
67
  },
36
68
  /* @__PURE__ */ React.createElement(CalendarIcon, null),
37
- (date == null ? void 0 : date.from) ? date.to ? /* @__PURE__ */ React.createElement(React.Fragment, null, format(date.from, "LLL dd, y"), " - ", format(date.to, "LLL dd, y")) : format(date.from, "LLL dd, y") : /* @__PURE__ */ React.createElement("span", null, "Pick a date")
69
+ (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")
38
70
  )), /* @__PURE__ */ React.createElement(PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ React.createElement(
39
71
  Calendar,
40
72
  {
41
- initialFocus: true,
42
73
  mode: "range",
43
- defaultMonth: date == null ? void 0 : date.from,
44
- selected: date,
45
- onSelect: setDate,
74
+ defaultMonth: value == null ? void 0 : value.from,
75
+ selected: value,
76
+ onSelect: (dateRange) => {
77
+ if (!isEqualDates([value == null ? void 0 : value.from, value == null ? void 0 : value.to], [dateRange == null ? void 0 : dateRange.from, dateRange == null ? void 0 : dateRange.to])) {
78
+ onChange(dateRange);
79
+ setValue(dateRange);
80
+ }
81
+ },
46
82
  numberOfMonths: 2
47
83
  }
48
- ))));
84
+ )))));
49
85
  }
50
86
  export {
51
- DatePickerWithRange
87
+ FormDateRangePicker,
88
+ isEqualDate,
89
+ isEqualDates
52
90
  };
53
91
  //# sourceMappingURL=date-range-picker.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/form/date-range-picker.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport { addDays, format } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport { DateRange } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { Button } from '../ui/button';\nimport { Calendar } from '../ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\n\nexport function DatePickerWithRange({ className }: React.HTMLAttributes<HTMLDivElement>) {\n const [date, setDate] = React.useState<DateRange | undefined>({\n from: new Date(2022, 0, 20),\n to: addDays(new Date(2022, 0, 20), 20),\n });\n\n return (\n <div className={cn('grid gap-2', className)}>\n <Popover>\n <PopoverTrigger asChild>\n <Button\n id=\"date\"\n variant={date ? 'secondary' : 'muted'}\n outline\n className={cn('w-[300px] justify-start text-left font-normal')}\n >\n <CalendarIcon />\n {date?.from ? (\n date.to ? (\n <>\n {format(date.from, 'LLL dd, y')} - {format(date.to, 'LLL dd, y')}\n </>\n ) : (\n format(date.from, 'LLL dd, y')\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 initialFocus\n mode=\"range\"\n defaultMonth={date?.from}\n selected={date}\n onSelect={setDate}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAEA,YAAY,WAAW;AACvB,SAAS,SAAS,cAAc;AAChC,SAAS,oBAAoB;AAQtB,SAAS,oBAAoB,EAAE,UAAU,GAAyC;AACvF,QAAM,CAAC,MAAM,OAAO,IAAU,eAAgC;AAAA,IAC5D,MAAM,IAAI,KAAK,MAAM,GAAG,EAAE;AAAA,IAC1B,IAAI,QAAQ,IAAI,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE;AAAA,EACvC,CAAC;AAED,SACE,oCAAC,SAAI,WAAW,GAAG,cAAc,SAAS,KACxC,oCAAC,eACC,oCAAC,kBAAe,SAAO,QACrB;AAAA,IAAC;AAAA;AAAA,MACC,IAAG;AAAA,MACH,SAAS,OAAO,cAAc;AAAA,MAC9B,SAAO;AAAA,MACP,WAAW,GAAG,+CAA+C;AAAA;AAAA,IAE7D,oCAAC,kBAAa;AAAA,KACb,6BAAM,QACL,KAAK,KACH,0DACG,OAAO,KAAK,MAAM,WAAW,GAAE,OAAI,OAAO,KAAK,IAAI,WAAW,CACjE,IAEA,OAAO,KAAK,MAAM,WAAW,IAG/B,oCAAC,cAAK,aAAW;AAAA,EAErB,CACF,GACA,oCAAC,kBAAe,WAAU,cAAa,OAAM,WAC3C;AAAA,IAAC;AAAA;AAAA,MACC,cAAY;AAAA,MACZ,MAAK;AAAA,MACL,cAAc,6BAAM;AAAA,MACpB,UAAU;AAAA,MACV,UAAU;AAAA,MACV,gBAAgB;AAAA;AAAA,EAClB,CACF,CACF,CACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/form/date-range-picker.tsx"],"sourcesContent":["'use client';\n\nimport React, { HTMLAttributes, 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 { 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 function isEqualDate(dt1: Date | undefined, dt2: Date | undefined) {\n const nildt1 = _isNil(dt1);\n const nildt2 = _isNil(dt2);\n\n if (nildt1) dt1 = undefined;\n if (nildt2) dt2 = undefined;\n\n if (nildt1 || nildt2) {\n return nildt1 === nildt2;\n }\n\n return isEqual(dt1 as Date, dt2 as Date);\n}\n\nexport function isEqualDates(dts1: [Date | undefined, Date | undefined], dts2: [Date | undefined, Date | undefined]) {\n const dts11 = dts1[0];\n const dts12 = dts1[1];\n const dts21 = dts2[0];\n const dts22 = dts2[1];\n\n return isEqualDate(dts11, dts21) && isEqualDate(dts12, dts22);\n}\n\nexport interface FormDateRangePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\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 onChange,\n classNames,\n}: FormDateRangePickerProps) {\n const [value, setValue] = useState<DateRange | undefined>({\n from: new Date(2022, 0, 20),\n to: addDays(new Date(2022, 0, 20), 20),\n });\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 onChange(dateRange);\n setValue(dateRange);\n }\n }}\n numberOfMonths={2}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,OAAO,SAAyB,gBAAgB;AAChD,SAAS,SAAS,QAAQ,eAAe;AACzC,SAAS,oBAAoB;AAE7B,OAAO,gBAAgB;AACvB,OAAO,YAAY;AAQnB,SAAS,WAAW,MAAY;AAC9B,SAAO,OAAO,MAAM,WAAW;AACjC;AAEO,SAAS,YAAY,KAAuB,KAAuB;AACxE,QAAM,SAAS,OAAO,GAAG;AACzB,QAAM,SAAS,OAAO,GAAG;AAEzB,MAAI,OAAQ,OAAM;AAClB,MAAI,OAAQ,OAAM;AAElB,MAAI,UAAU,QAAQ;AACpB,WAAO,WAAW;AAAA,EACpB;AAEA,SAAO,QAAQ,KAAa,GAAW;AACzC;AAEO,SAAS,aAAa,MAA4C,MAA4C;AACnH,QAAM,QAAQ,KAAK,CAAC;AACpB,QAAM,QAAQ,KAAK,CAAC;AACpB,QAAM,QAAQ,KAAK,CAAC;AACpB,QAAM,QAAQ,KAAK,CAAC;AAEpB,SAAO,YAAY,OAAO,KAAK,KAAK,YAAY,OAAO,KAAK;AAC9D;AAcO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX;AAAA,EACA;AACF,GAA6B;AAC3B,QAAM,CAAC,OAAO,QAAQ,IAAI,SAAgC;AAAA,IACxD,MAAM,IAAI,KAAK,MAAM,GAAG,EAAE;AAAA,IAC1B,IAAI,QAAQ,IAAI,KAAK,MAAM,GAAG,EAAE,GAAG,EAAE;AAAA,EACvC,CAAC;AAED,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;AAClB,mBAAS,SAAS;AAAA,QACpB;AAAA,MACF;AAAA,MACA,gBAAgB;AAAA;AAAA,EAClB,CACF,CACF,CACF,CACF;AAEJ;","names":[]}
@@ -1,12 +1,12 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
2
 
3
3
 
4
- var _chunkIOM6JB34js = require('../../chunk-IOM6JB34.js');
4
+ var _chunkCN2Y7Q7Tjs = require('../../chunk-CN2Y7Q7T.js');
5
5
  require('../../chunk-Y2EVJJLM.js');
6
6
  require('../../chunk-MKSF24CS.js');
7
7
  require('../../chunk-B2G2EZ4P.js');
8
8
  require('../../chunk-2NMEKWO5.js');
9
9
 
10
10
 
11
- exports.Calendar = _chunkIOM6JB34js.Calendar;
11
+ exports.Calendar = _chunkCN2Y7Q7Tjs.Calendar;
12
12
  //# sourceMappingURL=calendar.js.map
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import {
3
3
  Calendar
4
- } from "../../chunk-Z2NDEOFH.mjs";
4
+ } from "../../chunk-QNHDDTYE.mjs";
5
5
  import "../../chunk-YFW7UI3E.mjs";
6
6
  import "../../chunk-P2MQ6OUG.mjs";
7
7
  import "../../chunk-3ONILUYO.mjs";
@@ -23,7 +23,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
23
23
  ref?: React.Ref<HTMLInputElement>;
24
24
  } & {
25
25
  asChild?: boolean;
26
- }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
26
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "value" | "type"> & {
27
27
  value?: string;
28
28
  onValueChange?: (search: string) => void;
29
29
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -23,7 +23,7 @@ declare const CommandInput: React.ForwardRefExoticComponent<Omit<Omit<Pick<Pick<
23
23
  ref?: React.Ref<HTMLInputElement>;
24
24
  } & {
25
25
  asChild?: boolean;
26
- }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "type" | "value"> & {
26
+ }, "key" | "asChild" | keyof React.InputHTMLAttributes<HTMLInputElement>>, "onChange" | "value" | "type"> & {
27
27
  value?: string;
28
28
  onValueChange?: (search: string) => void;
29
29
  } & React.RefAttributes<HTMLInputElement>, "ref"> & React.RefAttributes<HTMLInputElement>>;
@@ -2,7 +2,7 @@ import * as React$1 from 'react';
2
2
  import * as ResizablePrimitive from 'react-resizable-panels';
3
3
 
4
4
  declare const ResizablePanelGroup: ({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React$1.JSX.Element;
5
- declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLButtonElement | HTMLElement | HTMLDivElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
5
+ declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLButtonElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
6
6
  className?: string | undefined;
7
7
  collapsedSize?: number | undefined;
8
8
  collapsible?: boolean | undefined;
@@ -2,7 +2,7 @@ import * as React$1 from 'react';
2
2
  import * as ResizablePrimitive from 'react-resizable-panels';
3
3
 
4
4
  declare const ResizablePanelGroup: ({ className, ...props }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => React$1.JSX.Element;
5
- declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLButtonElement | HTMLElement | HTMLDivElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
5
+ declare const ResizablePanel: React$1.ForwardRefExoticComponent<Omit<React$1.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLObjectElement | HTMLMapElement | HTMLAnchorElement | HTMLButtonElement | HTMLFormElement | HTMLHeadingElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLIElement | HTMLOListElement | HTMLParagraphElement | HTMLSpanElement | HTMLUListElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPreElement | HTMLProgressElement | HTMLSlotElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLStyleElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTitleElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
6
6
  className?: string | undefined;
7
7
  collapsedSize?: number | undefined;
8
8
  collapsible?: boolean | undefined;
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "0.0.9",
2
+ "version": "0.0.10",
3
3
  "description": "shadcn UI theme",
4
4
  "license": "MIT",
5
5
  "sideEffects": false,
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/home/ahnjun/projects/egose-shadcn/package/dist/chunk-IOM6JB34.js","../components/ui/calendar.tsx"],"names":["_a","props"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACVA,2EAAuB;AAEvB,2CAA0C;AAC1C,kDAA0B;AAO1B,SAAS,QAAA,CAAS,EAAA,EAA4E;AAA5E,EAAA,IAAA,GAAA,EAAA,EAAA,EAAE,EAAA,SAAA,EAAW,UAAA,EAAY,gBAAA,EAAkB,KAZ7D,EAAA,EAYkB,EAAA,EAAoD,MAAA,EAAA,wCAAA,EAApD,EAAoD,CAAlD,WAAA,EAAW,YAAA,EAAY,iBAAA,CAAA,CAAA;AACzC,EAAA,uBACE,KAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA,6CAAA;AAAA,MACC,eAAA;AAAA,MACA,SAAA,EAAW,iCAAA,cAAG,EAAgB,SAAS,CAAA;AAAA,MACvC,UAAA,EAAY,6CAAA;AAAA,QACV,KAAA,EAAO,WAAA;AAAA,QACP,MAAA,EAAQ,iEAAA;AAAA,QACR,aAAA,EAAe,gDAAA;AAAA,QACf,UAAA,EAAY,kCAAA;AAAA,QACZ,aAAA,EAAe,qBAAA;AAAA,QACf,GAAA,EAAK,sDAAA;AAAA,QACL,eAAA,EAAiB,iCAAA;AAAA,UACf,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,UACnC;AAAA,QACF,CAAA;AAAA,QACA,WAAA,EAAa,iCAAA;AAAA,UACX,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,UACnC;AAAA,QACF,CAAA;AAAA,QACA,KAAA,EAAO,wBAAA;AAAA,QACP,QAAA,EAAU,MAAA;AAAA,QACV,OAAA,EAAS,gEAAA;AAAA,QACT,IAAA,EAAM,kBAAA;AAAA,QACN,GAAA,EAAK,iIAAA;AAAA,QACL,UAAA,EAAY,iCAAA;AAAA,UACV,6CAAA,EAAiB,OAAA,EAAS,QAAQ,CAAC,CAAA;AAAA,UACnC;AAAA,QACF,CAAA;AAAA,QACA,WAAA,EACE,0KAAA;AAAA,QACF,SAAA,EACE,wKAAA;AAAA,QACF,YAAA,EAAc,oEAAA;AAAA,QACd,QAAA,EAAU,iCAAA;AAAA,UACR,KAAA,CAAM,KAAA,IAAS,QAAA,EACX,2GAAA,EACA;AAAA,QACN,CAAA;AAAA,QACA,KAAA,EAAO,qBAAA;AAAA,QACP,OAAA,EACE,4IAAA;AAAA,QACF,QAAA,EAAU,kCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,MAAA,CAAA,EACL,UAAA,CAAA;AAAA,MAEL,UAAA,EAAY;AAAA,QACV,OAAA,EAAS,CAACA,GAAAA,EAAAA,GAAc;AAAd,UAAA,IAAKC,OAAAA,EAAA,wCAAA,GAALD,EAAK,CAAA,CAAA,CAAA;AACb,UAAA,OAAAC,MAAAA,CAAM,YAAA,IAAgB,OAAA,kBACpB,KAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAgBA,MAAAA,CAAAA,EAAhB,EAAuB,SAAA,EAAU,UAAA,CAAA,CAAU,EAAA,kBAE5C,KAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,4CAAA,6CAAA,CAAA,CAAA,EAAiBA,MAAAA,CAAAA,EAAjB,EAAwB,SAAA,EAAU,UAAA,CAAA,CAAU,CAAA;AAAA,QAAA;AAAA,MAEnD;AAAA,IAAA,CAAA,EACI,KAAA;AAAA,EACN,CAAA;AAEJ;AACA,QAAA,CAAS,YAAA,EAAc,UAAA;ADFvB;AACA;AACE;AACF,4BAAC","file":"/home/ahnjun/projects/egose-shadcn/package/dist/chunk-IOM6JB34.js","sourcesContent":[null,"'use client';\n\nimport * as React from 'react';\nimport type { ComponentProps } from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { buttonVariants } from '../../components/ui/button';\n\nexport type CalendarProps = ComponentProps<typeof DayPicker>;\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3 bg-white', className)}\n classNames={{\n month: 'space-y-4',\n months: 'flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2',\n month_caption: 'flex justify-center pt-1 relative items-center',\n month_grid: 'w-full border-collapse space-y-1',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center justify-between absolute inset-x-0',\n button_previous: cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n ),\n button_next: cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n ),\n weeks: 'w-full border-collapse',\n weekdays: 'flex',\n weekday: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md',\n day_button: cn(\n buttonVariants({ variant: 'ghost' }),\n 'h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20',\n ),\n range_start:\n 'day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_end:\n 'day-range-end !bg-secondary rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_middle: 'aria-selected:bg-secondary aria-selected:text-secondary-foreground',\n selected: cn(\n props.mode === 'range'\n ? 'bg-primary hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground'\n : '[&>button]:focus:bg-primary [&>button]:focus:text-primary-foreground',\n ),\n today: 'text-success italic',\n outside:\n 'day-outside text-muted-foreground opacity-50 !aria-selected:bg-secondary/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30',\n disabled: 'text-muted-foreground opacity-50',\n hidden: 'invisible',\n ...classNames,\n }}\n components={{\n Chevron: ({ ...props }) =>\n props.orientation === 'left' ? (\n <ChevronLeft {...props} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...props} className=\"h-4 w-4\" />\n ),\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../components/ui/calendar.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport type { ComponentProps } from 'react';\nimport { ChevronLeft, ChevronRight } from 'lucide-react';\nimport { DayPicker } from 'react-day-picker';\n\nimport { cn } from '../../lib/utils';\nimport { buttonVariants } from '../../components/ui/button';\n\nexport type CalendarProps = ComponentProps<typeof DayPicker>;\n\nfunction Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn('p-3 bg-white', className)}\n classNames={{\n month: 'space-y-4',\n months: 'flex flex-col sm:flex-row space-y-4 sm:space-y-0 relative gap-2',\n month_caption: 'flex justify-center pt-1 relative items-center',\n month_grid: 'w-full border-collapse space-y-1',\n caption_label: 'text-sm font-medium',\n nav: 'flex items-center justify-between absolute inset-x-0',\n button_previous: cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n ),\n button_next: cn(\n buttonVariants({ variant: 'light' }),\n 'h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100 z-10',\n ),\n weeks: 'w-full border-collapse',\n weekdays: 'flex',\n weekday: 'text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]',\n week: 'flex w-full mt-2',\n day: 'h-9 w-9 p-0 font-normal aria-selected:opacity-100 rounded-none first:aria-selected:rounded-l-md last:aria-selected:rounded-r-md',\n day_button: cn(\n buttonVariants({ variant: 'ghost' }),\n 'h-9 w-9 text-center text-sm p-0 relative focus-within:relative focus-within:z-20',\n ),\n range_start:\n 'day-range-start !bg-secondary rounded-l-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_end:\n 'day-range-end !bg-secondary rounded-r-md [&>button]:bg-primary [&>button]:text-primary-foreground [&>button]:hover:bg-primary [&>button]:hover:text-primary-foreground',\n range_middle: 'aria-selected:bg-secondary aria-selected:text-secondary-foreground',\n selected: cn(\n props.mode === 'range'\n ? 'bg-primary hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground'\n : '[&>button]:focus:bg-primary [&>button]:focus:text-primary-foreground',\n ),\n today: 'text-success italic',\n outside:\n 'day-outside text-muted-foreground opacity-50 !aria-selected:bg-secondary/50 !aria-selected:text-muted-foreground !aria-selected:opacity-30',\n disabled: 'text-muted-foreground opacity-50',\n hidden: 'invisible',\n ...classNames,\n }}\n components={{\n Chevron: ({ ...props }) =>\n props.orientation === 'left' ? (\n <ChevronLeft {...props} className=\"h-4 w-4\" />\n ) : (\n <ChevronRight {...props} className=\"h-4 w-4\" />\n ),\n }}\n {...props}\n />\n );\n}\nCalendar.displayName = 'Calendar';\n\nexport { Calendar };\n"],"mappings":";;;;;;;;;;;;;AAEA,YAAY,WAAW;AAEvB,SAAS,aAAa,oBAAoB;AAC1C,SAAS,iBAAiB;AAO1B,SAAS,SAAS,IAA4E;AAA5E,eAAE,aAAW,YAAY,kBAAkB,KAZ7D,IAYkB,IAAoD,kBAApD,IAAoD,CAAlD,aAAW,cAAY;AACzC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW,GAAG,gBAAgB,SAAS;AAAA,MACvC,YAAY;AAAA,QACV,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,eAAe;AAAA,QACf,YAAY;AAAA,QACZ,eAAe;AAAA,QACf,KAAK;AAAA,QACL,iBAAiB;AAAA,UACf,eAAe,EAAE,SAAS,QAAQ,CAAC;AAAA,UACnC;AAAA,QACF;AAAA,QACA,aAAa;AAAA,UACX,eAAe,EAAE,SAAS,QAAQ,CAAC;AAAA,UACnC;AAAA,QACF;AAAA,QACA,OAAO;AAAA,QACP,UAAU;AAAA,QACV,SAAS;AAAA,QACT,MAAM;AAAA,QACN,KAAK;AAAA,QACL,YAAY;AAAA,UACV,eAAe,EAAE,SAAS,QAAQ,CAAC;AAAA,UACnC;AAAA,QACF;AAAA,QACA,aACE;AAAA,QACF,WACE;AAAA,QACF,cAAc;AAAA,QACd,UAAU;AAAA,UACR,MAAM,SAAS,UACX,6GACA;AAAA,QACN;AAAA,QACA,OAAO;AAAA,QACP,SACE;AAAA,QACF,UAAU;AAAA,QACV,QAAQ;AAAA,SACL;AAAA,MAEL,YAAY;AAAA,QACV,SAAS,CAACA,QAAc;AAAd,cAAKC,SAAA,UAALD,KAAK;AACb,iBAAAC,OAAM,gBAAgB,SACpB,oCAAC,8CAAgBA,SAAhB,EAAuB,WAAU,YAAU,IAE5C,oCAAC,+CAAiBA,SAAjB,EAAwB,WAAU,YAAU;AAAA;AAAA,MAEnD;AAAA,OACI;AAAA,EACN;AAEJ;AACA,SAAS,cAAc;","names":["_a","props"]}