@easy-editor/materials-dashboard-button 0.0.2

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 (44) hide show
  1. package/.vite/plugins/vite-plugin-external-deps.ts +224 -0
  2. package/.vite/plugins/vite-plugin-material-dev.ts +218 -0
  3. package/CHANGELOG.md +7 -0
  4. package/LICENSE +9 -0
  5. package/dist/component.esm.js +97 -0
  6. package/dist/component.esm.js.map +1 -0
  7. package/dist/component.js +106 -0
  8. package/dist/component.js.map +1 -0
  9. package/dist/component.min.js +2 -0
  10. package/dist/component.min.js.map +1 -0
  11. package/dist/index.cjs +394 -0
  12. package/dist/index.cjs.map +1 -0
  13. package/dist/index.esm.js +391 -0
  14. package/dist/index.esm.js.map +1 -0
  15. package/dist/index.js +399 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/index.min.js +2 -0
  18. package/dist/index.min.js.map +1 -0
  19. package/dist/meta.esm.js +298 -0
  20. package/dist/meta.esm.js.map +1 -0
  21. package/dist/meta.js +309 -0
  22. package/dist/meta.js.map +1 -0
  23. package/dist/meta.min.js +2 -0
  24. package/dist/meta.min.js.map +1 -0
  25. package/dist/src/component.d.ts +26 -0
  26. package/dist/src/configure.d.ts +7 -0
  27. package/dist/src/constants.d.ts +16 -0
  28. package/dist/src/index.d.ts +6 -0
  29. package/dist/src/meta.d.ts +7 -0
  30. package/dist/src/snippets.d.ts +7 -0
  31. package/package.json +64 -0
  32. package/rollup.config.js +222 -0
  33. package/src/component.module.css +119 -0
  34. package/src/component.tsx +80 -0
  35. package/src/configure.ts +258 -0
  36. package/src/constants.ts +18 -0
  37. package/src/index.tsx +7 -0
  38. package/src/meta.ts +28 -0
  39. package/src/snippets.ts +49 -0
  40. package/src/type.d.ts +8 -0
  41. package/tsconfig.build.json +12 -0
  42. package/tsconfig.json +9 -0
  43. package/tsconfig.test.json +7 -0
  44. package/vite.config.ts +54 -0
package/dist/index.js ADDED
@@ -0,0 +1,399 @@
1
+ /* @easy-editor/materials-dashboard-button v0.0.1 */
2
+ (function (global, factory) {
3
+ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react/jsx-runtime')) :
4
+ typeof define === 'function' && define.amd ? define(['exports', 'react/jsx-runtime'], factory) :
5
+ (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.EasyEditorMaterialsButton = {}, global.jsxRuntime));
6
+ })(this, (function (exports, jsxRuntime) { 'use strict';
7
+
8
+ function r(e){var t,f,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=" "),n+=f);}else for(f in e)e[f]&&(n&&(n+=" "),n+=f);return n}function clsx(){for(var e,t,f=0,n="",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=" "),n+=t);return n}
9
+
10
+ function cn(...inputs) {
11
+ return clsx(inputs);
12
+ }
13
+
14
+ const MaterialGroup = {
15
+ INTERACTION: 'interaction'};
16
+
17
+ function styleInject(css, ref) {
18
+ if (ref === void 0) ref = {};
19
+ var insertAt = ref.insertAt;
20
+ if (typeof document === 'undefined') {
21
+ return;
22
+ }
23
+ var head = document.head || document.getElementsByTagName('head')[0];
24
+ var style = document.createElement('style');
25
+ style.type = 'text/css';
26
+ if (insertAt === 'top') {
27
+ if (head.firstChild) {
28
+ head.insertBefore(style, head.firstChild);
29
+ } else {
30
+ head.appendChild(style);
31
+ }
32
+ } else {
33
+ head.appendChild(style);
34
+ }
35
+ if (style.styleSheet) {
36
+ style.styleSheet.cssText = css;
37
+ } else {
38
+ style.appendChild(document.createTextNode(css));
39
+ }
40
+ }
41
+
42
+ var css_248z = ".component-module__button___Fmad4{align-items:center;border:none;cursor:pointer;display:inline-flex;font-weight:500;gap:8px;height:100%;justify-content:center;transition:all .2s ease;user-select:none;white-space:nowrap;width:100%}.component-module__button___Fmad4:disabled{cursor:not-allowed;opacity:.5}.component-module__sizeSmall___pu9QB{border-radius:4px;font-size:14px;padding:0 12px}.component-module__sizeMedium___YP7-2{border-radius:6px;font-size:14px;padding:0 16px}.component-module__sizeLarge___VQtJb{border-radius:8px;font-size:16px;padding:0 24px}.component-module__variantPrimary___Bk92-{background:linear-gradient(135deg,#00d4ff,#09c);box-shadow:0 2px 8px rgba(0,212,255,.3);color:#fff}.component-module__variantPrimary___Bk92-:hover:not(:disabled){box-shadow:0 4px 12px rgba(0,212,255,.4);transform:translateY(-1px)}.component-module__variantPrimary___Bk92-:active:not(:disabled){transform:translateY(0)}.component-module__variantSecondary___y8OzM{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff}.component-module__variantSecondary___y8OzM:hover:not(:disabled){background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.component-module__variantOutline___ozyNM{background:transparent;border:1px solid #00d4ff;color:#00d4ff}.component-module__variantOutline___ozyNM:hover:not(:disabled){background:rgba(0,212,255,.1)}.component-module__variantGhost___nLyDj{background:transparent;color:#fff}.component-module__variantGhost___nLyDj:hover:not(:disabled){background:hsla(0,0%,100%,.1)}.component-module__variantDanger___5iQMR{background:linear-gradient(135deg,#ff4d4f,#c33);box-shadow:0 2px 8px rgba(255,77,79,.3);color:#fff}.component-module__variantDanger___5iQMR:hover:not(:disabled){box-shadow:0 4px 12px rgba(255,77,79,.4);transform:translateY(-1px)}.component-module__glow___deXRv{animation:component-module__buttonGlow___xuuYr 2s ease-in-out infinite}@keyframes component-module__buttonGlow___xuuYr{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor}}";
43
+ var styles = {"button":"component-module__button___Fmad4","sizeSmall":"component-module__sizeSmall___pu9QB","sizeMedium":"component-module__sizeMedium___YP7-2","sizeLarge":"component-module__sizeLarge___VQtJb","variantPrimary":"component-module__variantPrimary___Bk92-","variantSecondary":"component-module__variantSecondary___y8OzM","variantOutline":"component-module__variantOutline___ozyNM","variantGhost":"component-module__variantGhost___nLyDj","variantDanger":"component-module__variantDanger___5iQMR","glow":"component-module__glow___deXRv"};
44
+ styleInject(css_248z);
45
+
46
+ /**
47
+ * Button Component
48
+ * 按钮组件
49
+ */
50
+
51
+ const getSizeClass = size => {
52
+ switch (size) {
53
+ case 'small':
54
+ return styles.sizeSmall;
55
+ case 'medium':
56
+ return styles.sizeMedium;
57
+ case 'large':
58
+ return styles.sizeLarge;
59
+ default:
60
+ return styles.sizeMedium;
61
+ }
62
+ };
63
+ const getVariantClass = variant => {
64
+ switch (variant) {
65
+ case 'primary':
66
+ return styles.variantPrimary;
67
+ case 'secondary':
68
+ return styles.variantSecondary;
69
+ case 'outline':
70
+ return styles.variantOutline;
71
+ case 'ghost':
72
+ return styles.variantGhost;
73
+ case 'danger':
74
+ return styles.variantDanger;
75
+ default:
76
+ return styles.variantPrimary;
77
+ }
78
+ };
79
+ const Button = ({
80
+ ref,
81
+ text = '按钮',
82
+ variant = 'primary',
83
+ size = 'medium',
84
+ disabled = false,
85
+ glowEnable = false,
86
+ onClick,
87
+ style: externalStyle
88
+ }) => {
89
+ const buttonClass = cn(styles.button, getSizeClass(size), getVariantClass(variant), glowEnable && styles.glow);
90
+ return /*#__PURE__*/jsxRuntime.jsx("button", {
91
+ className: buttonClass,
92
+ disabled: disabled,
93
+ onClick: onClick,
94
+ ref: ref,
95
+ style: externalStyle,
96
+ type: "button",
97
+ children: text ? /*#__PURE__*/jsxRuntime.jsx("span", {
98
+ children: text
99
+ }) : null
100
+ });
101
+ };
102
+
103
+ const COMPONENT_NAME = 'EasyEditorMaterialsButton';
104
+ const PACKAGE_NAME = '@easy-editor/materials-dashboard-button';
105
+
106
+ const configure = {
107
+ props: [{
108
+ type: 'group',
109
+ title: '属性',
110
+ setter: 'TabSetter',
111
+ items: [{
112
+ type: 'group',
113
+ key: 'config',
114
+ title: '配置',
115
+ setter: {
116
+ componentName: 'CollapseSetter',
117
+ props: {
118
+ icon: false
119
+ }
120
+ },
121
+ items: [
122
+ {
123
+ name: 'id',
124
+ title: 'ID',
125
+ setter: 'NodeIdSetter',
126
+ extraProps: {
127
+ label: false
128
+ }
129
+ }, {
130
+ name: 'title',
131
+ title: '标题',
132
+ setter: 'StringSetter',
133
+ extraProps: {
134
+ getValue(target) {
135
+ return target.getExtraPropValue('title');
136
+ },
137
+ setValue(target, value) {
138
+ target.setExtraPropValue('title', value);
139
+ }
140
+ }
141
+ }, {
142
+ type: 'group',
143
+ title: '基础属性',
144
+ setter: {
145
+ componentName: 'CollapseSetter',
146
+ props: {
147
+ icon: false
148
+ }
149
+ },
150
+ items: [{
151
+ name: 'rect',
152
+ title: '位置尺寸',
153
+ setter: 'RectSetter',
154
+ extraProps: {
155
+ getValue(target) {
156
+ return target.getExtraPropValue('$dashboard.rect');
157
+ },
158
+ setValue(target, value) {
159
+ target.setExtraPropValue('$dashboard.rect', value);
160
+ }
161
+ }
162
+ }]
163
+ },
164
+ {
165
+ type: 'group',
166
+ title: '内容',
167
+ setter: {
168
+ componentName: 'CollapseSetter',
169
+ props: {
170
+ icon: false
171
+ }
172
+ },
173
+ items: [{
174
+ name: 'text',
175
+ title: '按钮文本',
176
+ setter: 'StringSetter',
177
+ extraProps: {
178
+ defaultValue: '按钮'
179
+ }
180
+ }]
181
+ }, {
182
+ type: 'group',
183
+ title: '样式',
184
+ setter: {
185
+ componentName: 'CollapseSetter',
186
+ props: {
187
+ icon: false
188
+ }
189
+ },
190
+ items: [{
191
+ name: 'variant',
192
+ title: '变体',
193
+ setter: {
194
+ componentName: 'SelectSetter',
195
+ props: {
196
+ options: [{
197
+ label: '主要',
198
+ value: 'primary'
199
+ }, {
200
+ label: '次要',
201
+ value: 'secondary'
202
+ }, {
203
+ label: '轮廓',
204
+ value: 'outline'
205
+ }, {
206
+ label: '幽灵',
207
+ value: 'ghost'
208
+ }, {
209
+ label: '危险',
210
+ value: 'danger'
211
+ }]
212
+ }
213
+ },
214
+ extraProps: {
215
+ defaultValue: 'primary'
216
+ }
217
+ }, {
218
+ name: 'size',
219
+ title: '尺寸',
220
+ setter: {
221
+ componentName: 'SelectSetter',
222
+ props: {
223
+ options: [{
224
+ label: '小',
225
+ value: 'small'
226
+ }, {
227
+ label: '中',
228
+ value: 'medium'
229
+ }, {
230
+ label: '大',
231
+ value: 'large'
232
+ }]
233
+ }
234
+ },
235
+ extraProps: {
236
+ defaultValue: 'medium'
237
+ }
238
+ }, {
239
+ name: 'glowEnable',
240
+ title: '发光效果',
241
+ setter: 'SwitchSetter',
242
+ extraProps: {
243
+ defaultValue: false
244
+ }
245
+ }]
246
+ }, {
247
+ type: 'group',
248
+ title: '链接',
249
+ setter: {
250
+ componentName: 'CollapseSetter',
251
+ props: {
252
+ icon: false
253
+ }
254
+ },
255
+ items: [{
256
+ name: 'href',
257
+ title: '链接地址',
258
+ setter: 'StringSetter'
259
+ }, {
260
+ name: 'target',
261
+ title: '打开方式',
262
+ setter: {
263
+ componentName: 'SelectSetter',
264
+ props: {
265
+ options: [{
266
+ label: '新窗口',
267
+ value: '_blank'
268
+ }, {
269
+ label: '当前窗口',
270
+ value: '_self'
271
+ }]
272
+ }
273
+ },
274
+ extraProps: {
275
+ defaultValue: '_blank'
276
+ }
277
+ }]
278
+ }, {
279
+ type: 'group',
280
+ title: '行为',
281
+ setter: {
282
+ componentName: 'CollapseSetter',
283
+ props: {
284
+ icon: false
285
+ }
286
+ },
287
+ items: [{
288
+ name: 'disabled',
289
+ title: '禁用',
290
+ setter: 'SwitchSetter',
291
+ extraProps: {
292
+ defaultValue: false
293
+ }
294
+ }, {
295
+ name: 'loading',
296
+ title: '加载中',
297
+ setter: 'SwitchSetter',
298
+ extraProps: {
299
+ defaultValue: false
300
+ }
301
+ }, {
302
+ name: 'loadingText',
303
+ title: '加载文本',
304
+ setter: 'StringSetter',
305
+ extraProps: {
306
+ defaultValue: '加载中...'
307
+ }
308
+ }]
309
+ }]
310
+ }, {
311
+ type: 'group',
312
+ key: 'data',
313
+ title: '数据',
314
+ items: [{
315
+ name: 'dataBinding',
316
+ title: '数据绑定',
317
+ setter: 'DataBindingSetter'
318
+ }]
319
+ }, {
320
+ type: 'group',
321
+ key: 'advanced',
322
+ title: '高级',
323
+ items: [{
324
+ name: 'condition',
325
+ title: '显隐控制',
326
+ setter: 'SwitchSetter',
327
+ extraProps: {
328
+ defaultValue: true,
329
+ supportVariable: true
330
+ }
331
+ }]
332
+ }]
333
+ }],
334
+ component: {},
335
+ supports: {},
336
+ advanced: {}
337
+ };
338
+
339
+ const snippets = [{
340
+ title: '主要按钮',
341
+ screenshot: '',
342
+ schema: {
343
+ componentName: COMPONENT_NAME,
344
+ props: {
345
+ text: '主要按钮',
346
+ variant: 'primary',
347
+ size: 'medium'
348
+ },
349
+ $dashboard: {
350
+ rect: {
351
+ width: 120,
352
+ height: 40
353
+ }
354
+ }
355
+ }
356
+ }, {
357
+ title: '发光按钮',
358
+ screenshot: '',
359
+ schema: {
360
+ componentName: COMPONENT_NAME,
361
+ props: {
362
+ text: '发光按钮',
363
+ variant: 'outline',
364
+ size: 'large',
365
+ glowEnable: true
366
+ },
367
+ $dashboard: {
368
+ rect: {
369
+ width: 140,
370
+ height: 48
371
+ }
372
+ }
373
+ }
374
+ }];
375
+
376
+ var version = "0.0.1";
377
+ var pkg = {
378
+ version: version};
379
+
380
+ const meta = {
381
+ componentName: COMPONENT_NAME,
382
+ title: '按钮',
383
+ group: MaterialGroup.INTERACTION,
384
+ devMode: 'proCode',
385
+ npm: {
386
+ package: PACKAGE_NAME,
387
+ version: pkg.version,
388
+ globalName: COMPONENT_NAME,
389
+ componentName: COMPONENT_NAME
390
+ },
391
+ snippets,
392
+ configure
393
+ };
394
+
395
+ exports.component = Button;
396
+ exports.meta = meta;
397
+
398
+ }));
399
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../shared/src/index.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx","../src/constants.ts","../src/configure.ts","../src/snippets.ts","../src/meta.ts"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","/**\n * Shared types, components and utilities for EasyEditor materials\n * @package @easy-editor/materials-shared\n */\n\n// 物料分组常量\nexport const MaterialGroup = {\n /** 内置 */\n INNER: 'inner',\n /** 基础 */\n BASIC: 'basic',\n /** 图表 */\n CHART: 'chart',\n /** 数据展示 */\n DISPLAY: 'display',\n /** 媒体 */\n MEDIA: 'media',\n /** 交互 */\n INTERACTION: 'interaction',\n /** 地图 */\n MAP: 'map',\n} as const\n\nexport type MaterialGroup = (typeof MaterialGroup)[keyof typeof MaterialGroup]\n\n// 工具函数\nexport { cn } from './lib/utils'\n\nexport * from './types'\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Button Component\n * 按钮组件\n */\n\nimport type { CSSProperties, Ref, MouseEvent } from 'react'\nimport { cn } from '@easy-editor/materials-shared'\nimport styles from './component.module.css'\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger'\nexport type ButtonSize = 'small' | 'medium' | 'large'\n\nexport interface ButtonProps {\n ref?: Ref<HTMLButtonElement>\n /** 按钮文本 */\n text?: string\n /** 按钮变体 */\n variant?: ButtonVariant\n /** 按钮尺寸 */\n size?: ButtonSize\n /** 是否禁用 */\n disabled?: boolean\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 点击事件 */\n onClick?: (e: MouseEvent<HTMLButtonElement>) => void\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst getSizeClass = (size: ButtonSize): string => {\n switch (size) {\n case 'small':\n return styles.sizeSmall\n case 'medium':\n return styles.sizeMedium\n case 'large':\n return styles.sizeLarge\n default:\n return styles.sizeMedium\n }\n}\n\nconst getVariantClass = (variant: ButtonVariant): string => {\n switch (variant) {\n case 'primary':\n return styles.variantPrimary\n case 'secondary':\n return styles.variantSecondary\n case 'outline':\n return styles.variantOutline\n case 'ghost':\n return styles.variantGhost\n case 'danger':\n return styles.variantDanger\n default:\n return styles.variantPrimary\n }\n}\n\nexport const Button: React.FC<ButtonProps> = ({\n ref,\n text = '按钮',\n variant = 'primary',\n size = 'medium',\n disabled = false,\n glowEnable = false,\n onClick,\n style: externalStyle,\n}) => {\n const buttonClass = cn(styles.button, getSizeClass(size), getVariantClass(variant), glowEnable && styles.glow)\n\n return (\n <button className={buttonClass} disabled={disabled} onClick={onClick} ref={ref} style={externalStyle} type='button'>\n {text ? <span>{text}</span> : null}\n </button>\n )\n}\n\nexport default Button\n","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsButtonMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsButtonComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsButton)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsButton'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-button'\n","/**\n * Button Configure\n * 按钮组件配置\n */\n\nimport type { Configure } from '@easy-editor/core'\n\nexport const configure: Configure = {\n props: [\n {\n type: 'group',\n title: '属性',\n setter: 'TabSetter',\n items: [\n {\n type: 'group',\n key: 'config',\n title: '配置',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n // 基础配置\n {\n name: 'id',\n title: 'ID',\n setter: 'NodeIdSetter',\n extraProps: {\n // @ts-expect-error label is not a valid extra prop\n label: false,\n },\n },\n {\n name: 'title',\n title: '标题',\n setter: 'StringSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('title')\n },\n setValue(target, value) {\n target.setExtraPropValue('title', value)\n },\n },\n },\n {\n type: 'group',\n title: '基础属性',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'rect',\n title: '位置尺寸',\n setter: 'RectSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('$dashboard.rect')\n },\n setValue(target, value) {\n target.setExtraPropValue('$dashboard.rect', value)\n },\n },\n },\n ],\n },\n // 组件配置\n {\n type: 'group',\n title: '内容',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'text',\n title: '按钮文本',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '按钮',\n },\n },\n ],\n },\n {\n type: 'group',\n title: '样式',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'variant',\n title: '变体',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '主要', value: 'primary' },\n { label: '次要', value: 'secondary' },\n { label: '轮廓', value: 'outline' },\n { label: '幽灵', value: 'ghost' },\n { label: '危险', value: 'danger' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'primary',\n },\n },\n {\n name: 'size',\n title: '尺寸',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '小', value: 'small' },\n { label: '中', value: 'medium' },\n { label: '大', value: 'large' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'medium',\n },\n },\n {\n name: 'glowEnable',\n title: '发光效果',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n ],\n },\n {\n type: 'group',\n title: '链接',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'href',\n title: '链接地址',\n setter: 'StringSetter',\n },\n {\n name: 'target',\n title: '打开方式',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '新窗口', value: '_blank' },\n { label: '当前窗口', value: '_self' },\n ],\n },\n },\n extraProps: {\n defaultValue: '_blank',\n },\n },\n ],\n },\n {\n type: 'group',\n title: '行为',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'disabled',\n title: '禁用',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'loading',\n title: '加载中',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'loadingText',\n title: '加载文本',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '加载中...',\n },\n },\n ],\n },\n ],\n },\n {\n type: 'group',\n key: 'data',\n title: '数据',\n items: [\n {\n name: 'dataBinding',\n title: '数据绑定',\n setter: 'DataBindingSetter',\n },\n ],\n },\n {\n type: 'group',\n key: 'advanced',\n title: '高级',\n items: [\n {\n name: 'condition',\n title: '显隐控制',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n supportVariable: true,\n },\n },\n ],\n },\n ],\n },\n ],\n component: {},\n supports: {},\n advanced: {},\n}\n\nexport default configure\n","/**\n * Button Snippets\n * 按钮组件代码片段\n */\n\nimport type { Snippet } from '@easy-editor/core'\nimport { COMPONENT_NAME } from './constants'\n\nexport const snippets: Snippet[] = [\n {\n title: '主要按钮',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n text: '主要按钮',\n variant: 'primary',\n size: 'medium',\n },\n $dashboard: {\n rect: {\n width: 120,\n height: 40,\n },\n },\n },\n },\n {\n title: '发光按钮',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n text: '发光按钮',\n variant: 'outline',\n size: 'large',\n glowEnable: true,\n },\n $dashboard: {\n rect: {\n width: 140,\n height: 48,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Button Meta\n * 按钮组件元数据\n */\n\nimport type { ComponentMetadata } from '@easy-editor/core'\nimport { MaterialGroup } from '@easy-editor/materials-shared'\nimport { COMPONENT_NAME, PACKAGE_NAME } from './constants'\nimport configure from './configure'\nimport snippets from './snippets'\nimport pkg from '../package.json'\n\nexport const meta: ComponentMetadata = {\n componentName: COMPONENT_NAME,\n title: '按钮',\n group: MaterialGroup.INTERACTION,\n devMode: 'proCode',\n npm: {\n package: PACKAGE_NAME,\n version: pkg.version,\n globalName: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n },\n snippets,\n configure,\n}\n\nexport default meta\n"],"names":["cn","inputs","clsx","MaterialGroup","INNER","INTERACTION","styleInject","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","getSizeClass","size","styles","sizeSmall","sizeMedium","sizeLarge","getVariantClass","variant","variantPrimary","variantSecondary","variantOutline","variantGhost","variantDanger","Button","text","disabled","glowEnable","onClick","externalStyle","buttonClass","button","glow","_jsx","className","children","COMPONENT_NAME","PACKAGE_NAME","configure","props","title","setter","items","key","componentName","icon","name","extraProps","label","getValue","target","getExtraPropValue","setValue","value","setExtraPropValue","defaultValue","options","supportVariable","component","supports","advanced","snippets","screenshot","schema","$dashboard","rect","width","height","meta","group","devMode","npm","package","version","pkg","globalName"],"mappings":"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","x_google_ignoreList":[0,3]}
@@ -0,0 +1,2 @@
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react/jsx-runtime")):"function"==typeof define&&define.amd?define(["exports","react/jsx-runtime"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).EasyEditorMaterialsButton={},e.jsxRuntime)}(this,function(e,t){"use strict";function o(e){var t,r,a="";if("string"==typeof e||"number"==typeof e)a+=e;else if("object"==typeof e)if(Array.isArray(e)){var n=e.length;for(t=0;t<n;t++)e[t]&&(r=o(e[t]))&&(a&&(a+=" "),a+=r)}else for(r in e)e[r]&&(a&&(a+=" "),a+=r);return a}function r(...e){return function(){for(var e,t,r=0,a="",n=arguments.length;r<n;r++)(e=arguments[r])&&(t=o(e))&&(a&&(a+=" "),a+=t);return a}(e)}var a="component-module__button___Fmad4",n="component-module__sizeSmall___pu9QB",l="component-module__sizeMedium___YP7-2",i="component-module__sizeLarge___VQtJb",s="component-module__variantPrimary___Bk92-",p="component-module__variantSecondary___y8OzM",d="component-module__variantOutline___ozyNM",m="component-module__variantGhost___nLyDj",u="component-module__variantDanger___5iQMR",_="component-module__glow___deXRv";!function(e,t){void 0===t&&(t={});var o=t.insertAt;if("undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===o&&r.firstChild?r.insertBefore(a,r.firstChild):r.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}(".component-module__button___Fmad4{align-items:center;border:none;cursor:pointer;display:inline-flex;font-weight:500;gap:8px;height:100%;justify-content:center;transition:all .2s ease;user-select:none;white-space:nowrap;width:100%}.component-module__button___Fmad4:disabled{cursor:not-allowed;opacity:.5}.component-module__sizeSmall___pu9QB{border-radius:4px;font-size:14px;padding:0 12px}.component-module__sizeMedium___YP7-2{border-radius:6px;font-size:14px;padding:0 16px}.component-module__sizeLarge___VQtJb{border-radius:8px;font-size:16px;padding:0 24px}.component-module__variantPrimary___Bk92-{background:linear-gradient(135deg,#00d4ff,#09c);box-shadow:0 2px 8px rgba(0,212,255,.3);color:#fff}.component-module__variantPrimary___Bk92-:hover:not(:disabled){box-shadow:0 4px 12px rgba(0,212,255,.4);transform:translateY(-1px)}.component-module__variantPrimary___Bk92-:active:not(:disabled){transform:translateY(0)}.component-module__variantSecondary___y8OzM{background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);color:#fff}.component-module__variantSecondary___y8OzM:hover:not(:disabled){background:hsla(0,0%,100%,.15);border-color:hsla(0,0%,100%,.3)}.component-module__variantOutline___ozyNM{background:transparent;border:1px solid #00d4ff;color:#00d4ff}.component-module__variantOutline___ozyNM:hover:not(:disabled){background:rgba(0,212,255,.1)}.component-module__variantGhost___nLyDj{background:transparent;color:#fff}.component-module__variantGhost___nLyDj:hover:not(:disabled){background:hsla(0,0%,100%,.1)}.component-module__variantDanger___5iQMR{background:linear-gradient(135deg,#ff4d4f,#c33);box-shadow:0 2px 8px rgba(255,77,79,.3);color:#fff}.component-module__variantDanger___5iQMR:hover:not(:disabled){box-shadow:0 4px 12px rgba(255,77,79,.4);transform:translateY(-1px)}.component-module__glow___deXRv{animation:component-module__buttonGlow___xuuYr 2s ease-in-out infinite}@keyframes component-module__buttonGlow___xuuYr{0%,to{box-shadow:0 0 5px currentColor,0 0 10px currentColor}50%{box-shadow:0 0 10px currentColor,0 0 20px currentColor}}");const c="EasyEditorMaterialsButton";const f={componentName:c,title:"按钮",group:"interaction",devMode:"proCode",npm:{package:"@easy-editor/materials-dashboard-button",version:"0.0.1",globalName:c,componentName:c},snippets:[{title:"主要按钮",screenshot:"",schema:{componentName:c,props:{text:"主要按钮",variant:"primary",size:"medium"},$dashboard:{rect:{width:120,height:40}}}},{title:"发光按钮",screenshot:"",schema:{componentName:c,props:{text:"发光按钮",variant:"outline",size:"large",glowEnable:!0},$dashboard:{rect:{width:140,height:48}}}}],configure:{props:[{type:"group",title:"属性",setter:"TabSetter",items:[{type:"group",key:"config",title:"配置",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"id",title:"ID",setter:"NodeIdSetter",extraProps:{label:!1}},{name:"title",title:"标题",setter:"StringSetter",extraProps:{getValue:e=>e.getExtraPropValue("title"),setValue(e,t){e.setExtraPropValue("title",t)}}},{type:"group",title:"基础属性",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"rect",title:"位置尺寸",setter:"RectSetter",extraProps:{getValue:e=>e.getExtraPropValue("$dashboard.rect"),setValue(e,t){e.setExtraPropValue("$dashboard.rect",t)}}}]},{type:"group",title:"内容",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"text",title:"按钮文本",setter:"StringSetter",extraProps:{defaultValue:"按钮"}}]},{type:"group",title:"样式",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"variant",title:"变体",setter:{componentName:"SelectSetter",props:{options:[{label:"主要",value:"primary"},{label:"次要",value:"secondary"},{label:"轮廓",value:"outline"},{label:"幽灵",value:"ghost"},{label:"危险",value:"danger"}]}},extraProps:{defaultValue:"primary"}},{name:"size",title:"尺寸",setter:{componentName:"SelectSetter",props:{options:[{label:"小",value:"small"},{label:"中",value:"medium"},{label:"大",value:"large"}]}},extraProps:{defaultValue:"medium"}},{name:"glowEnable",title:"发光效果",setter:"SwitchSetter",extraProps:{defaultValue:!1}}]},{type:"group",title:"链接",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"href",title:"链接地址",setter:"StringSetter"},{name:"target",title:"打开方式",setter:{componentName:"SelectSetter",props:{options:[{label:"新窗口",value:"_blank"},{label:"当前窗口",value:"_self"}]}},extraProps:{defaultValue:"_blank"}}]},{type:"group",title:"行为",setter:{componentName:"CollapseSetter",props:{icon:!1}},items:[{name:"disabled",title:"禁用",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"loading",title:"加载中",setter:"SwitchSetter",extraProps:{defaultValue:!1}},{name:"loadingText",title:"加载文本",setter:"StringSetter",extraProps:{defaultValue:"加载中..."}}]}]},{type:"group",key:"data",title:"数据",items:[{name:"dataBinding",title:"数据绑定",setter:"DataBindingSetter"}]},{type:"group",key:"advanced",title:"高级",items:[{name:"condition",title:"显隐控制",setter:"SwitchSetter",extraProps:{defaultValue:!0,supportVariable:!0}}]}]}],component:{},supports:{},advanced:{}}};e.component=({ref:e,text:o="按钮",variant:c="primary",size:f="medium",disabled:g=!1,glowEnable:b=!1,onClick:x,style:h})=>{const y=r(a,(e=>{switch(e){case"small":return n;case"medium":default:return l;case"large":return i}})(f),(e=>{switch(e){case"primary":default:return s;case"secondary":return p;case"outline":return d;case"ghost":return m;case"danger":return u}})(c),b&&_);return t.jsx("button",{className:y,disabled:g,onClick:x,ref:e,style:h,type:"button",children:o?t.jsx("span",{children:o}):null})},e.meta=f});
2
+ //# sourceMappingURL=index.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.min.js","sources":["../../../../../node_modules/.pnpm/clsx@2.1.1/node_modules/clsx/dist/clsx.mjs","../../../../shared/src/lib/utils.ts","../../../../../node_modules/.pnpm/style-inject@0.3.0/node_modules/style-inject/dist/style-inject.es.js","../src/component.tsx","../src/constants.ts","../src/meta.ts","../../../../shared/src/index.ts","../src/snippets.ts","../src/configure.ts"],"sourcesContent":["function r(e){var t,f,n=\"\";if(\"string\"==typeof e||\"number\"==typeof e)n+=e;else if(\"object\"==typeof e)if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(f=r(e[t]))&&(n&&(n+=\" \"),n+=f)}else for(f in e)e[f]&&(n&&(n+=\" \"),n+=f);return n}export function clsx(){for(var e,t,f=0,n=\"\",o=arguments.length;f<o;f++)(e=arguments[f])&&(t=r(e))&&(n&&(n+=\" \"),n+=t);return n}export default clsx;","import { clsx, type ClassValue } from 'clsx'\n\nexport function cn(...inputs: ClassValue[]) {\n return clsx(inputs)\n}\n","function styleInject(css, ref) {\n if ( ref === void 0 ) ref = {};\n var insertAt = ref.insertAt;\n\n if (!css || typeof document === 'undefined') { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (insertAt === 'top') {\n if (head.firstChild) {\n head.insertBefore(style, head.firstChild);\n } else {\n head.appendChild(style);\n }\n } else {\n head.appendChild(style);\n }\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n}\n\nexport default styleInject;\n","/**\n * Button Component\n * 按钮组件\n */\n\nimport type { CSSProperties, Ref, MouseEvent } from 'react'\nimport { cn } from '@easy-editor/materials-shared'\nimport styles from './component.module.css'\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger'\nexport type ButtonSize = 'small' | 'medium' | 'large'\n\nexport interface ButtonProps {\n ref?: Ref<HTMLButtonElement>\n /** 按钮文本 */\n text?: string\n /** 按钮变体 */\n variant?: ButtonVariant\n /** 按钮尺寸 */\n size?: ButtonSize\n /** 是否禁用 */\n disabled?: boolean\n /** 是否显示发光效果 */\n glowEnable?: boolean\n /** 点击事件 */\n onClick?: (e: MouseEvent<HTMLButtonElement>) => void\n /** 外部样式 */\n style?: CSSProperties\n}\n\nconst getSizeClass = (size: ButtonSize): string => {\n switch (size) {\n case 'small':\n return styles.sizeSmall\n case 'medium':\n return styles.sizeMedium\n case 'large':\n return styles.sizeLarge\n default:\n return styles.sizeMedium\n }\n}\n\nconst getVariantClass = (variant: ButtonVariant): string => {\n switch (variant) {\n case 'primary':\n return styles.variantPrimary\n case 'secondary':\n return styles.variantSecondary\n case 'outline':\n return styles.variantOutline\n case 'ghost':\n return styles.variantGhost\n case 'danger':\n return styles.variantDanger\n default:\n return styles.variantPrimary\n }\n}\n\nexport const Button: React.FC<ButtonProps> = ({\n ref,\n text = '按钮',\n variant = 'primary',\n size = 'medium',\n disabled = false,\n glowEnable = false,\n onClick,\n style: externalStyle,\n}) => {\n const buttonClass = cn(styles.button, getSizeClass(size), getVariantClass(variant), glowEnable && styles.glow)\n\n return (\n <button className={buttonClass} disabled={disabled} onClick={onClick} ref={ref} style={externalStyle} type='button'>\n {text ? <span>{text}</span> : null}\n </button>\n )\n}\n\nexport default Button\n","/**\n * 物料常量配置\n * 统一管理全局变量名等配置,确保 meta.ts 和 rollup.config.js 使用相同的值\n */\n\n/**\n * UMD 全局变量基础名称\n * 用于构建:\n * - 元数据:${GLOBAL_NAME}Meta (例如: EasyEditorMaterialsButtonMeta)\n * - 组件:${GLOBAL_NAME}Component (例如: EasyEditorMaterialsButtonComponent)\n * - 完整构建:${GLOBAL_NAME} (例如: EasyEditorMaterialsButton)\n */\nexport const COMPONENT_NAME = 'EasyEditorMaterialsButton'\n\n/**\n * 包名\n */\nexport const PACKAGE_NAME = '@easy-editor/materials-dashboard-button'\n","/**\n * Button Meta\n * 按钮组件元数据\n */\n\nimport type { ComponentMetadata } from '@easy-editor/core'\nimport { MaterialGroup } from '@easy-editor/materials-shared'\nimport { COMPONENT_NAME, PACKAGE_NAME } from './constants'\nimport configure from './configure'\nimport snippets from './snippets'\nimport pkg from '../package.json'\n\nexport const meta: ComponentMetadata = {\n componentName: COMPONENT_NAME,\n title: '按钮',\n group: MaterialGroup.INTERACTION,\n devMode: 'proCode',\n npm: {\n package: PACKAGE_NAME,\n version: pkg.version,\n globalName: COMPONENT_NAME,\n componentName: COMPONENT_NAME,\n },\n snippets,\n configure,\n}\n\nexport default meta\n","/**\n * Shared types, components and utilities for EasyEditor materials\n * @package @easy-editor/materials-shared\n */\n\n// 物料分组常量\nexport const MaterialGroup = {\n /** 内置 */\n INNER: 'inner',\n /** 基础 */\n BASIC: 'basic',\n /** 图表 */\n CHART: 'chart',\n /** 数据展示 */\n DISPLAY: 'display',\n /** 媒体 */\n MEDIA: 'media',\n /** 交互 */\n INTERACTION: 'interaction',\n /** 地图 */\n MAP: 'map',\n} as const\n\nexport type MaterialGroup = (typeof MaterialGroup)[keyof typeof MaterialGroup]\n\n// 工具函数\nexport { cn } from './lib/utils'\n\nexport * from './types'\n","/**\n * Button Snippets\n * 按钮组件代码片段\n */\n\nimport type { Snippet } from '@easy-editor/core'\nimport { COMPONENT_NAME } from './constants'\n\nexport const snippets: Snippet[] = [\n {\n title: '主要按钮',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n text: '主要按钮',\n variant: 'primary',\n size: 'medium',\n },\n $dashboard: {\n rect: {\n width: 120,\n height: 40,\n },\n },\n },\n },\n {\n title: '发光按钮',\n screenshot: '',\n schema: {\n componentName: COMPONENT_NAME,\n props: {\n text: '发光按钮',\n variant: 'outline',\n size: 'large',\n glowEnable: true,\n },\n $dashboard: {\n rect: {\n width: 140,\n height: 48,\n },\n },\n },\n },\n]\n\nexport default snippets\n","/**\n * Button Configure\n * 按钮组件配置\n */\n\nimport type { Configure } from '@easy-editor/core'\n\nexport const configure: Configure = {\n props: [\n {\n type: 'group',\n title: '属性',\n setter: 'TabSetter',\n items: [\n {\n type: 'group',\n key: 'config',\n title: '配置',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n // 基础配置\n {\n name: 'id',\n title: 'ID',\n setter: 'NodeIdSetter',\n extraProps: {\n // @ts-expect-error label is not a valid extra prop\n label: false,\n },\n },\n {\n name: 'title',\n title: '标题',\n setter: 'StringSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('title')\n },\n setValue(target, value) {\n target.setExtraPropValue('title', value)\n },\n },\n },\n {\n type: 'group',\n title: '基础属性',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'rect',\n title: '位置尺寸',\n setter: 'RectSetter',\n extraProps: {\n getValue(target) {\n return target.getExtraPropValue('$dashboard.rect')\n },\n setValue(target, value) {\n target.setExtraPropValue('$dashboard.rect', value)\n },\n },\n },\n ],\n },\n // 组件配置\n {\n type: 'group',\n title: '内容',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'text',\n title: '按钮文本',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '按钮',\n },\n },\n ],\n },\n {\n type: 'group',\n title: '样式',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'variant',\n title: '变体',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '主要', value: 'primary' },\n { label: '次要', value: 'secondary' },\n { label: '轮廓', value: 'outline' },\n { label: '幽灵', value: 'ghost' },\n { label: '危险', value: 'danger' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'primary',\n },\n },\n {\n name: 'size',\n title: '尺寸',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '小', value: 'small' },\n { label: '中', value: 'medium' },\n { label: '大', value: 'large' },\n ],\n },\n },\n extraProps: {\n defaultValue: 'medium',\n },\n },\n {\n name: 'glowEnable',\n title: '发光效果',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n ],\n },\n {\n type: 'group',\n title: '链接',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'href',\n title: '链接地址',\n setter: 'StringSetter',\n },\n {\n name: 'target',\n title: '打开方式',\n setter: {\n componentName: 'SelectSetter',\n props: {\n options: [\n { label: '新窗口', value: '_blank' },\n { label: '当前窗口', value: '_self' },\n ],\n },\n },\n extraProps: {\n defaultValue: '_blank',\n },\n },\n ],\n },\n {\n type: 'group',\n title: '行为',\n setter: {\n componentName: 'CollapseSetter',\n props: {\n icon: false,\n },\n },\n items: [\n {\n name: 'disabled',\n title: '禁用',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'loading',\n title: '加载中',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: false,\n },\n },\n {\n name: 'loadingText',\n title: '加载文本',\n setter: 'StringSetter',\n extraProps: {\n defaultValue: '加载中...',\n },\n },\n ],\n },\n ],\n },\n {\n type: 'group',\n key: 'data',\n title: '数据',\n items: [\n {\n name: 'dataBinding',\n title: '数据绑定',\n setter: 'DataBindingSetter',\n },\n ],\n },\n {\n type: 'group',\n key: 'advanced',\n title: '高级',\n items: [\n {\n name: 'condition',\n title: '显隐控制',\n setter: 'SwitchSetter',\n extraProps: {\n defaultValue: true,\n supportVariable: true,\n },\n },\n ],\n },\n ],\n },\n ],\n component: {},\n supports: {},\n advanced: {},\n}\n\nexport default configure\n"],"names":["r","e","t","f","n","Array","isArray","o","length","cn","inputs","arguments","clsx","css","ref","insertAt","document","head","getElementsByTagName","style","createElement","type","firstChild","insertBefore","appendChild","styleSheet","cssText","createTextNode","COMPONENT_NAME","meta","componentName","title","group","devMode","npm","package","version","globalName","snippets","screenshot","schema","props","text","variant","size","$dashboard","rect","width","height","glowEnable","configure","setter","items","key","icon","name","extraProps","label","getValue","target","getExtraPropValue","setValue","value","setExtraPropValue","defaultValue","options","supportVariable","component","supports","advanced","Button","disabled","onClick","externalStyle","buttonClass","styles","getSizeClass","getVariantClass","_jsx","className","children"],"mappings":"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","x_google_ignoreList":[0,2]}