@rfdtech/components 1.22.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. package/README.md +108 -38
  2. package/dist/adapters/next-adapter.d.ts.map +1 -1
  3. package/dist/components/app-header/AppHeader.d.ts.map +1 -1
  4. package/dist/components/app-header/AppHeaderNotificationItem.d.ts +3 -0
  5. package/dist/components/app-header/AppHeaderNotificationItem.d.ts.map +1 -0
  6. package/dist/components/app-header/AppHeaderProfile.d.ts +5 -0
  7. package/dist/components/app-header/AppHeaderProfile.d.ts.map +1 -1
  8. package/dist/components/app-header/index.d.ts +3 -1
  9. package/dist/components/app-header/index.d.ts.map +1 -1
  10. package/dist/components/app-switcher/AppIconTile.d.ts +10 -0
  11. package/dist/components/app-switcher/AppIconTile.d.ts.map +1 -0
  12. package/dist/components/app-switcher/AppSwitcher.d.ts +1 -1
  13. package/dist/components/app-switcher/AppSwitcher.d.ts.map +1 -1
  14. package/dist/components/app-switcher/AppSwitcherItem.d.ts.map +1 -1
  15. package/dist/components/app-switcher/IconPatterns.d.ts +8 -0
  16. package/dist/components/app-switcher/IconPatterns.d.ts.map +1 -0
  17. package/dist/components/app-switcher/SystemAppIcon.d.ts.map +1 -1
  18. package/dist/components/app-switcher/index.d.ts +2 -0
  19. package/dist/components/app-switcher/index.d.ts.map +1 -1
  20. package/dist/components/avatar/Avatar.d.ts.map +1 -1
  21. package/dist/components/bulk-import-modal/BulkImportModal.d.ts.map +1 -1
  22. package/dist/components/bulk-import-modal/steps/ValidateDataStep.d.ts.map +1 -1
  23. package/dist/components/button/Button.d.ts +1 -1
  24. package/dist/components/button/Button.d.ts.map +1 -1
  25. package/dist/components/button/Spinner.d.ts.map +1 -1
  26. package/dist/components/combobox/Combobox.d.ts +4 -0
  27. package/dist/components/combobox/Combobox.d.ts.map +1 -0
  28. package/dist/components/combobox/Combobox.test.d.ts +2 -0
  29. package/dist/components/combobox/Combobox.test.d.ts.map +1 -0
  30. package/dist/components/combobox/index.d.ts +3 -0
  31. package/dist/components/combobox/index.d.ts.map +1 -0
  32. package/dist/components/country-selector/CountrySelector.d.ts +7 -0
  33. package/dist/components/country-selector/CountrySelector.d.ts.map +1 -1
  34. package/dist/components/country-selector/index.d.ts +1 -0
  35. package/dist/components/country-selector/index.d.ts.map +1 -1
  36. package/dist/components/date-range-selector/DateRangeSelector.d.ts +2 -2
  37. package/dist/components/date-range-selector/DateRangeSelector.d.ts.map +1 -1
  38. package/dist/components/date-range-selector/index.d.ts +1 -1
  39. package/dist/components/date-range-selector/index.d.ts.map +1 -1
  40. package/dist/components/date-selector/DateSelector.d.ts.map +1 -1
  41. package/dist/components/dropdown/Dropdown.d.ts +1 -1
  42. package/dist/components/dropdown/Dropdown.d.ts.map +1 -1
  43. package/dist/components/export-button/ExportButton.d.ts +3 -0
  44. package/dist/components/export-button/ExportButton.d.ts.map +1 -0
  45. package/dist/components/export-button/ExportButton.test.d.ts +2 -0
  46. package/dist/components/export-button/ExportButton.test.d.ts.map +1 -0
  47. package/dist/components/export-button/index.d.ts +3 -0
  48. package/dist/components/export-button/index.d.ts.map +1 -0
  49. package/dist/components/launchpad/Launchpad.d.ts +4 -0
  50. package/dist/components/launchpad/Launchpad.d.ts.map +1 -0
  51. package/dist/components/launchpad/Launchpad.test.d.ts +2 -0
  52. package/dist/components/launchpad/Launchpad.test.d.ts.map +1 -0
  53. package/dist/components/launchpad/LaunchpadGridIcon.d.ts +2 -0
  54. package/dist/components/launchpad/LaunchpadGridIcon.d.ts.map +1 -0
  55. package/dist/components/launchpad/LaunchpadIconTile.d.ts +10 -0
  56. package/dist/components/launchpad/LaunchpadIconTile.d.ts.map +1 -0
  57. package/dist/components/launchpad/LaunchpadItem.d.ts +8 -0
  58. package/dist/components/launchpad/LaunchpadItem.d.ts.map +1 -0
  59. package/dist/components/launchpad/LaunchpadOverlays.d.ts +3 -0
  60. package/dist/components/launchpad/LaunchpadOverlays.d.ts.map +1 -0
  61. package/dist/components/launchpad/SystemLaunchpadIcon.d.ts +5 -0
  62. package/dist/components/launchpad/SystemLaunchpadIcon.d.ts.map +1 -0
  63. package/dist/components/launchpad/hooks/useLaunchpad.d.ts +3 -0
  64. package/dist/components/launchpad/hooks/useLaunchpad.d.ts.map +1 -0
  65. package/dist/components/launchpad/index.d.ts +10 -0
  66. package/dist/components/launchpad/index.d.ts.map +1 -0
  67. package/dist/components/metric-card/MetricCard.d.ts.map +1 -1
  68. package/dist/components/network-operator/NetworkOperator.d.ts +4 -0
  69. package/dist/components/network-operator/NetworkOperator.d.ts.map +1 -1
  70. package/dist/components/network-operator/index.d.ts +1 -0
  71. package/dist/components/network-operator/index.d.ts.map +1 -1
  72. package/dist/components/notice/Notice.d.ts +4 -0
  73. package/dist/components/notice/Notice.d.ts.map +1 -0
  74. package/dist/components/notice/Notice.test.d.ts +2 -0
  75. package/dist/components/notice/Notice.test.d.ts.map +1 -0
  76. package/dist/components/notice/index.d.ts +3 -0
  77. package/dist/components/notice/index.d.ts.map +1 -0
  78. package/dist/components/phone-number-input/PhoneNumberInput.d.ts.map +1 -1
  79. package/dist/components/popup/Popup.d.ts +15 -0
  80. package/dist/components/popup/Popup.d.ts.map +1 -0
  81. package/dist/components/popup/Popup.test.d.ts +2 -0
  82. package/dist/components/popup/Popup.test.d.ts.map +1 -0
  83. package/dist/components/popup/index.d.ts +3 -0
  84. package/dist/components/popup/index.d.ts.map +1 -0
  85. package/dist/components/profile-popover/ProfilePopover.d.ts +4 -0
  86. package/dist/components/profile-popover/ProfilePopover.d.ts.map +1 -0
  87. package/dist/components/profile-popover/ProfilePopover.test.d.ts +2 -0
  88. package/dist/components/profile-popover/ProfilePopover.test.d.ts.map +1 -0
  89. package/dist/components/profile-popover/index.d.ts +3 -0
  90. package/dist/components/profile-popover/index.d.ts.map +1 -0
  91. package/dist/components/role-select/RoleSelect.d.ts +4 -0
  92. package/dist/components/role-select/RoleSelect.d.ts.map +1 -0
  93. package/dist/components/role-select/RoleSelect.test.d.ts +2 -0
  94. package/dist/components/role-select/RoleSelect.test.d.ts.map +1 -0
  95. package/dist/components/role-select/index.d.ts +3 -0
  96. package/dist/components/role-select/index.d.ts.map +1 -0
  97. package/dist/components/section-header/SectionHeader.d.ts +7 -0
  98. package/dist/components/section-header/SectionHeader.d.ts.map +1 -0
  99. package/dist/components/section-header/SectionHeader.test.d.ts +2 -0
  100. package/dist/components/section-header/SectionHeader.test.d.ts.map +1 -0
  101. package/dist/components/section-header/index.d.ts +3 -0
  102. package/dist/components/section-header/index.d.ts.map +1 -0
  103. package/dist/components/sidebar/Sidebar.d.ts +1 -1
  104. package/dist/components/sidebar/Sidebar.d.ts.map +1 -1
  105. package/dist/components/sidebar/SidebarContext.d.ts +6 -0
  106. package/dist/components/sidebar/SidebarContext.d.ts.map +1 -1
  107. package/dist/components/sidebar/index.d.ts +1 -1
  108. package/dist/components/sidebar/index.d.ts.map +1 -1
  109. package/dist/components/switch/Switch.d.ts +4 -0
  110. package/dist/components/switch/Switch.d.ts.map +1 -0
  111. package/dist/components/switch/Switch.test.d.ts +2 -0
  112. package/dist/components/switch/Switch.test.d.ts.map +1 -0
  113. package/dist/components/switch/index.d.ts +3 -0
  114. package/dist/components/switch/index.d.ts.map +1 -0
  115. package/dist/components/table/Table.d.ts.map +1 -1
  116. package/dist/components/table/TableHeader.d.ts.map +1 -1
  117. package/dist/components/table/TablePagination.d.ts.map +1 -1
  118. package/dist/components/table/index.d.ts +1 -1
  119. package/dist/components/table/index.d.ts.map +1 -1
  120. package/dist/components/theme/ThemeProvider.d.ts.map +1 -1
  121. package/dist/components/theme/cletTheme.d.ts +11 -0
  122. package/dist/components/theme/cletTheme.d.ts.map +1 -0
  123. package/dist/components/theme/cletTheme.test-d.d.ts +2 -0
  124. package/dist/components/theme/cletTheme.test-d.d.ts.map +1 -0
  125. package/dist/components/theme/cletTheme.test.d.ts +2 -0
  126. package/dist/components/theme/cletTheme.test.d.ts.map +1 -0
  127. package/dist/components/theme/index.d.ts +3 -1
  128. package/dist/components/theme/index.d.ts.map +1 -1
  129. package/dist/components/upload-field/UploadField.d.ts +5 -0
  130. package/dist/components/upload-field/UploadField.d.ts.map +1 -1
  131. package/dist/components/upload-field/index.d.ts +2 -2
  132. package/dist/components/upload-field/index.d.ts.map +1 -1
  133. package/dist/generated/components.theme.d.ts +313 -0
  134. package/dist/generated/components.theme.d.ts.map +1 -0
  135. package/dist/hooks/index.d.ts +1 -0
  136. package/dist/hooks/index.d.ts.map +1 -1
  137. package/dist/hooks/useHasMounted.d.ts +10 -0
  138. package/dist/hooks/useHasMounted.d.ts.map +1 -0
  139. package/dist/hooks/useTableFilter.d.ts.map +1 -1
  140. package/dist/hooks/useTablePagination.d.ts.map +1 -1
  141. package/dist/hooks/useTableState.d.ts.map +1 -1
  142. package/dist/index.cjs +84 -56
  143. package/dist/index.css +1 -1
  144. package/dist/index.d.ts +12 -1
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +19021 -31595
  147. package/dist/mcp/cli.js +75 -0
  148. package/dist/mcp/docs.js +122 -0
  149. package/dist/mcp/generated/components.json +3593 -0
  150. package/dist/mcp/generated/examples.json +1233 -0
  151. package/dist/mcp/generated/index.meta.json +252 -0
  152. package/dist/mcp/generated/rules.json +629 -0
  153. package/dist/mcp/generated/search.json +1618 -0
  154. package/dist/mcp/generated/tokens.json +1022 -0
  155. package/dist/mcp/index.js +337 -0
  156. package/dist/mcp/indexer.js +370 -0
  157. package/dist/mcp/installers/claude.js +37 -0
  158. package/dist/mcp/installers/codex.js +24 -0
  159. package/dist/mcp/installers/cursor.js +33 -0
  160. package/dist/mcp/installers/doctor.js +36 -0
  161. package/dist/mcp/installers/opencode.js +36 -0
  162. package/dist/mcp/installers/setup.js +34 -0
  163. package/dist/mcp/installers/util.js +41 -0
  164. package/dist/mcp/paths.js +63 -0
  165. package/dist/mcp/skill/SKILL.md +36 -0
  166. package/dist/mcp/skill/image-to-components.md +49 -0
  167. package/dist/next-index.d.ts.map +1 -1
  168. package/dist/next.cjs +104 -94
  169. package/dist/next.css +1 -1
  170. package/dist/next.js +16272 -29979
  171. package/dist/types/app-header.d.ts +52 -13
  172. package/dist/types/app-header.d.ts.map +1 -1
  173. package/dist/types/app-switcher.d.ts +10 -1
  174. package/dist/types/app-switcher.d.ts.map +1 -1
  175. package/dist/types/avatar.d.ts +9 -0
  176. package/dist/types/avatar.d.ts.map +1 -1
  177. package/dist/types/combobox.d.ts +43 -0
  178. package/dist/types/combobox.d.ts.map +1 -0
  179. package/dist/types/country-selector.d.ts +4 -0
  180. package/dist/types/country-selector.d.ts.map +1 -1
  181. package/dist/types/date-range-selector.d.ts +11 -0
  182. package/dist/types/date-range-selector.d.ts.map +1 -1
  183. package/dist/types/dropdown.d.ts +8 -0
  184. package/dist/types/dropdown.d.ts.map +1 -1
  185. package/dist/types/export-button.d.ts +24 -0
  186. package/dist/types/export-button.d.ts.map +1 -0
  187. package/dist/types/launchpad.d.ts +79 -0
  188. package/dist/types/launchpad.d.ts.map +1 -0
  189. package/dist/types/metric-card.d.ts +4 -0
  190. package/dist/types/metric-card.d.ts.map +1 -1
  191. package/dist/types/network-operator.d.ts +8 -0
  192. package/dist/types/network-operator.d.ts.map +1 -1
  193. package/dist/types/notice.d.ts +24 -0
  194. package/dist/types/notice.d.ts.map +1 -0
  195. package/dist/types/popup.d.ts +43 -0
  196. package/dist/types/popup.d.ts.map +1 -0
  197. package/dist/types/profile-popover.d.ts +97 -0
  198. package/dist/types/profile-popover.d.ts.map +1 -0
  199. package/dist/types/role-select.d.ts +28 -0
  200. package/dist/types/role-select.d.ts.map +1 -0
  201. package/dist/types/section-header.d.ts +26 -0
  202. package/dist/types/section-header.d.ts.map +1 -0
  203. package/dist/types/sidebar.d.ts +5 -0
  204. package/dist/types/sidebar.d.ts.map +1 -1
  205. package/dist/types/switch.d.ts +24 -0
  206. package/dist/types/switch.d.ts.map +1 -0
  207. package/dist/types/table.d.ts +21 -1
  208. package/dist/types/table.d.ts.map +1 -1
  209. package/dist/types/theme.d.ts +28 -8
  210. package/dist/types/theme.d.ts.map +1 -1
  211. package/dist/types/upload-field.d.ts +23 -0
  212. package/dist/types/upload-field.d.ts.map +1 -1
  213. package/dist/utils/export.d.ts +15 -0
  214. package/dist/utils/export.d.ts.map +1 -0
  215. package/dist/utils/stringToColor.d.ts +25 -0
  216. package/dist/utils/stringToColor.d.ts.map +1 -1
  217. package/package.json +29 -10
  218. package/scripts/postinstall.mjs +40 -0
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # GSL Components
1
+ # Clet Components
2
2
 
3
- Shared React component library for Ghana School of Law (GSL) projects.
3
+ Shared React component library for Clet projects. The `--gsl-*` CSS tokens, `.gsl-*` class names, and the `@rfdtech/components` package name are kept unchanged for backward compatibility; every color token also has an equivalent `--clet-*` alias (see [Customize tokens](#7-customize-tokens)).
4
4
 
5
5
  Requires React 18+ and a bundler that processes CSS (Vite, Webpack, etc.).
6
6
 
@@ -56,7 +56,7 @@ The `@theme` block ships inside `style.css`. The consumer's Tailwind build proce
56
56
  | --------- | ------------- |
57
57
  | `bg-primary` / `text-primary` | `var(--gsl-primary)` |
58
58
  | `bg-primary-foreground` / `text-primary-foreground` | `var(--gsl-on-primary)` |
59
- | `bg-background` / `text-foreground` | `var(--gsl-page-bg)` / `var(--gsl-text)` |
59
+ | `bg-background` / `text-foreground` | `var(--gsl-main-bg)` / `var(--gsl-text)` |
60
60
  | `bg-secondary` / `text-secondary-foreground` | `var(--gsl-surface-dark)` / `var(--gsl-text-secondary)` |
61
61
  | `bg-muted` / `text-muted-foreground` | `var(--gsl-surface-subtle)` / `var(--gsl-text-secondary)` |
62
62
  | `bg-accent` / `text-accent-foreground` | `var(--gsl-hover)` / `var(--gsl-text)` |
@@ -72,7 +72,21 @@ The `@theme` block ships inside `style.css`. The consumer's Tailwind build proce
72
72
 
73
73
  **Non-Tailwind consumers** are unaffected. Browsers silently ignore `@theme` as an unknown at-rule. All `--gsl-*` tokens continue to work as CSS custom properties.
74
74
 
75
- ### 6. Next.js App Router
75
+ ### 6. AI-assisted development (automatic)
76
+
77
+ `npm install` also wires up an MCP server + skill doc for any AI coding tool it detects in your project — **Claude Code**, **Cursor**, **Codex**, and **OpenCode** — so agents search real components, pull authoritative prop types, and follow the library's design rules instead of inventing APIs. This runs via this package's own `postinstall` script (`scripts/postinstall.mjs`) — no separate command, no action needed. It's idempotent and safe to re-run. Set `RFDUI_SKIP_SETUP=1` to opt out (e.g. in CI). See [`mcp/README.md`](./mcp/README.md) for the `rfdui` CLI (`setup`, `doctor`, `search`, `update`) if you want to run it manually or check its status.
78
+
79
+ **If your package manager blocked the install script**, run setup manually — `npx rfdui setup` always works regardless of package manager or script-blocking config. Otherwise, to let it run automatically on the next install:
80
+
81
+ - **pnpm** (v8+) blocks lifecycle scripts from dependencies by default and prints `Ignored build scripts: @rfdtech/components` after install. Approve it, then reinstall:
82
+ ```bash
83
+ pnpm approve-builds @rfdtech/components # or: pnpm approve-builds (interactive picker)
84
+ pnpm install
85
+ ```
86
+ This writes `@rfdtech/components: true` under `allowBuilds` in `pnpm-workspace.yaml` (pnpm 11+; older pnpm uses `onlyBuiltDependencies` instead — same idea, different key).
87
+ - **npm** runs `postinstall` by default — nothing to approve. If it didn't run, your project or user `.npmrc` likely sets `ignore-scripts=true` (common in locked-down CI), or you ran `npm install --ignore-scripts`. Either drop that flag/setting for a local install, or just run `npx rfdui setup` manually — that always works even with scripts globally disabled.
88
+
89
+ ### 7. Next.js App Router
76
90
 
77
91
  The library ships a `/next` subpath for Next.js App Router. All components and hooks work with Next.js by wrapping your app in `RouterAdapterProvider`:
78
92
 
@@ -97,7 +111,13 @@ See the [RouterAdapter](/docs/router-adapter) docs page for full setup.
97
111
 
98
112
  ### 7. Customize tokens
99
113
 
100
- GSL components read `--gsl-*` CSS variables. Override any of them by
114
+ Components read `--gsl-*` CSS variables. Every color token also has a
115
+ `--clet-*` alias with the exact same value — **prefer `--clet-*` in new
116
+ override code**; `--gsl-*` keeps working unchanged for existing overrides
117
+ (each `--gsl-*` color token is now defined as `var(--clet-*)`, so overriding
118
+ either name works — `--clet-*` is just the newer, preferred spelling).
119
+ Non-color tokens (radius, shadow, font, spacing) only have a `--gsl-*` name;
120
+ there is no `--clet-*` equivalent for those. Override any token by
101
121
  declaring a new value on the same selectors the library uses.
102
122
 
103
123
  **Step 1 — Import the library CSS** so its defaults are loaded:
@@ -138,33 +158,38 @@ values (don't chain `var(--something)` — just write the color):
138
158
  .gsl-theme[data-gsl-theme="light"],
139
159
  :root[data-gsl-theme="dark"],
140
160
  .gsl-theme[data-gsl-theme="dark"] {
141
- --gsl-primary: #1d4ed8;
142
- --gsl-primary-light: #eff6ff;
143
- --gsl-focus: #1d4ed8;
144
- --gsl-on-primary: #ffffff;
161
+ --clet-primary: #1d4ed8;
162
+ --clet-primary-light: #eff6ff;
163
+ --clet-focus: #1d4ed8;
164
+ --clet-on-primary: #ffffff;
145
165
  }
146
166
  ```
147
167
 
148
168
  That one block overrides the primary color in light mode, dark mode,
149
- and the unthemed fallback. The same shape works for any other
150
- `--gsl-*` token — list every selector, hardcode the value.
169
+ and the unthemed fallback. The same shape works for any other color
170
+ token — list every selector, hardcode the value, and use its `--clet-*`
171
+ name (or the equivalent `--gsl-*` name — both work identically).
151
172
 
152
173
  ## Design tokens
153
174
 
154
- Quick reference of commonly used tokens and their light-mode defaults:
175
+ Quick reference of commonly used color tokens and their light-mode defaults.
176
+ Each has both a `--clet-*` (preferred) and `--gsl-*` (legacy, still works)
177
+ name for the same value:
155
178
 
156
- | Token | Light default | Use |
179
+ | Token (`--clet-*` / `--gsl-*`) | Light default | Use |
157
180
  | ------- | --------------- | ----- |
158
- | `--gsl-primary` | `#dc2626` | Buttons, focus rings, accents |
159
- | `--gsl-primary-light` | `#fef2f2` | Selected rows, hover fills |
160
- | `--gsl-bg` | `#ffffff` | Surfaces |
161
- | `--gsl-text` | `#3c4043` | Body text |
162
- | `--gsl-text-secondary` | `#5f6368` | Labels, muted UI |
163
- | `--gsl-border` | `#dadce0` | Borders |
164
- | `--gsl-hover` | `#f1f3f4` | Row/cell hover |
165
- | `--gsl-error` / `--gsl-error-bg` | `#dc2626` / `#fef2f2` | Errors |
166
- | `--gsl-success` | `#16a34a` | Success states |
167
- | `--gsl-warning` | `#eab308` | Warnings |
181
+ | `primary` | `#083755` | Buttons, focus rings, accents |
182
+ | `primary-light` | `#e7ebee` | Selected rows, hover fills |
183
+ | `secondary` | `#c8a24b` | Gold accent (e.g. active `SidebarLink`) |
184
+ | `bg` | `#ffffff` | Surfaces |
185
+ | `main-bg` | `#fafafa` | Page/app-layout background |
186
+ | `text` | `#3c4043` | Body text |
187
+ | `text-secondary` | `#5f6368` | Labels, muted UI |
188
+ | `border` | `#dadce0` | Borders |
189
+ | `hover` | `#f1f3f4` | Row/cell hover |
190
+ | `error` / `error-bg` | `#dc2626` / `#fef2f2` | Errors |
191
+ | `success` | `#16a34a` | Success states |
192
+ | `warning` | `#eab308` | Warnings |
168
193
 
169
194
  `BulkImportModal` also accepts legacy aliases (`--gsl-bulk-import-primary`, etc.) that map to the shared tokens.
170
195
 
@@ -197,7 +222,7 @@ Exports: `useSearchParamOverlay`, `useDialogSearchParam`, `useModalSearchParam`,
197
222
 
198
223
  ## AppHeader
199
224
 
200
- Compound header bar with `AppHeader`, `AppHeaderSearch`, `AppHeaderActions`, `AppHeaderNotifications`, and `AppHeaderProfile`. Nest search on the left and group switcher, notifications, and profile inside `AppHeaderActions` on the right.
225
+ Compound header bar with `AppHeader`, `AppHeaderSearch`, `AppHeaderActions`, and `AppHeaderNotifications`. Nest search on the left and group switcher, notifications, and profile inside `AppHeaderActions` on the right. The profile trigger is [`ProfilePopover`](/docs/profile-popover) itself (pass `user`/`variant` for the compact header-style trigger) — there's no separate `AppHeaderProfile` component.
201
226
 
202
227
  See the [AppHeader](/docs/app-header) docs page for props and exported types.
203
228
 
@@ -207,7 +232,8 @@ import {
207
232
  AppHeaderActions,
208
233
  AppHeaderSearch,
209
234
  AppHeaderNotifications,
210
- AppHeaderProfile,
235
+ AppHeaderNotificationItem,
236
+ ProfilePopover,
211
237
  AppSwitcher,
212
238
  } from "@rfdtech/components";
213
239
 
@@ -217,20 +243,20 @@ import {
217
243
  <AppSwitcher apps={apps} />
218
244
  <AppHeaderNotifications loading={loading}>
219
245
  {notifications.map((n) => (
220
- <div key={n.id} className="gsl-notif-popover__item">
221
- <div className="gsl-notif-popover__body-text">{n.text}</div>
222
- <div className="gsl-notif-popover__body-time">{n.time}</div>
223
- </div>
246
+ <AppHeaderNotificationItem key={n.id} text={n.text} time={n.time} unread={n.unread} />
224
247
  ))}
225
248
  </AppHeaderNotifications>
226
- <AppHeaderProfile user={{ name: "Kwame", role: "Admin", initials: "KA" }} variant="basic">
227
- <button className="gsl-profile-popover__action">Settings</button>
228
- </AppHeaderProfile>
249
+ <ProfilePopover
250
+ user={{ name: "Kwame", role: "Admin", initials: "KA" }}
251
+ variant="avatar"
252
+ items={[{ label: "Settings", onClick: () => navigate("/settings") }]}
253
+ onSignOut={signOut}
254
+ />
229
255
  </AppHeaderActions>
230
256
  </AppHeader>
231
257
  ```
232
258
 
233
- Props: `AppHeader` — `className`, `children`. `AppHeaderActions` — `className`, `children`. Exported types: `AppHeaderProps`, `AppHeaderActionsProps`, `AppHeaderSearchProps`, `AppHeaderSearchDataGroup`, `AppHeaderSearchItem`, `AppHeaderNotificationsProps`, `AppHeaderProfileProps`, `AppUser`.
259
+ Props: `AppHeader` — `className`, `children`. `AppHeaderActions` — `className`, `children`. Exported types: `AppHeaderProps`, `AppHeaderActionsProps`, `AppHeaderSearchProps`, `AppHeaderSearchDataGroup`, `AppHeaderSearchItem`, `AppHeaderNotificationsProps`, `AppHeaderNotificationItemProps`. See [ProfilePopover](/docs/profile-popover) for `ProfilePopoverProps` and `AppUser`.
234
260
 
235
261
  ## AppLayout
236
262
 
@@ -540,9 +566,23 @@ import { Checkbox } from "@rfdtech/components";
540
566
 
541
567
  Props: `checked`, `defaultChecked`, `onCheckedChange`, `label`, `disabled`, `required`, `name`, `value`, `id`, `aria-label`, `classNames`, `className`. Exported types: `CheckboxProps`, `CheckboxClassNames`.
542
568
 
543
- ## CountrySelector
569
+ ## Combobox
544
570
 
545
- Country selector dropdown with flag emoji, country name, search filtering, and keyboard navigation. Built on `@radix-ui/react-popover`. See the [CountrySelector](/docs/country-selector) docs page for props and exported types.
571
+ Searchable option list built on `cmdk`, opened from a trigger button — supports single selection, multi-selection with checkboxes, and a per-option leading icon. Unlike `Dropdown` (Radix `Select`-based), it has search built in. See the [Combobox](/docs/combobox) docs page for props and exported types.
572
+
573
+ ```tsx
574
+ import { Combobox } from "@rfdtech/components";
575
+
576
+ <Combobox aria-label="Field" options={options} value={value} onValueChange={setValue} clearable />
577
+
578
+ <Combobox aria-label="Field" options={options} value={values} onValueChange={setValues} multiple />
579
+ ```
580
+
581
+ Props: `options`, `multiple`, `value`, `onValueChange`, `placeholder`, `searchPlaceholder`, `disabled`, `invalid`, `clearable`, `emptyMessage`, `aria-label`, `classNames`, `className`, `name`. Exported types: `ComboboxProps`, `ComboboxOption`, `ComboboxClassNames`.
582
+
583
+ ## CountrySelector (Deprecated)
584
+
585
+ **Deprecated** — use [`Combobox`](#combobox) for general country selection, or [`PhoneNumberInput`](#phonenumberinput)'s own built-in country picker for phone numbers. Country selector dropdown with flag emoji, country name, search filtering, and keyboard navigation. Built on `@radix-ui/react-popover`. See the [CountrySelector](/docs/country-selector) docs page for props and exported types.
546
586
 
547
587
  ```tsx
548
588
  import { CountrySelector } from "@rfdtech/components";
@@ -894,6 +934,24 @@ import { NetworkOperator } from "@rfdtech/components";
894
934
 
895
935
  Props: `value`, `defaultValue`, `onChange`, `options`, `placeholder`, `invalid`, `disabled`, `classNames`, `className`. Exported types: `NetworkOperatorProps`, `NetworkOperatorOption`, `NetworkOperatorClassNames`.
896
936
 
937
+ ## Notice
938
+
939
+ Boxed, persistent callout for scoped context, policy explanations, or a standing status message — unlike `Toast`, it renders inline and doesn't auto-dismiss. See the [Notice](/docs/notice) docs page for props and exported types.
940
+
941
+ ```tsx
942
+ import { Notice } from "@rfdtech/components";
943
+
944
+ <Notice variant="warning" leftBorder dashed title="Your scope for this composer">
945
+ <ul>
946
+ <li>Templates: Admissions Directorate only · Audience: 4 pre-approved groups.</li>
947
+ </ul>
948
+ </Notice>
949
+
950
+ <Notice variant="success">This will send directly.</Notice>
951
+ ```
952
+
953
+ Props: `variant`, `color`, `title`, `icon`, `leftBorder`, `dashed`, `classNames`, `className`, `children`. Exported types: `NoticeProps`, `NoticeClassNames`, `NoticeVariant`.
954
+
897
955
  ## OtpInput
898
956
 
899
957
  One-time password input with configurable digit length, paste support, keyboard navigation (arrow keys, backspace), auto-focus advancement, and `onComplete` callback. See the [OtpInput](/docs/otp-input) docs page for props and exported types.
@@ -1142,6 +1200,20 @@ const [step, setStep] = useState(3);
1142
1200
 
1143
1201
  Exports: `Stepper`, `Step`, `StepLabel`. Also available as `Stepper.Step`, `Stepper.StepLabel` for compound-style imports. Props: `Stepper` — `value`, `clickable`, `onValueChange`, `classNames`, `className`, `children`. `Step` — `value`, `disabled`, `classNames`, `className`, `children`. `StepLabel` — `classNames`, `className`, `children`. Exported types: `StepperProps`, `StepProps`, `StepLabelProps`, `StepperClassNames`, `StepClassNames`, `StepLabelClassNames`, `StepperContextValue`, `StepState`, `StepInternalProps`. Retheme via `--gsl-stepper-accent` (defaults to `--gsl-primary`) and related `--gsl-stepper-*` custom properties.
1144
1202
 
1203
+ ## Switch
1204
+
1205
+ Binary on/off toggle built on `@radix-ui/react-switch`, with an optional label ("Switch + Text"). See the [Switch](/docs/switch) docs page for props and exported types.
1206
+
1207
+ ```tsx
1208
+ import { Switch } from "@rfdtech/components";
1209
+
1210
+ <Switch aria-label="Notifications" checked={enabled} onCheckedChange={setEnabled} />
1211
+
1212
+ <Switch label="Email alerts" checked={enabled} onCheckedChange={setEnabled} />
1213
+ ```
1214
+
1215
+ Props: `checked`, `defaultChecked`, `onCheckedChange`, `label`, `labelPosition`, `disabled`, `invalid`, `required`, `name`, `value`, `id`, `aria-label`, `classNames`, `className`. Exported types: `SwitchProps`, `SwitchClassNames`.
1216
+
1145
1217
  ## Table
1146
1218
 
1147
1219
  Compound table with URL-driven search, pagination, filter, sort, row selection, bulk actions, and loading skeletons. See the [Table](/docs/table) docs page for props and exported types.
@@ -1294,9 +1366,7 @@ import { UploadField } from "@rfdtech/components";
1294
1366
  <UploadField accept="image/*" maxSize={5 * 1024 * 1024} />
1295
1367
  ```
1296
1368
 
1297
- Props: `accept`, `multiple`, `maxSize`, `value`, `onChange`, `invalid`, `disabled`, `name`, `classNames`, `className`. Exported types: `UploadFieldProps`, `UploadFieldClassNames`.
1298
-
1299
- Props: `accept`, `multiple`, `maxSize`, `value`, `onChange`, `invalid`, `disabled`, `placeholder`, `classNames`, `className`. Exported types: `UploadFieldProps`, `UploadFieldClassNames`.
1369
+ Props: `accept`, `multiple`, `maxSize`, `value`, `onChange`, `invalid`, `disabled`, `name`, `fileStatuses`, `onCancel`, `onRetry`, `classNames`, `className`. Exported types: `UploadFieldProps`, `UploadFieldClassNames`, `UploadFieldFileStatus`, `UploadFieldFileStatusKind`. Also exports `FileFormatIcon` for rendering the same file-type icon standalone.
1300
1370
 
1301
1371
  ## Development
1302
1372
 
@@ -1 +1 @@
1
- {"version":3,"file":"next-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/next-adapter.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,yBAAyB,CAAC;AAUjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,IAAI,kBAAkB,CA8CzD"}
1
+ {"version":3,"file":"next-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/next-adapter.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACX,kBAAkB,EAElB,MAAM,yBAAyB,CAAC;AAUjC;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,oBAAoB,IAAI,kBAAkB,CA8CzD"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../src/components/app-header/AppHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,yBAAyB,CAAC;AAEjC,eAAO,MAAM,SAAS,GAAI,4CAKvB,cAAc,gCAahB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,mCAAmC,qBAAqB,gCAMxF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,iDAM/B,sBAAsB,gCAqBxB,CAAC"}
1
+ {"version":3,"file":"AppHeader.d.ts","sourceRoot":"","sources":["../../../src/components/app-header/AppHeader.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACvB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,yBAAyB,CAAC;AAiCjC,eAAO,MAAM,SAAS,GAAI,4CAKvB,cAAc,gCAmDhB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,mCAAmC,qBAAqB,gCAMxF,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,iDAM/B,sBAAsB,gCAqBxB,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { AppHeaderNotificationItemProps } from "../../types/app-header";
2
+ export declare const AppHeaderNotificationItem: import("react").ForwardRefExoticComponent<AppHeaderNotificationItemProps & import("react").RefAttributes<HTMLDivElement>>;
3
+ //# sourceMappingURL=AppHeaderNotificationItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppHeaderNotificationItem.d.ts","sourceRoot":"","sources":["../../../src/components/app-header/AppHeaderNotificationItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAG7E,eAAO,MAAM,yBAAyB,2HA8CpC,CAAC"}
@@ -1,3 +1,8 @@
1
1
  import type { AppHeaderProfileProps } from "../../types/app-header";
2
+ /**
3
+ * @deprecated Use `ProfilePopover` directly (pass `user`/`variant` for the same trigger) — see
4
+ * the [migration guide](/docs/migration-v2). Kept as a thin wrapper for backward compatibility;
5
+ * `headerAction` no longer has any effect since `ProfilePopover`'s theme toggle is automatic now.
6
+ */
2
7
  export declare const AppHeaderProfile: import("react").ForwardRefExoticComponent<AppHeaderProfileProps & import("react").RefAttributes<HTMLDivElement>>;
3
8
  //# sourceMappingURL=AppHeaderProfile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppHeaderProfile.d.ts","sourceRoot":"","sources":["../../../src/components/app-header/AppHeaderProfile.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAMpE,eAAO,MAAM,gBAAgB,kHA4E3B,CAAC"}
1
+ {"version":3,"file":"AppHeaderProfile.d.ts","sourceRoot":"","sources":["../../../src/components/app-header/AppHeaderProfile.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAOpE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,kHAwG3B,CAAC"}
@@ -1,6 +1,8 @@
1
1
  export { AppHeader, AppHeaderActions, AppHeaderBranding } from "./AppHeader";
2
2
  export { AppHeaderSearch } from "./AppHeaderSearch";
3
3
  export { AppHeaderNotifications } from "./AppHeaderNotifications";
4
+ export { AppHeaderNotificationItem } from "./AppHeaderNotificationItem";
5
+ /** @deprecated Use `ProfilePopover` directly — see the migration guide. */
4
6
  export { AppHeaderProfile } from "./AppHeaderProfile";
5
- export type { AppHeaderProps, AppHeaderActionsProps, AppHeaderBrandingProps, AppHeaderSearchProps, AppHeaderSearchDataGroup, AppHeaderSearchItem, AppHeaderNotificationsProps, AppHeaderProfileProps, AppUser, } from "../../types/app-header";
7
+ export type { AppHeaderProps, AppHeaderActionsProps, AppHeaderBrandingProps, AppHeaderSearchProps, AppHeaderSearchDataGroup, AppHeaderSearchItem, AppHeaderNotificationsProps, AppHeaderNotificationItemProps, AppHeaderNotificationItemClassNames, AppHeaderProfileProps, } from "../../types/app-header";
6
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/app-header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,qBAAqB,EACrB,OAAO,GACR,MAAM,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/app-header/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,yBAAyB,EAAE,MAAM,6BAA6B,CAAC;AACxE,2EAA2E;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACtB,oBAAoB,EACpB,wBAAwB,EACxB,mBAAmB,EACnB,2BAA2B,EAC3B,8BAA8B,EAC9B,mCAAmC,EACnC,qBAAqB,GACtB,MAAM,wBAAwB,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ export interface AppIconTileProps {
3
+ /** Seeds the deterministic background gradient and pattern texture */
4
+ name: string;
5
+ /** Glyph rendered centered on top of the tile (icon or initials) */
6
+ children: ReactNode;
7
+ className?: string;
8
+ }
9
+ export declare function AppIconTile({ name, children, className }: AppIconTileProps): import("react").JSX.Element;
10
+ //# sourceMappingURL=AppIconTile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AppIconTile.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/AppIconTile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,WAAW,gBAAgB;IAC/B,sEAAsE;IACtE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BAqB1E"}
@@ -1,4 +1,4 @@
1
1
  import type { AppSwitcherProps } from "../../types/app-switcher";
2
2
  import "./styles/app-switcher.css";
3
- export declare function AppSwitcher({ apps, loading, loadingLabel, open: controlledOpen, onOpenChange, onAppSelect, columns, triggerLabel, trigger, title, footer, className, style, placement, closeOnSelect, }: AppSwitcherProps): import("react").JSX.Element;
3
+ export declare function AppSwitcher({ apps, loading, loadingLabel, open: controlledOpen, onOpenChange, onAppSelect, columns, maxItems, triggerLabel, trigger, title, footer, children, className, style, placement, closeOnSelect, }: AppSwitcherProps): import("react").JSX.Element;
4
4
  //# sourceMappingURL=AppSwitcher.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AppSwitcher.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/AppSwitcher.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,2BAA2B,CAAC;AAcnC,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAe,EACf,YAAmC,EACnC,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,WAAW,EACX,OAAW,EACX,YAAkC,EAClC,OAAO,EACP,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,SAAwB,EACxB,aAAoB,GACrB,EAAE,gBAAgB,+BAoGlB"}
1
+ {"version":3,"file":"AppSwitcher.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/AppSwitcher.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAW,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,2BAA2B,CAAC;AAcnC,wBAAgB,WAAW,CAAC,EAC1B,IAAI,EACJ,OAAe,EACf,YAAmC,EACnC,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,WAAW,EACX,OAAW,EACX,QAAY,EACZ,YAAkC,EAClC,OAAO,EACP,KAAK,EACL,MAAM,EACN,QAAQ,EACR,SAAS,EACT,KAAK,EACL,SAAwB,EACxB,aAAoB,GACrB,EAAE,gBAAgB,+BA0GlB"}
@@ -1 +1 @@
1
- {"version":3,"file":"AppSwitcherItem.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/AppSwitcherItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAExD,UAAU,oBAAoB;IAC5B,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAYD,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BA0DtE"}
1
+ {"version":3,"file":"AppSwitcherItem.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/AppSwitcherItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAIxD,UAAU,oBAAoB;IAC5B,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;CAClC;AAmBD,wBAAgB,eAAe,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,oBAAoB,+BAiEtE"}
@@ -0,0 +1,8 @@
1
+ export declare const TILE_PATTERN_COUNT = 6;
2
+ interface TilePatternProps {
3
+ index: number;
4
+ patternId: string;
5
+ }
6
+ export declare function TilePattern({ index, patternId }: TilePatternProps): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=IconPatterns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconPatterns.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/IconPatterns.tsx"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB,IAAI,CAAC;AAEpC,UAAU,gBAAgB;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAkFD,wBAAgB,WAAW,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,gBAAgB,+BASjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SystemAppIcon.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/SystemAppIcon.tsx"],"names":[],"mappings":"AAAA,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAgBD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,+BAMzD"}
1
+ {"version":3,"file":"SystemAppIcon.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/SystemAppIcon.tsx"],"names":[],"mappings":"AAEA,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;CACd;AAgBD,wBAAgB,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,+BAMzD"}
@@ -1,3 +1,5 @@
1
+ export { AppIconTile } from "./AppIconTile";
2
+ export type { AppIconTileProps } from "./AppIconTile";
1
3
  export { AppSwitcher } from "./AppSwitcher";
2
4
  export { AppSwitcherItem } from "./AppSwitcherItem";
3
5
  export { GridIcon } from "./GridIcon";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EACV,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/app-switcher/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,YAAY,EACV,OAAO,EACP,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/Avatar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,oBAAoB,CAAC;AAGlE,OAAO,qBAAqB,CAAC;AAyB7B,eAAO,MAAM,MAAM,wGAgDjB,CAAC"}
1
+ {"version":3,"file":"Avatar.d.ts","sourceRoot":"","sources":["../../../src/components/avatar/Avatar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAc,MAAM,oBAAoB,CAAC;AAGlE,OAAO,qBAAqB,CAAC;AAyB7B,eAAO,MAAM,MAAM,wGAoDjB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"BulkImportModal.d.ts","sourceRoot":"","sources":["../../../src/components/bulk-import-modal/BulkImportModal.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,+BAA+B,CAAC;AAYvC,OAAO,gCAAgC,CAAC;AAgCxC,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,UAAU,EACV,gBAAwC,EACxC,SAAS,EACT,YAAY,GACb,EAAE,oBAAoB,+BA8atB"}
1
+ {"version":3,"file":"BulkImportModal.d.ts","sourceRoot":"","sources":["../../../src/components/bulk-import-modal/BulkImportModal.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EACV,oBAAoB,EAGrB,MAAM,+BAA+B,CAAC;AAYvC,OAAO,gCAAgC,CAAC;AAgCxC,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,YAAY,EACZ,MAAM,EACN,UAAU,EACV,gBAAwC,EACxC,SAAS,EACT,YAAY,GACb,EAAE,oBAAoB,+BAybtB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ValidateDataStep.d.ts","sourceRoot":"","sources":["../../../../src/components/bulk-import-modal/steps/ValidateDataStep.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAkB1C,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACrC,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,aAAa,EAAE,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAC;IACxD,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,kBAAkB,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AA2GD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,UAAU,EACV,MAAM,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,EAAE,qBAAqB,+BAocvB"}
1
+ {"version":3,"file":"ValidateDataStep.d.ts","sourceRoot":"","sources":["../../../../src/components/bulk-import-modal/steps/ValidateDataStep.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAe,gBAAgB,EAAE,MAAM,OAAO,CAAC;AAI3D,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,kCAAkC,CAAC;AAgB1C,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;IACrC,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACpC,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACxD,aAAa,EAAE,gBAAgB,CAAC,MAAM,gBAAgB,CAAC,CAAC;IACxD,qBAAqB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAC/C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,kBAAkB,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,IAAI,CAAC;CACnD;AAmGD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,UAAU,EACV,MAAM,EACN,aAAa,EACb,aAAa,EACb,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,kBAAkB,GACnB,EAAE,qBAAqB,+BAsbvB"}
@@ -1,4 +1,4 @@
1
1
  import type { ButtonProps } from "../../types/button";
2
2
  import "./styles/button.css";
3
- export declare function Button({ variant, size, loading, loadingLabel, disabled, className, classNames, children, type, ...props }: ButtonProps): import("react").JSX.Element;
3
+ export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
4
4
  //# sourceMappingURL=Button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,qBAAqB,CAAC;AAE7B,wBAAgB,MAAM,CAAC,EACrB,OAAqB,EACrB,IAAW,EACX,OAAe,EACf,YAAwB,EACxB,QAAQ,EACR,SAAS,EACT,UAAU,EACV,QAAQ,EACR,IAAe,EACf,GAAG,KAAK,EACT,EAAE,WAAW,+BAiCb"}
1
+ {"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/components/button/Button.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,qBAAqB,CAAC;AAE7B,eAAO,MAAM,MAAM,2GAkDlB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/button/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAW,EAAE,SAAS,EAAE,EAAE,YAAY,+BAO/D"}
1
+ {"version":3,"file":"Spinner.d.ts","sourceRoot":"","sources":["../../../src/components/button/Spinner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGrD,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,OAAO,CAAC,EAAE,IAAW,EAAE,SAAS,EAAE,EAAE,YAAY,+BAW/D"}
@@ -0,0 +1,4 @@
1
+ import type { ComboboxProps } from "../../types/combobox";
2
+ import "./styles/combobox.css";
3
+ export declare function Combobox(props: ComboboxProps): import("react").JSX.Element;
4
+ //# sourceMappingURL=Combobox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,uBAAuB,CAAC;AAE/B,wBAAgB,QAAQ,CAAC,KAAK,EAAE,aAAa,+BA2M5C"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Combobox.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Combobox.test.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/Combobox.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { Combobox } from "./Combobox";
2
+ export type { ComboboxClassNames, ComboboxOption, ComboboxProps, } from "../../types/combobox";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/combobox/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,YAAY,EACV,kBAAkB,EAClB,cAAc,EACd,aAAa,GACd,MAAM,sBAAsB,CAAC"}
@@ -1,4 +1,11 @@
1
1
  import type { CountrySelectorProps } from "../../types/country-selector";
2
2
  import "./styles/country-selector.css";
3
+ /**
4
+ * @deprecated Standalone country/dial-code picker, superseded by the searchable
5
+ * `Combobox` (build a country list with `options`) for general country selection,
6
+ * or `PhoneNumberInput`'s own built-in country picker for phone-number use cases —
7
+ * see the [migration guide](/docs/migration-v2). Kept exported and fully working;
8
+ * it receives no further features or design updates.
9
+ */
3
10
  export declare const CountrySelector: import("react").ForwardRefExoticComponent<CountrySelectorProps & import("react").RefAttributes<HTMLDivElement>>;
4
11
  //# sourceMappingURL=CountrySelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"CountrySelector.d.ts","sourceRoot":"","sources":["../../../src/components/country-selector/CountrySelector.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,+BAA+B,CAAC;AAEvC,eAAO,MAAM,eAAe,iHAoI3B,CAAC"}
1
+ {"version":3,"file":"CountrySelector.d.ts","sourceRoot":"","sources":["../../../src/components/country-selector/CountrySelector.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAGzE,OAAO,+BAA+B,CAAC;AAEvC;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,iHAoI3B,CAAC"}
@@ -1,3 +1,4 @@
1
+ /** @deprecated Use `Combobox` for country selection, or `PhoneNumberInput`'s built-in country picker for phone numbers — see the migration guide. */
1
2
  export { CountrySelector } from "./CountrySelector";
2
3
  export type { CountrySelectorClassNames, CountrySelectorProps, } from "../../types/country-selector";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/country-selector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/country-selector/index.ts"],"names":[],"mappings":"AAAA,qJAAqJ;AACrJ,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,YAAY,EACV,yBAAyB,EACzB,oBAAoB,GACrB,MAAM,8BAA8B,CAAC"}
@@ -1,5 +1,5 @@
1
- import type { DateRangeSelectorProps, DateRangeValue } from "../../types/date-range-selector";
2
- export type { DateRangeValue };
1
+ import type { DateRangePreset, DateRangeSelectorProps, DateRangeValue } from "../../types/date-range-selector";
2
+ export type { DateRangePreset, DateRangeValue };
3
3
  import "./styles/date-range-selector.css";
4
4
  export declare const DateRangeSelector: import("react").ForwardRefExoticComponent<DateRangeSelectorProps & import("react").RefAttributes<HTMLDivElement>>;
5
5
  //# sourceMappingURL=DateRangeSelector.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangeSelector.d.ts","sourceRoot":"","sources":["../../../src/components/date-range-selector/DateRangeSelector.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,sBAAsB,EACtB,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EAAE,cAAc,EAAE,CAAC;AAK/B,OAAO,kCAAkC,CAAC;AA8M1C,eAAO,MAAM,iBAAiB,mHA4R5B,CAAC"}
1
+ {"version":3,"file":"DateRangeSelector.d.ts","sourceRoot":"","sources":["../../../src/components/date-range-selector/DateRangeSelector.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,eAAe,EACf,sBAAsB,EACtB,cAAc,EACf,MAAM,iCAAiC,CAAC;AAEzC,YAAY,EAAE,eAAe,EAAE,cAAc,EAAE,CAAC;AAKhD,OAAO,kCAAkC,CAAC;AAsP1C,eAAO,MAAM,iBAAiB,mHA2W5B,CAAC"}
@@ -1,3 +1,3 @@
1
1
  export { DateRangeSelector } from "./DateRangeSelector";
2
- export type { DateRangeSelectorProps, DateRangeSelectorClassNames, DateRangeValue, } from "../../types/date-range-selector";
2
+ export type { DateRangePreset, DateRangeSelectorProps, DateRangeSelectorClassNames, DateRangeValue, } from "../../types/date-range-selector";
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/date-range-selector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,GACf,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/date-range-selector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,YAAY,EACV,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,GACf,MAAM,iCAAiC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateSelector.d.ts","sourceRoot":"","sources":["../../../src/components/date-selector/DateSelector.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,4BAA4B,CAAC;AA6DpC,eAAO,MAAM,YAAY,8GA2QxB,CAAC"}
1
+ {"version":3,"file":"DateSelector.d.ts","sourceRoot":"","sources":["../../../src/components/date-selector/DateSelector.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,OAAO,4BAA4B,CAAC;AAqEpC,eAAO,MAAM,YAAY,8GA2QxB,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import type { DropdownProps } from "../../types/dropdown";
2
2
  import "./styles/dropdown.css";
3
- export declare function Dropdown({ value, onValueChange, options, placeholder, clearable, disabled, invalid, "aria-label": ariaLabel, formatOption, classNames, className, }: DropdownProps): import("react").JSX.Element;
3
+ export declare function Dropdown({ value, onValueChange, options, placeholder, clearable, disabled, invalid, "aria-label": ariaLabel, formatOption, classNames, className, name, required, form, }: DropdownProps): import("react").JSX.Element;
4
4
  //# sourceMappingURL=Dropdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/Dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,uBAAuB,CAAC;AAK/B,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,aAAa,EACb,OAAO,EACP,WAAyB,EACzB,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,YAAY,EAAE,SAAS,EACvB,YAAY,EACZ,UAAU,EACV,SAAS,GACV,EAAE,aAAa,+BAmFf"}
1
+ {"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/Dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,uBAAuB,CAAC;AAK/B,wBAAgB,QAAQ,CAAC,EACvB,KAAK,EACL,aAAa,EACb,OAAO,EACP,WAAyB,EACzB,SAAiB,EACjB,QAAgB,EAChB,OAAe,EACf,YAAY,EAAE,SAAS,EACvB,YAAY,EACZ,UAAU,EACV,SAAS,EACT,IAAI,EACJ,QAAQ,EACR,IAAI,GACL,EAAE,aAAa,+BAgGf"}
@@ -0,0 +1,3 @@
1
+ import type { ExportButtonProps } from "../../types/export-button";
2
+ export declare function ExportButton<T>({ data, columns, title, filename, filtersDescription, formats, label, align, side, sideOffset, classNames, variant, size, className, ...buttonProps }: ExportButtonProps<T>): import("react").JSX.Element;
3
+ //# sourceMappingURL=ExportButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportButton.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/ExportButton.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,2BAA2B,CAAC;AAsBnC,wBAAgB,YAAY,CAAC,CAAC,EAAE,EAC9B,IAAI,EACJ,OAAO,EACP,KAAK,EACL,QAAQ,EACR,kBAAkB,EAClB,OAAgC,EAChC,KAAgB,EAChB,KAAa,EACb,IAAe,EACf,UAAc,EACd,UAAU,EACV,OAAmB,EACnB,IAAW,EACX,SAAS,EACT,GAAG,WAAW,EACf,EAAE,iBAAiB,CAAC,CAAC,CAAC,+BA0EtB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=ExportButton.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ExportButton.test.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/ExportButton.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export { ExportButton } from "./ExportButton";
2
+ export type { ExportButtonProps, ExportButtonClassNames, ExportFormat, ExportColumn, } from "../../types/export-button";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/export-button/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,YAAY,GACb,MAAM,2BAA2B,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { LaunchpadProps } from "../../types/launchpad";
2
+ import "./styles/launchpad.css";
3
+ export declare function Launchpad({ apps, loading, open: controlledOpen, onOpenChange, onAppSelect, children, trigger, className, style, showBrandStrip, }: LaunchpadProps): import("react").JSX.Element;
4
+ //# sourceMappingURL=Launchpad.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Launchpad.d.ts","sourceRoot":"","sources":["../../../src/components/launchpad/Launchpad.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAgB,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAG1E,OAAO,wBAAwB,CAAC;AAehC,wBAAgB,SAAS,CAAC,EACzB,IAAI,EACJ,OAAe,EACf,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,WAAW,EACX,QAAQ,EACR,OAAO,EACP,SAAS,EACT,KAAK,EACL,cAAqB,GACrB,EAAE,cAAc,+BAgKhB"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Launchpad.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Launchpad.test.d.ts","sourceRoot":"","sources":["../../../src/components/launchpad/Launchpad.test.tsx"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare function LaunchpadGridIcon(): import("react").JSX.Element;
2
+ //# sourceMappingURL=LaunchpadGridIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaunchpadGridIcon.d.ts","sourceRoot":"","sources":["../../../src/components/launchpad/LaunchpadGridIcon.tsx"],"names":[],"mappings":"AAAA,wBAAgB,iBAAiB,gCAoBhC"}
@@ -0,0 +1,10 @@
1
+ import type { ReactNode } from "react";
2
+ export interface LaunchpadIconTileProps {
3
+ /** Seeds the deterministic background gradient and decorative overlay */
4
+ name: string;
5
+ /** Glyph rendered centered on top of the tile (icon or initials) */
6
+ children: ReactNode;
7
+ className?: string;
8
+ }
9
+ export declare function LaunchpadIconTile({ name, children, className }: LaunchpadIconTileProps): import("react").JSX.Element;
10
+ //# sourceMappingURL=LaunchpadIconTile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaunchpadIconTile.d.ts","sourceRoot":"","sources":["../../../src/components/launchpad/LaunchpadIconTile.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAQvC,MAAM,WAAW,sBAAsB;IACrC,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,oEAAoE;IACpE,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,sBAAsB,+BAmBtF"}
@@ -0,0 +1,8 @@
1
+ import type { LaunchpadApp } from "../../types/launchpad";
2
+ interface LaunchpadItemProps {
3
+ app: LaunchpadApp;
4
+ onSelect: (app: LaunchpadApp) => void;
5
+ }
6
+ export declare function LaunchpadItem({ app, onSelect }: LaunchpadItemProps): import("react").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=LaunchpadItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LaunchpadItem.d.ts","sourceRoot":"","sources":["../../../src/components/launchpad/LaunchpadItem.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE1D,UAAU,kBAAkB;IAC1B,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,CAAC;CACvC;AAED,wBAAgB,aAAa,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,kBAAkB,+BAwDlE"}