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,542 @@
1
+ "use strict";
2
+ const jsxRuntime = require("react/jsx-runtime");
3
+ const index = require("./index-CW9vyiq6.cjs");
4
+ const colors = require("./colors-TPZkyKI4.cjs");
5
+ const tailwindMerge = require("tailwind-merge");
6
+ function uncapitalize(value) {
7
+ return value.slice(0, 1).toLowerCase() + value.slice(1);
8
+ }
9
+ function batch(components) {
10
+ const assignees = Object.assign({}, { ...components });
11
+ return new Proxy(assignees, {
12
+ get(target, property) {
13
+ const safeTarget = Object.freeze({
14
+ ...target,
15
+ [Symbol.toPrimitive]() {
16
+ return "Error: Attempted to render object as a JSX";
17
+ }
18
+ });
19
+ if (property in safeTarget) {
20
+ return safeTarget[property];
21
+ }
22
+ const origProperty = uncapitalize(property);
23
+ if (origProperty in safeTarget) {
24
+ return safeTarget[origProperty];
25
+ }
26
+ return null;
27
+ }
28
+ });
29
+ }
30
+ const TooltipTitle = ({ title, iconName }) => /* @__PURE__ */ jsxRuntime.jsxs(index.Flex, { align: "center", gap: 8, children: [
31
+ /* @__PURE__ */ jsxRuntime.jsx(index.Text, { size: 14, color: colors.colors.white_ff, children: title }),
32
+ iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName })
33
+ ] });
34
+ const Tooltip = ({ children, title, iconName, ...rest }) => {
35
+ return /* @__PURE__ */ jsxRuntime.jsx(
36
+ index.Tooltip,
37
+ {
38
+ title: typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(TooltipTitle, { title, iconName }) : title,
39
+ ...rest,
40
+ children
41
+ }
42
+ );
43
+ };
44
+ const fontSizePicker = {
45
+ block: "text-[16px]",
46
+ medium: "text-[16px]",
47
+ small: "text-[12px]"
48
+ };
49
+ const paddingPicker = (hasIcon) => ({
50
+ start: {
51
+ block: `pe-4 ${hasIcon ? "ps-3" : "ps-4"} `,
52
+ medium: `pe-4 ${hasIcon ? "ps-3" : "ps-4"} `,
53
+ small: `pe-3 ps-[8px]`
54
+ },
55
+ end: {
56
+ block: `ps-4 pe-3`,
57
+ medium: `ps-4 pe-3`,
58
+ small: `ps-4 pe-3`
59
+ }
60
+ });
61
+ const buttonDefaultClasses = "flex relative select-none w-fit appearance-none flex-row items-center justify-center gap-2 whitespace-nowrap rounded text-center outline-none";
62
+ const ActionButton = ({
63
+ style,
64
+ height,
65
+ mode,
66
+ children,
67
+ iconName,
68
+ disabled,
69
+ className,
70
+ iconPosition = "start",
71
+ isLoading,
72
+ lang = "fa",
73
+ ...rest
74
+ }) => {
75
+ const appName = colors.AbrplusUIKit.config().getAppName();
76
+ const getColor = () => {
77
+ if ((disabled || isLoading) && appName) {
78
+ if (appName === "home" || appName === "sandbox" || appName === "bi" || appName === "storybook")
79
+ return colors.colors["sales"]["action_light_2"];
80
+ return colors.colors[appName]["action_light_2"];
81
+ }
82
+ return colors.colors.white_ff;
83
+ };
84
+ const getColorClass = () => {
85
+ if (!appName) return;
86
+ const data = {
87
+ bi: tailwindMerge.twMerge("bg-sales-action hover:bg-sales-action-light-1 active:bg-sales-action-dark-1"),
88
+ call: tailwindMerge.twMerge("bg-call-action hover:bg-call-action-light-1 active:bg-call-action-dark-1"),
89
+ club: tailwindMerge.twMerge("bg-club-action hover:bg-club-action-light-1 active:bg-club-action-dark-1"),
90
+ marketing: tailwindMerge.twMerge(
91
+ "bg-marketing-action hover:bg-marketing-action-light-1 active:bg-marketing-action-dark-1"
92
+ ),
93
+ sales: tailwindMerge.twMerge("bg-sales-action hover:bg-sales-action-light-1 active:bg-sales-action-dark-1"),
94
+ team: tailwindMerge.twMerge("bg-team-action hover:bg-team-action-light-1 active:bg-team-action-dark-1"),
95
+ rayan: tailwindMerge.twMerge("bg-rayan-action hover:bg-rayan-action-light-1 active:bg-rayan-action-dark-1")
96
+ };
97
+ return data?.[appName] || data["sales"];
98
+ };
99
+ return /* @__PURE__ */ jsxRuntime.jsxs(
100
+ "button",
101
+ {
102
+ lang,
103
+ style: {
104
+ height: height || 34,
105
+ ...style
106
+ },
107
+ className: tailwindMerge.twMerge(
108
+ "bg-repo disabled:bg-light-6 ",
109
+ getColorClass(),
110
+ paddingPicker(!!iconName)[iconPosition][mode || "block"],
111
+ fontSizePicker[mode || "block"],
112
+ buttonDefaultClasses,
113
+ mode === "block" && "w-full",
114
+ (disabled || isLoading) && "cursor-not-allowed border-light-6",
115
+ className
116
+ ),
117
+ disabled: disabled || isLoading,
118
+ ...rest,
119
+ children: [
120
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: isLoading, children: /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { className: "absolute", children: /* @__PURE__ */ jsxRuntime.jsx(index.Loading, { isLoading: true, size: 16 }) }) }),
121
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "start", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) }),
122
+ /* @__PURE__ */ jsxRuntime.jsx(
123
+ index.Text,
124
+ {
125
+ lang,
126
+ weight: "medium",
127
+ className: fontSizePicker[mode || "block"],
128
+ color: getColor(),
129
+ children
130
+ }
131
+ ),
132
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "end", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) })
133
+ ]
134
+ }
135
+ );
136
+ };
137
+ const IconButton = ({
138
+ style,
139
+ height = 34,
140
+ iconName,
141
+ disabled,
142
+ className,
143
+ iconPosition = "start",
144
+ iconProps,
145
+ color,
146
+ ...rest
147
+ }) => {
148
+ return /* @__PURE__ */ jsxRuntime.jsx(
149
+ "button",
150
+ {
151
+ style: {
152
+ height,
153
+ ...style
154
+ },
155
+ className: tailwindMerge.twMerge(
156
+ buttonDefaultClasses,
157
+ "h-[34px] w-[34px] p-4",
158
+ "bg-light-1 border-primary-light-3 border",
159
+ "hover:bg-white-ff hover:border-primary-light-2",
160
+ "active:bg-light-6 active:border-primary-light-2",
161
+ "disabled:text-primary-light-2 disabled:bg-light-6 disabled:border-light-6",
162
+ disabled && "border-light-6 cursor-not-allowed",
163
+ className
164
+ ),
165
+ disabled,
166
+ ...rest,
167
+ children: iconProps?.renderIcon ? iconProps.renderIcon : /* @__PURE__ */ jsxRuntime.jsx(
168
+ index.Icon,
169
+ {
170
+ name: iconName,
171
+ color: disabled ? colors.colors.primary_light_3 : color ?? colors.colors.primary,
172
+ ...iconProps
173
+ }
174
+ )
175
+ }
176
+ );
177
+ };
178
+ const NegativeButton = ({
179
+ style,
180
+ height,
181
+ mode,
182
+ children,
183
+ iconName,
184
+ disabled,
185
+ className,
186
+ iconPosition = "start",
187
+ isLoading,
188
+ lang = "fa",
189
+ variant = "outline",
190
+ // Default variant
191
+ ...rest
192
+ }) => {
193
+ const getColor = () => {
194
+ if (disabled || isLoading) {
195
+ return colors.colors.primary_light_2;
196
+ } else if (variant === "contain") {
197
+ return colors.colors.white_ff;
198
+ }
199
+ return colors.colors.negative;
200
+ };
201
+ const outlineClasses = "hover:bg-negative-light-1 active:bg-negative-dark-1 [&_p]:hover:!text-white-ff [&_*]:hover:fill-white-ff disabled:bg-light-6 bg-transparent border-negative hover:border-negative-light-1 active:border-negative-dark-1 disabled:light-6 border-[2px] border-solid";
202
+ const containClasses = "bg-negative hover:bg-negative-light-1 active:bg-negative-dark-1 disabled:bg-light-6 border-transparent";
203
+ const buttonVariantClasses = variant === "contain" ? containClasses : outlineClasses;
204
+ return /* @__PURE__ */ jsxRuntime.jsxs(
205
+ "button",
206
+ {
207
+ lang,
208
+ style: {
209
+ height: height || 34,
210
+ ...style
211
+ },
212
+ className: tailwindMerge.twMerge(
213
+ buttonDefaultClasses,
214
+ buttonVariantClasses,
215
+ paddingPicker(!!iconName)[iconPosition][mode || "block"],
216
+ fontSizePicker[mode || "block"],
217
+ (disabled || isLoading) && "cursor-not-allowed",
218
+ className
219
+ ),
220
+ disabled: disabled || isLoading,
221
+ ...rest,
222
+ children: [
223
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: isLoading, children: /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { className: "absolute", children: /* @__PURE__ */ jsxRuntime.jsx(index.Loading, { isLoading: true, size: 16 }) }) }),
224
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "start", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(
225
+ index.Icon,
226
+ {
227
+ name: iconName,
228
+ className: tailwindMerge.twMerge(fontSizePicker[mode || "block"]),
229
+ color: getColor()
230
+ }
231
+ ) }),
232
+ /* @__PURE__ */ jsxRuntime.jsx(index.Text, { weight: "medium", size: 16, color: getColor(), lang, children }),
233
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "end", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) })
234
+ ]
235
+ }
236
+ );
237
+ };
238
+ const PrimaryButton = ({
239
+ style,
240
+ height = 34,
241
+ mode,
242
+ children,
243
+ iconName,
244
+ disabled,
245
+ className,
246
+ iconPosition = "start",
247
+ isLoading,
248
+ lang = "fa",
249
+ textSize,
250
+ ...rest
251
+ }) => {
252
+ const getColor = () => {
253
+ if (disabled || isLoading) {
254
+ return colors.colors.primary_light_2;
255
+ }
256
+ return colors.colors.white_ff;
257
+ };
258
+ return /* @__PURE__ */ jsxRuntime.jsxs(
259
+ "button",
260
+ {
261
+ lang,
262
+ style: { height, ...style },
263
+ className: tailwindMerge.twMerge(
264
+ "bg-primary hover:bg-primary-light-1 active:bg-primary-dark-1 disabled:bg-light-6",
265
+ paddingPicker(!!iconName)[iconPosition][mode || "block"],
266
+ fontSizePicker[mode || "block"],
267
+ buttonDefaultClasses,
268
+ mode === "block" && "w-full",
269
+ (disabled || isLoading) && "cursor-not-allowed border-light-6",
270
+ className
271
+ ),
272
+ disabled: disabled || isLoading,
273
+ ...rest,
274
+ children: [
275
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: isLoading, children: /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { className: "absolute", children: /* @__PURE__ */ jsxRuntime.jsx(index.Loading, { isLoading: true, size: 16 }) }) }),
276
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "start", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) }),
277
+ /* @__PURE__ */ jsxRuntime.jsx(
278
+ index.Text,
279
+ {
280
+ lang,
281
+ weight: "medium",
282
+ className: tailwindMerge.twMerge(
283
+ "text-white-ff",
284
+ (disabled || isLoading) && "text-primary-light-2",
285
+ fontSizePicker[mode || "block"]
286
+ ),
287
+ size: textSize,
288
+ children
289
+ }
290
+ ),
291
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "end", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) })
292
+ ]
293
+ }
294
+ );
295
+ };
296
+ const SecondaryButton = ({
297
+ style,
298
+ height = 34,
299
+ mode,
300
+ children,
301
+ iconName,
302
+ disabled,
303
+ className,
304
+ iconPosition = "start",
305
+ isLoading,
306
+ lang = "fa",
307
+ ...rest
308
+ }) => {
309
+ const getColor = () => {
310
+ if (disabled || isLoading) {
311
+ return colors.colors.primary_light_2;
312
+ }
313
+ return colors.colors.primary;
314
+ };
315
+ return /* @__PURE__ */ jsxRuntime.jsxs(
316
+ "button",
317
+ {
318
+ lang,
319
+ style: { height, ...style },
320
+ className: tailwindMerge.twMerge(
321
+ "bg-transparent hover:bg-primary-light-1 active:bg-primary-dark-1 disabled:bg-light-6 [&_p]:text-primary [&_p]:hover:text-white-ff [&_svg]:hover:!fill-white-ff",
322
+ "border-[2px] border-solid border-primary hover:border-primary-light-1 active:border-primary-dark-1 disabled:bg-light-6",
323
+ paddingPicker(!!iconName)[iconPosition][mode || "block"],
324
+ fontSizePicker[mode || "block"],
325
+ buttonDefaultClasses,
326
+ (disabled || isLoading) && "cursor-not-allowed",
327
+ className
328
+ ),
329
+ disabled: disabled || isLoading,
330
+ ...rest,
331
+ children: [
332
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: isLoading, children: /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { className: "absolute", children: /* @__PURE__ */ jsxRuntime.jsx(index.Loading, { isLoading: true, size: 16 }) }) }),
333
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "start", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) }),
334
+ /* @__PURE__ */ jsxRuntime.jsx(index.Text, { lang, weight: "medium", className: fontSizePicker[mode || "block"], children }),
335
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "end", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) })
336
+ ]
337
+ }
338
+ );
339
+ };
340
+ const SecondaryQuietButton = ({
341
+ style,
342
+ height,
343
+ mode,
344
+ children,
345
+ iconName,
346
+ disabled,
347
+ className,
348
+ iconPosition = "start",
349
+ isLoading,
350
+ lang = "fa",
351
+ ...rest
352
+ }) => {
353
+ const getColor = () => {
354
+ if (disabled || isLoading) {
355
+ return colors.colors.primary_light_2;
356
+ }
357
+ return colors.colors.primary;
358
+ };
359
+ return /* @__PURE__ */ jsxRuntime.jsxs(
360
+ "button",
361
+ {
362
+ lang,
363
+ style: {
364
+ height: height || 34,
365
+ ...style
366
+ },
367
+ className: tailwindMerge.twMerge(
368
+ "hover:bg-light-6 active:bg-light-7 disabled:light-6 bg-transparent",
369
+ paddingPicker(!!iconName)[iconPosition][mode || "block"],
370
+ fontSizePicker[mode || "block"],
371
+ buttonDefaultClasses,
372
+ (disabled || isLoading) && "cursor-not-allowed ",
373
+ className
374
+ ),
375
+ disabled: disabled || isLoading,
376
+ ...rest,
377
+ children: [
378
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "start", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) }),
379
+ /* @__PURE__ */ jsxRuntime.jsx(
380
+ index.Text,
381
+ {
382
+ lang,
383
+ weight: "medium",
384
+ className: fontSizePicker[mode || "block"],
385
+ color: getColor(),
386
+ children
387
+ }
388
+ ),
389
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "end", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) })
390
+ ]
391
+ }
392
+ );
393
+ };
394
+ const TertiaryButton = ({
395
+ style,
396
+ height,
397
+ mode,
398
+ children,
399
+ iconName,
400
+ disabled,
401
+ className,
402
+ iconPosition = "start",
403
+ isLoading,
404
+ lang = "fa",
405
+ ...rest
406
+ }) => {
407
+ const getColor = () => {
408
+ if (disabled || isLoading) {
409
+ return colors.colors.primary_light_2;
410
+ }
411
+ return colors.colors.primary_dark_1;
412
+ };
413
+ return /* @__PURE__ */ jsxRuntime.jsxs(
414
+ "button",
415
+ {
416
+ lang,
417
+ style: {
418
+ height: height || 34,
419
+ ...style
420
+ },
421
+ className: tailwindMerge.twMerge(
422
+ "bg-light-1 hover:bg-white-ff active:light-6 disabled:light-6",
423
+ "border-primary-light-3 hover:border-primary-light-2 active:bg-primary-light-2 disabled:light-6 border-[1px] border-solid",
424
+ paddingPicker(!!iconName)[iconPosition][mode || "block"],
425
+ fontSizePicker[mode || "block"],
426
+ buttonDefaultClasses,
427
+ (disabled || isLoading) && "cursor-not-allowed",
428
+ className
429
+ ),
430
+ disabled: disabled || isLoading,
431
+ ...rest,
432
+ children: [
433
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "start", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) }),
434
+ /* @__PURE__ */ jsxRuntime.jsx(
435
+ index.Text,
436
+ {
437
+ lang,
438
+ weight: "medium",
439
+ className: fontSizePicker[mode || "block"],
440
+ color: getColor(),
441
+ children
442
+ }
443
+ ),
444
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "end", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(index.Icon, { name: iconName, className: fontSizePicker[mode || "block"], color: getColor() }) })
445
+ ]
446
+ }
447
+ );
448
+ };
449
+ const TextButton = ({
450
+ style,
451
+ height = 34,
452
+ mode,
453
+ children,
454
+ iconName,
455
+ disabled,
456
+ className,
457
+ iconPosition = "start",
458
+ isLoading,
459
+ lang = "fa",
460
+ underline,
461
+ textProps,
462
+ startIconSize,
463
+ endIconSize,
464
+ ...rest
465
+ }) => {
466
+ const getColor = () => {
467
+ if (disabled || isLoading) {
468
+ return colors.colors.primary_light_2;
469
+ }
470
+ return colors.colors.black;
471
+ };
472
+ return /* @__PURE__ */ jsxRuntime.jsxs(
473
+ "button",
474
+ {
475
+ lang,
476
+ style: { height, ...style },
477
+ className: tailwindMerge.twMerge(
478
+ "disabled:bg-light-6 border-none hover:bg-none focus:bg-none",
479
+ paddingPicker(!!iconName)[iconPosition][mode || "block"],
480
+ fontSizePicker[mode || "block"],
481
+ buttonDefaultClasses,
482
+ mode === "block" && "w-full",
483
+ (disabled || isLoading) && "border-light-6 cursor-not-allowed",
484
+ className
485
+ ),
486
+ disabled: disabled || isLoading,
487
+ ...rest,
488
+ children: [
489
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: isLoading, children: /* @__PURE__ */ jsxRuntime.jsx(index.Flex, { className: "absolute", children: /* @__PURE__ */ jsxRuntime.jsx(index.Loading, { isLoading: true, size: 16 }) }) }),
490
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "start", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(
491
+ index.Icon,
492
+ {
493
+ size: startIconSize,
494
+ name: iconName,
495
+ className: fontSizePicker[mode || "block"],
496
+ color: getColor()
497
+ }
498
+ ) }),
499
+ /* @__PURE__ */ jsxRuntime.jsx(
500
+ index.Text,
501
+ {
502
+ lang,
503
+ weight: "medium",
504
+ className: tailwindMerge.twMerge(
505
+ (disabled || isLoading) && "text-primary-light-2",
506
+ fontSizePicker[mode || "block"],
507
+ underline && "underline"
508
+ ),
509
+ ...textProps,
510
+ children
511
+ }
512
+ ),
513
+ /* @__PURE__ */ jsxRuntime.jsx(index.Render, { when: iconPosition === "end", children: iconName && /* @__PURE__ */ jsxRuntime.jsx(
514
+ index.Icon,
515
+ {
516
+ size: endIconSize,
517
+ name: iconName,
518
+ className: fontSizePicker[mode || "block"],
519
+ color: getColor()
520
+ }
521
+ ) })
522
+ ]
523
+ }
524
+ );
525
+ };
526
+ const Button = batch({
527
+ Primary: PrimaryButton,
528
+ Secondary: SecondaryButton,
529
+ Tertiary: TertiaryButton,
530
+ SecondaryQuiet: SecondaryQuietButton,
531
+ Icon: IconButton,
532
+ Negative: NegativeButton,
533
+ Action: ActionButton,
534
+ Text: TextButton
535
+ });
536
+ exports.Button = Button;
537
+ exports.IconButton = IconButton;
538
+ exports.Tooltip = Tooltip;
539
+ exports.batch = batch;
540
+ exports.buttonDefaultClasses = buttonDefaultClasses;
541
+ exports.fontSizePicker = fontSizePicker;
542
+ exports.paddingPicker = paddingPicker;
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
+ ;/* empty css */
4
+ const colors = require("./colors-TPZkyKI4.cjs");
5
+ const config = {
6
+ content: {
7
+ files: ["./src/**/*.{js,ts,jsx,tsx,html}", ".storybook/storybook.css"]
8
+ },
9
+ theme: {
10
+ fontFamily: {
11
+ "yekan-normal": "YekanBakhFaRegular",
12
+ "yekan-medium": "YekanBakhFaMedium",
13
+ "yekan-light": "YekanBakhFaLight",
14
+ "yekan-bold": "YekanBakhFaBold",
15
+ "roboto-normal": "RobotoRegular",
16
+ "roboto-light": "RobotoLight",
17
+ "roboto-medium": "RobotoMedium",
18
+ "roboto-bold": "RobotoBold"
19
+ },
20
+ colors: {
21
+ "white-ff": "#ffffff",
22
+ "white-ff-10": "#ffffff10",
23
+ "white-ff-15": "#ffffff15",
24
+ "white-ff-20": "#ffffff20",
25
+ "white-ff-35": "#ffffff35",
26
+ "light-1": "#f8f9fb",
27
+ "light-2": "#f1f3f8",
28
+ "light-3": "#f9fbff",
29
+ "light-4": "#f7fafe",
30
+ "light-5": "#ebf3ff",
31
+ "light-6": "#eaeff5",
32
+ "light-7": "#d9e1ea",
33
+ primary: "#435879",
34
+ "primary-dark-1": "#2b4063",
35
+ "primary-dark-2": "#192540",
36
+ "primary-light-1": "#516b93",
37
+ "primary-light-2": "#91a8c3",
38
+ "primary-light-3": "#b8c7d8",
39
+ secondary: "#1e51c1",
40
+ "secondary-dark-1": "#163b8e",
41
+ "secondary-light-1": "#2159d4",
42
+ "secondary-light-2": "#386de0",
43
+ tertiary: "#1ba9c7",
44
+ "tertiary-dark-1": "#489fb5",
45
+ negative: "#c9252d",
46
+ "negative-dark-1": "#bb121a",
47
+ "negative-light-1": "#d7373f",
48
+ "negative-light-2": "#e34850",
49
+ "negative-light-3": "#f6d8da",
50
+ "negative-light-4": "#f9e3e4",
51
+ "negative-light-5": "#fdf3f3",
52
+ positive: "#268e6c",
53
+ "positive-dark-1": "#12805c",
54
+ "positive-dark-2": "#107154",
55
+ "positive-light-2": "#2d9d78",
56
+ "positive-light-3": "#eefaf6",
57
+ "sales-action": "#ec6c2c",
58
+ black: "#000000",
59
+ transparent: "transparent",
60
+ "sales-action-dark-1": "#bc5624",
61
+ "sales-action-light-1": "#ff8136",
62
+ "sales-action-light-2": "#ff973e",
63
+ "sales-action-light-3": "#ffac48",
64
+ "call-action": "#8345c9",
65
+ "call-action-dark-1": "#6837a0",
66
+ "call-action-light-1": "#9d52f1",
67
+ "call-action-light-2": "#b760ff",
68
+ "call-action-light-3": "#d16eff",
69
+ "marketing-action": "#2962ff",
70
+ "marketing-action-dark-1": "#1043ce",
71
+ "marketing-action-light-1": "#3175ff",
72
+ "marketing-action-light-2": "#3d8cff",
73
+ "marketing-action-light-3": "#4ea3ff",
74
+ "club-action": "#d21369",
75
+ "club-action-dark-1": "#a80f54",
76
+ "club-action-light-1": "#fc167e",
77
+ "club-action-light-2": "#ff1a93",
78
+ "club-action-light-3": "#ff27ab",
79
+ "team-action": "#B5179E",
80
+ "team-action-dark-1": "#9E218C",
81
+ "team-action-light-1": "#D834C0",
82
+ "team-action-light-2": "#F841DD",
83
+ "team-action-light-3": "#FF56E6",
84
+ "desk-action": "#50C877",
85
+ "desk-action-dark-1": "#3B965B",
86
+ "desk-action-light-1": "#60D38F",
87
+ "desk-action-light-2": "#6BDBA2",
88
+ "desk-action-light-3": "#80E9BF",
89
+ "form-action": "#00BFA5",
90
+ "form-action-dark-1": "#00927E",
91
+ "form-action-light-1": "#00CCB7",
92
+ "form-action-light-2": "#03D5C4",
93
+ "form-action-light-3": "#05E4DB",
94
+ "task-action": "#5066D4",
95
+ "task-action-dark-1": "#3C4C9F",
96
+ "task-action-light-1": "#617ADD",
97
+ "task-action-light-2": "#6D8AE3",
98
+ "task-action-light-3": "#81A2EE",
99
+ "rayan-action": "#5066D4",
100
+ "rayan-action-dark-1": "#3C4C9F",
101
+ "rayan-action-light-1": "#617ADD",
102
+ "rayan-action-light-2": "#6D8AE3",
103
+ "rayan-action-light-3": "#81A2EE"
104
+ }
105
+ }
106
+ };
107
+ exports.AbrplusUIKit = colors.AbrplusUIKit;
108
+ exports.colors = colors.colors;
109
+ exports.tailwindConfig = config;