@immich/ui 0.7.0 → 0.9.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 (64) hide show
  1. package/dist/assets/appstore-badge.svg +46 -0
  2. package/dist/assets/fdroid-badge.svg +124 -0
  3. package/dist/assets/playstore-badge.png +0 -0
  4. package/dist/components/Alert/Alert.svelte +73 -19
  5. package/dist/components/Alert/Alert.svelte.d.ts +7 -1
  6. package/dist/components/AppShell/AppShell.svelte +34 -0
  7. package/dist/components/AppShell/AppShell.svelte.d.ts +6 -0
  8. package/dist/components/AppShell/AppShellHeader.svelte +15 -0
  9. package/dist/components/AppShell/AppShellHeader.svelte.d.ts +5 -0
  10. package/dist/components/AppShell/AppShellSidebar.svelte +23 -0
  11. package/dist/components/AppShell/AppShellSidebar.svelte.d.ts +7 -0
  12. package/dist/components/AppShell/PageLayout.svelte +44 -0
  13. package/dist/components/AppShell/PageLayout.svelte.d.ts +9 -0
  14. package/dist/components/Avatar/Avatar.svelte +66 -0
  15. package/dist/components/Avatar/Avatar.svelte.d.ts +7 -0
  16. package/dist/components/Card/Card.svelte +9 -11
  17. package/dist/components/Card/CardBody.svelte +1 -1
  18. package/dist/components/Card/CardFooter.svelte +6 -2
  19. package/dist/components/Card/CardFooter.svelte.d.ts +1 -0
  20. package/dist/components/CloseButton/CloseButton.svelte +2 -2
  21. package/dist/components/Code/Code.svelte +62 -0
  22. package/dist/components/Code/Code.svelte.d.ts +9 -0
  23. package/dist/components/Form/Checkbox.svelte +67 -27
  24. package/dist/components/Form/Checkbox.svelte.d.ts +1 -1
  25. package/dist/components/Form/HelperText.svelte +3 -3
  26. package/dist/components/Form/HelperText.svelte.d.ts +2 -2
  27. package/dist/components/Form/Input.svelte +2 -1
  28. package/dist/components/Form/Input.svelte.d.ts +1 -1
  29. package/dist/components/Form/PasswordInput.svelte +3 -1
  30. package/dist/components/Form/PasswordInput.svelte.d.ts +1 -1
  31. package/dist/components/FormatBytes/FormatBytes.svelte +16 -0
  32. package/dist/components/FormatBytes/FormatBytes.svelte.d.ts +6 -0
  33. package/dist/components/Heading/Heading.svelte +3 -2
  34. package/dist/components/Heading/Heading.svelte.d.ts +2 -2
  35. package/dist/components/Logo/Logo.svelte +8 -8
  36. package/dist/components/Logo/Logo.svelte.d.ts +1 -2
  37. package/dist/components/MultiSelect/MultiSelect.svelte +15 -0
  38. package/dist/components/MultiSelect/MultiSelect.svelte.d.ts +3 -0
  39. package/dist/components/Navbar/NavbarGroup.svelte +12 -0
  40. package/dist/components/Navbar/NavbarGroup.svelte.d.ts +4 -0
  41. package/dist/components/Navbar/NavbarItem.svelte +30 -0
  42. package/dist/components/Navbar/NavbarItem.svelte.d.ts +7 -0
  43. package/dist/components/Scrollable/Scrollable.svelte +41 -0
  44. package/dist/components/Scrollable/Scrollable.svelte.d.ts +6 -0
  45. package/dist/components/Select/Select.svelte +15 -0
  46. package/dist/components/Select/Select.svelte.d.ts +3 -0
  47. package/dist/components/Switch/Switch.svelte +99 -0
  48. package/dist/components/Switch/Switch.svelte.d.ts +10 -0
  49. package/dist/components/Text/Text.svelte +16 -4
  50. package/dist/components/Text/Text.svelte.d.ts +2 -2
  51. package/dist/constants.d.ts +3 -0
  52. package/dist/constants.js +3 -0
  53. package/dist/index.d.ts +23 -0
  54. package/dist/index.js +26 -0
  55. package/dist/internal/Button.svelte +1 -10
  56. package/dist/internal/Select.svelte +174 -0
  57. package/dist/internal/Select.svelte.d.ts +9 -0
  58. package/dist/services/theme.svelte.d.ts +5 -0
  59. package/dist/services/theme.svelte.js +13 -0
  60. package/dist/types.d.ts +53 -18
  61. package/dist/types.js +5 -1
  62. package/dist/utilities/byte-units.d.ts +52 -0
  63. package/dist/utilities/byte-units.js +75 -0
  64. package/package.json +6 -4
@@ -0,0 +1,75 @@
1
+ export var ByteUnit;
2
+ (function (ByteUnit) {
3
+ ByteUnit["B"] = "B";
4
+ ByteUnit["KiB"] = "KiB";
5
+ ByteUnit["MiB"] = "MiB";
6
+ ByteUnit["GiB"] = "GiB";
7
+ ByteUnit["TiB"] = "TiB";
8
+ ByteUnit["PiB"] = "PiB";
9
+ ByteUnit["EiB"] = "EiB";
10
+ })(ByteUnit || (ByteUnit = {}));
11
+ const byteUnits = [
12
+ ByteUnit.B,
13
+ ByteUnit.KiB,
14
+ ByteUnit.MiB,
15
+ ByteUnit.GiB,
16
+ ByteUnit.TiB,
17
+ ByteUnit.PiB,
18
+ ByteUnit.EiB,
19
+ ];
20
+ /**
21
+ * Convert bytes to best human readable unit and number of that unit.
22
+ *
23
+ * * For `1024` bytes, returns `1` and `KiB`.
24
+ * * For `1536` bytes, returns `1.5` and `KiB`.
25
+ *
26
+ * @param bytes number of bytes
27
+ * @param maxPrecision maximum number of decimal places, default is `1`
28
+ * @returns size (number) and unit (string)
29
+ */
30
+ export function getBytesWithUnit(bytes, maxPrecision = 1) {
31
+ const magnitude = Math.floor(Math.log(bytes === 0 ? 1 : bytes) / Math.log(1024));
32
+ return [
33
+ Number.parseFloat((bytes / 1024 ** magnitude).toFixed(maxPrecision)),
34
+ byteUnits[magnitude],
35
+ ];
36
+ }
37
+ /**
38
+ * Localized number of bytes with a unit.
39
+ *
40
+ * For `1536` bytes:
41
+ * * en: `1.5 KiB`
42
+ * * de: `1,5 KiB`
43
+ *
44
+ * @param bytes number of bytes
45
+ * @param maxPrecision maximum number of decimal places, default is `1`
46
+ * @returns localized bytes with unit as string
47
+ */
48
+ export function getByteUnitString(bytes, locale, maxPrecision = 1) {
49
+ const [size, unit] = getBytesWithUnit(bytes, maxPrecision);
50
+ return `${size.toLocaleString(locale)} ${unit}`;
51
+ }
52
+ /**
53
+ * Convert to bytes from on a specified unit.
54
+ *
55
+ * * `1, 'GiB'`, returns `1073741824` bytes
56
+ *
57
+ * @param size value to be converted
58
+ * @param unit unit to convert from
59
+ * @returns bytes (number)
60
+ */
61
+ export function convertToBytes(size, unit) {
62
+ return size * 1024 ** byteUnits.indexOf(unit);
63
+ }
64
+ /**
65
+ * Convert from bytes to a specified unit.
66
+ *
67
+ * * `11073741824, 'GiB'`, returns `1` GiB
68
+ *
69
+ * @param bytes value to be converted
70
+ * @param unit unit to convert to
71
+ * @returns bytes (number)
72
+ */
73
+ export function convertFromBytes(bytes, unit) {
74
+ return bytes / 1024 ** byteUnits.indexOf(unit);
75
+ }
package/package.json CHANGED
@@ -1,8 +1,9 @@
1
1
  {
2
2
  "name": "@immich/ui",
3
- "version": "0.7.0",
3
+ "version": "0.9.0",
4
4
  "license": "GNU Affero General Public License version 3",
5
5
  "scripts": {
6
+ "create": "node scripts/create.js",
6
7
  "start": "npm run start:dev",
7
8
  "start:dev": "vite dev",
8
9
  "watch": "vite build --watch",
@@ -40,9 +41,9 @@
40
41
  },
41
42
  "devDependencies": {
42
43
  "@sveltejs/adapter-static": "^3.0.6",
43
- "@sveltejs/kit": "^2.0.0",
44
+ "@sveltejs/kit": "^2.13.0",
44
45
  "@sveltejs/package": "^2.0.0",
45
- "@sveltejs/vite-plugin-svelte": "^4.0.0",
46
+ "@sveltejs/vite-plugin-svelte": "^5.0.2",
46
47
  "@types/eslint": "^9.6.0",
47
48
  "autoprefixer": "^10.4.20",
48
49
  "eslint": "^9.7.0",
@@ -55,10 +56,11 @@
55
56
  "publint": "^0.2.0",
56
57
  "svelte": "^5.0.0",
57
58
  "svelte-check": "^4.0.0",
59
+ "svelte-highlight": "^7.8.0",
58
60
  "tailwindcss": "^3.4.9",
59
61
  "typescript": "^5.0.0",
60
62
  "typescript-eslint": "^8.15.0",
61
- "vite": "^5.0.11",
63
+ "vite": "^6.0.3",
62
64
  "vitest": "^2.0.4"
63
65
  },
64
66
  "dependencies": {