@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
@@ -1 +1 @@
1
- {"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/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,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2IAA2I;IAC3I,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,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,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,GAAI,+JAYvB,cAAc,gCA6ChB,CAAC"}
1
+ {"version":3,"file":"nav-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/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,6EAA6E;IAC7E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2IAA2I;IAC3I,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,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,0FAA0F;IAC1F,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kFAAkF;IAClF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oDAAoD;IACpD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,SAAS,GAAI,0LAavB,cAAc,gCA8ChB,CAAC"}
@@ -3,12 +3,12 @@ import { Tooltip } from '@flipdish/ui-library/components/atoms/Tooltip';
3
3
  import { cx } from '@flipdish/ui-library/utilities/cx';
4
4
  import { Link } from 'react-aria-components';
5
5
 
6
- const NavButton = ({ current, selected, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, }) => {
6
+ const NavButton = ({ current, selected, label, href, icon: Icon, className, tooltipPlacement = 'right', onClick, children, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, 'data-testid': dataTestId, }) => {
7
7
  const iconOnly = !children;
8
8
  // `current` means "this is the current page" (→ aria-current); `selected` is the
9
9
  // brand-highlight state (open/selected section), which may differ from the page.
10
10
  const isSelected = selected ?? current;
11
- return (jsx(Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsxs(Link, { href: href, "aria-label": label, "aria-current": current ? 'page' : undefined, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, onClick: onClick, className: cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-transparent outline-focus-ring transition duration-100 ease-linear select-none hover:bg-secondary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', isSelected && 'bg-brand-primary hover:bg-brand-primary', 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', isSelected && 'text-fg-brand-primary group-hover/item:text-fg-brand-primary') })), children && (jsx("span", { className: cx('px-0.5 text-sm font-semibold transition duration-100 ease-linear group-hover/item:text-secondary_hover', isSelected && 'text-brand-secondary'), children: children }))] }) }));
11
+ return (jsx(Tooltip, { isDisabled: !label, title: label, placement: tooltipPlacement, children: jsxs(Link, { href: href, "aria-label": label, "aria-current": current ? 'page' : undefined, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, "data-testid": dataTestId, onClick: onClick, className: cx('group/item relative flex w-full cursor-pointer items-center justify-center gap-1 rounded-md bg-transparent outline-focus-ring transition duration-100 ease-linear select-none hover:bg-secondary_hover focus-visible:z-10 focus-visible:outline-2 focus-visible:outline-offset-2', isSelected && 'bg-brand-primary hover:bg-brand-primary', 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', isSelected && 'text-fg-brand-primary group-hover/item:text-fg-brand-primary') })), children && (jsx("span", { className: cx('px-0.5 text-sm font-semibold transition duration-100 ease-linear group-hover/item:text-secondary_hover', isSelected && 'text-brand-secondary'), children: children }))] }) }));
12
12
  };
13
13
 
14
14
  export { NavButton };
@@ -1 +1 @@
1
- {"version":3,"file":"nav-button.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":";;;;;AAkCO,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,SAAS,EACT,gBAAgB,GAAG,OAAO,EAC1B,OAAO,EACP,QAAQ,EACR,eAAe,EAAE,YAAY,EAC7B,eAAe,EAAE,YAAY,GACd,KAAI;AACnB,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ;;;AAG1B,IAAA,MAAM,UAAU,GAAG,QAAQ,IAAI,OAAO;IAEtC,QACEA,GAAA,CAAC,OAAO,EAAA,EAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAA,QAAA,EACpEC,IAAA,CAACC,IAAQ,IACP,IAAI,EAAE,IAAI,EAAA,YAAA,EACE,KAAK,EAAA,cAAA,EACH,OAAO,GAAG,MAAM,GAAG,SAAS,EAAA,eAAA,EAC3B,YAAY,EAAA,eAAA,EACZ,YAAY,EAC3B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,kRAAkR,EAClR,UAAU,IAAI,yCAAyC,EACvD,QAAQ,GAAG,QAAQ,GAAG,aAAa,EACnC,SAAS,CACV,EAAA,QAAA,EAAA,CAEA,IAAI,KACHF,GAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,qGAAqG,EACrG,UAAU,IAAI,8DAA8D,CAC7E,EAAA,CACD,CACH,EAEA,QAAQ,KACPA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,UAAU,IAAI,sBAAsB,CACrC,EAAA,QAAA,EAEA,QAAQ,EAAA,CACJ,CACR,CAAA,EAAA,CACQ,EAAA,CACH;AAEd;;;;"}
1
+ {"version":3,"file":"nav-button.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-button.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":";;;;;AAoCO,MAAM,SAAS,GAAG,CAAC,EACxB,OAAO,EACP,QAAQ,EACR,KAAK,EACL,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,SAAS,EACT,gBAAgB,GAAG,OAAO,EAC1B,OAAO,EACP,QAAQ,EACR,eAAe,EAAE,YAAY,EAC7B,eAAe,EAAE,YAAY,EAC7B,aAAa,EAAE,UAAU,GACV,KAAI;AACnB,IAAA,MAAM,QAAQ,GAAG,CAAC,QAAQ;;;AAG1B,IAAA,MAAM,UAAU,GAAG,QAAQ,IAAI,OAAO;IAEtC,QACEA,GAAA,CAAC,OAAO,EAAA,EAAC,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAA,QAAA,EACpEC,IAAA,CAACC,IAAQ,IACP,IAAI,EAAE,IAAI,EAAA,YAAA,EACE,KAAK,EAAA,cAAA,EACH,OAAO,GAAG,MAAM,GAAG,SAAS,EAAA,eAAA,EAC3B,YAAY,EAAA,eAAA,EACZ,YAAY,EAAA,aAAA,EACd,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,kRAAkR,EAClR,UAAU,IAAI,yCAAyC,EACvD,QAAQ,GAAG,QAAQ,GAAG,aAAa,EACnC,SAAS,CACV,EAAA,QAAA,EAAA,CAEA,IAAI,KACHF,GAAA,CAAC,IAAI,EAAA,EAAA,aAAA,EACS,MAAM,EAClB,SAAS,EAAE,EAAE,CACX,qGAAqG,EACrG,UAAU,IAAI,8DAA8D,CAC7E,EAAA,CACD,CACH,EAEA,QAAQ,KACPA,GAAA,CAAA,MAAA,EAAA,EACE,SAAS,EAAE,EAAE,CACX,wGAAwG,EACxG,UAAU,IAAI,sBAAsB,CACrC,EAAA,QAAA,EAEA,QAAQ,EAAA,CACJ,CACR,CAAA,EAAA,CACQ,EAAA,CACH;AAEd;;;;"}
@@ -16,7 +16,7 @@ const styles = cx.sortCx({
16
16
  rootSelected: 'bg-brand-primary hover:bg-brand-primary',
17
17
  });
18
18
  const StatusDot = ({ status }) => (jsxRuntime.jsx("span", { "aria-hidden": "true", className: cx.cx('mr-2 size-2 shrink-0 rounded-full', status === 'online' ? 'bg-success-solid' : 'bg-fg-quaternary') }));
19
- const NavItemBase = ({ current, selected, type, badge, href, icon: Icon, children, truncate = true, status, onClick, hasSubmenu, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, }) => {
19
+ const NavItemBase = ({ current, selected, type, badge, href, icon: Icon, children, truncate = true, status, onClick, hasSubmenu, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, 'data-testid': dataTestId, }) => {
20
20
  // `current` means "this is the current page" (→ aria-current); `selected` is the
21
21
  // brand-highlight state (open/selected section), which may differ from the page.
22
22
  const isSelected = selected ?? current;
@@ -30,12 +30,12 @@ const NavItemBase = ({ current, selected, type, badge, href, icon: Icon, childre
30
30
  if (type === 'collapsible') {
31
31
  return (
32
32
  // biome-ignore lint/a11y/noStaticElementInteractions: This is a summary element
33
- jsxRuntime.jsxs("summary", { className: cx.cx('p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, children: [status && jsxRuntime.jsx(StatusDot, { status: status }), 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" })] }));
33
+ jsxRuntime.jsxs("summary", { "data-testid": dataTestId, className: cx.cx('p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, children: [status && jsxRuntime.jsx(StatusDot, { status: status }), 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" })] }));
34
34
  }
35
35
  if (type === 'collapsible-child') {
36
- 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, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
36
+ return (jsxRuntime.jsxs(reactAriaComponents.Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", "data-testid": dataTestId, className: cx.cx('py-2 pr-3 pl-10', styles.root, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
37
37
  }
38
- return (jsxRuntime.jsxs(reactAriaComponents.Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx.cx('group/item p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, children: [status && jsxRuntime.jsx(StatusDot, { status: status }), iconElement, labelElement, externalIcon, badgeElement, submenuChevron] }));
38
+ return (jsxRuntime.jsxs(reactAriaComponents.Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", "data-testid": dataTestId, className: cx.cx('group/item p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, children: [status && jsxRuntime.jsx(StatusDot, { status: status }), iconElement, labelElement, externalIcon, badgeElement, submenuChevron] }));
39
39
  };
40
40
 
41
41
  exports.NavItemBase = NavItemBase;
@@ -1 +1 @@
1
- {"version":3,"file":"nav-item.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["sortCx","_jsx","cx","Badge","Share04","ChevronRight","_jsxs","ChevronDown","AriaLink"],"mappings":"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"}
1
+ {"version":3,"file":"nav-item.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["sortCx","_jsx","cx","Badge","Share04","ChevronRight","_jsxs","ChevronDown","AriaLink"],"mappings":"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"}
@@ -28,9 +28,11 @@ interface NavItemBaseProps {
28
28
  'aria-expanded'?: boolean;
29
29
  /** ID of the region this item controls when it acts as a disclosure trigger. */
30
30
  'aria-controls'?: string;
31
+ /** Test id applied to the rendered link/summary element. */
32
+ 'data-testid'?: string;
31
33
  /** Content to display. */
32
34
  children?: ReactNode;
33
35
  }
34
- export declare const NavItemBase: ({ current, selected, type, badge, href, icon: Icon, children, truncate, status, onClick, hasSubmenu, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, }: NavItemBaseProps) => import("react").JSX.Element;
36
+ export declare const NavItemBase: ({ current, selected, type, badge, href, icon: Icon, children, truncate, status, onClick, hasSubmenu, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, "data-testid": dataTestId, }: NavItemBaseProps) => import("react").JSX.Element;
35
37
  export {};
36
38
  //# sourceMappingURL=nav-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-item.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAa9E,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,UAAU,gBAAgB;IACxB,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,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2IAA2I;IAC3I,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sHAAsH;IACtH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wFAAwF;IACxF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD,eAAO,MAAM,WAAW,GAAI,sKAczB,gBAAgB,gCAgGlB,CAAC"}
1
+ {"version":3,"file":"nav-item.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-item.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,iBAAiB,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAa9E,kEAAkE;AAClE,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEjD,UAAU,gBAAgB;IACxB,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,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,2IAA2I;IAC3I,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,gCAAgC;IAChC,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,sHAAsH;IACtH,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,wFAAwF;IACxF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gFAAgF;IAChF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAMD,eAAO,MAAM,WAAW,GAAI,iMAezB,gBAAgB,gCAkGlB,CAAC"}
@@ -14,7 +14,7 @@ const styles = sortCx({
14
14
  rootSelected: 'bg-brand-primary hover:bg-brand-primary',
15
15
  });
16
16
  const StatusDot = ({ status }) => (jsx("span", { "aria-hidden": "true", className: cx('mr-2 size-2 shrink-0 rounded-full', status === 'online' ? 'bg-success-solid' : 'bg-fg-quaternary') }));
17
- const NavItemBase = ({ current, selected, type, badge, href, icon: Icon, children, truncate = true, status, onClick, hasSubmenu, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, }) => {
17
+ const NavItemBase = ({ current, selected, type, badge, href, icon: Icon, children, truncate = true, status, onClick, hasSubmenu, 'aria-expanded': ariaExpanded, 'aria-controls': ariaControls, 'data-testid': dataTestId, }) => {
18
18
  // `current` means "this is the current page" (→ aria-current); `selected` is the
19
19
  // brand-highlight state (open/selected section), which may differ from the page.
20
20
  const isSelected = selected ?? current;
@@ -28,12 +28,12 @@ const NavItemBase = ({ current, selected, type, badge, href, icon: Icon, childre
28
28
  if (type === 'collapsible') {
29
29
  return (
30
30
  // biome-ignore lint/a11y/noStaticElementInteractions: This is a summary element
31
- jsxs("summary", { className: cx('p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, children: [status && jsx(StatusDot, { status: status }), 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" })] }));
31
+ jsxs("summary", { "data-testid": dataTestId, className: cx('p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, children: [status && jsx(StatusDot, { status: status }), 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" })] }));
32
32
  }
33
33
  if (type === 'collapsible-child') {
34
- return (jsxs(Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx('py-2 pr-3 pl-10', styles.root, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
34
+ return (jsxs(Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", "data-testid": dataTestId, className: cx('py-2 pr-3 pl-10', styles.root, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, children: [labelElement, externalIcon, badgeElement] }));
35
35
  }
36
- return (jsxs(Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", className: cx('group/item p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, children: [status && jsx(StatusDot, { status: status }), iconElement, labelElement, externalIcon, badgeElement, submenuChevron] }));
36
+ return (jsxs(Link, { href: href, target: isExternal ? '_blank' : '_self', rel: "noopener noreferrer", "data-testid": dataTestId, className: cx('group/item p-2', styles.root, isSelected && styles.rootSelected), onClick: onClick, "aria-current": current ? 'page' : undefined, "aria-expanded": ariaExpanded, "aria-controls": ariaControls, children: [status && jsx(StatusDot, { status: status }), iconElement, labelElement, externalIcon, badgeElement, submenuChevron] }));
37
37
  };
38
38
 
39
39
  export { NavItemBase };
@@ -1 +1 @@
1
- {"version":3,"file":"nav-item.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":"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"}
1
+ {"version":3,"file":"nav-item.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-item.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs","AriaLink"],"mappings":"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"}
@@ -2,10 +2,15 @@
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, onNavigate }) => {
8
+ const NavList = ({ activeUrl, items, className, onNavigate, testIdPrefix }) => {
8
9
  const activeItem = items.find((item) => item.href === activeUrl || item.items?.some((subItem) => subItem.href === activeUrl));
10
+ const itemTestId = (item) => testIdPrefix ? (item['data-testid'] ?? testIdUtils.joinTestId(testIdPrefix, `nav-item-${item.id ?? testIdUtils.slugifyTestId(item.label ?? '')}`)) : item['data-testid'];
11
+ const subItemTestId = (parentTestId, subItem) => parentTestId
12
+ ? (subItem['data-testid'] ?? testIdUtils.joinTestId(parentTestId, `sub-item-${subItem.id ?? testIdUtils.slugifyTestId(subItem.label)}`))
13
+ : subItem['data-testid'];
9
14
  return (jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col px-4 pt-5', className), children: items.map((item, index) => {
10
15
  if (item.divider) {
11
16
  return (
@@ -13,9 +18,10 @@ const NavList = ({ activeUrl, items, className, onNavigate }) => {
13
18
  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
19
  }
15
20
  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, onClick: onNavigate, children: childItem.label }) }, childItem.label))) }) })] }, item.label));
21
+ const parentTestId = itemTestId(item);
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": parentTestId, 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, onClick: onNavigate, "data-testid": subItemTestId(parentTestId, 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, onClick: onNavigate, 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, onClick: onNavigate, "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/SidebarNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["_jsx","cx","_jsxs","NavItemBase"],"mappings":";;;;;;AAiBO,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAgB,KAAI;AACnF,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAqC,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAC7H;IAED,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,SAAsB,MACrCA,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,EACrC,OAAO,EAAE,UAAU,EAAA,QAAA,EAElB,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,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,EAAE,OAAO,EAAE,UAAU,EAAA,QAAA,EAChI,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/SidebarNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["joinTestId","slugifyTestId","_jsx","cx","_jsxs","NavItemBase"],"mappings":";;;;;;;AAoBO,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAgB,KAAI;AACjG,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAqC,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAC7H;IAED,MAAM,UAAU,GAAG,CAAC,IAA6D,KAC/E,YAAY,IAAI,IAAI,CAAC,aAAa,CAAC,IAAIA,sBAAU,CAAC,YAAY,EAAE,CAAA,SAAA,EAAY,IAAI,CAAC,EAAE,IAAIC,yBAAa,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC;IAElJ,MAAM,aAAa,GAAG,CAAC,YAAgC,EAAE,OAAuB,KAC9E;WACK,OAAO,CAAC,aAAa,CAAC,IAAID,sBAAU,CAAC,YAAY,EAAE,CAAA,SAAA,EAAY,OAAO,CAAC,EAAE,IAAIC,yBAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA,CAAE,CAAC;AAC/G,UAAE,OAAO,CAAC,aAAa,CAAC;IAE5B,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,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;AACrC,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,YAAY,EAAA,QAAA,EAC3G,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,SAAyB,MACxCA,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,EACrC,OAAO,EAAE,UAAU,EAAA,aAAA,EACN,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,EAAA,QAAA,EAElD,SAAS,CAAC,KAAK,EAAA,CACJ,EAAA,EAVP,SAAS,CAAC,KAAK,CAWnB,CACN,CAAC,EAAA,CACC,EAAA,CACF,CAAA,EAAA,EAtBO,IAAI,CAAC,KAAK,CAuBd;YAEd;YAEA,QACEH,cAAA,CAAA,IAAA,EAAA,EAAqB,SAAS,EAAC,OAAO,EAAA,QAAA,EACpCA,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,EAChC,OAAO,EAAE,UAAU,EAAA,aAAA,EACN,UAAU,CAAC,IAAI,CAAC,EAAA,QAAA,EAE5B,IAAI,CAAC,KAAK,EAAA,CACC,EAAA,EAXP,IAAI,CAAC,KAAK,CAYd;QAET,CAAC,CAAC,EAAA,CACC;AAET;;;;"}
@@ -8,7 +8,9 @@ interface NavListProps {
8
8
  items: (NavItemType | NavItemDividerType)[];
9
9
  /** Called when a destination link is activated — used to close the mobile drawer on navigation. */
10
10
  onNavigate?: () => void;
11
+ /** Resolved testid of the sidebar, used to derive each item's default testid. */
12
+ testIdPrefix?: string;
11
13
  }
12
- export declare const NavList: ({ activeUrl, items, className, onNavigate }: NavListProps) => import("react").JSX.Element;
14
+ export declare const NavList: ({ activeUrl, items, className, onNavigate, testIdPrefix }: NavListProps) => import("react").JSX.Element;
13
15
  export {};
14
16
  //# sourceMappingURL=nav-list.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nav-list.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-list.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAGlF,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,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,OAAO,GAAI,6CAA6C,YAAY,gCAuDhF,CAAC"}
1
+ {"version":3,"file":"nav-list.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/nav-list.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAE,WAAW,EAAkB,MAAM,4BAA4B,CAAC;AAGlG,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,mGAAmG;IACnG,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,eAAO,MAAM,OAAO,GAAI,2DAA2D,YAAY,gCAyE9F,CAAC"}
@@ -1,9 +1,14 @@
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, onNavigate }) => {
6
+ const NavList = ({ activeUrl, items, className, onNavigate, testIdPrefix }) => {
6
7
  const activeItem = items.find((item) => item.href === activeUrl || item.items?.some((subItem) => subItem.href === activeUrl));
8
+ const itemTestId = (item) => testIdPrefix ? (item['data-testid'] ?? joinTestId(testIdPrefix, `nav-item-${item.id ?? slugifyTestId(item.label ?? '')}`)) : item['data-testid'];
9
+ const subItemTestId = (parentTestId, subItem) => parentTestId
10
+ ? (subItem['data-testid'] ?? joinTestId(parentTestId, `sub-item-${subItem.id ?? slugifyTestId(subItem.label)}`))
11
+ : subItem['data-testid'];
7
12
  return (jsx("ul", { className: cx('flex flex-col px-4 pt-5', className), children: items.map((item, index) => {
8
13
  if (item.divider) {
9
14
  return (
@@ -11,9 +16,10 @@ const NavList = ({ activeUrl, items, className, onNavigate }) => {
11
16
  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
17
  }
13
18
  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, onClick: onNavigate, children: childItem.label }) }, childItem.label))) }) })] }, item.label));
19
+ const parentTestId = itemTestId(item);
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": parentTestId, 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, onClick: onNavigate, "data-testid": subItemTestId(parentTestId, 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, onClick: onNavigate, 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, onClick: onNavigate, "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/SidebarNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":";;;;AAiBO,MAAM,OAAO,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAgB,KAAI;AACnF,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAC3B,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,OAAqC,KAAK,OAAO,CAAC,IAAI,KAAK,SAAS,CAAC,CAC7H;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;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,SAAsB,MACrCA,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,EACrC,OAAO,EAAE,UAAU,EAAA,QAAA,EAElB,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,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,EAAE,OAAO,EAAE,UAAU,EAAA,QAAA,EAChI,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/SidebarNavigation/components/nav-list.tsx"],"sourcesContent":[null],"names":["_jsx","_jsxs"],"mappings":"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"}
@@ -13,7 +13,7 @@ var reactAriaComponents = require('react-aria-components');
13
13
  *
14
14
  * @summary hamburger toggle that opens the sidebar drawer from a custom header
15
15
  */
16
- const SidebarMenuButton = ({ isOpen = false, onPress, controls, 'aria-label': ariaLabel, className }) => (jsxRuntime.jsxs(reactAriaComponents.Button, { "aria-label": ariaLabel ?? (isOpen ? 'Close navigation menu' : 'Open navigation menu'), "aria-expanded": isOpen, "aria-controls": controls, onPress: onPress, className: cx.cx('relative flex items-center justify-center rounded-lg bg-transparent p-2 text-fg-secondary outline-focus-ring hover:bg-secondary_hover hover:text-fg-secondary_hover focus-visible:outline-2 focus-visible:outline-offset-2', className), children: [jsxRuntime.jsx(uiIcons.Menu02, { className: cx.cx('size-6 transition duration-200 ease-in-out', isOpen && 'opacity-0') }), jsxRuntime.jsx(uiIcons.X, { className: cx.cx('absolute size-6 opacity-0 transition duration-200 ease-in-out', isOpen && 'opacity-100') })] }));
16
+ const SidebarMenuButton = ({ isOpen = false, onPress, controls, 'aria-label': ariaLabel, 'data-testid': dataTestId, className, }) => (jsxRuntime.jsxs(reactAriaComponents.Button, { "aria-label": ariaLabel ?? (isOpen ? 'Close navigation menu' : 'Open navigation menu'), "aria-expanded": isOpen, "aria-controls": controls, "data-testid": dataTestId, onPress: onPress, className: cx.cx('relative flex items-center justify-center rounded-lg bg-transparent p-2 text-fg-secondary outline-focus-ring hover:bg-secondary_hover hover:text-fg-secondary_hover focus-visible:outline-2 focus-visible:outline-offset-2', className), children: [jsxRuntime.jsx(uiIcons.Menu02, { className: cx.cx('size-6 transition duration-200 ease-in-out', isOpen && 'opacity-0') }), jsxRuntime.jsx(uiIcons.X, { className: cx.cx('absolute size-6 opacity-0 transition duration-200 ease-in-out', isOpen && 'opacity-100') })] }));
17
17
 
18
18
  exports.SidebarMenuButton = SidebarMenuButton;
19
19
  //# sourceMappingURL=sidebar-menu-button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-menu-button.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/sidebar-menu-button.tsx"],"sourcesContent":[null],"names":["_jsxs","AriaButton","cx","_jsx","Menu02","CloseIcon"],"mappings":";;;;;;;AAmBA;;;;;;;AAOG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAA0B,MACjIA,eAAA,CAACC,0BAAU,kBACG,SAAS,KAAK,MAAM,GAAG,uBAAuB,GAAG,sBAAsB,CAAC,EAAA,eAAA,EACrE,MAAM,EAAA,eAAA,EACN,QAAQ,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,KAAE,CACX,4NAA4N,EAC5N,SAAS,CACV,EAAA,QAAA,EAAA,CAEDC,eAACC,cAAM,EAAA,EAAC,SAAS,EAAEF,KAAE,CAAC,4CAA4C,EAAE,MAAM,IAAI,WAAW,CAAC,EAAA,CAAI,EAC9FC,eAACE,SAAS,EAAA,EAAC,SAAS,EAAEH,KAAE,CAAC,+DAA+D,EAAE,MAAM,IAAI,aAAa,CAAC,EAAA,CAAI,CAAA,EAAA,CAC3G;;;;"}
1
+ {"version":3,"file":"sidebar-menu-button.cjs","sources":["../../../../../src/components/organisms/SidebarNavigation/components/sidebar-menu-button.tsx"],"sourcesContent":[null],"names":["_jsxs","AriaButton","cx","_jsx","Menu02","CloseIcon"],"mappings":";;;;;;;AAqBA;;;;;;;AAOG;MACU,iBAAiB,GAAG,CAAC,EAChC,MAAM,GAAG,KAAK,EACd,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,SAAS,GACc,MACvBA,gBAACC,0BAAU,EAAA,EAAA,YAAA,EACG,SAAS,KAAK,MAAM,GAAG,uBAAuB,GAAG,sBAAsB,CAAC,EAAA,eAAA,EACrE,MAAM,EAAA,eAAA,EACN,QAAQ,EAAA,aAAA,EACV,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAEC,KAAE,CACX,4NAA4N,EAC5N,SAAS,CACV,EAAA,QAAA,EAAA,CAEDC,cAAA,CAACC,cAAM,EAAA,EAAC,SAAS,EAAEF,KAAE,CAAC,4CAA4C,EAAE,MAAM,IAAI,WAAW,CAAC,EAAA,CAAI,EAC9FC,cAAA,CAACE,SAAS,IAAC,SAAS,EAAEH,KAAE,CAAC,+DAA+D,EAAE,MAAM,IAAI,aAAa,CAAC,EAAA,CAAI,CAAA,EAAA,CAC3G;;;;"}
@@ -7,6 +7,8 @@ export interface SidebarMenuButtonProps {
7
7
  controls?: string;
8
8
  /** Accessible label. Defaults to "Open/Close navigation menu" based on `isOpen`. */
9
9
  'aria-label'?: string;
10
+ /** Test id applied to the button. */
11
+ 'data-testid'?: string;
10
12
  /** Additional CSS classes for the button. */
11
13
  className?: string;
12
14
  }
@@ -18,5 +20,5 @@ export interface SidebarMenuButtonProps {
18
20
  *
19
21
  * @summary hamburger toggle that opens the sidebar drawer from a custom header
20
22
  */
21
- export declare const SidebarMenuButton: ({ isOpen, onPress, controls, "aria-label": ariaLabel, className }: SidebarMenuButtonProps) => import("react").JSX.Element;
23
+ export declare const SidebarMenuButton: ({ isOpen, onPress, controls, "aria-label": ariaLabel, "data-testid": dataTestId, className, }: SidebarMenuButtonProps) => import("react").JSX.Element;
22
24
  //# sourceMappingURL=sidebar-menu-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-menu-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/sidebar-menu-button.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,sBAAsB;IACrC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,mEAA2E,sBAAsB,gCAclI,CAAC"}
1
+ {"version":3,"file":"sidebar-menu-button.d.ts","sourceRoot":"","sources":["../../../../../src/components/organisms/SidebarNavigation/components/sidebar-menu-button.tsx"],"names":[],"mappings":"AAMA,MAAM,WAAW,sBAAsB;IACrC,+GAA+G;IAC/G,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,8EAA8E;IAC9E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oFAAoF;IACpF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,iBAAiB,GAAI,+FAO/B,sBAAsB,gCAexB,CAAC"}
@@ -11,7 +11,7 @@ import { Button } from 'react-aria-components';
11
11
  *
12
12
  * @summary hamburger toggle that opens the sidebar drawer from a custom header
13
13
  */
14
- const SidebarMenuButton = ({ isOpen = false, onPress, controls, 'aria-label': ariaLabel, className }) => (jsxs(Button, { "aria-label": ariaLabel ?? (isOpen ? 'Close navigation menu' : 'Open navigation menu'), "aria-expanded": isOpen, "aria-controls": controls, onPress: onPress, className: cx('relative flex items-center justify-center rounded-lg bg-transparent p-2 text-fg-secondary outline-focus-ring hover:bg-secondary_hover hover:text-fg-secondary_hover focus-visible:outline-2 focus-visible:outline-offset-2', className), children: [jsx(Menu02, { className: cx('size-6 transition duration-200 ease-in-out', isOpen && 'opacity-0') }), jsx(X, { className: cx('absolute size-6 opacity-0 transition duration-200 ease-in-out', isOpen && 'opacity-100') })] }));
14
+ const SidebarMenuButton = ({ isOpen = false, onPress, controls, 'aria-label': ariaLabel, 'data-testid': dataTestId, className, }) => (jsxs(Button, { "aria-label": ariaLabel ?? (isOpen ? 'Close navigation menu' : 'Open navigation menu'), "aria-expanded": isOpen, "aria-controls": controls, "data-testid": dataTestId, onPress: onPress, className: cx('relative flex items-center justify-center rounded-lg bg-transparent p-2 text-fg-secondary outline-focus-ring hover:bg-secondary_hover hover:text-fg-secondary_hover focus-visible:outline-2 focus-visible:outline-offset-2', className), children: [jsx(Menu02, { className: cx('size-6 transition duration-200 ease-in-out', isOpen && 'opacity-0') }), jsx(X, { className: cx('absolute size-6 opacity-0 transition duration-200 ease-in-out', isOpen && 'opacity-100') })] }));
15
15
 
16
16
  export { SidebarMenuButton };
17
17
  //# sourceMappingURL=sidebar-menu-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-menu-button.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/sidebar-menu-button.tsx"],"sourcesContent":[null],"names":["_jsxs","AriaButton","_jsx","CloseIcon"],"mappings":";;;;;AAmBA;;;;;;;AAOG;AACI,MAAM,iBAAiB,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,SAAS,EAA0B,MACjIA,IAAA,CAACC,MAAU,kBACG,SAAS,KAAK,MAAM,GAAG,uBAAuB,GAAG,sBAAsB,CAAC,EAAA,eAAA,EACrE,MAAM,EAAA,eAAA,EACN,QAAQ,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,4NAA4N,EAC5N,SAAS,CACV,EAAA,QAAA,EAAA,CAEDC,IAAC,MAAM,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,MAAM,IAAI,WAAW,CAAC,EAAA,CAAI,EAC9FA,IAACC,CAAS,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,+DAA+D,EAAE,MAAM,IAAI,aAAa,CAAC,EAAA,CAAI,CAAA,EAAA,CAC3G;;;;"}
1
+ {"version":3,"file":"sidebar-menu-button.js","sources":["../../../../../src/components/organisms/SidebarNavigation/components/sidebar-menu-button.tsx"],"sourcesContent":[null],"names":["_jsxs","AriaButton","_jsx","CloseIcon"],"mappings":";;;;;AAqBA;;;;;;;AAOG;MACU,iBAAiB,GAAG,CAAC,EAChC,MAAM,GAAG,KAAK,EACd,OAAO,EACP,QAAQ,EACR,YAAY,EAAE,SAAS,EACvB,aAAa,EAAE,UAAU,EACzB,SAAS,GACc,MACvBA,KAACC,MAAU,EAAA,EAAA,YAAA,EACG,SAAS,KAAK,MAAM,GAAG,uBAAuB,GAAG,sBAAsB,CAAC,EAAA,eAAA,EACrE,MAAM,EAAA,eAAA,EACN,QAAQ,EAAA,aAAA,EACV,UAAU,EACvB,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,EAAE,CACX,4NAA4N,EAC5N,SAAS,CACV,EAAA,QAAA,EAAA,CAEDC,GAAA,CAAC,MAAM,EAAA,EAAC,SAAS,EAAE,EAAE,CAAC,4CAA4C,EAAE,MAAM,IAAI,WAAW,CAAC,EAAA,CAAI,EAC9FA,GAAA,CAACC,CAAS,IAAC,SAAS,EAAE,EAAE,CAAC,+DAA+D,EAAE,MAAM,IAAI,aAAa,CAAC,EAAA,CAAI,CAAA,EAAA,CAC3G;;;;"}
@@ -6,6 +6,7 @@ var FlipdishLogo = require('@flipdish/ui-library/components/atoms/FlipdishLogo')
6
6
  var UtilityButton = require('@flipdish/ui-library/components/atoms/UtilityButton');
7
7
  var cx = require('@flipdish/ui-library/utilities/cx');
8
8
  var localStorageUtils = require('@flipdish/ui-library/utilities/localStorageUtils');
9
+ var testIdUtils = require('@flipdish/ui-library/utilities/testIdUtils');
9
10
  var react = require('motion/react');
10
11
  var React = require('react');
11
12
  var mobileHeader = require('./components/mobile-header.cjs');
@@ -30,7 +31,9 @@ const SECONDARY_SIDEBAR_WIDTH = 256;
30
31
  *
31
32
  * @summary Navigate app sections through a collapsible, dual-tier sidebar rail.
32
33
  */
33
- const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, }) => {
34
+ const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, 'data-testid': dataTestId, }) => {
35
+ const rootTestId = testIdUtils.useResolvedTestId({ testId: dataTestId, segment: 'sidebar-navigation', rootName: 'sidebar-navigation' });
36
+ const navItemTestId = (item) => item['data-testid'] ?? testIdUtils.joinTestId(rootTestId, `nav-item-${item.id ?? testIdUtils.slugifyTestId(item.label)}`);
34
37
  const isControlled = collapsed !== undefined;
35
38
  const [internalCollapsed, setInternalCollapsed] = React.useState(defaultCollapsed);
36
39
  const isCollapsed = isControlled ? collapsed : internalCollapsed;
@@ -115,12 +118,13 @@ const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, collap
115
118
  'aria-controls': isOpen ? panelId : undefined,
116
119
  };
117
120
  const selectSection = () => setCurrentLabel(item.label);
118
- return (jsxRuntime.jsx("li", { className: isCollapsed ? undefined : 'py-px', onKeyDown: handleTriggerKeyDown(item.label, hasChildren), children: isCollapsed ? (jsxRuntime.jsx(navButton.NavButton, { current: isCurrentPage, selected: isSelected, href: item.href, onClick: selectSection, label: item.label || '', icon: item.icon, ...disclosure })) : (jsxRuntime.jsx(navItem.NavItemBase, { type: "link", current: isCurrentPage, selected: isSelected, href: item.href, icon: item.icon, badge: item.badge, hasSubmenu: hasChildren, onClick: selectSection, ...disclosure, children: item.label })) }, item.label));
121
+ const itemTestId = navItemTestId(item);
122
+ return (jsxRuntime.jsx("li", { className: isCollapsed ? undefined : 'py-px', onKeyDown: handleTriggerKeyDown(item.label, hasChildren), children: isCollapsed ? (jsxRuntime.jsx(navButton.NavButton, { current: isCurrentPage, selected: isSelected, href: item.href, onClick: selectSection, label: item.label || '', icon: item.icon, "data-testid": itemTestId, ...disclosure })) : (jsxRuntime.jsx(navItem.NavItemBase, { type: "link", current: isCurrentPage, selected: isSelected, href: item.href, icon: item.icon, badge: item.badge, hasSubmenu: hasChildren, onClick: selectSection, "data-testid": itemTestId, ...disclosure, children: item.label })) }, item.label));
119
123
  });
120
- const mainSidebar = (jsxRuntime.jsxs(react.motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx.cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxRuntime.jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsxRuntime.jsx("div", { className: "flex justify-center px-3 py-5", children: jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: uiIcons.ChevronRightDouble, onClick: () => setCollapsed(false) }) })) : (jsxRuntime.jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: "md" }), jsxRuntime.jsx("div", { className: "absolute top-5 right-4", children: jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Collapse", "aria-label": "Collapse navigation", icon: uiIcons.ChevronLeftDouble, onClick: () => setCollapsed(true) }) })] })), jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col gap-0.5', isCollapsed ? 'items-center px-3.5' : 'px-4 pt-1'), children: renderPrimaryItems(items) })] }), jsxRuntime.jsxs("div", { className: cx.cx('mt-auto flex flex-col gap-3 py-4', isCollapsed ? 'items-center px-3' : 'px-4'), children: [footerItems.length > 0 && jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col gap-0.5', isCollapsed && 'items-center'), children: renderPrimaryItems(footerItems) }), account &&
121
- (isCollapsed ? (jsxRuntime.jsx(navAccountCard.NavAccountCard, { variant: "avatar", account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems })) : (jsxRuntime.jsx(navAccountCard.NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems })))] })] }));
122
- const secondarySidebar = currentItem && (jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: isSecondarySidebarVisible && (jsxRuntime.jsx(react.motion.div, { ref: panelRef, id: panelId, onKeyDown: handlePanelKeyDown, role: "group", "aria-label": `${currentItem.label} pages`, initial: { width: 0, borderColor: 'var(--color-border-secondary)' }, animate: { width: SECONDARY_SIDEBAR_WIDTH, borderColor: 'var(--color-border-secondary)' }, exit: { width: 0, borderColor: 'rgba(0,0,0,0)', transition: { borderColor: { type: 'tween', delay: 0.05 } } }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx.cx('relative h-full overflow-x-hidden overflow-y-auto bg-primary', !(hideBorder || hideRightBorder) && 'box-content border-r border-secondary'), children: jsxRuntime.jsxs("div", { style: { width: SECONDARY_SIDEBAR_WIDTH }, className: "flex h-full flex-col px-4 pt-6", children: [jsxRuntime.jsx("h3", { className: "px-2 text-sm font-semibold text-tertiary", children: currentItem.label }), jsxRuntime.jsx("ul", { className: "py-2", children: currentItem.items?.map((item) => (jsxRuntime.jsx("li", { className: "py-px", children: jsxRuntime.jsx(navItem.NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, children: item.label }) }, item.label))) })] }) })) }));
123
- return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsxs("div", { className: "z-50 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsxRuntime.jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && jsxRuntime.jsx(mobileHeader.MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId }), jsxRuntime.jsx(mobileHeader.MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, children: jsxRuntime.jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [jsxRuntime.jsx("div", { className: "px-4", children: jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: "sm" }) }), jsxRuntime.jsx(navList.NavList, { activeUrl: activeUrl, items: items, onNavigate: () => setMobileMenuOpen(false) }), jsxRuntime.jsxs("div", { className: "mt-auto flex flex-col gap-3 p-4", children: [footerItems.length > 0 && (jsxRuntime.jsx("ul", { className: "flex flex-col gap-0.5", children: footerItems.map((item) => (jsxRuntime.jsx("li", { children: jsxRuntime.jsx(navItem.NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, onClick: () => setMobileMenuOpen(false), children: item.label }) }, item.label))) })), account && jsxRuntime.jsx(navAccountCard.NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems })] })] }) })] }));
124
+ const mainSidebar = (jsxRuntime.jsxs(react.motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx.cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxRuntime.jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsxRuntime.jsx("div", { className: "flex justify-center px-3 py-5", children: jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: uiIcons.ChevronRightDouble, "data-testid": testIdUtils.joinTestId(rootTestId, 'expand'), onClick: () => setCollapsed(false) }) })) : (jsxRuntime.jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: "md" }), jsxRuntime.jsx("div", { className: "absolute top-5 right-4", children: jsxRuntime.jsx(UtilityButton.ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Collapse", "aria-label": "Collapse navigation", icon: uiIcons.ChevronLeftDouble, "data-testid": testIdUtils.joinTestId(rootTestId, 'collapse'), onClick: () => setCollapsed(true) }) })] })), jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col gap-0.5', isCollapsed ? 'items-center px-3.5' : 'px-4 pt-1'), children: renderPrimaryItems(items) })] }), jsxRuntime.jsxs("div", { className: cx.cx('mt-auto flex flex-col gap-3 py-4', isCollapsed ? 'items-center px-3' : 'px-4'), children: [footerItems.length > 0 && jsxRuntime.jsx("ul", { className: cx.cx('flex flex-col gap-0.5', isCollapsed && 'items-center'), children: renderPrimaryItems(footerItems) }), account &&
125
+ (isCollapsed ? (jsxRuntime.jsx(navAccountCard.NavAccountCard, { variant: "avatar", account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, "data-testid": account['data-testid'] })) : (jsxRuntime.jsx(navAccountCard.NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, "data-testid": account['data-testid'] })))] })] }));
126
+ const secondarySidebar = currentItem && (jsxRuntime.jsx(react.AnimatePresence, { initial: false, children: isSecondarySidebarVisible && (jsxRuntime.jsx(react.motion.div, { ref: panelRef, id: panelId, onKeyDown: handlePanelKeyDown, role: "group", "aria-label": `${currentItem.label} pages`, initial: { width: 0, borderColor: 'var(--color-border-secondary)' }, animate: { width: SECONDARY_SIDEBAR_WIDTH, borderColor: 'var(--color-border-secondary)' }, exit: { width: 0, borderColor: 'rgba(0,0,0,0)', transition: { borderColor: { type: 'tween', delay: 0.05 } } }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx.cx('relative h-full overflow-x-hidden overflow-y-auto bg-primary', !(hideBorder || hideRightBorder) && 'box-content border-r border-secondary'), children: jsxRuntime.jsxs("div", { style: { width: SECONDARY_SIDEBAR_WIDTH }, className: "flex h-full flex-col px-4 pt-6", children: [jsxRuntime.jsx("h3", { className: "px-2 text-sm font-semibold text-tertiary", children: currentItem.label }), jsxRuntime.jsx("ul", { className: "py-2", children: currentItem.items?.map((item) => (jsxRuntime.jsx("li", { className: "py-px", children: jsxRuntime.jsx(navItem.NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, "data-testid": item['data-testid'] ?? testIdUtils.joinTestId(navItemTestId(currentItem), `sub-item-${item.id ?? testIdUtils.slugifyTestId(item.label)}`), children: item.label }) }, item.label))) })] }) })) }));
127
+ return (jsxRuntime.jsxs(testIdUtils.TestIdProvider, { value: rootTestId, children: [jsxRuntime.jsxs("div", { className: "z-50 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsxRuntime.jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && (jsxRuntime.jsx(mobileHeader.MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId, "data-testid": testIdUtils.joinTestId(rootTestId, 'mobile-toggle') })), jsxRuntime.jsx(mobileHeader.MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, "data-testid": testIdUtils.joinTestId(rootTestId, 'mobile-close'), children: jsxRuntime.jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [jsxRuntime.jsx("div", { className: "px-4", children: jsxRuntime.jsx(FlipdishLogo.FlipdishLogo, { size: "sm" }) }), jsxRuntime.jsx(navList.NavList, { activeUrl: activeUrl, items: items, onNavigate: () => setMobileMenuOpen(false), testIdPrefix: rootTestId }), jsxRuntime.jsxs("div", { className: "mt-auto flex flex-col gap-3 p-4", children: [footerItems.length > 0 && (jsxRuntime.jsx("ul", { className: "flex flex-col gap-0.5", children: footerItems.map((item) => (jsxRuntime.jsx("li", { children: jsxRuntime.jsx(navItem.NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, onClick: () => setMobileMenuOpen(false), "data-testid": navItemTestId(item), children: item.label }) }, item.label))) })), account && (jsxRuntime.jsx(navAccountCard.NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, "data-testid": account['data-testid'] }))] })] }) })] }));
124
128
  };
125
129
 
126
130
  exports.NavAccountCard = navAccountCard.NavAccountCard;
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"sourcesContent":[null],"names":["useState","useEffect","sidebarCollapsedStorage","useId","useDualTierKeyboard","_jsx","NavButton","NavItemBase","_jsxs","motion","cx","ButtonUtility","ChevronRightDouble","FlipdishLogo","ChevronLeftDouble","NavAccountCard","AnimatePresence","_Fragment","MobileNavigationHeader","MobileNavigationDrawer","NavList"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"sourcesContent":[null],"names":["useResolvedTestId","joinTestId","slugifyTestId","useState","useEffect","sidebarCollapsedStorage","useId","useDualTierKeyboard","_jsx","NavButton","NavItemBase","_jsxs","motion","cx","ButtonUtility","ChevronRightDouble","FlipdishLogo","ChevronLeftDouble","NavAccountCard","AnimatePresence","TestIdProvider","MobileNavigationHeader","MobileNavigationDrawer","NavList"],"mappings":"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"}
@@ -41,6 +41,12 @@ export interface SidebarNavigationProps {
41
41
  mobileMenuOpen?: boolean;
42
42
  /** Called whenever the mobile drawer opens or closes. */
43
43
  onMobileMenuOpenChange?: (open: boolean) => void;
44
+ /**
45
+ * Overrides the root `data-testid`. Defaults to `fd-sidebar-navigation`. Child
46
+ * elements derive their testids from this prefix (e.g. `<root>--nav-item-orders`,
47
+ * `<root>--account`), so overriding here re-roots every descendant.
48
+ */
49
+ 'data-testid'?: string;
44
50
  }
45
51
  /**
46
52
  * The primary app-shell navigation rail. It renders a logo, a list of
@@ -53,5 +59,5 @@ export interface SidebarNavigationProps {
53
59
  *
54
60
  * @summary Navigate app sections through a collapsible, dual-tier sidebar rail.
55
61
  */
56
- export declare const SidebarNavigation: ({ activeUrl, items, footerItems, account, collapsed, defaultCollapsed, onCollapsedChange, persistCollapsed, hideBorder, hideRightBorder, showMobileHeader, mobileMenuOpen, onMobileMenuOpenChange, }: SidebarNavigationProps) => import("react").JSX.Element;
62
+ export declare const SidebarNavigation: ({ activeUrl, items, footerItems, account, collapsed, defaultCollapsed, onCollapsedChange, persistCollapsed, hideBorder, hideRightBorder, showMobileHeader, mobileMenuOpen, onMobileMenuOpenChange, "data-testid": dataTestId, }: SidebarNavigationProps) => import("react").JSX.Element;
57
63
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAKpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACtJ,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAElG,KAAK,cAAc,GAAG,WAAW,GAAG;IAAE,IAAI,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,uCAAuC;IACvC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,sHAAsH;IACtH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,8GAA8G;IAC9G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4FAA4F;IAC5F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAClD;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,sMAc/B,sBAAsB,gCAiRxB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/organisms/SidebarNavigation/index.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AAG5C,OAAO,EAAkB,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAKpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,KAAK,sBAAsB,EAAE,KAAK,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACtJ,OAAO,EAAE,WAAW,EAAE,KAAK,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,KAAK,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAElG,KAAK,cAAc,GAAG,WAAW,GAAG;IAAE,IAAI,EAAE,EAAE,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC;AAEzE,MAAM,WAAW,sBAAsB;IACrC,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oFAAoF;IACpF,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,uCAAuC;IACvC,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,sHAAsH;IACtH,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,8GAA8G;IAC9G,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gEAAgE;IAChE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iDAAiD;IACjD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD,0FAA0F;IAC1F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,qEAAqE;IACrE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oEAAoE;IACpE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,4FAA4F;IAC5F,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,yDAAyD;IACzD,sBAAsB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACjD;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAMD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,iBAAiB,GAAI,iOAe/B,sBAAsB,gCA+TxB,CAAC"}
@@ -1,9 +1,10 @@
1
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
1
+ import { jsxs, jsx } from 'react/jsx-runtime';
2
2
  import { ChevronRightDouble, ChevronLeftDouble } from '@flipdish/ui-icons';
3
3
  import { FlipdishLogo } from '@flipdish/ui-library/components/atoms/FlipdishLogo';
4
4
  import { ButtonUtility } from '@flipdish/ui-library/components/atoms/UtilityButton';
5
5
  import { cx } from '@flipdish/ui-library/utilities/cx';
6
6
  import { sidebarCollapsedStorage } from '@flipdish/ui-library/utilities/localStorageUtils';
7
+ import { useResolvedTestId, joinTestId, slugifyTestId, TestIdProvider } from '@flipdish/ui-library/utilities/testIdUtils';
7
8
  import { motion, AnimatePresence } from 'motion/react';
8
9
  import { useState, useEffect, useId } from 'react';
9
10
  import { MobileNavigationHeader, MobileNavigationDrawer } from './components/mobile-header.js';
@@ -29,7 +30,9 @@ const SECONDARY_SIDEBAR_WIDTH = 256;
29
30
  *
30
31
  * @summary Navigate app sections through a collapsible, dual-tier sidebar rail.
31
32
  */
32
- const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, }) => {
33
+ const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, collapsed, defaultCollapsed = false, onCollapsedChange, persistCollapsed = true, hideBorder, hideRightBorder, showMobileHeader = true, mobileMenuOpen, onMobileMenuOpenChange, 'data-testid': dataTestId, }) => {
34
+ const rootTestId = useResolvedTestId({ testId: dataTestId, segment: 'sidebar-navigation', rootName: 'sidebar-navigation' });
35
+ const navItemTestId = (item) => item['data-testid'] ?? joinTestId(rootTestId, `nav-item-${item.id ?? slugifyTestId(item.label)}`);
33
36
  const isControlled = collapsed !== undefined;
34
37
  const [internalCollapsed, setInternalCollapsed] = useState(defaultCollapsed);
35
38
  const isCollapsed = isControlled ? collapsed : internalCollapsed;
@@ -114,12 +117,13 @@ const SidebarNavigation = ({ activeUrl, items, footerItems = [], account, collap
114
117
  'aria-controls': isOpen ? panelId : undefined,
115
118
  };
116
119
  const selectSection = () => setCurrentLabel(item.label);
117
- return (jsx("li", { className: isCollapsed ? undefined : 'py-px', onKeyDown: handleTriggerKeyDown(item.label, hasChildren), children: isCollapsed ? (jsx(NavButton, { current: isCurrentPage, selected: isSelected, href: item.href, onClick: selectSection, label: item.label || '', icon: item.icon, ...disclosure })) : (jsx(NavItemBase, { type: "link", current: isCurrentPage, selected: isSelected, href: item.href, icon: item.icon, badge: item.badge, hasSubmenu: hasChildren, onClick: selectSection, ...disclosure, children: item.label })) }, item.label));
120
+ const itemTestId = navItemTestId(item);
121
+ return (jsx("li", { className: isCollapsed ? undefined : 'py-px', onKeyDown: handleTriggerKeyDown(item.label, hasChildren), children: isCollapsed ? (jsx(NavButton, { current: isCurrentPage, selected: isSelected, href: item.href, onClick: selectSection, label: item.label || '', icon: item.icon, "data-testid": itemTestId, ...disclosure })) : (jsx(NavItemBase, { type: "link", current: isCurrentPage, selected: isSelected, href: item.href, icon: item.icon, badge: item.badge, hasSubmenu: hasChildren, onClick: selectSection, "data-testid": itemTestId, ...disclosure, children: item.label })) }, item.label));
118
122
  });
119
- const mainSidebar = (jsxs(motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsx("div", { className: "flex justify-center px-3 py-5", children: jsx(ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: ChevronRightDouble, onClick: () => setCollapsed(false) }) })) : (jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsx(FlipdishLogo, { size: "md" }), jsx("div", { className: "absolute top-5 right-4", children: jsx(ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Collapse", "aria-label": "Collapse navigation", icon: ChevronLeftDouble, onClick: () => setCollapsed(true) }) })] })), jsx("ul", { className: cx('flex flex-col gap-0.5', isCollapsed ? 'items-center px-3.5' : 'px-4 pt-1'), children: renderPrimaryItems(items) })] }), jsxs("div", { className: cx('mt-auto flex flex-col gap-3 py-4', isCollapsed ? 'items-center px-3' : 'px-4'), children: [footerItems.length > 0 && jsx("ul", { className: cx('flex flex-col gap-0.5', isCollapsed && 'items-center'), children: renderPrimaryItems(footerItems) }), account &&
120
- (isCollapsed ? (jsx(NavAccountCard, { variant: "avatar", account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems })) : (jsx(NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems })))] })] }));
121
- const secondarySidebar = currentItem && (jsx(AnimatePresence, { initial: false, children: isSecondarySidebarVisible && (jsx(motion.div, { ref: panelRef, id: panelId, onKeyDown: handlePanelKeyDown, role: "group", "aria-label": `${currentItem.label} pages`, initial: { width: 0, borderColor: 'var(--color-border-secondary)' }, animate: { width: SECONDARY_SIDEBAR_WIDTH, borderColor: 'var(--color-border-secondary)' }, exit: { width: 0, borderColor: 'rgba(0,0,0,0)', transition: { borderColor: { type: 'tween', delay: 0.05 } } }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx('relative h-full overflow-x-hidden overflow-y-auto bg-primary', !(hideBorder || hideRightBorder) && 'box-content border-r border-secondary'), children: jsxs("div", { style: { width: SECONDARY_SIDEBAR_WIDTH }, className: "flex h-full flex-col px-4 pt-6", children: [jsx("h3", { className: "px-2 text-sm font-semibold text-tertiary", children: currentItem.label }), jsx("ul", { className: "py-2", children: currentItem.items?.map((item) => (jsx("li", { className: "py-px", children: jsx(NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, children: item.label }) }, item.label))) })] }) })) }));
122
- return (jsxs(Fragment, { children: [jsxs("div", { className: "z-50 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && jsx(MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId }), jsx(MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, children: jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [jsx("div", { className: "px-4", children: jsx(FlipdishLogo, { size: "sm" }) }), jsx(NavList, { activeUrl: activeUrl, items: items, onNavigate: () => setMobileMenuOpen(false) }), jsxs("div", { className: "mt-auto flex flex-col gap-3 p-4", children: [footerItems.length > 0 && (jsx("ul", { className: "flex flex-col gap-0.5", children: footerItems.map((item) => (jsx("li", { children: jsx(NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, onClick: () => setMobileMenuOpen(false), children: item.label }) }, item.label))) })), account && jsx(NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems })] })] }) })] }));
123
+ const mainSidebar = (jsxs(motion.aside, { animate: { width: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx('flex h-full max-h-full flex-col justify-between overflow-x-hidden overflow-y-auto bg-secondary', !hideBorder && 'border-r border-secondary'), children: [jsxs("div", { className: "flex flex-col", children: [isCollapsed ? (jsx("div", { className: "flex justify-center px-3 py-5", children: jsx(ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Expand", "aria-label": "Expand navigation", icon: ChevronRightDouble, "data-testid": joinTestId(rootTestId, 'expand'), onClick: () => setCollapsed(false) }) })) : (jsxs("div", { className: "relative flex items-center px-5 py-5", children: [jsx(FlipdishLogo, { size: "md" }), jsx("div", { className: "absolute top-5 right-4", children: jsx(ButtonUtility, { size: "sm", color: "tertiary", tooltip: "Collapse", "aria-label": "Collapse navigation", icon: ChevronLeftDouble, "data-testid": joinTestId(rootTestId, 'collapse'), onClick: () => setCollapsed(true) }) })] })), jsx("ul", { className: cx('flex flex-col gap-0.5', isCollapsed ? 'items-center px-3.5' : 'px-4 pt-1'), children: renderPrimaryItems(items) })] }), jsxs("div", { className: cx('mt-auto flex flex-col gap-3 py-4', isCollapsed ? 'items-center px-3' : 'px-4'), children: [footerItems.length > 0 && jsx("ul", { className: cx('flex flex-col gap-0.5', isCollapsed && 'items-center'), children: renderPrimaryItems(footerItems) }), account &&
124
+ (isCollapsed ? (jsx(NavAccountCard, { variant: "avatar", account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, "data-testid": account['data-testid'] })) : (jsx(NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, "data-testid": account['data-testid'] })))] })] }));
125
+ const secondarySidebar = currentItem && (jsx(AnimatePresence, { initial: false, children: isSecondarySidebarVisible && (jsx(motion.div, { ref: panelRef, id: panelId, onKeyDown: handlePanelKeyDown, role: "group", "aria-label": `${currentItem.label} pages`, initial: { width: 0, borderColor: 'var(--color-border-secondary)' }, animate: { width: SECONDARY_SIDEBAR_WIDTH, borderColor: 'var(--color-border-secondary)' }, exit: { width: 0, borderColor: 'rgba(0,0,0,0)', transition: { borderColor: { type: 'tween', delay: 0.05 } } }, transition: { type: 'spring', damping: 26, stiffness: 220, bounce: 0 }, className: cx('relative h-full overflow-x-hidden overflow-y-auto bg-primary', !(hideBorder || hideRightBorder) && 'box-content border-r border-secondary'), children: jsxs("div", { style: { width: SECONDARY_SIDEBAR_WIDTH }, className: "flex h-full flex-col px-4 pt-6", children: [jsx("h3", { className: "px-2 text-sm font-semibold text-tertiary", children: currentItem.label }), jsx("ul", { className: "py-2", children: currentItem.items?.map((item) => (jsx("li", { className: "py-px", children: jsx(NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, "data-testid": item['data-testid'] ?? joinTestId(navItemTestId(currentItem), `sub-item-${item.id ?? slugifyTestId(item.label)}`), children: item.label }) }, item.label))) })] }) })) }));
126
+ return (jsxs(TestIdProvider, { value: rootTestId, children: [jsxs("div", { className: "z-50 hidden lg:fixed lg:inset-y-0 lg:left-0 lg:flex", onPointerEnter: () => setIsHovering(true), onPointerLeave: () => setIsHovering(false), onFocus: handleContainerFocus, onBlur: handleContainerBlur, children: [mainSidebar, secondarySidebar] }), jsx("div", { style: { paddingLeft: isCollapsed ? COLLAPSED_WIDTH : EXPANDED_WIDTH }, className: "invisible hidden lg:sticky lg:top-0 lg:bottom-0 lg:left-0 lg:block" }), showMobileHeader && (jsx(MobileNavigationHeader, { isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, controls: mobileMenuId, "data-testid": joinTestId(rootTestId, 'mobile-toggle') })), jsx(MobileNavigationDrawer, { id: mobileMenuId, isOpen: isMobileMenuOpen, onOpenChange: setMobileMenuOpen, "data-testid": joinTestId(rootTestId, 'mobile-close'), children: jsxs("aside", { className: "group flex h-full max-h-full w-full max-w-full flex-col justify-between overflow-y-auto bg-secondary pt-4", children: [jsx("div", { className: "px-4", children: jsx(FlipdishLogo, { size: "sm" }) }), jsx(NavList, { activeUrl: activeUrl, items: items, onNavigate: () => setMobileMenuOpen(false), testIdPrefix: rootTestId }), jsxs("div", { className: "mt-auto flex flex-col gap-3 p-4", children: [footerItems.length > 0 && (jsx("ul", { className: "flex flex-col gap-0.5", children: footerItems.map((item) => (jsx("li", { children: jsx(NavItemBase, { type: "link", current: activeUrl === item.href, href: item.href, icon: item.icon, badge: item.badge, onClick: () => setMobileMenuOpen(false), "data-testid": navItemTestId(item), children: item.label }) }, item.label))) })), account && (jsx(NavAccountCard, { account: account.account, menuItems: account.menuItems, bottomMenuItems: account.bottomMenuItems, "data-testid": account['data-testid'] }))] })] }) })] }));
123
127
  };
124
128
 
125
129
  export { NavAccountCard, NavItemBase, SidebarNavigation };