se-design 0.0.116 → 0.0.118

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 (264) hide show
  1. package/dist/assets/icons/all-space.svg +12 -0
  2. package/dist/assets/icons/csv.svg +20 -0
  3. package/dist/assets/icons/gmail.svg +7 -0
  4. package/dist/assets/icons/hashtag.svg +6 -0
  5. package/dist/assets/icons/info.svg +10 -6
  6. package/dist/assets/icons/onedrive.svg +6 -0
  7. package/dist/assets/icons/outlook.svg +39 -0
  8. package/dist/assets/icons/rotate-left.svg +2 -2
  9. package/dist/assets/icons/shipment-private.svg +7 -0
  10. package/dist/assets/style.css +1 -1
  11. package/dist/components/DatePicker/index.d.ts +17 -0
  12. package/dist/components/HamburgerMenu/index.d.ts +1 -0
  13. package/dist/components/Icon/index.d.ts +1 -0
  14. package/dist/components/MenuItem/index.d.ts +1 -0
  15. package/dist/components/RadioGroup/index.d.ts +1 -0
  16. package/dist/components/SearchBox/index.d.ts +3 -0
  17. package/dist/components/SidebarOverlay/index.d.ts +1 -1
  18. package/dist/components/index.d.ts +1 -0
  19. package/dist/index.js +28 -26
  20. package/dist/index.js.map +1 -1
  21. package/dist/index100.js +1 -1
  22. package/dist/index100.js.map +1 -1
  23. package/dist/index101.js +1 -1
  24. package/dist/index101.js.map +1 -1
  25. package/dist/index102.js +1 -1
  26. package/dist/index102.js.map +1 -1
  27. package/dist/index103.js +1 -1
  28. package/dist/index103.js.map +1 -1
  29. package/dist/index104.js +1 -1
  30. package/dist/index104.js.map +1 -1
  31. package/dist/index105.js +1 -1
  32. package/dist/index105.js.map +1 -1
  33. package/dist/index106.js +2 -2
  34. package/dist/index106.js.map +1 -1
  35. package/dist/index107.js +1 -1
  36. package/dist/index107.js.map +1 -1
  37. package/dist/index108.js +2 -2
  38. package/dist/index108.js.map +1 -1
  39. package/dist/index109.js +1 -1
  40. package/dist/index109.js.map +1 -1
  41. package/dist/index110.js +1 -1
  42. package/dist/index110.js.map +1 -1
  43. package/dist/index111.js +1 -1
  44. package/dist/index111.js.map +1 -1
  45. package/dist/index112.js +1 -1
  46. package/dist/index112.js.map +1 -1
  47. package/dist/index113.js +1 -1
  48. package/dist/index113.js.map +1 -1
  49. package/dist/index114.js +2 -2
  50. package/dist/index114.js.map +1 -1
  51. package/dist/index115.js +1 -1
  52. package/dist/index115.js.map +1 -1
  53. package/dist/index116.js +1 -1
  54. package/dist/index116.js.map +1 -1
  55. package/dist/index117.js +2 -149
  56. package/dist/index117.js.map +1 -1
  57. package/dist/index118.js +5 -0
  58. package/dist/index118.js.map +1 -0
  59. package/dist/index119.js +5 -0
  60. package/dist/index119.js.map +1 -0
  61. package/dist/index120.js +5 -0
  62. package/dist/index120.js.map +1 -0
  63. package/dist/index121.js +5 -0
  64. package/dist/index121.js.map +1 -0
  65. package/dist/index122.js +5 -0
  66. package/dist/index122.js.map +1 -0
  67. package/dist/index123.js +5 -0
  68. package/dist/index123.js.map +1 -0
  69. package/dist/index124.js +5 -0
  70. package/dist/index124.js.map +1 -0
  71. package/dist/index125.js +152 -0
  72. package/dist/index125.js.map +1 -0
  73. package/dist/index136.js +12 -1233
  74. package/dist/index136.js.map +1 -1
  75. package/dist/index144.js +1232 -37
  76. package/dist/index144.js.map +1 -1
  77. package/dist/index146.js +9 -7
  78. package/dist/index146.js.map +1 -1
  79. package/dist/index147.js +9 -326
  80. package/dist/index147.js.map +1 -1
  81. package/dist/index148.js +4 -49
  82. package/dist/index148.js.map +1 -1
  83. package/dist/index149.js +170 -2
  84. package/dist/index149.js.map +1 -1
  85. package/dist/index15.js +21 -17
  86. package/dist/index15.js.map +1 -1
  87. package/dist/index150.js +11 -76
  88. package/dist/index150.js.map +1 -1
  89. package/dist/index151.js +5 -92
  90. package/dist/index151.js.map +1 -1
  91. package/dist/index152.js +5 -51
  92. package/dist/index152.js.map +1 -1
  93. package/dist/index153.js +37 -7
  94. package/dist/index153.js.map +1 -1
  95. package/dist/index154.js +2 -5
  96. package/dist/index154.js.map +1 -1
  97. package/dist/index155.js +7 -51
  98. package/dist/index155.js.map +1 -1
  99. package/dist/index156.js +327 -2
  100. package/dist/index156.js.map +1 -1
  101. package/dist/index157.js +50 -2
  102. package/dist/index157.js.map +1 -1
  103. package/dist/index158.js +5 -0
  104. package/dist/index158.js.map +1 -0
  105. package/dist/index159.js +79 -0
  106. package/dist/index159.js.map +1 -0
  107. package/dist/index160.js +96 -0
  108. package/dist/index160.js.map +1 -0
  109. package/dist/index161.js +55 -0
  110. package/dist/index161.js.map +1 -0
  111. package/dist/index162.js +11 -0
  112. package/dist/index162.js.map +1 -0
  113. package/dist/index163.js +8 -0
  114. package/dist/index163.js.map +1 -0
  115. package/dist/index164.js +55 -0
  116. package/dist/index164.js.map +1 -0
  117. package/dist/index165.js +5 -0
  118. package/dist/index165.js.map +1 -0
  119. package/dist/index166.js +5 -0
  120. package/dist/index166.js.map +1 -0
  121. package/dist/index19.js +12 -11
  122. package/dist/index19.js.map +1 -1
  123. package/dist/index23.js +18 -18
  124. package/dist/index23.js.map +1 -1
  125. package/dist/index26.js +54 -39
  126. package/dist/index26.js.map +1 -1
  127. package/dist/index29.js +22 -19
  128. package/dist/index29.js.map +1 -1
  129. package/dist/index31.js +27 -27
  130. package/dist/index31.js.map +1 -1
  131. package/dist/index32.js +9 -9
  132. package/dist/index32.js.map +1 -1
  133. package/dist/index37.js +46 -38
  134. package/dist/index37.js.map +1 -1
  135. package/dist/index42.js +36 -36
  136. package/dist/index42.js.map +1 -1
  137. package/dist/index43.js +1 -1
  138. package/dist/index48.js +292 -2
  139. package/dist/index48.js.map +1 -1
  140. package/dist/index49.js +1 -1
  141. package/dist/index49.js.map +1 -1
  142. package/dist/index5.js +133 -118
  143. package/dist/index5.js.map +1 -1
  144. package/dist/index50.js +1 -1
  145. package/dist/index50.js.map +1 -1
  146. package/dist/index51.js +1 -1
  147. package/dist/index51.js.map +1 -1
  148. package/dist/index52.js +1 -1
  149. package/dist/index52.js.map +1 -1
  150. package/dist/index53.js +1 -1
  151. package/dist/index53.js.map +1 -1
  152. package/dist/index54.js +1 -1
  153. package/dist/index54.js.map +1 -1
  154. package/dist/index55.js +1 -1
  155. package/dist/index55.js.map +1 -1
  156. package/dist/index56.js +1 -1
  157. package/dist/index56.js.map +1 -1
  158. package/dist/index57.js +1 -1
  159. package/dist/index57.js.map +1 -1
  160. package/dist/index58.js +1 -1
  161. package/dist/index58.js.map +1 -1
  162. package/dist/index59.js +1 -1
  163. package/dist/index59.js.map +1 -1
  164. package/dist/index60.js +1 -1
  165. package/dist/index60.js.map +1 -1
  166. package/dist/index61.js +2 -2
  167. package/dist/index61.js.map +1 -1
  168. package/dist/index62.js +1 -1
  169. package/dist/index62.js.map +1 -1
  170. package/dist/index63.js +2 -2
  171. package/dist/index63.js.map +1 -1
  172. package/dist/index64.js +1 -1
  173. package/dist/index64.js.map +1 -1
  174. package/dist/index65.js +1 -1
  175. package/dist/index65.js.map +1 -1
  176. package/dist/index66.js +2 -2
  177. package/dist/index66.js.map +1 -1
  178. package/dist/index67.js +1 -1
  179. package/dist/index67.js.map +1 -1
  180. package/dist/index68.js +2 -2
  181. package/dist/index68.js.map +1 -1
  182. package/dist/index69.js +2 -2
  183. package/dist/index69.js.map +1 -1
  184. package/dist/index70.js +1 -1
  185. package/dist/index70.js.map +1 -1
  186. package/dist/index71.js +1 -1
  187. package/dist/index71.js.map +1 -1
  188. package/dist/index72.js +2 -2
  189. package/dist/index72.js.map +1 -1
  190. package/dist/index73.js +1 -1
  191. package/dist/index73.js.map +1 -1
  192. package/dist/index74.js +2 -2
  193. package/dist/index74.js.map +1 -1
  194. package/dist/index75.js +2 -2
  195. package/dist/index75.js.map +1 -1
  196. package/dist/index76.js +1 -1
  197. package/dist/index76.js.map +1 -1
  198. package/dist/index77.js +2 -2
  199. package/dist/index77.js.map +1 -1
  200. package/dist/index78.js +2 -2
  201. package/dist/index78.js.map +1 -1
  202. package/dist/index79.js +1 -1
  203. package/dist/index79.js.map +1 -1
  204. package/dist/index80.js +1 -1
  205. package/dist/index80.js.map +1 -1
  206. package/dist/index81.js +1 -1
  207. package/dist/index81.js.map +1 -1
  208. package/dist/index82.js +1 -1
  209. package/dist/index82.js.map +1 -1
  210. package/dist/index83.js +2 -2
  211. package/dist/index83.js.map +1 -1
  212. package/dist/index84.js +1 -1
  213. package/dist/index84.js.map +1 -1
  214. package/dist/index85.js +2 -2
  215. package/dist/index85.js.map +1 -1
  216. package/dist/index86.js +1 -1
  217. package/dist/index86.js.map +1 -1
  218. package/dist/index87.js +1 -1
  219. package/dist/index87.js.map +1 -1
  220. package/dist/index88.js +1 -1
  221. package/dist/index88.js.map +1 -1
  222. package/dist/index89.js +1 -1
  223. package/dist/index89.js.map +1 -1
  224. package/dist/index9.js +9 -9
  225. package/dist/index9.js.map +1 -1
  226. package/dist/index90.js +2 -2
  227. package/dist/index90.js.map +1 -1
  228. package/dist/index91.js +2 -2
  229. package/dist/index91.js.map +1 -1
  230. package/dist/index92.js +1 -1
  231. package/dist/index92.js.map +1 -1
  232. package/dist/index93.js +1 -1
  233. package/dist/index93.js.map +1 -1
  234. package/dist/index94.js +2 -2
  235. package/dist/index94.js.map +1 -1
  236. package/dist/index95.js +2 -2
  237. package/dist/index95.js.map +1 -1
  238. package/dist/index96.js +1 -1
  239. package/dist/index96.js.map +1 -1
  240. package/dist/index97.js +2 -2
  241. package/dist/index97.js.map +1 -1
  242. package/dist/index98.js +2 -2
  243. package/dist/index98.js.map +1 -1
  244. package/dist/index99.js +1 -1
  245. package/dist/index99.js.map +1 -1
  246. package/package.json +1 -1
  247. package/dist/index128.js +0 -15
  248. package/dist/index128.js.map +0 -1
  249. package/dist/index137.js +0 -13
  250. package/dist/index137.js.map +0 -1
  251. package/dist/index138.js +0 -13
  252. package/dist/index138.js.map +0 -1
  253. package/dist/index139.js +0 -8
  254. package/dist/index139.js.map +0 -1
  255. package/dist/index140.js +0 -173
  256. package/dist/index140.js.map +0 -1
  257. package/dist/index141.js +0 -14
  258. package/dist/index141.js.map +0 -1
  259. package/dist/index142.js +0 -9
  260. package/dist/index142.js.map +0 -1
  261. package/dist/index143.js +0 -9
  262. package/dist/index143.js.map +0 -1
  263. package/dist/index145.js +0 -5
  264. package/dist/index145.js.map +0 -1
package/dist/index37.js CHANGED
@@ -1,22 +1,26 @@
1
- import a, { useState as h, useRef as H, useEffect as s, useMemo as _ } from "react";
1
+ import n, { useState as h, useRef as $, useEffect as s, useMemo as z } from "react";
2
2
  import { Icon as g } from "./index5.js";
3
- import { LabelChip as $ } from "./index9.js";
4
- import { debounce as z } from "./index128.js";
3
+ import { LabelChip as D } from "./index9.js";
4
+ import { debounce as F } from "./index136.js";
5
5
  /* empty css */
6
- function T(r) {
6
+ function q(r) {
7
7
  const {
8
- disabled: C = !1,
9
- placeholder: S = "Search",
8
+ disabled: v = !1,
9
+ placeholder: N = "Search",
10
10
  debounceDuration: f = 500,
11
11
  onInputChange: l = () => {
12
12
  },
13
- onSearchClear: k = () => {
13
+ onSearchClear: S = () => {
14
+ },
15
+ onChipRemove: I = () => {
14
16
  },
15
17
  updateSearchString: i = "",
16
18
  collapsible: p = !1,
17
- width: v = "200px",
18
- chips: m = []
19
- } = r, [t, d] = h(""), [o, b] = h(!(r != null && r.collapsible)), [n, x] = h(m || []), c = H(null);
19
+ width: k = "200px",
20
+ chips: m = [],
21
+ showSearchIcon: w = !0,
22
+ renderFilterComponent: b = null
23
+ } = r, [t, d] = h(""), [o, E] = h(!(r != null && r.collapsible)), [a, x] = h(m || []), c = $(null);
20
24
  s(() => {
21
25
  o && c.current && setTimeout(() => {
22
26
  var e;
@@ -27,55 +31,59 @@ function T(r) {
27
31
  }, [i]), s(() => {
28
32
  x(m);
29
33
  }, [m]);
30
- const u = _(() => z(l, f), [l, f]);
34
+ const u = z(() => F(l, f), [l, f]);
31
35
  s(() => () => {
32
36
  u.cancel();
33
37
  }, [u]);
34
- const I = (e) => {
38
+ const y = (e) => {
35
39
  d(e), u(e);
36
- }, N = () => {
37
- d(""), l(""), k();
38
- }, w = () => {
39
- p && (t == null ? void 0 : t.trimEnd()) === "" && b(!1);
40
- }, y = (e) => {
41
- x(n.filter((B) => B !== e));
42
- }, E = (n == null ? void 0 : n.length) > 0;
43
- return /* @__PURE__ */ a.createElement("div", {
40
+ }, B = () => {
41
+ d(""), l(""), S();
42
+ }, H = () => {
43
+ p && (t == null ? void 0 : t.trimEnd()) === "" && E(!1);
44
+ }, _ = (e) => {
45
+ x(a.filter((R) => R !== e)), I(e);
46
+ }, C = (a == null ? void 0 : a.length) > 0;
47
+ return /* @__PURE__ */ n.createElement("div", {
44
48
  className: `se-search-box ${o ? "expand-box" : "shrink-box"}`,
45
49
  style: {
46
- width: v
50
+ width: k
47
51
  }
48
- }, o && /* @__PURE__ */ a.createElement("div", {
49
- className: `chips-and-search-box-container${E ? " has-chips" : ""}`
50
- }, E && (n == null ? void 0 : n.map((e) => /* @__PURE__ */ a.createElement($, {
52
+ }, o && /* @__PURE__ */ n.createElement("div", {
53
+ className: "search-box-container"
54
+ }, /* @__PURE__ */ n.createElement("div", {
55
+ className: `chips-and-search-box-container${C ? " has-chips" : ""}`
56
+ }, C && (a == null ? void 0 : a.map((e) => /* @__PURE__ */ n.createElement(D, {
51
57
  key: e,
52
58
  label: e,
53
59
  icon: "close",
54
- onIconClick: () => y(e),
55
- size: "sm"
56
- }))), /* @__PURE__ */ a.createElement("div", {
60
+ onIconClick: () => _(e),
61
+ size: "lg"
62
+ }))), /* @__PURE__ */ n.createElement("div", {
57
63
  className: "search-input-container"
58
- }, /* @__PURE__ */ a.createElement(g, {
64
+ }, w && /* @__PURE__ */ n.createElement(g, {
59
65
  name: "search",
60
66
  className: "search-icon img-wrap",
61
- onClick: () => p && b((e) => !e)
62
- }), /* @__PURE__ */ a.createElement("input", {
67
+ onClick: () => p && E((e) => !e)
68
+ }), /* @__PURE__ */ n.createElement("input", {
63
69
  ref: c,
64
70
  className: "search-input border-transparent focus:border-transparent active:border-transparent focus:ring-0",
65
71
  id: "search_bar",
66
72
  type: "text",
67
- placeholder: S,
68
- onChange: (e) => I(e.target.value),
73
+ placeholder: N,
74
+ onChange: (e) => y(e.target.value),
69
75
  value: t,
70
- disabled: C,
71
- onBlur: w
72
- }), !!t && /* @__PURE__ */ a.createElement(g, {
76
+ disabled: v,
77
+ onBlur: H
78
+ }), !!t && /* @__PURE__ */ n.createElement(g, {
73
79
  name: "close",
74
80
  className: "cross-icon img-wrap",
75
- onClick: N
76
- }))));
81
+ onClick: B
82
+ }))), b && /* @__PURE__ */ n.createElement("div", {
83
+ className: "filter-component-container"
84
+ }, b())));
77
85
  }
78
86
  export {
79
- T as SearchBox
87
+ q as SearchBox
80
88
  };
81
89
  //# sourceMappingURL=index37.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index37.js","sources":["../src/components/SearchBox/index.tsx"],"sourcesContent":["import React, { useState, useMemo, useEffect, useRef } from 'react';\n\nimport { Icon } from 'components/Icon';\nimport { LabelChip } from 'components/LabelChip';\nimport { debounce } from 'utils/debounce';\n\nimport './style.scss';\n\nexport interface SearchBoxProps {\n disabled?: boolean,\n placeholder?: string,\n debounceDuration?: number,\n onInputChange?: (value: string) => void,\n onSearchClear?: () => void,\n updateSearchString?: string,\n collapsible?: boolean,\n width?: string,\n chips?: string[]\n}\n\nexport function SearchBox(props: SearchBoxProps) {\n const {\n disabled = false,\n placeholder = 'Search',\n debounceDuration = 500,\n onInputChange = () => {},\n onSearchClear = () => {},\n updateSearchString = '',\n collapsible = false,\n width = '200px',\n chips = []\n } = props;\n const [inputValue, setInputValue] = useState('');\n const [isExpanded, setIsExpanded] = useState(!props?.collapsible);\n const [searchChips, setSearchChips] = useState<string[]>(chips || []);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (isExpanded && inputRef.current) {\n setTimeout(() => inputRef?.current?.focus(), 0);\n }\n }, [isExpanded]);\n \n // Manually update the searchbox text\n useEffect(() => {\n if (updateSearchString !== inputValue) {\n setInputValue(updateSearchString);\n }\n }, [updateSearchString]);\n\n useEffect(() => {\n setSearchChips(chips);\n }, [chips]);\n\n \n \n const debouncedOnInputChange = useMemo(\n () => debounce(onInputChange, debounceDuration),\n [onInputChange, debounceDuration]\n );\n\n useEffect(() => {\n return () => {\n debouncedOnInputChange.cancel();\n };\n }, [debouncedOnInputChange]);\n\n\n const onChangeHandler = (value: string) => {\n setInputValue(value);\n debouncedOnInputChange(value);\n };\n\n const iconClickHandler = () => {\n setInputValue('');\n onInputChange('');\n onSearchClear();\n };\n\n const onBlurHandler = () => {\n if (collapsible && inputValue?.trimEnd() === '') {\n setIsExpanded(false);\n }\n };\n\n const removeChip = (chip: string) => {\n setSearchChips(searchChips.filter((c) => c !== chip));\n }\n\n const hasChips = searchChips?.length > 0;\n\n return (\n <div className={`se-search-box ${isExpanded ? 'expand-box' : 'shrink-box'}`} style={{ width: width }}>\n {/* <Icon name=\"search\" className=\"search-icon img-wrap\" onClick={() => collapsible && setIsExpanded((prev) => !prev)} /> */}\n {isExpanded && (\n <div className={`chips-and-search-box-container${hasChips ? ' has-chips' : ''}`}>\n {hasChips && searchChips?.map((chip) => (\n <LabelChip key={chip} label={chip} icon=\"close\" onIconClick={() => removeChip(chip)} size=\"sm\" />\n ))}\n <div className=\"search-input-container\">\n <Icon name=\"search\" className=\"search-icon img-wrap\" onClick={() => collapsible && setIsExpanded((prev) => !prev)} />\n <input\n ref={inputRef}\n className={`search-input border-transparent focus:border-transparent active:border-transparent focus:ring-0`}\n id=\"search_bar\"\n type=\"text\"\n placeholder={placeholder}\n onChange={(e) => onChangeHandler(e.target.value)}\n value={inputValue}\n disabled={disabled}\n onBlur={onBlurHandler}\n />\n {!!inputValue && (\n <Icon\n name=\"close\"\n className=\"cross-icon img-wrap\"\n onClick={iconClickHandler}\n />\n )}\n </div>\n </div>\n )}\n </div>\n );\n}\n"],"names":["SearchBox","props","disabled","placeholder","debounceDuration","onInputChange","onSearchClear","updateSearchString","collapsible","width","chips","inputValue","setInputValue","useState","isExpanded","setIsExpanded","searchChips","setSearchChips","inputRef","useRef","useEffect","current","setTimeout","focus","debouncedOnInputChange","useMemo","debounce","cancel","onChangeHandler","value","iconClickHandler","onBlurHandler","trimEnd","removeChip","chip","filter","c","hasChips","length","React","createElement","className","style","map","LabelChip","key","label","icon","onIconClick","size","Icon","name","onClick","prev","ref","id","type","onChange","e","target","onBlur"],"mappings":"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"}
1
+ {"version":3,"file":"index37.js","sources":["../src/components/SearchBox/index.tsx"],"sourcesContent":["import React, { useState, useMemo, useEffect, useRef } from 'react';\n\nimport { Icon } from 'components/Icon';\nimport { LabelChip } from 'components/LabelChip';\nimport { debounce } from 'utils/debounce';\n\nimport './style.scss';\n\nexport interface SearchBoxProps {\n disabled?: boolean;\n placeholder?: string;\n debounceDuration?: number;\n onInputChange?: (value: string) => void;\n onSearchClear?: () => void;\n onChipRemove?: (chip: string) => void;\n updateSearchString?: string;\n collapsible?: boolean;\n width?: string;\n chips?: string[];\n showSearchIcon?: boolean;\n renderFilterComponent?: () => React.ReactNode;\n}\n\nexport function SearchBox(props: SearchBoxProps) {\n const {\n disabled = false,\n placeholder = 'Search',\n debounceDuration = 500,\n onInputChange = () => {},\n onSearchClear = () => {},\n onChipRemove = () => {},\n updateSearchString = '',\n collapsible = false,\n width = '200px',\n chips = [],\n showSearchIcon = true,\n renderFilterComponent = null\n } = props;\n const [inputValue, setInputValue] = useState('');\n const [isExpanded, setIsExpanded] = useState(!props?.collapsible);\n const [searchChips, setSearchChips] = useState<string[]>(chips || []);\n const inputRef = useRef<HTMLInputElement>(null);\n\n useEffect(() => {\n if (isExpanded && inputRef.current) {\n setTimeout(() => inputRef?.current?.focus(), 0);\n }\n }, [isExpanded]);\n\n // Manually update the searchbox text\n useEffect(() => {\n if (updateSearchString !== inputValue) {\n setInputValue(updateSearchString);\n }\n }, [updateSearchString]);\n\n useEffect(() => {\n setSearchChips(chips);\n }, [chips]);\n\n const debouncedOnInputChange = useMemo(\n () => debounce(onInputChange, debounceDuration),\n [onInputChange, debounceDuration]\n );\n\n useEffect(() => {\n return () => {\n debouncedOnInputChange.cancel();\n };\n }, [debouncedOnInputChange]);\n\n const onChangeHandler = (value: string) => {\n setInputValue(value);\n debouncedOnInputChange(value);\n };\n\n const iconClickHandler = () => {\n setInputValue('');\n onInputChange('');\n onSearchClear();\n };\n\n const onBlurHandler = () => {\n if (collapsible && inputValue?.trimEnd() === '') {\n setIsExpanded(false);\n }\n };\n\n const removeChip = (chip: string) => {\n setSearchChips(searchChips.filter((c) => c !== chip));\n onChipRemove(chip);\n };\n\n const hasChips = searchChips?.length > 0;\n\n return (\n <div className={`se-search-box ${isExpanded ? 'expand-box' : 'shrink-box'}`} style={{ width: width }}>\n {/* <Icon name=\"search\" className=\"search-icon img-wrap\" onClick={() => collapsible && setIsExpanded((prev) => !prev)} /> */}\n {isExpanded && (\n <div className=\"search-box-container\">\n <div className={`chips-and-search-box-container${hasChips ? ' has-chips' : ''}`}>\n {hasChips &&\n searchChips?.map((chip) => (\n <LabelChip key={chip} label={chip} icon=\"close\" onIconClick={() => removeChip(chip)} size=\"lg\" />\n ))}\n <div className=\"search-input-container\">\n {showSearchIcon && (\n <Icon\n name=\"search\"\n className=\"search-icon img-wrap\"\n onClick={() => collapsible && setIsExpanded((prev) => !prev)}\n />\n )}\n <input\n ref={inputRef}\n className={`search-input border-transparent focus:border-transparent active:border-transparent focus:ring-0`}\n id=\"search_bar\"\n type=\"text\"\n placeholder={placeholder}\n onChange={(e) => onChangeHandler(e.target.value)}\n value={inputValue}\n disabled={disabled}\n onBlur={onBlurHandler}\n />\n {!!inputValue && <Icon name=\"close\" className=\"cross-icon img-wrap\" onClick={iconClickHandler} />}\n </div>\n </div>\n {renderFilterComponent && <div className=\"filter-component-container\">{renderFilterComponent()}</div>}\n </div>\n )}\n </div>\n );\n}\n"],"names":["SearchBox","props","disabled","placeholder","debounceDuration","onInputChange","onSearchClear","onChipRemove","updateSearchString","collapsible","width","chips","showSearchIcon","renderFilterComponent","inputValue","setInputValue","useState","isExpanded","setIsExpanded","searchChips","setSearchChips","inputRef","useRef","useEffect","current","setTimeout","focus","debouncedOnInputChange","useMemo","debounce","cancel","onChangeHandler","value","iconClickHandler","onBlurHandler","trimEnd","removeChip","chip","filter","c","hasChips","length","React","createElement","className","style","map","LabelChip","key","label","icon","onIconClick","size","Icon","name","onClick","prev","ref","id","type","onChange","e","target","onBlur"],"mappings":"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"}
package/dist/index42.js CHANGED
@@ -9,7 +9,7 @@ var b = (e, t, a) => t in e ? j(e, t, { enumerable: !0, configurable: !0, writab
9
9
  h.call(t, a) && b(e, a, t[a]);
10
10
  return e;
11
11
  };
12
- var $ = (e, t) => {
12
+ var S = (e, t) => {
13
13
  var a = {};
14
14
  for (var l in e)
15
15
  x.call(e, l) && t.indexOf(l) < 0 && (a[l] = e[l]);
@@ -18,23 +18,23 @@ var $ = (e, t) => {
18
18
  t.indexOf(l) < 0 && h.call(e, l) && (a[l] = e[l]);
19
19
  return a;
20
20
  };
21
- import r, { useRef as q, useEffect as y } from "react";
21
+ import n, { useRef as q, useEffect as $ } from "react";
22
22
  /* empty css */
23
- const J = /* @__PURE__ */ r.memo((z) => {
23
+ const J = /* @__PURE__ */ n.memo((z) => {
24
24
  var N = z, {
25
25
  value: e,
26
26
  onChange: t,
27
27
  disabled: a = !1,
28
28
  maxLength: l,
29
- tag: B = "input",
29
+ tag: y = "input",
30
30
  error: s = !1,
31
- errorMessage: L,
31
+ errorMessage: B,
32
32
  label: E,
33
- placeholder: S,
33
+ placeholder: L,
34
34
  suggestions: i = [],
35
35
  customRenderSuggestions: o,
36
36
  onSuggestionClick: v
37
- } = N, _ = $(N, [
37
+ } = N, _ = S(N, [
38
38
  "value",
39
39
  "onChange",
40
40
  "disabled",
@@ -48,62 +48,62 @@ const J = /* @__PURE__ */ r.memo((z) => {
48
48
  "customRenderSuggestions",
49
49
  "onSuggestionClick"
50
50
  ]);
51
- const [d, f] = r.useState([...i]), [A, p] = r.useState(!1), u = q(null), F = r.useCallback((c) => {
52
- const n = c.target.value;
51
+ const [d, f] = n.useState([...i]), [A, u] = n.useState(!1), p = q(null), F = n.useCallback((c) => {
52
+ const r = c.target.value;
53
53
  if (o)
54
- t(n, !1);
55
- else if (t(n), n === "")
54
+ t(r, !1);
55
+ else if (t(r), r === "")
56
56
  f([...i]);
57
- else if (n) {
57
+ else if (r) {
58
58
  const V = i == null ? void 0 : i.filter((C) => {
59
59
  var k;
60
- return typeof C == "string" && C.toLowerCase().includes((k = n == null ? void 0 : n.toLowerCase()) != null ? k : "");
60
+ return typeof C == "string" && C.toLowerCase().includes((k = r == null ? void 0 : r.toLowerCase()) != null ? k : "");
61
61
  });
62
- f(V);
62
+ f([...V]);
63
63
  }
64
64
  }, [t, i, o]);
65
- y(() => {
66
- o && f([...i]);
67
- }, [i]), y(() => {
68
- const c = (n) => {
69
- u.current && !u.current.contains(n.target) && p(!1);
65
+ $(() => {
66
+ f([...i]);
67
+ }, [i]), $(() => {
68
+ const c = (r) => {
69
+ p.current && !p.current.contains(r.target) && u(!1);
70
70
  };
71
71
  return document.addEventListener("mousedown", c), () => {
72
72
  document.removeEventListener("mousedown", c);
73
73
  };
74
74
  }, []);
75
75
  const O = () => {
76
- p(!0);
76
+ u(!0);
77
77
  }, w = (c) => {
78
- t(c, !0), p(!1), v && v(c);
78
+ t(c, !0), u(!1), v && v(c);
79
79
  };
80
- return /* @__PURE__ */ r.createElement("div", {
80
+ return /* @__PURE__ */ n.createElement("div", {
81
81
  className: "main-container-autocomplete-se-design",
82
- ref: u
83
- }, E && /* @__PURE__ */ r.createElement("label", {
82
+ ref: p
83
+ }, E && /* @__PURE__ */ n.createElement("label", {
84
84
  className: "label-container"
85
- }, E), /* @__PURE__ */ r.createElement(B, I({
85
+ }, E), /* @__PURE__ */ n.createElement(y, I({
86
86
  value: e,
87
87
  onChange: F,
88
88
  onClick: O,
89
89
  disabled: a,
90
90
  className: `${s ? "input-container-error" : "input-container-default"} ${a ? "input-container-disabled" : ""}`,
91
91
  maxLength: l,
92
- placeholder: S
93
- }, _)), /* @__PURE__ */ r.createElement("div", {
92
+ placeholder: L
93
+ }, _)), A && d.length > 0 && /* @__PURE__ */ n.createElement("div", {
94
+ className: "suggestions-list"
95
+ }, o ? o(d, w) : d.map((c, r) => /* @__PURE__ */ n.createElement("div", {
96
+ key: r,
97
+ className: "suggestion-item",
98
+ onClick: () => w(c)
99
+ }, c))), /* @__PURE__ */ n.createElement("div", {
94
100
  className: `${s ? "error-and-max-word" : "max-word-container"}`
95
- }, s && /* @__PURE__ */ r.createElement("div", {
101
+ }, s && /* @__PURE__ */ n.createElement("div", {
96
102
  id: "error-message",
97
103
  className: "error-message"
98
- }, L), l && /* @__PURE__ */ r.createElement("div", {
104
+ }, B), l && /* @__PURE__ */ n.createElement("div", {
99
105
  className: "max-word"
100
- }, e.length, "/", l)), A && d.length > 0 && /* @__PURE__ */ r.createElement("div", {
101
- className: "suggestions-list"
102
- }, o ? o(d, w) : d.map((c, n) => /* @__PURE__ */ r.createElement("div", {
103
- key: n,
104
- className: "suggestion-item",
105
- onClick: () => w(c)
106
- }, c))));
106
+ }, e.length, "/", l)));
107
107
  });
108
108
  export {
109
109
  J as AutoCompleteInput
@@ -1 +1 @@
1
- {"version":3,"file":"index42.js","sources":["../src/components/AutoCompleteInput/index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport './style.scss';\n\nexport interface AutoCompleteInputProps {\n value: string;\n disabled?: boolean;\n maxLength?: number;\n onChange: (value: string, fromSuggestion?: boolean) => void;\n tag?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n suggestions?: string[];\n customRenderSuggestions?: (suggestions: any, handleSuggestionClick: (suggestion: string) => void) => any;\n onSuggestionClick?: (suggestion: string) => void;\n}\n\nexport const AutoCompleteInput: React.FC<AutoCompleteInputProps> = React.memo(\n ({\n value,\n onChange,\n disabled = false,\n maxLength,\n tag = 'input',\n error = false,\n errorMessage,\n label,\n placeholder,\n suggestions = [],\n customRenderSuggestions,\n onSuggestionClick,\n ...props\n }) => {\n const [filteredSuggestions, setFilteredSuggestions] = React.useState<string[]>([...suggestions]);\n const [isSuggestionBoxVisible, setSuggestionBoxVisible] = React.useState<boolean>(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n\n if (customRenderSuggestions) {\n onChange(inputValue, false);\n } else {\n onChange(inputValue);\n if (inputValue === '') {\n setFilteredSuggestions([...suggestions]);\n } else if (inputValue) {\n const filtered = suggestions?.filter(\n (suggestion) =>\n typeof suggestion === 'string' && suggestion.toLowerCase().includes(inputValue?.toLowerCase() ?? '')\n );\n setFilteredSuggestions(filtered);\n }\n }\n },\n [onChange, suggestions, customRenderSuggestions]\n );\n\n useEffect(() => {\n if (customRenderSuggestions) {\n setFilteredSuggestions([...suggestions]);\n }\n }, [suggestions]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setSuggestionBoxVisible(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n\n const handleInputClick = () => {\n setSuggestionBoxVisible(true);\n };\n\n const handleSuggestionClick = (suggestion: string) => {\n onChange(suggestion, true);\n setSuggestionBoxVisible(false);\n onSuggestionClick && onSuggestionClick(suggestion);\n };\n\n return (\n <div className=\"main-container-autocomplete-se-design\" ref={containerRef}>\n {label && <label className=\"label-container\">{label}</label>}\n {React.createElement(tag, {\n value: value,\n onChange: handleInputChange,\n onClick: handleInputClick,\n disabled,\n className: `${error ? 'input-container-error' : 'input-container-default'} ${disabled ? 'input-container-disabled' : ''}`,\n maxLength,\n placeholder,\n ...props\n })}\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && (\n <div id=\"error-message\" className=\"error-message\">\n {errorMessage}\n </div>\n )}\n {maxLength && (\n <div className=\"max-word\">\n {value.length}/{maxLength}\n </div>\n )}\n </div>\n {isSuggestionBoxVisible && filteredSuggestions.length > 0 && (\n <div className=\"suggestions-list\">\n {customRenderSuggestions\n ? customRenderSuggestions(filteredSuggestions, handleSuggestionClick)\n : filteredSuggestions.map((suggestion, index) => (\n <div key={index} className=\"suggestion-item\" onClick={() => handleSuggestionClick(suggestion)}>\n {suggestion}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }\n);\n"],"names":["AutoCompleteInput","memo","_a","_b","value","onChange","disabled","maxLength","tag","error","errorMessage","label","placeholder","suggestions","customRenderSuggestions","onSuggestionClick","props","filteredSuggestions","setFilteredSuggestions","React","useState","isSuggestionBoxVisible","setSuggestionBoxVisible","containerRef","useRef","handleInputChange","useCallback","e","inputValue","target","filtered","filter","suggestion","toLowerCase","includes","useEffect","handleClickOutside","event","current","contains","addEventListener","removeEventListener","handleInputClick","handleSuggestionClick","createElement","className","ref","__spreadValues","onClick","id","length","map","index","key"],"mappings":"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"}
1
+ {"version":3,"file":"index42.js","sources":["../src/components/AutoCompleteInput/index.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport './style.scss';\n\nexport interface AutoCompleteInputProps {\n value: string;\n disabled?: boolean;\n maxLength?: number;\n onChange: (value: string, fromSuggestion?: boolean) => void;\n tag?: string;\n error?: boolean;\n errorMessage?: string;\n label?: string;\n placeholder?: string;\n suggestions?: string[];\n customRenderSuggestions?: (suggestions: any, handleSuggestionClick: (suggestion: string) => void) => any;\n onSuggestionClick?: (suggestion: string) => void;\n}\n\nexport const AutoCompleteInput: React.FC<AutoCompleteInputProps> = React.memo(\n ({\n value,\n onChange,\n disabled = false,\n maxLength,\n tag = 'input',\n error = false,\n errorMessage,\n label,\n placeholder,\n suggestions = [],\n customRenderSuggestions,\n onSuggestionClick,\n ...props\n }) => {\n const [filteredSuggestions, setFilteredSuggestions] = React.useState<string[]>([...suggestions]);\n const [isSuggestionBoxVisible, setSuggestionBoxVisible] = React.useState<boolean>(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleInputChange = React.useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n\n if (customRenderSuggestions) {\n onChange(inputValue, false);\n } else {\n onChange(inputValue);\n if (inputValue === '') {\n setFilteredSuggestions([...suggestions]);\n } else if (inputValue) {\n const filtered = suggestions?.filter(\n (suggestion) =>\n typeof suggestion === 'string' && suggestion.toLowerCase().includes(inputValue?.toLowerCase() ?? '')\n );\n setFilteredSuggestions([...filtered]);\n }\n }\n },\n [onChange, suggestions, customRenderSuggestions]\n );\n\n useEffect(() => {\n // if (customRenderSuggestions) {\n setFilteredSuggestions([...suggestions]);\n // }\n }, [suggestions]);\n\n useEffect(() => {\n const handleClickOutside = (event: MouseEvent) => {\n if (containerRef.current && !containerRef.current.contains(event.target as Node)) {\n setSuggestionBoxVisible(false);\n }\n };\n\n document.addEventListener('mousedown', handleClickOutside);\n return () => {\n document.removeEventListener('mousedown', handleClickOutside);\n };\n }, []);\n\n const handleInputClick = () => {\n setSuggestionBoxVisible(true);\n };\n\n const handleSuggestionClick = (suggestion: string) => {\n onChange(suggestion, true);\n setSuggestionBoxVisible(false);\n onSuggestionClick && onSuggestionClick(suggestion);\n };\n\n return (\n <div className=\"main-container-autocomplete-se-design\" ref={containerRef}>\n {label && <label className=\"label-container\">{label}</label>}\n {React.createElement(tag, {\n value: value,\n onChange: handleInputChange,\n onClick: handleInputClick,\n disabled,\n className: `${error ? 'input-container-error' : 'input-container-default'} ${disabled ? 'input-container-disabled' : ''}`,\n maxLength,\n placeholder,\n ...props\n })}\n {isSuggestionBoxVisible && filteredSuggestions.length > 0 && (\n <div className=\"suggestions-list\">\n {customRenderSuggestions\n ? customRenderSuggestions(filteredSuggestions, handleSuggestionClick)\n : filteredSuggestions.map((suggestion, index) => (\n <div key={index} className=\"suggestion-item\" onClick={() => handleSuggestionClick(suggestion)}>\n {suggestion}\n </div>\n ))}\n </div>\n )}\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && (\n <div id=\"error-message\" className=\"error-message\">\n {errorMessage}\n </div>\n )}\n {maxLength && (\n <div className=\"max-word\">\n {value.length}/{maxLength}\n </div>\n )}\n </div>\n </div>\n );\n }\n);\n"],"names":["AutoCompleteInput","memo","_a","_b","value","onChange","disabled","maxLength","tag","error","errorMessage","label","placeholder","suggestions","customRenderSuggestions","onSuggestionClick","props","filteredSuggestions","setFilteredSuggestions","React","useState","isSuggestionBoxVisible","setSuggestionBoxVisible","containerRef","useRef","handleInputChange","useCallback","e","inputValue","target","filtered","filter","suggestion","toLowerCase","includes","useEffect","handleClickOutside","event","current","contains","addEventListener","removeEventListener","handleInputClick","handleSuggestionClick","createElement","className","ref","__spreadValues","onClick","length","map","index","key","id"],"mappings":"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"}
package/dist/index43.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import t, { useState as o, useRef as R, useEffect as C } from "react";
2
2
  /* empty css */
3
- import c from "./index136.js";
3
+ import c from "./index144.js";
4
4
  import { Icon as g } from "./index5.js";
5
5
  const O = ({
6
6
  onCountrycodeChange: E,
package/dist/index48.js CHANGED
@@ -1,5 +1,295 @@
1
- const e = "data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='8'%20height='11'%20viewBox='0%200%208%2011'%20fill='none'%3e%3cpath%20d='M5.2%207.9359L5.2%203.32051C5.2%202.75407%204.66274%202.29487%204%202.29487C3.33726%202.29487%202.8%202.75407%202.8%203.32051L2.8%208.70513C2.8%209.69641%203.7402%2010.5%204.9%2010.5C6.0598%2010.5%207%209.69641%207%208.70513L7%203.0641C7%201.64799%205.65685%200.5%204%200.5C2.34315%200.5%201%201.64799%201%203.0641L1%207.9359'%20stroke='%23415575'%20stroke-width='0.8'%20stroke-linecap='round'/%3e%3c/svg%3e";
1
+ import r, { useState as k } from "react";
2
+ import { Button as E } from "./index3.js";
3
+ import { Icon as x } from "./index5.js";
4
+ import { CustomModal as ce } from "./index11.js";
5
+ import { Dropdown as B } from "./index23.js";
6
+ /* empty css */
7
+ const ie = ["S", "M", "T", "W", "T", "F", "S"], ue = ["Today", "Yesterday", "This Week", "Last Week", "This Month", "Last Month"], N = [{
8
+ value: "january",
9
+ label: "January"
10
+ }, {
11
+ value: "february",
12
+ label: "February"
13
+ }, {
14
+ value: "march",
15
+ label: "March"
16
+ }, {
17
+ value: "april",
18
+ label: "April"
19
+ }, {
20
+ value: "may",
21
+ label: "May"
22
+ }, {
23
+ value: "june",
24
+ label: "June"
25
+ }, {
26
+ value: "july",
27
+ label: "July"
28
+ }, {
29
+ value: "august",
30
+ label: "August"
31
+ }, {
32
+ value: "september",
33
+ label: "September"
34
+ }, {
35
+ value: "october",
36
+ label: "October"
37
+ }, {
38
+ value: "november",
39
+ label: "November"
40
+ }, {
41
+ value: "december",
42
+ label: "December"
43
+ }], we = ({
44
+ title: R = "Select modified date",
45
+ isOpen: z = !0,
46
+ initialStartDate: C,
47
+ initialEndDate: S,
48
+ onApply: Y,
49
+ onClose: H,
50
+ shouldAllowFutureDateSelection: g = !1,
51
+ minYearOption: _,
52
+ showQuickActions: q = !0
53
+ }) => {
54
+ const J = () => {
55
+ if (C && S)
56
+ return {
57
+ startDate: C,
58
+ endDate: S
59
+ };
60
+ const t = /* @__PURE__ */ new Date();
61
+ t.setHours(23, 59, 59, 999);
62
+ const e = /* @__PURE__ */ new Date();
63
+ return e.setHours(0, 0, 0, 0), {
64
+ startDate: e,
65
+ endDate: t
66
+ };
67
+ }, P = () => {
68
+ const t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
69
+ return e.setMonth(t.getMonth() - 1), t.setDate(1), t.setHours(0, 0, 0, 0), e.setDate(1), e.setHours(0, 0, 0, 0), [e, t];
70
+ }, [o, b] = k(J), [$, De] = k(P), [f, T] = k(() => $[0]), [M, F] = k(() => $[1]), Q = (t, e) => new Date(t, e + 1, 0).getDate(), U = (t, e) => new Date(t, e, 1).getDay(), V = (t, e) => {
71
+ const a = Q(t, e), s = U(t, e), c = [];
72
+ for (let l = 0; l < s; l++)
73
+ c.push(null);
74
+ for (let l = 1; l <= a; l++)
75
+ c.push(new Date(t, e, l));
76
+ return c;
77
+ }, v = (t, e) => t.getDate() === e.getDate() && t.getMonth() === e.getMonth() && t.getFullYear() === e.getFullYear(), G = (t) => {
78
+ if (!o.startDate || !o.endDate) return !1;
79
+ const e = new Date(t);
80
+ e.setHours(12, 0, 0, 0);
81
+ const a = new Date(o.startDate);
82
+ a.setHours(0, 0, 0, 0);
83
+ const s = new Date(o.endDate);
84
+ return s.setHours(23, 59, 59, 999), e >= a && e <= s;
85
+ }, K = (t) => {
86
+ const e = /* @__PURE__ */ new Date();
87
+ return t.getDate() === e.getDate() && t.getMonth() === e.getMonth() && t.getFullYear() === e.getFullYear();
88
+ }, O = (t) => {
89
+ if (!t) return !0;
90
+ if (g) return !1;
91
+ const e = /* @__PURE__ */ new Date();
92
+ return e.setHours(0, 0, 0, 0), t > e;
93
+ }, X = (t) => {
94
+ if (O(t)) return;
95
+ const e = new Date(t);
96
+ if (e.setHours(12, 0, 0, 0), !o.startDate || o.endDate)
97
+ b({
98
+ startDate: e,
99
+ endDate: null
100
+ });
101
+ else {
102
+ const a = new Date(o.startDate);
103
+ a.setHours(12, 0, 0, 0);
104
+ const s = e > a ? e : a, c = e > a ? a : e;
105
+ b({
106
+ startDate: c,
107
+ endDate: s
108
+ });
109
+ }
110
+ }, L = (t, e) => {
111
+ const a = new Date(t);
112
+ return a.setMonth(a.getMonth() + (e ? 1 : -1)), a;
113
+ }, W = (t, e) => t.getTime() > e.getTime() ? [e, t] : [t, e], w = (t, e) => {
114
+ if (e) {
115
+ const [a, s] = W(t, M);
116
+ T(a), s !== M && F(s);
117
+ } else {
118
+ const [a, s] = W(f, t);
119
+ a !== f && T(a), F(s);
120
+ }
121
+ }, Z = (t) => o != null && o.startDate ? v(t, o.startDate) : !1, ee = (t) => o != null && o.endDate ? v(t, o == null ? void 0 : o.endDate) : !1, te = (t) => !o.startDate || !o.endDate ? !1 : v(o.startDate, o.endDate) && v(t, o.startDate), ae = (t) => {
122
+ const e = _ || t - 10, s = (g ? t + 10 : t) - e + 1;
123
+ return Array.from({
124
+ length: s
125
+ }, (c, l) => ({
126
+ value: e + l,
127
+ label: (e + l).toString()
128
+ })).filter((c) => g ? !0 : c.value <= t);
129
+ }, ne = () => {
130
+ const t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
131
+ e.setHours(0, 0, 0, 0), t.setHours(23, 59, 59, 999), b({
132
+ startDate: e,
133
+ endDate: t
134
+ });
135
+ }, m = (t) => {
136
+ const e = new Date(t);
137
+ return e.setHours(0, 0, 0, 0), e;
138
+ }, d = (t) => {
139
+ const e = new Date(t);
140
+ return e.setHours(23, 59, 59, 999), e;
141
+ }, re = (t) => {
142
+ const e = /* @__PURE__ */ new Date();
143
+ let a = /* @__PURE__ */ new Date(), s = /* @__PURE__ */ new Date();
144
+ switch (t) {
145
+ case "Today":
146
+ a = m(e), s = d(e);
147
+ break;
148
+ case "Yesterday":
149
+ a = m(new Date(e.setDate(e.getDate() - 1))), s = d(new Date(e));
150
+ break;
151
+ case "This Week":
152
+ const c = new Date(e.setDate(e.getDate() - e.getDay()));
153
+ a = m(c), s = d(/* @__PURE__ */ new Date());
154
+ break;
155
+ case "Last Week":
156
+ const l = new Date(e.setDate(e.getDate() - e.getDay() - 7)), p = new Date(e.setDate(l.getDate() + 6));
157
+ a = m(l), s = d(p);
158
+ break;
159
+ case "This Month":
160
+ a = m(new Date(e.getFullYear(), e.getMonth(), 1)), s = d(/* @__PURE__ */ new Date());
161
+ break;
162
+ case "Last Month":
163
+ a = m(new Date(e.getFullYear(), e.getMonth() - 1, 1)), s = d(new Date(e.getFullYear(), e.getMonth(), 0));
164
+ break;
165
+ }
166
+ b({
167
+ startDate: a,
168
+ endDate: s
169
+ });
170
+ }, oe = () => /* @__PURE__ */ r.createElement("div", {
171
+ className: "w-[147px] p-4 border-r border-[var(--color-gray-200)]"
172
+ }, /* @__PURE__ */ r.createElement("div", {
173
+ className: "flex flex-col gap-3"
174
+ }, ue.map((t) => /* @__PURE__ */ r.createElement(E, {
175
+ key: t,
176
+ label: t,
177
+ type: "link",
178
+ onClick: () => re(t)
179
+ })))), se = () => {
180
+ Y && o.startDate && o.endDate && Y(o);
181
+ }, j = (t) => {
182
+ const e = t.getFullYear(), a = t.getMonth(), s = V(e, a), c = (/* @__PURE__ */ new Date()).getFullYear(), l = t.getTime() === f.getTime(), p = ae(c);
183
+ return /* @__PURE__ */ r.createElement("div", {
184
+ className: "w-fit p-4"
185
+ }, /* @__PURE__ */ r.createElement("div", {
186
+ className: "flex justify-between items-center"
187
+ }, /* @__PURE__ */ r.createElement(x, {
188
+ name: "chevron",
189
+ rotation: "90",
190
+ size: 16,
191
+ onClick: () => {
192
+ const n = L(t, !1);
193
+ w(n, l);
194
+ },
195
+ className: "datepicker-navigation-icon"
196
+ }), /* @__PURE__ */ r.createElement("div", {
197
+ className: "flex gap-2"
198
+ }, /* @__PURE__ */ r.createElement(B, {
199
+ type: "select",
200
+ dropDownOptions: N,
201
+ defaultSelectedValue: N[a],
202
+ selectBy: "label",
203
+ optionsUniqueBy: "value",
204
+ displaySelected: !0,
205
+ onOptionClick: (n) => {
206
+ const u = new Date(t);
207
+ u.setMonth(N.findIndex((i) => i.value === n.value)), w(u, l);
208
+ },
209
+ className: "w-[124px] dropdown-option-container"
210
+ }), /* @__PURE__ */ r.createElement(B, {
211
+ type: "select",
212
+ dropDownOptions: p,
213
+ defaultSelectedValue: p.find((n) => n.value === e),
214
+ selectBy: "label",
215
+ optionsUniqueBy: "value",
216
+ displaySelected: !0,
217
+ onOptionClick: (n) => {
218
+ const u = new Date(t);
219
+ u.setFullYear(n.value), w(u, l);
220
+ },
221
+ className: "w-[104px] dropdown-option-container"
222
+ })), /* @__PURE__ */ r.createElement(x, {
223
+ name: "chevron",
224
+ rotation: "270",
225
+ size: 16,
226
+ className: `datepicker-navigation-icon ${!g && a === (/* @__PURE__ */ new Date()).getMonth() && e === (/* @__PURE__ */ new Date()).getFullYear() ? "disabled" : ""}`,
227
+ onClick: () => {
228
+ const n = L(t, !0);
229
+ w(n, l);
230
+ }
231
+ })), /* @__PURE__ */ r.createElement("div", {
232
+ className: "grid grid-cols-7 gap-2 mt-3"
233
+ }, ie.map((n, u) => /* @__PURE__ */ r.createElement("div", {
234
+ key: `${n}-${u}`,
235
+ className: "datepicker-weekdays"
236
+ }, n)), s.map((n, u) => {
237
+ const i = n && Z(n), D = n && ee(n), y = n && te(n), I = n && !i && !D && G(n), A = n && K(n), h = O(n);
238
+ return /* @__PURE__ */ r.createElement("div", {
239
+ key: `${n}-${u}`,
240
+ onClick: () => !h && n && X(n),
241
+ className: `
242
+ relative h-10 w-10 flex items-center justify-center transition-colors rounded-md
243
+ ${h ? "cursor-not-allowed text-[var(--color-gray-600)] hover:bg-transparent" : "cursor-pointer"}
244
+ ${y ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
245
+ ${!y && i ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
246
+ ${!y && D ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
247
+ ${!i && !D && I ? "bg-[var(--color-blue-100)] text-[var(--color-blue-600)]" : ""}
248
+ ${!i && !D && !I && !h ? "hover:bg-[var(--color-blue-100)]" : ""}
249
+ ${A && !i && !D ? "text-[var(--color-blue-500)]" : ""}
250
+ ${!h && !i && !D && !A ? "text-[var(--color-gray-700)]" : ""}
251
+ `
252
+ }, n ? /* @__PURE__ */ r.createElement(r.Fragment, null, n.getDate(), !y && (i || D) && /* @__PURE__ */ r.createElement("div", {
253
+ className: `absolute top-0 bottom-0 ${i ? "right-[-8px]" : "left-[-8px]"} w-[8px]
254
+ bg-[var(--color-blue-100)] -z-10`
255
+ })) : "");
256
+ })));
257
+ }, le = () => /* @__PURE__ */ r.createElement("div", {
258
+ className: "se-design-datepicker flex flex-col bg-[var(--color-white)] rounded-md shadow-md w-max"
259
+ }, /* @__PURE__ */ r.createElement("div", {
260
+ className: "flex justify-between items-center border-b border-[var(--color-gray-200)] p-4"
261
+ }, /* @__PURE__ */ r.createElement("h2", {
262
+ className: "datepicker-title"
263
+ }, R), H && /* @__PURE__ */ r.createElement(x, {
264
+ name: "close",
265
+ size: 16,
266
+ onClick: H,
267
+ className: "cursor-pointer"
268
+ })), /* @__PURE__ */ r.createElement("div", {
269
+ className: "flex"
270
+ }, q && oe(), /* @__PURE__ */ r.createElement("div", {
271
+ className: "flex"
272
+ }, j(f), /* @__PURE__ */ r.createElement("div", {
273
+ className: "h-full w-[1px] border-r border-[var(--color-gray-200)]"
274
+ }), j(M))), /* @__PURE__ */ r.createElement("div", {
275
+ className: "flex justify-end items-center gap-5 p-4 border-t border-[var(--color-gray-200)]"
276
+ }, /* @__PURE__ */ r.createElement(E, {
277
+ label: "Clear",
278
+ type: "link",
279
+ onClick: ne
280
+ }), /* @__PURE__ */ r.createElement(E, {
281
+ label: "Apply",
282
+ type: "primary",
283
+ onClick: se
284
+ })));
285
+ return /* @__PURE__ */ r.createElement(ce, {
286
+ renderModalContent: le,
287
+ width: "fit-content",
288
+ isOpen: z,
289
+ className: "custom-modal-style "
290
+ });
291
+ };
2
292
  export {
3
- e as default
293
+ we as DatePicker
4
294
  };
5
295
  //# sourceMappingURL=index48.js.map