se-design 1.0.72 → 1.0.73-dev2

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 (330) hide show
  1. package/dist/assets/style.css +1 -1
  2. package/dist/assets/typographyMixin.scss +8 -0
  3. package/dist/components/BreadCrumbs/index.d.ts +3 -1
  4. package/dist/components/CustomAccordion/index.d.ts +3 -0
  5. package/dist/components/Icon/index.d.ts +7 -7
  6. package/dist/components/NavigationBar/TabButton.d.ts +1 -1
  7. package/dist/components/Pagination/index.d.ts +1 -0
  8. package/dist/components/Popover/index.d.ts +2 -2
  9. package/dist/components/TableLayout/index.d.ts +4 -0
  10. package/dist/components/Tabs/index.d.ts +6 -1
  11. package/dist/index.js +132 -128
  12. package/dist/index.js.map +1 -1
  13. package/dist/index100.js +1 -1
  14. package/dist/index100.js.map +1 -1
  15. package/dist/index101.js +2 -2
  16. package/dist/index101.js.map +1 -1
  17. package/dist/index102.js +1 -1
  18. package/dist/index102.js.map +1 -1
  19. package/dist/index103.js +1 -1
  20. package/dist/index103.js.map +1 -1
  21. package/dist/index104.js +2 -2
  22. package/dist/index104.js.map +1 -1
  23. package/dist/index105.js +1 -1
  24. package/dist/index105.js.map +1 -1
  25. package/dist/index106.js +2 -2
  26. package/dist/index106.js.map +1 -1
  27. package/dist/index107.js +1 -1
  28. package/dist/index107.js.map +1 -1
  29. package/dist/index108.js +1 -1
  30. package/dist/index108.js.map +1 -1
  31. package/dist/index109.js +1 -1
  32. package/dist/index109.js.map +1 -1
  33. package/dist/index110.js +2 -2
  34. package/dist/index110.js.map +1 -1
  35. package/dist/index111.js +1 -1
  36. package/dist/index111.js.map +1 -1
  37. package/dist/index112.js +2 -2
  38. package/dist/index112.js.map +1 -1
  39. package/dist/index113.js +2 -2
  40. package/dist/index113.js.map +1 -1
  41. package/dist/index114.js +1 -1
  42. package/dist/index114.js.map +1 -1
  43. package/dist/index115.js +2 -2
  44. package/dist/index115.js.map +1 -1
  45. package/dist/index116.js +2 -2
  46. package/dist/index116.js.map +1 -1
  47. package/dist/index117.js +1 -1
  48. package/dist/index117.js.map +1 -1
  49. package/dist/index118.js +1 -1
  50. package/dist/index118.js.map +1 -1
  51. package/dist/index119.js +1 -1
  52. package/dist/index119.js.map +1 -1
  53. package/dist/index120.js +2 -2
  54. package/dist/index120.js.map +1 -1
  55. package/dist/index121.js +2 -2
  56. package/dist/index121.js.map +1 -1
  57. package/dist/index122.js +2 -2
  58. package/dist/index122.js.map +1 -1
  59. package/dist/index123.js +1 -1
  60. package/dist/index123.js.map +1 -1
  61. package/dist/index124.js +1 -1
  62. package/dist/index124.js.map +1 -1
  63. package/dist/index125.js +1 -1
  64. package/dist/index125.js.map +1 -1
  65. package/dist/index126.js +1 -1
  66. package/dist/index126.js.map +1 -1
  67. package/dist/index127.js +1 -1
  68. package/dist/index127.js.map +1 -1
  69. package/dist/index128.js +1 -1
  70. package/dist/index128.js.map +1 -1
  71. package/dist/index129.js +1 -1
  72. package/dist/index129.js.map +1 -1
  73. package/dist/index130.js +1 -1
  74. package/dist/index130.js.map +1 -1
  75. package/dist/index131.js +2 -2
  76. package/dist/index131.js.map +1 -1
  77. package/dist/index132.js +2 -2
  78. package/dist/index132.js.map +1 -1
  79. package/dist/index133.js +1 -1
  80. package/dist/index133.js.map +1 -1
  81. package/dist/index134.js +1 -1
  82. package/dist/index134.js.map +1 -1
  83. package/dist/index135.js +1 -1
  84. package/dist/index135.js.map +1 -1
  85. package/dist/index136.js +1 -1
  86. package/dist/index136.js.map +1 -1
  87. package/dist/index137.js +1 -1
  88. package/dist/index137.js.map +1 -1
  89. package/dist/index138.js +1 -1
  90. package/dist/index138.js.map +1 -1
  91. package/dist/index139.js +1 -1
  92. package/dist/index139.js.map +1 -1
  93. package/dist/index140.js +2 -2
  94. package/dist/index140.js.map +1 -1
  95. package/dist/index141.js +1 -1
  96. package/dist/index141.js.map +1 -1
  97. package/dist/index142.js +2 -2
  98. package/dist/index142.js.map +1 -1
  99. package/dist/index143.js +2 -2
  100. package/dist/index143.js.map +1 -1
  101. package/dist/index144.js +2 -2
  102. package/dist/index144.js.map +1 -1
  103. package/dist/index145.js +2 -2
  104. package/dist/index145.js.map +1 -1
  105. package/dist/index146.js +1 -1
  106. package/dist/index146.js.map +1 -1
  107. package/dist/index147.js +1 -1
  108. package/dist/index147.js.map +1 -1
  109. package/dist/index148.js +1 -1
  110. package/dist/index148.js.map +1 -1
  111. package/dist/index149.js +1 -1
  112. package/dist/index149.js.map +1 -1
  113. package/dist/index15.js +2 -2
  114. package/dist/index150.js +1 -1
  115. package/dist/index150.js.map +1 -1
  116. package/dist/index151.js +1 -1
  117. package/dist/index151.js.map +1 -1
  118. package/dist/index152.js +1 -1
  119. package/dist/index152.js.map +1 -1
  120. package/dist/index153.js +1 -1
  121. package/dist/index153.js.map +1 -1
  122. package/dist/index154.js +1 -1
  123. package/dist/index154.js.map +1 -1
  124. package/dist/index155.js +1 -1
  125. package/dist/index155.js.map +1 -1
  126. package/dist/index156.js +1 -1
  127. package/dist/index156.js.map +1 -1
  128. package/dist/index157.js +1 -1
  129. package/dist/index157.js.map +1 -1
  130. package/dist/index158.js +1 -1
  131. package/dist/index158.js.map +1 -1
  132. package/dist/index159.js +1 -1
  133. package/dist/index159.js.map +1 -1
  134. package/dist/index160.js +1 -1
  135. package/dist/index160.js.map +1 -1
  136. package/dist/index161.js +1 -1
  137. package/dist/index161.js.map +1 -1
  138. package/dist/index162.js +1 -1
  139. package/dist/index162.js.map +1 -1
  140. package/dist/index163.js +1 -1
  141. package/dist/index163.js.map +1 -1
  142. package/dist/index164.js +1 -1
  143. package/dist/index164.js.map +1 -1
  144. package/dist/index165.js +1 -1
  145. package/dist/index165.js.map +1 -1
  146. package/dist/index166.js +1 -1
  147. package/dist/index166.js.map +1 -1
  148. package/dist/index167.js +1 -1
  149. package/dist/index167.js.map +1 -1
  150. package/dist/index168.js +1 -1
  151. package/dist/index168.js.map +1 -1
  152. package/dist/index169.js +1 -1
  153. package/dist/index169.js.map +1 -1
  154. package/dist/index170.js +2 -2
  155. package/dist/index170.js.map +1 -1
  156. package/dist/index171.js +2 -2
  157. package/dist/index171.js.map +1 -1
  158. package/dist/index172.js +1 -1
  159. package/dist/index172.js.map +1 -1
  160. package/dist/index173.js +1 -1
  161. package/dist/index173.js.map +1 -1
  162. package/dist/index174.js +2 -2
  163. package/dist/index174.js.map +1 -1
  164. package/dist/index175.js +2 -2
  165. package/dist/index175.js.map +1 -1
  166. package/dist/index176.js +1 -1
  167. package/dist/index176.js.map +1 -1
  168. package/dist/index177.js +1 -1
  169. package/dist/index177.js.map +1 -1
  170. package/dist/index178.js +1 -1
  171. package/dist/index178.js.map +1 -1
  172. package/dist/index179.js +1 -1
  173. package/dist/index179.js.map +1 -1
  174. package/dist/index18.js +160 -156
  175. package/dist/index18.js.map +1 -1
  176. package/dist/index180.js +1 -1
  177. package/dist/index180.js.map +1 -1
  178. package/dist/index181.js +1 -1
  179. package/dist/index181.js.map +1 -1
  180. package/dist/index182.js +1 -1
  181. package/dist/index182.js.map +1 -1
  182. package/dist/index183.js +1 -1
  183. package/dist/index183.js.map +1 -1
  184. package/dist/index184.js +2 -2
  185. package/dist/index184.js.map +1 -1
  186. package/dist/index185.js +2 -2
  187. package/dist/index185.js.map +1 -1
  188. package/dist/index186.js +2 -2
  189. package/dist/index186.js.map +1 -1
  190. package/dist/index187.js +2 -149
  191. package/dist/index187.js.map +1 -1
  192. package/dist/index188.js +149 -9
  193. package/dist/index188.js.map +1 -1
  194. package/dist/index189.js +8 -5
  195. package/dist/index189.js.map +1 -1
  196. package/dist/index190.js +5 -4
  197. package/dist/index190.js.map +1 -1
  198. package/dist/index191.js +8 -0
  199. package/dist/index191.js.map +1 -0
  200. package/dist/{index193.js → index194.js} +1 -1
  201. package/dist/{index193.js.map → index194.js.map} +1 -1
  202. package/dist/{index195.js → index196.js} +3 -3
  203. package/dist/{index195.js.map → index196.js.map} +1 -1
  204. package/dist/{index197.js → index198.js} +1 -1
  205. package/dist/{index197.js.map → index198.js.map} +1 -1
  206. package/dist/{index205.js → index206.js} +1 -1
  207. package/dist/{index205.js.map → index206.js.map} +1 -1
  208. package/dist/index21.js +34 -30
  209. package/dist/index21.js.map +1 -1
  210. package/dist/{index213.js → index214.js} +1 -1
  211. package/dist/{index213.js.map → index214.js.map} +1 -1
  212. package/dist/index217.js +42 -42
  213. package/dist/index217.js.map +1 -1
  214. package/dist/index22.js +3 -3
  215. package/dist/index228.js +1 -1
  216. package/dist/index229.js +20 -52
  217. package/dist/index229.js.map +1 -1
  218. package/dist/index230.js +52 -20
  219. package/dist/index230.js.map +1 -1
  220. package/dist/index24.js +2 -2
  221. package/dist/index27.js +2 -2
  222. package/dist/index28.js +119 -60
  223. package/dist/index28.js.map +1 -1
  224. package/dist/index29.js +1 -1
  225. package/dist/index3.js +1 -1
  226. package/dist/index30.js +56 -41
  227. package/dist/index30.js.map +1 -1
  228. package/dist/index31.js +11 -10
  229. package/dist/index32.js +59 -44
  230. package/dist/index32.js.map +1 -1
  231. package/dist/index34.js +1 -1
  232. package/dist/index35.js +56 -49
  233. package/dist/index35.js.map +1 -1
  234. package/dist/index37.js +2 -2
  235. package/dist/index38.js +3 -3
  236. package/dist/index39.js +1 -1
  237. package/dist/index40.js +1 -1
  238. package/dist/index40.js.map +1 -1
  239. package/dist/index41.js +8 -7
  240. package/dist/index42.js +7 -6
  241. package/dist/index43.js +18 -18
  242. package/dist/index43.js.map +1 -1
  243. package/dist/index44.js +3 -3
  244. package/dist/index45.js +4 -4
  245. package/dist/index48.js +53 -56
  246. package/dist/index48.js.map +1 -1
  247. package/dist/index49.js +35 -25
  248. package/dist/index49.js.map +1 -1
  249. package/dist/index5.js +294 -307
  250. package/dist/index5.js.map +1 -1
  251. package/dist/index50.js +48 -48
  252. package/dist/index50.js.map +1 -1
  253. package/dist/index51.js +2 -2
  254. package/dist/index54.js +20 -19
  255. package/dist/index54.js.map +1 -1
  256. package/dist/index56.js +1 -1
  257. package/dist/index57.js +13 -9
  258. package/dist/index57.js.map +1 -1
  259. package/dist/index6.js +8 -7
  260. package/dist/index62.js +1 -1
  261. package/dist/index63.js +1 -1
  262. package/dist/index64.js +3 -2
  263. package/dist/index66.js +1 -1
  264. package/dist/index69.js +59 -5
  265. package/dist/index69.js.map +1 -1
  266. package/dist/index70.js +5 -9
  267. package/dist/index70.js.map +1 -1
  268. package/dist/index71.js +12 -0
  269. package/dist/index71.js.map +1 -0
  270. package/dist/index73.js +2 -2
  271. package/dist/index73.js.map +1 -1
  272. package/dist/index74.js +2 -2
  273. package/dist/index74.js.map +1 -1
  274. package/dist/index75.js +2 -2
  275. package/dist/index75.js.map +1 -1
  276. package/dist/index76.js +1 -1
  277. package/dist/index76.js.map +1 -1
  278. package/dist/index77.js +1 -1
  279. package/dist/index77.js.map +1 -1
  280. package/dist/index78.js +1 -1
  281. package/dist/index78.js.map +1 -1
  282. package/dist/index79.js +1 -1
  283. package/dist/index79.js.map +1 -1
  284. package/dist/index8.js +3 -3
  285. package/dist/index80.js +1 -1
  286. package/dist/index80.js.map +1 -1
  287. package/dist/index81.js +1 -1
  288. package/dist/index81.js.map +1 -1
  289. package/dist/index82.js +1 -1
  290. package/dist/index82.js.map +1 -1
  291. package/dist/index83.js +1 -1
  292. package/dist/index83.js.map +1 -1
  293. package/dist/index84.js +1 -1
  294. package/dist/index84.js.map +1 -1
  295. package/dist/index85.js +1 -1
  296. package/dist/index85.js.map +1 -1
  297. package/dist/index86.js +1 -1
  298. package/dist/index86.js.map +1 -1
  299. package/dist/index87.js +1 -1
  300. package/dist/index87.js.map +1 -1
  301. package/dist/index88.js +1 -1
  302. package/dist/index88.js.map +1 -1
  303. package/dist/index89.js +1 -1
  304. package/dist/index89.js.map +1 -1
  305. package/dist/index90.js +1 -1
  306. package/dist/index90.js.map +1 -1
  307. package/dist/index91.js +1 -1
  308. package/dist/index91.js.map +1 -1
  309. package/dist/index92.js +1 -1
  310. package/dist/index92.js.map +1 -1
  311. package/dist/index93.js +1 -1
  312. package/dist/index93.js.map +1 -1
  313. package/dist/index94.js +1 -1
  314. package/dist/index94.js.map +1 -1
  315. package/dist/index95.js +1 -1
  316. package/dist/index95.js.map +1 -1
  317. package/dist/index96.js +1 -1
  318. package/dist/index96.js.map +1 -1
  319. package/dist/index97.js +1 -1
  320. package/dist/index97.js.map +1 -1
  321. package/dist/index98.js +1 -1
  322. package/dist/index98.js.map +1 -1
  323. package/dist/index99.js +2 -2
  324. package/dist/index99.js.map +1 -1
  325. package/package.json +1 -1
  326. package/dist/components/NavigationBar/useTabsA11y.d.ts +0 -36
  327. package/dist/index216.js +0 -35
  328. package/dist/index216.js.map +0 -1
  329. package/dist/index72.js +0 -5
  330. package/dist/index72.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index5.js","sources":["../src/components/Icon/index.tsx"],"sourcesContent":["// TODO: `applyAttributesToElement` recursion drops `size` for nested elements (pre-existing).\nimport React from 'react';\nimport { ReactSVG } from 'react-svg';\nimport { getA11yNameAttributes, useAccessiblePress } from '../../utils/a11y';\n\n// Dynamically import icons using Vite's asset handling\nconst ICON_MAP: Record<string, string> = (import.meta as any).glob('/src/assets/icons/*.svg', {\n eager: true,\n query: '?url',\n import: 'default'\n});\n\nexport type RotationTypes = '0' | '45' | '90' | '135' | '180' | '225' | '270' | '315';\n\nexport type IconProps = {\n name: string;\n className?: string;\n onClick?: () => void;\n /**\n * Accessible name when Icon is interactive (onClick is provided).\n * If omitted, we fall back to `name` and warn in development.\n */\n ariaLabel?: string;\n /**\n * ID(s) of visible element(s) that label this Icon when interactive.\n * Preferred over ariaLabel when a visible label exists (keeps SR and visual text in sync).\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this Icon when interactive (additional context).\n */\n ariaDescribedBy?: string;\n /**\n * Toggle state when Icon is used as a button (e.g., show/hide sidebar).\n * Only applies when `onClick` is provided (interactive icon).\n */\n ariaPressed?: boolean;\n /**\n * Expansion state when Icon controls a collapsible region/panel.\n * Only applies when `onClick` is provided (interactive icon).\n */\n ariaExpanded?: boolean;\n /**\n * ID of the element controlled by this Icon (for aria-controls).\n * Only applies when `onClick` is provided (interactive icon).\n */\n ariaControls?: string;\n fill?: string;\n stroke?: string;\n rotation?: RotationTypes;\n size?: number;\n shouldStopPropagation?: boolean;\n automationId?: string;\n id?: string;\n tabIndex?: number;\n disabled?: boolean;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;\n};\n\nconst applyAttributesToElement = (element: Element, fill?: string, stroke?: string, size?: number) => {\n // Only modify existing attributes\n if (fill && element.hasAttribute('fill')) {\n const currentFill = element.getAttribute('fill');\n // Only update if the current fill is not \"none\"\n if (currentFill !== 'none') {\n element.setAttribute('fill', fill);\n }\n }\n\n if (stroke && element.hasAttribute('stroke')) {\n element.setAttribute('stroke', stroke);\n }\n\n if (size && element.hasAttribute('width')) {\n element.setAttribute('width', size.toString());\n }\n\n if (size && element.hasAttribute('height')) {\n element.setAttribute('height', size.toString());\n }\n\n // Recursively apply to all child elements\n Array.from(element.children).forEach((child) => {\n applyAttributesToElement(child, fill, stroke);\n });\n};\n\nexport const Icon = React.forwardRef<HTMLDivElement, IconProps>((props, ref) => {\n const {\n name = '',\n className = '',\n onClick,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n ariaPressed,\n ariaExpanded,\n ariaControls,\n fill,\n stroke,\n rotation = '0',\n size,\n shouldStopPropagation = false,\n tabIndex: tabIndexProp = 0,\n id,\n disabled = false,\n automationId,\n onFocus,\n onKeyDown\n } = props;\n const iconRotationClasses = {\n '0': 'rotate-0',\n '45': 'rotate-45',\n '90': 'rotate-90',\n '135': 'rotate-[135deg]',\n '180': 'rotate-180',\n '225': 'rotate-[225deg]',\n '270': '-rotate-90',\n '315': '-rotate-45'\n };\n const src = ICON_MAP[`/src/assets/icons/${name}.svg`];\n\n if (!src) {\n console.error(`Icon \"${name}\" not found in ICON_MAP.`);\n return null;\n }\n\n const isInteractive = typeof onClick === 'function';\n const computedAriaLabel = ariaLabel || name;\n\n if (isInteractive && !ariaLabel && (import.meta as { env?: { DEV?: boolean } }).env?.DEV) {\n // eslint-disable-next-line no-console\n console.warn(\n `[se-design/Icon] Missing ariaLabel for clickable icon \"${name}\". ` +\n `Falling back to aria-label=\"${computedAriaLabel}\".`\n );\n }\n\n const { pressProps, role, tabIndex, isDisabled } = useAccessiblePress({\n isNative: false,\n onClick: isInteractive ? () => onClick?.() : undefined,\n disabled: isInteractive ? disabled : false,\n stopPropagation: shouldStopPropagation,\n tabIndex: tabIndexProp\n });\n\n // Compute accessible name/description props with correct precedence (aligns with Button/Link).\n const accessibleNameProps = getA11yNameAttributes({\n ariaLabel: computedAriaLabel,\n ariaLabelledBy,\n ariaDescribedBy\n });\n\n const interactiveProps = isInteractive\n ? {\n ...pressProps,\n role,\n tabIndex,\n ...accessibleNameProps,\n 'aria-pressed': ariaPressed,\n 'aria-expanded': ariaExpanded,\n 'aria-controls': ariaControls || undefined,\n onKeyDown: (e: React.KeyboardEvent<HTMLDivElement>) => { pressProps.onKeyDown?.(e); onKeyDown?.(e); }\n }\n : undefined;\n\n return (\n <div\n ref={ref}\n className={`se-design-svg-wrapper transition-transform duration-250 ease-linear rounded-[3px] ${\n isInteractive ? `${isDisabled ? 'opacity-50 cursor-default' : 'cursor-pointer focus-outline'}` : ''\n } ${className} ${iconRotationClasses[rotation]}`}\n id={id}\n aria-hidden={!isInteractive ? 'true' : undefined}\n {...interactiveProps}\n onFocus={onFocus}\n data-automation-id={automationId}\n >\n <ReactSVG\n src={src}\n wrapper=\"span\"\n beforeInjection={(svg) => {\n svg.setAttribute('aria-hidden', 'true');\n svg.setAttribute('role', 'none');\n applyAttributesToElement(svg, fill, stroke, size);\n }}\n />\n </div>\n );\n});\n\nIcon.displayName = 'Icon';\n"],"names":["ICON_MAP","import","applyAttributesToElement","element","fill","stroke","size","hasAttribute","getAttribute","setAttribute","toString","Array","from","children","forEach","child","Icon","React","forwardRef","props","ref","name","className","onClick","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaPressed","ariaExpanded","ariaControls","rotation","shouldStopPropagation","tabIndex","tabIndexProp","id","disabled","automationId","onFocus","onKeyDown","iconRotationClasses","src","console","error","isInteractive","computedAriaLabel","pressProps","role","isDisabled","useAccessiblePress","isNative","undefined","stopPropagation","accessibleNameProps","getA11yNameAttributes","interactiveProps","e","createElement","_extends","ReactSVG","wrapper","beforeInjection","svg","displayName"],"mappings":"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"}
1
+ {"version":3,"file":"index5.js","sources":["../src/components/Icon/index.tsx"],"sourcesContent":["// TODO: `applyAttributesToElement` recursion drops `size` for nested elements (pre-existing).\nimport React, { FC } from 'react';\nimport { ReactSVG } from 'react-svg';\nimport { getA11yNameAttributes, useAccessiblePress } from '../../utils/a11y';\n\n// Dynamically import icons using Vite's asset handling\nconst ICON_MAP: Record<string, string> = (import.meta as any).glob('/src/assets/icons/*.svg', {\n eager: true,\n query: '?url',\n import: 'default'\n});\n\nexport type RotationTypes = '0' | '45' | '90' | '135' | '180' | '225' | '270' | '315';\n\nexport type IconProps = {\n name: string;\n className?: string;\n onClick?: (e?: React.MouseEvent<HTMLElement>) => void;\n /**\n * Accessible name when Icon is interactive (onClick is provided).\n * If omitted, we fall back to `name` and warn in development.\n */\n ariaLabel?: string;\n /**\n * ID(s) of visible element(s) that label this Icon when interactive.\n * Preferred over ariaLabel when a visible label exists (keeps SR and visual text in sync).\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this Icon when interactive (additional context).\n */\n ariaDescribedBy?: string;\n /**\n * Toggle state when Icon is used as a button (e.g., show/hide sidebar).\n * Only applies when `onClick` is provided (interactive icon).\n */\n ariaPressed?: boolean;\n /**\n * Expansion state when Icon controls a collapsible region/panel.\n * Only applies when `onClick` is provided (interactive icon).\n */\n ariaExpanded?: boolean;\n /**\n * ID of the element controlled by this Icon (for aria-controls).\n * Only applies when `onClick` is provided (interactive icon).\n */\n ariaControls?: string;\n fill?: string;\n stroke?: string;\n rotation?: RotationTypes;\n size?: number;\n shouldStopPropagation?: boolean;\n automationId?: string;\n /**\n * Disables the icon interaction while keeping it visible to AT with aria-disabled=\"true\".\n * Only applies when `onClick` is provided (interactive icon).\n */\n disabled?: boolean;\n};\n\nconst applyAttributesToElement = (element: Element, fill?: string, stroke?: string, size?: number) => {\n // Only modify existing attributes\n if (fill && element.hasAttribute('fill')) {\n const currentFill = element.getAttribute('fill');\n // Only update if the current fill is not \"none\"\n if (currentFill !== 'none') {\n element.setAttribute('fill', fill);\n }\n }\n\n if (stroke && element.hasAttribute('stroke')) {\n element.setAttribute('stroke', stroke);\n }\n\n if (size && element.hasAttribute('width')) {\n element.setAttribute('width', size.toString());\n }\n\n if (size && element.hasAttribute('height')) {\n element.setAttribute('height', size.toString());\n }\n\n // Recursively apply to all child elements\n Array.from(element.children).forEach((child) => {\n applyAttributesToElement(child, fill, stroke);\n });\n};\n\nexport const Icon: FC<IconProps> = (props) => {\n const {\n name = '',\n className = '',\n onClick,\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n ariaPressed,\n ariaExpanded,\n ariaControls,\n fill,\n stroke,\n rotation = '0',\n size,\n shouldStopPropagation = false,\n disabled = false\n } = props;\n const iconRotationClasses = {\n '0': 'rotate-0',\n '45': 'rotate-45',\n '90': 'rotate-90',\n '135': 'rotate-[135deg]',\n '180': 'rotate-180',\n '225': 'rotate-[225deg]',\n '270': '-rotate-90',\n '315': '-rotate-45'\n };\n const src = ICON_MAP[`/src/assets/icons/${name}.svg`];\n\n if (!src) {\n console.error(`Icon \"${name}\" not found in ICON_MAP.`);\n return null;\n }\n\n const isInteractive = typeof onClick === 'function';\n const computedAriaLabel = ariaLabel || name;\n\n if (isInteractive && !ariaLabel && (import.meta as { env?: { DEV?: boolean } }).env?.DEV) {\n // eslint-disable-next-line no-console\n console.warn(\n `[se-design/Icon] Missing ariaLabel for clickable icon \"${name}\". ` +\n `Falling back to aria-label=\"${computedAriaLabel}\".`\n );\n }\n\n const { pressProps, role, tabIndex, isDisabled } = useAccessiblePress({\n isNative: false,\n onClick: isInteractive ? (e: React.MouseEvent<HTMLElement>) => onClick?.(e) : undefined,\n disabled: isInteractive ? disabled : false,\n stopPropagation: shouldStopPropagation\n });\n\n // Compute accessible name/description props with correct precedence (aligns with Button/Link).\n const accessibleNameProps = getA11yNameAttributes({\n ariaLabel: computedAriaLabel,\n ariaLabelledBy,\n ariaDescribedBy\n });\n\n const interactiveProps = isInteractive\n ? {\n ...pressProps,\n role,\n tabIndex,\n ...accessibleNameProps,\n 'aria-pressed': ariaPressed,\n 'aria-expanded': ariaExpanded,\n 'aria-controls': ariaControls || undefined\n }\n : undefined;\n\n return (\n <div\n className={`se-design-svg-wrapper transition-transform duration-250 ease-linear rounded-[3px] ${\n isInteractive ? `${isDisabled ? 'opacity-50 cursor-default' : 'cursor-pointer focus-outline'}` : ''\n } ${className} ${iconRotationClasses[rotation]}`}\n aria-hidden={!isInteractive ? 'true' : undefined}\n {...interactiveProps}\n data-automation-id={props?.automationId}\n >\n <ReactSVG\n src={src}\n wrapper=\"span\"\n beforeInjection={(svg) => {\n svg.setAttribute('aria-hidden', 'true');\n svg.setAttribute('role', 'none');\n applyAttributesToElement(svg, fill, stroke, size);\n }}\n />\n </div>\n );\n};\n"],"names":["ICON_MAP","import","applyAttributesToElement","element","fill","stroke","size","hasAttribute","getAttribute","setAttribute","toString","Array","from","children","forEach","child","Icon","props","name","className","onClick","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaPressed","ariaExpanded","ariaControls","rotation","shouldStopPropagation","disabled","iconRotationClasses","src","console","error","isInteractive","computedAriaLabel","pressProps","role","tabIndex","isDisabled","useAccessiblePress","isNative","e","undefined","stopPropagation","accessibleNameProps","getA11yNameAttributes","interactiveProps","React","createElement","_extends","automationId","ReactSVG","wrapper","beforeInjection","svg"],"mappings":"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"}
package/dist/index50.js CHANGED
@@ -3,7 +3,7 @@ import { Button as S } from "./index3.js";
3
3
  import { Icon as T } from "./index5.js";
4
4
  import { Dropdown as Q } from "./index24.js";
5
5
  /* empty css */
6
- const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "This Week", "Last Week", "This Month", "Last Month"], O = [{
6
+ const fe = ["S", "M", "T", "W", "T", "F", "S"], ve = ["Today", "Yesterday", "This Week", "Last Week", "This Month", "Last Month"], O = [{
7
7
  value: "january",
8
8
  label: "January"
9
9
  }, {
@@ -48,7 +48,7 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
48
48
  onApply: x = () => {
49
49
  },
50
50
  onClose: N,
51
- shouldAllowFutureDateSelection: b = !1,
51
+ shouldAllowFutureDateSelection: w = !1,
52
52
  maxDays: D,
53
53
  disablePastDates: $ = !1,
54
54
  singleDateSelection: W = !1,
@@ -78,13 +78,13 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
78
78
  }, ee = () => {
79
79
  const t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
80
80
  return t.setDate(1), e.setDate(1), Y || e.setMonth(e.getMonth() - 1), t.setHours(0, 0, 0, 0), e.setHours(0, 0, 0, 0), [e, t];
81
- }, [c, w] = E(Z), [A] = E(ee), [v, C] = E(() => A[0]), [F, B] = E(() => A[1]), te = (t, e) => new Date(t, e + 1, 0).getDate(), ae = (t, e) => new Date(t, e, 1).getDay(), ne = (t, e) => {
81
+ }, [c, b] = E(Z), [A] = E(ee), [p, C] = E(() => A[0]), [F, B] = E(() => A[1]), te = (t, e) => new Date(t, e + 1, 0).getDate(), ae = (t, e) => new Date(t, e, 1).getDay(), ne = (t, e) => {
82
82
  const a = te(t, e), r = ae(t, e), d = [];
83
83
  for (let s = 0; s < r; s++)
84
84
  d.push(null);
85
85
  for (let s = 1; s <= a; s++) {
86
- const i = new Date(t, e, s);
87
- i.setHours(0, 0, 0, 0), d.push(i);
86
+ const u = new Date(t, e, s);
87
+ u.setHours(0, 0, 0, 0), d.push(u);
88
88
  }
89
89
  return d;
90
90
  }, h = (t, e) => t.getDate() === e.getDate() && t.getMonth() === e.getMonth() && t.getFullYear() === e.getFullYear(), re = (t) => {
@@ -109,12 +109,12 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
109
109
  const r = new Date(e);
110
110
  return r.setDate(r.getDate() + D), r.setHours(0, 0, 0, 0), a > r;
111
111
  }
112
- return b ? !1 : a > e;
112
+ return w ? !1 : a > e;
113
113
  }, se = (t) => {
114
114
  if (z(t)) return;
115
115
  const e = new Date(t);
116
116
  if (e.setHours(12, 0, 0, 0), W) {
117
- w({
117
+ b({
118
118
  startDate: e,
119
119
  endDate: e
120
120
  }), x({
@@ -124,7 +124,7 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
124
124
  return;
125
125
  }
126
126
  if (!c.startDate || c.endDate)
127
- w({
127
+ b({
128
128
  startDate: e,
129
129
  endDate: null
130
130
  });
@@ -132,7 +132,7 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
132
132
  const a = new Date(c.startDate);
133
133
  a.setHours(12, 0, 0, 0);
134
134
  const r = e > a ? e : a, d = e > a ? a : e;
135
- w({
135
+ b({
136
136
  startDate: d,
137
137
  endDate: r
138
138
  });
@@ -149,46 +149,46 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
149
149
  const [a, r] = q(t, F);
150
150
  C(a), r !== F && B(r);
151
151
  } else {
152
- const [a, r] = q(v, t);
153
- a !== v && C(a), B(r);
152
+ const [a, r] = q(p, t);
153
+ a !== p && C(a), B(r);
154
154
  }
155
- }, le = (t) => c?.startDate ? h(t, c.startDate) : !1, ce = (t) => c?.endDate ? h(t, c?.endDate) : !1, ie = (t) => !c.startDate || !c.endDate ? !1 : h(c.startDate, c.endDate) && h(t, c.startDate), ue = (t, e) => {
155
+ }, le = (t) => c?.startDate ? h(t, c.startDate) : !1, ce = (t) => c?.endDate ? h(t, c?.endDate) : !1, ue = (t) => !c.startDate || !c.endDate ? !1 : h(c.startDate, c.endDate) && h(t, c.startDate), ie = (t, e) => {
156
156
  const a = K || t - 10;
157
- let r = b ? t + 10 : t;
157
+ let r = w ? t + 10 : t;
158
158
  if (D) {
159
- const s = /* @__PURE__ */ new Date(), i = new Date(s);
160
- i.setDate(i.getDate() + D);
161
- const n = i.getFullYear();
159
+ const s = /* @__PURE__ */ new Date(), u = new Date(s);
160
+ u.setDate(u.getDate() + D);
161
+ const n = u.getFullYear();
162
162
  r = Math.min(r, n);
163
163
  }
164
164
  r = Math.max(r, e);
165
165
  const d = r - a + 1;
166
166
  return Array.from({
167
167
  length: d
168
- }, (s, i) => ({
169
- value: a + i,
170
- label: (a + i).toString()
168
+ }, (s, u) => ({
169
+ value: a + u,
170
+ label: (a + u).toString()
171
171
  })).filter((s) => {
172
172
  if (s.value === e)
173
173
  return !0;
174
- if (!b && s.value > t)
174
+ if (!w && s.value > t)
175
175
  return !1;
176
176
  if (D) {
177
- const i = /* @__PURE__ */ new Date(), n = new Date(i);
177
+ const u = /* @__PURE__ */ new Date(), n = new Date(u);
178
178
  return n.setDate(n.getDate() + D), s.value <= n.getFullYear();
179
179
  }
180
180
  return !0;
181
181
  });
182
182
  }, De = () => {
183
183
  const t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
184
- e.setHours(0, 0, 0, 0), t.setHours(23, 59, 59, 999), w({
184
+ e.setHours(0, 0, 0, 0), t.setHours(23, 59, 59, 999), b({
185
185
  startDate: e,
186
186
  endDate: t
187
187
  });
188
188
  }, f = (t) => {
189
189
  const e = new Date(t);
190
190
  return e.setHours(0, 0, 0, 0), e;
191
- }, p = (t) => {
191
+ }, v = (t) => {
192
192
  const e = new Date(t);
193
193
  return e.setHours(23, 59, 59, 999), e;
194
194
  }, de = (t) => {
@@ -196,27 +196,27 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
196
196
  let a = /* @__PURE__ */ new Date(), r = /* @__PURE__ */ new Date();
197
197
  switch (t) {
198
198
  case "Today":
199
- a = f(e), r = p(e);
199
+ a = f(e), r = v(e);
200
200
  break;
201
201
  case "Yesterday":
202
- a = f(new Date(e.setDate(e.getDate() - 1))), r = p(new Date(e));
202
+ a = f(new Date(e.setDate(e.getDate() - 1))), r = v(new Date(e));
203
203
  break;
204
204
  case "This Week":
205
205
  const d = new Date(e.setDate(e.getDate() - e.getDay()));
206
- a = f(d), r = p(/* @__PURE__ */ new Date());
206
+ a = f(d), r = v(/* @__PURE__ */ new Date());
207
207
  break;
208
208
  case "Last Week":
209
- const s = new Date(e.setDate(e.getDate() - e.getDay() - 7)), i = new Date(e.setDate(s.getDate() + 6));
210
- a = f(s), r = p(i);
209
+ const s = new Date(e.setDate(e.getDate() - e.getDay() - 7)), u = new Date(e.setDate(s.getDate() + 6));
210
+ a = f(s), r = v(u);
211
211
  break;
212
212
  case "This Month":
213
- a = f(new Date(e.getFullYear(), e.getMonth(), 1)), r = p(/* @__PURE__ */ new Date());
213
+ a = f(new Date(e.getFullYear(), e.getMonth(), 1)), r = v(/* @__PURE__ */ new Date());
214
214
  break;
215
215
  case "Last Month":
216
- a = f(new Date(e.getFullYear(), e.getMonth() - 1, 1)), r = p(new Date(e.getFullYear(), e.getMonth(), 0));
216
+ a = f(new Date(e.getFullYear(), e.getMonth() - 1, 1)), r = v(new Date(e.getFullYear(), e.getMonth(), 0));
217
217
  break;
218
218
  }
219
- w({
219
+ b({
220
220
  startDate: a,
221
221
  endDate: r
222
222
  });
@@ -224,7 +224,7 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
224
224
  className: "w-[147px] p-4 border-r border-[var(--color-gray-200)]"
225
225
  }, /* @__PURE__ */ o.createElement("div", {
226
226
  className: "flex flex-col gap-3"
227
- }, pe.map((t) => /* @__PURE__ */ o.createElement(S, {
227
+ }, ve.map((t) => /* @__PURE__ */ o.createElement(S, {
228
228
  key: t,
229
229
  label: t,
230
230
  type: "link",
@@ -249,7 +249,7 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
249
249
  });
250
250
  }
251
251
  }, H = (t) => {
252
- const e = t.getFullYear(), a = t.getMonth(), r = ne(e, a), d = (/* @__PURE__ */ new Date()).getFullYear(), s = t.getTime() === v.getTime(), i = ue(d, e);
252
+ const e = t.getFullYear(), a = t.getMonth(), r = ne(e, a), d = (/* @__PURE__ */ new Date()).getFullYear(), s = t.getTime() === p.getTime(), u = ie(d, e);
253
253
  return /* @__PURE__ */ o.createElement("div", {
254
254
  className: "se-design-calendar-container w-fit p-4"
255
255
  }, /* @__PURE__ */ o.createElement("div", {
@@ -281,13 +281,13 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
281
281
  displaySelected: !0,
282
282
  onOptionClick: (n) => {
283
283
  const l = new Date(t);
284
- l.setMonth(O.findIndex((u) => u.value === n.value)), y(l, s);
284
+ l.setMonth(O.findIndex((i) => i.value === n.value)), y(l, s);
285
285
  },
286
286
  className: "w-[124px] dropdown-option-container"
287
287
  }), /* @__PURE__ */ o.createElement(Q, {
288
288
  type: "select",
289
- dropDownOptions: i,
290
- defaultSelectedValue: i.find((n) => n.value === e),
289
+ dropDownOptions: u,
290
+ defaultSelectedValue: u.find((n) => n.value === e),
291
291
  selectBy: "label",
292
292
  optionsUniqueBy: "value",
293
293
  displaySelected: !0,
@@ -300,15 +300,15 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
300
300
  name: "chevron",
301
301
  rotation: "270",
302
302
  size: 16,
303
- className: `datepicker-navigation-icon ${!b && a === (/* @__PURE__ */ new Date()).getMonth() && e === (/* @__PURE__ */ new Date()).getFullYear() || D !== void 0 && (() => {
303
+ className: `datepicker-navigation-icon ${!w && a === (/* @__PURE__ */ new Date()).getMonth() && e === (/* @__PURE__ */ new Date()).getFullYear() || D !== void 0 && (() => {
304
304
  const n = /* @__PURE__ */ new Date(), l = new Date(n);
305
305
  return l.setDate(l.getDate() + D), t.getMonth() === l.getMonth() && t.getFullYear() === l.getFullYear();
306
306
  })() ? "disabled" : ""}`,
307
307
  onClick: () => {
308
308
  const n = I(t, !0);
309
309
  if (D !== void 0) {
310
- const l = /* @__PURE__ */ new Date(), u = new Date(l);
311
- if (u.setDate(u.getDate() + D), n > u)
310
+ const l = /* @__PURE__ */ new Date(), i = new Date(l);
311
+ if (i.setDate(i.getDate() + D), n > i)
312
312
  return;
313
313
  }
314
314
  y(n, s);
@@ -320,7 +320,7 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
320
320
  key: `${n}-${l}`,
321
321
  className: "datepicker-weekdays"
322
322
  }, n)), r.map((n, l) => {
323
- const u = n && le(n), g = n && ce(n), k = n && ie(n), J = n && !u && !g && re(n), V = n && oe(n), M = z(n), _ = n?.getDate();
323
+ const i = n && le(n), g = n && ce(n), k = n && ue(n), J = n && !i && !g && re(n), V = n && oe(n), M = z(n), _ = n?.getDate();
324
324
  return /* @__PURE__ */ o.createElement("div", {
325
325
  key: `${n}-${l}`,
326
326
  onClick: () => !M && n && se(n),
@@ -328,16 +328,16 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
328
328
  relative h-10 w-10 flex items-center justify-center transition-colors rounded-md
329
329
  ${M ? "cursor-not-allowed text-[var(--color-gray-600)] hover:bg-transparent" : "cursor-pointer"}
330
330
  ${k ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
331
- ${!k && u ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
331
+ ${!k && i ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
332
332
  ${!k && g ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
333
- ${!u && !g && J ? "bg-[var(--color-blue-100)] text-[var(--color-blue-600)]" : ""}
334
- ${!u && !g && !J && !M ? "hover:bg-[var(--color-blue-100)]" : ""}
335
- ${V && !u && !g ? "text-[var(--color-blue-500)] bg-[var(--color-blue-100)]" : ""}
336
- ${!M && !u && !g && !V ? "text-[var(--color-gray-700)]" : ""}
333
+ ${!i && !g && J ? "bg-[var(--color-blue-100)] text-[var(--color-blue-600)] outline outline-1 outline-[var(--color-blue-500)]" : ""}
334
+ ${!i && !g && !J && !M ? "hover:bg-[var(--color-blue-100)] hover:outline hover:outline-1 hover:outline-[var(--color-blue-500)]" : ""}
335
+ ${V && !i && !g ? "text-[var(--color-blue-500)] bg-[var(--color-blue-100)] outline outline-1 outline-[var(--color-blue-500)]" : ""}
336
+ ${!M && !i && !g && !V ? "text-[var(--color-blue-500)]" : ""}
337
337
  `,
338
338
  "data-automation-id": `${m}-date-${_}`
339
- }, n ? /* @__PURE__ */ o.createElement(o.Fragment, null, _, !k && (u || g) && /* @__PURE__ */ o.createElement("div", {
340
- className: `absolute top-0 bottom-0 ${u ? "right-[-8px]" : "left-[-8px]"} w-[8px]
339
+ }, n ? /* @__PURE__ */ o.createElement(o.Fragment, null, _, !k && (i || g) && /* @__PURE__ */ o.createElement("div", {
340
+ className: `absolute top-0 bottom-0 ${i ? "right-[-8px]" : "left-[-8px]"} w-[8px]
341
341
  bg-[var(--color-blue-100)] -z-10`
342
342
  })) : "");
343
343
  })));
@@ -358,7 +358,7 @@ const fe = ["S", "M", "T", "W", "T", "F", "S"], pe = ["Today", "Yesterday", "Thi
358
358
  className: "se-design-datepicker-content flex"
359
359
  }, P && ge(), /* @__PURE__ */ o.createElement("div", {
360
360
  className: "flex"
361
- }, Y ? H(v) : /* @__PURE__ */ o.createElement(o.Fragment, null, H(v), /* @__PURE__ */ o.createElement("div", {
361
+ }, Y ? H(p) : /* @__PURE__ */ o.createElement(o.Fragment, null, H(p), /* @__PURE__ */ o.createElement("div", {
362
362
  className: "h-full w-[1px] border-r border-[var(--color-gray-200)]"
363
363
  }), H(F)))), !W && /* @__PURE__ */ o.createElement("div", {
364
364
  className: "se-design-datepicker-footer flex justify-end items-center gap-5 p-4 border-t border-[var(--color-gray-200)]"
@@ -1 +1 @@
1
- {"version":3,"file":"index50.js","sources":["../src/components/DatePicker/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { Dropdown } from '../Dropdown';\n\nimport './style.scss';\n\nexport interface DateRange {\n startDate: Date | null;\n endDate: Date | null;\n}\n\nexport interface DatePickerProps {\n title?: string;\n isOpen?: boolean;\n initialStartDate?: Date;\n initialEndDate?: Date;\n onApply?: (dateRange: DateRange) => void;\n onClose?: () => void;\n shouldAllowFutureDateSelection?: boolean;\n maxDays?: number;\n disablePastDates?: boolean;\n singleDateSelection?: boolean;\n minYearOption?: number;\n showQuickActions?: boolean;\n className?: string;\n automationId?: string;\n showHeader?: boolean;\n showSingleMonth?: boolean;\n labels?: {\n title?: string;\n clear?: string;\n apply?: string;\n };\n}\n\nconst weekDays = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\nconst quickActions = ['Today', 'Yesterday', 'This Week', 'Last Week', 'This Month', 'Last Month'];\n\nconst months = [\n { value: 'january', label: 'January' },\n { value: 'february', label: 'February' },\n { value: 'march', label: 'March' },\n { value: 'april', label: 'April' },\n { value: 'may', label: 'May' },\n { value: 'june', label: 'June' },\n { value: 'july', label: 'July' },\n { value: 'august', label: 'August' },\n { value: 'september', label: 'September' },\n { value: 'october', label: 'October' },\n { value: 'november', label: 'November' },\n { value: 'december', label: 'December' }\n];\n\nexport const DatePicker: React.FC<DatePickerProps> = ({\n title = 'Select modified date',\n // isOpen = true,\n showHeader = true,\n initialStartDate,\n initialEndDate,\n onApply = () => {},\n onClose,\n shouldAllowFutureDateSelection = false,\n maxDays,\n disablePastDates = false,\n singleDateSelection = false,\n minYearOption,\n showQuickActions = false,\n showSingleMonth = false,\n className = '',\n automationId = 'datepicker',\n labels = {\n clear: 'Clear',\n apply: 'Apply'\n }\n}) => {\n const getDefaultDateRange = (): DateRange => {\n // If initial start and end dates are provided, use them\n if (initialStartDate && initialEndDate) {\n return {\n startDate: initialStartDate,\n endDate: initialEndDate\n };\n }\n\n // If no initial dates are provided, use today's date\n const endDate = new Date();\n endDate.setHours(23, 59, 59, 999); // End of today\n\n const startDate = new Date();\n startDate.setHours(0, 0, 0, 0); // Start of today\n\n return { startDate, endDate };\n };\n\n const getDefaultMonths = (): [Date, Date] => {\n const today = new Date();\n const lastMonth = new Date();\n\n // Set both to first day of their respective months\n today.setDate(1);\n lastMonth.setDate(1);\n\n if (!showSingleMonth) {\n lastMonth.setMonth(lastMonth.getMonth() - 1);\n }\n\n today.setHours(0, 0, 0, 0);\n lastMonth.setHours(0, 0, 0, 0);\n\n return [lastMonth, today];\n };\n\n const [selectedRange, setSelectedRange] = useState<DateRange>(getDefaultDateRange);\n const [defaultMonths, _] = useState(getDefaultMonths);\n const [leftMonth, setLeftMonth] = useState(() => defaultMonths[0]);\n const [rightMonth, setRightMonth] = useState(() => defaultMonths[1]);\n\n const getDaysInMonth = (year: number, month: number) => {\n return new Date(year, month + 1, 0).getDate();\n };\n\n const getFirstDayOfMonth = (year: number, month: number) => {\n return new Date(year, month, 1).getDay();\n };\n\n const generateCalendarDays = (year: number, month: number) => {\n const daysInMonth = getDaysInMonth(year, month);\n const firstDay = getFirstDayOfMonth(year, month);\n const days = [];\n\n // Add empty cells for days before the first day of the month\n for (let i = 0; i < firstDay; i++) {\n days.push(null);\n }\n\n // Add the days of the month\n for (let day = 1; day <= daysInMonth; day++) {\n const date = new Date(year, month, day);\n date.setHours(0, 0, 0, 0); // Normalize to start of day for consistent comparisons\n days.push(date);\n }\n\n return days;\n };\n\n const isSameDay = (date1: Date, date2: Date): boolean => {\n return (\n date1.getDate() === date2.getDate() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getFullYear() === date2.getFullYear()\n );\n };\n\n const isDateInRange = (date: Date) => {\n if (!selectedRange.startDate || !selectedRange.endDate) return false;\n\n const compareDate = new Date(date);\n compareDate.setHours(12, 0, 0, 0); // Noon to avoid any timezone issues\n\n const startDate = new Date(selectedRange.startDate);\n startDate.setHours(0, 0, 0, 0);\n\n const endDate = new Date(selectedRange.endDate);\n endDate.setHours(23, 59, 59, 999);\n\n return compareDate >= startDate && compareDate <= endDate;\n };\n\n const isToday = (date: Date) => {\n const today = new Date();\n return (\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n );\n };\n\n const isDateDisabled = (date: Date | null) => {\n if (!date) return true;\n\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n const dateToCheck = new Date(date);\n dateToCheck.setHours(0, 0, 0, 0);\n\n // If disablePastDates is true, disable dates before today\n if (disablePastDates && dateToCheck < today) {\n return true;\n }\n\n // If maxDays is specified, disable dates after maxDays from today\n if (maxDays !== undefined && maxDays !== null) {\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n maxDate.setHours(0, 0, 0, 0); // Normalize to start of day\n // Disable all dates after maxDays (dates strictly after maxDate should be disabled)\n // Dates up to and including maxDate (today + maxDays) are allowed\n if (dateToCheck > maxDate) {\n return true;\n }\n // If maxDays is set, we're done checking - don't check shouldAllowFutureDateSelection\n return false;\n }\n\n // If shouldAllowFutureDateSelection is false and maxDays is not specified, disable dates after today\n if (!shouldAllowFutureDateSelection) {\n return dateToCheck > today;\n }\n\n return false;\n };\n\n const handleDateClick = (date: Date) => {\n if (isDateDisabled(date)) return;\n\n const clickedDate = new Date(date);\n clickedDate.setHours(12, 0, 0, 0); // Set to noon to avoid timezone issues\n\n // Single date selection mode - immediately apply on click\n if (singleDateSelection) {\n setSelectedRange({ startDate: clickedDate, endDate: clickedDate });\n onApply({ startDate: clickedDate, endDate: clickedDate });\n onClose?.();\n return;\n }\n\n // Range selection mode (original behavior)\n if (!selectedRange.startDate || selectedRange.endDate) {\n // No dates selected yet, or both dates are selected - start new selection\n setSelectedRange({ startDate: clickedDate, endDate: null });\n } else {\n // Only start date is selected, set end date\n const currentStart = new Date(selectedRange.startDate);\n currentStart.setHours(12, 0, 0, 0);\n\n const endDate = clickedDate > currentStart ? clickedDate : currentStart;\n const startDate = clickedDate > currentStart ? currentStart : clickedDate;\n\n setSelectedRange({ startDate, endDate });\n }\n };\n\n const handleMonthNavigation = (date: Date, increment: boolean) => {\n const newDate = new Date(date);\n newDate.setMonth(newDate.getMonth() + (increment ? 1 : -1));\n return newDate;\n };\n\n const ensureDateInCorrectOrder = (leftDate: Date, rightDate: Date): [Date, Date] => {\n if (leftDate.getTime() > rightDate.getTime()) {\n return [rightDate, leftDate];\n }\n return [leftDate, rightDate];\n };\n\n const handleMonthChange = (newDate: Date, isLeftCalendar: boolean) => {\n // For single month view, we only need to set the left month\n if (showSingleMonth) {\n setLeftMonth(newDate);\n return;\n }\n\n // For double month view, we need to ensure the dates are in the correct order\n if (isLeftCalendar) {\n const [newLeft, newRight] = ensureDateInCorrectOrder(newDate, rightMonth);\n setLeftMonth(newLeft);\n if (newRight !== rightMonth) {\n setRightMonth(newRight);\n }\n } else {\n const [newLeft, newRight] = ensureDateInCorrectOrder(leftMonth, newDate);\n if (newLeft !== leftMonth) {\n setLeftMonth(newLeft);\n }\n setRightMonth(newRight);\n }\n };\n\n const isStartDate = (date: Date): boolean => {\n if (!selectedRange?.startDate) return false;\n return isSameDay(date, selectedRange.startDate);\n };\n\n const isEndDate = (date: Date): boolean => {\n if (!selectedRange?.endDate) return false;\n return isSameDay(date, selectedRange?.endDate);\n };\n\n const isSameStartAndEndDate = (date: Date): boolean => {\n if (!selectedRange.startDate || !selectedRange.endDate) return false;\n return isSameDay(selectedRange.startDate, selectedRange.endDate) && isSameDay(date, selectedRange.startDate);\n };\n\n const getYearOptions = (currentYear: number, calendarYear: number) => {\n const startYear = minYearOption || currentYear - 10;\n let endYear = shouldAllowFutureDateSelection ? currentYear + 10 : currentYear;\n\n // If maxDays is specified, calculate the maximum year\n if (maxDays) {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n const maxYear = maxDate.getFullYear();\n // Use the smaller of the two limits\n endYear = Math.min(endYear, maxYear);\n }\n\n endYear = Math.max(endYear, calendarYear);\n\n const yearCount = endYear - startYear + 1;\n\n return Array.from({ length: yearCount }, (_, i) => ({\n value: startYear + i,\n label: (startYear + i).toString()\n })).filter((year) => {\n if (year.value === calendarYear) {\n return true;\n }\n if (!shouldAllowFutureDateSelection && year.value > currentYear) {\n return false;\n }\n // If maxDays is specified, filter out years beyond maxDate\n if (maxDays) {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n return year.value <= maxDate.getFullYear();\n }\n return true;\n });\n };\n\n const handleClear = () => {\n const today = new Date();\n const startDate = new Date();\n\n // Set start date to beginning of today\n startDate.setHours(0, 0, 0, 0);\n\n // Set end date to end of today\n today.setHours(23, 59, 59, 999);\n\n const defaultRange = { startDate, endDate: today };\n setSelectedRange(defaultRange);\n };\n\n const getStartOfDay = (date: Date) => {\n const newDate = new Date(date);\n newDate.setHours(0, 0, 0, 0);\n return newDate;\n };\n\n const getEndOfDay = (date: Date) => {\n const newDate = new Date(date);\n newDate.setHours(23, 59, 59, 999);\n return newDate;\n };\n\n const handleQuickAction = (action: string) => {\n const today = new Date();\n let startDate = new Date();\n let endDate = new Date();\n\n switch (action) {\n case 'Today':\n startDate = getStartOfDay(today);\n endDate = getEndOfDay(today);\n break;\n case 'Yesterday':\n startDate = getStartOfDay(new Date(today.setDate(today.getDate() - 1)));\n endDate = getEndOfDay(new Date(today));\n break;\n case 'This Week':\n const firstDayOfWeek = new Date(today.setDate(today.getDate() - today.getDay()));\n startDate = getStartOfDay(firstDayOfWeek);\n endDate = getEndOfDay(new Date());\n break;\n case 'Last Week':\n const lastWeekStart = new Date(today.setDate(today.getDate() - today.getDay() - 7));\n const lastWeekEnd = new Date(today.setDate(lastWeekStart.getDate() + 6));\n startDate = getStartOfDay(lastWeekStart);\n endDate = getEndOfDay(lastWeekEnd);\n break;\n case 'This Month':\n startDate = getStartOfDay(new Date(today.getFullYear(), today.getMonth(), 1));\n endDate = getEndOfDay(new Date());\n break;\n case 'Last Month':\n startDate = getStartOfDay(new Date(today.getFullYear(), today.getMonth() - 1, 1));\n endDate = getEndOfDay(new Date(today.getFullYear(), today.getMonth(), 0));\n break;\n }\n\n setSelectedRange({ startDate, endDate });\n };\n\n const renderQuickActions = () => {\n return (\n <div className=\"w-[147px] p-4 border-r border-[var(--color-gray-200)]\">\n <div className=\"flex flex-col gap-3\">\n {quickActions.map((action) => (\n <Button key={action} label={action} type=\"link\" onClick={() => handleQuickAction(action)} />\n ))}\n </div>\n </div>\n );\n };\n\n const handleApply = () => {\n const { startDate = null, endDate = null } = selectedRange;\n\n if (startDate && endDate) {\n onApply({ startDate, endDate });\n return;\n }\n\n if (startDate || endDate) {\n const selectedDate = startDate || endDate;\n onApply({ startDate: selectedDate, endDate: selectedDate });\n }\n };\n\n const renderCalendar = (date: Date) => {\n const year = date.getFullYear();\n const month = date.getMonth();\n const days = generateCalendarDays(year, month);\n const currentYear = new Date().getFullYear();\n const isLeftCalendar = date.getTime() === leftMonth.getTime();\n const yearOptions = getYearOptions(currentYear, year);\n\n return (\n <div className=\"se-design-calendar-container w-fit p-4\">\n <div className=\"flex justify-between items-center\">\n <Icon\n name=\"chevron\"\n rotation=\"90\"\n size={16}\n onClick={() => {\n const newDate = handleMonthNavigation(date, false);\n // Check if navigating back would go before today when disablePastDates is true\n if (disablePastDates) {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n if (newDate < today && newDate.getMonth() !== today.getMonth()) {\n return; // Don't navigate to past months\n }\n }\n handleMonthChange(newDate, isLeftCalendar);\n }}\n className={`datepicker-navigation-icon ${\n disablePastDates &&\n date.getMonth() === new Date().getMonth() &&\n date.getFullYear() === new Date().getFullYear()\n ? 'disabled'\n : ''\n }`}\n automationId={`${automationId}-previous-month`}\n />\n\n <div className=\"flex gap-2\" onClick={(e) => e.stopPropagation()}>\n <Dropdown\n type=\"select\"\n dropDownOptions={months}\n defaultSelectedValue={months[month]}\n selectBy=\"label\"\n optionsUniqueBy=\"value\"\n displaySelected={true}\n onOptionClick={(selectedOption) => {\n const newDate = new Date(date);\n newDate.setMonth(months.findIndex((m) => m.value === selectedOption.value));\n handleMonthChange(newDate, isLeftCalendar);\n }}\n className=\"w-[124px] dropdown-option-container\"\n />\n <Dropdown\n type=\"select\"\n dropDownOptions={yearOptions}\n defaultSelectedValue={yearOptions.find((y) => y.value === year)}\n selectBy=\"label\"\n optionsUniqueBy=\"value\"\n displaySelected={true}\n onOptionClick={(selectedOption) => {\n const newDate = new Date(date);\n newDate.setFullYear(selectedOption.value);\n handleMonthChange(newDate, isLeftCalendar);\n }}\n className=\"w-[104px] dropdown-option-container\"\n />\n </div>\n\n <Icon\n name=\"chevron\"\n rotation=\"270\"\n size={16}\n className={`datepicker-navigation-icon ${\n (!shouldAllowFutureDateSelection &&\n month === new Date().getMonth() &&\n year === new Date().getFullYear()) ||\n (maxDays !== undefined &&\n (() => {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n return date.getMonth() === maxDate.getMonth() && date.getFullYear() === maxDate.getFullYear();\n })())\n ? 'disabled'\n : ''\n }`}\n onClick={() => {\n const newDate = handleMonthNavigation(date, true);\n // Check if the new date would exceed maxDays\n if (maxDays !== undefined) {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n if (newDate > maxDate) {\n return;\n }\n }\n handleMonthChange(newDate, isLeftCalendar);\n }}\n automationId={`${automationId}-next-month`}\n />\n </div>\n <div className=\"grid grid-cols-7 gap-2 mt-3\">\n {weekDays.map((day, index) => (\n <div key={`${day}-${index}`} className=\"datepicker-weekdays\">\n {day}\n </div>\n ))}\n {days.map((date, index) => {\n const isStart = date && isStartDate(date);\n const isEnd = date && isEndDate(date);\n const isSameStartEnd = date && isSameStartAndEndDate(date);\n const inRange = date && !isStart && !isEnd && isDateInRange(date);\n const todayDate = date && isToday(date);\n const disabled = isDateDisabled(date);\n const dateValue = date?.getDate();\n\n return (\n <div\n key={`${date}-${index}`}\n onClick={() => !disabled && date && handleDateClick(date)}\n className={`\n relative h-10 w-10 flex items-center justify-center transition-colors rounded-md\n ${\n disabled ? 'cursor-not-allowed text-[var(--color-gray-600)] hover:bg-transparent' : 'cursor-pointer'\n }\n ${\n isSameStartEnd\n ? 'bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]'\n : ''\n }\n ${\n !isSameStartEnd && isStart\n ? 'bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]'\n : ''\n }\n ${\n !isSameStartEnd && isEnd\n ? 'bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]'\n : ''\n }\n ${!isStart && !isEnd && inRange ? 'bg-[var(--color-blue-100)] text-[var(--color-blue-600)]' : ''}\n ${!isStart && !isEnd && !inRange && !disabled ? 'hover:bg-[var(--color-blue-100)]' : ''}\n ${todayDate && !isStart && !isEnd ? 'text-[var(--color-blue-500)] bg-[var(--color-blue-100)]' : ''}\n ${!disabled && !isStart && !isEnd && !todayDate ? 'text-[var(--color-gray-700)]' : ''}\n `}\n data-automation-id={`${automationId}-date-${dateValue}`}\n >\n {date ? (\n <>\n {dateValue}\n {!isSameStartEnd && (isStart || isEnd) && (\n <div\n className={`absolute top-0 bottom-0 ${isStart ? 'right-[-8px]' : 'left-[-8px]'} w-[8px]\n bg-[var(--color-blue-100)] -z-10`}\n />\n )}\n </>\n ) : (\n ''\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n };\n\n return (\n <div\n className={`se-design-datepicker-container flex flex-col bg-[var(--color-white)] rounded-md shadow-md w-max ${className}`}\n >\n {showHeader && (\n <div className=\"se-design-datepicker-header flex justify-between items-center border-b border-[var(--color-gray-200)] p-4\">\n <h2 className=\"datepicker-title\">{title}</h2>\n {onClose && (\n <Icon\n name=\"close\"\n size={16}\n onClick={onClose}\n className=\"cursor-pointer\"\n automationId={`${automationId}-close`}\n />\n )}\n </div>\n )}\n <div className=\"se-design-datepicker-content flex\">\n {showQuickActions && renderQuickActions()}\n <div className=\"flex\">\n {showSingleMonth ? (\n renderCalendar(leftMonth)\n ) : (\n <>\n {renderCalendar(leftMonth)}\n <div className=\"h-full w-[1px] border-r border-[var(--color-gray-200)]\"></div>\n {renderCalendar(rightMonth)}\n </>\n )}\n </div>\n </div>\n {!singleDateSelection && (\n <div className=\"se-design-datepicker-footer flex justify-end items-center gap-5 p-4 border-t border-[var(--color-gray-200)]\">\n <Button\n label={labels?.clear || 'Clear'}\n type=\"ghost\"\n onClick={handleClear}\n data-automation-id={`${automationId}-clear-button`}\n />\n <Button\n label={labels?.apply || 'Apply'}\n type=\"primary\"\n onClick={handleApply}\n data-automation-id={`${automationId}-apply-button`}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["React__default","useState","Button","Icon","Dropdown","weekDays","quickActions","months","value","label","DatePicker","title","showHeader","initialStartDate","initialEndDate","onApply","onClose","shouldAllowFutureDateSelection","maxDays","disablePastDates","singleDateSelection","minYearOption","showQuickActions","showSingleMonth","className","automationId","labels","clear","apply","getDefaultDateRange","startDate","endDate","Date","setHours","getDefaultMonths","today","lastMonth","setDate","setMonth","getMonth","selectedRange","setSelectedRange","defaultMonths","leftMonth","setLeftMonth","rightMonth","setRightMonth","getDaysInMonth","year","month","getDate","getFirstDayOfMonth","getDay","generateCalendarDays","daysInMonth","firstDay","days","i","push","day","date","isSameDay","date1","date2","getFullYear","isDateInRange","compareDate","isToday","isDateDisabled","dateToCheck","maxDate","handleDateClick","clickedDate","currentStart","handleMonthNavigation","increment","newDate","ensureDateInCorrectOrder","leftDate","rightDate","getTime","handleMonthChange","isLeftCalendar","newLeft","newRight","isStartDate","isEndDate","isSameStartAndEndDate","getYearOptions","currentYear","calendarYear","startYear","endYear","maxYear","Math","min","max","yearCount","Array","from","length","_","toString","filter","handleClear","getStartOfDay","getEndOfDay","handleQuickAction","action","firstDayOfWeek","lastWeekStart","lastWeekEnd","renderQuickActions","React","createElement","map","key","type","onClick","handleApply","selectedDate","renderCalendar","yearOptions","name","rotation","size","e","stopPropagation","dropDownOptions","defaultSelectedValue","selectBy","optionsUniqueBy","displaySelected","onOptionClick","selectedOption","findIndex","m","find","y","setFullYear","undefined","index","isStart","isEnd","isSameStartEnd","inRange","todayDate","disabled","dateValue","Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"index50.js","sources":["../src/components/DatePicker/index.tsx"],"sourcesContent":["import React, { useState } from 'react';\n\nimport { Button } from '../Button';\nimport { Icon } from '../Icon';\nimport { Dropdown } from '../Dropdown';\n\nimport './style.scss';\n\nexport interface DateRange {\n startDate: Date | null;\n endDate: Date | null;\n}\n\nexport interface DatePickerProps {\n title?: string;\n isOpen?: boolean;\n initialStartDate?: Date;\n initialEndDate?: Date;\n onApply?: (dateRange: DateRange) => void;\n onClose?: () => void;\n shouldAllowFutureDateSelection?: boolean;\n maxDays?: number;\n disablePastDates?: boolean;\n singleDateSelection?: boolean;\n minYearOption?: number;\n showQuickActions?: boolean;\n className?: string;\n automationId?: string;\n showHeader?: boolean;\n showSingleMonth?: boolean;\n labels?: {\n title?: string;\n clear?: string;\n apply?: string;\n };\n}\n\nconst weekDays = ['S', 'M', 'T', 'W', 'T', 'F', 'S'];\nconst quickActions = ['Today', 'Yesterday', 'This Week', 'Last Week', 'This Month', 'Last Month'];\n\nconst months = [\n { value: 'january', label: 'January' },\n { value: 'february', label: 'February' },\n { value: 'march', label: 'March' },\n { value: 'april', label: 'April' },\n { value: 'may', label: 'May' },\n { value: 'june', label: 'June' },\n { value: 'july', label: 'July' },\n { value: 'august', label: 'August' },\n { value: 'september', label: 'September' },\n { value: 'october', label: 'October' },\n { value: 'november', label: 'November' },\n { value: 'december', label: 'December' }\n];\n\nexport const DatePicker: React.FC<DatePickerProps> = ({\n title = 'Select modified date',\n // isOpen = true,\n showHeader = true,\n initialStartDate,\n initialEndDate,\n onApply = () => {},\n onClose,\n shouldAllowFutureDateSelection = false,\n maxDays,\n disablePastDates = false,\n singleDateSelection = false,\n minYearOption,\n showQuickActions = false,\n showSingleMonth = false,\n className = '',\n automationId = 'datepicker',\n labels = {\n clear: 'Clear',\n apply: 'Apply'\n }\n}) => {\n const getDefaultDateRange = (): DateRange => {\n // If initial start and end dates are provided, use them\n if (initialStartDate && initialEndDate) {\n return {\n startDate: initialStartDate,\n endDate: initialEndDate\n };\n }\n\n // If no initial dates are provided, use today's date\n const endDate = new Date();\n endDate.setHours(23, 59, 59, 999); // End of today\n\n const startDate = new Date();\n startDate.setHours(0, 0, 0, 0); // Start of today\n\n return { startDate, endDate };\n };\n\n const getDefaultMonths = (): [Date, Date] => {\n const today = new Date();\n const lastMonth = new Date();\n\n // Set both to first day of their respective months\n today.setDate(1);\n lastMonth.setDate(1);\n\n if (!showSingleMonth) {\n lastMonth.setMonth(lastMonth.getMonth() - 1);\n }\n\n today.setHours(0, 0, 0, 0);\n lastMonth.setHours(0, 0, 0, 0);\n\n return [lastMonth, today];\n };\n\n const [selectedRange, setSelectedRange] = useState<DateRange>(getDefaultDateRange);\n const [defaultMonths, _] = useState(getDefaultMonths);\n const [leftMonth, setLeftMonth] = useState(() => defaultMonths[0]);\n const [rightMonth, setRightMonth] = useState(() => defaultMonths[1]);\n\n const getDaysInMonth = (year: number, month: number) => {\n return new Date(year, month + 1, 0).getDate();\n };\n\n const getFirstDayOfMonth = (year: number, month: number) => {\n return new Date(year, month, 1).getDay();\n };\n\n const generateCalendarDays = (year: number, month: number) => {\n const daysInMonth = getDaysInMonth(year, month);\n const firstDay = getFirstDayOfMonth(year, month);\n const days = [];\n\n // Add empty cells for days before the first day of the month\n for (let i = 0; i < firstDay; i++) {\n days.push(null);\n }\n\n // Add the days of the month\n for (let day = 1; day <= daysInMonth; day++) {\n const date = new Date(year, month, day);\n date.setHours(0, 0, 0, 0); // Normalize to start of day for consistent comparisons\n days.push(date);\n }\n\n return days;\n };\n\n const isSameDay = (date1: Date, date2: Date): boolean => {\n return (\n date1.getDate() === date2.getDate() &&\n date1.getMonth() === date2.getMonth() &&\n date1.getFullYear() === date2.getFullYear()\n );\n };\n\n const isDateInRange = (date: Date) => {\n if (!selectedRange.startDate || !selectedRange.endDate) return false;\n\n const compareDate = new Date(date);\n compareDate.setHours(12, 0, 0, 0); // Noon to avoid any timezone issues\n\n const startDate = new Date(selectedRange.startDate);\n startDate.setHours(0, 0, 0, 0);\n\n const endDate = new Date(selectedRange.endDate);\n endDate.setHours(23, 59, 59, 999);\n\n return compareDate >= startDate && compareDate <= endDate;\n };\n\n const isToday = (date: Date) => {\n const today = new Date();\n return (\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear()\n );\n };\n\n const isDateDisabled = (date: Date | null) => {\n if (!date) return true;\n\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n const dateToCheck = new Date(date);\n dateToCheck.setHours(0, 0, 0, 0);\n\n // If disablePastDates is true, disable dates before today\n if (disablePastDates && dateToCheck < today) {\n return true;\n }\n\n // If maxDays is specified, disable dates after maxDays from today\n if (maxDays !== undefined && maxDays !== null) {\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n maxDate.setHours(0, 0, 0, 0); // Normalize to start of day\n // Disable all dates after maxDays (dates strictly after maxDate should be disabled)\n // Dates up to and including maxDate (today + maxDays) are allowed\n if (dateToCheck > maxDate) {\n return true;\n }\n // If maxDays is set, we're done checking - don't check shouldAllowFutureDateSelection\n return false;\n }\n\n // If shouldAllowFutureDateSelection is false and maxDays is not specified, disable dates after today\n if (!shouldAllowFutureDateSelection) {\n return dateToCheck > today;\n }\n\n return false;\n };\n\n const handleDateClick = (date: Date) => {\n if (isDateDisabled(date)) return;\n\n const clickedDate = new Date(date);\n clickedDate.setHours(12, 0, 0, 0); // Set to noon to avoid timezone issues\n\n // Single date selection mode - immediately apply on click\n if (singleDateSelection) {\n setSelectedRange({ startDate: clickedDate, endDate: clickedDate });\n onApply({ startDate: clickedDate, endDate: clickedDate });\n onClose?.();\n return;\n }\n\n // Range selection mode (original behavior)\n if (!selectedRange.startDate || selectedRange.endDate) {\n // No dates selected yet, or both dates are selected - start new selection\n setSelectedRange({ startDate: clickedDate, endDate: null });\n } else {\n // Only start date is selected, set end date\n const currentStart = new Date(selectedRange.startDate);\n currentStart.setHours(12, 0, 0, 0);\n\n const endDate = clickedDate > currentStart ? clickedDate : currentStart;\n const startDate = clickedDate > currentStart ? currentStart : clickedDate;\n\n setSelectedRange({ startDate, endDate });\n }\n };\n\n const handleMonthNavigation = (date: Date, increment: boolean) => {\n const newDate = new Date(date);\n newDate.setMonth(newDate.getMonth() + (increment ? 1 : -1));\n return newDate;\n };\n\n const ensureDateInCorrectOrder = (leftDate: Date, rightDate: Date): [Date, Date] => {\n if (leftDate.getTime() > rightDate.getTime()) {\n return [rightDate, leftDate];\n }\n return [leftDate, rightDate];\n };\n\n const handleMonthChange = (newDate: Date, isLeftCalendar: boolean) => {\n // For single month view, we only need to set the left month\n if (showSingleMonth) {\n setLeftMonth(newDate);\n return;\n }\n\n // For double month view, we need to ensure the dates are in the correct order\n if (isLeftCalendar) {\n const [newLeft, newRight] = ensureDateInCorrectOrder(newDate, rightMonth);\n setLeftMonth(newLeft);\n if (newRight !== rightMonth) {\n setRightMonth(newRight);\n }\n } else {\n const [newLeft, newRight] = ensureDateInCorrectOrder(leftMonth, newDate);\n if (newLeft !== leftMonth) {\n setLeftMonth(newLeft);\n }\n setRightMonth(newRight);\n }\n };\n\n const isStartDate = (date: Date): boolean => {\n if (!selectedRange?.startDate) return false;\n return isSameDay(date, selectedRange.startDate);\n };\n\n const isEndDate = (date: Date): boolean => {\n if (!selectedRange?.endDate) return false;\n return isSameDay(date, selectedRange?.endDate);\n };\n\n const isSameStartAndEndDate = (date: Date): boolean => {\n if (!selectedRange.startDate || !selectedRange.endDate) return false;\n return isSameDay(selectedRange.startDate, selectedRange.endDate) && isSameDay(date, selectedRange.startDate);\n };\n\n const getYearOptions = (currentYear: number, calendarYear: number) => {\n const startYear = minYearOption || currentYear - 10;\n let endYear = shouldAllowFutureDateSelection ? currentYear + 10 : currentYear;\n\n // If maxDays is specified, calculate the maximum year\n if (maxDays) {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n const maxYear = maxDate.getFullYear();\n // Use the smaller of the two limits\n endYear = Math.min(endYear, maxYear);\n }\n\n endYear = Math.max(endYear, calendarYear);\n\n const yearCount = endYear - startYear + 1;\n\n return Array.from({ length: yearCount }, (_, i) => ({\n value: startYear + i,\n label: (startYear + i).toString()\n })).filter((year) => {\n if (year.value === calendarYear) {\n return true;\n }\n if (!shouldAllowFutureDateSelection && year.value > currentYear) {\n return false;\n }\n // If maxDays is specified, filter out years beyond maxDate\n if (maxDays) {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n return year.value <= maxDate.getFullYear();\n }\n return true;\n });\n };\n\n const handleClear = () => {\n const today = new Date();\n const startDate = new Date();\n\n // Set start date to beginning of today\n startDate.setHours(0, 0, 0, 0);\n\n // Set end date to end of today\n today.setHours(23, 59, 59, 999);\n\n const defaultRange = { startDate, endDate: today };\n setSelectedRange(defaultRange);\n };\n\n const getStartOfDay = (date: Date) => {\n const newDate = new Date(date);\n newDate.setHours(0, 0, 0, 0);\n return newDate;\n };\n\n const getEndOfDay = (date: Date) => {\n const newDate = new Date(date);\n newDate.setHours(23, 59, 59, 999);\n return newDate;\n };\n\n const handleQuickAction = (action: string) => {\n const today = new Date();\n let startDate = new Date();\n let endDate = new Date();\n\n switch (action) {\n case 'Today':\n startDate = getStartOfDay(today);\n endDate = getEndOfDay(today);\n break;\n case 'Yesterday':\n startDate = getStartOfDay(new Date(today.setDate(today.getDate() - 1)));\n endDate = getEndOfDay(new Date(today));\n break;\n case 'This Week':\n const firstDayOfWeek = new Date(today.setDate(today.getDate() - today.getDay()));\n startDate = getStartOfDay(firstDayOfWeek);\n endDate = getEndOfDay(new Date());\n break;\n case 'Last Week':\n const lastWeekStart = new Date(today.setDate(today.getDate() - today.getDay() - 7));\n const lastWeekEnd = new Date(today.setDate(lastWeekStart.getDate() + 6));\n startDate = getStartOfDay(lastWeekStart);\n endDate = getEndOfDay(lastWeekEnd);\n break;\n case 'This Month':\n startDate = getStartOfDay(new Date(today.getFullYear(), today.getMonth(), 1));\n endDate = getEndOfDay(new Date());\n break;\n case 'Last Month':\n startDate = getStartOfDay(new Date(today.getFullYear(), today.getMonth() - 1, 1));\n endDate = getEndOfDay(new Date(today.getFullYear(), today.getMonth(), 0));\n break;\n }\n\n setSelectedRange({ startDate, endDate });\n };\n\n const renderQuickActions = () => {\n return (\n <div className=\"w-[147px] p-4 border-r border-[var(--color-gray-200)]\">\n <div className=\"flex flex-col gap-3\">\n {quickActions.map((action) => (\n <Button key={action} label={action} type=\"link\" onClick={() => handleQuickAction(action)} />\n ))}\n </div>\n </div>\n );\n };\n\n const handleApply = () => {\n const { startDate = null, endDate = null } = selectedRange;\n\n if (startDate && endDate) {\n onApply({ startDate, endDate });\n return;\n }\n\n if (startDate || endDate) {\n const selectedDate = startDate || endDate;\n onApply({ startDate: selectedDate, endDate: selectedDate });\n }\n };\n\n const renderCalendar = (date: Date) => {\n const year = date.getFullYear();\n const month = date.getMonth();\n const days = generateCalendarDays(year, month);\n const currentYear = new Date().getFullYear();\n const isLeftCalendar = date.getTime() === leftMonth.getTime();\n const yearOptions = getYearOptions(currentYear, year);\n\n return (\n <div className=\"se-design-calendar-container w-fit p-4\">\n <div className=\"flex justify-between items-center\">\n <Icon\n name=\"chevron\"\n rotation=\"90\"\n size={16}\n onClick={() => {\n const newDate = handleMonthNavigation(date, false);\n // Check if navigating back would go before today when disablePastDates is true\n if (disablePastDates) {\n const today = new Date();\n today.setHours(0, 0, 0, 0);\n if (newDate < today && newDate.getMonth() !== today.getMonth()) {\n return; // Don't navigate to past months\n }\n }\n handleMonthChange(newDate, isLeftCalendar);\n }}\n className={`datepicker-navigation-icon ${\n disablePastDates &&\n date.getMonth() === new Date().getMonth() &&\n date.getFullYear() === new Date().getFullYear()\n ? 'disabled'\n : ''\n }`}\n automationId={`${automationId}-previous-month`}\n />\n\n <div className=\"flex gap-2\" onClick={(e) => e.stopPropagation()}>\n <Dropdown\n type=\"select\"\n dropDownOptions={months}\n defaultSelectedValue={months[month]}\n selectBy=\"label\"\n optionsUniqueBy=\"value\"\n displaySelected={true}\n onOptionClick={(selectedOption) => {\n const newDate = new Date(date);\n newDate.setMonth(months.findIndex((m) => m.value === selectedOption.value));\n handleMonthChange(newDate, isLeftCalendar);\n }}\n className=\"w-[124px] dropdown-option-container\"\n />\n <Dropdown\n type=\"select\"\n dropDownOptions={yearOptions}\n defaultSelectedValue={yearOptions.find((y) => y.value === year)}\n selectBy=\"label\"\n optionsUniqueBy=\"value\"\n displaySelected={true}\n onOptionClick={(selectedOption) => {\n const newDate = new Date(date);\n newDate.setFullYear(selectedOption.value);\n handleMonthChange(newDate, isLeftCalendar);\n }}\n className=\"w-[104px] dropdown-option-container\"\n />\n </div>\n\n <Icon\n name=\"chevron\"\n rotation=\"270\"\n size={16}\n className={`datepicker-navigation-icon ${\n (!shouldAllowFutureDateSelection &&\n month === new Date().getMonth() &&\n year === new Date().getFullYear()) ||\n (maxDays !== undefined &&\n (() => {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n return date.getMonth() === maxDate.getMonth() && date.getFullYear() === maxDate.getFullYear();\n })())\n ? 'disabled'\n : ''\n }`}\n onClick={() => {\n const newDate = handleMonthNavigation(date, true);\n // Check if the new date would exceed maxDays\n if (maxDays !== undefined) {\n const today = new Date();\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n if (newDate > maxDate) {\n return;\n }\n }\n handleMonthChange(newDate, isLeftCalendar);\n }}\n automationId={`${automationId}-next-month`}\n />\n </div>\n <div className=\"grid grid-cols-7 gap-2 mt-3\">\n {weekDays.map((day, index) => (\n <div key={`${day}-${index}`} className=\"datepicker-weekdays\">\n {day}\n </div>\n ))}\n {days.map((date, index) => {\n const isStart = date && isStartDate(date);\n const isEnd = date && isEndDate(date);\n const isSameStartEnd = date && isSameStartAndEndDate(date);\n const inRange = date && !isStart && !isEnd && isDateInRange(date);\n const todayDate = date && isToday(date);\n const disabled = isDateDisabled(date);\n const dateValue = date?.getDate();\n\n return (\n <div\n key={`${date}-${index}`}\n onClick={() => !disabled && date && handleDateClick(date)}\n className={`\n relative h-10 w-10 flex items-center justify-center transition-colors rounded-md\n ${\n disabled ? 'cursor-not-allowed text-[var(--color-gray-600)] hover:bg-transparent' : 'cursor-pointer'\n }\n ${\n isSameStartEnd\n ? 'bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]'\n : ''\n }\n ${\n !isSameStartEnd && isStart\n ? 'bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]'\n : ''\n }\n ${\n !isSameStartEnd && isEnd\n ? 'bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]'\n : ''\n }\n ${!isStart && !isEnd && inRange ? 'bg-[var(--color-blue-100)] text-[var(--color-blue-600)] outline outline-1 outline-[var(--color-blue-500)]' : ''}\n ${!isStart && !isEnd && !inRange && !disabled ? 'hover:bg-[var(--color-blue-100)] hover:outline hover:outline-1 hover:outline-[var(--color-blue-500)]' : ''}\n ${todayDate && !isStart && !isEnd ? 'text-[var(--color-blue-500)] bg-[var(--color-blue-100)] outline outline-1 outline-[var(--color-blue-500)]' : ''}\n ${!disabled && !isStart && !isEnd && !todayDate ? 'text-[var(--color-blue-500)]' : ''}\n `}\n data-automation-id={`${automationId}-date-${dateValue}`}\n >\n {date ? (\n <>\n {dateValue}\n {!isSameStartEnd && (isStart || isEnd) && (\n <div\n className={`absolute top-0 bottom-0 ${isStart ? 'right-[-8px]' : 'left-[-8px]'} w-[8px]\n bg-[var(--color-blue-100)] -z-10`}\n />\n )}\n </>\n ) : (\n ''\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n };\n\n return (\n <div\n className={`se-design-datepicker-container flex flex-col bg-[var(--color-white)] rounded-md shadow-md w-max ${className}`}\n >\n {showHeader && (\n <div className=\"se-design-datepicker-header flex justify-between items-center border-b border-[var(--color-gray-200)] p-4\">\n <h2 className=\"datepicker-title\">{title}</h2>\n {onClose && (\n <Icon\n name=\"close\"\n size={16}\n onClick={onClose}\n className=\"cursor-pointer\"\n automationId={`${automationId}-close`}\n />\n )}\n </div>\n )}\n <div className=\"se-design-datepicker-content flex\">\n {showQuickActions && renderQuickActions()}\n <div className=\"flex\">\n {showSingleMonth ? (\n renderCalendar(leftMonth)\n ) : (\n <>\n {renderCalendar(leftMonth)}\n <div className=\"h-full w-[1px] border-r border-[var(--color-gray-200)]\"></div>\n {renderCalendar(rightMonth)}\n </>\n )}\n </div>\n </div>\n {!singleDateSelection && (\n <div className=\"se-design-datepicker-footer flex justify-end items-center gap-5 p-4 border-t border-[var(--color-gray-200)]\">\n <Button\n label={labels?.clear || 'Clear'}\n type=\"ghost\"\n onClick={handleClear}\n data-automation-id={`${automationId}-clear-button`}\n />\n <Button\n label={labels?.apply || 'Apply'}\n type=\"primary\"\n onClick={handleApply}\n data-automation-id={`${automationId}-apply-button`}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["React__default","useState","Button","Icon","Dropdown","weekDays","quickActions","months","value","label","DatePicker","title","showHeader","initialStartDate","initialEndDate","onApply","onClose","shouldAllowFutureDateSelection","maxDays","disablePastDates","singleDateSelection","minYearOption","showQuickActions","showSingleMonth","className","automationId","labels","clear","apply","getDefaultDateRange","startDate","endDate","Date","setHours","getDefaultMonths","today","lastMonth","setDate","setMonth","getMonth","selectedRange","setSelectedRange","defaultMonths","leftMonth","setLeftMonth","rightMonth","setRightMonth","getDaysInMonth","year","month","getDate","getFirstDayOfMonth","getDay","generateCalendarDays","daysInMonth","firstDay","days","i","push","day","date","isSameDay","date1","date2","getFullYear","isDateInRange","compareDate","isToday","isDateDisabled","dateToCheck","maxDate","handleDateClick","clickedDate","currentStart","handleMonthNavigation","increment","newDate","ensureDateInCorrectOrder","leftDate","rightDate","getTime","handleMonthChange","isLeftCalendar","newLeft","newRight","isStartDate","isEndDate","isSameStartAndEndDate","getYearOptions","currentYear","calendarYear","startYear","endYear","maxYear","Math","min","max","yearCount","Array","from","length","_","toString","filter","handleClear","getStartOfDay","getEndOfDay","handleQuickAction","action","firstDayOfWeek","lastWeekStart","lastWeekEnd","renderQuickActions","React","createElement","map","key","type","onClick","handleApply","selectedDate","renderCalendar","yearOptions","name","rotation","size","e","stopPropagation","dropDownOptions","defaultSelectedValue","selectBy","optionsUniqueBy","displaySelected","onOptionClick","selectedOption","findIndex","m","find","y","setFullYear","undefined","index","isStart","isEnd","isSameStartEnd","inRange","todayDate","disabled","dateValue","Fragment"],"mappings":"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"}
package/dist/index51.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import t from "react";
2
2
  import { Icon as S } from "./index5.js";
3
- import { useStableId as T } from "./index189.js";
4
- import { getA11yNameAttributes as W } from "./index70.js";
3
+ import { useStableId as T } from "./index190.js";
4
+ import { getA11yNameAttributes as W } from "./index71.js";
5
5
  /* empty css */
6
6
  function J({
7
7
  disabled: c,
package/dist/index54.js CHANGED
@@ -1,4 +1,4 @@
1
- import a from "react";
1
+ import t from "react";
2
2
  /* empty css */
3
3
  const n = ({
4
4
  element: e,
@@ -15,12 +15,12 @@ const n = ({
15
15
  "--shimmer-base-color": s,
16
16
  "--shimmer-highlight-color": m
17
17
  }, r = `se-design-shimmer-element se-design-shimmer-${e.type}`;
18
- return /* @__PURE__ */ a.createElement("div", {
18
+ return /* @__PURE__ */ t.createElement("div", {
19
19
  className: r,
20
20
  style: i
21
- }, e.children && e.children.map((t, p) => /* @__PURE__ */ a.createElement(n, {
21
+ }, e.children && e.children.map((a, p) => /* @__PURE__ */ t.createElement(n, {
22
22
  key: p,
23
- element: t,
23
+ element: a,
24
24
  animationDuration: d,
25
25
  baseColor: s,
26
26
  highlightColor: m
@@ -40,48 +40,48 @@ const n = ({
40
40
  alignItems: e.alignItems,
41
41
  flex: e.flex
42
42
  };
43
- return /* @__PURE__ */ a.createElement("div", {
43
+ return /* @__PURE__ */ t.createElement("div", {
44
44
  className: `se-design-shimmer-container ${e.className || ""}`,
45
45
  style: i
46
- }, e.children.map((r, t) => r.type === "container" ? /* @__PURE__ */ a.createElement(y, {
47
- key: t,
46
+ }, e.children.map((r, a) => r.type === "container" ? /* @__PURE__ */ t.createElement(y, {
47
+ key: a,
48
48
  container: r,
49
49
  animationDuration: d,
50
50
  baseColor: s,
51
51
  highlightColor: m
52
- }) : /* @__PURE__ */ a.createElement(n, {
53
- key: t,
52
+ }) : /* @__PURE__ */ t.createElement(n, {
53
+ key: a,
54
54
  element: r,
55
55
  animationDuration: d,
56
56
  baseColor: s,
57
57
  highlightColor: m
58
58
  })));
59
- }, g = ({
59
+ }, l = ({
60
60
  structure: e,
61
61
  className: d = "",
62
- animationDuration: s = 1.5,
63
- baseColor: m = "var(--color-gray-400)",
64
- highlightColor: i = "var(--color-gray-600)",
62
+ animationDuration: s = 3,
63
+ baseColor: m = "var(--color-gray-600)",
64
+ highlightColor: i = "var(--color-gray-500)",
65
65
  width: r,
66
- height: t
66
+ height: a
67
67
  }) => {
68
68
  const p = {
69
69
  width: r ? typeof r == "number" ? `${r}px` : r : "100%",
70
- height: t ? typeof t == "number" ? `${t}px` : t : "auto",
70
+ height: a ? typeof a == "number" ? `${a}px` : a : "auto",
71
71
  "--shimmer-duration": `${s}s`,
72
72
  "--shimmer-base-color": m,
73
73
  "--shimmer-highlight-color": i
74
74
  };
75
- return /* @__PURE__ */ a.createElement("div", {
75
+ return /* @__PURE__ */ t.createElement("div", {
76
76
  className: `se-design-shimmer-loader ${d}`,
77
77
  style: p
78
- }, e.map((c, o) => c.type === "container" ? /* @__PURE__ */ a.createElement(y, {
78
+ }, e.map((c, o) => c.type === "container" ? /* @__PURE__ */ t.createElement(y, {
79
79
  key: o,
80
80
  container: c,
81
81
  animationDuration: s,
82
82
  baseColor: m,
83
83
  highlightColor: i
84
- }) : /* @__PURE__ */ a.createElement(n, {
84
+ }) : /* @__PURE__ */ t.createElement(n, {
85
85
  key: o,
86
86
  element: c,
87
87
  animationDuration: s,
@@ -90,6 +90,7 @@ const n = ({
90
90
  })));
91
91
  };
92
92
  export {
93
- g as ShimmerLoader
93
+ l as ShimmerLoader,
94
+ l as default
94
95
  };
95
96
  //# sourceMappingURL=index54.js.map