@immich/ui 0.17.3 → 0.18.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.
@@ -33,7 +33,7 @@
33
33
  shape="round"
34
34
  color={hidden ? 'primary' : 'secondary'}
35
35
  variant="filled"
36
- class="absolute bottom-2 right-4 m-2 opacity-100 md:hidden"
36
+ class="absolute bottom-2 end-4 m-2 opacity-100 md:hidden"
37
37
  aria-label="Menu"
38
38
  />
39
39
  <Scrollable
@@ -42,7 +42,7 @@
42
42
 
43
43
  hidden ? 'hidden' : '',
44
44
  className,
45
- noBorder || 'border-r',
45
+ noBorder || 'border-e',
46
46
  )}
47
47
  >
48
48
  {@render children?.()}
@@ -39,11 +39,11 @@
39
39
  },
40
40
  // match with Button `iconSize` variants
41
41
  paddingRight: {
42
- tiny: 'pr-6',
43
- small: 'pr-8',
44
- medium: 'pr-10',
45
- large: 'pr-12',
46
- giant: 'pr-14',
42
+ tiny: 'pe-6',
43
+ small: 'pe-8',
44
+ medium: 'pe-10',
45
+ large: 'pe-12',
46
+ giant: 'pe-14',
47
47
  },
48
48
  textSize: {
49
49
  tiny: 'text-xs',
@@ -59,10 +59,10 @@
59
59
 
60
60
  <Dialog.Root {open} onOpenChange={onChange}>
61
61
  <Dialog.Portal>
62
- <Dialog.Overlay class="absolute left-0 top-0 flex h-dvh w-screen backdrop-blur" />
62
+ <Dialog.Overlay class="absolute start-0 top-0 flex h-dvh w-screen backdrop-blur" />
63
63
  <Dialog.Content
64
64
  class={cleanClass(
65
- 'absolute left-0 top-0 flex h-dvh w-screen items-center justify-center overflow-hidden sm:p-4',
65
+ 'absolute start-0 top-0 flex h-dvh w-screen items-center justify-center overflow-hidden sm:p-4',
66
66
  )}
67
67
  >
68
68
  <div class={cleanClass('flex h-full w-full flex-col items-center justify-center ')}>
@@ -7,5 +7,5 @@
7
7
  </script>
8
8
 
9
9
  <div class="text-sm transition-all duration-200 md:text-sm">
10
- <p class="py-2 pl-4 uppercase">{title}</p>
10
+ <p class="py-2 ps-4 uppercase">{title}</p>
11
11
  </div>
@@ -27,15 +27,15 @@
27
27
  let active = $derived(activeOverride ?? isActive());
28
28
 
29
29
  const styles = tv({
30
- base: 'flex w-full place-items-center gap-4 transition-[padding] delay-100 duration-100 hover:bg-subtle hover:text-primary group-hover:sm:px-5 md:rounded-r-full md:px-5',
30
+ base: 'flex w-full place-items-center gap-4 transition-[padding] delay-100 duration-100 hover:bg-subtle hover:text-primary group-hover:sm:px-5 md:rounded-e-full md:px-5',
31
31
  variants: {
32
32
  active: {
33
33
  true: 'bg-primary/10 text-primary',
34
34
  false: '',
35
35
  },
36
36
  variant: {
37
- default: 'py-3 pl-5',
38
- compact: 'py-2 pl-3',
37
+ default: 'py-3 ps-5',
38
+ compact: 'py-2 ps-3',
39
39
  },
40
40
  },
41
41
  });
@@ -29,18 +29,20 @@
29
29
  .immich-scrollbar::-webkit-scrollbar {
30
30
  width: 8px;
31
31
  height: 8px;
32
+ visibility: hidden;
32
33
  }
33
-
34
34
  /* Track */
35
35
  .immich-scrollbar::-webkit-scrollbar-track {
36
36
  background: #f1f1f1;
37
37
  border-radius: 16px;
38
+ visibility: hidden;
38
39
  }
39
40
 
40
41
  /* Handle */
41
42
  .immich-scrollbar::-webkit-scrollbar-thumb {
42
43
  background: rgba(85, 86, 87, 0.408);
43
44
  border-radius: 16px;
45
+ visibility: hidden;
44
46
  }
45
47
 
46
48
  /* Handle on hover */
@@ -48,4 +50,18 @@
48
50
  background: #4250afad;
49
51
  border-radius: 16px;
50
52
  }
53
+
54
+ /*
55
+ * Show scrollbar elements when hovering or actively scrolling
56
+ * Applies to the main scrollbar, track, and thumb components
57
+ * Changes visibility from hidden to visible on user interaction
58
+ */
59
+ .immich-scrollbar:hover::-webkit-scrollbar,
60
+ .immich-scrollbar:active::-webkit-scrollbar,
61
+ .immich-scrollbar:hover::-webkit-scrollbar-track,
62
+ .immich-scrollbar:active::-webkit-scrollbar-track,
63
+ .immich-scrollbar:hover::-webkit-scrollbar-thumb,
64
+ .immich-scrollbar:active::-webkit-scrollbar-thumb {
65
+ visibility: visible;
66
+ }
51
67
  </style>
@@ -41,7 +41,7 @@
41
41
  variants: {
42
42
  fillColor: {
43
43
  default: 'bg-gray-300 dark:bg-gray-400',
44
- primary: 'bg-primary',
44
+ primary: 'bg-primary/50 dark:bg-primary',
45
45
  secondary: 'bg-dark/50',
46
46
  success: 'bg-success/50',
47
47
  danger: 'bg-danger/50',
@@ -87,7 +87,7 @@
87
87
  >
88
88
  <Switch.Thumb>
89
89
  {#snippet child()}
90
- <div class={cleanClass(label && 'flex justify-between gap-1')}>
90
+ <div class={cleanClass(label && 'flex items-center justify-between gap-1')}>
91
91
  {#if label}
92
92
  <Label id={labelId} for={inputId} {label} {...labelProps} />
93
93
  {/if}
@@ -140,7 +140,7 @@
140
140
  <span>{label}</span>
141
141
  </div>
142
142
  {#if selected}
143
- <div class="ml-auto">
143
+ <div class="ms-auto">
144
144
  <Icon icon={mdiCheck} />
145
145
  </div>
146
146
  {/if}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@immich/ui",
3
- "version": "0.17.3",
3
+ "version": "0.18.0",
4
4
  "license": "GNU Affero General Public License version 3",
5
5
  "scripts": {
6
6
  "create": "node scripts/create.js",