se-design 1.0.75 → 1.0.76-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.
- package/dist/assets/style.css +1 -1
- package/dist/components/AccessibleDiv/index.d.ts +24 -0
- package/dist/components/Checkbox/index.d.ts +12 -0
- package/dist/components/CustomAccordion/index.d.ts +1 -0
- package/dist/components/CustomModal/index.d.ts +15 -12
- package/dist/components/DatePicker/useDatePickerA11y.d.ts +50 -0
- package/dist/components/Dropdown/index.d.ts +15 -0
- package/dist/components/DropdownWithInputTags/index.d.ts +1 -0
- package/dist/components/Icon/index.d.ts +8 -2
- package/dist/components/InputWithIcon/index.d.ts +9 -1
- package/dist/components/LabelChip/index.d.ts +1 -0
- package/dist/components/Modal/index.d.ts +1 -0
- package/dist/components/PhoneInput/index.d.ts +13 -5
- package/dist/components/Popover/index.d.ts +2 -0
- package/dist/components/SidebarOverlay/index.d.ts +8 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/index.js +144 -133
- package/dist/index.js.map +1 -1
- package/dist/index10.js +23 -59
- package/dist/index10.js.map +1 -1
- package/dist/index100.js +1 -1
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +1 -1
- package/dist/index101.js.map +1 -1
- package/dist/index102.js +2 -2
- package/dist/index102.js.map +1 -1
- package/dist/index103.js +2 -2
- package/dist/index103.js.map +1 -1
- package/dist/index104.js +1 -1
- package/dist/index104.js.map +1 -1
- package/dist/index105.js +1 -1
- package/dist/index105.js.map +1 -1
- package/dist/index106.js +1 -1
- package/dist/index106.js.map +1 -1
- package/dist/index107.js +2 -2
- package/dist/index107.js.map +1 -1
- package/dist/index108.js +2 -2
- package/dist/index108.js.map +1 -1
- package/dist/index109.js +2 -2
- package/dist/index109.js.map +1 -1
- package/dist/index11.js +70 -63
- package/dist/index11.js.map +1 -1
- package/dist/index110.js +2 -2
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +1 -1
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +1 -1
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +2 -2
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +2 -2
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +1 -1
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +1 -1
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +1 -1
- package/dist/index117.js.map +1 -1
- package/dist/index118.js +2 -2
- package/dist/index118.js.map +1 -1
- package/dist/index119.js +1 -1
- package/dist/index119.js.map +1 -1
- package/dist/index12.js +68 -33
- package/dist/index12.js.map +1 -1
- package/dist/index120.js +2 -2
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +2 -2
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +2 -2
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +2 -2
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +2 -2
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +2 -2
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +1 -1
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +1 -1
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +1 -1
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +1 -1
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +48 -14
- package/dist/index13.js.map +1 -1
- package/dist/index130.js +2 -2
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +2 -2
- package/dist/index131.js.map +1 -1
- package/dist/index132.js +1 -1
- package/dist/index132.js.map +1 -1
- package/dist/index133.js +1 -1
- package/dist/index133.js.map +1 -1
- package/dist/index134.js +2 -2
- package/dist/index134.js.map +1 -1
- package/dist/index135.js +1 -1
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +1 -1
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +1 -1
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +1 -1
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +1 -1
- package/dist/index139.js.map +1 -1
- package/dist/index14.js +15 -9
- package/dist/index14.js.map +1 -1
- package/dist/index140.js +1 -1
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +2 -2
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +1 -1
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +2 -2
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +2 -2
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +1 -1
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +2 -2
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +2 -2
- package/dist/index147.js.map +1 -1
- package/dist/index148.js +1 -1
- package/dist/index148.js.map +1 -1
- package/dist/index149.js +1 -1
- package/dist/index149.js.map +1 -1
- package/dist/index15.js +10 -218
- package/dist/index15.js.map +1 -1
- package/dist/index150.js +2 -2
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +2 -2
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +1 -1
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +2 -2
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +2 -2
- package/dist/index154.js.map +1 -1
- package/dist/index155.js +1 -1
- package/dist/index155.js.map +1 -1
- package/dist/index156.js +1 -1
- package/dist/index156.js.map +1 -1
- package/dist/index157.js +1 -1
- package/dist/index157.js.map +1 -1
- package/dist/index158.js +1 -1
- package/dist/index158.js.map +1 -1
- package/dist/index159.js +1 -1
- package/dist/index159.js.map +1 -1
- package/dist/index16.js +220 -60
- package/dist/index16.js.map +1 -1
- package/dist/index160.js +1 -1
- package/dist/index160.js.map +1 -1
- package/dist/index161.js +1 -1
- package/dist/index161.js.map +1 -1
- package/dist/index162.js +1 -1
- package/dist/index162.js.map +1 -1
- package/dist/index163.js +1 -1
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +1 -1
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +1 -1
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +1 -1
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +1 -1
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +1 -1
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +1 -1
- package/dist/index169.js.map +1 -1
- package/dist/index17.js +60 -99
- package/dist/index17.js.map +1 -1
- package/dist/index170.js +1 -1
- package/dist/index170.js.map +1 -1
- package/dist/index171.js +1 -1
- package/dist/index171.js.map +1 -1
- package/dist/index172.js +1 -1
- package/dist/index172.js.map +1 -1
- package/dist/index173.js +2 -2
- package/dist/index173.js.map +1 -1
- package/dist/index174.js +1 -1
- package/dist/index174.js.map +1 -1
- package/dist/index175.js +1 -1
- package/dist/index175.js.map +1 -1
- package/dist/index176.js +1 -1
- package/dist/index176.js.map +1 -1
- package/dist/index177.js +2 -2
- package/dist/index177.js.map +1 -1
- package/dist/index178.js +1 -1
- package/dist/index178.js.map +1 -1
- package/dist/index179.js +1 -1
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +95 -282
- package/dist/index18.js.map +1 -1
- package/dist/index180.js +2 -2
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +1 -1
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +1 -1
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +1 -1
- package/dist/index183.js.map +1 -1
- package/dist/index184.js +2 -2
- package/dist/index184.js.map +1 -1
- package/dist/index185.js +1 -1
- package/dist/index185.js.map +1 -1
- package/dist/index186.js +1 -1
- package/dist/index186.js.map +1 -1
- package/dist/index187.js +2 -2
- package/dist/index187.js.map +1 -1
- package/dist/index188.js +1 -1
- package/dist/index188.js.map +1 -1
- package/dist/index189.js +2 -2
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +323 -16
- package/dist/index19.js.map +1 -1
- package/dist/index190.js +2 -149
- package/dist/index190.js.map +1 -1
- package/dist/index191.js +2 -9
- package/dist/index191.js.map +1 -1
- package/dist/index192.js +2 -6
- package/dist/index192.js.map +1 -1
- package/dist/index193.js +2 -5
- package/dist/index193.js.map +1 -1
- package/dist/index194.js +2 -40
- package/dist/index194.js.map +1 -1
- package/dist/index195.js +2 -59
- package/dist/index195.js.map +1 -1
- package/dist/index196.js +2 -23
- package/dist/index196.js.map +1 -1
- package/dist/index197.js +152 -0
- package/dist/index197.js.map +1 -0
- package/dist/index198.js +12 -0
- package/dist/index198.js.map +1 -0
- package/dist/index199.js +5 -23
- package/dist/index199.js.map +1 -1
- package/dist/index20.js +15 -31
- package/dist/index20.js.map +1 -1
- package/dist/index200.js +8 -0
- package/dist/index200.js.map +1 -0
- package/dist/index201.js +36 -80
- package/dist/index201.js.map +1 -1
- package/dist/index206.js +26 -0
- package/dist/index206.js.map +1 -0
- package/dist/index207.js +71 -0
- package/dist/index207.js.map +1 -0
- package/dist/index21.js +33 -61
- package/dist/index21.js.map +1 -1
- package/dist/{index210.js → index215.js} +1 -1
- package/dist/{index210.js.map → index215.js.map} +1 -1
- package/dist/index22.js +57 -76
- package/dist/index22.js.map +1 -1
- package/dist/{index218.js → index223.js} +1 -1
- package/dist/{index218.js.map → index223.js.map} +1 -1
- package/dist/{index221.js → index226.js} +2 -2
- package/dist/{index221.js.map → index226.js.map} +1 -1
- package/dist/index23.js +83 -21
- package/dist/index23.js.map +1 -1
- package/dist/index235.js +171 -8
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +3 -9
- package/dist/index236.js.map +1 -1
- package/dist/index238.js +18 -169
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +10 -11
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +20 -222
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +8 -4
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +4 -5
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +168 -36
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +11 -2
- package/dist/index243.js.map +1 -1
- package/dist/index244.js +5 -7
- package/dist/index244.js.map +1 -1
- package/dist/index245.js +5 -326
- package/dist/index245.js.map +1 -1
- package/dist/index246.js +36 -48
- package/dist/index246.js.map +1 -1
- package/dist/index247.js +2 -2
- package/dist/index248.js +7 -75
- package/dist/index248.js.map +1 -1
- package/dist/index249.js +308 -74
- package/dist/index249.js.map +1 -1
- package/dist/index25.js +299 -43
- package/dist/index25.js.map +1 -1
- package/dist/index250.js +45 -47
- package/dist/index250.js.map +1 -1
- package/dist/index251.js +2 -8
- package/dist/index251.js.map +1 -1
- package/dist/index252.js +75 -4
- package/dist/index252.js.map +1 -1
- package/dist/index253.js +89 -48
- package/dist/index253.js.map +1 -1
- package/dist/index254.js +52 -2
- package/dist/index254.js.map +1 -1
- package/dist/index255.js +8 -2
- package/dist/index255.js.map +1 -1
- package/dist/index256.js +8 -0
- package/dist/index256.js.map +1 -0
- package/dist/index257.js +55 -0
- package/dist/index257.js.map +1 -0
- package/dist/index258.js +5 -0
- package/dist/index258.js.map +1 -0
- package/dist/index259.js +5 -0
- package/dist/index259.js.map +1 -0
- package/dist/index26.js +48 -23
- package/dist/index26.js.map +1 -1
- package/dist/index27.js +21 -81
- package/dist/index27.js.map +1 -1
- package/dist/index28.js +101 -138
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +139 -128
- package/dist/index29.js.map +1 -1
- package/dist/index3.js +57 -98
- package/dist/index3.js.map +1 -1
- package/dist/index30.js +133 -69
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +67 -96
- package/dist/index31.js.map +1 -1
- package/dist/index32.js +96 -71
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +70 -38
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +40 -71
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +67 -82
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +99 -54
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +53 -280
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +283 -70
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +69 -80
- package/dist/index39.js.map +1 -1
- package/dist/index4.js +102 -42
- package/dist/index4.js.map +1 -1
- package/dist/index40.js +82 -32
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +26 -44
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +45 -67
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +65 -49
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +53 -139
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +132 -179
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +194 -35
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +34 -29
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +31 -145
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +131 -70
- package/dist/index49.js.map +1 -1
- package/dist/index5.js +40 -315
- package/dist/index5.js.map +1 -1
- package/dist/index50.js +80 -371
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +451 -91
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +98 -38
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +35 -35
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +35 -90
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +89 -159
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +157 -143
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +149 -33
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +33 -86
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +80 -113
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +323 -43
- package/dist/index6.js.map +1 -1
- package/dist/index60.js +114 -62
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +62 -147
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +146 -312
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +317 -44
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +44 -143
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +145 -12
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +10 -44
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +42 -15
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +76 -48
- package/dist/index68.js.map +1 -1
- package/dist/index69.js +18 -58
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +44 -51
- package/dist/index7.js.map +1 -1
- package/dist/index70.js +66 -5
- package/dist/index70.js.map +1 -1
- package/dist/index71.js +25 -7
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +105 -0
- package/dist/index72.js.map +1 -0
- package/dist/index73.js +62 -2
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +21 -2
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +5 -2
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +54 -2
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +24 -2
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +9 -2
- package/dist/index78.js.map +1 -1
- package/dist/index8.js +48 -85
- package/dist/index8.js.map +1 -1
- package/dist/index80.js +2 -2
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +2 -2
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +1 -1
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +2 -2
- package/dist/index83.js.map +1 -1
- package/dist/index84.js +1 -1
- package/dist/index84.js.map +1 -1
- package/dist/index85.js +1 -1
- package/dist/index85.js.map +1 -1
- package/dist/index86.js +1 -1
- package/dist/index86.js.map +1 -1
- package/dist/index87.js +1 -1
- package/dist/index87.js.map +1 -1
- package/dist/index88.js +1 -1
- package/dist/index88.js.map +1 -1
- package/dist/index89.js +1 -1
- package/dist/index89.js.map +1 -1
- package/dist/index9.js +91 -27
- package/dist/index9.js.map +1 -1
- package/dist/index90.js +1 -1
- package/dist/index90.js.map +1 -1
- package/dist/index91.js +1 -1
- package/dist/index91.js.map +1 -1
- package/dist/index92.js +1 -1
- package/dist/index92.js.map +1 -1
- package/dist/index93.js +1 -1
- package/dist/index93.js.map +1 -1
- package/dist/index94.js +1 -1
- package/dist/index94.js.map +1 -1
- package/dist/index95.js +1 -1
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +1 -1
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +1 -1
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +1 -1
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +1 -1
- package/dist/index99.js.map +1 -1
- package/package.json +1 -1
- package/dist/index230.js +0 -7
- package/dist/index230.js.map +0 -1
- package/dist/index232.js +0 -25
- package/dist/index232.js.map +0 -1
- package/dist/index233.js +0 -57
- package/dist/index233.js.map +0 -1
- package/dist/index234.js +0 -22
- package/dist/index234.js.map +0 -1
- package/dist/index237.js +0 -8
- package/dist/index237.js.map +0 -1
- package/dist/index79.js +0 -5
- package/dist/index79.js.map +0 -1
package/dist/index5.js.map
CHANGED
|
@@ -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, { 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","error","isInteractive","computedAriaLabel","pressProps","role","tabIndex","isDisabled","useAccessiblePress","isNative","e","undefined","stopPropagation","accessibleNameProps","getA11yNameAttributes","interactiveProps","React","createElement","_extends","automationId","ReactSVG","wrapper","beforeInjection","svg"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,MAAMA,KAAoCC,uBAAAA,OAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,4BAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,yCAAAA;AAAAA,EAAAA,2CAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,iDAAAA;AAAAA,EAAAA,gDAAAA;AAAAA,EAAAA,2CAAAA;AAAAA,EAAAA,wCAAAA;AAAAA,EAAAA,uCAAAA;AAAAA,EAAAA,6CAAAA;AAAAA,EAAAA,8CAAAA;AAAAA,EAAAA,6CAAAA;AAAAA,EAAAA,wCAAAA;AAAAA,EAAAA,uCAAAA;AAAAA,EAAAA,wCAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,wCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,6BAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,uCAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,6CAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,uCAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,uCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,wCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,yCAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,sCAAAA;AAAAA,EAAAA,0CAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,0CAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,yCAAAA;AAAAA,EAAAA,gCAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,6BAAAA;AAAAA,EAAAA,kCAAAA;AAAAA,EAAAA,mCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,+BAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,uCAAAA;AAAAA,EAAAA,6BAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,8BAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,oCAAAA;AAAAA,EAAAA,iCAAAA;AAAAA,EAAAA,wCAAAA;AAAAA,EAAAA,qCAAAA;AAAAA,EAAAA,2CAAAA;AAAAA,CAAAA,GAsDpCC,IAA2BA,CAACC,GAAkBC,GAAeC,GAAiBC,MAAkB;AAEpG,EAAIF,KAAQD,EAAQI,aAAa,MAAM,KACjBJ,EAAQK,aAAa,MAAM,MAE3B,UACVC,EAAAA,aAAa,QAAQL,CAAI,GAIjCC,KAAUF,EAAQI,aAAa,QAAQ,KACjCE,EAAAA,aAAa,UAAUJ,CAAM,GAGnCC,KAAQH,EAAQI,aAAa,OAAO,KACtCJ,EAAQM,aAAa,SAASH,EAAKI,SAAU,CAAA,GAG3CJ,KAAQH,EAAQI,aAAa,QAAQ,KACvCJ,EAAQM,aAAa,UAAUH,EAAKI,SAAU,CAAA,GAIhDC,MAAMC,KAAKT,EAAQU,QAAQ,EAAEC,QAASC,CAAUA,MAAA;AACrBA,IAAAA,EAAAA,GAAOX,GAAMC,CAAM;AAAA,EAAA,CAC7C;AACH,GAEaW,KAAuBC,CAAUA,MAAA;AACtC,QAAA;AAAA,IACJC,MAAAA,IAAO;AAAA,IACPC,WAAAA,IAAY;AAAA,IACZC,SAAAA;AAAAA,IACAC,WAAAA;AAAAA,IACAC,gBAAAA;AAAAA,IACAC,iBAAAA;AAAAA,IACAC,aAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAC,cAAAA;AAAAA,IACAtB,MAAAA;AAAAA,IACAC,QAAAA;AAAAA,IACAsB,UAAAA,IAAW;AAAA,IACXrB,MAAAA;AAAAA,IACAsB,uBAAAA,IAAwB;AAAA,IACxBC,UAAAA,IAAW;AAAA,EACTZ,IAAAA,GACEa,IAAsB;AAAA,IAC1B,GAAK;AAAA,IACL,IAAM;AAAA,IACN,IAAM;AAAA,IACN,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,IACP,KAAO;AAAA,EAAA,GAEHC,IAAM/B,GAAS,qBAAqBkB,CAAI,MAAM;AAEpD,MAAI,CAACa;AACKC,mBAAAA,MAAM,SAASd,CAAI,0BAA0B,GAC9C;AAGHe,QAAAA,IAAgB,OAAOb,KAAY,YACnCc,IAAoBb,KAAaH,GAUjC;AAAA,IAAEiB,YAAAA;AAAAA,IAAYC,MAAAA;AAAAA,IAAMC,UAAAA;AAAAA,IAAUC,YAAAA;AAAAA,MAAeC,GAAmB;AAAA,IACpEC,UAAU;AAAA,IACVpB,SAASa,IAAgB,CAACQ,MAAqCrB,IAAUqB,CAAC,IAAIC;AAAAA,IAC9Eb,UAAUI,IAAgBJ,IAAW;AAAA,IACrCc,iBAAiBf;AAAAA,EAAAA,CAClB,GAGKgB,IAAsBC,GAAsB;AAAA,IAChDxB,WAAWa;AAAAA,IACXZ,gBAAAA;AAAAA,IACAC,iBAAAA;AAAAA,EAAAA,CACD,GAEKuB,IAAmBb,IACrB;AAAA,IACE,GAAGE;AAAAA,IACHC,MAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACA,GAAGO;AAAAA,IACH,gBAAgBpB;AAAAA,IAChB,iBAAiBC;AAAAA,IACjB,iBAAiBC,KAAgBgB;AAAAA,EAEnCA,IAAAA;AAGFK,SAAAA,gBAAAA,EAAAC,cAAA,OAAAC,EAAA;AAAA,IACE9B,WAAW,qFACTc,IAAgB,GAAGK,IAAa,8BAA8B,8BAA8B,KAAK,EAAE,IACjGnB,CAAS,IAAIW,EAAoBH,CAAQ,CAAC;AAAA,IAC9C,eAAcM,IAAyBS,SAAT;AAAA,KAC1BI,GAAgB;AAAA,IACpB,sBAAoB7B,GAAOiC;AAAAA,EAAAA,CAAa,GAExCF,gBAAAA,EAAAA,cAACG,IAAQ;AAAA,IACPpB,KAAAA;AAAAA,IACAqB,SAAQ;AAAA,IACRC,iBAAkBC,CAAQA,MAAA;AACpB7C,MAAAA,EAAAA,aAAa,eAAe,MAAM,GAClCA,EAAAA,aAAa,QAAQ,MAAM,GACN6C,EAAAA,GAAKlD,GAAMC,GAAQC,CAAI;AAAA,IAClD;AAAA,EACD,CAAA,CACE;AAET;"}
|
|
1
|
+
{"version":3,"file":"index5.js","sources":["../src/components/FilePicker/index.tsx"],"sourcesContent":["import React, { useRef } from 'react';\nimport { Button } from '../Button';\n\nexport interface FilePickerProps {\n /**\n * Callback function when files are selected\n */\n onFileSelect: (files: FileList) => void;\n /**\n * Accepted file types (e.g., \".pdf,.doc,.docx\")\n */\n accept?: string;\n /**\n * Allow multiple file selection\n */\n multiple?: boolean;\n /**\n * Label for the button\n */\n buttonLabel: string;\n /**\n * Type of the button\n */\n buttonType?: 'primary' | 'secondary' | 'ghost' | 'link';\n /**\n * Size of the button\n */\n buttonSize?: 'sm' | 'md' | 'lg';\n /**\n * Disabled state\n */\n disabled?: boolean;\n /**\n * Custom class name\n */\n className?: string;\n /**\n * Custom trigger element (button, menu item, icon, etc.)\n * If provided, buttonLabel, buttonType, and buttonSize will be ignored\n */\n triggerElement?: React.ReactNode;\n /**\n * Automation ID for testing\n */\n automationId?: string;\n}\n\nexport const FilePicker: React.FC<FilePickerProps> = ({\n onFileSelect,\n accept,\n multiple = false,\n buttonLabel,\n buttonType = 'primary',\n buttonSize = 'md',\n disabled = false,\n className = '',\n triggerElement,\n automationId = '',\n}) => {\n const fileInputRef = useRef<HTMLInputElement>(null);\n\n const handleButtonClick = () => {\n fileInputRef.current?.click();\n };\n\n const handleFileChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const files = event.target.files;\n if (files) {\n onFileSelect(files);\n // Reset the input value to allow selecting the same file again\n event.target.value = '';\n }\n };\n\n return (\n <div className={className}>\n <input\n type=\"file\"\n ref={fileInputRef}\n onChange={handleFileChange}\n accept={accept}\n multiple={multiple}\n style={{ display: 'none' }}\n />\n {triggerElement ? (\n <div onClick={disabled ? undefined : handleButtonClick}>\n {triggerElement}\n </div>\n ) : (\n <Button\n type={buttonType}\n size={buttonSize}\n label={buttonLabel}\n onClick={handleButtonClick}\n disabled={disabled}\n data-automation-id={automationId}\n />\n )}\n </div>\n );\n}; "],"names":["FilePicker","onFileSelect","accept","multiple","buttonLabel","buttonType","buttonSize","disabled","className","triggerElement","automationId","fileInputRef","useRef","handleButtonClick","current","click","handleFileChange","event","files","target","value","React","createElement","type","ref","onChange","style","display","onClick","undefined","Button","size","label"],"mappings":";;AA+CO,MAAMA,IAAwCA,CAAC;AAAA,EACpDC,cAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,UAAAA,IAAW;AAAA,EACXC,aAAAA;AAAAA,EACAC,YAAAA,IAAa;AAAA,EACbC,YAAAA,IAAa;AAAA,EACbC,UAAAA,IAAW;AAAA,EACXC,WAAAA,IAAY;AAAA,EACZC,gBAAAA;AAAAA,EACAC,cAAAA,IAAe;AACjB,MAAM;AACJ,QAAMC,IAAeC,EAAyB,IAAI,GAE5CC,IAAoBA,MAAM;AAC9BF,IAAAA,EAAaG,SAASC,MAAAA;AAAAA,EACxB,GAEMC,IAAmBA,CAACC,MAA+C;AACvE,UAAMC,IAAQD,EAAME,OAAOD;AAC3B,IAAIA,MACFjB,EAAaiB,CAAK,GAElBD,EAAME,OAAOC,QAAQ;AAAA,EAEzB;AAEA,SACEC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKd,WAAAA;AAAAA,EAAAA,GACHa,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACEC,MAAK;AAAA,IACLC,KAAKb;AAAAA,IACLc,UAAUT;AAAAA,IACVd,QAAAA;AAAAA,IACAC,UAAAA;AAAAA,IACAuB,OAAO;AAAA,MAAEC,SAAS;AAAA,IAAA;AAAA,EAAO,CAC1B,GACAlB,IACCY,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKM,SAASrB,IAAWsB,SAAYhB;AAAAA,EAAAA,GAClCJ,CACE,IAELY,gBAAAA,EAAAC,cAACQ,GAAM;AAAA,IACLP,MAAMlB;AAAAA,IACN0B,MAAMzB;AAAAA,IACN0B,OAAO5B;AAAAA,IACPwB,SAASf;AAAAA,IACTN,UAAAA;AAAAA,IACA,sBAAoBG;AAAAA,EAAAA,CACrB,CAEA;AAET;"}
|
package/dist/index50.js
CHANGED
|
@@ -1,380 +1,89 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import t from "react";
|
|
2
|
+
import { Icon as u } from "./index6.js";
|
|
3
|
+
import { Popover as v } from "./index19.js";
|
|
4
|
+
import { MenuList as E } from "./index18.js";
|
|
5
5
|
/* empty css */
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
label: "February"
|
|
12
|
-
}, {
|
|
13
|
-
value: "march",
|
|
14
|
-
label: "March"
|
|
15
|
-
}, {
|
|
16
|
-
value: "april",
|
|
17
|
-
label: "April"
|
|
18
|
-
}, {
|
|
19
|
-
value: "may",
|
|
20
|
-
label: "May"
|
|
21
|
-
}, {
|
|
22
|
-
value: "june",
|
|
23
|
-
label: "June"
|
|
24
|
-
}, {
|
|
25
|
-
value: "july",
|
|
26
|
-
label: "July"
|
|
27
|
-
}, {
|
|
28
|
-
value: "august",
|
|
29
|
-
label: "August"
|
|
30
|
-
}, {
|
|
31
|
-
value: "september",
|
|
32
|
-
label: "September"
|
|
33
|
-
}, {
|
|
34
|
-
value: "october",
|
|
35
|
-
label: "October"
|
|
36
|
-
}, {
|
|
37
|
-
value: "november",
|
|
38
|
-
label: "November"
|
|
39
|
-
}, {
|
|
40
|
-
value: "december",
|
|
41
|
-
label: "December"
|
|
42
|
-
}], Me = ({
|
|
43
|
-
title: U = "Select modified date",
|
|
44
|
-
// isOpen = true,
|
|
45
|
-
showHeader: G = !0,
|
|
46
|
-
initialStartDate: R,
|
|
47
|
-
initialEndDate: L,
|
|
48
|
-
onApply: x = () => {
|
|
49
|
-
},
|
|
50
|
-
onClose: N,
|
|
51
|
-
shouldAllowFutureDateSelection: w = !1,
|
|
52
|
-
maxDays: D,
|
|
53
|
-
disablePastDates: $ = !1,
|
|
54
|
-
singleDateSelection: W = !1,
|
|
55
|
-
minYearOption: K,
|
|
56
|
-
showQuickActions: P = !1,
|
|
57
|
-
showSingleMonth: Y = !1,
|
|
58
|
-
className: X = "",
|
|
59
|
-
automationId: m = "datepicker",
|
|
60
|
-
labels: j = {
|
|
61
|
-
clear: "Clear",
|
|
62
|
-
apply: "Apply"
|
|
63
|
-
}
|
|
64
|
-
}) => {
|
|
65
|
-
const Z = () => {
|
|
66
|
-
if (R && L)
|
|
67
|
-
return {
|
|
68
|
-
startDate: R,
|
|
69
|
-
endDate: L
|
|
70
|
-
};
|
|
71
|
-
const t = /* @__PURE__ */ new Date();
|
|
72
|
-
t.setHours(23, 59, 59, 999);
|
|
73
|
-
const e = /* @__PURE__ */ new Date();
|
|
74
|
-
return e.setHours(0, 0, 0, 0), {
|
|
75
|
-
startDate: e,
|
|
76
|
-
endDate: t
|
|
77
|
-
};
|
|
78
|
-
}, ee = () => {
|
|
79
|
-
const t = /* @__PURE__ */ new Date(), e = /* @__PURE__ */ new Date();
|
|
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, b] = E(Z), [A, be] = 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
|
-
const a = te(t, e), r = ae(t, e), d = [];
|
|
83
|
-
for (let s = 0; s < r; s++)
|
|
84
|
-
d.push(null);
|
|
85
|
-
for (let s = 1; s <= a; s++) {
|
|
86
|
-
const u = new Date(t, e, s);
|
|
87
|
-
u.setHours(0, 0, 0, 0), d.push(u);
|
|
88
|
-
}
|
|
89
|
-
return d;
|
|
90
|
-
}, h = (t, e) => t.getDate() === e.getDate() && t.getMonth() === e.getMonth() && t.getFullYear() === e.getFullYear(), re = (t) => {
|
|
91
|
-
if (!c.startDate || !c.endDate) return !1;
|
|
92
|
-
const e = new Date(t);
|
|
93
|
-
e.setHours(12, 0, 0, 0);
|
|
94
|
-
const a = new Date(c.startDate);
|
|
95
|
-
a.setHours(0, 0, 0, 0);
|
|
96
|
-
const r = new Date(c.endDate);
|
|
97
|
-
return r.setHours(23, 59, 59, 999), e >= a && e <= r;
|
|
98
|
-
}, oe = (t) => {
|
|
99
|
-
const e = /* @__PURE__ */ new Date();
|
|
100
|
-
return t.getDate() === e.getDate() && t.getMonth() === e.getMonth() && t.getFullYear() === e.getFullYear();
|
|
101
|
-
}, z = (t) => {
|
|
102
|
-
if (!t) return !0;
|
|
103
|
-
const e = /* @__PURE__ */ new Date();
|
|
104
|
-
e.setHours(0, 0, 0, 0);
|
|
105
|
-
const a = new Date(t);
|
|
106
|
-
if (a.setHours(0, 0, 0, 0), $ && a < e)
|
|
107
|
-
return !0;
|
|
108
|
-
if (D != null) {
|
|
109
|
-
const r = new Date(e);
|
|
110
|
-
return r.setDate(r.getDate() + D), r.setHours(0, 0, 0, 0), a > r;
|
|
111
|
-
}
|
|
112
|
-
return w ? !1 : a > e;
|
|
113
|
-
}, se = (t) => {
|
|
114
|
-
if (z(t)) return;
|
|
115
|
-
const e = new Date(t);
|
|
116
|
-
if (e.setHours(12, 0, 0, 0), W) {
|
|
117
|
-
b({
|
|
118
|
-
startDate: e,
|
|
119
|
-
endDate: e
|
|
120
|
-
}), x({
|
|
121
|
-
startDate: e,
|
|
122
|
-
endDate: e
|
|
123
|
-
}), N?.();
|
|
124
|
-
return;
|
|
125
|
-
}
|
|
126
|
-
if (!c.startDate || c.endDate)
|
|
127
|
-
b({
|
|
128
|
-
startDate: e,
|
|
129
|
-
endDate: null
|
|
130
|
-
});
|
|
131
|
-
else {
|
|
132
|
-
const a = new Date(c.startDate);
|
|
133
|
-
a.setHours(12, 0, 0, 0);
|
|
134
|
-
const r = e > a ? e : a, d = e > a ? a : e;
|
|
135
|
-
b({
|
|
136
|
-
startDate: d,
|
|
137
|
-
endDate: r
|
|
138
|
-
});
|
|
6
|
+
function c() {
|
|
7
|
+
return c = Object.assign ? Object.assign.bind() : function(a) {
|
|
8
|
+
for (var n = 1; n < arguments.length; n++) {
|
|
9
|
+
var i = arguments[n];
|
|
10
|
+
for (var o in i) ({}).hasOwnProperty.call(i, o) && (a[o] = i[o]);
|
|
139
11
|
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
}, f = (t) => {
|
|
189
|
-
const e = new Date(t);
|
|
190
|
-
return e.setHours(0, 0, 0, 0), e;
|
|
191
|
-
}, v = (t) => {
|
|
192
|
-
const e = new Date(t);
|
|
193
|
-
return e.setHours(23, 59, 59, 999), e;
|
|
194
|
-
}, de = (t) => {
|
|
195
|
-
const e = /* @__PURE__ */ new Date();
|
|
196
|
-
let a = /* @__PURE__ */ new Date(), r = /* @__PURE__ */ new Date();
|
|
197
|
-
switch (t) {
|
|
198
|
-
case "Today":
|
|
199
|
-
a = f(e), r = v(e);
|
|
200
|
-
break;
|
|
201
|
-
case "Yesterday":
|
|
202
|
-
a = f(new Date(e.setDate(e.getDate() - 1))), r = v(new Date(e));
|
|
203
|
-
break;
|
|
204
|
-
case "This Week":
|
|
205
|
-
const d = new Date(e.setDate(e.getDate() - e.getDay()));
|
|
206
|
-
a = f(d), r = v(/* @__PURE__ */ new Date());
|
|
207
|
-
break;
|
|
208
|
-
case "Last Week":
|
|
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
|
-
break;
|
|
212
|
-
case "This Month":
|
|
213
|
-
a = f(new Date(e.getFullYear(), e.getMonth(), 1)), r = v(/* @__PURE__ */ new Date());
|
|
214
|
-
break;
|
|
215
|
-
case "Last Month":
|
|
216
|
-
a = f(new Date(e.getFullYear(), e.getMonth() - 1, 1)), r = v(new Date(e.getFullYear(), e.getMonth(), 0));
|
|
217
|
-
break;
|
|
218
|
-
}
|
|
219
|
-
b({
|
|
220
|
-
startDate: a,
|
|
221
|
-
endDate: r
|
|
222
|
-
});
|
|
223
|
-
}, ge = () => /* @__PURE__ */ o.createElement("div", {
|
|
224
|
-
className: "w-[147px] p-4 border-r border-[var(--color-gray-200)]"
|
|
225
|
-
}, /* @__PURE__ */ o.createElement("div", {
|
|
226
|
-
className: "flex flex-col gap-3"
|
|
227
|
-
}, ve.map((t) => /* @__PURE__ */ o.createElement(S, {
|
|
228
|
-
key: t,
|
|
229
|
-
label: t,
|
|
230
|
-
type: "link",
|
|
231
|
-
onClick: () => de(t)
|
|
232
|
-
})))), me = () => {
|
|
233
|
-
const {
|
|
234
|
-
startDate: t = null,
|
|
235
|
-
endDate: e = null
|
|
236
|
-
} = c;
|
|
237
|
-
if (t && e) {
|
|
238
|
-
x({
|
|
239
|
-
startDate: t,
|
|
240
|
-
endDate: e
|
|
241
|
-
});
|
|
242
|
-
return;
|
|
243
|
-
}
|
|
244
|
-
if (t || e) {
|
|
245
|
-
const a = t || e;
|
|
246
|
-
x({
|
|
247
|
-
startDate: a,
|
|
248
|
-
endDate: a
|
|
249
|
-
});
|
|
250
|
-
}
|
|
251
|
-
}, H = (t) => {
|
|
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
|
-
return /* @__PURE__ */ o.createElement("div", {
|
|
254
|
-
className: "se-design-calendar-container w-fit p-4"
|
|
255
|
-
}, /* @__PURE__ */ o.createElement("div", {
|
|
256
|
-
className: "flex justify-between items-center"
|
|
257
|
-
}, /* @__PURE__ */ o.createElement(T, {
|
|
258
|
-
name: "chevron",
|
|
259
|
-
rotation: "90",
|
|
260
|
-
size: 16,
|
|
261
|
-
onClick: () => {
|
|
262
|
-
const n = I(t, !1);
|
|
263
|
-
if ($) {
|
|
264
|
-
const l = /* @__PURE__ */ new Date();
|
|
265
|
-
if (l.setHours(0, 0, 0, 0), n < l && n.getMonth() !== l.getMonth())
|
|
266
|
-
return;
|
|
12
|
+
return a;
|
|
13
|
+
}, c.apply(null, arguments);
|
|
14
|
+
}
|
|
15
|
+
const s = {
|
|
16
|
+
container: "se-design-breadcrumbs flex items-center",
|
|
17
|
+
itemLabel: "se-design-breadcrumbs-item-label inline-flex items-center w-fit"
|
|
18
|
+
}, P = ({
|
|
19
|
+
crumbs: a,
|
|
20
|
+
onCrumbClick: n,
|
|
21
|
+
className: i = "",
|
|
22
|
+
ariaLabel: o = "Breadcrumb",
|
|
23
|
+
headingLevel: g = 1
|
|
24
|
+
}) => {
|
|
25
|
+
if (a?.length === 1) {
|
|
26
|
+
const e = `h${g}`;
|
|
27
|
+
return /* @__PURE__ */ t.createElement("div", {
|
|
28
|
+
className: `${s.container} ${i}`,
|
|
29
|
+
"data-automation-id": "breadcrumbs-container"
|
|
30
|
+
}, /* @__PURE__ */ t.createElement(e, {
|
|
31
|
+
className: `${s.itemLabel} single-crumb`
|
|
32
|
+
}, a[0].label));
|
|
33
|
+
}
|
|
34
|
+
const m = a?.length > 3, d = m ? a?.slice(-2) : a, b = m ? a?.slice(0, -2) : [], l = (e) => e === d?.length - 1, f = (e) => l(e) ? `${s.itemLabel} highlighted-crumb` : `${s.itemLabel} unhighlighted-crumb`;
|
|
35
|
+
return /* @__PURE__ */ t.createElement("nav", {
|
|
36
|
+
className: `${s.container} ${i}`,
|
|
37
|
+
"aria-label": o,
|
|
38
|
+
"data-automation-id": "breadcrumbs-container"
|
|
39
|
+
}, b?.length > 0 && /* @__PURE__ */ t.createElement(v, {
|
|
40
|
+
className: "se-design-overflow-breadcrumbs",
|
|
41
|
+
position: "bottom-left",
|
|
42
|
+
noBorder: !0,
|
|
43
|
+
ariaLabel: "Show more breadcrumbs",
|
|
44
|
+
renderPopoverSrcElement: ({
|
|
45
|
+
displayPopover: e
|
|
46
|
+
}) => /* @__PURE__ */ t.createElement("div", {
|
|
47
|
+
className: `overflow-breadcrumbs-src-element px-1.5 py-1.5 rounded-md hover:cursor-pointer ${e ? "bg-[var(--color-blue-200)]" : ""}`,
|
|
48
|
+
"data-automation-id": "breadcrumbs-kebab-menu"
|
|
49
|
+
}, /* @__PURE__ */ t.createElement(u, {
|
|
50
|
+
name: "kebab-menu"
|
|
51
|
+
})),
|
|
52
|
+
renderPopoverContents: ({
|
|
53
|
+
closePopoverCb: e
|
|
54
|
+
}) => /* @__PURE__ */ t.createElement(E, {
|
|
55
|
+
items: b.map((r) => ({
|
|
56
|
+
id: String(r?.id),
|
|
57
|
+
label: r?.label,
|
|
58
|
+
onClick: () => {
|
|
59
|
+
n?.(r), e();
|
|
267
60
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
defaultSelectedValue: O[a],
|
|
279
|
-
selectBy: "label",
|
|
280
|
-
optionsUniqueBy: "value",
|
|
281
|
-
displaySelected: !0,
|
|
282
|
-
onOptionClick: (n) => {
|
|
283
|
-
const l = new Date(t);
|
|
284
|
-
l.setMonth(O.findIndex((i) => i.value === n.value)), y(l, s);
|
|
285
|
-
},
|
|
286
|
-
className: "w-[124px] dropdown-option-container"
|
|
287
|
-
}), /* @__PURE__ */ o.createElement(Q, {
|
|
288
|
-
type: "select",
|
|
289
|
-
dropDownOptions: u,
|
|
290
|
-
defaultSelectedValue: u.find((n) => n.value === e),
|
|
291
|
-
selectBy: "label",
|
|
292
|
-
optionsUniqueBy: "value",
|
|
293
|
-
displaySelected: !0,
|
|
294
|
-
onOptionClick: (n) => {
|
|
295
|
-
const l = new Date(t);
|
|
296
|
-
l.setFullYear(n.value), y(l, s);
|
|
297
|
-
},
|
|
298
|
-
className: "w-[104px] dropdown-option-container"
|
|
299
|
-
})), /* @__PURE__ */ o.createElement(T, {
|
|
61
|
+
}))
|
|
62
|
+
})
|
|
63
|
+
}), /* @__PURE__ */ t.createElement("ol", {
|
|
64
|
+
className: "se-design-breadcrumbs-list inline-flex items-center"
|
|
65
|
+
}, d?.map((e, r) => {
|
|
66
|
+
const p = l(r) ? "span" : "a";
|
|
67
|
+
return /* @__PURE__ */ t.createElement("li", {
|
|
68
|
+
key: e?.id,
|
|
69
|
+
className: "se-design-breadcrumbs-item inline-flex items-center w-fit text-xl"
|
|
70
|
+
}, (r > 0 || m) && /* @__PURE__ */ t.createElement(u, {
|
|
300
71
|
name: "chevron",
|
|
301
|
-
rotation: "270"
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
}
|
|
314
|
-
y(n, s);
|
|
315
|
-
},
|
|
316
|
-
automationId: `${m}-next-month`
|
|
317
|
-
})), /* @__PURE__ */ o.createElement("div", {
|
|
318
|
-
className: "grid grid-cols-7 gap-2 mt-3"
|
|
319
|
-
}, fe.map((n, l) => /* @__PURE__ */ o.createElement("div", {
|
|
320
|
-
key: `${n}-${l}`,
|
|
321
|
-
className: "datepicker-weekdays"
|
|
322
|
-
}, n)), r.map((n, l) => {
|
|
323
|
-
const i = n && le(n), g = n && ce(n), k = n && ue(n), q = n && !i && !g && re(n), J = n && oe(n), M = z(n), V = n?.getDate();
|
|
324
|
-
return /* @__PURE__ */ o.createElement("div", {
|
|
325
|
-
key: `${n}-${l}`,
|
|
326
|
-
onClick: () => !M && n && se(n),
|
|
327
|
-
className: `
|
|
328
|
-
relative h-10 w-10 flex items-center justify-center transition-colors rounded-md
|
|
329
|
-
${M ? "cursor-not-allowed text-[var(--color-gray-600)] hover:bg-transparent" : "cursor-pointer"}
|
|
330
|
-
${k ? "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
|
-
${!k && g ? "bg-[var(--color-blue-500)] text-[var(--color-white)] hover:bg-[var(--color-blue-600)]" : ""}
|
|
333
|
-
${!i && !g && q ? "bg-[var(--color-blue-100)] text-[var(--color-blue-600)] outline outline-1 outline-[var(--color-blue-500)]" : ""}
|
|
334
|
-
${!i && !g && !q && !M ? "hover:bg-[var(--color-blue-100)] hover:outline hover:outline-1 hover:outline-[var(--color-blue-500)]" : ""}
|
|
335
|
-
${J && !i && !g ? "text-[var(--color-blue-500)] bg-[var(--color-blue-100)] outline outline-1 outline-[var(--color-blue-500)]" : ""}
|
|
336
|
-
${!M && !i && !g && !J ? "text-[var(--color-blue-500)]" : ""}
|
|
337
|
-
`,
|
|
338
|
-
"data-automation-id": `${m}-date-${V}`
|
|
339
|
-
}, n ? /* @__PURE__ */ o.createElement(o.Fragment, null, V, !k && (i || g) && /* @__PURE__ */ o.createElement("div", {
|
|
340
|
-
className: `absolute top-0 bottom-0 ${i ? "right-[-8px]" : "left-[-8px]"} w-[8px]
|
|
341
|
-
bg-[var(--color-blue-100)] -z-10`
|
|
342
|
-
})) : "");
|
|
343
|
-
})));
|
|
344
|
-
};
|
|
345
|
-
return /* @__PURE__ */ o.createElement("div", {
|
|
346
|
-
className: `se-design-datepicker-container flex flex-col bg-[var(--color-white)] rounded-md shadow-md w-max ${X}`
|
|
347
|
-
}, G && /* @__PURE__ */ o.createElement("div", {
|
|
348
|
-
className: "se-design-datepicker-header flex justify-between items-center border-b border-[var(--color-gray-200)] p-4"
|
|
349
|
-
}, /* @__PURE__ */ o.createElement("h2", {
|
|
350
|
-
className: "datepicker-title"
|
|
351
|
-
}, U), N && /* @__PURE__ */ o.createElement(T, {
|
|
352
|
-
name: "close",
|
|
353
|
-
size: 16,
|
|
354
|
-
onClick: N,
|
|
355
|
-
className: "cursor-pointer",
|
|
356
|
-
automationId: `${m}-close`
|
|
357
|
-
})), /* @__PURE__ */ o.createElement("div", {
|
|
358
|
-
className: "se-design-datepicker-content flex"
|
|
359
|
-
}, P && ge(), /* @__PURE__ */ o.createElement("div", {
|
|
360
|
-
className: "flex"
|
|
361
|
-
}, Y ? H(p) : /* @__PURE__ */ o.createElement(o.Fragment, null, H(p), /* @__PURE__ */ o.createElement("div", {
|
|
362
|
-
className: "h-full w-[1px] border-r border-[var(--color-gray-200)]"
|
|
363
|
-
}), H(F)))), !W && /* @__PURE__ */ o.createElement("div", {
|
|
364
|
-
className: "se-design-datepicker-footer flex justify-end items-center gap-5 p-4 border-t border-[var(--color-gray-200)]"
|
|
365
|
-
}, /* @__PURE__ */ o.createElement(S, {
|
|
366
|
-
label: j?.clear || "Clear",
|
|
367
|
-
type: "ghost",
|
|
368
|
-
onClick: De,
|
|
369
|
-
"data-automation-id": `${m}-clear-button`
|
|
370
|
-
}), /* @__PURE__ */ o.createElement(S, {
|
|
371
|
-
label: j?.apply || "Apply",
|
|
372
|
-
type: "primary",
|
|
373
|
-
onClick: me,
|
|
374
|
-
"data-automation-id": `${m}-apply-button`
|
|
72
|
+
rotation: "270"
|
|
73
|
+
}), /* @__PURE__ */ t.createElement(p, c({}, l(r) ? {
|
|
74
|
+
"aria-current": "page"
|
|
75
|
+
} : {
|
|
76
|
+
href: e.href ?? "#",
|
|
77
|
+
onClick: (h) => {
|
|
78
|
+
e.href || h.preventDefault(), n?.(e);
|
|
79
|
+
}
|
|
80
|
+
}, {
|
|
81
|
+
className: `${f(r)}${l(r) ? "" : " cursor-pointer focus-outline"}`,
|
|
82
|
+
"data-automation-id": e?.automationId || `breadcrumbs-item-${r}`
|
|
83
|
+
}), e?.label));
|
|
375
84
|
})));
|
|
376
85
|
};
|
|
377
86
|
export {
|
|
378
|
-
|
|
87
|
+
P as BreadCrumbs
|
|
379
88
|
};
|
|
380
89
|
//# sourceMappingURL=index50.js.map
|
package/dist/index50.js.map
CHANGED
|
@@ -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)] 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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"}
|
|
1
|
+
{"version":3,"file":"index50.js","sources":["../src/components/BreadCrumbs/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../Icon';\nimport { Popover } from '../Popover';\nimport { MenuList } from '../MenuList';\n\nimport './style.scss';\n\ninterface Crumb {\n id: string | number;\n label: string;\n href?: string;\n automationId?: string;\n}\n\nconst breadCrumbsClassNames = {\n container: 'se-design-breadcrumbs flex items-center',\n itemLabel: 'se-design-breadcrumbs-item-label inline-flex items-center w-fit',\n};\n\ninterface BreadCrumbsProps {\n crumbs: Crumb[];\n onCrumbClick?: (crumb: Crumb) => void;\n className?: any;\n /** Accessible name for the breadcrumb navigation landmark. Defaults to \"Breadcrumb\". */\n ariaLabel?: string;\n /** Heading level to use when only a single crumb is provided. Defaults to 1. */\n headingLevel?: 1 | 2 | 3 | 4 | 5 | 6;\n}\n\nexport const BreadCrumbs: React.FC<BreadCrumbsProps> = ({ crumbs, onCrumbClick, className = '', ariaLabel = 'Breadcrumb', headingLevel = 1 }) => {\n const isSingleCrumb = crumbs?.length === 1;\n\n if (isSingleCrumb) {\n const HeadingTag = `h${headingLevel}` as React.ElementType;\n return (\n <div className={`${breadCrumbsClassNames.container} ${className}`} data-automation-id=\"breadcrumbs-container\">\n <HeadingTag className={`${breadCrumbsClassNames.itemLabel} single-crumb`}>\n {crumbs[0].label}\n </HeadingTag>\n </div>\n );\n }\n\n const shouldShowDropdown = crumbs?.length > 3;\n const visibleCrumbs = shouldShowDropdown ? crumbs?.slice(-2) : crumbs;\n const dropdownCrumbs = shouldShowDropdown ? crumbs?.slice(0, -2) : [];\n\n const isCurrentPage = (index: number) => index === visibleCrumbs?.length - 1;\n\n const getLabelClassNames = (index: number) => {\n if (isCurrentPage(index)) {\n return `${breadCrumbsClassNames.itemLabel} highlighted-crumb`;\n }\n return `${breadCrumbsClassNames.itemLabel} unhighlighted-crumb`;\n };\n\n return (\n <nav className={`${breadCrumbsClassNames.container} ${className}`} aria-label={ariaLabel} data-automation-id=\"breadcrumbs-container\">\n {dropdownCrumbs?.length > 0 && (\n <Popover\n className=\"se-design-overflow-breadcrumbs\"\n position=\"bottom-left\"\n noBorder\n ariaLabel=\"Show more breadcrumbs\"\n renderPopoverSrcElement={({ displayPopover }) => {\n return (\n <div\n className={`overflow-breadcrumbs-src-element px-1.5 py-1.5 rounded-md hover:cursor-pointer ${\n displayPopover ? 'bg-[var(--color-blue-200)]' : ''\n }`}\n data-automation-id=\"breadcrumbs-kebab-menu\"\n >\n <Icon name=\"kebab-menu\" />\n </div>\n );\n }}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList\n items={dropdownCrumbs.map((crumb) => ({\n id: String(crumb?.id),\n label: crumb?.label,\n onClick: () => {\n onCrumbClick?.(crumb);\n closePopoverCb();\n }\n }))}\n />\n )}\n />\n )}\n <ol className=\"se-design-breadcrumbs-list inline-flex items-center\">\n {visibleCrumbs?.map((crumb, index) => {\n const Tag = isCurrentPage(index) ? 'span' : 'a';// current page should not be clickable\n return (\n <li key={crumb?.id} className=\"se-design-breadcrumbs-item inline-flex items-center w-fit text-xl\">\n {(index > 0 || shouldShowDropdown) && <Icon name=\"chevron\" rotation={'270'} />}\n <Tag\n {...(isCurrentPage(index)\n ? { 'aria-current': 'page' as const }\n : {\n href: crumb.href ?? '#',\n onClick: (e: React.MouseEvent<HTMLAnchorElement>) => {\n if (!crumb.href) e.preventDefault();\n onCrumbClick?.(crumb);\n }\n })}\n className={`${getLabelClassNames(index)}${!isCurrentPage(index) ? ' cursor-pointer focus-outline' : ''}`}\n data-automation-id={crumb?.automationId || `breadcrumbs-item-${index}`}\n >\n {crumb?.label}\n </Tag>\n </li>\n );\n })}\n </ol>\n </nav>\n );\n};\n"],"names":["breadCrumbsClassNames","container","itemLabel","BreadCrumbs","crumbs","onCrumbClick","className","ariaLabel","headingLevel","length","HeadingTag","React","createElement","label","shouldShowDropdown","visibleCrumbs","slice","dropdownCrumbs","isCurrentPage","index","getLabelClassNames","Popover","position","noBorder","renderPopoverSrcElement","displayPopover","Icon","name","renderPopoverContents","closePopoverCb","MenuList","items","map","crumb","id","String","onClick","Tag","key","rotation","_extends","href","e","preventDefault","automationId"],"mappings":"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"}
|