@invopop/popui 0.1.3 → 0.1.4-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 +29 -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 +81 -22
- package/dist/DropdownSelectGroup.svelte +15 -0
- package/dist/DropdownSelectGroup.svelte.d.ts +7 -0
- 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 +224 -24
- package/dist/button/button.svelte.d.ts +77 -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 +173 -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 +74 -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 +324 -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 +49 -0
- package/dist/helpers.d.ts +1 -0
- package/dist/helpers.js +3 -0
- package/dist/index.d.ts +16 -7
- package/dist/index.js +33 -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 +76 -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 -171
- package/dist/tw.theme.js +0 -188
|
@@ -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,12 +163,13 @@ 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;
|
|
161
170
|
notification?: boolean;
|
|
171
|
+
stackedLeft?: boolean;
|
|
172
|
+
stackedRight?: boolean;
|
|
162
173
|
children?: Snippet;
|
|
163
174
|
[key: string]: any;
|
|
164
175
|
onclick?: (event: MouseEvent) => void;
|
|
@@ -169,14 +180,37 @@ export interface BaseCardProps {
|
|
|
169
180
|
title?: string;
|
|
170
181
|
description?: string;
|
|
171
182
|
type?: 'default' | 'soon' | 'beta';
|
|
172
|
-
enabled?: boolean;
|
|
173
183
|
footer?: Snippet;
|
|
174
184
|
[key: string]: any;
|
|
175
185
|
onclick?: (event: MouseEvent) => void;
|
|
176
186
|
}
|
|
177
187
|
export interface BaseCounterProps {
|
|
178
|
-
|
|
179
|
-
|
|
188
|
+
value: number;
|
|
189
|
+
theme?: 'light' | 'navigation' | 'accent';
|
|
190
|
+
}
|
|
191
|
+
export interface CounterWidgetProps {
|
|
192
|
+
label: string;
|
|
193
|
+
current: number;
|
|
194
|
+
total: number;
|
|
195
|
+
resetDate?: string;
|
|
196
|
+
icon?: IconSource;
|
|
197
|
+
allowOverage?: boolean;
|
|
198
|
+
}
|
|
199
|
+
export interface ProgressBarProps {
|
|
200
|
+
percentage?: number;
|
|
201
|
+
current?: number;
|
|
202
|
+
total?: number;
|
|
203
|
+
allowOverage?: boolean;
|
|
204
|
+
warningPercentage?: number;
|
|
205
|
+
}
|
|
206
|
+
export interface ProgressBarCircleProps {
|
|
207
|
+
progress: number;
|
|
208
|
+
size: number;
|
|
209
|
+
variant?: 'default' | 'dark';
|
|
210
|
+
}
|
|
211
|
+
export interface TagProgressProps {
|
|
212
|
+
progress: number;
|
|
213
|
+
variant?: 'default' | 'dark';
|
|
180
214
|
}
|
|
181
215
|
export interface BaseDropdownProps {
|
|
182
216
|
isOpen?: boolean;
|
|
@@ -189,7 +223,6 @@ export interface BaseDropdownProps {
|
|
|
189
223
|
}
|
|
190
224
|
export interface BaseFlagProps {
|
|
191
225
|
country?: string;
|
|
192
|
-
width?: number;
|
|
193
226
|
}
|
|
194
227
|
export interface BaseTableProps {
|
|
195
228
|
sortBy?: string;
|
|
@@ -248,6 +281,7 @@ export interface BaseTableHeaderOrderByProps {
|
|
|
248
281
|
isActive?: boolean;
|
|
249
282
|
sortDirection: TableSortBy;
|
|
250
283
|
onOrderBy?: (direction: TableSortBy) => void;
|
|
284
|
+
onHide?: () => void;
|
|
251
285
|
}
|
|
252
286
|
export interface BaseTableRowProps {
|
|
253
287
|
row: TableDataRow;
|
|
@@ -270,18 +304,24 @@ export interface BaseTableRowProps {
|
|
|
270
304
|
action: AnyProp;
|
|
271
305
|
}) => void;
|
|
272
306
|
}
|
|
307
|
+
export interface BreadcrumbProps {
|
|
308
|
+
breadcrumb: Breadcrumb;
|
|
309
|
+
isLast: boolean;
|
|
310
|
+
oncopied?: (label: string) => void;
|
|
311
|
+
}
|
|
273
312
|
export interface BreadcrumbsProps {
|
|
274
313
|
breadcrumbs?: Breadcrumb[];
|
|
275
314
|
oncopied?: (label: string) => void;
|
|
276
315
|
}
|
|
316
|
+
export type ButtonFileType = 'pdf' | 'xml' | 'png' | 'generic';
|
|
277
317
|
export interface ButtonFileProps {
|
|
278
|
-
icon?: IconSource;
|
|
279
318
|
name?: string;
|
|
280
319
|
disabled?: boolean;
|
|
281
320
|
date?: string;
|
|
282
|
-
|
|
321
|
+
fileType?: ButtonFileType;
|
|
283
322
|
onPreview?: () => void;
|
|
284
323
|
onDownload?: () => void;
|
|
324
|
+
class?: string;
|
|
285
325
|
[key: string]: any;
|
|
286
326
|
}
|
|
287
327
|
export interface ButtonUuidCopyProps {
|
|
@@ -299,6 +339,7 @@ export interface CardCheckboxProps {
|
|
|
299
339
|
description?: string;
|
|
300
340
|
accentText?: string;
|
|
301
341
|
checked?: boolean;
|
|
342
|
+
disabled?: boolean;
|
|
302
343
|
icon?: IconSource | undefined;
|
|
303
344
|
hideRadio?: boolean;
|
|
304
345
|
footer?: Snippet;
|
|
@@ -317,10 +358,6 @@ export interface CompanySelectorProps {
|
|
|
317
358
|
onAdd?: () => void;
|
|
318
359
|
onSelect?: (company: Company | null) => void;
|
|
319
360
|
}
|
|
320
|
-
export interface CounterWorkflowProps {
|
|
321
|
-
content: number | string;
|
|
322
|
-
variant?: 'default' | 'transparent';
|
|
323
|
-
}
|
|
324
361
|
export interface DataListItemProps {
|
|
325
362
|
label?: string;
|
|
326
363
|
value?: string;
|
|
@@ -342,24 +379,21 @@ export interface DatePickerProps {
|
|
|
342
379
|
export interface DrawerContextProps {
|
|
343
380
|
items?: DrawerOption[];
|
|
344
381
|
multiple?: boolean;
|
|
345
|
-
|
|
382
|
+
draggable?: boolean;
|
|
346
383
|
widthClass?: string;
|
|
347
384
|
onclick?: (value: AnyProp) => void;
|
|
348
385
|
onselect?: (selected: DrawerOption[]) => void;
|
|
386
|
+
onreorder?: (items: DrawerOption[]) => void;
|
|
387
|
+
children?: Snippet;
|
|
388
|
+
groups?: DrawerGroup[];
|
|
349
389
|
}
|
|
350
390
|
export interface DrawerContextItemProps {
|
|
351
391
|
multiple?: boolean;
|
|
352
392
|
item: DrawerOption;
|
|
353
393
|
scrollIfSelected?: boolean;
|
|
354
|
-
workspace?: boolean;
|
|
355
394
|
onclick?: (value: AnyProp) => void;
|
|
356
395
|
onchange?: (item: DrawerOption) => void;
|
|
357
396
|
}
|
|
358
|
-
export interface DrawerContextWorkspaceProps {
|
|
359
|
-
items?: DrawerOption[];
|
|
360
|
-
multiple?: boolean;
|
|
361
|
-
onclick?: (value: AnyProp) => void;
|
|
362
|
-
}
|
|
363
397
|
export interface DropdownSelectProps {
|
|
364
398
|
value?: AnyProp;
|
|
365
399
|
icon?: IconSource | string | undefined;
|
|
@@ -370,20 +404,18 @@ export interface DropdownSelectProps {
|
|
|
370
404
|
fullWidth?: boolean;
|
|
371
405
|
widthClass?: string;
|
|
372
406
|
onSelect?: (value: AnyProp) => void;
|
|
407
|
+
stackLeft?: boolean;
|
|
408
|
+
stackRight?: boolean;
|
|
409
|
+
multipleLabel?: string;
|
|
373
410
|
}
|
|
374
|
-
export interface
|
|
375
|
-
icon?:
|
|
411
|
+
export interface EmptyStateProps {
|
|
412
|
+
icon?: Snippet;
|
|
413
|
+
iconSource?: IconSource;
|
|
376
414
|
title?: string;
|
|
377
415
|
description?: string;
|
|
378
416
|
check?: boolean;
|
|
379
417
|
children?: Snippet;
|
|
380
418
|
}
|
|
381
|
-
export interface EmptyStateIllustrationProps {
|
|
382
|
-
icon?: EmptyStateIcon | undefined;
|
|
383
|
-
title?: string;
|
|
384
|
-
description?: string;
|
|
385
|
-
children?: Snippet;
|
|
386
|
-
}
|
|
387
419
|
export interface FeedEventsProps {
|
|
388
420
|
events?: FeedEvent[];
|
|
389
421
|
}
|
|
@@ -415,15 +447,13 @@ export interface FeedItemDetailProps {
|
|
|
415
447
|
events?: FeedEvent[];
|
|
416
448
|
idLabel?: string;
|
|
417
449
|
onCopied?: (uuid: string) => void;
|
|
450
|
+
cancelable?: boolean;
|
|
451
|
+
onCancel?: () => void;
|
|
418
452
|
}
|
|
419
453
|
export interface FeedViewerProps {
|
|
420
454
|
items?: FeedItemProps[];
|
|
421
455
|
onView?: (slug: string) => void;
|
|
422
456
|
}
|
|
423
|
-
export interface FormLayoutModalProps {
|
|
424
|
-
children?: Snippet;
|
|
425
|
-
footer?: Snippet;
|
|
426
|
-
}
|
|
427
457
|
export interface GlobalSearchProps {
|
|
428
458
|
collapsed?: boolean;
|
|
429
459
|
onOpen?: () => void;
|
|
@@ -447,8 +477,10 @@ export interface InputLabelProps {
|
|
|
447
477
|
}
|
|
448
478
|
export interface InputRadioProps {
|
|
449
479
|
checked?: boolean;
|
|
480
|
+
disabled?: boolean;
|
|
450
481
|
id?: any;
|
|
451
482
|
name?: string;
|
|
483
|
+
label?: string;
|
|
452
484
|
onchange?: (checked: boolean) => void;
|
|
453
485
|
[key: string]: any;
|
|
454
486
|
}
|
|
@@ -509,6 +541,7 @@ export interface InputToggleProps {
|
|
|
509
541
|
checked?: boolean;
|
|
510
542
|
label?: string;
|
|
511
543
|
onchange?: (checked: boolean) => void;
|
|
544
|
+
[key: string]: any;
|
|
512
545
|
}
|
|
513
546
|
export interface MenuItemProps {
|
|
514
547
|
label?: string;
|
|
@@ -533,29 +566,19 @@ export interface MenuItemCollapsibleProps {
|
|
|
533
566
|
children?: Snippet;
|
|
534
567
|
}
|
|
535
568
|
export interface NotificationProps {
|
|
536
|
-
|
|
569
|
+
title?: string;
|
|
570
|
+
description?: string;
|
|
537
571
|
type?: Status;
|
|
538
572
|
children?: Snippet;
|
|
573
|
+
[key: string]: any;
|
|
539
574
|
}
|
|
540
575
|
export interface ProfileAvatarProps {
|
|
541
576
|
name?: string;
|
|
542
|
-
|
|
543
|
-
large?: boolean;
|
|
577
|
+
variant?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
544
578
|
dark?: boolean;
|
|
545
579
|
picture?: string;
|
|
546
580
|
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;
|
|
581
|
+
icon?: IconSource;
|
|
559
582
|
}
|
|
560
583
|
export interface StatusLabelProps {
|
|
561
584
|
status: FeedItemStatus;
|
|
@@ -563,6 +586,7 @@ export interface StatusLabelProps {
|
|
|
563
586
|
}
|
|
564
587
|
export interface StepIconListProps {
|
|
565
588
|
icons?: StepIcon[];
|
|
589
|
+
[key: string]: any;
|
|
566
590
|
}
|
|
567
591
|
export interface TagSearchProps {
|
|
568
592
|
label?: string;
|
|
@@ -584,6 +608,8 @@ export interface TitleSectionProps {
|
|
|
584
608
|
children?: Snippet;
|
|
585
609
|
}
|
|
586
610
|
export interface ShortcutWrapperProps {
|
|
611
|
+
size?: 'sm' | 'md';
|
|
612
|
+
theme?: 'light' | 'navigation';
|
|
587
613
|
children?: Snippet;
|
|
588
614
|
}
|
|
589
615
|
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.4-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>
|