@slashclick/ui 0.1.14 → 0.1.16

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 (200) hide show
  1. package/README.md +108 -108
  2. package/dist/components/auth/providers.cjs.map +1 -1
  3. package/dist/components/auth/providers.js.map +1 -1
  4. package/dist/components/card/back-button.cjs.map +1 -1
  5. package/dist/components/card/back-button.js.map +1 -1
  6. package/dist/components/card/card-wrapper.cjs.map +1 -1
  7. package/dist/components/card/card-wrapper.js.map +1 -1
  8. package/dist/components/card/header.cjs.map +1 -1
  9. package/dist/components/card/header.js.map +1 -1
  10. package/dist/components/combobox/ComboList.cjs.map +1 -1
  11. package/dist/components/combobox/ComboList.js.map +1 -1
  12. package/dist/components/combobox/index.cjs.map +1 -1
  13. package/dist/components/combobox/index.js.map +1 -1
  14. package/dist/components/dashboard/account-select.cjs.map +1 -1
  15. package/dist/components/dashboard/account-select.js.map +1 -1
  16. package/dist/components/dashboard/account-switcher.cjs.map +1 -1
  17. package/dist/components/dashboard/account-switcher.js.map +1 -1
  18. package/dist/components/dashboard/sidebar/CollapsibleSection.cjs.map +1 -1
  19. package/dist/components/dashboard/sidebar/CollapsibleSection.js.map +1 -1
  20. package/dist/components/dashboard/sidebar/CollapsibleSection.styles.cjs.map +1 -1
  21. package/dist/components/dashboard/sidebar/CollapsibleSection.styles.js.map +1 -1
  22. package/dist/components/dashboard/sidebar/EntityList.cjs.map +1 -1
  23. package/dist/components/dashboard/sidebar/EntityList.js.map +1 -1
  24. package/dist/components/dashboard/sidebar/EntityList.styles.cjs.map +1 -1
  25. package/dist/components/dashboard/sidebar/EntityList.styles.js.map +1 -1
  26. package/dist/components/dashboard/sidebar/SectionHeader.cjs.map +1 -1
  27. package/dist/components/dashboard/sidebar/SectionHeader.js.map +1 -1
  28. package/dist/components/dashboard/sidebar/SectionHeader.styles.cjs.map +1 -1
  29. package/dist/components/dashboard/sidebar/SectionHeader.styles.js.map +1 -1
  30. package/dist/components/dashboard/sidebar/index.cjs.map +1 -1
  31. package/dist/components/dashboard/sidebar/index.js.map +1 -1
  32. package/dist/components/dashboard/sidebar/sidebar.cjs.map +1 -1
  33. package/dist/components/dashboard/sidebar/sidebar.js.map +1 -1
  34. package/dist/components/dashboard/sidebar/tabs.cjs.map +1 -1
  35. package/dist/components/dashboard/sidebar/tabs.js.map +1 -1
  36. package/dist/components/dashboard/sidebar/types.cjs.map +1 -1
  37. package/dist/components/dashboard/sidebar-nav.cjs.map +1 -1
  38. package/dist/components/dashboard/sidebar-nav.js.map +1 -1
  39. package/dist/components/dashboard/utils/build-nav.cjs.map +1 -1
  40. package/dist/components/dashboard/utils/build-nav.js.map +1 -1
  41. package/dist/components/dashboard/with-dashboard.cjs.map +1 -1
  42. package/dist/components/dashboard/with-dashboard.js.map +1 -1
  43. package/dist/components/detail/DetailLayout.styles.cjs.map +1 -1
  44. package/dist/components/detail/DetailLayout.styles.js.map +1 -1
  45. package/dist/components/detail/index.cjs.map +1 -1
  46. package/dist/components/detail/index.js.map +1 -1
  47. package/dist/components/flowbite/card-images.cjs.map +1 -1
  48. package/dist/components/flowbite/card-images.js.map +1 -1
  49. package/dist/components/flowbite/gallery.cjs.map +1 -1
  50. package/dist/components/flowbite/gallery.js.map +1 -1
  51. package/dist/components/flowbite/masonry.cjs.map +1 -1
  52. package/dist/components/flowbite/masonry.js.map +1 -1
  53. package/dist/components/flowbite/search-hero.cjs.map +1 -1
  54. package/dist/components/flowbite/search-hero.js.map +1 -1
  55. package/dist/components/generic/copyright.cjs.map +1 -1
  56. package/dist/components/generic/copyright.js.map +1 -1
  57. package/dist/components/generic/icons.cjs.map +1 -1
  58. package/dist/components/generic/icons.js.map +1 -1
  59. package/dist/components/generic/link.cjs.map +1 -1
  60. package/dist/components/generic/link.js.map +1 -1
  61. package/dist/components/header/header.cjs +16 -5
  62. package/dist/components/header/header.cjs.map +1 -1
  63. package/dist/components/header/header.d.ts +1 -1
  64. package/dist/components/header/header.d.ts.map +1 -1
  65. package/dist/components/header/header.js +6 -5
  66. package/dist/components/header/header.js.map +1 -1
  67. package/dist/components/header/internal/main-nav.cjs.map +1 -1
  68. package/dist/components/header/internal/main-nav.js.map +1 -1
  69. package/dist/components/header/internal/mobile-nav.cjs.map +1 -1
  70. package/dist/components/header/internal/mobile-nav.js.map +1 -1
  71. package/dist/components/header/internal/mode-toggle.cjs.map +1 -1
  72. package/dist/components/header/internal/mode-toggle.js.map +1 -1
  73. package/dist/components/header/internal/site-header.cjs.map +1 -1
  74. package/dist/components/header/internal/site-header.js.map +1 -1
  75. package/dist/components/header/langbutton/langbutton.cjs.map +1 -1
  76. package/dist/components/header/langbutton/langbutton.js.map +1 -1
  77. package/dist/components/header/userbutton/user-dropdown.cjs.map +1 -1
  78. package/dist/components/header/userbutton/user-dropdown.js.map +1 -1
  79. package/dist/components/header/userbutton/userbutton.cjs.map +1 -1
  80. package/dist/components/header/userbutton/userbutton.js.map +1 -1
  81. package/dist/components/hooks/use-page-nav.cjs.map +1 -1
  82. package/dist/components/hooks/use-page-nav.js.map +1 -1
  83. package/dist/components/hooks/use-user-entities.cjs.map +1 -1
  84. package/dist/components/hooks/use-user-entities.js.map +1 -1
  85. package/dist/components/icons/apple.cjs.map +1 -1
  86. package/dist/components/icons/apple.js.map +1 -1
  87. package/dist/components/icons/facebook.cjs.map +1 -1
  88. package/dist/components/icons/facebook.js.map +1 -1
  89. package/dist/components/icons/github.cjs.map +1 -1
  90. package/dist/components/icons/github.js.map +1 -1
  91. package/dist/components/icons/google.cjs.map +1 -1
  92. package/dist/components/icons/google.js.map +1 -1
  93. package/dist/components/icons/logo.cjs.map +1 -1
  94. package/dist/components/icons/logo.js.map +1 -1
  95. package/dist/components/lightbox/GallerySection.cjs.map +1 -1
  96. package/dist/components/lightbox/GallerySection.js.map +1 -1
  97. package/dist/components/lightbox/ImageLightbox.cjs.map +1 -1
  98. package/dist/components/lightbox/ImageLightbox.js.map +1 -1
  99. package/dist/components/lightbox/ImageLightbox.types.cjs.map +1 -1
  100. package/dist/components/lightbox/index.cjs.map +1 -1
  101. package/dist/components/lightbox/index.js.map +1 -1
  102. package/dist/components/lightbox/useEntityLightbox.cjs.map +1 -1
  103. package/dist/components/lightbox/useEntityLightbox.js.map +1 -1
  104. package/dist/components/lightbox/useLightbox.cjs.map +1 -1
  105. package/dist/components/lightbox/useLightbox.js.map +1 -1
  106. package/dist/components/search/search.cjs.map +1 -1
  107. package/dist/components/search/search.js.map +1 -1
  108. package/dist/components/tailwind/contact.cjs.map +1 -1
  109. package/dist/components/tailwind/contact.js.map +1 -1
  110. package/dist/components/tailwind/content-page.cjs.map +1 -1
  111. package/dist/components/tailwind/content-page.js.map +1 -1
  112. package/dist/components/tailwind/feature.cjs.map +1 -1
  113. package/dist/components/tailwind/feature.js.map +1 -1
  114. package/dist/components/tailwind/featurelist.cjs.map +1 -1
  115. package/dist/components/tailwind/featurelist.js.map +1 -1
  116. package/dist/components/tailwind/footer.cjs.map +1 -1
  117. package/dist/components/tailwind/footer.js.map +1 -1
  118. package/dist/components/tailwind/hero.cjs.map +1 -1
  119. package/dist/components/tailwind/hero.js.map +1 -1
  120. package/dist/components/tailwind/pricing.cjs +1 -1
  121. package/dist/components/tailwind/pricing.cjs.map +1 -1
  122. package/dist/components/tailwind/pricing.js +1 -1
  123. package/dist/components/tailwind/pricing.js.map +1 -1
  124. package/dist/components/tailwind/privacy.cjs.map +1 -1
  125. package/dist/components/tailwind/privacy.js.map +1 -1
  126. package/dist/components/tailwind/providerIcons.cjs.map +1 -1
  127. package/dist/components/tailwind/providerIcons.js.map +1 -1
  128. package/dist/components/ui/avatar.cjs.map +1 -1
  129. package/dist/components/ui/avatar.js.map +1 -1
  130. package/dist/components/ui/breadcrumb.cjs.map +1 -1
  131. package/dist/components/ui/breadcrumb.js.map +1 -1
  132. package/dist/components/ui/button.cjs.map +1 -1
  133. package/dist/components/ui/button.js.map +1 -1
  134. package/dist/components/ui/card.cjs.map +1 -1
  135. package/dist/components/ui/card.js.map +1 -1
  136. package/dist/components/ui/checkbox.cjs.map +1 -1
  137. package/dist/components/ui/checkbox.js.map +1 -1
  138. package/dist/components/ui/command.cjs.map +1 -1
  139. package/dist/components/ui/command.d.ts.map +1 -1
  140. package/dist/components/ui/command.js.map +1 -1
  141. package/dist/components/ui/dialog.cjs.map +1 -1
  142. package/dist/components/ui/dialog.js.map +1 -1
  143. package/dist/components/ui/drawer.cjs.map +1 -1
  144. package/dist/components/ui/drawer.js.map +1 -1
  145. package/dist/components/ui/dropdown-menu.cjs.map +1 -1
  146. package/dist/components/ui/dropdown-menu.js.map +1 -1
  147. package/dist/components/ui/input.cjs.map +1 -1
  148. package/dist/components/ui/input.js.map +1 -1
  149. package/dist/components/ui/label.cjs.map +1 -1
  150. package/dist/components/ui/label.js.map +1 -1
  151. package/dist/components/ui/menubar.cjs.map +1 -1
  152. package/dist/components/ui/menubar.js.map +1 -1
  153. package/dist/components/ui/navigation-menu.cjs.map +1 -1
  154. package/dist/components/ui/navigation-menu.js.map +1 -1
  155. package/dist/components/ui/popover.cjs.map +1 -1
  156. package/dist/components/ui/popover.js.map +1 -1
  157. package/dist/components/ui/resizable.cjs.map +1 -1
  158. package/dist/components/ui/resizable.js.map +1 -1
  159. package/dist/components/ui/scroll-area.cjs.map +1 -1
  160. package/dist/components/ui/scroll-area.js.map +1 -1
  161. package/dist/components/ui/select.cjs.map +1 -1
  162. package/dist/components/ui/select.js.map +1 -1
  163. package/dist/components/ui/sheet.cjs.map +1 -1
  164. package/dist/components/ui/sheet.js.map +1 -1
  165. package/dist/components/ui/skeleton.cjs.map +1 -1
  166. package/dist/components/ui/skeleton.js.map +1 -1
  167. package/dist/components/ui/spinner.cjs.map +1 -1
  168. package/dist/components/ui/spinner.js.map +1 -1
  169. package/dist/components/ui/switch.cjs.map +1 -1
  170. package/dist/components/ui/switch.js.map +1 -1
  171. package/dist/components/ui/tabs.cjs.map +1 -1
  172. package/dist/components/ui/tabs.js.map +1 -1
  173. package/dist/components/ui/textarea.cjs.map +1 -1
  174. package/dist/components/ui/textarea.js.map +1 -1
  175. package/dist/components/ui/toast.cjs.map +1 -1
  176. package/dist/components/ui/toast.js.map +1 -1
  177. package/dist/components/ui/toaster.cjs.map +1 -1
  178. package/dist/components/ui/toaster.js.map +1 -1
  179. package/dist/components/ui/tooltip.cjs.map +1 -1
  180. package/dist/components/ui/tooltip.js.map +1 -1
  181. package/dist/components/ui/use-toast.cjs.map +1 -1
  182. package/dist/components/ui/use-toast.js.map +1 -1
  183. package/dist/components/upgrade-prompt/UpgradePrompt.cjs.map +1 -1
  184. package/dist/components/upgrade-prompt/UpgradePrompt.js.map +1 -1
  185. package/dist/components/upgrade-prompt/index.cjs.map +1 -1
  186. package/dist/components/upgrade-prompt/index.js.map +1 -1
  187. package/dist/hooks/useRecaptcha.cjs.map +1 -1
  188. package/dist/hooks/useRecaptcha.js.map +1 -1
  189. package/dist/lib/utils.cjs.map +1 -1
  190. package/dist/lib/utils.js.map +1 -1
  191. package/dist/styles.css +1 -1
  192. package/dist/types/nav.cjs.map +1 -1
  193. package/dist/types/sitemap.cjs.map +1 -1
  194. package/dist/types/unist.cjs.map +1 -1
  195. package/package.json +14 -7
  196. package/styles/theme.css +52 -52
  197. package/dist/lib/utils.d.cjs +0 -17
  198. package/dist/lib/utils.d.cjs.map +0 -1
  199. package/dist/lib/utils.d.js +0 -1
  200. package/dist/lib/utils.d.js.map +0 -1
package/README.md CHANGED
@@ -1,108 +1,108 @@
1
- # @slashclick/ui
2
-
3
- Shared React component library built on Radix UI, shadcn/ui, and Tailwind CSS v4.
4
-
5
- ## Installation
6
-
7
- ```bash
8
- npm install @slashclick/ui
9
- ```
10
-
11
- Peer dependencies (install separately):
12
-
13
- ```bash
14
- npm install next react react-dom
15
- ```
16
-
17
- ## Tailwind CSS Setup
18
-
19
- The package ships pre-built JS/CSS. Add the design tokens and scan the package's class names in your app's Tailwind config.
20
-
21
- ### 1. Import the base CSS
22
-
23
- In your root layout or global CSS:
24
-
25
- ```css
26
- /* app/globals.css */
27
- @import '@slashclick/ui/styles.css';
28
-
29
- /* Add your own @source so Tailwind generates classes used by the components */
30
- @source "../node_modules/@slashclick/ui/dist/**/*.js";
31
- ```
32
-
33
- ### 2. Update your CSS entry point
34
-
35
- If your app uses Tailwind v4 CSS-first config, the `@source` directive above is all you need.
36
-
37
- For Tailwind v3 (`tailwind.config.js`), add to `content`:
38
-
39
- ```js
40
- module.exports = {
41
- content: [
42
- // your app files...
43
- './node_modules/@slashclick/ui/dist/**/*.{js,cjs}',
44
- ],
45
- }
46
- ```
47
-
48
- ## Usage
49
-
50
- Import components directly from their subpath:
51
-
52
- ```tsx
53
- import { Button } from '@slashclick/ui/components/ui/button'
54
- import { Dialog, DialogContent } from '@slashclick/ui/components/ui/dialog'
55
- import { cn } from '@slashclick/ui/lib/utils'
56
- ```
57
-
58
- ### TypeScript path aliases (optional)
59
-
60
- Add to your `tsconfig.json` for shorter imports:
61
-
62
- ```json
63
- {
64
- "compilerOptions": {
65
- "paths": {
66
- "@slashclick/ui/*": ["./node_modules/@slashclick/ui/*"]
67
- }
68
- }
69
- }
70
- ```
71
-
72
- ## Theme
73
-
74
- The package uses CSS variables for theming. Dark mode is toggled by setting `data-theme="dark"` on any ancestor element:
75
-
76
- ```tsx
77
- // Light mode (default)
78
- <html>...</html>
79
-
80
- // Dark mode
81
- <html data-theme="dark">...</html>
82
- ```
83
-
84
- ## Available Components
85
-
86
- | Path | Components |
87
- |------|-----------|
88
- | `components/ui/button` | `Button`, `buttonVariants` |
89
- | `components/ui/dialog` | `Dialog`, `DialogContent`, `DialogTrigger`, ... |
90
- | `components/ui/card` | `Card`, `CardHeader`, `CardContent`, ... |
91
- | `components/ui/input` | `Input` |
92
- | `components/ui/select` | `Select`, `SelectContent`, `SelectItem`, ... |
93
- | `components/ui/tabs` | `Tabs`, `TabsContent`, `TabsList`, `TabsTrigger` |
94
- | `components/ui/dropdown-menu` | `DropdownMenu`, `DropdownMenuContent`, ... |
95
- | `components/ui/toast` | `Toast`, `Toaster`, `useToast` |
96
- | `components/lightbox` | `ImageLightbox`, `GallerySection`, `useEntityLightbox` |
97
- | `components/dashboard/sidebar` | `Sidebar`, `CollapsibleSection`, `EntityList` |
98
- | `lib/utils` | `cn`, `formatDate`, `absoluteUrl` |
99
-
100
- ## Publishing
101
-
102
- ```bash
103
- # From the monorepo root
104
- cd packages/ui
105
- npm publish
106
- ```
107
-
108
- The `prepublishOnly` script runs `pnpm clean && pnpm build` automatically.
1
+ # @slashclick/ui
2
+
3
+ Shared React component library built on Radix UI, shadcn/ui, and Tailwind CSS v4.
4
+
5
+ ## Installation
6
+
7
+ ```bash
8
+ npm install @slashclick/ui
9
+ ```
10
+
11
+ Peer dependencies (install separately):
12
+
13
+ ```bash
14
+ npm install next react react-dom
15
+ ```
16
+
17
+ ## Tailwind CSS Setup
18
+
19
+ The package ships pre-built JS/CSS. Add the design tokens and scan the package's class names in your app's Tailwind config.
20
+
21
+ ### 1. Import the base CSS
22
+
23
+ In your root layout or global CSS:
24
+
25
+ ```css
26
+ /* app/globals.css */
27
+ @import '@slashclick/ui/styles.css';
28
+
29
+ /* Add your own @source so Tailwind generates classes used by the components */
30
+ @source "../node_modules/@slashclick/ui/dist/**/*.js";
31
+ ```
32
+
33
+ ### 2. Update your CSS entry point
34
+
35
+ If your app uses Tailwind v4 CSS-first config, the `@source` directive above is all you need.
36
+
37
+ For Tailwind v3 (`tailwind.config.js`), add to `content`:
38
+
39
+ ```js
40
+ module.exports = {
41
+ content: [
42
+ // your app files...
43
+ './node_modules/@slashclick/ui/dist/**/*.{js,cjs}',
44
+ ],
45
+ }
46
+ ```
47
+
48
+ ## Usage
49
+
50
+ Import components directly from their subpath:
51
+
52
+ ```tsx
53
+ import { Button } from '@slashclick/ui/components/ui/button'
54
+ import { Dialog, DialogContent } from '@slashclick/ui/components/ui/dialog'
55
+ import { cn } from '@slashclick/ui/lib/utils'
56
+ ```
57
+
58
+ ### TypeScript path aliases (optional)
59
+
60
+ Add to your `tsconfig.json` for shorter imports:
61
+
62
+ ```json
63
+ {
64
+ "compilerOptions": {
65
+ "paths": {
66
+ "@slashclick/ui/*": ["./node_modules/@slashclick/ui/*"]
67
+ }
68
+ }
69
+ }
70
+ ```
71
+
72
+ ## Theme
73
+
74
+ The package uses CSS variables for theming. Dark mode is toggled by setting `data-theme="dark"` on any ancestor element:
75
+
76
+ ```tsx
77
+ // Light mode (default)
78
+ <html>...</html>
79
+
80
+ // Dark mode
81
+ <html data-theme="dark">...</html>
82
+ ```
83
+
84
+ ## Available Components
85
+
86
+ | Path | Components |
87
+ |------|-----------|
88
+ | `components/ui/button` | `Button`, `buttonVariants` |
89
+ | `components/ui/dialog` | `Dialog`, `DialogContent`, `DialogTrigger`, ... |
90
+ | `components/ui/card` | `Card`, `CardHeader`, `CardContent`, ... |
91
+ | `components/ui/input` | `Input` |
92
+ | `components/ui/select` | `Select`, `SelectContent`, `SelectItem`, ... |
93
+ | `components/ui/tabs` | `Tabs`, `TabsContent`, `TabsList`, `TabsTrigger` |
94
+ | `components/ui/dropdown-menu` | `DropdownMenu`, `DropdownMenuContent`, ... |
95
+ | `components/ui/toast` | `Toast`, `Toaster`, `useToast` |
96
+ | `components/lightbox` | `ImageLightbox`, `GallerySection`, `useEntityLightbox` |
97
+ | `components/dashboard/sidebar` | `Sidebar`, `CollapsibleSection`, `EntityList` |
98
+ | `lib/utils` | `cn`, `formatDate`, `absoluteUrl` |
99
+
100
+ ## Publishing
101
+
102
+ ```bash
103
+ # From the monorepo root
104
+ cd packages/ui
105
+ npm publish
106
+ ```
107
+
108
+ The `prepublishOnly` script runs `pnpm clean && pnpm build` automatically.
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/auth/providers.tsx"],"sourcesContent":["'use client'\nimport { useCallback } from 'react'\nimport { Button } from '../ui/button'\nimport { ProviderIcons } from '../tailwind/providerIcons'\n\nexport type SocialProvider = {\n id: string\n name: string\n type: string\n style: { logo: string; bg: string; text: string }\n}\n\ntype SignInSocialFn = (providerId: string, callbackUrl: string) => unknown\n\ninterface ProviderButtonProps {\n provider: SocialProvider\n callbackUrl: string\n signInSocial: SignInSocialFn\n}\n\ninterface ProviderSigninProps {\n providers: SocialProvider[]\n callbackUrl?: string | null\n signInSocial: SignInSocialFn\n}\n\nfunction ProviderButton({\n provider,\n callbackUrl,\n signInSocial,\n}: ProviderButtonProps) {\n const handleClick = useCallback(() => {\n const result = signInSocial(provider.id, callbackUrl)\n if (result instanceof Promise) {\n result.catch((error: unknown) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n 'Social sign-in failed:',\n error instanceof Error ? error.message : 'Unknown error',\n )\n }\n })\n }\n }, [provider.id, callbackUrl, signInSocial])\n\n return (\n <Button\n key={provider.id}\n variant=\"outline\"\n className=\"flex w-full items-center gap-3\"\n onClick={handleClick}\n >\n <ProviderIcons providerName={provider.name} />\n Continue with {provider.name}\n </Button>\n )\n}\n\nexport function ProviderSignin({\n providers,\n callbackUrl,\n signInSocial,\n}: ProviderSigninProps) {\n if (!providers.length) return null\n\n const resolvedCallbackUrl = callbackUrl ?? '/'\n\n return (\n <>\n {providers.map((provider) => (\n <ProviderButton\n key={provider.id}\n provider={provider}\n callbackUrl={resolvedCallbackUrl}\n signInSocial={signInSocial}\n />\n ))}\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8CI;AA7CJ,mBAA4B;AAC5B,oBAAuB;AACvB,2BAA8B;AAuB9B,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,kBAAc,0BAAY,MAAM;AACpC,UAAM,SAAS,aAAa,SAAS,IAAI,WAAW;AACpD,QAAI,kBAAkB,SAAS;AAC7B,aAAO,MAAM,CAAC,UAAmB;AAC/B,YAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,kBAAQ;AAAA,YACN;AAAA,YACA,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAC3C;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,SAAS,IAAI,aAAa,YAAY,CAAC;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,SAAS;AAAA,MAET;AAAA,oDAAC,sCAAc,cAAc,SAAS,MAAM;AAAA,QAAE;AAAA,QAC/B,SAAS;AAAA;AAAA;AAAA,IANnB,SAAS;AAAA,EAOhB;AAEJ;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,MAAI,CAAC,UAAU,OAAQ,QAAO;AAE9B,QAAM,sBAAsB,oCAAe;AAE3C,SACE,2EACG,oBAAU,IAAI,CAAC,aACd;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACA,aAAa;AAAA,MACb;AAAA;AAAA,IAHK,SAAS;AAAA,EAIhB,CACD,GACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/auth/providers.tsx"],"sourcesContent":["'use client'\r\nimport { useCallback } from 'react'\r\nimport { Button } from '../ui/button'\r\nimport { ProviderIcons } from '../tailwind/providerIcons'\r\n\r\nexport type SocialProvider = {\r\n id: string\r\n name: string\r\n type: string\r\n style: { logo: string; bg: string; text: string }\r\n}\r\n\r\ntype SignInSocialFn = (providerId: string, callbackUrl: string) => unknown\r\n\r\ninterface ProviderButtonProps {\r\n provider: SocialProvider\r\n callbackUrl: string\r\n signInSocial: SignInSocialFn\r\n}\r\n\r\ninterface ProviderSigninProps {\r\n providers: SocialProvider[]\r\n callbackUrl?: string | null\r\n signInSocial: SignInSocialFn\r\n}\r\n\r\nfunction ProviderButton({\r\n provider,\r\n callbackUrl,\r\n signInSocial,\r\n}: ProviderButtonProps) {\r\n const handleClick = useCallback(() => {\r\n const result = signInSocial(provider.id, callbackUrl)\r\n if (result instanceof Promise) {\r\n result.catch((error: unknown) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.error(\r\n 'Social sign-in failed:',\r\n error instanceof Error ? error.message : 'Unknown error',\r\n )\r\n }\r\n })\r\n }\r\n }, [provider.id, callbackUrl, signInSocial])\r\n\r\n return (\r\n <Button\r\n key={provider.id}\r\n variant=\"outline\"\r\n className=\"flex w-full items-center gap-3\"\r\n onClick={handleClick}\r\n >\r\n <ProviderIcons providerName={provider.name} />\r\n Continue with {provider.name}\r\n </Button>\r\n )\r\n}\r\n\r\nexport function ProviderSignin({\r\n providers,\r\n callbackUrl,\r\n signInSocial,\r\n}: ProviderSigninProps) {\r\n if (!providers.length) return null\r\n\r\n const resolvedCallbackUrl = callbackUrl ?? '/'\r\n\r\n return (\r\n <>\r\n {providers.map((provider) => (\r\n <ProviderButton\r\n key={provider.id}\r\n provider={provider}\r\n callbackUrl={resolvedCallbackUrl}\r\n signInSocial={signInSocial}\r\n />\r\n ))}\r\n </>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA8CI;AA7CJ,mBAA4B;AAC5B,oBAAuB;AACvB,2BAA8B;AAuB9B,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,kBAAc,0BAAY,MAAM;AACpC,UAAM,SAAS,aAAa,SAAS,IAAI,WAAW;AACpD,QAAI,kBAAkB,SAAS;AAC7B,aAAO,MAAM,CAAC,UAAmB;AAC/B,YAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,kBAAQ;AAAA,YACN;AAAA,YACA,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAC3C;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,SAAS,IAAI,aAAa,YAAY,CAAC;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,SAAS;AAAA,MAET;AAAA,oDAAC,sCAAc,cAAc,SAAS,MAAM;AAAA,QAAE;AAAA,QAC/B,SAAS;AAAA;AAAA;AAAA,IANnB,SAAS;AAAA,EAOhB;AAEJ;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,MAAI,CAAC,UAAU,OAAQ,QAAO;AAE9B,QAAM,sBAAsB,oCAAe;AAE3C,SACE,2EACG,oBAAU,IAAI,CAAC,aACd;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACA,aAAa;AAAA,MACb;AAAA;AAAA,IAHK,SAAS;AAAA,EAIhB,CACD,GACH;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/auth/providers.tsx"],"sourcesContent":["'use client'\nimport { useCallback } from 'react'\nimport { Button } from '../ui/button'\nimport { ProviderIcons } from '../tailwind/providerIcons'\n\nexport type SocialProvider = {\n id: string\n name: string\n type: string\n style: { logo: string; bg: string; text: string }\n}\n\ntype SignInSocialFn = (providerId: string, callbackUrl: string) => unknown\n\ninterface ProviderButtonProps {\n provider: SocialProvider\n callbackUrl: string\n signInSocial: SignInSocialFn\n}\n\ninterface ProviderSigninProps {\n providers: SocialProvider[]\n callbackUrl?: string | null\n signInSocial: SignInSocialFn\n}\n\nfunction ProviderButton({\n provider,\n callbackUrl,\n signInSocial,\n}: ProviderButtonProps) {\n const handleClick = useCallback(() => {\n const result = signInSocial(provider.id, callbackUrl)\n if (result instanceof Promise) {\n result.catch((error: unknown) => {\n if (process.env.NODE_ENV !== 'production') {\n console.error(\n 'Social sign-in failed:',\n error instanceof Error ? error.message : 'Unknown error',\n )\n }\n })\n }\n }, [provider.id, callbackUrl, signInSocial])\n\n return (\n <Button\n key={provider.id}\n variant=\"outline\"\n className=\"flex w-full items-center gap-3\"\n onClick={handleClick}\n >\n <ProviderIcons providerName={provider.name} />\n Continue with {provider.name}\n </Button>\n )\n}\n\nexport function ProviderSignin({\n providers,\n callbackUrl,\n signInSocial,\n}: ProviderSigninProps) {\n if (!providers.length) return null\n\n const resolvedCallbackUrl = callbackUrl ?? '/'\n\n return (\n <>\n {providers.map((provider) => (\n <ProviderButton\n key={provider.id}\n provider={provider}\n callbackUrl={resolvedCallbackUrl}\n signInSocial={signInSocial}\n />\n ))}\n </>\n )\n}\n"],"mappings":";AA8CI,SAsBA,UAhBE,KANF;AA7CJ,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAuB9B,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,cAAc,YAAY,MAAM;AACpC,UAAM,SAAS,aAAa,SAAS,IAAI,WAAW;AACpD,QAAI,kBAAkB,SAAS;AAC7B,aAAO,MAAM,CAAC,UAAmB;AAC/B,YAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,kBAAQ;AAAA,YACN;AAAA,YACA,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAC3C;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,SAAS,IAAI,aAAa,YAAY,CAAC;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,SAAS;AAAA,MAET;AAAA,4BAAC,iBAAc,cAAc,SAAS,MAAM;AAAA,QAAE;AAAA,QAC/B,SAAS;AAAA;AAAA;AAAA,IANnB,SAAS;AAAA,EAOhB;AAEJ;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,MAAI,CAAC,UAAU,OAAQ,QAAO;AAE9B,QAAM,sBAAsB,oCAAe;AAE3C,SACE,gCACG,oBAAU,IAAI,CAAC,aACd;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACA,aAAa;AAAA,MACb;AAAA;AAAA,IAHK,SAAS;AAAA,EAIhB,CACD,GACH;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/auth/providers.tsx"],"sourcesContent":["'use client'\r\nimport { useCallback } from 'react'\r\nimport { Button } from '../ui/button'\r\nimport { ProviderIcons } from '../tailwind/providerIcons'\r\n\r\nexport type SocialProvider = {\r\n id: string\r\n name: string\r\n type: string\r\n style: { logo: string; bg: string; text: string }\r\n}\r\n\r\ntype SignInSocialFn = (providerId: string, callbackUrl: string) => unknown\r\n\r\ninterface ProviderButtonProps {\r\n provider: SocialProvider\r\n callbackUrl: string\r\n signInSocial: SignInSocialFn\r\n}\r\n\r\ninterface ProviderSigninProps {\r\n providers: SocialProvider[]\r\n callbackUrl?: string | null\r\n signInSocial: SignInSocialFn\r\n}\r\n\r\nfunction ProviderButton({\r\n provider,\r\n callbackUrl,\r\n signInSocial,\r\n}: ProviderButtonProps) {\r\n const handleClick = useCallback(() => {\r\n const result = signInSocial(provider.id, callbackUrl)\r\n if (result instanceof Promise) {\r\n result.catch((error: unknown) => {\r\n if (process.env.NODE_ENV !== 'production') {\r\n console.error(\r\n 'Social sign-in failed:',\r\n error instanceof Error ? error.message : 'Unknown error',\r\n )\r\n }\r\n })\r\n }\r\n }, [provider.id, callbackUrl, signInSocial])\r\n\r\n return (\r\n <Button\r\n key={provider.id}\r\n variant=\"outline\"\r\n className=\"flex w-full items-center gap-3\"\r\n onClick={handleClick}\r\n >\r\n <ProviderIcons providerName={provider.name} />\r\n Continue with {provider.name}\r\n </Button>\r\n )\r\n}\r\n\r\nexport function ProviderSignin({\r\n providers,\r\n callbackUrl,\r\n signInSocial,\r\n}: ProviderSigninProps) {\r\n if (!providers.length) return null\r\n\r\n const resolvedCallbackUrl = callbackUrl ?? '/'\r\n\r\n return (\r\n <>\r\n {providers.map((provider) => (\r\n <ProviderButton\r\n key={provider.id}\r\n provider={provider}\r\n callbackUrl={resolvedCallbackUrl}\r\n signInSocial={signInSocial}\r\n />\r\n ))}\r\n </>\r\n )\r\n}\r\n"],"mappings":";AA8CI,SAsBA,UAhBE,KANF;AA7CJ,SAAS,mBAAmB;AAC5B,SAAS,cAAc;AACvB,SAAS,qBAAqB;AAuB9B,SAAS,eAAe;AAAA,EACtB;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,cAAc,YAAY,MAAM;AACpC,UAAM,SAAS,aAAa,SAAS,IAAI,WAAW;AACpD,QAAI,kBAAkB,SAAS;AAC7B,aAAO,MAAM,CAAC,UAAmB;AAC/B,YAAI,QAAQ,IAAI,aAAa,cAAc;AACzC,kBAAQ;AAAA,YACN;AAAA,YACA,iBAAiB,QAAQ,MAAM,UAAU;AAAA,UAC3C;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,GAAG,CAAC,SAAS,IAAI,aAAa,YAAY,CAAC;AAE3C,SACE;AAAA,IAAC;AAAA;AAAA,MAEC,SAAQ;AAAA,MACR,WAAU;AAAA,MACV,SAAS;AAAA,MAET;AAAA,4BAAC,iBAAc,cAAc,SAAS,MAAM;AAAA,QAAE;AAAA,QAC/B,SAAS;AAAA;AAAA;AAAA,IANnB,SAAS;AAAA,EAOhB;AAEJ;AAEO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,MAAI,CAAC,UAAU,OAAQ,QAAO;AAE9B,QAAM,sBAAsB,oCAAe;AAE3C,SACE,gCACG,oBAAU,IAAI,CAAC,aACd;AAAA,IAAC;AAAA;AAAA,MAEC;AAAA,MACA,aAAa;AAAA,MACb;AAAA;AAAA,IAHK,SAAS;AAAA,EAIhB,CACD,GACH;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/card/back-button.tsx"],"sourcesContent":["'use client'\n\nimport Link from 'next/link'\n\nimport { Button } from '../ui/button'\n\ninterface BackButtonProps {\n href: string\n label: string\n}\n\nexport const BackButton = ({ href, label }: BackButtonProps) => {\n return (\n <Button variant=\"link\" className=\"w-full font-normal\" size=\"sm\" asChild>\n <Link href={href}>{label}</Link>\n </Button>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAcM;AAZN,kBAAiB;AAEjB,oBAAuB;AAOhB,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM,MAAuB;AAC9D,SACE,4CAAC,wBAAO,SAAQ,QAAO,WAAU,sBAAqB,MAAK,MAAK,SAAO,MACrE,sDAAC,YAAAA,SAAA,EAAK,MAAa,iBAAM,GAC3B;AAEJ;","names":["Link"]}
1
+ {"version":3,"sources":["../../../components/card/back-button.tsx"],"sourcesContent":["'use client'\r\n\r\nimport Link from 'next/link'\r\n\r\nimport { Button } from '../ui/button'\r\n\r\ninterface BackButtonProps {\r\n href: string\r\n label: string\r\n}\r\n\r\nexport const BackButton = ({ href, label }: BackButtonProps) => {\r\n return (\r\n <Button variant=\"link\" className=\"w-full font-normal\" size=\"sm\" asChild>\r\n <Link href={href}>{label}</Link>\r\n </Button>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAcM;AAZN,kBAAiB;AAEjB,oBAAuB;AAOhB,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM,MAAuB;AAC9D,SACE,4CAAC,wBAAO,SAAQ,QAAO,WAAU,sBAAqB,MAAK,MAAK,SAAO,MACrE,sDAAC,YAAAA,SAAA,EAAK,MAAa,iBAAM,GAC3B;AAEJ;","names":["Link"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/card/back-button.tsx"],"sourcesContent":["'use client'\n\nimport Link from 'next/link'\n\nimport { Button } from '../ui/button'\n\ninterface BackButtonProps {\n href: string\n label: string\n}\n\nexport const BackButton = ({ href, label }: BackButtonProps) => {\n return (\n <Button variant=\"link\" className=\"w-full font-normal\" size=\"sm\" asChild>\n <Link href={href}>{label}</Link>\n </Button>\n )\n}\n"],"mappings":";AAcM;AAZN,OAAO,UAAU;AAEjB,SAAS,cAAc;AAOhB,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM,MAAuB;AAC9D,SACE,oBAAC,UAAO,SAAQ,QAAO,WAAU,sBAAqB,MAAK,MAAK,SAAO,MACrE,8BAAC,QAAK,MAAa,iBAAM,GAC3B;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/card/back-button.tsx"],"sourcesContent":["'use client'\r\n\r\nimport Link from 'next/link'\r\n\r\nimport { Button } from '../ui/button'\r\n\r\ninterface BackButtonProps {\r\n href: string\r\n label: string\r\n}\r\n\r\nexport const BackButton = ({ href, label }: BackButtonProps) => {\r\n return (\r\n <Button variant=\"link\" className=\"w-full font-normal\" size=\"sm\" asChild>\r\n <Link href={href}>{label}</Link>\r\n </Button>\r\n )\r\n}\r\n"],"mappings":";AAcM;AAZN,OAAO,UAAU;AAEjB,SAAS,cAAc;AAOhB,MAAM,aAAa,CAAC,EAAE,MAAM,MAAM,MAAuB;AAC9D,SACE,oBAAC,UAAO,SAAQ,QAAO,WAAU,sBAAqB,MAAK,MAAK,SAAO,MACrE,8BAAC,QAAK,MAAa,iBAAM,GAC3B;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/card/card-wrapper.tsx"],"sourcesContent":["'use client'\n\nimport {\n CardContent,\n CardFooter,\n CardHeader,\n} from '../ui/card'\nimport { Header } from './header'\nimport { BackButton } from './back-button'\n\ninterface CardWrapperProps {\n children: React.ReactNode\n headerLabel: string\n backButtonLabel: string\n backButtonHref: string\n showSocial?: boolean\n slim?: boolean\n logo?: React.ReactNode\n}\n\nexport const CardWrapper = ({\n children,\n headerLabel,\n backButtonLabel,\n backButtonHref,\n slim,\n logo,\n}: CardWrapperProps) => {\n return (\n <>\n <CardHeader>\n <Header\n label={headerLabel}\n backButtonHref={backButtonHref}\n backButtonLabel={backButtonLabel}\n logo={logo}\n />\n </CardHeader>\n <div className=\"mb-10 mt-2 sm:mx-auto sm:w-full sm:max-w-[480px]\">\n {slim && <CardContent>{children}</CardContent>}\n {!slim && (\n <div className=\"shadow-xs border border-gray-200 bg-white px-6 py-12 sm:rounded-lg sm:px-12 dark:border-gray-700 dark:bg-gray-800\">\n <CardContent>{children}</CardContent>\n </div>\n )}\n </div>\n <CardFooter>\n <BackButton label={backButtonLabel} href={backButtonHref} />\n </CardFooter>\n </>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BI;AA3BJ,kBAIO;AACP,oBAAuB;AACvB,yBAA2B;AAYpB,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,SACE,4EACE;AAAA,gDAAC,0BACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,IACA,6CAAC,SAAI,WAAU,oDACZ;AAAA,cAAQ,4CAAC,2BAAa,UAAS;AAAA,MAC/B,CAAC,QACA,4CAAC,SAAI,WAAU,qHACb,sDAAC,2BAAa,UAAS,GACzB;AAAA,OAEJ;AAAA,IACA,4CAAC,0BACC,sDAAC,iCAAW,OAAO,iBAAiB,MAAM,gBAAgB,GAC5D;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/card/card-wrapper.tsx"],"sourcesContent":["'use client'\r\n\r\nimport {\r\n CardContent,\r\n CardFooter,\r\n CardHeader,\r\n} from '../ui/card'\r\nimport { Header } from './header'\r\nimport { BackButton } from './back-button'\r\n\r\ninterface CardWrapperProps {\r\n children: React.ReactNode\r\n headerLabel: string\r\n backButtonLabel: string\r\n backButtonHref: string\r\n showSocial?: boolean\r\n slim?: boolean\r\n logo?: React.ReactNode\r\n}\r\n\r\nexport const CardWrapper = ({\r\n children,\r\n headerLabel,\r\n backButtonLabel,\r\n backButtonHref,\r\n slim,\r\n logo,\r\n}: CardWrapperProps) => {\r\n return (\r\n <>\r\n <CardHeader>\r\n <Header\r\n label={headerLabel}\r\n backButtonHref={backButtonHref}\r\n backButtonLabel={backButtonLabel}\r\n logo={logo}\r\n />\r\n </CardHeader>\r\n <div className=\"mb-10 mt-2 sm:mx-auto sm:w-full sm:max-w-[480px]\">\r\n {slim && <CardContent>{children}</CardContent>}\r\n {!slim && (\r\n <div className=\"shadow-xs border border-gray-200 bg-white px-6 py-12 sm:rounded-lg sm:px-12 dark:border-gray-700 dark:bg-gray-800\">\r\n <CardContent>{children}</CardContent>\r\n </div>\r\n )}\r\n </div>\r\n <CardFooter>\r\n <BackButton label={backButtonLabel} href={backButtonHref} />\r\n </CardFooter>\r\n </>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BI;AA3BJ,kBAIO;AACP,oBAAuB;AACvB,yBAA2B;AAYpB,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,SACE,4EACE;AAAA,gDAAC,0BACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,IACA,6CAAC,SAAI,WAAU,oDACZ;AAAA,cAAQ,4CAAC,2BAAa,UAAS;AAAA,MAC/B,CAAC,QACA,4CAAC,SAAI,WAAU,qHACb,sDAAC,2BAAa,UAAS,GACzB;AAAA,OAEJ;AAAA,IACA,4CAAC,0BACC,sDAAC,iCAAW,OAAO,iBAAiB,MAAM,gBAAgB,GAC5D;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/card/card-wrapper.tsx"],"sourcesContent":["'use client'\n\nimport {\n CardContent,\n CardFooter,\n CardHeader,\n} from '../ui/card'\nimport { Header } from './header'\nimport { BackButton } from './back-button'\n\ninterface CardWrapperProps {\n children: React.ReactNode\n headerLabel: string\n backButtonLabel: string\n backButtonHref: string\n showSocial?: boolean\n slim?: boolean\n logo?: React.ReactNode\n}\n\nexport const CardWrapper = ({\n children,\n headerLabel,\n backButtonLabel,\n backButtonHref,\n slim,\n logo,\n}: CardWrapperProps) => {\n return (\n <>\n <CardHeader>\n <Header\n label={headerLabel}\n backButtonHref={backButtonHref}\n backButtonLabel={backButtonLabel}\n logo={logo}\n />\n </CardHeader>\n <div className=\"mb-10 mt-2 sm:mx-auto sm:w-full sm:max-w-[480px]\">\n {slim && <CardContent>{children}</CardContent>}\n {!slim && (\n <div className=\"shadow-xs border border-gray-200 bg-white px-6 py-12 sm:rounded-lg sm:px-12 dark:border-gray-700 dark:bg-gray-800\">\n <CardContent>{children}</CardContent>\n </div>\n )}\n </div>\n <CardFooter>\n <BackButton label={backButtonLabel} href={backButtonHref} />\n </CardFooter>\n </>\n )\n}\n"],"mappings":";AA6BI,mBAEI,KAOF,YATF;AA3BJ;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAYpB,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,SACE,iCACE;AAAA,wBAAC,cACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,IACA,qBAAC,SAAI,WAAU,oDACZ;AAAA,cAAQ,oBAAC,eAAa,UAAS;AAAA,MAC/B,CAAC,QACA,oBAAC,SAAI,WAAU,qHACb,8BAAC,eAAa,UAAS,GACzB;AAAA,OAEJ;AAAA,IACA,oBAAC,cACC,8BAAC,cAAW,OAAO,iBAAiB,MAAM,gBAAgB,GAC5D;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/card/card-wrapper.tsx"],"sourcesContent":["'use client'\r\n\r\nimport {\r\n CardContent,\r\n CardFooter,\r\n CardHeader,\r\n} from '../ui/card'\r\nimport { Header } from './header'\r\nimport { BackButton } from './back-button'\r\n\r\ninterface CardWrapperProps {\r\n children: React.ReactNode\r\n headerLabel: string\r\n backButtonLabel: string\r\n backButtonHref: string\r\n showSocial?: boolean\r\n slim?: boolean\r\n logo?: React.ReactNode\r\n}\r\n\r\nexport const CardWrapper = ({\r\n children,\r\n headerLabel,\r\n backButtonLabel,\r\n backButtonHref,\r\n slim,\r\n logo,\r\n}: CardWrapperProps) => {\r\n return (\r\n <>\r\n <CardHeader>\r\n <Header\r\n label={headerLabel}\r\n backButtonHref={backButtonHref}\r\n backButtonLabel={backButtonLabel}\r\n logo={logo}\r\n />\r\n </CardHeader>\r\n <div className=\"mb-10 mt-2 sm:mx-auto sm:w-full sm:max-w-[480px]\">\r\n {slim && <CardContent>{children}</CardContent>}\r\n {!slim && (\r\n <div className=\"shadow-xs border border-gray-200 bg-white px-6 py-12 sm:rounded-lg sm:px-12 dark:border-gray-700 dark:bg-gray-800\">\r\n <CardContent>{children}</CardContent>\r\n </div>\r\n )}\r\n </div>\r\n <CardFooter>\r\n <BackButton label={backButtonLabel} href={backButtonHref} />\r\n </CardFooter>\r\n </>\r\n )\r\n}\r\n"],"mappings":";AA6BI,mBAEI,KAOF,YATF;AA3BJ;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AACP,SAAS,cAAc;AACvB,SAAS,kBAAkB;AAYpB,MAAM,cAAc,CAAC;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAwB;AACtB,SACE,iCACE;AAAA,wBAAC,cACC;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA;AAAA;AAAA,IACF,GACF;AAAA,IACA,qBAAC,SAAI,WAAU,oDACZ;AAAA,cAAQ,oBAAC,eAAa,UAAS;AAAA,MAC/B,CAAC,QACA,oBAAC,SAAI,WAAU,qHACb,8BAAC,eAAa,UAAS,GACzB;AAAA,OAEJ;AAAA,IACA,oBAAC,cACC,8BAAC,cAAW,OAAO,iBAAiB,MAAM,gBAAgB,GAC5D;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/card/header.tsx"],"sourcesContent":["import Link from 'next/link'\nimport { Logo } from '../icons/logo'\n\ninterface HeaderProps {\n label: string\n backButtonHref: string\n backButtonLabel: string\n logo?: React.ReactNode\n}\n\nexport const Header = ({\n label,\n backButtonLabel,\n backButtonHref,\n logo,\n}: HeaderProps) => {\n return (\n <div className=\"sm:mx-auto sm:w-full sm:max-w-md\">\n <Link href=\"/\">\n {logo ?? <Logo className=\"mx-auto h-10 w-auto\" />}\n </Link>\n <h2 className=\"mt-6 text-center text-2xl font-bold leading-9 tracking-tight text-gray-500 dark:text-white\">\n {label}\n </h2>\n\n {backButtonLabel ? (\n <p className=\"text-center text-sm text-gray-500 dark:text-gray-400\">\n <Link href={backButtonHref}>{backButtonLabel}</Link>\n </p>\n ) : null}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBI;AAjBJ,kBAAiB;AACjB,kBAAqB;AASd,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAmB;AACjB,SACE,6CAAC,SAAI,WAAU,oCACb;AAAA,gDAAC,YAAAA,SAAA,EAAK,MAAK,KACR,gCAAQ,4CAAC,oBAAK,WAAU,uBAAsB,GACjD;AAAA,IACA,4CAAC,QAAG,WAAU,8FACX,iBACH;AAAA,IAEC,kBACC,4CAAC,OAAE,WAAU,wDACX,sDAAC,YAAAA,SAAA,EAAK,MAAM,gBAAiB,2BAAgB,GAC/C,IACE;AAAA,KACN;AAEJ;","names":["Link"]}
1
+ {"version":3,"sources":["../../../components/card/header.tsx"],"sourcesContent":["import Link from 'next/link'\r\nimport { Logo } from '../icons/logo'\r\n\r\ninterface HeaderProps {\r\n label: string\r\n backButtonHref: string\r\n backButtonLabel: string\r\n logo?: React.ReactNode\r\n}\r\n\r\nexport const Header = ({\r\n label,\r\n backButtonLabel,\r\n backButtonHref,\r\n logo,\r\n}: HeaderProps) => {\r\n return (\r\n <div className=\"sm:mx-auto sm:w-full sm:max-w-md\">\r\n <Link href=\"/\">\r\n {logo ?? <Logo className=\"mx-auto h-10 w-auto\" />}\r\n </Link>\r\n <h2 className=\"mt-6 text-center text-2xl font-bold leading-9 tracking-tight text-gray-500 dark:text-white\">\r\n {label}\r\n </h2>\r\n\r\n {backButtonLabel ? (\r\n <p className=\"text-center text-sm text-gray-500 dark:text-gray-400\">\r\n <Link href={backButtonHref}>{backButtonLabel}</Link>\r\n </p>\r\n ) : null}\r\n </div>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAiBI;AAjBJ,kBAAiB;AACjB,kBAAqB;AASd,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAmB;AACjB,SACE,6CAAC,SAAI,WAAU,oCACb;AAAA,gDAAC,YAAAA,SAAA,EAAK,MAAK,KACR,gCAAQ,4CAAC,oBAAK,WAAU,uBAAsB,GACjD;AAAA,IACA,4CAAC,QAAG,WAAU,8FACX,iBACH;AAAA,IAEC,kBACC,4CAAC,OAAE,WAAU,wDACX,sDAAC,YAAAA,SAAA,EAAK,MAAM,gBAAiB,2BAAgB,GAC/C,IACE;AAAA,KACN;AAEJ;","names":["Link"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/card/header.tsx"],"sourcesContent":["import Link from 'next/link'\nimport { Logo } from '../icons/logo'\n\ninterface HeaderProps {\n label: string\n backButtonHref: string\n backButtonLabel: string\n logo?: React.ReactNode\n}\n\nexport const Header = ({\n label,\n backButtonLabel,\n backButtonHref,\n logo,\n}: HeaderProps) => {\n return (\n <div className=\"sm:mx-auto sm:w-full sm:max-w-md\">\n <Link href=\"/\">\n {logo ?? <Logo className=\"mx-auto h-10 w-auto\" />}\n </Link>\n <h2 className=\"mt-6 text-center text-2xl font-bold leading-9 tracking-tight text-gray-500 dark:text-white\">\n {label}\n </h2>\n\n {backButtonLabel ? (\n <p className=\"text-center text-sm text-gray-500 dark:text-gray-400\">\n <Link href={backButtonHref}>{backButtonLabel}</Link>\n </p>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAiBI,SAEa,KAFb;AAjBJ,OAAO,UAAU;AACjB,SAAS,YAAY;AASd,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAmB;AACjB,SACE,qBAAC,SAAI,WAAU,oCACb;AAAA,wBAAC,QAAK,MAAK,KACR,gCAAQ,oBAAC,QAAK,WAAU,uBAAsB,GACjD;AAAA,IACA,oBAAC,QAAG,WAAU,8FACX,iBACH;AAAA,IAEC,kBACC,oBAAC,OAAE,WAAU,wDACX,8BAAC,QAAK,MAAM,gBAAiB,2BAAgB,GAC/C,IACE;AAAA,KACN;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/card/header.tsx"],"sourcesContent":["import Link from 'next/link'\r\nimport { Logo } from '../icons/logo'\r\n\r\ninterface HeaderProps {\r\n label: string\r\n backButtonHref: string\r\n backButtonLabel: string\r\n logo?: React.ReactNode\r\n}\r\n\r\nexport const Header = ({\r\n label,\r\n backButtonLabel,\r\n backButtonHref,\r\n logo,\r\n}: HeaderProps) => {\r\n return (\r\n <div className=\"sm:mx-auto sm:w-full sm:max-w-md\">\r\n <Link href=\"/\">\r\n {logo ?? <Logo className=\"mx-auto h-10 w-auto\" />}\r\n </Link>\r\n <h2 className=\"mt-6 text-center text-2xl font-bold leading-9 tracking-tight text-gray-500 dark:text-white\">\r\n {label}\r\n </h2>\r\n\r\n {backButtonLabel ? (\r\n <p className=\"text-center text-sm text-gray-500 dark:text-gray-400\">\r\n <Link href={backButtonHref}>{backButtonLabel}</Link>\r\n </p>\r\n ) : null}\r\n </div>\r\n )\r\n}\r\n"],"mappings":"AAiBI,SAEa,KAFb;AAjBJ,OAAO,UAAU;AACjB,SAAS,YAAY;AASd,MAAM,SAAS,CAAC;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAmB;AACjB,SACE,qBAAC,SAAI,WAAU,oCACb;AAAA,wBAAC,QAAK,MAAK,KACR,gCAAQ,oBAAC,QAAK,WAAU,uBAAsB,GACjD;AAAA,IACA,oBAAC,QAAG,WAAU,8FACX,iBACH;AAAA,IAEC,kBACC,oBAAC,OAAE,WAAU,wDACX,8BAAC,QAAK,MAAM,gBAAiB,2BAAgB,GAC/C,IACE;AAAA,KACN;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/combobox/ComboList.tsx"],"sourcesContent":["import {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../ui/command'\n\nexport const ComboList = ({\n page,\n setOpen,\n setSelectedItem,\n items,\n}: {\n page: any\n setOpen: (_open: boolean) => void\n setSelectedItem: (_status: string | null) => void\n items?: {\n name: string\n label: string\n Icon: React.ElementType\n variant?: string\n href: string\n onSelect: (_name: string) => void\n }[]\n}) => {\n return (\n <Command>\n <CommandInput placeholder={`${page.title}...`} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {page?.children?.map((child: any) => (\n <CommandItem\n key={child.name}\n value={child.name}\n onSelect={(value) => {\n setSelectedItem(\n page?.children.find(() => child.name === value) || null,\n )\n setOpen(false)\n }}\n >\n {child.label}\n </CommandItem>\n ))}\n\n {items?.map((item) => {\n const { Icon } = item\n\n return (\n <CommandItem\n key={item.name}\n value={item.name}\n onSelect={(_value) => {\n setOpen(false)\n item.onSelect(item.href)\n }}\n >\n <Icon className=\"mr-2 h-4 w-4\" />\n <span>{item.label}</span>\n </CommandItem>\n )\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BM;AA7BN,qBAOO;AAEA,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAYM;AA1BN;AA2BE,SACE,6CAAC,0BACC;AAAA,gDAAC,+BAAa,aAAa,GAAG,KAAK,KAAK,OAAO;AAAA,IAC/C,6CAAC,8BACC;AAAA,kDAAC,+BAAa,+BAAiB;AAAA,MAC/B,6CAAC,+BACE;AAAA,2CAAM,aAAN,mBAAgB,IAAI,CAAC,UACpB;AAAA,UAAC;AAAA;AAAA,YAEC,OAAO,MAAM;AAAA,YACb,UAAU,CAAC,UAAU;AACnB;AAAA,iBACE,6BAAM,SAAS,KAAK,MAAM,MAAM,SAAS,WAAU;AAAA,cACrD;AACA,sBAAQ,KAAK;AAAA,YACf;AAAA,YAEC,gBAAM;AAAA;AAAA,UATF,MAAM;AAAA,QAUb;AAAA,QAGD,+BAAO,IAAI,CAAC,SAAS;AACpB,gBAAM,EAAE,KAAK,IAAI;AAEjB,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC,OAAO,KAAK;AAAA,cACZ,UAAU,CAAC,WAAW;AACpB,wBAAQ,KAAK;AACb,qBAAK,SAAS,KAAK,IAAI;AAAA,cACzB;AAAA,cAEA;AAAA,4DAAC,QAAK,WAAU,gBAAe;AAAA,gBAC/B,4CAAC,UAAM,eAAK,OAAM;AAAA;AAAA;AAAA,YARb,KAAK;AAAA,UASZ;AAAA,QAEJ;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/combobox/ComboList.tsx"],"sourcesContent":["import {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from '../ui/command'\r\n\r\nexport const ComboList = ({\r\n page,\r\n setOpen,\r\n setSelectedItem,\r\n items,\r\n}: {\r\n page: any\r\n setOpen: (_open: boolean) => void\r\n setSelectedItem: (_status: string | null) => void\r\n items?: {\r\n name: string\r\n label: string\r\n Icon: React.ElementType\r\n variant?: string\r\n href: string\r\n onSelect: (_name: string) => void\r\n }[]\r\n}) => {\r\n return (\r\n <Command>\r\n <CommandInput placeholder={`${page.title}...`} />\r\n <CommandList>\r\n <CommandEmpty>No results found.</CommandEmpty>\r\n <CommandGroup>\r\n {page?.children?.map((child: any) => (\r\n <CommandItem\r\n key={child.name}\r\n value={child.name}\r\n onSelect={(value) => {\r\n setSelectedItem(\r\n page?.children.find(() => child.name === value) || null,\r\n )\r\n setOpen(false)\r\n }}\r\n >\r\n {child.label}\r\n </CommandItem>\r\n ))}\r\n\r\n {items?.map((item) => {\r\n const { Icon } = item\r\n\r\n return (\r\n <CommandItem\r\n key={item.name}\r\n value={item.name}\r\n onSelect={(_value) => {\r\n setOpen(false)\r\n item.onSelect(item.href)\r\n }}\r\n >\r\n <Icon className=\"mr-2 h-4 w-4\" />\r\n <span>{item.label}</span>\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA6BM;AA7BN,qBAOO;AAEA,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAYM;AA1BN;AA2BE,SACE,6CAAC,0BACC;AAAA,gDAAC,+BAAa,aAAa,GAAG,KAAK,KAAK,OAAO;AAAA,IAC/C,6CAAC,8BACC;AAAA,kDAAC,+BAAa,+BAAiB;AAAA,MAC/B,6CAAC,+BACE;AAAA,2CAAM,aAAN,mBAAgB,IAAI,CAAC,UACpB;AAAA,UAAC;AAAA;AAAA,YAEC,OAAO,MAAM;AAAA,YACb,UAAU,CAAC,UAAU;AACnB;AAAA,iBACE,6BAAM,SAAS,KAAK,MAAM,MAAM,SAAS,WAAU;AAAA,cACrD;AACA,sBAAQ,KAAK;AAAA,YACf;AAAA,YAEC,gBAAM;AAAA;AAAA,UATF,MAAM;AAAA,QAUb;AAAA,QAGD,+BAAO,IAAI,CAAC,SAAS;AACpB,gBAAM,EAAE,KAAK,IAAI;AAEjB,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC,OAAO,KAAK;AAAA,cACZ,UAAU,CAAC,WAAW;AACpB,wBAAQ,KAAK;AACb,qBAAK,SAAS,KAAK,IAAI;AAAA,cACzB;AAAA,cAEA;AAAA,4DAAC,QAAK,WAAU,gBAAe;AAAA,gBAC/B,4CAAC,UAAM,eAAK,OAAM;AAAA;AAAA;AAAA,YARb,KAAK;AAAA,UASZ;AAAA,QAEJ;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/combobox/ComboList.tsx"],"sourcesContent":["import {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '../ui/command'\n\nexport const ComboList = ({\n page,\n setOpen,\n setSelectedItem,\n items,\n}: {\n page: any\n setOpen: (_open: boolean) => void\n setSelectedItem: (_status: string | null) => void\n items?: {\n name: string\n label: string\n Icon: React.ElementType\n variant?: string\n href: string\n onSelect: (_name: string) => void\n }[]\n}) => {\n return (\n <Command>\n <CommandInput placeholder={`${page.title}...`} />\n <CommandList>\n <CommandEmpty>No results found.</CommandEmpty>\n <CommandGroup>\n {page?.children?.map((child: any) => (\n <CommandItem\n key={child.name}\n value={child.name}\n onSelect={(value) => {\n setSelectedItem(\n page?.children.find(() => child.name === value) || null,\n )\n setOpen(false)\n }}\n >\n {child.label}\n </CommandItem>\n ))}\n\n {items?.map((item) => {\n const { Icon } = item\n\n return (\n <CommandItem\n key={item.name}\n value={item.name}\n onSelect={(_value) => {\n setOpen(false)\n item.onSelect(item.href)\n }}\n >\n <Icon className=\"mr-2 h-4 w-4\" />\n <span>{item.label}</span>\n </CommandItem>\n )\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n )\n}\n"],"mappings":"AA6BM,cAuBQ,YAvBR;AA7BN;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAYM;AA1BN;AA2BE,SACE,qBAAC,WACC;AAAA,wBAAC,gBAAa,aAAa,GAAG,KAAK,KAAK,OAAO;AAAA,IAC/C,qBAAC,eACC;AAAA,0BAAC,gBAAa,+BAAiB;AAAA,MAC/B,qBAAC,gBACE;AAAA,2CAAM,aAAN,mBAAgB,IAAI,CAAC,UACpB;AAAA,UAAC;AAAA;AAAA,YAEC,OAAO,MAAM;AAAA,YACb,UAAU,CAAC,UAAU;AACnB;AAAA,iBACE,6BAAM,SAAS,KAAK,MAAM,MAAM,SAAS,WAAU;AAAA,cACrD;AACA,sBAAQ,KAAK;AAAA,YACf;AAAA,YAEC,gBAAM;AAAA;AAAA,UATF,MAAM;AAAA,QAUb;AAAA,QAGD,+BAAO,IAAI,CAAC,SAAS;AACpB,gBAAM,EAAE,KAAK,IAAI;AAEjB,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC,OAAO,KAAK;AAAA,cACZ,UAAU,CAAC,WAAW;AACpB,wBAAQ,KAAK;AACb,qBAAK,SAAS,KAAK,IAAI;AAAA,cACzB;AAAA,cAEA;AAAA,oCAAC,QAAK,WAAU,gBAAe;AAAA,gBAC/B,oBAAC,UAAM,eAAK,OAAM;AAAA;AAAA;AAAA,YARb,KAAK;AAAA,UASZ;AAAA,QAEJ;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/combobox/ComboList.tsx"],"sourcesContent":["import {\r\n Command,\r\n CommandEmpty,\r\n CommandGroup,\r\n CommandInput,\r\n CommandItem,\r\n CommandList,\r\n} from '../ui/command'\r\n\r\nexport const ComboList = ({\r\n page,\r\n setOpen,\r\n setSelectedItem,\r\n items,\r\n}: {\r\n page: any\r\n setOpen: (_open: boolean) => void\r\n setSelectedItem: (_status: string | null) => void\r\n items?: {\r\n name: string\r\n label: string\r\n Icon: React.ElementType\r\n variant?: string\r\n href: string\r\n onSelect: (_name: string) => void\r\n }[]\r\n}) => {\r\n return (\r\n <Command>\r\n <CommandInput placeholder={`${page.title}...`} />\r\n <CommandList>\r\n <CommandEmpty>No results found.</CommandEmpty>\r\n <CommandGroup>\r\n {page?.children?.map((child: any) => (\r\n <CommandItem\r\n key={child.name}\r\n value={child.name}\r\n onSelect={(value) => {\r\n setSelectedItem(\r\n page?.children.find(() => child.name === value) || null,\r\n )\r\n setOpen(false)\r\n }}\r\n >\r\n {child.label}\r\n </CommandItem>\r\n ))}\r\n\r\n {items?.map((item) => {\r\n const { Icon } = item\r\n\r\n return (\r\n <CommandItem\r\n key={item.name}\r\n value={item.name}\r\n onSelect={(_value) => {\r\n setOpen(false)\r\n item.onSelect(item.href)\r\n }}\r\n >\r\n <Icon className=\"mr-2 h-4 w-4\" />\r\n <span>{item.label}</span>\r\n </CommandItem>\r\n )\r\n })}\r\n </CommandGroup>\r\n </CommandList>\r\n </Command>\r\n )\r\n}\r\n"],"mappings":"AA6BM,cAuBQ,YAvBR;AA7BN;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,MAAM,YAAY,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAYM;AA1BN;AA2BE,SACE,qBAAC,WACC;AAAA,wBAAC,gBAAa,aAAa,GAAG,KAAK,KAAK,OAAO;AAAA,IAC/C,qBAAC,eACC;AAAA,0BAAC,gBAAa,+BAAiB;AAAA,MAC/B,qBAAC,gBACE;AAAA,2CAAM,aAAN,mBAAgB,IAAI,CAAC,UACpB;AAAA,UAAC;AAAA;AAAA,YAEC,OAAO,MAAM;AAAA,YACb,UAAU,CAAC,UAAU;AACnB;AAAA,iBACE,6BAAM,SAAS,KAAK,MAAM,MAAM,SAAS,WAAU;AAAA,cACrD;AACA,sBAAQ,KAAK;AAAA,YACf;AAAA,YAEC,gBAAM;AAAA;AAAA,UATF,MAAM;AAAA,QAUb;AAAA,QAGD,+BAAO,IAAI,CAAC,SAAS;AACpB,gBAAM,EAAE,KAAK,IAAI;AAEjB,iBACE;AAAA,YAAC;AAAA;AAAA,cAEC,OAAO,KAAK;AAAA,cACZ,UAAU,CAAC,WAAW;AACpB,wBAAQ,KAAK;AACb,qBAAK,SAAS,KAAK,IAAI;AAAA,cACzB;AAAA,cAEA;AAAA,oCAAC,QAAK,WAAU,gBAAe;AAAA,gBAC/B,oBAAC,UAAM,eAAK,OAAM;AAAA;AAAA;AAAA,YARb,KAAK;AAAA,UASZ;AAAA,QAEJ;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/combobox/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Button } from '../ui/button'\nimport { Drawer, DrawerContent, DrawerTrigger } from '../ui/drawer'\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover'\nimport { BookPlus, ChevronDown } from 'lucide-react'\nimport { ComboList } from './ComboList'\n\nconst extraItems = [\n {\n name: 'new',\n label: 'Add New',\n Icon: BookPlus,\n href: '#',\n onSelect: () => {},\n },\n]\nfunction ComboBoxResponsive({\n page,\n onAdd,\n}: {\n page: any\n onAdd: (_pageName: string) => void\n}) {\n const [open, setOpen] = useState(false)\n const isDesktop = true\n const [selectedStatus, setSelectedItem] = useState<any | null>(null)\n\n if (isDesktop) {\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"ghost\"\n role=\"combobox\"\n aria-expanded={open}\n className=\"w-full justify-between capitalize\"\n >\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\n <ChevronDown className=\"opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\" align=\"start\">\n <ComboList\n page={page}\n setOpen={setOpen}\n setSelectedItem={setSelectedItem}\n items={extraItems.map((item) => ({\n ...item,\n onSelect: onAdd,\n href: `/create/${page.href}`,\n name: page.title,\n }))}\n />\n </PopoverContent>\n </Popover>\n )\n }\n\n return (\n <Drawer open={open} onOpenChange={setOpen}>\n <DrawerTrigger asChild>\n <Button variant=\"outline\" className=\"w-full justify-start\">\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\n </Button>\n </DrawerTrigger>\n <DrawerContent>\n <div className=\"mt-4 border-t\">\n <ComboList\n page={page}\n setOpen={setOpen}\n setSelectedItem={setSelectedItem}\n items={extraItems.map((item) => ({\n ...item,\n onSelect: onAdd,\n href: `/create/${page.href}`,\n name: page.title,\n }))}\n />\n </div>\n </DrawerContent>\n </Drawer>\n )\n}\n\nexport default ComboBoxResponsive\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqC8B;AArC9B,mBAAyB;AACzB,oBAAuB;AACvB,oBAAqD;AACrD,qBAAwD;AACxD,0BAAsC;AACtC,uBAA0B;AAE1B,MAAM,aAAa;AAAA,EACjB;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,MAAM;AAAA,IAAC;AAAA,EACnB;AACF;AACA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AACF,GAGG;AACD,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,KAAK;AACtC,QAAM,YAAY;AAClB,QAAM,CAAC,gBAAgB,eAAe,QAAI,uBAAqB,IAAI;AAEnE,MAAI,WAAW;AACb,WACE,6CAAC,0BAAQ,MAAY,cAAc,SACjC;AAAA,kDAAC,iCAAe,SAAO,MACrB;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,WAAU;AAAA,UAET;AAAA,6BAAiB,2EAAG,yBAAe,OAAM,IAAM,4EAAE;AAAA;AAAA,cAAG,KAAK;AAAA,eAAM;AAAA,YAChE,4CAAC,mCAAY,WAAU,cAAa;AAAA;AAAA;AAAA,MACtC,GACF;AAAA,MACA,4CAAC,iCAAe,WAAU,cAAa,OAAM,SAC3C;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,YAE/B,UAAU;AAAA,YACV,MAAM,WAAW,KAAK,IAAI;AAAA,YAC1B,MAAM,KAAK;AAAA,UACb,EAAE;AAAA;AAAA,MACJ,GACF;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,6CAAC,wBAAO,MAAY,cAAc,SAChC;AAAA,gDAAC,+BAAc,SAAO,MACpB,sDAAC,wBAAO,SAAQ,WAAU,WAAU,wBACjC,2BAAiB,2EAAG,yBAAe,OAAM,IAAM,4EAAE;AAAA;AAAA,MAAG,KAAK;AAAA,OAAM,GAClE,GACF;AAAA,IACA,4CAAC,+BACC,sDAAC,SAAI,WAAU,iBACb;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,UAE/B,UAAU;AAAA,UACV,MAAM,WAAW,KAAK,IAAI;AAAA,UAC1B,MAAM,KAAK;AAAA,QACb,EAAE;AAAA;AAAA,IACJ,GACF,GACF;AAAA,KACF;AAEJ;AAEA,IAAO,mBAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../components/combobox/index.tsx"],"sourcesContent":["import { useState } from 'react'\r\nimport { Button } from '../ui/button'\r\nimport { Drawer, DrawerContent, DrawerTrigger } from '../ui/drawer'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover'\r\nimport { BookPlus, ChevronDown } from 'lucide-react'\r\nimport { ComboList } from './ComboList'\r\n\r\nconst extraItems = [\r\n {\r\n name: 'new',\r\n label: 'Add New',\r\n Icon: BookPlus,\r\n href: '#',\r\n onSelect: () => {},\r\n },\r\n]\r\nfunction ComboBoxResponsive({\r\n page,\r\n onAdd,\r\n}: {\r\n page: any\r\n onAdd: (_pageName: string) => void\r\n}) {\r\n const [open, setOpen] = useState(false)\r\n const isDesktop = true\r\n const [selectedStatus, setSelectedItem] = useState<any | null>(null)\r\n\r\n if (isDesktop) {\r\n return (\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"ghost\"\r\n role=\"combobox\"\r\n aria-expanded={open}\r\n className=\"w-full justify-between capitalize\"\r\n >\r\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\r\n <ChevronDown className=\"opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-full p-0\" align=\"start\">\r\n <ComboList\r\n page={page}\r\n setOpen={setOpen}\r\n setSelectedItem={setSelectedItem}\r\n items={extraItems.map((item) => ({\r\n ...item,\r\n onSelect: onAdd,\r\n href: `/create/${page.href}`,\r\n name: page.title,\r\n }))}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n }\r\n\r\n return (\r\n <Drawer open={open} onOpenChange={setOpen}>\r\n <DrawerTrigger asChild>\r\n <Button variant=\"outline\" className=\"w-full justify-start\">\r\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\r\n </Button>\r\n </DrawerTrigger>\r\n <DrawerContent>\r\n <div className=\"mt-4 border-t\">\r\n <ComboList\r\n page={page}\r\n setOpen={setOpen}\r\n setSelectedItem={setSelectedItem}\r\n items={extraItems.map((item) => ({\r\n ...item,\r\n onSelect: onAdd,\r\n href: `/create/${page.href}`,\r\n name: page.title,\r\n }))}\r\n />\r\n </div>\r\n </DrawerContent>\r\n </Drawer>\r\n )\r\n}\r\n\r\nexport default ComboBoxResponsive\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqC8B;AArC9B,mBAAyB;AACzB,oBAAuB;AACvB,oBAAqD;AACrD,qBAAwD;AACxD,0BAAsC;AACtC,uBAA0B;AAE1B,MAAM,aAAa;AAAA,EACjB;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,MAAM;AAAA,IAAC;AAAA,EACnB;AACF;AACA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AACF,GAGG;AACD,QAAM,CAAC,MAAM,OAAO,QAAI,uBAAS,KAAK;AACtC,QAAM,YAAY;AAClB,QAAM,CAAC,gBAAgB,eAAe,QAAI,uBAAqB,IAAI;AAEnE,MAAI,WAAW;AACb,WACE,6CAAC,0BAAQ,MAAY,cAAc,SACjC;AAAA,kDAAC,iCAAe,SAAO,MACrB;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,WAAU;AAAA,UAET;AAAA,6BAAiB,2EAAG,yBAAe,OAAM,IAAM,4EAAE;AAAA;AAAA,cAAG,KAAK;AAAA,eAAM;AAAA,YAChE,4CAAC,mCAAY,WAAU,cAAa;AAAA;AAAA;AAAA,MACtC,GACF;AAAA,MACA,4CAAC,iCAAe,WAAU,cAAa,OAAM,SAC3C;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,YAE/B,UAAU;AAAA,YACV,MAAM,WAAW,KAAK,IAAI;AAAA,YAC1B,MAAM,KAAK;AAAA,UACb,EAAE;AAAA;AAAA,MACJ,GACF;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,6CAAC,wBAAO,MAAY,cAAc,SAChC;AAAA,gDAAC,+BAAc,SAAO,MACpB,sDAAC,wBAAO,SAAQ,WAAU,WAAU,wBACjC,2BAAiB,2EAAG,yBAAe,OAAM,IAAM,4EAAE;AAAA;AAAA,MAAG,KAAK;AAAA,OAAM,GAClE,GACF;AAAA,IACA,4CAAC,+BACC,sDAAC,SAAI,WAAU,iBACb;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,UAE/B,UAAU;AAAA,UACV,MAAM,WAAW,KAAK,IAAI;AAAA,UAC1B,MAAM,KAAK;AAAA,QACb,EAAE;AAAA;AAAA,IACJ,GACF,GACF;AAAA,KACF;AAEJ;AAEA,IAAO,mBAAQ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/combobox/index.tsx"],"sourcesContent":["import { useState } from 'react'\nimport { Button } from '../ui/button'\nimport { Drawer, DrawerContent, DrawerTrigger } from '../ui/drawer'\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover'\nimport { BookPlus, ChevronDown } from 'lucide-react'\nimport { ComboList } from './ComboList'\n\nconst extraItems = [\n {\n name: 'new',\n label: 'Add New',\n Icon: BookPlus,\n href: '#',\n onSelect: () => {},\n },\n]\nfunction ComboBoxResponsive({\n page,\n onAdd,\n}: {\n page: any\n onAdd: (_pageName: string) => void\n}) {\n const [open, setOpen] = useState(false)\n const isDesktop = true\n const [selectedStatus, setSelectedItem] = useState<any | null>(null)\n\n if (isDesktop) {\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <Button\n variant=\"ghost\"\n role=\"combobox\"\n aria-expanded={open}\n className=\"w-full justify-between capitalize\"\n >\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\n <ChevronDown className=\"opacity-50\" />\n </Button>\n </PopoverTrigger>\n <PopoverContent className=\"w-full p-0\" align=\"start\">\n <ComboList\n page={page}\n setOpen={setOpen}\n setSelectedItem={setSelectedItem}\n items={extraItems.map((item) => ({\n ...item,\n onSelect: onAdd,\n href: `/create/${page.href}`,\n name: page.title,\n }))}\n />\n </PopoverContent>\n </Popover>\n )\n }\n\n return (\n <Drawer open={open} onOpenChange={setOpen}>\n <DrawerTrigger asChild>\n <Button variant=\"outline\" className=\"w-full justify-start\">\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\n </Button>\n </DrawerTrigger>\n <DrawerContent>\n <div className=\"mt-4 border-t\">\n <ComboList\n page={page}\n setOpen={setOpen}\n setSelectedItem={setSelectedItem}\n items={extraItems.map((item) => ({\n ...item,\n onSelect: onAdd,\n href: `/create/${page.href}`,\n name: page.title,\n }))}\n />\n </div>\n </DrawerContent>\n </Drawer>\n )\n}\n\nexport default ComboBoxResponsive\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAqC8B,wBAA8B,YAA9B;AArC9B,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,QAAQ,eAAe,qBAAqB;AACrD,SAAS,SAAS,gBAAgB,sBAAsB;AACxD,SAAS,UAAU,mBAAmB;AACtC,SAAS,iBAAiB;AAE1B,MAAM,aAAa;AAAA,EACjB;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,MAAM;AAAA,IAAC;AAAA,EACnB;AACF;AACA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AACF,GAGG;AACD,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,YAAY;AAClB,QAAM,CAAC,gBAAgB,eAAe,IAAI,SAAqB,IAAI;AAEnE,MAAI,WAAW;AACb,WACE,qBAAC,WAAQ,MAAY,cAAc,SACjC;AAAA,0BAAC,kBAAe,SAAO,MACrB;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,WAAU;AAAA,UAET;AAAA,6BAAiB,gCAAG,yBAAe,OAAM,IAAM,iCAAE;AAAA;AAAA,cAAG,KAAK;AAAA,eAAM;AAAA,YAChE,oBAAC,eAAY,WAAU,cAAa;AAAA;AAAA;AAAA,MACtC,GACF;AAAA,MACA,oBAAC,kBAAe,WAAU,cAAa,OAAM,SAC3C;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,YAE/B,UAAU;AAAA,YACV,MAAM,WAAW,KAAK,IAAI;AAAA,YAC1B,MAAM,KAAK;AAAA,UACb,EAAE;AAAA;AAAA,MACJ,GACF;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,qBAAC,UAAO,MAAY,cAAc,SAChC;AAAA,wBAAC,iBAAc,SAAO,MACpB,8BAAC,UAAO,SAAQ,WAAU,WAAU,wBACjC,2BAAiB,gCAAG,yBAAe,OAAM,IAAM,iCAAE;AAAA;AAAA,MAAG,KAAK;AAAA,OAAM,GAClE,GACF;AAAA,IACA,oBAAC,iBACC,8BAAC,SAAI,WAAU,iBACb;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,UAE/B,UAAU;AAAA,UACV,MAAM,WAAW,KAAK,IAAI;AAAA,UAC1B,MAAM,KAAK;AAAA,QACb,EAAE;AAAA;AAAA,IACJ,GACF,GACF;AAAA,KACF;AAEJ;AAEA,IAAO,mBAAQ;","names":[]}
1
+ {"version":3,"sources":["../../../components/combobox/index.tsx"],"sourcesContent":["import { useState } from 'react'\r\nimport { Button } from '../ui/button'\r\nimport { Drawer, DrawerContent, DrawerTrigger } from '../ui/drawer'\r\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover'\r\nimport { BookPlus, ChevronDown } from 'lucide-react'\r\nimport { ComboList } from './ComboList'\r\n\r\nconst extraItems = [\r\n {\r\n name: 'new',\r\n label: 'Add New',\r\n Icon: BookPlus,\r\n href: '#',\r\n onSelect: () => {},\r\n },\r\n]\r\nfunction ComboBoxResponsive({\r\n page,\r\n onAdd,\r\n}: {\r\n page: any\r\n onAdd: (_pageName: string) => void\r\n}) {\r\n const [open, setOpen] = useState(false)\r\n const isDesktop = true\r\n const [selectedStatus, setSelectedItem] = useState<any | null>(null)\r\n\r\n if (isDesktop) {\r\n return (\r\n <Popover open={open} onOpenChange={setOpen}>\r\n <PopoverTrigger asChild>\r\n <Button\r\n variant=\"ghost\"\r\n role=\"combobox\"\r\n aria-expanded={open}\r\n className=\"w-full justify-between capitalize\"\r\n >\r\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\r\n <ChevronDown className=\"opacity-50\" />\r\n </Button>\r\n </PopoverTrigger>\r\n <PopoverContent className=\"w-full p-0\" align=\"start\">\r\n <ComboList\r\n page={page}\r\n setOpen={setOpen}\r\n setSelectedItem={setSelectedItem}\r\n items={extraItems.map((item) => ({\r\n ...item,\r\n onSelect: onAdd,\r\n href: `/create/${page.href}`,\r\n name: page.title,\r\n }))}\r\n />\r\n </PopoverContent>\r\n </Popover>\r\n )\r\n }\r\n\r\n return (\r\n <Drawer open={open} onOpenChange={setOpen}>\r\n <DrawerTrigger asChild>\r\n <Button variant=\"outline\" className=\"w-full justify-start\">\r\n {selectedStatus ? <>{selectedStatus.label}</> : <>+ {page.title}</>}\r\n </Button>\r\n </DrawerTrigger>\r\n <DrawerContent>\r\n <div className=\"mt-4 border-t\">\r\n <ComboList\r\n page={page}\r\n setOpen={setOpen}\r\n setSelectedItem={setSelectedItem}\r\n items={extraItems.map((item) => ({\r\n ...item,\r\n onSelect: onAdd,\r\n href: `/create/${page.href}`,\r\n name: page.title,\r\n }))}\r\n />\r\n </div>\r\n </DrawerContent>\r\n </Drawer>\r\n )\r\n}\r\n\r\nexport default ComboBoxResponsive\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAqC8B,wBAA8B,YAA9B;AArC9B,SAAS,gBAAgB;AACzB,SAAS,cAAc;AACvB,SAAS,QAAQ,eAAe,qBAAqB;AACrD,SAAS,SAAS,gBAAgB,sBAAsB;AACxD,SAAS,UAAU,mBAAmB;AACtC,SAAS,iBAAiB;AAE1B,MAAM,aAAa;AAAA,EACjB;AAAA,IACE,MAAM;AAAA,IACN,OAAO;AAAA,IACP,MAAM;AAAA,IACN,MAAM;AAAA,IACN,UAAU,MAAM;AAAA,IAAC;AAAA,EACnB;AACF;AACA,SAAS,mBAAmB;AAAA,EAC1B;AAAA,EACA;AACF,GAGG;AACD,QAAM,CAAC,MAAM,OAAO,IAAI,SAAS,KAAK;AACtC,QAAM,YAAY;AAClB,QAAM,CAAC,gBAAgB,eAAe,IAAI,SAAqB,IAAI;AAEnE,MAAI,WAAW;AACb,WACE,qBAAC,WAAQ,MAAY,cAAc,SACjC;AAAA,0BAAC,kBAAe,SAAO,MACrB;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,iBAAe;AAAA,UACf,WAAU;AAAA,UAET;AAAA,6BAAiB,gCAAG,yBAAe,OAAM,IAAM,iCAAE;AAAA;AAAA,cAAG,KAAK;AAAA,eAAM;AAAA,YAChE,oBAAC,eAAY,WAAU,cAAa;AAAA;AAAA;AAAA,MACtC,GACF;AAAA,MACA,oBAAC,kBAAe,WAAU,cAAa,OAAM,SAC3C;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,YAE/B,UAAU;AAAA,YACV,MAAM,WAAW,KAAK,IAAI;AAAA,YAC1B,MAAM,KAAK;AAAA,UACb,EAAE;AAAA;AAAA,MACJ,GACF;AAAA,OACF;AAAA,EAEJ;AAEA,SACE,qBAAC,UAAO,MAAY,cAAc,SAChC;AAAA,wBAAC,iBAAc,SAAO,MACpB,8BAAC,UAAO,SAAQ,WAAU,WAAU,wBACjC,2BAAiB,gCAAG,yBAAe,OAAM,IAAM,iCAAE;AAAA;AAAA,MAAG,KAAK;AAAA,OAAM,GAClE,GACF;AAAA,IACA,oBAAC,iBACC,8BAAC,SAAI,WAAU,iBACb;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,WAAW,IAAI,CAAC,SAAU,iCAC5B,OAD4B;AAAA,UAE/B,UAAU;AAAA,UACV,MAAM,WAAW,KAAK,IAAI;AAAA,UAC1B,MAAM,KAAK;AAAA,QACb,EAAE;AAAA;AAAA,IACJ,GACF,GACF;AAAA,KACF;AAEJ;AAEA,IAAO,mBAAQ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/dashboard/account-select.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../../lib/utils'\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../ui/select'\n\ninterface AccountSelectProps {\n isCollapsed: boolean\n accounts: {\n label: string\n email: string\n icon: React.ReactNode\n }[]\n}\n\nexport function AccountSelect({ isCollapsed, accounts }: AccountSelectProps) {\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\n accounts[0].email,\n )\n\n return (\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\n <SelectTrigger\n className={cn(\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\n isCollapsed &&\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\n )}\n aria-label=\"Select account\"\n >\n <SelectValue placeholder=\"Select an account\">\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\n {\n accounts.find((account) => account.email === selectedAccount)\n ?.icon\n }\n {\n accounts.find((account) => account.email === selectedAccount)\n ?.label\n }\n </div>\n </SelectValue>\n </SelectTrigger>\n <SelectContent>\n {accounts.map((account) => (\n <SelectItem key={account.email} value={account.email}>\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\n {account.icon}\n {account.email}\n </div>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCQ;AAnCR,YAAuB;AAEvB,mBAAmB;AACnB,oBAMO;AAWA,SAAS,cAAc,EAAE,aAAa,SAAS,GAAuB;AAtB7E;AAuBE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,6CAAC,wBAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,sDAAC,6BAAY,aAAY,qBACvB,uDAAC,SAAI,WAAU,4FAEX;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAGJ,cAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAER,GACF;AAAA;AAAA,IACF;AAAA,IACA,4CAAC,+BACE,mBAAS,IAAI,CAAC,YACb,4CAAC,4BAA+B,OAAO,QAAQ,OAC7C,uDAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/dashboard/account-select.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../ui/select'\r\n\r\ninterface AccountSelectProps {\r\n isCollapsed: boolean\r\n accounts: {\r\n label: string\r\n email: string\r\n icon: React.ReactNode\r\n }[]\r\n}\r\n\r\nexport function AccountSelect({ isCollapsed, accounts }: AccountSelectProps) {\r\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\r\n accounts[0].email,\r\n )\r\n\r\n return (\r\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\r\n <SelectTrigger\r\n className={cn(\r\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\r\n isCollapsed &&\r\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\r\n )}\r\n aria-label=\"Select account\"\r\n >\r\n <SelectValue placeholder=\"Select an account\">\r\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\r\n {\r\n accounts.find((account) => account.email === selectedAccount)\r\n ?.icon\r\n }\r\n {\r\n accounts.find((account) => account.email === selectedAccount)\r\n ?.label\r\n }\r\n </div>\r\n </SelectValue>\r\n </SelectTrigger>\r\n <SelectContent>\r\n {accounts.map((account) => (\r\n <SelectItem key={account.email} value={account.email}>\r\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\r\n {account.icon}\r\n {account.email}\r\n </div>\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCQ;AAnCR,YAAuB;AAEvB,mBAAmB;AACnB,oBAMO;AAWA,SAAS,cAAc,EAAE,aAAa,SAAS,GAAuB;AAtB7E;AAuBE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,6CAAC,wBAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,sDAAC,6BAAY,aAAY,qBACvB,uDAAC,SAAI,WAAU,4FAEX;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAGJ,cAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAER,GACF;AAAA;AAAA,IACF;AAAA,IACA,4CAAC,+BACE,mBAAS,IAAI,CAAC,YACb,4CAAC,4BAA+B,OAAO,QAAQ,OAC7C,uDAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/dashboard/account-select.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../../lib/utils'\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../ui/select'\n\ninterface AccountSelectProps {\n isCollapsed: boolean\n accounts: {\n label: string\n email: string\n icon: React.ReactNode\n }[]\n}\n\nexport function AccountSelect({ isCollapsed, accounts }: AccountSelectProps) {\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\n accounts[0].email,\n )\n\n return (\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\n <SelectTrigger\n className={cn(\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\n isCollapsed &&\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\n )}\n aria-label=\"Select account\"\n >\n <SelectValue placeholder=\"Select an account\">\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\n {\n accounts.find((account) => account.email === selectedAccount)\n ?.icon\n }\n {\n accounts.find((account) => account.email === selectedAccount)\n ?.label\n }\n </div>\n </SelectValue>\n </SelectTrigger>\n <SelectContent>\n {accounts.map((account) => (\n <SelectItem key={account.email} value={account.email}>\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\n {account.icon}\n {account.email}\n </div>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n}\n"],"mappings":";AAqCQ,cACE,YADF;AAnCR,YAAY,WAAW;AAEvB,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWA,SAAS,cAAc,EAAE,aAAa,SAAS,GAAuB;AAtB7E;AAuBE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,qBAAC,UAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,8BAAC,eAAY,aAAY,qBACvB,+BAAC,SAAI,WAAU,4FAEX;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAGJ,cAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAER,GACF;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,iBACE,mBAAS,IAAI,CAAC,YACb,oBAAC,cAA+B,OAAO,QAAQ,OAC7C,+BAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/dashboard/account-select.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../ui/select'\r\n\r\ninterface AccountSelectProps {\r\n isCollapsed: boolean\r\n accounts: {\r\n label: string\r\n email: string\r\n icon: React.ReactNode\r\n }[]\r\n}\r\n\r\nexport function AccountSelect({ isCollapsed, accounts }: AccountSelectProps) {\r\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\r\n accounts[0].email,\r\n )\r\n\r\n return (\r\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\r\n <SelectTrigger\r\n className={cn(\r\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\r\n isCollapsed &&\r\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\r\n )}\r\n aria-label=\"Select account\"\r\n >\r\n <SelectValue placeholder=\"Select an account\">\r\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\r\n {\r\n accounts.find((account) => account.email === selectedAccount)\r\n ?.icon\r\n }\r\n {\r\n accounts.find((account) => account.email === selectedAccount)\r\n ?.label\r\n }\r\n </div>\r\n </SelectValue>\r\n </SelectTrigger>\r\n <SelectContent>\r\n {accounts.map((account) => (\r\n <SelectItem key={account.email} value={account.email}>\r\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\r\n {account.icon}\r\n {account.email}\r\n </div>\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n )\r\n}\r\n"],"mappings":";AAqCQ,cACE,YADF;AAnCR,YAAY,WAAW;AAEvB,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWA,SAAS,cAAc,EAAE,aAAa,SAAS,GAAuB;AAtB7E;AAuBE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,qBAAC,UAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,8BAAC,eAAY,aAAY,qBACvB,+BAAC,SAAI,WAAU,4FAEX;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAGJ,cAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI;AAAA,WAER,GACF;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,iBACE,mBAAS,IAAI,CAAC,YACb,oBAAC,cAA+B,OAAO,QAAQ,OAC7C,+BAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/dashboard/account-switcher.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../../lib/utils'\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../ui/select'\n\ninterface AccountSwitcherProps {\n isCollapsed: boolean\n accounts: {\n label: string\n email: string\n icon: React.ReactNode\n }[]\n}\n\nexport function AccountSwitcher({\n isCollapsed,\n accounts,\n}: AccountSwitcherProps) {\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\n accounts[0].email,\n )\n\n return (\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\n <SelectTrigger\n className={cn(\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\n isCollapsed &&\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\n )}\n aria-label=\"Select account\"\n >\n <SelectValue placeholder=\"Select an account\">\n {accounts.find((account) => account.email === selectedAccount)?.icon}\n <span className={cn('ml-2', isCollapsed && 'hidden')}>\n {\n accounts.find((account) => account.email === selectedAccount)\n ?.label\n }\n </span>\n </SelectValue>\n </SelectTrigger>\n <SelectContent>\n {accounts.map((account) => (\n <SelectItem key={account.email} value={account.email}>\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\n {account.icon}\n {account.email}\n </div>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCQ;AAtCR,YAAuB;AAEvB,mBAAmB;AACnB,oBAMO;AAWA,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AACF,GAAyB;AAzBzB;AA0BE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,6CAAC,wBAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,uDAAC,6BAAY,aAAY,qBACtB;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBAA+D;AAAA,UAChE,4CAAC,UAAK,eAAW,iBAAG,QAAQ,eAAe,QAAQ,GAE/C,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI,OAER;AAAA,WACF;AAAA;AAAA,IACF;AAAA,IACA,4CAAC,+BACE,mBAAS,IAAI,CAAC,YACb,4CAAC,4BAA+B,OAAO,QAAQ,OAC7C,uDAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/dashboard/account-switcher.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../ui/select'\r\n\r\ninterface AccountSwitcherProps {\r\n isCollapsed: boolean\r\n accounts: {\r\n label: string\r\n email: string\r\n icon: React.ReactNode\r\n }[]\r\n}\r\n\r\nexport function AccountSwitcher({\r\n isCollapsed,\r\n accounts,\r\n}: AccountSwitcherProps) {\r\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\r\n accounts[0].email,\r\n )\r\n\r\n return (\r\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\r\n <SelectTrigger\r\n className={cn(\r\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\r\n isCollapsed &&\r\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\r\n )}\r\n aria-label=\"Select account\"\r\n >\r\n <SelectValue placeholder=\"Select an account\">\r\n {accounts.find((account) => account.email === selectedAccount)?.icon}\r\n <span className={cn('ml-2', isCollapsed && 'hidden')}>\r\n {\r\n accounts.find((account) => account.email === selectedAccount)\r\n ?.label\r\n }\r\n </span>\r\n </SelectValue>\r\n </SelectTrigger>\r\n <SelectContent>\r\n {accounts.map((account) => (\r\n <SelectItem key={account.email} value={account.email}>\r\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\r\n {account.icon}\r\n {account.email}\r\n </div>\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAwCQ;AAtCR,YAAuB;AAEvB,mBAAmB;AACnB,oBAMO;AAWA,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AACF,GAAyB;AAzBzB;AA0BE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,6CAAC,wBAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,uDAAC,6BAAY,aAAY,qBACtB;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBAA+D;AAAA,UAChE,4CAAC,UAAK,eAAW,iBAAG,QAAQ,eAAe,QAAQ,GAE/C,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI,OAER;AAAA,WACF;AAAA;AAAA,IACF;AAAA,IACA,4CAAC,+BACE,mBAAS,IAAI,CAAC,YACb,4CAAC,4BAA+B,OAAO,QAAQ,OAC7C,uDAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../components/dashboard/account-switcher.tsx"],"sourcesContent":["'use client'\n\nimport * as React from 'react'\n\nimport { cn } from '../../lib/utils'\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from '../ui/select'\n\ninterface AccountSwitcherProps {\n isCollapsed: boolean\n accounts: {\n label: string\n email: string\n icon: React.ReactNode\n }[]\n}\n\nexport function AccountSwitcher({\n isCollapsed,\n accounts,\n}: AccountSwitcherProps) {\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\n accounts[0].email,\n )\n\n return (\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\n <SelectTrigger\n className={cn(\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\n isCollapsed &&\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\n )}\n aria-label=\"Select account\"\n >\n <SelectValue placeholder=\"Select an account\">\n {accounts.find((account) => account.email === selectedAccount)?.icon}\n <span className={cn('ml-2', isCollapsed && 'hidden')}>\n {\n accounts.find((account) => account.email === selectedAccount)\n ?.label\n }\n </span>\n </SelectValue>\n </SelectTrigger>\n <SelectContent>\n {accounts.map((account) => (\n <SelectItem key={account.email} value={account.email}>\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\n {account.icon}\n {account.email}\n </div>\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n )\n}\n"],"mappings":";AAwCQ,SAEE,KAFF;AAtCR,YAAY,WAAW;AAEvB,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWA,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AACF,GAAyB;AAzBzB;AA0BE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,qBAAC,UAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,+BAAC,eAAY,aAAY,qBACtB;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBAA+D;AAAA,UAChE,oBAAC,UAAK,WAAW,GAAG,QAAQ,eAAe,QAAQ,GAE/C,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI,OAER;AAAA,WACF;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,iBACE,mBAAS,IAAI,CAAC,YACb,oBAAC,cAA+B,OAAO,QAAQ,OAC7C,+BAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../components/dashboard/account-switcher.tsx"],"sourcesContent":["'use client'\r\n\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '../../lib/utils'\r\nimport {\r\n Select,\r\n SelectContent,\r\n SelectItem,\r\n SelectTrigger,\r\n SelectValue,\r\n} from '../ui/select'\r\n\r\ninterface AccountSwitcherProps {\r\n isCollapsed: boolean\r\n accounts: {\r\n label: string\r\n email: string\r\n icon: React.ReactNode\r\n }[]\r\n}\r\n\r\nexport function AccountSwitcher({\r\n isCollapsed,\r\n accounts,\r\n}: AccountSwitcherProps) {\r\n const [selectedAccount, setSelectedAccount] = React.useState<string>(\r\n accounts[0].email,\r\n )\r\n\r\n return (\r\n <Select defaultValue={selectedAccount} onValueChange={setSelectedAccount}>\r\n <SelectTrigger\r\n className={cn(\r\n 'flex items-center gap-2 [&>span]:line-clamp-1 [&>span]:flex [&>span]:w-full [&>span]:items-center [&>span]:gap-1 [&>span]:truncate [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0',\r\n isCollapsed &&\r\n 'flex h-9 w-9 shrink-0 items-center justify-center p-0 [&>span]:w-auto [&>svg]:hidden',\r\n )}\r\n aria-label=\"Select account\"\r\n >\r\n <SelectValue placeholder=\"Select an account\">\r\n {accounts.find((account) => account.email === selectedAccount)?.icon}\r\n <span className={cn('ml-2', isCollapsed && 'hidden')}>\r\n {\r\n accounts.find((account) => account.email === selectedAccount)\r\n ?.label\r\n }\r\n </span>\r\n </SelectValue>\r\n </SelectTrigger>\r\n <SelectContent>\r\n {accounts.map((account) => (\r\n <SelectItem key={account.email} value={account.email}>\r\n <div className=\"[&_svg]:text-foreground flex items-center gap-3 [&_svg]:h-4 [&_svg]:w-4 [&_svg]:shrink-0\">\r\n {account.icon}\r\n {account.email}\r\n </div>\r\n </SelectItem>\r\n ))}\r\n </SelectContent>\r\n </Select>\r\n )\r\n}\r\n"],"mappings":";AAwCQ,SAEE,KAFF;AAtCR,YAAY,WAAW;AAEvB,SAAS,UAAU;AACnB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAWA,SAAS,gBAAgB;AAAA,EAC9B;AAAA,EACA;AACF,GAAyB;AAzBzB;AA0BE,QAAM,CAAC,iBAAiB,kBAAkB,IAAI,MAAM;AAAA,IAClD,SAAS,CAAC,EAAE;AAAA,EACd;AAEA,SACE,qBAAC,UAAO,cAAc,iBAAiB,eAAe,oBACpD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC,WAAW;AAAA,UACT;AAAA,UACA,eACE;AAAA,QACJ;AAAA,QACA,cAAW;AAAA,QAEX,+BAAC,eAAY,aAAY,qBACtB;AAAA,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBAA+D;AAAA,UAChE,oBAAC,UAAK,WAAW,GAAG,QAAQ,eAAe,QAAQ,GAE/C,yBAAS,KAAK,CAAC,YAAY,QAAQ,UAAU,eAAe,MAA5D,mBACI,OAER;AAAA,WACF;AAAA;AAAA,IACF;AAAA,IACA,oBAAC,iBACE,mBAAS,IAAI,CAAC,YACb,oBAAC,cAA+B,OAAO,QAAQ,OAC7C,+BAAC,SAAI,WAAU,4FACZ;AAAA,cAAQ;AAAA,MACR,QAAQ;AAAA,OACX,KAJe,QAAQ,KAKzB,CACD,GACH;AAAA,KACF;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.tsx"],"sourcesContent":["'use client'\n\nimport { useState, useCallback } from 'react'\nimport { SectionHeader } from './SectionHeader'\nimport { EntityList } from './EntityList'\nimport type { CollapsibleSectionProps } from './types'\nimport {\n SectionWrapper,\n ContentWrapper,\n SearchWrapper,\n SearchInput,\n} from './CollapsibleSection.styles'\n\nexport function CollapsibleSection({\n title,\n items,\n icon,\n createHref,\n moreHref,\n isCollapsed,\n theme,\n onExpand,\n}: CollapsibleSectionProps) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [searchQuery, setSearchQuery] = useState('')\n\n const handleToggle = useCallback(() => {\n if (isCollapsed && onExpand) {\n onExpand()\n setIsExpanded(true)\n } else {\n setIsExpanded((prev) => !prev)\n }\n }, [isCollapsed, onExpand])\n\n const handleSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value)\n },\n [],\n )\n\n return (\n <SectionWrapper data-tour={`sidebar-${title.toLowerCase()}`}>\n <SectionHeader\n title={title}\n icon={icon}\n count={items.length}\n isExpanded={isExpanded}\n isCollapsed={isCollapsed}\n theme={theme}\n moreHref={moreHref}\n onClick={handleToggle}\n />\n\n {!isCollapsed && (\n <ContentWrapper $isExpanded={isExpanded}>\n <SearchWrapper>\n <SearchInput\n type=\"text\"\n placeholder={`Search ${title.toLowerCase()}...`}\n value={searchQuery}\n onChange={handleSearchChange}\n $theme={theme}\n aria-label={`Search ${title}`}\n />\n </SearchWrapper>\n <EntityList\n items={items}\n createHref={createHref}\n moreHref={moreHref}\n searchQuery={searchQuery}\n totalCount={items.length}\n theme={theme}\n />\n </ContentWrapper>\n )}\n </SectionWrapper>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4CM;AA1CN,mBAAsC;AACtC,2BAA8B;AAC9B,wBAA2B;AAE3B,gCAKO;AAEA,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,EAAE;AAEjD,QAAM,mBAAe,0BAAY,MAAM;AACrC,QAAI,eAAe,UAAU;AAC3B,eAAS;AACT,oBAAc,IAAI;AAAA,IACpB,OAAO;AACL,oBAAc,CAAC,SAAS,CAAC,IAAI;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,aAAa,QAAQ,CAAC;AAE1B,QAAM,yBAAqB;AAAA,IACzB,CAAC,MAA2C;AAC1C,qBAAe,EAAE,OAAO,KAAK;AAAA,IAC/B;AAAA,IACA,CAAC;AAAA,EACH;AAEA,SACE,6CAAC,4CAAe,aAAW,WAAW,MAAM,YAAY,CAAC,IACvD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,MAAM;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA;AAAA,IACX;AAAA,IAEC,CAAC,eACA,6CAAC,4CAAe,aAAa,YAC3B;AAAA,kDAAC,2CACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,aAAa,UAAU,MAAM,YAAY,CAAC;AAAA,UAC1C,OAAO;AAAA,UACP,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,cAAY,UAAU,KAAK;AAAA;AAAA,MAC7B,GACF;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY,MAAM;AAAA,UAClB;AAAA;AAAA,MACF;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.tsx"],"sourcesContent":["'use client'\r\n\r\nimport { useState, useCallback } from 'react'\r\nimport { SectionHeader } from './SectionHeader'\r\nimport { EntityList } from './EntityList'\r\nimport type { CollapsibleSectionProps } from './types'\r\nimport {\r\n SectionWrapper,\r\n ContentWrapper,\r\n SearchWrapper,\r\n SearchInput,\r\n} from './CollapsibleSection.styles'\r\n\r\nexport function CollapsibleSection({\r\n title,\r\n items,\r\n icon,\r\n createHref,\r\n moreHref,\r\n isCollapsed,\r\n theme,\r\n onExpand,\r\n}: CollapsibleSectionProps) {\r\n const [isExpanded, setIsExpanded] = useState(false)\r\n const [searchQuery, setSearchQuery] = useState('')\r\n\r\n const handleToggle = useCallback(() => {\r\n if (isCollapsed && onExpand) {\r\n onExpand()\r\n setIsExpanded(true)\r\n } else {\r\n setIsExpanded((prev) => !prev)\r\n }\r\n }, [isCollapsed, onExpand])\r\n\r\n const handleSearchChange = useCallback(\r\n (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setSearchQuery(e.target.value)\r\n },\r\n [],\r\n )\r\n\r\n return (\r\n <SectionWrapper data-tour={`sidebar-${title.toLowerCase()}`}>\r\n <SectionHeader\r\n title={title}\r\n icon={icon}\r\n count={items.length}\r\n isExpanded={isExpanded}\r\n isCollapsed={isCollapsed}\r\n theme={theme}\r\n moreHref={moreHref}\r\n onClick={handleToggle}\r\n />\r\n\r\n {!isCollapsed && (\r\n <ContentWrapper $isExpanded={isExpanded}>\r\n <SearchWrapper>\r\n <SearchInput\r\n type=\"text\"\r\n placeholder={`Search ${title.toLowerCase()}...`}\r\n value={searchQuery}\r\n onChange={handleSearchChange}\r\n $theme={theme}\r\n aria-label={`Search ${title}`}\r\n />\r\n </SearchWrapper>\r\n <EntityList\r\n items={items}\r\n createHref={createHref}\r\n moreHref={moreHref}\r\n searchQuery={searchQuery}\r\n totalCount={items.length}\r\n theme={theme}\r\n />\r\n </ContentWrapper>\r\n )}\r\n </SectionWrapper>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AA4CM;AA1CN,mBAAsC;AACtC,2BAA8B;AAC9B,wBAA2B;AAE3B,gCAKO;AAEA,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,QAAM,CAAC,YAAY,aAAa,QAAI,uBAAS,KAAK;AAClD,QAAM,CAAC,aAAa,cAAc,QAAI,uBAAS,EAAE;AAEjD,QAAM,mBAAe,0BAAY,MAAM;AACrC,QAAI,eAAe,UAAU;AAC3B,eAAS;AACT,oBAAc,IAAI;AAAA,IACpB,OAAO;AACL,oBAAc,CAAC,SAAS,CAAC,IAAI;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,aAAa,QAAQ,CAAC;AAE1B,QAAM,yBAAqB;AAAA,IACzB,CAAC,MAA2C;AAC1C,qBAAe,EAAE,OAAO,KAAK;AAAA,IAC/B;AAAA,IACA,CAAC;AAAA,EACH;AAEA,SACE,6CAAC,4CAAe,aAAW,WAAW,MAAM,YAAY,CAAC,IACvD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,MAAM;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA;AAAA,IACX;AAAA,IAEC,CAAC,eACA,6CAAC,4CAAe,aAAa,YAC3B;AAAA,kDAAC,2CACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,aAAa,UAAU,MAAM,YAAY,CAAC;AAAA,UAC1C,OAAO;AAAA,UACP,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,cAAY,UAAU,KAAK;AAAA;AAAA,MAC7B,GACF;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY,MAAM;AAAA,UAClB;AAAA;AAAA,MACF;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.tsx"],"sourcesContent":["'use client'\n\nimport { useState, useCallback } from 'react'\nimport { SectionHeader } from './SectionHeader'\nimport { EntityList } from './EntityList'\nimport type { CollapsibleSectionProps } from './types'\nimport {\n SectionWrapper,\n ContentWrapper,\n SearchWrapper,\n SearchInput,\n} from './CollapsibleSection.styles'\n\nexport function CollapsibleSection({\n title,\n items,\n icon,\n createHref,\n moreHref,\n isCollapsed,\n theme,\n onExpand,\n}: CollapsibleSectionProps) {\n const [isExpanded, setIsExpanded] = useState(false)\n const [searchQuery, setSearchQuery] = useState('')\n\n const handleToggle = useCallback(() => {\n if (isCollapsed && onExpand) {\n onExpand()\n setIsExpanded(true)\n } else {\n setIsExpanded((prev) => !prev)\n }\n }, [isCollapsed, onExpand])\n\n const handleSearchChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n setSearchQuery(e.target.value)\n },\n [],\n )\n\n return (\n <SectionWrapper data-tour={`sidebar-${title.toLowerCase()}`}>\n <SectionHeader\n title={title}\n icon={icon}\n count={items.length}\n isExpanded={isExpanded}\n isCollapsed={isCollapsed}\n theme={theme}\n moreHref={moreHref}\n onClick={handleToggle}\n />\n\n {!isCollapsed && (\n <ContentWrapper $isExpanded={isExpanded}>\n <SearchWrapper>\n <SearchInput\n type=\"text\"\n placeholder={`Search ${title.toLowerCase()}...`}\n value={searchQuery}\n onChange={handleSearchChange}\n $theme={theme}\n aria-label={`Search ${title}`}\n />\n </SearchWrapper>\n <EntityList\n items={items}\n createHref={createHref}\n moreHref={moreHref}\n searchQuery={searchQuery}\n totalCount={items.length}\n theme={theme}\n />\n </ContentWrapper>\n )}\n </SectionWrapper>\n )\n}\n"],"mappings":";AA4CM,cAYE,YAZF;AA1CN,SAAS,UAAU,mBAAmB;AACtC,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAE3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AAEjD,QAAM,eAAe,YAAY,MAAM;AACrC,QAAI,eAAe,UAAU;AAC3B,eAAS;AACT,oBAAc,IAAI;AAAA,IACpB,OAAO;AACL,oBAAc,CAAC,SAAS,CAAC,IAAI;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,aAAa,QAAQ,CAAC;AAE1B,QAAM,qBAAqB;AAAA,IACzB,CAAC,MAA2C;AAC1C,qBAAe,EAAE,OAAO,KAAK;AAAA,IAC/B;AAAA,IACA,CAAC;AAAA,EACH;AAEA,SACE,qBAAC,kBAAe,aAAW,WAAW,MAAM,YAAY,CAAC,IACvD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,MAAM;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA;AAAA,IACX;AAAA,IAEC,CAAC,eACA,qBAAC,kBAAe,aAAa,YAC3B;AAAA,0BAAC,iBACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,aAAa,UAAU,MAAM,YAAY,CAAC;AAAA,UAC1C,OAAO;AAAA,UACP,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,cAAY,UAAU,KAAK;AAAA;AAAA,MAC7B,GACF;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY,MAAM;AAAA,UAClB;AAAA;AAAA,MACF;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}
1
+ {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.tsx"],"sourcesContent":["'use client'\r\n\r\nimport { useState, useCallback } from 'react'\r\nimport { SectionHeader } from './SectionHeader'\r\nimport { EntityList } from './EntityList'\r\nimport type { CollapsibleSectionProps } from './types'\r\nimport {\r\n SectionWrapper,\r\n ContentWrapper,\r\n SearchWrapper,\r\n SearchInput,\r\n} from './CollapsibleSection.styles'\r\n\r\nexport function CollapsibleSection({\r\n title,\r\n items,\r\n icon,\r\n createHref,\r\n moreHref,\r\n isCollapsed,\r\n theme,\r\n onExpand,\r\n}: CollapsibleSectionProps) {\r\n const [isExpanded, setIsExpanded] = useState(false)\r\n const [searchQuery, setSearchQuery] = useState('')\r\n\r\n const handleToggle = useCallback(() => {\r\n if (isCollapsed && onExpand) {\r\n onExpand()\r\n setIsExpanded(true)\r\n } else {\r\n setIsExpanded((prev) => !prev)\r\n }\r\n }, [isCollapsed, onExpand])\r\n\r\n const handleSearchChange = useCallback(\r\n (e: React.ChangeEvent<HTMLInputElement>) => {\r\n setSearchQuery(e.target.value)\r\n },\r\n [],\r\n )\r\n\r\n return (\r\n <SectionWrapper data-tour={`sidebar-${title.toLowerCase()}`}>\r\n <SectionHeader\r\n title={title}\r\n icon={icon}\r\n count={items.length}\r\n isExpanded={isExpanded}\r\n isCollapsed={isCollapsed}\r\n theme={theme}\r\n moreHref={moreHref}\r\n onClick={handleToggle}\r\n />\r\n\r\n {!isCollapsed && (\r\n <ContentWrapper $isExpanded={isExpanded}>\r\n <SearchWrapper>\r\n <SearchInput\r\n type=\"text\"\r\n placeholder={`Search ${title.toLowerCase()}...`}\r\n value={searchQuery}\r\n onChange={handleSearchChange}\r\n $theme={theme}\r\n aria-label={`Search ${title}`}\r\n />\r\n </SearchWrapper>\r\n <EntityList\r\n items={items}\r\n createHref={createHref}\r\n moreHref={moreHref}\r\n searchQuery={searchQuery}\r\n totalCount={items.length}\r\n theme={theme}\r\n />\r\n </ContentWrapper>\r\n )}\r\n </SectionWrapper>\r\n )\r\n}\r\n"],"mappings":";AA4CM,cAYE,YAZF;AA1CN,SAAS,UAAU,mBAAmB;AACtC,SAAS,qBAAqB;AAC9B,SAAS,kBAAkB;AAE3B;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEA,SAAS,mBAAmB;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,KAAK;AAClD,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,EAAE;AAEjD,QAAM,eAAe,YAAY,MAAM;AACrC,QAAI,eAAe,UAAU;AAC3B,eAAS;AACT,oBAAc,IAAI;AAAA,IACpB,OAAO;AACL,oBAAc,CAAC,SAAS,CAAC,IAAI;AAAA,IAC/B;AAAA,EACF,GAAG,CAAC,aAAa,QAAQ,CAAC;AAE1B,QAAM,qBAAqB;AAAA,IACzB,CAAC,MAA2C;AAC1C,qBAAe,EAAE,OAAO,KAAK;AAAA,IAC/B;AAAA,IACA,CAAC;AAAA,EACH;AAEA,SACE,qBAAC,kBAAe,aAAW,WAAW,MAAM,YAAY,CAAC,IACvD;AAAA;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO,MAAM;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS;AAAA;AAAA,IACX;AAAA,IAEC,CAAC,eACA,qBAAC,kBAAe,aAAa,YAC3B;AAAA,0BAAC,iBACC;AAAA,QAAC;AAAA;AAAA,UACC,MAAK;AAAA,UACL,aAAa,UAAU,MAAM,YAAY,CAAC;AAAA,UAC1C,OAAO;AAAA,UACP,UAAU;AAAA,UACV,QAAQ;AAAA,UACR,cAAY,UAAU,KAAK;AAAA;AAAA,MAC7B,GACF;AAAA,MACA;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,YAAY,MAAM;AAAA,UAClB;AAAA;AAAA,MACF;AAAA,OACF;AAAA,KAEJ;AAEJ;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.styles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const SectionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n`\n\nexport const ContentWrapper = styled.div<{ $isExpanded: boolean }>`\n max-height: ${({ $isExpanded }) => ($isExpanded ? '32rem' : '0')};\n overflow: hidden;\n transition: max-height 0.2s ease-in-out;\n`\n\nexport const SearchWrapper = styled.div`\n padding: 0.5rem 0.75rem;\n`\n\nexport const SearchInput = styled.input<{ $theme?: string }>`\n width: 100%;\n padding: 0.5rem 0.75rem;\n border-radius: 0.375rem;\n border: 1px solid\n ${({ $theme }) =>\n $theme === 'dark' ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 0, 0, 0.2)'};\n background-color: ${({ $theme }) =>\n $theme === 'dark' ? 'rgba(0, 0, 0, 0.3)' : 'rgba(255, 255, 255, 0.9)'};\n color: inherit;\n font-size: 0.875rem;\n outline: none;\n transition: border-color 0.2s ease;\n\n &::placeholder {\n color: ${({ $theme }) => ($theme === 'dark' ? '#9ca3af' : '#6b7280')};\n }\n\n &:focus {\n border-color: ${({ $theme }) =>\n $theme === 'dark' ? '#60a5fa' : '#2563eb'};\n }\n`\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAmB;AAEZ,MAAM,iBAAiB,yBAAAA,QAAO;AAAA;AAAA;AAAA;AAK9B,MAAM,iBAAiB,yBAAAA,QAAO;AAAA,gBACrB,CAAC,EAAE,YAAY,MAAO,cAAc,UAAU,GAAI;AAAA;AAAA;AAAA;AAK3D,MAAM,gBAAgB,yBAAAA,QAAO;AAAA;AAAA;AAI7B,MAAM,cAAc,yBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAK5B,CAAC,EAAE,OAAO,MACV,WAAW,SAAS,6BAA6B,oBAAoB;AAAA,sBACrD,CAAC,EAAE,OAAO,MAC5B,WAAW,SAAS,uBAAuB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAO5D,CAAC,EAAE,OAAO,MAAO,WAAW,SAAS,YAAY,SAAU;AAAA;AAAA;AAAA;AAAA,oBAIpD,CAAC,EAAE,OAAO,MACxB,WAAW,SAAS,YAAY,SAAS;AAAA;AAAA;","names":["styled"]}
1
+ {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.styles.ts"],"sourcesContent":["import styled from 'styled-components'\r\n\r\nexport const SectionWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n`\r\n\r\nexport const ContentWrapper = styled.div<{ $isExpanded: boolean }>`\r\n max-height: ${({ $isExpanded }) => ($isExpanded ? '32rem' : '0')};\r\n overflow: hidden;\r\n transition: max-height 0.2s ease-in-out;\r\n`\r\n\r\nexport const SearchWrapper = styled.div`\r\n padding: 0.5rem 0.75rem;\r\n`\r\n\r\nexport const SearchInput = styled.input<{ $theme?: string }>`\r\n width: 100%;\r\n padding: 0.5rem 0.75rem;\r\n border-radius: 0.375rem;\r\n border: 1px solid\r\n ${({ $theme }) =>\r\n $theme === 'dark' ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 0, 0, 0.2)'};\r\n background-color: ${({ $theme }) =>\r\n $theme === 'dark' ? 'rgba(0, 0, 0, 0.3)' : 'rgba(255, 255, 255, 0.9)'};\r\n color: inherit;\r\n font-size: 0.875rem;\r\n outline: none;\r\n transition: border-color 0.2s ease;\r\n\r\n &::placeholder {\r\n color: ${({ $theme }) => ($theme === 'dark' ? '#9ca3af' : '#6b7280')};\r\n }\r\n\r\n &:focus {\r\n border-color: ${({ $theme }) =>\r\n $theme === 'dark' ? '#60a5fa' : '#2563eb'};\r\n }\r\n`\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,+BAAmB;AAEZ,MAAM,iBAAiB,yBAAAA,QAAO;AAAA;AAAA;AAAA;AAK9B,MAAM,iBAAiB,yBAAAA,QAAO;AAAA,gBACrB,CAAC,EAAE,YAAY,MAAO,cAAc,UAAU,GAAI;AAAA;AAAA;AAAA;AAK3D,MAAM,gBAAgB,yBAAAA,QAAO;AAAA;AAAA;AAI7B,MAAM,cAAc,yBAAAA,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAK5B,CAAC,EAAE,OAAO,MACV,WAAW,SAAS,6BAA6B,oBAAoB;AAAA,sBACrD,CAAC,EAAE,OAAO,MAC5B,WAAW,SAAS,uBAAuB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAO5D,CAAC,EAAE,OAAO,MAAO,WAAW,SAAS,YAAY,SAAU;AAAA;AAAA;AAAA;AAAA,oBAIpD,CAAC,EAAE,OAAO,MACxB,WAAW,SAAS,YAAY,SAAS;AAAA;AAAA;","names":["styled"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.styles.ts"],"sourcesContent":["import styled from 'styled-components'\n\nexport const SectionWrapper = styled.div`\n display: flex;\n flex-direction: column;\n`\n\nexport const ContentWrapper = styled.div<{ $isExpanded: boolean }>`\n max-height: ${({ $isExpanded }) => ($isExpanded ? '32rem' : '0')};\n overflow: hidden;\n transition: max-height 0.2s ease-in-out;\n`\n\nexport const SearchWrapper = styled.div`\n padding: 0.5rem 0.75rem;\n`\n\nexport const SearchInput = styled.input<{ $theme?: string }>`\n width: 100%;\n padding: 0.5rem 0.75rem;\n border-radius: 0.375rem;\n border: 1px solid\n ${({ $theme }) =>\n $theme === 'dark' ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 0, 0, 0.2)'};\n background-color: ${({ $theme }) =>\n $theme === 'dark' ? 'rgba(0, 0, 0, 0.3)' : 'rgba(255, 255, 255, 0.9)'};\n color: inherit;\n font-size: 0.875rem;\n outline: none;\n transition: border-color 0.2s ease;\n\n &::placeholder {\n color: ${({ $theme }) => ($theme === 'dark' ? '#9ca3af' : '#6b7280')};\n }\n\n &:focus {\n border-color: ${({ $theme }) =>\n $theme === 'dark' ? '#60a5fa' : '#2563eb'};\n }\n`\n"],"mappings":"AAAA,OAAO,YAAY;AAEZ,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA;AAK9B,MAAM,iBAAiB,OAAO;AAAA,gBACrB,CAAC,EAAE,YAAY,MAAO,cAAc,UAAU,GAAI;AAAA;AAAA;AAAA;AAK3D,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAI7B,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAK5B,CAAC,EAAE,OAAO,MACV,WAAW,SAAS,6BAA6B,oBAAoB;AAAA,sBACrD,CAAC,EAAE,OAAO,MAC5B,WAAW,SAAS,uBAAuB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAO5D,CAAC,EAAE,OAAO,MAAO,WAAW,SAAS,YAAY,SAAU;AAAA;AAAA;AAAA;AAAA,oBAIpD,CAAC,EAAE,OAAO,MACxB,WAAW,SAAS,YAAY,SAAS;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../../components/dashboard/sidebar/CollapsibleSection.styles.ts"],"sourcesContent":["import styled from 'styled-components'\r\n\r\nexport const SectionWrapper = styled.div`\r\n display: flex;\r\n flex-direction: column;\r\n`\r\n\r\nexport const ContentWrapper = styled.div<{ $isExpanded: boolean }>`\r\n max-height: ${({ $isExpanded }) => ($isExpanded ? '32rem' : '0')};\r\n overflow: hidden;\r\n transition: max-height 0.2s ease-in-out;\r\n`\r\n\r\nexport const SearchWrapper = styled.div`\r\n padding: 0.5rem 0.75rem;\r\n`\r\n\r\nexport const SearchInput = styled.input<{ $theme?: string }>`\r\n width: 100%;\r\n padding: 0.5rem 0.75rem;\r\n border-radius: 0.375rem;\r\n border: 1px solid\r\n ${({ $theme }) =>\r\n $theme === 'dark' ? 'rgba(255, 255, 255, 0.2)' : 'rgba(0, 0, 0, 0.2)'};\r\n background-color: ${({ $theme }) =>\r\n $theme === 'dark' ? 'rgba(0, 0, 0, 0.3)' : 'rgba(255, 255, 255, 0.9)'};\r\n color: inherit;\r\n font-size: 0.875rem;\r\n outline: none;\r\n transition: border-color 0.2s ease;\r\n\r\n &::placeholder {\r\n color: ${({ $theme }) => ($theme === 'dark' ? '#9ca3af' : '#6b7280')};\r\n }\r\n\r\n &:focus {\r\n border-color: ${({ $theme }) =>\r\n $theme === 'dark' ? '#60a5fa' : '#2563eb'};\r\n }\r\n`\r\n"],"mappings":"AAAA,OAAO,YAAY;AAEZ,MAAM,iBAAiB,OAAO;AAAA;AAAA;AAAA;AAK9B,MAAM,iBAAiB,OAAO;AAAA,gBACrB,CAAC,EAAE,YAAY,MAAO,cAAc,UAAU,GAAI;AAAA;AAAA;AAAA;AAK3D,MAAM,gBAAgB,OAAO;AAAA;AAAA;AAI7B,MAAM,cAAc,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,MAK5B,CAAC,EAAE,OAAO,MACV,WAAW,SAAS,6BAA6B,oBAAoB;AAAA,sBACrD,CAAC,EAAE,OAAO,MAC5B,WAAW,SAAS,uBAAuB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,aAO5D,CAAC,EAAE,OAAO,MAAO,WAAW,SAAS,YAAY,SAAU;AAAA;AAAA;AAAA;AAAA,oBAIpD,CAAC,EAAE,OAAO,MACxB,WAAW,SAAS,YAAY,SAAS;AAAA;AAAA;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../components/dashboard/sidebar/EntityList.tsx"],"sourcesContent":["'use client'\n\nimport { Plus, ArrowRight } from 'lucide-react'\nimport Link from 'next/link'\nimport type { EntityListProps } from './types'\nimport { cn } from '../../../lib/utils'\n\nexport function EntityList({\n items,\n createHref,\n moreHref,\n searchQuery,\n totalCount,\n theme: _theme,\n}: EntityListProps) {\n const filteredItems = items.filter((item) =>\n item.name.toLowerCase().includes(searchQuery.toLowerCase()),\n )\n\n const displayItems = filteredItems.slice(0, 10)\n const showViewAll = totalCount > 10\n\n return (\n <ul className=\"flex max-h-96 flex-col gap-1 overflow-y-auto\">\n <li>\n <Link\n href={createHref}\n className={cn(\n 'flex cursor-pointer items-center rounded-lg p-2 text-base font-medium',\n 'text-gray-900 hover:bg-gray-100',\n 'dark:text-white dark:hover:bg-gray-700',\n )}\n >\n <Plus className=\"mr-2 h-4 w-4\" />\n Add New\n </Link>\n </li>\n\n {displayItems.length === 0 && searchQuery ? (\n <li\n className={cn(\n 'px-3 py-4 text-center text-sm',\n 'text-gray-500 dark:text-gray-400',\n )}\n >\n No matches found\n </li>\n ) : displayItems.length === 0 ? (\n <li\n className={cn(\n 'px-3 py-4 text-center text-sm',\n 'text-gray-500 dark:text-gray-400',\n )}\n >\n No items yet\n </li>\n ) : (\n displayItems.map((item) => (\n <li key={item.id}>\n <Link\n href={item.href}\n className={cn(\n 'flex cursor-pointer items-center rounded-lg p-2 text-sm font-normal',\n 'text-primary hover:bg-gray-100',\n 'dark:hover:bg-gray-700',\n 'truncate',\n )}\n >\n {item.name}\n </Link>\n </li>\n ))\n )}\n\n {showViewAll && !searchQuery && (\n <li>\n <Link\n href={moreHref}\n className={cn(\n 'flex cursor-pointer items-center rounded-lg p-2 text-base font-normal',\n 'text-gray-500 hover:underline',\n 'dark:text-gray-400',\n )}\n >\n View all {totalCount}\n <ArrowRight className=\"ml-auto h-4 w-4\" />\n </Link>\n </li>\n )}\n </ul>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBQ;AAvBR,0BAAiC;AACjC,kBAAiB;AAEjB,mBAAmB;AAEZ,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,GAAoB;AAClB,QAAM,gBAAgB,MAAM;AAAA,IAAO,CAAC,SAClC,KAAK,KAAK,YAAY,EAAE,SAAS,YAAY,YAAY,CAAC;AAAA,EAC5D;AAEA,QAAM,eAAe,cAAc,MAAM,GAAG,EAAE;AAC9C,QAAM,cAAc,aAAa;AAEjC,SACE,6CAAC,QAAG,WAAU,gDACZ;AAAA,gDAAC,QACC;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,eAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEA;AAAA,sDAAC,4BAAK,WAAU,gBAAe;AAAA,UAAE;AAAA;AAAA;AAAA,IAEnC,GACF;AAAA,IAEC,aAAa,WAAW,KAAK,cAC5B;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACD;AAAA;AAAA,IAED,IACE,aAAa,WAAW,IAC1B;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACD;AAAA;AAAA,IAED,IAEA,aAAa,IAAI,CAAC,SAChB,4CAAC,QACC;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QACC,MAAM,KAAK;AAAA,QACX,eAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEC,eAAK;AAAA;AAAA,IACR,KAXO,KAAK,EAYd,CACD;AAAA,IAGF,eAAe,CAAC,eACf,4CAAC,QACC;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,eAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACD;AAAA;AAAA,UACW;AAAA,UACV,4CAAC,kCAAW,WAAU,mBAAkB;AAAA;AAAA;AAAA,IAC1C,GACF;AAAA,KAEJ;AAEJ;","names":["Link"]}
1
+ {"version":3,"sources":["../../../../components/dashboard/sidebar/EntityList.tsx"],"sourcesContent":["'use client'\r\n\r\nimport { Plus, ArrowRight } from 'lucide-react'\r\nimport Link from 'next/link'\r\nimport type { EntityListProps } from './types'\r\nimport { cn } from '../../../lib/utils'\r\n\r\nexport function EntityList({\r\n items,\r\n createHref,\r\n moreHref,\r\n searchQuery,\r\n totalCount,\r\n theme: _theme,\r\n}: EntityListProps) {\r\n const filteredItems = items.filter((item) =>\r\n item.name.toLowerCase().includes(searchQuery.toLowerCase()),\r\n )\r\n\r\n const displayItems = filteredItems.slice(0, 10)\r\n const showViewAll = totalCount > 10\r\n\r\n return (\r\n <ul className=\"flex max-h-96 flex-col gap-1 overflow-y-auto\">\r\n <li>\r\n <Link\r\n href={createHref}\r\n className={cn(\r\n 'flex cursor-pointer items-center rounded-lg p-2 text-base font-medium',\r\n 'text-gray-900 hover:bg-gray-100',\r\n 'dark:text-white dark:hover:bg-gray-700',\r\n )}\r\n >\r\n <Plus className=\"mr-2 h-4 w-4\" />\r\n Add New\r\n </Link>\r\n </li>\r\n\r\n {displayItems.length === 0 && searchQuery ? (\r\n <li\r\n className={cn(\r\n 'px-3 py-4 text-center text-sm',\r\n 'text-gray-500 dark:text-gray-400',\r\n )}\r\n >\r\n No matches found\r\n </li>\r\n ) : displayItems.length === 0 ? (\r\n <li\r\n className={cn(\r\n 'px-3 py-4 text-center text-sm',\r\n 'text-gray-500 dark:text-gray-400',\r\n )}\r\n >\r\n No items yet\r\n </li>\r\n ) : (\r\n displayItems.map((item) => (\r\n <li key={item.id}>\r\n <Link\r\n href={item.href}\r\n className={cn(\r\n 'flex cursor-pointer items-center rounded-lg p-2 text-sm font-normal',\r\n 'text-primary hover:bg-gray-100',\r\n 'dark:hover:bg-gray-700',\r\n 'truncate',\r\n )}\r\n >\r\n {item.name}\r\n </Link>\r\n </li>\r\n ))\r\n )}\r\n\r\n {showViewAll && !searchQuery && (\r\n <li>\r\n <Link\r\n href={moreHref}\r\n className={cn(\r\n 'flex cursor-pointer items-center rounded-lg p-2 text-base font-normal',\r\n 'text-gray-500 hover:underline',\r\n 'dark:text-gray-400',\r\n )}\r\n >\r\n View all {totalCount}\r\n <ArrowRight className=\"ml-auto h-4 w-4\" />\r\n </Link>\r\n </li>\r\n )}\r\n </ul>\r\n )\r\n}\r\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBQ;AAvBR,0BAAiC;AACjC,kBAAiB;AAEjB,mBAAmB;AAEZ,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,OAAO;AACT,GAAoB;AAClB,QAAM,gBAAgB,MAAM;AAAA,IAAO,CAAC,SAClC,KAAK,KAAK,YAAY,EAAE,SAAS,YAAY,YAAY,CAAC;AAAA,EAC5D;AAEA,QAAM,eAAe,cAAc,MAAM,GAAG,EAAE;AAC9C,QAAM,cAAc,aAAa;AAEjC,SACE,6CAAC,QAAG,WAAU,gDACZ;AAAA,gDAAC,QACC;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,eAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEA;AAAA,sDAAC,4BAAK,WAAU,gBAAe;AAAA,UAAE;AAAA;AAAA;AAAA,IAEnC,GACF;AAAA,IAEC,aAAa,WAAW,KAAK,cAC5B;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACD;AAAA;AAAA,IAED,IACE,aAAa,WAAW,IAC1B;AAAA,MAAC;AAAA;AAAA,QACC,eAAW;AAAA,UACT;AAAA,UACA;AAAA,QACF;AAAA,QACD;AAAA;AAAA,IAED,IAEA,aAAa,IAAI,CAAC,SAChB,4CAAC,QACC;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QACC,MAAM,KAAK;AAAA,QACX,eAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAEC,eAAK;AAAA;AAAA,IACR,KAXO,KAAK,EAYd,CACD;AAAA,IAGF,eAAe,CAAC,eACf,4CAAC,QACC;AAAA,MAAC,YAAAA;AAAA,MAAA;AAAA,QACC,MAAM;AAAA,QACN,eAAW;AAAA,UACT;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QACD;AAAA;AAAA,UACW;AAAA,UACV,4CAAC,kCAAW,WAAU,mBAAkB;AAAA;AAAA;AAAA,IAC1C,GACF;AAAA,KAEJ;AAEJ;","names":["Link"]}