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/index51.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index51.js","sources":["../src/components/InputWithIcon/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../Icon';\nimport { useStableId } from '../../utils/useStableId';\nimport { getA11yNameAttributes } from '../../utils/a11y';\nimport './styles.scss';\n\nexport interface InputIconProps {\n className?: string;\n disabled?: boolean;\n disableHover?: boolean;\n name: string;\n onClick?: () => void;\n position: 'left' | 'right';\n style?: React.CSSProperties;\n /**\n * Accessible name for the icon when it is interactive (onClick provided).\n * Required for a11y when the icon has its own onClick.\n */\n ariaLabel?: string;\n}\n\nexport interface InputWithIconProps {\n disabled?: boolean;\n error?: boolean;\n errorMessage?: string;\n id?: string;\n inputStyle?: React.CSSProperties;\n label?: string;\n leftIcon?: InputIconProps;\n maxLength?: number | undefined;\n onChange?: (value: string) => void;\n onClick?: (e: React.MouseEvent<HTMLInputElement>) => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n placeholder?: string;\n readOnly?: boolean;\n rightIcon?: InputIconProps;\n style?: React.CSSProperties;\n tag?: string;\n type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';\n value: string;\n className?: string;\n automationId?: string;\n /**\n * Accessible name when no visible label exists.\n * Prefer a visible label prop instead where possible.\n */\n ariaLabel?: string;\n /**\n * ID(s) of external visible element(s) that label this input.\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this input (hints, notes, constraints).\n * Announced by screen readers after the label and value, giving extra context.\n */\n ariaDescribedBy?: string;\n /**\n * Set to \"dialog\" when this input opens a date picker or other dialog.\n */\n ariaHasPopup?: 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n}\n\nexport function InputWithIcon({\n disabled,\n error,\n errorMessage,\n id,\n inputStyle,\n label,\n leftIcon,\n maxLength,\n onChange,\n onClick,\n onKeyDown,\n placeholder,\n readOnly,\n rightIcon,\n style,\n tag,\n type = 'text',\n value,\n className = '',\n automationId = '',\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n ariaHasPopup\n}: InputWithIconProps) {\n const inputId = useStableId(id, 'se-input-icon');\n const Element = tag || 'input';\n\n const accessibleNameProps = getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy });\n\n // Trigger mode: readOnly + onClick means the whole widget acts as one interactive element\n // (e.g. a date picker trigger). ONE tab stop — the input — and the icon is always decorative.\n // The wrapper div becomes the unified mouse click zone so clicking anywhere, including the\n // icon area, fires the action without a second focusable element.\n //\n // Non-trigger mode: normal editable input. If an icon has its own onClick it is an independent\n // action (e.g. show/hide password) and becomes its own accessible button via Icon's useAccessiblePress.\n const isTriggerMode = !!readOnly && !!onClick;\n\n const renderIcon = (iconProps: InputIconProps) => {\n if (!iconProps) return null;\n\n const isIconDisabled = disabled || iconProps.disabled;\n // In trigger mode icon is always decorative — the wrapper is the click zone for the whole widget.\n // In non-trigger mode pass onClick to Icon so it uses useAccessiblePress:\n // role=\"button\", tabIndex=0, Enter/Space, focus-outline. Decorative when no onClick.\n const iconOnClick = isTriggerMode || isIconDisabled ? undefined : iconProps.onClick;\n\n return (\n <div\n className={`input-with-icon-icon input-with-icon-icon-${iconProps.position} ${iconProps.className || ''} ${isIconDisabled ? 'disabled' : ''} ${iconProps.disableHover ? 'no-hover' : ''}`}\n style={iconProps.style}\n >\n <Icon\n name={iconProps.name}\n onClick={iconOnClick}\n ariaLabel={iconOnClick ? iconProps.ariaLabel : undefined}\n />\n </div>\n );\n };\n\n // In trigger mode Enter/Space on the focused input fires the action, same as a button would.\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isTriggerMode && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onClick!(e as any);\n }\n onKeyDown?.(e);\n };\n\n const hasLeftIcon = !!leftIcon;\n const hasRightIcon = !!rightIcon;\n\n return (\n <div className={`input-with-icon-main-container ${className}`} style={style} data-automation-id={automationId}>\n {label && <label className=\"label-container\" htmlFor={inputId}>{label}</label>}\n <div\n className={`input-with-icon-wrapper ${hasLeftIcon ? 'has-left-icon' : ''} ${hasRightIcon ? 'has-right-icon' : ''}`}\n // In trigger mode the wrapper is the unified mouse click zone — clicking anywhere in the\n // widget (including the icon area) fires the action. Don't also put onClick on the input\n // element or it would double-fire when the input itself is clicked.\n onClick={isTriggerMode ? (e) => onClick!(e as any) : undefined}\n style={isTriggerMode ? { cursor: 'pointer' } : undefined}\n >\n {renderIcon(leftIcon!)}\n {React.createElement(Element, {\n id: inputId,\n value,\n onChange: onChange\n ? (e: React.ChangeEvent<HTMLInputElement>) => onChange(e.target.value)\n : undefined,\n // In trigger mode don't attach onClick to the input — the wrapper handles it.\n onClick: isTriggerMode ? undefined : onClick,\n onKeyDown: handleKeyDown,\n disabled,\n readOnly,\n type,\n className: `input-with-icon-element ${error ? 'input-with-icon-container-error' : 'input-with-icon-container-default'} ${disabled ? 'input-with-icon-container-disabled' : ''}`,\n maxLength: maxLength ? maxLength : undefined,\n placeholder: placeholder,\n // In trigger mode: pointer cursor so it matches the wrapper, and no text selection\n // since the value is display-only — selecting \"90 days\" with a caret is misleading.\n style: isTriggerMode\n ? { cursor: 'pointer', userSelect: 'none', ...inputStyle }\n : inputStyle,\n 'aria-haspopup': ariaHasPopup,\n ...accessibleNameProps\n })}\n {renderIcon(rightIcon!)}\n </div>\n {(error || maxLength) &&\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && <div className=\"error-message\">{errorMessage}</div>}\n {maxLength && <div className=\"max-word\">{maxLength && value?.length + '/' + maxLength}</div>}\n </div>\n }\n </div>\n );\n}\n"],"names":["React__default","Icon","useStableId","getA11yNameAttributes","InputWithIcon","disabled","error","errorMessage","id","inputStyle","label","leftIcon","maxLength","onChange","onClick","onKeyDown","placeholder","readOnly","rightIcon","style","tag","type","value","className","automationId","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaHasPopup","inputId","Element","accessibleNameProps","isTriggerMode","renderIcon","iconProps","isIconDisabled","iconOnClick","undefined","React","createElement","position","disableHover","name","handleKeyDown","e","key","preventDefault","hasLeftIcon","hasRightIcon","htmlFor","cursor","target","userSelect","length"],"mappings":"AA8DO,OAAAA,OAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,SAAA,eAAAC,SAAA;AAAA,SAAA,yBAAAC,SAAA;AAAA,OAAA;AAAA,SAASC,EAAc;AAAA,EAC5BC,UAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,IAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,UAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,KAAAA;AAAAA,EACAC,MAAAA,IAAO;AAAA,EACPC,OAAAA;AAAAA,EACAC,WAAAA,IAAY;AAAA,EACZC,cAAAA,IAAe;AAAA,EACfC,WAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,iBAAAA;AAAAA,EACAC,cAAAA;AACkB,GAAG;AACfC,QAAAA,IAAU3B,EAAYM,GAAI,eAAe,GACzCsB,IAAUV,KAAO,SAEjBW,IAAsB5B,EAAsB;AAAA,IAAEsB,WAAAA;AAAAA,IAAWC,gBAAAA;AAAAA,IAAgBC,iBAAAA;AAAAA,EAAAA,CAAiB,GAS1FK,IAAgB,CAAC,CAACf,KAAY,CAAC,CAACH,GAEhCmB,IAAaA,CAACC,MAA8B;AAC5C,QAAA,CAACA,EAAkB,QAAA;AAEjBC,UAAAA,IAAiB9B,KAAY6B,EAAU7B,UAIvC+B,IAAcJ,KAAiBG,IAAiBE,SAAYH,EAAUpB;AAG1EwB,WAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,MACEhB,WAAW,6CAA6CW,EAAUM,QAAQ,IAAIN,EAAUX,aAAa,EAAE,IAAIY,IAAiB,aAAa,EAAE,IAAID,EAAUO,eAAe,aAAa,EAAE;AAAA,MACvLtB,OAAOe,EAAUf;AAAAA,IAAAA,GAEjBoB,gBAAAA,EAAAA,cAACtC,GAAI;AAAA,MACHyC,MAAMR,EAAUQ;AAAAA,MAChB5B,SAASsB;AAAAA,MACTX,WAAWW,IAAcF,EAAUT,YAAYY;AAAAA,IAChD,CAAA,CACE;AAAA,EAAA,GAKHM,IAAgBA,CAACC,MAA6C;AAClE,IAAIZ,MAAkBY,EAAEC,QAAQ,WAAWD,EAAEC,QAAQ,SACnDD,EAAEE,eAAe,GACjBhC,EAAS8B,CAAQ,IAEnB7B,IAAY6B,CAAC;AAAA,EAAA,GAGTG,IAAc,CAAC,CAACpC,GAChBqC,IAAe,CAAC,CAAC9B;AAGrBoB,SAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKhB,WAAW,kCAAkCA,CAAS;AAAA,IAAIJ,OAAAA;AAAAA,IAAc,sBAAoBK;AAAAA,EAC9Fd,GAAAA,KAAS6B,gBAAAA,EAAAA,cAAA,SAAA;AAAA,IAAOhB,WAAU;AAAA,IAAkB0B,SAASpB;AAAAA,EAAUnB,GAAAA,CAAa,GAC7E4B,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEhB,WAAW,2BAA2BwB,IAAc,kBAAkB,EAAE,IAAIC,IAAe,mBAAmB,EAAE;AAAA,IAIhHlC,SAASkB,IAAiBY,CAAM9B,MAAAA,EAAS8B,CAAQ,IAAIP;AAAAA,IACrDlB,OAAOa,IAAgB;AAAA,MAAEkB,QAAQ;AAAA,IAAcb,IAAAA;AAAAA,KAE9CJ,EAAWtB,CAAS,GACpB2B,gBAAAA,EAAMC,cAAcT,GAAS;AAAA,IAC5BtB,IAAIqB;AAAAA,IACJP,OAAAA;AAAAA,IACAT,UAAUA,IACN,CAAC+B,MAA2C/B,EAAS+B,EAAEO,OAAO7B,KAAK,IACnEe;AAAAA;AAAAA,IAEJvB,SAASkB,IAAgBK,SAAYvB;AAAAA,IACrCC,WAAW4B;AAAAA,IACXtC,UAAAA;AAAAA,IACAY,UAAAA;AAAAA,IACAI,MAAAA;AAAAA,IACAE,WAAW,2BAA2BjB,IAAQ,oCAAoC,mCAAmC,IAAID,IAAW,uCAAuC,EAAE;AAAA,IAC7KO,WAAWA,KAAwByB;AAAAA,IACnCrB,aAAAA;AAAAA;AAAAA;AAAAA,IAGAG,OAAOa,IACH;AAAA,MAAEkB,QAAQ;AAAA,MAAWE,YAAY;AAAA,MAAQ,GAAG3C;AAAAA,IAAAA,IAC5CA;AAAAA,IACJ,iBAAiBmB;AAAAA,IACjB,GAAGG;AAAAA,EAAAA,CACJ,GACAE,EAAWf,CAAU,CACnB,IACHZ,KAASM,MACT2B,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKhB,WAAW,GAAGjB,IAAQ,uBAAuB,oBAAoB;AAAA,EACnEA,GAAAA,KAASiC,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKhB,WAAU;AAAA,KAAiBhB,CAAkB,GAC3DK,KAAa0B,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKhB,WAAU;AAAA,EAAA,GAAYX,KAAaU,GAAO+B,SAAS,MAAMzC,CAAe,CACxF,CAEJ;AAET;"}
|
|
1
|
+
{"version":3,"file":"index51.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';\nimport { useDatePickerA11y, formatDateId, getCellAriaLabel } from './useDatePickerA11y';\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 weekDaysFull = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\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\n// Pure helpers — no component state dependency\nconst getDaysInMonth = (year: number, month: number) => new Date(year, month + 1, 0).getDate();\nconst getFirstDayOfMonth = (year: number, month: number) => new Date(year, month, 1).getDay();\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 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 if (showSingleMonth) {\n setLeftMonth(newDate);\n return;\n }\n if (isLeftCalendar) {\n const [newLeft, newRight] = ensureDateInCorrectOrder(newDate, rightMonth);\n setLeftMonth(newLeft);\n if (newRight !== rightMonth) setRightMonth(newRight);\n } else {\n const [newLeft, newRight] = ensureDateInCorrectOrder(leftMonth, newDate);\n if (newLeft !== leftMonth) setLeftMonth(newLeft);\n setRightMonth(newRight);\n }\n };\n\n const {\n getGridCellProps,\n getLeftContainerProps,\n getRightContainerProps\n } = useDatePickerA11y({\n leftMonth,\n rightMonth,\n showSingleMonth,\n selectedRange,\n onMonthChange: handleMonthChange\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 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 role=\"group\" aria-label=\"Quick date selections\" 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 const monthHeading = new Date(year, month, 1).toLocaleString('en-US', { month: 'long', year: 'numeric' });\n const getGridContainerProps = isLeftCalendar ? getLeftContainerProps : getRightContainerProps;\n const gridInstructionsId = `calendar-instructions-${isLeftCalendar ? 'left' : 'right'}`;\n const gridInstructions = singleDateSelection\n ? 'Press Enter or Space to select a date. Use arrow keys to navigate days, Page Up and Page Down to change months.'\n : 'Press Enter or Space to select a start date, then again to select an end date. Use arrow keys to navigate days, Page Up and Page Down to change months.';\n\n const getCellProps = getGridCellProps({ isLeftCalendar, isDateDisabled, handleDateClick });\n\n // Group flat days array into rows of 7 for ARIA grid row/gridcell structure\n const rows: (Date | null)[][] = [];\n for (let i = 0; i < days.length; i += 7) {\n const row = days.slice(i, i + 7);\n while (row.length < 7) row.push(null);\n rows.push(row);\n }\n\n const today = new Date();\n const isPrevMonthDisabled =\n disablePastDates &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear();\n const isNextMonthDisabled =\n (!shouldAllowFutureDateSelection &&\n month === today.getMonth() &&\n year === today.getFullYear()) ||\n (maxDays !== undefined &&\n (() => {\n const maxDate = new Date(today);\n maxDate.setDate(maxDate.getDate() + maxDays);\n return date.getMonth() === maxDate.getMonth() && date.getFullYear() === maxDate.getFullYear();\n })());\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 disabled={isPrevMonthDisabled}\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 todayCheck = new Date();\n todayCheck.setHours(0, 0, 0, 0);\n if (newDate < todayCheck && newDate.getMonth() !== todayCheck.getMonth()) {\n return; // Don't navigate to past months\n }\n }\n handleMonthChange(newDate, isLeftCalendar);\n }}\n automationId={`${automationId}-previous-month`}\n ariaLabel={showSingleMonth ? 'Previous month' : isLeftCalendar ? 'Previous month of starting date' : 'Previous month of end date'}\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 ariaLabel={showSingleMonth ? 'Month' : isLeftCalendar ? 'Month of starting date' : 'Month of end date'}\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 ariaLabel={showSingleMonth ? 'Year' : isLeftCalendar ? 'Year of starting date' : 'Year of end date'}\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 disabled={isNextMonthDisabled}\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 ariaLabel={showSingleMonth ? 'Next month' : isLeftCalendar ? 'Next month of starting date' : 'Next month of end date'}\n />\n </div>\n\n {/* Calendar grid with ARIA grid/row/gridcell/columnheader roles */}\n <span id={gridInstructionsId} className=\"sr-only\">\n {gridInstructions}\n </span>\n <div {...getGridContainerProps({ ariaLabel: monthHeading, ariaDescribedBy: gridInstructionsId })} className=\"mt-3\">\n {/* Column headers (week days) */}\n <div role=\"row\" className=\"grid grid-cols-7 gap-2\">\n {weekDays.map((day, index) => (\n <abbr\n key={`${day}-${index}`}\n role=\"columnheader\"\n aria-label={weekDaysFull[index]}\n title={weekDaysFull[index]}\n className=\"datepicker-weekdays\"\n >\n {day}\n </abbr>\n ))}\n </div>\n\n {/* Day rows */}\n {rows.map((row, rowIdx) => (\n <div key={rowIdx} role=\"row\" className=\"grid grid-cols-7 gap-2\">\n {row.map((cellDate, colIdx) => {\n if (!cellDate) {\n return (\n <div\n key={`empty-${rowIdx}-${colIdx}`}\n role=\"gridcell\"\n aria-hidden=\"true\"\n className=\"h-10 w-10\"\n />\n );\n }\n\n const cellId = formatDateId(cellDate);\n const isStart = isStartDate(cellDate);\n const isEnd = isEndDate(cellDate);\n const isSameStartEnd = isSameStartAndEndDate(cellDate);\n const inRange = !isStart && !isEnd && isDateInRange(cellDate);\n const todayDate = isToday(cellDate);\n const disabled = isDateDisabled(cellDate);\n\n const { ref: cellRef, ...cellProps } = getCellProps({\n cellId,\n cellDate,\n disabled,\n ariaLabel: getCellAriaLabel(cellDate, isStart, isEnd, isSameStartEnd, singleDateSelection),\n ariaSelected: isStart || isEnd || inRange,\n ariaCurrent: todayDate ? 'date' : undefined,\n ariaDisabled: disabled || undefined\n });\n\n return (\n <div\n key={cellId}\n {...cellProps}\n ref={cellRef as React.Ref<HTMLDivElement>}\n className={`\n relative h-10 w-10 flex items-center justify-center transition-colors rounded-md focus-outline\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-${cellDate.getDate()}`}\n >\n {cellDate.getDate()}\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 </div>\n );\n })}\n </div>\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 ariaLabel=\"Close date picker\"\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)]\" aria-hidden=\"true\"></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\n </div>\n );\n};\n"],"names":["weekDays","weekDaysFull","quickActions","months","value","label","getDaysInMonth","year","month","Date","getDate","getFirstDayOfMonth","getDay","DatePicker","title","showHeader","initialStartDate","initialEndDate","onApply","onClose","shouldAllowFutureDateSelection","maxDays","disablePastDates","singleDateSelection","minYearOption","showQuickActions","showSingleMonth","className","automationId","labels","clear","apply","getDefaultDateRange","startDate","endDate","setHours","getDefaultMonths","today","lastMonth","setDate","setMonth","getMonth","selectedRange","setSelectedRange","useState","defaultMonths","leftMonth","setLeftMonth","rightMonth","setRightMonth","ensureDateInCorrectOrder","leftDate","rightDate","getTime","handleMonthChange","newDate","isLeftCalendar","newLeft","newRight","getGridCellProps","getLeftContainerProps","getRightContainerProps","useDatePickerA11y","onMonthChange","generateCalendarDays","daysInMonth","firstDay","days","i","push","day","date","isSameDay","date1","date2","getFullYear","isDateInRange","compareDate","isToday","isDateDisabled","dateToCheck","maxDate","handleDateClick","clickedDate","currentStart","handleMonthNavigation","increment","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","role","map","Button","key","type","onClick","handleApply","selectedDate","renderCalendar","yearOptions","monthHeading","toLocaleString","getGridContainerProps","gridInstructionsId","gridInstructions","getCellProps","rows","row","slice","isPrevMonthDisabled","isNextMonthDisabled","undefined","Icon","name","rotation","size","disabled","todayCheck","ariaLabel","e","stopPropagation","Dropdown","dropDownOptions","defaultSelectedValue","selectBy","optionsUniqueBy","displaySelected","onOptionClick","selectedOption","findIndex","m","find","y","setFullYear","id","_extends","ariaDescribedBy","index","rowIdx","cellDate","colIdx","cellId","formatDateId","isStart","isEnd","isSameStartEnd","inRange","todayDate","ref","cellRef","cellProps","getCellAriaLabel","ariaSelected","ariaCurrent","ariaDisabled","Fragment"],"mappings":"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"}
|
package/dist/index52.js
CHANGED
|
@@ -1,41 +1,101 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
1
|
+
import t from "react";
|
|
2
|
+
import { Icon as W } from "./index6.js";
|
|
3
|
+
import { useStableId as j } from "./index199.js";
|
|
4
|
+
import { getA11yNameAttributes as q } from "./index78.js";
|
|
5
|
+
import "./index72.js";
|
|
6
|
+
/* empty css */
|
|
7
|
+
function U({
|
|
8
|
+
disabled: c,
|
|
9
|
+
error: a,
|
|
10
|
+
errorMessage: E,
|
|
11
|
+
id: N,
|
|
12
|
+
inputStyle: r,
|
|
13
|
+
label: s,
|
|
14
|
+
leftIcon: l,
|
|
15
|
+
maxLength: n,
|
|
16
|
+
onChange: m,
|
|
17
|
+
onClick: o,
|
|
18
|
+
onKeyDown: $,
|
|
19
|
+
placeholder: b,
|
|
20
|
+
readOnly: d,
|
|
21
|
+
rightIcon: u,
|
|
22
|
+
style: y,
|
|
23
|
+
tag: I,
|
|
24
|
+
type: k = "text",
|
|
25
|
+
value: p,
|
|
26
|
+
className: D = "",
|
|
27
|
+
automationId: g = "",
|
|
28
|
+
ariaLabel: A,
|
|
29
|
+
ariaLabelledBy: C,
|
|
30
|
+
ariaDescribedBy: K,
|
|
31
|
+
ariaHasPopup: R,
|
|
32
|
+
inputProps: _,
|
|
33
|
+
inputRef: x
|
|
34
|
+
}) {
|
|
35
|
+
const v = j(N, "se-input-icon"), F = I || "input", H = q({
|
|
36
|
+
ariaLabel: A,
|
|
37
|
+
ariaLabelledBy: C,
|
|
38
|
+
ariaDescribedBy: K
|
|
39
|
+
}), i = !!d && !!o, h = (e) => {
|
|
40
|
+
if (!e) return null;
|
|
41
|
+
const w = c || e.disabled, f = i || w ? void 0 : e.onClick;
|
|
42
|
+
return /* @__PURE__ */ t.createElement("div", {
|
|
43
|
+
className: `input-with-icon-icon input-with-icon-icon-${e.position} ${e.className || ""} ${w ? "disabled" : ""} ${e.disableHover ? "no-hover" : ""}`,
|
|
44
|
+
style: e.style
|
|
45
|
+
}, /* @__PURE__ */ t.createElement(W, {
|
|
46
|
+
name: e.name,
|
|
47
|
+
onClick: f,
|
|
48
|
+
ariaLabel: f ? e.ariaLabel : void 0
|
|
49
|
+
}));
|
|
50
|
+
}, M = (e) => {
|
|
51
|
+
i && (e.key === "Enter" || e.key === " ") && (e.preventDefault(), o(e)), $?.(e);
|
|
52
|
+
}, S = !!l, T = !!u;
|
|
53
|
+
return /* @__PURE__ */ t.createElement("div", {
|
|
54
|
+
className: `input-with-icon-main-container ${D}`,
|
|
55
|
+
style: y,
|
|
56
|
+
"data-automation-id": g
|
|
57
|
+
}, s && /* @__PURE__ */ t.createElement("label", {
|
|
58
|
+
className: "label-container",
|
|
59
|
+
htmlFor: v
|
|
60
|
+
}, s), /* @__PURE__ */ t.createElement("div", {
|
|
61
|
+
className: `input-with-icon-wrapper ${S ? "has-left-icon" : ""} ${T ? "has-right-icon" : ""}`,
|
|
62
|
+
onClick: i ? (e) => o(e) : void 0,
|
|
63
|
+
style: i ? {
|
|
64
|
+
cursor: "pointer"
|
|
65
|
+
} : void 0
|
|
66
|
+
}, h(l), /* @__PURE__ */ t.createElement(F, {
|
|
67
|
+
ref: x,
|
|
68
|
+
id: v,
|
|
69
|
+
value: p,
|
|
70
|
+
onChange: m ? (e) => m(e.target.value) : void 0,
|
|
71
|
+
// In trigger mode don't attach onClick to the input — the wrapper handles it.
|
|
72
|
+
onClick: i ? void 0 : o,
|
|
73
|
+
onKeyDown: M,
|
|
74
|
+
disabled: c,
|
|
75
|
+
readOnly: d,
|
|
76
|
+
type: k,
|
|
77
|
+
className: `input-with-icon-element ${a ? "input-with-icon-container-error" : "input-with-icon-container-default"} ${c ? "input-with-icon-container-disabled" : ""}`,
|
|
78
|
+
maxLength: n || void 0,
|
|
79
|
+
placeholder: b,
|
|
80
|
+
// In trigger mode: pointer cursor so it matches the wrapper, and no text selection
|
|
81
|
+
// since the value is display-only — selecting "90 days" with a caret is misleading.
|
|
82
|
+
style: i ? {
|
|
83
|
+
cursor: "pointer",
|
|
84
|
+
userSelect: "none",
|
|
85
|
+
...r
|
|
86
|
+
} : r,
|
|
87
|
+
"aria-haspopup": R,
|
|
88
|
+
...H,
|
|
89
|
+
..._
|
|
90
|
+
}), h(u)), (a || n) && /* @__PURE__ */ t.createElement("div", {
|
|
91
|
+
className: `${a ? "error-and-max-word" : "max-word-container"}`
|
|
92
|
+
}, a && /* @__PURE__ */ t.createElement("div", {
|
|
93
|
+
className: "error-message"
|
|
94
|
+
}, E), n && /* @__PURE__ */ t.createElement("div", {
|
|
95
|
+
className: "max-word"
|
|
96
|
+
}, n && p?.length + "/" + n)));
|
|
97
|
+
}
|
|
38
98
|
export {
|
|
39
|
-
|
|
99
|
+
U as InputWithIcon
|
|
40
100
|
};
|
|
41
101
|
//# sourceMappingURL=index52.js.map
|
package/dist/index52.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index52.js","sources":["../src/components/DownloadWidget/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { delay } from 'utils/delay';\n\nimport { Icon } from '../Icon';\n\ntype ItemType = { label: string; id?: number; metadata?: any };\n\ntype DownloadWidgetProps = {\n title: string;\n itemsList: ItemType[];\n handleDownload: (downloadItem?: any) => void;\n backgroundColor?: string;\n titleBackgroundColor?: string;\n};\n\nexport const DownloadWidget = (props: DownloadWidgetProps) => {\n const {\n title = '',\n itemsList = [],\n handleDownload,\n backgroundColor = 'var(--color-white)',\n titleBackgroundColor = 'var(--color-blue-50)'\n } = props;\n\n useEffect(() => {\n if (itemsList?.length > 0) {\n itemsList?.forEach((downloadItem) => {\n delay(2000).then(() => {\n handleDownload(downloadItem);\n });\n });\n }\n }, [itemsList?.length]);\n\n return (\n <div\n className=\"download-widgets-container rounded-t-xl border border-[var(--color-gray-400)] w-[300px] overflow-hidden fixed bottom-0 right-5 z-[1100]\"\n style={{ backgroundColor }}\n >\n <div className=\"p-4 text-base font-medium\" style={{ backgroundColor: titleBackgroundColor }}>\n {title}\n </div>\n {itemsList?.map((item) => (\n <div className=\" download-item flex items-center gap-2 px-4 pt-4 last:pb-4\">\n <span className=\"text-base font-normal flex-1\">{item.label}</span>\n <Icon name=\"checked-circle\" stroke=\"var(--color-green-500)\" size={16} />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["DownloadWidget","props","title","itemsList","handleDownload","backgroundColor","titleBackgroundColor","useEffect","length","forEach","downloadItem","delay","then","React","createElement","className","style","map","item","label","Icon","name","stroke","size"],"mappings":"AAgBaA,OAAAA,KAAAA,aAAAA,SAAAA;AAAAA,SAAAA,SAAAA,SAAAA;AAAAA,SAAAA,QAAAA,SAAAA;AAAAA,MAAAA,IAAiBA,CAACC,MAA+B;AACtD,QAAA;AAAA,IACJC,OAAAA,IAAQ;AAAA,IACRC,WAAAA,IAAY,CAAE;AAAA,IACdC,gBAAAA;AAAAA,IACAC,iBAAAA,IAAkB;AAAA,IAClBC,sBAAAA,IAAuB;AAAA,EACrBL,IAAAA;AAEJM,SAAAA,EAAU,MAAM;AACVJ,IAAAA,GAAWK,SAAS,KACtBL,GAAWM,QAASC,CAAiBA,MAAA;AAC7B,MAAAC,EAAA,GAAI,EAAEC,KAAK,MAAM;AACrBR,QAAAA,EAAeM,CAAY;AAAA,MAAA,CAC5B;AAAA,IAAA,CACF;AAAA,EACH,GACC,CAACP,GAAWK,MAAM,CAAC,GAGpBK,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAU;AAAA,IACVC,OAAO;AAAA,MAAEX,iBAAAA;AAAAA,IAAgB;AAAA,EAAA,GAEzBS,gBAAAA,EAAAA,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAA4BC,OAAO;AAAA,MAAEX,iBAAiBC;AAAAA,IAAqB;AAAA,EAAA,GACvFJ,CACE,GACJC,GAAWc,IAAKC,CACfL,MAAAA,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GACbD,gBAAAA,EAAAA,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,KAAgCG,EAAKC,KAAY,GACjEN,gBAAAA,EAAAC,cAACM,GAAI;AAAA,IAACC,MAAK;AAAA,IAAiBC,QAAO;AAAA,IAAyBC,MAAM;AAAA,EAAA,CAAK,CACpE,CACN,CACE;AAET;"}
|
|
1
|
+
{"version":3,"file":"index52.js","sources":["../src/components/InputWithIcon/index.tsx"],"sourcesContent":["import React from 'react';\nimport { Icon } from '../Icon';\nimport { useStableId } from '../../utils/useStableId';\nimport { getA11yNameAttributes } from '../../utils/a11y';\nimport './styles.scss';\n\nexport interface InputIconProps {\n className?: string;\n disabled?: boolean;\n disableHover?: boolean;\n name: string;\n onClick?: () => void;\n position: 'left' | 'right';\n style?: React.CSSProperties;\n /**\n * Accessible name for the icon when it is interactive (onClick provided).\n * Required for a11y when the icon has its own onClick.\n */\n ariaLabel?: string;\n}\n\nexport interface InputWithIconProps {\n disabled?: boolean;\n error?: boolean;\n errorMessage?: string;\n id?: string;\n inputStyle?: React.CSSProperties;\n label?: string;\n leftIcon?: InputIconProps;\n maxLength?: number | undefined;\n onChange?: (value: string) => void;\n onClick?: (e: React.MouseEvent<HTMLInputElement>) => void;\n onKeyDown?: (e: React.KeyboardEvent<HTMLInputElement>) => void;\n placeholder?: string;\n readOnly?: boolean;\n rightIcon?: InputIconProps;\n style?: React.CSSProperties;\n tag?: string;\n type?: 'text' | 'password' | 'email' | 'number' | 'tel' | 'url' | 'search';\n value: string;\n className?: string;\n automationId?: string;\n /**\n * Accessible name when no visible label exists.\n * Prefer a visible label prop instead where possible.\n */\n ariaLabel?: string;\n /**\n * ID(s) of external visible element(s) that label this input.\n */\n ariaLabelledBy?: string;\n /**\n * ID(s) of element(s) that describe this input (hints, notes, constraints).\n * Announced by screen readers after the label and value, giving extra context.\n */\n ariaDescribedBy?: string;\n /**\n * Set to \"dialog\" when this input opens a date picker or other dialog.\n */\n ariaHasPopup?: 'false' | 'true' | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n /**\n * Additional props spread directly onto the inner <input> element.\n */\n inputProps?: Record<string, any>;\n /**\n * Ref forwarded to the inner <input> element.\n */\n inputRef?: React.Ref<HTMLInputElement>;\n}\n\nexport function InputWithIcon({\n disabled,\n error,\n errorMessage,\n id,\n inputStyle,\n label,\n leftIcon,\n maxLength,\n onChange,\n onClick,\n onKeyDown,\n placeholder,\n readOnly,\n rightIcon,\n style,\n tag,\n type = 'text',\n value,\n className = '',\n automationId = '',\n ariaLabel,\n ariaLabelledBy,\n ariaDescribedBy,\n ariaHasPopup,\n inputProps,\n inputRef\n}: InputWithIconProps) {\n const inputId = useStableId(id, 'se-input-icon');\n const Element = tag || 'input';\n\n const accessibleNameProps = getA11yNameAttributes({ ariaLabel, ariaLabelledBy, ariaDescribedBy });\n\n // Trigger mode: readOnly + onClick means the whole widget acts as one interactive element\n // (e.g. a date picker trigger). ONE tab stop — the input — and the icon is always decorative.\n // The wrapper div becomes the unified mouse click zone so clicking anywhere, including the\n // icon area, fires the action without a second focusable element.\n //\n // Non-trigger mode: normal editable input. If an icon has its own onClick it is an independent\n // action (e.g. show/hide password) and becomes its own accessible button via Icon's useAccessiblePress.\n const isTriggerMode = !!readOnly && !!onClick;\n\n const renderIcon = (iconProps: InputIconProps) => {\n if (!iconProps) return null;\n\n const isIconDisabled = disabled || iconProps.disabled;\n // In trigger mode icon is always decorative — the wrapper is the click zone for the whole widget.\n // In non-trigger mode pass onClick to Icon so it uses useAccessiblePress:\n // role=\"button\", tabIndex=0, Enter/Space, focus-outline. Decorative when no onClick.\n const iconOnClick = isTriggerMode || isIconDisabled ? undefined : iconProps.onClick;\n\n return (\n <div\n className={`input-with-icon-icon input-with-icon-icon-${iconProps.position} ${iconProps.className || ''} ${isIconDisabled ? 'disabled' : ''} ${iconProps.disableHover ? 'no-hover' : ''}`}\n style={iconProps.style}\n >\n <Icon\n name={iconProps.name}\n onClick={iconOnClick}\n ariaLabel={iconOnClick ? iconProps.ariaLabel : undefined}\n />\n </div>\n );\n };\n\n // In trigger mode Enter/Space on the focused input fires the action, same as a button would.\n const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (isTriggerMode && (e.key === 'Enter' || e.key === ' ')) {\n e.preventDefault();\n onClick!(e as any);\n }\n onKeyDown?.(e);\n };\n\n const hasLeftIcon = !!leftIcon;\n const hasRightIcon = !!rightIcon;\n\n return (\n <div className={`input-with-icon-main-container ${className}`} style={style} data-automation-id={automationId}>\n {label && <label className=\"label-container\" htmlFor={inputId}>{label}</label>}\n <div\n className={`input-with-icon-wrapper ${hasLeftIcon ? 'has-left-icon' : ''} ${hasRightIcon ? 'has-right-icon' : ''}`}\n // In trigger mode the wrapper is the unified mouse click zone — clicking anywhere in the\n // widget (including the icon area) fires the action. Don't also put onClick on the input\n // element or it would double-fire when the input itself is clicked.\n onClick={isTriggerMode ? (e) => onClick!(e as any) : undefined}\n style={isTriggerMode ? { cursor: 'pointer' } : undefined}\n >\n {renderIcon(leftIcon!)}\n {React.createElement(Element, {\n ref: inputRef,\n id: inputId,\n value,\n onChange: onChange\n ? (e: React.ChangeEvent<HTMLInputElement>) => onChange(e.target.value)\n : undefined,\n // In trigger mode don't attach onClick to the input — the wrapper handles it.\n onClick: isTriggerMode ? undefined : onClick,\n onKeyDown: handleKeyDown,\n disabled,\n readOnly,\n type,\n className: `input-with-icon-element ${error ? 'input-with-icon-container-error' : 'input-with-icon-container-default'} ${disabled ? 'input-with-icon-container-disabled' : ''}`,\n maxLength: maxLength ? maxLength : undefined,\n placeholder: placeholder,\n // In trigger mode: pointer cursor so it matches the wrapper, and no text selection\n // since the value is display-only — selecting \"90 days\" with a caret is misleading.\n style: isTriggerMode\n ? { cursor: 'pointer', userSelect: 'none', ...inputStyle }\n : inputStyle,\n 'aria-haspopup': ariaHasPopup,\n ...accessibleNameProps,\n ...inputProps\n })}\n {renderIcon(rightIcon!)}\n </div>\n {(error || maxLength) &&\n <div className={`${error ? 'error-and-max-word' : 'max-word-container'}`}>\n {error && <div className=\"error-message\">{errorMessage}</div>}\n {maxLength && <div className=\"max-word\">{maxLength && value?.length + '/' + maxLength}</div>}\n </div>\n }\n </div>\n );\n}\n"],"names":["React__default","Icon","useStableId","getA11yNameAttributes","InputWithIcon","disabled","error","errorMessage","id","inputStyle","label","leftIcon","maxLength","onChange","onClick","onKeyDown","placeholder","readOnly","rightIcon","style","tag","type","value","className","automationId","ariaLabel","ariaLabelledBy","ariaDescribedBy","ariaHasPopup","inputProps","inputRef","inputId","Element","accessibleNameProps","isTriggerMode","renderIcon","iconProps","isIconDisabled","iconOnClick","undefined","React","createElement","position","disableHover","name","handleKeyDown","e","key","preventDefault","hasLeftIcon","hasRightIcon","htmlFor","cursor","ref","target","userSelect","length"],"mappings":"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"}
|
package/dist/index53.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
};
|
|
12
|
-
return
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
import e, { useEffect as d } from "react";
|
|
2
|
+
import { delay as m } from "./index236.js";
|
|
3
|
+
import { Icon as i } from "./index6.js";
|
|
4
|
+
const g = (r) => {
|
|
5
|
+
const {
|
|
6
|
+
title: a = "",
|
|
7
|
+
itemsList: t = [],
|
|
8
|
+
handleDownload: l,
|
|
9
|
+
backgroundColor: n = "var(--color-white)",
|
|
10
|
+
titleBackgroundColor: c = "var(--color-blue-50)"
|
|
11
|
+
} = r;
|
|
12
|
+
return d(() => {
|
|
13
|
+
t?.length > 0 && t?.forEach((o) => {
|
|
14
|
+
m(2e3).then(() => {
|
|
15
|
+
l(o);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
}, [t?.length]), /* @__PURE__ */ e.createElement("div", {
|
|
19
|
+
className: "download-widgets-container rounded-t-xl border border-[var(--color-gray-400)] w-[300px] overflow-hidden fixed bottom-0 right-5 z-[1100]",
|
|
17
20
|
style: {
|
|
18
|
-
|
|
19
|
-
// Moved min-w-[100px] and h-[34px] to Tailwind classes below, so these inline styles are no longer needed.
|
|
21
|
+
backgroundColor: n
|
|
20
22
|
}
|
|
21
|
-
},
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}, /* @__PURE__ */
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
className: " cursor-pointer "
|
|
36
|
-
}, e.label))));
|
|
23
|
+
}, /* @__PURE__ */ e.createElement("div", {
|
|
24
|
+
className: "p-4 text-base font-medium",
|
|
25
|
+
style: {
|
|
26
|
+
backgroundColor: c
|
|
27
|
+
}
|
|
28
|
+
}, a), t?.map((o) => /* @__PURE__ */ e.createElement("div", {
|
|
29
|
+
className: " download-item flex items-center gap-2 px-4 pt-4 last:pb-4"
|
|
30
|
+
}, /* @__PURE__ */ e.createElement("span", {
|
|
31
|
+
className: "text-base font-normal flex-1"
|
|
32
|
+
}, o.label), /* @__PURE__ */ e.createElement(i, {
|
|
33
|
+
name: "checked-circle",
|
|
34
|
+
stroke: "var(--color-green-500)",
|
|
35
|
+
size: 16
|
|
36
|
+
}))));
|
|
37
37
|
};
|
|
38
38
|
export {
|
|
39
|
-
|
|
39
|
+
g as DownloadWidget
|
|
40
40
|
};
|
|
41
41
|
//# sourceMappingURL=index53.js.map
|
package/dist/index53.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index53.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index53.js","sources":["../src/components/DownloadWidget/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\n\nimport { delay } from 'utils/delay';\n\nimport { Icon } from '../Icon';\n\ntype ItemType = { label: string; id?: number; metadata?: any };\n\ntype DownloadWidgetProps = {\n title: string;\n itemsList: ItemType[];\n handleDownload: (downloadItem?: any) => void;\n backgroundColor?: string;\n titleBackgroundColor?: string;\n};\n\nexport const DownloadWidget = (props: DownloadWidgetProps) => {\n const {\n title = '',\n itemsList = [],\n handleDownload,\n backgroundColor = 'var(--color-white)',\n titleBackgroundColor = 'var(--color-blue-50)'\n } = props;\n\n useEffect(() => {\n if (itemsList?.length > 0) {\n itemsList?.forEach((downloadItem) => {\n delay(2000).then(() => {\n handleDownload(downloadItem);\n });\n });\n }\n }, [itemsList?.length]);\n\n return (\n <div\n className=\"download-widgets-container rounded-t-xl border border-[var(--color-gray-400)] w-[300px] overflow-hidden fixed bottom-0 right-5 z-[1100]\"\n style={{ backgroundColor }}\n >\n <div className=\"p-4 text-base font-medium\" style={{ backgroundColor: titleBackgroundColor }}>\n {title}\n </div>\n {itemsList?.map((item) => (\n <div className=\" download-item flex items-center gap-2 px-4 pt-4 last:pb-4\">\n <span className=\"text-base font-normal flex-1\">{item.label}</span>\n <Icon name=\"checked-circle\" stroke=\"var(--color-green-500)\" size={16} />\n </div>\n ))}\n </div>\n );\n};\n"],"names":["React__default","useEffect","delay","Icon","DownloadWidget","props","title","itemsList","handleDownload","backgroundColor","titleBackgroundColor","length","forEach","downloadItem","then","React","createElement","className","style","map","item","label","name","stroke","size"],"mappings":"AAgBO,OAAAA,KAAA,aAAAC,SAAA;AAAA,SAAA,SAAAC,SAAA;AAAA,SAAA,QAAAC,SAAA;AAAA,MAAMC,IAAiBA,CAACC,MAA+B;AAC5D,QAAM;AAAA,IACJC,OAAAA,IAAQ;AAAA,IACRC,WAAAA,IAAY,CAAA;AAAA,IACZC,gBAAAA;AAAAA,IACAC,iBAAAA,IAAkB;AAAA,IAClBC,sBAAAA,IAAuB;AAAA,EAAA,IACrBL;AAEJJ,SAAAA,EAAU,MAAM;AACd,IAAIM,GAAWI,SAAS,KACtBJ,GAAWK,QAASC,CAAAA,MAAiB;AACnCX,MAAAA,EAAM,GAAI,EAAEY,KAAK,MAAM;AACrBN,QAAAA,EAAeK,CAAY;AAAA,MAC7B,CAAC;AAAA,IACH,CAAC;AAAA,EAEL,GAAG,CAACN,GAAWI,MAAM,CAAC,GAGpBI,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAU;AAAA,IACVC,OAAO;AAAA,MAAET,iBAAAA;AAAAA,IAAAA;AAAAA,EAAgB,GAEzBM,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,IAA4BC,OAAO;AAAA,MAAET,iBAAiBC;AAAAA,IAAAA;AAAAA,EAAqB,GACvFJ,CACE,GACJC,GAAWY,IAAKC,CAAAA,MACfL,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKC,WAAU;AAAA,EAAA,GACbF,gBAAAA,EAAAC,cAAA,QAAA;AAAA,IAAMC,WAAU;AAAA,EAAA,GAAgCG,EAAKC,KAAY,GACjEN,gBAAAA,EAAAC,cAACb,GAAI;AAAA,IAACmB,MAAK;AAAA,IAAiBC,QAAO;AAAA,IAAyBC,MAAM;AAAA,EAAA,CAAK,CACpE,CACN,CACE;AAET;"}
|
package/dist/index54.js
CHANGED
|
@@ -1,96 +1,41 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
import a from "react";
|
|
2
|
+
const u = ({
|
|
3
|
+
checkedRadioOption: t,
|
|
4
|
+
optionList: r,
|
|
5
|
+
onChange: l,
|
|
6
|
+
switchWidth: c,
|
|
7
|
+
automationId: i = ""
|
|
8
8
|
}) => {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
height: typeof e.height == "number" ? `${e.height}px` : e.height,
|
|
12
|
-
borderRadius: e.borderRadius ? typeof e.borderRadius == "number" ? `${e.borderRadius}px` : e.borderRadius : void 0,
|
|
13
|
-
margin: e.margin,
|
|
14
|
-
"--shimmer-duration": `${d}s`,
|
|
15
|
-
"--shimmer-base-color": s,
|
|
16
|
-
"--shimmer-highlight-color": m
|
|
17
|
-
}, r = `se-design-shimmer-element se-design-shimmer-${e.type}`;
|
|
18
|
-
return /* @__PURE__ */ t.createElement("div", {
|
|
19
|
-
className: r,
|
|
20
|
-
style: i
|
|
21
|
-
}, e.children && e.children.map((a, p) => /* @__PURE__ */ t.createElement(n, {
|
|
22
|
-
key: p,
|
|
23
|
-
element: a,
|
|
24
|
-
animationDuration: d,
|
|
25
|
-
baseColor: s,
|
|
26
|
-
highlightColor: m
|
|
27
|
-
})));
|
|
28
|
-
}, y = ({
|
|
29
|
-
container: e,
|
|
30
|
-
animationDuration: d,
|
|
31
|
-
baseColor: s,
|
|
32
|
-
highlightColor: m
|
|
33
|
-
}) => {
|
|
34
|
-
const i = {
|
|
35
|
-
display: "flex",
|
|
36
|
-
flexDirection: e.direction || "column",
|
|
37
|
-
gap: typeof e.gap == "number" ? `${e.gap}px` : e.gap,
|
|
38
|
-
padding: e.padding,
|
|
39
|
-
margin: e.margin,
|
|
40
|
-
alignItems: e.alignItems,
|
|
41
|
-
flex: e.flex
|
|
42
|
-
};
|
|
43
|
-
return /* @__PURE__ */ t.createElement("div", {
|
|
44
|
-
className: `se-design-shimmer-container ${e.className || ""}`,
|
|
45
|
-
style: i
|
|
46
|
-
}, e.children.map((r, a) => r.type === "container" ? /* @__PURE__ */ t.createElement(y, {
|
|
47
|
-
key: a,
|
|
48
|
-
container: r,
|
|
49
|
-
animationDuration: d,
|
|
50
|
-
baseColor: s,
|
|
51
|
-
highlightColor: m
|
|
52
|
-
}) : /* @__PURE__ */ t.createElement(n, {
|
|
53
|
-
key: a,
|
|
54
|
-
element: r,
|
|
55
|
-
animationDuration: d,
|
|
56
|
-
baseColor: s,
|
|
57
|
-
highlightColor: m
|
|
58
|
-
})));
|
|
59
|
-
}, l = ({
|
|
60
|
-
structure: e,
|
|
61
|
-
className: d = "",
|
|
62
|
-
animationDuration: s = 3,
|
|
63
|
-
baseColor: m = "var(--color-gray-600)",
|
|
64
|
-
highlightColor: i = "var(--color-gray-500)",
|
|
65
|
-
width: r,
|
|
66
|
-
height: a
|
|
67
|
-
}) => {
|
|
68
|
-
const p = {
|
|
69
|
-
width: r ? typeof r == "number" ? `${r}px` : r : "100%",
|
|
70
|
-
height: a ? typeof a == "number" ? `${a}px` : a : "auto",
|
|
71
|
-
"--shimmer-duration": `${s}s`,
|
|
72
|
-
"--shimmer-base-color": m,
|
|
73
|
-
"--shimmer-highlight-color": i
|
|
9
|
+
const s = (e) => {
|
|
10
|
+
l && l(e);
|
|
74
11
|
};
|
|
75
|
-
return /* @__PURE__ */
|
|
76
|
-
className:
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
})
|
|
85
|
-
key:
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
12
|
+
return /* @__PURE__ */ a.createElement("div", {
|
|
13
|
+
className: "flex rounded-full border border-gray-300 bg-white min-w-[110px] h-[34px]",
|
|
14
|
+
role: "radiogroup",
|
|
15
|
+
"aria-label": "Switch options",
|
|
16
|
+
"data-automation-id": i,
|
|
17
|
+
style: {
|
|
18
|
+
width: c
|
|
19
|
+
// Moved min-w-[100px] and h-[34px] to Tailwind classes below, so these inline styles are no longer needed.
|
|
20
|
+
}
|
|
21
|
+
}, r.map((e) => /* @__PURE__ */ a.createElement("div", {
|
|
22
|
+
key: e.value,
|
|
23
|
+
className: `relative flex-1 flex items-center block py-2 px-4 rounded-[24px] w-full text-center cursor-pointer transition-all duration-200 ${e.value === t ? "bg-[var(--color-blue-100)] text-[var(--color-blue-500)] shadow-sm" : "text-gray-700 hover:text-gray-900"}`,
|
|
24
|
+
onClick: () => s(e.value),
|
|
25
|
+
"data-automation-id": `radio-switch-option-${e.value}`
|
|
26
|
+
}, /* @__PURE__ */ a.createElement("input", {
|
|
27
|
+
type: "radio",
|
|
28
|
+
name: "switch",
|
|
29
|
+
id: `switch-${e.value}`,
|
|
30
|
+
checked: e.value === t,
|
|
31
|
+
className: "sr-only"
|
|
32
|
+
// Hide the input but keep it accessible
|
|
33
|
+
}), /* @__PURE__ */ a.createElement("label", {
|
|
34
|
+
htmlFor: `switch-${e.value}`,
|
|
35
|
+
className: " cursor-pointer "
|
|
36
|
+
}, e.label))));
|
|
91
37
|
};
|
|
92
38
|
export {
|
|
93
|
-
|
|
94
|
-
l as default
|
|
39
|
+
u as RadioSwitch
|
|
95
40
|
};
|
|
96
41
|
//# sourceMappingURL=index54.js.map
|
package/dist/index54.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index54.js","sources":["../src/components/
|
|
1
|
+
{"version":3,"file":"index54.js","sources":["../src/components/RadioSwitch/index.tsx"],"sourcesContent":["import React from 'react';\n\n/**\n * This is Radio Switch, Only one option can be selected at a time.\n * There can be multiple options, but only one can be selected at a time.\n */\nexport interface RadioSwitchOption {\n label: string;\n value: string;\n}\n\nexport interface RadioSwitchProps {\n checkedRadioOption?: string;\n optionList: RadioSwitchOption[];\n onChange?: (value: string) => void;\n switchWidth?: string;\n automationId?: string;\n}\n\nexport const RadioSwitch: React.FC<RadioSwitchProps> = ({ checkedRadioOption, optionList, onChange, switchWidth, automationId = '' }) => {\n const handleChange = (value: string) => {\n if (onChange) {\n onChange(value);\n }\n };\n\n return (\n <div\n className=\"flex rounded-full border border-gray-300 bg-white min-w-[110px] h-[34px]\"\n role=\"radiogroup\"\n aria-label=\"Switch options\"\n data-automation-id={automationId}\n style={{\n width: switchWidth\n // Moved min-w-[100px] and h-[34px] to Tailwind classes below, so these inline styles are no longer needed.\n }}\n >\n {optionList.map((option) => (\n <div\n key={option.value}\n className={`relative flex-1 flex items-center block py-2 px-4 rounded-[24px] w-full text-center cursor-pointer transition-all duration-200 ${\n option.value === checkedRadioOption\n ? 'bg-[var(--color-blue-100)] text-[var(--color-blue-500)] shadow-sm'\n : 'text-gray-700 hover:text-gray-900'\n }`}\n onClick={() => handleChange(option.value)}\n data-automation-id={`radio-switch-option-${option.value}`}\n >\n <input\n type=\"radio\"\n name=\"switch\"\n id={`switch-${option.value}`}\n checked={option.value === checkedRadioOption}\n className=\"sr-only\" // Hide the input but keep it accessible\n />\n <label htmlFor={`switch-${option.value}`} className={' cursor-pointer '}>\n {option.label}\n </label>\n </div>\n ))}\n </div>\n );\n};\n"],"names":["RadioSwitch","checkedRadioOption","optionList","onChange","switchWidth","automationId","handleChange","value","React","createElement","className","role","style","width","map","option","key","onClick","type","name","id","checked","htmlFor","label"],"mappings":";AAmBO,MAAMA,IAA0CA,CAAC;AAAA,EAAEC,oBAAAA;AAAAA,EAAoBC,YAAAA;AAAAA,EAAYC,UAAAA;AAAAA,EAAUC,aAAAA;AAAAA,EAAaC,cAAAA,IAAe;AAAG,MAAM;AACvI,QAAMC,IAAeA,CAACC,MAAkB;AACtC,IAAIJ,KACFA,EAASI,CAAK;AAAA,EAElB;AAEA,SACEC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEC,WAAU;AAAA,IACVC,MAAK;AAAA,IACL,cAAW;AAAA,IACX,sBAAoBN;AAAAA,IACpBO,OAAO;AAAA,MACLC,OAAOT;AAAAA;AAAAA,IAAAA;AAAAA,EAET,GAECF,EAAWY,IAAKC,CAAAA,MACfP,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEO,KAAKD,EAAOR;AAAAA,IACZG,WAAW,kIACTK,EAAOR,UAAUN,IACb,sEACA,mCAAmC;AAAA,IAEzCgB,SAASA,MAAMX,EAAaS,EAAOR,KAAK;AAAA,IACxC,sBAAoB,uBAAuBQ,EAAOR,KAAK;AAAA,EAAA,GAEvDC,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IACES,MAAK;AAAA,IACLC,MAAK;AAAA,IACLC,IAAI,UAAUL,EAAOR,KAAK;AAAA,IAC1Bc,SAASN,EAAOR,UAAUN;AAAAA,IAC1BS,WAAU;AAAA;AAAA,EAAA,CACX,GACDF,gBAAAA,EAAAC,cAAA,SAAA;AAAA,IAAOa,SAAS,UAAUP,EAAOR,KAAK;AAAA,IAAIG,WAAW;AAAA,EAAA,GAClDK,EAAOQ,KACH,CACJ,CACN,CACE;AAET;"}
|