@flipdish/ui-library 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. package/dist/components/atoms/Button/index.cjs +4 -1
  2. package/dist/components/atoms/Button/index.cjs.map +1 -1
  3. package/dist/components/atoms/Button/index.d.ts +2 -0
  4. package/dist/components/atoms/Button/index.d.ts.map +1 -1
  5. package/dist/components/atoms/Button/index.js +4 -1
  6. package/dist/components/atoms/Button/index.js.map +1 -1
  7. package/dist/components/atoms/Checkbox/index.cjs +4 -2
  8. package/dist/components/atoms/Checkbox/index.cjs.map +1 -1
  9. package/dist/components/atoms/Checkbox/index.d.ts +3 -1
  10. package/dist/components/atoms/Checkbox/index.d.ts.map +1 -1
  11. package/dist/components/atoms/Checkbox/index.js +4 -2
  12. package/dist/components/atoms/Checkbox/index.js.map +1 -1
  13. package/dist/components/atoms/Input/index.cjs +7 -4
  14. package/dist/components/atoms/Input/index.cjs.map +1 -1
  15. package/dist/components/atoms/Input/index.d.ts +6 -2
  16. package/dist/components/atoms/Input/index.d.ts.map +1 -1
  17. package/dist/components/atoms/Input/index.js +7 -4
  18. package/dist/components/atoms/Input/index.js.map +1 -1
  19. package/dist/components/atoms/RadioButton/index.cjs +8 -4
  20. package/dist/components/atoms/RadioButton/index.cjs.map +1 -1
  21. package/dist/components/atoms/RadioButton/index.d.ts +8 -3
  22. package/dist/components/atoms/RadioButton/index.d.ts.map +1 -1
  23. package/dist/components/atoms/RadioButton/index.js +8 -4
  24. package/dist/components/atoms/RadioButton/index.js.map +1 -1
  25. package/dist/components/atoms/Toggle/index.cjs +4 -2
  26. package/dist/components/atoms/Toggle/index.cjs.map +1 -1
  27. package/dist/components/atoms/Toggle/index.d.ts +3 -1
  28. package/dist/components/atoms/Toggle/index.d.ts.map +1 -1
  29. package/dist/components/atoms/Toggle/index.js +4 -2
  30. package/dist/components/atoms/Toggle/index.js.map +1 -1
  31. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.cjs +3 -1
  32. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.cjs.map +1 -1
  33. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.d.ts.map +1 -1
  34. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.js +3 -1
  35. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-account-item.js.map +1 -1
  36. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.cjs +9 -5
  37. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.cjs.map +1 -1
  38. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.d.ts +5 -1
  39. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.d.ts.map +1 -1
  40. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.js +9 -5
  41. package/dist/components/molecules/Breadcrumbs/components/breadcrumb-item.js.map +1 -1
  42. package/dist/components/molecules/Breadcrumbs/index.cjs +4 -2
  43. package/dist/components/molecules/Breadcrumbs/index.cjs.map +1 -1
  44. package/dist/components/molecules/Breadcrumbs/index.d.ts +8 -2
  45. package/dist/components/molecules/Breadcrumbs/index.d.ts.map +1 -1
  46. package/dist/components/molecules/Breadcrumbs/index.js +4 -2
  47. package/dist/components/molecules/Breadcrumbs/index.js.map +1 -1
  48. package/dist/components/molecules/Pagination/components/pagination-base.cjs +11 -4
  49. package/dist/components/molecules/Pagination/components/pagination-base.cjs.map +1 -1
  50. package/dist/components/molecules/Pagination/components/pagination-base.d.ts +8 -1
  51. package/dist/components/molecules/Pagination/components/pagination-base.d.ts.map +1 -1
  52. package/dist/components/molecules/Pagination/components/pagination-base.js +11 -4
  53. package/dist/components/molecules/Pagination/components/pagination-base.js.map +1 -1
  54. package/dist/components/molecules/ProgressSteps/components/progress-step-base.cjs +16 -16
  55. package/dist/components/molecules/ProgressSteps/components/progress-step-base.cjs.map +1 -1
  56. package/dist/components/molecules/ProgressSteps/components/progress-step-base.d.ts +8 -8
  57. package/dist/components/molecules/ProgressSteps/components/progress-step-base.d.ts.map +1 -1
  58. package/dist/components/molecules/ProgressSteps/components/progress-step-base.js +16 -16
  59. package/dist/components/molecules/ProgressSteps/components/progress-step-base.js.map +1 -1
  60. package/dist/components/molecules/ProgressSteps/index.cjs +19 -12
  61. package/dist/components/molecules/ProgressSteps/index.cjs.map +1 -1
  62. package/dist/components/molecules/ProgressSteps/index.d.ts +3 -3
  63. package/dist/components/molecules/ProgressSteps/index.d.ts.map +1 -1
  64. package/dist/components/molecules/ProgressSteps/index.js +19 -12
  65. package/dist/components/molecules/ProgressSteps/index.js.map +1 -1
  66. package/dist/components/molecules/ProgressSteps/progressSteps.types.d.ts +10 -0
  67. package/dist/components/molecules/ProgressSteps/progressSteps.types.d.ts.map +1 -1
  68. package/dist/components/molecules/RadioGroup/components/radio-group-avatar.cjs +4 -2
  69. package/dist/components/molecules/RadioGroup/components/radio-group-avatar.cjs.map +1 -1
  70. package/dist/components/molecules/RadioGroup/components/radio-group-avatar.d.ts +3 -1
  71. package/dist/components/molecules/RadioGroup/components/radio-group-avatar.d.ts.map +1 -1
  72. package/dist/components/molecules/RadioGroup/components/radio-group-avatar.js +4 -2
  73. package/dist/components/molecules/RadioGroup/components/radio-group-avatar.js.map +1 -1
  74. package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.cjs +4 -2
  75. package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.cjs.map +1 -1
  76. package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.d.ts +3 -1
  77. package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.d.ts.map +1 -1
  78. package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.js +4 -2
  79. package/dist/components/molecules/RadioGroup/components/radio-group-checkbox.js.map +1 -1
  80. package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.cjs +4 -2
  81. package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.cjs.map +1 -1
  82. package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.d.ts +3 -1
  83. package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.d.ts.map +1 -1
  84. package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.js +4 -2
  85. package/dist/components/molecules/RadioGroup/components/radio-group-icon-card.js.map +1 -1
  86. package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.cjs +4 -2
  87. package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.cjs.map +1 -1
  88. package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.d.ts +3 -1
  89. package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.d.ts.map +1 -1
  90. package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.js +4 -2
  91. package/dist/components/molecules/RadioGroup/components/radio-group-icon-simple.js.map +1 -1
  92. package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.cjs +4 -2
  93. package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.cjs.map +1 -1
  94. package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.d.ts +3 -1
  95. package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.d.ts.map +1 -1
  96. package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.js +4 -2
  97. package/dist/components/molecules/RadioGroup/components/radio-group-payment-icon.js.map +1 -1
  98. package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.cjs +4 -2
  99. package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.cjs.map +1 -1
  100. package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.d.ts +3 -1
  101. package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.d.ts.map +1 -1
  102. package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.js +4 -2
  103. package/dist/components/molecules/RadioGroup/components/radio-group-radio-button.js.map +1 -1
  104. package/dist/components/molecules/Select/components/multi-select.cjs +4 -2
  105. package/dist/components/molecules/Select/components/multi-select.cjs.map +1 -1
  106. package/dist/components/molecules/Select/components/multi-select.d.ts +1 -1
  107. package/dist/components/molecules/Select/components/multi-select.d.ts.map +1 -1
  108. package/dist/components/molecules/Select/components/multi-select.js +4 -2
  109. package/dist/components/molecules/Select/components/multi-select.js.map +1 -1
  110. package/dist/components/molecules/Select/components/select-item.cjs +6 -3
  111. package/dist/components/molecules/Select/components/select-item.cjs.map +1 -1
  112. package/dist/components/molecules/Select/components/select-item.d.ts +3 -1
  113. package/dist/components/molecules/Select/components/select-item.d.ts.map +1 -1
  114. package/dist/components/molecules/Select/components/select-item.js +6 -3
  115. package/dist/components/molecules/Select/components/select-item.js.map +1 -1
  116. package/dist/components/molecules/Select/components/select-shared.cjs.map +1 -1
  117. package/dist/components/molecules/Select/components/select-shared.d.ts +6 -0
  118. package/dist/components/molecules/Select/components/select-shared.d.ts.map +1 -1
  119. package/dist/components/molecules/Select/components/select-shared.js.map +1 -1
  120. package/dist/components/molecules/Select/index.cjs +6 -4
  121. package/dist/components/molecules/Select/index.cjs.map +1 -1
  122. package/dist/components/molecules/Select/index.d.ts +1 -1
  123. package/dist/components/molecules/Select/index.d.ts.map +1 -1
  124. package/dist/components/molecules/Select/index.js +6 -4
  125. package/dist/components/molecules/Select/index.js.map +1 -1
  126. package/dist/components/molecules/Tabs/index.cjs +24 -8
  127. package/dist/components/molecules/Tabs/index.cjs.map +1 -1
  128. package/dist/components/molecules/Tabs/index.d.ts +17 -7
  129. package/dist/components/molecules/Tabs/index.d.ts.map +1 -1
  130. package/dist/components/molecules/Tabs/index.js +24 -8
  131. package/dist/components/molecules/Tabs/index.js.map +1 -1
  132. package/dist/components/organisms/ActivityFeed/index.cjs +8 -2
  133. package/dist/components/organisms/ActivityFeed/index.cjs.map +1 -1
  134. package/dist/components/organisms/ActivityFeed/index.d.ts +3 -1
  135. package/dist/components/organisms/ActivityFeed/index.d.ts.map +1 -1
  136. package/dist/components/organisms/ActivityFeed/index.js +8 -2
  137. package/dist/components/organisms/ActivityFeed/index.js.map +1 -1
  138. package/dist/components/organisms/CommandMenu/components/command-menu-item.cjs +5 -1
  139. package/dist/components/organisms/CommandMenu/components/command-menu-item.cjs.map +1 -1
  140. package/dist/components/organisms/CommandMenu/components/command-menu-item.d.ts +2 -0
  141. package/dist/components/organisms/CommandMenu/components/command-menu-item.d.ts.map +1 -1
  142. package/dist/components/organisms/CommandMenu/components/command-menu-item.js +5 -1
  143. package/dist/components/organisms/CommandMenu/components/command-menu-item.js.map +1 -1
  144. package/dist/components/organisms/CommandMenu/index.cjs +6 -4
  145. package/dist/components/organisms/CommandMenu/index.cjs.map +1 -1
  146. package/dist/components/organisms/CommandMenu/index.d.ts +8 -2
  147. package/dist/components/organisms/CommandMenu/index.d.ts.map +1 -1
  148. package/dist/components/organisms/CommandMenu/index.js +6 -4
  149. package/dist/components/organisms/CommandMenu/index.js.map +1 -1
  150. package/dist/components/organisms/HeaderNavigation/components/mobile-header.cjs +3 -2
  151. package/dist/components/organisms/HeaderNavigation/components/mobile-header.cjs.map +1 -1
  152. package/dist/components/organisms/HeaderNavigation/components/mobile-header.d.ts +6 -1
  153. package/dist/components/organisms/HeaderNavigation/components/mobile-header.d.ts.map +1 -1
  154. package/dist/components/organisms/HeaderNavigation/components/mobile-header.js +3 -2
  155. package/dist/components/organisms/HeaderNavigation/components/mobile-header.js.map +1 -1
  156. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs +9 -6
  157. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.cjs.map +1 -1
  158. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.d.ts +10 -2
  159. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.d.ts.map +1 -1
  160. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js +9 -6
  161. package/dist/components/organisms/HeaderNavigation/components/nav-account-card.js.map +1 -1
  162. package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs +2 -2
  163. package/dist/components/organisms/HeaderNavigation/components/nav-button.cjs.map +1 -1
  164. package/dist/components/organisms/HeaderNavigation/components/nav-button.d.ts +3 -1
  165. package/dist/components/organisms/HeaderNavigation/components/nav-button.d.ts.map +1 -1
  166. package/dist/components/organisms/HeaderNavigation/components/nav-button.js +2 -2
  167. package/dist/components/organisms/HeaderNavigation/components/nav-button.js.map +1 -1
  168. package/dist/components/organisms/HeaderNavigation/components/nav-item.cjs +4 -4
  169. package/dist/components/organisms/HeaderNavigation/components/nav-item.cjs.map +1 -1
  170. package/dist/components/organisms/HeaderNavigation/components/nav-item.d.ts +3 -1
  171. package/dist/components/organisms/HeaderNavigation/components/nav-item.d.ts.map +1 -1
  172. package/dist/components/organisms/HeaderNavigation/components/nav-item.js +4 -4
  173. package/dist/components/organisms/HeaderNavigation/components/nav-item.js.map +1 -1
  174. package/dist/components/organisms/HeaderNavigation/components/nav-list.cjs +9 -3
  175. package/dist/components/organisms/HeaderNavigation/components/nav-list.cjs.map +1 -1
  176. package/dist/components/organisms/HeaderNavigation/components/nav-list.d.ts +3 -1
  177. package/dist/components/organisms/HeaderNavigation/components/nav-list.d.ts.map +1 -1
  178. package/dist/components/organisms/HeaderNavigation/components/nav-list.js +9 -3
  179. package/dist/components/organisms/HeaderNavigation/components/nav-list.js.map +1 -1
  180. package/dist/components/organisms/HeaderNavigation/headerNavigation.types.d.ts +17 -8
  181. package/dist/components/organisms/HeaderNavigation/headerNavigation.types.d.ts.map +1 -1
  182. package/dist/components/organisms/HeaderNavigation/index.cjs +9 -2
  183. package/dist/components/organisms/HeaderNavigation/index.cjs.map +1 -1
  184. package/dist/components/organisms/HeaderNavigation/index.d.ts +10 -1
  185. package/dist/components/organisms/HeaderNavigation/index.d.ts.map +1 -1
  186. package/dist/components/organisms/HeaderNavigation/index.js +10 -3
  187. package/dist/components/organisms/HeaderNavigation/index.js.map +1 -1
  188. package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs +2 -2
  189. package/dist/components/organisms/SidebarNavigation/components/mobile-header.cjs.map +1 -1
  190. package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts +8 -2
  191. package/dist/components/organisms/SidebarNavigation/components/mobile-header.d.ts.map +1 -1
  192. package/dist/components/organisms/SidebarNavigation/components/mobile-header.js +2 -2
  193. package/dist/components/organisms/SidebarNavigation/components/mobile-header.js.map +1 -1
  194. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs +15 -5
  195. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.cjs.map +1 -1
  196. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts +12 -2
  197. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.d.ts.map +1 -1
  198. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js +15 -5
  199. package/dist/components/organisms/SidebarNavigation/components/nav-account-card.js.map +1 -1
  200. package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs +2 -2
  201. package/dist/components/organisms/SidebarNavigation/components/nav-button.cjs.map +1 -1
  202. package/dist/components/organisms/SidebarNavigation/components/nav-button.d.ts +3 -1
  203. package/dist/components/organisms/SidebarNavigation/components/nav-button.d.ts.map +1 -1
  204. package/dist/components/organisms/SidebarNavigation/components/nav-button.js +2 -2
  205. package/dist/components/organisms/SidebarNavigation/components/nav-button.js.map +1 -1
  206. package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs +4 -4
  207. package/dist/components/organisms/SidebarNavigation/components/nav-item.cjs.map +1 -1
  208. package/dist/components/organisms/SidebarNavigation/components/nav-item.d.ts +3 -1
  209. package/dist/components/organisms/SidebarNavigation/components/nav-item.d.ts.map +1 -1
  210. package/dist/components/organisms/SidebarNavigation/components/nav-item.js +4 -4
  211. package/dist/components/organisms/SidebarNavigation/components/nav-item.js.map +1 -1
  212. package/dist/components/organisms/SidebarNavigation/components/nav-list.cjs +9 -3
  213. package/dist/components/organisms/SidebarNavigation/components/nav-list.cjs.map +1 -1
  214. package/dist/components/organisms/SidebarNavigation/components/nav-list.d.ts +3 -1
  215. package/dist/components/organisms/SidebarNavigation/components/nav-list.d.ts.map +1 -1
  216. package/dist/components/organisms/SidebarNavigation/components/nav-list.js +9 -3
  217. package/dist/components/organisms/SidebarNavigation/components/nav-list.js.map +1 -1
  218. package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.cjs +1 -1
  219. package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.cjs.map +1 -1
  220. package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.d.ts +3 -1
  221. package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.d.ts.map +1 -1
  222. package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.js +1 -1
  223. package/dist/components/organisms/SidebarNavigation/components/sidebar-menu-button.js.map +1 -1
  224. package/dist/components/organisms/SidebarNavigation/index.cjs +10 -6
  225. package/dist/components/organisms/SidebarNavigation/index.cjs.map +1 -1
  226. package/dist/components/organisms/SidebarNavigation/index.d.ts +7 -1
  227. package/dist/components/organisms/SidebarNavigation/index.d.ts.map +1 -1
  228. package/dist/components/organisms/SidebarNavigation/index.js +11 -7
  229. package/dist/components/organisms/SidebarNavigation/index.js.map +1 -1
  230. package/dist/components/organisms/SidebarNavigation/sidebarNavigation.types.d.ts +21 -8
  231. package/dist/components/organisms/SidebarNavigation/sidebarNavigation.types.d.ts.map +1 -1
  232. package/dist/components/organisms/Table/index.cjs +13 -8
  233. package/dist/components/organisms/Table/index.cjs.map +1 -1
  234. package/dist/components/organisms/Table/index.d.ts +17 -3
  235. package/dist/components/organisms/Table/index.d.ts.map +1 -1
  236. package/dist/components/organisms/Table/index.js +13 -8
  237. package/dist/components/organisms/Table/index.js.map +1 -1
  238. package/dist/utilities/testIdUtils/index.cjs +70 -0
  239. package/dist/utilities/testIdUtils/index.cjs.map +1 -0
  240. package/dist/utilities/testIdUtils/index.d.ts +57 -0
  241. package/dist/utilities/testIdUtils/index.d.ts.map +1 -0
  242. package/dist/utilities/testIdUtils/index.js +58 -0
  243. package/dist/utilities/testIdUtils/index.js.map +1 -0
  244. package/package.json +1 -1
@@ -7,11 +7,13 @@ var Button = require('@flipdish/ui-library/components/atoms/Button');
7
7
  var RadioButton = require('@flipdish/ui-library/components/atoms/RadioButton');
8
8
  var useBreakpoints = require('@flipdish/ui-library/hooks/useBreakpoints');
9
9
  var cx = require('@flipdish/ui-library/utilities/cx');
10
+ var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
10
11
  var focus = require('@react-aria/focus');
11
12
  var React = require('react');
12
13
  var reactAriaComponents = require('react-aria-components');
13
14
 
14
- const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems = [], bottomMenuItems = [], ...dialogProps }) => {
15
+ const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems = [], bottomMenuItems = [], testIdPrefix, ...dialogProps }) => {
16
+ const menuItemTestId = (item) => item['data-testid'] ?? (testIdPrefix ? testIdUtils.joinTestId(testIdPrefix, `menu-item-${item.id ?? testIdUtils.slugifyTestId(item.label)}`) : undefined);
15
17
  const focusManager = focus.useFocusManager();
16
18
  const dialogRef = React.useRef(null);
17
19
  const onKeyDown = React.useCallback((e) => {
@@ -35,26 +37,27 @@ const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems
35
37
  }
36
38
  };
37
39
  }, [onKeyDown]);
38
- return (jsxRuntime.jsxs(reactAriaComponents.Dialog, { ...dialogProps, ref: dialogRef, className: cx.cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [jsxRuntime.jsxs("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: [menuItems.length > 0 && (jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) })), jsxRuntime.jsxs("div", { className: cx.cx('flex flex-col gap-0.5 py-1.5', menuItems.length > 0 && 'border-t border-secondary'), children: [jsxRuntime.jsx("div", { className: "px-3 pt-1.5 pb-1 text-xs font-semibold text-tertiary", children: "Switch account" }), jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5 px-1.5", children: accounts.map((account) => (
40
+ return (jsxRuntime.jsxs(reactAriaComponents.Dialog, { ...dialogProps, ref: dialogRef, className: cx.cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [jsxRuntime.jsxs("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: [menuItems.length > 0 && (jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick, "data-testid": menuItemTestId(item) }, item.label))) })), jsxRuntime.jsxs("div", { className: cx.cx('flex flex-col gap-0.5 py-1.5', menuItems.length > 0 && 'border-t border-secondary'), children: [jsxRuntime.jsx("div", { className: "px-3 pt-1.5 pb-1 text-xs font-semibold text-tertiary", children: "Switch account" }), jsxRuntime.jsx("div", { className: "flex flex-col gap-0.5 px-1.5", children: accounts.map((account) => (
39
41
  // biome-ignore lint/a11y/useButtonType: using a button element for the account switch
40
- jsxRuntime.jsxs("button", { className: cx.cx('relative w-full cursor-pointer rounded-md px-2 py-1.5 text-left outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover focus:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', account.id === selectedAccountId && 'bg-primary_hover'), children: [jsxRuntime.jsx(Avatar.AvatarLabelGroup, { status: account.status, size: "md", src: account.avatar, title: account.name, subtitle: account.email }), jsxRuntime.jsx(RadioButton.RadioButtonBase, { isSelected: account.id === selectedAccountId, className: "absolute top-2 right-2" })] }, account.id))) })] }), jsxRuntime.jsx("div", { className: "flex flex-col gap-2 px-2 pt-0.5 pb-2", children: jsxRuntime.jsx(Button.Button, { iconLeading: uiIcons.Plus, color: "secondary", size: "sm", children: "Add account" }) })] }), bottomMenuItems.length > 0 && (jsxRuntime.jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }))] }));
42
+ jsxRuntime.jsxs("button", { className: cx.cx('relative w-full cursor-pointer rounded-md px-2 py-1.5 text-left outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover focus:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', account.id === selectedAccountId && 'bg-primary_hover'), children: [jsxRuntime.jsx(Avatar.AvatarLabelGroup, { status: account.status, size: "md", src: account.avatar, title: account.name, subtitle: account.email }), jsxRuntime.jsx(RadioButton.RadioButtonBase, { isSelected: account.id === selectedAccountId, className: "absolute top-2 right-2" })] }, account.id))) })] }), jsxRuntime.jsx("div", { className: "flex flex-col gap-2 px-2 pt-0.5 pb-2", children: jsxRuntime.jsx(Button.Button, { iconLeading: uiIcons.Plus, color: "secondary", size: "sm", children: "Add account" }) })] }), bottomMenuItems.length > 0 && (jsxRuntime.jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsxRuntime.jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick, "data-testid": menuItemTestId(item) }, item.label))) }))] }));
41
43
  };
42
44
  const NavAccountCardMenuItem = ({ icon: Icon, label, shortcut, ...buttonProps }) => {
43
45
  return (jsxRuntime.jsx("button", { ...buttonProps, className: cx.cx('group/item w-full cursor-pointer px-1.5 focus:outline-hidden', buttonProps.className), children: jsxRuntime.jsxs("div", { className: cx.cx('flex w-full items-center justify-between gap-3 rounded-md p-2 group-hover/item:bg-primary_hover',
44
46
  // Focus styles.
45
47
  'outline-focus-ring group-focus-visible/item:outline-2 group-focus-visible/item:outline-offset-2'), children: [jsxRuntime.jsxs("div", { className: "flex gap-2 text-sm font-semibold text-secondary group-hover/item:text-secondary_hover", children: [Icon && jsxRuntime.jsx(Icon, { className: "size-5 text-fg-quaternary group-hover/item:text-fg-quaternary_hover" }), " ", label] }), shortcut && (jsxRuntime.jsx("kbd", { className: "flex rounded px-1 py-px font-body text-xs font-medium text-tertiary ring-1 ring-secondary ring-inset", children: shortcut }))] }) }));
46
48
  };
47
- const NavAccountCard = ({ popoverPlacement, selectedAccountId, items, avatarRounded, menuItems, bottomMenuItems, }) => {
49
+ const NavAccountCard = ({ popoverPlacement, selectedAccountId, items, avatarRounded, menuItems, bottomMenuItems, 'data-testid': dataTestId, }) => {
48
50
  const triggerRef = React.useRef(null);
49
51
  const isDesktop = useBreakpoints.useBreakpoint('lg');
52
+ const accountTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'account', rootName: 'header-navigation' });
50
53
  const selectedAccount = items.find((account) => account.id === selectedAccountId);
51
54
  if (!selectedAccount) {
52
55
  console.warn(`Account with ID ${selectedAccountId} not found in <NavAccountCard />`);
53
56
  return null;
54
57
  }
55
- return (jsxRuntime.jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl p-3 ring-1 ring-secondary ring-inset", children: [jsxRuntime.jsx(Avatar.AvatarLabelGroup, { size: "md", src: selectedAccount.avatar, title: selectedAccount.name, subtitle: selectedAccount.email, status: selectedAccount.status, rounded: avatarRounded }), jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { className: "absolute top-2 right-2 flex cursor-pointer items-center justify-center rounded-md p-1.5 text-fg-quaternary outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover hover:text-fg-quaternary_hover focus-visible:outline-2 focus-visible:outline-offset-2 pressed:bg-primary_hover pressed:text-fg-quaternary_hover", children: jsxRuntime.jsx(uiIcons.ChevronSelectorVertical, { className: "size-4 shrink-0 stroke-[2.25px]" }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { placement: popoverPlacement ?? (isDesktop ? 'right bottom' : 'top right'), triggerRef: triggerRef, offset: 8, className: ({ isEntering, isExiting }) => cx.cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
58
+ return (jsxRuntime.jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl p-3 ring-1 ring-secondary ring-inset", children: [jsxRuntime.jsx(Avatar.AvatarLabelGroup, { size: "md", src: selectedAccount.avatar, title: selectedAccount.name, subtitle: selectedAccount.email, status: selectedAccount.status, rounded: avatarRounded }), jsxRuntime.jsxs(reactAriaComponents.DialogTrigger, { children: [jsxRuntime.jsx(reactAriaComponents.Button, { "data-testid": accountTestId, "aria-label": "Open account menu", className: "absolute top-2 right-2 flex cursor-pointer items-center justify-center rounded-md p-1.5 text-fg-quaternary outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover hover:text-fg-quaternary_hover focus-visible:outline-2 focus-visible:outline-offset-2 pressed:bg-primary_hover pressed:text-fg-quaternary_hover", children: jsxRuntime.jsx(uiIcons.ChevronSelectorVertical, { className: "size-4 shrink-0 stroke-[2.25px]" }) }), jsxRuntime.jsx(reactAriaComponents.Popover, { placement: popoverPlacement ?? (isDesktop ? 'right bottom' : 'top right'), triggerRef: triggerRef, offset: 8, className: ({ isEntering, isExiting }) => cx.cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
56
59
  'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
57
- 'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsxRuntime.jsx(NavAccountMenu, { selectedAccountId: selectedAccountId, accounts: items, menuItems: menuItems, bottomMenuItems: bottomMenuItems }) })] })] }));
60
+ 'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsxRuntime.jsx(NavAccountMenu, { selectedAccountId: selectedAccountId, accounts: items, menuItems: menuItems, bottomMenuItems: bottomMenuItems, testIdPrefix: accountTestId }) })] })] }));
58
61
  };
59
62
 
60
63
  exports.NavAccountCard = NavAccountCard;
@@ -1 +1 @@
1
- {"version":3,"file":"nav-account-card.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["useFocusManager","useRef","useCallback","useEffect","_jsxs","AriaDialog","cx","_jsx","AvatarLabelGroup","RadioButtonBase","Button","Plus","useBreakpoint","AriaDialogTrigger","AriaButton","ChevronSelectorVertical","AriaPopover"],"mappings":"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"}
1
+ {"version":3,"file":"nav-account-card.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["joinTestId","slugifyTestId","useFocusManager","useRef","useCallback","useEffect","_jsxs","AriaDialog","cx","_jsx","AvatarLabelGroup","RadioButtonBase","Button","Plus","useBreakpoint","useResolvedTestId","AriaDialogTrigger","AriaButton","ChevronSelectorVertical","AriaPopover"],"mappings":";;;;;;;;;;;;;;AA2CO,MAAM,cAAc,GAAG,CAAC,EAC7B,SAAS,EACT,iBAAiB,EACjB,QAAQ,GAAG,EAAE,EACb,SAAS,GAAG,EAAE,EACd,eAAe,GAAG,EAAE,EACpB,YAAY,EACZ,GAAG,WAAW,EAYf,KAAI;AACH,IAAA,MAAM,cAAc,GAAG,CAAC,IAA4B,KAClD,IAAI,CAAC,aAAa,CAAC,KAAK,YAAY,GAAGA,sBAAU,CAAC,YAAY,EAAE,aAAa,IAAI,CAAC,EAAE,IAAIC,yBAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAEnI,IAAA,MAAM,YAAY,GAAGC,qBAAe,EAAE;AACtC,IAAA,MAAM,SAAS,GAAGC,YAAM,CAAiB,IAAI,CAAC;AAE9C,IAAA,MAAM,SAAS,GAAGC,iBAAW,CAC3B,CAAC,CAAgB,KAAI;AACnB,QAAA,QAAQ,CAAC,CAAC,GAAG;AACX,YAAA,KAAK,WAAW;AACd,gBAAA,YAAY,EAAE,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBACvD;AACF,YAAA,KAAK,SAAS;AACZ,gBAAA,YAAY,EAAE,aAAa,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;gBAC3D;;AAEN,IAAA,CAAC,EACD,CAAC,YAAY,CAAC,CACf;IAEDC,eAAS,CAAC,MAAK;AACb,QAAA,MAAM,OAAO,GAAG,SAAS,CAAC,OAAO;QACjC,IAAI,OAAO,EAAE;AACX,YAAA,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC;QAChD;AAEA,QAAA,OAAO,MAAK;YACV,IAAI,OAAO,EAAE;AACX,gBAAA,OAAO,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC;YACnD;AACF,QAAA,CAAC;AACH,IAAA,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAEf,QACEC,eAAA,CAACC,0BAAU,EAAA,EAAA,GACL,WAAW,EACf,GAAG,EAAE,SAAS,EACd,SAAS,EAAEC,KAAE,CAAC,mFAAmF,EAAE,SAAS,CAAC,EAAA,QAAA,EAAA,CAE7GF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,6CAA6C,EAAA,QAAA,EAAA,CACzD,SAAS,CAAC,MAAM,GAAG,CAAC,KACnBG,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAC1C,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,MAClBA,cAAA,CAAC,sBAAsB,EAAA,EAErB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,aAAA,EACR,cAAc,CAAC,IAAI,CAAC,EAAA,EAL5B,IAAI,CAAC,KAAK,CAMf,CACH,CAAC,EAAA,CACE,CACP,EACDH,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAEE,KAAE,CAAC,8BAA8B,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,2BAA2B,CAAC,EAAA,QAAA,EAAA,CACrGC,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sDAAsD,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAqB,EAE1FA,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,8BAA8B,EAAA,QAAA,EAC1C,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO;;AAEpB,gCAAAH,eAAA,CAAA,QAAA,EAAA,EAEE,SAAS,EAAEE,KAAE,CACX,iNAAiN,EACjN,OAAO,CAAC,EAAE,KAAK,iBAAiB,IAAI,kBAAkB,CACvD,EAAA,QAAA,EAAA,CAEDC,eAACC,uBAAgB,EAAA,EAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,IAAI,EAAC,IAAI,EAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAI,EAEzHD,cAAA,CAACE,2BAAe,EAAA,EAAC,UAAU,EAAE,OAAO,CAAC,EAAE,KAAK,iBAAiB,EAAE,SAAS,EAAC,wBAAwB,EAAA,CAAG,CAAA,EAAA,EAR/F,OAAO,CAAC,EAAE,CASR,CACV,CAAC,EAAA,CACE,IACF,EACNF,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,sCAAsC,YACnDA,cAAA,CAACG,aAAM,EAAA,EAAC,WAAW,EAAEC,YAAI,EAAE,KAAK,EAAC,WAAW,EAAC,IAAI,EAAC,IAAI,4BAE7C,EAAA,CACL,CAAA,EAAA,CACF,EAEL,eAAe,CAAC,MAAM,GAAG,CAAC,KACzBJ,cAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,aAAa,YACzB,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,MACxBA,eAAC,sBAAsB,EAAA,EAErB,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAA,aAAA,EACR,cAAc,CAAC,IAAI,CAAC,EAAA,EAL5B,IAAI,CAAC,KAAK,CAMf,CACH,CAAC,GACE,CACP,CAAA,EAAA,CACU;AAEjB;AAEA,MAAM,sBAAsB,GAAG,CAAC,EAC9B,IAAI,EAAE,IAAI,EACV,KAAK,EACL,QAAQ,EACR,GAAG,WAAW,EAKqB,KAAI;IACvC,QACEA,8BAAY,WAAW,EAAE,SAAS,EAAED,KAAE,CAAC,8DAA8D,EAAE,WAAW,CAAC,SAAS,CAAC,EAAA,QAAA,EAC3HF,eAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAEE,KAAE,CACX,iGAAiG;;AAEjG,YAAA,iGAAiG,CAClG,EAAA,QAAA,EAAA,CAEDF,eAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAC,uFAAuF,EAAA,QAAA,EAAA,CACnG,IAAI,IAAIG,eAAC,IAAI,EAAA,EAAC,SAAS,EAAC,qEAAqE,EAAA,CAAG,EAAA,GAAA,EAAG,KAAK,CAAA,EAAA,CACrG,EAEL,QAAQ,KACPA,wBAAK,SAAS,EAAC,sGAAsG,EAAA,QAAA,EAAE,QAAQ,EAAA,CAAO,CACvI,CAAA,EAAA,CACG,EAAA,CACC;AAEb,CAAC;MAEY,cAAc,GAAG,CAAC,EAC7B,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,EACL,aAAa,EACb,SAAS,EACT,eAAe,EACf,aAAa,EAAE,UAAU,GAc1B,KAAI;AACH,IAAA,MAAM,UAAU,GAAGN,YAAM,CAAiB,IAAI,CAAC;AAC/C,IAAA,MAAM,SAAS,GAAGW,4BAAa,CAAC,IAAI,CAAC;AACrC,IAAA,MAAM,aAAa,GAAGC,6BAAiB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC;AAElH,IAAA,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,EAAE,KAAK,iBAAiB,CAAC;IAEjF,IAAI,CAAC,eAAe,EAAE;AACpB,QAAA,OAAO,CAAC,IAAI,CAAC,mBAAmB,iBAAiB,CAAA,gCAAA,CAAkC,CAAC;AACpF,QAAA,OAAO,IAAI;IACb;IAEA,QACET,eAAA,CAAA,KAAA,EAAA,EAAK,GAAG,EAAE,UAAU,EAAE,SAAS,EAAC,kFAAkF,EAAA,QAAA,EAAA,CAChHG,cAAA,CAACC,uBAAgB,IACf,IAAI,EAAC,IAAI,EACT,GAAG,EAAE,eAAe,CAAC,MAAM,EAC3B,KAAK,EAAE,eAAe,CAAC,IAAI,EAC3B,QAAQ,EAAE,eAAe,CAAC,KAAK,EAC/B,MAAM,EAAE,eAAe,CAAC,MAAM,EAC9B,OAAO,EAAE,aAAa,EAAA,CACtB,EAEFJ,eAAA,CAACU,iCAAiB,EAAA,EAAA,QAAA,EAAA,CAChBP,cAAA,CAACQ,0BAAU,EAAA,EAAA,aAAA,EACI,aAAa,EAAA,YAAA,EACf,mBAAmB,EAC9B,SAAS,EAAC,0UAA0U,EAAA,QAAA,EAEpVR,cAAA,CAACS,+BAAuB,IAAC,SAAS,EAAC,iCAAiC,EAAA,CAAG,EAAA,CAC5D,EACbT,eAACU,2BAAW,EAAA,EACV,SAAS,EAAE,gBAAgB,KAAK,SAAS,GAAG,cAAc,GAAG,WAAW,CAAC,EACzE,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,CAAC,EACT,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KACnCX,KAAE,CACA,uDAAuD,EACvD,UAAU;AACR,4BAAA,+JAA+J,EACjK,SAAS;AACP,4BAAA,6JAA6J,CAChK,EAAA,QAAA,EAGHC,cAAA,CAAC,cAAc,EAAA,EACb,iBAAiB,EAAE,iBAAiB,EACpC,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,SAAS,EACpB,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,aAAa,EAAA,CAC3B,EAAA,CACU,CAAA,EAAA,CACI,CAAA,EAAA,CAChB;AAEV;;;;;"}
@@ -23,8 +23,12 @@ export type NavAccountMenuItemType = {
23
23
  shortcut?: string;
24
24
  /** Click handler. */
25
25
  onClick?: () => void;
26
+ /** Stable id used to derive this menu item's `data-testid` (falls back to a slug of `label`). */
27
+ id?: string;
28
+ /** Overrides the derived `data-testid` for this menu item. */
29
+ 'data-testid'?: string;
26
30
  };
27
- export declare const NavAccountMenu: ({ className, selectedAccountId, accounts, menuItems, bottomMenuItems, ...dialogProps }: AriaDialogProps & {
31
+ export declare const NavAccountMenu: ({ className, selectedAccountId, accounts, menuItems, bottomMenuItems, testIdPrefix, ...dialogProps }: AriaDialogProps & {
28
32
  className?: string;
29
33
  /** Accounts to display in the "Switch account" list. */
30
34
  accounts?: NavAccountType[];
@@ -33,8 +37,10 @@ export declare const NavAccountMenu: ({ className, selectedAccountId, accounts,
33
37
  menuItems?: NavAccountMenuItemType[];
34
38
  /** Bottom-section menu items (e.g. Sign out). */
35
39
  bottomMenuItems?: NavAccountMenuItemType[];
40
+ /** Resolved testid of the account trigger used to derive each menu item's `data-testid`. */
41
+ testIdPrefix?: string;
36
42
  }) => import("react").JSX.Element;
37
- export declare const NavAccountCard: ({ popoverPlacement, selectedAccountId, items, avatarRounded, menuItems, bottomMenuItems, }: {
43
+ export declare const NavAccountCard: ({ popoverPlacement, selectedAccountId, items, avatarRounded, menuItems, bottomMenuItems, "data-testid": dataTestId, }: {
38
44
  popoverPlacement?: Placement;
39
45
  /** ID of the currently active account. Must match one of the `items` ids. */
40
46
  selectedAccountId: string;
@@ -45,5 +51,7 @@ export declare const NavAccountCard: ({ popoverPlacement, selectedAccountId, ite
45
51
  menuItems?: NavAccountMenuItemType[];
46
52
  /** Bottom-section menu items (e.g. Sign out). */
47
53
  bottomMenuItems?: NavAccountMenuItemType[];
54
+ /** Overrides the derived `data-testid` for the account trigger (defaults to `<root>--account`). */
55
+ "data-testid"?: string;
48
56
  }) => import("react").JSX.Element | null;
49
57
  //# sourceMappingURL=nav-account-card.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-account-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-account-card.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvF,MAAM,MAAM,cAAc,GAAG;IAC3B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,gGAAgG;IAChG,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,wFAO5B,eAAe,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,iDAAiD;IACjD,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC5C,gCAiFA,CAAC;AAiCF,eAAO,MAAM,cAAc,GAAI,4FAO5B;IACD,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,6EAA6E;IAC7E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,iDAAiD;IACjD,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;CAC5C,uCA6CA,CAAC"}
1
+ {"version":3,"file":"nav-account-card.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-account-card.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,EAAE,EAAkB,MAAM,OAAO,CAAC;AAEhD,OAAO,KAAK,EAAE,WAAW,IAAI,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAGvF,MAAM,MAAM,cAAc,GAAG;IAC3B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,kCAAkC;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,gGAAgG;IAChG,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;CAC9B,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qBAAqB;IACrB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iGAAiG;IACjG,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,8DAA8D;IAC9D,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,sGAQ5B,eAAe,GAAG;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,4DAA4D;IAC5D,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,iDAAiD;IACjD,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,4FAA4F;IAC5F,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,gCAkGA,CAAC;AAiCF,eAAO,MAAM,cAAc,GAAI,uHAQ5B;IACD,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,6EAA6E;IAC7E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,wDAAwD;IACxD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4DAA4D;IAC5D,SAAS,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrC,iDAAiD;IACjD,eAAe,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC3C,mGAAmG;IACnG,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,uCAwDA,CAAC"}
@@ -5,11 +5,13 @@ import { Button as Button$1 } from '@flipdish/ui-library/components/atoms/Button
5
5
  import { RadioButtonBase } from '@flipdish/ui-library/components/atoms/RadioButton';
6
6
  import { useBreakpoint } from '@flipdish/ui-library/hooks/useBreakpoints';
7
7
  import { cx } from '@flipdish/ui-library/utilities/cx';
8
+ import { useResolvedTestId, joinTestId, slugifyTestId } from '@flipdish/ui-library/utilities/testIdUtils';
8
9
  import { useFocusManager } from '@react-aria/focus';
9
10
  import { useRef, useCallback, useEffect } from 'react';
10
11
  import { DialogTrigger, Button, Popover, Dialog } from 'react-aria-components';
11
12
 
12
- const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems = [], bottomMenuItems = [], ...dialogProps }) => {
13
+ const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems = [], bottomMenuItems = [], testIdPrefix, ...dialogProps }) => {
14
+ const menuItemTestId = (item) => item['data-testid'] ?? (testIdPrefix ? joinTestId(testIdPrefix, `menu-item-${item.id ?? slugifyTestId(item.label)}`) : undefined);
13
15
  const focusManager = useFocusManager();
14
16
  const dialogRef = useRef(null);
15
17
  const onKeyDown = useCallback((e) => {
@@ -33,26 +35,27 @@ const NavAccountMenu = ({ className, selectedAccountId, accounts = [], menuItems
33
35
  }
34
36
  };
35
37
  }, [onKeyDown]);
36
- return (jsxs(Dialog, { ...dialogProps, ref: dialogRef, className: cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [jsxs("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: [menuItems.length > 0 && (jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) })), jsxs("div", { className: cx('flex flex-col gap-0.5 py-1.5', menuItems.length > 0 && 'border-t border-secondary'), children: [jsx("div", { className: "px-3 pt-1.5 pb-1 text-xs font-semibold text-tertiary", children: "Switch account" }), jsx("div", { className: "flex flex-col gap-0.5 px-1.5", children: accounts.map((account) => (
38
+ return (jsxs(Dialog, { ...dialogProps, ref: dialogRef, className: cx('w-66 rounded-xl bg-secondary_alt shadow-lg ring ring-secondary_alt outline-hidden', className), children: [jsxs("div", { className: "rounded-xl bg-primary ring-1 ring-secondary", children: [menuItems.length > 0 && (jsx("div", { className: "flex flex-col gap-0.5 py-1.5", children: menuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick, "data-testid": menuItemTestId(item) }, item.label))) })), jsxs("div", { className: cx('flex flex-col gap-0.5 py-1.5', menuItems.length > 0 && 'border-t border-secondary'), children: [jsx("div", { className: "px-3 pt-1.5 pb-1 text-xs font-semibold text-tertiary", children: "Switch account" }), jsx("div", { className: "flex flex-col gap-0.5 px-1.5", children: accounts.map((account) => (
37
39
  // biome-ignore lint/a11y/useButtonType: using a button element for the account switch
38
- jsxs("button", { className: cx('relative w-full cursor-pointer rounded-md px-2 py-1.5 text-left outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover focus:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', account.id === selectedAccountId && 'bg-primary_hover'), children: [jsx(AvatarLabelGroup, { status: account.status, size: "md", src: account.avatar, title: account.name, subtitle: account.email }), jsx(RadioButtonBase, { isSelected: account.id === selectedAccountId, className: "absolute top-2 right-2" })] }, account.id))) })] }), jsx("div", { className: "flex flex-col gap-2 px-2 pt-0.5 pb-2", children: jsx(Button$1, { iconLeading: Plus, color: "secondary", size: "sm", children: "Add account" }) })] }), bottomMenuItems.length > 0 && (jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick }, item.label))) }))] }));
40
+ jsxs("button", { className: cx('relative w-full cursor-pointer rounded-md px-2 py-1.5 text-left outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover focus:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', account.id === selectedAccountId && 'bg-primary_hover'), children: [jsx(AvatarLabelGroup, { status: account.status, size: "md", src: account.avatar, title: account.name, subtitle: account.email }), jsx(RadioButtonBase, { isSelected: account.id === selectedAccountId, className: "absolute top-2 right-2" })] }, account.id))) })] }), jsx("div", { className: "flex flex-col gap-2 px-2 pt-0.5 pb-2", children: jsx(Button$1, { iconLeading: Plus, color: "secondary", size: "sm", children: "Add account" }) })] }), bottomMenuItems.length > 0 && (jsx("div", { className: "pt-1 pb-1.5", children: bottomMenuItems.map((item) => (jsx(NavAccountCardMenuItem, { label: item.label, icon: item.icon, shortcut: item.shortcut, onClick: item.onClick, "data-testid": menuItemTestId(item) }, item.label))) }))] }));
39
41
  };
40
42
  const NavAccountCardMenuItem = ({ icon: Icon, label, shortcut, ...buttonProps }) => {
41
43
  return (jsx("button", { ...buttonProps, className: cx('group/item w-full cursor-pointer px-1.5 focus:outline-hidden', buttonProps.className), children: jsxs("div", { className: cx('flex w-full items-center justify-between gap-3 rounded-md p-2 group-hover/item:bg-primary_hover',
42
44
  // Focus styles.
43
45
  'outline-focus-ring group-focus-visible/item:outline-2 group-focus-visible/item:outline-offset-2'), children: [jsxs("div", { className: "flex gap-2 text-sm font-semibold text-secondary group-hover/item:text-secondary_hover", children: [Icon && jsx(Icon, { className: "size-5 text-fg-quaternary group-hover/item:text-fg-quaternary_hover" }), " ", label] }), shortcut && (jsx("kbd", { className: "flex rounded px-1 py-px font-body text-xs font-medium text-tertiary ring-1 ring-secondary ring-inset", children: shortcut }))] }) }));
44
46
  };
45
- const NavAccountCard = ({ popoverPlacement, selectedAccountId, items, avatarRounded, menuItems, bottomMenuItems, }) => {
47
+ const NavAccountCard = ({ popoverPlacement, selectedAccountId, items, avatarRounded, menuItems, bottomMenuItems, 'data-testid': dataTestId, }) => {
46
48
  const triggerRef = useRef(null);
47
49
  const isDesktop = useBreakpoint('lg');
50
+ const accountTestId = useResolvedTestId({ testId: dataTestId, segment: 'account', rootName: 'header-navigation' });
48
51
  const selectedAccount = items.find((account) => account.id === selectedAccountId);
49
52
  if (!selectedAccount) {
50
53
  console.warn(`Account with ID ${selectedAccountId} not found in <NavAccountCard />`);
51
54
  return null;
52
55
  }
53
- return (jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl p-3 ring-1 ring-secondary ring-inset", children: [jsx(AvatarLabelGroup, { size: "md", src: selectedAccount.avatar, title: selectedAccount.name, subtitle: selectedAccount.email, status: selectedAccount.status, rounded: avatarRounded }), jsxs(DialogTrigger, { children: [jsx(Button, { className: "absolute top-2 right-2 flex cursor-pointer items-center justify-center rounded-md p-1.5 text-fg-quaternary outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover hover:text-fg-quaternary_hover focus-visible:outline-2 focus-visible:outline-offset-2 pressed:bg-primary_hover pressed:text-fg-quaternary_hover", children: jsx(ChevronSelectorVertical, { className: "size-4 shrink-0 stroke-[2.25px]" }) }), jsx(Popover, { placement: popoverPlacement ?? (isDesktop ? 'right bottom' : 'top right'), triggerRef: triggerRef, offset: 8, className: ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
56
+ return (jsxs("div", { ref: triggerRef, className: "relative flex items-center gap-3 rounded-xl p-3 ring-1 ring-secondary ring-inset", children: [jsx(AvatarLabelGroup, { size: "md", src: selectedAccount.avatar, title: selectedAccount.name, subtitle: selectedAccount.email, status: selectedAccount.status, rounded: avatarRounded }), jsxs(DialogTrigger, { children: [jsx(Button, { "data-testid": accountTestId, "aria-label": "Open account menu", className: "absolute top-2 right-2 flex cursor-pointer items-center justify-center rounded-md p-1.5 text-fg-quaternary outline-focus-ring transition duration-100 ease-linear hover:bg-primary_hover hover:text-fg-quaternary_hover focus-visible:outline-2 focus-visible:outline-offset-2 pressed:bg-primary_hover pressed:text-fg-quaternary_hover", children: jsx(ChevronSelectorVertical, { className: "size-4 shrink-0 stroke-[2.25px]" }) }), jsx(Popover, { placement: popoverPlacement ?? (isDesktop ? 'right bottom' : 'top right'), triggerRef: triggerRef, offset: 8, className: ({ isEntering, isExiting }) => cx('origin-(--trigger-anchor-point) will-change-transform', isEntering &&
54
57
  'duration-150 ease-out animate-in fade-in placement-right:slide-in-from-left-0.5 placement-top:slide-in-from-bottom-0.5 placement-bottom:slide-in-from-top-0.5', isExiting &&
55
- 'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsx(NavAccountMenu, { selectedAccountId: selectedAccountId, accounts: items, menuItems: menuItems, bottomMenuItems: bottomMenuItems }) })] })] }));
58
+ 'duration-100 ease-in animate-out fade-out placement-right:slide-out-to-left-0.5 placement-top:slide-out-to-bottom-0.5 placement-bottom:slide-out-to-top-0.5'), children: jsx(NavAccountMenu, { selectedAccountId: selectedAccountId, accounts: items, menuItems: menuItems, bottomMenuItems: bottomMenuItems, testIdPrefix: accountTestId }) })] })] }));
56
59
  };
57
60
 
58
61
  export { NavAccountCard, NavAccountMenu };
@@ -1 +1 @@
1
- {"version":3,"file":"nav-account-card.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["_jsxs","AriaDialog","_jsx","Button","AriaDialogTrigger","AriaButton","AriaPopover"],"mappings":"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"}
1
+ {"version":3,"file":"nav-account-card.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-account-card.tsx"],"sourcesContent":[null],"names":["_jsxs","AriaDialog","_jsx","Button","AriaDialogTrigger","AriaButton","AriaPopover"],"mappings":"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"}
@@ -5,9 +5,9 @@ var Tooltip = require('@flipdish/ui-library/components/atoms/Tooltip');
5
5
  var cx = require('@flipdish/ui-library/utilities/cx');
6
6
  var reactAriaComponents = require('react-aria-components');
7
7
 
8
- const NavButton = ({ current, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children }) => {
8
+ const NavButton = ({ current, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children, 'data-testid': dataTestId, }) => {
9
9
  const iconOnly = !children;
10
- return (jsxRuntime.jsx(Tooltip.Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsxRuntime.jsx(reactAriaComponents.Pressable, { children: jsxRuntime.jsxs("a", { href: href, "aria-label": label, onClick: onClick, className: cx.cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-primary outline-focus-ring transition duration-100 ease-linear select-none hover:bg-primary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', current && 'bg-secondary hover:bg-secondary_hover', iconOnly ? 'size-9' : 'px-2 py-1.5', className), children: [Icon && (jsxRuntime.jsx(Icon, { "aria-hidden": "true", className: cx.cx('size-5 shrink-0 text-fg-quaternary transition-inherit-all group-hover/item:text-fg-quaternary_hover', current && 'text-fg-quaternary_hover') })), children && (jsxRuntime.jsx("span", { className: cx.cx('px-0.5 text-sm font-semibold transition duration-100 ease-linear group-hover/item:text-secondary_hover', current && 'text-secondary_hover'), children: children }))] }) }) }));
10
+ return (jsxRuntime.jsx(Tooltip.Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsxRuntime.jsx(reactAriaComponents.Pressable, { children: jsxRuntime.jsxs("a", { href: href, "data-testid": dataTestId, "aria-label": label, onClick: onClick, className: cx.cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-primary outline-focus-ring transition duration-100 ease-linear select-none hover:bg-primary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', current && 'bg-secondary hover:bg-secondary_hover', iconOnly ? 'size-9' : 'px-2 py-1.5', className), children: [Icon && (jsxRuntime.jsx(Icon, { "aria-hidden": "true", className: cx.cx('size-5 shrink-0 text-fg-quaternary transition-inherit-all group-hover/item:text-fg-quaternary_hover', current && 'text-fg-quaternary_hover') })), children && (jsxRuntime.jsx("span", { className: cx.cx('px-0.5 text-sm font-semibold transition duration-100 ease-linear group-hover/item:text-secondary_hover', current && 'text-secondary_hover'), children: children }))] }) }) }));
11
11
  };
12
12
 
13
13
  exports.NavButton = NavButton;
@@ -1 +1 @@
1
- {"version":3,"file":"nav-button.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","Tooltip","Pressable","_jsxs","cx"],"mappings":";;;;;;;AA4BO,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,KAAI;AAC1I,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ;IAE1B,QACEA,eAACC,eAAO,EAAA,EAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,YACpED,cAAA,CAACE,6BAAS,EAAA,EAAA,QAAA,EACRC,eAAA,CAAA,GAAA,EAAA,EACE,IAAI,EAAE,IAAI,EAAA,YAAA,EACE,KAAK,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,KAAE,CACX,4QAA4Q,EAC5Q,OAAO,IAAI,uCAAuC,EAClD,QAAQ,GAAG,QAAQ,GAAG,aAAa,EACnC,SAAS,CACV,EAAA,QAAA,EAAA,CAEA,IAAI,KACHJ,eAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAEI,KAAE,CACX,qGAAqG,EACrG,OAAO,IAAI,0BAA0B,CACtC,EAAA,CACD,CACH,EAEA,QAAQ,KACPJ,cAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAEI,KAAE,CACX,wGAAwG,EACxG,OAAO,IAAI,sBAAsB,CAClC,YAEA,QAAQ,EAAA,CACJ,CACR,CAAA,EAAA,CACC,EAAA,CACM,EAAA,CACJ;AAEd;;;;"}
1
+ {"version":3,"file":"nav-button.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","Tooltip","Pressable","_jsxs","cx"],"mappings":";;;;;;;AA8BO,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,SAAS,EACT,gBAAgB,GAAG,OAAO,EAC1B,OAAO,EACP,QAAQ,EACR,aAAa,EAAE,UAAU,GACV,KAAI;AACnB,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ;IAE1B,QACEA,eAACC,eAAO,EAAA,EAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,YACpED,cAAA,CAACE,6BAAS,EAAA,EAAA,QAAA,EACRC,eAAA,CAAA,GAAA,EAAA,EACE,IAAI,EAAE,IAAI,EAAA,aAAA,EACG,UAAU,gBACX,KAAK,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,KAAE,CACX,4QAA4Q,EAC5Q,OAAO,IAAI,uCAAuC,EAClD,QAAQ,GAAG,QAAQ,GAAG,aAAa,EACnC,SAAS,CACV,aAEA,IAAI,KACHJ,cAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAEI,KAAE,CACX,qGAAqG,EACrG,OAAO,IAAI,0BAA0B,CACtC,EAAA,CACD,CACH,EAEA,QAAQ,KACPJ,cAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAEI,KAAE,CACX,wGAAwG,EACxG,OAAO,IAAI,sBAAsB,CAClC,YAEA,QAAQ,EAAA,CACJ,CACR,CAAA,EAAA,CACC,EAAA,CACM,EAAA,CACJ;AAEd;;;;"}
@@ -18,9 +18,11 @@ interface NavButtonProps {
18
18
  className?: string;
19
19
  /** Placement of the tooltip. */
20
20
  tooltipPlacement?: 'top' | 'right' | 'bottom' | 'left';
21
+ /** Test id applied to the rendered anchor. */
22
+ 'data-testid'?: string;
21
23
  /** Content to display. */
22
24
  children?: ReactNode;
23
25
  }
24
- export declare const NavButton: ({ current, label, href, icon: Icon, className, tooltipPlacement, onClick, children }: NavButtonProps) => import("react").JSX.Element;
26
+ export declare const NavButton: ({ current, label, href, icon: Icon, className, tooltipPlacement, onClick, children, "data-testid": dataTestId, }: NavButtonProps) => import("react").JSX.Element;
25
27
  export {};
26
28
  //# sourceMappingURL=nav-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-button.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,UAAU,cAAc;IACtB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,GAAI,sFAAgG,cAAc,gCAyCvI,CAAC"}
1
+ {"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-button.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAG9D,UAAU,cAAc;IACtB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,qDAAqD;IACrD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClC,8CAA8C;IAC9C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,gBAAgB,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACvD,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,GAAI,kHAUvB,cAAc,gCA0ChB,CAAC"}
@@ -3,9 +3,9 @@ import { Tooltip } from '@flipdish/ui-library/components/atoms/Tooltip';
3
3
  import { cx } from '@flipdish/ui-library/utilities/cx';
4
4
  import { Pressable } from 'react-aria-components';
5
5
 
6
- const NavButton = ({ current, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children }) => {
6
+ const NavButton = ({ current, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children, 'data-testid': dataTestId, }) => {
7
7
  const iconOnly = !children;
8
- return (jsx(Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsx(Pressable, { children: jsxs("a", { href: href, "aria-label": label, onClick: onClick, className: cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-primary outline-focus-ring transition duration-100 ease-linear select-none hover:bg-primary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', current && 'bg-secondary hover:bg-secondary_hover', iconOnly ? 'size-9' : 'px-2 py-1.5', className), children: [Icon && (jsx(Icon, { "aria-hidden": "true", className: cx('size-5 shrink-0 text-fg-quaternary transition-inherit-all group-hover/item:text-fg-quaternary_hover', current && 'text-fg-quaternary_hover') })), children && (jsx("span", { className: cx('px-0.5 text-sm font-semibold transition duration-100 ease-linear group-hover/item:text-secondary_hover', current && 'text-secondary_hover'), children: children }))] }) }) }));
8
+ return (jsx(Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsx(Pressable, { children: jsxs("a", { href: href, "data-testid": dataTestId, "aria-label": label, onClick: onClick, className: cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-primary outline-focus-ring transition duration-100 ease-linear select-none hover:bg-primary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', current && 'bg-secondary hover:bg-secondary_hover', iconOnly ? 'size-9' : 'px-2 py-1.5', className), children: [Icon && (jsx(Icon, { "aria-hidden": "true", className: cx('size-5 shrink-0 text-fg-quaternary transition-inherit-all group-hover/item:text-fg-quaternary_hover', current && 'text-fg-quaternary_hover') })), children && (jsx("span", { className: cx('px-0.5 text-sm font-semibold transition duration-100 ease-linear group-hover/item:text-secondary_hover', current && 'text-secondary_hover'), children: children }))] }) }) }));
9
9
  };
10
10
 
11
11
  export { NavButton };
@@ -1 +1 @@
1
- {"version":3,"file":"nav-button.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;AA4BO,MAAM,SAAS,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,GAAG,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,KAAI;AAC1I,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ;IAE1B,QACEA,IAAC,OAAO,EAAA,EAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,YACpEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACRC,IAAA,CAAA,GAAA,EAAA,EACE,IAAI,EAAE,IAAI,EAAA,YAAA,EACE,KAAK,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,4QAA4Q,EAC5Q,OAAO,IAAI,uCAAuC,EAClD,QAAQ,GAAG,QAAQ,GAAG,aAAa,EACnC,SAAS,CACV,EAAA,QAAA,EAAA,CAEA,IAAI,KACHD,IAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,qGAAqG,EACrG,OAAO,IAAI,0BAA0B,CACtC,EAAA,CACD,CACH,EAEA,QAAQ,KACPA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,OAAO,IAAI,sBAAsB,CAClC,YAEA,QAAQ,EAAA,CACJ,CACR,CAAA,EAAA,CACC,EAAA,CACM,EAAA,CACJ;AAEd;;;;"}
1
+ {"version":3,"file":"nav-button.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;AA8BO,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,SAAS,EACT,gBAAgB,GAAG,OAAO,EAC1B,OAAO,EACP,QAAQ,EACR,aAAa,EAAE,UAAU,GACV,KAAI;AACnB,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ;IAE1B,QACEA,IAAC,OAAO,EAAA,EAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,YACpEA,GAAA,CAAC,SAAS,EAAA,EAAA,QAAA,EACRC,IAAA,CAAA,GAAA,EAAA,EACE,IAAI,EAAE,IAAI,EAAA,aAAA,EACG,UAAU,gBACX,KAAK,EACjB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,4QAA4Q,EAC5Q,OAAO,IAAI,uCAAuC,EAClD,QAAQ,GAAG,QAAQ,GAAG,aAAa,EACnC,SAAS,CACV,aAEA,IAAI,KACHD,GAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,qGAAqG,EACrG,OAAO,IAAI,0BAA0B,CACtC,EAAA,CACD,CACH,EAEA,QAAQ,KACPA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,OAAO,IAAI,sBAAsB,CAClC,YAEA,QAAQ,EAAA,CACJ,CACR,CAAA,EAAA,CACC,EAAA,CACM,EAAA,CACJ;AAEd;;;;"}
@@ -10,7 +10,7 @@ const styles = cx.sortCx({
10
10
  root: 'group relative flex max-h-9 w-full cursor-pointer items-center rounded-md bg-primary outline-focus-ring transition duration-100 ease-linear select-none hover:bg-primary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2',
11
11
  rootSelected: 'bg-secondary hover:bg-secondary_hover',
12
12
  });
13
- const NavItemBase = ({ current, type, badge, href, icon: Icon, children, truncate = true, onClick }) => {
13
+ const NavItemBase = ({ current, type, badge, href, icon: Icon, children, truncate = true, onClick, 'data-testid': dataTestId, }) => {
14
14
  const iconElement = Icon && (jsxRuntime.jsx(Icon, { "aria-hidden": "true", className: cx.cx('mr-2 size-5 shrink-0 text-fg-quaternary transition-inherit-all group-hover/item:text-fg-quaternary_hover', current && 'text-fg-quaternary_hover') }));
15
15
  const badgeElement = badge && (typeof badge === 'string' || typeof badge === 'number') ? (jsxRuntime.jsx(Badge.Badge, { className: "ml-3", color: "gray", type: "pill-color", size: "sm", children: badge })) : (badge);
16
16
  const labelElement = (jsxRuntime.jsx("span", { className: cx.cx('flex-1 text-sm font-semibold text-secondary transition-inherit-all group-hover/item:text-secondary_hover', truncate && 'truncate', current && 'text-secondary_hover'), children: children }));
@@ -19,12 +19,12 @@ const NavItemBase = ({ current, type, badge, href, icon: Icon, children, truncat
19
19
  if (type === 'collapsible') {
20
20
  return (
21
21
  // biome-ignore lint/a11y/noStaticElementInteractions: This is a summary element
22
- jsxRuntime.jsxs("summary", { className: cx.cx('p-2', styles.root, current && styles.rootSelected), onClick: onClick, children: [iconElement, labelElement, badgeElement, jsxRuntime.jsx(uiIcons.ChevronDown, { "aria-hidden": "true", className: "ml-3 size-4 shrink-0 stroke-[2.5px] text-fg-quaternary in-open:-scale-y-100" })] }));
22
+ jsxRuntime.jsxs("summary", { "data-testid": dataTestId, className: cx.cx('p-2', styles.root, current && styles.rootSelected), onClick: onClick, children: [iconElement, labelElement, badgeElement, jsxRuntime.jsx(uiIcons.ChevronDown, { "aria-hidden": "true", className: "ml-3 size-4 shrink-0 stroke-[2.5px] text-fg-quaternary in-open:-scale-y-100" })] }));
23
23
  }
24
24
  if (type === 'collapsible-child') {
25
- return (jsxRuntime.jsxs(reactAriaComponents.Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx.cx('py-2 pr-3 pl-10', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
25
+ return (jsxRuntime.jsxs(reactAriaComponents.Link, { href: href, "data-testid": dataTestId, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx.cx('py-2 pr-3 pl-10', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
26
26
  }
27
- return (jsxRuntime.jsxs(reactAriaComponents.Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx.cx('group/item p-2', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [iconElement, labelElement, externalIcon, badgeElement] }));
27
+ return (jsxRuntime.jsxs(reactAriaComponents.Link, { href: href, "data-testid": dataTestId, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx.cx('group/item p-2', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [iconElement, labelElement, externalIcon, badgeElement] }));
28
28
  };
29
29
 
30
30
  exports.NavItemBase = NavItemBase;
@@ -1 +1 @@
1
- {"version":3,"file":"nav-item.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["sortCx","_jsx","cx","Badge","Share04","_jsxs","ChevronDown","AriaLink"],"mappings":";;;;;;;;AAQA,MAAM,MAAM,GAAGA,SAAM,CAAC;AACpB,IAAA,IAAI,EAAE,0PAA0P;AAChQ,IAAA,YAAY,EAAE,uCAAuC;AACtD,CAAA,CAAC;AAyBK,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,EAAoB,KAAI;IAC9H,MAAM,WAAW,GAAG,IAAI,KACtBC,cAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAEC,KAAE,CACX,0GAA0G,EAC1G,OAAO,IAAI,0BAA0B,CACtC,EAAA,CACD,CACH;IAED,MAAM,YAAY,GAChB,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,IAC/DD,cAAA,CAACE,WAAK,EAAA,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,EAAA,QAAA,EAC7D,KAAK,GACA,KAER,KAAK,CACN;IAEH,MAAM,YAAY,IAChBF,cAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAEC,KAAE,CACX,0GAA0G,EAC1G,QAAQ,IAAI,UAAU,EACtB,OAAO,IAAI,sBAAsB,CAClC,EAAA,QAAA,EAEA,QAAQ,EAAA,CACJ,CACR;IAED,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,IAAID,cAAA,CAACG,eAAO,EAAA,EAAC,SAAS,EAAC,0CAA0C,EAAA,CAAG;AAEnG,IAAA,IAAI,IAAI,KAAK,aAAa,EAAE;QAC1B;;AAEE,QAAAC,eAAA,CAAA,SAAA,EAAA,EAAS,SAAS,EAAEH,KAAE,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAA,QAAA,EAAA,CACzF,WAAW,EAEX,YAAY,EAEZ,YAAY,EAEbD,cAAA,CAACK,mBAAW,EAAA,EAAA,aAAA,EAAa,MAAM,EAAC,SAAS,EAAC,6EAA6E,EAAA,CAAG,CAAA,EAAA,CAClH;IAEd;AAEA,IAAA,IAAI,IAAI,KAAK,mBAAmB,EAAE;AAChC,QAAA,QACED,eAAA,CAACE,wBAAQ,EAAA,EACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,EACvC,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAEL,KAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAC7E,OAAO,EAAE,OAAO,EAAA,cAAA,EACF,OAAO,GAAG,MAAM,GAAG,SAAS,EAAA,QAAA,EAAA,CAEzC,YAAY,EACZ,YAAY,EACZ,YAAY,CAAA,EAAA,CACJ;IAEf;AAEA,IAAA,QACEG,eAAA,CAACE,wBAAQ,EAAA,EACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,EACvC,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAEL,KAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAC5E,OAAO,EAAE,OAAO,EAAA,cAAA,EACF,OAAO,GAAG,MAAM,GAAG,SAAS,EAAA,QAAA,EAAA,CAEzC,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,CAAA,EAAA,CACJ;AAEf;;;;"}
1
+ {"version":3,"file":"nav-item.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["sortCx","_jsx","cx","Badge","Share04","_jsxs","ChevronDown","AriaLink"],"mappings":"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"}
@@ -18,9 +18,11 @@ interface NavItemBaseProps {
18
18
  truncate?: boolean;
19
19
  /** Handler for click events. */
20
20
  onClick?: MouseEventHandler;
21
+ /** Test id applied to the rendered element. */
22
+ 'data-testid'?: string;
21
23
  /** Content to display. */
22
24
  children?: ReactNode;
23
25
  }
24
- export declare const NavItemBase: ({ current, type, badge, href, icon: Icon, children, truncate, onClick }: NavItemBaseProps) => import("react").JSX.Element;
26
+ export declare const NavItemBase: ({ current, type, badge, href, icon: Icon, children, truncate, onClick, "data-testid": dataTestId, }: NavItemBaseProps) => import("react").JSX.Element;
25
27
  export {};
26
28
  //# sourceMappingURL=nav-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-item.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ9E,UAAU,gBAAgB;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,mBAAmB,CAAC;IACnD,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5C,wBAAwB;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,yEAAgF,gBAAgB,gCAkF3H,CAAC"}
1
+ {"version":3,"file":"nav-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-item.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ9E,UAAU,gBAAgB;IACxB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gDAAgD;IAChD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,mBAAmB,CAAC;IACnD,iCAAiC;IACjC,IAAI,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC5C,wBAAwB;IACxB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,gDAAgD;IAChD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,qGAUzB,gBAAgB,gCAoFlB,CAAC"}
@@ -8,7 +8,7 @@ const styles = sortCx({
8
8
  root: 'group relative flex max-h-9 w-full cursor-pointer items-center rounded-md bg-primary outline-focus-ring transition duration-100 ease-linear select-none hover:bg-primary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2',
9
9
  rootSelected: 'bg-secondary hover:bg-secondary_hover',
10
10
  });
11
- const NavItemBase = ({ current, type, badge, href, icon: Icon, children, truncate = true, onClick }) => {
11
+ const NavItemBase = ({ current, type, badge, href, icon: Icon, children, truncate = true, onClick, 'data-testid': dataTestId, }) => {
12
12
  const iconElement = Icon && (jsx(Icon, { "aria-hidden": "true", className: cx('mr-2 size-5 shrink-0 text-fg-quaternary transition-inherit-all group-hover/item:text-fg-quaternary_hover', current && 'text-fg-quaternary_hover') }));
13
13
  const badgeElement = badge && (typeof badge === 'string' || typeof badge === 'number') ? (jsx(Badge, { className: "ml-3", color: "gray", type: "pill-color", size: "sm", children: badge })) : (badge);
14
14
  const labelElement = (jsx("span", { className: cx('flex-1 text-sm font-semibold text-secondary transition-inherit-all group-hover/item:text-secondary_hover', truncate && 'truncate', current && 'text-secondary_hover'), children: children }));
@@ -17,12 +17,12 @@ const NavItemBase = ({ current, type, badge, href, icon: Icon, children, truncat
17
17
  if (type === 'collapsible') {
18
18
  return (
19
19
  // biome-ignore lint/a11y/noStaticElementInteractions: This is a summary element
20
- jsxs("summary", { className: cx('p-2', styles.root, current && styles.rootSelected), onClick: onClick, children: [iconElement, labelElement, badgeElement, jsx(ChevronDown, { "aria-hidden": "true", className: "ml-3 size-4 shrink-0 stroke-[2.5px] text-fg-quaternary in-open:-scale-y-100" })] }));
20
+ jsxs("summary", { "data-testid": dataTestId, className: cx('p-2', styles.root, current && styles.rootSelected), onClick: onClick, children: [iconElement, labelElement, badgeElement, jsx(ChevronDown, { "aria-hidden": "true", className: "ml-3 size-4 shrink-0 stroke-[2.5px] text-fg-quaternary in-open:-scale-y-100" })] }));
21
21
  }
22
22
  if (type === 'collapsible-child') {
23
- return (jsxs(Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx('py-2 pr-3 pl-10', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
23
+ return (jsxs(Link, { href: href, "data-testid": dataTestId, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx('py-2 pr-3 pl-10', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
24
24
  }
25
- return (jsxs(Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx('group/item p-2', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [iconElement, labelElement, externalIcon, badgeElement] }));
25
+ return (jsxs(Link, { href: href, "data-testid": dataTestId, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx('group/item p-2', styles.root, current && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [iconElement, labelElement, externalIcon, badgeElement] }));
26
26
  };
27
27
 
28
28
  export { NavItemBase };
@@ -1 +1 @@
1
- {"version":3,"file":"nav-item.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":";;;;;;AAQA,MAAM,MAAM,GAAG,MAAM,CAAC;AACpB,IAAA,IAAI,EAAE,0PAA0P;AAChQ,IAAA,YAAY,EAAE,uCAAuC;AACtD,CAAA,CAAC;AAyBK,MAAM,WAAW,GAAG,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,GAAG,IAAI,EAAE,OAAO,EAAoB,KAAI;IAC9H,MAAM,WAAW,GAAG,IAAI,KACtBA,GAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,0GAA0G,EAC1G,OAAO,IAAI,0BAA0B,CACtC,EAAA,CACD,CACH;IAED,MAAM,YAAY,GAChB,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,IAC/DA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,EAAA,QAAA,EAC7D,KAAK,GACA,KAER,KAAK,CACN;IAEH,MAAM,YAAY,IAChBA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,0GAA0G,EAC1G,QAAQ,IAAI,UAAU,EACtB,OAAO,IAAI,sBAAsB,CAClC,EAAA,QAAA,EAEA,QAAQ,EAAA,CACJ,CACR;IAED,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,IAAIA,GAAA,CAAC,OAAO,EAAA,EAAC,SAAS,EAAC,0CAA0C,EAAA,CAAG;AAEnG,IAAA,IAAI,IAAI,KAAK,aAAa,EAAE;QAC1B;;AAEE,QAAAC,IAAA,CAAA,SAAA,EAAA,EAAS,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,EAAA,QAAA,EAAA,CACzF,WAAW,EAEX,YAAY,EAEZ,YAAY,EAEbD,GAAA,CAAC,WAAW,EAAA,EAAA,aAAA,EAAa,MAAM,EAAC,SAAS,EAAC,6EAA6E,EAAA,CAAG,CAAA,EAAA,CAClH;IAEd;AAEA,IAAA,IAAI,IAAI,KAAK,mBAAmB,EAAE;AAChC,QAAA,QACEC,IAAA,CAACC,IAAQ,EAAA,EACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,EACvC,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAC7E,OAAO,EAAE,OAAO,EAAA,cAAA,EACF,OAAO,GAAG,MAAM,GAAG,SAAS,EAAA,QAAA,EAAA,CAEzC,YAAY,EACZ,YAAY,EACZ,YAAY,CAAA,EAAA,CACJ;IAEf;AAEA,IAAA,QACED,IAAA,CAACC,IAAQ,EAAA,EACP,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,EACvC,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAC5E,OAAO,EAAE,OAAO,EAAA,cAAA,EACF,OAAO,GAAG,MAAM,GAAG,SAAS,EAAA,QAAA,EAAA,CAEzC,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,CAAA,EAAA,CACJ;AAEf;;;;"}
1
+ {"version":3,"file":"nav-item.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":";;;;;;AAQA,MAAM,MAAM,GAAG,MAAM,CAAC;AACpB,IAAA,IAAI,EAAE,0PAA0P;AAChQ,IAAA,YAAY,EAAE,uCAAuC;AACtD,CAAA,CAAC;AA2BK,MAAM,WAAW,GAAG,CAAC,EAC1B,OAAO,EACP,IAAI,EACJ,KAAK,EACL,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,QAAQ,EACR,QAAQ,GAAG,IAAI,EACf,OAAO,EACP,aAAa,EAAE,UAAU,GACR,KAAI;IACrB,MAAM,WAAW,GAAG,IAAI,KACtBA,GAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,0GAA0G,EAC1G,OAAO,IAAI,0BAA0B,CACtC,EAAA,CACD,CACH;IAED,MAAM,YAAY,GAChB,KAAK,KAAK,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,IAC/DA,GAAA,CAAC,KAAK,EAAA,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,MAAM,EAAC,IAAI,EAAC,YAAY,EAAC,IAAI,EAAC,IAAI,EAAA,QAAA,EAC7D,KAAK,GACA,KAER,KAAK,CACN;IAEH,MAAM,YAAY,IAChBA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,0GAA0G,EAC1G,QAAQ,IAAI,UAAU,EACtB,OAAO,IAAI,sBAAsB,CAClC,EAAA,QAAA,EAEA,QAAQ,EAAA,CACJ,CACR;IAED,MAAM,UAAU,GAAG,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC;IAC3C,MAAM,YAAY,GAAG,UAAU,IAAIA,GAAA,CAAC,OAAO,EAAA,EAAC,SAAS,EAAC,0CAA0C,EAAA,CAAG;AAEnG,IAAA,IAAI,IAAI,KAAK,aAAa,EAAE;QAC1B;;AAEE,QAAAC,IAAA,CAAA,SAAA,EAAA,EAAA,aAAA,EAAsB,UAAU,EAAE,SAAS,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,OAAO,aAClH,WAAW,EAEX,YAAY,EAEZ,YAAY,EAEbD,GAAA,CAAC,WAAW,EAAA,EAAA,aAAA,EAAa,MAAM,EAAC,SAAS,EAAC,6EAA6E,EAAA,CAAG,CAAA,EAAA,CAClH;IAEd;AAEA,IAAA,IAAI,IAAI,KAAK,mBAAmB,EAAE;AAChC,QAAA,QACEC,IAAA,CAACC,IAAQ,EAAA,EACP,IAAI,EAAE,IAAI,EAAA,aAAA,EACG,UAAU,EACvB,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,EACvC,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAC7E,OAAO,EAAE,OAAO,kBACF,OAAO,GAAG,MAAM,GAAG,SAAS,EAAA,QAAA,EAAA,CAEzC,YAAY,EACZ,YAAY,EACZ,YAAY,CAAA,EAAA,CACJ;IAEf;AAEA,IAAA,QACED,IAAA,CAACC,IAAQ,EAAA,EACP,IAAI,EAAE,IAAI,EAAA,aAAA,EACG,UAAU,EACvB,MAAM,EAAE,UAAU,GAAG,QAAQ,GAAG,OAAO,EACvC,GAAG,EAAC,qBAAqB,EACzB,SAAS,EAAE,EAAE,CAAC,gBAAgB,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,EAC5E,OAAO,EAAE,OAAO,EAAA,cAAA,EACF,OAAO,GAAG,MAAM,GAAG,SAAS,aAEzC,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,YAAY,CAAA,EAAA,CACJ;AAEf;;;;"}
@@ -2,10 +2,16 @@
2
2
 
3
3
  var jsxRuntime = require('react/jsx-runtime');
4
4
  var cx = require('@flipdish/ui-library/utilities/cx');
5
+ var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
5
6
  var navItem = require('./nav-item.cjs');
6
7
 
7
- const NavList = ({ activeUrl, items, className }) => {
8
+ const NavList = ({ activeUrl, items, className, testIdPrefix }) => {
8
9
  const activeItem = items.find((item) => item.href === activeUrl || item.items?.some((subItem) => subItem.href === activeUrl));
10
+ const itemTestId = (item) => item['data-testid'] ?? (testIdPrefix ? testIdUtils.joinTestId(testIdPrefix, `nav-item-${item.id ?? testIdUtils.slugifyTestId(item.label ?? '')}`) : undefined);
11
+ const subItemTestId = (parent, sub) => {
12
+ const parentId = itemTestId(parent);
13
+ return sub['data-testid'] ?? (parentId ? testIdUtils.joinTestId(parentId, `sub-item-${sub.id ?? testIdUtils.slugifyTestId(sub.label)}`) : undefined);
14
+ };
9
15
  return (jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col px-4 pt-5', className), children: items.map((item, index) => {
10
16
  if (item.divider) {
11
17
  return (
@@ -13,9 +19,9 @@ const NavList = ({ activeUrl, items, className }) => {
13
19
  jsxRuntime.jsx("li", { className: "w-full px-0.5 py-2", children: jsxRuntime.jsx("hr", { className: "h-px w-full border-none bg-border-secondary" }) }, index));
14
20
  }
15
21
  if (item.items?.length) {
16
- return (jsxRuntime.jsxs("details", { open: activeItem?.href === item.href, className: "appearance-none py-0.25", children: [jsxRuntime.jsx(navItem.NavItemBase, { href: item.href, badge: item.badge, icon: item.icon, type: "collapsible", children: item.label }), jsxRuntime.jsx("dd", { children: jsxRuntime.jsx("ul", { className: "pb-1", children: item.items.map((childItem) => (jsxRuntime.jsx("li", { className: "py-0.25", children: jsxRuntime.jsx(navItem.NavItemBase, { href: childItem.href, badge: childItem.badge, type: "collapsible-child", current: activeUrl === childItem.href, children: childItem.label }) }, childItem.label))) }) })] }, item.label));
22
+ return (jsxRuntime.jsxs("details", { open: activeItem?.href === item.href, className: "appearance-none py-0.25", children: [jsxRuntime.jsx(navItem.NavItemBase, { href: item.href, badge: item.badge, icon: item.icon, type: "collapsible", "data-testid": itemTestId(item), children: item.label }), jsxRuntime.jsx("dd", { children: jsxRuntime.jsx("ul", { className: "pb-1", children: item.items.map((childItem) => (jsxRuntime.jsx("li", { className: "py-0.25", children: jsxRuntime.jsx(navItem.NavItemBase, { href: childItem.href, badge: childItem.badge, type: "collapsible-child", current: activeUrl === childItem.href, "data-testid": subItemTestId(item, childItem), children: childItem.label }) }, childItem.label))) }) })] }, item.label));
17
23
  }
18
- return (jsxRuntime.jsx("li", { className: "py-px", children: jsxRuntime.jsx(navItem.NavItemBase, { type: "link", badge: item.badge, icon: item.icon, href: item.href, current: activeUrl === item.href, children: item.label }) }, item.label));
24
+ return (jsxRuntime.jsx("li", { className: "py-px", children: jsxRuntime.jsx(navItem.NavItemBase, { type: "link", badge: item.badge, icon: item.icon, href: item.href, current: activeUrl === item.href, "data-testid": itemTestId(item), children: item.label }) }, item.label));
19
25
  }) }));
20
26
  };
21
27
 
@@ -1 +1 @@
1
- {"version":3,"file":"nav-list.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["_jsx","cx","_jsxs","NavItemBase"],"mappings":";;;;;;AAeO,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAgB,KAAI;AACvE,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAE7H,QACEA,uBAAI,SAAS,EAAEC,KAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,YACpD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACzB,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB;;AAEE,gBAAAD,cAAA,CAAA,IAAA,EAAA,EAAgB,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAC5CA,cAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,6CAA6C,EAAA,CAAG,EAAA,EADvD,KAAK,CAET;YAET;AAEA,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBACtB,QACEE,eAAA,CAAA,SAAA,EAAA,EAA0B,IAAI,EAAE,UAAU,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACjGF,cAAA,CAACG,mBAAW,EAAA,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,aAAa,EAAA,QAAA,EACjF,IAAI,CAAC,KAAK,EAAA,CACC,EAEdH,cAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EACEA,cAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,MAAM,EAAA,QAAA,EACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,MACxBA,cAAA,CAAA,IAAA,EAAA,EAA0B,SAAS,EAAC,SAAS,EAAA,QAAA,EAC3CA,cAAA,CAACG,mBAAW,EAAA,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAC,mBAAmB,EAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,IAAI,EAAA,QAAA,EACtH,SAAS,CAAC,KAAK,EAAA,CACJ,EAAA,EAHP,SAAS,CAAC,KAAK,CAInB,CACN,CAAC,EAAA,CACC,EAAA,CACF,CAAA,EAAA,EAfO,IAAI,CAAC,KAAK,CAgBd;YAEd;YAEA,QACEH,uBAAqB,SAAS,EAAC,OAAO,EAAA,QAAA,EACpCA,cAAA,CAACG,mBAAW,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,EAAA,QAAA,EAC3G,IAAI,CAAC,KAAK,EAAA,CACC,EAAA,EAHP,IAAI,CAAC,KAAK,CAId;QAET,CAAC,CAAC,EAAA,CACC;AAET;;;;"}
1
+ {"version":3,"file":"nav-list.cjs","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["joinTestId","slugifyTestId","_jsx","cx","_jsxs","NavItemBase"],"mappings":";;;;;;;AAkBO,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAgB,KAAI;AACrF,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAE7H,IAAA,MAAM,UAAU,GAAG,CAAC,IAAsC,KACxD,IAAI,CAAC,aAAa,CAAC,KAAK,YAAY,GAAGA,sBAAU,CAAC,YAAY,EAAE,CAAA,SAAA,EAAY,IAAI,CAAC,EAAE,IAAIC,yBAAa,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAExI,IAAA,MAAM,aAAa,GAAG,CAAC,MAAwC,EAAE,GAAmB,KAAI;AACtF,QAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;AACnC,QAAA,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,GAAGD,sBAAU,CAAC,QAAQ,EAAE,CAAA,SAAA,EAAY,GAAG,CAAC,EAAE,IAAIC,yBAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,GAAG,SAAS,CAAC;AAC9H,IAAA,CAAC;IAED,QACEC,uBAAI,SAAS,EAAEC,KAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,YACpD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACzB,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB;;AAEE,gBAAAD,cAAA,CAAA,IAAA,EAAA,EAAgB,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAC5CA,cAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,6CAA6C,EAAA,CAAG,EAAA,EADvD,KAAK,CAET;YAET;AAEA,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;AACtB,gBAAA,QACEE,eAAA,CAAA,SAAA,EAAA,EAA0B,IAAI,EAAE,UAAU,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACjGF,cAAA,CAACG,mBAAW,EAAA,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,aAAa,EAAA,aAAA,EAAc,UAAU,CAAC,IAAI,CAAC,EAAA,QAAA,EAC/G,IAAI,CAAC,KAAK,EAAA,CACC,EAEdH,cAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EACEA,cAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,MAAM,EAAA,QAAA,EACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,MACxBA,cAAA,CAAA,IAAA,EAAA,EAA0B,SAAS,EAAC,SAAS,EAAA,QAAA,EAC3CA,cAAA,CAACG,mBAAW,EAAA,EACV,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,IAAI,EAAC,mBAAmB,EACxB,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,IAAI,EAAA,aAAA,EACxB,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA,QAAA,EAE1C,SAAS,CAAC,KAAK,EAAA,CACJ,EAAA,EATP,SAAS,CAAC,KAAK,CAUnB,CACN,CAAC,EAAA,CACC,EAAA,CACF,CAAA,EAAA,EArBO,IAAI,CAAC,KAAK,CAsBd;YAEd;YAEA,QACEH,cAAA,CAAA,IAAA,EAAA,EAAqB,SAAS,EAAC,OAAO,YACpCA,cAAA,CAACG,mBAAW,EAAA,EACV,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,EAAA,aAAA,EACnB,UAAU,CAAC,IAAI,CAAC,EAAA,QAAA,EAE5B,IAAI,CAAC,KAAK,EAAA,CACC,EAAA,EAVP,IAAI,CAAC,KAAK,CAWd;QAET,CAAC,CAAC,EAAA,CACC;AAET;;;;"}
@@ -6,7 +6,9 @@ interface NavListProps {
6
6
  className?: string;
7
7
  /** List of items to display. */
8
8
  items: (NavItemType | NavItemDividerType)[];
9
+ /** Resolved testid of the parent used to derive each item's `data-testid`. */
10
+ testIdPrefix?: string;
9
11
  }
10
- export declare const NavList: ({ activeUrl, items, className }: NavListProps) => import("react").JSX.Element;
12
+ export declare const NavList: ({ activeUrl, items, className, testIdPrefix }: NavListProps) => import("react").JSX.Element;
11
13
  export {};
12
14
  //# sourceMappingURL=nav-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-list.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-list.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGjF,UAAU,YAAY;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,KAAK,EAAE,CAAC,WAAW,GAAG,kBAAkB,CAAC,EAAE,CAAC;CAC7C;AAED,eAAO,MAAM,OAAO,GAAI,iCAAiC,YAAY,gCA+CpE,CAAC"}
1
+ {"version":3,"file":"nav-list.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-list.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAkB,MAAM,2BAA2B,CAAC;AAGjG,UAAU,YAAY;IACpB,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gCAAgC;IAChC,KAAK,EAAE,CAAC,WAAW,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAC5C,8EAA8E;IAC9E,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,OAAO,GAAI,+CAA+C,YAAY,gCAoElF,CAAC"}
@@ -1,9 +1,15 @@
1
1
  import { jsx, jsxs } from 'react/jsx-runtime';
2
2
  import { cx } from '@flipdish/ui-library/utilities/cx';
3
+ import { joinTestId, slugifyTestId } from '@flipdish/ui-library/utilities/testIdUtils';
3
4
  import { NavItemBase } from './nav-item.js';
4
5
 
5
- const NavList = ({ activeUrl, items, className }) => {
6
+ const NavList = ({ activeUrl, items, className, testIdPrefix }) => {
6
7
  const activeItem = items.find((item) => item.href === activeUrl || item.items?.some((subItem) => subItem.href === activeUrl));
8
+ const itemTestId = (item) => item['data-testid'] ?? (testIdPrefix ? joinTestId(testIdPrefix, `nav-item-${item.id ?? slugifyTestId(item.label ?? '')}`) : undefined);
9
+ const subItemTestId = (parent, sub) => {
10
+ const parentId = itemTestId(parent);
11
+ return sub['data-testid'] ?? (parentId ? joinTestId(parentId, `sub-item-${sub.id ?? slugifyTestId(sub.label)}`) : undefined);
12
+ };
7
13
  return (jsx("ul", { className: cx('flex flex-col px-4 pt-5', className), children: items.map((item, index) => {
8
14
  if (item.divider) {
9
15
  return (
@@ -11,9 +17,9 @@ const NavList = ({ activeUrl, items, className }) => {
11
17
  jsx("li", { className: "w-full px-0.5 py-2", children: jsx("hr", { className: "h-px w-full border-none bg-border-secondary" }) }, index));
12
18
  }
13
19
  if (item.items?.length) {
14
- return (jsxs("details", { open: activeItem?.href === item.href, className: "appearance-none py-0.25", children: [jsx(NavItemBase, { href: item.href, badge: item.badge, icon: item.icon, type: "collapsible", children: item.label }), jsx("dd", { children: jsx("ul", { className: "pb-1", children: item.items.map((childItem) => (jsx("li", { className: "py-0.25", children: jsx(NavItemBase, { href: childItem.href, badge: childItem.badge, type: "collapsible-child", current: activeUrl === childItem.href, children: childItem.label }) }, childItem.label))) }) })] }, item.label));
20
+ return (jsxs("details", { open: activeItem?.href === item.href, className: "appearance-none py-0.25", children: [jsx(NavItemBase, { href: item.href, badge: item.badge, icon: item.icon, type: "collapsible", "data-testid": itemTestId(item), children: item.label }), jsx("dd", { children: jsx("ul", { className: "pb-1", children: item.items.map((childItem) => (jsx("li", { className: "py-0.25", children: jsx(NavItemBase, { href: childItem.href, badge: childItem.badge, type: "collapsible-child", current: activeUrl === childItem.href, "data-testid": subItemTestId(item, childItem), children: childItem.label }) }, childItem.label))) }) })] }, item.label));
15
21
  }
16
- return (jsx("li", { className: "py-px", children: jsx(NavItemBase, { type: "link", badge: item.badge, icon: item.icon, href: item.href, current: activeUrl === item.href, children: item.label }) }, item.label));
22
+ return (jsx("li", { className: "py-px", children: jsx(NavItemBase, { type: "link", badge: item.badge, icon: item.icon, href: item.href, current: activeUrl === item.href, "data-testid": itemTestId(item), children: item.label }) }, item.label));
17
23
  }) }));
18
24
  };
19
25
 
@@ -1 +1 @@
1
- {"version":3,"file":"nav-list.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;AAeO,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAgB,KAAI;AACvE,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;IAE7H,QACEA,YAAI,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,YACpD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACzB,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB;;AAEE,gBAAAA,GAAA,CAAA,IAAA,EAAA,EAAgB,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAC5CA,GAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,6CAA6C,EAAA,CAAG,EAAA,EADvD,KAAK,CAET;YAET;AAEA,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;gBACtB,QACEC,IAAA,CAAA,SAAA,EAAA,EAA0B,IAAI,EAAE,UAAU,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACjGD,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,aAAa,EAAA,QAAA,EACjF,IAAI,CAAC,KAAK,EAAA,CACC,EAEdA,GAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EACEA,GAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,MAAM,EAAA,QAAA,EACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,MACxBA,GAAA,CAAA,IAAA,EAAA,EAA0B,SAAS,EAAC,SAAS,EAAA,QAAA,EAC3CA,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,IAAI,EAAC,mBAAmB,EAAC,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,IAAI,EAAA,QAAA,EACtH,SAAS,CAAC,KAAK,EAAA,CACJ,EAAA,EAHP,SAAS,CAAC,KAAK,CAInB,CACN,CAAC,EAAA,CACC,EAAA,CACF,CAAA,EAAA,EAfO,IAAI,CAAC,KAAK,CAgBd;YAEd;YAEA,QACEA,YAAqB,SAAS,EAAC,OAAO,EAAA,QAAA,EACpCA,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,EAAA,QAAA,EAC3G,IAAI,CAAC,KAAK,EAAA,CACC,EAAA,EAHP,IAAI,CAAC,KAAK,CAId;QAET,CAAC,CAAC,EAAA,CACC;AAET;;;;"}
1
+ {"version":3,"file":"nav-list.js","sources":["../../../../../src/components/organisms/HeaderNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;;AAkBO,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAgB,KAAI;AACrF,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAO,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;AAE7H,IAAA,MAAM,UAAU,GAAG,CAAC,IAAsC,KACxD,IAAI,CAAC,aAAa,CAAC,KAAK,YAAY,GAAG,UAAU,CAAC,YAAY,EAAE,CAAA,SAAA,EAAY,IAAI,CAAC,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAExI,IAAA,MAAM,aAAa,GAAG,CAAC,MAAwC,EAAE,GAAmB,KAAI;AACtF,QAAA,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,CAAC;AACnC,QAAA,OAAO,GAAG,CAAC,aAAa,CAAC,KAAK,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAA,SAAA,EAAY,GAAG,CAAC,EAAE,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC,GAAG,SAAS,CAAC;AAC9H,IAAA,CAAC;IAED,QACEA,YAAI,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC,YACpD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;AACzB,YAAA,IAAI,IAAI,CAAC,OAAO,EAAE;gBAChB;;AAEE,gBAAAA,GAAA,CAAA,IAAA,EAAA,EAAgB,SAAS,EAAC,oBAAoB,EAAA,QAAA,EAC5CA,GAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,6CAA6C,EAAA,CAAG,EAAA,EADvD,KAAK,CAET;YAET;AAEA,YAAA,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE;AACtB,gBAAA,QACEC,IAAA,CAAA,SAAA,EAAA,EAA0B,IAAI,EAAE,UAAU,EAAE,IAAI,KAAK,IAAI,CAAC,IAAI,EAAE,SAAS,EAAC,yBAAyB,EAAA,QAAA,EAAA,CACjGD,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAC,aAAa,EAAA,aAAA,EAAc,UAAU,CAAC,IAAI,CAAC,EAAA,QAAA,EAC/G,IAAI,CAAC,KAAK,EAAA,CACC,EAEdA,GAAA,CAAA,IAAA,EAAA,EAAA,QAAA,EACEA,GAAA,CAAA,IAAA,EAAA,EAAI,SAAS,EAAC,MAAM,EAAA,QAAA,EACjB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,MACxBA,GAAA,CAAA,IAAA,EAAA,EAA0B,SAAS,EAAC,SAAS,EAAA,QAAA,EAC3CA,GAAA,CAAC,WAAW,EAAA,EACV,IAAI,EAAE,SAAS,CAAC,IAAI,EACpB,KAAK,EAAE,SAAS,CAAC,KAAK,EACtB,IAAI,EAAC,mBAAmB,EACxB,OAAO,EAAE,SAAS,KAAK,SAAS,CAAC,IAAI,EAAA,aAAA,EACxB,aAAa,CAAC,IAAI,EAAE,SAAS,CAAC,EAAA,QAAA,EAE1C,SAAS,CAAC,KAAK,EAAA,CACJ,EAAA,EATP,SAAS,CAAC,KAAK,CAUnB,CACN,CAAC,EAAA,CACC,EAAA,CACF,CAAA,EAAA,EArBO,IAAI,CAAC,KAAK,CAsBd;YAEd;YAEA,QACEA,GAAA,CAAA,IAAA,EAAA,EAAqB,SAAS,EAAC,OAAO,YACpCA,GAAA,CAAC,WAAW,EAAA,EACV,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,OAAO,EAAE,SAAS,KAAK,IAAI,CAAC,IAAI,EAAA,aAAA,EACnB,UAAU,CAAC,IAAI,CAAC,EAAA,QAAA,EAE5B,IAAI,CAAC,KAAK,EAAA,CACC,EAAA,EAVP,IAAI,CAAC,KAAK,CAWd;QAET,CAAC,CAAC,EAAA,CACC;AAET;;;;"}
@@ -1,4 +1,16 @@
1
1
  import type { FC, ReactNode } from 'react';
2
+ export type NavSubItemType = {
3
+ label: string;
4
+ href: string;
5
+ icon?: FC<{
6
+ className?: string;
7
+ }>;
8
+ badge?: ReactNode;
9
+ /** Stable id used to derive this sub-item's `data-testid` (falls back to a slug of `label`). */
10
+ id?: string;
11
+ /** Overrides the derived `data-testid` for this sub-item. */
12
+ 'data-testid'?: string;
13
+ };
2
14
  export type NavItemType = {
3
15
  /** Label text for the nav item. */
4
16
  label: string;
@@ -11,16 +23,13 @@ export type NavItemType = {
11
23
  /** Badge to display. */
12
24
  badge?: ReactNode;
13
25
  /** List of sub-items to display. */
14
- items?: {
15
- label: string;
16
- href: string;
17
- icon?: FC<{
18
- className?: string;
19
- }>;
20
- badge?: ReactNode;
21
- }[];
26
+ items?: NavSubItemType[];
22
27
  /** Whether this nav item is a divider. */
23
28
  divider?: boolean;
29
+ /** Stable id used to derive this item's `data-testid` (falls back to a slug of `label`). */
30
+ id?: string;
31
+ /** Overrides the derived `data-testid` for this item. */
32
+ 'data-testid'?: string;
24
33
  };
25
34
  export type NavItemDividerType = Omit<NavItemType, 'icon' | 'label' | 'divider'> & {
26
35
  /** Label text for the divider. */