@invopop/popui 0.1.35 → 0.1.41
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.
- package/dist/BaseButton.svelte +4 -0
- package/dist/BaseDropdown.svelte +42 -3
- package/dist/BaseDropdown.svelte.d.ts +1 -0
- package/dist/BaseTableHeaderOrderBy.svelte +35 -12
- package/dist/ButtonSearch.svelte +82 -0
- package/dist/ButtonSearch.svelte.d.ts +4 -0
- package/dist/ButtonUuidCopy.svelte +1 -0
- package/dist/DatePicker.svelte +96 -27
- package/dist/DatePicker.svelte.d.ts +5 -1
- package/dist/DrawerContext.svelte +443 -34
- package/dist/DrawerContextItem.svelte +36 -29
- package/dist/DropdownSelect.svelte +68 -18
- package/dist/DropdownSelect.svelte.d.ts +4 -1
- package/dist/DropdownSelectGroup.svelte +15 -0
- package/dist/DropdownSelectGroup.svelte.d.ts +7 -0
- package/dist/EmptyState.svelte +6 -2
- package/dist/InputSearch.svelte +45 -5
- package/dist/InputSelect.svelte +12 -3
- package/dist/InputText.svelte +25 -8
- package/dist/InputToggle.svelte +23 -6
- package/dist/StepIcon.svelte +35 -0
- package/dist/StepIcon.svelte.d.ts +4 -0
- package/dist/StepIconList.svelte +24 -31
- package/dist/TagStatus.svelte +1 -1
- package/dist/button/button.svelte +34 -3
- package/dist/button/button.svelte.d.ts +29 -0
- package/dist/clickOutside.d.ts +5 -2
- package/dist/clickOutside.js +9 -3
- package/dist/data-table/cells/boolean-cell.svelte +29 -0
- package/dist/data-table/cells/boolean-cell.svelte.d.ts +8 -0
- package/dist/data-table/cells/cell-skeleton.svelte +35 -0
- package/dist/data-table/cells/cell-skeleton.svelte.d.ts +4 -0
- package/dist/data-table/cells/currency-cell.svelte +10 -0
- package/dist/data-table/cells/currency-cell.svelte.d.ts +8 -0
- package/dist/data-table/cells/date-cell.svelte +10 -0
- package/dist/data-table/cells/date-cell.svelte.d.ts +8 -0
- package/dist/data-table/cells/tag-cell.svelte +12 -0
- package/dist/data-table/cells/tag-cell.svelte.d.ts +8 -0
- package/dist/data-table/cells/text-cell.svelte +10 -0
- package/dist/data-table/cells/text-cell.svelte.d.ts +8 -0
- package/dist/data-table/cells/uuid-cell.svelte +17 -0
- package/dist/data-table/cells/uuid-cell.svelte.d.ts +8 -0
- package/dist/data-table/column-definitions.d.ts +12 -0
- package/dist/data-table/column-definitions.js +42 -0
- package/dist/data-table/column-sizing-helpers.d.ts +6 -0
- package/dist/data-table/column-sizing-helpers.js +24 -0
- package/dist/data-table/create-columns.d.ts +3 -0
- package/dist/data-table/create-columns.js +67 -0
- package/dist/data-table/data-table-cell.svelte +94 -0
- package/dist/data-table/data-table-cell.svelte.d.ts +25 -0
- package/dist/data-table/data-table-header-cell.svelte +188 -0
- package/dist/data-table/data-table-header-cell.svelte.d.ts +25 -0
- package/dist/data-table/data-table-helpers.d.ts +10 -0
- package/dist/data-table/data-table-helpers.js +124 -0
- package/dist/data-table/data-table-pagination.svelte +221 -0
- package/dist/data-table/data-table-pagination.svelte.d.ts +4 -0
- package/dist/data-table/data-table-row.svelte +57 -0
- package/dist/data-table/data-table-row.svelte.d.ts +25 -0
- package/dist/data-table/data-table-svelte.svelte.d.ts +40 -0
- package/dist/data-table/data-table-svelte.svelte.js +115 -0
- package/dist/data-table/data-table-toolbar.svelte +19 -0
- package/dist/data-table/data-table-toolbar.svelte.d.ts +32 -0
- package/dist/data-table/data-table-types.d.ts +196 -0
- package/dist/data-table/data-table-types.js +1 -0
- package/dist/data-table/data-table-view-options.svelte +126 -0
- package/dist/data-table/data-table-view-options.svelte.d.ts +29 -0
- package/dist/data-table/data-table.svelte +437 -0
- package/dist/data-table/data-table.svelte.d.ts +25 -0
- package/dist/data-table/flex-render.svelte +40 -0
- package/dist/data-table/flex-render.svelte.d.ts +33 -0
- package/dist/data-table/index.d.ts +13 -0
- package/dist/data-table/index.js +13 -0
- package/dist/data-table/render-helpers.d.ts +90 -0
- package/dist/data-table/render-helpers.js +99 -0
- package/dist/data-table/table-setup.d.ts +39 -0
- package/dist/data-table/table-setup.js +151 -0
- package/dist/data-table/table-styles.d.ts +17 -0
- package/dist/data-table/table-styles.js +70 -0
- package/dist/drawer-dnd-helpers.d.ts +30 -0
- package/dist/drawer-dnd-helpers.js +72 -0
- package/dist/helpers.d.ts +1 -0
- package/dist/helpers.js +3 -0
- package/dist/index.d.ts +15 -3
- package/dist/index.js +28 -5
- package/dist/skeleton/index.d.ts +5 -0
- package/dist/skeleton/index.js +7 -0
- package/dist/skeleton/skeleton-avatar.svelte +14 -0
- package/dist/skeleton/skeleton-avatar.svelte.d.ts +7 -0
- package/dist/skeleton/skeleton-card.svelte +22 -0
- package/dist/skeleton/skeleton-card.svelte.d.ts +9 -0
- package/dist/skeleton/skeleton-list.svelte +25 -0
- package/dist/skeleton/skeleton-list.svelte.d.ts +8 -0
- package/dist/skeleton/skeleton.svelte +17 -0
- package/dist/skeleton/skeleton.svelte.d.ts +5 -0
- package/dist/svg/IconDelivery.svelte +1 -1
- package/dist/svg/IconOrder.svelte +1 -1
- package/dist/svg/IconPayment.svelte +1 -1
- package/dist/table/table-cell.svelte +4 -2
- package/dist/table/table-head.svelte +4 -2
- package/dist/table/table-header.svelte +1 -1
- package/dist/table/table-row.svelte +4 -2
- package/dist/table/table.svelte +2 -2
- package/dist/tailwind.theme.css +30 -6
- package/dist/tooltip/index.d.ts +2 -1
- package/dist/tooltip/index.js +3 -2
- package/dist/tooltip/tooltip-auto-hide.svelte +31 -0
- package/dist/tooltip/tooltip-auto-hide.svelte.d.ts +7 -0
- package/dist/types.d.ts +51 -73
- package/package.json +14 -8
- package/dist/BaseTable.svelte +0 -391
- package/dist/BaseTable.svelte.d.ts +0 -4
- package/dist/BaseTableCellContent.svelte +0 -58
- package/dist/BaseTableCellContent.svelte.d.ts +0 -4
- package/dist/BaseTableCheckbox.svelte +0 -33
- package/dist/BaseTableCheckbox.svelte.d.ts +0 -4
- package/dist/BaseTableHeaderContent.svelte +0 -67
- package/dist/BaseTableHeaderContent.svelte.d.ts +0 -4
- package/dist/BaseTableRow.svelte +0 -127
- package/dist/BaseTableRow.svelte.d.ts +0 -4
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '../utils'
|
|
3
|
+
import SkeletonAvatar from './skeleton-avatar.svelte'
|
|
4
|
+
import SkeletonList from './skeleton-list.svelte'
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
class: className = '',
|
|
8
|
+
avatarSize = 48,
|
|
9
|
+
lines = 2,
|
|
10
|
+
width = 250
|
|
11
|
+
}: {
|
|
12
|
+
class?: string
|
|
13
|
+
avatarSize?: number
|
|
14
|
+
lines?: number
|
|
15
|
+
width?: number
|
|
16
|
+
} = $props()
|
|
17
|
+
</script>
|
|
18
|
+
|
|
19
|
+
<div class={cn('flex items-center space-x-4', className)}>
|
|
20
|
+
<SkeletonAvatar size={avatarSize} />
|
|
21
|
+
<SkeletonList rows={lines} width={width} />
|
|
22
|
+
</div>
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
type $$ComponentProps = {
|
|
2
|
+
class?: string;
|
|
3
|
+
avatarSize?: number;
|
|
4
|
+
lines?: number;
|
|
5
|
+
width?: number;
|
|
6
|
+
};
|
|
7
|
+
declare const SkeletonCard: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
8
|
+
type SkeletonCard = ReturnType<typeof SkeletonCard>;
|
|
9
|
+
export default SkeletonCard;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn } from '../utils'
|
|
3
|
+
import Skeleton from './skeleton.svelte'
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
class: className = '',
|
|
7
|
+
rows = 5,
|
|
8
|
+
width = 250
|
|
9
|
+
}: {
|
|
10
|
+
class?: string
|
|
11
|
+
rows?: number
|
|
12
|
+
width?: number | string
|
|
13
|
+
} = $props()
|
|
14
|
+
|
|
15
|
+
const widthStyle = typeof width === 'number' ? `${width}px` : width
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<div class={cn('space-y-2', className)}>
|
|
19
|
+
{#each Array(rows) as _, i}
|
|
20
|
+
<Skeleton
|
|
21
|
+
class="h-4"
|
|
22
|
+
style="width: {widthStyle}; max-width: {i === rows - 1 ? '80%' : '100%'}"
|
|
23
|
+
/>
|
|
24
|
+
{/each}
|
|
25
|
+
</div>
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { cn, type WithElementRef, type WithoutChildren } from '../utils'
|
|
3
|
+
import type { HTMLAttributes } from 'svelte/elements'
|
|
4
|
+
|
|
5
|
+
let {
|
|
6
|
+
ref = $bindable(null),
|
|
7
|
+
class: className,
|
|
8
|
+
...restProps
|
|
9
|
+
}: WithoutChildren<WithElementRef<HTMLAttributes<HTMLDivElement>>> = $props()
|
|
10
|
+
</script>
|
|
11
|
+
|
|
12
|
+
<div
|
|
13
|
+
bind:this={ref}
|
|
14
|
+
data-slot="skeleton"
|
|
15
|
+
class={cn('bg-background-default-tertiary animate-pulse rounded-md', className)}
|
|
16
|
+
{...restProps}
|
|
17
|
+
/>
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { type WithElementRef } from '../utils';
|
|
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;
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<svg class={classes} xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 97 117">
|
|
6
6
|
<g filter="url(#a)">
|
|
7
7
|
<foreignObject width="97" height="119" x="0" y="-2">
|
|
8
|
-
<div style="backdrop-filter:blur(10px);clip-path:url(#b);height:100%;width:100%"
|
|
8
|
+
<div style="backdrop-filter:blur(10px);clip-path:url(#b);height:100%;width:100%"></div>
|
|
9
9
|
</foreignObject>
|
|
10
10
|
<g data-figma-bg-blur-radius="20">
|
|
11
11
|
<rect width="57" height="79" x="20" y="18" fill="#fff" rx="6" />
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<svg class={classes} xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 97 117">
|
|
6
6
|
<g filter="url(#a)">
|
|
7
7
|
<foreignObject width="97" height="119" x="0" y="-2">
|
|
8
|
-
<div style="backdrop-filter:blur(10px);clip-path:url(#b);height:100%;width:100%"
|
|
8
|
+
<div style="backdrop-filter:blur(10px);clip-path:url(#b);height:100%;width:100%"></div>
|
|
9
9
|
</foreignObject>
|
|
10
10
|
<g data-figma-bg-blur-radius="20">
|
|
11
11
|
<rect width="57" height="79" x="20" y="18" fill="#fff" rx="6" />
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<svg class={classes} xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 97 117">
|
|
6
6
|
<g filter="url(#a)">
|
|
7
7
|
<foreignObject width="97" height="119" x="0" y="-2">
|
|
8
|
-
<div style="backdrop-filter:blur(10px);clip-path:url(#b);height:100%;width:100%"
|
|
8
|
+
<div style="backdrop-filter:blur(10px);clip-path:url(#b);height:100%;width:100%"></div>
|
|
9
9
|
</foreignObject>
|
|
10
10
|
<g data-figma-bg-blur-radius="20">
|
|
11
11
|
<rect width="57" height="79" x="20" y="18" fill="#fff" rx="6" />
|
|
@@ -7,7 +7,8 @@
|
|
|
7
7
|
let {
|
|
8
8
|
ref = $bindable(null),
|
|
9
9
|
class: className,
|
|
10
|
-
children
|
|
10
|
+
children,
|
|
11
|
+
...restProps
|
|
11
12
|
}: WithElementRef<HTMLTdAttributes> = $props()
|
|
12
13
|
</script>
|
|
13
14
|
|
|
@@ -15,9 +16,10 @@
|
|
|
15
16
|
bind:this={ref}
|
|
16
17
|
data-slot="table-cell"
|
|
17
18
|
class={cn(
|
|
18
|
-
'py-[
|
|
19
|
+
'py-[9px] [&:has([role=menu])]:py-0 [&:has([data-uuid-copy])]:py-0 pl-3 pr-3 align-middle text-foreground font-normal text-base [&:has([role=menu])]:pl-1 [&:has([role=menu])]:bg-white [&:has([type=checkbox])]:bg-white',
|
|
19
20
|
className
|
|
20
21
|
)}
|
|
22
|
+
{...restProps}
|
|
21
23
|
onclick={bubble('click')}
|
|
22
24
|
onkeydown={bubble('keydown')}
|
|
23
25
|
>
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
let {
|
|
5
5
|
ref = $bindable(null),
|
|
6
6
|
class: className,
|
|
7
|
-
children
|
|
7
|
+
children,
|
|
8
|
+
...restProps
|
|
8
9
|
}: WithElementRef<HTMLThAttributes> = $props()
|
|
9
10
|
</script>
|
|
10
11
|
|
|
@@ -12,9 +13,10 @@
|
|
|
12
13
|
bind:this={ref}
|
|
13
14
|
data-slot="table-head"
|
|
14
15
|
class={cn(
|
|
15
|
-
'text-foreground-default-secondary text-base font-normal text-left align-middle [&:has([role=checkbox])]:
|
|
16
|
+
'text-foreground-default-secondary text-base font-normal text-left align-middle [&:has([role=checkbox])]:p-0 [&:has(button)]:p-0 px-3 bg-background shadow-[inset_0_-1px_0_0_var(--color-border)]',
|
|
16
17
|
className
|
|
17
18
|
)}
|
|
19
|
+
{...restProps}
|
|
18
20
|
>
|
|
19
21
|
{@render children?.()}
|
|
20
22
|
</th>
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
<thead
|
|
16
16
|
bind:this={ref}
|
|
17
17
|
data-slot="table-header"
|
|
18
|
-
class={cn('
|
|
18
|
+
class={cn('sticky top-0 z-20 bg-background', className)}
|
|
19
19
|
onclick={bubble('click')}
|
|
20
20
|
onkeydown={bubble('keydown')}
|
|
21
21
|
>
|
|
@@ -10,7 +10,8 @@
|
|
|
10
10
|
oncontextmenu,
|
|
11
11
|
onkeydown,
|
|
12
12
|
onmouseover,
|
|
13
|
-
onfocus
|
|
13
|
+
onfocus,
|
|
14
|
+
...restProps
|
|
14
15
|
}: WithElementRef<HTMLAttributes<HTMLTableRowElement>> = $props()
|
|
15
16
|
</script>
|
|
16
17
|
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
bind:this={ref}
|
|
19
20
|
data-slot="table-row"
|
|
20
21
|
class={cn(
|
|
21
|
-
'data-[state=selected]:bg-background-
|
|
22
|
+
'group/row hover:bg-background-default-secondary data-[state=selected]:bg-background-selected data-[state=checked]:bg-background-selected data-[state=error]:bg-background-critical data-[state=warning]:bg-background-warning data-[state=success]:bg-background-selected h-10 data-[state=selected]:hover:bg-background-selected data-[state=checked]:hover:bg-background-selected data-[state=error]:hover:bg-background-critical data-[state=warning]:hover:bg-background-warning data-[state=success]:hover:bg-background-selected data-[focused=true]:bg-background-default-secondary',
|
|
22
23
|
className
|
|
23
24
|
)}
|
|
24
25
|
{oncontextmenu}
|
|
@@ -26,6 +27,7 @@
|
|
|
26
27
|
{onkeydown}
|
|
27
28
|
{onmouseover}
|
|
28
29
|
{onfocus}
|
|
30
|
+
{...restProps}
|
|
29
31
|
>
|
|
30
32
|
{@render children?.()}
|
|
31
33
|
</tr>
|
package/dist/table/table.svelte
CHANGED
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
}: WithElementRef<HTMLTableAttributes> = $props()
|
|
9
9
|
</script>
|
|
10
10
|
|
|
11
|
-
<div data-slot="table-container" class="relative w-full">
|
|
12
|
-
<table bind:this={ref} data-slot="table" class={cn('w-full
|
|
11
|
+
<div data-slot="table-container" class="relative w-full h-full">
|
|
12
|
+
<table bind:this={ref} data-slot="table" class={cn('caption-bottom w-full', className)}>
|
|
13
13
|
{@render children?.()}
|
|
14
14
|
</table>
|
|
15
15
|
</div>
|
package/dist/tailwind.theme.css
CHANGED
|
@@ -617,11 +617,11 @@
|
|
|
617
617
|
|
|
618
618
|
--color-background-attention-default: var(--color-attention-alpha-10);
|
|
619
619
|
|
|
620
|
-
--color-background-warning-default: var(--color-warning-alpha-
|
|
620
|
+
--color-background-warning-default: var(--color-warning-alpha-5);
|
|
621
621
|
--color-background-warning-bold: var(--color-warning-60);
|
|
622
622
|
--color-background-warning-inverse: var(--color-warning-50);
|
|
623
623
|
|
|
624
|
-
--color-background-critical-default: var(--color-critical-alpha-
|
|
624
|
+
--color-background-critical-default: var(--color-critical-alpha-5);
|
|
625
625
|
--color-background-critical-bold: var(--color-critical-50);
|
|
626
626
|
--color-background-critical-inverse: var(--color-critical-40);
|
|
627
627
|
|
|
@@ -672,7 +672,7 @@
|
|
|
672
672
|
--color-icon-inverse-secondary: var(--color-neutral-white-alpha-40);
|
|
673
673
|
--color-icon-inverse-bold: var(--color-neutral-white-alpha-100);
|
|
674
674
|
|
|
675
|
-
--color-icon-selected-default: var(--color-
|
|
675
|
+
--color-icon-selected-default: var(--color-accent-50);
|
|
676
676
|
--color-icon-accent-default: var(--color-accent-50);
|
|
677
677
|
|
|
678
678
|
--color-icon-success-default: var(--color-positive-50);
|
|
@@ -799,7 +799,10 @@
|
|
|
799
799
|
|
|
800
800
|
/* Font Family */
|
|
801
801
|
--font-sans: Inter, sans-serif;
|
|
802
|
-
--font-mono: CommitMono, ui-monospace, Menlo, Monaco, Consolas, "Ubuntu Mono", "Roboto Mono", "DejaVu Sans Mono", monospace;
|
|
802
|
+
--font-mono: "Geist Mono", CommitMono, ui-monospace, Menlo, Monaco, Consolas, "Ubuntu Mono", "Roboto Mono", "DejaVu Sans Mono", monospace;
|
|
803
|
+
|
|
804
|
+
/* Font Features for Monospace */
|
|
805
|
+
--font-mono-features: "ss02" on, "ss08" on, "ss09" on;
|
|
803
806
|
|
|
804
807
|
/* Typography */
|
|
805
808
|
--text-2xl: 24px;
|
|
@@ -884,7 +887,7 @@
|
|
|
884
887
|
--color-background-selected-default-hover: var(--color-accent-alpha-30);
|
|
885
888
|
--color-background-selected-default-press: var(--color-accent-alpha-40);
|
|
886
889
|
--color-background-selected-inverse: var(--color-white-10);
|
|
887
|
-
--color-background-selected-inverse-hover: var(--color-
|
|
890
|
+
--color-background-selected-inverse-hover: var(--color-white-20);
|
|
888
891
|
--color-background-selected-inverse-press: var(--color-white-30);
|
|
889
892
|
|
|
890
893
|
--color-background-accent-default: var(--color-accent-60);
|
|
@@ -954,7 +957,7 @@
|
|
|
954
957
|
--color-icon-inverse-secondary: var(--color-neutral-white-alpha-40);
|
|
955
958
|
--color-icon-inverse-bold: var(--color-neutral-white-alpha-100);
|
|
956
959
|
|
|
957
|
-
--color-icon-selected-default: var(--color-
|
|
960
|
+
--color-icon-selected-default: var(--color-accent-50);
|
|
958
961
|
--color-icon-accent-default: var(--color-white);
|
|
959
962
|
--color-icon-success-default: var(--color-positive-50);
|
|
960
963
|
|
|
@@ -986,3 +989,24 @@
|
|
|
986
989
|
--color-icon-status-void: var(--color-neutral-40);
|
|
987
990
|
}
|
|
988
991
|
}
|
|
992
|
+
|
|
993
|
+
/* Custom utility for monospace font with OpenType features */
|
|
994
|
+
@utility font-mono {
|
|
995
|
+
font-family: var(--font-mono);
|
|
996
|
+
font-variant-numeric: lining-nums tabular-nums;
|
|
997
|
+
font-feature-settings: var(--font-mono-features);
|
|
998
|
+
}
|
|
999
|
+
|
|
1000
|
+
/* Pulse icon animation */
|
|
1001
|
+
@keyframes pulse-fill {
|
|
1002
|
+
0%, 100% { fill: var(--color-background-default-tertiary); }
|
|
1003
|
+
40% { fill: var(--color-accent-50); }
|
|
1004
|
+
}
|
|
1005
|
+
|
|
1006
|
+
.pulse-icon .r0 {
|
|
1007
|
+
animation: pulse-fill 1.6s ease-in-out infinite 0s;
|
|
1008
|
+
}
|
|
1009
|
+
|
|
1010
|
+
.pulse-icon .r1 {
|
|
1011
|
+
animation: pulse-fill 1.6s ease-in-out infinite 0.16s;
|
|
1012
|
+
}
|
package/dist/tooltip/index.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Tooltip as TooltipPrimitive } from 'bits-ui';
|
|
2
2
|
import Trigger from './tooltip-trigger.svelte';
|
|
3
3
|
import Content from './tooltip-content.svelte';
|
|
4
|
+
import AutoHide from './tooltip-auto-hide.svelte';
|
|
4
5
|
declare const Root: import("svelte").Component<TooltipPrimitive.RootProps, {}, "open">;
|
|
5
6
|
declare const Provider: import("svelte").Component<TooltipPrimitive.ProviderProps, {}, "">;
|
|
6
7
|
declare const Portal: import("svelte").Component<TooltipPrimitive.PortalProps, {}, "">;
|
|
7
|
-
export { Root, Trigger, Content, Provider, Portal, Root as Tooltip, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider, Portal as TooltipPortal };
|
|
8
|
+
export { Root, Trigger, Content, Provider, Portal, AutoHide, Root as Tooltip, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider, Portal as TooltipPortal, AutoHide as TooltipAutoHide };
|
package/dist/tooltip/index.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { Tooltip as TooltipPrimitive } from 'bits-ui';
|
|
2
2
|
import Trigger from './tooltip-trigger.svelte';
|
|
3
3
|
import Content from './tooltip-content.svelte';
|
|
4
|
+
import AutoHide from './tooltip-auto-hide.svelte';
|
|
4
5
|
const Root = TooltipPrimitive.Root;
|
|
5
6
|
const Provider = TooltipPrimitive.Provider;
|
|
6
7
|
const Portal = TooltipPrimitive.Portal;
|
|
7
|
-
export { Root, Trigger, Content, Provider, Portal,
|
|
8
|
+
export { Root, Trigger, Content, Provider, Portal, AutoHide,
|
|
8
9
|
//
|
|
9
|
-
Root as Tooltip, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider, Portal as TooltipPortal };
|
|
10
|
+
Root as Tooltip, Content as TooltipContent, Trigger as TooltipTrigger, Provider as TooltipProvider, Portal as TooltipPortal, AutoHide as TooltipAutoHide };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { Tooltip, TooltipProvider } from './'
|
|
3
|
+
import { onMount, onDestroy } from 'svelte'
|
|
4
|
+
import type { Snippet } from 'svelte'
|
|
5
|
+
|
|
6
|
+
let {
|
|
7
|
+
children
|
|
8
|
+
}: {
|
|
9
|
+
children: Snippet
|
|
10
|
+
} = $props()
|
|
11
|
+
|
|
12
|
+
let isOpen = $state(false)
|
|
13
|
+
|
|
14
|
+
function handleScroll() {
|
|
15
|
+
isOpen = false
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
onMount(() => {
|
|
19
|
+
window.addEventListener('scroll', handleScroll, true)
|
|
20
|
+
})
|
|
21
|
+
|
|
22
|
+
onDestroy(() => {
|
|
23
|
+
window.removeEventListener('scroll', handleScroll, true)
|
|
24
|
+
})
|
|
25
|
+
</script>
|
|
26
|
+
|
|
27
|
+
<TooltipProvider>
|
|
28
|
+
<Tooltip bind:open={isOpen}>
|
|
29
|
+
{@render children()}
|
|
30
|
+
</Tooltip>
|
|
31
|
+
</TooltipProvider>
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Snippet } from 'svelte';
|
|
2
|
+
type $$ComponentProps = {
|
|
3
|
+
children: Snippet;
|
|
4
|
+
};
|
|
5
|
+
declare const TooltipAutoHide: import("svelte").Component<$$ComponentProps, {}, "">;
|
|
6
|
+
type TooltipAutoHide = ReturnType<typeof TooltipAutoHide>;
|
|
7
|
+
export default TooltipAutoHide;
|
package/dist/types.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { IconSource } from '@steeze-ui/svelte-icon';
|
|
|
3
3
|
import type { Snippet } from 'svelte';
|
|
4
4
|
export type IconTheme = 'default' | 'solid' | 'mini';
|
|
5
5
|
export type IconPosition = 'right' | 'left';
|
|
6
|
-
export type ButtonVariant = 'warning' | 'primary' | 'secondary' | 'danger' | 'dark' | 'outline' | 'ghost' | 'dark-ghost';
|
|
6
|
+
export type ButtonVariant = 'warning' | 'primary' | 'secondary' | 'danger' | 'dark' | 'outline' | 'ghost' | 'selected' | 'dark-ghost';
|
|
7
7
|
export type StatusType = 'grey' | 'green' | 'yellow' | 'red' | 'orange' | 'blue' | 'purple' | 'olive' | 'teal' | 'crimson' | 'blueViolet' | 'steelBlue' | 'empty';
|
|
8
8
|
export type AnyProp = string | number | object | boolean;
|
|
9
9
|
export type SidebarIcon = {
|
|
@@ -23,6 +23,7 @@ export type DrawerGroup = {
|
|
|
23
23
|
emptyIcon?: IconSource;
|
|
24
24
|
emptyTitle?: string;
|
|
25
25
|
emptyDescription?: string;
|
|
26
|
+
hideCounter?: boolean;
|
|
26
27
|
};
|
|
27
28
|
export type DrawerOption = SelectOption & {
|
|
28
29
|
separator?: boolean;
|
|
@@ -39,7 +40,7 @@ export type DrawerOption = SelectOption & {
|
|
|
39
40
|
locked?: boolean;
|
|
40
41
|
groupBy?: string;
|
|
41
42
|
useAvatar?: boolean;
|
|
42
|
-
action?: Snippet
|
|
43
|
+
action?: Snippet<[DrawerOption]>;
|
|
43
44
|
};
|
|
44
45
|
export type Company = {
|
|
45
46
|
id: string;
|
|
@@ -168,6 +169,8 @@ export interface BaseButtonProps {
|
|
|
168
169
|
shortcut?: boolean;
|
|
169
170
|
fullwidth?: boolean;
|
|
170
171
|
notification?: boolean;
|
|
172
|
+
stackedLeft?: boolean;
|
|
173
|
+
stackedRight?: boolean;
|
|
171
174
|
children?: Snippet;
|
|
172
175
|
[key: string]: any;
|
|
173
176
|
onclick?: (event: MouseEvent) => void;
|
|
@@ -215,6 +218,7 @@ export interface BaseDropdownProps {
|
|
|
215
218
|
fullWidth?: boolean;
|
|
216
219
|
placement?: Placement;
|
|
217
220
|
matchParentWidth?: boolean;
|
|
221
|
+
usePortal?: boolean;
|
|
218
222
|
trigger?: Snippet;
|
|
219
223
|
children?: Snippet;
|
|
220
224
|
[key: string]: any;
|
|
@@ -222,84 +226,20 @@ export interface BaseDropdownProps {
|
|
|
222
226
|
export interface BaseFlagProps {
|
|
223
227
|
country?: string;
|
|
224
228
|
}
|
|
225
|
-
export interface BaseTableProps {
|
|
226
|
-
sortBy?: string;
|
|
227
|
-
sortDirection?: TableSortBy;
|
|
228
|
-
fields?: TableField[];
|
|
229
|
-
data?: TableDataRow[];
|
|
230
|
-
getActions?: TableActionProp;
|
|
231
|
-
groupLabel?: TableGroupLabelProp;
|
|
232
|
-
disableRowClick?: boolean;
|
|
233
|
-
hideCounter?: boolean;
|
|
234
|
-
selectable?: boolean;
|
|
235
|
-
selectedRows?: TableDataRow[];
|
|
236
|
-
selectedTrackedBy?: string;
|
|
237
|
-
hideSelectAll?: boolean;
|
|
238
|
-
disableKeyboardNavigation?: boolean;
|
|
239
|
-
[key: string]: any;
|
|
240
|
-
ontableEndReached?: () => void;
|
|
241
|
-
onSelectAllRows?: (selected: boolean) => void;
|
|
242
|
-
onRowClick?: (row: TableDataRow) => void;
|
|
243
|
-
onRowRightClick?: (row: TableDataRow) => void;
|
|
244
|
-
onRowNewTabClick?: (row: TableDataRow) => void;
|
|
245
|
-
onCopied?: (uuid: string) => void;
|
|
246
|
-
onOrderBy?: (field: string, direction: TableSortBy) => void;
|
|
247
|
-
onClickAction?: (args: {
|
|
248
|
-
row: TableDataRow;
|
|
249
|
-
action: AnyProp;
|
|
250
|
-
}) => void;
|
|
251
|
-
}
|
|
252
229
|
export interface BaseTableActionsProps {
|
|
253
230
|
actions: TableAction[];
|
|
254
231
|
onclick?: (value: AnyProp) => void;
|
|
255
232
|
}
|
|
256
|
-
export interface BaseTableCellContentProps {
|
|
257
|
-
field: TableField;
|
|
258
|
-
data?: unknown;
|
|
259
|
-
isMobile?: boolean;
|
|
260
|
-
badge?: Badge | null;
|
|
261
|
-
status?: FeedItemStatus | null;
|
|
262
|
-
icons?: TableIcon[] | null;
|
|
263
|
-
onCopied?: (uuid: string) => void;
|
|
264
|
-
}
|
|
265
|
-
export interface BaseTableCheckboxProps {
|
|
266
|
-
checkboxButton?: HTMLButtonElement | undefined;
|
|
267
|
-
checked?: boolean;
|
|
268
|
-
hidden?: boolean;
|
|
269
|
-
indeterminate?: boolean;
|
|
270
|
-
onChecked?: (checked: boolean) => void;
|
|
271
|
-
}
|
|
272
|
-
export interface BaseTableHeaderProps {
|
|
273
|
-
field: TableField;
|
|
274
|
-
sortBy?: string;
|
|
275
|
-
sortDirection: TableSortBy;
|
|
276
|
-
onOrderBy?: (field: string, direction: TableSortBy) => void;
|
|
277
|
-
}
|
|
278
233
|
export interface BaseTableHeaderOrderByProps {
|
|
279
234
|
isActive?: boolean;
|
|
280
235
|
sortDirection: TableSortBy;
|
|
281
236
|
onOrderBy?: (direction: TableSortBy) => void;
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
selectable?: boolean;
|
|
289
|
-
selected?: boolean;
|
|
290
|
-
selectionMode?: string;
|
|
291
|
-
selectedTrackedBy?: string;
|
|
292
|
-
selectedRows?: TableDataRow[];
|
|
293
|
-
onclick?: (event: MouseEvent) => void;
|
|
294
|
-
onmouseover?: () => void;
|
|
295
|
-
oncontextmenu?: () => void;
|
|
296
|
-
onfocus?: () => void;
|
|
297
|
-
onChecked?: (checked: boolean) => void;
|
|
298
|
-
onCopied?: (uuid: string) => void;
|
|
299
|
-
onClickAction?: (args: {
|
|
300
|
-
row: TableDataRow;
|
|
301
|
-
action: AnyProp;
|
|
302
|
-
}) => void;
|
|
237
|
+
onHide?: () => void;
|
|
238
|
+
onFilter?: () => void;
|
|
239
|
+
onFreeze?: () => void;
|
|
240
|
+
isFrozen?: boolean;
|
|
241
|
+
showSortOptions?: boolean;
|
|
242
|
+
showFilterOption?: boolean;
|
|
303
243
|
}
|
|
304
244
|
export interface BreadcrumbProps {
|
|
305
245
|
breadcrumb: Breadcrumb;
|
|
@@ -329,6 +269,17 @@ export interface ButtonUuidCopyProps {
|
|
|
329
269
|
disabled?: boolean;
|
|
330
270
|
oncopied?: (label: string) => void;
|
|
331
271
|
}
|
|
272
|
+
export interface ButtonSearchProps {
|
|
273
|
+
value?: string;
|
|
274
|
+
expanded?: boolean;
|
|
275
|
+
placeholder?: string;
|
|
276
|
+
size?: 'sm' | 'md';
|
|
277
|
+
loading?: boolean;
|
|
278
|
+
autofocus?: boolean;
|
|
279
|
+
oninput?: (value: string) => void;
|
|
280
|
+
onExpand?: () => void;
|
|
281
|
+
onCollapse?: () => void;
|
|
282
|
+
}
|
|
332
283
|
export interface CardCheckboxProps {
|
|
333
284
|
id?: any;
|
|
334
285
|
name?: string;
|
|
@@ -365,20 +316,29 @@ export interface DataListItemProps {
|
|
|
365
316
|
}
|
|
366
317
|
export interface DatePickerProps {
|
|
367
318
|
label?: string;
|
|
368
|
-
|
|
319
|
+
placement?: Placement;
|
|
369
320
|
from?: string;
|
|
370
321
|
to?: string;
|
|
371
322
|
onSelect?: (date: {
|
|
372
323
|
from: string;
|
|
373
324
|
to: string;
|
|
374
325
|
}) => void;
|
|
326
|
+
stackLeft?: boolean;
|
|
327
|
+
stackRight?: boolean;
|
|
328
|
+
icon?: IconSource | string;
|
|
329
|
+
iconTheme?: IconTheme;
|
|
330
|
+
isOpen?: boolean;
|
|
375
331
|
}
|
|
376
332
|
export interface DrawerContextProps {
|
|
377
333
|
items?: DrawerOption[];
|
|
378
334
|
multiple?: boolean;
|
|
335
|
+
draggable?: boolean;
|
|
379
336
|
widthClass?: string;
|
|
337
|
+
collapsibleGroups?: boolean;
|
|
380
338
|
onclick?: (value: AnyProp) => void;
|
|
381
339
|
onselect?: (selected: DrawerOption[]) => void;
|
|
340
|
+
onreorder?: (items: DrawerOption[]) => void;
|
|
341
|
+
ondropitem?: (groups: Record<string, DrawerOption[]>) => void;
|
|
382
342
|
children?: Snippet;
|
|
383
343
|
groups?: DrawerGroup[];
|
|
384
344
|
}
|
|
@@ -399,6 +359,10 @@ export interface DropdownSelectProps {
|
|
|
399
359
|
fullWidth?: boolean;
|
|
400
360
|
widthClass?: string;
|
|
401
361
|
onSelect?: (value: AnyProp) => void;
|
|
362
|
+
onOpenChange?: (isOpen: boolean) => void;
|
|
363
|
+
stackLeft?: boolean;
|
|
364
|
+
stackRight?: boolean;
|
|
365
|
+
multipleLabel?: string;
|
|
402
366
|
}
|
|
403
367
|
export interface EmptyStateProps {
|
|
404
368
|
icon?: Snippet;
|
|
@@ -482,6 +446,8 @@ export interface InputSearchProps {
|
|
|
482
446
|
placeholder?: string;
|
|
483
447
|
icon?: IconSource;
|
|
484
448
|
focusOnLoad?: boolean;
|
|
449
|
+
size?: 'xs' | 'sm' | 'md';
|
|
450
|
+
loading?: boolean;
|
|
485
451
|
oninput?: (value: string) => void;
|
|
486
452
|
onclick?: (event: MouseEvent) => void;
|
|
487
453
|
onfocus?: (event: FocusEvent) => void;
|
|
@@ -500,6 +466,7 @@ export interface InputSelectProps {
|
|
|
500
466
|
placeholder?: string;
|
|
501
467
|
disablePlaceholder?: boolean;
|
|
502
468
|
errorText?: string;
|
|
469
|
+
size?: 'xs' | 'sm' | 'md';
|
|
503
470
|
onchange?: (value: string) => void;
|
|
504
471
|
[key: string]: any;
|
|
505
472
|
}
|
|
@@ -511,6 +478,10 @@ export interface InputTextProps {
|
|
|
511
478
|
disabled?: boolean;
|
|
512
479
|
value?: string | number;
|
|
513
480
|
focusOnLoad?: boolean;
|
|
481
|
+
stackLeft?: boolean;
|
|
482
|
+
stackRight?: boolean;
|
|
483
|
+
widthClass?: string;
|
|
484
|
+
size?: 'xs' | 'sm' | 'md';
|
|
514
485
|
oninput?: (value: string) => void;
|
|
515
486
|
onfocus?: (event: FocusEvent) => void;
|
|
516
487
|
onblur?: (event: FocusEvent) => void;
|
|
@@ -580,6 +551,12 @@ export interface StepIconListProps {
|
|
|
580
551
|
icons?: StepIcon[];
|
|
581
552
|
[key: string]: any;
|
|
582
553
|
}
|
|
554
|
+
export interface StepIconProps {
|
|
555
|
+
name?: string;
|
|
556
|
+
showMask?: boolean;
|
|
557
|
+
tooltipContent?: Snippet;
|
|
558
|
+
children: Snippet;
|
|
559
|
+
}
|
|
583
560
|
export interface TagSearchProps {
|
|
584
561
|
label?: string;
|
|
585
562
|
icon?: IconSource | string | undefined;
|
|
@@ -617,3 +594,4 @@ export interface UuidCopyProps {
|
|
|
617
594
|
onCopied?: (uuid: string) => void;
|
|
618
595
|
onLinkClick?: (uuid: string) => void;
|
|
619
596
|
}
|
|
597
|
+
export type { DataTableColumn, DataTableProps, CellType, TextCellConfig, BooleanCellConfig, TagCellConfig, DateCellConfig, CurrencyCellConfig, CellConfig } from './data-table/data-table-types.js';
|
package/package.json
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@invopop/popui",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.41",
|
|
5
|
+
"repository": {
|
|
6
|
+
"url": "https://github.com/invopop/popui"
|
|
7
|
+
},
|
|
5
8
|
"scripts": {
|
|
6
9
|
"dev": "vite dev",
|
|
7
10
|
"dev:clean": "npm run clean && vite dev",
|
|
@@ -11,16 +14,13 @@
|
|
|
11
14
|
"preview": "vite preview",
|
|
12
15
|
"package": "svelte-kit sync && svelte-package && publint",
|
|
13
16
|
"prepublishOnly": "npm run package",
|
|
14
|
-
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
17
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.check.json",
|
|
15
18
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
16
19
|
"test": "vitest",
|
|
17
20
|
"lint": "prettier --plugin-search-dir . --check . && eslint .",
|
|
18
21
|
"format": "prettier --plugin-search-dir . --write .",
|
|
19
22
|
"storybook": "storybook dev -p 6006",
|
|
20
|
-
"build-storybook": "storybook build"
|
|
21
|
-
"build:tailwind": "tailwindcss -i ../styles.css -o ./dist/popui.css --minify",
|
|
22
|
-
"build-web-components": "vite build --config vite.wbc.config.ts",
|
|
23
|
-
"publish-wbc": "npm run build-web-components && cp ./package-wbc.json ./dist/package.json && cd ./dist && npm run publish"
|
|
23
|
+
"build-storybook": "storybook build"
|
|
24
24
|
},
|
|
25
25
|
"exports": {
|
|
26
26
|
".": {
|
|
@@ -81,11 +81,15 @@
|
|
|
81
81
|
"types": "./dist/index.d.ts",
|
|
82
82
|
"type": "module",
|
|
83
83
|
"dependencies": {
|
|
84
|
+
"@atlaskit/pragmatic-drag-and-drop": "^1.7.7",
|
|
85
|
+
"@atlaskit/pragmatic-drag-and-drop-auto-scroll": "^2.1.5",
|
|
86
|
+
"@atlaskit/pragmatic-drag-and-drop-hitbox": "^1.1.0",
|
|
84
87
|
"@floating-ui/core": "^1.5.1",
|
|
85
|
-
"@invopop/ui-icons": "0.0.
|
|
88
|
+
"@invopop/ui-icons": "^0.0.78",
|
|
86
89
|
"@steeze-ui/heroicons": "^2.2.3",
|
|
87
90
|
"@steeze-ui/svelte-icon": "^1.6.2",
|
|
88
91
|
"@tailwindcss/vite": "^4.1.12",
|
|
92
|
+
"@tanstack/table-core": "^8.21.3",
|
|
89
93
|
"@types/flatpickr": "^3.1.2",
|
|
90
94
|
"bits-ui": "^2.9.4",
|
|
91
95
|
"clsx": "^2.0.0",
|
|
@@ -103,6 +107,8 @@
|
|
|
103
107
|
"svelte-sonner": "^1.0.5",
|
|
104
108
|
"svelte-transition": "^0.0.17",
|
|
105
109
|
"svelte-viewport-info": "^1.0.2",
|
|
106
|
-
"tailwind-variants": "^1.0.0"
|
|
110
|
+
"tailwind-variants": "^1.0.0",
|
|
111
|
+
"tailwindcss-animate": "^1.0.7",
|
|
112
|
+
"zod": "^4.3.5"
|
|
107
113
|
}
|
|
108
114
|
}
|