@intable/react 0.0.17 → 0.0.18

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.
@@ -1,64 +1,86 @@
1
1
  import { createRoot } from "../utils.js";
2
2
  import { createElement, useEffect, useRef, useState } from "react";
3
3
  import { resolveOptions } from "intable/utils";
4
- import { Checkbox, ColorPicker, DatePicker, Input, InputNumber, Rate, Select, Switch, TimePicker } from "antd";
4
+ import { Checkbox, ColorPicker, DatePicker, Input, InputNumber, Rate, Select, Switch, TimePicker, version as version$1 } from "antd";
5
5
  import dayjs from "dayjs";
6
+ import weekday from "dayjs/plugin/weekday";
7
+ import localeData from "dayjs/plugin/localeData";
8
+ dayjs.extend(weekday), dayjs.extend(localeData);
6
9
  const AntdPlugin = {
7
10
  name: "antd",
8
11
  store(e) {
9
- e.editors.text = editor(Input), e.editors.number = editor(InputNumber), e.editors.rate = editor(Rate), e.editors.switch = editor(Switch), e.editors.checkbox = editor(Checkbox, (e) => ({
12
+ e.editors.text = editor(Input), e.editors.textarea = editor(Input.TextArea, (e) => ({ ...e })), e.editors.number = editor(InputNumber), e.editors.rate = editor(Rate), e.editors.switch = editor(Switch), e.editors.checkbox = editor(Checkbox, (e) => ({
10
13
  ...e,
11
14
  checked: e.value,
12
- onChange: (i) => e.onChange(i.target.checked)
15
+ onChange: (a) => e.onChange(a.target.checked)
13
16
  })), e.editors.color = selector(ColorPicker, (e) => ({
14
17
  ...e,
15
18
  onChange: void 0,
16
- onChangeComplete: (i) => e.onChange(i?.toHexString?.() || i)
17
- })), e.editors.select = selector(Select), e.editors.date = selector(DatePicker, (e) => ({
19
+ onChangeComplete: (a) => e.onChange(a?.toHexString?.() || a)
20
+ })), e.editors.select = selector(Select, (e) => ({
21
+ style: { width: "100%" },
22
+ ...e
23
+ })), e.editors.date = selector(DatePicker, (e) => ({
18
24
  ...e,
19
25
  value: e.value && dayjs(e.value),
20
- onChange: (i, a) => e.onChange(a)
26
+ onChange: (a, o) => e.onChange(o)
21
27
  })), e.editors.time = selector(TimePicker, (e) => ({
22
28
  ...e,
23
29
  value: e.value && dayjs(e.value, "HH:mm:ss"),
24
- onChange: (i, a) => e.onChange(a)
30
+ onChange: (a, o) => e.onChange(o)
25
31
  })), e.editors.datetime = selector(DatePicker, (e) => ({
26
32
  ...e,
27
33
  showTime: !0,
28
34
  value: e.value && dayjs(e.value),
29
- onChange: (i, a) => e.onChange(a)
35
+ onChange: (a, o) => e.onChange(o)
30
36
  }));
31
37
  },
32
38
  rewriteProps: { class: ({ class: e }) => `antd ${e}` }
33
- }, createEditor = (o, s = (e) => e, c) => (l) => {
34
- let { eventKey: u, value: d, col: f, ok: p, cancel: m, props: h } = l, g = document.createElement("div");
35
- g.style.display = "contents";
36
- let _ = createRoot(g), v = u || d, y;
37
- return _.render(createElement(() => {
38
- let [e, l] = useState(v), u = useRef(null);
39
+ }, createEditor = (s, c = (e) => e, l) => (f) => {
40
+ let { eventKey: p, value: m, col: h, ok: g, cancel: _, props: v } = f, y = document.createElement("div");
41
+ y.style.display = "contents";
42
+ let b = createRoot(y), x = [
43
+ Input,
44
+ InputNumber,
45
+ Input.TextArea
46
+ ].includes(s) && p || m, S, C = () => {
47
+ let [e, u] = useState(x), [d, f] = useState(p), m = useRef(null);
39
48
  return useEffect(() => {
40
- y = u.current, u.current?.focus?.();
41
- }, []), createElement(o, s({
42
- ref: u,
49
+ S = m.current, m.current?.focus?.();
50
+ }, []), createElement(s, c({
51
+ ref: m,
43
52
  value: e,
44
53
  onChange: (e) => {
45
- v = e.target instanceof Node ? e.target.value : e, l(v), c && !Array.isArray(v) && setTimeout(p, 100);
54
+ x = e.target instanceof Node ? e.target.value : e, u(x), l && !Array.isArray(x) && setTimeout(g, 100);
46
55
  },
47
56
  onPointerDown: (e) => e.stopPropagation(),
48
57
  onKeyDown: (e) => {
49
- e.stopPropagation(), e.key === "Enter" && p(), e.key === "Escape" && m();
58
+ e.stopPropagation(), e.key === "Enter" && !e.shiftKey && g(), e.key === "Escape" && _();
50
59
  },
51
60
  open: !0,
52
- ...f?.enum && { options: resolveOptions(f.enum) },
53
- ...h
61
+ ...+version$1.split(".")[0] <= 5 ? {
62
+ showSearch: !0,
63
+ optionFilterProp: "label",
64
+ searchValue: d,
65
+ onSearch: f
66
+ } : { showSearch: {
67
+ optionFilterProp: "label",
68
+ searchValue: d,
69
+ onSearch: f
70
+ } },
71
+ ...h?.enum && { options: resolveOptions(h.enum) },
72
+ ...v
54
73
  }));
55
- })), {
56
- el: g,
57
- getValue: () => v,
58
- destroy: () => _.unmount(),
59
- focus: () => y?.focus?.(),
60
- blur: () => y?.blur?.()
74
+ };
75
+ return setTimeout(() => {
76
+ b.render(createElement(C));
77
+ }, 0), {
78
+ el: y,
79
+ getValue: () => x,
80
+ destroy: () => b.unmount(),
81
+ focus: () => S?.focus?.(),
82
+ blur: () => S?.blur?.()
61
83
  };
62
84
  };
63
- var editor = (e, i) => createEditor(e, i, !1), selector = (e, i) => createEditor(e, i, !0);
85
+ var editor = (e, a) => createEditor(e, a, !1), selector = (e, a) => createEditor(e, a, !0);
64
86
  export { AntdPlugin, createEditor };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intable/react",
3
- "version": "0.0.17",
3
+ "version": "0.0.18",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -19,7 +19,7 @@
19
19
  "dependencies": {
20
20
  "dayjs": "^1.11.20",
21
21
  "solid-js": "^1.9.9",
22
- "intable": "^0.0.17"
22
+ "intable": "^0.0.18"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "react": "^16.0.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0",