@sunggang/ui-lib 0.3.60 → 0.3.62

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/index.esm.css CHANGED
@@ -1406,6 +1406,10 @@ video {
1406
1406
  --tw-border-opacity: 1;
1407
1407
  border-color: rgb(38 107 106 / var(--tw-border-opacity, 1));
1408
1408
  }
1409
+ .border-\[\#266b6a\] {
1410
+ --tw-border-opacity: 1;
1411
+ border-color: rgb(38 107 106 / var(--tw-border-opacity, 1));
1412
+ }
1409
1413
  .border-\[\#656565\] {
1410
1414
  --tw-border-opacity: 1;
1411
1415
  border-color: rgb(101 101 101 / var(--tw-border-opacity, 1));
@@ -1606,6 +1610,10 @@ video {
1606
1610
  --tw-bg-opacity: 1;
1607
1611
  background-color: rgb(17 24 39 / var(--tw-bg-opacity, 1));
1608
1612
  }
1613
+ .bg-green-50 {
1614
+ --tw-bg-opacity: 1;
1615
+ background-color: rgb(240 253 244 / var(--tw-bg-opacity, 1));
1616
+ }
1609
1617
  .bg-green-500 {
1610
1618
  --tw-bg-opacity: 1;
1611
1619
  background-color: rgb(34 197 94 / var(--tw-bg-opacity, 1));
@@ -1971,10 +1979,6 @@ video {
1971
1979
  --tw-text-opacity: 1;
1972
1980
  color: rgb(23 26 31 / var(--tw-text-opacity, 1));
1973
1981
  }
1974
- .text-\[\#1A1A1A\] {
1975
- --tw-text-opacity: 1;
1976
- color: rgb(26 26 26 / var(--tw-text-opacity, 1));
1977
- }
1978
1982
  .text-\[\#2052ce\] {
1979
1983
  --tw-text-opacity: 1;
1980
1984
  color: rgb(32 82 206 / var(--tw-text-opacity, 1));
package/index.esm2.js CHANGED
@@ -47650,7 +47650,7 @@ var DropdownList = function(param) {
47650
47650
  }, [
47651
47651
  formContext
47652
47652
  ]);
47653
- var _ref = (item === null || item === void 0 ? void 0 : item.dropStyle) || {}, _ref_bgClass = _ref.bgClass, bgClass = _ref_bgClass === void 0 ? "bg-[#E5E5EA]" : _ref_bgClass, _ref_hoverClass = _ref.hoverClass, hoverClass = _ref_hoverClass === void 0 ? "hover:bg-[#d9d9e2]" : _ref_hoverClass, _ref_selectedClass = _ref.selectedClass, selectedClass = _ref_selectedClass === void 0 ? "bg-[#C7C7CC]" : _ref_selectedClass;
47653
+ var _ref = (item === null || item === void 0 ? void 0 : item.dropStyle) || {}, _ref_bgClass = _ref.bgClass, bgClass = _ref_bgClass === void 0 ? "bg-[#E5E5EA]" : _ref_bgClass, _ref_hoverClass = _ref.hoverClass, hoverClass = _ref_hoverClass === void 0 ? "hover:bg-[#d9d9e2]" : _ref_hoverClass, _ref_selectedClass = _ref.selectedClass, selectedClass = _ref_selectedClass === void 0 ? "bg-[#C7C7CC]" : _ref_selectedClass, _ref_textColor = _ref.textColor, textColor = _ref_textColor === void 0 ? "text-[#000000]" : _ref_textColor, _ref_borderColor = _ref.borderColor, borderColor = _ref_borderColor === void 0 ? "border-[#C7C7CC]" : _ref_borderColor;
47654
47654
  return /*#__PURE__*/ jsxs("div", {
47655
47655
  className: (item === null || item === void 0 ? void 0 : item.className) || "w-full h-24",
47656
47656
  children: [
@@ -47689,8 +47689,9 @@ var DropdownList = function(param) {
47689
47689
  var _item_option_find, _item_option;
47690
47690
  return /*#__PURE__*/ jsxs("div", {
47691
47691
  className: [
47692
- (item === null || item === void 0 ? void 0 : item.disable) || (item === null || item === void 0 ? void 0 : item.disabled) ? "text-[#B0B0B0] bg-[#E5E5EA] cursor-not-allowed" : "bg-white text-[#6f6f6f]",
47693
- "customSelect w-full h-11 py-2 pr-4 pl-4 rounded-2xl border border-solid border-[#C7C7CC]"
47692
+ (item === null || item === void 0 ? void 0 : item.disable) || (item === null || item === void 0 ? void 0 : item.disabled) ? "text-[#B0B0B0] bg-[#E5E5EA] cursor-not-allowed pointer-events-none" : "".concat(textColor, " ").concat(bgClass),
47693
+ "customSelect w-full h-11 py-2 pr-4 pl-4 rounded-2xl border border-solid",
47694
+ borderColor
47694
47695
  ].join(" "),
47695
47696
  children: [
47696
47697
  /*#__PURE__*/ jsx("div", {
@@ -47707,12 +47708,13 @@ var DropdownList = function(param) {
47707
47708
  }),
47708
47709
  open && /*#__PURE__*/ jsxs("div", {
47709
47710
  className: [
47710
- "absolute left-0 z-20 mt-2 w-full rounded-xl shadow-btn-2xl overflow-hidden p-4 border border-[#C7C7CC]",
47711
- bgClass
47711
+ "absolute left-0 z-20 mt-2 w-full rounded-xl shadow-btn-2xl overflow-hidden border",
47712
+ bgClass,
47713
+ borderColor
47712
47714
  ].join(" "),
47713
47715
  children: [
47714
- /*#__PURE__*/ jsx("div", {
47715
- className: "px-3 py-3 border-[1.5px] border-[#B4B4B4] bg-white rounded-lg",
47716
+ !(item === null || item === void 0 ? void 0 : item.hiddenSearch) && /*#__PURE__*/ jsx("div", {
47717
+ className: "px-3 py-3 border-[1.5px] rounded-lg bg-white ".concat(textColor, " ").concat(borderColor),
47716
47718
  children: /*#__PURE__*/ jsxs("div", {
47717
47719
  className: "flex items-center gap-2 px-3 rounded-lg",
47718
47720
  children: [
@@ -47734,7 +47736,7 @@ var DropdownList = function(param) {
47734
47736
  })
47735
47737
  }),
47736
47738
  /*#__PURE__*/ jsx("div", {
47737
- className: "max-h-60 overflow-y-auto text-[#1A1A1A]",
47739
+ className: "max-h-60 overflow-y-auto ".concat(textColor),
47738
47740
  children: filtered.length > 0 ? filtered.map(function(opt, inx) {
47739
47741
  return /*#__PURE__*/ jsx("div", {
47740
47742
  onClick: function() {
@@ -47743,7 +47745,7 @@ var DropdownList = function(param) {
47743
47745
  setQuery("");
47744
47746
  },
47745
47747
  className: [
47746
- "px-4 py-3 text-sm cursor-pointer rounded-lg",
47748
+ "px-4 py-3 text-sm cursor-pointer",
47747
47749
  field.value === opt.value ? selectedClass : "",
47748
47750
  hoverClass
47749
47751
  ].join(" "),
@@ -50221,7 +50223,16 @@ var FlatpickrInput = /*#__PURE__*/ forwardRef(function(param, ref) {
50221
50223
  mode: "single",
50222
50224
  allowInput: true,
50223
50225
  clickOpens: true,
50224
- time_24hr: true
50226
+ time_24hr: true,
50227
+ onOpen: function(_, __, instance) {
50228
+ var monthSelect = instance.calendarContainer.querySelector(".flatpickr-monthDropdown-months");
50229
+ var yearInput = instance.calendarContainer.querySelector(".numInputWrapper");
50230
+ if (monthSelect && yearInput && yearInput.parentNode) {
50231
+ var parent = yearInput.parentNode;
50232
+ // 把月和年 select 調整順序
50233
+ parent.insertBefore(yearInput, monthSelect); // 年在月前
50234
+ }
50235
+ }
50225
50236
  }, item === null || item === void 0 ? void 0 : item.flatpickrOptions);
50226
50237
  // 移除錯誤的 closeOnSelect 設定,改用事件控制
50227
50238
  if (options.mode === "range") {
@@ -50241,10 +50252,10 @@ var FlatpickrInput = /*#__PURE__*/ forwardRef(function(param, ref) {
50241
50252
  defaultDate: defaultDateValue,
50242
50253
  onChange: function(selectedDates, dateStr, instance) {
50243
50254
  if (mode === "range") {
50244
- // Range mode: 返回陣列
50245
50255
  // 如果選擇了兩個日期,關閉日曆
50246
50256
  if (selectedDates.length === 2) {
50247
50257
  setTimeout(function() {
50258
+ onChange(selectedDates);
50248
50259
  instance.close();
50249
50260
  }, 50);
50250
50261
  }
@@ -50260,8 +50271,7 @@ var FlatpickrInput = /*#__PURE__*/ forwardRef(function(param, ref) {
50260
50271
  value,
50261
50272
  item === null || item === void 0 ? void 0 : (_item_flatpickrOptions = item.flatpickrOptions) === null || _item_flatpickrOptions === void 0 ? void 0 : _item_flatpickrOptions.defaultDate,
50262
50273
  item === null || item === void 0 ? void 0 : (_item_flatpickrOptions1 = item.flatpickrOptions) === null || _item_flatpickrOptions1 === void 0 ? void 0 : _item_flatpickrOptions1.mode,
50263
- onChange,
50264
- isDisabled
50274
+ onChange
50265
50275
  ]);
50266
50276
  var destroyFlatpickr = useCallback$1(function() {
50267
50277
  if (flatpickrInstance.current) {
@@ -50283,9 +50293,20 @@ var FlatpickrInput = /*#__PURE__*/ forwardRef(function(param, ref) {
50283
50293
  return {
50284
50294
  getInstance: function() {
50285
50295
  return flatpickrInstance.current;
50296
+ },
50297
+ focus: function() {
50298
+ if (flatpickrRef.current) {
50299
+ flatpickrRef.current.focus();
50300
+ // 如果有 flatpickr 實例,也可以打開日期選擇器
50301
+ if (flatpickrInstance.current && !isDisabled) {
50302
+ flatpickrInstance.current.open();
50303
+ }
50304
+ }
50286
50305
  }
50287
50306
  };
50288
- }, []);
50307
+ }, [
50308
+ isDisabled
50309
+ ]);
50289
50310
  // 初始化和清理
50290
50311
  React__default.useEffect(function() {
50291
50312
  initializeFlatpickr();
@@ -50348,8 +50369,9 @@ var FlatpickrField = function(param) {
50348
50369
  control: control,
50349
50370
  rules: item === null || item === void 0 ? void 0 : item.validateOption,
50350
50371
  render: function(param) {
50351
- var _param_field = param.field, onChange = _param_field.onChange, value = _param_field.value, name = _param_field.name;
50372
+ var _param_field = param.field, onChange = _param_field.onChange, value = _param_field.value, name = _param_field.name, ref = _param_field.ref;
50352
50373
  return /*#__PURE__*/ jsx(FlatpickrInput, {
50374
+ ref: ref,
50353
50375
  value: value,
50354
50376
  onChange: onChange,
50355
50377
  name: name,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunggang/ui-lib",
3
- "version": "0.3.60",
3
+ "version": "0.3.62",
4
4
  "dependencies": {
5
5
  "@emotion/react": "^11.14.0",
6
6
  "@emotion/styled": "^11.14.0",
@@ -27,6 +27,7 @@ export declare const config: (getValues: (name: string) => unknown) => (FormItem
27
27
  placeholder?: undefined;
28
28
  noDataText?: undefined;
29
29
  hiddenText?: undefined;
30
+ hiddenSearch?: undefined;
30
31
  dropStyle?: undefined;
31
32
  className?: undefined;
32
33
  } | {
@@ -43,10 +44,12 @@ export declare const config: (getValues: (name: string) => unknown) => (FormItem
43
44
  placeholder: string;
44
45
  noDataText: string;
45
46
  hiddenText: boolean;
47
+ hiddenSearch: boolean;
46
48
  dropStyle: {
47
49
  bgClass: string;
48
50
  hoverClass: string;
49
51
  selectedClass: string;
52
+ borderColor: string;
50
53
  };
51
54
  className: string;
52
55
  icon?: undefined;
@@ -118,10 +118,13 @@ export interface FormItem {
118
118
  imageStyleType?: string;
119
119
  noDataText?: string;
120
120
  hiddenText?: boolean;
121
+ hiddenSearch?: boolean;
121
122
  dropStyle?: {
122
123
  bgClass?: string;
123
124
  hoverClass?: string;
124
125
  selectedClass?: string;
126
+ textColor?: string;
127
+ borderColor?: string;
125
128
  };
126
129
  flatpickrOptions?: FlatpickrOptions;
127
130
  }