uisv 0.0.22 → 0.0.24

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 (57) hide show
  1. package/dist/components/accordion.svelte +6 -19
  2. package/dist/components/alert.svelte +58 -55
  3. package/dist/components/alert.svelte.d.ts +2 -2
  4. package/dist/components/app.svelte +28 -22
  5. package/dist/components/app.svelte.d.ts +2 -9
  6. package/dist/components/badge.svelte +16 -16
  7. package/dist/components/badge.svelte.d.ts +4 -2
  8. package/dist/components/banner.svelte +11 -15
  9. package/dist/components/banner.svelte.d.ts +2 -2
  10. package/dist/components/breadcrumb.svelte +3 -4
  11. package/dist/components/breadcrumb.svelte.d.ts +1 -1
  12. package/dist/components/button.svelte +10 -8
  13. package/dist/components/card.svelte +1 -1
  14. package/dist/components/checkbox-group.svelte +3 -5
  15. package/dist/components/checkbox-group.svelte.d.ts +3 -3
  16. package/dist/components/checkbox.svelte +12 -22
  17. package/dist/components/checkbox.svelte.d.ts +4 -5
  18. package/dist/components/collapsible.svelte +3 -1
  19. package/dist/components/index.d.ts +5 -0
  20. package/dist/components/index.js +5 -0
  21. package/dist/components/input-number.svelte +3 -2
  22. package/dist/components/input.svelte +9 -18
  23. package/dist/components/kbd.svelte +8 -8
  24. package/dist/components/modal.svelte +2 -2
  25. package/dist/components/navigation-menu.svelte +416 -0
  26. package/dist/components/navigation-menu.svelte.d.ts +20 -0
  27. package/dist/components/progress.svelte +42 -7
  28. package/dist/components/progress.svelte.d.ts +3 -2
  29. package/dist/components/radio-group.svelte +102 -0
  30. package/dist/components/radio-group.svelte.d.ts +27 -0
  31. package/dist/components/select.svelte +19 -11
  32. package/dist/components/select.svelte.d.ts +5 -6
  33. package/dist/components/seperator.svelte +1 -1
  34. package/dist/components/switch.svelte +2 -1
  35. package/dist/components/tabs.svelte +3 -13
  36. package/dist/components/tabs.svelte.d.ts +1 -1
  37. package/dist/components/toast.svelte +173 -0
  38. package/dist/components/toast.svelte.d.ts +8 -0
  39. package/dist/components/toast.svelte.js +11 -0
  40. package/dist/contexts.d.ts +10 -3
  41. package/dist/contexts.js +2 -2
  42. package/dist/index.d.ts +1 -2
  43. package/dist/index.js +1 -2
  44. package/dist/utilities/index.d.ts +5 -0
  45. package/dist/utilities/index.js +5 -0
  46. package/dist/utilities/isComponent.d.ts +7 -0
  47. package/dist/utilities/isComponent.js +10 -0
  48. package/dist/utilities/isSnippet.d.ts +7 -0
  49. package/dist/utilities/isSnippet.js +8 -0
  50. package/dist/utilities/useElementRects.svelte.d.ts +11 -0
  51. package/dist/{utilities.svelte.js → utilities/useElementRects.svelte.js} +0 -38
  52. package/dist/utilities/useRafFn.svelte.d.ts +43 -0
  53. package/dist/utilities/useRafFn.svelte.js +56 -0
  54. package/dist/utilities/useStyle.svelte.d.ts +8 -0
  55. package/dist/utilities/useStyle.svelte.js +21 -0
  56. package/package.json +37 -27
  57. package/dist/utilities.svelte.d.ts +0 -31
@@ -0,0 +1,21 @@
1
+ import { extract } from 'runed';
2
+ let uisv_usestyle_id = 0;
3
+ /**
4
+ * Inject reactive style element in head.
5
+ * @param css string
6
+ */
7
+ export function useStyle(css) {
8
+ const id = `uisv_styletag_${++uisv_usestyle_id}`;
9
+ let el = $state();
10
+ $effect(() => {
11
+ if (!el) {
12
+ el = (document.getElementById(id) || document.createElement('style'));
13
+ if (!el.isConnected) {
14
+ el.id = id;
15
+ document.head.appendChild(el);
16
+ }
17
+ }
18
+ el.textContent = extract(css);
19
+ });
20
+ return { id };
21
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "uisv",
3
- "version": "0.0.22",
3
+ "version": "0.0.24",
4
4
  "description": "ui library for the rest of us",
5
5
  "license": "MIT",
6
6
  "repository": "ui-sv/uisv",
@@ -33,7 +33,6 @@
33
33
  ".": {
34
34
  "types": "./dist/index.d.ts",
35
35
  "svelte": "./dist/index.js",
36
- "style": "./dist/runtime/index.css",
37
36
  "default": "./dist/index.js"
38
37
  },
39
38
  "./vite": {
@@ -50,45 +49,52 @@
50
49
  "types": "./dist/mode.d.ts",
51
50
  "svelte": "./dist/mode.js",
52
51
  "default": "./dist/mode.js"
52
+ },
53
+ "./contexts": {
54
+ "types": "./dist/contexts.d.ts",
55
+ "svelte": "./dist/contexts.js",
56
+ "default": "./dist/contexts.js"
53
57
  }
54
58
  },
55
59
  "peerDependencies": {
56
60
  "svelte": "^5.0.0"
57
61
  },
58
62
  "devDependencies": {
59
- "@eslint/compat": "^2.0.5",
63
+ "@eslint/compat": "^2.1.0",
60
64
  "@eslint/js": "^10.0.1",
61
- "@iconify-json/lucide": "^1.2.105",
65
+ "@iconify-json/lucide": "^1.2.114",
66
+ "@iconify-json/simple-icons": "^1.2.86",
62
67
  "@sveltejs/adapter-auto": "^7.0.1",
63
- "@sveltejs/kit": "^2.59.1",
64
- "@sveltejs/package": "^2.5.7",
65
- "@sveltejs/vite-plugin-svelte": "^6.2.4",
66
- "@types/node": "^25.6.1",
67
- "@vitest/browser": "^4.1.5",
68
- "eslint": "^10.3.0",
68
+ "@sveltejs/kit": "^2.66.0",
69
+ "@sveltejs/package": "^2.5.8",
70
+ "@sveltejs/vite-plugin-svelte": "^7.1.2",
71
+ "@types/node": "^25.9.4",
72
+ "@vitest/browser": "^4.1.9",
73
+ "eslint": "^10.5.0",
69
74
  "eslint-config-prettier": "^10.1.8",
70
- "eslint-plugin-svelte": "^3.17.1",
75
+ "eslint-plugin-svelte": "^3.19.0",
71
76
  "globals": "^17.6.0",
72
- "playwright": "^1.59.1",
73
- "prettier": "^3.8.3",
74
- "prettier-plugin-svelte": "^3.5.1",
75
- "publint": "^0.3.19",
76
- "svelte": "^5.55.5",
77
- "svelte-check": "^4.4.8",
78
- "typescript": "^5.9.3",
79
- "typescript-eslint": "^8.59.2",
80
- "vite": "^7.3.3",
81
- "vitest": "^4.1.5",
77
+ "mdsvex": "^0.12.7",
78
+ "playwright": "^1.61.0",
79
+ "prettier": "^3.8.4",
80
+ "prettier-plugin-svelte": "^4.1.1",
81
+ "publint": "^0.3.21",
82
+ "shiki": "^4.2.0",
83
+ "svelte": "^5.56.3",
84
+ "svelte-check": "^4.6.0",
85
+ "typescript": "^6.0.3",
86
+ "typescript-eslint": "^8.61.1",
87
+ "vite": "^8.0.16",
88
+ "vitest": "^4.1.9",
82
89
  "vitest-browser-svelte": "^2.1.1"
83
90
  },
84
91
  "dependencies": {
85
- "@internationalized/date": "^3.12.1",
86
- "@unocss/preset-web-fonts": "^66.6.8",
87
- "@unocss/svelte-scoped": "^66.6.8",
92
+ "@internationalized/date": "^3.12.2",
93
+ "@unocss/preset-web-fonts": "^66.7.2",
88
94
  "bits-ui": "^2.18.1",
89
95
  "colortranslator": "^6.1.1",
90
96
  "defu": "^6.1.7",
91
- "devalue": "^5.8.0",
97
+ "devalue": "^5.8.1",
92
98
  "maska": "^3.2.0",
93
99
  "mlly": "^1.8.2",
94
100
  "mode-watcher": "^1.1.0",
@@ -96,12 +102,16 @@
96
102
  "scule": "^1.3.0",
97
103
  "svelte-sonner": "^1.1.1",
98
104
  "svelte-toolbelt": "^0.10.6",
105
+ "tailwind-merge": "^3.6.0",
99
106
  "tailwind-variants": "^3.2.2",
100
107
  "theme-colors": "^0.1.0",
101
- "unocss": "^66.6.8"
108
+ "unocss": "^66.7.2"
102
109
  },
103
110
  "keywords": [
104
111
  "svelte",
105
112
  "ui"
106
- ]
113
+ ],
114
+ "patchedDependencies": {
115
+ "svelte-sonner@1.1.1": "patches/svelte-sonner@1.1.1.patch"
116
+ }
107
117
  }
@@ -1,31 +0,0 @@
1
- import type { Component, Snippet } from 'svelte';
2
- import { type MaybeGetter, type ElementSizeOptions } from 'runed';
3
- /**
4
- * Checks if a value is a Svelte component
5
- * @param v - The value to check
6
- * @returns true if the value is a component, false otherwise
7
- */
8
- export declare function isComponent(v: unknown): v is Component;
9
- /**
10
- * Checks if a value is a Svelte snippet
11
- * @param v - The value to check
12
- * @returns true if the value is a snippet, false otherwise
13
- */
14
- export declare function isSnippet<T>(v: unknown): v is Snippet<[T]>;
15
- /**
16
- * Returns a reactive value holding the dom rect of `node`s.
17
- *
18
- * Accepts an `options` object with the following properties:
19
- * - `initialSize`: The initial size of the element. Defaults to `{ width: 0, height: 0 }`.
20
- * - `box`: The box model to use. Can be either `"content-box"` or `"border-box"`. Defaults to `"border-box"`.
21
- *
22
- * @returns an array of dom rects.
23
- */
24
- export declare function useElementRects(nodes: MaybeGetter<HTMLElement[]>, options?: ElementSizeOptions): DOMRect[];
25
- /**
26
- * Inject reactive style element in head.
27
- * @param css string
28
- */
29
- export declare function useStyle(css: MaybeGetter<string>): {
30
- id: string;
31
- };