abrplus-ui-kit 0.2.9

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 (224) hide show
  1. package/README.md +159 -0
  2. package/dist/antOverrides.cjs.js +127 -0
  3. package/dist/antOverrides.es.js +127 -0
  4. package/dist/atoms.cjs.js +391 -0
  5. package/dist/atoms.es.js +392 -0
  6. package/dist/colors-CztsZ6e_.js +2213 -0
  7. package/dist/colors-TPZkyKI4.cjs +2212 -0
  8. package/dist/deepMerge-CG1he8ZD.js +20 -0
  9. package/dist/deepMerge-Cn27K7-s.cjs +19 -0
  10. package/dist/index-2Q5IExhU.cjs +89 -0
  11. package/dist/index-BOfdgXvN.cjs +265 -0
  12. package/dist/index-BnnlMHRY.cjs +27 -0
  13. package/dist/index-BzahloOb.js +28 -0
  14. package/dist/index-C24zbKLS.js +350 -0
  15. package/dist/index-CCvWoynu.cjs +12 -0
  16. package/dist/index-CQKRmQkW.js +543 -0
  17. package/dist/index-CW9vyiq6.cjs +349 -0
  18. package/dist/index-D8BknfUe.js +266 -0
  19. package/dist/index-DCP3xelB.cjs +1629 -0
  20. package/dist/index-DCojd1ld.js +90 -0
  21. package/dist/index-DLUd_0LP.js +13 -0
  22. package/dist/index-WgcaHHjH.js +1630 -0
  23. package/dist/index-keKfh9ZW.cjs +542 -0
  24. package/dist/index.cjs.js +109 -0
  25. package/dist/index.css +1519 -0
  26. package/dist/index.es.js +109 -0
  27. package/dist/index2.css +3 -0
  28. package/dist/molecules.cjs.js +7823 -0
  29. package/dist/molecules.es.js +7825 -0
  30. package/dist/organisms.cjs.js +940 -0
  31. package/dist/organisms.es.js +940 -0
  32. package/dist/provider.cjs.js +48 -0
  33. package/dist/provider.es.js +48 -0
  34. package/dist/sortable.esm-CwrpjqII.cjs +3872 -0
  35. package/dist/sortable.esm-DfJu5xWT.js +3873 -0
  36. package/dist/theme.css +102 -0
  37. package/dist/types/antOverrides.d.ts +2 -0
  38. package/dist/types/assets/fonts/icomoon/selection.json.d.ts +3 -0
  39. package/dist/types/atoms.d.ts +2 -0
  40. package/dist/types/components/antOverrides/alert/index.d.ts +2 -0
  41. package/dist/types/components/antOverrides/avatar/index.d.ts +15 -0
  42. package/dist/types/components/antOverrides/breadcrumb/index.d.ts +4 -0
  43. package/dist/types/components/antOverrides/dropdown/index.d.ts +4 -0
  44. package/dist/types/components/antOverrides/flex/index.d.ts +4 -0
  45. package/dist/types/components/antOverrides/image/index.d.ts +7 -0
  46. package/dist/types/components/antOverrides/index.d.ts +18 -0
  47. package/dist/types/components/antOverrides/infiniteLoader/index.d.ts +12 -0
  48. package/dist/types/components/antOverrides/loading/index.d.ts +14 -0
  49. package/dist/types/components/antOverrides/menu/index.d.ts +8 -0
  50. package/dist/types/components/antOverrides/pagination/index.d.ts +3 -0
  51. package/dist/types/components/antOverrides/progress/index.d.ts +3 -0
  52. package/dist/types/components/antOverrides/segmented/index.d.ts +4 -0
  53. package/dist/types/components/antOverrides/skeleton/index.d.ts +10 -0
  54. package/dist/types/components/antOverrides/slider/index.d.ts +5 -0
  55. package/dist/types/components/antOverrides/steps/index.d.ts +11 -0
  56. package/dist/types/components/antOverrides/switch/index.d.ts +3 -0
  57. package/dist/types/components/antOverrides/text/index.d.ts +31 -0
  58. package/dist/types/components/antOverrides/timeline/index.d.ts +4 -0
  59. package/dist/types/components/antOverrides/tooltip/index.d.ts +8 -0
  60. package/dist/types/components/antOverrides/upload/index.d.ts +7 -0
  61. package/dist/types/components/atoms/badge/index.d.ts +3 -0
  62. package/dist/types/components/atoms/behavioralAtoms/index.d.ts +2 -0
  63. package/dist/types/components/atoms/behavioralAtoms/portalContainer/index.d.ts +7 -0
  64. package/dist/types/components/atoms/behavioralAtoms/render/index.d.ts +14 -0
  65. package/dist/types/components/atoms/borderedTitle/index.d.ts +9 -0
  66. package/dist/types/components/atoms/box/index.d.ts +7 -0
  67. package/dist/types/components/atoms/breadcrumbs/index.d.ts +5 -0
  68. package/dist/types/components/atoms/card/index.d.ts +5 -0
  69. package/dist/types/components/atoms/checkbox/index.d.ts +7 -0
  70. package/dist/types/components/atoms/clickAwayListener/index.d.ts +11 -0
  71. package/dist/types/components/atoms/collapse/index.d.ts +6 -0
  72. package/dist/types/components/atoms/datePicker/index.d.ts +16 -0
  73. package/dist/types/components/atoms/empty/index.d.ts +5 -0
  74. package/dist/types/components/atoms/fallback/index.d.ts +4 -0
  75. package/dist/types/components/atoms/horizontalLine/index.d.ts +9 -0
  76. package/dist/types/components/atoms/icon/constants/iconNames.d.ts +1 -0
  77. package/dist/types/components/atoms/icon/constants/iconsContent.d.ts +808 -0
  78. package/dist/types/components/atoms/icon/iconPack/index.d.ts +2 -0
  79. package/dist/types/components/atoms/icon/index.d.ts +26 -0
  80. package/dist/types/components/atoms/index.d.ts +24 -0
  81. package/dist/types/components/atoms/navigationTabs/index.d.ts +35 -0
  82. package/dist/types/components/atoms/popover/index.d.ts +14 -0
  83. package/dist/types/components/atoms/popover/link.d.ts +6 -0
  84. package/dist/types/components/atoms/radio/index.d.ts +7 -0
  85. package/dist/types/components/atoms/rangePicker/index.d.ts +14 -0
  86. package/dist/types/components/atoms/separator/index.d.ts +5 -0
  87. package/dist/types/components/atoms/tab/index.d.ts +9 -0
  88. package/dist/types/components/atoms/tooltip/index.d.ts +7 -0
  89. package/dist/types/components/atoms/tooltip/titleTooltip.d.ts +5 -0
  90. package/dist/types/components/atoms/upload/index.d.ts +11 -0
  91. package/dist/types/components/atoms/verticalLine/index.d.ts +7 -0
  92. package/dist/types/components/atoms/view/helper.d.ts +20 -0
  93. package/dist/types/components/atoms/view/index.d.ts +26 -0
  94. package/dist/types/components/index.d.ts +4 -0
  95. package/dist/types/components/molecules/accordion/index.d.ts +20 -0
  96. package/dist/types/components/molecules/actionHeader/index.d.ts +11 -0
  97. package/dist/types/components/molecules/audioVisualizer/index.d.ts +15 -0
  98. package/dist/types/components/molecules/avatarUpload/index.d.ts +15 -0
  99. package/dist/types/components/molecules/button/action/index.d.ts +5 -0
  100. package/dist/types/components/molecules/button/icon/index.d.ts +11 -0
  101. package/dist/types/components/molecules/button/index.d.ts +18 -0
  102. package/dist/types/components/molecules/button/negative/index.d.ts +5 -0
  103. package/dist/types/components/molecules/button/primary/index.d.ts +3 -0
  104. package/dist/types/components/molecules/button/secondary/index.d.ts +3 -0
  105. package/dist/types/components/molecules/button/secondaryQuiet/index.d.ts +3 -0
  106. package/dist/types/components/molecules/button/shared.d.ts +23 -0
  107. package/dist/types/components/molecules/button/tertiary/index.d.ts +3 -0
  108. package/dist/types/components/molecules/button/text/index.d.ts +10 -0
  109. package/dist/types/components/molecules/catch/index.d.ts +9 -0
  110. package/dist/types/components/molecules/chevronIcon/index.d.ts +6 -0
  111. package/dist/types/components/molecules/copyButton/index.d.ts +8 -0
  112. package/dist/types/components/molecules/index.d.ts +24 -0
  113. package/dist/types/components/molecules/input/TextArea/index.d.ts +25 -0
  114. package/dist/types/components/molecules/input/default/index.d.ts +23 -0
  115. package/dist/types/components/molecules/input/emojiPicker/index.d.ts +21 -0
  116. package/dist/types/components/molecules/input/ghost/index.d.ts +25 -0
  117. package/dist/types/components/molecules/input/index.d.ts +19 -0
  118. package/dist/types/components/molecules/input/number/index.d.ts +28 -0
  119. package/dist/types/components/molecules/input/search/index.d.ts +7 -0
  120. package/dist/types/components/molecules/input/tag/index.d.ts +13 -0
  121. package/dist/types/components/molecules/inputDatePicker/index.d.ts +17 -0
  122. package/dist/types/components/molecules/inputErrorMessage/index.d.ts +9 -0
  123. package/dist/types/components/molecules/inputRangePicker/index.d.ts +16 -0
  124. package/dist/types/components/molecules/logo/index.d.ts +25 -0
  125. package/dist/types/components/molecules/noResult/index.d.ts +8 -0
  126. package/dist/types/components/molecules/notification/index.d.ts +13 -0
  127. package/dist/types/components/molecules/select/components/clearIcon.d.ts +2 -0
  128. package/dist/types/components/molecules/select/components/index.d.ts +5 -0
  129. package/dist/types/components/molecules/select/components/label.d.ts +6 -0
  130. package/dist/types/components/molecules/select/components/notFound.d.ts +5 -0
  131. package/dist/types/components/molecules/select/components/placeholder.d.ts +7 -0
  132. package/dist/types/components/molecules/select/components/suffix.d.ts +10 -0
  133. package/dist/types/components/molecules/select/index.d.ts +13 -0
  134. package/dist/types/components/molecules/select/multiple/index.d.ts +5 -0
  135. package/dist/types/components/molecules/select/single/index.d.ts +5 -0
  136. package/dist/types/components/molecules/select/style.d.ts +8 -0
  137. package/dist/types/components/molecules/select/treeSelect/index.d.ts +2 -0
  138. package/dist/types/components/molecules/select/types.d.ts +108 -0
  139. package/dist/types/components/molecules/sortableList/index.d.ts +19 -0
  140. package/dist/types/components/molecules/spliter/index.d.ts +8 -0
  141. package/dist/types/components/molecules/tag/index.d.ts +17 -0
  142. package/dist/types/components/molecules/tagCollectionView/index.d.ts +14 -0
  143. package/dist/types/components/molecules/tagInput/components/notFoundAddItem.d.ts +4 -0
  144. package/dist/types/components/molecules/tagInput/index.d.ts +6 -0
  145. package/dist/types/components/molecules/tagInput/style.d.ts +9 -0
  146. package/dist/types/components/molecules/tagInput/types.d.ts +66 -0
  147. package/dist/types/components/molecules/timePicker/index.d.ts +6 -0
  148. package/dist/types/components/molecules/titleBox/index.d.ts +8 -0
  149. package/dist/types/components/molecules/titleBox/status.d.ts +5 -0
  150. package/dist/types/components/molecules/titleBox/title.d.ts +7 -0
  151. package/dist/types/components/molecules/tree/index.d.ts +29 -0
  152. package/dist/types/components/molecules/tree/searchBar/index.d.ts +7 -0
  153. package/dist/types/components/molecules/verticalTabs/index.d.ts +19 -0
  154. package/dist/types/components/organisms/avatarGroup/index.d.ts +25 -0
  155. package/dist/types/components/organisms/drawer/components/footer.d.ts +3 -0
  156. package/dist/types/components/organisms/drawer/components/headerTitle.d.ts +8 -0
  157. package/dist/types/components/organisms/drawer/index.d.ts +24 -0
  158. package/dist/types/components/organisms/index.d.ts +4 -0
  159. package/dist/types/components/organisms/modal/base.d.ts +6 -0
  160. package/dist/types/components/organisms/modal/confirm.d.ts +6 -0
  161. package/dist/types/components/organisms/modal/delete.d.ts +4 -0
  162. package/dist/types/components/organisms/modal/error.d.ts +4 -0
  163. package/dist/types/components/organisms/modal/index.d.ts +14 -0
  164. package/dist/types/components/organisms/modal/info.d.ts +4 -0
  165. package/dist/types/components/organisms/modal/type.d.ts +11 -0
  166. package/dist/types/components/organisms/table/column.d.ts +20 -0
  167. package/dist/types/components/organisms/table/components/cell/currencyCell.d.ts +7 -0
  168. package/dist/types/components/organisms/table/components/cell/dateCell.d.ts +6 -0
  169. package/dist/types/components/organisms/table/components/cell/index.d.ts +10 -0
  170. package/dist/types/components/organisms/table/components/cell/status.d.ts +8 -0
  171. package/dist/types/components/organisms/table/components/expandIcon.d.ts +7 -0
  172. package/dist/types/components/organisms/table/components/headerTitle.d.ts +10 -0
  173. package/dist/types/components/organisms/table/config.d.ts +8 -0
  174. package/dist/types/components/organisms/table/dndSort/context.d.ts +6 -0
  175. package/dist/types/components/organisms/table/dndSort/dragHandle.d.ts +1 -0
  176. package/dist/types/components/organisms/table/dndSort/index.d.ts +3 -0
  177. package/dist/types/components/organisms/table/dndSort/provider.d.ts +10 -0
  178. package/dist/types/components/organisms/table/dndSort/row.d.ts +6 -0
  179. package/dist/types/components/organisms/table/index.d.ts +30 -0
  180. package/dist/types/components/organisms/table/pagination/components.d.ts +18 -0
  181. package/dist/types/components/organisms/table/pagination/usePagination.d.ts +22 -0
  182. package/dist/types/configs/constructors/AbrplusUIKit.d.ts +17 -0
  183. package/dist/types/configs/constructors/index.d.ts +1 -0
  184. package/dist/types/configs/index.d.ts +6 -0
  185. package/dist/types/configs/locales/en.d.ts +1030 -0
  186. package/dist/types/configs/locales/fa.d.ts +1031 -0
  187. package/dist/types/configs/locales/i18nextTFunction.d.ts +5 -0
  188. package/dist/types/configs/locales/index.d.ts +10 -0
  189. package/dist/types/configs/providers/AbrplusUIKitProvider.d.ts +11 -0
  190. package/dist/types/configs/providers/index.d.ts +1 -0
  191. package/dist/types/configs/tailwindcss/index.d.ts +103 -0
  192. package/dist/types/configs/theme/colors.d.ts +114 -0
  193. package/dist/types/configs/theme/index.d.ts +1 -0
  194. package/dist/types/configs/types/index.d.ts +98 -0
  195. package/dist/types/constants/chartColors.d.ts +1 -0
  196. package/dist/types/constants/datepickerColors.d.ts +2 -0
  197. package/dist/types/constants/dimantions.d.ts +12 -0
  198. package/dist/types/constants/enum.d.ts +5 -0
  199. package/dist/types/constants/index.d.ts +3 -0
  200. package/dist/types/constants/variables.d.ts +2 -0
  201. package/dist/types/hooks/index.d.ts +6 -0
  202. package/dist/types/hooks/useAntConfig.d.ts +24 -0
  203. package/dist/types/hooks/useDebounce.d.ts +1 -0
  204. package/dist/types/hooks/useInteractions.d.ts +15 -0
  205. package/dist/types/hooks/useLocalStorageState.d.ts +3 -0
  206. package/dist/types/hooks/useObserveWindow.d.ts +9 -0
  207. package/dist/types/hooks/useWindowDimensions.d.ts +16 -0
  208. package/dist/types/index.d.ts +2 -0
  209. package/dist/types/main.d.ts +3 -0
  210. package/dist/types/molecules.d.ts +2 -0
  211. package/dist/types/organisms.d.ts +2 -0
  212. package/dist/types/provider.d.ts +2 -0
  213. package/dist/types/theme.d.ts +1 -0
  214. package/dist/types/utilities/batch.d.ts +9 -0
  215. package/dist/types/utilities/createIcomoonIconSet.d.ts +9 -0
  216. package/dist/types/utilities/deepMerge.d.ts +1 -0
  217. package/dist/types/utilities/getErrorMessage.d.ts +1 -0
  218. package/dist/types/utilities/index.d.ts +7 -0
  219. package/dist/types/utilities/isPersian.d.ts +1 -0
  220. package/dist/types/utilities/mmss.d.ts +1 -0
  221. package/dist/types/utilities/testUtils/index.d.ts +3 -0
  222. package/dist/types/utilities/testUtils/withReactQuery.d.ts +2 -0
  223. package/dist/types/utilities/testUtils/withReactRouter.d.ts +2 -0
  224. package/package.json +195 -0
@@ -0,0 +1,20 @@
1
+ function deepMerge(target, source) {
2
+ const output = { ...target };
3
+ if (target && typeof target === "object" && source && typeof source === "object") {
4
+ for (const key in source) {
5
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
6
+ const sourceValue = source[key];
7
+ const targetValue = output[key];
8
+ if (sourceValue && typeof sourceValue === "object" && !Array.isArray(sourceValue) && targetValue && typeof targetValue === "object" && !Array.isArray(targetValue)) {
9
+ output[key] = deepMerge(targetValue, sourceValue);
10
+ } else if (sourceValue !== void 0) {
11
+ output[key] = sourceValue;
12
+ }
13
+ }
14
+ }
15
+ }
16
+ return output;
17
+ }
18
+ export {
19
+ deepMerge as d
20
+ };
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ function deepMerge(target, source) {
3
+ const output = { ...target };
4
+ if (target && typeof target === "object" && source && typeof source === "object") {
5
+ for (const key in source) {
6
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
7
+ const sourceValue = source[key];
8
+ const targetValue = output[key];
9
+ if (sourceValue && typeof sourceValue === "object" && !Array.isArray(sourceValue) && targetValue && typeof targetValue === "object" && !Array.isArray(targetValue)) {
10
+ output[key] = deepMerge(targetValue, sourceValue);
11
+ } else if (sourceValue !== void 0) {
12
+ output[key] = sourceValue;
13
+ }
14
+ }
15
+ }
16
+ }
17
+ return output;
18
+ }
19
+ exports.deepMerge = deepMerge;
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const antd = require("antd");
4
+ const tailwindMerge = require("tailwind-merge");
5
+ const React = require("react");
6
+ const index = require("./index-CW9vyiq6.cjs");
7
+ const SwitchThemeConfig = {
8
+ components: {
9
+ Dropdown: {}
10
+ }
11
+ };
12
+ const Dropdown = ({ className, ...props }) => {
13
+ return /* @__PURE__ */ jsxRuntime.jsx(antd.ConfigProvider, { theme: SwitchThemeConfig, children: /* @__PURE__ */ jsxRuntime.jsx(antd.Dropdown, { ...props, className: tailwindMerge.twMerge("bg-light-7", className) }) });
14
+ };
15
+ const Image = ({
16
+ preview = false,
17
+ width,
18
+ height,
19
+ fallback,
20
+ onError,
21
+ wrapperClassName,
22
+ ...rest
23
+ }) => {
24
+ const [showFallBack, setShowFallBack] = React.useState(false);
25
+ return /* @__PURE__ */ jsxRuntime.jsx(
26
+ index.Flex,
27
+ {
28
+ style: { width, height },
29
+ align: "center",
30
+ justify: "center",
31
+ className: wrapperClassName,
32
+ children: showFallBack && fallback ? fallback : /* @__PURE__ */ jsxRuntime.jsx(
33
+ antd.Image,
34
+ {
35
+ preview,
36
+ onError: (e) => {
37
+ setShowFallBack(true);
38
+ onError?.(e);
39
+ },
40
+ ...{ width, height },
41
+ ...rest
42
+ }
43
+ )
44
+ }
45
+ );
46
+ };
47
+ const getScrollableNode = (scrollableNodeId) => {
48
+ return document.getElementById(scrollableNodeId);
49
+ };
50
+ const debounce = (func, delay) => {
51
+ let timeoutId;
52
+ return function() {
53
+ clearTimeout(timeoutId);
54
+ timeoutId = setTimeout(func, delay);
55
+ };
56
+ };
57
+ const InfiniteLoader = ({
58
+ children,
59
+ indicatorColor,
60
+ indicatorSize,
61
+ className,
62
+ hasMore,
63
+ scrollableNodeId,
64
+ onNextPage
65
+ }) => {
66
+ React.useEffect(() => {
67
+ const scrollableNode = getScrollableNode(scrollableNodeId);
68
+ if (scrollableNode) {
69
+ const onScroll = () => {
70
+ if (hasMore) {
71
+ const { scrollHeight, scrollTop, clientHeight } = scrollableNode;
72
+ const isBottom = Math.ceil(scrollTop) + clientHeight === scrollHeight;
73
+ isBottom && onNextPage();
74
+ }
75
+ };
76
+ onScroll();
77
+ const debouncedOnScroll = debounce(onScroll, 1500);
78
+ scrollableNode.addEventListener("scroll", debouncedOnScroll);
79
+ return () => scrollableNode.removeEventListener("scroll", debouncedOnScroll);
80
+ }
81
+ }, [hasMore, scrollableNodeId]);
82
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: tailwindMerge.twMerge(className, "w-full"), onClick: (e) => e.stopPropagation(), children: [
83
+ children,
84
+ hasMore && /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { className: "min-h-12", align: "center", justify: "center", children: /* @__PURE__ */ jsxRuntime.jsx(index.Loading, { isLoading: true, color: indicatorColor, size: indicatorSize }) })
85
+ ] });
86
+ };
87
+ exports.Dropdown = Dropdown;
88
+ exports.Image = Image;
89
+ exports.InfiniteLoader = InfiniteLoader;
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const antd = require("antd");
4
+ const tailwindMerge = require("tailwind-merge");
5
+ const index = require("./index-CW9vyiq6.cjs");
6
+ const colors = require("./colors-TPZkyKI4.cjs");
7
+ const React = require("react");
8
+ const reactI18next = require("react-i18next");
9
+ const index$1 = require("./index-keKfh9ZW.cjs");
10
+ function getWindowDimensions() {
11
+ const { innerWidth: width, innerHeight: height } = typeof window === "undefined" ? {
12
+ innerWidth: 1024,
13
+ innerHeight: 768
14
+ } : window;
15
+ return {
16
+ width,
17
+ height
18
+ };
19
+ }
20
+ function useWindowDimensions() {
21
+ const [windowDimensions, setWindowDimensions] = React.useState(getWindowDimensions());
22
+ const targetProps = [];
23
+ const handleResize = () => {
24
+ const { width, height } = getWindowDimensions();
25
+ if (width !== windowDimensions.width && targetProps.includes("width") || height !== windowDimensions.height && targetProps.includes("height")) {
26
+ setWindowDimensions({ width, height });
27
+ }
28
+ };
29
+ React.useEffect(() => {
30
+ window.addEventListener("resize", handleResize);
31
+ return () => window.removeEventListener("resize", handleResize);
32
+ }, []);
33
+ return new Proxy(windowDimensions, {
34
+ get(target, prop) {
35
+ targetProps.push(prop);
36
+ return target[prop];
37
+ }
38
+ });
39
+ }
40
+ const PopoverLink = ({ children, size, color, weight, className, ...rest }) => {
41
+ return /* @__PURE__ */ jsxRuntime.jsx(
42
+ index.Flex,
43
+ {
44
+ className: tailwindMerge.twMerge("border-secondary items-center border-b border-dashed", className),
45
+ ...rest,
46
+ children: /* @__PURE__ */ jsxRuntime.jsx(
47
+ index.Text,
48
+ {
49
+ className: "cursor-pointer select-none",
50
+ color: color || colors.colors.secondary,
51
+ size: size || 16,
52
+ weight: weight || "medium",
53
+ children
54
+ }
55
+ )
56
+ }
57
+ );
58
+ };
59
+ const Popover = ({
60
+ overlayInnerStyle,
61
+ overlayClassName,
62
+ overlayInnerClassName,
63
+ headerTitle,
64
+ content,
65
+ closeable = true,
66
+ onClose,
67
+ footer,
68
+ ...rest
69
+ }) => {
70
+ return /* @__PURE__ */ jsxRuntime.jsx(
71
+ antd.Popover,
72
+ {
73
+ showArrow: false,
74
+ arrow: false,
75
+ overlayClassName: tailwindMerge.twMerge("[&_.ant-popover-inner]:p-0", overlayClassName),
76
+ overlayInnerStyle: {
77
+ boxShadow: `2px 3px 7px 0 rgba(67, 88, 121, 0.15)`
78
+ },
79
+ ...rest,
80
+ content: /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
81
+ headerTitle && /* @__PURE__ */ jsxRuntime.jsxs(index.Flex, { className: "border-light-7 bg-light-1 w-full items-center justify-between rounded-t border-b px-3 py-1", children: [
82
+ typeof headerTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(index.Text, { size: 12, weight: "medium", color: colors.colors.primary, children: headerTitle }) : headerTitle,
83
+ closeable && /* @__PURE__ */ jsxRuntime.jsx(
84
+ index.Icon,
85
+ {
86
+ name: "Close",
87
+ className: "cursor-pointer",
88
+ onClick: onClose,
89
+ color: colors.colors.primary,
90
+ size: 12
91
+ }
92
+ )
93
+ ] }),
94
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: tailwindMerge.twMerge("p-3", overlayInnerClassName), style: overlayInnerStyle, children: typeof content === "function" ? content() : content }),
95
+ /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { className: "border-light-7 bg-light-1 w-full items-center justify-between rounded-t border-t px-3 py-1", children: footer })
96
+ ] })
97
+ }
98
+ );
99
+ };
100
+ Popover.Link = PopoverLink;
101
+ function fillRef(ref, node) {
102
+ if (typeof ref === "function") {
103
+ ref(node);
104
+ } else if (typeof ref === "object" && ref && "current" in ref) {
105
+ ref.current = node;
106
+ }
107
+ }
108
+ function composeRef(...refs) {
109
+ return (node) => {
110
+ refs.forEach((ref) => {
111
+ fillRef(ref, node);
112
+ });
113
+ };
114
+ }
115
+ const canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
116
+ const DOM_LAYOUT_HANDLER_NAME = "__reactLayoutHandler";
117
+ let didWarn = false;
118
+ let resizeObserver = null;
119
+ function getResizeObserver() {
120
+ if (canUseDOM && typeof window.ResizeObserver !== "undefined") {
121
+ if (resizeObserver == null) {
122
+ resizeObserver = new window.ResizeObserver(function(entries) {
123
+ entries.forEach((entry) => {
124
+ const node = entry.target;
125
+ const onLayout = node[DOM_LAYOUT_HANDLER_NAME];
126
+ if (typeof onLayout === "function") {
127
+ measure(
128
+ node,
129
+ //@ts-ignore
130
+ (x, y, width, height, left, top) => {
131
+ const event = {
132
+ // $FlowFixMe
133
+ nativeEvent: {
134
+ layout: { x, y, width, height, left, top }
135
+ },
136
+ timeStamp: Date.now()
137
+ };
138
+ Object.defineProperty(event.nativeEvent, "target", {
139
+ enumerable: true,
140
+ get: () => entry.target
141
+ });
142
+ onLayout(event);
143
+ }
144
+ );
145
+ }
146
+ });
147
+ });
148
+ }
149
+ } else if (!didWarn) {
150
+ if (process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test") {
151
+ didWarn = true;
152
+ }
153
+ }
154
+ return resizeObserver;
155
+ }
156
+ function useElementLayout(ref, onLayout) {
157
+ const { width, height } = useWindowDimensions();
158
+ const observer = getResizeObserver();
159
+ React.useEffect(() => {
160
+ const node = ref.current;
161
+ if (node != null) {
162
+ node[DOM_LAYOUT_HANDLER_NAME] = onLayout;
163
+ }
164
+ }, [ref, onLayout]);
165
+ React.useEffect(() => {
166
+ const node = ref.current;
167
+ if (node != null && observer != null) {
168
+ if (typeof node[DOM_LAYOUT_HANDLER_NAME] === "function") {
169
+ observer.observe(node);
170
+ } else {
171
+ observer.unobserve(node);
172
+ }
173
+ }
174
+ return () => {
175
+ if (node != null && observer != null) {
176
+ observer.unobserve(node);
177
+ }
178
+ };
179
+ }, [ref, observer, width, height]);
180
+ }
181
+ const getBoundingClientRect = (node) => {
182
+ if (node != null) {
183
+ const isElement = node.nodeType === 1;
184
+ if (isElement && typeof node.getBoundingClientRect === "function") {
185
+ return node.getBoundingClientRect();
186
+ }
187
+ }
188
+ };
189
+ const measureLayout = (node, relativeToNativeNode, callback) => {
190
+ const relativeNode = node && node.parentNode;
191
+ if (node && relativeNode) {
192
+ setTimeout(() => {
193
+ const relativeRect = getBoundingClientRect(relativeNode);
194
+ const { height, left, top, width } = getRect(node);
195
+ const x = left - relativeRect.left;
196
+ const y = top - relativeRect.top;
197
+ callback(x, y, width, height, left, top);
198
+ }, 0);
199
+ }
200
+ };
201
+ const getRect = (node) => {
202
+ const { x, y, top, left } = getBoundingClientRect(node);
203
+ const width = node.offsetWidth;
204
+ const height = node.offsetHeight;
205
+ return { x, y, width, height, top, left };
206
+ };
207
+ function measure(node, callback) {
208
+ measureLayout(node, null, callback);
209
+ }
210
+ const View = React.forwardRef(
211
+ ({
212
+ children,
213
+ isLoading,
214
+ onRetry,
215
+ error,
216
+ loadingMinHeight,
217
+ loadingSize,
218
+ onLayout,
219
+ ...rest
220
+ }, ref) => {
221
+ const contentLayoutRef = React.useRef(null);
222
+ useElementLayout(contentLayoutRef, onLayout);
223
+ const finalRef = composeRef(ref, contentLayoutRef);
224
+ const { t } = reactI18next.useTranslation();
225
+ if (isLoading) {
226
+ return /* @__PURE__ */ jsxRuntime.jsx(
227
+ index.Flex,
228
+ {
229
+ ref: finalRef,
230
+ align: "center",
231
+ justify: "center",
232
+ className: "h-full w-full",
233
+ style: {
234
+ minHeight: loadingMinHeight
235
+ },
236
+ children: /* @__PURE__ */ jsxRuntime.jsx(index.Loading, { isLoading: true, size: loadingSize })
237
+ }
238
+ );
239
+ }
240
+ if (error) {
241
+ return /* @__PURE__ */ jsxRuntime.jsxs(
242
+ index.Flex,
243
+ {
244
+ ref: finalRef,
245
+ align: "center",
246
+ justify: "center",
247
+ style: {
248
+ minHeight: loadingMinHeight
249
+ },
250
+ gap: 8,
251
+ vertical: true,
252
+ className: "h-full w-full",
253
+ children: [
254
+ /* @__PURE__ */ jsxRuntime.jsx(index.Text, { size: 16, color: colors.colors.negative, children: error }),
255
+ onRetry && /* @__PURE__ */ jsxRuntime.jsx(index$1.Button.Primary, { onClick: onRetry, children: t("common.message.tryAgain") })
256
+ ]
257
+ }
258
+ );
259
+ }
260
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { ref: finalRef, ...rest, children });
261
+ }
262
+ );
263
+ exports.Popover = Popover;
264
+ exports.View = View;
265
+ exports.useWindowDimensions = useWindowDimensions;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const antd = require("antd");
4
+ const reactRouterDom = require("react-router-dom");
5
+ const index = require("./index-CW9vyiq6.cjs");
6
+ const colors = require("./colors-TPZkyKI4.cjs");
7
+ const Breadcrumb = (props) => {
8
+ const appName = colors.AbrplusUIKit.config().getAppName();
9
+ const color = colors.colors[appName];
10
+ const actionColor = color?.action;
11
+ return /* @__PURE__ */ jsxRuntime.jsx(
12
+ antd.Breadcrumb,
13
+ {
14
+ ...props,
15
+ separator: /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: "Chevron_Left", size: 22, color: actionColor }),
16
+ itemRender: (route, _, items) => {
17
+ if (!route.title) return null;
18
+ const last = items.indexOf(route) === items.length - 1;
19
+ if (last) {
20
+ return /* @__PURE__ */ jsxRuntime.jsx(index.Text, { size: 16, weight: "medium", color: colors.colors.primary_dark_1, children: route.title });
21
+ }
22
+ return route.path ? /* @__PURE__ */ jsxRuntime.jsx(reactRouterDom.Link, { to: route.path, children: /* @__PURE__ */ jsxRuntime.jsx(index.Text, { size: 16, weight: "medium", color: actionColor, children: route.title }) }) : /* @__PURE__ */ jsxRuntime.jsx("div", { onClick: route.onClick, className: "cursor-pointer", children: /* @__PURE__ */ jsxRuntime.jsx(index.Text, { size: 16, weight: "medium", color: actionColor, children: route.title }) });
23
+ }
24
+ }
25
+ );
26
+ };
27
+ exports.Breadcrumb = Breadcrumb;
@@ -0,0 +1,28 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { Breadcrumb as Breadcrumb$1 } from "antd";
3
+ import { Link } from "react-router-dom";
4
+ import { T as Text, I as Icon } from "./index-C24zbKLS.js";
5
+ import { A as AbrplusUIKit, c as colors } from "./colors-CztsZ6e_.js";
6
+ const Breadcrumb = (props) => {
7
+ const appName = AbrplusUIKit.config().getAppName();
8
+ const color = colors[appName];
9
+ const actionColor = color?.action;
10
+ return /* @__PURE__ */ jsx(
11
+ Breadcrumb$1,
12
+ {
13
+ ...props,
14
+ separator: /* @__PURE__ */ jsx(Icon, { name: "Chevron_Left", size: 22, color: actionColor }),
15
+ itemRender: (route, _, items) => {
16
+ if (!route.title) return null;
17
+ const last = items.indexOf(route) === items.length - 1;
18
+ if (last) {
19
+ return /* @__PURE__ */ jsx(Text, { size: 16, weight: "medium", color: colors.primary_dark_1, children: route.title });
20
+ }
21
+ return route.path ? /* @__PURE__ */ jsx(Link, { to: route.path, children: /* @__PURE__ */ jsx(Text, { size: 16, weight: "medium", color: actionColor, children: route.title }) }) : /* @__PURE__ */ jsx("div", { onClick: route.onClick, className: "cursor-pointer", children: /* @__PURE__ */ jsx(Text, { size: 16, weight: "medium", color: actionColor, children: route.title }) });
22
+ }
23
+ }
24
+ );
25
+ };
26
+ export {
27
+ Breadcrumb as B
28
+ };