@plumile/ui 0.1.144 → 0.1.146

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 (237) hide show
  1. package/lib/esm/admin/organisms/admin_sidebar/AdminSidebar.js +1 -1
  2. package/lib/esm/admin/organisms/admin_sidebar/adminSidebar.css.js +2 -4
  3. package/lib/esm/admin/organisms/admin_topbar/adminTopbar.css.js +1 -1
  4. package/lib/esm/admin/theme/adminSurface.css.js +2 -0
  5. package/lib/esm/atomic/atoms/badge/badge.css.js +7 -7
  6. package/lib/esm/atomic/atoms/button/button.css.js +38 -38
  7. package/lib/esm/atomic/atoms/button/button.css.js.map +1 -1
  8. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js +6 -6
  9. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js.map +1 -1
  10. package/lib/esm/atomic/atoms/error_message/errorMessage.css.js +1 -1
  11. package/lib/esm/atomic/atoms/input/input.css.js +9 -9
  12. package/lib/esm/atomic/atoms/label/label.css.js +4 -4
  13. package/lib/esm/atomic/atoms/modal/Modal.js +1 -1
  14. package/lib/esm/atomic/atoms/modal/modal.css.js +1 -1
  15. package/lib/esm/atomic/atoms/overlay/overlay.css.js +1 -1
  16. package/lib/esm/atomic/atoms/overlay/overlay.css.js.map +1 -1
  17. package/lib/esm/atomic/atoms/textarea/textarea.css.js +8 -8
  18. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +1 -1
  19. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js +1 -1
  20. package/lib/esm/atomic/molecules/checkbox_field/checkboxField.css.js +1 -1
  21. package/lib/esm/atomic/molecules/dropdown/dropdown.css.js +1 -1
  22. package/lib/esm/atomic/molecules/empty-state/EmptyState.css.js +28 -28
  23. package/lib/esm/atomic/molecules/form/formStyles.css.js +1 -1
  24. package/lib/esm/atomic/molecules/form/formStyles.css.js.map +1 -1
  25. package/lib/esm/atomic/molecules/form_error/formError.css.js +1 -1
  26. package/lib/esm/atomic/molecules/form_field/formField.css.js +1 -1
  27. package/lib/esm/atomic/molecules/form_grid/FormGrid.css.js +8 -0
  28. package/lib/esm/atomic/molecules/form_grid/FormGrid.css.js.map +1 -0
  29. package/lib/esm/atomic/molecules/form_grid/FormGrid.js +16 -0
  30. package/lib/esm/atomic/molecules/form_grid/FormGrid.js.map +1 -0
  31. package/lib/esm/atomic/molecules/highlight/HighlightCode.css.js +1 -1
  32. package/lib/esm/atomic/molecules/highlight/highlightStyles.css.js +1 -1
  33. package/lib/esm/atomic/molecules/markdown/LazyMarkdownRenderer.css.js +1 -1
  34. package/lib/esm/atomic/molecules/markdown/components/MarkdownArticleContainer.css.js +1 -1
  35. package/lib/esm/atomic/molecules/markdown/components/MarkdownBlockquote.css.js +1 -1
  36. package/lib/esm/atomic/molecules/markdown/components/MarkdownCodeCopyButton.css.js +1 -1
  37. package/lib/esm/atomic/molecules/markdown/components/MarkdownEmphasis.css.js +1 -0
  38. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteDefinition.css.js +1 -1
  39. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnoteReference.css.js +1 -1
  40. package/lib/esm/atomic/molecules/markdown/components/MarkdownFootnotesSection.css.js +1 -1
  41. package/lib/esm/atomic/molecules/markdown/components/MarkdownHeading.css.js +7 -8
  42. package/lib/esm/atomic/molecules/markdown/components/MarkdownHtmlFallback.css.js +1 -1
  43. package/lib/esm/atomic/molecules/markdown/components/MarkdownImage.css.js +1 -1
  44. package/lib/esm/atomic/molecules/markdown/components/MarkdownInlineCode.css.js +1 -1
  45. package/lib/esm/atomic/molecules/markdown/components/MarkdownLink.css.js +1 -1
  46. package/lib/esm/atomic/molecules/markdown/components/MarkdownList.css.js +1 -1
  47. package/lib/esm/atomic/molecules/markdown/components/MarkdownListItem.css.js +1 -1
  48. package/lib/esm/atomic/molecules/markdown/components/MarkdownMark.css.js +1 -1
  49. package/lib/esm/atomic/molecules/markdown/components/MarkdownMermaidBlock.css.js +1 -1
  50. package/lib/esm/atomic/molecules/markdown/components/MarkdownParagraph.css.js +1 -1
  51. package/lib/esm/atomic/molecules/markdown/components/MarkdownStrong.css.js +1 -1
  52. package/lib/esm/atomic/molecules/markdown/components/MarkdownTable.css.js +1 -1
  53. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCaption.css.js +1 -1
  54. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableCell.css.js +1 -1
  55. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableHead.css.js +1 -1
  56. package/lib/esm/atomic/molecules/markdown/components/MarkdownTableHeaderCell.css.js +1 -1
  57. package/lib/esm/atomic/molecules/markdown/components/MarkdownTaskListItem.css.js +1 -1
  58. package/lib/esm/atomic/molecules/markdown/components/MarkdownText.css.js +1 -1
  59. package/lib/esm/atomic/molecules/markdown/components/MarkdownThematicBreak.css.js +1 -1
  60. package/lib/esm/atomic/molecules/tabs/tabs.css.js +16 -16
  61. package/lib/esm/atomic/molecules/toast/toast.css.js +2 -2
  62. package/lib/esm/atomic/organisms/login_form/loginForm.css.js +1 -1
  63. package/lib/esm/atomic/organisms/sidebar/NavigationSidebar.js +85 -85
  64. package/lib/esm/atomic/organisms/sidebar/NavigationSidebar.js.map +1 -1
  65. package/lib/esm/atomic/organisms/sidebar/SidebarContainer.js +19 -19
  66. package/lib/esm/atomic/organisms/sidebar/SidebarContainer.js.map +1 -1
  67. package/lib/esm/atomic/organisms/sidebar/navigationSidebar.css.js +16 -16
  68. package/lib/esm/atomic/organisms/sidebar/navigationSidebar.css.js.map +1 -1
  69. package/lib/esm/atomic/organisms/sidebar/sidebar.css.js +6 -6
  70. package/lib/esm/atomic/organisms/sidebar/sidebar.css.js.map +1 -1
  71. package/lib/esm/atomic/templates/auth_layout/authLayout.css.js +1 -1
  72. package/lib/esm/atomic/templates/auth_layout/authLayout.css.js.map +1 -1
  73. package/lib/esm/atomic/templates/page-container/PageContainer.js +3 -3
  74. package/lib/esm/atomic/templates/page-container/pageContainer.css.js +1 -1
  75. package/lib/esm/backoffice/atoms/backoffice_id_badge/backofficeIdBadge.css.js +1 -1
  76. package/lib/esm/backoffice/atoms/copyable_text/copyableText.css.js +1 -1
  77. package/lib/esm/backoffice/atoms/shortcut_hint/shortcutHint.css.js +1 -1
  78. package/lib/esm/backoffice/atoms/skeleton/skeleton.css.js +5 -5
  79. package/lib/esm/backoffice/atoms/spinner/spinner.css.js +1 -1
  80. package/lib/esm/backoffice/atoms/status_badge/statusBadge.css.js +1 -1
  81. package/lib/esm/backoffice/atoms/tag/tag.css.js +7 -7
  82. package/lib/esm/backoffice/molecules/backoffice_detail_field/backofficeDetailField.css.js +8 -8
  83. package/lib/esm/backoffice/molecules/backoffice_detail_flag_tag/backofficeDetailFlagTag.css.js +1 -1
  84. package/lib/esm/backoffice/molecules/backoffice_detail_section/backofficeDetailSection.css.js +1 -1
  85. package/lib/esm/backoffice/molecules/backoffice_detail_tagged_value/backofficeDetailTaggedValue.css.js +1 -1
  86. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/BackofficeFilterDrawer.js +7 -7
  87. package/lib/esm/backoffice/molecules/backoffice_filter_drawer/backofficeFilterDrawer.css.js +1 -1
  88. package/lib/esm/backoffice/molecules/backoffice_filter_field/backofficeFilterField.css.js +1 -1
  89. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.css.js +1 -1
  90. package/lib/esm/backoffice/molecules/backoffice_json_viewer/LazyBackofficeJsonViewer.js +1 -1
  91. package/lib/esm/backoffice/molecules/backoffice_json_viewer/backofficeJsonViewer.css.js +1 -1
  92. package/lib/esm/backoffice/molecules/backoffice_key_value_list/backofficeKeyValueList.css.js +1 -1
  93. package/lib/esm/backoffice/molecules/backoffice_list_footer/BackofficeListFooter.js +2 -2
  94. package/lib/esm/backoffice/molecules/backoffice_list_footer/backofficeListFooter.css.js +1 -1
  95. package/lib/esm/backoffice/molecules/backoffice_page_header/BackofficePageHeader.js +4 -4
  96. package/lib/esm/backoffice/molecules/backoffice_page_header/backofficePageHeader.css.js +1 -1
  97. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/BackofficePayloadViewer.js +1 -1
  98. package/lib/esm/backoffice/molecules/backoffice_payload_viewer/backofficePayloadViewer.css.js +1 -1
  99. package/lib/esm/backoffice/molecules/backoffice_picker/backofficePicker.css.js +1 -1
  100. package/lib/esm/backoffice/molecules/backoffice_reference_value/backofficeReferenceValue.css.js +1 -1
  101. package/lib/esm/backoffice/molecules/backoffice_relations_menu/BackofficeRelationsMenu.js +4 -4
  102. package/lib/esm/backoffice/molecules/backoffice_relations_menu/backofficeRelationsMenu.css.js +1 -1
  103. package/lib/esm/backoffice/molecules/backoffice_status_meta_badge/backofficeStatusMetaBadge.css.js +1 -1
  104. package/lib/esm/backoffice/molecules/backoffice_table_skeleton/backofficeTableSkeleton.css.js +4 -4
  105. package/lib/esm/backoffice/molecules/backoffice_toolbar/BackofficeToolbar.js +8 -8
  106. package/lib/esm/backoffice/molecules/backoffice_toolbar/backofficeToolbar.css.js +4 -4
  107. package/lib/esm/backoffice/molecules/bulk_actions_bar/bulkActionsBar.css.js +1 -1
  108. package/lib/esm/backoffice/molecules/confirm_dialog/confirmDialog.css.js +1 -1
  109. package/lib/esm/backoffice/molecules/filter_chip_row/filterChipRow.css.js +1 -1
  110. package/lib/esm/backoffice/molecules/global_search_input/globalSearchInput.css.js +1 -1
  111. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js +0 -1
  112. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.js.map +1 -1
  113. package/lib/esm/backoffice/molecules/sidebar_collapse_toggle/sidebarCollapseToggle.css.js +1 -1
  114. package/lib/esm/backoffice/molecules/sidebar_nav_item/sidebarNavItem.css.js +1 -1
  115. package/lib/esm/backoffice/molecules/sidebar_nav_section/SidebarNavSection.js +5 -5
  116. package/lib/esm/backoffice/molecules/sidebar_nav_section/sidebarNavSection.css.js +1 -1
  117. package/lib/esm/backoffice/molecules/sidebar_profile_menu/BackofficeSidebarProfileMenu.js +3 -3
  118. package/lib/esm/backoffice/molecules/sidebar_profile_menu/sidebarProfileMenu.css.js +5 -5
  119. package/lib/esm/backoffice/organisms/audit_timeline/auditTimeline.css.js +6 -6
  120. package/lib/esm/backoffice/organisms/backoffice_data_table/backofficeDataTable.css.js +1 -1
  121. package/lib/esm/backoffice/organisms/entity_header/entityHeader.css.js +1 -1
  122. package/lib/esm/backoffice/templates/detail_page_template/DetailPageTemplate.js +4 -4
  123. package/lib/esm/backoffice/templates/detail_page_template/detailPageTemplate.css.js +5 -5
  124. package/lib/esm/backoffice/templates/list_page_template/ListPageTemplate.js +1 -1
  125. package/lib/esm/backoffice/templates/list_page_template/listPageTemplate.css.js +8 -8
  126. package/lib/esm/components/agent/AgentMarkdownCard.css.js +1 -1
  127. package/lib/esm/components/charts/metricHistoryChart.css.js +1 -1
  128. package/lib/esm/components/charts/timeSeriesLineChart.css.js +1 -1
  129. package/lib/esm/components/dashboard/activity_card/ActivityCard.css.js +1 -1
  130. package/lib/esm/components/dashboard/activity_card/ActivityCard.js +2 -2
  131. package/lib/esm/components/dashboard/activity_feed/ActivityFeed.css.js +1 -1
  132. package/lib/esm/components/dashboard/dashboard_grid/DashboardGrid.css.js +14 -14
  133. package/lib/esm/components/dashboard/dashboard_metric_group/DashboardMetricGroup.css.js +1 -1
  134. package/lib/esm/components/dashboard/dashboard_panel/DashboardPanel.css.js +1 -1
  135. package/lib/esm/components/dashboard/dashboard_quick_actions/DashboardQuickActions.css.js +1 -1
  136. package/lib/esm/components/dashboard/dashboard_status_list/DashboardStatusList.css.js +1 -1
  137. package/lib/esm/components/dashboard/metadata_strip/MetadataStrip.css.js +1 -1
  138. package/lib/esm/components/dashboard/metric_card/MetricCard.css.js +6 -6
  139. package/lib/esm/components/dashboard/metric_card/MetricCard.js +2 -2
  140. package/lib/esm/components/dashboard/metric_tile_group/MetricTileGroup.css.js +11 -11
  141. package/lib/esm/components/dashboard/page_hero/PageHero.css.js +1 -1
  142. package/lib/esm/components/dashboard/page_hero/PageHero.js +3 -3
  143. package/lib/esm/components/dashboard/selectable_card/SelectableCard.css.js +1 -1
  144. package/lib/esm/components/dashboard/selectable_card/SelectableCard.js +2 -2
  145. package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.css.js +1 -1
  146. package/lib/esm/components/dashboard/status_summary_panel/StatusSummaryPanel.js +1 -1
  147. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.css.js +2 -2
  148. package/lib/esm/components/dashboard/timeline_event_row/TimelineEventRow.js +8 -8
  149. package/lib/esm/components/data-table/DataTable.css.js +28 -28
  150. package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
  151. package/lib/esm/components/data-table/DataTable.js +1 -1
  152. package/lib/esm/components/data-table/ResponsiveRecordList.css.js +6 -6
  153. package/lib/esm/components/data-table/TableCell.css.js +2 -2
  154. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +1 -1
  155. package/lib/esm/components/feedback/OperationFeedback.css.js +1 -1
  156. package/lib/esm/components/feedback/OperationFeedback.js +21 -14
  157. package/lib/esm/components/feedback/OperationFeedback.js.map +1 -1
  158. package/lib/esm/components/feedback/inlineBanner.css.js +6 -6
  159. package/lib/esm/components/infinite/InfiniteScrollTrigger.js +1 -1
  160. package/lib/esm/components/infinite/infiniteScrollTrigger.css.js +1 -1
  161. package/lib/esm/components/layout/ActionPanel.css.js +1 -1
  162. package/lib/esm/components/layout/ActionPanel.js +2 -2
  163. package/lib/esm/components/layout/AppHeader.css.js +1 -1
  164. package/lib/esm/components/layout/AppHeader.js +4 -4
  165. package/lib/esm/components/layout/ContentLayout.css.js +1 -1
  166. package/lib/esm/components/layout/ContentLayout.js +2 -2
  167. package/lib/esm/components/layout/DetailSummaryHeader.css.js +1 -1
  168. package/lib/esm/components/layout/DetailSummaryHeader.js +3 -3
  169. package/lib/esm/components/layout/PageShell.css.js +1 -1
  170. package/lib/esm/components/layout/PageShell.js +5 -5
  171. package/lib/esm/components/layout/ResizableSplitView.css.js +1 -1
  172. package/lib/esm/components/layout/ResizableSplitView.js +1 -1
  173. package/lib/esm/components/layout/SettingsLayout.css.js +1 -1
  174. package/lib/esm/components/layout/Surface.css.js +15 -15
  175. package/lib/esm/components/layout/Surface.css.js.map +1 -1
  176. package/lib/esm/components/layout/Surface.js +6 -6
  177. package/lib/esm/components/layout/toolbar/Toolbar.css.js +16 -16
  178. package/lib/esm/components/layout/top_navigation_shell/TopNavigationShell.css.js +17 -0
  179. package/lib/esm/components/layout/top_navigation_shell/TopNavigationShell.css.js.map +1 -0
  180. package/lib/esm/components/layout/top_navigation_shell/TopNavigationShell.js +24 -0
  181. package/lib/esm/components/layout/top_navigation_shell/TopNavigationShell.js.map +1 -0
  182. package/lib/esm/components/media/imagePreviewModal.css.js +5 -5
  183. package/lib/esm/components/navigation/sidebar/SidebarNavigation.js +1 -1
  184. package/lib/esm/components/navigation/sidebar/sidebarNavigation.css.js +2 -2
  185. package/lib/esm/components/responsive/ResponsiveCollectionRenderer.css.js +1 -1
  186. package/lib/esm/components/routing/routeFallback.css.js +1 -1
  187. package/lib/esm/components/routing/routePendingBar.css.js +1 -1
  188. package/lib/esm/components/select/SimpleSelect.css.js +13 -13
  189. package/lib/esm/components/select/SimpleSelect.css.js.map +1 -1
  190. package/lib/esm/components/tile/InfoTile.css.js +1 -1
  191. package/lib/esm/components/tile/InfoTile.js +3 -3
  192. package/lib/esm/index.js +228 -226
  193. package/lib/esm/node_modules/dompurify/dist/purify.es.js +173 -166
  194. package/lib/esm/node_modules/dompurify/dist/purify.es.js.map +1 -1
  195. package/lib/esm/style.css +1 -1
  196. package/lib/esm/theme/accessibility.css.js +1 -1
  197. package/lib/esm/theme/backofficeTheme.css.js +112 -80
  198. package/lib/esm/theme/backofficeTheme.css.js.map +1 -1
  199. package/lib/esm/theme/colors.js +8 -0
  200. package/lib/esm/theme/colors.js.map +1 -1
  201. package/lib/esm/theme/publicTheme.css.js +123 -91
  202. package/lib/esm/theme/publicTheme.css.js.map +1 -1
  203. package/lib/esm/theme/sprinkles.css.js +12988 -11500
  204. package/lib/esm/theme/sprinkles.css.js.map +1 -1
  205. package/lib/esm/theme/styleRecipes.css.js +8 -8
  206. package/lib/esm/theme/theme.css.js +235 -171
  207. package/lib/esm/theme/themeContract.css.js +1922 -1898
  208. package/lib/esm/theme/themeContract.css.js.map +1 -1
  209. package/lib/types/atomic/molecules/form_grid/FormGrid.css.d.ts +3 -0
  210. package/lib/types/atomic/molecules/form_grid/FormGrid.css.d.ts.map +1 -0
  211. package/lib/types/atomic/molecules/form_grid/FormGrid.d.ts +9 -0
  212. package/lib/types/atomic/molecules/form_grid/FormGrid.d.ts.map +1 -0
  213. package/lib/types/atomic/organisms/sidebar/NavigationSidebar.d.ts.map +1 -1
  214. package/lib/types/atomic/organisms/sidebar/SidebarContainer.d.ts.map +1 -1
  215. package/lib/types/atomic/organisms/sidebar/navigationSidebar.css.d.ts +2 -0
  216. package/lib/types/atomic/organisms/sidebar/navigationSidebar.css.d.ts.map +1 -1
  217. package/lib/types/atomic/organisms/sidebar/sidebar.css.d.ts +1 -0
  218. package/lib/types/atomic/organisms/sidebar/sidebar.css.d.ts.map +1 -1
  219. package/lib/types/backoffice/molecules/sidebar_collapse_toggle/SidebarCollapseToggle.d.ts.map +1 -1
  220. package/lib/types/components/feedback/OperationFeedback.d.ts +3 -2
  221. package/lib/types/components/feedback/OperationFeedback.d.ts.map +1 -1
  222. package/lib/types/components/layout/top_navigation_shell/TopNavigationShell.css.d.ts +8 -0
  223. package/lib/types/components/layout/top_navigation_shell/TopNavigationShell.css.d.ts.map +1 -0
  224. package/lib/types/components/layout/top_navigation_shell/TopNavigationShell.d.ts +18 -0
  225. package/lib/types/components/layout/top_navigation_shell/TopNavigationShell.d.ts.map +1 -0
  226. package/lib/types/index.d.ts +2 -0
  227. package/lib/types/index.d.ts.map +1 -1
  228. package/lib/types/theme/backofficeTheme.css.d.ts +112 -80
  229. package/lib/types/theme/backofficeTheme.css.d.ts.map +1 -1
  230. package/lib/types/theme/colors.d.ts +8 -0
  231. package/lib/types/theme/colors.d.ts.map +1 -1
  232. package/lib/types/theme/publicTheme.css.d.ts +123 -91
  233. package/lib/types/theme/publicTheme.css.d.ts.map +1 -1
  234. package/lib/types/theme/sprinkles.css.d.ts +129 -129
  235. package/lib/types/theme/themeContract.css.d.ts +24 -0
  236. package/lib/types/theme/themeContract.css.d.ts.map +1 -1
  237. package/package.json +3 -3
@@ -2,7 +2,7 @@
2
2
  /* empty css */
3
3
  import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
4
4
  //#region src/atomic/molecules/toast/toast.css.ts
5
- var t = "_19cwz1i0 txvbqb1344 txvbqb136n txvbqbd57 txvbqb1ah6 txvbqbfb7 txvbqbgqh txvbqbgz5", n = "_19cwz1i3 _19cwz1i2 txvbqb108u txvbqb116f txvbqb123n txvbqbxfq txvbqb1atp txvbqb1cw txvbqb2pn txvbqb25s txvbqbfb7 txvbqbgqh txvbqbgys txvbqb2rg txvbqbe2f", r = e({
5
+ var t = "_19cwz1i0 txvbqb13ik txvbqb13l3 txvbqbdjn txvbqb1avm txvbqbfpn txvbqbh4x txvbqbhdl", n = "_19cwz1i3 _19cwz1i2 txvbqb10na txvbqb11kv txvbqb12i3 txvbqbxu6 txvbqb1b85 txvbqb1cw txvbqb2sj txvbqb28o txvbqbfpn txvbqbh4x txvbqbhd8 txvbqb2uc txvbqbegv", r = e({
6
6
  defaultClassName: "_19cwz1i4",
7
7
  variantClassNames: { kind: {
8
8
  info: "_19cwz1i5",
@@ -11,7 +11,7 @@ var t = "_19cwz1i0 txvbqb1344 txvbqb136n txvbqbd57 txvbqb1ah6 txvbqbfb7 txvbqbgq
11
11
  } },
12
12
  defaultVariants: { kind: "info" },
13
13
  compoundVariants: []
14
- }), i = "_19cwz1i8 txvbqbfb7 txvbqbel txvbqbler txvbqbgz5", a = "_19cwz1i9 txvbqbgwz", o = "_19cwz1ia txvbqb9j", s = "_19cwz1ib txvbqbfca txvbqbey txvbqbgz5 txvbqbrk4", c = "_19cwz1ic txvbqbfca txvbqbey txvbqbldo txvbqb192m txvbqbj81 txvbqb2r3 txvbqb2ox txvbqb1qz txvbqb1aqb txvbqbv", l = "_19cwz1ie _19cwz1id txvbqbrk4 txvbqb2tm", u = "_19cwz1ig";
14
+ }), i = "_19cwz1i8 txvbqbfpn txvbqbel txvbqblt7 txvbqbhdl", a = "_19cwz1i9 txvbqbhbf", o = "_19cwz1ia txvbqb9j", s = "_19cwz1ib txvbqbfqq txvbqbey txvbqbhdl txvbqbryk", c = "_19cwz1ic txvbqbfqq txvbqbey txvbqbls4 txvbqb19h2 txvbqbjmh txvbqb2tz txvbqb2rt txvbqb1tv txvbqb1b4r txvbqbv", l = "_19cwz1ie _19cwz1id txvbqbryk txvbqb2wi", u = "_19cwz1ig";
15
15
  //#endregion
16
16
  export { s as actions, c as closeButton, i as header, r as kindRecipe, o as message, u as progressBar, l as progressTrack, a as title, n as toast, t as viewport };
17
17
 
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  //#region src/atomic/organisms/login_form/loginForm.css.ts
4
- var e = "_1uxsb8v0 txvbqb19fz txvbqbfb7 txvbqbgqh txvbqbh0l", t = "_1uxsb8v1 txvbqbfb7 txvbqbler txvbqbey txvbqbotw", n = "_1uxsb8v2 txvbqb9j", r = "_1uxsb8v3 txvbqb1b2f txvbqb3f txvbqbgwm txvbqb7h txvbqb76 txvbqb7t";
4
+ var e = "_1uxsb8v0 txvbqb19uf txvbqbfpn txvbqbh4x txvbqbhf1", t = "_1uxsb8v1 txvbqbfpn txvbqblt7 txvbqbey txvbqbp8c", n = "_1uxsb8v2 txvbqb9j", r = "_1uxsb8v3 txvbqb1bhb txvbqb3f txvbqbhb2 txvbqb7h txvbqb76 txvbqb7t";
5
5
  //#endregion
6
6
  export { n as forgotPassword, e as form, r as link, t as options };
7
7
 
@@ -1,55 +1,55 @@
1
1
  import { cx as e } from "../../../theme/tools.js";
2
2
  import { useUiTranslation as t } from "../../../i18n/useUiTranslation.js";
3
3
  import { ChevronLeftIcon as n, ChevronRightIcon as r } from "./icons.js";
4
- import { childIcon as i, childLabel as a, childLinkRecipe as o, collapseButton as s, collapseButtonLabel as c, collapseButtonStateRecipe as l, collapsibleContent as u, collapsibleItem as d, collapsibleSection as f, collapsibleStateRecipe as p, iconBaseLayer as m, iconHiddenOnHover as h, iconVisibleOnHover as g, iconWrapper as _, itemWrapper as v, label as y, navButton as b, navGapRecipe as x, navLinkRecipe as ee, navWithTrailingAction as S, trailingActionButton as C, trailingActionIconHidden as w, trailingActionIconVisible as T, trailingActionIconWrapper as te, trailingIconWrapper as E } from "./navigationSidebar.css.js";
5
- import { SidebarContainer as D } from "./SidebarContainer.js";
6
- import { useCallback as O, useMemo as k, useState as A } from "react";
7
- import { Fragment as j, jsx as M, jsxs as N } from "react/jsx-runtime";
8
- import P from "@plumile/router/routing/Link.js";
9
- import F from "@plumile/router/routing/useLocation.js";
4
+ import { childIcon as i, childIconTheme as a, childLabel as o, childLinkRecipe as s, collapseButton as c, collapseButtonLabel as l, collapseButtonStateRecipe as u, collapsibleContent as d, collapsibleContentTheme as f, collapsibleItem as ee, collapsibleSection as p, collapsibleStateRecipe as m, iconBaseLayer as h, iconHiddenOnHover as g, iconVisibleOnHover as _, iconWrapper as v, itemWrapper as y, label as te, navButton as b, navGapRecipe as x, navLinkRecipe as S, navWithTrailingAction as C, trailingActionButton as w, trailingActionIconHidden as T, trailingActionIconVisible as E, trailingActionIconWrapper as D, trailingIconWrapper as ne } from "./navigationSidebar.css.js";
5
+ import { SidebarContainer as O } from "./SidebarContainer.js";
6
+ import { useCallback as k, useMemo as A, useState as j } from "react";
7
+ import { Fragment as M, jsx as N, jsxs as P } from "react/jsx-runtime";
8
+ import F from "@plumile/router/routing/Link.js";
9
+ import I from "@plumile/router/routing/useLocation.js";
10
10
  //#region src/atomic/organisms/sidebar/NavigationSidebar.tsx
11
- var I = ({ id: t, isExpanded: n, children: r }) => {
11
+ var L = ({ id: t, isExpanded: n, children: r }) => {
12
12
  let i = "collapsed";
13
- return n && (i = "expanded"), /* @__PURE__ */ M("div", {
13
+ return n && (i = "expanded"), /* @__PURE__ */ N("div", {
14
14
  id: t,
15
15
  "aria-hidden": !n,
16
- className: e(f, p({ state: i })),
17
- children: /* @__PURE__ */ M("div", {
18
- className: u,
16
+ className: e(p, m({ state: i })),
17
+ children: /* @__PURE__ */ N("div", {
18
+ className: e(d, f),
19
19
  children: r
20
20
  })
21
21
  });
22
- }, L = ({ items: u, headerSlot: f, isCollapsed: p, onCollapsedChange: L, showCollapseToggle: R = !0 }) => {
23
- let { t: z } = t(), [B, V] = A(!1), [H, U] = A({}), W = p != null, G = p ?? B, { pathname: K } = F(), q = (e, t) => t === !0 ? K === e : K === e ? !0 : K.startsWith(`${e}/`), J = O((e, t) => {
22
+ }, R = ({ items: d, headerSlot: f, isCollapsed: p, onCollapsedChange: m, showCollapseToggle: R = !0 }) => {
23
+ let { t: z } = t(), [B, V] = j(!1), [H, U] = j({}), W = p != null, G = p ?? B, { pathname: K } = I(), q = (e, t) => t === !0 ? K === e : K === e ? !0 : K.startsWith(`${e}/`), J = k((e, t) => {
24
24
  U((n) => ({
25
25
  ...n,
26
26
  [e]: t
27
27
  }));
28
- }, []), Y = O(() => {
28
+ }, []), Y = k(() => {
29
29
  let e = !G;
30
- W || V(e), L?.(e);
30
+ W || V(e), m?.(e);
31
31
  }, [
32
32
  G,
33
33
  W,
34
- L
34
+ m
35
35
  ]), X;
36
36
  G || (X = f ?? void 0);
37
- let Z = k(() => {
37
+ let Z = A(() => {
38
38
  if (!R) return null;
39
39
  let t = n, i = z("navigation.sidebar.actions.collapseAriaLabel");
40
40
  G && (t = r, i = z("navigation.sidebar.actions.expandAriaLabel"));
41
41
  let a = "expanded";
42
42
  G && (a = "collapsed");
43
43
  let o = null;
44
- return G || (o = /* @__PURE__ */ M("span", {
45
- className: c,
44
+ return G || (o = /* @__PURE__ */ N("span", {
45
+ className: l,
46
46
  children: z("navigation.sidebar.actions.collapse")
47
- })), /* @__PURE__ */ N("button", {
47
+ })), /* @__PURE__ */ P("button", {
48
48
  type: "button",
49
49
  onClick: Y,
50
- className: e(s, l({ state: a })),
50
+ className: e(c, u({ state: a })),
51
51
  "aria-label": i,
52
- children: [/* @__PURE__ */ M(t, { size: 20 }), o]
52
+ children: [/* @__PURE__ */ N(t, { size: 20 }), o]
53
53
  });
54
54
  }, [
55
55
  Y,
@@ -57,80 +57,80 @@ var I = ({ id: t, isExpanded: n, children: r }) => {
57
57
  R,
58
58
  z
59
59
  ]);
60
- return /* @__PURE__ */ M(D, {
60
+ return /* @__PURE__ */ N(O, {
61
61
  headerSlot: X,
62
62
  footerSlot: Z,
63
63
  isCollapsed: G,
64
64
  showDefaultHeaderAction: !1,
65
- children: u.map((t) => {
66
- let n = t.childItems ?? null, r = n != null && n.length > 0, s = H[t.key] ?? t.defaultExpanded ?? !1, c = !s, l, u = !G && r;
67
- u && (l = `navigation-sidebar-${t.key}-children`), r && n.some((e) => q(e.to)) && (s = !0);
65
+ children: d.map((t) => {
66
+ let n = t.childItems ?? null, r = n != null && n.length > 0, c = H[t.key] ?? t.defaultExpanded ?? !1, l = !c, u, d = !G && r;
67
+ d && (u = `navigation-sidebar-${t.key}-children`), r && n.some((e) => q(e.to)) && (c = !0);
68
68
  let f = null;
69
69
  !G && t.trailingAction != null && (f = t.trailingAction);
70
- let p = f != null, D = t.hoverIcon !== void 0 && t.hoverIcon !== null, O = t.trailingIcon !== void 0 && t.trailingIcon !== null, k = t.trailingHoverIcon !== void 0 && t.trailingHoverIcon !== null, A = !G && !p && (O || k), F;
71
- G && (F = t.label);
72
- let L = "expanded";
73
- G && (L = "collapsed");
74
- let R = x({ state: L }), z;
75
- p && (z = S);
70
+ let p = f != null, m = t.hoverIcon !== void 0 && t.hoverIcon !== null, O = t.trailingIcon !== void 0 && t.trailingIcon !== null, k = t.trailingHoverIcon !== void 0 && t.trailingHoverIcon !== null, A = !G && !p && (O || k), j;
71
+ G && (j = t.label);
72
+ let I = "expanded";
73
+ G && (I = "collapsed");
74
+ let R = x({ state: I }), z;
75
+ p && (z = C);
76
76
  let B = null;
77
- G || (B = /* @__PURE__ */ M("span", {
78
- className: y,
77
+ G || (B = /* @__PURE__ */ N("span", {
78
+ className: te,
79
79
  children: t.label
80
80
  }));
81
81
  let V = null;
82
- D && (V = /* @__PURE__ */ M("span", {
83
- className: g,
82
+ m && (V = /* @__PURE__ */ N("span", {
83
+ className: _,
84
84
  children: t.hoverIcon
85
85
  }));
86
- let U = /* @__PURE__ */ N("span", {
87
- className: _,
88
- children: [/* @__PURE__ */ M("span", {
89
- className: e(m, { [h]: D }),
86
+ let U = /* @__PURE__ */ P("span", {
87
+ className: v,
88
+ children: [/* @__PURE__ */ N("span", {
89
+ className: e(h, { [g]: m }),
90
90
  children: t.icon
91
91
  }), V]
92
92
  }), W = null;
93
93
  if (A) {
94
94
  let n = null;
95
- O && (n = /* @__PURE__ */ M("span", {
96
- className: e(m, { [h]: k }),
95
+ O && (n = /* @__PURE__ */ N("span", {
96
+ className: e(h, { [g]: k }),
97
97
  children: t.trailingIcon
98
98
  }));
99
99
  let r = null;
100
- k && (r = /* @__PURE__ */ M("span", {
101
- className: g,
100
+ k && (r = /* @__PURE__ */ N("span", {
101
+ className: _,
102
102
  children: t.trailingHoverIcon
103
- })), W = /* @__PURE__ */ N("span", {
104
- className: E,
103
+ })), W = /* @__PURE__ */ P("span", {
104
+ className: ne,
105
105
  children: [n, r]
106
106
  });
107
107
  }
108
- let K = /* @__PURE__ */ N(j, { children: [
108
+ let K = /* @__PURE__ */ P(M, { children: [
109
109
  U,
110
110
  B,
111
111
  W
112
112
  ] }), Y = () => {
113
- !r || G || J(t.key, c);
113
+ !r || G || J(t.key, l);
114
114
  }, X;
115
115
  if (r) X = e(b, R, z);
116
116
  else {
117
117
  let n = "default";
118
- q(t.to, t.exact) && (n = "active"), X = e(ee({ state: n }), R, z);
118
+ q(t.to, t.exact) && (n = "active"), X = e(S({ state: n }), R, z);
119
119
  }
120
120
  let Z;
121
- Z = r ? /* @__PURE__ */ M("button", {
121
+ Z = r ? /* @__PURE__ */ N("button", {
122
122
  type: "button",
123
123
  className: X,
124
- "aria-expanded": s,
125
- "aria-controls": l,
126
- "aria-label": F,
124
+ "aria-expanded": c,
125
+ "aria-controls": u,
126
+ "aria-label": j,
127
127
  onClick: Y,
128
128
  children: K
129
- }) : /* @__PURE__ */ M(P, {
129
+ }) : /* @__PURE__ */ N(F, {
130
130
  to: t.to,
131
131
  className: X,
132
132
  exact: t.exact,
133
- "aria-label": F,
133
+ "aria-label": j,
134
134
  children: K
135
135
  });
136
136
  let Q = null;
@@ -138,55 +138,55 @@ var I = ({ id: t, isExpanded: n, children: r }) => {
138
138
  let e = (e) => {
139
139
  e.preventDefault(), e.stopPropagation(), f.onClick();
140
140
  }, t = f.hoverIcon, n = t != null, r = null;
141
- n && (r = /* @__PURE__ */ M("span", {
142
- className: T,
141
+ n && (r = /* @__PURE__ */ N("span", {
142
+ className: E,
143
143
  children: t
144
- })), Q = /* @__PURE__ */ M("button", {
144
+ })), Q = /* @__PURE__ */ N("button", {
145
145
  type: "button",
146
146
  "aria-label": f.label,
147
147
  onClick: e,
148
- className: C,
149
- children: /* @__PURE__ */ N("span", {
150
- className: te,
151
- children: [/* @__PURE__ */ M("span", {
152
- className: w,
148
+ className: w,
149
+ children: /* @__PURE__ */ P("span", {
150
+ className: D,
151
+ children: [/* @__PURE__ */ N("span", {
152
+ className: T,
153
153
  children: f.icon
154
154
  }), r]
155
155
  })
156
156
  });
157
157
  }
158
158
  let $ = null;
159
- return u && l != null && ($ = /* @__PURE__ */ M(I, {
160
- id: l,
161
- isExpanded: s,
162
- children: n.map((e) => {
163
- let t = null;
164
- e.icon != null && (t = /* @__PURE__ */ M("span", {
165
- className: i,
166
- children: e.icon
159
+ return d && u != null && ($ = /* @__PURE__ */ N(L, {
160
+ id: u,
161
+ isExpanded: c,
162
+ children: n.map((t) => {
163
+ let n = null;
164
+ t.icon != null && (n = /* @__PURE__ */ N("span", {
165
+ className: e(i, a),
166
+ children: t.icon
167
167
  }));
168
- let n = "default";
169
- return q(e.to) && (n = "active"), /* @__PURE__ */ M("div", {
170
- className: d,
171
- children: /* @__PURE__ */ N(P, {
172
- to: e.to,
173
- className: o({ state: n }),
174
- "aria-label": e.label,
175
- children: [t, /* @__PURE__ */ M("span", {
176
- className: a,
177
- children: e.label
168
+ let r = "default";
169
+ return q(t.to) && (r = "active"), /* @__PURE__ */ N("div", {
170
+ className: ee,
171
+ children: /* @__PURE__ */ P(F, {
172
+ to: t.to,
173
+ className: s({ state: r }),
174
+ "aria-label": t.label,
175
+ children: [n, /* @__PURE__ */ N("span", {
176
+ className: o,
177
+ children: t.label
178
178
  })]
179
179
  })
180
- }, e.key);
180
+ }, t.key);
181
181
  })
182
- })), /* @__PURE__ */ N("div", { children: [/* @__PURE__ */ N("div", {
183
- className: v,
182
+ })), /* @__PURE__ */ P("div", { children: [/* @__PURE__ */ P("div", {
183
+ className: y,
184
184
  children: [Z, Q]
185
185
  }), $] }, t.key);
186
186
  })
187
187
  });
188
188
  };
189
189
  //#endregion
190
- export { L as NavigationSidebar };
190
+ export { R as NavigationSidebar };
191
191
 
192
192
  //# sourceMappingURL=NavigationSidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"NavigationSidebar.js","names":[],"sources":["../../../../../src/atomic/organisms/sidebar/NavigationSidebar.tsx"],"sourcesContent":["import {\n type JSX,\n type MouseEvent,\n type ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport useLocation from '@plumile/router/routing/useLocation.js';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { useUiTranslation } from '../../../i18n/useUiTranslation.js';\nimport { cx } from '../../../theme/tools.js';\nimport { ChevronLeftIcon, ChevronRightIcon } from './icons.js';\nimport * as styles from './navigationSidebar.css.js';\nimport { SidebarContainer } from './SidebarContainer.js';\n\ntype SidebarItemTrailingAction = {\n icon: ReactNode;\n hoverIcon?: ReactNode;\n label: string;\n onClick: () => void;\n};\n\ntype SidebarItem = {\n key: string;\n to: string;\n label: string;\n icon: ReactNode;\n exact?: boolean;\n hoverIcon?: ReactNode;\n trailingIcon?: ReactNode;\n trailingHoverIcon?: ReactNode;\n trailingAction?: SidebarItemTrailingAction;\n childItems?: SidebarChildItem[];\n defaultExpanded?: boolean;\n};\n\ntype SidebarChildItem = {\n key: string;\n to: string;\n label: string;\n icon?: ReactNode;\n};\n\ntype NavigationSidebarProps = {\n items: SidebarItem[];\n headerSlot?: ReactNode;\n isCollapsed?: boolean;\n onCollapsedChange?: (nextCollapsed: boolean) => void;\n showCollapseToggle?: boolean;\n};\n\nconst CollapsibleSection = ({\n id,\n isExpanded,\n children,\n}: {\n id: string;\n isExpanded: boolean;\n children: ReactNode;\n}): JSX.Element => {\n let collapsibleStateKey: NonNullable<\n NonNullable<RecipeVariants<typeof styles.collapsibleStateRecipe>>['state']\n > = 'collapsed';\n if (isExpanded) {\n collapsibleStateKey = 'expanded';\n }\n\n return (\n <div\n id={id}\n aria-hidden={!isExpanded}\n className={cx(\n styles.collapsibleSection,\n styles.collapsibleStateRecipe({ state: collapsibleStateKey }),\n )}\n >\n <div className={styles.collapsibleContent}>{children}</div>\n </div>\n );\n};\n\nconst NavigationSidebar = ({\n items,\n headerSlot,\n isCollapsed: isCollapsedProp,\n onCollapsedChange,\n showCollapseToggle = true,\n}: NavigationSidebarProps): JSX.Element => {\n const { t } = useUiTranslation();\n const [internalCollapsed, setInternalCollapsed] = useState(false);\n const [expandedState, setExpandedState] = useState<Record<string, boolean>>(\n {},\n );\n const isControlled = isCollapsedProp != null;\n const isCollapsed = isCollapsedProp ?? internalCollapsed;\n const { pathname } = useLocation();\n\n const isPathActive = (target: string, exact?: boolean): boolean => {\n if (exact === true) {\n return pathname === target;\n }\n if (pathname === target) {\n return true;\n }\n return pathname.startsWith(`${target}/`);\n };\n\n const handleToggle = useCallback((key: string, nextState: boolean) => {\n setExpandedState((prev) => {\n return {\n ...prev,\n [key]: nextState,\n };\n });\n }, []);\n\n const handleCollapseToggle = useCallback(() => {\n const nextState = !isCollapsed;\n if (!isControlled) {\n setInternalCollapsed(nextState);\n }\n onCollapsedChange?.(nextState);\n }, [isCollapsed, isControlled, onCollapsedChange]);\n\n let headerContent: ReactNode | undefined;\n if (!isCollapsed) {\n headerContent = headerSlot ?? undefined;\n }\n\n const collapseButton = useMemo(() => {\n if (!showCollapseToggle) {\n return null;\n }\n\n let CollapseIcon = ChevronLeftIcon;\n let buttonLabel = t('navigation.sidebar.actions.collapseAriaLabel');\n if (isCollapsed) {\n CollapseIcon = ChevronRightIcon;\n buttonLabel = t('navigation.sidebar.actions.expandAriaLabel');\n }\n\n let collapseState: NonNullable<\n NonNullable<\n RecipeVariants<typeof styles.collapseButtonStateRecipe>\n >['state']\n > = 'expanded';\n if (isCollapsed) {\n collapseState = 'collapsed';\n }\n\n let collapseLabel: JSX.Element | null = null;\n if (!isCollapsed) {\n collapseLabel = (\n <span className={styles.collapseButtonLabel}>\n {t('navigation.sidebar.actions.collapse')}\n </span>\n );\n }\n\n return (\n <button\n type=\"button\"\n onClick={handleCollapseToggle}\n className={cx(\n styles.collapseButton,\n styles.collapseButtonStateRecipe({ state: collapseState }),\n )}\n aria-label={buttonLabel}\n >\n <CollapseIcon size={20} />\n {collapseLabel}\n </button>\n );\n }, [handleCollapseToggle, isCollapsed, showCollapseToggle, t]);\n\n return (\n <SidebarContainer\n headerSlot={headerContent}\n footerSlot={collapseButton}\n isCollapsed={isCollapsed}\n showDefaultHeaderAction={false}\n >\n {items.map((item) => {\n const childItems = item.childItems ?? null;\n const hasChildren = childItems != null && childItems.length > 0;\n const storedExpanded = expandedState[item.key];\n let isExpanded = storedExpanded ?? item.defaultExpanded ?? false;\n const nextExpanded = !isExpanded;\n let childSectionId: string | undefined;\n const shouldRenderChildren = !isCollapsed && hasChildren;\n if (shouldRenderChildren) {\n childSectionId = `navigation-sidebar-${item.key}-children`;\n }\n\n if (hasChildren) {\n const hasActiveChild = childItems.some((child) => {\n return isPathActive(child.to);\n });\n\n if (hasActiveChild) {\n isExpanded = true;\n }\n }\n\n let trailingAction: SidebarItemTrailingAction | null = null;\n if (!isCollapsed && item.trailingAction != null) {\n trailingAction = item.trailingAction;\n }\n const showTrailingAction = trailingAction != null;\n const hasHoverIcon =\n item.hoverIcon !== undefined && item.hoverIcon !== null;\n const hasTrailingIcon =\n item.trailingIcon !== undefined && item.trailingIcon !== null;\n const hasTrailingHoverIcon =\n item.trailingHoverIcon !== undefined &&\n item.trailingHoverIcon !== null;\n const showTrailing =\n !isCollapsed &&\n !showTrailingAction &&\n (hasTrailingIcon || hasTrailingHoverIcon);\n\n let itemAriaLabel: string | undefined;\n if (isCollapsed) {\n itemAriaLabel = item.label;\n }\n\n let gapState: NonNullable<\n NonNullable<RecipeVariants<typeof styles.navGapRecipe>>['state']\n > = 'expanded';\n if (isCollapsed) {\n gapState = 'collapsed';\n }\n const gapClassName = styles.navGapRecipe({ state: gapState });\n\n let paddingClassName: string | undefined;\n if (showTrailingAction) {\n paddingClassName = styles.navWithTrailingAction;\n }\n\n let labelNode: JSX.Element | null = null;\n if (!isCollapsed) {\n labelNode = <span className={styles.label}>{item.label}</span>;\n }\n\n let hoverLayer: JSX.Element | null = null;\n if (hasHoverIcon) {\n hoverLayer = (\n <span className={styles.iconVisibleOnHover}>{item.hoverIcon}</span>\n );\n }\n\n const leadingIcon = (\n <span className={styles.iconWrapper}>\n <span\n className={cx(styles.iconBaseLayer, {\n [styles.iconHiddenOnHover]: hasHoverIcon,\n })}\n >\n {item.icon}\n </span>\n {hoverLayer}\n </span>\n );\n\n let trailingIcons: JSX.Element | null = null;\n if (showTrailing) {\n let trailingBaseLayer: JSX.Element | null = null;\n if (hasTrailingIcon) {\n trailingBaseLayer = (\n <span\n className={cx(styles.iconBaseLayer, {\n [styles.iconHiddenOnHover]: hasTrailingHoverIcon,\n })}\n >\n {item.trailingIcon}\n </span>\n );\n }\n\n let trailingHoverLayer: JSX.Element | null = null;\n if (hasTrailingHoverIcon) {\n trailingHoverLayer = (\n <span className={styles.iconVisibleOnHover}>\n {item.trailingHoverIcon}\n </span>\n );\n }\n\n trailingIcons = (\n <span className={styles.trailingIconWrapper}>\n {trailingBaseLayer}\n {trailingHoverLayer}\n </span>\n );\n }\n\n const commonContent = (\n <>\n {leadingIcon}\n {labelNode}\n {trailingIcons}\n </>\n );\n\n const handleClick = (): void => {\n if (!hasChildren || isCollapsed) {\n return;\n }\n handleToggle(item.key, nextExpanded);\n };\n\n let interactiveClassName: string;\n if (hasChildren) {\n interactiveClassName = cx(\n styles.navButton,\n gapClassName,\n paddingClassName,\n );\n } else {\n let navState: NonNullable<\n NonNullable<RecipeVariants<typeof styles.navLinkRecipe>>['state']\n > = 'default';\n if (isPathActive(item.to, item.exact)) {\n navState = 'active';\n }\n interactiveClassName = cx(\n styles.navLinkRecipe({ state: navState }),\n gapClassName,\n paddingClassName,\n );\n }\n\n let itemNode: JSX.Element;\n if (hasChildren) {\n itemNode = (\n <button\n type=\"button\"\n className={interactiveClassName}\n aria-expanded={isExpanded}\n aria-controls={childSectionId}\n aria-label={itemAriaLabel}\n onClick={handleClick}\n >\n {commonContent}\n </button>\n );\n } else {\n itemNode = (\n <Link\n to={item.to}\n className={interactiveClassName}\n exact={item.exact}\n aria-label={itemAriaLabel}\n >\n {commonContent}\n </Link>\n );\n }\n\n let trailingActionNode: JSX.Element | null = null;\n if (trailingAction != null) {\n const handleTrailingClick = (\n event: MouseEvent<HTMLButtonElement>,\n ): void => {\n event.preventDefault();\n event.stopPropagation();\n trailingAction.onClick();\n };\n\n const trailingHoverIcon = trailingAction.hoverIcon;\n const showTrailingHoverIcon =\n trailingHoverIcon !== undefined && trailingHoverIcon !== null;\n let trailingHoverContent: JSX.Element | null = null;\n if (showTrailingHoverIcon) {\n trailingHoverContent = (\n <span className={styles.trailingActionIconVisible}>\n {trailingHoverIcon}\n </span>\n );\n }\n\n trailingActionNode = (\n <button\n type=\"button\"\n aria-label={trailingAction.label}\n onClick={handleTrailingClick}\n className={styles.trailingActionButton}\n >\n <span className={styles.trailingActionIconWrapper}>\n <span className={styles.trailingActionIconHidden}>\n {trailingAction.icon}\n </span>\n {trailingHoverContent}\n </span>\n </button>\n );\n }\n\n let childList: JSX.Element | null = null;\n if (shouldRenderChildren && childSectionId != null) {\n childList = (\n <CollapsibleSection id={childSectionId} isExpanded={isExpanded}>\n {childItems.map((child) => {\n let leading: JSX.Element | null = null;\n if (child.icon != null) {\n leading = (\n <span className={styles.childIcon}>{child.icon}</span>\n );\n }\n\n let childState: NonNullable<\n NonNullable<\n RecipeVariants<typeof styles.childLinkRecipe>\n >['state']\n > = 'default';\n if (isPathActive(child.to)) {\n childState = 'active';\n }\n\n return (\n <div key={child.key} className={styles.collapsibleItem}>\n <Link\n to={child.to}\n className={styles.childLinkRecipe({ state: childState })}\n aria-label={child.label}\n >\n {leading}\n <span className={styles.childLabel}>{child.label}</span>\n </Link>\n </div>\n );\n })}\n </CollapsibleSection>\n );\n }\n\n return (\n <div key={item.key}>\n <div className={styles.itemWrapper}>\n {itemNode}\n {trailingActionNode}\n </div>\n {childList}\n </div>\n );\n })}\n </SidebarContainer>\n );\n};\n\nexport { NavigationSidebar };\nexport type {\n NavigationSidebarProps,\n SidebarChildItem,\n SidebarItem,\n SidebarItemTrailingAction,\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"NavigationSidebar.js","names":[],"sources":["../../../../../src/atomic/organisms/sidebar/NavigationSidebar.tsx"],"sourcesContent":["import {\n type JSX,\n type MouseEvent,\n type ReactNode,\n useCallback,\n useMemo,\n useState,\n} from 'react';\nimport Link from '@plumile/router/routing/Link.js';\nimport useLocation from '@plumile/router/routing/useLocation.js';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { useUiTranslation } from '../../../i18n/useUiTranslation.js';\nimport { cx } from '../../../theme/tools.js';\nimport { ChevronLeftIcon, ChevronRightIcon } from './icons.js';\nimport * as styles from './navigationSidebar.css.js';\nimport { SidebarContainer } from './SidebarContainer.js';\n\ntype SidebarItemTrailingAction = {\n icon: ReactNode;\n hoverIcon?: ReactNode;\n label: string;\n onClick: () => void;\n};\n\ntype SidebarItem = {\n key: string;\n to: string;\n label: string;\n icon: ReactNode;\n exact?: boolean;\n hoverIcon?: ReactNode;\n trailingIcon?: ReactNode;\n trailingHoverIcon?: ReactNode;\n trailingAction?: SidebarItemTrailingAction;\n childItems?: SidebarChildItem[];\n defaultExpanded?: boolean;\n};\n\ntype SidebarChildItem = {\n key: string;\n to: string;\n label: string;\n icon?: ReactNode;\n};\n\ntype NavigationSidebarProps = {\n items: SidebarItem[];\n headerSlot?: ReactNode;\n isCollapsed?: boolean;\n onCollapsedChange?: (nextCollapsed: boolean) => void;\n showCollapseToggle?: boolean;\n};\n\nconst CollapsibleSection = ({\n id,\n isExpanded,\n children,\n}: {\n id: string;\n isExpanded: boolean;\n children: ReactNode;\n}): JSX.Element => {\n let collapsibleStateKey: NonNullable<\n NonNullable<RecipeVariants<typeof styles.collapsibleStateRecipe>>['state']\n > = 'collapsed';\n if (isExpanded) {\n collapsibleStateKey = 'expanded';\n }\n\n return (\n <div\n id={id}\n aria-hidden={!isExpanded}\n className={cx(\n styles.collapsibleSection,\n styles.collapsibleStateRecipe({ state: collapsibleStateKey }),\n )}\n >\n <div\n className={cx(\n styles.collapsibleContent,\n styles.collapsibleContentTheme,\n )}\n >\n {children}\n </div>\n </div>\n );\n};\n\nconst NavigationSidebar = ({\n items,\n headerSlot,\n isCollapsed: isCollapsedProp,\n onCollapsedChange,\n showCollapseToggle = true,\n}: NavigationSidebarProps): JSX.Element => {\n const { t } = useUiTranslation();\n const [internalCollapsed, setInternalCollapsed] = useState(false);\n const [expandedState, setExpandedState] = useState<Record<string, boolean>>(\n {},\n );\n const isControlled = isCollapsedProp != null;\n const isCollapsed = isCollapsedProp ?? internalCollapsed;\n const { pathname } = useLocation();\n\n const isPathActive = (target: string, exact?: boolean): boolean => {\n if (exact === true) {\n return pathname === target;\n }\n if (pathname === target) {\n return true;\n }\n return pathname.startsWith(`${target}/`);\n };\n\n const handleToggle = useCallback((key: string, nextState: boolean) => {\n setExpandedState((prev) => {\n return {\n ...prev,\n [key]: nextState,\n };\n });\n }, []);\n\n const handleCollapseToggle = useCallback(() => {\n const nextState = !isCollapsed;\n if (!isControlled) {\n setInternalCollapsed(nextState);\n }\n onCollapsedChange?.(nextState);\n }, [isCollapsed, isControlled, onCollapsedChange]);\n\n let headerContent: ReactNode | undefined;\n if (!isCollapsed) {\n headerContent = headerSlot ?? undefined;\n }\n\n const collapseButton = useMemo(() => {\n if (!showCollapseToggle) {\n return null;\n }\n\n let CollapseIcon = ChevronLeftIcon;\n let buttonLabel = t('navigation.sidebar.actions.collapseAriaLabel');\n if (isCollapsed) {\n CollapseIcon = ChevronRightIcon;\n buttonLabel = t('navigation.sidebar.actions.expandAriaLabel');\n }\n\n let collapseState: NonNullable<\n NonNullable<\n RecipeVariants<typeof styles.collapseButtonStateRecipe>\n >['state']\n > = 'expanded';\n if (isCollapsed) {\n collapseState = 'collapsed';\n }\n\n let collapseLabel: JSX.Element | null = null;\n if (!isCollapsed) {\n collapseLabel = (\n <span className={styles.collapseButtonLabel}>\n {t('navigation.sidebar.actions.collapse')}\n </span>\n );\n }\n\n return (\n <button\n type=\"button\"\n onClick={handleCollapseToggle}\n className={cx(\n styles.collapseButton,\n styles.collapseButtonStateRecipe({ state: collapseState }),\n )}\n aria-label={buttonLabel}\n >\n <CollapseIcon size={20} />\n {collapseLabel}\n </button>\n );\n }, [handleCollapseToggle, isCollapsed, showCollapseToggle, t]);\n\n return (\n <SidebarContainer\n headerSlot={headerContent}\n footerSlot={collapseButton}\n isCollapsed={isCollapsed}\n showDefaultHeaderAction={false}\n >\n {items.map((item) => {\n const childItems = item.childItems ?? null;\n const hasChildren = childItems != null && childItems.length > 0;\n const storedExpanded = expandedState[item.key];\n let isExpanded = storedExpanded ?? item.defaultExpanded ?? false;\n const nextExpanded = !isExpanded;\n let childSectionId: string | undefined;\n const shouldRenderChildren = !isCollapsed && hasChildren;\n if (shouldRenderChildren) {\n childSectionId = `navigation-sidebar-${item.key}-children`;\n }\n\n if (hasChildren) {\n const hasActiveChild = childItems.some((child) => {\n return isPathActive(child.to);\n });\n\n if (hasActiveChild) {\n isExpanded = true;\n }\n }\n\n let trailingAction: SidebarItemTrailingAction | null = null;\n if (!isCollapsed && item.trailingAction != null) {\n trailingAction = item.trailingAction;\n }\n const showTrailingAction = trailingAction != null;\n const hasHoverIcon =\n item.hoverIcon !== undefined && item.hoverIcon !== null;\n const hasTrailingIcon =\n item.trailingIcon !== undefined && item.trailingIcon !== null;\n const hasTrailingHoverIcon =\n item.trailingHoverIcon !== undefined &&\n item.trailingHoverIcon !== null;\n const showTrailing =\n !isCollapsed &&\n !showTrailingAction &&\n (hasTrailingIcon || hasTrailingHoverIcon);\n\n let itemAriaLabel: string | undefined;\n if (isCollapsed) {\n itemAriaLabel = item.label;\n }\n\n let gapState: NonNullable<\n NonNullable<RecipeVariants<typeof styles.navGapRecipe>>['state']\n > = 'expanded';\n if (isCollapsed) {\n gapState = 'collapsed';\n }\n const gapClassName = styles.navGapRecipe({ state: gapState });\n\n let paddingClassName: string | undefined;\n if (showTrailingAction) {\n paddingClassName = styles.navWithTrailingAction;\n }\n\n let labelNode: JSX.Element | null = null;\n if (!isCollapsed) {\n labelNode = <span className={styles.label}>{item.label}</span>;\n }\n\n let hoverLayer: JSX.Element | null = null;\n if (hasHoverIcon) {\n hoverLayer = (\n <span className={styles.iconVisibleOnHover}>{item.hoverIcon}</span>\n );\n }\n\n const leadingIcon = (\n <span className={styles.iconWrapper}>\n <span\n className={cx(styles.iconBaseLayer, {\n [styles.iconHiddenOnHover]: hasHoverIcon,\n })}\n >\n {item.icon}\n </span>\n {hoverLayer}\n </span>\n );\n\n let trailingIcons: JSX.Element | null = null;\n if (showTrailing) {\n let trailingBaseLayer: JSX.Element | null = null;\n if (hasTrailingIcon) {\n trailingBaseLayer = (\n <span\n className={cx(styles.iconBaseLayer, {\n [styles.iconHiddenOnHover]: hasTrailingHoverIcon,\n })}\n >\n {item.trailingIcon}\n </span>\n );\n }\n\n let trailingHoverLayer: JSX.Element | null = null;\n if (hasTrailingHoverIcon) {\n trailingHoverLayer = (\n <span className={styles.iconVisibleOnHover}>\n {item.trailingHoverIcon}\n </span>\n );\n }\n\n trailingIcons = (\n <span className={styles.trailingIconWrapper}>\n {trailingBaseLayer}\n {trailingHoverLayer}\n </span>\n );\n }\n\n const commonContent = (\n <>\n {leadingIcon}\n {labelNode}\n {trailingIcons}\n </>\n );\n\n const handleClick = (): void => {\n if (!hasChildren || isCollapsed) {\n return;\n }\n handleToggle(item.key, nextExpanded);\n };\n\n let interactiveClassName: string;\n if (hasChildren) {\n interactiveClassName = cx(\n styles.navButton,\n gapClassName,\n paddingClassName,\n );\n } else {\n let navState: NonNullable<\n NonNullable<RecipeVariants<typeof styles.navLinkRecipe>>['state']\n > = 'default';\n if (isPathActive(item.to, item.exact)) {\n navState = 'active';\n }\n interactiveClassName = cx(\n styles.navLinkRecipe({ state: navState }),\n gapClassName,\n paddingClassName,\n );\n }\n\n let itemNode: JSX.Element;\n if (hasChildren) {\n itemNode = (\n <button\n type=\"button\"\n className={interactiveClassName}\n aria-expanded={isExpanded}\n aria-controls={childSectionId}\n aria-label={itemAriaLabel}\n onClick={handleClick}\n >\n {commonContent}\n </button>\n );\n } else {\n itemNode = (\n <Link\n to={item.to}\n className={interactiveClassName}\n exact={item.exact}\n aria-label={itemAriaLabel}\n >\n {commonContent}\n </Link>\n );\n }\n\n let trailingActionNode: JSX.Element | null = null;\n if (trailingAction != null) {\n const handleTrailingClick = (\n event: MouseEvent<HTMLButtonElement>,\n ): void => {\n event.preventDefault();\n event.stopPropagation();\n trailingAction.onClick();\n };\n\n const trailingHoverIcon = trailingAction.hoverIcon;\n const showTrailingHoverIcon =\n trailingHoverIcon !== undefined && trailingHoverIcon !== null;\n let trailingHoverContent: JSX.Element | null = null;\n if (showTrailingHoverIcon) {\n trailingHoverContent = (\n <span className={styles.trailingActionIconVisible}>\n {trailingHoverIcon}\n </span>\n );\n }\n\n trailingActionNode = (\n <button\n type=\"button\"\n aria-label={trailingAction.label}\n onClick={handleTrailingClick}\n className={styles.trailingActionButton}\n >\n <span className={styles.trailingActionIconWrapper}>\n <span className={styles.trailingActionIconHidden}>\n {trailingAction.icon}\n </span>\n {trailingHoverContent}\n </span>\n </button>\n );\n }\n\n let childList: JSX.Element | null = null;\n if (shouldRenderChildren && childSectionId != null) {\n childList = (\n <CollapsibleSection id={childSectionId} isExpanded={isExpanded}>\n {childItems.map((child) => {\n let leading: JSX.Element | null = null;\n if (child.icon != null) {\n leading = (\n <span\n className={cx(styles.childIcon, styles.childIconTheme)}\n >\n {child.icon}\n </span>\n );\n }\n\n let childState: NonNullable<\n NonNullable<\n RecipeVariants<typeof styles.childLinkRecipe>\n >['state']\n > = 'default';\n if (isPathActive(child.to)) {\n childState = 'active';\n }\n\n return (\n <div key={child.key} className={styles.collapsibleItem}>\n <Link\n to={child.to}\n className={styles.childLinkRecipe({ state: childState })}\n aria-label={child.label}\n >\n {leading}\n <span className={styles.childLabel}>{child.label}</span>\n </Link>\n </div>\n );\n })}\n </CollapsibleSection>\n );\n }\n\n return (\n <div key={item.key}>\n <div className={styles.itemWrapper}>\n {itemNode}\n {trailingActionNode}\n </div>\n {childList}\n </div>\n );\n })}\n </SidebarContainer>\n );\n};\n\nexport { NavigationSidebar };\nexport type {\n NavigationSidebarProps,\n SidebarChildItem,\n SidebarItem,\n SidebarItemTrailingAction,\n};\n"],"mappings":"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"}
@@ -1,29 +1,29 @@
1
1
  import { cx as e } from "../../../theme/tools.js";
2
- import { content as t, nav as n, navCollapsed as r, sidebar as i, sidebarWidthRecipe as a } from "./sidebar.css.js";
3
- import { jsx as o, jsxs as s } from "react/jsx-runtime";
2
+ import { content as t, nav as n, navCollapsed as r, sidebar as i, sidebarTheme as a, sidebarWidthRecipe as o } from "./sidebar.css.js";
3
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
4
  //#region src/atomic/organisms/sidebar/SidebarContainer.tsx
5
- var c = ({ children: c, headerSlot: l, footerSlot: u, hideHeader: d = !1, isCollapsed: f = !1 }) => {
6
- let p = null;
7
- f || (p = l);
8
- let m = !d && p != null, h = "expanded";
9
- return f && (h = "collapsed"), /* @__PURE__ */ s("aside", {
10
- className: e(i, a({ state: h })),
11
- children: [/* @__PURE__ */ s("div", {
5
+ var l = ({ children: l, headerSlot: u, footerSlot: d, hideHeader: f = !1, isCollapsed: p = !1 }) => {
6
+ let m = null;
7
+ p || (m = u);
8
+ let h = !f && m != null, g = "expanded";
9
+ return p && (g = "collapsed"), /* @__PURE__ */ c("aside", {
10
+ className: e(i, a, o({ state: g })),
11
+ children: [/* @__PURE__ */ c("div", {
12
12
  className: t,
13
- children: [m && /* @__PURE__ */ o("div", {
14
- className: "_1cyd4aw6 txvbqbfb7 txvbqb19fz txvbqblee txvbqbgz5 txvbqbos3",
15
- children: p
16
- }), /* @__PURE__ */ o("nav", {
17
- className: e(n, { [r]: f }),
18
- children: c
13
+ children: [h && /* @__PURE__ */ s("div", {
14
+ className: "_1cyd4aw7 txvbqbfpn txvbqb19uf txvbqblsu txvbqbhdl txvbqbp6j",
15
+ children: m
16
+ }), /* @__PURE__ */ s("nav", {
17
+ className: e(n, { [r]: p }),
18
+ children: l
19
19
  })]
20
- }), u != null && /* @__PURE__ */ o("div", {
21
- className: e("_1cyd4aw9 txvbqbrl7", { "_1cyd4awa txvbqbfb7 txvbqbldo": f }),
22
- children: u
20
+ }), d != null && /* @__PURE__ */ s("div", {
21
+ className: e("_1cyd4awa txvbqbrzn", { "_1cyd4awb txvbqbfpn txvbqbls4": p }),
22
+ children: d
23
23
  })]
24
24
  });
25
25
  };
26
26
  //#endregion
27
- export { c as SidebarContainer };
27
+ export { l as SidebarContainer };
28
28
 
29
29
  //# sourceMappingURL=SidebarContainer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SidebarContainer.js","names":[],"sources":["../../../../../src/atomic/organisms/sidebar/SidebarContainer.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { cx } from '../../../theme/tools.js';\nimport * as styles from './sidebar.css.js';\n\nexport type SidebarContainerProps = {\n children: ReactNode;\n headerSlot?: ReactNode;\n footerSlot?: ReactNode;\n hideHeader?: boolean;\n isCollapsed?: boolean;\n showDefaultHeaderAction?: boolean;\n};\n\nexport const SidebarContainer = ({\n children,\n headerSlot,\n footerSlot,\n hideHeader = false,\n isCollapsed = false,\n}: SidebarContainerProps): JSX.Element => {\n let headerAction: ReactNode | null = null;\n if (!isCollapsed) {\n headerAction = headerSlot;\n }\n\n const shouldRenderHeader = !hideHeader && headerAction != null;\n\n let widthState: NonNullable<\n NonNullable<RecipeVariants<typeof styles.sidebarWidthRecipe>>['state']\n > = 'expanded';\n if (isCollapsed) {\n widthState = 'collapsed';\n }\n\n return (\n <aside\n className={cx(\n styles.sidebar,\n styles.sidebarWidthRecipe({ state: widthState }),\n )}\n >\n <div className={styles.content}>\n {shouldRenderHeader && (\n <div className={styles.headerActions}>{headerAction}</div>\n )}\n <nav\n className={cx(styles.nav, {\n [styles.navCollapsed]: isCollapsed,\n })}\n >\n {children}\n </nav>\n </div>\n {footerSlot != null && (\n <div\n className={cx(styles.footer, {\n [styles.footerCollapsed]: isCollapsed,\n })}\n >\n {footerSlot}\n </div>\n )}\n </aside>\n );\n};\n"],"mappings":";;;;AAeA,IAAa,KAAoB,EAC/B,aACA,eACA,eACA,gBAAa,IACb,iBAAc,SAC0B;CACxC,IAAI,IAAiC;CACrC,AAAK,MACH,IAAe;CAGjB,IAAM,IAAqB,CAAC,KAAc,KAAgB,MAEtD,IAEA;CAKJ,OAJI,MACF,IAAa,cAIb,kBAAC,SAAD;EACE,WAAW,EACT,GACA,EAA0B,EAAE,OAAO,EAAW,CAAC,CACjD;YAJF,CAME,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACG,KACC,kBAAC,OAAD;IAAK,WAAW;cAAuB;GAAkB,CAAA,GAE3D,kBAAC,OAAD;IACE,WAAW,EAAG,GAAY,GACvB,IAAsB,EACzB,CAAC;IAEA;GACE,CAAA,CACF;MACJ,KAAc,QACb,kBAAC,OAAD;GACE,WAAW,EAAG,uBAAe,EAC1B,iCAAyB,EAC5B,CAAC;aAEA;EACE,CAAA,CAEF;;AAEX"}
1
+ {"version":3,"file":"SidebarContainer.js","names":[],"sources":["../../../../../src/atomic/organisms/sidebar/SidebarContainer.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { cx } from '../../../theme/tools.js';\nimport * as styles from './sidebar.css.js';\n\nexport type SidebarContainerProps = {\n children: ReactNode;\n headerSlot?: ReactNode;\n footerSlot?: ReactNode;\n hideHeader?: boolean;\n isCollapsed?: boolean;\n showDefaultHeaderAction?: boolean;\n};\n\nexport const SidebarContainer = ({\n children,\n headerSlot,\n footerSlot,\n hideHeader = false,\n isCollapsed = false,\n}: SidebarContainerProps): JSX.Element => {\n let headerAction: ReactNode | null = null;\n if (!isCollapsed) {\n headerAction = headerSlot;\n }\n\n const shouldRenderHeader = !hideHeader && headerAction != null;\n\n let widthState: NonNullable<\n NonNullable<RecipeVariants<typeof styles.sidebarWidthRecipe>>['state']\n > = 'expanded';\n if (isCollapsed) {\n widthState = 'collapsed';\n }\n\n return (\n <aside\n className={cx(\n styles.sidebar,\n styles.sidebarTheme,\n styles.sidebarWidthRecipe({ state: widthState }),\n )}\n >\n <div className={styles.content}>\n {shouldRenderHeader && (\n <div className={styles.headerActions}>{headerAction}</div>\n )}\n <nav\n className={cx(styles.nav, {\n [styles.navCollapsed]: isCollapsed,\n })}\n >\n {children}\n </nav>\n </div>\n {footerSlot != null && (\n <div\n className={cx(styles.footer, {\n [styles.footerCollapsed]: isCollapsed,\n })}\n >\n {footerSlot}\n </div>\n )}\n </aside>\n );\n};\n"],"mappings":";;;;AAeA,IAAa,KAAoB,EAC/B,aACA,eACA,eACA,gBAAa,IACb,iBAAc,SAC0B;CACxC,IAAI,IAAiC;CACrC,AAAK,MACH,IAAe;CAGjB,IAAM,IAAqB,CAAC,KAAc,KAAgB,MAEtD,IAEA;CAKJ,OAJI,MACF,IAAa,cAIb,kBAAC,SAAD;EACE,WAAW,EACT,GACA,GACA,EAA0B,EAAE,OAAO,EAAW,CAAC,CACjD;YALF,CAOE,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACG,KACC,kBAAC,OAAD;IAAK,WAAW;cAAuB;GAAkB,CAAA,GAE3D,kBAAC,OAAD;IACE,WAAW,EAAG,GAAY,GACvB,IAAsB,EACzB,CAAC;IAEA;GACE,CAAA,CACF;MACJ,KAAc,QACb,kBAAC,OAAD;GACE,WAAW,EAAG,uBAAe,EAC1B,iCAAyB,EAC5B,CAAC;aAEA;EACE,CAAA,CAEF;;AAEX"}
@@ -2,7 +2,7 @@
2
2
  /* empty css */
3
3
  import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
4
4
  //#region src/atomic/organisms/sidebar/navigationSidebar.css.ts
5
- var t = "w6b4r71 w6b4r70 txvbqbfb7 txvbqbey txvbqbldo txvbqb2rg txvbqb25s txvbqb2pn txvbqb1f2 txvbqb1b2f txvbqb1atp txvbqbj8r txvbqb7g txvbqb78 txvbqb7t", n = e({
5
+ var t = "w6b4r71 w6b4r70 txvbqbfpn txvbqbey txvbqbls4 txvbqb2uc txvbqb28o txvbqb2sj txvbqbjn7 txvbqb7g txvbqb78 txvbqb7t", n = e({
6
6
  defaultClassName: "w6b4r72",
7
7
  variantClassNames: { state: {
8
8
  collapsed: "w6b4r73",
@@ -10,7 +10,7 @@ var t = "w6b4r71 w6b4r70 txvbqbfb7 txvbqbey txvbqbldo txvbqb2rg txvbqb25s txvbqb
10
10
  } },
11
11
  defaultVariants: { state: "expanded" },
12
12
  compoundVariants: []
13
- }), r = "w6b4r75 txvbqbppb txvbqb9j txvbqbgwm", i = "w6b4r76 txvbqbfbk txvbqb7k txvbqb79 txvbqb7v", a = e({
13
+ }), r = "w6b4r75 txvbqbq3r txvbqb9j txvbqbhb2", i = "w6b4r76 txvbqbfq0 txvbqb7k txvbqb79 txvbqb7v", a = e({
14
14
  defaultClassName: "w6b4r77",
15
15
  variantClassNames: { state: {
16
16
  expanded: "w6b4r78",
@@ -18,32 +18,32 @@ var t = "w6b4r71 w6b4r70 txvbqbfb7 txvbqbey txvbqbldo txvbqb2rg txvbqb25s txvbqb
18
18
  } },
19
19
  defaultVariants: { state: "collapsed" },
20
20
  compoundVariants: []
21
- }), o = "w6b4r7a txvbqbrk4 txvbqbpqe txvbqbaqj txvbqb2pn txvbqb1nq txvbqb108h txvbqbwcq", s = "w6b4r7b", c = "w6b4r7c txvbqb133r", l = "w6b4r7g w6b4r7e w6b4r7d txvbqb108h txvbqb1162 txvbqb123a txvbqbxfd txvbqbfb7 txvbqbey txvbqblee txvbqb19fz txvbqb2rg txvbqb9j txvbqbni8 txvbqb17yw txvbqb1aqb txvbqb7g txvbqb78 txvbqb7t w6b4r7f txvbqbgxc txvbqb1b15", u = e({
22
- defaultClassName: "w6b4r7l w6b4r7i w6b4r7e w6b4r7d txvbqb108h txvbqb1162 txvbqb123a txvbqbxfd txvbqbfb7 txvbqbey txvbqblee txvbqb19fz txvbqb2rg txvbqb9j txvbqbni8 txvbqb17yw txvbqb1aqb txvbqb7g txvbqb78 txvbqb7t w6b4r7h txvbqbgwz txvbqb3f",
21
+ }), o = "w6b4r7a txvbqbryk txvbqbq4u txvbqbb4z txvbqb2sj txvbqb10mx txvbqbwr6", s = "w6b4r7b", c = "w6b4r7c", l = "w6b4r7d txvbqb13i7", u = "w6b4r7h w6b4r7f w6b4r7e txvbqb10mx txvbqb11ki txvbqb12hq txvbqbxtt txvbqbfpn txvbqbey txvbqblsu txvbqb19uf txvbqb2uc txvbqb9j txvbqbnwo txvbqb18dc txvbqb1b4r txvbqb7g txvbqb78 txvbqb7t w6b4r7g txvbqbhbs", d = e({
22
+ defaultClassName: "w6b4r7m w6b4r7j w6b4r7f w6b4r7e txvbqb10mx txvbqb11ki txvbqb12hq txvbqbxtt txvbqbfpn txvbqbey txvbqblsu txvbqb19uf txvbqb2uc txvbqb9j txvbqbnwo txvbqb18dc txvbqb1b4r txvbqb7g txvbqb78 txvbqb7t w6b4r7i txvbqbhbf txvbqb3f",
23
23
  variantClassNames: { state: {
24
- default: "w6b4r7m w6b4r7j txvbqb1b15",
25
- active: "w6b4r7n w6b4r7k txvbqb1akf txvbqb1b43 txvbqb1nq txvbqb2rt"
24
+ default: "w6b4r7n w6b4r7k txvbqb1bc9",
25
+ active: "w6b4r7o w6b4r7l"
26
26
  } },
27
27
  defaultVariants: { state: "default" },
28
28
  compoundVariants: []
29
- }), d = e({
30
- defaultClassName: "w6b4r7q",
29
+ }), f = e({
30
+ defaultClassName: "w6b4r7r",
31
31
  variantClassNames: { state: {
32
- collapsed: "w6b4r7r w6b4r7o txvbqbecj",
33
- expanded: "w6b4r7s w6b4r7p txvbqbedm"
32
+ collapsed: "w6b4r7s w6b4r7p txvbqbeqz",
33
+ expanded: "w6b4r7t w6b4r7q txvbqbes2"
34
34
  } },
35
35
  defaultVariants: { state: "expanded" },
36
36
  compoundVariants: []
37
- }), f = "w6b4r7t txvbqb119b", p = "w6b4r7u txvbqbfhc txvbqbuth txvbqb1ahj txvbqbwcq txvbqb17zz txvbqb7m txvbqb78 txvbqb7t", m = "w6b4r7v txvbqb133r txvbqbfb7 txvbqbey txvbqbldo txvbqb191j txvbqbj6y txvbqbgrx", h = "w6b4r7w txvbqb7m txvbqb78 txvbqb7t", g = "w6b4r7x w6b4r7w txvbqb7m txvbqb78 txvbqb7t", _ = "w6b4r7z w6b4r7w txvbqb7m txvbqb78 txvbqb7t w6b4r7y txvbqb1b4f", v = "w6b4r710 txvbqb133r txvbqbq3e txvbqbfb7 txvbqbey txvbqbldo txvbqb191j txvbqbj6y", y = "w6b4r712 w6b4r711 txvbqb133e txvbqb18ya txvbqb135x txvbqbfb7 txvbqbey txvbqbldo txvbqb192m txvbqbj81 txvbqb2r3 txvbqb1atp txvbqb1b2f txvbqb1b4f txvbqb7g txvbqb78 txvbqb7t", b = "w6b4r713 txvbqb133r txvbqbfb7 txvbqbey txvbqbldo txvbqb1916 txvbqbj6l", x = "w6b4r715 w6b4r714 txvbqb7m txvbqb78 txvbqb7t", S = "w6b4r717 w6b4r716 txvbqb1b4f txvbqb7m txvbqb78 txvbqb7t", C = e({
38
- defaultClassName: "w6b4r71c w6b4r719 w6b4r718 txvbqb108h txvbqb1162 txvbqb123a txvbqbxfd txvbqbfb7 txvbqbey txvbqbgz5 txvbqb2rg txvbqb9j txvbqbgwm txvbqbni8 txvbqb3f txvbqb7h txvbqb78 txvbqb7t",
37
+ }), p = "w6b4r7u txvbqb11nr", m = "w6b4r7v txvbqbfvs txvbqbv7x txvbqb1avz txvbqbwr6 txvbqb18ef txvbqb7m txvbqb78 txvbqb7t", h = "w6b4r7w txvbqb13i7 txvbqbfpn txvbqbey txvbqbls4 txvbqb19fz txvbqbjle txvbqbh6d", g = "w6b4r7x txvbqb7m txvbqb78 txvbqb7t", _ = "w6b4r7y w6b4r7x txvbqb7m txvbqb78 txvbqb7t", v = "w6b4r710 w6b4r7x txvbqb7m txvbqb78 txvbqb7t w6b4r7z txvbqb1bjr", y = "w6b4r711 txvbqb13i7 txvbqbqhu txvbqbfpn txvbqbey txvbqbls4 txvbqb19fz txvbqbjle", b = "w6b4r713 w6b4r712 txvbqb13hu txvbqb19cq txvbqb13kd txvbqbfpn txvbqbey txvbqbls4 txvbqb19h2 txvbqbjmh txvbqb2tz txvbqb1b85 txvbqb1bjr txvbqb7g txvbqb78 txvbqb7t", x = "w6b4r714 txvbqb13i7 txvbqbfpn txvbqbey txvbqbls4 txvbqb19fm txvbqbjl1", S = "w6b4r716 w6b4r715 txvbqb7m txvbqb78 txvbqb7t", C = "w6b4r718 w6b4r717 txvbqb1bjr txvbqb7m txvbqb78 txvbqb7t", w = e({
38
+ defaultClassName: "w6b4r71d w6b4r71a w6b4r719 txvbqb10mx txvbqb11ki txvbqb12hq txvbqbxtt txvbqbfpn txvbqbey txvbqbhdl txvbqb2uc txvbqb9j txvbqbhb2 txvbqbnwo txvbqb3f txvbqb7h txvbqb78 txvbqb7t",
39
39
  variantClassNames: { state: {
40
- default: "w6b4r71d w6b4r71a txvbqb1b15",
41
- active: "w6b4r71e w6b4r71b txvbqb1awp txvbqb1b43 txvbqbgwz"
40
+ default: "w6b4r71e w6b4r71b txvbqb1bc9",
41
+ active: "w6b4r71f w6b4r71c"
42
42
  } },
43
43
  defaultVariants: { state: "default" },
44
44
  compoundVariants: []
45
- }), w = "w6b4r71f txvbqbfb7 txvbqbey txvbqbldo txvbqb1916 txvbqbj6l txvbqbgrx txvbqb1b2f", T = "w6b4r71g txvbqbfhc txvbqbuth txvbqb1ahj txvbqbwcq txvbqb17zz";
45
+ }), T = "w6b4r71g txvbqbfpn txvbqbey txvbqbls4 txvbqb19fm txvbqbjl1 txvbqbh6d", E = "w6b4r71h", D = "w6b4r71i txvbqbfvs txvbqbv7x txvbqb1avz txvbqbwr6 txvbqb18ef";
46
46
  //#endregion
47
- export { w as childIcon, T as childLabel, C as childLinkRecipe, t as collapseButton, r as collapseButtonLabel, n as collapseButtonStateRecipe, o as collapsibleContent, s as collapsibleItem, i as collapsibleSection, a as collapsibleStateRecipe, h as iconBaseLayer, g as iconHiddenOnHover, _ as iconVisibleOnHover, m as iconWrapper, c as itemWrapper, p as label, l as navButton, d as navGapRecipe, u as navLinkRecipe, f as navWithTrailingAction, y as trailingActionButton, x as trailingActionIconHidden, S as trailingActionIconVisible, b as trailingActionIconWrapper, v as trailingIconWrapper };
47
+ export { T as childIcon, E as childIconTheme, D as childLabel, w as childLinkRecipe, t as collapseButton, r as collapseButtonLabel, n as collapseButtonStateRecipe, o as collapsibleContent, s as collapsibleContentTheme, c as collapsibleItem, i as collapsibleSection, a as collapsibleStateRecipe, g as iconBaseLayer, _ as iconHiddenOnHover, v as iconVisibleOnHover, h as iconWrapper, l as itemWrapper, m as label, u as navButton, f as navGapRecipe, d as navLinkRecipe, p as navWithTrailingAction, b as trailingActionButton, S as trailingActionIconHidden, C as trailingActionIconVisible, x as trailingActionIconWrapper, y as trailingIconWrapper };
48
48
 
49
49
  //# sourceMappingURL=navigationSidebar.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"navigationSidebar.css.js","names":[],"sources":["../../../../../src/atomic/organisms/sidebar/navigationSidebar.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { recipe, type RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.css.js';\n\nexport const collapseButton = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'tonePrimaryBorder',\n color: 'tonePrimaryText',\n backgroundColor: 'surfaceElevated',\n height: 10,\n transitionProperty: 'default',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.tonePrimarySurface,\n color: vars.colors.tonePrimaryText,\n boxShadow: vars.boxShadow.brandGlow,\n },\n '&:focus-visible': {\n outline: 'none',\n boxShadow: `0 0 0 2px ${vars.colors.tonePrimaryBorder}`,\n },\n },\n },\n]);\n\nexport const collapseButtonStateRecipe = recipe({\n variants: {\n state: {\n collapsed: {\n width: vars.spacing[10],\n paddingInline: 0,\n },\n expanded: {\n paddingInline: vars.spacing[3],\n width: 'auto',\n },\n },\n },\n defaultVariants: {\n state: 'expanded',\n },\n});\n\nexport type CollapseButtonStateVariants = RecipeVariants<\n typeof collapseButtonStateRecipe\n>;\n\nexport const collapseButtonLabel = sprinkles({\n marginLeft: 2,\n fontSize: 'sm',\n fontWeight: 'medium',\n});\n\nexport const collapsibleSection = sprinkles({\n display: 'grid',\n transitionProperty: 'gridTemplateRowsOpacity',\n transitionDuration: 300,\n transitionTimingFunction: 'ease-in-out',\n});\n\nexport const collapsibleStateRecipe = recipe({\n variants: {\n state: {\n expanded: {\n gridTemplateRows: '1fr',\n opacity: 1,\n },\n collapsed: {\n gridTemplateRows: '0fr',\n opacity: 0,\n pointerEvents: 'none',\n },\n },\n },\n defaultVariants: {\n state: 'collapsed',\n },\n});\n\nexport type CollapsibleStateVariants = RecipeVariants<\n typeof collapsibleStateRecipe\n>;\n\nexport const collapsibleContent = sprinkles({\n marginTop: 1,\n marginLeft: 5,\n borderLeftWidth: 2,\n borderStyle: 'solid',\n borderColor: 'brandPrimaryRed',\n paddingLeft: 3,\n overflow: 'hidden',\n});\n\nexport const collapsibleItem = style({\n selectors: {\n '&:not(:first-child)': {\n marginTop: vars.spacing[1],\n },\n },\n});\n\nexport const itemWrapper = sprinkles({\n position: 'relative',\n});\n\nconst interactiveBase = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: 'full',\n borderRadius: 'lg',\n paddingY: 2,\n paddingX: 3,\n fontSize: 'sm',\n lineHeight: 1.2,\n textAlign: 'left',\n backgroundColor: 'transparent',\n transitionProperty: 'default',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n borderColor: vars.colors.tonePrimaryBorder,\n },\n '&:focus-visible': {\n outline: 'none',\n },\n },\n },\n]);\n\nexport const navButton = style([\n interactiveBase,\n sprinkles({ fontWeight: 'bold', color: 'text' }),\n]);\n\nconst navLinkBase = style([\n interactiveBase,\n sprinkles({ fontWeight: 'semibold', textDecoration: 'none' }),\n]);\n\nexport const navLinkRecipe = recipe({\n base: navLinkBase,\n variants: {\n state: {\n default: sprinkles({\n color: 'text',\n }),\n active: sprinkles({\n backgroundImage: 'brandDiagonal',\n color: 'brandWhite',\n borderColor: 'brandPrimaryRed',\n borderRadius: 'xl',\n }),\n },\n },\n defaultVariants: {\n state: 'default',\n },\n});\n\nexport type NavLinkVariants = RecipeVariants<typeof navLinkRecipe>;\n\nexport const navGapRecipe = recipe({\n variants: {\n state: {\n collapsed: sprinkles({ columnGap: 0 }),\n expanded: sprinkles({ columnGap: 3 }),\n },\n },\n defaultVariants: {\n state: 'expanded',\n },\n});\n\nexport type NavGapVariants = RecipeVariants<typeof navGapRecipe>;\n\nexport const navWithTrailingAction = sprinkles({\n paddingRight: 12,\n});\n\nexport const label = sprinkles({\n flex: 1,\n minWidth: 0,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n});\n\nexport const iconWrapper = sprinkles({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 5,\n height: 5,\n flexShrink: 0,\n});\n\nconst fadingLayer = sprinkles({\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n});\n\nexport const iconBaseLayer = fadingLayer;\n\nexport const iconHiddenOnHover = style([\n fadingLayer,\n {\n selectors: {\n [`${itemWrapper}:hover &`]: { opacity: 0 },\n [`${itemWrapper}:focus-visible &`]: { opacity: 0 },\n [`${itemWrapper}:focus-within &`]: { opacity: 0 },\n },\n },\n]);\n\nexport const iconVisibleOnHover = style([\n fadingLayer,\n sprinkles({ opacity: 0 }),\n {\n selectors: {\n [`${itemWrapper}:hover &`]: { opacity: 1 },\n [`${itemWrapper}:focus-visible &`]: { opacity: 1 },\n [`${itemWrapper}:focus-within &`]: { opacity: 1 },\n },\n },\n]);\n\nexport const trailingIconWrapper = sprinkles({\n position: 'relative',\n marginLeft: 'auto',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 5,\n height: 5,\n});\n\nexport const trailingActionButton = style([\n sprinkles({\n position: 'absolute',\n top: '1/2',\n right: 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 8,\n height: 8,\n borderRadius: 'md',\n backgroundColor: 'surfaceElevated',\n color: 'tonePrimaryText',\n opacity: 0,\n transitionProperty: 'default',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n transform: 'translateY(-50%)',\n selectors: {\n [`${itemWrapper}:hover &`]: { opacity: 1 },\n [`${itemWrapper}:focus-within &`]: { opacity: 1 },\n '&:hover': {\n backgroundColor: vars.colors.tonePrimarySurface,\n color: vars.colors.tonePrimaryText,\n },\n '&:focus-visible': {\n outline: 'none',\n boxShadow: `0 0 0 2px ${vars.colors.tonePrimaryBorder}`,\n opacity: 1,\n },\n },\n },\n]);\n\nexport const trailingActionIconWrapper = sprinkles({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 4,\n height: 4,\n});\n\nexport const trailingActionIconHidden = style([\n sprinkles({\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n [`${trailingActionButton}:hover &`]: { opacity: 0 },\n [`${trailingActionButton}:focus-visible &`]: { opacity: 0 },\n },\n },\n]);\n\nexport const trailingActionIconVisible = style([\n sprinkles({\n opacity: 0,\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n [`${trailingActionButton}:hover &`]: { opacity: 1 },\n [`${trailingActionButton}:focus-visible &`]: { opacity: 1 },\n },\n },\n]);\n\nconst childLinkBase = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n borderRadius: 'lg',\n paddingY: 2,\n paddingX: 3,\n fontSize: 'sm',\n fontWeight: 'medium',\n lineHeight: 1.2,\n textDecoration: 'none',\n transitionProperty: 'colors',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.colors.surfaceMuted,\n color: vars.colors.text,\n },\n },\n },\n]);\n\nexport const childLinkRecipe = recipe({\n base: childLinkBase,\n variants: {\n state: {\n default: sprinkles({\n color: 'text',\n }),\n active: sprinkles({\n backgroundColor: 'brandSecondaryOrange',\n color: 'brandWhite',\n fontWeight: 'semibold',\n }),\n },\n },\n defaultVariants: {\n state: 'default',\n },\n});\n\nexport type ChildLinkVariants = RecipeVariants<typeof childLinkRecipe>;\n\nexport const childIcon = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 4,\n height: 4,\n flexShrink: 0,\n color: 'tonePrimaryText',\n});\n\nexport const childLabel = sprinkles({\n flex: 1,\n minWidth: 0,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n});\n"],"mappings":""}
1
+ {"version":3,"file":"navigationSidebar.css.js","names":[],"sources":["../../../../../src/atomic/organisms/sidebar/navigationSidebar.css.ts"],"sourcesContent":["import { style } from '@vanilla-extract/css';\nimport { recipe, type RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.css.js';\n\nexport const collapseButton = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n height: 10,\n transitionProperty: 'default',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n backgroundColor: vars.sidebar.collapseButtonBackground,\n borderColor: vars.sidebar.collapseButtonBorderColor,\n color: vars.sidebar.collapseButtonColor,\n selectors: {\n '&:hover': {\n backgroundColor: vars.sidebar.collapseButtonHoverBackground,\n color: vars.sidebar.collapseButtonHoverColor,\n boxShadow: vars.sidebar.collapseButtonHoverShadow,\n },\n '&:focus-visible': {\n outline: 'none',\n boxShadow: vars.sidebar.collapseButtonFocusRing,\n },\n },\n },\n]);\n\nexport const collapseButtonStateRecipe = recipe({\n variants: {\n state: {\n collapsed: {\n width: vars.spacing[10],\n paddingInline: 0,\n },\n expanded: {\n paddingInline: vars.spacing[3],\n width: 'auto',\n },\n },\n },\n defaultVariants: {\n state: 'expanded',\n },\n});\n\nexport type CollapseButtonStateVariants = RecipeVariants<\n typeof collapseButtonStateRecipe\n>;\n\nexport const collapseButtonLabel = sprinkles({\n marginLeft: 2,\n fontSize: 'sm',\n fontWeight: 'medium',\n});\n\nexport const collapsibleSection = sprinkles({\n display: 'grid',\n transitionProperty: 'gridTemplateRowsOpacity',\n transitionDuration: 300,\n transitionTimingFunction: 'ease-in-out',\n});\n\nexport const collapsibleStateRecipe = recipe({\n variants: {\n state: {\n expanded: {\n gridTemplateRows: '1fr',\n opacity: 1,\n },\n collapsed: {\n gridTemplateRows: '0fr',\n opacity: 0,\n pointerEvents: 'none',\n },\n },\n },\n defaultVariants: {\n state: 'collapsed',\n },\n});\n\nexport type CollapsibleStateVariants = RecipeVariants<\n typeof collapsibleStateRecipe\n>;\n\nexport const collapsibleContent = sprinkles({\n marginTop: 1,\n marginLeft: 5,\n borderLeftWidth: 2,\n borderStyle: 'solid',\n paddingLeft: 3,\n overflow: 'hidden',\n});\n\nexport const collapsibleContentTheme = style({\n borderColor: vars.sidebar.nestedBorderColor,\n});\n\nexport const collapsibleItem = style({\n selectors: {\n '&:not(:first-child)': {\n marginTop: vars.spacing[1],\n },\n },\n});\n\nexport const itemWrapper = sprinkles({\n position: 'relative',\n});\n\nconst interactiveBase = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-start',\n width: 'full',\n borderRadius: 'lg',\n paddingY: 2,\n paddingX: 3,\n fontSize: 'sm',\n lineHeight: 1.2,\n textAlign: 'left',\n backgroundColor: 'transparent',\n transitionProperty: 'default',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n '&:hover': {\n backgroundColor: vars.sidebar.itemHoverBackground,\n color: vars.sidebar.itemHoverColor,\n },\n '&:focus-visible': {\n outline: 'none',\n boxShadow: vars.sidebar.itemFocusRing,\n },\n },\n },\n]);\n\nexport const navButton = style([\n interactiveBase,\n sprinkles({ fontWeight: 'bold' }),\n {\n color: vars.sidebar.itemColor,\n },\n]);\n\nconst navLinkBase = style([\n interactiveBase,\n sprinkles({ fontWeight: 'semibold', textDecoration: 'none' }),\n {\n color: vars.sidebar.itemColor,\n },\n]);\n\nexport const navLinkRecipe = recipe({\n base: navLinkBase,\n variants: {\n state: {\n default: sprinkles({\n color: 'inherit',\n }),\n active: style({\n backgroundColor: vars.sidebar.itemActiveBackground,\n backgroundImage: vars.sidebar.itemActiveBackgroundImage,\n borderColor: vars.sidebar.itemActiveBorderColor,\n color: vars.sidebar.itemActiveColor,\n boxShadow: vars.sidebar.itemActiveShadow,\n }),\n },\n },\n defaultVariants: {\n state: 'default',\n },\n});\n\nexport type NavLinkVariants = RecipeVariants<typeof navLinkRecipe>;\n\nexport const navGapRecipe = recipe({\n variants: {\n state: {\n collapsed: sprinkles({ columnGap: 0 }),\n expanded: sprinkles({ columnGap: 3 }),\n },\n },\n defaultVariants: {\n state: 'expanded',\n },\n});\n\nexport type NavGapVariants = RecipeVariants<typeof navGapRecipe>;\n\nexport const navWithTrailingAction = sprinkles({\n paddingRight: 12,\n});\n\nexport const label = sprinkles({\n flex: 1,\n minWidth: 0,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n});\n\nexport const iconWrapper = sprinkles({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 5,\n height: 5,\n flexShrink: 0,\n});\n\nconst fadingLayer = sprinkles({\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n});\n\nexport const iconBaseLayer = fadingLayer;\n\nexport const iconHiddenOnHover = style([\n fadingLayer,\n {\n selectors: {\n [`${itemWrapper}:hover &`]: { opacity: 0 },\n [`${itemWrapper}:focus-visible &`]: { opacity: 0 },\n [`${itemWrapper}:focus-within &`]: { opacity: 0 },\n },\n },\n]);\n\nexport const iconVisibleOnHover = style([\n fadingLayer,\n sprinkles({ opacity: 0 }),\n {\n selectors: {\n [`${itemWrapper}:hover &`]: { opacity: 1 },\n [`${itemWrapper}:focus-visible &`]: { opacity: 1 },\n [`${itemWrapper}:focus-within &`]: { opacity: 1 },\n },\n },\n]);\n\nexport const trailingIconWrapper = sprinkles({\n position: 'relative',\n marginLeft: 'auto',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 5,\n height: 5,\n});\n\nexport const trailingActionButton = style([\n sprinkles({\n position: 'absolute',\n top: '1/2',\n right: 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 8,\n height: 8,\n borderRadius: 'md',\n backgroundColor: 'surfaceElevated',\n opacity: 0,\n transitionProperty: 'default',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n transform: 'translateY(-50%)',\n color: vars.sidebar.actionColor,\n selectors: {\n [`${itemWrapper}:hover &`]: { opacity: 1 },\n [`${itemWrapper}:focus-within &`]: { opacity: 1 },\n '&:hover': {\n backgroundColor: vars.sidebar.actionHoverBackground,\n color: vars.sidebar.actionHoverColor,\n },\n '&:focus-visible': {\n outline: 'none',\n boxShadow: vars.sidebar.actionFocusRing,\n opacity: 1,\n },\n },\n },\n]);\n\nexport const trailingActionIconWrapper = sprinkles({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 4,\n height: 4,\n});\n\nexport const trailingActionIconHidden = style([\n sprinkles({\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n [`${trailingActionButton}:hover &`]: { opacity: 0 },\n [`${trailingActionButton}:focus-visible &`]: { opacity: 0 },\n },\n },\n]);\n\nexport const trailingActionIconVisible = style([\n sprinkles({\n opacity: 0,\n transitionProperty: 'opacity',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n selectors: {\n [`${trailingActionButton}:hover &`]: { opacity: 1 },\n [`${trailingActionButton}:focus-visible &`]: { opacity: 1 },\n },\n },\n]);\n\nconst childLinkBase = style([\n sprinkles({\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n borderRadius: 'lg',\n paddingY: 2,\n paddingX: 3,\n fontSize: 'sm',\n fontWeight: 'medium',\n lineHeight: 1.2,\n textDecoration: 'none',\n transitionProperty: 'colors',\n transitionDuration: 200,\n transitionTimingFunction: 'ease',\n }),\n {\n color: vars.sidebar.itemColor,\n selectors: {\n '&:hover': {\n backgroundColor: vars.sidebar.itemHoverBackground,\n color: vars.sidebar.itemHoverColor,\n },\n },\n },\n]);\n\nexport const childLinkRecipe = recipe({\n base: childLinkBase,\n variants: {\n state: {\n default: sprinkles({\n color: 'inherit',\n }),\n active: style({\n backgroundColor: vars.sidebar.itemActiveBackground,\n backgroundImage: vars.sidebar.itemActiveBackgroundImage,\n borderColor: vars.sidebar.itemActiveBorderColor,\n color: vars.sidebar.itemActiveColor,\n boxShadow: vars.sidebar.itemActiveShadow,\n fontWeight: vars.fontWeight.semibold,\n }),\n },\n },\n defaultVariants: {\n state: 'default',\n },\n});\n\nexport type ChildLinkVariants = RecipeVariants<typeof childLinkRecipe>;\n\nexport const childIcon = sprinkles({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 4,\n height: 4,\n flexShrink: 0,\n});\n\nexport const childIconTheme = style({\n color: vars.sidebar.itemColor,\n});\n\nexport const childLabel = sprinkles({\n flex: 1,\n minWidth: 0,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n});\n"],"mappings":""}