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,392 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { Badge as Badge$1, Collapse as Collapse$1, Radio as Radio$1, ConfigProvider, Tabs } from "antd";
3
+ import { m as mainExports, d as datePickerColors, I as InputErrorMessage } from "./index-WgcaHHjH.js";
4
+ import { B, a, C, b, U, V } from "./index-WgcaHHjH.js";
5
+ import { twMerge } from "tailwind-merge";
6
+ import { useState, useEffect, useRef, useMemo, useCallback, Children } from "react";
7
+ import require$$0 from "moment-jalaali";
8
+ import { useTranslation } from "react-i18next";
9
+ import { F as Flex, R as Render, I as Icon, T as Text, L as Loading } from "./index-C24zbKLS.js";
10
+ import { T as Tooltip } from "./index-CQKRmQkW.js";
11
+ import { c as colors } from "./colors-CztsZ6e_.js";
12
+ import { P, V as V2 } from "./index-D8BknfUe.js";
13
+ import require$$2 from "react-dom";
14
+ const Badge = ({ children, ...rest }) => {
15
+ return /* @__PURE__ */ jsx(Badge$1, { ...rest, children });
16
+ };
17
+ const PortalContainer = ({ children, id }) => {
18
+ const [container, setContainer] = useState(null);
19
+ useEffect(() => {
20
+ let el = document.getElementById(id);
21
+ if (!el) {
22
+ const observer = new MutationObserver(() => {
23
+ el = document.getElementById(id);
24
+ if (el) {
25
+ setContainer(el);
26
+ observer.disconnect();
27
+ }
28
+ });
29
+ observer.observe(document.body, { childList: true, subtree: true });
30
+ return () => observer.disconnect();
31
+ }
32
+ setContainer(el);
33
+ }, [id]);
34
+ if (!container) return null;
35
+ return require$$2.createPortal(children, container);
36
+ };
37
+ const Clickable = ({ children, onClick, className, ...rest }) => {
38
+ return /* @__PURE__ */ jsx(
39
+ "div",
40
+ {
41
+ onClick,
42
+ className: twMerge(
43
+ "hover:bg-light-2 flex cursor-pointer items-center justify-center rounded-full p-2 transition-colors",
44
+ className
45
+ ),
46
+ ...rest,
47
+ children
48
+ }
49
+ );
50
+ };
51
+ const ClickAwayListener = ({
52
+ children,
53
+ onClickAway,
54
+ document: document2 = window.document,
55
+ active = true,
56
+ className,
57
+ hasDefaultStyle = true
58
+ }) => {
59
+ const containerRef = useRef(null);
60
+ useEffect(() => {
61
+ if (!active) return;
62
+ const handleClickOutside = (event) => {
63
+ if (containerRef.current && !containerRef.current.contains(event.target)) {
64
+ onClickAway();
65
+ }
66
+ };
67
+ document2.addEventListener("mousedown", handleClickOutside);
68
+ return () => {
69
+ document2.removeEventListener("mousedown", handleClickOutside);
70
+ };
71
+ }, [onClickAway, active, document2]);
72
+ return /* @__PURE__ */ jsxs(
73
+ "div",
74
+ {
75
+ ref: containerRef,
76
+ ...hasDefaultStyle ? { className: twMerge("flex h-full w-full flex-1", className) } : { className },
77
+ children: [
78
+ " ",
79
+ children
80
+ ]
81
+ }
82
+ );
83
+ };
84
+ const Collapse = ({ ...props }) => {
85
+ return /* @__PURE__ */ jsx(Collapse$1, { ...props });
86
+ };
87
+ Collapse.Panel = Collapse$1.Panel;
88
+ const DatePicker = ({
89
+ helperText,
90
+ required,
91
+ label,
92
+ error,
93
+ wrapperClassName,
94
+ onChange: onChangeProp,
95
+ onChangeISO,
96
+ value: valueProp,
97
+ valueISO,
98
+ locale,
99
+ hideErrorMessage = false,
100
+ ...props
101
+ }) => {
102
+ const { i18n } = useTranslation();
103
+ const value = useMemo(() => {
104
+ if (valueISO) {
105
+ return require$$0(valueISO);
106
+ }
107
+ return valueProp;
108
+ }, [valueISO, valueProp]);
109
+ const onChange = useCallback(
110
+ (date, dateString) => {
111
+ onChangeProp?.(date, dateString);
112
+ onChangeISO?.(date?.toISOString());
113
+ },
114
+ // eslint-disable-next-line react-hooks/exhaustive-deps
115
+ []
116
+ );
117
+ return /* @__PURE__ */ jsxs(Flex, { vertical: true, className: `w-full ${!hideErrorMessage && "inputErrorMessageContainer"}`, children: [
118
+ /* @__PURE__ */ jsxs("label", { htmlFor: "language-textarea", className: "flex flex-row items-center gap-1", children: [
119
+ /* @__PURE__ */ jsx(Render, { when: helperText, children: /* @__PURE__ */ jsx(Tooltip, { variant: "default", title: helperText, arrow: { pointAtCenter: true }, children: /* @__PURE__ */ jsx(Icon, { name: "Help_header", color: colors.primary_light_3, size: 15 }) }) }),
120
+ typeof label === "string" ? /* @__PURE__ */ jsx(Text, { color: colors.primary, children: label }) : label,
121
+ /* @__PURE__ */ jsx(Render, { when: required, children: /* @__PURE__ */ jsx(Icon, { name: "Asterisk", size: 6, color: colors.negative, className: "mb-2" }) })
122
+ ] }),
123
+ /* @__PURE__ */ jsx(
124
+ mainExports.DatePicker,
125
+ {
126
+ format: i18n.language === "fa" ? "jYYYY/jMM/jDD" : "YYYY/MM/DD",
127
+ locale: locale || i18n.language === "fa" ? "fa" : "en",
128
+ customColors: datePickerColors,
129
+ onChange,
130
+ value,
131
+ ...props
132
+ }
133
+ ),
134
+ !hideErrorMessage && error?.message && /* @__PURE__ */ jsx(InputErrorMessage, { message: error?.message })
135
+ ] });
136
+ };
137
+ const Empty = ({ flex, direction = "horizontal" }) => {
138
+ return /* @__PURE__ */ jsx(
139
+ "div",
140
+ {
141
+ className: twMerge("flex", direction === "horizontal" ? "flex-row" : "flex-col"),
142
+ style: { flex }
143
+ }
144
+ );
145
+ };
146
+ const Fallback = ({ size }) => {
147
+ return /* @__PURE__ */ jsx(Flex, { className: "h-full min-h-[100px] w-full", align: "center", justify: "center", children: /* @__PURE__ */ jsx(Loading, { isLoading: true, size }) });
148
+ };
149
+ const HorizontalLine = ({
150
+ className,
151
+ wrapperClassName,
152
+ style,
153
+ color,
154
+ text
155
+ }) => {
156
+ return /* @__PURE__ */ jsxs(Flex, { "data-testid": "horizontal-line", className: wrapperClassName, align: "center", gap: 10, children: [
157
+ text ? /* @__PURE__ */ jsx(
158
+ Text,
159
+ {
160
+ className: "whitespace-nowrap",
161
+ weight: "normal",
162
+ size: "medium",
163
+ color: colors.primary,
164
+ children: text
165
+ }
166
+ ) : null,
167
+ /* @__PURE__ */ jsx(
168
+ "hr",
169
+ {
170
+ role: "separator",
171
+ className: twMerge("border-t-light-7 m-0 w-full border-x-0 border-b-0 border-t", className),
172
+ style: { ...style, borderTopColor: color }
173
+ }
174
+ )
175
+ ] });
176
+ };
177
+ const NavigationTabs = ({
178
+ children,
179
+ onChange,
180
+ wrapperStyle,
181
+ wrapperClassName,
182
+ spaceBetweenTabs,
183
+ activeStyleMode = "background",
184
+ defaultTabKey,
185
+ extraAfterItem,
186
+ extraBeforeItem,
187
+ extraBeforeChildren,
188
+ extraAfterChildren,
189
+ tabFontSize = 18,
190
+ tabsClassName,
191
+ tabClassName,
192
+ tabsWrapperStyle,
193
+ innerContentClassName,
194
+ extraChildrenInheritBorder,
195
+ hasBorder = true
196
+ }) => {
197
+ const [currentTabKey, setCurrentTabKey] = useState(void 0);
198
+ useEffect(() => {
199
+ const defaultActiveTab = Children.map(children, ({ props }) => props)[0];
200
+ if (!defaultTabKey) {
201
+ setCurrentTabKey(defaultActiveTab.tabKey);
202
+ return;
203
+ }
204
+ setCurrentTabKey(defaultTabKey);
205
+ }, []);
206
+ return /* @__PURE__ */ jsxs(Flex, { style: wrapperStyle, vertical: true, className: twMerge("w-full flex-1", wrapperClassName), children: [
207
+ /* @__PURE__ */ jsxs(
208
+ Flex,
209
+ {
210
+ align: "center",
211
+ className: twMerge(
212
+ activeStyleMode === "underlined" && hasBorder && "border-light-7 border-b border-solid"
213
+ ),
214
+ children: [
215
+ extraBeforeItem && /* @__PURE__ */ jsx(
216
+ Flex,
217
+ {
218
+ justify: "center",
219
+ className: twMerge(
220
+ "h-full px-2",
221
+ extraChildrenInheritBorder && "border-light-6 border-b border-solid"
222
+ ),
223
+ children: typeof extraBeforeItem === "function" ? extraBeforeItem(currentTabKey) : extraBeforeItem
224
+ }
225
+ ),
226
+ /* @__PURE__ */ jsx(
227
+ Flex,
228
+ {
229
+ align: "center",
230
+ className: twMerge(
231
+ "w-full min-w-max flex-1 flex-row overflow-y-auto overflow-x-hidden",
232
+ tabsClassName
233
+ ),
234
+ gap: spaceBetweenTabs !== void 0 ? spaceBetweenTabs : 24,
235
+ style: tabsWrapperStyle,
236
+ children: Children.map(
237
+ children,
238
+ ({ props: { tabKey, title, className, style, isVisible = true } }) => isVisible ? /* @__PURE__ */ jsx(
239
+ Flex,
240
+ {
241
+ align: "center",
242
+ justify: "center",
243
+ style: typeof style === "function" ? style(currentTabKey || tabKey) : style,
244
+ className: twMerge(
245
+ "relative h-full min-h-[35px] w-fit min-w-[24px] cursor-pointer rounded",
246
+ tabClassName,
247
+ typeof title === "string" ? "px-4 pb-2 pt-4" : "px-0 pb-2 pt-4",
248
+ tabKey === currentTabKey && (activeStyleMode === "background" ? "after:bg-primary-light-1 z-auto overflow-hidden px-4 after:absolute after:left-0 after:top-0 after:h-full after:w-full" : activeStyleMode === "underlined" ? " after:border-action z-auto after:absolute after:left-0 after:top-0 after:h-full after:w-full after:border-b-[2px] after:border-solid" : void 0),
249
+ typeof className === "function" ? className(currentTabKey || tabKey) : className
250
+ ),
251
+ onClick: () => {
252
+ setCurrentTabKey(tabKey);
253
+ onChange?.(tabKey);
254
+ },
255
+ children: typeof title === "string" ? /* @__PURE__ */ jsx(
256
+ Text,
257
+ {
258
+ size: tabFontSize,
259
+ weight: "medium",
260
+ className: twMerge(
261
+ "z-10",
262
+ activeStyleMode === "background" && tabKey === currentTabKey && "text-white-ff",
263
+ activeStyleMode === "underlined" && tabKey === currentTabKey && "text-action"
264
+ ),
265
+ children: title
266
+ }
267
+ ) : title?.(tabKey === currentTabKey ? colors.negative : colors.negative)
268
+ },
269
+ tabKey
270
+ ) : null
271
+ )
272
+ }
273
+ ),
274
+ extraAfterItem && /* @__PURE__ */ jsx(
275
+ Flex,
276
+ {
277
+ justify: "center",
278
+ align: "center",
279
+ className: twMerge(
280
+ "h-full px-2",
281
+ extraChildrenInheritBorder && "border-light-6 border-b border-solid"
282
+ ),
283
+ children: typeof extraAfterItem === "function" ? extraAfterItem(currentTabKey) : extraAfterItem
284
+ }
285
+ )
286
+ ]
287
+ }
288
+ ),
289
+ /* @__PURE__ */ jsxs(Flex, { className: twMerge("max-w-full flex-1", innerContentClassName), children: [
290
+ extraBeforeChildren && /* @__PURE__ */ jsx(Flex, { children: typeof extraBeforeChildren === "function" ? extraBeforeChildren(currentTabKey) : extraBeforeChildren }),
291
+ Children.map(children, ({ props: { tabKey, children: children2 } }) => {
292
+ if (tabKey === currentTabKey) {
293
+ return /* @__PURE__ */ jsx(Flex, { className: "max-w-full flex-1", children: children2 }, tabKey);
294
+ }
295
+ return null;
296
+ }),
297
+ extraAfterChildren && /* @__PURE__ */ jsx(Flex, { children: typeof extraAfterChildren === "function" ? extraAfterChildren(currentTabKey) : extraAfterChildren })
298
+ ] })
299
+ ] });
300
+ };
301
+ NavigationTabs.Tab = (_props) => null;
302
+ const Radio = (props) => /* @__PURE__ */ jsx(Radio$1, { ...props });
303
+ Radio.Group = Radio$1.Group;
304
+ const RangePicker = ({
305
+ helperText,
306
+ required,
307
+ label,
308
+ error,
309
+ wrapperClassName,
310
+ value,
311
+ hideErrorMessage = false,
312
+ ...props
313
+ }) => {
314
+ const { i18n } = useTranslation();
315
+ const isValueValid = (value?.filter(Boolean)?.length || 0) > 0 && !!value;
316
+ return /* @__PURE__ */ jsxs(Flex, { vertical: true, className: `w-full ${!hideErrorMessage && "inputErrorMessageContainer"}`, children: [
317
+ /* @__PURE__ */ jsxs("label", { htmlFor: "language-textarea", className: "flex flex-row items-center gap-1", children: [
318
+ /* @__PURE__ */ jsx(Render, { when: helperText, children: /* @__PURE__ */ jsx(Tooltip, { variant: "default", title: helperText, arrow: { pointAtCenter: true }, children: /* @__PURE__ */ jsx(Icon, { name: "Help_header", color: colors.primary_light_3, size: 15 }) }) }),
319
+ typeof label === "string" ? /* @__PURE__ */ jsx(Text, { color: colors.primary, children: label }) : label,
320
+ /* @__PURE__ */ jsx(Render, { when: required, children: /* @__PURE__ */ jsx(Icon, { name: "Asterisk", size: 6, color: colors.negative, className: "mb-2" }) })
321
+ ] }),
322
+ /* @__PURE__ */ jsx(
323
+ mainExports.RangePicker,
324
+ {
325
+ format: i18n.language === "fa" ? "jYYYY/jMM/jDD" : "YYYY/MM/DD",
326
+ locale: i18n.language === "fa" ? "fa" : "en",
327
+ customColors: datePickerColors,
328
+ value: isValueValid ? value : null,
329
+ ...props
330
+ }
331
+ ),
332
+ !hideErrorMessage && error?.message && /* @__PURE__ */ jsx(InputErrorMessage, { message: error?.message })
333
+ ] });
334
+ };
335
+ const Separator = ({ direction = "vertical", className }) => {
336
+ return /* @__PURE__ */ jsx(
337
+ "div",
338
+ {
339
+ role: "separator",
340
+ className: twMerge(
341
+ "bg-light-7",
342
+ direction === "vertical" ? "mx-2 h-full w-[1px]" : "my-2 h-[1px] w-full",
343
+ className
344
+ )
345
+ }
346
+ );
347
+ };
348
+ const TabConfig = {
349
+ components: {
350
+ Tabs: {
351
+ inkBarColor: colors.secondary,
352
+ itemColor: colors.primary,
353
+ itemSelectedColor: colors.secondary,
354
+ titleFontSize: 18,
355
+ horizontalItemPadding: "0px",
356
+ horizontalMargin: "0",
357
+ itemHoverColor: colors.primary_light_1,
358
+ itemActiveColor: colors.primary_light_2
359
+ }
360
+ }
361
+ };
362
+ const Tab = (props) => {
363
+ return /* @__PURE__ */ jsx(ConfigProvider, { theme: TabConfig, children: /* @__PURE__ */ jsx(Tabs, { ...props }) });
364
+ };
365
+ Tab.TabPane = Tabs.TabPane;
366
+ export {
367
+ Badge,
368
+ B as BorderedTitle,
369
+ a as Breadcrumbs,
370
+ C as Card,
371
+ b as Checkbox,
372
+ ClickAwayListener,
373
+ Clickable,
374
+ Collapse,
375
+ DatePicker,
376
+ Empty,
377
+ Fallback,
378
+ HorizontalLine,
379
+ Icon,
380
+ NavigationTabs,
381
+ P as Popover,
382
+ PortalContainer,
383
+ Radio,
384
+ RangePicker,
385
+ Render,
386
+ Separator,
387
+ Tab,
388
+ Tooltip,
389
+ U as Upload,
390
+ V as VerticalLine,
391
+ V2 as View
392
+ };