@gbmtech/aurora-ui 0.4.73 → 0.4.75

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 (248) hide show
  1. package/dist/cjs/components/alert-dialog.cjs +1 -1
  2. package/dist/cjs/components/app-layout/index.cjs +1 -1
  3. package/dist/cjs/components/app-layout/index.cjs.map +1 -1
  4. package/dist/cjs/components/app-layout/sidebar/index.cjs +1 -1
  5. package/dist/cjs/components/app-layout/sidebar/index.cjs.map +1 -1
  6. package/dist/cjs/components/app-layout/sidebar/sidebar.cjs +1 -1
  7. package/dist/cjs/components/avatar.cjs +1 -1
  8. package/dist/cjs/components/badge.cjs +1 -1
  9. package/dist/cjs/components/breadcrumb.cjs +1 -1
  10. package/dist/cjs/components/command.cjs +1 -1
  11. package/dist/cjs/components/context-menu.cjs +1 -1
  12. package/dist/cjs/components/data-table/data-table-action-bar.cjs +1 -1
  13. package/dist/cjs/components/date-picker-with-range.cjs +2 -2
  14. package/dist/cjs/components/date-picker-with-range.cjs.map +1 -1
  15. package/dist/cjs/components/dialog.cjs +1 -1
  16. package/dist/cjs/components/dropdown-menu.cjs +1 -1
  17. package/dist/cjs/components/faceted.cjs +1 -1
  18. package/dist/cjs/components/form.cjs +1 -1
  19. package/dist/cjs/components/input-otp.cjs +1 -1
  20. package/dist/cjs/components/multi-select.cjs +1 -1
  21. package/dist/cjs/components/multi-select.cjs.map +1 -1
  22. package/dist/cjs/components/pagination.cjs +1 -1
  23. package/dist/cjs/components/select.cjs +1 -1
  24. package/dist/cjs/components/separator.cjs +1 -1
  25. package/dist/cjs/components/sheet/sheet.cjs +1 -1
  26. package/dist/cjs/components/sortable.cjs +1 -1
  27. package/dist/cjs/components/table-expandable.cjs +1 -1
  28. package/dist/cjs/components/table.cjs +1 -1
  29. package/dist/cjs/components/tabs/tabs-root.cjs +1 -1
  30. package/dist/cjs/components/time-picker-input.cjs +1 -1
  31. package/dist/cjs/components/time-picker-input.cjs.map +1 -1
  32. package/dist/cjs/components/tooltip.cjs +1 -1
  33. package/dist/cjs/index.cjs +1 -1
  34. package/dist/cjs/index.cjs.map +1 -1
  35. package/dist/cjs/lib/composition.cjs +1 -1
  36. package/dist/cjs/lib/data-table.cjs +1 -1
  37. package/dist/cjs/lib/index.cjs +1 -1
  38. package/dist/cjs/lib/index.cjs.map +1 -1
  39. package/dist/cjs/lib/parsers.cjs +1 -1
  40. package/dist/cjs/primitive/input.cjs +1 -1
  41. package/dist/esm/components/alert-dialog.js +1 -1
  42. package/dist/esm/components/alert-dialog.js.map +1 -1
  43. package/dist/esm/components/app-layout/app-layout-breadcrumb.js +1 -1
  44. package/dist/esm/components/app-layout/app-layout-breadcrumb.js.map +1 -1
  45. package/dist/esm/components/app-layout/app-layout-content.js +1 -1
  46. package/dist/esm/components/app-layout/app-layout-content.js.map +1 -1
  47. package/dist/esm/components/app-layout/app-layout-filters.js +1 -1
  48. package/dist/esm/components/app-layout/app-layout-filters.js.map +1 -1
  49. package/dist/esm/components/app-layout/app-layout-header.js +1 -1
  50. package/dist/esm/components/app-layout/app-layout-header.js.map +1 -1
  51. package/dist/esm/components/app-layout/app-layout-provider.js +1 -1
  52. package/dist/esm/components/app-layout/app-layout-provider.js.map +1 -1
  53. package/dist/esm/components/app-layout/app-layout.js +1 -1
  54. package/dist/esm/components/app-layout/app-layout.js.map +1 -1
  55. package/dist/esm/components/app-layout/sidebar/app-sidebar.js +1 -1
  56. package/dist/esm/components/app-layout/sidebar/app-sidebar.js.map +1 -1
  57. package/dist/esm/components/app-layout/sidebar/index.js +2 -1
  58. package/dist/esm/components/app-layout/sidebar/index.js.map +1 -0
  59. package/dist/esm/components/app-layout/sidebar/logo.js +1 -1
  60. package/dist/esm/components/app-layout/sidebar/logo.js.map +1 -1
  61. package/dist/esm/components/app-layout/sidebar/nav-modules.js +1 -1
  62. package/dist/esm/components/app-layout/sidebar/nav-modules.js.map +1 -1
  63. package/dist/esm/components/app-layout/sidebar/nav-sub-item.js +1 -1
  64. package/dist/esm/components/app-layout/sidebar/nav-sub-item.js.map +1 -1
  65. package/dist/esm/components/app-layout/sidebar/nav-user.js +1 -1
  66. package/dist/esm/components/app-layout/sidebar/nav-user.js.map +1 -1
  67. package/dist/esm/components/app-layout/sidebar/sidebar-icons.js +1 -1
  68. package/dist/esm/components/app-layout/sidebar/sidebar-icons.js.map +1 -1
  69. package/dist/esm/components/app-layout/sidebar/sidebar.js +1 -1
  70. package/dist/esm/components/app-layout/sidebar/sidebar.js.map +1 -1
  71. package/dist/esm/components/autocomplete/autocomplete-content.js +1 -1
  72. package/dist/esm/components/autocomplete/autocomplete-content.js.map +1 -1
  73. package/dist/esm/components/autocomplete/autocomplete-context.js +1 -1
  74. package/dist/esm/components/autocomplete/autocomplete-context.js.map +1 -1
  75. package/dist/esm/components/autocomplete/autocomplete-empty.js +1 -1
  76. package/dist/esm/components/autocomplete/autocomplete-empty.js.map +1 -1
  77. package/dist/esm/components/autocomplete/autocomplete-input.js +1 -1
  78. package/dist/esm/components/autocomplete/autocomplete-input.js.map +1 -1
  79. package/dist/esm/components/autocomplete/autocomplete-item.js +1 -1
  80. package/dist/esm/components/autocomplete/autocomplete-item.js.map +1 -1
  81. package/dist/esm/components/autocomplete/autocomplete-list.js +1 -1
  82. package/dist/esm/components/autocomplete/autocomplete-list.js.map +1 -1
  83. package/dist/esm/components/autocomplete/autocomplete.js +1 -1
  84. package/dist/esm/components/autocomplete/autocomplete.js.map +1 -1
  85. package/dist/esm/components/avatar.js +1 -1
  86. package/dist/esm/components/avatar.js.map +1 -1
  87. package/dist/esm/components/badge.js +1 -1
  88. package/dist/esm/components/badge.js.map +1 -1
  89. package/dist/esm/components/breadcrumb.js +1 -1
  90. package/dist/esm/components/breadcrumb.js.map +1 -1
  91. package/dist/esm/components/button.js +1 -1
  92. package/dist/esm/components/button.js.map +1 -1
  93. package/dist/esm/components/calendar.js +1 -1
  94. package/dist/esm/components/calendar.js.map +1 -1
  95. package/dist/esm/components/checkbox.js +1 -1
  96. package/dist/esm/components/checkbox.js.map +1 -1
  97. package/dist/esm/components/combobox.js +1 -1
  98. package/dist/esm/components/combobox.js.map +1 -1
  99. package/dist/esm/components/command.js +1 -1
  100. package/dist/esm/components/command.js.map +1 -1
  101. package/dist/esm/components/context-menu.js +1 -1
  102. package/dist/esm/components/context-menu.js.map +1 -1
  103. package/dist/esm/components/data-table/data-table-action-bar.js +1 -1
  104. package/dist/esm/components/data-table/data-table-action-bar.js.map +1 -1
  105. package/dist/esm/components/data-table/data-table-advanced-toolbar.js +1 -1
  106. package/dist/esm/components/data-table/data-table-advanced-toolbar.js.map +1 -1
  107. package/dist/esm/components/data-table/data-table-column-header.js +1 -1
  108. package/dist/esm/components/data-table/data-table-column-header.js.map +1 -1
  109. package/dist/esm/components/data-table/data-table-date-filter.js +1 -1
  110. package/dist/esm/components/data-table/data-table-date-filter.js.map +1 -1
  111. package/dist/esm/components/data-table/data-table-faceted-filter.js +1 -1
  112. package/dist/esm/components/data-table/data-table-faceted-filter.js.map +1 -1
  113. package/dist/esm/components/data-table/data-table-filter-list.js +1 -1
  114. package/dist/esm/components/data-table/data-table-filter-list.js.map +1 -1
  115. package/dist/esm/components/data-table/data-table-filter-menu.js +1 -1
  116. package/dist/esm/components/data-table/data-table-filter-menu.js.map +1 -1
  117. package/dist/esm/components/data-table/data-table-pagination.js +1 -1
  118. package/dist/esm/components/data-table/data-table-pagination.js.map +1 -1
  119. package/dist/esm/components/data-table/data-table-range-filter.js +1 -1
  120. package/dist/esm/components/data-table/data-table-range-filter.js.map +1 -1
  121. package/dist/esm/components/data-table/data-table-skeleton.js +1 -1
  122. package/dist/esm/components/data-table/data-table-skeleton.js.map +1 -1
  123. package/dist/esm/components/data-table/data-table-slider-filter.js +1 -1
  124. package/dist/esm/components/data-table/data-table-slider-filter.js.map +1 -1
  125. package/dist/esm/components/data-table/data-table-sort-list.js +1 -1
  126. package/dist/esm/components/data-table/data-table-sort-list.js.map +1 -1
  127. package/dist/esm/components/data-table/data-table-toolbar.js +1 -1
  128. package/dist/esm/components/data-table/data-table-toolbar.js.map +1 -1
  129. package/dist/esm/components/data-table/data-table-view-options.js +1 -1
  130. package/dist/esm/components/data-table/data-table-view-options.js.map +1 -1
  131. package/dist/esm/components/data-table/data-table.js +1 -1
  132. package/dist/esm/components/data-table/data-table.js.map +1 -1
  133. package/dist/esm/components/data-table/index.js +1 -1
  134. package/dist/esm/components/date-picker-with-range.js +2 -2
  135. package/dist/esm/components/date-picker-with-range.js.map +1 -1
  136. package/dist/esm/components/date-picker.js +1 -1
  137. package/dist/esm/components/date-picker.js.map +1 -1
  138. package/dist/esm/components/date-time-picker-with-range.js +1 -1
  139. package/dist/esm/components/date-time-picker-with-range.js.map +1 -1
  140. package/dist/esm/components/datetime-picker/datetime-picker.js +1 -1
  141. package/dist/esm/components/datetime-picker/datetime-picker.js.map +1 -1
  142. package/dist/esm/components/datetime-picker/month-year-picker.js +1 -1
  143. package/dist/esm/components/datetime-picker/month-year-picker.js.map +1 -1
  144. package/dist/esm/components/datetime-picker/time-item.js +1 -1
  145. package/dist/esm/components/datetime-picker/time-item.js.map +1 -1
  146. package/dist/esm/components/dialog.js +1 -1
  147. package/dist/esm/components/dialog.js.map +1 -1
  148. package/dist/esm/components/dropdown-menu.js +1 -1
  149. package/dist/esm/components/dropdown-menu.js.map +1 -1
  150. package/dist/esm/components/faceted.js +1 -1
  151. package/dist/esm/components/faceted.js.map +1 -1
  152. package/dist/esm/components/form.js +1 -1
  153. package/dist/esm/components/form.js.map +1 -1
  154. package/dist/esm/components/icons/rumo.js +1 -1
  155. package/dist/esm/components/icons/rumo.js.map +1 -1
  156. package/dist/esm/components/icons/vli.js +1 -1
  157. package/dist/esm/components/icons/vli.js.map +1 -1
  158. package/dist/esm/components/input-otp.js +1 -1
  159. package/dist/esm/components/input-otp.js.map +1 -1
  160. package/dist/esm/components/input-password.js +1 -1
  161. package/dist/esm/components/input-password.js.map +1 -1
  162. package/dist/esm/components/input.js +1 -1
  163. package/dist/esm/components/input.js.map +1 -1
  164. package/dist/esm/components/label.js +1 -1
  165. package/dist/esm/components/label.js.map +1 -1
  166. package/dist/esm/components/mask-input.js +1 -1
  167. package/dist/esm/components/mask-input.js.map +1 -1
  168. package/dist/esm/components/multi-select.js +1 -1
  169. package/dist/esm/components/multi-select.js.map +1 -1
  170. package/dist/esm/components/pagination.js +1 -1
  171. package/dist/esm/components/pagination.js.map +1 -1
  172. package/dist/esm/components/popover.js +1 -1
  173. package/dist/esm/components/popover.js.map +1 -1
  174. package/dist/esm/components/radio-group.js +1 -1
  175. package/dist/esm/components/radio-group.js.map +1 -1
  176. package/dist/esm/components/scroll-area.js +1 -1
  177. package/dist/esm/components/scroll-area.js.map +1 -1
  178. package/dist/esm/components/select.js +1 -1
  179. package/dist/esm/components/select.js.map +1 -1
  180. package/dist/esm/components/separator.js +1 -1
  181. package/dist/esm/components/separator.js.map +1 -1
  182. package/dist/esm/components/sheet/sheet-content-variants.js +1 -1
  183. package/dist/esm/components/sheet/sheet-content-variants.js.map +1 -1
  184. package/dist/esm/components/sheet/sheet.js +1 -1
  185. package/dist/esm/components/sheet/sheet.js.map +1 -1
  186. package/dist/esm/components/skeleton.js +1 -1
  187. package/dist/esm/components/skeleton.js.map +1 -1
  188. package/dist/esm/components/slider.js +1 -1
  189. package/dist/esm/components/slider.js.map +1 -1
  190. package/dist/esm/components/sortable.js +3 -3
  191. package/dist/esm/components/sortable.js.map +1 -1
  192. package/dist/esm/components/spinner.js +1 -1
  193. package/dist/esm/components/spinner.js.map +1 -1
  194. package/dist/esm/components/switch.js +1 -1
  195. package/dist/esm/components/switch.js.map +1 -1
  196. package/dist/esm/components/table-expandable.js +1 -1
  197. package/dist/esm/components/table-expandable.js.map +1 -1
  198. package/dist/esm/components/table.js +1 -1
  199. package/dist/esm/components/table.js.map +1 -1
  200. package/dist/esm/components/tabs/index.js +1 -1
  201. package/dist/esm/components/tabs/index.js.map +1 -1
  202. package/dist/esm/components/tabs/tabs-content.js +1 -1
  203. package/dist/esm/components/tabs/tabs-content.js.map +1 -1
  204. package/dist/esm/components/tabs/tabs-list.js +1 -1
  205. package/dist/esm/components/tabs/tabs-list.js.map +1 -1
  206. package/dist/esm/components/tabs/tabs-root.js +1 -1
  207. package/dist/esm/components/tabs/tabs-root.js.map +1 -1
  208. package/dist/esm/components/tabs/tabs-trigger.js +1 -1
  209. package/dist/esm/components/tabs/tabs-trigger.js.map +1 -1
  210. package/dist/esm/components/textarea.js +1 -1
  211. package/dist/esm/components/textarea.js.map +1 -1
  212. package/dist/esm/components/theme-provider.js +1 -1
  213. package/dist/esm/components/theme-provider.js.map +1 -1
  214. package/dist/esm/components/theme-toggle.js +1 -1
  215. package/dist/esm/components/theme-toggle.js.map +1 -1
  216. package/dist/esm/components/time-picker-input.js +1 -1
  217. package/dist/esm/components/time-picker-input.js.map +1 -1
  218. package/dist/esm/components/time-picker.js +1 -1
  219. package/dist/esm/components/time-picker.js.map +1 -1
  220. package/dist/esm/components/title.js +1 -1
  221. package/dist/esm/components/title.js.map +1 -1
  222. package/dist/esm/components/tokens-grid.js +1 -1
  223. package/dist/esm/components/tokens-grid.js.map +1 -1
  224. package/dist/esm/components/tooltip.js +1 -1
  225. package/dist/esm/components/tooltip.js.map +1 -1
  226. package/dist/esm/hooks/use-callback-ref.js +1 -1
  227. package/dist/esm/hooks/use-callback-ref.js.map +1 -1
  228. package/dist/esm/hooks/use-data-table.js +1 -1
  229. package/dist/esm/hooks/use-data-table.js.map +1 -1
  230. package/dist/esm/hooks/use-debounce.js +1 -1
  231. package/dist/esm/hooks/use-debounce.js.map +1 -1
  232. package/dist/esm/hooks/use-debounced-callback.js +1 -1
  233. package/dist/esm/hooks/use-debounced-callback.js.map +1 -1
  234. package/dist/esm/hooks/use-mobile.js +1 -1
  235. package/dist/esm/hooks/use-mobile.js.map +1 -1
  236. package/dist/esm/lib/composition.js +1 -1
  237. package/dist/esm/lib/composition.js.map +1 -1
  238. package/dist/esm/lib/data-table.js +1 -1
  239. package/dist/esm/lib/data-table.js.map +1 -1
  240. package/dist/esm/lib/id.js +1 -1
  241. package/dist/esm/lib/id.js.map +1 -1
  242. package/dist/esm/lib/parsers.js +1 -1
  243. package/dist/esm/lib/parsers.js.map +1 -1
  244. package/dist/esm/lib/utils.js +1 -1
  245. package/dist/esm/lib/utils.js.map +1 -1
  246. package/dist/esm/primitive/input.js +1 -1
  247. package/dist/esm/primitive/input.js.map +1 -1
  248. package/package.json +8 -8
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as s from"../../dropdown-menu.js";import*as a from"lucide-react";import*as r from"./index.js";import*as n from"../../avatar.js";import*as t from"./intl/messages.js";function d(){let{isMobile:d,user:l,locale:i}=(0,r.useSidebar)("NavUser");return(0,e.jsx)(r.SidebarMenu,{children:(0,e.jsx)(r.SidebarMenuItem,{children:(0,e.jsxs)(s.DropdownMenu,{children:[(0,e.jsx)(s.DropdownMenuTrigger,{asChild:!0,children:(0,e.jsxs)(r.SidebarMenuButton,{size:"lg",className:"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",children:[(0,e.jsxs)(n.Avatar,{className:"size-8 rounded-lg group-data-[collapsible=icon]:size-10",children:[(0,e.jsx)(n.AvatarImage,{src:void 0,alt:l.name}),(0,e.jsx)(n.AvatarFallback,{className:"rounded-lg",children:(0,e.jsx)(a.UserRound,{className:"size-4"})})]}),(0,e.jsxs)("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[(0,e.jsx)("span",{className:"truncate font-medium",children:l.name}),(0,e.jsx)("span",{className:"truncate text-muted-foreground text-xs",children:l.email})]}),(0,e.jsx)(a.ChevronsUpDown,{className:"ml-auto size-4"})]})}),(0,e.jsxs)(s.DropdownMenuContent,{className:"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg",side:d?"bottom":"right",align:"end",sideOffset:4,children:[(0,e.jsx)(s.DropdownMenuLabel,{className:"p-0 font-normal",children:(0,e.jsxs)("div",{className:"flex items-center gap-2 px-1 py-1.5 text-left text-sm",children:[(0,e.jsxs)(n.Avatar,{className:"h-8 w-8 rounded-lg",children:[(0,e.jsx)(n.AvatarImage,{src:void 0,alt:l.name}),(0,e.jsx)(n.AvatarFallback,{className:"rounded-lg",children:(0,e.jsx)(a.UserRound,{className:"size-4"})})]}),(0,e.jsxs)("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[(0,e.jsx)("span",{className:"truncate font-semibold",children:l.name}),(0,e.jsx)("span",{className:"truncate text-muted-foreground text-xs",children:l.email})]})]})}),(0,e.jsx)(s.DropdownMenuGroup,{children:(0,e.jsxs)(s.DropdownMenuSub,{children:[(0,e.jsxs)(s.DropdownMenuSubTrigger,{children:[(0,e.jsx)(a.Languages,{className:"mr-2 size-4"}),t.messages[i].language]}),(0,e.jsxs)(s.DropdownMenuSubContent,{children:[(0,e.jsx)(s.DropdownMenuItem,{asChild:!0,children:(0,e.jsx)("a",{href:"/pt-br/home",className:"gap-2",children:"PT-BR"})}),(0,e.jsx)(s.DropdownMenuItem,{asChild:!0,children:(0,e.jsx)("a",{href:"/en-us/home",className:"gap-2",children:"EN-US"})}),(0,e.jsx)(s.DropdownMenuItem,{className:"gap-2",asChild:!0,children:(0,e.jsx)("a",{href:"/es/home",className:"gap-2",children:"ES"})})]})]})}),(0,e.jsx)(s.DropdownMenuSeparator,{}),(0,e.jsx)(s.DropdownMenuItem,{asChild:!0,children:(0,e.jsxs)("a",{href:"/api/auth/sign-out",children:[(0,e.jsx)(a.LogOut,{className:"mr-2 size-4"}),t.messages[i]["sign-out"]]})})]})]})})})}export{d as NavUser};
2
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{DropdownMenu as s,DropdownMenuContent as r,DropdownMenuGroup as l,DropdownMenuItem as i,DropdownMenuLabel as t,DropdownMenuSeparator as n,DropdownMenuSub as d,DropdownMenuSubContent as c,DropdownMenuSubTrigger as m,DropdownMenuTrigger as o}from"../../dropdown-menu.js";import{ChevronsUpDown as h,Languages as g,LogOut as u,UserRound as p}from"lucide-react";import{SidebarMenu as N,SidebarMenuButton as f,SidebarMenuItem as x,useSidebar as v}from"./index.js";import{Avatar as z,AvatarFallback as b,AvatarImage as w}from"../../avatar.js";import{messages as j}from"./intl/messages.js";function C(){let{isMobile:C,user:U,locale:E}=v("NavUser");return e(N,{children:e(x,{children:a(s,{children:[e(o,{asChild:!0,children:a(f,{size:"lg",className:"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground",children:[a(z,{className:"size-8 rounded-lg group-data-[collapsible=icon]:size-10",children:[e(w,{src:void 0,alt:U.name}),e(b,{className:"rounded-lg",children:e(p,{className:"size-4"})})]}),a("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[e("span",{className:"truncate font-medium",children:U.name}),e("span",{className:"truncate text-muted-foreground text-xs",children:U.email})]}),e(h,{className:"ml-auto size-4"})]})}),a(r,{className:"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg",side:C?"bottom":"right",align:"end",sideOffset:4,children:[e(t,{className:"p-0 font-normal",children:a("div",{className:"flex items-center gap-2 px-1 py-1.5 text-left text-sm",children:[a(z,{className:"h-8 w-8 rounded-lg",children:[e(w,{src:void 0,alt:U.name}),e(b,{className:"rounded-lg",children:e(p,{className:"size-4"})})]}),a("div",{className:"grid flex-1 text-left text-sm leading-tight",children:[e("span",{className:"truncate font-semibold",children:U.name}),e("span",{className:"truncate text-muted-foreground text-xs",children:U.email})]})]})}),e(l,{children:a(d,{children:[a(m,{children:[e(g,{className:"mr-2 size-4"}),j[E].language]}),a(c,{children:[e(i,{asChild:!0,children:e("a",{href:"/pt-br/home",className:"gap-2",children:"PT-BR"})}),e(i,{asChild:!0,children:e("a",{href:"/en-us/home",className:"gap-2",children:"EN-US"})}),e(i,{className:"gap-2",asChild:!0,children:e("a",{href:"/es/home",className:"gap-2",children:"ES"})})]})]})}),e(n,{}),e(i,{asChild:!0,children:a("a",{href:"/api/auth/sign-out",children:[e(u,{className:"mr-2 size-4"}),j[E]["sign-out"]]})})]})]})})})}export{C as NavUser};
3
3
  //# sourceMappingURL=nav-user.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\app-layout\\sidebar\\nav-user.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/app-layout/sidebar/nav-user.tsx"],"sourcesContent":["\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu'\nimport { ChevronsUpDown, Languages, LogOut, UserRound } from 'lucide-react'\nimport { JSX } from 'react'\n\nimport {\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n useSidebar,\n} from '@/components/app-layout/sidebar'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/avatar'\nimport { messages } from './intl/messages'\n\n/* -----------------------------------------------------------------------------\n * Component: NavUser\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_NAV_USER_NAME = 'NavUser'\n\nfunction NavUser(): JSX.Element {\n const { isMobile, user, locale } = useSidebar(SIDEBAR_NAV_USER_NAME)\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"size-8 rounded-lg group-data-[collapsible=icon]:size-10\">\n <AvatarImage src={undefined} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">\n <UserRound className=\"size-4\" />\n </AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{user.name}</span>\n <span className=\"truncate text-muted-foreground text-xs\">\n {user.email}\n </span>\n </div>\n <ChevronsUpDown className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg\"\n side={isMobile ? 'bottom' : 'right'}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={undefined} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">\n <UserRound className=\"size-4\" />\n </AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-muted-foreground text-xs\">\n {user.email}\n </span>\n </div>\n </div>\n </DropdownMenuLabel>\n <DropdownMenuGroup>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger>\n <Languages className=\"mr-2 size-4\" />\n {messages[locale].language}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuItem asChild>\n <a href=\"/pt-br/home\" className=\"gap-2\">\n PT-BR\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem asChild>\n <a href=\"/en-us/home\" className=\"gap-2\">\n EN-US\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem className=\"gap-2\" asChild>\n <a href=\"/es/home\" className=\"gap-2\">\n ES\n </a>\n </DropdownMenuItem>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem asChild>\n <a href=\"/api/auth/sign-out\">\n <LogOut className=\"mr-2 size-4\" />\n {messages[locale]['sign-out']}\n </a>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { NavUser }\n"],"names":["NavUser","isMobile","user","locale","useSidebar","SidebarMenu","SidebarMenuItem","DropdownMenu","DropdownMenuTrigger","SidebarMenuButton","Avatar","AvatarImage","undefined","AvatarFallback","UserRound","ChevronsUpDown","DropdownMenuContent","DropdownMenuLabel","DropdownMenuGroup","DropdownMenuSub","DropdownMenuSubTrigger","Languages","messages","DropdownMenuSubContent","DropdownMenuItem","DropdownMenuSeparator","LogOut"],"mappings":";gNAgCA,SAASA,IACP,GAAM,CAAEC,SAAAA,CAAQ,CAAEC,KAAAA,CAAI,CAAEC,OAAAA,CAAM,CAAE,CAAGC,GAAAA,EAAAA,UAAAA,EAHP,WAK5B,MACE,UAACC,EAAAA,WAAWA,CAAAA,C,SACV,UAACC,EAAAA,eAAeA,CAAAA,C,SACd,WAACC,EAAAA,YAAYA,CAAAA,C,UACX,UAACC,EAAAA,mBAAmBA,CAAAA,CAAC,QAAO,G,SAC1B,WAACC,EAAAA,iBAAiBA,CAAAA,CAChB,KAAK,KACL,UAAU,uF,UAEV,WAACC,EAAAA,MAAMA,CAAAA,CAAC,UAAU,0D,UAChB,UAACC,EAAAA,WAAWA,CAAAA,CAAC,IAAKC,OAAW,IAAKV,EAAK,IAAI,GAC3C,UAACW,EAAAA,cAAcA,CAAAA,CAAC,UAAU,a,SACxB,UAACC,EAAAA,SAASA,CAAAA,CAAC,UAAU,Q,QAGzB,WAAC,OAAI,UAAU,8C,UACb,UAAC,QAAK,UAAU,uB,SAAwBZ,EAAK,IAAI,GACjD,UAAC,QAAK,UAAU,yC,SACbA,EAAK,KAAK,MAGf,UAACa,EAAAA,cAAcA,CAAAA,CAAC,UAAU,gB,QAG9B,WAACC,EAAAA,mBAAmBA,CAAAA,CAClB,UAAU,8DACV,KAAMf,EAAW,SAAW,QAC5B,MAAM,MACN,WAAY,E,UAEZ,UAACgB,EAAAA,iBAAiBA,CAAAA,CAAC,UAAU,kB,SAC3B,WAAC,OAAI,UAAU,wD,UACb,WAACP,EAAAA,MAAMA,CAAAA,CAAC,UAAU,qB,UAChB,UAACC,EAAAA,WAAWA,CAAAA,CAAC,IAAKC,OAAW,IAAKV,EAAK,IAAI,GAC3C,UAACW,EAAAA,cAAcA,CAAAA,CAAC,UAAU,a,SACxB,UAACC,EAAAA,SAASA,CAAAA,CAAC,UAAU,Q,QAGzB,WAAC,OAAI,UAAU,8C,UACb,UAAC,QAAK,UAAU,yB,SAA0BZ,EAAK,IAAI,GACnD,UAAC,QAAK,UAAU,yC,SACbA,EAAK,KAAK,WAKnB,UAACgB,EAAAA,iBAAiBA,CAAAA,C,SAChB,WAACC,EAAAA,eAAeA,CAAAA,C,UACd,WAACC,EAAAA,sBAAsBA,CAAAA,C,UACrB,UAACC,EAAAA,SAASA,CAAAA,CAAC,UAAU,a,GACpBC,EAAAA,QAAQ,CAACnB,EAAO,CAAC,QAAQ,C,GAE5B,WAACoB,EAAAA,sBAAsBA,CAAAA,C,UACrB,UAACC,EAAAA,gBAAgBA,CAAAA,CAAC,QAAO,G,SACvB,UAAC,KAAE,KAAK,cAAc,UAAU,Q,SAAQ,O,KAI1C,UAACA,EAAAA,gBAAgBA,CAAAA,CAAC,QAAO,G,SACvB,UAAC,KAAE,KAAK,cAAc,UAAU,Q,SAAQ,O,KAI1C,UAACA,EAAAA,gBAAgBA,CAAAA,CAAC,UAAU,QAAQ,QAAO,G,SACzC,UAAC,KAAE,KAAK,WAAW,UAAU,Q,SAAQ,I,aAO7C,UAACC,EAAAA,qBAAqBA,CAAAA,CAAAA,GACtB,UAACD,EAAAA,gBAAgBA,CAAAA,CAAC,QAAO,G,SACvB,WAAC,KAAE,KAAK,qB,UACN,UAACE,EAAAA,MAAMA,CAAAA,CAAC,UAAU,a,GACjBJ,EAAAA,QAAQ,CAACnB,EAAO,CAAC,WAAW,C,cAQ7C,Q"}
1
+ {"version":3,"file":"components\\app-layout\\sidebar\\nav-user.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/app-layout/sidebar/nav-user.tsx"],"sourcesContent":["\n\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu'\nimport { ChevronsUpDown, Languages, LogOut, UserRound } from 'lucide-react'\nimport { JSX } from 'react'\n\nimport {\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n useSidebar,\n} from '@/components/app-layout/sidebar'\nimport { Avatar, AvatarFallback, AvatarImage } from '@/components/avatar'\nimport { messages } from './intl/messages'\n\n/* -----------------------------------------------------------------------------\n * Component: NavUser\n * -------------------------------------------------------------------------- */\n\nconst SIDEBAR_NAV_USER_NAME = 'NavUser'\n\nfunction NavUser(): JSX.Element {\n const { isMobile, user, locale } = useSidebar(SIDEBAR_NAV_USER_NAME)\n\n return (\n <SidebarMenu>\n <SidebarMenuItem>\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <SidebarMenuButton\n size=\"lg\"\n className=\"data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground\"\n >\n <Avatar className=\"size-8 rounded-lg group-data-[collapsible=icon]:size-10\">\n <AvatarImage src={undefined} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">\n <UserRound className=\"size-4\" />\n </AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-medium\">{user.name}</span>\n <span className=\"truncate text-muted-foreground text-xs\">\n {user.email}\n </span>\n </div>\n <ChevronsUpDown className=\"ml-auto size-4\" />\n </SidebarMenuButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n className=\"w-[--radix-dropdown-menu-trigger-width] min-w-56 rounded-lg\"\n side={isMobile ? 'bottom' : 'right'}\n align=\"end\"\n sideOffset={4}\n >\n <DropdownMenuLabel className=\"p-0 font-normal\">\n <div className=\"flex items-center gap-2 px-1 py-1.5 text-left text-sm\">\n <Avatar className=\"h-8 w-8 rounded-lg\">\n <AvatarImage src={undefined} alt={user.name} />\n <AvatarFallback className=\"rounded-lg\">\n <UserRound className=\"size-4\" />\n </AvatarFallback>\n </Avatar>\n <div className=\"grid flex-1 text-left text-sm leading-tight\">\n <span className=\"truncate font-semibold\">{user.name}</span>\n <span className=\"truncate text-muted-foreground text-xs\">\n {user.email}\n </span>\n </div>\n </div>\n </DropdownMenuLabel>\n <DropdownMenuGroup>\n <DropdownMenuSub>\n <DropdownMenuSubTrigger>\n <Languages className=\"mr-2 size-4\" />\n {messages[locale].language}\n </DropdownMenuSubTrigger>\n <DropdownMenuSubContent>\n <DropdownMenuItem asChild>\n <a href=\"/pt-br/home\" className=\"gap-2\">\n PT-BR\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem asChild>\n <a href=\"/en-us/home\" className=\"gap-2\">\n EN-US\n </a>\n </DropdownMenuItem>\n <DropdownMenuItem className=\"gap-2\" asChild>\n <a href=\"/es/home\" className=\"gap-2\">\n ES\n </a>\n </DropdownMenuItem>\n </DropdownMenuSubContent>\n </DropdownMenuSub>\n </DropdownMenuGroup>\n <DropdownMenuSeparator />\n <DropdownMenuItem asChild>\n <a href=\"/api/auth/sign-out\">\n <LogOut className=\"mr-2 size-4\" />\n {messages[locale]['sign-out']}\n </a>\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n </SidebarMenuItem>\n </SidebarMenu>\n )\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport { NavUser }\n"],"names":["NavUser","isMobile","user","locale","useSidebar","SidebarMenu","SidebarMenuItem","DropdownMenu","DropdownMenuTrigger","SidebarMenuButton","Avatar","AvatarImage","undefined","AvatarFallback","UserRound","ChevronsUpDown","DropdownMenuContent","DropdownMenuLabel","DropdownMenuGroup","DropdownMenuSub","DropdownMenuSubTrigger","Languages","messages","DropdownMenuSubContent","DropdownMenuItem","DropdownMenuSeparator","LogOut"],"mappings":";+nBAgCA,SAASA,IACP,GAAM,CAAEC,SAAAA,CAAQ,CAAEC,KAAAA,CAAI,CAAEC,OAAAA,CAAM,CAAE,CAAGC,EAHP,WAK5B,OACE,EAACC,EAAWA,C,SACV,EAACC,EAAeA,C,SACd,EAACC,EAAYA,C,UACX,EAACC,EAAmBA,CAAC,QAAO,G,SAC1B,EAACC,EAAiBA,CAChB,KAAK,KACL,UAAU,uF,UAEV,EAACC,EAAMA,CAAC,UAAU,0D,UAChB,EAACC,EAAWA,CAAC,IAAKC,OAAW,IAAKV,EAAK,IAAI,GAC3C,EAACW,EAAcA,CAAC,UAAU,a,SACxB,EAACC,EAASA,CAAC,UAAU,Q,QAGzB,EAAC,OAAI,UAAU,8C,UACb,EAAC,QAAK,UAAU,uB,SAAwBZ,EAAK,IAAI,GACjD,EAAC,QAAK,UAAU,yC,SACbA,EAAK,KAAK,MAGf,EAACa,EAAcA,CAAC,UAAU,gB,QAG9B,EAACC,EAAmBA,CAClB,UAAU,8DACV,KAAMf,EAAW,SAAW,QAC5B,MAAM,MACN,WAAY,E,UAEZ,EAACgB,EAAiBA,CAAC,UAAU,kB,SAC3B,EAAC,OAAI,UAAU,wD,UACb,EAACP,EAAMA,CAAC,UAAU,qB,UAChB,EAACC,EAAWA,CAAC,IAAKC,OAAW,IAAKV,EAAK,IAAI,GAC3C,EAACW,EAAcA,CAAC,UAAU,a,SACxB,EAACC,EAASA,CAAC,UAAU,Q,QAGzB,EAAC,OAAI,UAAU,8C,UACb,EAAC,QAAK,UAAU,yB,SAA0BZ,EAAK,IAAI,GACnD,EAAC,QAAK,UAAU,yC,SACbA,EAAK,KAAK,WAKnB,EAACgB,EAAiBA,C,SAChB,EAACC,EAAeA,C,UACd,EAACC,EAAsBA,C,UACrB,EAACC,EAASA,CAAC,UAAU,a,GACpBC,CAAQ,CAACnB,EAAO,CAAC,QAAQ,C,GAE5B,EAACoB,EAAsBA,C,UACrB,EAACC,EAAgBA,CAAC,QAAO,G,SACvB,EAAC,KAAE,KAAK,cAAc,UAAU,Q,SAAQ,O,KAI1C,EAACA,EAAgBA,CAAC,QAAO,G,SACvB,EAAC,KAAE,KAAK,cAAc,UAAU,Q,SAAQ,O,KAI1C,EAACA,EAAgBA,CAAC,UAAU,QAAQ,QAAO,G,SACzC,EAAC,KAAE,KAAK,WAAW,UAAU,Q,SAAQ,I,aAO7C,EAACC,EAAqBA,CAAAA,GACtB,EAACD,EAAgBA,CAAC,QAAO,G,SACvB,EAAC,KAAE,KAAK,qB,UACN,EAACE,EAAMA,CAAC,UAAU,a,GACjBJ,CAAQ,CAACnB,EAAO,CAAC,WAAW,C,cAQ7C,Q"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as r from"react/jsx-runtime";import*as s from"../../icons/rumo.js";import*as o from"../../icons/vli.js";import*as a from"lucide-react";let e=({icon:e})=>{let i={Rumo:s.Rumo,VLI:o.VLI,ship:a.Ship,anchor:a.Anchor,"tram-front":a.TramFront,"calendar-days":a.CalendarDays,"briefcase-business":a.BriefcaseBusiness}[e];return i?(0,r.jsx)(i,{}):null};export{e as SidebarIcons};
2
+ import{jsx as r}from"react/jsx-runtime";import{Rumo as o}from"../../icons/rumo.js";import{VLI as e}from"../../icons/vli.js";import{Anchor as i,BriefcaseBusiness as t,CalendarDays as m,Ship as s,TramFront as n}from"lucide-react";let a=({icon:a})=>{let c={Rumo:o,VLI:e,ship:s,anchor:i,"tram-front":n,"calendar-days":m,"briefcase-business":t}[a];return c?r(c,{}):null};export{a as SidebarIcons};
3
3
  //# sourceMappingURL=sidebar-icons.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\app-layout\\sidebar\\sidebar-icons.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/app-layout/sidebar/sidebar-icons.tsx"],"sourcesContent":["\r\n\r\nimport { Rumo } from '@/components/icons/rumo'\r\nimport { VLI } from '@/components/icons/vli'\r\nimport {\r\n Anchor,\r\n BriefcaseBusiness,\r\n CalendarDays,\r\n Ship,\r\n TramFront,\r\n} from 'lucide-react'\r\n\r\nconst SidebarIcons = ({ icon }: { icon: string | null }) => {\r\n const customIcons = {\r\n Rumo,\r\n VLI,\r\n ship: Ship,\r\n anchor: Anchor,\r\n 'tram-front': TramFront,\r\n 'calendar-days': CalendarDays,\r\n 'briefcase-business': BriefcaseBusiness,\r\n }\r\n\r\n const IconCustom = customIcons[icon as keyof typeof customIcons]\r\n\r\n if (!IconCustom) {\r\n return null\r\n }\r\n\r\n return <IconCustom />\r\n}\r\n\r\nexport { SidebarIcons }\r\n"],"names":["SidebarIcons","icon","IconCustom","customIcons","Rumo","VLI","Ship","Anchor","TramFront","CalendarDays","BriefcaseBusiness"],"mappings":";8IAYA,IAAMA,EAAe,CAAC,CAAEC,KAAAA,CAAI,CAA2B,IAWrD,IAAMC,EAAaC,CATjBC,KAAIA,EAAAA,IAAAA,CACJC,IAAGA,EAAAA,GAAAA,CACH,KAAMC,EAAAA,IAAIA,CACV,OAAQC,EAAAA,MAAMA,CACd,aAAcC,EAAAA,SAASA,CACvB,gBAAiBC,EAAAA,YAAYA,CAC7B,qBAAsBC,EAAAA,iBAAiBA,CAGX,CAACT,EAAiC,QAEhE,EAIO,UAACC,EAAAA,CAAAA,GAHC,IAIX,S"}
1
+ {"version":3,"file":"components\\app-layout\\sidebar\\sidebar-icons.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/app-layout/sidebar/sidebar-icons.tsx"],"sourcesContent":["\r\n\r\nimport { Rumo } from '@/components/icons/rumo'\r\nimport { VLI } from '@/components/icons/vli'\r\nimport {\r\n Anchor,\r\n BriefcaseBusiness,\r\n CalendarDays,\r\n Ship,\r\n TramFront,\r\n} from 'lucide-react'\r\n\r\nconst SidebarIcons = ({ icon }: { icon: string | null }) => {\r\n const customIcons = {\r\n Rumo,\r\n VLI,\r\n ship: Ship,\r\n anchor: Anchor,\r\n 'tram-front': TramFront,\r\n 'calendar-days': CalendarDays,\r\n 'briefcase-business': BriefcaseBusiness,\r\n }\r\n\r\n const IconCustom = customIcons[icon as keyof typeof customIcons]\r\n\r\n if (!IconCustom) {\r\n return null\r\n }\r\n\r\n return <IconCustom />\r\n}\r\n\r\nexport { SidebarIcons }\r\n"],"names":["SidebarIcons","icon","IconCustom","customIcons","Rumo","VLI","Ship","Anchor","TramFront","CalendarDays","BriefcaseBusiness"],"mappings":";oOAYA,IAAMA,EAAe,CAAC,CAAEC,KAAAA,CAAI,CAA2B,IAWrD,IAAMC,EAAaC,CATjBC,KAAIA,EACJC,IAAGA,EACH,KAAMC,EACN,OAAQC,EACR,aAAcC,EACd,gBAAiBC,EACjB,qBAAsBC,CACxB,CAE8B,CAACT,EAAiC,QAEhE,EAIO,EAACC,EAAAA,CAAAA,GAHC,IAIX,S"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as a from"react";import*as t from"@radix-ui/react-context";import*as r from"@radix-ui/react-slot";import*as i from"lucide-react";import*as s from"../../button.js";import*as d from"../../separator.js";import*as o from"../../sheet/index.js";import*as n from"../../skeleton.js";import*as l from"../../tooltip.js";import*as c from"../../../hooks/use-mobile.js";import*as u from"../../../lib/index.js";let b="gbm_sidebar_open",[p,f]=(0,t.createContext)("SidebarProvider");function g({defaultOpen:t=!0,open:r,onOpenChange:i,className:s,style:d,user:o,modules:n,locale:f="pt-br",children:g,...m}){let h=(0,c.useIsMobile)(),[x,v]=(0,a.useState)(!1),[w,S]=(0,a.useState)(t),j=r??w,y=(0,a.useCallback)(e=>{let a="function"==typeof e?e(j):e;i?i(a):S(a),document.cookie=`${b}=${a}; path=/; max-age=604800`},[i,j]),N=(0,a.useCallback)(()=>{h?v(e=>!e):y(e=>!e)},[h,y,v]);(0,a.useEffect)(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),N())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[N]);let k=j?"expanded":"collapsed";return(0,e.jsx)(p,{isMobile:h,open:j,openMobile:x,setOpen:y,setOpenMobile:v,state:k,toggleSidebar:N,user:o,modules:n,locale:f,children:(0,e.jsx)(l.TooltipProvider,{delayDuration:0,children:(0,e.jsx)("div",{className:(0,u.cn)("group/sidebar-wrapper flex h-svh w-full has-data-[variant=inset]:bg-sidebar",s),"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"4.5rem",...d},...m,children:g})})})}function m({side:a="left",variant:t="sidebar",collapsible:r="icon",className:i,children:s,...d}){let{isMobile:n,state:l,openMobile:c,setOpenMobile:b}=f("Sidebar");return"none"===r?(0,e.jsx)("div",{"data-slot":"sidebar",className:(0,u.cn)("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",i),...d,children:s}):n?(0,e.jsx)(o.Sheet,{open:c,onOpenChange:b,...d,children:(0,e.jsxs)(o.SheetContent,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:a,children:[(0,e.jsxs)(o.SheetHeader,{className:"sr-only",children:[(0,e.jsx)(o.SheetTitle,{children:"Sidebar"}),(0,e.jsx)(o.SheetDescription,{children:"Displays the mobile sidebar."})]}),(0,e.jsx)("div",{className:"flex h-full w-full flex-col",children:s})]})}):(0,e.jsxs)("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":l,"data-collapsible":"collapsed"===l?r:"","data-variant":t,"data-side":a,"data-slot":"sidebar",children:[(0,e.jsx)("div",{"data-slot":"sidebar-gap",className:(0,u.cn)("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===t||"inset"===t?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),(0,e.jsx)("div",{"data-slot":"sidebar-container",className:(0,u.cn)("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===a?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===t||"inset"===t?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",i),...d,children:(0,e.jsx)("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",children:s})})]})}function h({className:a,onClick:t,...r}){let{toggleSidebar:d}=f("SidebarTrigger");return(0,e.jsxs)(s.Button,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:(0,u.cn)("size-7",a),onClick:e=>{t?.(e),d()},...r,children:[(0,e.jsx)(i.PanelLeftIcon,{}),(0,e.jsx)("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function x({className:a,...t}){let{toggleSidebar:r}=f("SidebarRail");return(0,e.jsx)("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:(0,u.cn)("-translate-x-1/2 group-data-[side=left]:-right-4 absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=right]:left-0 sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})}function v({className:a,...t}){return(0,e.jsx)("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:(0,u.cn)("flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4",a),...t})}function w({className:a,...t}){return(0,e.jsx)("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:(0,u.cn)("flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4",a),...t})}function S({className:a,...t}){return(0,e.jsx)(d.Separator,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:(0,u.cn)("mx-2 w-auto bg-sidebar-border",a),...t})}function j({className:a,...t}){return(0,e.jsx)("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:(0,u.cn)("flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",a),...t})}function y({className:a,...t}){return(0,e.jsx)("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:(0,u.cn)("relative flex w-full min-w-0 flex-col px-5 group-data-[collapsible=icon]:p-4",a),...t})}function N({className:a,asChild:t=!1,...i}){let s=t?r.Slot:"div";return(0,e.jsx)(s,{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:(0,u.cn)("flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...i})}function k({className:a,...t}){return(0,e.jsx)("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:(0,u.cn)("flex w-full min-w-0 flex-col gap-1",a),...t})}function z({className:a,...t}){return(0,e.jsx)("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:(0,u.cn)("group/menu-item relative",a),...t})}let M=(0,u.tv)({base:"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:p-2.5! group-data-[collapsible=icon]:gap-3 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>svg]:size-5",variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function _({asChild:a=!1,isActive:t=!1,variant:i="default",size:s="default",tooltip:d,className:o,onClick:n,...c}){let b=a?r.Slot:"button",{isMobile:p,open:g,setOpen:m,state:h}=f("SidebarMenuButton"),x=(0,e.jsx)(b,{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":s,"data-active":t,className:(0,u.cn)(M({variant:i,size:s}),o),onClick:e=>{n?.(e),g||m(!0)},...c});return d?("string"==typeof d&&(d={children:d}),(0,e.jsxs)(l.Tooltip,{children:[(0,e.jsx)(l.TooltipTrigger,{asChild:!0,children:x}),(0,e.jsx)(l.TooltipContent,{side:"right",align:"center",hidden:"collapsed"!==h||p,...d})]})):x}function C({className:a,asChild:t=!1,showOnHover:i=!1,...s}){let d=t?r.Slot:"button";return(0,e.jsx)(d,{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:(0,u.cn)("absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:-inset-2 after:absolute md:after:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",i&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",a),...s})}function T({className:t,showIcon:r=!1,...i}){let s=(0,a.useMemo)(()=>`${Math.floor(40*Math.random())+50}%`,[]);return(0,e.jsxs)("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:(0,u.cn)("flex h-8 items-center gap-2 rounded-md px-2",t),...i,children:[r&&(0,e.jsx)(n.Skeleton,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),(0,e.jsx)(n.Skeleton,{className:"h-4 max-w-(--skeleton-width) flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":s}})]})}function I({className:a,...t}){return(0,e.jsx)("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:(0,u.cn)("ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l py-0.5 pl-2.5","group-data-[collapsible=icon]:hidden",a),...t})}function E({className:a,...t}){return(0,e.jsx)("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:(0,u.cn)("group/menu-sub-item relative",a),...t})}export{b as SIDEBAR_COOKIE_NAME,m as Sidebar,j as SidebarContent,w as SidebarFooter,y as SidebarGroup,N as SidebarGroupLabel,v as SidebarHeader,k as SidebarMenu,C as SidebarMenuAction,_ as SidebarMenuButton,z as SidebarMenuItem,T as SidebarMenuSkeleton,I as SidebarMenuSub,E as SidebarMenuSubItem,g as SidebarProvider,x as SidebarRail,S as SidebarSeparator,h as SidebarTrigger,f as useSidebar};
2
+ import{jsx as e,jsxs as a}from"react/jsx-runtime";import{useCallback as t,useEffect as r,useMemo as i,useState as d}from"react";import{createContext as o}from"@radix-ui/react-context";import{Slot as s}from"@radix-ui/react-slot";import{PanelLeftIcon as n}from"lucide-react";import{Button as l}from"../../button.js";import{Separator as c}from"../../separator.js";import{Sheet as b,SheetContent as u,SheetDescription as p,SheetHeader as f,SheetTitle as g}from"../../sheet/index.js";import{Skeleton as m}from"../../skeleton.js";import{Tooltip as h,TooltipContent as v,TooltipProvider as x,TooltipTrigger as w}from"../../tooltip.js";import{useIsMobile as S}from"../../../hooks/use-mobile.js";import{cn as y,tv as N}from"../../../lib/index.js";let k="gbm_sidebar_open",[z,_]=o("SidebarProvider");function M({defaultOpen:a=!0,open:i,onOpenChange:o,className:s,style:n,user:l,modules:c,locale:b="pt-br",children:u,...p}){let f=S(),[g,m]=d(!1),[h,v]=d(a),w=i??h,N=t(e=>{let a="function"==typeof e?e(w):e;o?o(a):v(a),document.cookie=`${k}=${a}; path=/; max-age=604800`},[o,w]),_=t(()=>{f?m(e=>!e):N(e=>!e)},[f,N,m]);r(()=>{let e=e=>{"b"===e.key&&(e.metaKey||e.ctrlKey)&&(e.preventDefault(),_())};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[_]);let M=w?"expanded":"collapsed";return e(z,{isMobile:f,open:w,openMobile:g,setOpen:N,setOpenMobile:m,state:M,toggleSidebar:_,user:l,modules:c,locale:b,children:e(x,{delayDuration:0,children:e("div",{className:y("group/sidebar-wrapper flex h-svh w-full has-data-[variant=inset]:bg-sidebar",s),"data-slot":"sidebar-wrapper",style:{"--sidebar-width":"16rem","--sidebar-width-icon":"4.5rem",...n},...p,children:u})})})}function j({side:t="left",variant:r="sidebar",collapsible:i="icon",className:d,children:o,...s}){let{isMobile:n,state:l,openMobile:c,setOpenMobile:m}=_("Sidebar");return"none"===i?e("div",{"data-slot":"sidebar",className:y("flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground",d),...s,children:o}):n?e(b,{open:c,onOpenChange:m,...s,children:a(u,{"data-sidebar":"sidebar","data-slot":"sidebar","data-mobile":"true",className:"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden",style:{"--sidebar-width":"18rem"},side:t,children:[a(f,{className:"sr-only",children:[e(g,{children:"Sidebar"}),e(p,{children:"Displays the mobile sidebar."})]}),e("div",{className:"flex h-full w-full flex-col",children:o})]})}):a("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":l,"data-collapsible":"collapsed"===l?i:"","data-variant":r,"data-side":t,"data-slot":"sidebar",children:[e("div",{"data-slot":"sidebar-gap",className:y("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180","floating"===r||"inset"===r?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),e("div",{"data-slot":"sidebar-container",className:y("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex","left"===t?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]","floating"===r||"inset"===r?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",d),...s,children:e("div",{"data-sidebar":"sidebar","data-slot":"sidebar-inner",className:"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm",children:o})})]})}function C({className:t,onClick:r,...i}){let{toggleSidebar:d}=_("SidebarTrigger");return a(l,{"data-sidebar":"trigger","data-slot":"sidebar-trigger",variant:"ghost",size:"icon",className:y("size-7",t),onClick:e=>{r?.(e),d()},...i,children:[e(n,{}),e("span",{className:"sr-only",children:"Toggle Sidebar"})]})}function O({className:a,...t}){let{toggleSidebar:r}=_("SidebarRail");return e("button",{"data-sidebar":"rail","data-slot":"sidebar-rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:r,title:"Toggle Sidebar",className:y("-translate-x-1/2 group-data-[side=left]:-right-4 absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=right]:left-0 sm:flex","in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:after:left-full","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",a),...t})}function E({className:a,...t}){return e("div",{"data-slot":"sidebar-header","data-sidebar":"header",className:y("flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4",a),...t})}function I({className:a,...t}){return e("div",{"data-slot":"sidebar-footer","data-sidebar":"footer",className:y("flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4",a),...t})}function T({className:a,...t}){return e(c,{"data-slot":"sidebar-separator","data-sidebar":"separator",className:y("mx-2 w-auto bg-sidebar-border",a),...t})}function D({className:a,...t}){return e("div",{"data-slot":"sidebar-content","data-sidebar":"content",className:y("flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto group-data-[collapsible=icon]:overflow-hidden",a),...t})}function A({className:a,...t}){return e("div",{"data-slot":"sidebar-group","data-sidebar":"group",className:y("relative flex w-full min-w-0 flex-col px-5 group-data-[collapsible=icon]:p-4",a),...t})}function B({className:a,asChild:t=!1,...r}){return e(t?s:"div",{"data-slot":"sidebar-group-label","data-sidebar":"group-label",className:y("flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",a),...r})}function K({className:a,...t}){return e("ul",{"data-slot":"sidebar-menu","data-sidebar":"menu",className:y("flex w-full min-w-0 flex-col gap-1",a),...t})}function L({className:a,...t}){return e("li",{"data-slot":"sidebar-menu-item","data-sidebar":"menu-item",className:y("group/menu-item relative",a),...t})}let R=N({base:"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:p-2.5! group-data-[collapsible=icon]:gap-3 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>svg]:size-5",variants:{variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]"},size:{default:"text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:p-0!"}},defaultVariants:{variant:"default",size:"default"}});function $({asChild:t=!1,isActive:r=!1,variant:i="default",size:d="default",tooltip:o,className:n,onClick:l,...c}){let{isMobile:b,open:u,setOpen:p,state:f}=_("SidebarMenuButton"),g=e(t?s:"button",{"data-slot":"sidebar-menu-button","data-sidebar":"menu-button","data-size":d,"data-active":r,className:y(R({variant:i,size:d}),n),onClick:e=>{l?.(e),u||p(!0)},...c});return o?("string"==typeof o&&(o={children:o}),a(h,{children:[e(w,{asChild:!0,children:g}),e(v,{side:"right",align:"center",hidden:"collapsed"!==f||b,...o})]})):g}function G({className:a,asChild:t=!1,showOnHover:r=!1,...i}){return e(t?s:"button",{"data-slot":"sidebar-menu-action","data-sidebar":"menu-action",className:y("absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0","after:-inset-2 after:absolute md:after:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",r&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0",a),...i})}function P({className:t,showIcon:r=!1,...d}){let o=i(()=>`${Math.floor(40*Math.random())+50}%`,[]);return a("div",{"data-slot":"sidebar-menu-skeleton","data-sidebar":"menu-skeleton",className:y("flex h-8 items-center gap-2 rounded-md px-2",t),...d,children:[r&&e(m,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}),e(m,{className:"h-4 max-w-(--skeleton-width) flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":o}})]})}function q({className:a,...t}){return e("ul",{"data-slot":"sidebar-menu-sub","data-sidebar":"menu-sub",className:y("ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l py-0.5 pl-2.5","group-data-[collapsible=icon]:hidden",a),...t})}function F({className:a,...t}){return e("li",{"data-slot":"sidebar-menu-sub-item","data-sidebar":"menu-sub-item",className:y("group/menu-sub-item relative",a),...t})}export{k as SIDEBAR_COOKIE_NAME,j as Sidebar,D as SidebarContent,I as SidebarFooter,A as SidebarGroup,B as SidebarGroupLabel,E as SidebarHeader,K as SidebarMenu,G as SidebarMenuAction,$ as SidebarMenuButton,L as SidebarMenuItem,P as SidebarMenuSkeleton,q as SidebarMenuSub,F as SidebarMenuSubItem,M as SidebarProvider,O as SidebarRail,T as SidebarSeparator,C as SidebarTrigger,_ as useSidebar};
3
3
  //# sourceMappingURL=sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\app-layout\\sidebar\\sidebar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/app-layout/sidebar/sidebar.tsx"],"sourcesContent":["\r\n\r\nimport {\r\n CSSProperties,\r\n ComponentProps,\r\n JSX,\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useState,\r\n} from 'react'\r\n\r\nimport { createContext } from '@radix-ui/react-context'\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { PanelLeftIcon } from 'lucide-react'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { Separator } from '@/components/separator'\r\nimport {\r\n Sheet,\r\n SheetContent,\r\n SheetDescription,\r\n SheetHeader,\r\n SheetTitle,\r\n} from '@/components/sheet'\r\nimport { Skeleton } from '@/components/skeleton'\r\nimport {\r\n Tooltip,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from '@/components/tooltip'\r\nimport { useIsMobile } from '@/hooks/use-mobile'\r\nimport { VariantProps, cn, tv } from '@/lib'\r\nimport { Locale, Module, User } from '@/types'\r\n\r\nconst SIDEBAR_COOKIE_NAME = 'gbm_sidebar_open'\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\r\nconst SIDEBAR_WIDTH = '16rem'\r\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\r\nconst SIDEBAR_WIDTH_ICON = '4.5rem'\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\r\n\r\ntype SidebarContextValue = {\r\n state: 'expanded' | 'collapsed'\r\n open: boolean\r\n setOpen: (open: boolean) => void\r\n openMobile: boolean\r\n setOpenMobile: (open: boolean) => void\r\n isMobile: boolean\r\n toggleSidebar: () => void\r\n user: User\r\n modules: Module[]\r\n locale: Locale\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Context: SidebarProvider\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_PROVIDER_NAME = 'SidebarProvider'\r\n\r\nconst [SidebarContextProvider, useSidebar] = createContext<SidebarContextValue>(\r\n SIDEBAR_PROVIDER_NAME\r\n)\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarProvider\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarProvider({\r\n defaultOpen = true,\r\n open: openProp,\r\n onOpenChange: setOpenProp,\r\n className,\r\n style,\r\n user,\r\n modules,\r\n locale = 'pt-br',\r\n children,\r\n ...props\r\n}: ComponentProps<'div'> & {\r\n defaultOpen?: boolean\r\n open?: boolean\r\n onOpenChange?: (open: boolean) => void\r\n user: User\r\n modules: Module[]\r\n locale?: Locale\r\n}): JSX.Element {\r\n const isMobile = useIsMobile()\r\n const [openMobile, setOpenMobile] = useState(false)\r\n\r\n // This is the internal state of the sidebar.\r\n // We use openProp and setOpenProp for control from outside the component.\r\n const [isOpen, setIsOpen] = useState(defaultOpen)\r\n const open = openProp ?? isOpen\r\n const setOpen = useCallback(\r\n (value: ((value: boolean) => boolean) | boolean) => {\r\n const openState = typeof value === 'function' ? value(open) : value\r\n\r\n if (setOpenProp) {\r\n setOpenProp(openState)\r\n } else {\r\n setIsOpen(openState)\r\n }\r\n\r\n // This sets the cookie to keep the sidebar state.\r\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\r\n },\r\n [setOpenProp, open]\r\n )\r\n\r\n // Helper to toggle the sidebar.\r\n const toggleSidebar = useCallback(() => {\r\n if (isMobile) {\r\n setOpenMobile(currentValue => !currentValue)\r\n } else {\r\n setOpen(currentValue => !currentValue)\r\n }\r\n }, [isMobile, setOpen, setOpenMobile])\r\n\r\n // Adds a keyboard shortcut to toggle the sidebar.\r\n useEffect(() => {\r\n const handleKeyDown: (event: KeyboardEvent) => void = (\r\n event: KeyboardEvent\r\n ) => {\r\n if (\r\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\r\n (event.metaKey || event.ctrlKey)\r\n ) {\r\n event.preventDefault()\r\n toggleSidebar()\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', handleKeyDown)\r\n\r\n return () => {\r\n window.removeEventListener('keydown', handleKeyDown)\r\n }\r\n }, [toggleSidebar])\r\n\r\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n // This makes it easier to style the sidebar with Tailwind classes.\r\n const state = open ? 'expanded' : 'collapsed'\r\n\r\n return (\r\n <SidebarContextProvider\r\n isMobile={isMobile}\r\n open={open}\r\n openMobile={openMobile}\r\n setOpen={setOpen}\r\n setOpenMobile={setOpenMobile}\r\n state={state}\r\n toggleSidebar={toggleSidebar}\r\n user={user}\r\n modules={modules}\r\n locale={locale}\r\n >\r\n <TooltipProvider delayDuration={0}>\r\n <div\r\n className={cn(\r\n 'group/sidebar-wrapper flex h-svh w-full has-data-[variant=inset]:bg-sidebar',\r\n className\r\n )}\r\n data-slot=\"sidebar-wrapper\"\r\n style={\r\n {\r\n '--sidebar-width': SIDEBAR_WIDTH,\r\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\r\n ...style,\r\n } as CSSProperties\r\n }\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </TooltipProvider>\r\n </SidebarContextProvider>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Sidebar\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_NAME = 'Sidebar'\r\n\r\nfunction Sidebar({\r\n side = 'left',\r\n variant = 'sidebar',\r\n collapsible = 'icon',\r\n className,\r\n children,\r\n ...props\r\n}: ComponentProps<'div'> & {\r\n side?: 'left' | 'right'\r\n variant?: 'sidebar' | 'floating' | 'inset'\r\n collapsible?: 'offcanvas' | 'icon' | 'none'\r\n}) {\r\n const { isMobile, state, openMobile, setOpenMobile } =\r\n useSidebar(SIDEBAR_NAME)\r\n\r\n if (collapsible === 'none') {\r\n return (\r\n <div\r\n data-slot=\"sidebar\"\r\n className={cn(\r\n 'flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground',\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n )\r\n }\r\n\r\n if (isMobile) {\r\n return (\r\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n <SheetContent\r\n data-sidebar=\"sidebar\"\r\n data-slot=\"sidebar\"\r\n data-mobile=\"true\"\r\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\r\n style={\r\n {\r\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\r\n } as CSSProperties\r\n }\r\n side={side}\r\n >\r\n <SheetHeader className=\"sr-only\">\r\n <SheetTitle>Sidebar</SheetTitle>\r\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\r\n </SheetHeader>\r\n <div className=\"flex h-full w-full flex-col\">{children}</div>\r\n </SheetContent>\r\n </Sheet>\r\n )\r\n }\r\n\r\n return (\r\n <div\r\n className=\"group peer hidden text-sidebar-foreground md:block\"\r\n data-state={state}\r\n data-collapsible={state === 'collapsed' ? collapsible : ''}\r\n data-variant={variant}\r\n data-side={side}\r\n data-slot=\"sidebar\"\r\n >\r\n {/* This is what handles the sidebar gap on desktop */}\r\n <div\r\n data-slot=\"sidebar-gap\"\r\n className={cn(\r\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\r\n 'group-data-[collapsible=offcanvas]:w-0',\r\n 'group-data-[side=right]:rotate-180',\r\n variant === 'floating' || variant === 'inset'\r\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\r\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\r\n )}\r\n />\r\n <div\r\n data-slot=\"sidebar-container\"\r\n className={cn(\r\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\r\n side === 'left'\r\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\r\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\r\n // Adjust the padding for floating and inset variants.\r\n variant === 'floating' || variant === 'inset'\r\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\r\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div\r\n data-sidebar=\"sidebar\"\r\n data-slot=\"sidebar-inner\"\r\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm\"\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarTrigger\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_TRIGGER_NAME = 'SidebarTrigger'\r\n\r\nfunction SidebarTrigger({\r\n className,\r\n onClick,\r\n ...props\r\n}: ComponentProps<typeof Button>) {\r\n const { toggleSidebar } = useSidebar(SIDEBAR_TRIGGER_NAME)\r\n\r\n return (\r\n <Button\r\n data-sidebar=\"trigger\"\r\n data-slot=\"sidebar-trigger\"\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className={cn('size-7', className)}\r\n onClick={event => {\r\n onClick?.(event)\r\n toggleSidebar()\r\n }}\r\n {...props}\r\n >\r\n <PanelLeftIcon />\r\n <span className=\"sr-only\">Toggle Sidebar</span>\r\n </Button>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarRail\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_RAIL_NAME = 'SidebarRail'\r\n\r\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\r\n const { toggleSidebar } = useSidebar(SIDEBAR_RAIL_NAME)\r\n\r\n return (\r\n <button\r\n data-sidebar=\"rail\"\r\n data-slot=\"sidebar-rail\"\r\n aria-label=\"Toggle Sidebar\"\r\n tabIndex={-1}\r\n onClick={toggleSidebar}\r\n title=\"Toggle Sidebar\"\r\n className={cn(\r\n '-translate-x-1/2 group-data-[side=left]:-right-4 absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=right]:left-0 sm:flex',\r\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\r\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\r\n 'group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:after:left-full',\r\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\r\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarHeader\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarHeader({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-header\"\r\n data-sidebar=\"header\"\r\n className={cn(\r\n 'flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarFooter\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarFooter({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-footer\"\r\n data-sidebar=\"footer\"\r\n className={cn(\r\n 'flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarSeparator\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarSeparator({\r\n className,\r\n ...props\r\n}: ComponentProps<typeof Separator>) {\r\n return (\r\n <Separator\r\n data-slot=\"sidebar-separator\"\r\n data-sidebar=\"separator\"\r\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarContent\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarContent({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-content\"\r\n data-sidebar=\"content\"\r\n className={cn(\r\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto group-data-[collapsible=icon]:overflow-hidden',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarGroup\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarGroup({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-group\"\r\n data-sidebar=\"group\"\r\n className={cn(\r\n 'relative flex w-full min-w-0 flex-col px-5 group-data-[collapsible=icon]:p-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarGroupLabel\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarGroupLabel({\r\n className,\r\n asChild = false,\r\n ...props\r\n}: ComponentProps<'div'> & { asChild?: boolean }) {\r\n const Comp = asChild ? Slot : 'div'\r\n\r\n return (\r\n <Comp\r\n data-slot=\"sidebar-group-label\"\r\n data-sidebar=\"group-label\"\r\n className={cn(\r\n 'flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\r\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenu\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenu({ className, ...props }: ComponentProps<'ul'>) {\r\n return (\r\n <ul\r\n data-slot=\"sidebar-menu\"\r\n data-sidebar=\"menu\"\r\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuItem\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuItem({ className, ...props }: ComponentProps<'li'>) {\r\n return (\r\n <li\r\n data-slot=\"sidebar-menu-item\"\r\n data-sidebar=\"menu-item\"\r\n className={cn('group/menu-item relative', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuButton\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst sidebarMenuButtonVariants = tv({\r\n base: 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:p-2.5! group-data-[collapsible=icon]:gap-3 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>svg]:size-5',\r\n variants: {\r\n variant: {\r\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\r\n outline:\r\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\r\n },\r\n size: {\r\n default: 'text-sm',\r\n sm: 'h-7 text-xs',\r\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 'default',\r\n },\r\n})\r\n\r\nconst SIDEBAR_MENU_BUTTON_NAME = 'SidebarMenuButton'\r\n\r\nfunction SidebarMenuButton({\r\n asChild = false,\r\n isActive = false,\r\n variant = 'default',\r\n size = 'default',\r\n tooltip,\r\n className,\r\n onClick,\r\n ...props\r\n}: ComponentProps<'button'> & {\r\n asChild?: boolean\r\n isActive?: boolean\r\n tooltip?: string | ComponentProps<typeof TooltipContent>\r\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\r\n const Comp = asChild ? Slot : 'button'\r\n const { isMobile, open, setOpen, state } = useSidebar(\r\n SIDEBAR_MENU_BUTTON_NAME\r\n )\r\n\r\n const button = (\r\n <Comp\r\n data-slot=\"sidebar-menu-button\"\r\n data-sidebar=\"menu-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\r\n onClick={event => {\r\n onClick?.(event)\r\n\r\n if (!open) {\r\n setOpen(true)\r\n }\r\n }}\r\n {...props}\r\n />\r\n )\r\n\r\n if (!tooltip) {\r\n return button\r\n }\r\n\r\n if (typeof tooltip === 'string') {\r\n tooltip = {\r\n children: tooltip,\r\n }\r\n }\r\n\r\n return (\r\n <Tooltip>\r\n <TooltipTrigger asChild>{button}</TooltipTrigger>\r\n <TooltipContent\r\n side=\"right\"\r\n align=\"center\"\r\n hidden={state !== 'collapsed' || isMobile}\r\n {...tooltip}\r\n />\r\n </Tooltip>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuAction\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuAction({\r\n className,\r\n asChild = false,\r\n showOnHover = false,\r\n ...props\r\n}: ComponentProps<'button'> & {\r\n asChild?: boolean\r\n showOnHover?: boolean\r\n}) {\r\n const Comp = asChild ? Slot : 'button'\r\n\r\n return (\r\n <Comp\r\n data-slot=\"sidebar-menu-action\"\r\n data-sidebar=\"menu-action\"\r\n className={cn(\r\n 'absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\r\n // Increases the hit area of the button on mobile.\r\n 'after:-inset-2 after:absolute md:after:hidden',\r\n 'peer-data-[size=sm]/menu-button:top-1',\r\n 'peer-data-[size=default]/menu-button:top-1.5',\r\n 'peer-data-[size=lg]/menu-button:top-2.5',\r\n 'group-data-[collapsible=icon]:hidden',\r\n showOnHover &&\r\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuSkeleton\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuSkeleton({\r\n className,\r\n showIcon = false,\r\n ...props\r\n}: ComponentProps<'div'> & {\r\n showIcon?: boolean\r\n}) {\r\n // Random width between 50 to 90%.\r\n const width = useMemo(() => {\r\n return `${Math.floor(Math.random() * 40) + 50}%`\r\n }, [])\r\n\r\n return (\r\n <div\r\n data-slot=\"sidebar-menu-skeleton\"\r\n data-sidebar=\"menu-skeleton\"\r\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\r\n {...props}\r\n >\r\n {showIcon && (\r\n <Skeleton\r\n className=\"size-4 rounded-md\"\r\n data-sidebar=\"menu-skeleton-icon\"\r\n />\r\n )}\r\n <Skeleton\r\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\r\n data-sidebar=\"menu-skeleton-text\"\r\n style={\r\n {\r\n '--skeleton-width': width,\r\n } as CSSProperties\r\n }\r\n />\r\n </div>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuSub\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuSub({ className, ...props }: ComponentProps<'ul'>) {\r\n return (\r\n <ul\r\n data-slot=\"sidebar-menu-sub\"\r\n data-sidebar=\"menu-sub\"\r\n className={cn(\r\n 'ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l py-0.5 pl-2.5',\r\n 'group-data-[collapsible=icon]:hidden',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuSubItem\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuSubItem({ className, ...props }: ComponentProps<'li'>) {\r\n return (\r\n <li\r\n data-slot=\"sidebar-menu-sub-item\"\r\n data-sidebar=\"menu-sub-item\"\r\n className={cn('group/menu-sub-item relative', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport {\r\n Sidebar,\r\n SidebarContent,\r\n SidebarFooter,\r\n SidebarGroup,\r\n SidebarGroupLabel,\r\n SidebarHeader,\r\n SidebarMenu,\r\n SidebarMenuAction,\r\n SidebarMenuButton,\r\n SidebarMenuItem,\r\n SidebarMenuSkeleton,\r\n SidebarMenuSub,\r\n SidebarMenuSubItem,\r\n SidebarProvider,\r\n SidebarSeparator,\r\n SidebarTrigger,\r\n SidebarRail,\r\n useSidebar,\r\n SIDEBAR_COOKIE_NAME,\r\n}\r\n"],"names":["SIDEBAR_COOKIE_NAME","SidebarContextProvider","useSidebar","createContext","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","user","modules","locale","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","useState","isOpen","setIsOpen","open","setOpen","useCallback","value","openState","document","toggleSidebar","currentValue","useEffect","handleKeyDown","event","window","state","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","PanelLeftIcon","SidebarRail","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Comp","Slot","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","tv","SidebarMenuButton","isActive","size","tooltip","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuSkeleton","showIcon","width","useMemo","Math","Skeleton","SidebarMenuSub","SidebarMenuSubItem"],"mappings":";wbAoCA,IAAMA,EAAsB,mBA0BtB,CAACC,EAAwBC,EAAW,CAAGC,GAAAA,EAAAA,aAAAA,EAFf,mBAU9B,SAASC,EAAgB,CACvBC,YAAAA,EAAc,EAAI,CAClB,KAAMC,CAAQ,CACd,aAAcC,CAAW,CACzBC,UAAAA,CAAS,CACTC,MAAAA,CAAK,CACLC,KAAAA,CAAI,CACJC,QAAAA,CAAO,CACPC,OAAAA,EAAS,OAAO,CAChBC,SAAAA,CAAQ,CACR,GAAGC,EAQJ,EACC,IAAMC,EAAWC,GAAAA,EAAAA,WAAAA,IACX,CAACC,EAAYC,EAAc,CAAGC,GAAAA,EAAAA,QAAAA,EAAS,IAIvC,CAACC,EAAQC,EAAU,CAAGF,GAAAA,EAAAA,QAAAA,EAASd,GAC/BiB,EAAOhB,GAAYc,EACnBG,EAAUC,GAAAA,EAAAA,WAAAA,EACd,IACE,IAAME,EAAY,mBAAOD,EAAuBA,EAAMH,GAAQG,EAE1DlB,EACFA,EAAYmB,GAEZL,EAAUK,GAIZC,SAAS,MAAM,CAAG,GAAG3B,KAAuB0B,2BAAsD,EAEpG,CAACnB,EAAae,EAAK,EAIfM,EAAgBJ,GAAAA,EAAAA,WAAAA,EAAY,KAC5BT,EACFG,EAAcW,GAAgB,CAACA,GAE/BN,EAAQM,GAAgB,CAACA,EAE7B,EAAG,CAACd,EAAUQ,EAASL,EAAc,EAGrCY,GAAAA,EAAAA,SAAAA,EAAU,KACR,IAAMC,EAAgD,IAlFxB,MAsF1BC,EAAM,GAAG,EACRA,CAAAA,EAAM,OAAO,EAAIA,EAAM,OAAM,IAE9BA,EAAM,cAAc,GACpBJ,IAEJ,EAIA,OAFAK,OAAO,gBAAgB,CAAC,UAAWF,GAE5B,KACLE,OAAO,mBAAmB,CAAC,UAAWF,EACxC,CACF,EAAG,CAACH,EAAc,EAIlB,IAAMM,EAAQZ,EAAO,WAAa,YAElC,MACE,UAACrB,EAAAA,CACC,SAAUc,EACV,KAAMO,EACN,WAAYL,EACZ,QAASM,EACT,cAAeL,EACf,MAAOgB,EACP,cAAeN,EACf,KAAMlB,EACN,QAASC,EACT,OAAQC,E,SAER,UAACuB,EAAAA,eAAeA,CAAAA,CAAC,cAAe,E,SAC9B,UAAC,OACC,UAAWC,GAAAA,EAAAA,EAAAA,EACT,8EACA5B,GAEF,YAAU,kBACV,MACE,CACE,kBAlIQ,QAmIR,uBAjIa,SAkIb,GAAGC,CAAK,EAGX,GAAGK,CAAK,C,SAERD,C,MAKX,CAQA,SAASwB,EAAQ,CACfC,KAAAA,EAAO,MAAM,CACbC,QAAAA,EAAU,SAAS,CACnBC,YAAAA,EAAc,MAAM,CACpBhC,UAAAA,CAAS,CACTK,SAAAA,CAAQ,CACR,GAAGC,EAKJ,EACC,GAAM,CAAEC,SAAAA,CAAQ,CAAEmB,MAAAA,CAAK,CAAEjB,WAAAA,CAAU,CAAEC,cAAAA,CAAa,CAAE,CAClDhB,EAfiB,iBAiBnB,SAAIsC,EAEA,UAAC,OACC,YAAU,UACV,UAAWJ,GAAAA,EAAAA,EAAAA,EACT,8EACA5B,GAED,GAAGM,CAAK,C,SAERD,C,GAKHE,EAEA,UAAC0B,EAAAA,KAAKA,CAAAA,CAAC,KAAMxB,EAAY,aAAcC,EAAgB,GAAGJ,CAAK,C,SAC7D,WAAC4B,EAAAA,YAAYA,CAAAA,CACX,eAAa,UACb,YAAU,UACV,cAAY,OACZ,UAAU,+EACV,MACE,CACE,kBA7Le,OA8LjB,EAEF,KAAMJ,E,UAEN,WAACK,EAAAA,WAAWA,CAAAA,CAAC,UAAU,U,UACrB,UAACC,EAAAA,UAAUA,CAAAA,C,SAAC,S,GACZ,UAACC,EAAAA,gBAAgBA,CAAAA,C,SAAC,8B,MAEpB,UAAC,OAAI,UAAU,8B,SAA+BhC,C,QAOpD,WAAC,OACC,UAAU,qDACV,aAAYqB,EACZ,mBAAkBA,cAAAA,EAAwBM,EAAc,GACxD,eAAcD,EACd,YAAWD,EACX,YAAU,U,UAGV,UAAC,OACC,YAAU,cACV,UAAWF,GAAAA,EAAAA,EAAAA,EACT,0FACA,yCACA,qCACAG,aAAAA,GAA0BA,UAAAA,EACtB,mFACA,yD,GAGR,UAAC,OACC,YAAU,oBACV,UAAWH,GAAAA,EAAAA,EAAAA,EACT,uHACAE,SAAAA,EACI,iFACA,mFAEJC,aAAAA,GAA0BA,UAAAA,EACtB,2FACA,0HACJ/B,GAED,GAAGM,CAAK,C,SAET,UAAC,OACC,eAAa,UACb,YAAU,gBACV,UAAU,mN,SAETD,C,OAKX,CAQA,SAASiC,EAAe,CACtBtC,UAAAA,CAAS,CACTuC,QAAAA,CAAO,CACP,GAAGjC,EAC2B,EAC9B,GAAM,CAAEc,cAAAA,CAAa,CAAE,CAAG1B,EAPC,kBAS3B,MACE,WAAC8C,EAAAA,MAAMA,CAAAA,CACL,eAAa,UACb,YAAU,kBACV,QAAQ,QACR,KAAK,OACL,UAAWZ,GAAAA,EAAAA,EAAAA,EAAG,SAAU5B,GACxB,QAASwB,IACPe,IAAUf,GACVJ,GACF,EACC,GAAGd,CAAK,C,UAET,UAACmC,EAAAA,aAAaA,CAAAA,CAAAA,GACd,UAAC,QAAK,UAAU,U,SAAU,gB,KAGhC,CAQA,SAASC,EAAY,CAAE1C,UAAAA,CAAS,CAAE,GAAGM,EAAuC,EAC1E,GAAM,CAAEc,cAAAA,CAAa,CAAE,CAAG1B,EAHF,eAKxB,MACE,UAAC,UACC,eAAa,OACb,YAAU,eACV,aAAW,iBACX,SAAU,GACV,QAAS0B,EACT,MAAM,iBACN,UAAWQ,GAAAA,EAAAA,EAAAA,EACT,kPACA,2EACA,yHACA,0JACA,4DACA,4DACA5B,GAED,GAAGM,CAAK,EAGf,CAMA,SAASqC,EAAc,CAAE3C,UAAAA,CAAS,CAAE,GAAGM,EAA8B,EACnE,MACE,UAAC,OACC,YAAU,iBACV,eAAa,SACb,UAAWsB,GAAAA,EAAAA,EAAAA,EACT,4DACA5B,GAED,GAAGM,CAAK,EAGf,CAMA,SAASsC,EAAc,CAAE5C,UAAAA,CAAS,CAAE,GAAGM,EAA8B,EACnE,MACE,UAAC,OACC,YAAU,iBACV,eAAa,SACb,UAAWsB,GAAAA,EAAAA,EAAAA,EACT,4DACA5B,GAED,GAAGM,CAAK,EAGf,CAMA,SAASuC,EAAiB,CACxB7C,UAAAA,CAAS,CACT,GAAGM,EAC8B,EACjC,MACE,UAACwC,EAAAA,SAASA,CAAAA,CACR,YAAU,oBACV,eAAa,YACb,UAAWlB,GAAAA,EAAAA,EAAAA,EAAG,gCAAiC5B,GAC9C,GAAGM,CAAK,EAGf,CAMA,SAASyC,EAAe,CAAE/C,UAAAA,CAAS,CAAE,GAAGM,EAA8B,EACpE,MACE,UAAC,OACC,YAAU,kBACV,eAAa,UACb,UAAWsB,GAAAA,EAAAA,EAAAA,EACT,mGACA5B,GAED,GAAGM,CAAK,EAGf,CAMA,SAAS0C,EAAa,CAAEhD,UAAAA,CAAS,CAAE,GAAGM,EAA8B,EAClE,MACE,UAAC,OACC,YAAU,gBACV,eAAa,QACb,UAAWsB,GAAAA,EAAAA,EAAAA,EACT,+EACA5B,GAED,GAAGM,CAAK,EAGf,CAMA,SAAS2C,EAAkB,CACzBjD,UAAAA,CAAS,CACTkD,QAAAA,EAAU,EAAK,CACf,GAAG5C,EAC2C,EAC9C,IAAM6C,EAAOD,EAAUE,EAAAA,IAAIA,CAAG,MAE9B,MACE,UAACD,EAAAA,CACC,YAAU,sBACV,eAAa,cACb,UAAWvB,GAAAA,EAAAA,EAAAA,EACT,2OACA,8EACA5B,GAED,GAAGM,CAAK,EAGf,CAMA,SAAS+C,EAAY,CAAErD,UAAAA,CAAS,CAAE,GAAGM,EAA6B,EAChE,MACE,UAAC,MACC,YAAU,eACV,eAAa,OACb,UAAWsB,GAAAA,EAAAA,EAAAA,EAAG,qCAAsC5B,GACnD,GAAGM,CAAK,EAGf,CAMA,SAASgD,EAAgB,CAAEtD,UAAAA,CAAS,CAAE,GAAGM,EAA6B,EACpE,MACE,UAAC,MACC,YAAU,oBACV,eAAa,YACb,UAAWsB,GAAAA,EAAAA,EAAAA,EAAG,2BAA4B5B,GACzC,GAAGM,CAAK,EAGf,CAMA,IAAMiD,EAA4BC,GAAAA,EAAAA,EAAAA,EAAG,CACnC,KAAM,w4BACN,SAAU,CACR,QAAS,CACP,QAAS,+DACT,QACE,8KACJ,EACA,KAAM,CACJ,QAAS,UACT,GAAI,cACJ,GAAI,iDACN,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,GAIA,SAASC,EAAkB,CACzBP,QAAAA,EAAU,EAAK,CACfQ,SAAAA,EAAW,EAAK,CAChB3B,QAAAA,EAAU,SAAS,CACnB4B,KAAAA,EAAO,SAAS,CAChBC,QAAAA,CAAO,CACP5D,UAAAA,CAAS,CACTuC,QAAAA,CAAO,CACP,GAAGjC,EAK6C,EAChD,IAAM6C,EAAOD,EAAUE,EAAAA,IAAIA,CAAG,SACxB,CAAE7C,SAAAA,CAAQ,CAAEO,KAAAA,CAAI,CAAEC,QAAAA,CAAO,CAAEW,MAAAA,CAAK,CAAE,CAAGhC,EAjBZ,qBAqBzBmE,EACJ,UAACV,EAAAA,CACC,YAAU,sBACV,eAAa,cACb,YAAWQ,EACX,cAAaD,EACb,UAAW9B,GAAAA,EAAAA,EAAAA,EAAG2B,EAA0B,CAAExB,QAAAA,EAAS4B,KAAAA,CAAK,GAAI3D,GAC5D,QAASwB,IACPe,IAAUf,GAEN,GACFT,EAAQ,GAEZ,EACC,GAAGT,CAAK,UAIb,GAII,iBAAOsD,GACTA,CAAAA,EAAU,CACR,SAAUA,CACZ,GAIA,WAACE,EAAAA,OAAOA,CAAAA,C,UACN,UAACC,EAAAA,cAAcA,CAAAA,CAAC,QAAO,G,SAAEF,C,GACzB,UAACG,EAAAA,cAAcA,CAAAA,CACb,KAAK,QACL,MAAM,SACN,OAAQtC,cAAAA,GAAyBnB,EAChC,GAAGqD,CAAO,OAhBRC,CAoBX,CAMA,SAASI,EAAkB,CACzBjE,UAAAA,CAAS,CACTkD,QAAAA,EAAU,EAAK,CACfgB,YAAAA,EAAc,EAAK,CACnB,GAAG5D,EAIJ,EACC,IAAM6C,EAAOD,EAAUE,EAAAA,IAAIA,CAAG,SAE9B,MACE,UAACD,EAAAA,CACC,YAAU,sBACV,eAAa,cACb,UAAWvB,GAAAA,EAAAA,EAAAA,EACT,mVAEA,gDACA,wCACA,+CACA,0CACA,uCACAsC,GACE,2LACFlE,GAED,GAAGM,CAAK,EAGf,CAMA,SAAS6D,EAAoB,CAC3BnE,UAAAA,CAAS,CACToE,SAAAA,EAAW,EAAK,CAChB,GAAG9D,EAGJ,EAEC,IAAM+D,EAAQC,GAAAA,EAAAA,OAAAA,EAAQ,IACb,CAAC,EAAEC,KAAK,KAAK,CAACA,GAAAA,KAAK,MAAM,IAAW,GAAG,CAAC,CAAC,CAC/C,EAAE,EAEL,MACE,WAAC,OACC,YAAU,wBACV,eAAa,gBACb,UAAW3C,GAAAA,EAAAA,EAAAA,EAAG,8CAA+C5B,GAC5D,GAAGM,CAAK,C,UAER8D,GACC,UAACI,EAAAA,QAAQA,CAAAA,CACP,UAAU,oBACV,eAAa,oB,GAGjB,UAACA,EAAAA,QAAQA,CAAAA,CACP,UAAU,sCACV,eAAa,qBACb,MACE,CACE,mBAAoBH,CACtB,C,KAKV,CAMA,SAASI,EAAe,CAAEzE,UAAAA,CAAS,CAAE,GAAGM,EAA6B,EACnE,MACE,UAAC,MACC,YAAU,mBACV,eAAa,WACb,UAAWsB,GAAAA,EAAAA,EAAAA,EACT,iGACA,uCACA5B,GAED,GAAGM,CAAK,EAGf,CAMA,SAASoE,EAAmB,CAAE1E,UAAAA,CAAS,CAAE,GAAGM,EAA6B,EACvE,MACE,UAAC,MACC,YAAU,wBACV,eAAa,gBACb,UAAWsB,GAAAA,EAAAA,EAAAA,EAAG,+BAAgC5B,GAC7C,GAAGM,CAAK,EAGf,Q"}
1
+ {"version":3,"file":"components\\app-layout\\sidebar\\sidebar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/app-layout/sidebar/sidebar.tsx"],"sourcesContent":["\r\n\r\nimport {\r\n CSSProperties,\r\n ComponentProps,\r\n JSX,\r\n useCallback,\r\n useEffect,\r\n useMemo,\r\n useState,\r\n} from 'react'\r\n\r\nimport { createContext } from '@radix-ui/react-context'\r\nimport { Slot } from '@radix-ui/react-slot'\r\nimport { PanelLeftIcon } from 'lucide-react'\r\n\r\nimport { Button } from '@/components/button'\r\nimport { Separator } from '@/components/separator'\r\nimport {\r\n Sheet,\r\n SheetContent,\r\n SheetDescription,\r\n SheetHeader,\r\n SheetTitle,\r\n} from '@/components/sheet'\r\nimport { Skeleton } from '@/components/skeleton'\r\nimport {\r\n Tooltip,\r\n TooltipContent,\r\n TooltipProvider,\r\n TooltipTrigger,\r\n} from '@/components/tooltip'\r\nimport { useIsMobile } from '@/hooks/use-mobile'\r\nimport { VariantProps, cn, tv } from '@/lib'\r\nimport { Locale, Module, User } from '@/types'\r\n\r\nconst SIDEBAR_COOKIE_NAME = 'gbm_sidebar_open'\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7\r\nconst SIDEBAR_WIDTH = '16rem'\r\nconst SIDEBAR_WIDTH_MOBILE = '18rem'\r\nconst SIDEBAR_WIDTH_ICON = '4.5rem'\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b'\r\n\r\ntype SidebarContextValue = {\r\n state: 'expanded' | 'collapsed'\r\n open: boolean\r\n setOpen: (open: boolean) => void\r\n openMobile: boolean\r\n setOpenMobile: (open: boolean) => void\r\n isMobile: boolean\r\n toggleSidebar: () => void\r\n user: User\r\n modules: Module[]\r\n locale: Locale\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Context: SidebarProvider\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_PROVIDER_NAME = 'SidebarProvider'\r\n\r\nconst [SidebarContextProvider, useSidebar] = createContext<SidebarContextValue>(\r\n SIDEBAR_PROVIDER_NAME\r\n)\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarProvider\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarProvider({\r\n defaultOpen = true,\r\n open: openProp,\r\n onOpenChange: setOpenProp,\r\n className,\r\n style,\r\n user,\r\n modules,\r\n locale = 'pt-br',\r\n children,\r\n ...props\r\n}: ComponentProps<'div'> & {\r\n defaultOpen?: boolean\r\n open?: boolean\r\n onOpenChange?: (open: boolean) => void\r\n user: User\r\n modules: Module[]\r\n locale?: Locale\r\n}): JSX.Element {\r\n const isMobile = useIsMobile()\r\n const [openMobile, setOpenMobile] = useState(false)\r\n\r\n // This is the internal state of the sidebar.\r\n // We use openProp and setOpenProp for control from outside the component.\r\n const [isOpen, setIsOpen] = useState(defaultOpen)\r\n const open = openProp ?? isOpen\r\n const setOpen = useCallback(\r\n (value: ((value: boolean) => boolean) | boolean) => {\r\n const openState = typeof value === 'function' ? value(open) : value\r\n\r\n if (setOpenProp) {\r\n setOpenProp(openState)\r\n } else {\r\n setIsOpen(openState)\r\n }\r\n\r\n // This sets the cookie to keep the sidebar state.\r\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\r\n },\r\n [setOpenProp, open]\r\n )\r\n\r\n // Helper to toggle the sidebar.\r\n const toggleSidebar = useCallback(() => {\r\n if (isMobile) {\r\n setOpenMobile(currentValue => !currentValue)\r\n } else {\r\n setOpen(currentValue => !currentValue)\r\n }\r\n }, [isMobile, setOpen, setOpenMobile])\r\n\r\n // Adds a keyboard shortcut to toggle the sidebar.\r\n useEffect(() => {\r\n const handleKeyDown: (event: KeyboardEvent) => void = (\r\n event: KeyboardEvent\r\n ) => {\r\n if (\r\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\r\n (event.metaKey || event.ctrlKey)\r\n ) {\r\n event.preventDefault()\r\n toggleSidebar()\r\n }\r\n }\r\n\r\n window.addEventListener('keydown', handleKeyDown)\r\n\r\n return () => {\r\n window.removeEventListener('keydown', handleKeyDown)\r\n }\r\n }, [toggleSidebar])\r\n\r\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n // This makes it easier to style the sidebar with Tailwind classes.\r\n const state = open ? 'expanded' : 'collapsed'\r\n\r\n return (\r\n <SidebarContextProvider\r\n isMobile={isMobile}\r\n open={open}\r\n openMobile={openMobile}\r\n setOpen={setOpen}\r\n setOpenMobile={setOpenMobile}\r\n state={state}\r\n toggleSidebar={toggleSidebar}\r\n user={user}\r\n modules={modules}\r\n locale={locale}\r\n >\r\n <TooltipProvider delayDuration={0}>\r\n <div\r\n className={cn(\r\n 'group/sidebar-wrapper flex h-svh w-full has-data-[variant=inset]:bg-sidebar',\r\n className\r\n )}\r\n data-slot=\"sidebar-wrapper\"\r\n style={\r\n {\r\n '--sidebar-width': SIDEBAR_WIDTH,\r\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\r\n ...style,\r\n } as CSSProperties\r\n }\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </TooltipProvider>\r\n </SidebarContextProvider>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Sidebar\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_NAME = 'Sidebar'\r\n\r\nfunction Sidebar({\r\n side = 'left',\r\n variant = 'sidebar',\r\n collapsible = 'icon',\r\n className,\r\n children,\r\n ...props\r\n}: ComponentProps<'div'> & {\r\n side?: 'left' | 'right'\r\n variant?: 'sidebar' | 'floating' | 'inset'\r\n collapsible?: 'offcanvas' | 'icon' | 'none'\r\n}) {\r\n const { isMobile, state, openMobile, setOpenMobile } =\r\n useSidebar(SIDEBAR_NAME)\r\n\r\n if (collapsible === 'none') {\r\n return (\r\n <div\r\n data-slot=\"sidebar\"\r\n className={cn(\r\n 'flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground',\r\n className\r\n )}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n )\r\n }\r\n\r\n if (isMobile) {\r\n return (\r\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\r\n <SheetContent\r\n data-sidebar=\"sidebar\"\r\n data-slot=\"sidebar\"\r\n data-mobile=\"true\"\r\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\r\n style={\r\n {\r\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\r\n } as CSSProperties\r\n }\r\n side={side}\r\n >\r\n <SheetHeader className=\"sr-only\">\r\n <SheetTitle>Sidebar</SheetTitle>\r\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\r\n </SheetHeader>\r\n <div className=\"flex h-full w-full flex-col\">{children}</div>\r\n </SheetContent>\r\n </Sheet>\r\n )\r\n }\r\n\r\n return (\r\n <div\r\n className=\"group peer hidden text-sidebar-foreground md:block\"\r\n data-state={state}\r\n data-collapsible={state === 'collapsed' ? collapsible : ''}\r\n data-variant={variant}\r\n data-side={side}\r\n data-slot=\"sidebar\"\r\n >\r\n {/* This is what handles the sidebar gap on desktop */}\r\n <div\r\n data-slot=\"sidebar-gap\"\r\n className={cn(\r\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\r\n 'group-data-[collapsible=offcanvas]:w-0',\r\n 'group-data-[side=right]:rotate-180',\r\n variant === 'floating' || variant === 'inset'\r\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\r\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\r\n )}\r\n />\r\n <div\r\n data-slot=\"sidebar-container\"\r\n className={cn(\r\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\r\n side === 'left'\r\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\r\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\r\n // Adjust the padding for floating and inset variants.\r\n variant === 'floating' || variant === 'inset'\r\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]'\r\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\r\n className\r\n )}\r\n {...props}\r\n >\r\n <div\r\n data-sidebar=\"sidebar\"\r\n data-slot=\"sidebar-inner\"\r\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-sm\"\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n </div>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarTrigger\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_TRIGGER_NAME = 'SidebarTrigger'\r\n\r\nfunction SidebarTrigger({\r\n className,\r\n onClick,\r\n ...props\r\n}: ComponentProps<typeof Button>) {\r\n const { toggleSidebar } = useSidebar(SIDEBAR_TRIGGER_NAME)\r\n\r\n return (\r\n <Button\r\n data-sidebar=\"trigger\"\r\n data-slot=\"sidebar-trigger\"\r\n variant=\"ghost\"\r\n size=\"icon\"\r\n className={cn('size-7', className)}\r\n onClick={event => {\r\n onClick?.(event)\r\n toggleSidebar()\r\n }}\r\n {...props}\r\n >\r\n <PanelLeftIcon />\r\n <span className=\"sr-only\">Toggle Sidebar</span>\r\n </Button>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarRail\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst SIDEBAR_RAIL_NAME = 'SidebarRail'\r\n\r\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\r\n const { toggleSidebar } = useSidebar(SIDEBAR_RAIL_NAME)\r\n\r\n return (\r\n <button\r\n data-sidebar=\"rail\"\r\n data-slot=\"sidebar-rail\"\r\n aria-label=\"Toggle Sidebar\"\r\n tabIndex={-1}\r\n onClick={toggleSidebar}\r\n title=\"Toggle Sidebar\"\r\n className={cn(\r\n '-translate-x-1/2 group-data-[side=left]:-right-4 absolute inset-y-0 z-20 hidden w-4 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=right]:left-0 sm:flex',\r\n 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize',\r\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\r\n 'group-data-[collapsible=offcanvas]:translate-x-0 hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:after:left-full',\r\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\r\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarHeader\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarHeader({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-header\"\r\n data-sidebar=\"header\"\r\n className={cn(\r\n 'flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarFooter\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarFooter({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-footer\"\r\n data-sidebar=\"footer\"\r\n className={cn(\r\n 'flex flex-col gap-2 p-5 group-data-[collapsible=icon]:p-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarSeparator\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarSeparator({\r\n className,\r\n ...props\r\n}: ComponentProps<typeof Separator>) {\r\n return (\r\n <Separator\r\n data-slot=\"sidebar-separator\"\r\n data-sidebar=\"separator\"\r\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarContent\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarContent({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-content\"\r\n data-sidebar=\"content\"\r\n className={cn(\r\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-y-auto group-data-[collapsible=icon]:overflow-hidden',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarGroup\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarGroup({ className, ...props }: ComponentProps<'div'>) {\r\n return (\r\n <div\r\n data-slot=\"sidebar-group\"\r\n data-sidebar=\"group\"\r\n className={cn(\r\n 'relative flex w-full min-w-0 flex-col px-5 group-data-[collapsible=icon]:p-4',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarGroupLabel\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarGroupLabel({\r\n className,\r\n asChild = false,\r\n ...props\r\n}: ComponentProps<'div'> & { asChild?: boolean }) {\r\n const Comp = asChild ? Slot : 'div'\r\n\r\n return (\r\n <Comp\r\n data-slot=\"sidebar-group-label\"\r\n data-sidebar=\"group-label\"\r\n className={cn(\r\n 'flex h-8 shrink-0 items-center rounded-md px-2 font-medium text-sidebar-foreground/70 text-xs outline-hidden ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\r\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenu\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenu({ className, ...props }: ComponentProps<'ul'>) {\r\n return (\r\n <ul\r\n data-slot=\"sidebar-menu\"\r\n data-sidebar=\"menu\"\r\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuItem\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuItem({ className, ...props }: ComponentProps<'li'>) {\r\n return (\r\n <li\r\n data-slot=\"sidebar-menu-item\"\r\n data-sidebar=\"menu-item\"\r\n className={cn('group/menu-item relative', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuButton\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst sidebarMenuButtonVariants = tv({\r\n base: 'peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-10! group-data-[collapsible=icon]:p-2.5! group-data-[collapsible=icon]:gap-3 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 group-data-[collapsible=icon]:[&>svg]:size-5',\r\n variants: {\r\n variant: {\r\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\r\n outline:\r\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\r\n },\r\n size: {\r\n default: 'text-sm',\r\n sm: 'h-7 text-xs',\r\n lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n size: 'default',\r\n },\r\n})\r\n\r\nconst SIDEBAR_MENU_BUTTON_NAME = 'SidebarMenuButton'\r\n\r\nfunction SidebarMenuButton({\r\n asChild = false,\r\n isActive = false,\r\n variant = 'default',\r\n size = 'default',\r\n tooltip,\r\n className,\r\n onClick,\r\n ...props\r\n}: ComponentProps<'button'> & {\r\n asChild?: boolean\r\n isActive?: boolean\r\n tooltip?: string | ComponentProps<typeof TooltipContent>\r\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\r\n const Comp = asChild ? Slot : 'button'\r\n const { isMobile, open, setOpen, state } = useSidebar(\r\n SIDEBAR_MENU_BUTTON_NAME\r\n )\r\n\r\n const button = (\r\n <Comp\r\n data-slot=\"sidebar-menu-button\"\r\n data-sidebar=\"menu-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\r\n onClick={event => {\r\n onClick?.(event)\r\n\r\n if (!open) {\r\n setOpen(true)\r\n }\r\n }}\r\n {...props}\r\n />\r\n )\r\n\r\n if (!tooltip) {\r\n return button\r\n }\r\n\r\n if (typeof tooltip === 'string') {\r\n tooltip = {\r\n children: tooltip,\r\n }\r\n }\r\n\r\n return (\r\n <Tooltip>\r\n <TooltipTrigger asChild>{button}</TooltipTrigger>\r\n <TooltipContent\r\n side=\"right\"\r\n align=\"center\"\r\n hidden={state !== 'collapsed' || isMobile}\r\n {...tooltip}\r\n />\r\n </Tooltip>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuAction\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuAction({\r\n className,\r\n asChild = false,\r\n showOnHover = false,\r\n ...props\r\n}: ComponentProps<'button'> & {\r\n asChild?: boolean\r\n showOnHover?: boolean\r\n}) {\r\n const Comp = asChild ? Slot : 'button'\r\n\r\n return (\r\n <Comp\r\n data-slot=\"sidebar-menu-action\"\r\n data-sidebar=\"menu-action\"\r\n className={cn(\r\n 'absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-hidden ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\r\n // Increases the hit area of the button on mobile.\r\n 'after:-inset-2 after:absolute md:after:hidden',\r\n 'peer-data-[size=sm]/menu-button:top-1',\r\n 'peer-data-[size=default]/menu-button:top-1.5',\r\n 'peer-data-[size=lg]/menu-button:top-2.5',\r\n 'group-data-[collapsible=icon]:hidden',\r\n showOnHover &&\r\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuSkeleton\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuSkeleton({\r\n className,\r\n showIcon = false,\r\n ...props\r\n}: ComponentProps<'div'> & {\r\n showIcon?: boolean\r\n}) {\r\n // Random width between 50 to 90%.\r\n const width = useMemo(() => {\r\n return `${Math.floor(Math.random() * 40) + 50}%`\r\n }, [])\r\n\r\n return (\r\n <div\r\n data-slot=\"sidebar-menu-skeleton\"\r\n data-sidebar=\"menu-skeleton\"\r\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\r\n {...props}\r\n >\r\n {showIcon && (\r\n <Skeleton\r\n className=\"size-4 rounded-md\"\r\n data-sidebar=\"menu-skeleton-icon\"\r\n />\r\n )}\r\n <Skeleton\r\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\r\n data-sidebar=\"menu-skeleton-text\"\r\n style={\r\n {\r\n '--skeleton-width': width,\r\n } as CSSProperties\r\n }\r\n />\r\n </div>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuSub\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuSub({ className, ...props }: ComponentProps<'ul'>) {\r\n return (\r\n <ul\r\n data-slot=\"sidebar-menu-sub\"\r\n data-sidebar=\"menu-sub\"\r\n className={cn(\r\n 'ml-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-sidebar-border border-l py-0.5 pl-2.5',\r\n 'group-data-[collapsible=icon]:hidden',\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: SidebarMenuSubItem\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction SidebarMenuSubItem({ className, ...props }: ComponentProps<'li'>) {\r\n return (\r\n <li\r\n data-slot=\"sidebar-menu-sub-item\"\r\n data-sidebar=\"menu-sub-item\"\r\n className={cn('group/menu-sub-item relative', className)}\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport {\r\n Sidebar,\r\n SidebarContent,\r\n SidebarFooter,\r\n SidebarGroup,\r\n SidebarGroupLabel,\r\n SidebarHeader,\r\n SidebarMenu,\r\n SidebarMenuAction,\r\n SidebarMenuButton,\r\n SidebarMenuItem,\r\n SidebarMenuSkeleton,\r\n SidebarMenuSub,\r\n SidebarMenuSubItem,\r\n SidebarProvider,\r\n SidebarSeparator,\r\n SidebarTrigger,\r\n SidebarRail,\r\n useSidebar,\r\n SIDEBAR_COOKIE_NAME,\r\n}\r\n"],"names":["SIDEBAR_COOKIE_NAME","SidebarContextProvider","useSidebar","createContext","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","user","modules","locale","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","useState","isOpen","setIsOpen","open","setOpen","useCallback","value","openState","document","toggleSidebar","currentValue","useEffect","handleKeyDown","event","window","state","TooltipProvider","cn","Sidebar","side","variant","collapsible","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","Button","PanelLeftIcon","SidebarRail","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","Comp","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","tv","SidebarMenuButton","isActive","size","tooltip","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuSkeleton","showIcon","width","useMemo","Math","Skeleton","SidebarMenuSub","SidebarMenuSubItem"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import*as e from"react/jsx-runtime";import*as o from"cmdk";import*as s from"../../lib/index.js";import*as t from"../command.js";import*as m from"../skeleton.js";import*as n from"./autocomplete-context.js";function r({children:r}){let{isOpen:a,isLoading:i}=(0,n.useAutoCompleteContext)();return(0,e.jsx)("div",{className:"relative mt-2",children:(0,e.jsx)("div",{className:(0,s.cn)("absolute top-0 z-10 w-full bg-background outline-none",a?"block":"hidden"),children:(0,e.jsxs)(t.CommandList,{className:"rounded-md ring-1 ring-border",children:[i&&(0,e.jsx)(o.Command.Loading,{children:(0,e.jsx)("div",{className:"p-1",children:(0,e.jsx)(m.Skeleton,{className:"h-8 w-full"})})}),r]})})})}export{r as AutoCompleteContent};
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{Command as r}from"cmdk";import{cn as t}from"../../lib/index.js";import{CommandList as m}from"../command.js";import{Skeleton as i}from"../skeleton.js";import{useAutoCompleteContext as n}from"./autocomplete-context.js";function l({children:l}){let{isOpen:d,isLoading:c}=n();return e("div",{className:"relative mt-2",children:e("div",{className:t("absolute top-0 z-10 w-full bg-background outline-none",d?"block":"hidden"),children:o(m,{className:"rounded-md ring-1 ring-border",children:[c&&e(r.Loading,{children:e("div",{className:"p-1",children:e(i,{className:"h-8 w-full"})})}),l]})})})}export{l as AutoCompleteContent};
2
2
  //# sourceMappingURL=autocomplete-content.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\autocomplete\\autocomplete-content.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-content.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk'\nimport type { ReactNode } from 'react'\n\nimport { cn } from '@/lib'\nimport { CommandList } from '../command'\nimport { Skeleton } from '../skeleton'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteContent({ children }: { children: ReactNode }) {\n const { isOpen, isLoading } = useAutoCompleteContext()\n\n return (\n <div className=\"relative mt-2\">\n <div\n className={cn(\n 'absolute top-0 z-10 w-full bg-background outline-none',\n isOpen ? 'block' : 'hidden'\n )}\n >\n <CommandList className=\"rounded-md ring-1 ring-border\">\n {isLoading && (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-8 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n )}\n\n {children}\n </CommandList>\n </div>\n </div>\n )\n}\n\nexport { AutoCompleteContent }\n"],"names":["AutoCompleteContent","children","isOpen","isLoading","useAutoCompleteContext","cn","CommandList","CommandPrimitive","Skeleton"],"mappings":"6MAQA,SAASA,EAAoB,CAAEC,SAAAA,CAAQ,CAA2B,EAChE,GAAM,CAAEC,OAAAA,CAAM,CAAEC,UAAAA,CAAS,CAAE,CAAGC,AAAAA,GAAAA,EAAAA,sBAAAA,AAAAA,IAE9B,MACE,UAAC,OAAI,UAAU,gB,SACb,UAAC,OACC,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,wDACAH,EAAS,QAAU,U,SAGrB,WAACI,EAAAA,WAAWA,CAAAA,CAAC,UAAU,gC,UACpBH,GACC,UAACI,EAAAA,OAAAA,CAAAA,OAAwB,E,SACvB,UAAC,OAAI,UAAU,M,SACb,UAACC,EAAAA,QAAQA,CAAAA,CAAC,UAAU,Y,OAKzBP,E,MAKX,Q"}
1
+ {"version":3,"file":"components\\autocomplete\\autocomplete-content.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-content.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk'\nimport type { ReactNode } from 'react'\n\nimport { cn } from '@/lib'\nimport { CommandList } from '../command'\nimport { Skeleton } from '../skeleton'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteContent({ children }: { children: ReactNode }) {\n const { isOpen, isLoading } = useAutoCompleteContext()\n\n return (\n <div className=\"relative mt-2\">\n <div\n className={cn(\n 'absolute top-0 z-10 w-full bg-background outline-none',\n isOpen ? 'block' : 'hidden'\n )}\n >\n <CommandList className=\"rounded-md ring-1 ring-border\">\n {isLoading && (\n <CommandPrimitive.Loading>\n <div className=\"p-1\">\n <Skeleton className=\"h-8 w-full\" />\n </div>\n </CommandPrimitive.Loading>\n )}\n\n {children}\n </CommandList>\n </div>\n </div>\n )\n}\n\nexport { AutoCompleteContent }\n"],"names":["AutoCompleteContent","children","isOpen","isLoading","useAutoCompleteContext","cn","CommandList","CommandPrimitive","Skeleton"],"mappings":"kRAQA,SAASA,EAAoB,CAAEC,SAAAA,CAAQ,CAA2B,EAChE,GAAM,CAAEC,OAAAA,CAAM,CAAEC,UAAAA,CAAS,CAAE,CAAGC,IAE9B,OACE,EAAC,OAAI,UAAU,gB,SACb,EAAC,OACC,UAAWC,EACT,wDACAH,EAAS,QAAU,U,SAGrB,EAACI,EAAWA,CAAC,UAAU,gC,UACpBH,GACC,EAACI,EAAAA,OAAwB,E,SACvB,EAAC,OAAI,UAAU,M,SACb,EAACC,EAAQA,CAAC,UAAU,Y,OAKzBP,E,MAKX,Q"}
@@ -1,2 +1,2 @@
1
- import*as t from"react";let e=(0,t.createContext)({}),o=()=>(0,t.useContext)(e);export{e as AutoCompleteContext,o as useAutoCompleteContext};
1
+ import{createContext as t,useContext as e}from"react";let o=t({}),m=()=>e(o);export{o as AutoCompleteContext,m as useAutoCompleteContext};
2
2
  //# sourceMappingURL=autocomplete-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\autocomplete\\autocomplete-context.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-context.tsx"],"sourcesContent":["import { type RefObject, createContext, useContext } from 'react'\n\ntype AutoCompleteContextValue = {\n value: string\n onValueChange: (value: string) => void\n isOpen: boolean\n onOpenChange: (isOpen: boolean) => void\n inputRef: RefObject<HTMLInputElement | null>\n isLoading?: boolean\n}\n\nconst AutoCompleteContext = createContext<AutoCompleteContextValue>(\n {} as AutoCompleteContextValue\n)\n\nconst useAutoCompleteContext = () => useContext(AutoCompleteContext)\n\nexport {\n type AutoCompleteContextValue,\n AutoCompleteContext,\n useAutoCompleteContext,\n}\n"],"names":["AutoCompleteContext","createContext","useAutoCompleteContext","useContext"],"mappings":"wBAWA,IAAMA,EAAsBC,AAAAA,GAAAA,EAAAA,aAAAA,AAAAA,EAC1B,CAAC,GAGGC,EAAyB,IAAMC,AAAAA,GAAAA,EAAAA,UAAAA,AAAAA,EAAWH,U"}
1
+ {"version":3,"file":"components\\autocomplete\\autocomplete-context.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-context.tsx"],"sourcesContent":["import { type RefObject, createContext, useContext } from 'react'\n\ntype AutoCompleteContextValue = {\n value: string\n onValueChange: (value: string) => void\n isOpen: boolean\n onOpenChange: (isOpen: boolean) => void\n inputRef: RefObject<HTMLInputElement | null>\n isLoading?: boolean\n}\n\nconst AutoCompleteContext = createContext<AutoCompleteContextValue>(\n {} as AutoCompleteContextValue\n)\n\nconst useAutoCompleteContext = () => useContext(AutoCompleteContext)\n\nexport {\n type AutoCompleteContextValue,\n AutoCompleteContext,\n useAutoCompleteContext,\n}\n"],"names":["AutoCompleteContext","createContext","useAutoCompleteContext","useContext"],"mappings":"sDAWA,IAAMA,EAAsBC,EAC1B,CAAC,GAGGC,EAAyB,IAAMC,EAAWH,U"}
@@ -1,2 +1,2 @@
1
- import*as t from"react/jsx-runtime";import*as e from"../../lib/index.js";import*as o from"../command.js";import*as m from"./autocomplete-context.js";function n({className:n,...r}){let{isLoading:s}=(0,m.useAutoCompleteContext)();return s?null:(0,t.jsx)(o.CommandEmpty,{className:(0,e.cn)("select-none rounded-sm px-2 py-3 text-center text-sm",n),...r})}export{n as AutoCompleteEmpty};
1
+ import{jsx as t}from"react/jsx-runtime";import{cn as e}from"../../lib/index.js";import{CommandEmpty as o}from"../command.js";import{useAutoCompleteContext as m}from"./autocomplete-context.js";function r({className:r,...n}){let{isLoading:p}=m();return p?null:t(o,{className:e("select-none rounded-sm px-2 py-3 text-center text-sm",r),...n})}export{r as AutoCompleteEmpty};
2
2
  //# sourceMappingURL=autocomplete-empty.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\autocomplete\\autocomplete-empty.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-empty.tsx"],"sourcesContent":["import { cn } from '@/lib'\nimport type { ComponentProps } from 'react'\nimport { CommandEmpty } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteEmpty({\n className,\n ...props\n}: ComponentProps<typeof CommandEmpty>) {\n const { isLoading } = useAutoCompleteContext()\n\n if (isLoading) {\n return null\n }\n\n return (\n <CommandEmpty\n className={cn(\n 'select-none rounded-sm px-2 py-3 text-center text-sm',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { AutoCompleteEmpty }\n"],"names":["AutoCompleteEmpty","className","props","isLoading","useAutoCompleteContext","CommandEmpty","cn"],"mappings":"qJAKA,SAASA,EAAkB,CACzBC,UAAAA,CAAS,CACT,GAAGC,EACiC,EACpC,GAAM,CAAEC,UAAAA,CAAS,CAAE,CAAGC,AAAAA,GAAAA,EAAAA,sBAAAA,AAAAA,WAEtB,AAAID,EACK,KAIP,UAACE,EAAAA,YAAYA,CAAAA,CACX,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,uDACAL,GAED,GAAGC,CAAK,A,EAGf,Q"}
1
+ {"version":3,"file":"components\\autocomplete\\autocomplete-empty.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-empty.tsx"],"sourcesContent":["import { cn } from '@/lib'\nimport type { ComponentProps } from 'react'\nimport { CommandEmpty } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteEmpty({\n className,\n ...props\n}: ComponentProps<typeof CommandEmpty>) {\n const { isLoading } = useAutoCompleteContext()\n\n if (isLoading) {\n return null\n }\n\n return (\n <CommandEmpty\n className={cn(\n 'select-none rounded-sm px-2 py-3 text-center text-sm',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { AutoCompleteEmpty }\n"],"names":["AutoCompleteEmpty","className","props","isLoading","useAutoCompleteContext","CommandEmpty","cn"],"mappings":"gMAKA,SAASA,EAAkB,CACzBC,UAAAA,CAAS,CACT,GAAGC,EACiC,EACpC,GAAM,CAAEC,UAAAA,CAAS,CAAE,CAAGC,WAEtB,AAAID,EACK,KAIP,EAACE,EAAYA,CACX,UAAWC,EACT,uDACAL,GAED,GAAGC,CAAK,A,EAGf,Q"}
@@ -1,2 +1,2 @@
1
- import*as e from"react/jsx-runtime";import*as o from"cmdk";import*as t from"../../lib/index.js";import*as a from"@phosphor-icons/react";import*as n from"./autocomplete-context.js";function r({className:r,...s}){let{value:l,onValueChange:m,onOpenChange:i,inputRef:p}=(0,n.useAutoCompleteContext)();return(0,e.jsxs)("div",{className:"relative","cmdk-input-wrapper":"","data-slot":"command-input-wrapper",children:[(0,e.jsx)(a.MagnifyingGlassIcon,{className:"-translate-1/2 absolute top-1/2 left-6 size-4 shrink-0 opacity-50"}),(0,e.jsx)(o.Command.Input,{className:(0,t.cn)("flex h-10 w-full rounded-md border border-input bg-background px-3 pl-10 text-sm shadow-xs outline-hidden placeholder:text-muted-foreground disabled:opacity-50",r),...s,ref:p,value:s.value??l,onValueChange:function(e){m?.(e),s.onValueChange?.(e)},"data-slot":"command-input",onFocus:()=>i(!0),onBlur:()=>i(!1)})]})}export{r as AutoCompleteInput};
1
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{Command as t}from"cmdk";import{cn as r}from"../../lib/index.js";import{MagnifyingGlassIcon as a}from"@phosphor-icons/react";import{useAutoCompleteContext as n}from"./autocomplete-context.js";function l({className:l,...p}){let{value:i,onValueChange:m,onOpenChange:u,inputRef:d}=n();return o("div",{className:"relative","cmdk-input-wrapper":"","data-slot":"command-input-wrapper",children:[e(a,{className:"-translate-1/2 absolute top-1/2 left-6 size-4 shrink-0 opacity-50"}),e(t.Input,{className:r("flex h-10 w-full rounded-md border border-input bg-background px-3 pl-10 text-sm shadow-xs outline-hidden placeholder:text-muted-foreground disabled:opacity-50",l),...p,ref:d,value:p.value??i,onValueChange:function(e){m?.(e),p.onValueChange?.(e)},"data-slot":"command-input",onFocus:()=>u(!0),onBlur:()=>u(!1)})]})}export{l as AutoCompleteInput};
2
2
  //# sourceMappingURL=autocomplete-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\autocomplete\\autocomplete-input.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-input.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk'\nimport type { ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib'\nimport { MagnifyingGlassIcon } from '@phosphor-icons/react'\nimport { CommandInput } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteInput({\n className,\n ...props\n}: ComponentPropsWithoutRef<typeof CommandInput>) {\n const { value, onValueChange, onOpenChange, inputRef } =\n useAutoCompleteContext()\n\n function handleChange(value: string) {\n onValueChange?.(value)\n props.onValueChange?.(value)\n }\n\n return (\n <div\n className=\"relative\"\n cmdk-input-wrapper=\"\"\n data-slot=\"command-input-wrapper\"\n >\n <MagnifyingGlassIcon className=\"-translate-1/2 absolute top-1/2 left-6 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n className={cn(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 pl-10 text-sm shadow-xs outline-hidden placeholder:text-muted-foreground disabled:opacity-50',\n className\n )}\n {...props}\n ref={inputRef}\n value={props.value ?? value}\n onValueChange={handleChange}\n data-slot=\"command-input\"\n onFocus={() => onOpenChange(true)}\n onBlur={() => onOpenChange(false)}\n />\n </div>\n )\n}\n\nexport { AutoCompleteInput }\n"],"names":["AutoCompleteInput","className","props","value","onValueChange","onOpenChange","inputRef","useAutoCompleteContext","MagnifyingGlassIcon","CommandPrimitive","cn"],"mappings":"oLAQA,SAASA,EAAkB,CACzBC,UAAAA,CAAS,CACT,GAAGC,EAC2C,EAC9C,GAAM,CAAEC,MAAAA,CAAK,CAAEC,cAAAA,CAAa,CAAEC,aAAAA,CAAY,CAAEC,SAAAA,CAAQ,CAAE,CACpDC,AAAAA,GAAAA,EAAAA,sBAAAA,AAAAA,IAOF,MACE,WAAC,OACC,UAAU,WACV,qBAAmB,GACnB,YAAU,wB,UAEV,UAACC,EAAAA,mBAAmBA,CAAAA,CAAC,UAAU,mE,GAC/B,UAACC,EAAAA,OAAAA,CAAAA,KAAsB,EACrB,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,kKACAT,GAED,GAAGC,CAAK,CACT,IAAKI,EACL,MAAOJ,EAAM,KAAK,EAAIC,EACtB,cApBN,SAAsBA,CAAa,EACjCC,IAAgBD,GAChBD,EAAM,aAAa,GAAGC,EACxB,EAkBM,YAAU,gBACV,QAAS,IAAME,EAAa,IAC5B,OAAQ,IAAMA,EAAa,G,KAInC,Q"}
1
+ {"version":3,"file":"components\\autocomplete\\autocomplete-input.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-input.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk'\nimport type { ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib'\nimport { MagnifyingGlassIcon } from '@phosphor-icons/react'\nimport { CommandInput } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteInput({\n className,\n ...props\n}: ComponentPropsWithoutRef<typeof CommandInput>) {\n const { value, onValueChange, onOpenChange, inputRef } =\n useAutoCompleteContext()\n\n function handleChange(value: string) {\n onValueChange?.(value)\n props.onValueChange?.(value)\n }\n\n return (\n <div\n className=\"relative\"\n cmdk-input-wrapper=\"\"\n data-slot=\"command-input-wrapper\"\n >\n <MagnifyingGlassIcon className=\"-translate-1/2 absolute top-1/2 left-6 size-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n className={cn(\n 'flex h-10 w-full rounded-md border border-input bg-background px-3 pl-10 text-sm shadow-xs outline-hidden placeholder:text-muted-foreground disabled:opacity-50',\n className\n )}\n {...props}\n ref={inputRef}\n value={props.value ?? value}\n onValueChange={handleChange}\n data-slot=\"command-input\"\n onFocus={() => onOpenChange(true)}\n onBlur={() => onOpenChange(false)}\n />\n </div>\n )\n}\n\nexport { AutoCompleteInput }\n"],"names":["AutoCompleteInput","className","props","value","onValueChange","onOpenChange","inputRef","useAutoCompleteContext","MagnifyingGlassIcon","CommandPrimitive","cn"],"mappings":"wPAQA,SAASA,EAAkB,CACzBC,UAAAA,CAAS,CACT,GAAGC,EAC2C,EAC9C,GAAM,CAAEC,MAAAA,CAAK,CAAEC,cAAAA,CAAa,CAAEC,aAAAA,CAAY,CAAEC,SAAAA,CAAQ,CAAE,CACpDC,IAOF,OACE,EAAC,OACC,UAAU,WACV,qBAAmB,GACnB,YAAU,wB,UAEV,EAACC,EAAmBA,CAAC,UAAU,mE,GAC/B,EAACC,EAAAA,KAAsB,EACrB,UAAWC,EACT,kKACAT,GAED,GAAGC,CAAK,CACT,IAAKI,EACL,MAAOJ,EAAM,KAAK,EAAIC,EACtB,cApBN,SAAsBA,CAAa,EACjCC,IAAgBD,GAChBD,EAAM,aAAa,GAAGC,EACxB,EAkBM,YAAU,gBACV,QAAS,IAAME,EAAa,IAC5B,OAAQ,IAAMA,EAAa,G,KAInC,Q"}
@@ -1,3 +1,3 @@
1
1
  'use client'
2
- import*as e from"react/jsx-runtime";import*as o from"@phosphor-icons/react";import*as t from"../../lib/index.js";import*as m from"../command.js";import*as s from"./autocomplete-context.js";function a(a){let{value:r,onValueChange:n,onOpenChange:l}=(0,s.useAutoCompleteContext)(),c=r===a.value;return(0,e.jsxs)(m.CommandItem,{...a,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onSelect:function(){n?.(a.value??""),l(!1)},className:(0,t.cn)("flex w-full items-center gap-2",!c&&"pl-8"),children:[c&&(0,e.jsx)(o.Check,{className:"size-4"}),a.value]})}export{a as AutocompleteItem};
2
+ import{jsx as e,jsxs as o}from"react/jsx-runtime";import{Check as t}from"@phosphor-icons/react";import{cn as r}from"../../lib/index.js";import{CommandItem as m}from"../command.js";import{useAutoCompleteContext as n}from"./autocomplete-context.js";function l(l){let{value:a,onValueChange:i,onOpenChange:p}=n(),c=a===l.value;return o(m,{...l,onMouseDown:e=>{e.preventDefault(),e.stopPropagation()},onSelect:function(){i?.(l.value??""),p(!1)},className:r("flex w-full items-center gap-2",!c&&"pl-8"),children:[c&&e(t,{className:"size-4"}),l.value]})}export{l as AutocompleteItem};
3
3
  //# sourceMappingURL=autocomplete-item.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\autocomplete\\autocomplete-item.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-item.tsx"],"sourcesContent":["\n\nimport { Check } from '@phosphor-icons/react'\nimport type { ComponentProps } from 'react'\n\nimport { cn } from '@/lib'\nimport { CommandItem } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutocompleteItem(props: ComponentProps<typeof CommandItem>) {\n const { value, onValueChange, onOpenChange } = useAutoCompleteContext()\n\n const isSelected = value === props.value\n\n function handleSelect() {\n onValueChange?.(props.value ?? '')\n onOpenChange(false)\n }\n\n return (\n <CommandItem\n {...props}\n onMouseDown={event => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onSelect={handleSelect}\n className={cn('flex w-full items-center gap-2', !isSelected && 'pl-8')}\n >\n {isSelected && <Check className=\"size-4\" />}\n {props.value}\n </CommandItem>\n )\n}\n\nexport { AutocompleteItem }\n"],"names":["AutocompleteItem","props","value","onValueChange","onOpenChange","useAutoCompleteContext","isSelected","CommandItem","event","cn","Check"],"mappings":";6LASA,SAASA,EAAiBC,CAAyC,EACjE,GAAM,CAAEC,MAAAA,CAAK,CAAEC,cAAAA,CAAa,CAAEC,aAAAA,CAAY,CAAE,CAAGC,GAAAA,EAAAA,sBAAAA,IAEzCC,EAAaJ,IAAUD,EAAM,KAAK,CAOxC,MACE,WAACM,EAAAA,WAAWA,CAAAA,CACT,GAAGN,CAAK,CACT,YAAaO,IACXA,EAAM,cAAc,GACpBA,EAAM,eAAe,EACvB,EACA,SAZJ,WACEL,IAAgBF,EAAM,KAAK,EAAI,IAC/BG,EAAa,GACf,EAUI,UAAWK,GAAAA,EAAAA,EAAAA,EAAG,iCAAkC,CAACH,GAAc,Q,UAE9DA,GAAc,UAACI,EAAAA,KAAKA,CAAAA,CAAC,UAAU,Q,GAC/BT,EAAM,KAAK,C,EAGlB,Q"}
1
+ {"version":3,"file":"components\\autocomplete\\autocomplete-item.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-item.tsx"],"sourcesContent":["\n\nimport { Check } from '@phosphor-icons/react'\nimport type { ComponentProps } from 'react'\n\nimport { cn } from '@/lib'\nimport { CommandItem } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutocompleteItem(props: ComponentProps<typeof CommandItem>) {\n const { value, onValueChange, onOpenChange } = useAutoCompleteContext()\n\n const isSelected = value === props.value\n\n function handleSelect() {\n onValueChange?.(props.value ?? '')\n onOpenChange(false)\n }\n\n return (\n <CommandItem\n {...props}\n onMouseDown={event => {\n event.preventDefault()\n event.stopPropagation()\n }}\n onSelect={handleSelect}\n className={cn('flex w-full items-center gap-2', !isSelected && 'pl-8')}\n >\n {isSelected && <Check className=\"size-4\" />}\n {props.value}\n </CommandItem>\n )\n}\n\nexport { AutocompleteItem }\n"],"names":["AutocompleteItem","props","value","onValueChange","onOpenChange","useAutoCompleteContext","isSelected","CommandItem","event","cn","Check"],"mappings":";uPASA,SAASA,EAAiBC,CAAyC,EACjE,GAAM,CAAEC,MAAAA,CAAK,CAAEC,cAAAA,CAAa,CAAEC,aAAAA,CAAY,CAAE,CAAGC,IAEzCC,EAAaJ,IAAUD,EAAM,KAAK,CAOxC,OACE,EAACM,EAAWA,CACT,GAAGN,CAAK,CACT,YAAaO,IACXA,EAAM,cAAc,GACpBA,EAAM,eAAe,EACvB,EACA,SAZJ,WACEL,IAAgBF,EAAM,KAAK,EAAI,IAC/BG,EAAa,GACf,EAUI,UAAWK,EAAG,iCAAkC,CAACH,GAAc,Q,UAE9DA,GAAc,EAACI,EAAKA,CAAC,UAAU,Q,GAC/BT,EAAM,KAAK,C,EAGlB,Q"}
@@ -1,2 +1,2 @@
1
- import*as t from"react/jsx-runtime";import*as o from"../command.js";import*as e from"./autocomplete-context.js";function m({children:m,...r}){let{isLoading:n}=(0,e.useAutoCompleteContext)();return(0,t.jsx)(o.CommandGroup,{...r,children:m})}export{m as AutoCompleteList};
1
+ import{jsx as t}from"react/jsx-runtime";import{CommandGroup as o}from"../command.js";import{useAutoCompleteContext as r}from"./autocomplete-context.js";function e({children:e,...m}){let{isLoading:i}=r();return t(o,{...m,children:e})}export{e as AutoCompleteList};
2
2
  //# sourceMappingURL=autocomplete-list.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\autocomplete\\autocomplete-list.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-list.tsx"],"sourcesContent":["import type { ComponentProps } from 'react'\n\nimport { CommandGroup } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteList({\n children,\n ...props\n}: ComponentProps<typeof CommandGroup>) {\n const { isLoading } = useAutoCompleteContext()\n\n if (isLoading) {\n null\n }\n\n return <CommandGroup {...props}>{children}</CommandGroup>\n}\n\nexport { AutoCompleteList }\n"],"names":["AutoCompleteList","children","props","isLoading","useAutoCompleteContext","CommandGroup"],"mappings":"gHAKA,SAASA,EAAiB,CACxBC,SAAAA,CAAQ,CACR,GAAGC,EACiC,EACpC,GAAM,CAAEC,UAAAA,CAAS,CAAE,CAAGC,AAAAA,GAAAA,EAAAA,sBAAAA,AAAAA,IAMtB,MAAO,UAACC,EAAAA,YAAYA,CAAAA,CAAE,GAAGH,CAAK,C,SAAGD,C,EACnC,Q"}
1
+ {"version":3,"file":"components\\autocomplete\\autocomplete-list.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete-list.tsx"],"sourcesContent":["import type { ComponentProps } from 'react'\n\nimport { CommandGroup } from '../command'\nimport { useAutoCompleteContext } from './autocomplete-context'\n\nfunction AutoCompleteList({\n children,\n ...props\n}: ComponentProps<typeof CommandGroup>) {\n const { isLoading } = useAutoCompleteContext()\n\n if (isLoading) {\n null\n }\n\n return <CommandGroup {...props}>{children}</CommandGroup>\n}\n\nexport { AutoCompleteList }\n"],"names":["AutoCompleteList","children","props","isLoading","useAutoCompleteContext","CommandGroup"],"mappings":"wJAKA,SAASA,EAAiB,CACxBC,SAAAA,CAAQ,CACR,GAAGC,EACiC,EACpC,GAAM,CAAEC,UAAAA,CAAS,CAAE,CAAGC,IAMtB,OAAO,EAACC,EAAYA,CAAE,GAAGH,CAAK,C,SAAGD,C,EACnC,Q"}
@@ -1,2 +1,2 @@
1
- import*as e from"react/jsx-runtime";import*as t from"cmdk";import*as o from"react";import*as r from"./autocomplete-context.js";function m({children:m,value:n="",onValueChange:a,isLoading:s=!1}){let[u,i]=(0,o.useState)(!1),l=(0,o.useRef)(null);return(0,e.jsx)(r.AutoCompleteContext.Provider,{value:{value:n,onValueChange:a,isOpen:u,onOpenChange:i,inputRef:l,isLoading:s},children:(0,e.jsx)(t.Command,{children:m})})}export{m as AutoComplete};
1
+ import{jsx as r}from"react/jsx-runtime";import{Command as e}from"cmdk";import{useRef as o,useState as t}from"react";import{AutoCompleteContext as m}from"./autocomplete-context.js";function n({children:n,value:i="",onValueChange:c,isLoading:l=!1}){let[p,u]=t(!1),a=o(null);return r(m.Provider,{value:{value:i,onValueChange:c,isOpen:p,onOpenChange:u,inputRef:a,isLoading:l},children:r(e,{children:n})})}export{n as AutoComplete};
2
2
  //# sourceMappingURL=autocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\autocomplete\\autocomplete.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk'\nimport { type ReactNode, useRef, useState } from 'react'\n\nimport { AutoCompleteContext } from './autocomplete-context'\n\ninterface AutoCompleteProps {\n children: ReactNode\n value: string\n onValueChange: (value: string) => void\n isLoading?: boolean\n}\n\nexport function AutoComplete({\n children,\n value = '',\n onValueChange,\n isLoading = false,\n}: AutoCompleteProps) {\n const [isOpen, setIsOpen] = useState(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <AutoCompleteContext.Provider\n value={{\n value,\n onValueChange,\n isOpen,\n onOpenChange: setIsOpen,\n inputRef,\n isLoading,\n }}\n >\n <CommandPrimitive>{children}</CommandPrimitive>\n </AutoCompleteContext.Provider>\n )\n}\n"],"names":["AutoComplete","children","value","onValueChange","isLoading","isOpen","setIsOpen","useState","inputRef","useRef","AutoCompleteContext","CommandPrimitive"],"mappings":"+HAYO,SAASA,EAAa,CAC3BC,SAAAA,CAAQ,CACRC,MAAAA,EAAQ,EAAE,CACVC,cAAAA,CAAa,CACbC,UAAAA,EAAY,EAAK,CACC,EAClB,GAAM,CAACC,EAAQC,EAAU,CAAGC,AAAAA,GAAAA,EAAAA,QAAAA,AAAAA,EAAS,IAE/BC,EAAWC,AAAAA,GAAAA,EAAAA,MAAAA,AAAAA,EAAyB,MAE1C,MACE,UAACC,EAAAA,mBAAAA,CAAAA,QAA4B,EAC3B,MAAO,CACLR,MAAAA,EACAC,cAAAA,EACAE,OAAAA,EACA,aAAcC,EACdE,SAAAA,EACAJ,UAAAA,CACF,E,SAEA,UAACO,EAAAA,OAAgBA,CAAAA,C,SAAEV,C,IAGzB,Q"}
1
+ {"version":3,"file":"components\\autocomplete\\autocomplete.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/autocomplete/autocomplete.tsx"],"sourcesContent":["import { Command as CommandPrimitive } from 'cmdk'\nimport { type ReactNode, useRef, useState } from 'react'\n\nimport { AutoCompleteContext } from './autocomplete-context'\n\ninterface AutoCompleteProps {\n children: ReactNode\n value: string\n onValueChange: (value: string) => void\n isLoading?: boolean\n}\n\nexport function AutoComplete({\n children,\n value = '',\n onValueChange,\n isLoading = false,\n}: AutoCompleteProps) {\n const [isOpen, setIsOpen] = useState(false)\n\n const inputRef = useRef<HTMLInputElement>(null)\n\n return (\n <AutoCompleteContext.Provider\n value={{\n value,\n onValueChange,\n isOpen,\n onOpenChange: setIsOpen,\n inputRef,\n isLoading,\n }}\n >\n <CommandPrimitive>{children}</CommandPrimitive>\n </AutoCompleteContext.Provider>\n )\n}\n"],"names":["AutoComplete","children","value","onValueChange","isLoading","isOpen","setIsOpen","useState","inputRef","useRef","AutoCompleteContext","CommandPrimitive"],"mappings":"oLAYO,SAASA,EAAa,CAC3BC,SAAAA,CAAQ,CACRC,MAAAA,EAAQ,EAAE,CACVC,cAAAA,CAAa,CACbC,UAAAA,EAAY,EAAK,CACC,EAClB,GAAM,CAACC,EAAQC,EAAU,CAAGC,EAAS,IAE/BC,EAAWC,EAAyB,MAE1C,OACE,EAACC,EAAoB,QAAQ,EAC3B,MAAO,CACLR,MAAAA,EACAC,cAAAA,EACAE,OAAAA,EACA,aAAcC,EACdE,SAAAA,EACAJ,UAAAA,CACF,E,SAEA,EAACO,EAAgBA,C,SAAEV,C,IAGzB,Q"}
@@ -1,2 +1,2 @@
1
- import*as a from"react/jsx-runtime";import*as t from"@radix-ui/react-avatar";import*as e from"../lib/utils.js";function r({className:r,...l}){return(0,a.jsx)(t.Root,{"data-slot":"avatar",className:(0,e.cn)("relative flex size-8 shrink-0 overflow-hidden rounded-full",r),...l})}function l({className:r,...l}){return(0,a.jsx)(t.Image,{"data-slot":"avatar-image",className:(0,e.cn)("aspect-square size-full",r),...l})}function s({className:r,...l}){return(0,a.jsx)(t.Fallback,{"data-slot":"avatar-fallback",className:(0,e.cn)("flex size-full items-center justify-center rounded-full bg-muted",r),...l})}export{r as Avatar,s as AvatarFallback,l as AvatarImage};
1
+ import{jsx as a}from"react/jsx-runtime";import{Fallback as t,Image as r,Root as e}from"@radix-ui/react-avatar";import{cn as l}from"../lib/utils.js";function i({className:t,...r}){return a(e,{"data-slot":"avatar",className:l("relative flex size-8 shrink-0 overflow-hidden rounded-full",t),...r})}function s({className:t,...e}){return a(r,{"data-slot":"avatar-image",className:l("aspect-square size-full",t),...e})}function u({className:r,...e}){return a(t,{"data-slot":"avatar-fallback",className:l("flex size-full items-center justify-center rounded-full bg-muted",r),...e})}export{i as Avatar,u as AvatarFallback,s as AvatarImage};
2
2
  //# sourceMappingURL=avatar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\avatar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar'\nimport type { ComponentProps } from 'react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Avatar({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'flex size-full items-center justify-center rounded-full bg-muted',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n"],"names":["Avatar","className","props","AvatarPrimitive","cn","AvatarImage","AvatarFallback"],"mappings":"+GAKA,SAASA,EAAO,CACdC,UAAAA,CAAS,CACT,GAAGC,EACyC,EAC5C,MACE,UAACC,EAAAA,IAAoB,EACnB,YAAU,SACV,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,6DACAH,GAED,GAAGC,CAAK,A,EAGf,CAEA,SAASG,EAAY,CACnBJ,UAAAA,CAAS,CACT,GAAGC,EAC0C,EAC7C,MACE,UAACC,EAAAA,KAAqB,EACpB,YAAU,eACV,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,0BAA2BH,GACxC,GAAGC,CAAK,A,EAGf,CAEA,SAASI,EAAe,CACtBL,UAAAA,CAAS,CACT,GAAGC,EAC6C,EAChD,MACE,UAACC,EAAAA,QAAwB,EACvB,YAAU,kBACV,UAAWC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,mEACAH,GAED,GAAGC,CAAK,A,EAGf,Q"}
1
+ {"version":3,"file":"components\\avatar.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/avatar.tsx"],"sourcesContent":["import * as AvatarPrimitive from '@radix-ui/react-avatar'\nimport type { ComponentProps } from 'react'\n\nimport { cn } from '@/lib/utils'\n\nfunction Avatar({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\n 'relative flex size-8 shrink-0 overflow-hidden rounded-full',\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full', className)}\n {...props}\n />\n )\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\n 'flex size-full items-center justify-center rounded-full bg-muted',\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Avatar, AvatarImage, AvatarFallback }\n"],"names":["Avatar","className","props","AvatarPrimitive","cn","AvatarImage","AvatarFallback"],"mappings":"oJAKA,SAASA,EAAO,CACdC,UAAAA,CAAS,CACT,GAAGC,EACyC,EAC5C,OACE,EAACC,EAAoB,CACnB,YAAU,SACV,UAAWC,EACT,6DACAH,GAED,GAAGC,CAAK,A,EAGf,CAEA,SAASG,EAAY,CACnBJ,UAAAA,CAAS,CACT,GAAGC,EAC0C,EAC7C,OACE,EAACC,EAAqB,CACpB,YAAU,eACV,UAAWC,EAAG,0BAA2BH,GACxC,GAAGC,CAAK,A,EAGf,CAEA,SAASI,EAAe,CACtBL,UAAAA,CAAS,CACT,GAAGC,EAC6C,EAChD,OACE,EAACC,EAAwB,CACvB,YAAU,kBACV,UAAWC,EACT,mEACAH,GAED,GAAGC,CAAK,A,EAGf,Q"}
@@ -1,2 +1,2 @@
1
- import*as t from"react/jsx-runtime";import*as r from"../lib/utils.js";import*as e from"@radix-ui/react-slot";let a=(0,r.tv)({base:"inline-flex items-center rounded-md border px-1.5 py-0.5 font-semibold text-xs transition-colors focus:outline-none focus:ring-1 focus:ring-ring",variants:{variant:{default:"border-transparent bg-primary text-white hover:bg-primary/80",secondary:"border-transparent bg-muted text-foreground hover:bg-muted/80",destructive:"border-transparent bg-destructive text-white hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function o({className:r,asChild:o,variant:n,...i}){let s=o?e.Slot:"span";return(0,t.jsx)(s,{className:a({className:r,variant:n}),...i})}export{o as Badge,a as badgeVariants};
1
+ import{jsx as r}from"react/jsx-runtime";import{tv as t}from"../lib/utils.js";import{Slot as e}from"@radix-ui/react-slot";let n=t({base:"inline-flex items-center rounded-md border px-1.5 py-0.5 font-semibold text-xs transition-colors focus:outline-none focus:ring-1 focus:ring-ring",variants:{variant:{default:"border-transparent bg-primary text-white hover:bg-primary/80",secondary:"border-transparent bg-muted text-foreground hover:bg-muted/80",destructive:"border-transparent bg-destructive text-white hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function o({className:t,asChild:o,variant:a,...i}){return r(o?e:"span",{className:n({className:t,variant:a}),...i})}export{o as Badge,n as badgeVariants};
2
2
  //# sourceMappingURL=badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\badge.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/badge.tsx"],"sourcesContent":["import { ComponentProps, JSX } from 'react'\r\n\r\nimport { VariantProps, tv } from '@/lib/utils'\r\nimport { Slot } from '@radix-ui/react-slot'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Variant: Badge\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst badgeVariants = tv({\r\n base: 'inline-flex items-center rounded-md border px-1.5 py-0.5 font-semibold text-xs transition-colors focus:outline-none focus:ring-1 focus:ring-ring',\r\n variants: {\r\n variant: {\r\n default: 'border-transparent bg-primary text-white hover:bg-primary/80',\r\n secondary:\r\n 'border-transparent bg-muted text-foreground hover:bg-muted/80',\r\n destructive: 'border-transparent bg-destructive text-white hover:bg-destructive/80',\r\n outline: 'text-foreground',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Badge\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Badge({\r\n className,\r\n asChild,\r\n variant,\r\n ...props\r\n}: ComponentProps<'span'> &\r\n VariantProps<typeof badgeVariants> & {\r\n asChild?: boolean\r\n }): JSX.Element {\r\n const Component = asChild ? Slot : 'span'\r\n\r\n return (\r\n <Component className={badgeVariants({ className, variant })} {...props} />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { Badge, badgeVariants }\r\n"],"names":["badgeVariants","tv","Badge","className","asChild","variant","props","Component","Slot"],"mappings":"6GASA,IAAMA,EAAgBC,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,CACvB,KAAM,mJACN,SAAU,CACR,QAAS,CACP,QAAS,+DACT,UACE,gEACF,YAAa,uEACb,QAAS,iBACX,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,GAMA,SAASC,EAAM,CACbC,UAAAA,CAAS,CACTC,QAAAA,CAAO,CACPC,QAAAA,CAAO,CACP,GAAGC,EAIF,EACD,IAAMC,EAAYH,EAAUI,EAAAA,IAAIA,CAAG,OAEnC,MACE,UAACD,EAAAA,CAAU,UAAWP,EAAc,CAAEG,UAAAA,EAAWE,QAAAA,CAAQ,GAAK,GAAGC,CAAK,A,EAE1E,Q"}
1
+ {"version":3,"file":"components\\badge.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/badge.tsx"],"sourcesContent":["import { ComponentProps, JSX } from 'react'\r\n\r\nimport { VariantProps, tv } from '@/lib/utils'\r\nimport { Slot } from '@radix-ui/react-slot'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Variant: Badge\r\n * -------------------------------------------------------------------------- */\r\n\r\nconst badgeVariants = tv({\r\n base: 'inline-flex items-center rounded-md border px-1.5 py-0.5 font-semibold text-xs transition-colors focus:outline-none focus:ring-1 focus:ring-ring',\r\n variants: {\r\n variant: {\r\n default: 'border-transparent bg-primary text-white hover:bg-primary/80',\r\n secondary:\r\n 'border-transparent bg-muted text-foreground hover:bg-muted/80',\r\n destructive: 'border-transparent bg-destructive text-white hover:bg-destructive/80',\r\n outline: 'text-foreground',\r\n },\r\n },\r\n defaultVariants: {\r\n variant: 'default',\r\n },\r\n})\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Badge\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Badge({\r\n className,\r\n asChild,\r\n variant,\r\n ...props\r\n}: ComponentProps<'span'> &\r\n VariantProps<typeof badgeVariants> & {\r\n asChild?: boolean\r\n }): JSX.Element {\r\n const Component = asChild ? Slot : 'span'\r\n\r\n return (\r\n <Component className={badgeVariants({ className, variant })} {...props} />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport { Badge, badgeVariants }\r\n"],"names":["badgeVariants","tv","Badge","className","asChild","variant","props","Slot","Component"],"mappings":"yHASA,IAAMA,EAAgBC,EAAG,CACvB,KAAM,mJACN,SAAU,CACR,QAAS,CACP,QAAS,+DACT,UACE,gEACF,YAAa,uEACb,QAAS,iBACX,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,GAMA,SAASC,EAAM,CACbC,UAAAA,CAAS,CACTC,QAAAA,CAAO,CACPC,QAAAA,CAAO,CACP,GAAGC,EAIF,EAGD,OACE,EAHgBF,EAAUG,EAAO,OAGhCC,CAAU,UAAWR,EAAc,CAAEG,UAAAA,EAAWE,QAAAA,CAAQ,GAAK,GAAGC,CAAK,A,EAE1E,Q"}
@@ -1,2 +1,2 @@
1
- import*as r from"react/jsx-runtime";import*as a from"@radix-ui/react-slot";import*as e from"../lib/utils.js";import*as t from"lucide-react";import*as s from"next/link";function n({...a}){return(0,r.jsx)("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...a})}function l({className:a,...t}){return(0,r.jsx)("ol",{className:(0,e.cn)("flex flex-wrap items-center gap-1.5 break-words text-gbm-dark sm:gap-2.5",a),"data-slot":"breadcrumb-list",...t})}function i({className:a,...t}){return(0,r.jsx)("li",{className:(0,e.cn)("inline-flex items-center gap-1.5 text-gray-500 last:h-8 last:rounded last:border last:border-stroke last:bg-header last:px-2.5 last:font-medium last:text-gbm-dark last:opacity-100",a),"data-slot":"breadcrumb-item",...t})}function c({asChild:t,className:n,...l}){let i=t?a.Slot:s.default;return(0,r.jsx)(i,{className:(0,e.cn)("hover:underline",n),"data-slot":"breadcrumb-link",...l})}function o({className:a,...e}){return(0,r.jsx)("span",{"aria-current":"page","aria-disabled":"true",className:a,"data-slot":"breadcrumb-page",role:"link",...e})}function d({children:a,className:s,...n}){return(0,r.jsx)("li",{"aria-hidden":"true","data-slot":"breadcrumb-separator",role:"presentation",className:(0,e.cn)("[&>svg]:size-4.5",s),...n,children:a??(0,r.jsx)(t.ChevronRightIcon,{className:"stroke-2"})})}function m({className:a,...t}){return(0,r.jsxs)("span",{"aria-hidden":"true",className:(0,e.cn)("flex items-center justify-center",a),"data-slot":"breadcrumb-ellipsis",role:"presentation",...t,children:[(0,r.jsx)("span",{children:"..."}),(0,r.jsx)("span",{className:"sr-only",children:"More"})]})}export{n as Breadcrumb,m as BreadcrumbEllipsis,i as BreadcrumbItem,c as BreadcrumbLink,l as BreadcrumbList,o as BreadcrumbPage,d as BreadcrumbSeparator};
1
+ import{jsx as r,jsxs as e}from"react/jsx-runtime";import{Slot as a}from"@radix-ui/react-slot";import{cn as t}from"../lib/utils.js";import{ChevronRightIcon as s}from"lucide-react";import l from"next/link";function i({...e}){return r("nav",{"aria-label":"breadcrumb","data-slot":"breadcrumb",...e})}function n({className:e,...a}){return r("ol",{className:t("flex flex-wrap items-center gap-1.5 break-words text-gbm-dark sm:gap-2.5",e),"data-slot":"breadcrumb-list",...a})}function o({className:e,...a}){return r("li",{className:t("inline-flex items-center gap-1.5 text-gray-500 last:h-8 last:rounded last:border last:border-stroke last:bg-header last:px-2.5 last:font-medium last:text-gbm-dark last:opacity-100",e),"data-slot":"breadcrumb-item",...a})}function c({asChild:e,className:s,...i}){return r(e?a:l,{className:t("hover:underline",s),"data-slot":"breadcrumb-link",...i})}function d({className:e,...a}){return r("span",{"aria-current":"page","aria-disabled":"true",className:e,"data-slot":"breadcrumb-page",role:"link",...a})}function m({children:e,className:a,...l}){return r("li",{"aria-hidden":"true","data-slot":"breadcrumb-separator",role:"presentation",className:t("[&>svg]:size-4.5",a),...l,children:e??r(s,{className:"stroke-2"})})}function u({className:a,...s}){return e("span",{"aria-hidden":"true",className:t("flex items-center justify-center",a),"data-slot":"breadcrumb-ellipsis",role:"presentation",...s,children:[r("span",{children:"..."}),r("span",{className:"sr-only",children:"More"})]})}export{i as Breadcrumb,u as BreadcrumbEllipsis,o as BreadcrumbItem,c as BreadcrumbLink,n as BreadcrumbList,d as BreadcrumbPage,m as BreadcrumbSeparator};
2
2
  //# sourceMappingURL=breadcrumb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"components\\breadcrumb.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/breadcrumb.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\r\nimport { ComponentProps, JSX, ReactNode } from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\nimport { ChevronRightIcon } from 'lucide-react'\r\nimport Link from 'next/link'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Breadcrumb\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Breadcrumb({\r\n ...props\r\n}: ComponentProps<'nav'> & {\r\n separator?: ReactNode\r\n}): JSX.Element {\r\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbList\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbList({\r\n className,\r\n ...props\r\n}: ComponentProps<'ol'>): JSX.Element {\r\n return (\r\n <ol\r\n className={cn(\r\n 'flex flex-wrap items-center gap-1.5 break-words text-gbm-dark sm:gap-2.5',\r\n className\r\n )}\r\n data-slot=\"breadcrumb-list\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbItem\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbItem({\r\n className,\r\n ...props\r\n}: ComponentProps<'li'>): JSX.Element {\r\n return (\r\n <li\r\n className={cn(\r\n 'inline-flex items-center gap-1.5 text-gray-500 last:h-8 last:rounded last:border last:border-stroke last:bg-header last:px-2.5 last:font-medium last:text-gbm-dark last:opacity-100',\r\n className\r\n )}\r\n data-slot=\"breadcrumb-item\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbLink\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbLink({\r\n asChild,\r\n className,\r\n ...props\r\n}: ComponentProps<typeof Link> & {\r\n asChild?: boolean\r\n}): JSX.Element {\r\n const Component = asChild ? Slot : Link\r\n\r\n return (\r\n <Component\r\n className={cn('hover:underline', className)}\r\n data-slot=\"breadcrumb-link\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbPage\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbPage({\r\n className,\r\n ...props\r\n}: ComponentProps<'span'>): JSX.Element {\r\n return (\r\n <span\r\n aria-current=\"page\"\r\n aria-disabled=\"true\"\r\n className={className}\r\n data-slot=\"breadcrumb-page\"\r\n role=\"link\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbSeparator\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbSeparator({\r\n children,\r\n className,\r\n ...props\r\n}: ComponentProps<'li'>): JSX.Element {\r\n return (\r\n <li\r\n aria-hidden=\"true\"\r\n data-slot=\"breadcrumb-separator\"\r\n role=\"presentation\"\r\n className={cn('[&>svg]:size-4.5', className)}\r\n {...props}\r\n >\r\n {children ?? <ChevronRightIcon className=\"stroke-2\" />}\r\n </li>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbEllipsis\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbEllipsis({\r\n className,\r\n ...props\r\n}: ComponentProps<'span'>): JSX.Element {\r\n return (\r\n <span\r\n aria-hidden=\"true\"\r\n className={cn('flex items-center justify-center', className)}\r\n data-slot=\"breadcrumb-ellipsis\"\r\n role=\"presentation\"\r\n {...props}\r\n >\r\n <span>...</span>\r\n <span className=\"sr-only\">More</span>\r\n </span>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport {\r\n Breadcrumb,\r\n BreadcrumbList,\r\n BreadcrumbItem,\r\n BreadcrumbLink,\r\n BreadcrumbPage,\r\n BreadcrumbSeparator,\r\n BreadcrumbEllipsis,\r\n}\r\n"],"names":["Breadcrumb","props","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Component","Slot","Link","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRightIcon","BreadcrumbEllipsis"],"mappings":"wKAWA,SAASA,EAAW,CAClB,GAAGC,EAGJ,EACC,MAAO,UAAC,OAAI,aAAW,aAAa,YAAU,aAAc,GAAGA,CAAK,A,EACtE,CAMA,SAASC,EAAe,CACtBC,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,MACE,UAAC,MACC,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,2EACAD,GAEF,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASI,EAAe,CACtBF,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,MACE,UAAC,MACC,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EACT,sLACAD,GAEF,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASK,EAAe,CACtBC,QAAAA,CAAO,CACPJ,UAAAA,CAAS,CACT,GAAGF,EAGJ,EACC,IAAMO,EAAYD,EAAUE,EAAAA,IAAIA,CAAGC,EAAAA,OAAIA,CAEvC,MACE,UAACF,EAAAA,CACC,UAAWJ,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,kBAAmBD,GACjC,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASU,EAAe,CACtBR,UAAAA,CAAS,CACT,GAAGF,EACoB,EACvB,MACE,UAAC,QACC,eAAa,OACb,gBAAc,OACd,UAAWE,EACX,YAAU,kBACV,KAAK,OACJ,GAAGF,CAAK,A,EAGf,CAMA,SAASW,EAAoB,CAC3BC,SAAAA,CAAQ,CACRV,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,MACE,UAAC,MACC,cAAY,OACZ,YAAU,uBACV,KAAK,eACL,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,mBAAoBD,GACjC,GAAGF,CAAK,C,SAERY,GAAY,UAACC,EAAAA,gBAAgBA,CAAAA,CAAC,UAAU,U,IAG/C,CAMA,SAASC,EAAmB,CAC1BZ,UAAAA,CAAS,CACT,GAAGF,EACoB,EACvB,MACE,WAAC,QACC,cAAY,OACZ,UAAWG,AAAAA,GAAAA,EAAAA,EAAAA,AAAAA,EAAG,mCAAoCD,GAClD,YAAU,sBACV,KAAK,eACJ,GAAGF,CAAK,C,UAET,UAAC,Q,SAAK,K,GACN,UAAC,QAAK,UAAU,U,SAAU,M,KAGhC,Q"}
1
+ {"version":3,"file":"components\\breadcrumb.js","sources":["webpack://@gbmtech/aurora-ui/./src/components/breadcrumb.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot'\r\nimport { ComponentProps, JSX, ReactNode } from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\nimport { ChevronRightIcon } from 'lucide-react'\r\nimport Link from 'next/link'\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: Breadcrumb\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction Breadcrumb({\r\n ...props\r\n}: ComponentProps<'nav'> & {\r\n separator?: ReactNode\r\n}): JSX.Element {\r\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbList\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbList({\r\n className,\r\n ...props\r\n}: ComponentProps<'ol'>): JSX.Element {\r\n return (\r\n <ol\r\n className={cn(\r\n 'flex flex-wrap items-center gap-1.5 break-words text-gbm-dark sm:gap-2.5',\r\n className\r\n )}\r\n data-slot=\"breadcrumb-list\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbItem\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbItem({\r\n className,\r\n ...props\r\n}: ComponentProps<'li'>): JSX.Element {\r\n return (\r\n <li\r\n className={cn(\r\n 'inline-flex items-center gap-1.5 text-gray-500 last:h-8 last:rounded last:border last:border-stroke last:bg-header last:px-2.5 last:font-medium last:text-gbm-dark last:opacity-100',\r\n className\r\n )}\r\n data-slot=\"breadcrumb-item\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbLink\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbLink({\r\n asChild,\r\n className,\r\n ...props\r\n}: ComponentProps<typeof Link> & {\r\n asChild?: boolean\r\n}): JSX.Element {\r\n const Component = asChild ? Slot : Link\r\n\r\n return (\r\n <Component\r\n className={cn('hover:underline', className)}\r\n data-slot=\"breadcrumb-link\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbPage\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbPage({\r\n className,\r\n ...props\r\n}: ComponentProps<'span'>): JSX.Element {\r\n return (\r\n <span\r\n aria-current=\"page\"\r\n aria-disabled=\"true\"\r\n className={className}\r\n data-slot=\"breadcrumb-page\"\r\n role=\"link\"\r\n {...props}\r\n />\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbSeparator\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbSeparator({\r\n children,\r\n className,\r\n ...props\r\n}: ComponentProps<'li'>): JSX.Element {\r\n return (\r\n <li\r\n aria-hidden=\"true\"\r\n data-slot=\"breadcrumb-separator\"\r\n role=\"presentation\"\r\n className={cn('[&>svg]:size-4.5', className)}\r\n {...props}\r\n >\r\n {children ?? <ChevronRightIcon className=\"stroke-2\" />}\r\n </li>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Component: BreadcrumbEllipsis\r\n * -------------------------------------------------------------------------- */\r\n\r\nfunction BreadcrumbEllipsis({\r\n className,\r\n ...props\r\n}: ComponentProps<'span'>): JSX.Element {\r\n return (\r\n <span\r\n aria-hidden=\"true\"\r\n className={cn('flex items-center justify-center', className)}\r\n data-slot=\"breadcrumb-ellipsis\"\r\n role=\"presentation\"\r\n {...props}\r\n >\r\n <span>...</span>\r\n <span className=\"sr-only\">More</span>\r\n </span>\r\n )\r\n}\r\n\r\n/* -----------------------------------------------------------------------------\r\n * Exports\r\n * -------------------------------------------------------------------------- */\r\n\r\nexport {\r\n Breadcrumb,\r\n BreadcrumbList,\r\n BreadcrumbItem,\r\n BreadcrumbLink,\r\n BreadcrumbPage,\r\n BreadcrumbSeparator,\r\n BreadcrumbEllipsis,\r\n}\r\n"],"names":["Breadcrumb","props","BreadcrumbList","className","cn","BreadcrumbItem","BreadcrumbLink","asChild","Slot","Link","Component","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRightIcon","BreadcrumbEllipsis"],"mappings":"4MAWA,SAASA,EAAW,CAClB,GAAGC,EAGJ,EACC,OAAO,EAAC,OAAI,aAAW,aAAa,YAAU,aAAc,GAAGA,CAAK,A,EACtE,CAMA,SAASC,EAAe,CACtBC,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,OACE,EAAC,MACC,UAAWG,EACT,2EACAD,GAEF,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASI,EAAe,CACtBF,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,OACE,EAAC,MACC,UAAWG,EACT,sLACAD,GAEF,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASK,EAAe,CACtBC,QAAAA,CAAO,CACPJ,UAAAA,CAAS,CACT,GAAGF,EAGJ,EAGC,OACE,EAHgBM,EAAUC,EAAOC,EAGhCC,CACC,UAAWN,EAAG,kBAAmBD,GACjC,YAAU,kBACT,GAAGF,CAAK,A,EAGf,CAMA,SAASU,EAAe,CACtBR,UAAAA,CAAS,CACT,GAAGF,EACoB,EACvB,OACE,EAAC,QACC,eAAa,OACb,gBAAc,OACd,UAAWE,EACX,YAAU,kBACV,KAAK,OACJ,GAAGF,CAAK,A,EAGf,CAMA,SAASW,EAAoB,CAC3BC,SAAAA,CAAQ,CACRV,UAAAA,CAAS,CACT,GAAGF,EACkB,EACrB,OACE,EAAC,MACC,cAAY,OACZ,YAAU,uBACV,KAAK,eACL,UAAWG,EAAG,mBAAoBD,GACjC,GAAGF,CAAK,C,SAERY,GAAY,EAACC,EAAgBA,CAAC,UAAU,U,IAG/C,CAMA,SAASC,EAAmB,CAC1BZ,UAAAA,CAAS,CACT,GAAGF,EACoB,EACvB,OACE,EAAC,QACC,cAAY,OACZ,UAAWG,EAAG,mCAAoCD,GAClD,YAAU,sBACV,KAAK,eACJ,GAAGF,CAAK,C,UAET,EAAC,Q,SAAK,K,GACN,EAAC,QAAK,UAAU,U,SAAU,M,KAGhC,Q"}