@sunggang/ui-lib 0.4.28 → 0.4.30

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.
@@ -7,7 +7,6 @@ var _commonjsHelpers = require('./_commonjsHelpers.cjs.js');
7
7
  var index_esm = require('./index.esm.cjs.js');
8
8
  var FieldLabel = require('./FieldLabel.cjs.js');
9
9
  var common = require('./common.cjs.js');
10
- require('@iconify/react');
11
10
 
12
11
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
12
 
@@ -66838,4 +66837,12 @@ var BaseCkeditor = function(param) {
66838
66837
  });
66839
66838
  };
66840
66839
 
66841
- exports["default"] = BaseCkeditor;
66840
+ var BaseCkeditor$1 = /*#__PURE__*/Object.freeze({
66841
+ __proto__: null,
66842
+ 'default': BaseCkeditor
66843
+ });
66844
+
66845
+ exports.BaseCkeditor = BaseCkeditor;
66846
+ exports.BaseCkeditor$1 = BaseCkeditor$1;
66847
+ exports.Editor = Editor;
66848
+ exports.dist = dist;
@@ -5,7 +5,6 @@ import { g as getAugmentedNamespace, c as commonjsGlobal, b as getDefaultExportF
5
5
  import { a as useFormContext, C as Controller } from './index.esm.esm.js';
6
6
  import { F as FieldLabel } from './FieldLabel.esm.js';
7
7
  import { v as validateMsg } from './common.esm.js';
8
- import '@iconify/react';
9
8
 
10
9
  var dist = {
11
10
  exports: {}
@@ -66832,4 +66831,9 @@ var BaseCkeditor = function(param) {
66832
66831
  });
66833
66832
  };
66834
66833
 
66835
- export { BaseCkeditor as default };
66834
+ var BaseCkeditor$1 = /*#__PURE__*/Object.freeze({
66835
+ __proto__: null,
66836
+ 'default': BaseCkeditor
66837
+ });
66838
+
66839
+ export { BaseCkeditor as B, Editor as E, BaseCkeditor$1 as a, dist as d };
package/CkEditor.cjs.js CHANGED
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var BaseCkeditor = require('./BaseCkeditor.cjs.js');
6
- require('react/jsx-runtime');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
7
  require('react');
8
8
  require('./index.cjs2.js');
9
9
  require('./_commonjsHelpers.cjs.js');
@@ -12,6 +12,17 @@ require('./FieldLabel.cjs.js');
12
12
  require('@iconify/react');
13
13
  require('./common.cjs.js');
14
14
 
15
+ var CkEditor = function(param) {
16
+ var content = param.content, setContent = param.setContent;
17
+ return /*#__PURE__*/ jsxRuntime.jsx(BaseCkeditor.dist.exports.CKEditor, {
18
+ editor: BaseCkeditor.Editor,
19
+ data: content,
20
+ onChange: function(_, editor) {
21
+ var data = editor.getData();
22
+ setContent(data);
23
+ }
24
+ });
25
+ };
15
26
 
16
-
17
- exports.BaseCkeditor = BaseCkeditor["default"];
27
+ exports.BaseCkeditor = BaseCkeditor.BaseCkeditor;
28
+ exports.CkEditor = CkEditor;
package/CkEditor.esm.js CHANGED
@@ -1,5 +1,6 @@
1
- export { default as BaseCkeditor } from './BaseCkeditor.esm.js';
2
- import 'react/jsx-runtime';
1
+ import { d as dist, E as Editor } from './BaseCkeditor.esm.js';
2
+ export { B as BaseCkeditor } from './BaseCkeditor.esm.js';
3
+ import { jsx } from 'react/jsx-runtime';
3
4
  import 'react';
4
5
  import './index.esm2.js';
5
6
  import './_commonjsHelpers.esm.js';
@@ -7,3 +8,17 @@ import './index.esm.esm.js';
7
8
  import './FieldLabel.esm.js';
8
9
  import '@iconify/react';
9
10
  import './common.esm.js';
11
+
12
+ var CkEditor = function(param) {
13
+ var content = param.content, setContent = param.setContent;
14
+ return /*#__PURE__*/ jsx(dist.exports.CKEditor, {
15
+ editor: Editor,
16
+ data: content,
17
+ onChange: function(_, editor) {
18
+ var data = editor.getData();
19
+ setContent(data);
20
+ }
21
+ });
22
+ };
23
+
24
+ export { CkEditor };
package/Form.cjs.js CHANGED
@@ -7142,6 +7142,75 @@ var FlatpickrInput = /*#__PURE__*/ React.forwardRef(function(param, ref) {
7142
7142
  // Single mode: 返回單一日期,預設行為會自動關閉
7143
7143
  onChange(selectedDates.length > 0 ? selectedDates[0] : null);
7144
7144
  }
7145
+ },
7146
+ // 在 flatpickr 準備就緒後設置時間選擇器的即時監聽
7147
+ onReady: function(selectedDates, dateStr, instance) {
7148
+ if ((item === null || item === void 0 ? void 0 : item.flatpickrType) === "time") {
7149
+ // 使用 setTimeout 確保 DOM 完全渲染
7150
+ setTimeout(function() {
7151
+ var timeContainer = instance.timeContainer;
7152
+ if (timeContainer) {
7153
+ // 尋找所有可能的時間相關輸入元素
7154
+ var hourInput = timeContainer.querySelector("input.flatpickr-hour");
7155
+ var minuteInput = timeContainer.querySelector("input.flatpickr-minute");
7156
+ // 創建即時更新函數
7157
+ var updateTimeState = function() {
7158
+ // 直接從輸入框獲取值並構建時間
7159
+ var hourValue = hourInput ? hourInput.value : "0";
7160
+ var minuteValue = minuteInput ? minuteInput.value : "0";
7161
+ if (hourValue && minuteValue) {
7162
+ // 創建今天的日期並設置時間
7163
+ var today = new Date();
7164
+ today.setHours(parseInt(hourValue, 10), parseInt(minuteValue, 10), 0, 0);
7165
+ onChange([
7166
+ today
7167
+ ]);
7168
+ }
7169
+ };
7170
+ // 綁定多種事件以確保即時性
7171
+ var events = [
7172
+ "input",
7173
+ "change",
7174
+ "keyup",
7175
+ "click"
7176
+ ];
7177
+ if (hourInput) {
7178
+ events.forEach(function(eventType) {
7179
+ hourInput.addEventListener(eventType, updateTimeState);
7180
+ });
7181
+ }
7182
+ if (minuteInput) {
7183
+ events.forEach(function(eventType) {
7184
+ minuteInput.addEventListener(eventType, updateTimeState);
7185
+ });
7186
+ }
7187
+ // 監聽時間容器內的所有變化(包括按鈕點擊)
7188
+ var observer = new MutationObserver(function(mutations) {
7189
+ var shouldUpdate = false;
7190
+ mutations.forEach(function(mutation) {
7191
+ if (mutation.type === "attributes" || mutation.type === "childList") {
7192
+ shouldUpdate = true;
7193
+ }
7194
+ });
7195
+ if (shouldUpdate) {
7196
+ setTimeout(updateTimeState, 10); // 短延遲確保值已更新
7197
+ }
7198
+ });
7199
+ observer.observe(timeContainer, {
7200
+ attributes: true,
7201
+ childList: true,
7202
+ subtree: true,
7203
+ attributeFilter: [
7204
+ "value"
7205
+ ]
7206
+ });
7207
+ // 也監聽整個時間容器的點擊事件(箭頭按鈕)
7208
+ timeContainer.addEventListener("click", function() {
7209
+ setTimeout(updateTimeState, 10);
7210
+ });
7211
+ }
7212
+ }, 100);
7213
+ }
7145
7214
  }
7146
7215
  }));
7147
7216
  }
@@ -7153,12 +7222,6 @@ var FlatpickrInput = /*#__PURE__*/ React.forwardRef(function(param, ref) {
7153
7222
  item === null || item === void 0 ? void 0 : item.flatpickrType,
7154
7223
  onChange
7155
7224
  ]);
7156
- // const destroyFlatpickr = useCallback(() => {
7157
- // if (flatpickrInstance.current) {
7158
- // flatpickrInstance.current.destroy();
7159
- // flatpickrInstance.current = null;
7160
- // }
7161
- // }, []);
7162
7225
  var updateFlatpickr = React.useCallback(function(newValue) {
7163
7226
  if (flatpickrInstance.current) {
7164
7227
  // 如果值為 null 或 undefined,清除選擇
@@ -7405,7 +7468,7 @@ function _unsupported_iterable_to_array$2(o, minLen) {
7405
7468
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
7406
7469
  }
7407
7470
  var BaseCkeditor = dynamic__default["default"](function() {
7408
- return Promise.resolve().then(function () { return require('./BaseCkeditor.cjs.js'); });
7471
+ return Promise.resolve().then(function () { return require('./BaseCkeditor.cjs.js'); }).then(function (n) { return n.BaseCkeditor$1; });
7409
7472
  }, {
7410
7473
  ssr: false
7411
7474
  });
package/Form.esm.js CHANGED
@@ -7114,6 +7114,75 @@ var FlatpickrInput = /*#__PURE__*/ forwardRef(function(param, ref) {
7114
7114
  // Single mode: 返回單一日期,預設行為會自動關閉
7115
7115
  onChange(selectedDates.length > 0 ? selectedDates[0] : null);
7116
7116
  }
7117
+ },
7118
+ // 在 flatpickr 準備就緒後設置時間選擇器的即時監聽
7119
+ onReady: function(selectedDates, dateStr, instance) {
7120
+ if ((item === null || item === void 0 ? void 0 : item.flatpickrType) === "time") {
7121
+ // 使用 setTimeout 確保 DOM 完全渲染
7122
+ setTimeout(function() {
7123
+ var timeContainer = instance.timeContainer;
7124
+ if (timeContainer) {
7125
+ // 尋找所有可能的時間相關輸入元素
7126
+ var hourInput = timeContainer.querySelector("input.flatpickr-hour");
7127
+ var minuteInput = timeContainer.querySelector("input.flatpickr-minute");
7128
+ // 創建即時更新函數
7129
+ var updateTimeState = function() {
7130
+ // 直接從輸入框獲取值並構建時間
7131
+ var hourValue = hourInput ? hourInput.value : "0";
7132
+ var minuteValue = minuteInput ? minuteInput.value : "0";
7133
+ if (hourValue && minuteValue) {
7134
+ // 創建今天的日期並設置時間
7135
+ var today = new Date();
7136
+ today.setHours(parseInt(hourValue, 10), parseInt(minuteValue, 10), 0, 0);
7137
+ onChange([
7138
+ today
7139
+ ]);
7140
+ }
7141
+ };
7142
+ // 綁定多種事件以確保即時性
7143
+ var events = [
7144
+ "input",
7145
+ "change",
7146
+ "keyup",
7147
+ "click"
7148
+ ];
7149
+ if (hourInput) {
7150
+ events.forEach(function(eventType) {
7151
+ hourInput.addEventListener(eventType, updateTimeState);
7152
+ });
7153
+ }
7154
+ if (minuteInput) {
7155
+ events.forEach(function(eventType) {
7156
+ minuteInput.addEventListener(eventType, updateTimeState);
7157
+ });
7158
+ }
7159
+ // 監聽時間容器內的所有變化(包括按鈕點擊)
7160
+ var observer = new MutationObserver(function(mutations) {
7161
+ var shouldUpdate = false;
7162
+ mutations.forEach(function(mutation) {
7163
+ if (mutation.type === "attributes" || mutation.type === "childList") {
7164
+ shouldUpdate = true;
7165
+ }
7166
+ });
7167
+ if (shouldUpdate) {
7168
+ setTimeout(updateTimeState, 10); // 短延遲確保值已更新
7169
+ }
7170
+ });
7171
+ observer.observe(timeContainer, {
7172
+ attributes: true,
7173
+ childList: true,
7174
+ subtree: true,
7175
+ attributeFilter: [
7176
+ "value"
7177
+ ]
7178
+ });
7179
+ // 也監聽整個時間容器的點擊事件(箭頭按鈕)
7180
+ timeContainer.addEventListener("click", function() {
7181
+ setTimeout(updateTimeState, 10);
7182
+ });
7183
+ }
7184
+ }, 100);
7185
+ }
7117
7186
  }
7118
7187
  }));
7119
7188
  }
@@ -7125,12 +7194,6 @@ var FlatpickrInput = /*#__PURE__*/ forwardRef(function(param, ref) {
7125
7194
  item === null || item === void 0 ? void 0 : item.flatpickrType,
7126
7195
  onChange
7127
7196
  ]);
7128
- // const destroyFlatpickr = useCallback(() => {
7129
- // if (flatpickrInstance.current) {
7130
- // flatpickrInstance.current.destroy();
7131
- // flatpickrInstance.current = null;
7132
- // }
7133
- // }, []);
7134
7197
  var updateFlatpickr = useCallback(function(newValue) {
7135
7198
  if (flatpickrInstance.current) {
7136
7199
  // 如果值為 null 或 undefined,清除選擇
@@ -7377,7 +7440,7 @@ function _unsupported_iterable_to_array$2(o, minLen) {
7377
7440
  if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array$2(o, minLen);
7378
7441
  }
7379
7442
  var BaseCkeditor = dynamic(function() {
7380
- return import('./BaseCkeditor.esm.js');
7443
+ return import('./BaseCkeditor.esm.js').then(function (n) { return n.a; });
7381
7444
  }, {
7382
7445
  ssr: false
7383
7446
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sunggang/ui-lib",
3
- "version": "0.4.28",
3
+ "version": "0.4.30",
4
4
  "sideEffects": [
5
5
  "*.css",
6
6
  "./src/style.css",
@@ -15,8 +15,8 @@
15
15
  "import": "./index.cjs.mjs",
16
16
  "default": "./index.cjs.js"
17
17
  },
18
- "./style.css": "./index.esm.css",
19
- "./index.esm.css": "./index.esm.css",
18
+ "./style.css": "./dist/index.esm.css",
19
+ "./index.esm.css": "./dist/index.esm.css",
20
20
  "./FormProvider": {
21
21
  "module": "./FormProvider.esm.js",
22
22
  "import": "./FormProvider.cjs.mjs",
package/src/CkEditor.d.ts CHANGED
@@ -1 +1,2 @@
1
1
  export { default as BaseCkeditor } from './lib/Ckeditor/BaseCkeditor';
2
+ export { default as CkEditor } from './lib/Ckeditor/index';