@autumnsgrove/groveengine 0.3.2 → 0.4.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 (270) hide show
  1. package/dist/auth/index.d.ts +2 -0
  2. package/dist/auth/index.js +5 -0
  3. package/dist/components/admin/GutterManager.svelte +4 -4
  4. package/dist/components/admin/MarkdownEditor.svelte +381 -1311
  5. package/dist/components/admin/MarkdownEditor.svelte.d.ts +2 -8
  6. package/dist/components/admin/composables/index.d.ts +7 -0
  7. package/dist/components/admin/composables/index.js +12 -0
  8. package/dist/components/admin/composables/useAmbientSounds.svelte.d.ts +53 -0
  9. package/dist/components/admin/composables/useAmbientSounds.svelte.js +192 -0
  10. package/dist/components/admin/composables/useCommandPalette.svelte.d.ts +17 -0
  11. package/dist/components/admin/composables/useCommandPalette.svelte.js +118 -0
  12. package/dist/components/admin/composables/useDraftManager.svelte.d.ts +17 -0
  13. package/dist/components/admin/composables/useDraftManager.svelte.js +154 -0
  14. package/dist/components/admin/composables/useEditorTheme.svelte.d.ts +195 -0
  15. package/dist/components/admin/composables/useEditorTheme.svelte.js +182 -0
  16. package/dist/components/admin/composables/useSlashCommands.svelte.d.ts +32 -0
  17. package/dist/components/admin/composables/useSlashCommands.svelte.js +166 -0
  18. package/dist/components/admin/composables/useSnippets.svelte.d.ts +5 -0
  19. package/dist/components/admin/composables/useSnippets.svelte.js +122 -0
  20. package/dist/components/admin/composables/useWritingSession.svelte.d.ts +13 -0
  21. package/dist/components/admin/composables/useWritingSession.svelte.js +100 -0
  22. package/dist/components/custom/ContentWithGutter.svelte +1 -1
  23. package/dist/components/custom/GutterItem.svelte +2 -2
  24. package/dist/config/ai-models.d.ts +25 -0
  25. package/dist/config/ai-models.js +50 -0
  26. package/dist/config/index.d.ts +1 -0
  27. package/dist/config/index.js +4 -0
  28. package/dist/index.d.ts +5 -5
  29. package/dist/index.js +6 -6
  30. package/dist/server/index.d.ts +1 -0
  31. package/dist/server/index.js +4 -0
  32. package/dist/ui/components/charts/ActivityOverview.svelte +293 -0
  33. package/dist/ui/components/charts/ActivityOverview.svelte.d.ts +12 -0
  34. package/dist/ui/components/charts/LOCBar.svelte +129 -0
  35. package/dist/ui/components/charts/LOCBar.svelte.d.ts +21 -0
  36. package/dist/ui/components/charts/RepoBreakdown.svelte +136 -0
  37. package/dist/ui/components/charts/RepoBreakdown.svelte.d.ts +16 -0
  38. package/dist/ui/components/charts/Sparkline.svelte +139 -0
  39. package/dist/ui/components/charts/Sparkline.svelte.d.ts +6 -0
  40. package/dist/ui/components/charts/index.d.ts +5 -0
  41. package/dist/ui/components/charts/index.js +11 -0
  42. package/dist/ui/components/content/PlanCard.svelte +91 -0
  43. package/dist/ui/components/content/PlanCard.svelte.d.ts +13 -0
  44. package/dist/ui/components/content/ProductCard.svelte +125 -0
  45. package/dist/ui/components/content/ProductCard.svelte.d.ts +14 -0
  46. package/dist/ui/components/content/SearchCard.svelte +60 -0
  47. package/dist/ui/components/content/SearchCard.svelte.d.ts +10 -0
  48. package/dist/ui/components/content/index.d.ts +4 -0
  49. package/dist/ui/components/content/index.js +10 -0
  50. package/dist/ui/components/forms/SearchInput.svelte +89 -0
  51. package/dist/ui/components/forms/SearchInput.svelte.d.ts +11 -0
  52. package/dist/ui/components/forms/index.d.ts +2 -0
  53. package/dist/ui/components/forms/index.js +8 -0
  54. package/dist/ui/components/gallery/index.d.ts +5 -0
  55. package/dist/ui/components/gallery/index.js +13 -0
  56. package/dist/ui/components/icons/IconLegend.svelte +83 -0
  57. package/dist/ui/components/icons/IconLegend.svelte.d.ts +11 -0
  58. package/dist/ui/components/icons/Icons.svelte +115 -0
  59. package/dist/ui/components/icons/Icons.svelte.d.ts +8 -0
  60. package/dist/ui/components/icons/index.d.ts +3 -0
  61. package/dist/ui/components/icons/index.js +9 -0
  62. package/dist/ui/components/indicators/CreditBalance.svelte +67 -0
  63. package/dist/ui/components/indicators/CreditBalance.svelte.d.ts +9 -0
  64. package/dist/ui/components/indicators/ScoreBar.svelte +63 -0
  65. package/dist/ui/components/indicators/ScoreBar.svelte.d.ts +9 -0
  66. package/dist/ui/components/indicators/StatusBadge.svelte +46 -0
  67. package/dist/ui/components/indicators/StatusBadge.svelte.d.ts +7 -0
  68. package/dist/ui/components/indicators/index.d.ts +4 -0
  69. package/dist/ui/components/indicators/index.js +10 -0
  70. package/dist/{components/ui → ui/components/primitives}/accordion/accordion-content.svelte +1 -1
  71. package/dist/{components/ui → ui/components/primitives}/accordion/accordion-item.svelte +1 -1
  72. package/dist/{components/ui → ui/components/primitives}/accordion/accordion-trigger.svelte +1 -1
  73. package/dist/ui/components/primitives/badge/badge.svelte +50 -0
  74. package/dist/ui/components/primitives/badge/badge.svelte.d.ts +60 -0
  75. package/dist/ui/components/primitives/badge/index.d.ts +2 -0
  76. package/dist/ui/components/primitives/badge/index.js +2 -0
  77. package/dist/ui/components/primitives/button/button.svelte +82 -0
  78. package/dist/ui/components/primitives/button/button.svelte.d.ts +132 -0
  79. package/dist/ui/components/primitives/button/index.d.ts +2 -0
  80. package/dist/ui/components/primitives/button/index.js +4 -0
  81. package/dist/ui/components/primitives/card/card-content.svelte +16 -0
  82. package/dist/ui/components/primitives/card/card-content.svelte.d.ts +5 -0
  83. package/dist/ui/components/primitives/card/card-description.svelte +16 -0
  84. package/dist/ui/components/primitives/card/card-description.svelte.d.ts +5 -0
  85. package/dist/ui/components/primitives/card/card-footer.svelte +16 -0
  86. package/dist/ui/components/primitives/card/card-footer.svelte.d.ts +5 -0
  87. package/dist/ui/components/primitives/card/card-header.svelte +16 -0
  88. package/dist/ui/components/primitives/card/card-header.svelte.d.ts +5 -0
  89. package/dist/ui/components/primitives/card/card-title.svelte +25 -0
  90. package/dist/ui/components/primitives/card/card-title.svelte.d.ts +8 -0
  91. package/dist/ui/components/primitives/card/card.svelte +20 -0
  92. package/dist/ui/components/primitives/card/card.svelte.d.ts +5 -0
  93. package/dist/ui/components/primitives/card/index.d.ts +7 -0
  94. package/dist/ui/components/primitives/card/index.js +9 -0
  95. package/dist/{components/ui → ui/components/primitives}/dialog/dialog-content.svelte +1 -1
  96. package/dist/{components/ui → ui/components/primitives}/dialog/dialog-description.svelte +1 -1
  97. package/dist/{components/ui → ui/components/primitives}/dialog/dialog-footer.svelte +1 -1
  98. package/dist/{components/ui → ui/components/primitives}/dialog/dialog-header.svelte +1 -1
  99. package/dist/{components/ui → ui/components/primitives}/dialog/dialog-overlay.svelte +1 -1
  100. package/dist/{components/ui → ui/components/primitives}/dialog/dialog-title.svelte +1 -1
  101. package/dist/ui/components/primitives/input/index.d.ts +2 -0
  102. package/dist/ui/components/primitives/input/index.js +4 -0
  103. package/dist/ui/components/primitives/input/input.svelte +46 -0
  104. package/dist/ui/components/primitives/input/input.svelte.d.ts +13 -0
  105. package/dist/{components/ui → ui/components/primitives}/select/select-content.svelte +1 -1
  106. package/dist/{components/ui → ui/components/primitives}/select/select-group-heading.svelte +1 -1
  107. package/dist/{components/ui → ui/components/primitives}/select/select-item.svelte +1 -1
  108. package/dist/{components/ui → ui/components/primitives}/select/select-scroll-down-button.svelte +1 -1
  109. package/dist/{components/ui → ui/components/primitives}/select/select-scroll-up-button.svelte +1 -1
  110. package/dist/{components/ui → ui/components/primitives}/select/select-separator.svelte +1 -1
  111. package/dist/{components/ui → ui/components/primitives}/select/select-trigger.svelte +1 -1
  112. package/dist/ui/components/primitives/separator/index.d.ts +2 -0
  113. package/dist/ui/components/primitives/separator/index.js +4 -0
  114. package/dist/ui/components/primitives/separator/separator.svelte +22 -0
  115. package/dist/ui/components/primitives/separator/separator.svelte.d.ts +4 -0
  116. package/dist/{components/ui → ui/components/primitives}/sheet/sheet-content.svelte +1 -1
  117. package/dist/{components/ui → ui/components/primitives}/sheet/sheet-description.svelte +1 -1
  118. package/dist/{components/ui → ui/components/primitives}/sheet/sheet-footer.svelte +1 -1
  119. package/dist/{components/ui → ui/components/primitives}/sheet/sheet-header.svelte +1 -1
  120. package/dist/{components/ui → ui/components/primitives}/sheet/sheet-overlay.svelte +1 -1
  121. package/dist/{components/ui → ui/components/primitives}/sheet/sheet-title.svelte +1 -1
  122. package/dist/ui/components/primitives/skeleton/index.d.ts +2 -0
  123. package/dist/ui/components/primitives/skeleton/index.js +4 -0
  124. package/dist/ui/components/primitives/skeleton/skeleton.svelte +17 -0
  125. package/dist/ui/components/primitives/skeleton/skeleton.svelte.d.ts +5 -0
  126. package/dist/{components/ui → ui/components/primitives}/table/table-body.svelte +1 -1
  127. package/dist/{components/ui → ui/components/primitives}/table/table-caption.svelte +1 -1
  128. package/dist/{components/ui → ui/components/primitives}/table/table-cell.svelte +1 -1
  129. package/dist/{components/ui → ui/components/primitives}/table/table-footer.svelte +1 -1
  130. package/dist/{components/ui → ui/components/primitives}/table/table-head.svelte +1 -1
  131. package/dist/{components/ui → ui/components/primitives}/table/table-header.svelte +1 -1
  132. package/dist/{components/ui → ui/components/primitives}/table/table-row.svelte +1 -1
  133. package/dist/{components/ui → ui/components/primitives}/table/table.svelte +1 -1
  134. package/dist/{components/ui → ui/components/primitives}/tabs/tabs-content.svelte +1 -1
  135. package/dist/{components/ui → ui/components/primitives}/tabs/tabs-list.svelte +1 -1
  136. package/dist/{components/ui → ui/components/primitives}/tabs/tabs-trigger.svelte +1 -1
  137. package/dist/ui/components/primitives/textarea/index.d.ts +2 -0
  138. package/dist/ui/components/primitives/textarea/index.js +4 -0
  139. package/dist/ui/components/primitives/textarea/textarea.svelte +24 -0
  140. package/dist/ui/components/primitives/textarea/textarea.svelte.d.ts +6 -0
  141. package/dist/ui/components/states/EmptyState.svelte +28 -0
  142. package/dist/ui/components/states/EmptyState.svelte.d.ts +10 -0
  143. package/dist/ui/components/states/Loading.svelte +62 -0
  144. package/dist/ui/components/states/Loading.svelte.d.ts +7 -0
  145. package/dist/ui/components/states/LoadingSkeleton.svelte +46 -0
  146. package/dist/ui/components/states/LoadingSkeleton.svelte.d.ts +8 -0
  147. package/dist/ui/components/states/ThemeToggle.svelte +138 -0
  148. package/dist/ui/components/states/ThemeToggle.svelte.d.ts +6 -0
  149. package/dist/ui/components/states/index.d.ts +5 -0
  150. package/dist/ui/components/states/index.js +11 -0
  151. package/dist/{components → ui/components}/ui/Accordion.svelte +1 -1
  152. package/dist/ui/components/ui/Badge.svelte +52 -0
  153. package/dist/ui/components/ui/Badge.svelte.d.ts +28 -0
  154. package/dist/ui/components/ui/Button.svelte +77 -0
  155. package/dist/ui/components/ui/Button.svelte.d.ts +34 -0
  156. package/dist/ui/components/ui/Card.svelte +102 -0
  157. package/dist/ui/components/ui/Card.svelte.d.ts +46 -0
  158. package/dist/ui/components/ui/CollapsibleSection.svelte +65 -0
  159. package/dist/ui/components/ui/CollapsibleSection.svelte.d.ts +10 -0
  160. package/dist/{components → ui/components}/ui/Dialog.svelte +1 -1
  161. package/dist/ui/components/ui/Input.svelte +81 -0
  162. package/dist/ui/components/ui/Input.svelte.d.ts +35 -0
  163. package/dist/{components → ui/components}/ui/Select.svelte +1 -1
  164. package/dist/{components → ui/components}/ui/Sheet.svelte +1 -1
  165. package/dist/ui/components/ui/Skeleton.svelte +31 -0
  166. package/dist/ui/components/ui/Skeleton.svelte.d.ts +26 -0
  167. package/dist/ui/components/ui/Spinner.svelte +45 -0
  168. package/dist/ui/components/ui/Spinner.svelte.d.ts +15 -0
  169. package/dist/{components → ui/components}/ui/Table.svelte +2 -2
  170. package/dist/{components → ui/components}/ui/Table.svelte.d.ts +1 -1
  171. package/dist/{components → ui/components}/ui/Tabs.svelte +2 -2
  172. package/dist/ui/components/ui/Textarea.svelte +81 -0
  173. package/dist/ui/components/ui/Textarea.svelte.d.ts +35 -0
  174. package/dist/{components → ui/components}/ui/Toast.svelte +1 -1
  175. package/dist/ui/components/ui/index.d.ts +18 -0
  176. package/dist/ui/components/ui/index.js +28 -0
  177. package/dist/{components → ui/components}/ui/toast.d.ts +1 -1
  178. package/dist/{components → ui/components}/ui/toast.js +2 -2
  179. package/dist/ui/index.d.ts +10 -0
  180. package/dist/ui/index.js +22 -0
  181. package/dist/ui/stores/theme.d.ts +12 -0
  182. package/dist/ui/stores/theme.js +52 -0
  183. package/dist/ui/styles/content.css +514 -0
  184. package/dist/ui/styles/grove.css +715 -0
  185. package/dist/ui/styles/tokens.css +429 -0
  186. package/dist/ui/tailwind.preset.d.ts +340 -0
  187. package/dist/ui/tailwind.preset.js +441 -0
  188. package/dist/ui/tokens/animation.d.ts +417 -0
  189. package/dist/ui/tokens/animation.js +139 -0
  190. package/dist/ui/tokens/colors.d.ts +183 -0
  191. package/dist/ui/tokens/colors.js +97 -0
  192. package/dist/ui/tokens/effects.d.ts +111 -0
  193. package/dist/ui/tokens/effects.js +61 -0
  194. package/dist/ui/tokens/index.d.ts +6 -0
  195. package/dist/ui/tokens/index.js +19 -0
  196. package/dist/ui/tokens/spacing.d.ts +89 -0
  197. package/dist/ui/tokens/spacing.js +49 -0
  198. package/dist/ui/tokens/typography.d.ts +85 -0
  199. package/dist/ui/tokens/typography.js +68 -0
  200. package/dist/ui/utils/cn.d.ts +13 -0
  201. package/dist/ui/utils/cn.js +24 -0
  202. package/dist/ui/utils/index.d.ts +2 -0
  203. package/dist/ui/utils/index.js +8 -0
  204. package/dist/utils/index.d.ts +11 -0
  205. package/dist/utils/index.js +14 -0
  206. package/dist/utils/markdown.d.ts +11 -0
  207. package/dist/utils/markdown.js +25 -0
  208. package/dist/utils/sanitize.js +2 -3
  209. package/package.json +73 -10
  210. package/dist/components/ui/index.d.ts +0 -14
  211. package/dist/components/ui/index.js +0 -18
  212. /package/dist/{components → ui/components}/gallery/ImageGallery.svelte +0 -0
  213. /package/dist/{components → ui/components}/gallery/ImageGallery.svelte.d.ts +0 -0
  214. /package/dist/{components → ui/components}/gallery/Lightbox.svelte +0 -0
  215. /package/dist/{components → ui/components}/gallery/Lightbox.svelte.d.ts +0 -0
  216. /package/dist/{components → ui/components}/gallery/LightboxCaption.svelte +0 -0
  217. /package/dist/{components → ui/components}/gallery/LightboxCaption.svelte.d.ts +0 -0
  218. /package/dist/{components → ui/components}/gallery/ZoomableImage.svelte +0 -0
  219. /package/dist/{components → ui/components}/gallery/ZoomableImage.svelte.d.ts +0 -0
  220. /package/dist/{components/ui → ui/components/primitives}/accordion/accordion-content.svelte.d.ts +0 -0
  221. /package/dist/{components/ui → ui/components/primitives}/accordion/accordion-item.svelte.d.ts +0 -0
  222. /package/dist/{components/ui → ui/components/primitives}/accordion/accordion-trigger.svelte.d.ts +0 -0
  223. /package/dist/{components/ui → ui/components/primitives}/accordion/index.d.ts +0 -0
  224. /package/dist/{components/ui → ui/components/primitives}/accordion/index.js +0 -0
  225. /package/dist/{components/ui → ui/components/primitives}/dialog/dialog-content.svelte.d.ts +0 -0
  226. /package/dist/{components/ui → ui/components/primitives}/dialog/dialog-description.svelte.d.ts +0 -0
  227. /package/dist/{components/ui → ui/components/primitives}/dialog/dialog-footer.svelte.d.ts +0 -0
  228. /package/dist/{components/ui → ui/components/primitives}/dialog/dialog-header.svelte.d.ts +0 -0
  229. /package/dist/{components/ui → ui/components/primitives}/dialog/dialog-overlay.svelte.d.ts +0 -0
  230. /package/dist/{components/ui → ui/components/primitives}/dialog/dialog-title.svelte.d.ts +0 -0
  231. /package/dist/{components/ui → ui/components/primitives}/dialog/index.d.ts +0 -0
  232. /package/dist/{components/ui → ui/components/primitives}/dialog/index.js +0 -0
  233. /package/dist/{components/ui → ui/components/primitives}/select/index.d.ts +0 -0
  234. /package/dist/{components/ui → ui/components/primitives}/select/index.js +0 -0
  235. /package/dist/{components/ui → ui/components/primitives}/select/select-content.svelte.d.ts +0 -0
  236. /package/dist/{components/ui → ui/components/primitives}/select/select-group-heading.svelte.d.ts +0 -0
  237. /package/dist/{components/ui → ui/components/primitives}/select/select-item.svelte.d.ts +0 -0
  238. /package/dist/{components/ui → ui/components/primitives}/select/select-scroll-down-button.svelte.d.ts +0 -0
  239. /package/dist/{components/ui → ui/components/primitives}/select/select-scroll-up-button.svelte.d.ts +0 -0
  240. /package/dist/{components/ui → ui/components/primitives}/select/select-separator.svelte.d.ts +0 -0
  241. /package/dist/{components/ui → ui/components/primitives}/select/select-trigger.svelte.d.ts +0 -0
  242. /package/dist/{components/ui → ui/components/primitives}/sheet/index.d.ts +0 -0
  243. /package/dist/{components/ui → ui/components/primitives}/sheet/index.js +0 -0
  244. /package/dist/{components/ui → ui/components/primitives}/sheet/sheet-content.svelte.d.ts +0 -0
  245. /package/dist/{components/ui → ui/components/primitives}/sheet/sheet-description.svelte.d.ts +0 -0
  246. /package/dist/{components/ui → ui/components/primitives}/sheet/sheet-footer.svelte.d.ts +0 -0
  247. /package/dist/{components/ui → ui/components/primitives}/sheet/sheet-header.svelte.d.ts +0 -0
  248. /package/dist/{components/ui → ui/components/primitives}/sheet/sheet-overlay.svelte.d.ts +0 -0
  249. /package/dist/{components/ui → ui/components/primitives}/sheet/sheet-title.svelte.d.ts +0 -0
  250. /package/dist/{components/ui → ui/components/primitives}/table/index.d.ts +0 -0
  251. /package/dist/{components/ui → ui/components/primitives}/table/index.js +0 -0
  252. /package/dist/{components/ui → ui/components/primitives}/table/table-body.svelte.d.ts +0 -0
  253. /package/dist/{components/ui → ui/components/primitives}/table/table-caption.svelte.d.ts +0 -0
  254. /package/dist/{components/ui → ui/components/primitives}/table/table-cell.svelte.d.ts +0 -0
  255. /package/dist/{components/ui → ui/components/primitives}/table/table-footer.svelte.d.ts +0 -0
  256. /package/dist/{components/ui → ui/components/primitives}/table/table-head.svelte.d.ts +0 -0
  257. /package/dist/{components/ui → ui/components/primitives}/table/table-header.svelte.d.ts +0 -0
  258. /package/dist/{components/ui → ui/components/primitives}/table/table-row.svelte.d.ts +0 -0
  259. /package/dist/{components/ui → ui/components/primitives}/table/table.svelte.d.ts +0 -0
  260. /package/dist/{components/ui → ui/components/primitives}/tabs/index.d.ts +0 -0
  261. /package/dist/{components/ui → ui/components/primitives}/tabs/index.js +0 -0
  262. /package/dist/{components/ui → ui/components/primitives}/tabs/tabs-content.svelte.d.ts +0 -0
  263. /package/dist/{components/ui → ui/components/primitives}/tabs/tabs-list.svelte.d.ts +0 -0
  264. /package/dist/{components/ui → ui/components/primitives}/tabs/tabs-trigger.svelte.d.ts +0 -0
  265. /package/dist/{components → ui/components}/ui/Accordion.svelte.d.ts +0 -0
  266. /package/dist/{components → ui/components}/ui/Dialog.svelte.d.ts +0 -0
  267. /package/dist/{components → ui/components}/ui/Select.svelte.d.ts +0 -0
  268. /package/dist/{components → ui/components}/ui/Sheet.svelte.d.ts +0 -0
  269. /package/dist/{components → ui/components}/ui/Tabs.svelte.d.ts +0 -0
  270. /package/dist/{components → ui/components}/ui/Toast.svelte.d.ts +0 -0
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Dialog as DialogPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Dialog as DialogPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -0,0 +1,2 @@
1
+ import Root from "./input.svelte";
2
+ export { Root, Root as Input, };
@@ -0,0 +1,4 @@
1
+ import Root from "./input.svelte";
2
+ export { Root,
3
+ //
4
+ Root as Input, };
@@ -0,0 +1,46 @@
1
+ <script lang="ts">
2
+ import type { HTMLInputAttributes, HTMLInputTypeAttribute } from "svelte/elements";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import { cn } from "../../../../utils";
5
+
6
+ type InputType = Exclude<HTMLInputTypeAttribute, "file">;
7
+
8
+ type Props = WithElementRef<
9
+ Omit<HTMLInputAttributes, "type"> &
10
+ ({ type: "file"; files?: FileList } | { type?: InputType; files?: undefined })
11
+ >;
12
+
13
+ let {
14
+ ref = $bindable(null),
15
+ value = $bindable(),
16
+ type,
17
+ files = $bindable(),
18
+ class: className,
19
+ ...restProps
20
+ }: Props = $props();
21
+ </script>
22
+
23
+ {#if type === "file"}
24
+ <input
25
+ bind:this={ref}
26
+ class={cn(
27
+ "border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-base file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
28
+ className
29
+ )}
30
+ type="file"
31
+ bind:files
32
+ bind:value
33
+ {...restProps}
34
+ />
35
+ {:else}
36
+ <input
37
+ bind:this={ref}
38
+ class={cn(
39
+ "border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex h-10 w-full rounded-md border px-3 py-2 text-base file:border-0 file:bg-transparent file:text-sm file:font-medium focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
40
+ className
41
+ )}
42
+ {type}
43
+ bind:value
44
+ {...restProps}
45
+ />
46
+ {/if}
@@ -0,0 +1,13 @@
1
+ import type { HTMLInputAttributes, HTMLInputTypeAttribute } from "svelte/elements";
2
+ import type { WithElementRef } from "bits-ui";
3
+ type InputType = Exclude<HTMLInputTypeAttribute, "file">;
4
+ type Props = WithElementRef<Omit<HTMLInputAttributes, "type"> & ({
5
+ type: "file";
6
+ files?: FileList;
7
+ } | {
8
+ type?: InputType;
9
+ files?: undefined;
10
+ })>;
11
+ declare const Input: import("svelte").Component<Props, {}, "value" | "ref" | "files">;
12
+ type Input = ReturnType<typeof Input>;
13
+ export default Input;
@@ -2,7 +2,7 @@
2
2
  import { Select as SelectPrimitive, type WithoutChild } from "bits-ui";
3
3
  import SelectScrollUpButton from "./select-scroll-up-button.svelte";
4
4
  import SelectScrollDownButton from "./select-scroll-down-button.svelte";
5
- import { cn } from "../../../utils";
5
+ import { cn } from "../../../../utils";
6
6
 
7
7
  let {
8
8
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Select as SelectPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import Check from "@lucide/svelte/icons/check";
3
3
  import { Select as SelectPrimitive, type WithoutChild } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import ChevronDown from "@lucide/svelte/icons/chevron-down";
3
3
  import { Select as SelectPrimitive, type WithoutChildrenOrChild } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import ChevronUp from "@lucide/svelte/icons/chevron-up";
3
3
  import { Select as SelectPrimitive, type WithoutChildrenOrChild } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Separator as SeparatorPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import { Select as SelectPrimitive, type WithoutChild } from "bits-ui";
3
3
  import ChevronDown from "@lucide/svelte/icons/chevron-down";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -0,0 +1,2 @@
1
+ import Root from "./separator.svelte";
2
+ export { Root, Root as Separator, };
@@ -0,0 +1,4 @@
1
+ import Root from "./separator.svelte";
2
+ export { Root,
3
+ //
4
+ Root as Separator, };
@@ -0,0 +1,22 @@
1
+ <script lang="ts">
2
+ import { Separator as SeparatorPrimitive } from "bits-ui";
3
+ import { cn } from "../../../../utils";
4
+
5
+ let {
6
+ ref = $bindable(null),
7
+ class: className,
8
+ orientation = "horizontal",
9
+ ...restProps
10
+ }: SeparatorPrimitive.RootProps = $props();
11
+ </script>
12
+
13
+ <SeparatorPrimitive.Root
14
+ bind:ref
15
+ class={cn(
16
+ "bg-border shrink-0",
17
+ orientation === "horizontal" ? "h-[1px] w-full" : "min-h-full w-[1px]",
18
+ className
19
+ )}
20
+ {orientation}
21
+ {...restProps}
22
+ />
@@ -0,0 +1,4 @@
1
+ import { Separator as SeparatorPrimitive } from "bits-ui";
2
+ declare const Separator: import("svelte").Component<SeparatorPrimitive.RootProps, {}, "ref">;
3
+ type Separator = ReturnType<typeof Separator>;
4
+ export default Separator;
@@ -23,7 +23,7 @@
23
23
  import X from "@lucide/svelte/icons/x";
24
24
  import type { Snippet } from "svelte";
25
25
  import SheetOverlay from "./sheet-overlay.svelte";
26
- import { cn } from "../../../utils";
26
+ import { cn } from "../../../../utils";
27
27
 
28
28
  let {
29
29
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Dialog as SheetPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { WithElementRef } from "bits-ui";
3
3
  import type { HTMLAttributes } from "svelte/elements";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Dialog as SheetPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Dialog as SheetPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -0,0 +1,2 @@
1
+ import Root from "./skeleton.svelte";
2
+ export { Root, Root as Skeleton, };
@@ -0,0 +1,4 @@
1
+ import Root from "./skeleton.svelte";
2
+ export { Root,
3
+ //
4
+ Root as Skeleton, };
@@ -0,0 +1,17 @@
1
+ <script lang="ts">
2
+ import type { WithElementRef, WithoutChildren } from "bits-ui";
3
+ import type { HTMLAttributes } from "svelte/elements";
4
+ import { cn } from "../../../../utils";
5
+
6
+ let {
7
+ ref = $bindable(null),
8
+ class: className,
9
+ ...restProps
10
+ }: WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>> = $props();
11
+ </script>
12
+
13
+ <div
14
+ bind:this={ref}
15
+ class={cn("bg-muted animate-pulse rounded-md", className)}
16
+ {...restProps}
17
+ ></div>
@@ -0,0 +1,5 @@
1
+ import type { WithElementRef } from "bits-ui";
2
+ import type { HTMLAttributes } from "svelte/elements";
3
+ declare const Skeleton: import("svelte").Component<Omit<WithElementRef<HTMLAttributes<HTMLDivElement>>, "children">, {}, "ref">;
4
+ type Skeleton = ReturnType<typeof Skeleton>;
5
+ export default Skeleton;
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLTdAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLThAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,7 +1,7 @@
1
1
  <script lang="ts">
2
2
  import type { HTMLTableAttributes } from "svelte/elements";
3
3
  import type { WithElementRef } from "bits-ui";
4
- import { cn } from "../../../utils";
4
+ import { cn } from "../../../../utils";
5
5
 
6
6
  let {
7
7
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Tabs as TabsPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Tabs as TabsPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -1,6 +1,6 @@
1
1
  <script lang="ts">
2
2
  import { Tabs as TabsPrimitive } from "bits-ui";
3
- import { cn } from "../../../utils";
3
+ import { cn } from "../../../../utils";
4
4
 
5
5
  let {
6
6
  ref = $bindable(null),
@@ -0,0 +1,2 @@
1
+ import Root from "./textarea.svelte";
2
+ export { Root as Textarea, Root, };
@@ -0,0 +1,4 @@
1
+ import Root from "./textarea.svelte";
2
+ export { Root as Textarea,
3
+ //
4
+ Root, };
@@ -0,0 +1,24 @@
1
+ <script lang="ts">
2
+ import type { HTMLTextareaAttributes } from "svelte/elements";
3
+ import type { WithElementRef } from "bits-ui";
4
+ import { cn } from "../../../../utils";
5
+
6
+ type Props = WithElementRef<HTMLTextareaAttributes>;
7
+
8
+ let {
9
+ ref = $bindable(null),
10
+ value = $bindable(),
11
+ class: className,
12
+ ...restProps
13
+ }: Props = $props();
14
+ </script>
15
+
16
+ <textarea
17
+ bind:this={ref}
18
+ class={cn(
19
+ "border-input bg-background ring-offset-background placeholder:text-muted-foreground focus-visible:ring-ring flex min-h-[80px] w-full rounded-md border px-3 py-2 text-base focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
20
+ className
21
+ )}
22
+ bind:value
23
+ {...restProps}
24
+ />
@@ -0,0 +1,6 @@
1
+ import type { HTMLTextareaAttributes } from "svelte/elements";
2
+ import type { WithElementRef } from "bits-ui";
3
+ type Props = WithElementRef<HTMLTextareaAttributes>;
4
+ declare const Textarea: import("svelte").Component<Props, {}, "value" | "ref">;
5
+ type Textarea = ReturnType<typeof Textarea>;
6
+ export default Textarea;
@@ -0,0 +1,28 @@
1
+ <script lang="ts">
2
+ import Icons from '../icons/Icons.svelte';
3
+ import type { Snippet } from 'svelte';
4
+
5
+ interface Props {
6
+ icon?: 'search' | 'shopping-bag' | 'star' | 'heart' | 'sparkles';
7
+ title: string;
8
+ description?: string;
9
+ action?: Snippet;
10
+ }
11
+
12
+ let { icon = 'search', title, description, action }: Props = $props();
13
+ </script>
14
+
15
+ <div class="scout-empty">
16
+ <div class="scout-empty-icon">
17
+ <Icons name={icon} size="xl" />
18
+ </div>
19
+ <h3 class="scout-empty-title">{title}</h3>
20
+ {#if description}
21
+ <p class="scout-empty-description">{description}</p>
22
+ {/if}
23
+ {#if action}
24
+ <div class="mt-6">
25
+ {@render action()}
26
+ </div>
27
+ {/if}
28
+ </div>
@@ -0,0 +1,10 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface Props {
3
+ icon?: 'search' | 'shopping-bag' | 'star' | 'heart' | 'sparkles';
4
+ title: string;
5
+ description?: string;
6
+ action?: Snippet;
7
+ }
8
+ declare const EmptyState: import("svelte").Component<Props, {}, "">;
9
+ type EmptyState = ReturnType<typeof EmptyState>;
10
+ export default EmptyState;
@@ -0,0 +1,62 @@
1
+ <script lang="ts">
2
+ interface Props {
3
+ size?: 'sm' | 'md' | 'lg';
4
+ message?: string;
5
+ }
6
+
7
+ let { size = 'md', message }: Props = $props();
8
+
9
+ const sizes = {
10
+ sm: { spinner: '16px', border: '2px' },
11
+ md: { spinner: '32px', border: '3px' },
12
+ lg: { spinner: '48px', border: '4px' }
13
+ };
14
+ </script>
15
+
16
+ <div class="loading" class:loading-sm={size === 'sm'} class:loading-lg={size === 'lg'}>
17
+ <div
18
+ class="spinner"
19
+ style="width: {sizes[size].spinner}; height: {sizes[size].spinner}; border-width: {sizes[size].border};"
20
+ ></div>
21
+ {#if message}
22
+ <p class="message">{message}</p>
23
+ {/if}
24
+ </div>
25
+
26
+ <style>
27
+ .loading {
28
+ display: flex;
29
+ flex-direction: column;
30
+ align-items: center;
31
+ justify-content: center;
32
+ gap: 1rem;
33
+ padding: 2rem;
34
+ }
35
+
36
+ .spinner {
37
+ border-style: solid;
38
+ border-color: var(--color-border);
39
+ border-top-color: var(--color-primary);
40
+ border-radius: 50%;
41
+ animation: spin 0.8s linear infinite;
42
+ }
43
+
44
+ @keyframes spin {
45
+ to {
46
+ transform: rotate(360deg);
47
+ }
48
+ }
49
+
50
+ .message {
51
+ color: var(--color-text-secondary);
52
+ font-size: 0.875rem;
53
+ }
54
+
55
+ .loading-sm .message {
56
+ font-size: 0.75rem;
57
+ }
58
+
59
+ .loading-lg .message {
60
+ font-size: 1rem;
61
+ }
62
+ </style>
@@ -0,0 +1,7 @@
1
+ interface Props {
2
+ size?: 'sm' | 'md' | 'lg';
3
+ message?: string;
4
+ }
5
+ declare const Loading: import("svelte").Component<Props, {}, "">;
6
+ type Loading = ReturnType<typeof Loading>;
7
+ export default Loading;
@@ -0,0 +1,46 @@
1
+ <script lang="ts">
2
+ interface Props {
3
+ variant?: 'text' | 'heading' | 'card' | 'product' | 'avatar' | 'button';
4
+ lines?: number;
5
+ class?: string;
6
+ }
7
+
8
+ let { variant = 'text', lines = 1, class: className = '' }: Props = $props();
9
+ </script>
10
+
11
+ {#if variant === 'text'}
12
+ <div class="space-y-2 {className}">
13
+ {#each Array(lines) as _, i}
14
+ <div class="scout-skeleton h-4 {i === lines - 1 ? 'w-3/4' : 'w-full'}"></div>
15
+ {/each}
16
+ </div>
17
+ {:else if variant === 'heading'}
18
+ <div class="scout-skeleton h-8 w-2/3 {className}"></div>
19
+ {:else if variant === 'avatar'}
20
+ <div class="scout-skeleton w-10 h-10 rounded-full {className}"></div>
21
+ {:else if variant === 'button'}
22
+ <div class="scout-skeleton h-10 w-32 rounded-grove {className}"></div>
23
+ {:else if variant === 'card'}
24
+ <div class="scout-card p-4 {className}">
25
+ <div class="scout-skeleton h-5 w-3/4 mb-3"></div>
26
+ <div class="space-y-2">
27
+ <div class="scout-skeleton h-4 w-full"></div>
28
+ <div class="scout-skeleton h-4 w-5/6"></div>
29
+ </div>
30
+ <div class="scout-skeleton h-9 w-24 mt-4 rounded-grove"></div>
31
+ </div>
32
+ {:else if variant === 'product'}
33
+ <div class="scout-card p-0 overflow-hidden {className}">
34
+ <div class="scout-skeleton aspect-square"></div>
35
+ <div class="p-4 space-y-3">
36
+ <div class="scout-skeleton h-5 w-full"></div>
37
+ <div class="scout-skeleton h-5 w-2/3"></div>
38
+ <div class="flex gap-2">
39
+ <div class="scout-skeleton h-6 w-20"></div>
40
+ <div class="scout-skeleton h-6 w-16"></div>
41
+ </div>
42
+ <div class="scout-skeleton h-2 w-full rounded-full"></div>
43
+ <div class="scout-skeleton h-10 w-full rounded-grove mt-2"></div>
44
+ </div>
45
+ </div>
46
+ {/if}
@@ -0,0 +1,8 @@
1
+ interface Props {
2
+ variant?: 'text' | 'heading' | 'card' | 'product' | 'avatar' | 'button';
3
+ lines?: number;
4
+ class?: string;
5
+ }
6
+ declare const LoadingSkeleton: import("svelte").Component<Props, {}, "">;
7
+ type LoadingSkeleton = ReturnType<typeof LoadingSkeleton>;
8
+ export default LoadingSkeleton;