@daouypkgs/antd 2.0.157

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.
Files changed (106) hide show
  1. package/README.md +1 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/antd.css +29217 -0
  4. package/dist/antd.esm.js +2557 -0
  5. package/dist/antd.esm.js.map +1 -0
  6. package/dist/customControls.d.ts +17 -0
  7. package/dist/index.d.ts +16 -0
  8. package/dist/index.js +2644 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/registerButton.d.ts +7 -0
  11. package/dist/registerCarousel.d.ts +6 -0
  12. package/dist/registerCheckbox.d.ts +19 -0
  13. package/dist/registerCollapse.d.ts +15 -0
  14. package/dist/registerDropdown.d.ts +13 -0
  15. package/dist/registerInput.d.ts +26 -0
  16. package/dist/registerMenu.d.ts +20 -0
  17. package/dist/registerOption.d.ts +10 -0
  18. package/dist/registerRate.d.ts +6 -0
  19. package/dist/registerSelect.d.ts +16 -0
  20. package/dist/registerSlider.d.ts +19 -0
  21. package/dist/registerSwitch.d.ts +7 -0
  22. package/dist/registerTable.d.ts +30 -0
  23. package/dist/registerTabs.d.ts +14 -0
  24. package/dist/registerable.d.ts +4 -0
  25. package/package.json +83 -0
  26. package/skinny/customControls-82aa5d0c.esm.js +20 -0
  27. package/skinny/customControls-82aa5d0c.esm.js.map +1 -0
  28. package/skinny/customControls-fb0b7e5f.cjs.js +22 -0
  29. package/skinny/customControls-fb0b7e5f.cjs.js.map +1 -0
  30. package/skinny/customControls.d.ts +17 -0
  31. package/skinny/package.json +1 -0
  32. package/skinny/registerButton.cjs.js +90 -0
  33. package/skinny/registerButton.cjs.js.map +1 -0
  34. package/skinny/registerButton.d.ts +7 -0
  35. package/skinny/registerButton.esm.js +82 -0
  36. package/skinny/registerButton.esm.js.map +1 -0
  37. package/skinny/registerCarousel.cjs.js +76 -0
  38. package/skinny/registerCarousel.cjs.js.map +1 -0
  39. package/skinny/registerCarousel.d.ts +6 -0
  40. package/skinny/registerCarousel.esm.js +68 -0
  41. package/skinny/registerCarousel.esm.js.map +1 -0
  42. package/skinny/registerCheckbox.cjs.js +190 -0
  43. package/skinny/registerCheckbox.cjs.js.map +1 -0
  44. package/skinny/registerCheckbox.d.ts +19 -0
  45. package/skinny/registerCheckbox.esm.js +177 -0
  46. package/skinny/registerCheckbox.esm.js.map +1 -0
  47. package/skinny/registerCollapse.cjs.js +214 -0
  48. package/skinny/registerCollapse.cjs.js.map +1 -0
  49. package/skinny/registerCollapse.d.ts +15 -0
  50. package/skinny/registerCollapse.esm.js +202 -0
  51. package/skinny/registerCollapse.esm.js.map +1 -0
  52. package/skinny/registerDropdown.cjs.js +191 -0
  53. package/skinny/registerDropdown.cjs.js.map +1 -0
  54. package/skinny/registerDropdown.d.ts +13 -0
  55. package/skinny/registerDropdown.esm.js +179 -0
  56. package/skinny/registerDropdown.esm.js.map +1 -0
  57. package/skinny/registerInput.cjs.js +468 -0
  58. package/skinny/registerInput.cjs.js.map +1 -0
  59. package/skinny/registerInput.d.ts +26 -0
  60. package/skinny/registerInput.esm.js +447 -0
  61. package/skinny/registerInput.esm.js.map +1 -0
  62. package/skinny/registerMenu.cjs.js +319 -0
  63. package/skinny/registerMenu.cjs.js.map +1 -0
  64. package/skinny/registerMenu.d.ts +20 -0
  65. package/skinny/registerMenu.esm.js +299 -0
  66. package/skinny/registerMenu.esm.js.map +1 -0
  67. package/skinny/registerOption.cjs.js +89 -0
  68. package/skinny/registerOption.cjs.js.map +1 -0
  69. package/skinny/registerOption.d.ts +10 -0
  70. package/skinny/registerOption.esm.js +78 -0
  71. package/skinny/registerOption.esm.js.map +1 -0
  72. package/skinny/registerRate.cjs.js +82 -0
  73. package/skinny/registerRate.cjs.js.map +1 -0
  74. package/skinny/registerRate.d.ts +6 -0
  75. package/skinny/registerRate.esm.js +74 -0
  76. package/skinny/registerRate.esm.js.map +1 -0
  77. package/skinny/registerSelect.cjs.js +173 -0
  78. package/skinny/registerSelect.cjs.js.map +1 -0
  79. package/skinny/registerSelect.d.ts +16 -0
  80. package/skinny/registerSelect.esm.js +165 -0
  81. package/skinny/registerSelect.esm.js.map +1 -0
  82. package/skinny/registerSlider.cjs.js +162 -0
  83. package/skinny/registerSlider.cjs.js.map +1 -0
  84. package/skinny/registerSlider.d.ts +19 -0
  85. package/skinny/registerSlider.esm.js +153 -0
  86. package/skinny/registerSlider.esm.js.map +1 -0
  87. package/skinny/registerSwitch.cjs.js +84 -0
  88. package/skinny/registerSwitch.cjs.js.map +1 -0
  89. package/skinny/registerSwitch.d.ts +7 -0
  90. package/skinny/registerSwitch.esm.js +76 -0
  91. package/skinny/registerSwitch.esm.js.map +1 -0
  92. package/skinny/registerTable.cjs.js +217 -0
  93. package/skinny/registerTable.cjs.js.map +1 -0
  94. package/skinny/registerTable.d.ts +30 -0
  95. package/skinny/registerTable.esm.js +203 -0
  96. package/skinny/registerTable.esm.js.map +1 -0
  97. package/skinny/registerTabs.cjs.js +390 -0
  98. package/skinny/registerTabs.cjs.js.map +1 -0
  99. package/skinny/registerTabs.d.ts +14 -0
  100. package/skinny/registerTabs.esm.js +378 -0
  101. package/skinny/registerTabs.esm.js.map +1 -0
  102. package/skinny/registerable.cjs.js +3 -0
  103. package/skinny/registerable.cjs.js.map +1 -0
  104. package/skinny/registerable.d.ts +4 -0
  105. package/skinny/registerable.esm.js +2 -0
  106. package/skinny/registerable.esm.js.map +1 -0
@@ -0,0 +1,76 @@
1
+ import registerComponent from '@daouy/host/registerComponent';
2
+ import { Switch as Switch$1 } from 'antd';
3
+
4
+ const Switch = Switch$1;
5
+ const switchMeta = {
6
+ name: "AntdSwitch",
7
+ displayName: "Antd Switch",
8
+ props: {
9
+ autoFocus: {
10
+ type: "boolean",
11
+ description: "Whether get focus when component mounted",
12
+ defaultValueHint: false
13
+ },
14
+ checked: {
15
+ type: "boolean",
16
+ description: "Whether to set the initial state",
17
+ defaultValueHint: false
18
+ },
19
+ disabled: {
20
+ type: "boolean",
21
+ description: "Disable switch",
22
+ defaultValueHint: false
23
+ },
24
+ loading: {
25
+ type: "boolean",
26
+ description: "Loading state of switch",
27
+ defaultValueHint: false
28
+ },
29
+ checkedChildren: {
30
+ type: "slot",
31
+ defaultValue: [],
32
+ hidePlaceholder: true
33
+ },
34
+ unCheckedChildren: {
35
+ type: "slot",
36
+ defaultValue: [],
37
+ hidePlaceholder: true
38
+ },
39
+ size: {
40
+ type: "choice",
41
+ options: ["small", "default"],
42
+ description: "The size of the Switch",
43
+ defaultValueHint: "default"
44
+ },
45
+ onChange: {
46
+ type: "eventHandler",
47
+ argTypes: [
48
+ {
49
+ name: "checked",
50
+ type: "boolean"
51
+ },
52
+ {
53
+ name: "event",
54
+ type: "object"
55
+ }
56
+ ]
57
+ }
58
+ },
59
+ states: {
60
+ value: {
61
+ type: "writable",
62
+ variableType: "boolean",
63
+ onChangeProp: "onChange",
64
+ valueProp: "checked"
65
+ }
66
+ },
67
+ importPath: "@daouypkgs/antd/skinny/registerSwitch",
68
+ importName: "Switch"
69
+ };
70
+ function registerSwitch(loader, customSwitchMeta) {
71
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : registerComponent(...args);
72
+ doRegisterComponent(Switch, customSwitchMeta != null ? customSwitchMeta : switchMeta);
73
+ }
74
+
75
+ export { Switch, registerSwitch, switchMeta };
76
+ //# sourceMappingURL=registerSwitch.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerSwitch.esm.js","sources":["../src/registerSwitch.ts"],"sourcesContent":["import registerComponent, {\n ComponentMeta,\n} from \"@daouy/host/registerComponent\";\nimport { Switch as AntdSwitch } from \"antd\";\nimport type { SwitchProps } from \"antd/es/switch\";\nimport { Registerable } from \"./registerable\";\nexport const Switch: typeof AntdSwitch = AntdSwitch;\n\nexport const switchMeta: ComponentMeta<SwitchProps> = {\n name: \"AntdSwitch\",\n displayName: \"Antd Switch\",\n props: {\n autoFocus: {\n type: \"boolean\",\n description: \"Whether get focus when component mounted\",\n defaultValueHint: false,\n },\n checked: {\n type: \"boolean\",\n description: \"Whether to set the initial state\",\n defaultValueHint: false,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disable switch\",\n defaultValueHint: false,\n },\n loading: {\n type: \"boolean\",\n description: \"Loading state of switch\",\n defaultValueHint: false,\n },\n checkedChildren: {\n type: \"slot\",\n defaultValue: [],\n hidePlaceholder: true,\n },\n unCheckedChildren: {\n type: \"slot\",\n defaultValue: [],\n hidePlaceholder: true,\n },\n size: {\n type: \"choice\",\n options: [\"small\", \"default\"],\n description: \"The size of the Switch\",\n defaultValueHint: \"default\",\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"checked\",\n type: \"boolean\",\n },\n {\n name: \"event\",\n type: \"object\",\n },\n ],\n },\n },\n states: {\n value: {\n type: \"writable\",\n variableType: \"boolean\",\n onChangeProp: \"onChange\",\n valueProp: \"checked\",\n },\n },\n importPath: \"@daouypkgs/antd/skinny/registerSwitch\",\n importName: \"Switch\",\n};\n\nexport function registerSwitch(\n loader?: Registerable,\n customSwitchMeta?: ComponentMeta<SwitchProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Switch, customSwitchMeta ?? switchMeta);\n}\n"],"names":["AntdSwitch"],"mappings":";;;AAMO,MAAM,MAA4B,GAAAA,SAAA;AAElC,MAAM,UAAyC,GAAA;AAAA,EACpD,IAAM,EAAA,YAAA;AAAA,EACN,WAAa,EAAA,aAAA;AAAA,EACb,KAAO,EAAA;AAAA,IACL,SAAW,EAAA;AAAA,MACT,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,0CAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,kCAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,gBAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,OAAS,EAAA;AAAA,MACP,IAAM,EAAA,SAAA;AAAA,MACN,WAAa,EAAA,yBAAA;AAAA,MACb,gBAAkB,EAAA,KAAA;AAAA,KACpB;AAAA,IACA,eAAiB,EAAA;AAAA,MACf,IAAM,EAAA,MAAA;AAAA,MACN,cAAc,EAAC;AAAA,MACf,eAAiB,EAAA,IAAA;AAAA,KACnB;AAAA,IACA,iBAAmB,EAAA;AAAA,MACjB,IAAM,EAAA,MAAA;AAAA,MACN,cAAc,EAAC;AAAA,MACf,eAAiB,EAAA,IAAA;AAAA,KACnB;AAAA,IACA,IAAM,EAAA;AAAA,MACJ,IAAM,EAAA,QAAA;AAAA,MACN,OAAA,EAAS,CAAC,OAAA,EAAS,SAAS,CAAA;AAAA,MAC5B,WAAa,EAAA,wBAAA;AAAA,MACb,gBAAkB,EAAA,SAAA;AAAA,KACpB;AAAA,IACA,QAAU,EAAA;AAAA,MACR,IAAM,EAAA,cAAA;AAAA,MACN,QAAU,EAAA;AAAA,QACR;AAAA,UACE,IAAM,EAAA,SAAA;AAAA,UACN,IAAM,EAAA,SAAA;AAAA,SACR;AAAA,QACA;AAAA,UACE,IAAM,EAAA,OAAA;AAAA,UACN,IAAM,EAAA,QAAA;AAAA,SACR;AAAA,OACF;AAAA,KACF;AAAA,GACF;AAAA,EACA,MAAQ,EAAA;AAAA,IACN,KAAO,EAAA;AAAA,MACL,IAAM,EAAA,UAAA;AAAA,MACN,YAAc,EAAA,SAAA;AAAA,MACd,YAAc,EAAA,UAAA;AAAA,MACd,SAAW,EAAA,SAAA;AAAA,KACb;AAAA,GACF;AAAA,EACA,UAAY,EAAA,uCAAA;AAAA,EACZ,UAAY,EAAA,QAAA;AACd,EAAA;AAEgB,SAAA,cAAA,CACd,QACA,gBACA,EAAA;AACA,EAAM,MAAA,mBAAA,GAAgD,CAAI,GAAA,IAAA,KACxD,MAAS,GAAA,MAAA,CAAO,iBAAkB,CAAA,GAAG,IAAI,CAAA,GAAI,iBAAkB,CAAA,GAAG,IAAI,CAAA,CAAA;AACxE,EAAoB,mBAAA,CAAA,MAAA,EAAQ,8CAAoB,UAAU,CAAA,CAAA;AAC5D;;;;"}
@@ -0,0 +1,217 @@
1
+ 'use strict';
2
+
3
+ var host = require('@daouy/host');
4
+ var antd = require('antd');
5
+ var React = require('react');
6
+
7
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+
9
+ var React__default = /*#__PURE__*/_interopDefault(React);
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
13
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
14
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
15
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
16
+ var __spreadValues = (a, b) => {
17
+ for (var prop in b || (b = {}))
18
+ if (__hasOwnProp.call(b, prop))
19
+ __defNormalProp(a, prop, b[prop]);
20
+ if (__getOwnPropSymbols)
21
+ for (var prop of __getOwnPropSymbols(b)) {
22
+ if (__propIsEnum.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ }
25
+ return a;
26
+ };
27
+ var __objRest = (source, exclude) => {
28
+ var target = {};
29
+ for (var prop in source)
30
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
31
+ target[prop] = source[prop];
32
+ if (source != null && __getOwnPropSymbols)
33
+ for (var prop of __getOwnPropSymbols(source)) {
34
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
35
+ target[prop] = source[prop];
36
+ }
37
+ return target;
38
+ };
39
+ function TableColumn(_props) {
40
+ return null;
41
+ }
42
+ function TableValue(props) {
43
+ var _a;
44
+ const { className } = props;
45
+ const column = host.useSelector("currentColumn");
46
+ return /* @__PURE__ */ React__default.default.createElement("div", { className }, (_a = column == null ? void 0 : column.toString()) != null ? _a : "");
47
+ }
48
+ function ColumnWrapper(props) {
49
+ return props.children;
50
+ }
51
+ function TableWrapper(props) {
52
+ var _a, _b;
53
+ const { className, items, columns, size, onSelect, pagination } = props;
54
+ const tableColumns = (_b = (_a = columns == null ? void 0 : columns.props) == null ? void 0 : _a.children) != null ? _b : columns;
55
+ const columnDefinitions = React__default.default.useMemo(() => {
56
+ return React__default.default.Children.map(
57
+ tableColumns,
58
+ (column, columnIndex) => {
59
+ if (!column) {
60
+ return void 0;
61
+ }
62
+ const _a2 = column.props, { columnTemplate, title, dataIndex } = _a2, rest = __objRest(_a2, ["columnTemplate", "title", "dataIndex"]);
63
+ const columnDefinition = {
64
+ columnIndex,
65
+ title,
66
+ dataIndex,
67
+ key: columnIndex,
68
+ render: (value, record, rowIndex) => {
69
+ return /* @__PURE__ */ React__default.default.createElement(host.DataProvider, { name: "currentRow", data: record }, /* @__PURE__ */ React__default.default.createElement(host.DataProvider, { name: "currentRowIndex", data: rowIndex }, /* @__PURE__ */ React__default.default.createElement(host.DataProvider, { name: "currentColumn", data: value }, host.repeatedElement(
70
+ rowIndex,
71
+ /* @__PURE__ */ React__default.default.createElement(ColumnWrapper, __spreadValues({}, rest), columnTemplate)
72
+ ))));
73
+ }
74
+ };
75
+ return columnDefinition;
76
+ }
77
+ ).filter(Boolean);
78
+ }, [tableColumns]);
79
+ return /* @__PURE__ */ React__default.default.createElement(
80
+ antd.Table,
81
+ {
82
+ className,
83
+ columns: columnDefinitions,
84
+ dataSource: items,
85
+ size,
86
+ onRow: (record) => {
87
+ return {
88
+ onMouseUp: () => {
89
+ return onSelect == null ? void 0 : onSelect(record.id);
90
+ }
91
+ };
92
+ },
93
+ pagination: pagination ? void 0 : pagination,
94
+ rowKey: "id"
95
+ }
96
+ );
97
+ }
98
+ const DEFAULT_ITEMS = [
99
+ {
100
+ name: "John Brown",
101
+ age: 19,
102
+ address: "New York No. 1 Lake Park",
103
+ tags: ["student", "developer"]
104
+ },
105
+ {
106
+ name: "Jim Green",
107
+ age: 42,
108
+ address: "London No. 1 Lake Park",
109
+ tags: ["teacher"]
110
+ },
111
+ {
112
+ name: "Joe Black",
113
+ age: 32,
114
+ address: "Sidney No. 1 Lake Park",
115
+ tags: ["cool", "teacher"]
116
+ }
117
+ ];
118
+ function capitalize(input) {
119
+ return input.charAt(0).toUpperCase() + input.slice(1);
120
+ }
121
+ const tableMeta = {
122
+ name: "AntdTable",
123
+ displayName: "Antd Table",
124
+ props: {
125
+ items: {
126
+ type: "array",
127
+ description: "The data to display in the table, as a list of objects (one object per row)",
128
+ defaultValue: DEFAULT_ITEMS
129
+ },
130
+ columns: {
131
+ type: "slot",
132
+ allowedComponents: ["AntdTableColumn"],
133
+ defaultValue: Object.keys(DEFAULT_ITEMS[0]).map((columnName) => ({
134
+ type: "component",
135
+ name: "AntdTableColumn",
136
+ props: {
137
+ title: capitalize(columnName),
138
+ dataIndex: columnName
139
+ }
140
+ }))
141
+ },
142
+ size: {
143
+ type: "choice",
144
+ options: ["large", "middle", "small"],
145
+ defaultValueHint: "large"
146
+ },
147
+ pagination: {
148
+ type: "boolean",
149
+ defaultValueHint: true
150
+ }
151
+ },
152
+ importPath: "@daouypkgs/antd/skinny/registerTable",
153
+ importName: "TableWrapper"
154
+ };
155
+ const tableColumnMeta = {
156
+ name: "AntdTableColumn",
157
+ parentComponentName: "AntdTable",
158
+ providesData: true,
159
+ props: {
160
+ title: {
161
+ type: "string",
162
+ defaultValue: "Name"
163
+ },
164
+ dataIndex: {
165
+ type: "string",
166
+ defaultValue: "name",
167
+ description: "The field to show. The table accepts some data as a list of objects, and this is the name of the field in those objects that this column will display."
168
+ },
169
+ columnTemplate: {
170
+ type: "slot",
171
+ defaultValue: {
172
+ type: "vbox",
173
+ styles: {
174
+ padding: 0
175
+ },
176
+ children: [
177
+ {
178
+ type: "component",
179
+ name: "AntdTableValue"
180
+ }
181
+ ]
182
+ }
183
+ }
184
+ },
185
+ importPath: "@daouypkgs/antd/skinny/registerTable",
186
+ importName: "TableColumn"
187
+ };
188
+ const tableValueMeta = {
189
+ name: "AntdTableValue",
190
+ parentComponentName: "AntdTableColumn",
191
+ props: {},
192
+ importPath: "@daouypkgs/antd/skinny/registerTable",
193
+ importName: "TableValue"
194
+ };
195
+ function registerTable(loader, customMeta) {
196
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : host.registerComponent(...args);
197
+ doRegisterComponent(TableWrapper, customMeta != null ? customMeta : tableMeta);
198
+ }
199
+ function registerTableColumn(loader, customMeta) {
200
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : host.registerComponent(...args);
201
+ doRegisterComponent(TableColumn, customMeta != null ? customMeta : tableColumnMeta);
202
+ }
203
+ function registerTableValue(loader, customMeta) {
204
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : host.registerComponent(...args);
205
+ doRegisterComponent(TableValue, customMeta != null ? customMeta : tableValueMeta);
206
+ }
207
+
208
+ exports.TableColumn = TableColumn;
209
+ exports.TableValue = TableValue;
210
+ exports.TableWrapper = TableWrapper;
211
+ exports.registerTable = registerTable;
212
+ exports.registerTableColumn = registerTableColumn;
213
+ exports.registerTableValue = registerTableValue;
214
+ exports.tableColumnMeta = tableColumnMeta;
215
+ exports.tableMeta = tableMeta;
216
+ exports.tableValueMeta = tableValueMeta;
217
+ //# sourceMappingURL=registerTable.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerTable.cjs.js","sources":["../src/registerTable.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n registerComponent,\n repeatedElement,\n useSelector,\n} from \"@daouy/host\";\nimport type { SizeType } from \"antd/es/config-provider/SizeContext\";\nimport { Table } from \"antd\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ninterface TableColumnProps {\n columnIndex: number;\n // The title text to show in the column headers\n title?: string;\n\n // The path for the data field to get the value from\n // Display field of the data record, support nest path by string array\n dataIndex: string | string[];\n\n // Daouy - Custom column template\n columnTemplate: React.ReactNode;\n}\n\n// This is an empty virtual component used to allow users to define column\n// properties in daouy.\nexport function TableColumn(_props: TableColumnProps) {\n return null;\n}\n\nexport interface TableValueProps {\n className?: string;\n}\n\nexport function TableValue(props: TableValueProps) {\n const { className } = props;\n const column = useSelector(\"currentColumn\");\n return <div className={className}>{column?.toString() ?? \"\"}</div>;\n}\n\n/**\n * Wrapper used to consume internal canvas props\n */\nfunction ColumnWrapper(props: { children: React.ReactNode }) {\n return props.children as React.ReactElement | null;\n}\n\nexport interface TableWrapperProps {\n className?: string;\n items: Array<any>;\n columns: React.ReactNode;\n size?: string;\n pagination?: boolean;\n onSelect?: (record: any) => void;\n}\n\nexport function TableWrapper(props: TableWrapperProps) {\n const { className, items, columns, size, onSelect, pagination } = props;\n\n // Daouy Studio Canvas currently renders items in a slightly different way than the generated code:\n // - In the studio:\n // - The `columns` prop value is an array of nested react <Column /> nodes.\n // - In the generated code (preview mode):\n // - The `columns` prop value is a React Node with a `children` property that contains\n // an array of the nested react <Column /> components.\n const tableColumns = (columns as any)?.props?.children ?? (columns as any);\n\n // Convert the props.columns slot children to an array of column definitions\n const columnDefinitions = React.useMemo(() => {\n return React.Children.map(\n tableColumns,\n (column: { props: TableColumnProps }, columnIndex) => {\n if (!column) {\n return undefined;\n }\n\n const { columnTemplate, title, dataIndex, ...rest } = column.props;\n\n const columnDefinition = {\n columnIndex,\n title,\n dataIndex,\n key: columnIndex,\n render: (value: any, record: any, rowIndex: any) => {\n return (\n <DataProvider name=\"currentRow\" data={record}>\n <DataProvider name=\"currentRowIndex\" data={rowIndex}>\n <DataProvider name=\"currentColumn\" data={value}>\n {repeatedElement(\n rowIndex,\n <ColumnWrapper {...rest}>{columnTemplate}</ColumnWrapper>\n )}\n </DataProvider>\n </DataProvider>\n </DataProvider>\n );\n },\n };\n\n return columnDefinition;\n }\n ).filter(Boolean);\n }, [tableColumns]);\n\n return (\n <Table\n className={className}\n columns={columnDefinitions}\n dataSource={items}\n size={size as SizeType}\n onRow={(record) => {\n return {\n onMouseUp: () => {\n return onSelect?.(record.id);\n },\n };\n }}\n pagination={pagination ? undefined : pagination}\n rowKey={\"id\"}\n />\n );\n}\n\nconst DEFAULT_ITEMS = [\n {\n name: \"John Brown\",\n age: 19,\n address: \"New York No. 1 Lake Park\",\n tags: [\"student\", \"developer\"],\n },\n {\n name: \"Jim Green\",\n age: 42,\n address: \"London No. 1 Lake Park\",\n tags: [\"teacher\"],\n },\n {\n name: \"Joe Black\",\n age: 32,\n address: \"Sidney No. 1 Lake Park\",\n tags: [\"cool\", \"teacher\"],\n },\n];\n\nfunction capitalize(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1);\n}\n\nexport const tableMeta: ComponentMeta<TableWrapperProps> = {\n name: \"AntdTable\",\n displayName: \"Antd Table\",\n props: {\n items: {\n type: \"array\",\n description:\n \"The data to display in the table, as a list of objects (one object per row)\",\n defaultValue: DEFAULT_ITEMS,\n },\n\n columns: {\n type: \"slot\",\n allowedComponents: [\"AntdTableColumn\"],\n defaultValue: Object.keys(DEFAULT_ITEMS[0]).map((columnName) => ({\n type: \"component\",\n name: \"AntdTableColumn\",\n props: {\n title: capitalize(columnName),\n dataIndex: columnName,\n },\n })),\n },\n\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n defaultValueHint: \"large\",\n },\n\n pagination: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n },\n\n importPath: \"@daouypkgs/antd/skinny/registerTable\",\n importName: \"TableWrapper\",\n};\n\nexport const tableColumnMeta: ComponentMeta<TableColumnProps> = {\n name: \"AntdTableColumn\",\n parentComponentName: \"AntdTable\",\n providesData: true,\n props: {\n title: {\n type: \"string\",\n defaultValue: \"Name\",\n },\n\n dataIndex: {\n type: \"string\",\n defaultValue: \"name\",\n description:\n \"The field to show. The table accepts some data as a list of objects, and this is the name of the field in those objects that this column will display.\",\n },\n\n columnTemplate: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: \"AntdTableValue\",\n },\n ],\n },\n },\n },\n\n importPath: \"@daouypkgs/antd/skinny/registerTable\",\n importName: \"TableColumn\",\n};\n\nexport const tableValueMeta: ComponentMeta<TableValueProps> = {\n name: \"AntdTableValue\",\n parentComponentName: \"AntdTableColumn\",\n props: {},\n importPath: \"@daouypkgs/antd/skinny/registerTable\",\n importName: \"TableValue\",\n};\n\nexport function registerTable(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableWrapperProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableWrapper, customMeta ?? tableMeta);\n}\n\nexport function registerTableColumn(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableColumnProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableColumn, customMeta ?? tableColumnMeta);\n}\n\nexport function registerTableValue(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableValueProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableValue, customMeta ?? tableValueMeta);\n}\n"],"names":["useSelector","React","_a","DataProvider","repeatedElement","Table","registerComponent"],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import { ComponentMeta } from "@daouy/host";
2
+ import React from "react";
3
+ import { Registerable } from "./registerable";
4
+ interface TableColumnProps {
5
+ columnIndex: number;
6
+ title?: string;
7
+ dataIndex: string | string[];
8
+ columnTemplate: React.ReactNode;
9
+ }
10
+ export declare function TableColumn(_props: TableColumnProps): null;
11
+ export interface TableValueProps {
12
+ className?: string;
13
+ }
14
+ export declare function TableValue(props: TableValueProps): React.JSX.Element;
15
+ export interface TableWrapperProps {
16
+ className?: string;
17
+ items: Array<any>;
18
+ columns: React.ReactNode;
19
+ size?: string;
20
+ pagination?: boolean;
21
+ onSelect?: (record: any) => void;
22
+ }
23
+ export declare function TableWrapper(props: TableWrapperProps): React.JSX.Element;
24
+ export declare const tableMeta: ComponentMeta<TableWrapperProps>;
25
+ export declare const tableColumnMeta: ComponentMeta<TableColumnProps>;
26
+ export declare const tableValueMeta: ComponentMeta<TableValueProps>;
27
+ export declare function registerTable(loader?: Registerable, customMeta?: ComponentMeta<TableWrapperProps>): void;
28
+ export declare function registerTableColumn(loader?: Registerable, customMeta?: ComponentMeta<TableColumnProps>): void;
29
+ export declare function registerTableValue(loader?: Registerable, customMeta?: ComponentMeta<TableValueProps>): void;
30
+ export {};
@@ -0,0 +1,203 @@
1
+ import { useSelector, DataProvider, repeatedElement, registerComponent } from '@daouy/host';
2
+ import { Table } from 'antd';
3
+ import React from 'react';
4
+
5
+ var __defProp = Object.defineProperty;
6
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __objRest = (source, exclude) => {
22
+ var target = {};
23
+ for (var prop in source)
24
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
25
+ target[prop] = source[prop];
26
+ if (source != null && __getOwnPropSymbols)
27
+ for (var prop of __getOwnPropSymbols(source)) {
28
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
29
+ target[prop] = source[prop];
30
+ }
31
+ return target;
32
+ };
33
+ function TableColumn(_props) {
34
+ return null;
35
+ }
36
+ function TableValue(props) {
37
+ var _a;
38
+ const { className } = props;
39
+ const column = useSelector("currentColumn");
40
+ return /* @__PURE__ */ React.createElement("div", { className }, (_a = column == null ? void 0 : column.toString()) != null ? _a : "");
41
+ }
42
+ function ColumnWrapper(props) {
43
+ return props.children;
44
+ }
45
+ function TableWrapper(props) {
46
+ var _a, _b;
47
+ const { className, items, columns, size, onSelect, pagination } = props;
48
+ const tableColumns = (_b = (_a = columns == null ? void 0 : columns.props) == null ? void 0 : _a.children) != null ? _b : columns;
49
+ const columnDefinitions = React.useMemo(() => {
50
+ return React.Children.map(
51
+ tableColumns,
52
+ (column, columnIndex) => {
53
+ if (!column) {
54
+ return void 0;
55
+ }
56
+ const _a2 = column.props, { columnTemplate, title, dataIndex } = _a2, rest = __objRest(_a2, ["columnTemplate", "title", "dataIndex"]);
57
+ const columnDefinition = {
58
+ columnIndex,
59
+ title,
60
+ dataIndex,
61
+ key: columnIndex,
62
+ render: (value, record, rowIndex) => {
63
+ return /* @__PURE__ */ React.createElement(DataProvider, { name: "currentRow", data: record }, /* @__PURE__ */ React.createElement(DataProvider, { name: "currentRowIndex", data: rowIndex }, /* @__PURE__ */ React.createElement(DataProvider, { name: "currentColumn", data: value }, repeatedElement(
64
+ rowIndex,
65
+ /* @__PURE__ */ React.createElement(ColumnWrapper, __spreadValues({}, rest), columnTemplate)
66
+ ))));
67
+ }
68
+ };
69
+ return columnDefinition;
70
+ }
71
+ ).filter(Boolean);
72
+ }, [tableColumns]);
73
+ return /* @__PURE__ */ React.createElement(
74
+ Table,
75
+ {
76
+ className,
77
+ columns: columnDefinitions,
78
+ dataSource: items,
79
+ size,
80
+ onRow: (record) => {
81
+ return {
82
+ onMouseUp: () => {
83
+ return onSelect == null ? void 0 : onSelect(record.id);
84
+ }
85
+ };
86
+ },
87
+ pagination: pagination ? void 0 : pagination,
88
+ rowKey: "id"
89
+ }
90
+ );
91
+ }
92
+ const DEFAULT_ITEMS = [
93
+ {
94
+ name: "John Brown",
95
+ age: 19,
96
+ address: "New York No. 1 Lake Park",
97
+ tags: ["student", "developer"]
98
+ },
99
+ {
100
+ name: "Jim Green",
101
+ age: 42,
102
+ address: "London No. 1 Lake Park",
103
+ tags: ["teacher"]
104
+ },
105
+ {
106
+ name: "Joe Black",
107
+ age: 32,
108
+ address: "Sidney No. 1 Lake Park",
109
+ tags: ["cool", "teacher"]
110
+ }
111
+ ];
112
+ function capitalize(input) {
113
+ return input.charAt(0).toUpperCase() + input.slice(1);
114
+ }
115
+ const tableMeta = {
116
+ name: "AntdTable",
117
+ displayName: "Antd Table",
118
+ props: {
119
+ items: {
120
+ type: "array",
121
+ description: "The data to display in the table, as a list of objects (one object per row)",
122
+ defaultValue: DEFAULT_ITEMS
123
+ },
124
+ columns: {
125
+ type: "slot",
126
+ allowedComponents: ["AntdTableColumn"],
127
+ defaultValue: Object.keys(DEFAULT_ITEMS[0]).map((columnName) => ({
128
+ type: "component",
129
+ name: "AntdTableColumn",
130
+ props: {
131
+ title: capitalize(columnName),
132
+ dataIndex: columnName
133
+ }
134
+ }))
135
+ },
136
+ size: {
137
+ type: "choice",
138
+ options: ["large", "middle", "small"],
139
+ defaultValueHint: "large"
140
+ },
141
+ pagination: {
142
+ type: "boolean",
143
+ defaultValueHint: true
144
+ }
145
+ },
146
+ importPath: "@daouypkgs/antd/skinny/registerTable",
147
+ importName: "TableWrapper"
148
+ };
149
+ const tableColumnMeta = {
150
+ name: "AntdTableColumn",
151
+ parentComponentName: "AntdTable",
152
+ providesData: true,
153
+ props: {
154
+ title: {
155
+ type: "string",
156
+ defaultValue: "Name"
157
+ },
158
+ dataIndex: {
159
+ type: "string",
160
+ defaultValue: "name",
161
+ description: "The field to show. The table accepts some data as a list of objects, and this is the name of the field in those objects that this column will display."
162
+ },
163
+ columnTemplate: {
164
+ type: "slot",
165
+ defaultValue: {
166
+ type: "vbox",
167
+ styles: {
168
+ padding: 0
169
+ },
170
+ children: [
171
+ {
172
+ type: "component",
173
+ name: "AntdTableValue"
174
+ }
175
+ ]
176
+ }
177
+ }
178
+ },
179
+ importPath: "@daouypkgs/antd/skinny/registerTable",
180
+ importName: "TableColumn"
181
+ };
182
+ const tableValueMeta = {
183
+ name: "AntdTableValue",
184
+ parentComponentName: "AntdTableColumn",
185
+ props: {},
186
+ importPath: "@daouypkgs/antd/skinny/registerTable",
187
+ importName: "TableValue"
188
+ };
189
+ function registerTable(loader, customMeta) {
190
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : registerComponent(...args);
191
+ doRegisterComponent(TableWrapper, customMeta != null ? customMeta : tableMeta);
192
+ }
193
+ function registerTableColumn(loader, customMeta) {
194
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : registerComponent(...args);
195
+ doRegisterComponent(TableColumn, customMeta != null ? customMeta : tableColumnMeta);
196
+ }
197
+ function registerTableValue(loader, customMeta) {
198
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : registerComponent(...args);
199
+ doRegisterComponent(TableValue, customMeta != null ? customMeta : tableValueMeta);
200
+ }
201
+
202
+ export { TableColumn, TableValue, TableWrapper, registerTable, registerTableColumn, registerTableValue, tableColumnMeta, tableMeta, tableValueMeta };
203
+ //# sourceMappingURL=registerTable.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerTable.esm.js","sources":["../src/registerTable.tsx"],"sourcesContent":["import {\n ComponentMeta,\n DataProvider,\n registerComponent,\n repeatedElement,\n useSelector,\n} from \"@daouy/host\";\nimport type { SizeType } from \"antd/es/config-provider/SizeContext\";\nimport { Table } from \"antd\";\nimport React from \"react\";\nimport { Registerable } from \"./registerable\";\n\ninterface TableColumnProps {\n columnIndex: number;\n // The title text to show in the column headers\n title?: string;\n\n // The path for the data field to get the value from\n // Display field of the data record, support nest path by string array\n dataIndex: string | string[];\n\n // Daouy - Custom column template\n columnTemplate: React.ReactNode;\n}\n\n// This is an empty virtual component used to allow users to define column\n// properties in daouy.\nexport function TableColumn(_props: TableColumnProps) {\n return null;\n}\n\nexport interface TableValueProps {\n className?: string;\n}\n\nexport function TableValue(props: TableValueProps) {\n const { className } = props;\n const column = useSelector(\"currentColumn\");\n return <div className={className}>{column?.toString() ?? \"\"}</div>;\n}\n\n/**\n * Wrapper used to consume internal canvas props\n */\nfunction ColumnWrapper(props: { children: React.ReactNode }) {\n return props.children as React.ReactElement | null;\n}\n\nexport interface TableWrapperProps {\n className?: string;\n items: Array<any>;\n columns: React.ReactNode;\n size?: string;\n pagination?: boolean;\n onSelect?: (record: any) => void;\n}\n\nexport function TableWrapper(props: TableWrapperProps) {\n const { className, items, columns, size, onSelect, pagination } = props;\n\n // Daouy Studio Canvas currently renders items in a slightly different way than the generated code:\n // - In the studio:\n // - The `columns` prop value is an array of nested react <Column /> nodes.\n // - In the generated code (preview mode):\n // - The `columns` prop value is a React Node with a `children` property that contains\n // an array of the nested react <Column /> components.\n const tableColumns = (columns as any)?.props?.children ?? (columns as any);\n\n // Convert the props.columns slot children to an array of column definitions\n const columnDefinitions = React.useMemo(() => {\n return React.Children.map(\n tableColumns,\n (column: { props: TableColumnProps }, columnIndex) => {\n if (!column) {\n return undefined;\n }\n\n const { columnTemplate, title, dataIndex, ...rest } = column.props;\n\n const columnDefinition = {\n columnIndex,\n title,\n dataIndex,\n key: columnIndex,\n render: (value: any, record: any, rowIndex: any) => {\n return (\n <DataProvider name=\"currentRow\" data={record}>\n <DataProvider name=\"currentRowIndex\" data={rowIndex}>\n <DataProvider name=\"currentColumn\" data={value}>\n {repeatedElement(\n rowIndex,\n <ColumnWrapper {...rest}>{columnTemplate}</ColumnWrapper>\n )}\n </DataProvider>\n </DataProvider>\n </DataProvider>\n );\n },\n };\n\n return columnDefinition;\n }\n ).filter(Boolean);\n }, [tableColumns]);\n\n return (\n <Table\n className={className}\n columns={columnDefinitions}\n dataSource={items}\n size={size as SizeType}\n onRow={(record) => {\n return {\n onMouseUp: () => {\n return onSelect?.(record.id);\n },\n };\n }}\n pagination={pagination ? undefined : pagination}\n rowKey={\"id\"}\n />\n );\n}\n\nconst DEFAULT_ITEMS = [\n {\n name: \"John Brown\",\n age: 19,\n address: \"New York No. 1 Lake Park\",\n tags: [\"student\", \"developer\"],\n },\n {\n name: \"Jim Green\",\n age: 42,\n address: \"London No. 1 Lake Park\",\n tags: [\"teacher\"],\n },\n {\n name: \"Joe Black\",\n age: 32,\n address: \"Sidney No. 1 Lake Park\",\n tags: [\"cool\", \"teacher\"],\n },\n];\n\nfunction capitalize(input: string) {\n return input.charAt(0).toUpperCase() + input.slice(1);\n}\n\nexport const tableMeta: ComponentMeta<TableWrapperProps> = {\n name: \"AntdTable\",\n displayName: \"Antd Table\",\n props: {\n items: {\n type: \"array\",\n description:\n \"The data to display in the table, as a list of objects (one object per row)\",\n defaultValue: DEFAULT_ITEMS,\n },\n\n columns: {\n type: \"slot\",\n allowedComponents: [\"AntdTableColumn\"],\n defaultValue: Object.keys(DEFAULT_ITEMS[0]).map((columnName) => ({\n type: \"component\",\n name: \"AntdTableColumn\",\n props: {\n title: capitalize(columnName),\n dataIndex: columnName,\n },\n })),\n },\n\n size: {\n type: \"choice\",\n options: [\"large\", \"middle\", \"small\"],\n defaultValueHint: \"large\",\n },\n\n pagination: {\n type: \"boolean\",\n defaultValueHint: true,\n },\n },\n\n importPath: \"@daouypkgs/antd/skinny/registerTable\",\n importName: \"TableWrapper\",\n};\n\nexport const tableColumnMeta: ComponentMeta<TableColumnProps> = {\n name: \"AntdTableColumn\",\n parentComponentName: \"AntdTable\",\n providesData: true,\n props: {\n title: {\n type: \"string\",\n defaultValue: \"Name\",\n },\n\n dataIndex: {\n type: \"string\",\n defaultValue: \"name\",\n description:\n \"The field to show. The table accepts some data as a list of objects, and this is the name of the field in those objects that this column will display.\",\n },\n\n columnTemplate: {\n type: \"slot\",\n defaultValue: {\n type: \"vbox\",\n styles: {\n padding: 0,\n },\n children: [\n {\n type: \"component\",\n name: \"AntdTableValue\",\n },\n ],\n },\n },\n },\n\n importPath: \"@daouypkgs/antd/skinny/registerTable\",\n importName: \"TableColumn\",\n};\n\nexport const tableValueMeta: ComponentMeta<TableValueProps> = {\n name: \"AntdTableValue\",\n parentComponentName: \"AntdTableColumn\",\n props: {},\n importPath: \"@daouypkgs/antd/skinny/registerTable\",\n importName: \"TableValue\",\n};\n\nexport function registerTable(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableWrapperProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableWrapper, customMeta ?? tableMeta);\n}\n\nexport function registerTableColumn(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableColumnProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableColumn, customMeta ?? tableColumnMeta);\n}\n\nexport function registerTableValue(\n loader?: Registerable,\n customMeta?: ComponentMeta<TableValueProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TableValue, customMeta ?? tableValueMeta);\n}\n"],"names":["_a"],"mappings":"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"}