@invopop/popui 0.1.23 → 0.1.25

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.
@@ -6,7 +6,7 @@
6
6
  let { breadcrumb, isLast, oncopied }: BreadcrumbProps = $props()
7
7
 
8
8
  let textStyles = $derived(
9
- clsx('font-sans text-base leading-6 tracking-[-0.16px] whitespace-nowrap', {
9
+ clsx('font-sans text-lg leading-6 tracking-[-0.16px] whitespace-nowrap', {
10
10
  'text-foreground-default-secondary font-normal': !isLast,
11
11
  'text-foreground font-medium': isLast,
12
12
  'cursor-pointer': breadcrumb.copiable
@@ -1,8 +1,9 @@
1
1
  <script lang="ts">
2
- import { Download } from '@invopop/ui-icons'
2
+ import { Download, Invoice } from '@invopop/ui-icons'
3
3
  import Button from './button/button.svelte'
4
4
  import type { ButtonFileProps } from './types.js'
5
5
  import { cn } from './utils.js'
6
+ import { Icon } from '@steeze-ui/svelte-icon'
6
7
 
7
8
  let {
8
9
  name = '',
@@ -34,7 +35,7 @@
34
35
 
35
36
  <button
36
37
  class={cn(
37
- 'flex items-center gap-3 px-2 py-1.5 rounded-[10px] w-full hover:bg-background-default-secondary cursor-pointer',
38
+ 'flex items-center gap-3 p-2 rounded-[10px] w-full hover:bg-background-default-secondary cursor-pointer',
38
39
  disabled && 'opacity-30 pointer-events-none',
39
40
  className
40
41
  )}
@@ -44,7 +45,11 @@
44
45
  >
45
46
  <div class="flex items-center gap-[10px] flex-1 min-w-0">
46
47
  <div class={fileAvatarStyles}>
47
- {fileType}
48
+ {#if fileType === 'generic'}
49
+ <Icon src={Invoice} class="size-4 text-icon" />
50
+ {:else}
51
+ {fileType}
52
+ {/if}
48
53
  </div>
49
54
  <div class="flex flex-col text-start min-w-0 flex-1">
50
55
  <div class="text-sm font-medium text-foreground truncate w-full">
@@ -188,7 +188,7 @@
188
188
  onclick={() => {
189
189
  isOpen = !isOpen
190
190
  }}
191
- class="{styles} datepicker-trigger w-full py-1.25 pl-7 pr-8 border border-border-default-secondary rounded-lg text-foreground placeholder-foreground text-base cursor-pointer"
191
+ class="{styles} datepicker-trigger w-full py-1.25 pl-7 pr-2 text-left border border-border-default-secondary rounded-lg text-foreground placeholder-foreground text-base cursor-pointer"
192
192
  >
193
193
  {selectedLabel}
194
194
  </button>
@@ -79,7 +79,7 @@
79
79
  {/snippet}
80
80
 
81
81
  <div
82
- class="{widthClass} border border-border rounded-2xl shadow-lg bg-background flex flex-col py-1 max-h-[480px] list-none"
82
+ class="{widthClass} border border-border rounded-2xl shadow-lg bg-background flex flex-col py-1 max-h-[460px] list-none"
83
83
  >
84
84
  {@render children?.()}
85
85
 
@@ -140,7 +140,7 @@
140
140
  {/if}
141
141
 
142
142
  {#if ungroupedItems.length}
143
- <div class="flex-shrink-0 overflow-y-auto max-h-[474px]">
143
+ <div class="flex-shrink-0 overflow-y-auto max-h-[454px]">
144
144
  {#each ungroupedItems as item}
145
145
  {@render drawerItem(item)}
146
146
  {/each}
@@ -11,10 +11,13 @@
11
11
  let { collapsed = false, onOpen }: GlobalSearchProps = $props()
12
12
 
13
13
  const styles = $derived(
14
- clsx('cursor-pointer flex items-center border border-border-inverse-default rounded-lg h-8', {
15
- 'gap-1 px-2 py-1.5 w-full hover:bg-background-selected-inverse': !collapsed,
16
- 'p-2': collapsed
17
- })
14
+ clsx(
15
+ 'cursor-pointer flex items-center border border-border-inverse-default rounded-lg box-border',
16
+ {
17
+ 'gap-1 px-2 py-1.5 w-full hover:bg-background-selected-inverse h-8': !collapsed,
18
+ 'p-2 size-8': collapsed
19
+ }
20
+ )
18
21
  )
19
22
 
20
23
  function onKeyDown(event: KeyboardEvent) {
@@ -39,9 +39,10 @@
39
39
  { 'text-foreground-inverse font-medium': !isFolderItem },
40
40
  { 'text-foreground-inverse-secondary': isFolderItem && !active },
41
41
  {
42
- 'border border-transparent hover:bg-background-selected-inverse group p-2': collapsedSidebar
42
+ 'border border-transparent hover:bg-background-selected-inverse group p-[7px] size-8':
43
+ collapsedSidebar
43
44
  },
44
- { 'w-full px-2 py-1.5': !collapsedSidebar },
45
+ { 'w-full px-2 py-1.5 h-8': !collapsedSidebar },
45
46
  {
46
47
  'bg-background-selected-inverse text-white': active
47
48
  },
@@ -109,7 +110,7 @@
109
110
  onmouseleave={handleBlur}
110
111
  onclick={handleClick}
111
112
  title={label}
112
- class="cursor-pointer {itemStyles} text-base border border-transparent flex items-center justify-between hover:text-white focus:text-white rounded-lg h-8"
113
+ class="cursor-pointer {itemStyles} text-base border border-transparent flex items-center justify-between hover:text-white focus:text-white rounded-lg"
113
114
  >
114
115
  <span class="flex items-center space-x-1.5">
115
116
  {#if resolvedIcon}
@@ -56,7 +56,7 @@
56
56
  <img
57
57
  src={picture}
58
58
  alt={name}
59
- class="absolute inset-0 size-full object-cover bg-background-default-bold"
59
+ class="absolute inset-0 size-full object-cover"
60
60
  onerror={() => {
61
61
  picture = ''
62
62
  }}
@@ -379,7 +379,7 @@
379
379
  --color-accent-50: var(--color-base-accent, var(--color-green-50));
380
380
  --color-accent-60: color-mix(in srgb, var(--color-accent-50) 84%, black);
381
381
  --color-accent-70: color-mix(in srgb, var(--color-accent-50) 68%, black);
382
- --color-accent-80: color-mix(in srgb, var(--color-accent-50) 52%, black);
382
+ --color-accent-80: var(--color-base-accent-bg, color-mix(in srgb, var(--color-accent-50) 52%, black));
383
383
  --color-accent-alpha-5: color-mix(in srgb, var(--color-accent-50) 5%, transparent);
384
384
  --color-accent-alpha-10: color-mix(in srgb, var(--color-accent-50) 10%, transparent);
385
385
  --color-accent-alpha-20: color-mix(in srgb, var(--color-accent-50) 20%, transparent);
package/dist/types.d.ts CHANGED
@@ -285,11 +285,12 @@ export interface BreadcrumbsProps {
285
285
  breadcrumbs?: Breadcrumb[];
286
286
  oncopied?: (label: string) => void;
287
287
  }
288
+ export type ButtonFileType = 'pdf' | 'xml' | 'png' | 'generic';
288
289
  export interface ButtonFileProps {
289
290
  name?: string;
290
291
  disabled?: boolean;
291
292
  date?: string;
292
- fileType?: 'pdf' | 'xml' | 'png';
293
+ fileType?: ButtonFileType;
293
294
  onPreview?: () => void;
294
295
  onDownload?: () => void;
295
296
  class?: string;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@invopop/popui",
3
3
  "license": "MIT",
4
- "version": "0.1.23",
4
+ "version": "0.1.25",
5
5
  "scripts": {
6
6
  "dev": "vite dev",
7
7
  "dev:clean": "npm run clean && vite dev",