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,266 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Popover as Popover$1 } from "antd";
3
+ import { twMerge } from "tailwind-merge";
4
+ import { F as Flex, T as Text, I as Icon, L as Loading } from "./index-C24zbKLS.js";
5
+ import { c as colors } from "./colors-CztsZ6e_.js";
6
+ import { useState, useEffect, forwardRef, useRef } from "react";
7
+ import { useTranslation } from "react-i18next";
8
+ import { B as Button } from "./index-CQKRmQkW.js";
9
+ function getWindowDimensions() {
10
+ const { innerWidth: width, innerHeight: height } = typeof window === "undefined" ? {
11
+ innerWidth: 1024,
12
+ innerHeight: 768
13
+ } : window;
14
+ return {
15
+ width,
16
+ height
17
+ };
18
+ }
19
+ function useWindowDimensions() {
20
+ const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions());
21
+ const targetProps = [];
22
+ const handleResize = () => {
23
+ const { width, height } = getWindowDimensions();
24
+ if (width !== windowDimensions.width && targetProps.includes("width") || height !== windowDimensions.height && targetProps.includes("height")) {
25
+ setWindowDimensions({ width, height });
26
+ }
27
+ };
28
+ useEffect(() => {
29
+ window.addEventListener("resize", handleResize);
30
+ return () => window.removeEventListener("resize", handleResize);
31
+ }, []);
32
+ return new Proxy(windowDimensions, {
33
+ get(target, prop) {
34
+ targetProps.push(prop);
35
+ return target[prop];
36
+ }
37
+ });
38
+ }
39
+ const PopoverLink = ({ children, size, color, weight, className, ...rest }) => {
40
+ return /* @__PURE__ */ jsx(
41
+ Flex,
42
+ {
43
+ className: twMerge("border-secondary items-center border-b border-dashed", className),
44
+ ...rest,
45
+ children: /* @__PURE__ */ jsx(
46
+ Text,
47
+ {
48
+ className: "cursor-pointer select-none",
49
+ color: color || colors.secondary,
50
+ size: size || 16,
51
+ weight: weight || "medium",
52
+ children
53
+ }
54
+ )
55
+ }
56
+ );
57
+ };
58
+ const Popover = ({
59
+ overlayInnerStyle,
60
+ overlayClassName,
61
+ overlayInnerClassName,
62
+ headerTitle,
63
+ content,
64
+ closeable = true,
65
+ onClose,
66
+ footer,
67
+ ...rest
68
+ }) => {
69
+ return /* @__PURE__ */ jsx(
70
+ Popover$1,
71
+ {
72
+ showArrow: false,
73
+ arrow: false,
74
+ overlayClassName: twMerge("[&_.ant-popover-inner]:p-0", overlayClassName),
75
+ overlayInnerStyle: {
76
+ boxShadow: `2px 3px 7px 0 rgba(67, 88, 121, 0.15)`
77
+ },
78
+ ...rest,
79
+ content: /* @__PURE__ */ jsxs("div", { children: [
80
+ headerTitle && /* @__PURE__ */ jsxs(Flex, { className: "border-light-7 bg-light-1 w-full items-center justify-between rounded-t border-b px-3 py-1", children: [
81
+ typeof headerTitle === "string" ? /* @__PURE__ */ jsx(Text, { size: 12, weight: "medium", color: colors.primary, children: headerTitle }) : headerTitle,
82
+ closeable && /* @__PURE__ */ jsx(
83
+ Icon,
84
+ {
85
+ name: "Close",
86
+ className: "cursor-pointer",
87
+ onClick: onClose,
88
+ color: colors.primary,
89
+ size: 12
90
+ }
91
+ )
92
+ ] }),
93
+ /* @__PURE__ */ jsx("div", { className: twMerge("p-3", overlayInnerClassName), style: overlayInnerStyle, children: typeof content === "function" ? content() : content }),
94
+ /* @__PURE__ */ jsx(Flex, { className: "border-light-7 bg-light-1 w-full items-center justify-between rounded-t border-t px-3 py-1", children: footer })
95
+ ] })
96
+ }
97
+ );
98
+ };
99
+ Popover.Link = PopoverLink;
100
+ function fillRef(ref, node) {
101
+ if (typeof ref === "function") {
102
+ ref(node);
103
+ } else if (typeof ref === "object" && ref && "current" in ref) {
104
+ ref.current = node;
105
+ }
106
+ }
107
+ function composeRef(...refs) {
108
+ return (node) => {
109
+ refs.forEach((ref) => {
110
+ fillRef(ref, node);
111
+ });
112
+ };
113
+ }
114
+ const canUseDOM = !!(typeof window !== "undefined" && window.document && window.document.createElement);
115
+ const DOM_LAYOUT_HANDLER_NAME = "__reactLayoutHandler";
116
+ let didWarn = false;
117
+ let resizeObserver = null;
118
+ function getResizeObserver() {
119
+ if (canUseDOM && typeof window.ResizeObserver !== "undefined") {
120
+ if (resizeObserver == null) {
121
+ resizeObserver = new window.ResizeObserver(function(entries) {
122
+ entries.forEach((entry) => {
123
+ const node = entry.target;
124
+ const onLayout = node[DOM_LAYOUT_HANDLER_NAME];
125
+ if (typeof onLayout === "function") {
126
+ measure(
127
+ node,
128
+ //@ts-ignore
129
+ (x, y, width, height, left, top) => {
130
+ const event = {
131
+ // $FlowFixMe
132
+ nativeEvent: {
133
+ layout: { x, y, width, height, left, top }
134
+ },
135
+ timeStamp: Date.now()
136
+ };
137
+ Object.defineProperty(event.nativeEvent, "target", {
138
+ enumerable: true,
139
+ get: () => entry.target
140
+ });
141
+ onLayout(event);
142
+ }
143
+ );
144
+ }
145
+ });
146
+ });
147
+ }
148
+ } else if (!didWarn) {
149
+ if (process.env.NODE_ENV !== "production" && process.env.NODE_ENV !== "test") {
150
+ didWarn = true;
151
+ }
152
+ }
153
+ return resizeObserver;
154
+ }
155
+ function useElementLayout(ref, onLayout) {
156
+ const { width, height } = useWindowDimensions();
157
+ const observer = getResizeObserver();
158
+ useEffect(() => {
159
+ const node = ref.current;
160
+ if (node != null) {
161
+ node[DOM_LAYOUT_HANDLER_NAME] = onLayout;
162
+ }
163
+ }, [ref, onLayout]);
164
+ useEffect(() => {
165
+ const node = ref.current;
166
+ if (node != null && observer != null) {
167
+ if (typeof node[DOM_LAYOUT_HANDLER_NAME] === "function") {
168
+ observer.observe(node);
169
+ } else {
170
+ observer.unobserve(node);
171
+ }
172
+ }
173
+ return () => {
174
+ if (node != null && observer != null) {
175
+ observer.unobserve(node);
176
+ }
177
+ };
178
+ }, [ref, observer, width, height]);
179
+ }
180
+ const getBoundingClientRect = (node) => {
181
+ if (node != null) {
182
+ const isElement = node.nodeType === 1;
183
+ if (isElement && typeof node.getBoundingClientRect === "function") {
184
+ return node.getBoundingClientRect();
185
+ }
186
+ }
187
+ };
188
+ const measureLayout = (node, relativeToNativeNode, callback) => {
189
+ const relativeNode = node && node.parentNode;
190
+ if (node && relativeNode) {
191
+ setTimeout(() => {
192
+ const relativeRect = getBoundingClientRect(relativeNode);
193
+ const { height, left, top, width } = getRect(node);
194
+ const x = left - relativeRect.left;
195
+ const y = top - relativeRect.top;
196
+ callback(x, y, width, height, left, top);
197
+ }, 0);
198
+ }
199
+ };
200
+ const getRect = (node) => {
201
+ const { x, y, top, left } = getBoundingClientRect(node);
202
+ const width = node.offsetWidth;
203
+ const height = node.offsetHeight;
204
+ return { x, y, width, height, top, left };
205
+ };
206
+ function measure(node, callback) {
207
+ measureLayout(node, null, callback);
208
+ }
209
+ const View = forwardRef(
210
+ ({
211
+ children,
212
+ isLoading,
213
+ onRetry,
214
+ error,
215
+ loadingMinHeight,
216
+ loadingSize,
217
+ onLayout,
218
+ ...rest
219
+ }, ref) => {
220
+ const contentLayoutRef = useRef(null);
221
+ useElementLayout(contentLayoutRef, onLayout);
222
+ const finalRef = composeRef(ref, contentLayoutRef);
223
+ const { t } = useTranslation();
224
+ if (isLoading) {
225
+ return /* @__PURE__ */ jsx(
226
+ Flex,
227
+ {
228
+ ref: finalRef,
229
+ align: "center",
230
+ justify: "center",
231
+ className: "h-full w-full",
232
+ style: {
233
+ minHeight: loadingMinHeight
234
+ },
235
+ children: /* @__PURE__ */ jsx(Loading, { isLoading: true, size: loadingSize })
236
+ }
237
+ );
238
+ }
239
+ if (error) {
240
+ return /* @__PURE__ */ jsxs(
241
+ Flex,
242
+ {
243
+ ref: finalRef,
244
+ align: "center",
245
+ justify: "center",
246
+ style: {
247
+ minHeight: loadingMinHeight
248
+ },
249
+ gap: 8,
250
+ vertical: true,
251
+ className: "h-full w-full",
252
+ children: [
253
+ /* @__PURE__ */ jsx(Text, { size: 16, color: colors.negative, children: error }),
254
+ onRetry && /* @__PURE__ */ jsx(Button.Primary, { onClick: onRetry, children: t("common.message.tryAgain") })
255
+ ]
256
+ }
257
+ );
258
+ }
259
+ return /* @__PURE__ */ jsx(Flex, { ref: finalRef, ...rest, children });
260
+ }
261
+ );
262
+ export {
263
+ Popover as P,
264
+ View as V,
265
+ useWindowDimensions as u
266
+ };