@sunggang/ui-lib 0.4.23 → 0.4.25

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/DataTable.cjs.js CHANGED
@@ -167,7 +167,7 @@ var DropdownMenuItem = /*#__PURE__*/ React__namespace.forwardRef(function(_param
167
167
  ]);
168
168
  return /*#__PURE__*/ jsxRuntime.jsx(DropdownMenuPrimitive__namespace.Item, _object_spread$1({
169
169
  ref: ref,
170
- className: utils.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className)
170
+ className: utils.cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 dark:focus:bg-slate-800 dark:focus:text-slate-100 data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className)
171
171
  }, props));
172
172
  });
173
173
  DropdownMenuItem.displayName = DropdownMenuPrimitive__namespace.Item.displayName;
@@ -179,7 +179,7 @@ var DropdownMenuCheckboxItem = /*#__PURE__*/ React__namespace.forwardRef(functio
179
179
  ]);
180
180
  return /*#__PURE__*/ jsxRuntime.jsxs(DropdownMenuPrimitive__namespace.CheckboxItem, _object_spread_props(_object_spread$1({
181
181
  ref: ref,
182
- className: utils.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className),
182
+ className: utils.cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 dark:focus:bg-slate-800 dark:focus:text-slate-100 data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className),
183
183
  checked: checked
184
184
  }, props), {
185
185
  children: [
package/DataTable.esm.js CHANGED
@@ -143,7 +143,7 @@ var DropdownMenuItem = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
143
143
  ]);
144
144
  return /*#__PURE__*/ jsx(DropdownMenuPrimitive.Item, _object_spread$1({
145
145
  ref: ref,
146
- className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className)
146
+ className: cn("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 dark:focus:bg-slate-800 dark:focus:text-slate-100 data-[disabled]:pointer-events-none data-[disabled]:opacity-50", inset && "pl-8", className)
147
147
  }, props));
148
148
  });
149
149
  DropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;
@@ -155,7 +155,7 @@ var DropdownMenuCheckboxItem = /*#__PURE__*/ React.forwardRef(function(_param, r
155
155
  ]);
156
156
  return /*#__PURE__*/ jsxs(DropdownMenuPrimitive.CheckboxItem, _object_spread_props(_object_spread$1({
157
157
  ref: ref,
158
- className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className),
158
+ className: cn("relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-slate-100 focus:text-slate-900 dark:focus:bg-slate-800 dark:focus:text-slate-100 data-[disabled]:pointer-events-none data-[disabled]:opacity-50", className),
159
159
  checked: checked
160
160
  }, props), {
161
161
  children: [
package/Modal.cjs.js CHANGED
@@ -161,7 +161,8 @@ var Modal = function(param) {
161
161
  })
162
162
  });
163
163
  };
164
+ var Modal$1 = Modal;
164
165
 
165
166
  exports.ErrorContent = ErrorContent;
166
- exports.Modal = Modal;
167
+ exports.Modal = Modal$1;
167
168
  exports.v4 = v4;
package/Modal.esm.js CHANGED
@@ -159,5 +159,6 @@ var Modal = function(param) {
159
159
  })
160
160
  });
161
161
  };
162
+ var Modal$1 = Modal;
162
163
 
163
- export { ErrorContent as E, Modal as M, v4 as v };
164
+ export { ErrorContent as E, Modal$1 as M, v4 as v };
package/baseSwitch.cjs.js CHANGED
@@ -23561,5 +23561,4 @@ exports.SelectSeparator = SelectSeparator;
23561
23561
  exports.SelectTrigger = SelectTrigger;
23562
23562
  exports.SelectValue = SelectValue;
23563
23563
  exports.Textarea = Textarea;
23564
- exports.useInjectGlobalCSS = useInjectGlobalCSS;
23565
23564
  exports.validateMsg = validateMsg;
package/baseSwitch.esm.js CHANGED
@@ -23514,4 +23514,4 @@ var BaseSwitch = /*#__PURE__*/ React.forwardRef(function(_param, ref) {
23514
23514
  });
23515
23515
  });
23516
23516
 
23517
- export { BaseSwitch as B, City as C, FieldLabel as F, Row as R, Select as S, Textarea as T, SelectGroup as a, SelectValue as b, SelectTrigger as c, SelectContent as d, SelectLabel as e, SelectItem as f, SelectSeparator as g, SelectScrollUpButton as h, SelectScrollDownButton as i, Fields as j, CustomUploadField as k, Form as l, useInjectGlobalCSS as u, validateMsg as v };
23517
+ export { BaseSwitch as B, City as C, FieldLabel as F, Row as R, Select as S, Textarea as T, SelectGroup as a, SelectValue as b, SelectTrigger as c, SelectContent as d, SelectLabel as e, SelectItem as f, SelectSeparator as g, SelectScrollUpButton as h, SelectScrollDownButton as i, Fields as j, CustomUploadField as k, Form as l, validateMsg as v };
package/index.cjs.css CHANGED
@@ -2439,10 +2439,6 @@ video {
2439
2439
  --tw-bg-opacity: 1;
2440
2440
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
2441
2441
  }
2442
- .bg-zinc-300 {
2443
- --tw-bg-opacity: 1;
2444
- background-color: rgb(212 212 216 / var(--tw-bg-opacity, 1));
2445
- }
2446
2442
  .bg-opacity-10 {
2447
2443
  --tw-bg-opacity: 0.1;
2448
2444
  }
@@ -3352,10 +3348,6 @@ video {
3352
3348
  --tw-bg-opacity: 1;
3353
3349
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
3354
3350
  }
3355
- .hover\:bg-zinc-100:hover {
3356
- --tw-bg-opacity: 1;
3357
- background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
3358
- }
3359
3351
  .hover\:text-\[\#fff\]:hover {
3360
3352
  --tw-text-opacity: 1;
3361
3353
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -3524,6 +3516,10 @@ video {
3524
3516
  .focus\:bg-accent:focus {
3525
3517
  background-color: hsl(var(--accent));
3526
3518
  }
3519
+ .focus\:bg-slate-100:focus {
3520
+ --tw-bg-opacity: 1;
3521
+ background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
3522
+ }
3527
3523
  .focus\:text-\[\#fff\]:focus {
3528
3524
  --tw-text-opacity: 1;
3529
3525
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -3531,6 +3527,10 @@ video {
3531
3527
  .focus\:text-accent-foreground:focus {
3532
3528
  color: hsl(var(--accent-foreground));
3533
3529
  }
3530
+ .focus\:text-slate-900:focus {
3531
+ --tw-text-opacity: 1;
3532
+ color: rgb(15 23 42 / var(--tw-text-opacity, 1));
3533
+ }
3534
3534
  .focus\:outline-none:focus {
3535
3535
  outline: 2px solid transparent;
3536
3536
  outline-offset: 2px;
@@ -3801,6 +3801,14 @@ video {
3801
3801
  .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
3802
3802
  --tw-enter-translate-y: 0.5rem;
3803
3803
  }
3804
+ .dark\:focus\:bg-slate-800:focus:is(.dark *) {
3805
+ --tw-bg-opacity: 1;
3806
+ background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
3807
+ }
3808
+ .dark\:focus\:text-slate-100:focus:is(.dark *) {
3809
+ --tw-text-opacity: 1;
3810
+ color: rgb(241 245 249 / var(--tw-text-opacity, 1));
3811
+ }
3804
3812
  @media (min-width: 640px) {
3805
3813
 
3806
3814
  .sm\:mx-4 {
package/index.cjs.js CHANGED
@@ -14,8 +14,6 @@ var react = require('@iconify/react');
14
14
  var reactDayPicker = require('react-day-picker');
15
15
  var zhTW = require('date-fns/locale/zh-TW');
16
16
  var PopoverPrimitive = require('@radix-ui/react-popover');
17
- var reactDateRange = require('react-date-range');
18
- var locales = require('react-date-range/dist/locale/index.js');
19
17
  var CheckboxPrimitive = require('@radix-ui/react-checkbox');
20
18
  var reactIcons = require('@radix-ui/react-icons');
21
19
  var inputOtp = require('input-otp');
@@ -64,7 +62,6 @@ var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
64
62
  var SwitchPrimitives__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitives);
65
63
  var zhTW__default = /*#__PURE__*/_interopDefaultLegacy(zhTW);
66
64
  var PopoverPrimitive__namespace = /*#__PURE__*/_interopNamespace(PopoverPrimitive);
67
- var locales__namespace = /*#__PURE__*/_interopNamespace(locales);
68
65
  var CheckboxPrimitive__namespace = /*#__PURE__*/_interopNamespace(CheckboxPrimitive);
69
66
 
70
67
  function _define_property$7(obj, key, value) {
@@ -605,15 +602,15 @@ function DateRangePicker(param) {
605
602
  });
606
603
  }
607
604
 
608
- function _array_like_to_array$2(arr, len) {
605
+ function _array_like_to_array$1(arr, len) {
609
606
  if (len == null || len > arr.length) len = arr.length;
610
607
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
611
608
  return arr2;
612
609
  }
613
- function _array_with_holes$2(arr) {
610
+ function _array_with_holes$1(arr) {
614
611
  if (Array.isArray(arr)) return arr;
615
612
  }
616
- function _iterable_to_array_limit$2(arr, i) {
613
+ function _iterable_to_array_limit$1(arr, i) {
617
614
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
618
615
  if (_i == null) return;
619
616
  var _arr = [];
@@ -637,23 +634,23 @@ function _iterable_to_array_limit$2(arr, i) {
637
634
  }
638
635
  return _arr;
639
636
  }
640
- function _non_iterable_rest$2() {
637
+ function _non_iterable_rest$1() {
641
638
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
642
639
  }
643
- function _sliced_to_array$2(arr, i) {
644
- return _array_with_holes$2(arr) || _iterable_to_array_limit$2(arr, i) || _unsupported_iterable_to_array$2(arr, i) || _non_iterable_rest$2();
640
+ function _sliced_to_array$1(arr, i) {
641
+ return _array_with_holes$1(arr) || _iterable_to_array_limit$1(arr, i) || _unsupported_iterable_to_array$1(arr, i) || _non_iterable_rest$1();
645
642
  }
646
- function _unsupported_iterable_to_array$2(o, minLen) {
643
+ function _unsupported_iterable_to_array$1(o, minLen) {
647
644
  if (!o) return;
648
- if (typeof o === "string") return _array_like_to_array$2(o, minLen);
645
+ if (typeof o === "string") return _array_like_to_array$1(o, minLen);
649
646
  var n = Object.prototype.toString.call(o).slice(8, -1);
650
647
  if (n === "Object" && o.constructor) n = o.constructor.name;
651
648
  if (n === "Map" || n === "Set") return Array.from(n);
652
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
649
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
653
650
  }
654
651
  var SingleDatePicker = function(param) {
655
652
  var disable = param.disable, onChange = param.onChange;
656
- var _useState = _sliced_to_array$2(React.useState(), 2), date = _useState[0], setDate = _useState[1];
653
+ var _useState = _sliced_to_array$1(React.useState(), 2), date = _useState[0], setDate = _useState[1];
657
654
  var handleDate = function(newDate) {
658
655
  if (newDate) {
659
656
  setDate(newDate);
@@ -693,164 +690,6 @@ var SingleDatePicker = function(param) {
693
690
  });
694
691
  };
695
692
 
696
- /**
697
- * React Date Range CSS styles as string constants
698
- * This allows the component to inject styles dynamically without requiring external CSS imports
699
- */ // React Date Range main styles
700
- var REACT_DATE_RANGE_STYLES_CSS = ".rdrCalendarWrapper {\n box-sizing: border-box;\n background: #ffffff;\n display: inline-flex;\n flex-direction: column;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.rdrDateDisplay {\n display: flex;\n justify-content: space-between;\n}\n\n.rdrDateDisplayItem {\n flex: 1 1;\n width: 0;\n text-align: center;\n color: inherit;\n}\n\n.rdrDateDisplayItem + .rdrDateDisplayItem {\n margin-left: 0.833em;\n}\n\n.rdrDateDisplayItem input {\n text-align: inherit;\n}\n\n.rdrDateDisplayItem input:disabled {\n cursor: default;\n}\n\n.rdrDateDisplayItemActive {\n}\n\n.rdrMonthAndYearWrapper {\n box-sizing: inherit;\n display: flex;\n justify-content: space-between;\n}\n\n.rdrMonthAndYearPickers {\n flex: 1 1 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.rdrMonthPicker {\n}\n\n.rdrYearPicker {\n}\n\n.rdrNextPrevButton {\n box-sizing: inherit;\n cursor: pointer;\n outline: none;\n}\n\n.rdrPprevButton {\n}\n\n.rdrNextButton {\n}\n\n.rdrMonths {\n display: flex;\n}\n\n.rdrMonthsVertical {\n flex-direction: column;\n}\n\n.rdrMonthsHorizontal > div > div > div {\n display: flex;\n flex-direction: row;\n}\n\n.rdrMonth {\n width: 27.667em;\n}\n\n.rdrWeekDays {\n display: flex;\n}\n\n.rdrWeekDay {\n flex-basis: calc(100% / 7);\n box-sizing: inherit;\n text-align: center;\n}\n\n.rdrDays {\n display: flex;\n flex-wrap: wrap;\n}\n\n.rdrDateDisplayWrapper {\n}\n\n.rdrMonthName {\n}\n\n.rdrInfiniteMonths {\n overflow: auto;\n}\n\n.rdrDateRangeWrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.rdrDateInput {\n position: relative;\n}\n\n.rdrDateInput input {\n outline: none;\n}\n\n.rdrDateInput .rdrWarning {\n position: absolute;\n font-size: 1.6em;\n line-height: 1.6em;\n top: 0;\n right: 0.25em;\n color: #ff0000;\n}\n\n.rdrDay {\n box-sizing: inherit;\n width: calc(100% / 7);\n position: relative;\n font: inherit;\n cursor: pointer;\n}\n\n.rdrDayNumber {\n display: block;\n position: relative;\n}\n\n.rdrDayNumber span {\n color: #1d2429;\n}\n\n.rdrDayDisabled {\n cursor: not-allowed;\n}\n\n@supports (-ms-ime-align: auto) {\n .rdrDay {\n flex-basis: 14.285% !important;\n }\n}\n\n.rdrSelected,\n.rdrInRange,\n.rdrStartEdge,\n.rdrEndEdge {\n pointer-events: none;\n}\n\n.rdrInRange {\n}\n\n.rdrDayStartPreview,\n.rdrDayInPreview,\n.rdrDayEndPreview {\n pointer-events: none;\n}\n\n.rdrDayHovered {\n}\n\n.rdrDayActive {\n}\n\n.rdrDateRangePickerWrapper {\n display: inline-flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.rdrDefinedRangesWrapper {\n}\n\n.rdrStaticRanges {\n display: flex;\n flex-direction: column;\n}\n\n.rdrStaticRange {\n font-size: inherit;\n}\n\n.rdrStaticRangeLabel {\n}\n\n.rdrInputRanges {\n}\n\n.rdrInputRange {\n display: flex;\n}\n\n.rdrInputRangeInput {\n}";
701
- // React Date Range theme (default) styles
702
- var REACT_DATE_RANGE_THEME_CSS = ".rdrCalendarWrapper{\n color: #000000;\n font-size: 12px;\n}\n\n.rdrDateDisplayWrapper{\n background-color: rgb(239, 242, 247);\n}\n\n.rdrDateDisplay{\n margin: 0.833em;\n}\n\n.rdrDateDisplayItem{\n border-radius: 4px;\n background-color: rgb(255, 255, 255);\n box-shadow: 0 1px 2px 0 rgba(35, 57, 66, 0.21);\n border: 1px solid transparent;\n}\n\n.rdrDateDisplayItem input{\n cursor: pointer;\n height: 2.5em;\n line-height: 2.5em;\n border: 0px;\n background: transparent;\n width: 100%;\n color: #849095;\n }\n\n.rdrDateDisplayItemActive{\n border-color: currentColor;\n}\n\n.rdrDateDisplayItemActive input{\n color: #7d888d\n }\n\n.rdrMonthAndYearWrapper {\n align-items: center;\n height: 60px;\n padding-top: 10px;\n}\n\n.rdrMonthAndYearPickers{\n font-weight: 600;\n}\n\n.rdrMonthAndYearPickers select{\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none;\n border: 0;\n background: transparent;\n padding: 10px 30px 10px 10px;\n border-radius: 4px;\n outline: 0;\n color: #3e484f;\n background: url(\"data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>\") no-repeat;\n background-position: right 8px center;\n cursor: pointer;\n text-align: center\n }\n\n.rdrMonthAndYearPickers select:hover{\n background-color: rgba(0,0,0,0.07);\n }\n\n.rdrMonthPicker, .rdrYearPicker{\n margin: 0 5px\n}\n\n.rdrNextPrevButton {\n display: block;\n width: 24px;\n height: 24px;\n margin: 0 0.833em;\n padding: 0;\n border: 0;\n border-radius: 5px;\n background: #EFF2F7\n}\n\n.rdrNextPrevButton:hover{\n background: #E1E7F0;\n }\n\n.rdrNextPrevButton i {\n display: block;\n width: 0;\n height: 0;\n padding: 0;\n text-align: center;\n border-style: solid;\n margin: auto;\n transform: translate(-3px, 0px);\n }\n\n.rdrPprevButton i {\n border-width: 4px 6px 4px 4px;\n border-color: transparent rgb(52, 73, 94) transparent transparent;\n transform: translate(-3px, 0px);\n }\n\n.rdrNextButton i {\n margin: 0 0 0 7px;\n border-width: 4px 4px 4px 6px;\n border-color: transparent transparent transparent rgb(52, 73, 94);\n transform: translate(3px, 0px);\n }\n\n.rdrWeekDays {\n padding: 0 0.833em;\n}\n\n.rdrMonth{\n padding: 0 0.833em 1.666em 0.833em;\n}\n\n.rdrMonth .rdrWeekDays {\n padding: 0;\n }\n\n.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{\n display: none;\n}\n\n.rdrWeekDay {\n font-weight: 400;\n line-height: 2.667em;\n color: rgb(132, 144, 149);\n}\n\n.rdrDay {\n background: transparent;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: 0;\n padding: 0;\n line-height: 3.000em;\n height: 3.000em;\n text-align: center;\n color: #1d2429\n}\n\n.rdrDay:focus {\n outline: 0;\n }\n\n.rdrDayNumber {\n outline: 0;\n font-weight: 300;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n top: 5px;\n bottom: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.rdrDayToday .rdrDayNumber span{\n font-weight: 500\n}\n\n.rdrDayToday .rdrDayNumber span:after{\n content: '';\n position: absolute;\n bottom: 4px;\n left: 50%;\n transform: translate(-50%, 0);\n width: 18px;\n height: 2px;\n border-radius: 2px;\n background: #3d91ff;\n }\n\n.rdrDayToday:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span:after{\n background: #fff;\n }\n\n.rdrDay:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span{\n color: rgba(255, 255, 255, 0.85);\n }\n\n.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{\n background: currentColor;\n position: absolute;\n top: 5px;\n left: 0;\n right: 0;\n bottom: 5px;\n}\n\n.rdrSelected{\n left: 2px;\n right: 2px;\n}\n\n.rdrInRange{}\n\n.rdrStartEdge{\n border-top-left-radius: 1.042em;\n border-bottom-left-radius: 1.042em;\n left: 2px;\n}\n\n.rdrEndEdge{\n border-top-right-radius: 1.042em;\n border-bottom-right-radius: 1.042em;\n right: 2px;\n}\n\n.rdrSelected{\n border-radius: 1.042em;\n}\n\n.rdrDayStartOfMonth .rdrInRange, .rdrDayStartOfMonth .rdrEndEdge, .rdrDayStartOfWeek .rdrInRange, .rdrDayStartOfWeek .rdrEndEdge{\n border-top-left-radius: 1.042em;\n border-bottom-left-radius: 1.042em;\n left: 2px;\n }\n\n.rdrDayEndOfMonth .rdrInRange, .rdrDayEndOfMonth .rdrStartEdge, .rdrDayEndOfWeek .rdrInRange, .rdrDayEndOfWeek .rdrStartEdge{\n border-top-right-radius: 1.042em;\n border-bottom-right-radius: 1.042em;\n right: 2px;\n }\n\n.rdrDayStartOfMonth .rdrDayInPreview, .rdrDayStartOfMonth .rdrDayEndPreview, .rdrDayStartOfWeek .rdrDayInPreview, .rdrDayStartOfWeek .rdrDayEndPreview{\n border-top-left-radius: 1.333em;\n border-bottom-left-radius: 1.333em;\n border-left-width: 1px;\n left: 0px;\n }\n\n.rdrDayEndOfMonth .rdrDayInPreview, .rdrDayEndOfMonth .rdrDayStartPreview, .rdrDayEndOfWeek .rdrDayInPreview, .rdrDayEndOfWeek .rdrDayStartPreview{\n border-top-right-radius: 1.333em;\n border-bottom-right-radius: 1.333em;\n border-right-width: 1px;\n right: 0px;\n }\n\n.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{\n background: rgba(255, 255, 255, 0.09);\n position: absolute;\n top: 3px;\n left: 0px;\n right: 0px;\n bottom: 3px;\n pointer-events: none;\n border: 0px solid currentColor;\n z-index: 1;\n}\n\n.rdrDayStartPreview{\n border-top-width: 1px;\n border-left-width: 1px;\n border-bottom-width: 1px;\n border-top-left-radius: 1.333em;\n border-bottom-left-radius: 1.333em;\n left: 0px;\n}\n\n.rdrDayInPreview{\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rdrDayEndPreview{\n border-top-width: 1px;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-top-right-radius: 1.333em;\n border-bottom-right-radius: 1.333em;\n right: 2px;\n right: 0px;\n}\n\n.rdrDefinedRangesWrapper{\n font-size: 12px;\n width: 226px;\n border-right: solid 1px #eff2f7;\n background: #fff;\n}\n\n.rdrDefinedRangesWrapper .rdrStaticRangeSelected{\n color: currentColor;\n font-weight: 600;\n }\n\n.rdrStaticRange{\n border: 0;\n cursor: pointer;\n display: block;\n outline: 0;\n border-bottom: 1px solid #eff2f7;\n padding: 0;\n background: #fff\n}\n\n.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{\n background: #eff2f7;\n }\n\n.rdrStaticRangeLabel{\n display: block;\n outline: 0;\n line-height: 18px;\n padding: 10px 20px;\n text-align: left;\n}\n\n.rdrInputRanges{\n padding: 10px 0;\n}\n\n.rdrInputRange{\n align-items: center;\n padding: 5px 20px;\n}\n\n.rdrInputRangeInput{\n width: 30px;\n height: 30px;\n line-height: 30px;\n border-radius: 4px;\n text-align: center;\n border: solid 1px rgb(222, 231, 235);\n margin-right: 10px;\n color: rgb(108, 118, 122)\n}\n\n.rdrInputRangeInput:focus, .rdrInputRangeInput:hover{\n border-color: rgb(180, 191, 196);\n outline: 0;\n color: #333;\n }\n\n.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{\n content: '';\n border: 1px solid currentColor;\n border-radius: 1.333em;\n position: absolute;\n top: -2px;\n bottom: -2px;\n left: 0px;\n right: 0px;\n background: transparent;\n}\n\n.rdrDayPassive{\n pointer-events: none;\n}\n\n.rdrDayPassive .rdrDayNumber span{\n color: #d5dce0;\n }\n\n.rdrDayPassive .rdrInRange, .rdrDayPassive .rdrStartEdge, .rdrDayPassive .rdrEndEdge, .rdrDayPassive .rdrSelected, .rdrDayPassive .rdrDayStartPreview, .rdrDayPassive .rdrDayInPreview, .rdrDayPassive .rdrDayEndPreview{\n display: none;\n }\n\n.rdrDayDisabled {\n background-color: rgb(248, 248, 248);\n}\n\n.rdrDayDisabled .rdrDayNumber span{\n color: #aeb9bf;\n }\n\n.rdrDayDisabled .rdrInRange, .rdrDayDisabled .rdrStartEdge, .rdrDayDisabled .rdrEndEdge, .rdrDayDisabled .rdrSelected, .rdrDayDisabled .rdrDayStartPreview, .rdrDayDisabled .rdrDayInPreview, .rdrDayDisabled .rdrDayEndPreview{\n filter: grayscale(100%) opacity(60%);\n }\n\n.rdrMonthName{\n text-align: left;\n font-weight: 600;\n color: #849095;\n padding: 0.833em;\n}";
703
- // Combined CSS (styles + theme)
704
- var REACT_DATE_RANGE_COMBINED_CSS = REACT_DATE_RANGE_STYLES_CSS + "\n\n" + REACT_DATE_RANGE_THEME_CSS;
705
-
706
- function _array_like_to_array$1(arr, len) {
707
- if (len == null || len > arr.length) len = arr.length;
708
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
709
- return arr2;
710
- }
711
- function _array_with_holes$1(arr) {
712
- if (Array.isArray(arr)) return arr;
713
- }
714
- function _iterable_to_array_limit$1(arr, i) {
715
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
716
- if (_i == null) return;
717
- var _arr = [];
718
- var _n = true;
719
- var _d = false;
720
- var _s, _e;
721
- try {
722
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
723
- _arr.push(_s.value);
724
- if (i && _arr.length === i) break;
725
- }
726
- } catch (err) {
727
- _d = true;
728
- _e = err;
729
- } finally{
730
- try {
731
- if (!_n && _i["return"] != null) _i["return"]();
732
- } finally{
733
- if (_d) throw _e;
734
- }
735
- }
736
- return _arr;
737
- }
738
- function _non_iterable_rest$1() {
739
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
740
- }
741
- function _sliced_to_array$1(arr, i) {
742
- return _array_with_holes$1(arr) || _iterable_to_array_limit$1(arr, i) || _unsupported_iterable_to_array$1(arr, i) || _non_iterable_rest$1();
743
- }
744
- function _unsupported_iterable_to_array$1(o, minLen) {
745
- if (!o) return;
746
- if (typeof o === "string") return _array_like_to_array$1(o, minLen);
747
- var n = Object.prototype.toString.call(o).slice(8, -1);
748
- if (n === "Object" && o.constructor) n = o.constructor.name;
749
- if (n === "Map" || n === "Set") return Array.from(n);
750
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
751
- }
752
- var ReactDateRange = function(param) {
753
- var className = param.className, item = param.item, onChange = param.onChange, dates = param.dates, date = param.date;
754
- // 動態注入 React Date Range CSS,避免外部專案需要手動 import CSS
755
- baseSwitch.useInjectGlobalCSS(REACT_DATE_RANGE_COMBINED_CSS, "react-date-range-styles");
756
- var _useState = _sliced_to_array$1(React.useState("zhTW"), 1), locale = _useState[0];
757
- var _useState1 = _sliced_to_array$1(React.useState(null), 2), calendarData = _useState1[0], setCalendarData = _useState1[1];
758
- var _useState2 = _sliced_to_array$1(React.useState({
759
- startDate: new Date(),
760
- endDate: dateFns.addDays(new Date(), 7),
761
- key: "selection"
762
- }), 2), range = _useState2[0], setRange = _useState2[1];
763
- var _useState3 = _sliced_to_array$1(React.useState(false), 2), open = _useState3[0], setOpen = _useState3[1];
764
- var refOne = React.useRef(null);
765
- var hideOnEscape = function(e) {
766
- if (e.key === "Escape") {
767
- setOpen(false);
768
- }
769
- };
770
- var hideOnClickOutside = function(e) {
771
- if (refOne.current && !refOne.current.contains(e.target)) {
772
- setOpen(false);
773
- }
774
- };
775
- React.useEffect(function() {
776
- setCalendarData(date || null);
777
- }, [
778
- date
779
- ]);
780
- React.useEffect(function() {
781
- if (!dates) return;
782
- setRange(dates);
783
- }, [
784
- dates
785
- ]);
786
- React.useEffect(function() {
787
- document.addEventListener("keydown", hideOnEscape, true);
788
- document.addEventListener("click", hideOnClickOutside, true);
789
- return function() {
790
- document.removeEventListener("keydown", hideOnEscape, true);
791
- document.removeEventListener("click", hideOnClickOutside, true);
792
- };
793
- }, []);
794
- var formatDates = function() {
795
- if (!range) return;
796
- var startDate = range.startDate, endDate = range.endDate;
797
- return "".concat(dateFns.format(startDate, "yyyy-MM-dd"), " ~ ").concat(dateFns.format(endDate, "yyyy-MM-dd"));
798
- };
799
- var formatDate = calendarData ? dateFns.format(calendarData, (item === null || item === void 0 ? void 0 : item.dateDisplayFormat) || "yyyy-MM-dd") : "";
800
- return /*#__PURE__*/ jsxRuntime.jsxs("div", {
801
- className: [
802
- className,
803
- "relative"
804
- ].join(" "),
805
- children: [
806
- (item === null || item === void 0 ? void 0 : item.label) && /*#__PURE__*/ jsxRuntime.jsx("div", {
807
- className: "text-gray-700 font-medium mb-2 h-6",
808
- children: item === null || item === void 0 ? void 0 : item.label
809
- }),
810
- /*#__PURE__*/ jsxRuntime.jsx("input", {
811
- className: "border-solid border rounded p-2 h-10 w-full timePicker border-gray-300",
812
- name: item === null || item === void 0 ? void 0 : item.name,
813
- onClick: function() {
814
- return setOpen(function(openState) {
815
- return !openState;
816
- });
817
- },
818
- placeholder: item === null || item === void 0 ? void 0 : item.placeholder,
819
- value: (item === null || item === void 0 ? void 0 : item.type) === "date" ? formatDate : formatDates(),
820
- autoComplete: "off"
821
- }),
822
- open && /*#__PURE__*/ jsxRuntime.jsxs("div", {
823
- className: "absolute top-[72px] left-0 z-50 shadow-md",
824
- ref: refOne,
825
- children: [
826
- open && (item === null || item === void 0 ? void 0 : item.type) === "date" && /*#__PURE__*/ jsxRuntime.jsx(reactDateRange.Calendar, {
827
- data: calendarData,
828
- locale: locales__namespace[locale],
829
- dateDisplayFormat: item === null || item === void 0 ? void 0 : item.dateDisplayFormat,
830
- onChange: function(value) {
831
- setCalendarData(value);
832
- if (onChange) onChange(value);
833
- setOpen(false);
834
- }
835
- }),
836
- open && (item === null || item === void 0 ? void 0 : item.type) === "dateRange" && /*#__PURE__*/ jsxRuntime.jsx(reactDateRange.DateRange, {
837
- editableDateInputs: true,
838
- onChange: function(value) {
839
- setRange(value.selection);
840
- if (onChange) onChange(value.selection);
841
- },
842
- ranges: [
843
- range
844
- ],
845
- locale: locales__namespace[locale],
846
- dateDisplayFormat: "yyyy.MM.dd"
847
- })
848
- ]
849
- })
850
- ]
851
- });
852
- };
853
-
854
693
  function _define_property$4(obj, key, value) {
855
694
  if (key in obj) {
856
695
  Object.defineProperty(obj, key, {
@@ -2163,7 +2002,6 @@ exports.InputOTPGroup = InputOTPGroup;
2163
2002
  exports.InputOTPSeparator = InputOTPSeparator;
2164
2003
  exports.InputOTPSlot = InputOTPSlot;
2165
2004
  exports.InputOTPs = InputOTPs;
2166
- exports.ReactDateRange = ReactDateRange;
2167
2005
  exports.Regex = Regex;
2168
2006
  exports.SingleDatePicker = SingleDatePicker;
2169
2007
  exports.Spin = Spin;
package/index.esm.css CHANGED
@@ -2439,10 +2439,6 @@ video {
2439
2439
  --tw-bg-opacity: 1;
2440
2440
  background-color: rgb(234 179 8 / var(--tw-bg-opacity, 1));
2441
2441
  }
2442
- .bg-zinc-300 {
2443
- --tw-bg-opacity: 1;
2444
- background-color: rgb(212 212 216 / var(--tw-bg-opacity, 1));
2445
- }
2446
2442
  .bg-opacity-10 {
2447
2443
  --tw-bg-opacity: 0.1;
2448
2444
  }
@@ -3352,10 +3348,6 @@ video {
3352
3348
  --tw-bg-opacity: 1;
3353
3349
  background-color: rgb(254 249 195 / var(--tw-bg-opacity, 1));
3354
3350
  }
3355
- .hover\:bg-zinc-100:hover {
3356
- --tw-bg-opacity: 1;
3357
- background-color: rgb(244 244 245 / var(--tw-bg-opacity, 1));
3358
- }
3359
3351
  .hover\:text-\[\#fff\]:hover {
3360
3352
  --tw-text-opacity: 1;
3361
3353
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -3524,6 +3516,10 @@ video {
3524
3516
  .focus\:bg-accent:focus {
3525
3517
  background-color: hsl(var(--accent));
3526
3518
  }
3519
+ .focus\:bg-slate-100:focus {
3520
+ --tw-bg-opacity: 1;
3521
+ background-color: rgb(241 245 249 / var(--tw-bg-opacity, 1));
3522
+ }
3527
3523
  .focus\:text-\[\#fff\]:focus {
3528
3524
  --tw-text-opacity: 1;
3529
3525
  color: rgb(255 255 255 / var(--tw-text-opacity, 1));
@@ -3531,6 +3527,10 @@ video {
3531
3527
  .focus\:text-accent-foreground:focus {
3532
3528
  color: hsl(var(--accent-foreground));
3533
3529
  }
3530
+ .focus\:text-slate-900:focus {
3531
+ --tw-text-opacity: 1;
3532
+ color: rgb(15 23 42 / var(--tw-text-opacity, 1));
3533
+ }
3534
3534
  .focus\:outline-none:focus {
3535
3535
  outline: 2px solid transparent;
3536
3536
  outline-offset: 2px;
@@ -3801,6 +3801,14 @@ video {
3801
3801
  .data-\[side\=top\]\:slide-in-from-bottom-2[data-side="top"] {
3802
3802
  --tw-enter-translate-y: 0.5rem;
3803
3803
  }
3804
+ .dark\:focus\:bg-slate-800:focus:is(.dark *) {
3805
+ --tw-bg-opacity: 1;
3806
+ background-color: rgb(30 41 59 / var(--tw-bg-opacity, 1));
3807
+ }
3808
+ .dark\:focus\:text-slate-100:focus:is(.dark *) {
3809
+ --tw-text-opacity: 1;
3810
+ color: rgb(241 245 249 / var(--tw-text-opacity, 1));
3811
+ }
3804
3812
  @media (min-width: 640px) {
3805
3813
 
3806
3814
  .sm\:mx-4 {
package/index.esm.js CHANGED
@@ -2,19 +2,16 @@ import { b as buttonVariants, B as Button } from './input.esm.js';
2
2
  export { B as Button, I as Input, b as buttonVariants } from './input.esm.js';
3
3
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
4
4
  import * as React from 'react';
5
- import React__default, { useState, useRef, useEffect, useMemo, createContext, useContext, useCallback, forwardRef } from 'react';
5
+ import React__default, { useState, useEffect, useMemo, createContext, useContext, useCallback, forwardRef, useRef } from 'react';
6
6
  import * as SwitchPrimitives from '@radix-ui/react-switch';
7
7
  import { c as cn } from './utils.esm.js';
8
- import { u as useInjectGlobalCSS } from './baseSwitch.esm.js';
9
8
  export { B as BaseSwitch, S as Select, d as SelectContent, a as SelectGroup, f as SelectItem, e as SelectLabel, i as SelectScrollDownButton, h as SelectScrollUpButton, g as SelectSeparator, c as SelectTrigger, b as SelectValue, v as validateMsg } from './baseSwitch.esm.js';
10
- import { format, addDays } from 'date-fns';
9
+ import { format } from 'date-fns';
11
10
  import { Calendar as Calendar$1 } from 'lucide-react';
12
11
  import { Icon } from '@iconify/react';
13
12
  import { DayPicker } from 'react-day-picker';
14
13
  import zhTW from 'date-fns/locale/zh-TW';
15
14
  import * as PopoverPrimitive from '@radix-ui/react-popover';
16
- import { Calendar as Calendar$2, DateRange } from 'react-date-range';
17
- import * as locales from 'react-date-range/dist/locale/index.js';
18
15
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
19
16
  import { CheckIcon } from '@radix-ui/react-icons';
20
17
  import { OTPInput, OTPInputContext } from 'input-otp';
@@ -576,15 +573,15 @@ function DateRangePicker(param) {
576
573
  });
577
574
  }
578
575
 
579
- function _array_like_to_array$2(arr, len) {
576
+ function _array_like_to_array$1(arr, len) {
580
577
  if (len == null || len > arr.length) len = arr.length;
581
578
  for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
582
579
  return arr2;
583
580
  }
584
- function _array_with_holes$2(arr) {
581
+ function _array_with_holes$1(arr) {
585
582
  if (Array.isArray(arr)) return arr;
586
583
  }
587
- function _iterable_to_array_limit$2(arr, i) {
584
+ function _iterable_to_array_limit$1(arr, i) {
588
585
  var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
589
586
  if (_i == null) return;
590
587
  var _arr = [];
@@ -608,23 +605,23 @@ function _iterable_to_array_limit$2(arr, i) {
608
605
  }
609
606
  return _arr;
610
607
  }
611
- function _non_iterable_rest$2() {
608
+ function _non_iterable_rest$1() {
612
609
  throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
613
610
  }
614
- function _sliced_to_array$2(arr, i) {
615
- return _array_with_holes$2(arr) || _iterable_to_array_limit$2(arr, i) || _unsupported_iterable_to_array$2(arr, i) || _non_iterable_rest$2();
611
+ function _sliced_to_array$1(arr, i) {
612
+ return _array_with_holes$1(arr) || _iterable_to_array_limit$1(arr, i) || _unsupported_iterable_to_array$1(arr, i) || _non_iterable_rest$1();
616
613
  }
617
- function _unsupported_iterable_to_array$2(o, minLen) {
614
+ function _unsupported_iterable_to_array$1(o, minLen) {
618
615
  if (!o) return;
619
- if (typeof o === "string") return _array_like_to_array$2(o, minLen);
616
+ if (typeof o === "string") return _array_like_to_array$1(o, minLen);
620
617
  var n = Object.prototype.toString.call(o).slice(8, -1);
621
618
  if (n === "Object" && o.constructor) n = o.constructor.name;
622
619
  if (n === "Map" || n === "Set") return Array.from(n);
623
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
620
+ if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
624
621
  }
625
622
  var SingleDatePicker = function(param) {
626
623
  var disable = param.disable, onChange = param.onChange;
627
- var _useState = _sliced_to_array$2(useState(), 2), date = _useState[0], setDate = _useState[1];
624
+ var _useState = _sliced_to_array$1(useState(), 2), date = _useState[0], setDate = _useState[1];
628
625
  var handleDate = function(newDate) {
629
626
  if (newDate) {
630
627
  setDate(newDate);
@@ -664,164 +661,6 @@ var SingleDatePicker = function(param) {
664
661
  });
665
662
  };
666
663
 
667
- /**
668
- * React Date Range CSS styles as string constants
669
- * This allows the component to inject styles dynamically without requiring external CSS imports
670
- */ // React Date Range main styles
671
- var REACT_DATE_RANGE_STYLES_CSS = ".rdrCalendarWrapper {\n box-sizing: border-box;\n background: #ffffff;\n display: inline-flex;\n flex-direction: column;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.rdrDateDisplay {\n display: flex;\n justify-content: space-between;\n}\n\n.rdrDateDisplayItem {\n flex: 1 1;\n width: 0;\n text-align: center;\n color: inherit;\n}\n\n.rdrDateDisplayItem + .rdrDateDisplayItem {\n margin-left: 0.833em;\n}\n\n.rdrDateDisplayItem input {\n text-align: inherit;\n}\n\n.rdrDateDisplayItem input:disabled {\n cursor: default;\n}\n\n.rdrDateDisplayItemActive {\n}\n\n.rdrMonthAndYearWrapper {\n box-sizing: inherit;\n display: flex;\n justify-content: space-between;\n}\n\n.rdrMonthAndYearPickers {\n flex: 1 1 auto;\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n.rdrMonthPicker {\n}\n\n.rdrYearPicker {\n}\n\n.rdrNextPrevButton {\n box-sizing: inherit;\n cursor: pointer;\n outline: none;\n}\n\n.rdrPprevButton {\n}\n\n.rdrNextButton {\n}\n\n.rdrMonths {\n display: flex;\n}\n\n.rdrMonthsVertical {\n flex-direction: column;\n}\n\n.rdrMonthsHorizontal > div > div > div {\n display: flex;\n flex-direction: row;\n}\n\n.rdrMonth {\n width: 27.667em;\n}\n\n.rdrWeekDays {\n display: flex;\n}\n\n.rdrWeekDay {\n flex-basis: calc(100% / 7);\n box-sizing: inherit;\n text-align: center;\n}\n\n.rdrDays {\n display: flex;\n flex-wrap: wrap;\n}\n\n.rdrDateDisplayWrapper {\n}\n\n.rdrMonthName {\n}\n\n.rdrInfiniteMonths {\n overflow: auto;\n}\n\n.rdrDateRangeWrapper {\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.rdrDateInput {\n position: relative;\n}\n\n.rdrDateInput input {\n outline: none;\n}\n\n.rdrDateInput .rdrWarning {\n position: absolute;\n font-size: 1.6em;\n line-height: 1.6em;\n top: 0;\n right: 0.25em;\n color: #ff0000;\n}\n\n.rdrDay {\n box-sizing: inherit;\n width: calc(100% / 7);\n position: relative;\n font: inherit;\n cursor: pointer;\n}\n\n.rdrDayNumber {\n display: block;\n position: relative;\n}\n\n.rdrDayNumber span {\n color: #1d2429;\n}\n\n.rdrDayDisabled {\n cursor: not-allowed;\n}\n\n@supports (-ms-ime-align: auto) {\n .rdrDay {\n flex-basis: 14.285% !important;\n }\n}\n\n.rdrSelected,\n.rdrInRange,\n.rdrStartEdge,\n.rdrEndEdge {\n pointer-events: none;\n}\n\n.rdrInRange {\n}\n\n.rdrDayStartPreview,\n.rdrDayInPreview,\n.rdrDayEndPreview {\n pointer-events: none;\n}\n\n.rdrDayHovered {\n}\n\n.rdrDayActive {\n}\n\n.rdrDateRangePickerWrapper {\n display: inline-flex;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n\n.rdrDefinedRangesWrapper {\n}\n\n.rdrStaticRanges {\n display: flex;\n flex-direction: column;\n}\n\n.rdrStaticRange {\n font-size: inherit;\n}\n\n.rdrStaticRangeLabel {\n}\n\n.rdrInputRanges {\n}\n\n.rdrInputRange {\n display: flex;\n}\n\n.rdrInputRangeInput {\n}";
672
- // React Date Range theme (default) styles
673
- var REACT_DATE_RANGE_THEME_CSS = ".rdrCalendarWrapper{\n color: #000000;\n font-size: 12px;\n}\n\n.rdrDateDisplayWrapper{\n background-color: rgb(239, 242, 247);\n}\n\n.rdrDateDisplay{\n margin: 0.833em;\n}\n\n.rdrDateDisplayItem{\n border-radius: 4px;\n background-color: rgb(255, 255, 255);\n box-shadow: 0 1px 2px 0 rgba(35, 57, 66, 0.21);\n border: 1px solid transparent;\n}\n\n.rdrDateDisplayItem input{\n cursor: pointer;\n height: 2.5em;\n line-height: 2.5em;\n border: 0px;\n background: transparent;\n width: 100%;\n color: #849095;\n }\n\n.rdrDateDisplayItemActive{\n border-color: currentColor;\n}\n\n.rdrDateDisplayItemActive input{\n color: #7d888d\n }\n\n.rdrMonthAndYearWrapper {\n align-items: center;\n height: 60px;\n padding-top: 10px;\n}\n\n.rdrMonthAndYearPickers{\n font-weight: 600;\n}\n\n.rdrMonthAndYearPickers select{\n -moz-appearance: none;\n appearance: none;\n -webkit-appearance: none;\n border: 0;\n background: transparent;\n padding: 10px 30px 10px 10px;\n border-radius: 4px;\n outline: 0;\n color: #3e484f;\n background: url(\"data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>\") no-repeat;\n background-position: right 8px center;\n cursor: pointer;\n text-align: center\n }\n\n.rdrMonthAndYearPickers select:hover{\n background-color: rgba(0,0,0,0.07);\n }\n\n.rdrMonthPicker, .rdrYearPicker{\n margin: 0 5px\n}\n\n.rdrNextPrevButton {\n display: block;\n width: 24px;\n height: 24px;\n margin: 0 0.833em;\n padding: 0;\n border: 0;\n border-radius: 5px;\n background: #EFF2F7\n}\n\n.rdrNextPrevButton:hover{\n background: #E1E7F0;\n }\n\n.rdrNextPrevButton i {\n display: block;\n width: 0;\n height: 0;\n padding: 0;\n text-align: center;\n border-style: solid;\n margin: auto;\n transform: translate(-3px, 0px);\n }\n\n.rdrPprevButton i {\n border-width: 4px 6px 4px 4px;\n border-color: transparent rgb(52, 73, 94) transparent transparent;\n transform: translate(-3px, 0px);\n }\n\n.rdrNextButton i {\n margin: 0 0 0 7px;\n border-width: 4px 4px 4px 6px;\n border-color: transparent transparent transparent rgb(52, 73, 94);\n transform: translate(3px, 0px);\n }\n\n.rdrWeekDays {\n padding: 0 0.833em;\n}\n\n.rdrMonth{\n padding: 0 0.833em 1.666em 0.833em;\n}\n\n.rdrMonth .rdrWeekDays {\n padding: 0;\n }\n\n.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{\n display: none;\n}\n\n.rdrWeekDay {\n font-weight: 400;\n line-height: 2.667em;\n color: rgb(132, 144, 149);\n}\n\n.rdrDay {\n background: transparent;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n border: 0;\n padding: 0;\n line-height: 3.000em;\n height: 3.000em;\n text-align: center;\n color: #1d2429\n}\n\n.rdrDay:focus {\n outline: 0;\n }\n\n.rdrDayNumber {\n outline: 0;\n font-weight: 300;\n position: absolute;\n left: 0;\n right: 0;\n top: 0;\n bottom: 0;\n top: 5px;\n bottom: 5px;\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.rdrDayToday .rdrDayNumber span{\n font-weight: 500\n}\n\n.rdrDayToday .rdrDayNumber span:after{\n content: '';\n position: absolute;\n bottom: 4px;\n left: 50%;\n transform: translate(-50%, 0);\n width: 18px;\n height: 2px;\n border-radius: 2px;\n background: #3d91ff;\n }\n\n.rdrDayToday:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span:after{\n background: #fff;\n }\n\n.rdrDay:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span{\n color: rgba(255, 255, 255, 0.85);\n }\n\n.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{\n background: currentColor;\n position: absolute;\n top: 5px;\n left: 0;\n right: 0;\n bottom: 5px;\n}\n\n.rdrSelected{\n left: 2px;\n right: 2px;\n}\n\n.rdrInRange{}\n\n.rdrStartEdge{\n border-top-left-radius: 1.042em;\n border-bottom-left-radius: 1.042em;\n left: 2px;\n}\n\n.rdrEndEdge{\n border-top-right-radius: 1.042em;\n border-bottom-right-radius: 1.042em;\n right: 2px;\n}\n\n.rdrSelected{\n border-radius: 1.042em;\n}\n\n.rdrDayStartOfMonth .rdrInRange, .rdrDayStartOfMonth .rdrEndEdge, .rdrDayStartOfWeek .rdrInRange, .rdrDayStartOfWeek .rdrEndEdge{\n border-top-left-radius: 1.042em;\n border-bottom-left-radius: 1.042em;\n left: 2px;\n }\n\n.rdrDayEndOfMonth .rdrInRange, .rdrDayEndOfMonth .rdrStartEdge, .rdrDayEndOfWeek .rdrInRange, .rdrDayEndOfWeek .rdrStartEdge{\n border-top-right-radius: 1.042em;\n border-bottom-right-radius: 1.042em;\n right: 2px;\n }\n\n.rdrDayStartOfMonth .rdrDayInPreview, .rdrDayStartOfMonth .rdrDayEndPreview, .rdrDayStartOfWeek .rdrDayInPreview, .rdrDayStartOfWeek .rdrDayEndPreview{\n border-top-left-radius: 1.333em;\n border-bottom-left-radius: 1.333em;\n border-left-width: 1px;\n left: 0px;\n }\n\n.rdrDayEndOfMonth .rdrDayInPreview, .rdrDayEndOfMonth .rdrDayStartPreview, .rdrDayEndOfWeek .rdrDayInPreview, .rdrDayEndOfWeek .rdrDayStartPreview{\n border-top-right-radius: 1.333em;\n border-bottom-right-radius: 1.333em;\n border-right-width: 1px;\n right: 0px;\n }\n\n.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{\n background: rgba(255, 255, 255, 0.09);\n position: absolute;\n top: 3px;\n left: 0px;\n right: 0px;\n bottom: 3px;\n pointer-events: none;\n border: 0px solid currentColor;\n z-index: 1;\n}\n\n.rdrDayStartPreview{\n border-top-width: 1px;\n border-left-width: 1px;\n border-bottom-width: 1px;\n border-top-left-radius: 1.333em;\n border-bottom-left-radius: 1.333em;\n left: 0px;\n}\n\n.rdrDayInPreview{\n border-top-width: 1px;\n border-bottom-width: 1px;\n}\n\n.rdrDayEndPreview{\n border-top-width: 1px;\n border-right-width: 1px;\n border-bottom-width: 1px;\n border-top-right-radius: 1.333em;\n border-bottom-right-radius: 1.333em;\n right: 2px;\n right: 0px;\n}\n\n.rdrDefinedRangesWrapper{\n font-size: 12px;\n width: 226px;\n border-right: solid 1px #eff2f7;\n background: #fff;\n}\n\n.rdrDefinedRangesWrapper .rdrStaticRangeSelected{\n color: currentColor;\n font-weight: 600;\n }\n\n.rdrStaticRange{\n border: 0;\n cursor: pointer;\n display: block;\n outline: 0;\n border-bottom: 1px solid #eff2f7;\n padding: 0;\n background: #fff\n}\n\n.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{\n background: #eff2f7;\n }\n\n.rdrStaticRangeLabel{\n display: block;\n outline: 0;\n line-height: 18px;\n padding: 10px 20px;\n text-align: left;\n}\n\n.rdrInputRanges{\n padding: 10px 0;\n}\n\n.rdrInputRange{\n align-items: center;\n padding: 5px 20px;\n}\n\n.rdrInputRangeInput{\n width: 30px;\n height: 30px;\n line-height: 30px;\n border-radius: 4px;\n text-align: center;\n border: solid 1px rgb(222, 231, 235);\n margin-right: 10px;\n color: rgb(108, 118, 122)\n}\n\n.rdrInputRangeInput:focus, .rdrInputRangeInput:hover{\n border-color: rgb(180, 191, 196);\n outline: 0;\n color: #333;\n }\n\n.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{\n content: '';\n border: 1px solid currentColor;\n border-radius: 1.333em;\n position: absolute;\n top: -2px;\n bottom: -2px;\n left: 0px;\n right: 0px;\n background: transparent;\n}\n\n.rdrDayPassive{\n pointer-events: none;\n}\n\n.rdrDayPassive .rdrDayNumber span{\n color: #d5dce0;\n }\n\n.rdrDayPassive .rdrInRange, .rdrDayPassive .rdrStartEdge, .rdrDayPassive .rdrEndEdge, .rdrDayPassive .rdrSelected, .rdrDayPassive .rdrDayStartPreview, .rdrDayPassive .rdrDayInPreview, .rdrDayPassive .rdrDayEndPreview{\n display: none;\n }\n\n.rdrDayDisabled {\n background-color: rgb(248, 248, 248);\n}\n\n.rdrDayDisabled .rdrDayNumber span{\n color: #aeb9bf;\n }\n\n.rdrDayDisabled .rdrInRange, .rdrDayDisabled .rdrStartEdge, .rdrDayDisabled .rdrEndEdge, .rdrDayDisabled .rdrSelected, .rdrDayDisabled .rdrDayStartPreview, .rdrDayDisabled .rdrDayInPreview, .rdrDayDisabled .rdrDayEndPreview{\n filter: grayscale(100%) opacity(60%);\n }\n\n.rdrMonthName{\n text-align: left;\n font-weight: 600;\n color: #849095;\n padding: 0.833em;\n}";
674
- // Combined CSS (styles + theme)
675
- var REACT_DATE_RANGE_COMBINED_CSS = REACT_DATE_RANGE_STYLES_CSS + "\n\n" + REACT_DATE_RANGE_THEME_CSS;
676
-
677
- function _array_like_to_array$1(arr, len) {
678
- if (len == null || len > arr.length) len = arr.length;
679
- for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
680
- return arr2;
681
- }
682
- function _array_with_holes$1(arr) {
683
- if (Array.isArray(arr)) return arr;
684
- }
685
- function _iterable_to_array_limit$1(arr, i) {
686
- var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
687
- if (_i == null) return;
688
- var _arr = [];
689
- var _n = true;
690
- var _d = false;
691
- var _s, _e;
692
- try {
693
- for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
694
- _arr.push(_s.value);
695
- if (i && _arr.length === i) break;
696
- }
697
- } catch (err) {
698
- _d = true;
699
- _e = err;
700
- } finally{
701
- try {
702
- if (!_n && _i["return"] != null) _i["return"]();
703
- } finally{
704
- if (_d) throw _e;
705
- }
706
- }
707
- return _arr;
708
- }
709
- function _non_iterable_rest$1() {
710
- throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
711
- }
712
- function _sliced_to_array$1(arr, i) {
713
- return _array_with_holes$1(arr) || _iterable_to_array_limit$1(arr, i) || _unsupported_iterable_to_array$1(arr, i) || _non_iterable_rest$1();
714
- }
715
- function _unsupported_iterable_to_array$1(o, minLen) {
716
- if (!o) return;
717
- if (typeof o === "string") return _array_like_to_array$1(o, minLen);
718
- var n = Object.prototype.toString.call(o).slice(8, -1);
719
- if (n === "Object" && o.constructor) n = o.constructor.name;
720
- if (n === "Map" || n === "Set") return Array.from(n);
721
- if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$1(o, minLen);
722
- }
723
- var ReactDateRange = function(param) {
724
- var className = param.className, item = param.item, onChange = param.onChange, dates = param.dates, date = param.date;
725
- // 動態注入 React Date Range CSS,避免外部專案需要手動 import CSS
726
- useInjectGlobalCSS(REACT_DATE_RANGE_COMBINED_CSS, "react-date-range-styles");
727
- var _useState = _sliced_to_array$1(useState("zhTW"), 1), locale = _useState[0];
728
- var _useState1 = _sliced_to_array$1(useState(null), 2), calendarData = _useState1[0], setCalendarData = _useState1[1];
729
- var _useState2 = _sliced_to_array$1(useState({
730
- startDate: new Date(),
731
- endDate: addDays(new Date(), 7),
732
- key: "selection"
733
- }), 2), range = _useState2[0], setRange = _useState2[1];
734
- var _useState3 = _sliced_to_array$1(useState(false), 2), open = _useState3[0], setOpen = _useState3[1];
735
- var refOne = useRef(null);
736
- var hideOnEscape = function(e) {
737
- if (e.key === "Escape") {
738
- setOpen(false);
739
- }
740
- };
741
- var hideOnClickOutside = function(e) {
742
- if (refOne.current && !refOne.current.contains(e.target)) {
743
- setOpen(false);
744
- }
745
- };
746
- useEffect(function() {
747
- setCalendarData(date || null);
748
- }, [
749
- date
750
- ]);
751
- useEffect(function() {
752
- if (!dates) return;
753
- setRange(dates);
754
- }, [
755
- dates
756
- ]);
757
- useEffect(function() {
758
- document.addEventListener("keydown", hideOnEscape, true);
759
- document.addEventListener("click", hideOnClickOutside, true);
760
- return function() {
761
- document.removeEventListener("keydown", hideOnEscape, true);
762
- document.removeEventListener("click", hideOnClickOutside, true);
763
- };
764
- }, []);
765
- var formatDates = function() {
766
- if (!range) return;
767
- var startDate = range.startDate, endDate = range.endDate;
768
- return "".concat(format(startDate, "yyyy-MM-dd"), " ~ ").concat(format(endDate, "yyyy-MM-dd"));
769
- };
770
- var formatDate = calendarData ? format(calendarData, (item === null || item === void 0 ? void 0 : item.dateDisplayFormat) || "yyyy-MM-dd") : "";
771
- return /*#__PURE__*/ jsxs("div", {
772
- className: [
773
- className,
774
- "relative"
775
- ].join(" "),
776
- children: [
777
- (item === null || item === void 0 ? void 0 : item.label) && /*#__PURE__*/ jsx("div", {
778
- className: "text-gray-700 font-medium mb-2 h-6",
779
- children: item === null || item === void 0 ? void 0 : item.label
780
- }),
781
- /*#__PURE__*/ jsx("input", {
782
- className: "border-solid border rounded p-2 h-10 w-full timePicker border-gray-300",
783
- name: item === null || item === void 0 ? void 0 : item.name,
784
- onClick: function() {
785
- return setOpen(function(openState) {
786
- return !openState;
787
- });
788
- },
789
- placeholder: item === null || item === void 0 ? void 0 : item.placeholder,
790
- value: (item === null || item === void 0 ? void 0 : item.type) === "date" ? formatDate : formatDates(),
791
- autoComplete: "off"
792
- }),
793
- open && /*#__PURE__*/ jsxs("div", {
794
- className: "absolute top-[72px] left-0 z-50 shadow-md",
795
- ref: refOne,
796
- children: [
797
- open && (item === null || item === void 0 ? void 0 : item.type) === "date" && /*#__PURE__*/ jsx(Calendar$2, {
798
- data: calendarData,
799
- locale: locales[locale],
800
- dateDisplayFormat: item === null || item === void 0 ? void 0 : item.dateDisplayFormat,
801
- onChange: function(value) {
802
- setCalendarData(value);
803
- if (onChange) onChange(value);
804
- setOpen(false);
805
- }
806
- }),
807
- open && (item === null || item === void 0 ? void 0 : item.type) === "dateRange" && /*#__PURE__*/ jsx(DateRange, {
808
- editableDateInputs: true,
809
- onChange: function(value) {
810
- setRange(value.selection);
811
- if (onChange) onChange(value.selection);
812
- },
813
- ranges: [
814
- range
815
- ],
816
- locale: locales[locale],
817
- dateDisplayFormat: "yyyy.MM.dd"
818
- })
819
- ]
820
- })
821
- ]
822
- });
823
- };
824
-
825
664
  function _define_property$4(obj, key, value) {
826
665
  if (key in obj) {
827
666
  Object.defineProperty(obj, key, {
@@ -2109,4 +1948,4 @@ var InputOTPs = function(param) {
2109
1948
  });
2110
1949
  };
2111
1950
 
2112
- export { Checkbox, DateRangePicker, Drawer, DropDown, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputOTPs, ReactDateRange, Regex, SingleDatePicker, Spin, Switch, verifyId, verifyTaiwanIdIntermediateString, verifyTaxId };
1951
+ export { Checkbox, DateRangePicker, Drawer, DropDown, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, InputOTPs, Regex, SingleDatePicker, Spin, Switch, verifyId, verifyTaiwanIdIntermediateString, verifyTaxId };
package/package.json CHANGED
@@ -1,6 +1,11 @@
1
1
  {
2
2
  "name": "@sunggang/ui-lib",
3
- "version": "0.4.23",
3
+ "version": "0.4.25",
4
+ "sideEffects": [
5
+ "*.css",
6
+ "./src/style.css",
7
+ "./dist/*.css"
8
+ ],
4
9
  "main": "./index.cjs.js",
5
10
  "module": "./index.esm.js",
6
11
  "types": "./dist/src/index.d.ts",
@@ -11,7 +16,6 @@
11
16
  "default": "./index.cjs.js"
12
17
  },
13
18
  "./style.css": "./dist/index.esm.css",
14
- "./styles": "./dist/index.esm.css",
15
19
  "./FormProvider": {
16
20
  "module": "./FormProvider.esm.js",
17
21
  "import": "./FormProvider.cjs.mjs",
@@ -52,6 +56,16 @@
52
56
  "import": "./Tabs.cjs.mjs",
53
57
  "default": "./Tabs.cjs.js"
54
58
  },
59
+ "./ReactDateRangeCSS": {
60
+ "import": "./dist/ReactDateRangeCSS.esm.js",
61
+ "require": "./dist/ReactDateRangeCSS.cjs.js",
62
+ "types": "./dist/ReactDateRangeCSS.esm.d.ts"
63
+ },
64
+ "./ReactDateRange": {
65
+ "import": "./dist/ReactDateRange.esm.js",
66
+ "require": "./dist/ReactDateRange.cjs.js",
67
+ "types": "./dist/ReactDateRange.esm.d.ts"
68
+ },
55
69
  "./package.json": "./package.json"
56
70
  },
57
71
  "dependencies": {
@@ -0,0 +1 @@
1
+ export * from './components/ui/reactDateRange';
@@ -0,0 +1 @@
1
+ export { REACT_DATE_RANGE_STYLES_CSS } from './components/ui/react-date-range-css';
package/src/index.d.ts CHANGED
@@ -6,7 +6,6 @@ export * from './components/ui/baseSwitch';
6
6
  export * from './components/ui/select';
7
7
  export * from './components/ui/dateRangePicker';
8
8
  export * from './components/ui/singlePicker';
9
- export * from './components/ui/reactDateRange';
10
9
  export * from './components/ui/checkbox';
11
10
  export * from './components/ui/inputOtp';
12
11
  export * from './lib/Function';