se-design 1.0.59 → 1.0.61-dev
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/colors.css +2 -2
- package/dist/assets/icons/checkbox-disabled-minus.svg +1 -1
- package/dist/assets/icons/checkbox-disabled-tick.svg +1 -1
- package/dist/assets/icons/checkbox-fill.svg +1 -1
- package/dist/assets/icons/checkbox-hover-fill.svg +2 -2
- package/dist/assets/icons/sort-asc.svg +3 -4
- package/dist/assets/icons/sort-desc.svg +2 -3
- package/dist/assets/style.css +1 -1
- package/dist/components/AutoCompleteInput/index.d.ts +37 -7
- package/dist/components/DropdownWithInputTags/index.d.ts +7 -1
- package/dist/components/Header/index.d.ts +1 -0
- package/dist/components/OTPInput/index.d.ts +1 -0
- package/dist/components/PhoneInput/index.d.ts +19 -0
- package/dist/components/RadioGroup/index.d.ts +17 -0
- package/dist/components/SidebarOverlay/index.d.ts +4 -0
- package/dist/components/SkipLinksBar/index.d.ts +11 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/index.js +124 -120
- package/dist/index.js.map +1 -1
- package/dist/index10.js +56 -46
- package/dist/index10.js.map +1 -1
- package/dist/index100.js +2 -2
- package/dist/index100.js.map +1 -1
- package/dist/index101.js +2 -2
- 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 +2 -2
- 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 +48 -18
- package/dist/index11.js.map +1 -1
- package/dist/index110.js +1 -1
- package/dist/index110.js.map +1 -1
- package/dist/index111.js +1 -1
- package/dist/index111.js.map +1 -1
- package/dist/index112.js +2 -2
- package/dist/index112.js.map +1 -1
- package/dist/index113.js +1 -1
- package/dist/index113.js.map +1 -1
- package/dist/index114.js +1 -1
- package/dist/index114.js.map +1 -1
- package/dist/index115.js +2 -2
- package/dist/index115.js.map +1 -1
- package/dist/index116.js +2 -2
- package/dist/index116.js.map +1 -1
- package/dist/index117.js +2 -2
- 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 +20 -11
- package/dist/index12.js.map +1 -1
- package/dist/index120.js +1 -1
- package/dist/index120.js.map +1 -1
- package/dist/index121.js +1 -1
- package/dist/index121.js.map +1 -1
- package/dist/index122.js +1 -1
- package/dist/index122.js.map +1 -1
- package/dist/index123.js +1 -1
- package/dist/index123.js.map +1 -1
- package/dist/index124.js +1 -1
- package/dist/index124.js.map +1 -1
- package/dist/index125.js +1 -1
- package/dist/index125.js.map +1 -1
- package/dist/index126.js +2 -2
- package/dist/index126.js.map +1 -1
- package/dist/index127.js +1 -1
- package/dist/index127.js.map +1 -1
- package/dist/index128.js +2 -2
- package/dist/index128.js.map +1 -1
- package/dist/index129.js +1 -1
- package/dist/index129.js.map +1 -1
- package/dist/index13.js +15 -9
- package/dist/index13.js.map +1 -1
- package/dist/index130.js +1 -1
- package/dist/index130.js.map +1 -1
- package/dist/index131.js +1 -1
- 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 +2 -2
- package/dist/index135.js.map +1 -1
- package/dist/index136.js +2 -2
- package/dist/index136.js.map +1 -1
- package/dist/index137.js +2 -2
- package/dist/index137.js.map +1 -1
- package/dist/index138.js +2 -2
- package/dist/index138.js.map +1 -1
- package/dist/index139.js +2 -2
- package/dist/index139.js.map +1 -1
- package/dist/index14.js +10 -202
- package/dist/index14.js.map +1 -1
- package/dist/index140.js +2 -2
- package/dist/index140.js.map +1 -1
- package/dist/index141.js +1 -1
- package/dist/index141.js.map +1 -1
- package/dist/index142.js +1 -1
- package/dist/index142.js.map +1 -1
- package/dist/index143.js +1 -1
- package/dist/index143.js.map +1 -1
- package/dist/index144.js +1 -1
- package/dist/index144.js.map +1 -1
- package/dist/index145.js +1 -1
- package/dist/index145.js.map +1 -1
- package/dist/index146.js +1 -1
- package/dist/index146.js.map +1 -1
- package/dist/index147.js +1 -1
- 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 +216 -59
- package/dist/index15.js.map +1 -1
- package/dist/index150.js +1 -1
- package/dist/index150.js.map +1 -1
- package/dist/index151.js +1 -1
- package/dist/index151.js.map +1 -1
- package/dist/index152.js +1 -1
- package/dist/index152.js.map +1 -1
- package/dist/index153.js +1 -1
- package/dist/index153.js.map +1 -1
- package/dist/index154.js +1 -1
- 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 +60 -84
- 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 +2 -2
- package/dist/index163.js.map +1 -1
- package/dist/index164.js +1 -1
- package/dist/index164.js.map +1 -1
- package/dist/index165.js +2 -2
- package/dist/index165.js.map +1 -1
- package/dist/index166.js +1 -1
- package/dist/index166.js.map +1 -1
- package/dist/index167.js +2 -2
- package/dist/index167.js.map +1 -1
- package/dist/index168.js +1 -1
- package/dist/index168.js.map +1 -1
- package/dist/index169.js +2 -2
- package/dist/index169.js.map +1 -1
- package/dist/index17.js +80 -274
- 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 +1 -1
- 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 +2 -2
- package/dist/index179.js.map +1 -1
- package/dist/index18.js +281 -11
- package/dist/index18.js.map +1 -1
- package/dist/index180.js +2 -149
- package/dist/index180.js.map +1 -1
- package/dist/index181.js +2 -6
- package/dist/index181.js.map +1 -1
- package/dist/index182.js +149 -5
- package/dist/index182.js.map +1 -1
- package/dist/index183.js +12 -0
- package/dist/index183.js.map +1 -0
- package/dist/index184.js +9 -0
- package/dist/index184.js.map +1 -0
- package/dist/index185.js +4 -23
- package/dist/index185.js.map +1 -1
- package/dist/index188.js +27 -0
- package/dist/index188.js.map +1 -0
- package/dist/index189.js +60 -21
- package/dist/index189.js.map +1 -1
- package/dist/index19.js +12 -31
- package/dist/index19.js.map +1 -1
- package/dist/index191.js +87 -0
- package/dist/index191.js.map +1 -0
- package/dist/index193.js +26 -0
- package/dist/index193.js.map +1 -0
- package/dist/index20.js +32 -56
- package/dist/index20.js.map +1 -1
- package/dist/{index197.js → index201.js} +1 -1
- package/dist/{index197.js.map → index201.js.map} +1 -1
- package/dist/{index205.js → index209.js} +1 -1
- package/dist/{index205.js.map → index209.js.map} +1 -1
- package/dist/index21.js +53 -75
- package/dist/index21.js.map +1 -1
- package/dist/{index207.js → index211.js} +1 -1
- package/dist/{index207.js.map → index211.js.map} +1 -1
- package/dist/{index208.js → index212.js} +2 -2
- package/dist/{index208.js.map → index212.js.map} +1 -1
- package/dist/index22.js +77 -21
- package/dist/index22.js.map +1 -1
- package/dist/index222.js +3 -9
- package/dist/index222.js.map +1 -1
- package/dist/index224.js +56 -167
- package/dist/index224.js.map +1 -1
- package/dist/index225.js +54 -11
- package/dist/index225.js.map +1 -1
- package/dist/index227.js +18 -5
- package/dist/index227.js.map +1 -1
- package/dist/index228.js +9 -5
- package/dist/index228.js.map +1 -1
- package/dist/index229.js +8 -36
- package/dist/index229.js.map +1 -1
- package/dist/index23.js +19 -190
- package/dist/index23.js.map +1 -1
- package/dist/index230.js +5 -2
- package/dist/index230.js.map +1 -1
- package/dist/index231.js +170 -8
- package/dist/index231.js.map +1 -1
- package/dist/index232.js +11 -327
- package/dist/index232.js.map +1 -1
- package/dist/index233.js +5 -49
- package/dist/index233.js.map +1 -1
- package/dist/index234.js +6 -2
- package/dist/index234.js.map +1 -1
- package/dist/index235.js +35 -73
- package/dist/index235.js.map +1 -1
- package/dist/index236.js +2 -93
- package/dist/index236.js.map +1 -1
- package/dist/index237.js +5 -49
- package/dist/index237.js.map +1 -1
- package/dist/index238.js +326 -7
- package/dist/index238.js.map +1 -1
- package/dist/index239.js +49 -4
- package/dist/index239.js.map +1 -1
- package/dist/index24.js +217 -44
- package/dist/index24.js.map +1 -1
- package/dist/index240.js +2 -52
- package/dist/index240.js.map +1 -1
- package/dist/index241.js +76 -2
- package/dist/index241.js.map +1 -1
- package/dist/index242.js +93 -2
- package/dist/index242.js.map +1 -1
- package/dist/index243.js +55 -0
- package/dist/index243.js.map +1 -0
- package/dist/index244.js +11 -0
- package/dist/index244.js.map +1 -0
- package/dist/index245.js +8 -0
- package/dist/index245.js.map +1 -0
- package/dist/index246.js +55 -0
- package/dist/index246.js.map +1 -0
- package/dist/index247.js +5 -0
- package/dist/index247.js.map +1 -0
- package/dist/index248.js +5 -0
- package/dist/index248.js.map +1 -0
- package/dist/index25.js +48 -18
- package/dist/index25.js.map +1 -1
- package/dist/index26.js +16 -80
- package/dist/index26.js.map +1 -1
- package/dist/index27.js +82 -79
- package/dist/index27.js.map +1 -1
- package/dist/index28.js +80 -130
- package/dist/index28.js.map +1 -1
- package/dist/index29.js +131 -55
- package/dist/index29.js.map +1 -1
- package/dist/index3.js +2 -2
- package/dist/index30.js +53 -97
- package/dist/index30.js.map +1 -1
- package/dist/index31.js +99 -61
- package/dist/index31.js.map +1 -1
- package/dist/index32.js +59 -32
- package/dist/index32.js.map +1 -1
- package/dist/index33.js +40 -71
- package/dist/index33.js.map +1 -1
- package/dist/index34.js +68 -41
- package/dist/index34.js.map +1 -1
- package/dist/index35.js +45 -57
- package/dist/index35.js.map +1 -1
- package/dist/index36.js +54 -230
- package/dist/index36.js.map +1 -1
- package/dist/index37.js +281 -70
- package/dist/index37.js.map +1 -1
- package/dist/index38.js +68 -80
- package/dist/index38.js.map +1 -1
- package/dist/index39.js +82 -32
- package/dist/index39.js.map +1 -1
- package/dist/index40.js +26 -44
- package/dist/index40.js.map +1 -1
- package/dist/index41.js +45 -67
- package/dist/index41.js.map +1 -1
- package/dist/index42.js +65 -49
- package/dist/index42.js.map +1 -1
- package/dist/index43.js +49 -89
- package/dist/index43.js.map +1 -1
- package/dist/index44.js +141 -93
- package/dist/index44.js.map +1 -1
- package/dist/index45.js +189 -35
- package/dist/index45.js.map +1 -1
- package/dist/index46.js +34 -29
- package/dist/index46.js.map +1 -1
- package/dist/index47.js +31 -147
- package/dist/index47.js.map +1 -1
- package/dist/index48.js +138 -45
- package/dist/index48.js.map +1 -1
- package/dist/index49.js +52 -373
- package/dist/index49.js.map +1 -1
- package/dist/index5.js +116 -115
- package/dist/index5.js.map +1 -1
- package/dist/index50.js +375 -63
- package/dist/index50.js.map +1 -1
- package/dist/index51.js +65 -38
- package/dist/index51.js.map +1 -1
- package/dist/index52.js +35 -35
- package/dist/index52.js.map +1 -1
- package/dist/index53.js +35 -82
- package/dist/index53.js.map +1 -1
- package/dist/index54.js +81 -159
- package/dist/index54.js.map +1 -1
- package/dist/index55.js +157 -135
- package/dist/index55.js.map +1 -1
- package/dist/index56.js +149 -29
- package/dist/index56.js.map +1 -1
- package/dist/index57.js +29 -86
- package/dist/index57.js.map +1 -1
- package/dist/index58.js +80 -113
- package/dist/index58.js.map +1 -1
- package/dist/index59.js +114 -56
- package/dist/index59.js.map +1 -1
- package/dist/index6.js +32 -51
- package/dist/index6.js.map +1 -1
- package/dist/index60.js +56 -147
- package/dist/index60.js.map +1 -1
- package/dist/index61.js +146 -312
- package/dist/index61.js.map +1 -1
- package/dist/index62.js +317 -44
- package/dist/index62.js.map +1 -1
- package/dist/index63.js +43 -139
- package/dist/index63.js.map +1 -1
- package/dist/index64.js +140 -12
- package/dist/index64.js.map +1 -1
- package/dist/index65.js +10 -42
- package/dist/index65.js.map +1 -1
- package/dist/index66.js +44 -5
- package/dist/index66.js.map +1 -1
- package/dist/index67.js +18 -8
- package/dist/index67.js.map +1 -1
- package/dist/index68.js +8 -0
- package/dist/index68.js.map +1 -0
- package/dist/index69.js +9 -2
- package/dist/index69.js.map +1 -1
- package/dist/index7.js +47 -81
- package/dist/index7.js.map +1 -1
- package/dist/index71.js +1 -1
- package/dist/index71.js.map +1 -1
- package/dist/index72.js +1 -1
- package/dist/index72.js.map +1 -1
- package/dist/index73.js +2 -2
- package/dist/index73.js.map +1 -1
- package/dist/index74.js +1 -1
- package/dist/index74.js.map +1 -1
- package/dist/index75.js +1 -1
- package/dist/index75.js.map +1 -1
- package/dist/index76.js +1 -1
- package/dist/index76.js.map +1 -1
- package/dist/index77.js +1 -1
- package/dist/index77.js.map +1 -1
- package/dist/index78.js +1 -1
- package/dist/index78.js.map +1 -1
- package/dist/index79.js +1 -1
- package/dist/index79.js.map +1 -1
- package/dist/index8.js +86 -26
- package/dist/index8.js.map +1 -1
- package/dist/index80.js +1 -1
- package/dist/index80.js.map +1 -1
- package/dist/index81.js +1 -1
- package/dist/index81.js.map +1 -1
- package/dist/index82.js +1 -1
- package/dist/index82.js.map +1 -1
- package/dist/index83.js +1 -1
- 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 +23 -59
- 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 +2 -2
- package/dist/index95.js.map +1 -1
- package/dist/index96.js +2 -2
- package/dist/index96.js.map +1 -1
- package/dist/index97.js +2 -2
- package/dist/index97.js.map +1 -1
- package/dist/index98.js +2 -2
- package/dist/index98.js.map +1 -1
- package/dist/index99.js +1 -1
- package/dist/index99.js.map +1 -1
- package/package.json +3 -2
- package/dist/index186.js +0 -65
- package/dist/index186.js.map +0 -1
- package/dist/index218.js +0 -7
- package/dist/index218.js.map +0 -1
- package/dist/index220.js +0 -62
- package/dist/index220.js.map +0 -1
- package/dist/index221.js +0 -13
- package/dist/index221.js.map +0 -1
- package/dist/index223.js +0 -8
- package/dist/index223.js.map +0 -1
- package/dist/index70.js +0 -5
- package/dist/index70.js.map +0 -1
package/dist/index47.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index47.js","sources":["../src/components/NavigationBar/index.tsx"],"sourcesContent":["import React, { FC, ReactNode, useState,useMemo, useEffect } from 'react';\nimport { Popover, MenuList, Icon } from 'src/components';\nimport { TabButton } from './TabButton';\nimport { useTabsA11y } from './useTabsA11y';\nimport { getA11yNameAttributes } from '../../utils/a11y';\n\nexport interface NavigationItemProps {\n label: string;\n id: string;\n disabled?: boolean;\n panelHasFocusableContent?: boolean; // If false, the panel itself will be tabbable when active\n renderNavigationItemContent?: (navigationItem: NavigationItemProps) => ReactNode;\n}\n\ninterface NavigationBarProps {\n defaultActiveNavigationItem?: string;\n navigationItems: NavigationItemProps[];\n isCompactView?: boolean;\n onNavigationItemChange?: (navigationItemId: string) => void;\n keyboardActivationMode?: 'automatic' | 'manual'; //manual: arrow keys move focus only; Enter/Space activates the focused tab\n orientation?: 'horizontal' | 'vertical'; // required for aria and arrow shortcuts\n ariaLabel?: string; // Used when ariaLabelledBy is not provided\n ariaLabelledBy?: string; // ID of element that labels this tablist (preferred over ariaLabel when visible label exists)\n idBase?: string; //optional ID namespace to avoid collisions\n}\n\nexport const NavigationBar: FC<NavigationBarProps> = ({\n defaultActiveNavigationItem,\n navigationItems,\n onNavigationItemChange,\n isCompactView = false,\n keyboardActivationMode = 'automatic',\n orientation = 'horizontal',\n ariaLabel = 'Sections',\n ariaLabelledBy,\n idBase = ''\n}) => {\n const defaultNavigationItemId = defaultActiveNavigationItem || navigationItems[0]?.id || '';\n const [activeNavigationItem, setActiveNavigationItem] = useState<string>(defaultNavigationItemId);\n\n // Exclude disabled tabs from roving focus (keeps native disabled buttons, avoids focus-on-disabled).\n const itemIds = useMemo(\n () => navigationItems.filter((item) => !item.disabled).map((item) => item.id),\n [navigationItems]\n );\n\n // Hook for managing Tabs (NavigationBar) focus and ARIA props.\n const { getTabProps, setFocusedTabId, handleKeyDown, getPanelId, getTabId } = useTabsA11y({\n itemIds,\n orientation,\n activeNavigationItem,\n idBase\n });\n\n useEffect(() => {\n if (defaultActiveNavigationItem) {\n setActiveNavigationItem(defaultActiveNavigationItem);\n setFocusedTabId(defaultActiveNavigationItem);\n }\n }, [defaultActiveNavigationItem, setFocusedTabId]);\n\n const handleNavigationItemClick = (navigationItem: NavigationItemProps) => {\n if (navigationItem?.disabled) return;\n setActiveNavigationItem(navigationItem?.id);\n onNavigationItemChange?.(navigationItem?.id);\n };\n\n const activateTabById = (id: string) => {\n const item = navigationItems.find((i) => i.id === id);\n if (!item || item.disabled) return;\n setActiveNavigationItem(id);\n onNavigationItemChange?.(id);\n };\n\n const renderPanels = useMemo(() => {\n return navigationItems.map((navigationItem) => {\n const isSelected = navigationItem.id === activeNavigationItem;\n const panelTabIndex = isSelected && navigationItem.panelHasFocusableContent === false ? 0 : undefined;\n\n return (\n <div\n key={navigationItem.id}\n id={getPanelId(navigationItem.id)}\n role=\"tabpanel\"\n aria-labelledby={getTabId(navigationItem.id)}\n hidden={!isSelected}\n tabIndex={panelTabIndex}\n className={`navigation-item-content ${isSelected ? 'block' : 'hidden'}`}\n >\n {isSelected && navigationItem?.renderNavigationItemContent?.(navigationItem)}\n </div>\n );\n });\n }, [navigationItems, activeNavigationItem, getPanelId, getTabId]);\n\n const activeNavigationItemData = navigationItems.find((item) => item.id === activeNavigationItem);\n\n return (\n <>\n <div\n className=\"se-design-navigation-bar flex items-center gap-4\"\n data-automation-id=\"navigation-bar-container\"\n role=\"tablist\"\n aria-orientation={orientation}\n {...getA11yNameAttributes({\n ariaLabel,\n ariaLabelledBy\n })}\n >\n {!isCompactView && navigationItems.map((navigationItem) => {\n const isSelected = activeNavigationItem === navigationItem.id;\n const isDisabled = navigationItem.disabled;\n\n const tabProps = getTabProps(navigationItem.id);\n\n return (\n <TabButton\n key={navigationItem.id}\n ref={tabProps.ref as (el: HTMLButtonElement | null) => void}\n tabIndex={tabProps.tabIndex}\n id={tabProps.id}\n label={navigationItem.label}\n isSelected={isSelected}\n isDisabled={isDisabled}\n panelId={tabProps['aria-controls']}\n onClick={() => handleNavigationItemClick(navigationItem)}\n onFocus={() => {\n setFocusedTabId(navigationItem.id);\n if (keyboardActivationMode === 'automatic' && !isDisabled) {\n activateTabById(navigationItem.id);\n }\n }}\n onKeyDown={handleKeyDown}\n className={`text-base ${\n isDisabled\n ? 'text-[var(--color-gray-400)] cursor-not-allowed'\n : isSelected\n ? 'text-[var(--color-gray-900)] font-bold hover:cursor-pointer'\n : 'text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer'\n } focus-outline rounded-[6px]`}\n automationId={`navigation-item-${navigationItem.id}`}\n />\n );\n })}\n {isCompactView && (\n <Popover\n className=\"navigation-bar-popover\"\n position=\"bottom-left\"\n noBorder\n renderPopoverSrcElement={({ displayPopover }) => (\n <div className=\"navigation-bar-popover-src-element flex items-center gap-1 cursor-pointer\">\n <label className=\"font-semibold cursor-pointer\">{activeNavigationItemData?.label}</label>\n <Icon name=\"chevron\" rotation={displayPopover ? '180' : '0'} />\n </div>\n )}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList items={navigationItems.map((item) => ({\n id: item.id,\n label: item.label,\n onClick: () => {\n handleNavigationItemClick(item);\n closePopoverCb();\n }\n }))}\n />\n )}\n />\n )}\n </div>\n\n <div className=\"se-design-navigation-bar-content\">\n {renderPanels}\n </div>\n </>\n );\n};\n"],"names":["NavigationBar","defaultActiveNavigationItem","navigationItems","onNavigationItemChange","isCompactView","keyboardActivationMode","orientation","ariaLabel","ariaLabelledBy","idBase","defaultNavigationItemId","id","activeNavigationItem","setActiveNavigationItem","useState","itemIds","useMemo","filter","item","disabled","map","getTabProps","setFocusedTabId","handleKeyDown","getPanelId","getTabId","useTabsA11y","useEffect","handleNavigationItemClick","navigationItem","activateTabById","find","i","renderPanels","isSelected","panelTabIndex","panelHasFocusableContent","undefined","React","createElement","key","role","hidden","tabIndex","className","renderNavigationItemContent","activeNavigationItemData","Fragment","_extends","getA11yNameAttributes","isDisabled","tabProps","TabButton","ref","label","panelId","onClick","onFocus","onKeyDown","automationId","Popover","position","noBorder","renderPopoverSrcElement","displayPopover","Icon","name","rotation","renderPopoverContents","closePopoverCb","MenuList","items"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index47.js","sources":["../src/components/Avatar/index.tsx"],"sourcesContent":["import React, { FC } from 'react';\n\nexport type AvatarProps = {\n size?: number;\n text: string;\n textColor?: string;\n backgroundColor?: string;\n className?: string;\n onClick?: () => void;\n automationId?: string;\n};\n\nconst AVATAR_COLORS = [\n 'var(--color-green-500)',\n 'var(--color-blue-500)',\n 'var(--color-purple-600)',\n 'var(--color-red-400)',\n 'var(--color-yellow-600)'\n];\n\nexport const Avatar: FC<AvatarProps> = ({\n size = 40,\n text,\n textColor = 'var(--color-white)',\n backgroundColor = '',\n className = '',\n onClick,\n automationId = ''\n}) => {\n const initials = text\n ?.split(' ')\n ?.map((word) => word[0])\n ?.join('')\n ?.toUpperCase()\n ?.slice(0, 2);\n\n const getBackgroundColor = () => {\n if (backgroundColor) {\n return backgroundColor;\n }\n return AVATAR_COLORS[Math.floor(Math.random() * AVATAR_COLORS.length)];\n };\n\n return (\n <div\n className={`\n se-design-avatar \n flex items-center justify-center \n rounded-full font-medium\n ${onClick ? 'cursor-pointer' : 'cursor-default'}\n ${className}\n `}\n onClick={onClick}\n data-automation-id={automationId}\n style={{\n width: size,\n height: size,\n minWidth: 20,\n minHeight: 20,\n backgroundColor: getBackgroundColor(),\n color: textColor,\n fontSize: `${size * 0.4}px`\n }}\n >\n {initials}\n </div>\n );\n};\n"],"names":["React__default","AVATAR_COLORS","Avatar","size","text","textColor","backgroundColor","className","onClick","automationId","initials","split","map","word","join","toUpperCase","slice","getBackgroundColor","Math","floor","random","length","React","createElement","style","width","height","minWidth","minHeight","color","fontSize"],"mappings":"AAYA,OAAAA,OAAA;AAAA,MAAMC,IAAgB,CACpB,0BACA,yBACA,2BACA,wBACA,yBAAyB,GAGdC,IAA0BA,CAAC;AAAA,EACtCC,MAAAA,IAAO;AAAA,EACPC,MAAAA;AAAAA,EACAC,WAAAA,IAAY;AAAA,EACZC,iBAAAA,IAAkB;AAAA,EAClBC,WAAAA,IAAY;AAAA,EACZC,SAAAA;AAAAA,EACAC,cAAAA,IAAe;AACjB,MAAM;AACJ,QAAMC,IAAWN,GACbO,MAAM,GAAG,GACTC,IAAKC,OAASA,EAAK,CAAC,CAAC,GACrBC,KAAK,EAAE,GACPC,eACAC,MAAM,GAAG,CAAC,GAERC,IAAqBA,MACrBX,KAGGL,EAAciB,KAAKC,MAAMD,KAAKE,WAAWnB,EAAcoB,MAAM,CAAC;AAGvE,SACEC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IACEhB,WAAW;AAAA;AAAA;AAAA;AAAA,UAIPC,IAAU,mBAAmB,gBAAgB;AAAA,UAC7CD,CAAS;AAAA;AAAA,IAEbC,SAAAA;AAAAA,IACA,sBAAoBC;AAAAA,IACpBe,OAAO;AAAA,MACLC,OAAOtB;AAAAA,MACPuB,QAAQvB;AAAAA,MACRwB,UAAU;AAAA,MACVC,WAAW;AAAA,MACXtB,iBAAiBW,EAAAA;AAAAA,MACjBY,OAAOxB;AAAAA,MACPyB,UAAU,GAAG3B,IAAO,GAAG;AAAA,IAAA;AAAA,EACzB,GAECO,CACE;AAET;"}
|
package/dist/index48.js
CHANGED
|
@@ -1,59 +1,152 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import o, { useState as F, useMemo as y, useEffect as g } from "react";
|
|
2
|
+
import "./index3.js";
|
|
3
|
+
import { Icon as w } from "./index5.js";
|
|
4
|
+
import { getA11yNameAttributes as O } from "./index69.js";
|
|
5
|
+
import { MenuList as _ } from "./index17.js";
|
|
6
|
+
/* empty css */
|
|
7
|
+
/* empty css */
|
|
8
|
+
import "react-dom";
|
|
9
|
+
import "./index16.js";
|
|
10
|
+
import { Popover as $ } from "./index18.js";
|
|
11
|
+
/* empty css */
|
|
12
|
+
/* empty css */
|
|
13
|
+
/* empty css */
|
|
14
|
+
/* empty css */
|
|
15
|
+
/* empty css */
|
|
16
|
+
/* empty css */
|
|
17
|
+
/* empty css */
|
|
18
|
+
/* empty css */
|
|
19
|
+
/* empty css */
|
|
20
|
+
/* empty css */
|
|
21
|
+
/* empty css */
|
|
22
|
+
/* empty css */
|
|
23
|
+
/* empty css */
|
|
24
|
+
/* empty css */
|
|
25
|
+
/* empty css */
|
|
26
|
+
/* empty css */
|
|
27
|
+
/* empty css */
|
|
28
|
+
import { TabButton as j } from "./index211.js";
|
|
29
|
+
import { useTabsA11y as K } from "./index212.js";
|
|
30
|
+
/* empty css */
|
|
31
|
+
/* empty css */
|
|
32
|
+
/* empty css */
|
|
33
|
+
/* empty css */
|
|
34
|
+
/* empty css */
|
|
35
|
+
/* empty css */
|
|
36
|
+
import "./index59.js";
|
|
37
|
+
/* empty css */
|
|
38
|
+
/* empty css */
|
|
39
|
+
import "./index63.js";
|
|
40
|
+
/* empty css */
|
|
41
|
+
function m() {
|
|
42
|
+
return m = Object.assign ? Object.assign.bind() : function(a) {
|
|
43
|
+
for (var t = 1; t < arguments.length; t++) {
|
|
44
|
+
var n = arguments[t];
|
|
45
|
+
for (var l in n) ({}).hasOwnProperty.call(n, l) && (a[l] = n[l]);
|
|
46
|
+
}
|
|
47
|
+
return a;
|
|
48
|
+
}, m.apply(null, arguments);
|
|
49
|
+
}
|
|
50
|
+
const ke = ({
|
|
51
|
+
defaultActiveNavigationItem: a,
|
|
52
|
+
navigationItems: t,
|
|
53
|
+
onNavigationItemChange: n,
|
|
54
|
+
isCompactView: l = !1,
|
|
55
|
+
keyboardActivationMode: E = "automatic",
|
|
56
|
+
orientation: b = "horizontal",
|
|
57
|
+
ariaLabel: N = "Sections",
|
|
58
|
+
ariaLabelledBy: h,
|
|
59
|
+
idBase: P = ""
|
|
10
60
|
}) => {
|
|
11
|
-
const
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
61
|
+
const T = a || t[0]?.id || "", [s, c] = F(T), k = y(() => t.filter((e) => !e.disabled).map((e) => e.id), [t]), {
|
|
62
|
+
getTabProps: v,
|
|
63
|
+
setFocusedTabId: p,
|
|
64
|
+
handleKeyDown: S,
|
|
65
|
+
getPanelId: u,
|
|
66
|
+
getTabId: f
|
|
67
|
+
} = K({
|
|
68
|
+
itemIds: k,
|
|
69
|
+
orientation: b,
|
|
70
|
+
activeNavigationItem: s,
|
|
71
|
+
idBase: P
|
|
72
|
+
});
|
|
73
|
+
g(() => {
|
|
74
|
+
a && (c(a), p(a));
|
|
75
|
+
}, [a, p]);
|
|
76
|
+
const x = (e) => {
|
|
77
|
+
e?.disabled || (c(e?.id), n?.(e?.id));
|
|
78
|
+
}, B = (e) => {
|
|
79
|
+
const r = t.find((i) => i.id === e);
|
|
80
|
+
!r || r.disabled || (c(e), n?.(e));
|
|
81
|
+
}, C = y(() => t.map((e) => {
|
|
82
|
+
const r = e.id === s, i = r && e.panelHasFocusableContent === !1 ? 0 : void 0;
|
|
83
|
+
return /* @__PURE__ */ o.createElement("div", {
|
|
84
|
+
key: e.id,
|
|
85
|
+
id: u(e.id),
|
|
86
|
+
role: "tabpanel",
|
|
87
|
+
"aria-labelledby": f(e.id),
|
|
88
|
+
hidden: !r,
|
|
89
|
+
tabIndex: i,
|
|
90
|
+
className: `navigation-item-content ${r ? "block" : "hidden"}`
|
|
91
|
+
}, r && e?.renderNavigationItemContent?.(e));
|
|
92
|
+
}), [t, s, u, f]), D = t.find((e) => e.id === s);
|
|
93
|
+
return /* @__PURE__ */ o.createElement(o.Fragment, null, /* @__PURE__ */ o.createElement("div", m({
|
|
94
|
+
className: "se-design-navigation-bar flex items-center gap-4",
|
|
95
|
+
"data-automation-id": "navigation-bar-container",
|
|
96
|
+
role: "tablist",
|
|
97
|
+
"aria-orientation": b
|
|
98
|
+
}, O({
|
|
99
|
+
ariaLabel: N,
|
|
100
|
+
ariaLabelledBy: h
|
|
101
|
+
})), !l && t.map((e) => {
|
|
102
|
+
const r = s === e.id, i = e.disabled, d = v(e.id);
|
|
103
|
+
return /* @__PURE__ */ o.createElement(j, {
|
|
104
|
+
key: e.id,
|
|
105
|
+
ref: d.ref,
|
|
106
|
+
tabIndex: d.tabIndex,
|
|
107
|
+
id: d.id,
|
|
108
|
+
label: e.label,
|
|
109
|
+
isSelected: r,
|
|
110
|
+
isDisabled: i,
|
|
111
|
+
panelId: d["aria-controls"],
|
|
112
|
+
onClick: () => x(e),
|
|
113
|
+
onFocus: () => {
|
|
114
|
+
p(e.id), E === "automatic" && !i && B(e.id);
|
|
115
|
+
},
|
|
116
|
+
onKeyDown: S,
|
|
117
|
+
className: `text-base ${i ? "text-[var(--color-gray-400)] cursor-not-allowed" : r ? "text-[var(--color-gray-900)] font-bold hover:cursor-pointer" : "text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer"} focus-outline rounded-[6px]`,
|
|
118
|
+
automationId: `navigation-item-${e.id}`
|
|
119
|
+
});
|
|
120
|
+
}), l && /* @__PURE__ */ o.createElement($, {
|
|
121
|
+
className: "navigation-bar-popover",
|
|
21
122
|
position: "bottom-left",
|
|
22
123
|
noBorder: !0,
|
|
23
124
|
renderPopoverSrcElement: ({
|
|
24
|
-
displayPopover:
|
|
25
|
-
}) => /* @__PURE__ */
|
|
26
|
-
className:
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
125
|
+
displayPopover: e
|
|
126
|
+
}) => /* @__PURE__ */ o.createElement("div", {
|
|
127
|
+
className: "navigation-bar-popover-src-element flex items-center gap-1 cursor-pointer"
|
|
128
|
+
}, /* @__PURE__ */ o.createElement("label", {
|
|
129
|
+
className: "font-semibold cursor-pointer"
|
|
130
|
+
}, D?.label), /* @__PURE__ */ o.createElement(w, {
|
|
131
|
+
name: "chevron",
|
|
132
|
+
rotation: e ? "180" : "0"
|
|
30
133
|
})),
|
|
31
134
|
renderPopoverContents: ({
|
|
32
|
-
closePopoverCb:
|
|
33
|
-
}) => /* @__PURE__ */
|
|
34
|
-
items:
|
|
35
|
-
id:
|
|
36
|
-
label:
|
|
135
|
+
closePopoverCb: e
|
|
136
|
+
}) => /* @__PURE__ */ o.createElement(_, {
|
|
137
|
+
items: t.map((r) => ({
|
|
138
|
+
id: r.id,
|
|
139
|
+
label: r.label,
|
|
37
140
|
onClick: () => {
|
|
38
|
-
|
|
141
|
+
x(r), e();
|
|
39
142
|
}
|
|
40
143
|
}))
|
|
41
144
|
})
|
|
42
|
-
}), /* @__PURE__ */
|
|
43
|
-
className: "se-design-
|
|
44
|
-
},
|
|
45
|
-
key: t?.id,
|
|
46
|
-
className: "se-design-breadcrumbs-item inline-flex items-center w-fit text-xl"
|
|
47
|
-
}, (e > 0 || n) && /* @__PURE__ */ r.createElement(s, {
|
|
48
|
-
name: "chevron",
|
|
49
|
-
rotation: "270"
|
|
50
|
-
}), /* @__PURE__ */ r.createElement("p", {
|
|
51
|
-
onClick: () => o?.(t),
|
|
52
|
-
className: c(e),
|
|
53
|
-
"data-automation-id": t?.automationId || `breadcrumbs-item-${e}`
|
|
54
|
-
}, t?.label)))));
|
|
145
|
+
})), /* @__PURE__ */ o.createElement("div", {
|
|
146
|
+
className: "se-design-navigation-bar-content"
|
|
147
|
+
}, C));
|
|
55
148
|
};
|
|
56
149
|
export {
|
|
57
|
-
|
|
150
|
+
ke as NavigationBar
|
|
58
151
|
};
|
|
59
152
|
//# sourceMappingURL=index48.js.map
|
package/dist/index48.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index48.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 automationId?: string;\n}\n\ninterface BreadCrumbsProps {\n crumbs: Crumb[];\n onCrumbClick?: (crumb: Crumb) => void;\n className?: any;\n}\n\nexport const BreadCrumbs: React.FC<BreadCrumbsProps> = ({ crumbs, onCrumbClick, className }) => {\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 getLabelClassNames = (index: number) => {\n let className = 'se-design-breadcrumbs-item-label inline-flex items-center w-fit';\n if (visibleCrumbs?.length === 1) {\n return `${className} single-crumb`;\n }\n\n if (index === visibleCrumbs?.length - 1) {\n return `${className} highlighted-crumb`;\n }\n\n return `${className} cursor-pointer unhighlighted-crumb`;\n };\n\n return (\n <div className={`se-design-breadcrumbs flex items-center ${className}`} aria-label=\"Breadcrumb\" data-automation-id=\"breadcrumbs-container\">\n {dropdownCrumbs?.length > 0 && (\n <Popover\n className=\"se-design-overflow-breadcrumbs\"\n position=\"bottom-left\"\n noBorder\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 <div className=\"se-design-breadcrumbs-list inline-flex items-center\">\n {visibleCrumbs?.map((crumb, index) => (\n <div 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 <p onClick={() => onCrumbClick?.(crumb)} className={getLabelClassNames(index)} data-automation-id={crumb?.automationId || `breadcrumbs-item-${index}`}>\n {crumb?.label}\n </p>\n </div>\n ))}\n </div>\n </div>\n );\n};\n"],"names":["BreadCrumbs","crumbs","onCrumbClick","className","shouldShowDropdown","length","visibleCrumbs","slice","dropdownCrumbs","getLabelClassNames","index","React","createElement","Popover","position","noBorder","renderPopoverSrcElement","displayPopover","Icon","name","renderPopoverContents","closePopoverCb","MenuList","items","map","crumb","id","String","label","onClick","key","rotation","automationId"],"mappings":";;;;;AAmBO,MAAMA,IAA0CA,CAAC;AAAA,EAAEC,QAAAA;AAAAA,EAAQC,cAAAA;AAAAA,EAAcC,WAAAA;AAAU,MAAM;AAC9F,QAAMC,IAAqBH,GAAQI,SAAS,GACtCC,IAAgBF,IAAqBH,GAAQM,MAAM,EAAE,IAAIN,GACzDO,IAAiBJ,IAAqBH,GAAQM,MAAM,GAAG,EAAE,IAAI,CAAA,GAE7DE,IAAqBA,CAACC,MAAkB;AAC5C,QAAIP,IAAY;AAChB,WAAIG,GAAeD,WAAW,IACrB,GAAGF,CAAS,kBAGjBO,MAAUJ,GAAeD,SAAS,IAC7B,GAAGF,CAAS,uBAGd,GAAGA,CAAS;AAAA,EACrB;AAEA,SACEQ,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKT,WAAW,2CAA2CA,CAAS;AAAA,IAAI,cAAW;AAAA,IAAa,sBAAmB;AAAA,EAAA,GAChHK,GAAgBH,SAAS,KACxBM,gBAAAA,EAAAC,cAACC,GAAO;AAAA,IACNV,WAAU;AAAA,IACVW,UAAS;AAAA,IACTC,UAAQ;AAAA,IACRC,yBAAyBA,CAAC;AAAA,MAAEC,gBAAAA;AAAAA,IAAAA,MAExBN,gBAAAA,EAAAC,cAAA,OAAA;AAAA,MACET,WAAW,kFACTc,IAAiB,+BAA+B,EAAE;AAAA,MAEpD,sBAAmB;AAAA,IAAA,GAEnBN,gBAAAA,EAAAC,cAACM,GAAI;AAAA,MAACC,MAAK;AAAA,IAAA,CAAc,CACtB;AAAA,IAGTC,uBAAuBA,CAAC;AAAA,MAAEC,gBAAAA;AAAAA,IAAAA,MACxBV,gBAAAA,EAAAC,cAACU,GAAQ;AAAA,MACPC,OAAOf,EAAegB,IAAKC,CAAAA,OAAW;AAAA,QACpCC,IAAIC,OAAOF,GAAOC,EAAE;AAAA,QACpBE,OAAOH,GAAOG;AAAAA,QACdC,SAASA,MAAM;AACb3B,UAAAA,IAAeuB,CAAK,GACpBJ,EAAAA;AAAAA,QACF;AAAA,MAAA,EACA;AAAA,IAAA,CACH;AAAA,EAAA,CAEJ,GAEHV,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKT,WAAU;AAAA,EAAA,GACZG,GAAekB,IAAI,CAACC,GAAOf,MAC1BC,gBAAAA,EAAAC,cAAA,OAAA;AAAA,IAAKkB,KAAKL,GAAOC;AAAAA,IAAIvB,WAAU;AAAA,EAAA,IAC3BO,IAAQ,KAAKN,MAAuBO,gBAAAA,EAAAC,cAACM,GAAI;AAAA,IAACC,MAAK;AAAA,IAAUY,UAAU;AAAA,EAAA,CAAQ,GAC7EpB,gBAAAA,EAAAC,cAAA,KAAA;AAAA,IAAGiB,SAASA,MAAM3B,IAAeuB,CAAK;AAAA,IAAGtB,WAAWM,EAAmBC,CAAK;AAAA,IAAG,sBAAoBe,GAAOO,gBAAgB,oBAAoBtB,CAAK;AAAA,EAAA,GAChJe,GAAOG,KACP,CACA,CACN,CACE,CACF;AAET;"}
|
|
1
|
+
{"version":3,"file":"index48.js","sources":["../src/components/NavigationBar/index.tsx"],"sourcesContent":["import React, { FC, ReactNode, useState,useMemo, useEffect } from 'react';\nimport { Popover, MenuList, Icon } from 'src/components';\nimport { TabButton } from './TabButton';\nimport { useTabsA11y } from './useTabsA11y';\nimport { getA11yNameAttributes } from '../../utils/a11y';\n\nexport interface NavigationItemProps {\n label: string;\n id: string;\n disabled?: boolean;\n panelHasFocusableContent?: boolean; // If false, the panel itself will be tabbable when active\n renderNavigationItemContent?: (navigationItem: NavigationItemProps) => ReactNode;\n}\n\ninterface NavigationBarProps {\n defaultActiveNavigationItem?: string;\n navigationItems: NavigationItemProps[];\n isCompactView?: boolean;\n onNavigationItemChange?: (navigationItemId: string) => void;\n keyboardActivationMode?: 'automatic' | 'manual'; //manual: arrow keys move focus only; Enter/Space activates the focused tab\n orientation?: 'horizontal' | 'vertical'; // required for aria and arrow shortcuts\n ariaLabel?: string; // Used when ariaLabelledBy is not provided\n ariaLabelledBy?: string; // ID of element that labels this tablist (preferred over ariaLabel when visible label exists)\n idBase?: string; //optional ID namespace to avoid collisions\n}\n\nexport const NavigationBar: FC<NavigationBarProps> = ({\n defaultActiveNavigationItem,\n navigationItems,\n onNavigationItemChange,\n isCompactView = false,\n keyboardActivationMode = 'automatic',\n orientation = 'horizontal',\n ariaLabel = 'Sections',\n ariaLabelledBy,\n idBase = ''\n}) => {\n const defaultNavigationItemId = defaultActiveNavigationItem || navigationItems[0]?.id || '';\n const [activeNavigationItem, setActiveNavigationItem] = useState<string>(defaultNavigationItemId);\n\n // Exclude disabled tabs from roving focus (keeps native disabled buttons, avoids focus-on-disabled).\n const itemIds = useMemo(\n () => navigationItems.filter((item) => !item.disabled).map((item) => item.id),\n [navigationItems]\n );\n\n // Hook for managing Tabs (NavigationBar) focus and ARIA props.\n const { getTabProps, setFocusedTabId, handleKeyDown, getPanelId, getTabId } = useTabsA11y({\n itemIds,\n orientation,\n activeNavigationItem,\n idBase\n });\n\n useEffect(() => {\n if (defaultActiveNavigationItem) {\n setActiveNavigationItem(defaultActiveNavigationItem);\n setFocusedTabId(defaultActiveNavigationItem);\n }\n }, [defaultActiveNavigationItem, setFocusedTabId]);\n\n const handleNavigationItemClick = (navigationItem: NavigationItemProps) => {\n if (navigationItem?.disabled) return;\n setActiveNavigationItem(navigationItem?.id);\n onNavigationItemChange?.(navigationItem?.id);\n };\n\n const activateTabById = (id: string) => {\n const item = navigationItems.find((i) => i.id === id);\n if (!item || item.disabled) return;\n setActiveNavigationItem(id);\n onNavigationItemChange?.(id);\n };\n\n const renderPanels = useMemo(() => {\n return navigationItems.map((navigationItem) => {\n const isSelected = navigationItem.id === activeNavigationItem;\n const panelTabIndex = isSelected && navigationItem.panelHasFocusableContent === false ? 0 : undefined;\n\n return (\n <div\n key={navigationItem.id}\n id={getPanelId(navigationItem.id)}\n role=\"tabpanel\"\n aria-labelledby={getTabId(navigationItem.id)}\n hidden={!isSelected}\n tabIndex={panelTabIndex}\n className={`navigation-item-content ${isSelected ? 'block' : 'hidden'}`}\n >\n {isSelected && navigationItem?.renderNavigationItemContent?.(navigationItem)}\n </div>\n );\n });\n }, [navigationItems, activeNavigationItem, getPanelId, getTabId]);\n\n const activeNavigationItemData = navigationItems.find((item) => item.id === activeNavigationItem);\n\n return (\n <>\n <div\n className=\"se-design-navigation-bar flex items-center gap-4\"\n data-automation-id=\"navigation-bar-container\"\n role=\"tablist\"\n aria-orientation={orientation}\n {...getA11yNameAttributes({\n ariaLabel,\n ariaLabelledBy\n })}\n >\n {!isCompactView && navigationItems.map((navigationItem) => {\n const isSelected = activeNavigationItem === navigationItem.id;\n const isDisabled = navigationItem.disabled;\n\n const tabProps = getTabProps(navigationItem.id);\n\n return (\n <TabButton\n key={navigationItem.id}\n ref={tabProps.ref as (el: HTMLButtonElement | null) => void}\n tabIndex={tabProps.tabIndex}\n id={tabProps.id}\n label={navigationItem.label}\n isSelected={isSelected}\n isDisabled={isDisabled}\n panelId={tabProps['aria-controls']}\n onClick={() => handleNavigationItemClick(navigationItem)}\n onFocus={() => {\n setFocusedTabId(navigationItem.id);\n if (keyboardActivationMode === 'automatic' && !isDisabled) {\n activateTabById(navigationItem.id);\n }\n }}\n onKeyDown={handleKeyDown}\n className={`text-base ${\n isDisabled\n ? 'text-[var(--color-gray-400)] cursor-not-allowed'\n : isSelected\n ? 'text-[var(--color-gray-900)] font-bold hover:cursor-pointer'\n : 'text-[var(--color-gray-700)] font-normal hover:text-[var(--color-gray-900)] cursor-pointer'\n } focus-outline rounded-[6px]`}\n automationId={`navigation-item-${navigationItem.id}`}\n />\n );\n })}\n {isCompactView && (\n <Popover\n className=\"navigation-bar-popover\"\n position=\"bottom-left\"\n noBorder\n renderPopoverSrcElement={({ displayPopover }) => (\n <div className=\"navigation-bar-popover-src-element flex items-center gap-1 cursor-pointer\">\n <label className=\"font-semibold cursor-pointer\">{activeNavigationItemData?.label}</label>\n <Icon name=\"chevron\" rotation={displayPopover ? '180' : '0'} />\n </div>\n )}\n renderPopoverContents={({ closePopoverCb }) => (\n <MenuList items={navigationItems.map((item) => ({\n id: item.id,\n label: item.label,\n onClick: () => {\n handleNavigationItemClick(item);\n closePopoverCb();\n }\n }))}\n />\n )}\n />\n )}\n </div>\n\n <div className=\"se-design-navigation-bar-content\">\n {renderPanels}\n </div>\n </>\n );\n};\n"],"names":["NavigationBar","defaultActiveNavigationItem","navigationItems","onNavigationItemChange","isCompactView","keyboardActivationMode","orientation","ariaLabel","ariaLabelledBy","idBase","defaultNavigationItemId","id","activeNavigationItem","setActiveNavigationItem","useState","itemIds","useMemo","filter","item","disabled","map","getTabProps","setFocusedTabId","handleKeyDown","getPanelId","getTabId","useTabsA11y","useEffect","handleNavigationItemClick","navigationItem","activateTabById","find","i","renderPanels","isSelected","panelTabIndex","panelHasFocusableContent","undefined","React","createElement","key","role","hidden","tabIndex","className","renderNavigationItemContent","activeNavigationItemData","Fragment","_extends","getA11yNameAttributes","isDisabled","tabProps","TabButton","ref","label","panelId","onClick","onFocus","onKeyDown","automationId","Popover","position","noBorder","renderPopoverSrcElement","displayPopover","Icon","name","rotation","renderPopoverContents","closePopoverCb","MenuList","items"],"mappings":"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"}
|