@bigbinary/neeto-atoms 1.0.69 → 1.0.70

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.
@@ -1033,129 +1033,143 @@ const DatePicker = React.forwardRef(
1033
1033
  const weekRowHoverClassName = picker === "week" ? "[&_button]:!transition-none [&:hover_button]:!bg-primary [&:hover_button]:!text-primary-foreground [&:hover_button]:!rounded-none [&:hover_button]:cursor-pointer" : void 0;
1034
1034
  const ariaDescribedBy = [error ? errorId : null, helpText ? helpTextId : null].filter(Boolean).join(" ") || void 0;
1035
1035
  const calendarSelected = () => {
1036
- if (showTime || needConfirm) return pendingDate ?? void 0;
1036
+ if (showTime || needConfirm) {
1037
+ return pendingDate ?? currentValue ?? void 0;
1038
+ }
1037
1039
  return currentValue ?? void 0;
1038
1040
  };
1039
- const triggerContent = /* @__PURE__ */ jsxRuntime.jsxs(primitives_Popover.Popover, { open, onOpenChange: trigger ? setOpen : void 0, children: [
1040
- trigger ? /* @__PURE__ */ jsxRuntime.jsx(primitives_Popover.PopoverTrigger, { asChild: true, children: trigger }) : /* @__PURE__ */ jsxRuntime.jsx(
1041
- DatePickerTrigger,
1042
- {
1043
- containerRef,
1044
- inputRef,
1045
- disabled,
1046
- error,
1047
- hasField,
1048
- className,
1049
- triggerSizeClass: sizeConfig.trigger,
1050
- inputSizeClass: sizeConfig.input,
1051
- iconSizeClass: sizeConfig.icon,
1052
- label,
1053
- ariaDescribedBy,
1054
- placeholder: placeholder ?? defaultPlaceholder,
1055
- inputText,
1056
- allowClear,
1057
- timezone,
1058
- onInputChange: handleInputChange,
1059
- onInputKeyDown: handleInputKeyDown,
1060
- onInputFocus: () => {
1061
- if (!open) openPopover();
1062
- },
1063
- onInputBlur: handleInputBlur,
1064
- onClear: handleClear
1065
- }
1066
- ),
1067
- open && /* @__PURE__ */ jsxRuntime.jsxs(
1068
- primitives_Popover.PopoverContent,
1069
- {
1070
- id: popoverContentId,
1071
- className: "w-auto p-0",
1072
- align,
1073
- side,
1074
- onOpenAutoFocus: (e) => e.preventDefault(),
1075
- onCloseAutoFocus: (e) => e.preventDefault(),
1076
- onPointerDownOutside: (e) => e.preventDefault(),
1077
- onInteractOutside: (e) => e.preventDefault(),
1078
- children: [
1079
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils$1.cn("flex", showTime && "flex-row"), children: [
1080
- type === "date" && picker === "month" ? /* @__PURE__ */ jsxRuntime.jsx(
1081
- MonthPicker,
1082
- {
1083
- value: currentValue ?? null,
1084
- displayedYear: calendarMonth.getFullYear(),
1085
- onYearChange: (year) => setCalendarMonth(
1086
- new Date(year, calendarMonth.getMonth(), 1)
1041
+ const handleTriggerOpenChange = (nextOpen) => {
1042
+ if (nextOpen === open) return;
1043
+ if (nextOpen) openPopover();
1044
+ else closePopover();
1045
+ };
1046
+ const triggerContent = /* @__PURE__ */ jsxRuntime.jsxs(
1047
+ primitives_Popover.Popover,
1048
+ {
1049
+ open,
1050
+ onOpenChange: trigger ? handleTriggerOpenChange : void 0,
1051
+ children: [
1052
+ trigger ? /* @__PURE__ */ jsxRuntime.jsx(primitives_Popover.PopoverTrigger, { asChild: true, children: trigger }) : /* @__PURE__ */ jsxRuntime.jsx(
1053
+ DatePickerTrigger,
1054
+ {
1055
+ containerRef,
1056
+ inputRef,
1057
+ disabled,
1058
+ error,
1059
+ hasField,
1060
+ className,
1061
+ triggerSizeClass: sizeConfig.trigger,
1062
+ inputSizeClass: sizeConfig.input,
1063
+ iconSizeClass: sizeConfig.icon,
1064
+ label,
1065
+ ariaDescribedBy,
1066
+ placeholder: placeholder ?? defaultPlaceholder,
1067
+ inputText,
1068
+ allowClear,
1069
+ timezone,
1070
+ onInputChange: handleInputChange,
1071
+ onInputKeyDown: handleInputKeyDown,
1072
+ onInputFocus: () => {
1073
+ if (!open) openPopover();
1074
+ },
1075
+ onInputBlur: handleInputBlur,
1076
+ onClear: handleClear
1077
+ }
1078
+ ),
1079
+ open && /* @__PURE__ */ jsxRuntime.jsxs(
1080
+ primitives_Popover.PopoverContent,
1081
+ {
1082
+ id: popoverContentId,
1083
+ className: "w-auto p-0",
1084
+ align,
1085
+ side,
1086
+ onOpenAutoFocus: (e) => e.preventDefault(),
1087
+ onCloseAutoFocus: (e) => e.preventDefault(),
1088
+ onPointerDownOutside: (e) => e.preventDefault(),
1089
+ onInteractOutside: (e) => e.preventDefault(),
1090
+ children: [
1091
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: utils$1.cn("flex", showTime && "flex-row"), children: [
1092
+ type === "date" && picker === "month" ? /* @__PURE__ */ jsxRuntime.jsx(
1093
+ MonthPicker,
1094
+ {
1095
+ value: currentValue ?? null,
1096
+ displayedYear: calendarMonth.getFullYear(),
1097
+ onYearChange: (year) => setCalendarMonth(
1098
+ new Date(year, calendarMonth.getMonth(), 1)
1099
+ ),
1100
+ onSelect: handleGridPickerSelect,
1101
+ isDisabled: (date) => isMonthDisabled(date, normalizedMinDate, normalizedMaxDate)
1102
+ }
1103
+ ) : type === "date" && picker === "year" ? /* @__PURE__ */ jsxRuntime.jsx(
1104
+ YearPicker,
1105
+ {
1106
+ value: currentValue ?? null,
1107
+ displayedYear: calendarMonth.getFullYear(),
1108
+ onYearChange: (year) => setCalendarMonth(new Date(year, 0, 1)),
1109
+ onSelect: handleGridPickerSelect,
1110
+ isDisabled: (date) => isYearDisabled(date, normalizedMinDate, normalizedMaxDate)
1111
+ }
1112
+ ) : type === "date" ? /* @__PURE__ */ jsxRuntime.jsx(
1113
+ primitives_Calendar.Calendar,
1114
+ {
1115
+ mode: "single",
1116
+ captionLayout: "dropdown",
1117
+ today: todayDate,
1118
+ month: calendarMonth,
1119
+ onMonthChange: setCalendarMonth,
1120
+ selected: calendarSelected(),
1121
+ onSelect: handleSingleDateSelectWithPicker,
1122
+ disabled: calendarDisabled,
1123
+ weekStartsOn,
1124
+ classNames: weekRowHoverClassName ? { week: utils$1.cn("mt-2 flex w-full", weekRowHoverClassName) } : void 0,
1125
+ ...weekHighlightProps,
1126
+ ...normalizedMinDate && { fromDate: normalizedMinDate },
1127
+ ...normalizedMaxDate && { toDate: normalizedMaxDate }
1128
+ }
1129
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
1130
+ RangeCalendar,
1131
+ {
1132
+ todayDate,
1133
+ weekStartsOn,
1134
+ month: calendarMonth,
1135
+ onMonthChange: setCalendarMonth,
1136
+ selected: memoizedRangeSelected,
1137
+ onSelect: handleRangeSelect,
1138
+ disabled: calendarDisabled,
1139
+ fromDate: normalizedMinDate,
1140
+ toDate: normalizedMaxDate,
1141
+ onHoverIn: handleHoverIn,
1142
+ onHoverOut: handleHoverOut
1143
+ }
1087
1144
  ),
1088
- onSelect: handleGridPickerSelect,
1089
- isDisabled: (date) => isMonthDisabled(date, normalizedMinDate, normalizedMaxDate)
1090
- }
1091
- ) : type === "date" && picker === "year" ? /* @__PURE__ */ jsxRuntime.jsx(
1092
- YearPicker,
1093
- {
1094
- value: currentValue ?? null,
1095
- displayedYear: calendarMonth.getFullYear(),
1096
- onYearChange: (year) => setCalendarMonth(new Date(year, 0, 1)),
1097
- onSelect: handleGridPickerSelect,
1098
- isDisabled: (date) => isYearDisabled(date, normalizedMinDate, normalizedMaxDate)
1099
- }
1100
- ) : type === "date" ? /* @__PURE__ */ jsxRuntime.jsx(
1101
- primitives_Calendar.Calendar,
1102
- {
1103
- mode: "single",
1104
- captionLayout: "dropdown",
1105
- today: todayDate,
1106
- month: calendarMonth,
1107
- onMonthChange: setCalendarMonth,
1108
- selected: calendarSelected(),
1109
- onSelect: handleSingleDateSelectWithPicker,
1110
- disabled: calendarDisabled,
1111
- weekStartsOn,
1112
- classNames: weekRowHoverClassName ? { week: utils$1.cn("mt-2 flex w-full", weekRowHoverClassName) } : void 0,
1113
- ...weekHighlightProps,
1114
- ...normalizedMinDate && { fromDate: normalizedMinDate },
1115
- ...normalizedMaxDate && { toDate: normalizedMaxDate }
1116
- }
1117
- ) : /* @__PURE__ */ jsxRuntime.jsx(
1118
- RangeCalendar,
1119
- {
1120
- todayDate,
1121
- weekStartsOn,
1122
- month: calendarMonth,
1123
- onMonthChange: setCalendarMonth,
1124
- selected: memoizedRangeSelected,
1125
- onSelect: handleRangeSelect,
1126
- disabled: calendarDisabled,
1127
- fromDate: normalizedMinDate,
1128
- toDate: normalizedMaxDate,
1129
- onHoverIn: handleHoverIn,
1130
- onHoverOut: handleHoverOut
1131
- }
1132
- ),
1133
- showTime && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-inline-start border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
1134
- TimePickerPanel.TimePickerPanel,
1135
- {
1136
- value: pendingTime,
1137
- onChange: setPendingTime,
1138
- format: timePickerFormat,
1139
- showSeconds,
1140
- disabled
1141
- }
1142
- ) })
1143
- ] }),
1144
- showFooter && /* @__PURE__ */ jsxRuntime.jsx(
1145
- DatePickerFooter,
1146
- {
1147
- showTime,
1148
- needConfirm,
1149
- timezone,
1150
- onTimezoneChange,
1151
- onNow: handleNow,
1152
- onOk: handleOk
1153
- }
1154
- )
1155
- ]
1156
- }
1157
- )
1158
- ] });
1145
+ showTime && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "border-inline-start border-border", children: /* @__PURE__ */ jsxRuntime.jsx(
1146
+ TimePickerPanel.TimePickerPanel,
1147
+ {
1148
+ value: pendingTime,
1149
+ onChange: setPendingTime,
1150
+ format: timePickerFormat,
1151
+ showSeconds,
1152
+ disabled
1153
+ }
1154
+ ) })
1155
+ ] }),
1156
+ showFooter && /* @__PURE__ */ jsxRuntime.jsx(
1157
+ DatePickerFooter,
1158
+ {
1159
+ showTime,
1160
+ needConfirm,
1161
+ timezone,
1162
+ onTimezoneChange,
1163
+ onNow: handleNow,
1164
+ onOk: handleOk
1165
+ }
1166
+ )
1167
+ ]
1168
+ }
1169
+ )
1170
+ ]
1171
+ }
1172
+ );
1159
1173
  if (!hasField) {
1160
1174
  return /* @__PURE__ */ jsxRuntime.jsx("div", { ref, className, children: triggerContent });
1161
1175
  }
@@ -1180,4 +1194,4 @@ const DatePicker = React.forwardRef(
1180
1194
  DatePicker.displayName = "DatePicker";
1181
1195
 
1182
1196
  exports.DatePicker = DatePicker;
1183
- //# sourceMappingURL=DatePicker-D_B6oyc9.js.map
1197
+ //# sourceMappingURL=DatePicker-Ccylp0hF.js.map