@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,390 @@
1
+ 'use strict';
2
+
3
+ var registerComponent = require('@daouy/host/registerComponent');
4
+ var antd = require('antd');
5
+ var React = require('react');
6
+ var customControls = require('./customControls-fb0b7e5f.cjs.js');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var registerComponent__default = /*#__PURE__*/_interopDefault(registerComponent);
11
+ var React__default = /*#__PURE__*/_interopDefault(React);
12
+
13
+ var __defProp = Object.defineProperty;
14
+ var __defProps = Object.defineProperties;
15
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
16
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
17
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
18
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
19
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
20
+ var __spreadValues = (a, b) => {
21
+ for (var prop in b || (b = {}))
22
+ if (__hasOwnProp.call(b, prop))
23
+ __defNormalProp(a, prop, b[prop]);
24
+ if (__getOwnPropSymbols)
25
+ for (var prop of __getOwnPropSymbols(b)) {
26
+ if (__propIsEnum.call(b, prop))
27
+ __defNormalProp(a, prop, b[prop]);
28
+ }
29
+ return a;
30
+ };
31
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
32
+ var __objRest = (source, exclude) => {
33
+ var target = {};
34
+ for (var prop in source)
35
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
36
+ target[prop] = source[prop];
37
+ if (source != null && __getOwnPropSymbols)
38
+ for (var prop of __getOwnPropSymbols(source)) {
39
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
40
+ target[prop] = source[prop];
41
+ }
42
+ return target;
43
+ };
44
+ const TabPane = antd.Tabs.TabPane;
45
+ const tabPaneMeta = {
46
+ name: "AntdTabPane",
47
+ displayName: "Antd Tab Pane",
48
+ props: {
49
+ tab: {
50
+ type: "slot",
51
+ defaultValue: [
52
+ {
53
+ type: "text",
54
+ value: "Tab"
55
+ }
56
+ ]
57
+ },
58
+ key: {
59
+ type: "string",
60
+ description: "Unique TabPane's key",
61
+ defaultValue: "tabPaneKey"
62
+ },
63
+ closable: {
64
+ type: "boolean",
65
+ description: "Wether the tab can be closed or not. Only works for editable tabs",
66
+ defaultValueHint: true
67
+ },
68
+ disabled: {
69
+ type: "boolean",
70
+ description: "Disabled state of tab",
71
+ defaultValueHint: false
72
+ },
73
+ forceRender: {
74
+ type: "boolean",
75
+ description: "Forced render of content in tabs, not lazy render after clicking on tabs",
76
+ defaultValueHint: false
77
+ },
78
+ closeIcon: {
79
+ type: "slot",
80
+ hidePlaceholder: true
81
+ },
82
+ children: {
83
+ type: "slot",
84
+ defaultValue: [
85
+ {
86
+ type: "text",
87
+ value: "Tab Content"
88
+ }
89
+ ]
90
+ }
91
+ },
92
+ parentComponentName: "AntdTabs",
93
+ importPath: "@daouypkgs/antd/skinny/registerTabs",
94
+ importName: "TabPane"
95
+ };
96
+ function registerTabPane(loader, customTabPaneMeta) {
97
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : registerComponent__default.default(...args);
98
+ doRegisterComponent(TabPane, customTabPaneMeta != null ? customTabPaneMeta : tabPaneMeta);
99
+ }
100
+ function Tabs(props) {
101
+ const _a = props, { leftTabBarExtraContent, rightTabBarExtraContent } = _a, otherProps = __objRest(_a, ["leftTabBarExtraContent", "rightTabBarExtraContent"]);
102
+ return /* @__PURE__ */ React__default.default.createElement(
103
+ antd.Tabs,
104
+ __spreadProps(__spreadValues({}, otherProps), {
105
+ tabBarExtraContent: {
106
+ left: leftTabBarExtraContent,
107
+ right: rightTabBarExtraContent
108
+ }
109
+ })
110
+ );
111
+ }
112
+ function NavigateTabs({ componentProps, studioOps }) {
113
+ const tabPanes = [];
114
+ customControls.traverseReactEltTree(componentProps.children, (elt) => {
115
+ if ((elt == null ? void 0 : elt.type) === TabPane && typeof (elt == null ? void 0 : elt.key) === "string") {
116
+ tabPanes.push(elt.key);
117
+ }
118
+ });
119
+ const activeKey = componentProps.activeKey;
120
+ const currTabPos = activeKey ? tabPanes.findIndex((tabKey) => {
121
+ return tabKey === activeKey;
122
+ }) : 0;
123
+ return /* @__PURE__ */ React__default.default.createElement(
124
+ "div",
125
+ {
126
+ style: {
127
+ width: "100%",
128
+ display: "flex",
129
+ flexDirection: "row",
130
+ gap: "10px",
131
+ justifyContent: "space-between"
132
+ }
133
+ },
134
+ /* @__PURE__ */ React__default.default.createElement(
135
+ antd.Button,
136
+ {
137
+ style: { width: "100%" },
138
+ onClick: () => {
139
+ if (tabPanes.length > 0) {
140
+ const prevTabPos = (currTabPos - 1 + tabPanes.length) % tabPanes.length;
141
+ studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });
142
+ }
143
+ }
144
+ },
145
+ "Prev tab"
146
+ ),
147
+ /* @__PURE__ */ React__default.default.createElement(
148
+ antd.Button,
149
+ {
150
+ style: { width: "100%" },
151
+ onClick: () => {
152
+ if (tabPanes.length > 0) {
153
+ const nextTabPos = (currTabPos + 1) % tabPanes.length;
154
+ studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });
155
+ }
156
+ }
157
+ },
158
+ "Next tab"
159
+ )
160
+ );
161
+ }
162
+ function OutlineMessage() {
163
+ return /* @__PURE__ */ React__default.default.createElement("div", null, "* To re-arrange tab panes, use the Outline panel");
164
+ }
165
+ function getActiveKeyOptions(props) {
166
+ const options = /* @__PURE__ */ new Set();
167
+ customControls.traverseReactEltTree(props.children, (elt) => {
168
+ if ((elt == null ? void 0 : elt.type) === TabPane && typeof (elt == null ? void 0 : elt.key) === "string") {
169
+ options.add(elt.key);
170
+ }
171
+ });
172
+ return Array.from(options.keys());
173
+ }
174
+ const tabsMeta = {
175
+ name: "AntdTabs",
176
+ displayName: "Antd Tabs",
177
+ props: {
178
+ type: {
179
+ type: "choice",
180
+ options: ["line", "card", "editable-card"],
181
+ defaultValueHint: "line",
182
+ description: "Basic style of tabs"
183
+ },
184
+ addIcon: {
185
+ type: "slot",
186
+ hidePlaceholder: true
187
+ },
188
+ animated: {
189
+ type: "object",
190
+ hidden: (props) => props.tabPosition !== "top" && !!props.tabPosition,
191
+ defaultValueHint: { inkBar: true, tabPane: false },
192
+ description: "Whether to change tabs with animation. Can be either a boolean or specify for inkBar and tabPane"
193
+ },
194
+ hideAdd: {
195
+ type: "boolean",
196
+ hidden: (props) => props.type !== "editable-card",
197
+ defaultValueHint: false,
198
+ description: "Hide plus icon or not"
199
+ },
200
+ moreIcon: {
201
+ type: "slot",
202
+ hidePlaceholder: true
203
+ },
204
+ size: {
205
+ type: "choice",
206
+ options: ["large", "default", "small"],
207
+ defaultValueHint: "default",
208
+ description: "Preset tab bar size"
209
+ },
210
+ tabPosition: {
211
+ type: "choice",
212
+ options: ["top", "right", "bottom", "left"],
213
+ defaultValueHint: "top",
214
+ description: "Position of tabs"
215
+ },
216
+ tabBarGutter: {
217
+ type: "number",
218
+ description: "The gap between tabs"
219
+ },
220
+ centered: {
221
+ type: "boolean",
222
+ description: "Centers tabs",
223
+ defaultValueHint: false
224
+ },
225
+ leftTabBarExtraContent: {
226
+ type: "slot",
227
+ hidePlaceholder: true
228
+ },
229
+ rightTabBarExtraContent: {
230
+ type: "slot",
231
+ hidePlaceholder: true
232
+ },
233
+ tabBarStyle: {
234
+ type: "object",
235
+ description: "CSS for the Tab Bar style"
236
+ },
237
+ activeKey: {
238
+ type: "choice",
239
+ editOnly: true,
240
+ description: "Initial active TabPane's key",
241
+ options: getActiveKeyOptions
242
+ },
243
+ onChange: {
244
+ type: "eventHandler",
245
+ argTypes: [
246
+ {
247
+ name: "activeKey",
248
+ type: {
249
+ type: "choice",
250
+ options: getActiveKeyOptions
251
+ }
252
+ }
253
+ ]
254
+ },
255
+ children: {
256
+ type: "slot",
257
+ allowedComponents: ["AntdTabPane"],
258
+ defaultValue: [
259
+ {
260
+ type: "component",
261
+ name: "AntdTabPane",
262
+ props: {
263
+ key: "1",
264
+ tab: [
265
+ {
266
+ type: "text",
267
+ value: "Tab"
268
+ }
269
+ ],
270
+ children: [
271
+ {
272
+ type: "text",
273
+ value: "Tab content"
274
+ }
275
+ ]
276
+ }
277
+ },
278
+ {
279
+ type: "component",
280
+ name: "AntdTabPane",
281
+ props: {
282
+ key: "2",
283
+ tab: [
284
+ {
285
+ type: "text",
286
+ value: "Tab"
287
+ }
288
+ ],
289
+ children: [
290
+ {
291
+ type: "text",
292
+ value: "Tab content"
293
+ }
294
+ ]
295
+ }
296
+ }
297
+ ]
298
+ }
299
+ },
300
+ states: {
301
+ activeKey: {
302
+ type: "writable",
303
+ variableType: "array",
304
+ valueProp: "activeKey",
305
+ onChangeProp: "onChange"
306
+ }
307
+ },
308
+ actions: [
309
+ {
310
+ type: "custom-action",
311
+ control: NavigateTabs
312
+ },
313
+ {
314
+ type: "button-action",
315
+ label: "Add new tab",
316
+ onClick: ({ componentProps, studioOps }) => {
317
+ const generateNewKey = () => {
318
+ const keysSet = /* @__PURE__ */ new Set();
319
+ customControls.traverseReactEltTree(componentProps.children, (elt) => {
320
+ if ((elt == null ? void 0 : elt.type) === TabPane && typeof (elt == null ? void 0 : elt.key) === "string") {
321
+ keysSet.add(elt.key);
322
+ }
323
+ });
324
+ for (let keyCandidate = 1; keyCandidate <= keysSet.size + 1; keyCandidate++) {
325
+ const strKey = keyCandidate.toString();
326
+ if (!keysSet.has(strKey)) {
327
+ return strKey;
328
+ }
329
+ }
330
+ return void 0;
331
+ };
332
+ const tabKey = generateNewKey();
333
+ studioOps.appendToSlot(
334
+ {
335
+ type: "component",
336
+ name: "AntdTabPane",
337
+ props: {
338
+ key: tabKey
339
+ }
340
+ },
341
+ "children"
342
+ );
343
+ studioOps.updateProps({ activeKey: tabKey });
344
+ }
345
+ },
346
+ {
347
+ type: "button-action",
348
+ label: "Delete current tab",
349
+ onClick: ({ componentProps, studioOps }) => {
350
+ if (componentProps.activeKey) {
351
+ const tabPanes = [];
352
+ customControls.traverseReactEltTree(componentProps.children, (elt) => {
353
+ if ((elt == null ? void 0 : elt.type) === TabPane && typeof (elt == null ? void 0 : elt.key) === "string") {
354
+ tabPanes.push(elt.key);
355
+ }
356
+ });
357
+ const activeKey = componentProps.activeKey;
358
+ const currTabPos = tabPanes.findIndex((tabKey) => {
359
+ return tabKey === activeKey;
360
+ });
361
+ if (currTabPos !== -1) {
362
+ studioOps.removeFromSlotAt(currTabPos, "children");
363
+ if (tabPanes.length - 1 > 0) {
364
+ const prevTabPos = (currTabPos - 1 + tabPanes.length) % tabPanes.length;
365
+ studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });
366
+ }
367
+ }
368
+ }
369
+ }
370
+ },
371
+ {
372
+ type: "custom-action",
373
+ control: OutlineMessage
374
+ }
375
+ ],
376
+ importPath: "@daouypkgs/antd/skinny/registerTabs",
377
+ importName: "Tabs"
378
+ };
379
+ function registerTabs(loader, customTabsMeta) {
380
+ const doRegisterComponent = (...args) => loader ? loader.registerComponent(...args) : registerComponent__default.default(...args);
381
+ doRegisterComponent(Tabs, customTabsMeta != null ? customTabsMeta : tabsMeta);
382
+ }
383
+
384
+ exports.TabPane = TabPane;
385
+ exports.Tabs = Tabs;
386
+ exports.registerTabPane = registerTabPane;
387
+ exports.registerTabs = registerTabs;
388
+ exports.tabPaneMeta = tabPaneMeta;
389
+ exports.tabsMeta = tabsMeta;
390
+ //# sourceMappingURL=registerTabs.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"registerTabs.cjs.js","sources":["../src/registerTabs.tsx"],"sourcesContent":["import registerComponent, {\n ActionProps,\n ComponentMeta,\n} from \"@daouy/host/registerComponent\";\nimport { Button, Tabs as AntdTabs } from \"antd\";\nimport type { TabPaneProps, TabsProps as AntdTabsProps } from \"antd/es/tabs\";\nimport React from \"react\";\nimport { traverseReactEltTree } from \"./customControls\";\nimport { Registerable } from \"./registerable\";\n\nexport const TabPane = AntdTabs.TabPane;\n\nexport const tabPaneMeta: ComponentMeta<TabPaneProps> = {\n name: \"AntdTabPane\",\n displayName: \"Antd Tab Pane\",\n props: {\n tab: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n },\n key: {\n type: \"string\",\n description: \"Unique TabPane's key\",\n defaultValue: \"tabPaneKey\",\n },\n closable: {\n type: \"boolean\",\n description:\n \"Wether the tab can be closed or not. Only works for editable tabs\",\n defaultValueHint: true,\n },\n disabled: {\n type: \"boolean\",\n description: \"Disabled state of tab\",\n defaultValueHint: false,\n },\n forceRender: {\n type: \"boolean\",\n description:\n \"Forced render of content in tabs, not lazy render after clicking on tabs\",\n defaultValueHint: false,\n },\n closeIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n children: {\n type: \"slot\",\n defaultValue: [\n {\n type: \"text\",\n value: \"Tab Content\",\n },\n ],\n },\n },\n parentComponentName: \"AntdTabs\",\n importPath: \"@daouypkgs/antd/skinny/registerTabs\",\n importName: \"TabPane\",\n};\n\nexport function registerTabPane(\n loader?: Registerable,\n customTabPaneMeta?: ComponentMeta<TabPaneProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(TabPane, customTabPaneMeta ?? tabPaneMeta);\n}\n\nexport type TabsProps = Omit<AntdTabsProps, \"tabBarExtraContent\"> & {\n leftTabBarExtraContent?: React.ReactNode;\n rightTabBarExtraContent?: React.ReactNode;\n};\n\nexport function Tabs(props: TabsProps) {\n const { leftTabBarExtraContent, rightTabBarExtraContent, ...otherProps } =\n props;\n return (\n <AntdTabs\n {...otherProps}\n tabBarExtraContent={{\n left: leftTabBarExtraContent,\n right: rightTabBarExtraContent,\n }}\n />\n );\n}\n\nfunction NavigateTabs({ componentProps, studioOps }: ActionProps<any>) {\n const tabPanes: string[] = [];\n traverseReactEltTree(componentProps.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n tabPanes.push(elt.key);\n }\n });\n\n const activeKey = componentProps.activeKey;\n const currTabPos = activeKey\n ? tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n })\n : 0;\n\n return (\n <div\n style={{\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"row\",\n gap: \"10px\",\n justifyContent: \"space-between\",\n }}\n >\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n if (tabPanes.length > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }}\n >\n Prev tab\n </Button>\n <Button\n style={{ width: \"100%\" }}\n onClick={() => {\n if (tabPanes.length > 0) {\n const nextTabPos = (currTabPos + 1) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[nextTabPos] });\n }\n }}\n >\n Next tab\n </Button>\n </div>\n );\n}\n\nfunction OutlineMessage() {\n return <div>* To re-arrange tab panes, use the Outline panel</div>;\n}\n\nfunction getActiveKeyOptions(props: TabsProps) {\n const options = new Set<string>();\n traverseReactEltTree(props.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n options.add(elt.key);\n }\n });\n return Array.from(options.keys());\n}\n\nexport const tabsMeta: ComponentMeta<TabsProps> = {\n name: \"AntdTabs\",\n displayName: \"Antd Tabs\",\n props: {\n type: {\n type: \"choice\",\n options: [\"line\", \"card\", \"editable-card\"],\n defaultValueHint: \"line\",\n description: \"Basic style of tabs\",\n },\n addIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n animated: {\n type: \"object\",\n hidden: (props) => props.tabPosition !== \"top\" && !!props.tabPosition,\n defaultValueHint: { inkBar: true, tabPane: false },\n description:\n \"Whether to change tabs with animation. Can be either a boolean or specify for inkBar and tabPane\",\n },\n hideAdd: {\n type: \"boolean\",\n hidden: (props) => props.type !== \"editable-card\",\n defaultValueHint: false,\n description: \"Hide plus icon or not\",\n },\n moreIcon: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n size: {\n type: \"choice\",\n options: [\"large\", \"default\", \"small\"],\n defaultValueHint: \"default\",\n description: \"Preset tab bar size\",\n },\n tabPosition: {\n type: \"choice\",\n options: [\"top\", \"right\", \"bottom\", \"left\"],\n defaultValueHint: \"top\",\n description: \"Position of tabs\",\n },\n tabBarGutter: {\n type: \"number\",\n description: \"The gap between tabs\",\n },\n centered: {\n type: \"boolean\",\n description: \"Centers tabs\",\n defaultValueHint: false,\n },\n leftTabBarExtraContent: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n rightTabBarExtraContent: {\n type: \"slot\",\n hidePlaceholder: true,\n },\n tabBarStyle: {\n type: \"object\",\n description: \"CSS for the Tab Bar style\",\n },\n activeKey: {\n type: \"choice\",\n editOnly: true,\n description: \"Initial active TabPane's key\",\n options: getActiveKeyOptions,\n },\n onChange: {\n type: \"eventHandler\",\n argTypes: [\n {\n name: \"activeKey\",\n type: {\n type: \"choice\",\n options: getActiveKeyOptions,\n },\n },\n ],\n },\n children: {\n type: \"slot\",\n allowedComponents: [\"AntdTabPane\"],\n defaultValue: [\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"1\",\n tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: \"2\",\n tab: [\n {\n type: \"text\",\n value: \"Tab\",\n },\n ],\n children: [\n {\n type: \"text\",\n value: \"Tab content\",\n },\n ],\n },\n },\n ],\n },\n },\n states: {\n activeKey: {\n type: \"writable\",\n variableType: \"array\",\n valueProp: \"activeKey\",\n onChangeProp: \"onChange\",\n },\n },\n actions: [\n {\n type: \"custom-action\",\n control: NavigateTabs,\n },\n {\n type: \"button-action\",\n label: \"Add new tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n // Get the first positive integer that isn't already a key\n const generateNewKey = () => {\n const keysSet = new Set<string>();\n traverseReactEltTree(componentProps.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n keysSet.add(elt.key);\n }\n });\n\n for (\n let keyCandidate = 1;\n keyCandidate <= keysSet.size + 1;\n keyCandidate++\n ) {\n const strKey = keyCandidate.toString();\n if (!keysSet.has(strKey)) {\n return strKey;\n }\n }\n\n return undefined;\n };\n\n const tabKey = generateNewKey();\n studioOps.appendToSlot(\n {\n type: \"component\",\n name: \"AntdTabPane\",\n props: {\n key: tabKey,\n },\n },\n \"children\"\n );\n studioOps.updateProps({ activeKey: tabKey });\n },\n },\n {\n type: \"button-action\",\n label: \"Delete current tab\",\n onClick: ({ componentProps, studioOps }: ActionProps<any>) => {\n if (componentProps.activeKey) {\n const tabPanes: string[] = [];\n traverseReactEltTree(componentProps.children, (elt) => {\n if (elt?.type === TabPane && typeof elt?.key === \"string\") {\n tabPanes.push(elt.key);\n }\n });\n\n const activeKey = componentProps.activeKey;\n const currTabPos = tabPanes.findIndex((tabKey) => {\n return tabKey === activeKey;\n });\n\n if (currTabPos !== -1) {\n studioOps.removeFromSlotAt(currTabPos, \"children\");\n if (tabPanes.length - 1 > 0) {\n const prevTabPos =\n (currTabPos - 1 + tabPanes.length) % tabPanes.length;\n studioOps.updateProps({ activeKey: tabPanes[prevTabPos] });\n }\n }\n }\n },\n },\n {\n type: \"custom-action\",\n control: OutlineMessage,\n },\n ],\n importPath: \"@daouypkgs/antd/skinny/registerTabs\",\n importName: \"Tabs\",\n};\n\nexport function registerTabs(\n loader?: Registerable,\n customTabsMeta?: ComponentMeta<TabsProps>\n) {\n const doRegisterComponent: typeof registerComponent = (...args) =>\n loader ? loader.registerComponent(...args) : registerComponent(...args);\n doRegisterComponent(Tabs, customTabsMeta ?? tabsMeta);\n}\n"],"names":["AntdTabs","registerComponent","React","traverseReactEltTree","Button"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import { ComponentMeta } from "@daouy/host/registerComponent";
2
+ import type { TabPaneProps, TabsProps as AntdTabsProps } from "antd/es/tabs";
3
+ import React from "react";
4
+ import { Registerable } from "./registerable";
5
+ export declare const TabPane: React.FC<TabPaneProps>;
6
+ export declare const tabPaneMeta: ComponentMeta<TabPaneProps>;
7
+ export declare function registerTabPane(loader?: Registerable, customTabPaneMeta?: ComponentMeta<TabPaneProps>): void;
8
+ export type TabsProps = Omit<AntdTabsProps, "tabBarExtraContent"> & {
9
+ leftTabBarExtraContent?: React.ReactNode;
10
+ rightTabBarExtraContent?: React.ReactNode;
11
+ };
12
+ export declare function Tabs(props: TabsProps): React.JSX.Element;
13
+ export declare const tabsMeta: ComponentMeta<TabsProps>;
14
+ export declare function registerTabs(loader?: Registerable, customTabsMeta?: ComponentMeta<TabsProps>): void;