@invopop/popui 0.1.2 → 0.1.3-6.beta.1
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/AlertDialog.svelte +10 -11
- package/dist/BaseButton.svelte +25 -104
- package/dist/BaseCard.svelte +35 -30
- package/dist/BaseCounter.svelte +11 -8
- package/dist/BaseDropdown.svelte +5 -5
- package/dist/BaseFlag.svelte +5 -3
- package/dist/BaseFlag.svelte.d.ts +1 -0
- package/dist/BaseTable.svelte +16 -16
- package/dist/BaseTable.svelte.d.ts +1 -1
- package/dist/BaseTableActions.svelte +4 -6
- package/dist/BaseTableCellContent.svelte +9 -21
- package/dist/BaseTableCheckbox.svelte +9 -11
- package/dist/BaseTableHeaderContent.svelte +4 -4
- package/dist/BaseTableHeaderOrderBy.svelte +23 -12
- package/dist/BaseTableRow.svelte +12 -10
- package/dist/Breadcrumb.svelte +40 -0
- package/dist/Breadcrumb.svelte.d.ts +4 -0
- package/dist/Breadcrumbs.svelte +5 -30
- package/dist/ButtonFile.svelte +40 -30
- package/dist/ButtonUuidCopy.svelte +6 -3
- package/dist/CardCheckbox.svelte +45 -32
- package/dist/CardCheckbox.svelte.d.ts +1 -1
- package/dist/CardRelation.svelte +12 -13
- package/dist/CompanySelector.svelte +35 -7
- package/dist/CounterWidget.svelte +52 -0
- package/dist/CounterWidget.svelte.d.ts +4 -0
- package/dist/DataListItem.svelte +14 -10
- package/dist/DatePicker.svelte +20 -17
- package/dist/DrawerContext.svelte +207 -15
- package/dist/DrawerContextItem.svelte +50 -50
- package/dist/DrawerContextSeparator.svelte +1 -1
- package/dist/DropdownSelect.svelte +46 -18
- package/dist/EmptyState.svelte +42 -0
- package/dist/EmptyState.svelte.d.ts +4 -0
- package/dist/FeedEvents.svelte +9 -5
- package/dist/FeedIconEvent.svelte +2 -2
- package/dist/FeedIconStatus.svelte +4 -4
- package/dist/FeedItem.svelte +10 -11
- package/dist/FeedItemDetail.svelte +32 -6
- package/dist/FeedViewer.svelte +1 -1
- package/dist/GlobalSearch.svelte +13 -12
- package/dist/InputCheckbox.svelte +2 -5
- package/dist/InputError.svelte +4 -9
- package/dist/InputLabel.svelte +3 -1
- package/dist/InputRadio.svelte +29 -13
- package/dist/InputRadio.svelte.d.ts +1 -1
- package/dist/InputSearch.svelte +8 -8
- package/dist/InputSelect.svelte +32 -31
- package/dist/InputText.svelte +32 -24
- package/dist/InputTextarea.svelte +25 -19
- package/dist/InputToggle.svelte +24 -18
- package/dist/MenuItem.svelte +16 -11
- package/dist/MenuItemCollapsible.svelte +7 -7
- package/dist/Notification.svelte +60 -25
- package/dist/ProfileAvatar.svelte +43 -14
- package/dist/ProgressBar.svelte +42 -0
- package/dist/ProgressBar.svelte.d.ts +4 -0
- package/dist/ProgressBarCircle.svelte +46 -0
- package/dist/ProgressBarCircle.svelte.d.ts +4 -0
- package/dist/SeparatorHorizontal.svelte +2 -2
- package/dist/ShortcutWrapper.svelte +14 -5
- package/dist/StatusLabel.svelte +4 -5
- package/dist/StepIconList.svelte +11 -9
- package/dist/TagBeta.svelte +26 -14
- package/dist/TagProgress.svelte +28 -0
- package/dist/TagProgress.svelte.d.ts +4 -0
- package/dist/TagSearch.svelte +4 -4
- package/dist/TagStatus.svelte +32 -34
- package/dist/TitleMain.svelte +1 -1
- package/dist/TitleSection.svelte +1 -1
- package/dist/UuidCopy.svelte +4 -4
- package/dist/alert-dialog/alert-dialog-action.svelte +8 -4
- package/dist/alert-dialog/alert-dialog-cancel.svelte +7 -3
- package/dist/alert-dialog/alert-dialog-content.svelte +1 -1
- package/dist/alert-dialog/alert-dialog-description.svelte +1 -1
- package/dist/alert-dialog/alert-dialog-footer.svelte +1 -1
- package/dist/alert-dialog/alert-dialog-header.svelte +1 -1
- package/dist/alert-dialog/alert-dialog-overlay.svelte +1 -1
- package/dist/alert-dialog/alert-dialog-title.svelte +1 -1
- package/dist/alert-dialog/alert-dialog-trigger.svelte +4 -2
- package/dist/button/button.svelte +200 -24
- package/dist/button/button.svelte.d.ts +51 -26
- package/dist/clickOutside.d.ts +5 -2
- package/dist/clickOutside.js +9 -3
- package/dist/data-table/cells/boolean-cell.svelte +16 -0
- package/dist/data-table/cells/boolean-cell.svelte.d.ts +8 -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/column-definitions.d.ts +12 -0
- package/dist/data-table/column-definitions.js +40 -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 +50 -0
- package/dist/data-table/data-table-pagination.svelte +144 -0
- package/dist/data-table/data-table-pagination.svelte.d.ts +4 -0
- package/dist/data-table/data-table-svelte.svelte.d.ts +40 -0
- package/dist/data-table/data-table-svelte.svelte.js +111 -0
- package/dist/data-table/data-table-toolbar.svelte +16 -0
- package/dist/data-table/data-table-toolbar.svelte.d.ts +29 -0
- package/dist/data-table/data-table-types.d.ts +66 -0
- package/dist/data-table/data-table-types.js +1 -0
- package/dist/data-table/data-table-view-options.svelte +88 -0
- package/dist/data-table/data-table-view-options.svelte.d.ts +27 -0
- package/dist/data-table/data-table.svelte +303 -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 +36 -0
- package/dist/data-table/table-setup.js +130 -0
- package/dist/data-table/table-styles.d.ts +17 -0
- package/dist/data-table/table-styles.js +48 -0
- package/dist/helpers.d.ts +1 -0
- package/dist/helpers.js +3 -0
- package/dist/index.d.ts +15 -7
- package/dist/index.js +31 -14
- package/dist/range-calendar/range-calendar-cell.svelte +1 -1
- package/dist/range-calendar/range-calendar-day.svelte +11 -12
- package/dist/range-calendar/range-calendar-head-cell.svelte +1 -1
- package/dist/range-calendar/range-calendar-header.svelte +1 -1
- package/dist/range-calendar/range-calendar-month-select.svelte +1 -1
- package/dist/range-calendar/range-calendar-next-button.svelte +3 -3
- package/dist/range-calendar/range-calendar-prev-button.svelte +3 -3
- package/dist/range-calendar/range-calendar.svelte +1 -1
- package/dist/sonner/index.d.ts +1 -0
- package/dist/sonner/index.js +1 -0
- package/dist/sonner/sonner.svelte +44 -0
- package/dist/sonner/sonner.svelte.d.ts +4 -0
- package/dist/svg/CheckBadge.svelte +18 -0
- package/dist/svg/CheckBadge.svelte.d.ts +26 -0
- package/dist/svg/IconDelivery.svelte +86 -0
- package/dist/svg/IconDelivery.svelte.d.ts +20 -0
- package/dist/svg/IconEmpty.svelte +113 -121
- package/dist/svg/IconOrder.svelte +81 -0
- package/dist/svg/IconOrder.svelte.d.ts +20 -0
- package/dist/svg/IconPayment.svelte +86 -0
- package/dist/svg/IconPayment.svelte.d.ts +20 -0
- package/dist/table/table-body.svelte +5 -1
- package/dist/table/table-cell.svelte +4 -2
- package/dist/table/table-footer.svelte +1 -1
- 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/tabs/tabs-list.svelte +8 -2
- package/dist/tabs/tabs-list.svelte.d.ts +4 -1
- package/dist/tabs/tabs-trigger.svelte +5 -3
- package/dist/tabs/tabs-trigger.svelte.d.ts +4 -1
- package/dist/tailwind.theme.css +998 -0
- package/dist/tooltip/tooltip-content.svelte +2 -2
- package/dist/types.d.ts +71 -50
- package/package.json +20 -10
- package/dist/CounterWorkflow.svelte +0 -19
- package/dist/CounterWorkflow.svelte.d.ts +0 -4
- package/dist/DrawerContextWorkspace.svelte +0 -126
- package/dist/DrawerContextWorkspace.svelte.d.ts +0 -4
- package/dist/EmptyStateIcon.svelte +0 -52
- package/dist/EmptyStateIcon.svelte.d.ts +0 -4
- package/dist/EmptyStateIllustration.svelte +0 -66
- package/dist/EmptyStateIllustration.svelte.d.ts +0 -4
- package/dist/FormLayoutModal.svelte +0 -14
- package/dist/FormLayoutModal.svelte.d.ts +0 -4
- package/dist/ProfileSelector.svelte +0 -41
- package/dist/ProfileSelector.svelte.d.ts +0 -4
- package/dist/SectionLayout.svelte +0 -13
- package/dist/SectionLayout.svelte.d.ts +0 -4
- package/dist/tw.theme.d.ts +0 -142
- package/dist/tw.theme.js +0 -158
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
{sideOffset}
|
|
21
21
|
{side}
|
|
22
22
|
class={cn(
|
|
23
|
-
'bg-
|
|
23
|
+
'bg-background-default-negative border border-border-inverse z-50 rounded-md px-2 py-1 text-sm font-medium text-foreground-inverse leading-5 tracking-tight shadow-md',
|
|
24
24
|
className
|
|
25
25
|
)}
|
|
26
26
|
>
|
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
{#snippet child({ props })}
|
|
30
30
|
<div
|
|
31
31
|
class={cn(
|
|
32
|
-
'bg-
|
|
32
|
+
'bg-background-default-negative z-50 size-2.5 rotate-45 rounded-[2px]',
|
|
33
33
|
'data-[side=top]:translate-x-1/2 data-[side=top]:translate-y-[calc(-50%_+_2px)]',
|
|
34
34
|
'data-[side=bottom]:-translate-x-1/2 data-[side=bottom]:-translate-y-[calc(-50%_+_1px)]',
|
|
35
35
|
'data-[side=right]:translate-x-[calc(50%_+_2px)] data-[side=right]:translate-y-1/2',
|
package/dist/types.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ 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 = '
|
|
7
|
-
export type StatusType = 'grey' | 'green' | 'yellow' | 'red' | 'orange' | 'blue' | 'purple' | 'empty';
|
|
6
|
+
export type ButtonVariant = 'warning' | 'primary' | 'secondary' | 'danger' | 'dark' | 'outline' | 'ghost' | 'dark-ghost';
|
|
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 = {
|
|
10
10
|
path: string;
|
|
@@ -12,11 +12,18 @@ export type SidebarIcon = {
|
|
|
12
12
|
title: string;
|
|
13
13
|
iconTheme: IconTheme;
|
|
14
14
|
};
|
|
15
|
-
export type Status = 'success' | 'warning' | 'error';
|
|
15
|
+
export type Status = 'success' | 'warning' | 'error' | 'info' | 'neutral';
|
|
16
16
|
export type SelectOption = {
|
|
17
17
|
label: string;
|
|
18
18
|
value: AnyProp;
|
|
19
19
|
};
|
|
20
|
+
export type DrawerGroup = {
|
|
21
|
+
label: string;
|
|
22
|
+
slug: string;
|
|
23
|
+
emptyIcon?: IconSource;
|
|
24
|
+
emptyTitle?: string;
|
|
25
|
+
emptyDescription?: string;
|
|
26
|
+
};
|
|
20
27
|
export type DrawerOption = SelectOption & {
|
|
21
28
|
separator?: boolean;
|
|
22
29
|
destructive?: boolean;
|
|
@@ -29,6 +36,10 @@ export type DrawerOption = SelectOption & {
|
|
|
29
36
|
sandbox?: boolean;
|
|
30
37
|
iconClass?: string;
|
|
31
38
|
disabled?: boolean;
|
|
39
|
+
locked?: boolean;
|
|
40
|
+
groupBy?: string;
|
|
41
|
+
useAvatar?: boolean;
|
|
42
|
+
action?: Snippet<[DrawerOption]>;
|
|
32
43
|
};
|
|
33
44
|
export type Company = {
|
|
34
45
|
id: string;
|
|
@@ -102,7 +113,6 @@ export type TabItem = {
|
|
|
102
113
|
check?: boolean;
|
|
103
114
|
warning?: boolean;
|
|
104
115
|
};
|
|
105
|
-
export type EmptyStateIcon = 'invoices' | 'contacts' | 'products' | 'pdf' | 'file' | 'no-results';
|
|
106
116
|
export type DataListItem = {
|
|
107
117
|
label: string;
|
|
108
118
|
value: string;
|
|
@@ -153,8 +163,7 @@ export interface BaseButtonProps {
|
|
|
153
163
|
type?: 'button' | 'submit' | 'reset' | null;
|
|
154
164
|
variant?: ButtonVariant;
|
|
155
165
|
disabled?: boolean;
|
|
156
|
-
|
|
157
|
-
big?: boolean;
|
|
166
|
+
size?: 'sm' | 'md' | 'lg';
|
|
158
167
|
dangerIcon?: boolean;
|
|
159
168
|
shortcut?: boolean;
|
|
160
169
|
fullwidth?: boolean;
|
|
@@ -169,14 +178,37 @@ export interface BaseCardProps {
|
|
|
169
178
|
title?: string;
|
|
170
179
|
description?: string;
|
|
171
180
|
type?: 'default' | 'soon' | 'beta';
|
|
172
|
-
enabled?: boolean;
|
|
173
181
|
footer?: Snippet;
|
|
174
182
|
[key: string]: any;
|
|
175
183
|
onclick?: (event: MouseEvent) => void;
|
|
176
184
|
}
|
|
177
185
|
export interface BaseCounterProps {
|
|
178
|
-
|
|
179
|
-
|
|
186
|
+
value: number;
|
|
187
|
+
theme?: 'light' | 'navigation' | 'accent';
|
|
188
|
+
}
|
|
189
|
+
export interface CounterWidgetProps {
|
|
190
|
+
label: string;
|
|
191
|
+
current: number;
|
|
192
|
+
total: number;
|
|
193
|
+
resetDate?: string;
|
|
194
|
+
icon?: IconSource;
|
|
195
|
+
allowOverage?: boolean;
|
|
196
|
+
}
|
|
197
|
+
export interface ProgressBarProps {
|
|
198
|
+
percentage?: number;
|
|
199
|
+
current?: number;
|
|
200
|
+
total?: number;
|
|
201
|
+
allowOverage?: boolean;
|
|
202
|
+
warningPercentage?: number;
|
|
203
|
+
}
|
|
204
|
+
export interface ProgressBarCircleProps {
|
|
205
|
+
progress: number;
|
|
206
|
+
size: number;
|
|
207
|
+
variant?: 'default' | 'dark';
|
|
208
|
+
}
|
|
209
|
+
export interface TagProgressProps {
|
|
210
|
+
progress: number;
|
|
211
|
+
variant?: 'default' | 'dark';
|
|
180
212
|
}
|
|
181
213
|
export interface BaseDropdownProps {
|
|
182
214
|
isOpen?: boolean;
|
|
@@ -189,7 +221,6 @@ export interface BaseDropdownProps {
|
|
|
189
221
|
}
|
|
190
222
|
export interface BaseFlagProps {
|
|
191
223
|
country?: string;
|
|
192
|
-
width?: number;
|
|
193
224
|
}
|
|
194
225
|
export interface BaseTableProps {
|
|
195
226
|
sortBy?: string;
|
|
@@ -248,6 +279,7 @@ export interface BaseTableHeaderOrderByProps {
|
|
|
248
279
|
isActive?: boolean;
|
|
249
280
|
sortDirection: TableSortBy;
|
|
250
281
|
onOrderBy?: (direction: TableSortBy) => void;
|
|
282
|
+
onHide?: () => void;
|
|
251
283
|
}
|
|
252
284
|
export interface BaseTableRowProps {
|
|
253
285
|
row: TableDataRow;
|
|
@@ -270,18 +302,24 @@ export interface BaseTableRowProps {
|
|
|
270
302
|
action: AnyProp;
|
|
271
303
|
}) => void;
|
|
272
304
|
}
|
|
305
|
+
export interface BreadcrumbProps {
|
|
306
|
+
breadcrumb: Breadcrumb;
|
|
307
|
+
isLast: boolean;
|
|
308
|
+
oncopied?: (label: string) => void;
|
|
309
|
+
}
|
|
273
310
|
export interface BreadcrumbsProps {
|
|
274
311
|
breadcrumbs?: Breadcrumb[];
|
|
275
312
|
oncopied?: (label: string) => void;
|
|
276
313
|
}
|
|
314
|
+
export type ButtonFileType = 'pdf' | 'xml' | 'png' | 'generic';
|
|
277
315
|
export interface ButtonFileProps {
|
|
278
|
-
icon?: IconSource;
|
|
279
316
|
name?: string;
|
|
280
317
|
disabled?: boolean;
|
|
281
318
|
date?: string;
|
|
282
|
-
|
|
319
|
+
fileType?: ButtonFileType;
|
|
283
320
|
onPreview?: () => void;
|
|
284
321
|
onDownload?: () => void;
|
|
322
|
+
class?: string;
|
|
285
323
|
[key: string]: any;
|
|
286
324
|
}
|
|
287
325
|
export interface ButtonUuidCopyProps {
|
|
@@ -299,6 +337,7 @@ export interface CardCheckboxProps {
|
|
|
299
337
|
description?: string;
|
|
300
338
|
accentText?: string;
|
|
301
339
|
checked?: boolean;
|
|
340
|
+
disabled?: boolean;
|
|
302
341
|
icon?: IconSource | undefined;
|
|
303
342
|
hideRadio?: boolean;
|
|
304
343
|
footer?: Snippet;
|
|
@@ -317,10 +356,6 @@ export interface CompanySelectorProps {
|
|
|
317
356
|
onAdd?: () => void;
|
|
318
357
|
onSelect?: (company: Company | null) => void;
|
|
319
358
|
}
|
|
320
|
-
export interface CounterWorkflowProps {
|
|
321
|
-
content: number | string;
|
|
322
|
-
variant?: 'default' | 'transparent';
|
|
323
|
-
}
|
|
324
359
|
export interface DataListItemProps {
|
|
325
360
|
label?: string;
|
|
326
361
|
value?: string;
|
|
@@ -342,24 +377,21 @@ export interface DatePickerProps {
|
|
|
342
377
|
export interface DrawerContextProps {
|
|
343
378
|
items?: DrawerOption[];
|
|
344
379
|
multiple?: boolean;
|
|
345
|
-
|
|
380
|
+
draggable?: boolean;
|
|
346
381
|
widthClass?: string;
|
|
347
382
|
onclick?: (value: AnyProp) => void;
|
|
348
383
|
onselect?: (selected: DrawerOption[]) => void;
|
|
384
|
+
onreorder?: (items: DrawerOption[]) => void;
|
|
385
|
+
children?: Snippet;
|
|
386
|
+
groups?: DrawerGroup[];
|
|
349
387
|
}
|
|
350
388
|
export interface DrawerContextItemProps {
|
|
351
389
|
multiple?: boolean;
|
|
352
390
|
item: DrawerOption;
|
|
353
391
|
scrollIfSelected?: boolean;
|
|
354
|
-
workspace?: boolean;
|
|
355
392
|
onclick?: (value: AnyProp) => void;
|
|
356
393
|
onchange?: (item: DrawerOption) => void;
|
|
357
394
|
}
|
|
358
|
-
export interface DrawerContextWorkspaceProps {
|
|
359
|
-
items?: DrawerOption[];
|
|
360
|
-
multiple?: boolean;
|
|
361
|
-
onclick?: (value: AnyProp) => void;
|
|
362
|
-
}
|
|
363
395
|
export interface DropdownSelectProps {
|
|
364
396
|
value?: AnyProp;
|
|
365
397
|
icon?: IconSource | string | undefined;
|
|
@@ -371,19 +403,14 @@ export interface DropdownSelectProps {
|
|
|
371
403
|
widthClass?: string;
|
|
372
404
|
onSelect?: (value: AnyProp) => void;
|
|
373
405
|
}
|
|
374
|
-
export interface
|
|
375
|
-
icon?:
|
|
406
|
+
export interface EmptyStateProps {
|
|
407
|
+
icon?: Snippet;
|
|
408
|
+
iconSource?: IconSource;
|
|
376
409
|
title?: string;
|
|
377
410
|
description?: string;
|
|
378
411
|
check?: boolean;
|
|
379
412
|
children?: Snippet;
|
|
380
413
|
}
|
|
381
|
-
export interface EmptyStateIllustrationProps {
|
|
382
|
-
icon?: EmptyStateIcon | undefined;
|
|
383
|
-
title?: string;
|
|
384
|
-
description?: string;
|
|
385
|
-
children?: Snippet;
|
|
386
|
-
}
|
|
387
414
|
export interface FeedEventsProps {
|
|
388
415
|
events?: FeedEvent[];
|
|
389
416
|
}
|
|
@@ -415,15 +442,13 @@ export interface FeedItemDetailProps {
|
|
|
415
442
|
events?: FeedEvent[];
|
|
416
443
|
idLabel?: string;
|
|
417
444
|
onCopied?: (uuid: string) => void;
|
|
445
|
+
cancelable?: boolean;
|
|
446
|
+
onCancel?: () => void;
|
|
418
447
|
}
|
|
419
448
|
export interface FeedViewerProps {
|
|
420
449
|
items?: FeedItemProps[];
|
|
421
450
|
onView?: (slug: string) => void;
|
|
422
451
|
}
|
|
423
|
-
export interface FormLayoutModalProps {
|
|
424
|
-
children?: Snippet;
|
|
425
|
-
footer?: Snippet;
|
|
426
|
-
}
|
|
427
452
|
export interface GlobalSearchProps {
|
|
428
453
|
collapsed?: boolean;
|
|
429
454
|
onOpen?: () => void;
|
|
@@ -447,8 +472,10 @@ export interface InputLabelProps {
|
|
|
447
472
|
}
|
|
448
473
|
export interface InputRadioProps {
|
|
449
474
|
checked?: boolean;
|
|
475
|
+
disabled?: boolean;
|
|
450
476
|
id?: any;
|
|
451
477
|
name?: string;
|
|
478
|
+
label?: string;
|
|
452
479
|
onchange?: (checked: boolean) => void;
|
|
453
480
|
[key: string]: any;
|
|
454
481
|
}
|
|
@@ -509,6 +536,7 @@ export interface InputToggleProps {
|
|
|
509
536
|
checked?: boolean;
|
|
510
537
|
label?: string;
|
|
511
538
|
onchange?: (checked: boolean) => void;
|
|
539
|
+
[key: string]: any;
|
|
512
540
|
}
|
|
513
541
|
export interface MenuItemProps {
|
|
514
542
|
label?: string;
|
|
@@ -533,29 +561,19 @@ export interface MenuItemCollapsibleProps {
|
|
|
533
561
|
children?: Snippet;
|
|
534
562
|
}
|
|
535
563
|
export interface NotificationProps {
|
|
536
|
-
|
|
564
|
+
title?: string;
|
|
565
|
+
description?: string;
|
|
537
566
|
type?: Status;
|
|
538
567
|
children?: Snippet;
|
|
568
|
+
[key: string]: any;
|
|
539
569
|
}
|
|
540
570
|
export interface ProfileAvatarProps {
|
|
541
571
|
name?: string;
|
|
542
|
-
|
|
543
|
-
large?: boolean;
|
|
572
|
+
variant?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
544
573
|
dark?: boolean;
|
|
545
574
|
picture?: string;
|
|
546
575
|
country?: string;
|
|
547
|
-
|
|
548
|
-
export interface ProfileSelectorProps {
|
|
549
|
-
name?: string;
|
|
550
|
-
orgName?: string;
|
|
551
|
-
picture?: string;
|
|
552
|
-
collapsed?: boolean;
|
|
553
|
-
isOpen?: boolean;
|
|
554
|
-
onclick?: (event: MouseEvent) => void;
|
|
555
|
-
}
|
|
556
|
-
export interface SectionLayoutProps {
|
|
557
|
-
title?: string;
|
|
558
|
-
children?: Snippet;
|
|
576
|
+
icon?: IconSource;
|
|
559
577
|
}
|
|
560
578
|
export interface StatusLabelProps {
|
|
561
579
|
status: FeedItemStatus;
|
|
@@ -563,6 +581,7 @@ export interface StatusLabelProps {
|
|
|
563
581
|
}
|
|
564
582
|
export interface StepIconListProps {
|
|
565
583
|
icons?: StepIcon[];
|
|
584
|
+
[key: string]: any;
|
|
566
585
|
}
|
|
567
586
|
export interface TagSearchProps {
|
|
568
587
|
label?: string;
|
|
@@ -584,6 +603,8 @@ export interface TitleSectionProps {
|
|
|
584
603
|
children?: Snippet;
|
|
585
604
|
}
|
|
586
605
|
export interface ShortcutWrapperProps {
|
|
606
|
+
size?: 'sm' | 'md';
|
|
607
|
+
theme?: 'light' | 'navigation';
|
|
587
608
|
children?: Snippet;
|
|
588
609
|
}
|
|
589
610
|
export interface UuidCopyProps {
|
package/package.json
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@invopop/popui",
|
|
3
3
|
"license": "MIT",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.36.beta.1",
|
|
5
|
+
"repository": {
|
|
6
|
+
"url": "https://github.com/invopop/popui"
|
|
7
|
+
},
|
|
5
8
|
"scripts": {
|
|
6
9
|
"dev": "vite dev",
|
|
10
|
+
"dev:clean": "npm run clean && vite dev",
|
|
11
|
+
"clean": "rm -rf .svelte-kit node_modules/.vite node_modules/.cache",
|
|
12
|
+
"clean:ts": "rm -rf .svelte-kit/tsconfig.json .svelte-kit/types && svelte-kit sync",
|
|
7
13
|
"build": "vite build && npm run package",
|
|
8
14
|
"preview": "vite preview",
|
|
9
15
|
"package": "svelte-kit sync && svelte-package && publint",
|
|
10
16
|
"prepublishOnly": "npm run package",
|
|
11
|
-
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
|
17
|
+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.check.json",
|
|
12
18
|
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
|
|
13
19
|
"test": "vitest",
|
|
14
20
|
"lint": "prettier --plugin-search-dir . --check . && eslint .",
|
|
15
21
|
"format": "prettier --plugin-search-dir . --write .",
|
|
16
22
|
"storybook": "storybook dev -p 6006",
|
|
17
|
-
"build-storybook": "storybook build"
|
|
18
|
-
"build:tailwind": "tailwindcss -i ../styles.css -o ./dist/popui.css --minify",
|
|
19
|
-
"build-web-components": "vite build --config vite.wbc.config.ts",
|
|
20
|
-
"publish-wbc": "npm run build-web-components && cp ./package-wbc.json ./dist/package.json && cd ./dist && npm run publish"
|
|
23
|
+
"build-storybook": "storybook build"
|
|
21
24
|
},
|
|
22
25
|
"exports": {
|
|
23
26
|
".": {
|
|
@@ -28,7 +31,7 @@
|
|
|
28
31
|
"types": "./dist/types.d.ts",
|
|
29
32
|
"default": "./dist/types.d.ts"
|
|
30
33
|
},
|
|
31
|
-
"./
|
|
34
|
+
"./tailwind.theme.css": "./dist/tailwind.theme.css",
|
|
32
35
|
"./package.json": "./dist/package.json"
|
|
33
36
|
},
|
|
34
37
|
"files": [
|
|
@@ -52,6 +55,7 @@
|
|
|
52
55
|
"@tailwindcss/forms": "^0.5.9",
|
|
53
56
|
"@tailwindcss/typography": "^0.5.15",
|
|
54
57
|
"@types/lodash-es": "^4.17.12",
|
|
58
|
+
"@types/sortablejs": "^1.15.9",
|
|
55
59
|
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
56
60
|
"@typescript-eslint/parser": "^6.0.0",
|
|
57
61
|
"eslint": "^8.28.0",
|
|
@@ -67,7 +71,6 @@
|
|
|
67
71
|
"storybook": "^9.1.3",
|
|
68
72
|
"svelte": "^5.0.0",
|
|
69
73
|
"svelte-check": "^4.0.0",
|
|
70
|
-
"svelte-headlessui": "^0.0.32",
|
|
71
74
|
"tailwind-merge": "^3.0.2",
|
|
72
75
|
"tailwindcss": "^4.1.13",
|
|
73
76
|
"tslib": "^2.4.1",
|
|
@@ -80,23 +83,30 @@
|
|
|
80
83
|
"type": "module",
|
|
81
84
|
"dependencies": {
|
|
82
85
|
"@floating-ui/core": "^1.5.1",
|
|
83
|
-
"@invopop/ui-icons": "0.0.
|
|
86
|
+
"@invopop/ui-icons": "^0.0.76",
|
|
84
87
|
"@steeze-ui/heroicons": "^2.2.3",
|
|
85
88
|
"@steeze-ui/svelte-icon": "^1.6.2",
|
|
86
89
|
"@tailwindcss/vite": "^4.1.12",
|
|
90
|
+
"@tanstack/table-core": "^8.21.3",
|
|
87
91
|
"@types/flatpickr": "^3.1.2",
|
|
88
92
|
"bits-ui": "^2.9.4",
|
|
89
93
|
"clsx": "^2.0.0",
|
|
90
94
|
"date-fns": "^2.30.0",
|
|
91
95
|
"dayjs": "^1.11.10",
|
|
96
|
+
"flag-icons": "^7.5.0",
|
|
92
97
|
"flatpickr": "^4.6.13",
|
|
93
98
|
"inter-ui": "^3.19.3",
|
|
94
99
|
"lodash-es": "^4.17.21",
|
|
100
|
+
"mode-watcher": "^1.1.0",
|
|
101
|
+
"sortablejs": "^1.15.6",
|
|
95
102
|
"svelte-floating-ui": "^1.5.8",
|
|
103
|
+
"svelte-headlessui": "^0.0.46",
|
|
96
104
|
"svelte-intersection-observer-action": "^0.0.4",
|
|
97
105
|
"svelte-portal": "^2.2.1",
|
|
106
|
+
"svelte-sonner": "^1.0.5",
|
|
98
107
|
"svelte-transition": "^0.0.17",
|
|
99
108
|
"svelte-viewport-info": "^1.0.2",
|
|
100
|
-
"tailwind-variants": "^1.0.0"
|
|
109
|
+
"tailwind-variants": "^1.0.0",
|
|
110
|
+
"zod": "^4.3.5"
|
|
101
111
|
}
|
|
102
112
|
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import clsx from 'clsx'
|
|
3
|
-
import type { CounterWorkflowProps } from './types'
|
|
4
|
-
|
|
5
|
-
let { content, variant = 'default' }: CounterWorkflowProps = $props()
|
|
6
|
-
|
|
7
|
-
let styles = $derived(
|
|
8
|
-
clsx({
|
|
9
|
-
'bg-white rounded-md': variant === 'default',
|
|
10
|
-
rounded: variant === 'transparent'
|
|
11
|
-
})
|
|
12
|
-
)
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<div
|
|
16
|
-
class="{styles} border border-neutral-200 inline-flex items-center justify-center p-[3px] text-neutral-500 text-sm font-medium h-5 min-w-[20px] tracking-wide tabular-nums slashed-zero lining-nums"
|
|
17
|
-
>
|
|
18
|
-
{content}
|
|
19
|
-
</div>
|
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import type { DrawerContextWorkspaceProps } from './types.ts'
|
|
3
|
-
import DrawerContextItem from './DrawerContextItem.svelte'
|
|
4
|
-
import { Icon } from '@steeze-ui/svelte-icon'
|
|
5
|
-
import { AddCircle, ExternalLink, Workspace } from '@invopop/ui-icons'
|
|
6
|
-
import BaseCounter from './BaseCounter.svelte'
|
|
7
|
-
import EmptyStateIcon from './EmptyStateIcon.svelte'
|
|
8
|
-
import { slide } from 'svelte/transition'
|
|
9
|
-
import { ChevronRight } from '@steeze-ui/heroicons'
|
|
10
|
-
|
|
11
|
-
let { items = [], multiple = false, onclick }: DrawerContextWorkspaceProps = $props()
|
|
12
|
-
let liveOpen = $state(false)
|
|
13
|
-
let sandboxOpen = $state(false)
|
|
14
|
-
let liveItems = $derived(items.filter((i) => !i.sandbox))
|
|
15
|
-
let sandboxItems = $derived(items.filter((i) => i.sandbox))
|
|
16
|
-
let selectedItem = $derived(items.find((i) => i.selected))
|
|
17
|
-
|
|
18
|
-
$effect(() => {
|
|
19
|
-
if (selectedItem) {
|
|
20
|
-
if (selectedItem.sandbox) {
|
|
21
|
-
sandboxOpen = true
|
|
22
|
-
} else {
|
|
23
|
-
liveOpen = true
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
})
|
|
27
|
-
</script>
|
|
28
|
-
|
|
29
|
-
<div class="w-[300px] border border-neutral-200 rounded-md shadow-lg bg-white">
|
|
30
|
-
<div class="max-h-[550px] overflow-hidden rounded-t-md">
|
|
31
|
-
<button
|
|
32
|
-
class="flex items-center justify-between bg-neutral-50 border-b border-neutral-200 rounded-t-sm h-9 py-2 pl-2.5 pr-3 text-base font-medium text-neutral-800 w-full"
|
|
33
|
-
onclick={() => {
|
|
34
|
-
if (liveOpen) return
|
|
35
|
-
liveOpen = true
|
|
36
|
-
sandboxOpen = false
|
|
37
|
-
}}
|
|
38
|
-
>
|
|
39
|
-
<div class="flex items-center space-x-1.5">
|
|
40
|
-
<Icon
|
|
41
|
-
src={ChevronRight}
|
|
42
|
-
class="h-4 w-4 text-neutral-500 transition-all transform {liveOpen ? 'rotate-90' : ''}"
|
|
43
|
-
/>
|
|
44
|
-
<span>Live</span>
|
|
45
|
-
</div>
|
|
46
|
-
{#if liveItems.length}
|
|
47
|
-
<BaseCounter content={liveItems.length} />
|
|
48
|
-
{/if}
|
|
49
|
-
</button>
|
|
50
|
-
{#if liveOpen}
|
|
51
|
-
<div transition:slide class="max-h-[475px] overflow-auto">
|
|
52
|
-
{#if !liveItems.length}
|
|
53
|
-
<div class="h-[182px] overflow-x-hidden">
|
|
54
|
-
<EmptyStateIcon
|
|
55
|
-
icon={Workspace}
|
|
56
|
-
title="No workspaces here"
|
|
57
|
-
description="Create a workspace to start"
|
|
58
|
-
/>
|
|
59
|
-
</div>
|
|
60
|
-
{/if}
|
|
61
|
-
<ul class="p-1 space-y-1">
|
|
62
|
-
{#each liveItems as item}
|
|
63
|
-
<DrawerContextItem {item} {multiple} workspace {onclick} />
|
|
64
|
-
{/each}
|
|
65
|
-
</ul>
|
|
66
|
-
</div>
|
|
67
|
-
{/if}
|
|
68
|
-
<button
|
|
69
|
-
class="flex items-center justify-between bg-neutral-50 border-b border-neutral-200 h-9 py-2 pl-2.5 pr-3 text-base font-medium text-neutral-800 w-full"
|
|
70
|
-
class:border-t={liveOpen}
|
|
71
|
-
onclick={() => {
|
|
72
|
-
if (sandboxOpen) return
|
|
73
|
-
sandboxOpen = true
|
|
74
|
-
liveOpen = false
|
|
75
|
-
}}
|
|
76
|
-
>
|
|
77
|
-
<div class="flex items-center space-x-1.5">
|
|
78
|
-
<Icon
|
|
79
|
-
src={ChevronRight}
|
|
80
|
-
class="h-4 w-4 text-neutral-500 transition-all transform {sandboxOpen ? 'rotate-90' : ''}"
|
|
81
|
-
/>
|
|
82
|
-
<span>Sandbox</span>
|
|
83
|
-
</div>
|
|
84
|
-
{#if sandboxItems.length}
|
|
85
|
-
<BaseCounter content={sandboxItems.length} />
|
|
86
|
-
{/if}
|
|
87
|
-
</button>
|
|
88
|
-
{#if sandboxOpen}
|
|
89
|
-
<div transition:slide class="max-h-[475px] overflow-auto">
|
|
90
|
-
{#if !sandboxItems.length}
|
|
91
|
-
<div class="h-[182px] overflow-x-hidden">
|
|
92
|
-
<EmptyStateIcon
|
|
93
|
-
icon={Workspace}
|
|
94
|
-
title="No workspaces here"
|
|
95
|
-
description="Create a workspace to start"
|
|
96
|
-
/>
|
|
97
|
-
</div>
|
|
98
|
-
{/if}
|
|
99
|
-
<ul class="p-1 space-y-1">
|
|
100
|
-
{#each sandboxItems as item}
|
|
101
|
-
<DrawerContextItem {item} {multiple} workspace {onclick} />
|
|
102
|
-
{/each}
|
|
103
|
-
</ul>
|
|
104
|
-
</div>
|
|
105
|
-
{/if}
|
|
106
|
-
</div>
|
|
107
|
-
|
|
108
|
-
<ul class="px-1 space-y-1 bg-neutral-50 rounded-b border-t border-neutral-100 py-1">
|
|
109
|
-
<li class="pl-1.5 py-1.5 pr-2 hover:bg-neutral-100 rounded-sm">
|
|
110
|
-
<button
|
|
111
|
-
class="flex items-center justify-between w-full"
|
|
112
|
-
onclick={() => {
|
|
113
|
-
onclick?.('add')
|
|
114
|
-
}}
|
|
115
|
-
>
|
|
116
|
-
<div class="flex items-center space-x-1.5">
|
|
117
|
-
<Icon src={AddCircle} class="w-4 h-4 text-neutral-800 flex-shrink-0" />
|
|
118
|
-
<span class="text-neutral-800 tracking-tight text-base font-medium">Create workspace</span
|
|
119
|
-
>
|
|
120
|
-
</div>
|
|
121
|
-
|
|
122
|
-
<Icon src={ExternalLink} class="w-5 h-5 text-neutral-800 flex-shrink-0" />
|
|
123
|
-
</button>
|
|
124
|
-
</li>
|
|
125
|
-
</ul>
|
|
126
|
-
</div>
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { DrawerContextWorkspaceProps } from './types.ts';
|
|
2
|
-
declare const DrawerContextWorkspace: import("svelte").Component<DrawerContextWorkspaceProps, {}, "">;
|
|
3
|
-
type DrawerContextWorkspace = ReturnType<typeof DrawerContextWorkspace>;
|
|
4
|
-
export default DrawerContextWorkspace;
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
<script lang="ts">
|
|
2
|
-
import IconEmpty from './svg/IconEmpty.svelte'
|
|
3
|
-
import { Icon } from '@steeze-ui/svelte-icon'
|
|
4
|
-
import type { EmptyStateIconProps } from './types'
|
|
5
|
-
|
|
6
|
-
let {
|
|
7
|
-
icon = undefined,
|
|
8
|
-
title = '',
|
|
9
|
-
description = '',
|
|
10
|
-
check = false,
|
|
11
|
-
children
|
|
12
|
-
}: EmptyStateIconProps = $props()
|
|
13
|
-
</script>
|
|
14
|
-
|
|
15
|
-
<div
|
|
16
|
-
class="flex flex-col text-center items-center justify-center h-full font-sans gap-1"
|
|
17
|
-
aria-label={title}
|
|
18
|
-
>
|
|
19
|
-
{#if icon}
|
|
20
|
-
<div class="relative h-[120px] w-[352px] max-w-sm">
|
|
21
|
-
<IconEmpty />
|
|
22
|
-
<div class="absolute left-[50%] translate-x-[-50%] top-[50%] translate-y-[-50%]">
|
|
23
|
-
<Icon src={icon} class="h-12 w-12 text-workspace-accent" />
|
|
24
|
-
{#if check}
|
|
25
|
-
<svg
|
|
26
|
-
width="26"
|
|
27
|
-
height="26"
|
|
28
|
-
viewBox="0 0 26 26"
|
|
29
|
-
fill="none"
|
|
30
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
31
|
-
class="absolute top-[-16px] right-[-16px]"
|
|
32
|
-
>
|
|
33
|
-
<path
|
|
34
|
-
d="M13 1C6.3835 1 1 6.3835 1 13C1 19.6165 6.3835 25 13 25C19.6165 25 25 19.6165 25 13C25 6.3835 19.6165 1 13 1Z"
|
|
35
|
-
fill="#169958"
|
|
36
|
-
/>
|
|
37
|
-
<circle cx="13" cy="13" r="10" stroke="white" stroke-opacity="0.4" stroke-width="0.6" />
|
|
38
|
-
<path
|
|
39
|
-
d="M18.1078 9.82205C15.7021 11.6837 13.6627 14.2538 12.0477 17.4584C11.8808 17.7912 11.5495 17.9999 11.1884 17.9999C10.83 18.004 10.4922 17.7885 10.3253 17.4517C9.58119 15.9471 8.7491 14.7239 7.78243 13.7123C7.40457 13.3176 7.40586 12.6764 7.78632 12.2831C8.16418 11.8898 8.78016 11.8898 9.15932 12.2871C9.90083 13.063 10.5699 13.9413 11.182 14.9435C12.7853 12.1888 14.7199 9.92443 16.9509 8.19887C17.3805 7.8675 17.9888 7.9591 18.3084 8.40766C18.628 8.85488 18.5387 9.48934 18.1078 9.82205Z"
|
|
40
|
-
fill="white"
|
|
41
|
-
/>
|
|
42
|
-
</svg>
|
|
43
|
-
{/if}
|
|
44
|
-
</div>
|
|
45
|
-
</div>
|
|
46
|
-
{/if}
|
|
47
|
-
<div class="space-y-0.5">
|
|
48
|
-
<h4 class="font-medium text-base text-neutral-800 tracking-tight">{title}</h4>
|
|
49
|
-
<p class="max-w-xs text-base text-neutral-500 tracking-normal">{description}</p>
|
|
50
|
-
<p>{@render children?.()}</p>
|
|
51
|
-
</div>
|
|
52
|
-
</div>
|