@ioca/react 1.3.66 → 1.3.69

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 (154) hide show
  1. package/lib/cjs/components/affix/affix.js +8 -4
  2. package/lib/cjs/components/affix/affix.js.map +1 -1
  3. package/lib/cjs/components/affix/totop.js +3 -3
  4. package/lib/cjs/components/affix/totop.js.map +1 -1
  5. package/lib/cjs/components/badge/badge.js +3 -3
  6. package/lib/cjs/components/badge/badge.js.map +1 -1
  7. package/lib/cjs/components/button/button.js +3 -3
  8. package/lib/cjs/components/button/button.js.map +1 -1
  9. package/lib/cjs/components/button/group.js +3 -3
  10. package/lib/cjs/components/button/group.js.map +1 -1
  11. package/lib/cjs/components/button/toggle.js +3 -3
  12. package/lib/cjs/components/button/toggle.js.map +1 -1
  13. package/lib/cjs/components/card/card.js +3 -3
  14. package/lib/cjs/components/card/card.js.map +1 -1
  15. package/lib/cjs/components/checkbox/checkbox.js +4 -4
  16. package/lib/cjs/components/checkbox/checkbox.js.map +1 -1
  17. package/lib/cjs/components/checkbox/item.js +4 -4
  18. package/lib/cjs/components/checkbox/item.js.map +1 -1
  19. package/lib/cjs/components/collapse/collapse.js +4 -4
  20. package/lib/cjs/components/collapse/collapse.js.map +1 -1
  21. package/lib/cjs/components/datagrid/cell.js +4 -4
  22. package/lib/cjs/components/datagrid/cell.js.map +1 -1
  23. package/lib/cjs/components/datagrid/datagrid.js +4 -4
  24. package/lib/cjs/components/datagrid/datagrid.js.map +1 -1
  25. package/lib/cjs/components/datagrid/row.js +4 -4
  26. package/lib/cjs/components/datagrid/row.js.map +1 -1
  27. package/lib/cjs/components/datagrid/sorter.js +3 -3
  28. package/lib/cjs/components/datagrid/sorter.js.map +1 -1
  29. package/lib/cjs/components/description/description.js +4 -4
  30. package/lib/cjs/components/description/description.js.map +1 -1
  31. package/lib/cjs/components/drawer/drawer.js +4 -4
  32. package/lib/cjs/components/drawer/drawer.js.map +1 -1
  33. package/lib/cjs/components/editor/controls.js +5 -1
  34. package/lib/cjs/components/editor/controls.js.map +1 -1
  35. package/lib/cjs/components/editor/editor.js +6 -6
  36. package/lib/cjs/components/editor/editor.js.map +1 -1
  37. package/lib/cjs/components/flex/flex.js +3 -3
  38. package/lib/cjs/components/flex/flex.js.map +1 -1
  39. package/lib/cjs/components/form/field.js +7 -7
  40. package/lib/cjs/components/form/field.js.map +1 -1
  41. package/lib/cjs/components/form/form.js +6 -6
  42. package/lib/cjs/components/form/form.js.map +1 -1
  43. package/lib/cjs/components/form/useForm.js +9 -9
  44. package/lib/cjs/components/form/useForm.js.map +1 -1
  45. package/lib/cjs/components/icon/icon.js +3 -3
  46. package/lib/cjs/components/icon/icon.js.map +1 -1
  47. package/lib/cjs/components/image/image.js +4 -4
  48. package/lib/cjs/components/image/image.js.map +1 -1
  49. package/lib/cjs/components/input/container.js +4 -4
  50. package/lib/cjs/components/input/container.js.map +1 -1
  51. package/lib/cjs/components/input/input.js +4 -4
  52. package/lib/cjs/components/input/input.js.map +1 -1
  53. package/lib/cjs/components/input/number.js +3 -3
  54. package/lib/cjs/components/input/number.js.map +1 -1
  55. package/lib/cjs/components/input/range.js +3 -3
  56. package/lib/cjs/components/input/range.js.map +1 -1
  57. package/lib/cjs/components/input/textarea.js +3 -3
  58. package/lib/cjs/components/input/textarea.js.map +1 -1
  59. package/lib/cjs/components/list/item.js +3 -3
  60. package/lib/cjs/components/list/item.js.map +1 -1
  61. package/lib/cjs/components/list/list.js +3 -3
  62. package/lib/cjs/components/list/list.js.map +1 -1
  63. package/lib/cjs/components/loading/loading.js +3 -3
  64. package/lib/cjs/components/loading/loading.js.map +1 -1
  65. package/lib/cjs/components/message/message.js +15 -5
  66. package/lib/cjs/components/message/message.js.map +1 -1
  67. package/lib/cjs/components/modal/modal.js +11 -6
  68. package/lib/cjs/components/modal/modal.js.map +1 -1
  69. package/lib/cjs/components/pagination/page.js +3 -3
  70. package/lib/cjs/components/pagination/page.js.map +1 -1
  71. package/lib/cjs/components/pagination/pagination.js +3 -3
  72. package/lib/cjs/components/pagination/pagination.js.map +1 -1
  73. package/lib/cjs/components/picker/colors/handle.js +3 -3
  74. package/lib/cjs/components/picker/colors/handle.js.map +1 -1
  75. package/lib/cjs/components/picker/colors/index.js +4 -4
  76. package/lib/cjs/components/picker/colors/index.js.map +1 -1
  77. package/lib/cjs/components/picker/dates/dates.js +5 -5
  78. package/lib/cjs/components/picker/dates/dates.js.map +1 -1
  79. package/lib/cjs/components/picker/dates/index.js +6 -6
  80. package/lib/cjs/components/picker/dates/index.js.map +1 -1
  81. package/lib/cjs/components/picker/dates/panel.js +9 -9
  82. package/lib/cjs/components/picker/dates/panel.js.map +1 -1
  83. package/lib/cjs/components/picker/time/item.js +3 -3
  84. package/lib/cjs/components/picker/time/item.js.map +1 -1
  85. package/lib/cjs/components/popup/content.js +8 -4
  86. package/lib/cjs/components/popup/content.js.map +1 -1
  87. package/lib/cjs/components/progress/line.js +4 -4
  88. package/lib/cjs/components/progress/line.js.map +1 -1
  89. package/lib/cjs/components/progress/progress.js +3 -3
  90. package/lib/cjs/components/progress/progress.js.map +1 -1
  91. package/lib/cjs/components/radio/item.js +4 -4
  92. package/lib/cjs/components/radio/item.js.map +1 -1
  93. package/lib/cjs/components/radio/radio.js +4 -4
  94. package/lib/cjs/components/radio/radio.js.map +1 -1
  95. package/lib/cjs/components/resizable/resizable.js +4 -4
  96. package/lib/cjs/components/resizable/resizable.js.map +1 -1
  97. package/lib/cjs/components/select/options.js +3 -3
  98. package/lib/cjs/components/select/options.js.map +1 -1
  99. package/lib/cjs/components/select/select.js +5 -5
  100. package/lib/cjs/components/select/select.js.map +1 -1
  101. package/lib/cjs/components/step/item.js +3 -3
  102. package/lib/cjs/components/step/item.js.map +1 -1
  103. package/lib/cjs/components/step/step.js +3 -3
  104. package/lib/cjs/components/step/step.js.map +1 -1
  105. package/lib/cjs/components/swiper/item.js +3 -3
  106. package/lib/cjs/components/swiper/item.js.map +1 -1
  107. package/lib/cjs/components/swiper/swiper.js +6 -6
  108. package/lib/cjs/components/swiper/swiper.js.map +1 -1
  109. package/lib/cjs/components/tabs/tabs.js +8 -8
  110. package/lib/cjs/components/tabs/tabs.js.map +1 -1
  111. package/lib/cjs/components/tag/tag.js +4 -4
  112. package/lib/cjs/components/tag/tag.js.map +1 -1
  113. package/lib/cjs/components/text/text.js +3 -3
  114. package/lib/cjs/components/text/text.js.map +1 -1
  115. package/lib/cjs/components/tree/item.js +5 -5
  116. package/lib/cjs/components/tree/item.js.map +1 -1
  117. package/lib/cjs/components/upload/renderFile.js +3 -3
  118. package/lib/cjs/components/upload/renderFile.js.map +1 -1
  119. package/lib/cjs/components/upload/upload.js +3 -3
  120. package/lib/cjs/components/upload/upload.js.map +1 -1
  121. package/lib/cjs/components/utils/empty/index.js +3 -3
  122. package/lib/cjs/components/utils/empty/index.js.map +1 -1
  123. package/lib/cjs/components/utils/helpericon/helpericon.js +3 -3
  124. package/lib/cjs/components/utils/helpericon/helpericon.js.map +1 -1
  125. package/lib/cjs/components/video/video.js +7 -3
  126. package/lib/cjs/components/video/video.js.map +1 -1
  127. package/lib/cjs/js/hooks.js +90 -50
  128. package/lib/cjs/js/hooks.js.map +1 -1
  129. package/lib/cjs/js/usePreview/content.js +4 -4
  130. package/lib/cjs/js/usePreview/content.js.map +1 -1
  131. package/lib/cjs/js/useRipple/index.js +6 -2
  132. package/lib/cjs/js/useRipple/index.js.map +1 -1
  133. package/lib/css/index.css +1 -1
  134. package/lib/css/index.css.map +1 -1
  135. package/lib/es/components/affix/affix.js +5 -1
  136. package/lib/es/components/affix/affix.js.map +1 -1
  137. package/lib/es/components/drawer/drawer.js +1 -1
  138. package/lib/es/components/drawer/drawer.js.map +1 -1
  139. package/lib/es/components/editor/controls.js +5 -1
  140. package/lib/es/components/editor/controls.js.map +1 -1
  141. package/lib/es/components/message/message.js +12 -2
  142. package/lib/es/components/message/message.js.map +1 -1
  143. package/lib/es/components/modal/modal.js +7 -2
  144. package/lib/es/components/modal/modal.js.map +1 -1
  145. package/lib/es/components/popup/content.js +5 -1
  146. package/lib/es/components/popup/content.js.map +1 -1
  147. package/lib/es/components/video/video.js +4 -0
  148. package/lib/es/components/video/video.js.map +1 -1
  149. package/lib/es/js/hooks.js +91 -51
  150. package/lib/es/js/hooks.js.map +1 -1
  151. package/lib/es/js/useRipple/index.js +6 -2
  152. package/lib/es/js/useRipple/index.js.map +1 -1
  153. package/lib/index.js +135 -60
  154. package/package.json +2 -2
@@ -12,9 +12,9 @@ var index = require('../../js/usePreview/index.js');
12
12
  var icon = require('../icon/icon.js');
13
13
  var loading = require('../loading/loading.js');
14
14
 
15
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
15
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
16
16
 
17
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
17
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
18
18
 
19
19
  const Image = (props) => {
20
20
  const { src, round, size, initSize, lazyload, fallback = (jsxRuntime.jsx(icon.default, { icon: jsxRuntime.jsx(material.HideImageTwotone, {}), size: '2em', className: 'color-5' })), fit, style, className, cover, coverClass, usePreview: previewable, onLoad, onError, onClick, ...restProps } = props;
@@ -70,10 +70,10 @@ const Image = (props) => {
70
70
  width: size ?? iSize,
71
71
  height: size ?? iSize,
72
72
  ...style,
73
- }, className: classNames__default.default("i-image", className, {
73
+ }, className: classNames__default("i-image", className, {
74
74
  rounded: round,
75
75
  [`i-image-${state.status}`]: state.status,
76
- }), children: state.status === "error" ? (fallback) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [src && (jsxRuntime.jsx("img", { ref: ref, style: { objectFit: fit, width: wh, height: wh }, ...restProps, onLoad: handleLoad, onError: handleError, onClick: handleClick })), src && state.status === "loading" && jsxRuntime.jsx(loading.default, { absolute: true }), cover && (jsxRuntime.jsx("div", { className: classNames__default.default("i-image-cover", coverClass), onClick: handleClick, children: cover }))] })) }));
76
+ }), children: state.status === "error" ? (fallback) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [src && (jsxRuntime.jsx("img", { ref: ref, style: { objectFit: fit, width: wh, height: wh }, ...restProps, onLoad: handleLoad, onError: handleError, onClick: handleClick })), src && state.status === "loading" && jsxRuntime.jsx(loading.default, { absolute: true }), cover && (jsxRuntime.jsx("div", { className: classNames__default("i-image-cover", coverClass), onClick: handleClick, children: cover }))] })) }));
77
77
  };
78
78
 
79
79
  exports.default = Image;
@@ -1 +1 @@
1
- {"version":3,"file":"image.js","sources":["../../../../packages/components/image/image.tsx"],"sourcesContent":["import { HideImageTwotone } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { useEffect, useRef } from \"react\";\nimport { useIntersectionObserver } from \"../../js/hooks\";\nimport usePreview from \"../../js/usePreview\";\nimport Icon from \"../icon\";\nimport Loading from \"../loading\";\nimport \"./index.css\";\nimport type { CompositionImage, IImage } from \"./type\";\n\nconst Image = (props: IImage) => {\n\tconst {\n\t\tsrc,\n\t\tround,\n\t\tsize,\n\t\tinitSize,\n\t\tlazyload,\n\t\tfallback = (\n\t\t\t<Icon icon={<HideImageTwotone />} size='2em' className='color-5' />\n\t\t),\n\t\tfit,\n\t\tstyle,\n\t\tclassName,\n\t\tcover,\n\t\tcoverClass,\n\t\tusePreview: previewable,\n\t\tonLoad,\n\t\tonError,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive<{ status?: string }>({\n\t\tstatus: \"loading\",\n\t});\n\tconst ref = useRef<HTMLImageElement>(null);\n\tconst wh = fit ? \"100%\" : undefined;\n\n\tconst { observe, unobserve } = useIntersectionObserver();\n\tconst preview = usePreview();\n\n\tconst handleError = (err) => {\n\t\tonError?.(err);\n\t\tstate.status = \"error\";\n\t};\n\n\tconst handleLoad = (e) => {\n\t\tonLoad?.(e);\n\t\tstate.status = undefined;\n\t};\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\n\t\tpreviewable &&\n\t\t\tsrc &&\n\t\t\tpreview({\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tsrc,\n\t\t\t\t\t\ttype: \"IMAGE\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (!src) return;\n\n\t\tif (!ref.current?.complete) {\n\t\t\tstate.status = \"loading\";\n\t\t}\n\n\t\tif (!lazyload || !ref.current) return;\n\n\t\tobserve(ref.current, (tar: HTMLElement, visible: boolean) => {\n\t\t\tif (!visible) return;\n\n\t\t\ttar.setAttribute(\"src\", tar.dataset.src || \"\");\n\t\t\tunobserve(tar);\n\t\t});\n\n\t\treturn () => {\n\t\t\tref.current && unobserve(ref.current);\n\t\t};\n\t}, [src]);\n\n\trestProps[lazyload ? \"data-src\" : \"src\"] = src;\n\tconst iSize = state.status === \"loading\" ? initSize : undefined;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: size ?? iSize,\n\t\t\t\theight: size ?? iSize,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(\"i-image\", className, {\n\t\t\t\trounded: round,\n\t\t\t\t[`i-image-${state.status}`]: state.status,\n\t\t\t})}\n\t\t>\n\t\t\t{state.status === \"error\" ? (\n\t\t\t\tfallback\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{src && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tstyle={{ objectFit: fit, width: wh, height: wh }}\n\t\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t\t\tonLoad={handleLoad}\n\t\t\t\t\t\t\tonError={handleError}\n\t\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{src && state.status === \"loading\" && <Loading absolute />}\n\n\t\t\t\t\t{cover && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\"i-image-cover\", coverClass)}\n\t\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cover}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default Image as CompositionImage;\n"],"names":["_jsx","Icon","HideImageTwotone","useReactive","useRef","useIntersectionObserver","usePreview","useEffect","classNames","_jsxs","Loading"],"mappings":"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"}
1
+ {"version":3,"file":"image.js","sources":["../../../../packages/components/image/image.tsx"],"sourcesContent":["import { HideImageTwotone } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { useEffect, useRef } from \"react\";\nimport { useIntersectionObserver } from \"../../js/hooks\";\nimport usePreview from \"../../js/usePreview\";\nimport Icon from \"../icon\";\nimport Loading from \"../loading\";\nimport \"./index.css\";\nimport type { CompositionImage, IImage } from \"./type\";\n\nconst Image = (props: IImage) => {\n\tconst {\n\t\tsrc,\n\t\tround,\n\t\tsize,\n\t\tinitSize,\n\t\tlazyload,\n\t\tfallback = (\n\t\t\t<Icon icon={<HideImageTwotone />} size='2em' className='color-5' />\n\t\t),\n\t\tfit,\n\t\tstyle,\n\t\tclassName,\n\t\tcover,\n\t\tcoverClass,\n\t\tusePreview: previewable,\n\t\tonLoad,\n\t\tonError,\n\t\tonClick,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive<{ status?: string }>({\n\t\tstatus: \"loading\",\n\t});\n\tconst ref = useRef<HTMLImageElement>(null);\n\tconst wh = fit ? \"100%\" : undefined;\n\n\tconst { observe, unobserve } = useIntersectionObserver();\n\tconst preview = usePreview();\n\n\tconst handleError = (err) => {\n\t\tonError?.(err);\n\t\tstate.status = \"error\";\n\t};\n\n\tconst handleLoad = (e) => {\n\t\tonLoad?.(e);\n\t\tstate.status = undefined;\n\t};\n\n\tconst handleClick = (e) => {\n\t\tonClick?.(e);\n\n\t\tpreviewable &&\n\t\t\tsrc &&\n\t\t\tpreview({\n\t\t\t\titems: [\n\t\t\t\t\t{\n\t\t\t\t\t\tsrc,\n\t\t\t\t\t\ttype: \"IMAGE\",\n\t\t\t\t\t},\n\t\t\t\t],\n\t\t\t});\n\t};\n\n\tuseEffect(() => {\n\t\tif (!src) return;\n\n\t\tif (!ref.current?.complete) {\n\t\t\tstate.status = \"loading\";\n\t\t}\n\n\t\tif (!lazyload || !ref.current) return;\n\n\t\tobserve(ref.current, (tar: HTMLElement, visible: boolean) => {\n\t\t\tif (!visible) return;\n\n\t\t\ttar.setAttribute(\"src\", tar.dataset.src || \"\");\n\t\t\tunobserve(tar);\n\t\t});\n\n\t\treturn () => {\n\t\t\tref.current && unobserve(ref.current);\n\t\t};\n\t}, [src]);\n\n\trestProps[lazyload ? \"data-src\" : \"src\"] = src;\n\tconst iSize = state.status === \"loading\" ? initSize : undefined;\n\n\treturn (\n\t\t<div\n\t\t\tstyle={{\n\t\t\t\twidth: size ?? iSize,\n\t\t\t\theight: size ?? iSize,\n\t\t\t\t...style,\n\t\t\t}}\n\t\t\tclassName={classNames(\"i-image\", className, {\n\t\t\t\trounded: round,\n\t\t\t\t[`i-image-${state.status}`]: state.status,\n\t\t\t})}\n\t\t>\n\t\t\t{state.status === \"error\" ? (\n\t\t\t\tfallback\n\t\t\t) : (\n\t\t\t\t<>\n\t\t\t\t\t{src && (\n\t\t\t\t\t\t<img\n\t\t\t\t\t\t\tref={ref}\n\t\t\t\t\t\t\tstyle={{ objectFit: fit, width: wh, height: wh }}\n\t\t\t\t\t\t\t{...restProps}\n\t\t\t\t\t\t\tonLoad={handleLoad}\n\t\t\t\t\t\t\tonError={handleError}\n\t\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\n\t\t\t\t\t{src && state.status === \"loading\" && <Loading absolute />}\n\n\t\t\t\t\t{cover && (\n\t\t\t\t\t\t<div\n\t\t\t\t\t\t\tclassName={classNames(\"i-image-cover\", coverClass)}\n\t\t\t\t\t\t\tonClick={handleClick}\n\t\t\t\t\t\t>\n\t\t\t\t\t\t\t{cover}\n\t\t\t\t\t\t</div>\n\t\t\t\t\t)}\n\t\t\t\t</>\n\t\t\t)}\n\t\t</div>\n\t);\n};\n\nexport default Image as CompositionImage;\n"],"names":["_jsx","Icon","HideImageTwotone","useReactive","useRef","useIntersectionObserver","usePreview","useEffect","classNames","_jsxs","Loading"],"mappings":"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"}
@@ -5,15 +5,15 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var classNames = require('classnames');
7
7
 
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
9
9
 
10
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
10
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
11
11
 
12
12
  function InputContainer(props) {
13
13
  const { as: As = "label", label, className, labelInline, style, children, status, tip, required, } = props;
14
- return (jsxRuntime.jsxs(As, { className: classNames__default.default("i-input-label", className, {
14
+ return (jsxRuntime.jsxs(As, { className: classNames__default("i-input-label", className, {
15
15
  "i-input-inline": labelInline,
16
- }), style: style, children: [label && (jsxRuntime.jsxs("span", { className: 'i-input-label-text', children: [required && jsxRuntime.jsx("span", { className: 'error', children: "*" }), label] })), children, tip && (jsxRuntime.jsx("span", { className: classNames__default.default("i-input-message", {
16
+ }), style: style, children: [label && (jsxRuntime.jsxs("span", { className: 'i-input-label-text', children: [required && jsxRuntime.jsx("span", { className: 'error', children: "*" }), label] })), children, tip && (jsxRuntime.jsx("span", { className: classNames__default("i-input-message", {
17
17
  [`i-input-${status}`]: status !== "normal",
18
18
  }), children: tip }))] }));
19
19
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sources":["../../../../packages/components/input/container.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { IInputContainer } from \"./type\";\n\nexport default function InputContainer(props: IInputContainer) {\n\tconst {\n\t\tas: As = \"label\",\n\t\tlabel,\n\t\tclassName,\n\t\tlabelInline,\n\t\tstyle,\n\t\tchildren,\n\t\tstatus,\n\t\ttip,\n\t\trequired,\n\t} = props;\n\n\treturn (\n\t\t<As\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && (\n\t\t\t\t<span className='i-input-label-text'>\n\t\t\t\t\t{required && <span className='error'>*</span>}\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t{children}\n\n\t\t\t{tip && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames(\"i-input-message\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{tip}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</As>\n\t);\n}\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGwB,SAAA,cAAc,CAAC,KAAsB,EAAA;IAC5D,MAAM,EACL,EAAE,EAAE,EAAE,GAAG,OAAO,EAChB,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,GACR,GAAG,KAAK;IAET,QACCA,eAAC,CAAA,EAAE,EACF,EAAA,SAAS,EAAEC,2BAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AACjD,YAAA,gBAAgB,EAAE,WAAW;AAC7B,SAAA,CAAC,EACF,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAEX,KAAK,KACLD,eAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAClC,QAAQ,IAAIE,yBAAM,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,GAAA,EAAA,CAAS,EAC5C,KAAK,CAAA,EAAA,CACA,CACP,EAEA,QAAQ,EAER,GAAG,KACHA,yBACC,SAAS,EAAED,2BAAU,CAAC,iBAAiB,EAAE;AACxC,oBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;AAC1C,iBAAA,CAAC,YAED,GAAG,EAAA,CACE,CACP,CAAA,EAAA,CACG;AAEP;;;;"}
1
+ {"version":3,"file":"container.js","sources":["../../../../packages/components/input/container.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { IInputContainer } from \"./type\";\n\nexport default function InputContainer(props: IInputContainer) {\n\tconst {\n\t\tas: As = \"label\",\n\t\tlabel,\n\t\tclassName,\n\t\tlabelInline,\n\t\tstyle,\n\t\tchildren,\n\t\tstatus,\n\t\ttip,\n\t\trequired,\n\t} = props;\n\n\treturn (\n\t\t<As\n\t\t\tclassName={classNames(\"i-input-label\", className, {\n\t\t\t\t\"i-input-inline\": labelInline,\n\t\t\t})}\n\t\t\tstyle={style}\n\t\t>\n\t\t\t{label && (\n\t\t\t\t<span className='i-input-label-text'>\n\t\t\t\t\t{required && <span className='error'>*</span>}\n\t\t\t\t\t{label}\n\t\t\t\t</span>\n\t\t\t)}\n\n\t\t\t{children}\n\n\t\t\t{tip && (\n\t\t\t\t<span\n\t\t\t\t\tclassName={classNames(\"i-input-message\", {\n\t\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t})}\n\t\t\t\t>\n\t\t\t\t\t{tip}\n\t\t\t\t</span>\n\t\t\t)}\n\t\t</As>\n\t);\n}\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGwB,SAAA,cAAc,CAAC,KAAsB,EAAA;IAC5D,MAAM,EACL,EAAE,EAAE,EAAE,GAAG,OAAO,EAChB,KAAK,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,QAAQ,EACR,MAAM,EACN,GAAG,EACH,QAAQ,GACR,GAAG,KAAK;IAET,QACCA,eAAC,CAAA,EAAE,EACF,EAAA,SAAS,EAAEC,mBAAU,CAAC,eAAe,EAAE,SAAS,EAAE;AACjD,YAAA,gBAAgB,EAAE,WAAW;AAC7B,SAAA,CAAC,EACF,KAAK,EAAE,KAAK,EAAA,QAAA,EAAA,CAEX,KAAK,KACLD,eAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAAA,CAClC,QAAQ,IAAIE,yBAAM,SAAS,EAAC,OAAO,EAAA,QAAA,EAAA,GAAA,EAAA,CAAS,EAC5C,KAAK,CAAA,EAAA,CACA,CACP,EAEA,QAAQ,EAER,GAAG,KACHA,yBACC,SAAS,EAAED,mBAAU,CAAC,iBAAiB,EAAE;AACxC,oBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;AAC1C,iBAAA,CAAC,YAED,GAAG,EAAA,CACE,CACP,CAAA,EAAA,CACG;AAEP;;;;"}
@@ -10,9 +10,9 @@ var react = require('react');
10
10
  var helpericon = require('../utils/helpericon/helpericon.js');
11
11
  var container = require('./container.js');
12
12
 
13
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
13
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
14
14
 
15
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
15
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
16
16
 
17
17
  const Input = ((props) => {
18
18
  const { ref, type = "text", label, name, value = props.initValue ?? "", initValue = "", prepend, append, labelInline, className, status = "normal", message, tip, clear, hideVisible, border, required, onChange, onEnter, style, ...restProps } = props;
@@ -54,14 +54,14 @@ const Input = ((props) => {
54
54
  type: state.type,
55
55
  name,
56
56
  value: state.value,
57
- className: classNames__default.default("i-input", `i-input-${type}`),
57
+ className: classNames__default("i-input", `i-input-${type}`),
58
58
  onChange: handleChange,
59
59
  onKeyDown: handleKeydown,
60
60
  ...restProps,
61
61
  };
62
62
  const clearable = clear && state.value;
63
63
  const showHelper = type === "password" && !!state.value;
64
- return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, required: required, children: jsxRuntime.jsxs("div", { className: classNames__default.default("i-input-item", {
64
+ return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, required: required, children: jsxRuntime.jsxs("div", { className: classNames__default("i-input-item", {
65
65
  [`i-input-${status}`]: status !== "normal",
66
66
  "i-input-borderless": !border,
67
67
  }), children: [prepend && jsxRuntime.jsx("div", { className: 'i-input-prepend', children: prepend }), jsxRuntime.jsx("input", { ...inputProps }), jsxRuntime.jsx(helpericon.default, { active: !!clearable || showHelper, icon: HelperIcon, onClick: handleHelperClick }), append && jsxRuntime.jsx("div", { className: 'i-input-append', children: append })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"input.js","sources":["../../../../packages/components/input/input.tsx"],"sourcesContent":["import { VisibilityOffRound, VisibilityRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect, useMemo } from \"react\";\nimport \"../../css/input.css\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { CompositionInput, IInput } from \"./type\";\n\nconst Input = ((props: IInput) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue ?? \"\",\n\t\tinitValue = \"\",\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tclear,\n\t\thideVisible,\n\t\tborder,\n\t\trequired,\n\t\tonChange,\n\t\tonEnter,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t\ttype,\n\t\tvisible: false,\n\t});\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst v = e.target.value;\n\n\t\tstate.value = v;\n\t\tonChange?.(v, e);\n\t};\n\n\tconst handleKeydown = (e) => {\n\t\te.code === \"Enter\" && onEnter?.(e);\n\t};\n\n\tconst handleHelperClick = () => {\n\t\tif (type === \"password\" && !hideVisible) {\n\t\t\tObject.assign(state, {\n\t\t\t\tvisible: !state.visible,\n\t\t\t\ttype: !state.visible ? \"text\" : \"password\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst v = \"\";\n\t\tonChange?.(v);\n\t};\n\n\tconst HelperIcon = useMemo(() => {\n\t\tif (type === \"password\") {\n\t\t\treturn state.visible ? <VisibilityRound /> : <VisibilityOffRound />;\n\t\t}\n\n\t\treturn undefined;\n\t}, [state.visible]);\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\ttype: state.type,\n\t\tname,\n\t\tvalue: state.value,\n\t\tclassName: classNames(\"i-input\", `i-input-${type}`),\n\t\tonChange: handleChange,\n\t\tonKeyDown: handleKeydown,\n\t\t...restProps,\n\t};\n\n\tconst clearable = clear && state.value;\n\tconst showHelper = type === \"password\" && !!state.value;\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t\trequired={required}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t<input {...inputProps} />\n\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive={!!clearable || showHelper}\n\t\t\t\t\ticon={HelperIcon}\n\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t/>\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n}) as CompositionInput;\n\nexport default Input;\n"],"names":["useReactive","useMemo","_jsx","VisibilityRound","VisibilityOffRound","useEffect","classNames","InputContainer","_jsxs","Helpericon"],"mappings":"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"}
1
+ {"version":3,"file":"input.js","sources":["../../../../packages/components/input/input.tsx"],"sourcesContent":["import { VisibilityOffRound, VisibilityRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect, useMemo } from \"react\";\nimport \"../../css/input.css\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { CompositionInput, IInput } from \"./type\";\n\nconst Input = ((props: IInput) => {\n\tconst {\n\t\tref,\n\t\ttype = \"text\",\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue ?? \"\",\n\t\tinitValue = \"\",\n\t\tprepend,\n\t\tappend,\n\t\tlabelInline,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tclear,\n\t\thideVisible,\n\t\tborder,\n\t\trequired,\n\t\tonChange,\n\t\tonEnter,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t\ttype,\n\t\tvisible: false,\n\t});\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst v = e.target.value;\n\n\t\tstate.value = v;\n\t\tonChange?.(v, e);\n\t};\n\n\tconst handleKeydown = (e) => {\n\t\te.code === \"Enter\" && onEnter?.(e);\n\t};\n\n\tconst handleHelperClick = () => {\n\t\tif (type === \"password\" && !hideVisible) {\n\t\t\tObject.assign(state, {\n\t\t\t\tvisible: !state.visible,\n\t\t\t\ttype: !state.visible ? \"text\" : \"password\",\n\t\t\t});\n\t\t\treturn;\n\t\t}\n\n\t\tconst v = \"\";\n\t\tonChange?.(v);\n\t};\n\n\tconst HelperIcon = useMemo(() => {\n\t\tif (type === \"password\") {\n\t\t\treturn state.visible ? <VisibilityRound /> : <VisibilityOffRound />;\n\t\t}\n\n\t\treturn undefined;\n\t}, [state.visible]);\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\ttype: state.type,\n\t\tname,\n\t\tvalue: state.value,\n\t\tclassName: classNames(\"i-input\", `i-input-${type}`),\n\t\tonChange: handleChange,\n\t\tonKeyDown: handleKeydown,\n\t\t...restProps,\n\t};\n\n\tconst clearable = clear && state.value;\n\tconst showHelper = type === \"password\" && !!state.value;\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t\trequired={required}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t<input {...inputProps} />\n\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive={!!clearable || showHelper}\n\t\t\t\t\ticon={HelperIcon}\n\t\t\t\t\tonClick={handleHelperClick}\n\t\t\t\t/>\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n}) as CompositionInput;\n\nexport default Input;\n"],"names":["useReactive","useMemo","_jsx","VisibilityRound","VisibilityOffRound","useEffect","classNames","InputContainer","_jsxs","Helpericon"],"mappings":"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"}
@@ -11,9 +11,9 @@ var utils = require('../../js/utils.js');
11
11
  var helpericon = require('../utils/helpericon/helpericon.js');
12
12
  var container = require('./container.js');
13
13
 
14
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
15
15
 
16
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
16
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
17
17
 
18
18
  const Number = (props) => {
19
19
  const { ref, label, name, value = props.initValue ?? "", initValue, labelInline, step = 1, min = -Infinity, max = Infinity, thousand, precision, type, className, status = "normal", append, border, prepend, message, tip, hideControl, style, onChange, onEnter, onInput, onBlur, ...restProps } = props;
@@ -52,7 +52,7 @@ const Number = (props) => {
52
52
  onChange: handleChange,
53
53
  ...restProps,
54
54
  };
55
- return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, children: jsxRuntime.jsxs("div", { className: classNames__default.default("i-input-item", {
55
+ return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, children: jsxRuntime.jsxs("div", { className: classNames__default("i-input-item", {
56
56
  [`i-input-${status}`]: status !== "normal",
57
57
  "i-input-borderless": !border,
58
58
  }), children: [prepend && jsxRuntime.jsx("div", { className: 'i-input-prepend', children: prepend }), !hideControl && (jsxRuntime.jsx(helpericon.default, { active: true, icon: jsxRuntime.jsx(material.MinusRound, {}), onClick: () => handleOperate(-step) })), jsxRuntime.jsx("input", { ...inputProps }), !hideControl && (jsxRuntime.jsx(helpericon.default, { active: true, icon: jsxRuntime.jsx(material.PlusRound, {}), onClick: () => handleOperate(step) })), append && jsxRuntime.jsx("div", { className: 'i-input-append', children: append })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"number.js","sources":["../../../../packages/components/input/number.tsx"],"sourcesContent":["import { MinusRound, PlusRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect } from \"react\";\nimport \"../../css/input.css\";\nimport { clamp, formatNumber } from \"../../js/utils\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { IInputNumber } from \"./type\";\n\nconst Number = (props: IInputNumber) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue ?? \"\",\n\t\tinitValue,\n\t\tlabelInline,\n\t\tstep = 1,\n\t\tmin = -Infinity,\n\t\tmax = Infinity,\n\t\tthousand,\n\t\tprecision,\n\t\ttype,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tappend,\n\t\tborder,\n\t\tprepend,\n\t\tmessage,\n\t\ttip,\n\t\thideControl,\n\t\tstyle,\n\t\tonChange,\n\t\tonEnter,\n\t\tonInput,\n\t\tonBlur,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\n\n\tconst getFormatNumber = (v: number) =>\n\t\tformatNumber(v, { precision, thousand });\n\n\tconst formatInputValue = (v?: string | number) => {\n\t\tif (!v) return \"\";\n\t\tif (typeof v === \"number\" || !thousand) return v;\n\n\t\treturn v.replaceAll(thousand, \"\");\n\t};\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst { value } = e.target;\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\"));\n\n\t\tstate.value = v;\n\t\tonChange?.(+v, e);\n\t};\n\n\tconst handleOperate = (param: number) => {\n\t\tconst value = formatInputValue(state.value) ?? 0;\n\t\tconst result = getRangeNumber(+value + param);\n\n\t\tstate.value = getFormatNumber(result);\n\n\t\tonChange?.(result);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\tname,\n\t\tvalue: state.value,\n\t\tclassName: \"i-input i-input-number\",\n\t\tonChange: handleChange,\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={() => handleOperate(-step)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input {...inputProps} />\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={() => handleOperate(step)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Number;\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound"],"mappings":"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"}
1
+ {"version":3,"file":"number.js","sources":["../../../../packages/components/input/number.tsx"],"sourcesContent":["import { MinusRound, PlusRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect } from \"react\";\nimport \"../../css/input.css\";\nimport { clamp, formatNumber } from \"../../js/utils\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { IInputNumber } from \"./type\";\n\nconst Number = (props: IInputNumber) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue ?? \"\",\n\t\tinitValue,\n\t\tlabelInline,\n\t\tstep = 1,\n\t\tmin = -Infinity,\n\t\tmax = Infinity,\n\t\tthousand,\n\t\tprecision,\n\t\ttype,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tappend,\n\t\tborder,\n\t\tprepend,\n\t\tmessage,\n\t\ttip,\n\t\thideControl,\n\t\tstyle,\n\t\tonChange,\n\t\tonEnter,\n\t\tonInput,\n\t\tonBlur,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\n\n\tconst getFormatNumber = (v: number) =>\n\t\tformatNumber(v, { precision, thousand });\n\n\tconst formatInputValue = (v?: string | number) => {\n\t\tif (!v) return \"\";\n\t\tif (typeof v === \"number\" || !thousand) return v;\n\n\t\treturn v.replaceAll(thousand, \"\");\n\t};\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>) => {\n\t\tconst { value } = e.target;\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\"));\n\n\t\tstate.value = v;\n\t\tonChange?.(+v, e);\n\t};\n\n\tconst handleOperate = (param: number) => {\n\t\tconst value = formatInputValue(state.value) ?? 0;\n\t\tconst result = getRangeNumber(+value + param);\n\n\t\tstate.value = getFormatNumber(result);\n\n\t\tonChange?.(result);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\tname,\n\t\tvalue: state.value,\n\t\tclassName: \"i-input i-input-number\",\n\t\tonChange: handleChange,\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={() => handleOperate(-step)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input {...inputProps} />\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={() => handleOperate(step)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Number;\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound"],"mappings":"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"}
@@ -11,9 +11,9 @@ var utils = require('../../js/utils.js');
11
11
  var helpericon = require('../utils/helpericon/helpericon.js');
12
12
  var container = require('./container.js');
13
13
 
14
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
15
15
 
16
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
16
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
17
17
 
18
18
  const Range = (props) => {
19
19
  const { label, name, value = props.initValue ?? "", initValue, labelInline, min = -Infinity, max = Infinity, type, className, status = "normal", message, tip, append, prepend, step = 1, thousand, precision, hideControl, placeholder, border, onChange, onBlur, style, ...restProps } = props;
@@ -65,7 +65,7 @@ const Range = (props) => {
65
65
  className: "i-input i-input-number",
66
66
  ...restProps,
67
67
  };
68
- return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, children: jsxRuntime.jsxs("div", { className: classNames__default.default("i-input-item", {
68
+ return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, children: jsxRuntime.jsxs("div", { className: classNames__default("i-input-item", {
69
69
  [`i-input-${status}`]: status !== "normal",
70
70
  "i-input-borderless": !border,
71
71
  }), children: [prepend && jsxRuntime.jsx("div", { className: 'i-input-prepend', children: prepend }), !hideControl && (jsxRuntime.jsx(helpericon.default, { active: true, icon: jsxRuntime.jsx(material.MinusRound, {}), onClick: (e) => handleOperate(e, -step, 0) })), jsxRuntime.jsx("input", { value: state.value?.[0] || "", placeholder: placeholder?.[0], ...inputProps, onChange: (e) => handleChange(e, 0) }), !hideControl && (jsxRuntime.jsx(helpericon.default, { active: true, icon: jsxRuntime.jsx(material.PlusRound, {}), onClick: (e) => handleOperate(e, step, 0) })), jsxRuntime.jsx(helpericon.default, { active: true, icon: jsxRuntime.jsx(material.SyncAltRound, {}), style: { margin: 0 }, onClick: handleSwitch }), !hideControl && (jsxRuntime.jsx(helpericon.default, { active: true, icon: jsxRuntime.jsx(material.MinusRound, {}), onClick: (e) => handleOperate(e, -step, 1) })), jsxRuntime.jsx("input", { value: state.value?.[1] || "", placeholder: placeholder?.[1], ...inputProps, onChange: (e) => handleChange(e, 1) }), !hideControl && (jsxRuntime.jsx(helpericon.default, { active: true, icon: jsxRuntime.jsx(material.PlusRound, {}), onClick: (e) => handleOperate(e, step, 1) })), append && jsxRuntime.jsx("div", { className: 'i-input-append', children: append })] }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"range.js","sources":["../../../../packages/components/input/range.tsx"],"sourcesContent":["import { MinusRound, PlusRound, SyncAltRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, MouseEvent, useEffect } from \"react\";\nimport \"../../css/input.css\";\nimport { clamp, formatNumber } from \"../../js/utils\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { IInputRange } from \"./type\";\n\nconst Range = (props: IInputRange) => {\n\tconst {\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue ?? \"\",\n\t\tinitValue,\n\t\tlabelInline,\n\t\tmin = -Infinity,\n\t\tmax = Infinity,\n\t\ttype,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tappend,\n\t\tprepend,\n\t\tstep = 1,\n\t\tthousand,\n\t\tprecision,\n\t\thideControl,\n\t\tplaceholder,\n\t\tborder,\n\t\tonChange,\n\t\tonBlur,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\n\n\tconst getFormatNumber = (v: number) =>\n\t\tformatNumber(v, { precision, thousand });\n\n\tconst formatInputValue = (v?: string | number) => {\n\t\tif (!v) return \"\";\n\t\tif (typeof v === \"number\" || !thousand) return v;\n\n\t\treturn v.replaceAll(thousand, \"\");\n\t};\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>, i: number) => {\n\t\tconst { value } = e.target;\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\"));\n\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\n\t\trange[i] = +v;\n\n\t\tstate.value = range;\n\t\tonChange?.(range, e);\n\t};\n\n\tconst handleOperate = (\n\t\te: MouseEvent<Element>,\n\t\tparam: number,\n\t\ti: number\n\t) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\n\t\tconst value = formatInputValue(range[i]) ?? 0;\n\t\tconst result = getRangeNumber(+value + param);\n\n\t\trange[i] = getFormatNumber(result);\n\n\t\tstate.value = range;\n\t\tonChange?.(range, e);\n\t};\n\n\tconst handleSwitch = (e: MouseEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tconst range = state.value ? state.value : [];\n\t\tconst v = range[0];\n\t\trange[0] = range[1];\n\t\trange[1] = v;\n\n\t\tstate.value = range;\n\t\tonChange?.(range);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tname,\n\t\tclassName: \"i-input i-input-number\",\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 0)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\tvalue={state.value?.[0] || \"\"}\n\t\t\t\t\tplaceholder={placeholder?.[0]}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t\tonChange={(e) => handleChange(e, 0)}\n\t\t\t\t/>\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 0)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive\n\t\t\t\t\ticon={<SyncAltRound />}\n\t\t\t\t\tstyle={{ margin: 0 }}\n\t\t\t\t\tonClick={handleSwitch}\n\t\t\t\t/>\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 1)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\tvalue={state.value?.[1] || \"\"}\n\t\t\t\t\tplaceholder={placeholder?.[1]}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t\tonChange={(e) => handleChange(e, 1)}\n\t\t\t\t/>\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 1)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Range;\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound","SyncAltRound"],"mappings":"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"}
1
+ {"version":3,"file":"range.js","sources":["../../../../packages/components/input/range.tsx"],"sourcesContent":["import { MinusRound, PlusRound, SyncAltRound } from \"@ricons/material\";\nimport { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, MouseEvent, useEffect } from \"react\";\nimport \"../../css/input.css\";\nimport { clamp, formatNumber } from \"../../js/utils\";\nimport Helpericon from \"../utils/helpericon\";\nimport InputContainer from \"./container\";\nimport type { IInputRange } from \"./type\";\n\nconst Range = (props: IInputRange) => {\n\tconst {\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue ?? \"\",\n\t\tinitValue,\n\t\tlabelInline,\n\t\tmin = -Infinity,\n\t\tmax = Infinity,\n\t\ttype,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tappend,\n\t\tprepend,\n\t\tstep = 1,\n\t\tthousand,\n\t\tprecision,\n\t\thideControl,\n\t\tplaceholder,\n\t\tborder,\n\t\tonChange,\n\t\tonBlur,\n\t\tstyle,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\n\tconst getRangeNumber = (v: number) => clamp(v, min, max);\n\n\tconst getFormatNumber = (v: number) =>\n\t\tformatNumber(v, { precision, thousand });\n\n\tconst formatInputValue = (v?: string | number) => {\n\t\tif (!v) return \"\";\n\t\tif (typeof v === \"number\" || !thousand) return v;\n\n\t\treturn v.replaceAll(thousand, \"\");\n\t};\n\n\tconst handleChange = (e: ChangeEvent<HTMLInputElement>, i: number) => {\n\t\tconst { value } = e.target;\n\t\tconst v = formatInputValue(value.replace(/[^\\d\\.-]/g, \"\"));\n\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\n\t\trange[i] = +v;\n\n\t\tstate.value = range;\n\t\tonChange?.(range, e);\n\t};\n\n\tconst handleOperate = (\n\t\te: MouseEvent<Element>,\n\t\tparam: number,\n\t\ti: number\n\t) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\n\t\tconst range = Array.isArray(state.value) ? state.value : [];\n\t\tconst value = formatInputValue(range[i]) ?? 0;\n\t\tconst result = getRangeNumber(+value + param);\n\n\t\trange[i] = getFormatNumber(result);\n\n\t\tstate.value = range;\n\t\tonChange?.(range, e);\n\t};\n\n\tconst handleSwitch = (e: MouseEvent) => {\n\t\te.preventDefault();\n\t\te.stopPropagation();\n\t\tconst range = state.value ? state.value : [];\n\t\tconst v = range[0];\n\t\trange[0] = range[1];\n\t\trange[1] = v;\n\n\t\tstate.value = range;\n\t\tonChange?.(range);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tname,\n\t\tclassName: \"i-input i-input-number\",\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t{prepend && <div className='i-input-prepend'>{prepend}</div>}\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 0)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\tvalue={state.value?.[0] || \"\"}\n\t\t\t\t\tplaceholder={placeholder?.[0]}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t\tonChange={(e) => handleChange(e, 0)}\n\t\t\t\t/>\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 0)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\t\t\t\t<Helpericon\n\t\t\t\t\tactive\n\t\t\t\t\ticon={<SyncAltRound />}\n\t\t\t\t\tstyle={{ margin: 0 }}\n\t\t\t\t\tonClick={handleSwitch}\n\t\t\t\t/>\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<MinusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, -step, 1)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t<input\n\t\t\t\t\tvalue={state.value?.[1] || \"\"}\n\t\t\t\t\tplaceholder={placeholder?.[1]}\n\t\t\t\t\t{...inputProps}\n\t\t\t\t\tonChange={(e) => handleChange(e, 1)}\n\t\t\t\t/>\n\n\t\t\t\t{!hideControl && (\n\t\t\t\t\t<Helpericon\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon={<PlusRound />}\n\t\t\t\t\t\tonClick={(e) => handleOperate(e, step, 1)}\n\t\t\t\t\t/>\n\t\t\t\t)}\n\n\t\t\t\t{append && <div className='i-input-append'>{append}</div>}\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Range;\n"],"names":["useReactive","clamp","formatNumber","useEffect","_jsx","InputContainer","_jsxs","classNames","Helpericon","MinusRound","PlusRound","SyncAltRound"],"mappings":"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"}
@@ -8,9 +8,9 @@ var classNames = require('classnames');
8
8
  var react = require('react');
9
9
  var container = require('./container.js');
10
10
 
11
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
11
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
12
12
 
13
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
13
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
14
14
 
15
15
  const Textarea = (props) => {
16
16
  const { ref, label, name, value = props.initValue, initValue, labelInline, className, status = "normal", message, tip, autoSize, border, style, onChange, onEnter, ...restProps } = props;
@@ -45,7 +45,7 @@ const Textarea = (props) => {
45
45
  onKeyDown: handleKeydown,
46
46
  ...restProps,
47
47
  };
48
- return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, children: jsxRuntime.jsx("div", { ref: refTextarea, className: classNames__default.default("i-input-item", {
48
+ return (jsxRuntime.jsx(container.default, { label: label, labelInline: labelInline, className: className, style: style, tip: message ?? tip, status: status, children: jsxRuntime.jsx("div", { ref: refTextarea, className: classNames__default("i-input-item", {
49
49
  [`i-input-${status}`]: status !== "normal",
50
50
  "i-input-borderless": !border,
51
51
  }), children: jsxRuntime.jsx("textarea", { ...inputProps }) }) }));
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sources":["../../../../packages/components/input/textarea.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect, useRef } from \"react\";\nimport \"../../css/input.css\";\nimport InputContainer from \"./container\";\nimport type { ITextarea } from \"./type\";\n\nconst Textarea = (props: ITextarea) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue,\n\t\tinitValue,\n\t\tlabelInline,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tautoSize,\n\t\tborder,\n\t\tstyle,\n\t\tonChange,\n\t\tonEnter,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\tconst refTextarea = useRef<HTMLDivElement>(null);\n\n\tconst handleChange = (\n\t\te: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n\t) => {\n\t\tconst v = e.target.value;\n\n\t\tstate.value = v;\n\n\t\tconst ta = refTextarea.current?.firstChild as HTMLElement;\n\t\tif (autoSize && ta) {\n\t\t\tta.style.height = `${ta.scrollHeight}px`;\n\t\t}\n\n\t\tonChange?.(v, e);\n\t};\n\n\tconst handleKeydown = (e) => {\n\t\tif (e.code !== \"Enter\") return;\n\n\t\te.stopPropagation();\n\t\tonEnter?.(e);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\tname,\n\t\tvalue: state.value,\n\t\tclassName: \"i-input i-textarea\",\n\t\tonChange: handleChange,\n\t\tonKeyDown: handleKeydown,\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tref={refTextarea}\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<textarea {...inputProps} />\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Textarea;\n"],"names":["useReactive","useRef","useEffect","_jsx","InputContainer","classNames"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,QAAQ,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,KAAK,GAAG,KAAK,CAAC,SAAS,EACvB,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,GAAG,EACH,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,kBAAW,CAAC;QACzB,KAAK;AACL,KAAA,CAAC;AACF,IAAA,MAAM,WAAW,GAAGC,YAAM,CAAiB,IAAI,CAAC;AAEhD,IAAA,MAAM,YAAY,GAAG,CACpB,CAAsD,KACnD;AACH,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;AAExB,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AAEf,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,UAAyB;AACzD,QAAA,IAAI,QAAQ,IAAI,EAAE,EAAE;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAA,EAAA,CAAI;;AAGzC,QAAA,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;AACjB,KAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE;QAExB,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,OAAO,GAAG,CAAC,CAAC;AACb,KAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACpB,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,MAAM,UAAU,GAAG;QAClB,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,QACCC,cAAC,CAAAC,iBAAc,IACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,OAAO,IAAI,GAAG,EACnB,MAAM,EAAE,MAAM,EAEd,QAAA,EAAAD,cAAA,CAAA,KAAA,EAAA,EACC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAEE,2BAAU,CAAC,cAAc,EAAE;AACrC,gBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;gBAC1C,oBAAoB,EAAE,CAAC,MAAM;AAC7B,aAAA,CAAC,YAEFF,cAAc,CAAA,UAAA,EAAA,EAAA,GAAA,UAAU,GAAI,EACvB,CAAA,EAAA,CACU;AAEnB;;;;"}
1
+ {"version":3,"file":"textarea.js","sources":["../../../../packages/components/input/textarea.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { ChangeEvent, useEffect, useRef } from \"react\";\nimport \"../../css/input.css\";\nimport InputContainer from \"./container\";\nimport type { ITextarea } from \"./type\";\n\nconst Textarea = (props: ITextarea) => {\n\tconst {\n\t\tref,\n\t\tlabel,\n\t\tname,\n\t\tvalue = props.initValue,\n\t\tinitValue,\n\t\tlabelInline,\n\t\tclassName,\n\t\tstatus = \"normal\",\n\t\tmessage,\n\t\ttip,\n\t\tautoSize,\n\t\tborder,\n\t\tstyle,\n\t\tonChange,\n\t\tonEnter,\n\t\t...restProps\n\t} = props;\n\n\tconst state = useReactive({\n\t\tvalue,\n\t});\n\tconst refTextarea = useRef<HTMLDivElement>(null);\n\n\tconst handleChange = (\n\t\te: ChangeEvent<HTMLInputElement | HTMLTextAreaElement>\n\t) => {\n\t\tconst v = e.target.value;\n\n\t\tstate.value = v;\n\n\t\tconst ta = refTextarea.current?.firstChild as HTMLElement;\n\t\tif (autoSize && ta) {\n\t\t\tta.style.height = `${ta.scrollHeight}px`;\n\t\t}\n\n\t\tonChange?.(v, e);\n\t};\n\n\tconst handleKeydown = (e) => {\n\t\tif (e.code !== \"Enter\") return;\n\n\t\te.stopPropagation();\n\t\tonEnter?.(e);\n\t};\n\n\tuseEffect(() => {\n\t\tstate.value = value;\n\t}, [value]);\n\n\tconst inputProps = {\n\t\tref,\n\t\tname,\n\t\tvalue: state.value,\n\t\tclassName: \"i-input i-textarea\",\n\t\tonChange: handleChange,\n\t\tonKeyDown: handleKeydown,\n\t\t...restProps,\n\t};\n\n\treturn (\n\t\t<InputContainer\n\t\t\tlabel={label}\n\t\t\tlabelInline={labelInline}\n\t\t\tclassName={className}\n\t\t\tstyle={style}\n\t\t\ttip={message ?? tip}\n\t\t\tstatus={status}\n\t\t>\n\t\t\t<div\n\t\t\t\tref={refTextarea}\n\t\t\t\tclassName={classNames(\"i-input-item\", {\n\t\t\t\t\t[`i-input-${status}`]: status !== \"normal\",\n\t\t\t\t\t\"i-input-borderless\": !border,\n\t\t\t\t})}\n\t\t\t>\n\t\t\t\t<textarea {...inputProps} />\n\t\t\t</div>\n\t\t</InputContainer>\n\t);\n};\n\nexport default Textarea;\n"],"names":["useReactive","useRef","useEffect","_jsx","InputContainer","classNames"],"mappings":";;;;;;;;;;;;;;AAOA,MAAM,QAAQ,GAAG,CAAC,KAAgB,KAAI;AACrC,IAAA,MAAM,EACL,GAAG,EACH,KAAK,EACL,IAAI,EACJ,KAAK,GAAG,KAAK,CAAC,SAAS,EACvB,SAAS,EACT,WAAW,EACX,SAAS,EACT,MAAM,GAAG,QAAQ,EACjB,OAAO,EACP,GAAG,EACH,QAAQ,EACR,MAAM,EACN,KAAK,EACL,QAAQ,EACR,OAAO,EACP,GAAG,SAAS,EACZ,GAAG,KAAK;IAET,MAAM,KAAK,GAAGA,kBAAW,CAAC;QACzB,KAAK;AACL,KAAA,CAAC;AACF,IAAA,MAAM,WAAW,GAAGC,YAAM,CAAiB,IAAI,CAAC;AAEhD,IAAA,MAAM,YAAY,GAAG,CACpB,CAAsD,KACnD;AACH,QAAA,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK;AAExB,QAAA,KAAK,CAAC,KAAK,GAAG,CAAC;AAEf,QAAA,MAAM,EAAE,GAAG,WAAW,CAAC,OAAO,EAAE,UAAyB;AACzD,QAAA,IAAI,QAAQ,IAAI,EAAE,EAAE;YACnB,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAA,EAAA,CAAI;;AAGzC,QAAA,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;AACjB,KAAC;AAED,IAAA,MAAM,aAAa,GAAG,CAAC,CAAC,KAAI;AAC3B,QAAA,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO;YAAE;QAExB,CAAC,CAAC,eAAe,EAAE;AACnB,QAAA,OAAO,GAAG,CAAC,CAAC;AACb,KAAC;IAEDC,eAAS,CAAC,MAAK;AACd,QAAA,KAAK,CAAC,KAAK,GAAG,KAAK;AACpB,KAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAEX,IAAA,MAAM,UAAU,GAAG;QAClB,GAAG;QACH,IAAI;QACJ,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,QAAA,SAAS,EAAE,oBAAoB;AAC/B,QAAA,QAAQ,EAAE,YAAY;AACtB,QAAA,SAAS,EAAE,aAAa;AACxB,QAAA,GAAG,SAAS;KACZ;AAED,IAAA,QACCC,cAAC,CAAAC,iBAAc,IACd,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,OAAO,IAAI,GAAG,EACnB,MAAM,EAAE,MAAM,EAEd,QAAA,EAAAD,cAAA,CAAA,KAAA,EAAA,EACC,GAAG,EAAE,WAAW,EAChB,SAAS,EAAEE,mBAAU,CAAC,cAAc,EAAE;AACrC,gBAAA,CAAC,WAAW,MAAM,CAAA,CAAE,GAAG,MAAM,KAAK,QAAQ;gBAC1C,oBAAoB,EAAE,CAAC,MAAM;AAC7B,aAAA,CAAC,YAEFF,cAAc,CAAA,UAAA,EAAA,EAAA,GAAA,UAAU,GAAI,EACvB,CAAA,EAAA,CACU;AAEnB;;;;"}
@@ -5,13 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var classNames = require('classnames');
7
7
 
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
9
9
 
10
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
10
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
11
11
 
12
12
  const Item = (props) => {
13
13
  const { ref, active, type, align, disabled, label, style, className, children, ...restProps } = props;
14
- return (jsxRuntime.jsxs("li", { ref: ref, className: classNames__default.default("i-list-item", className, {
14
+ return (jsxRuntime.jsxs("li", { ref: ref, className: classNames__default("i-list-item", className, {
15
15
  "i-list-item-active": active,
16
16
  "i-list-option": type === "option",
17
17
  disabled,
@@ -1 +1 @@
1
- {"version":3,"file":"item.js","sources":["../../../../packages/components/list/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { IListItem } from \"./type\";\n\nconst Item = (props: IListItem) => {\n\tconst {\n\t\tref,\n\t\tactive,\n\t\ttype,\n\t\talign,\n\t\tdisabled,\n\t\tlabel,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<li\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-list-item\", className, {\n\t\t\t\t\"i-list-item-active\": active,\n\t\t\t\t\"i-list-option\": type === \"option\",\n\t\t\t\tdisabled,\n\t\t\t})}\n\t\t\tstyle={{ alignItems: align, ...style }}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{label !== undefined && (\n\t\t\t\t<span className='i-list-item-label'>{label}</span>\n\t\t\t)}\n\t\t\t{children}\n\t\t</li>\n\t);\n};\n\nexport default Item;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGA,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;IACjC,MAAM,EACL,GAAG,EACH,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,QACCA,eAAA,CAAA,IAAA,EAAA,EACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,2BAAU,CAAC,aAAa,EAAE,SAAS,EAAE;AAC/C,YAAA,oBAAoB,EAAE,MAAM;YAC5B,eAAe,EAAE,IAAI,KAAK,QAAQ;YAClC,QAAQ;AACR,SAAA,CAAC,EACF,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAA,GAClC,SAAS,EAEZ,QAAA,EAAA,CAAA,KAAK,KAAK,SAAS,KACnBC,cAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAE,KAAK,EAAA,CAAQ,CAClD,EACA,QAAQ,CAAA,EAAA,CACL;AAEP;;;;"}
1
+ {"version":3,"file":"item.js","sources":["../../../../packages/components/list/item.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { IListItem } from \"./type\";\n\nconst Item = (props: IListItem) => {\n\tconst {\n\t\tref,\n\t\tactive,\n\t\ttype,\n\t\talign,\n\t\tdisabled,\n\t\tlabel,\n\t\tstyle,\n\t\tclassName,\n\t\tchildren,\n\t\t...restProps\n\t} = props;\n\n\treturn (\n\t\t<li\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-list-item\", className, {\n\t\t\t\t\"i-list-item-active\": active,\n\t\t\t\t\"i-list-option\": type === \"option\",\n\t\t\t\tdisabled,\n\t\t\t})}\n\t\t\tstyle={{ alignItems: align, ...style }}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{label !== undefined && (\n\t\t\t\t<span className='i-list-item-label'>{label}</span>\n\t\t\t)}\n\t\t\t{children}\n\t\t</li>\n\t);\n};\n\nexport default Item;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAGA,MAAM,IAAI,GAAG,CAAC,KAAgB,KAAI;IACjC,MAAM,EACL,GAAG,EACH,MAAM,EACN,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,KAAK,EACL,KAAK,EACL,SAAS,EACT,QAAQ,EACR,GAAG,SAAS,EACZ,GAAG,KAAK;AAET,IAAA,QACCA,eAAA,CAAA,IAAA,EAAA,EACC,GAAG,EAAE,GAAG,EACR,SAAS,EAAEC,mBAAU,CAAC,aAAa,EAAE,SAAS,EAAE;AAC/C,YAAA,oBAAoB,EAAE,MAAM;YAC5B,eAAe,EAAE,IAAI,KAAK,QAAQ;YAClC,QAAQ;AACR,SAAA,CAAC,EACF,KAAK,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,EAAA,GAClC,SAAS,EAEZ,QAAA,EAAA,CAAA,KAAK,KAAK,SAAS,KACnBC,cAAM,CAAA,MAAA,EAAA,EAAA,SAAS,EAAC,mBAAmB,EAAA,QAAA,EAAE,KAAK,EAAA,CAAQ,CAClD,EACA,QAAQ,CAAA,EAAA,CACL;AAEP;;;;"}
@@ -7,13 +7,13 @@ var classNames = require('classnames');
7
7
  var react = require('react');
8
8
  var item = require('./item.js');
9
9
 
10
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
11
11
 
12
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
12
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
13
13
 
14
14
  const List = (props) => {
15
15
  const { label, type, className, children, ...restProps } = props;
16
- return (jsxRuntime.jsx("ul", { className: classNames__default.default("i-list", className), ...restProps, children: react.Children.map(children, (node, i) => {
16
+ return (jsxRuntime.jsx("ul", { className: classNames__default("i-list", className), ...restProps, children: react.Children.map(children, (node, i) => {
17
17
  const renderLabel = typeof label === "function" ? label(i) : label;
18
18
  const { type, props: nodeProps } = node;
19
19
  if (type === item.default) {
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sources":["../../../../packages/components/list/list.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Children, cloneElement } from \"react\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { IList } from \"./type\";\n\nconst List = (props: IList) => {\n\tconst { label, type, className, children, ...restProps } = props;\n\n\treturn (\n\t\t<ul className={classNames(\"i-list\", className)} {...restProps}>\n\t\t\t{Children.map(children, (node: any, i) => {\n\t\t\t\tconst renderLabel =\n\t\t\t\t\ttypeof label === \"function\" ? label(i) : label;\n\n\t\t\t\tconst { type, props: nodeProps } = node;\n\n\t\t\t\tif (type === Item) {\n\t\t\t\t\treturn cloneElement(node, {\n\t\t\t\t\t\tlabel: renderLabel,\n\t\t\t\t\t\t...nodeProps,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn node;\n\t\t\t})}\n\t\t</ul>\n\t);\n};\n\nList.Item = Item;\n\nexport default List;\n"],"names":["_jsx","classNames","Children","Item","cloneElement"],"mappings":";;;;;;;;;;;;;AAMA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IAEhE,QACCA,cAAI,CAAA,IAAA,EAAA,EAAA,SAAS,EAAEC,2BAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAM,GAAA,SAAS,YAC3DC,cAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAS,EAAE,CAAC,KAAI;AACxC,YAAA,MAAM,WAAW,GAChB,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;YAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;AAEvC,YAAA,IAAI,IAAI,KAAKC,YAAI,EAAE;gBAClB,OAAOC,kBAAY,CAAC,IAAI,EAAE;AACzB,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,GAAG,SAAS;oBACZ,IAAI;AACJ,iBAAA,CAAC;;AAGH,YAAA,OAAO,IAAI;SACX,CAAC,EACE,CAAA;AAEP;AAEA,IAAI,CAAC,IAAI,GAAGD,YAAI;;;;"}
1
+ {"version":3,"file":"list.js","sources":["../../../../packages/components/list/list.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport { Children, cloneElement } from \"react\";\nimport \"./index.css\";\nimport Item from \"./item\";\nimport { IList } from \"./type\";\n\nconst List = (props: IList) => {\n\tconst { label, type, className, children, ...restProps } = props;\n\n\treturn (\n\t\t<ul className={classNames(\"i-list\", className)} {...restProps}>\n\t\t\t{Children.map(children, (node: any, i) => {\n\t\t\t\tconst renderLabel =\n\t\t\t\t\ttypeof label === \"function\" ? label(i) : label;\n\n\t\t\t\tconst { type, props: nodeProps } = node;\n\n\t\t\t\tif (type === Item) {\n\t\t\t\t\treturn cloneElement(node, {\n\t\t\t\t\t\tlabel: renderLabel,\n\t\t\t\t\t\t...nodeProps,\n\t\t\t\t\t\ttype,\n\t\t\t\t\t});\n\t\t\t\t}\n\n\t\t\t\treturn node;\n\t\t\t})}\n\t\t</ul>\n\t);\n};\n\nList.Item = Item;\n\nexport default List;\n"],"names":["_jsx","classNames","Children","Item","cloneElement"],"mappings":";;;;;;;;;;;;;AAMA,MAAM,IAAI,GAAG,CAAC,KAAY,KAAI;AAC7B,IAAA,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,GAAG,KAAK;IAEhE,QACCA,cAAI,CAAA,IAAA,EAAA,EAAA,SAAS,EAAEC,mBAAU,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAM,GAAA,SAAS,YAC3DC,cAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAS,EAAE,CAAC,KAAI;AACxC,YAAA,MAAM,WAAW,GAChB,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK;YAE/C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI;AAEvC,YAAA,IAAI,IAAI,KAAKC,YAAI,EAAE;gBAClB,OAAOC,kBAAY,CAAC,IAAI,EAAE;AACzB,oBAAA,KAAK,EAAE,WAAW;AAClB,oBAAA,GAAG,SAAS;oBACZ,IAAI;AACJ,iBAAA,CAAC;;AAGH,YAAA,OAAO,IAAI;SACX,CAAC,EACE,CAAA;AAEP;AAEA,IAAI,CAAC,IAAI,GAAGD,YAAI;;;;"}
@@ -5,13 +5,13 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
  var classNames = require('classnames');
7
7
 
8
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
8
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
9
9
 
10
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
10
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
11
11
 
12
12
  const Loading = (props) => {
13
13
  const { icon, text, size, absolute, style, className, ...restProps } = props;
14
- return (jsxRuntime.jsxs("div", { className: classNames__default.default("i-loading-container", {
14
+ return (jsxRuntime.jsxs("div", { className: classNames__default("i-loading-container", {
15
15
  absolute,
16
16
  }, className), style: {
17
17
  ...style,
@@ -1 +1 @@
1
- {"version":3,"file":"loading.js","sources":["../../../../packages/components/loading/loading.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport \"./index.css\";\nimport { ILoading } from \"./type\";\n\nconst Loading = (props: ILoading) => {\n\tconst { icon, text, size, absolute, style, className, ...restProps } =\n\t\tprops;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-loading-container\",\n\t\t\t\t{\n\t\t\t\t\tabsolute,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\tinset: absolute ? 0 : \"unset\",\n\t\t\t}}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{icon ?? (\n\t\t\t\t<svg\n\t\t\t\t\twidth='24'\n\t\t\t\t\theight='24'\n\t\t\t\t\tstroke='#000'\n\t\t\t\t\tviewBox='0 0 24 24'\n\t\t\t\t\txmlns='http://www.w3.org/2000/svg'\n\t\t\t\t\tclassName='i-loading-icon'\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tfontSize: size,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<circle\n\t\t\t\t\t\tcx='12'\n\t\t\t\t\t\tcy='12'\n\t\t\t\t\t\tr='9.5'\n\t\t\t\t\t\tfill='none'\n\t\t\t\t\t\tstrokeWidth='3'\n\t\t\t\t\t\tstrokeLinecap='round'\n\t\t\t\t\t\tstrokeDasharray={40}\n\t\t\t\t\t\tstrokeDashoffset={0}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t)}\n\n\t\t\t{text}\n\t\t</div>\n\t);\n};\n\nexport default Loading;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAIA,MAAM,OAAO,GAAG,CAAC,KAAe,KAAI;AACnC,IAAA,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GACnE,KAAK;AAEN,IAAA,QACCA,eACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,2BAAU,CACpB,qBAAqB,EACrB;YACC,QAAQ;AACR,SAAA,EACD,SAAS,CACT,EACD,KAAK,EAAE;AACN,YAAA,GAAG,KAAK;YACR,KAAK,EAAE,QAAQ,GAAG,CAAC,GAAG,OAAO;AAC7B,SAAA,EAAA,GACG,SAAS,EAAA,QAAA,EAAA,CAEZ,IAAI,KACJC,cAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE;AACN,oBAAA,QAAQ,EAAE,IAAI;AACd,iBAAA,EAAA,QAAA,EAEDA,2BACC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,KAAK,EACP,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,CAAC,GAClB,EACG,CAAA,CACN,EAEA,IAAI,CAAA,EAAA,CACA;AAER;;;;"}
1
+ {"version":3,"file":"loading.js","sources":["../../../../packages/components/loading/loading.tsx"],"sourcesContent":["import classNames from \"classnames\";\nimport \"./index.css\";\nimport { ILoading } from \"./type\";\n\nconst Loading = (props: ILoading) => {\n\tconst { icon, text, size, absolute, style, className, ...restProps } =\n\t\tprops;\n\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"i-loading-container\",\n\t\t\t\t{\n\t\t\t\t\tabsolute,\n\t\t\t\t},\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\tinset: absolute ? 0 : \"unset\",\n\t\t\t}}\n\t\t\t{...restProps}\n\t\t>\n\t\t\t{icon ?? (\n\t\t\t\t<svg\n\t\t\t\t\twidth='24'\n\t\t\t\t\theight='24'\n\t\t\t\t\tstroke='#000'\n\t\t\t\t\tviewBox='0 0 24 24'\n\t\t\t\t\txmlns='http://www.w3.org/2000/svg'\n\t\t\t\t\tclassName='i-loading-icon'\n\t\t\t\t\tstyle={{\n\t\t\t\t\t\tfontSize: size,\n\t\t\t\t\t}}\n\t\t\t\t>\n\t\t\t\t\t<circle\n\t\t\t\t\t\tcx='12'\n\t\t\t\t\t\tcy='12'\n\t\t\t\t\t\tr='9.5'\n\t\t\t\t\t\tfill='none'\n\t\t\t\t\t\tstrokeWidth='3'\n\t\t\t\t\t\tstrokeLinecap='round'\n\t\t\t\t\t\tstrokeDasharray={40}\n\t\t\t\t\t\tstrokeDashoffset={0}\n\t\t\t\t\t/>\n\t\t\t\t</svg>\n\t\t\t)}\n\n\t\t\t{text}\n\t\t</div>\n\t);\n};\n\nexport default Loading;\n"],"names":["_jsxs","classNames","_jsx"],"mappings":";;;;;;;;;;;AAIA,MAAM,OAAO,GAAG,CAAC,KAAe,KAAI;AACnC,IAAA,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,GACnE,KAAK;AAEN,IAAA,QACCA,eACC,CAAA,KAAA,EAAA,EAAA,SAAS,EAAEC,mBAAU,CACpB,qBAAqB,EACrB;YACC,QAAQ;AACR,SAAA,EACD,SAAS,CACT,EACD,KAAK,EAAE;AACN,YAAA,GAAG,KAAK;YACR,KAAK,EAAE,QAAQ,GAAG,CAAC,GAAG,OAAO;AAC7B,SAAA,EAAA,GACG,SAAS,EAAA,QAAA,EAAA,CAEZ,IAAI,KACJC,cAAA,CAAA,KAAA,EAAA,EACC,KAAK,EAAC,IAAI,EACV,MAAM,EAAC,IAAI,EACX,MAAM,EAAC,MAAM,EACb,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,EAClC,SAAS,EAAC,gBAAgB,EAC1B,KAAK,EAAE;AACN,oBAAA,QAAQ,EAAE,IAAI;AACd,iBAAA,EAAA,QAAA,EAEDA,2BACC,EAAE,EAAC,IAAI,EACP,EAAE,EAAC,IAAI,EACP,CAAC,EAAC,KAAK,EACP,IAAI,EAAC,MAAM,EACX,WAAW,EAAC,GAAG,EACf,aAAa,EAAC,OAAO,EACrB,eAAe,EAAE,EAAE,EACnB,gBAAgB,EAAE,CAAC,GAClB,EACG,CAAA,CACN,EAEA,IAAI,CAAA,EAAA,CACA;AAER;;;;"}
@@ -9,9 +9,9 @@ var radash = require('radash');
9
9
  var react = require('react');
10
10
  var client = require('react-dom/client');
11
11
 
12
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
12
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
13
13
 
14
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
14
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
15
15
 
16
16
  const AlignMap = {
17
17
  left: "flex-start",
@@ -28,7 +28,6 @@ const ItemDefaultConfig = {
28
28
  closable: true,
29
29
  active: false,
30
30
  };
31
- const container = createContainer();
32
31
  const handler = {
33
32
  oneInstance: null,
34
33
  callout(item) { },
@@ -44,9 +43,8 @@ const heights = {
44
43
  center: [],
45
44
  right: [],
46
45
  };
47
- client.createRoot(container).render(jsxRuntime.jsx(Messages, {}));
48
46
  const MessageItem = function ({ ref, active, content, top, className, style, onClick, }) {
49
- return (jsxRuntime.jsx("div", { ref: ref, className: classNames__default.default("i-message", className, {
47
+ return (jsxRuntime.jsx("div", { ref: ref, className: classNames__default("i-message", className, {
50
48
  "i-message-active": active,
51
49
  }), style: {
52
50
  ...style,
@@ -136,6 +134,8 @@ function message(config) {
136
134
  };
137
135
  }
138
136
  function createContainer() {
137
+ if (typeof document === "undefined")
138
+ return null;
139
139
  const container = document.createElement("div");
140
140
  container.dataset.id = "messages";
141
141
  document.body.append(container);
@@ -177,6 +177,16 @@ message.one = (config) => {
177
177
  handler.oneInstance = instance;
178
178
  }
179
179
  };
180
+ // 初始化消息容器
181
+ let container = null;
182
+ let root = null;
183
+ if (typeof window !== "undefined") {
184
+ container = createContainer();
185
+ if (container) {
186
+ root = client.createRoot(container);
187
+ root.render(jsxRuntime.jsx(Messages, {}));
188
+ }
189
+ }
180
190
 
181
191
  exports.default = message;
182
192
  //# sourceMappingURL=message.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"message.js","sources":["../../../../packages/components/message/message.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport { ReactNode, isValidElement, useEffect, useRef } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport \"./index.css\";\nimport type { IMessage, IMessageItem, THeights, TMessageQueue } from \"./type\";\n\nconst AlignMap = {\n\tleft: \"flex-start\",\n\tcenter: \"center\",\n\tright: \"flex-end\",\n};\n\nconst GlobalConfig = {\n\talign: \"center\",\n\toffset: \"12px\",\n\tgap: 12,\n};\n\nconst ItemDefaultConfig = {\n\tduration: 3000,\n\tclosable: true,\n\tactive: false,\n};\n\nconst container = createContainer();\nconst handler: {\n\toneInstance: null | IMessage;\n\tcallout: (item: IMessage) => void;\n\tclose: () => void;\n} = {\n\toneInstance: null,\n\tcallout(item: IMessage) {},\n\tclose() {},\n};\n\nconst queue: TMessageQueue = {\n\tleft: [],\n\tcenter: [],\n\tright: [],\n};\nconst heights: THeights = {\n\tleft: [],\n\tcenter: [],\n\tright: [],\n};\n\ncreateRoot(container).render(<Messages />);\n\nconst MessageItem = function ({\n\tref,\n\tactive,\n\tcontent,\n\ttop,\n\tclassName,\n\tstyle,\n\tonClick,\n}: IMessageItem) {\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-message\", className, {\n\t\t\t\t\"i-message-active\": active,\n\t\t\t})}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\ttop,\n\t\t\t}}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t{content}\n\t\t</div>\n\t);\n};\n\nfunction Messages() {\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst state = useReactive<{\n\t\ttops: THeights;\n\t\titems: TMessageQueue;\n\t}>({\n\t\titems: {\n\t\t\tleft: [],\n\t\t\tcenter: [],\n\t\t\tright: [],\n\t\t},\n\t\ttops: {\n\t\t\tleft: [],\n\t\t\tcenter: [],\n\t\t\tright: [],\n\t\t},\n\t});\n\tconst offsetTop = {\n\t\tleft: 0,\n\t\tcenter: 0,\n\t\tright: 0,\n\t};\n\n\tuseEffect(() => {\n\t\tObject.assign(handler, {\n\t\t\tcallout: function (item: IMessage) {\n\t\t\t\tconst { align = \"center\", unshift, onShow } = item;\n\t\t\t\tconst size = queue[align][unshift ? \"unshift\" : \"push\"](item);\n\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\titem.close = this.close.bind(item);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst h = ref.current?.offsetHeight || 0;\n\n\t\t\t\t\tqueue[align][unshift ? 0 : size - 1].active = true;\n\t\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\t\theights[align][unshift ? \"unshift\" : \"push\"](h);\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\n\t\t\t\t\tonShow?.();\n\t\t\t\t}, 12);\n\n\t\t\t\tif (item.duration !== 0) {\n\t\t\t\t\titem.timer = setTimeout(() => {\n\t\t\t\t\t\tthis.close.call(item);\n\t\t\t\t\t}, item.duration);\n\t\t\t\t}\n\t\t\t},\n\t\t\tclose: function () {\n\t\t\t\tconst item = this as IMessage;\n\t\t\t\tconst { align = \"center\", onHide } = item;\n\t\t\t\tconst index = queue[align].findIndex((i) => i.id === item.id);\n\t\t\t\tif (index < 0) return;\n\n\t\t\t\tqueue[align][index].active = false;\n\t\t\t\tstate.items[align] = [...queue[align]];\n\n\t\t\t\titem.timer = setTimeout(() => {\n\t\t\t\t\tconst index = queue[align].findIndex(\n\t\t\t\t\t\t(i) => i.id === item.id\n\t\t\t\t\t);\n\n\t\t\t\t\tqueue[align].splice(index, 1);\n\t\t\t\t\theights[align].splice(index, 1);\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\n\t\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\t\titem.timer && clearTimeout(item.timer);\n\t\t\t\t\tonHide?.();\n\t\t\t\t}, 240);\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tconst renderItems = (item, i) => {\n\t\tif (!item) return <></>;\n\n\t\tconst { id, active, content, align = \"center\", className } = item;\n\t\toffsetTop[align] += state.tops[align][i - 1] || 0;\n\t\tconst top = GlobalConfig.gap * i + offsetTop[align];\n\n\t\treturn (\n\t\t\t<MessageItem\n\t\t\t\tkey={id}\n\t\t\t\tref={ref}\n\t\t\t\tactive={active}\n\t\t\t\tcontent={content}\n\t\t\t\ttop={top}\n\t\t\t\tclassName={className}\n\t\t\t\tstyle={{ alignSelf: AlignMap[align] }}\n\t\t\t\tonClick={handler.close.bind(item)}\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className='i-messages'>\n\t\t\t{state.items.left.map(renderItems)}\n\t\t\t{state.items.center.map(renderItems)}\n\t\t\t{state.items.right.map(renderItems)}\n\t\t</div>\n\t);\n}\n\nexport function setMessageConfig(config: IMessage) {\n\tObject.assign(GlobalConfig, config);\n}\n\nfunction message(config: IMessage | ReactNode) {\n\tif (\n\t\t[\"string\", \"number\"].includes(typeof config) ||\n\t\tisValidElement(config)\n\t) {\n\t\tconfig = { content: config as ReactNode };\n\t}\n\n\tconfig = Object.assign(\n\t\t{ id: uid(7) },\n\t\tItemDefaultConfig,\n\t\tconfig as IMessage\n\t);\n\n\thandler.callout(config as IMessage);\n\n\treturn {\n\t\tinstance: config,\n\t\tclose: handler.close.bind(config),\n\t};\n}\n\nfunction createContainer() {\n\tconst container = document.createElement(\"div\");\n\tcontainer.dataset.id = \"messages\";\n\tdocument.body.append(container);\n\n\treturn container;\n}\n\nmessage.error = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-error\",\n\t});\n};\n\nmessage.success = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-success\",\n\t});\n};\n\nmessage.warning = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-warning\",\n\t});\n};\n\nmessage.one = (config: IMessage) => {\n\tconst o = handler.oneInstance;\n\n\tif (o) {\n\t\tif (o.active && o.duration !== 0) {\n\t\t\tclearTimeout(o.timer);\n\t\t\to.timer = setTimeout(() => {\n\t\t\t\to.close?.();\n\t\t\t}, o.duration);\n\t\t} else {\n\t\t\thandler.callout(o);\n\t\t}\n\t} else {\n\t\tconst { instance } = message(config);\n\t\thandler.oneInstance = instance;\n\t}\n};\n\nexport default message;\n"],"names":["createRoot","_jsx","classNames","useRef","useReactive","useEffect","_jsxs","isValidElement","uid"],"mappings":"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"}
1
+ {"version":3,"file":"message.js","sources":["../../../../packages/components/message/message.tsx"],"sourcesContent":["import { useReactive } from \"ahooks\";\nimport classNames from \"classnames\";\nimport { uid } from \"radash\";\nimport { ReactNode, isValidElement, useEffect, useRef } from \"react\";\nimport { createRoot } from \"react-dom/client\";\nimport \"./index.css\";\nimport type { IMessage, IMessageItem, THeights, TMessageQueue } from \"./type\";\n\nconst AlignMap = {\n\tleft: \"flex-start\",\n\tcenter: \"center\",\n\tright: \"flex-end\",\n};\n\nconst GlobalConfig = {\n\talign: \"center\",\n\toffset: \"12px\",\n\tgap: 12,\n};\n\nconst ItemDefaultConfig = {\n\tduration: 3000,\n\tclosable: true,\n\tactive: false,\n};\n\nconst handler: {\n\toneInstance: null | IMessage;\n\tcallout: (item: IMessage) => void;\n\tclose: () => void;\n} = {\n\toneInstance: null,\n\tcallout(item: IMessage) {},\n\tclose() {},\n};\n\nconst queue: TMessageQueue = {\n\tleft: [],\n\tcenter: [],\n\tright: [],\n};\nconst heights: THeights = {\n\tleft: [],\n\tcenter: [],\n\tright: [],\n};\n\nconst MessageItem = function ({\n\tref,\n\tactive,\n\tcontent,\n\ttop,\n\tclassName,\n\tstyle,\n\tonClick,\n}: IMessageItem) {\n\treturn (\n\t\t<div\n\t\t\tref={ref}\n\t\t\tclassName={classNames(\"i-message\", className, {\n\t\t\t\t\"i-message-active\": active,\n\t\t\t})}\n\t\t\tstyle={{\n\t\t\t\t...style,\n\t\t\t\ttop,\n\t\t\t}}\n\t\t\tonClick={onClick}\n\t\t>\n\t\t\t{content}\n\t\t</div>\n\t);\n};\n\nfunction Messages() {\n\tconst ref = useRef<HTMLDivElement>(null);\n\tconst state = useReactive<{\n\t\ttops: THeights;\n\t\titems: TMessageQueue;\n\t}>({\n\t\titems: {\n\t\t\tleft: [],\n\t\t\tcenter: [],\n\t\t\tright: [],\n\t\t},\n\t\ttops: {\n\t\t\tleft: [],\n\t\t\tcenter: [],\n\t\t\tright: [],\n\t\t},\n\t});\n\tconst offsetTop = {\n\t\tleft: 0,\n\t\tcenter: 0,\n\t\tright: 0,\n\t};\n\n\tuseEffect(() => {\n\t\tObject.assign(handler, {\n\t\t\tcallout: function (item: IMessage) {\n\t\t\t\tconst { align = \"center\", unshift, onShow } = item;\n\t\t\t\tconst size = queue[align][unshift ? \"unshift\" : \"push\"](item);\n\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\titem.close = this.close.bind(item);\n\n\t\t\t\tsetTimeout(() => {\n\t\t\t\t\tconst h = ref.current?.offsetHeight || 0;\n\n\t\t\t\t\tqueue[align][unshift ? 0 : size - 1].active = true;\n\t\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\t\theights[align][unshift ? \"unshift\" : \"push\"](h);\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\n\t\t\t\t\tonShow?.();\n\t\t\t\t}, 12);\n\n\t\t\t\tif (item.duration !== 0) {\n\t\t\t\t\titem.timer = setTimeout(() => {\n\t\t\t\t\t\tthis.close.call(item);\n\t\t\t\t\t}, item.duration);\n\t\t\t\t}\n\t\t\t},\n\t\t\tclose: function () {\n\t\t\t\tconst item = this as IMessage;\n\t\t\t\tconst { align = \"center\", onHide } = item;\n\t\t\t\tconst index = queue[align].findIndex((i) => i.id === item.id);\n\t\t\t\tif (index < 0) return;\n\n\t\t\t\tqueue[align][index].active = false;\n\t\t\t\tstate.items[align] = [...queue[align]];\n\n\t\t\t\titem.timer = setTimeout(() => {\n\t\t\t\t\tconst index = queue[align].findIndex(\n\t\t\t\t\t\t(i) => i.id === item.id\n\t\t\t\t\t);\n\n\t\t\t\t\tqueue[align].splice(index, 1);\n\t\t\t\t\theights[align].splice(index, 1);\n\t\t\t\t\tstate.tops[align] = [...heights[align]];\n\t\t\t\t\tstate.items[align] = [...queue[align]];\n\t\t\t\t\titem.timer && clearTimeout(item.timer);\n\t\t\t\t\tonHide?.();\n\t\t\t\t}, 240);\n\t\t\t},\n\t\t});\n\t}, []);\n\n\tconst renderItems = (item, i) => {\n\t\tif (!item) return <></>;\n\n\t\tconst { id, active, content, align = \"center\", className } = item;\n\t\toffsetTop[align] += state.tops[align][i - 1] || 0;\n\t\tconst top = GlobalConfig.gap * i + offsetTop[align];\n\n\t\treturn (\n\t\t\t<MessageItem\n\t\t\t\tkey={id}\n\t\t\t\tref={ref}\n\t\t\t\tactive={active}\n\t\t\t\tcontent={content}\n\t\t\t\ttop={top}\n\t\t\t\tclassName={className}\n\t\t\t\tstyle={{ alignSelf: AlignMap[align] }}\n\t\t\t\tonClick={handler.close.bind(item)}\n\t\t\t/>\n\t\t);\n\t};\n\n\treturn (\n\t\t<div className='i-messages'>\n\t\t\t{state.items.left.map(renderItems)}\n\t\t\t{state.items.center.map(renderItems)}\n\t\t\t{state.items.right.map(renderItems)}\n\t\t</div>\n\t);\n}\n\nexport function setMessageConfig(config: IMessage) {\n\tObject.assign(GlobalConfig, config);\n}\n\nfunction message(config: IMessage | ReactNode) {\n\tif (\n\t\t[\"string\", \"number\"].includes(typeof config) ||\n\t\tisValidElement(config)\n\t) {\n\t\tconfig = { content: config as ReactNode };\n\t}\n\n\tconfig = Object.assign(\n\t\t{ id: uid(7) },\n\t\tItemDefaultConfig,\n\t\tconfig as IMessage\n\t);\n\n\thandler.callout(config as IMessage);\n\n\treturn {\n\t\tinstance: config,\n\t\tclose: handler.close.bind(config),\n\t};\n}\n\nfunction createContainer() {\n\tif (typeof document === \"undefined\") return null;\n\tconst container = document.createElement(\"div\");\n\tcontainer.dataset.id = \"messages\";\n\tdocument.body.append(container);\n\treturn container;\n}\n\nmessage.error = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-error\",\n\t});\n};\n\nmessage.success = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-success\",\n\t});\n};\n\nmessage.warning = (content: ReactNode) => {\n\treturn message({\n\t\tcontent,\n\t\tclassName: \"bg-warning\",\n\t});\n};\n\nmessage.one = (config: IMessage) => {\n\tconst o = handler.oneInstance;\n\n\tif (o) {\n\t\tif (o.active && o.duration !== 0) {\n\t\t\tclearTimeout(o.timer);\n\t\t\to.timer = setTimeout(() => {\n\t\t\t\to.close?.();\n\t\t\t}, o.duration);\n\t\t} else {\n\t\t\thandler.callout(o);\n\t\t}\n\t} else {\n\t\tconst { instance } = message(config);\n\t\thandler.oneInstance = instance;\n\t}\n};\n\n// 初始化消息容器\nlet container: HTMLElement | null = null;\nlet root: any = null;\n\nif (typeof window !== \"undefined\") {\n\tcontainer = createContainer();\n\tif (container) {\n\t\troot = createRoot(container);\n\t\troot.render(<Messages />);\n\t}\n}\n\nexport default message;\n"],"names":["_jsx","classNames","useRef","useReactive","useEffect","_jsxs","isValidElement","uid","createRoot"],"mappings":"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"}
@@ -11,9 +11,9 @@ require('../button/index.js');
11
11
  var helpericon = require('../utils/helpericon/helpericon.js');
12
12
  var button = require('../button/button.js');
13
13
 
14
- function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
14
+ function _interopDefaultCompat (e) { return e && typeof e === 'object' && 'default' in e ? e.default : e; }
15
15
 
16
- var classNames__default = /*#__PURE__*/_interopDefault(classNames);
16
+ var classNames__default = /*#__PURE__*/_interopDefaultCompat(classNames);
17
17
 
18
18
  function DefaultContent(props) {
19
19
  const { title, footer, hideCloseButton, footerLeft, okButtonProps, cancelButtonProps, children, onOk, onClose, } = props;
@@ -88,14 +88,19 @@ function Modal(props) {
88
88
  react.useEffect(() => {
89
89
  visible ? handleShow() : handleHide();
90
90
  }, [visible]);
91
+ const handleClick = () => {
92
+ if (typeof document === "undefined")
93
+ return;
94
+ document.documentElement.click();
95
+ };
91
96
  if (!show)
92
97
  return null;
93
- return reactDom.createPortal(jsxRuntime.jsx("div", { className: classNames__default.default("i-modal-container", {
98
+ return reactDom.createPortal(jsxRuntime.jsx("div", { className: classNames__default("i-modal-container", {
94
99
  "i-modal-backdrop": !hideBackdrop,
95
100
  "i-modal-customized": customized,
96
101
  "i-modal-active": active,
97
102
  fixed,
98
- }, className), style: style, onClick: handleBackdropClick, children: jsxRuntime.jsxs("div", { className: classNames__default.default("i-modal", {
103
+ }, className), style: style, onClick: handleBackdropClick, children: jsxRuntime.jsxs("div", { className: classNames__default("i-modal", {
99
104
  bounced,
100
105
  shadow: !hideShadow,
101
106
  }), style: {
@@ -103,9 +108,9 @@ function Modal(props) {
103
108
  height,
104
109
  }, onClick: (e) => {
105
110
  e.stopPropagation();
106
- document.documentElement.click();
111
+ handleClick();
107
112
  onClick?.(e);
108
- }, ...restProps, children: [customized && children, !customized && (jsxRuntime.jsx(DefaultContent, { title: title, hideCloseButton: hideCloseButton, footer: footer, okButtonProps: okButtonProps, cancelButtonProps: cancelButtonProps, children: children, footerLeft: footerLeft, onOk: onOk, onClose: handleHide }))] }) }), document.body);
113
+ }, ...restProps, children: [customized && children, !customized && (jsxRuntime.jsx(DefaultContent, { title: title, hideCloseButton: hideCloseButton, footer: footer, okButtonProps: okButtonProps, cancelButtonProps: cancelButtonProps, children: children, footerLeft: footerLeft, onOk: onOk, onClose: handleHide }))] }) }), document?.body ?? null);
109
114
  }
110
115
 
111
116
  exports.default = Modal;