podo-ui 0.9.7 → 1.0.2

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.
Files changed (74) hide show
  1. package/cdn/podo-datepicker.css +1 -1
  2. package/cdn/podo-datepicker.js +1 -1
  3. package/cdn/podo-datepicker.min.css +1 -1
  4. package/cdn/podo-datepicker.min.js +1 -1
  5. package/cdn/podo-ui.css +4 -1
  6. package/cdn/podo-ui.min.css +1 -1
  7. package/dist/react/atom/editor.d.ts.map +1 -1
  8. package/dist/react/atom/editor.js +94 -2
  9. package/dist/svelte/actions/portal.d.ts +18 -0
  10. package/dist/svelte/actions/portal.js +42 -0
  11. package/dist/svelte/atom/Avatar.svelte +97 -0
  12. package/dist/svelte/atom/Avatar.svelte.d.ts +31 -0
  13. package/dist/svelte/atom/Button.svelte +86 -0
  14. package/dist/svelte/atom/Button.svelte.d.ts +26 -0
  15. package/dist/svelte/atom/Checkbox.svelte +56 -0
  16. package/dist/svelte/atom/Checkbox.svelte.d.ts +16 -0
  17. package/dist/svelte/atom/Chip.svelte +60 -0
  18. package/dist/svelte/atom/Chip.svelte.d.ts +25 -0
  19. package/dist/svelte/atom/Editor.svelte +1314 -0
  20. package/dist/svelte/atom/Editor.svelte.d.ts +30 -0
  21. package/dist/svelte/atom/EditorView.svelte +16 -0
  22. package/dist/svelte/atom/EditorView.svelte.d.ts +9 -0
  23. package/dist/svelte/atom/File.svelte +33 -0
  24. package/dist/svelte/atom/File.svelte.d.ts +14 -0
  25. package/dist/svelte/atom/Input.svelte +80 -0
  26. package/dist/svelte/atom/Input.svelte.d.ts +19 -0
  27. package/dist/svelte/atom/Label.svelte +43 -0
  28. package/dist/svelte/atom/Label.svelte.d.ts +19 -0
  29. package/dist/svelte/atom/Radio.svelte +69 -0
  30. package/dist/svelte/atom/Radio.svelte.d.ts +26 -0
  31. package/dist/svelte/atom/RadioGroup.svelte +46 -0
  32. package/dist/svelte/atom/RadioGroup.svelte.d.ts +16 -0
  33. package/dist/svelte/atom/Select.svelte +65 -0
  34. package/dist/svelte/atom/Select.svelte.d.ts +26 -0
  35. package/dist/svelte/atom/Textarea.svelte +53 -0
  36. package/dist/svelte/atom/Textarea.svelte.d.ts +13 -0
  37. package/dist/svelte/atom/Toggle.svelte +48 -0
  38. package/dist/svelte/atom/Toggle.svelte.d.ts +14 -0
  39. package/dist/svelte/atom/Tooltip.svelte +78 -0
  40. package/dist/svelte/atom/Tooltip.svelte.d.ts +23 -0
  41. package/dist/svelte/atom/avatar.module.scss +82 -0
  42. package/dist/svelte/atom/editor-view.module.scss +251 -0
  43. package/dist/svelte/atom/input.module.scss +98 -0
  44. package/dist/svelte/atom/textarea.module.scss +17 -0
  45. package/dist/svelte/atom/tooltip.module.scss +227 -0
  46. package/dist/svelte/index.d.ts +26 -0
  47. package/dist/svelte/index.js +30 -0
  48. package/dist/svelte/molecule/DatePicker.svelte +986 -0
  49. package/dist/svelte/molecule/DatePicker.svelte.d.ts +71 -0
  50. package/dist/svelte/molecule/Field.svelte +81 -0
  51. package/dist/svelte/molecule/Field.svelte.d.ts +26 -0
  52. package/dist/svelte/molecule/Pagination.svelte +95 -0
  53. package/dist/svelte/molecule/Pagination.svelte.d.ts +14 -0
  54. package/dist/svelte/molecule/Tab.svelte +69 -0
  55. package/dist/svelte/molecule/Tab.svelte.d.ts +26 -0
  56. package/dist/svelte/molecule/TabPanel.svelte +24 -0
  57. package/dist/svelte/molecule/TabPanel.svelte.d.ts +14 -0
  58. package/dist/svelte/molecule/Table.svelte +109 -0
  59. package/dist/svelte/molecule/Table.svelte.d.ts +54 -0
  60. package/dist/svelte/molecule/Toast.svelte +111 -0
  61. package/dist/svelte/molecule/Toast.svelte.d.ts +25 -0
  62. package/dist/svelte/molecule/ToastProvider.svelte +74 -0
  63. package/dist/svelte/molecule/ToastProvider.svelte.d.ts +8 -0
  64. package/dist/svelte/molecule/field.module.scss +22 -0
  65. package/dist/svelte/molecule/pagination.module.scss +61 -0
  66. package/dist/svelte/molecule/toast-container.module.scss +70 -0
  67. package/dist/svelte/molecule/toast.module.scss +12 -0
  68. package/dist/svelte/stores/toast.d.ts +45 -0
  69. package/dist/svelte/stores/toast.js +55 -0
  70. package/dist/svelte/stores/validation.d.ts +15 -0
  71. package/dist/svelte/stores/validation.js +38 -0
  72. package/global.scss +1 -0
  73. package/package.json +32 -5
  74. package/vite-fonts.scss +1 -1
@@ -0,0 +1,71 @@
1
+ export type DatePickerMode = 'instant' | 'period';
2
+ export type DatePickerType = 'date' | 'time' | 'datetime';
3
+ export interface TimeValue {
4
+ hour: number;
5
+ minute: number;
6
+ }
7
+ export interface DatePickerValue {
8
+ date?: Date;
9
+ time?: TimeValue;
10
+ endDate?: Date;
11
+ endTime?: TimeValue;
12
+ }
13
+ export interface DateRange {
14
+ from: Date;
15
+ to: Date;
16
+ }
17
+ export type DateCondition = Date | DateRange | ((date: Date) => boolean);
18
+ export interface DateTimeLimit {
19
+ date: Date;
20
+ time?: TimeValue;
21
+ }
22
+ export type MinuteStep = 1 | 5 | 10 | 15 | 20 | 30;
23
+ export interface YearRange {
24
+ min?: number;
25
+ max?: number;
26
+ }
27
+ export type CalendarInitial = 'now' | 'prevMonth' | 'nextMonth' | Date;
28
+ export interface InitialCalendar {
29
+ start?: CalendarInitial;
30
+ end?: CalendarInitial;
31
+ }
32
+ interface Props {
33
+ /** Selection mode: instant | period */
34
+ mode?: DatePickerMode;
35
+ /** Value type: date | time | datetime */
36
+ type?: DatePickerType;
37
+ /** Selected value */
38
+ value?: DatePickerValue;
39
+ /** Value change handler */
40
+ onchange?: (value: DatePickerValue) => void;
41
+ /** Placeholder */
42
+ placeholder?: string;
43
+ /** Disabled state */
44
+ disabled?: boolean;
45
+ /** Show action buttons (default true for period mode) */
46
+ showActions?: boolean;
47
+ /** Dropdown alignment */
48
+ align?: 'left' | 'right';
49
+ /** Additional class name */
50
+ class?: string;
51
+ /** Disabled date conditions */
52
+ disable?: DateCondition[];
53
+ /** Enabled date conditions (only these dates are selectable) */
54
+ enable?: DateCondition[];
55
+ /** Minimum selectable date */
56
+ minDate?: Date | DateTimeLimit;
57
+ /** Maximum selectable date */
58
+ maxDate?: Date | DateTimeLimit;
59
+ /** Minute selection step */
60
+ minuteStep?: MinuteStep;
61
+ /** Date/time format pattern */
62
+ format?: string;
63
+ /** Initial calendar display month for period mode */
64
+ initialCalendar?: InitialCalendar;
65
+ /** Year selection range */
66
+ yearRange?: YearRange;
67
+ }
68
+ type $$ComponentProps = Props & Record<string, unknown>;
69
+ declare const DatePicker: import("svelte").Component<$$ComponentProps, {}, "value">;
70
+ type DatePicker = ReturnType<typeof DatePicker>;
71
+ export default DatePicker;
@@ -0,0 +1,81 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+ import type { z } from 'zod';
4
+ import { ZodError } from 'zod';
5
+ import styles from './field.module.scss';
6
+
7
+ interface Props {
8
+ /** Label text */
9
+ label?: string;
10
+ /** Label additional class */
11
+ labelClass?: string;
12
+ /** Show required indicator (*) */
13
+ required?: boolean;
14
+ /** Helper text */
15
+ helper?: string;
16
+ /** Helper additional class */
17
+ helperClass?: string;
18
+ /** Field children (input, select, etc.) */
19
+ children?: Snippet;
20
+ /** Zod validator */
21
+ validator?: z.ZodType<unknown>;
22
+ /** Value to validate */
23
+ value?: string;
24
+ /** Additional class name */
25
+ class?: string;
26
+ }
27
+
28
+ let {
29
+ label,
30
+ labelClass = '',
31
+ required = false,
32
+ helper,
33
+ helperClass = '',
34
+ children,
35
+ validator,
36
+ value = '',
37
+ class: className = '',
38
+ ...rest
39
+ }: Props & Record<string, unknown> = $props();
40
+
41
+ let message = $state('');
42
+ let statusClass = $state('');
43
+
44
+ $effect(() => {
45
+ message = '';
46
+ statusClass = '';
47
+
48
+ if (validator && value && value.length > 0) {
49
+ try {
50
+ validator.parse(value);
51
+ statusClass = 'success';
52
+ } catch (e) {
53
+ if (e instanceof ZodError) {
54
+ message = e.errors[0].message;
55
+ statusClass = 'danger';
56
+ }
57
+ }
58
+ }
59
+ });
60
+ </script>
61
+
62
+ <div class="{styles.style} {className}" {...rest}>
63
+ {#if label}
64
+ <label class={labelClass}>
65
+ {label}
66
+ {#if required}
67
+ <span class="required">*</span>
68
+ {/if}
69
+ </label>
70
+ {/if}
71
+ <div class="child">
72
+ {#if children}
73
+ {@render children()}
74
+ {/if}
75
+ </div>
76
+ {#if helper || (validator && message !== '')}
77
+ <div class="helper {helperClass}">
78
+ {message || helper}
79
+ </div>
80
+ {/if}
81
+ </div>
@@ -0,0 +1,26 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { z } from 'zod';
3
+ interface Props {
4
+ /** Label text */
5
+ label?: string;
6
+ /** Label additional class */
7
+ labelClass?: string;
8
+ /** Show required indicator (*) */
9
+ required?: boolean;
10
+ /** Helper text */
11
+ helper?: string;
12
+ /** Helper additional class */
13
+ helperClass?: string;
14
+ /** Field children (input, select, etc.) */
15
+ children?: Snippet;
16
+ /** Zod validator */
17
+ validator?: z.ZodType<unknown>;
18
+ /** Value to validate */
19
+ value?: string;
20
+ /** Additional class name */
21
+ class?: string;
22
+ }
23
+ type $$ComponentProps = Props & Record<string, unknown>;
24
+ declare const Field: import("svelte").Component<$$ComponentProps, {}, "">;
25
+ type Field = ReturnType<typeof Field>;
26
+ export default Field;
@@ -0,0 +1,95 @@
1
+ <script lang="ts">
2
+ import styles from './pagination.module.scss';
3
+
4
+ interface Props {
5
+ /** Current page number */
6
+ currentPage: number;
7
+ /** Total number of pages */
8
+ totalPages: number;
9
+ /** Page change callback */
10
+ onpagechange: (page: number) => void;
11
+ /** Maximum visible page numbers */
12
+ maxVisiblePages?: number;
13
+ }
14
+
15
+ let {
16
+ currentPage = $bindable(1),
17
+ totalPages,
18
+ onpagechange,
19
+ maxVisiblePages = 5,
20
+ ...rest
21
+ }: Props & Record<string, unknown> = $props();
22
+
23
+ function getPageNumbers(): number[] {
24
+ const pages: number[] = [];
25
+ const startPage =
26
+ Math.floor((currentPage - 1) / maxVisiblePages) * maxVisiblePages + 1;
27
+ const endPage = Math.min(startPage + maxVisiblePages - 1, totalPages);
28
+
29
+ for (let i = startPage; i <= endPage; i++) {
30
+ pages.push(i);
31
+ }
32
+
33
+ return pages;
34
+ }
35
+
36
+ let pageNumbers = $derived(getPageNumbers());
37
+
38
+ function handlePrevious() {
39
+ if (currentPage > 1) {
40
+ currentPage = currentPage - 1;
41
+ onpagechange(currentPage);
42
+ }
43
+ }
44
+
45
+ function handleNext() {
46
+ if (currentPage < totalPages) {
47
+ currentPage = currentPage + 1;
48
+ onpagechange(currentPage);
49
+ }
50
+ }
51
+
52
+ function handlePageClick(pageNum: number) {
53
+ currentPage = pageNum;
54
+ onpagechange(pageNum);
55
+ }
56
+ </script>
57
+
58
+ {#if totalPages > 0}
59
+ <div class={styles.pagination} {...rest}>
60
+ {#if currentPage > 1}
61
+ <button
62
+ onclick={handlePrevious}
63
+ class={styles.pageButton}
64
+ aria-label="이전 페이지"
65
+ >
66
+ <i class="icon-arrow-left"></i>
67
+ </button>
68
+ {:else}
69
+ <div class={styles.pageButtonPlaceholder}></div>
70
+ {/if}
71
+
72
+ {#each pageNumbers as pageNum (pageNum)}
73
+ <button
74
+ onclick={() => handlePageClick(pageNum)}
75
+ class="{styles.pageButton} {currentPage === pageNum ? styles.active : ''}"
76
+ aria-label="{pageNum}페이지"
77
+ aria-current={currentPage === pageNum ? 'page' : undefined}
78
+ >
79
+ {pageNum}
80
+ </button>
81
+ {/each}
82
+
83
+ {#if currentPage < totalPages}
84
+ <button
85
+ onclick={handleNext}
86
+ class={styles.pageButton}
87
+ aria-label="다음 페이지"
88
+ >
89
+ <i class="icon-arrow-right"></i>
90
+ </button>
91
+ {:else}
92
+ <div class={styles.pageButtonPlaceholder}></div>
93
+ {/if}
94
+ </div>
95
+ {/if}
@@ -0,0 +1,14 @@
1
+ interface Props {
2
+ /** Current page number */
3
+ currentPage: number;
4
+ /** Total number of pages */
5
+ totalPages: number;
6
+ /** Page change callback */
7
+ onpagechange: (page: number) => void;
8
+ /** Maximum visible page numbers */
9
+ maxVisiblePages?: number;
10
+ }
11
+ type $$ComponentProps = Props & Record<string, unknown>;
12
+ declare const Pagination: import("svelte").Component<$$ComponentProps, {}, "currentPage">;
13
+ type Pagination = ReturnType<typeof Pagination>;
14
+ export default Pagination;
@@ -0,0 +1,69 @@
1
+ <script lang="ts" module>
2
+ export interface TabItem {
3
+ /** Tab key */
4
+ key: string;
5
+ /** Tab label */
6
+ label: string;
7
+ /** Disabled state */
8
+ disabled?: boolean;
9
+ }
10
+ </script>
11
+
12
+ <script lang="ts">
13
+ interface Props {
14
+ /** Tab items */
15
+ items: TabItem[];
16
+ /** Active tab key (controlled) */
17
+ activeKey?: string;
18
+ /** Default active tab key (uncontrolled) */
19
+ defaultActiveKey?: string;
20
+ /** Equal width tabs */
21
+ fill?: boolean;
22
+ /** Tab change callback */
23
+ onchange?: (key: string) => void;
24
+ /** Additional class name */
25
+ class?: string;
26
+ }
27
+
28
+ let {
29
+ items,
30
+ activeKey: controlledActiveKey,
31
+ defaultActiveKey,
32
+ fill = false,
33
+ onchange,
34
+ class: className = '',
35
+ ...rest
36
+ }: Props & Record<string, unknown> = $props();
37
+
38
+ let internalActiveKey = $state(defaultActiveKey || items[0]?.key);
39
+
40
+ let activeKey = $derived(controlledActiveKey ?? internalActiveKey);
41
+
42
+ function handleClick(key: string, disabled?: boolean) {
43
+ if (disabled) return;
44
+ internalActiveKey = key;
45
+ onchange?.(key);
46
+ }
47
+
48
+ let tabsClass = $derived(
49
+ ['tabs', fill && 'fill', className].filter(Boolean).join(' ')
50
+ );
51
+ </script>
52
+
53
+ <ul class={tabsClass} {...rest}>
54
+ {#each items as item (item.key)}
55
+ <li class={activeKey === item.key ? 'on' : undefined}>
56
+ <a
57
+ href="#{item.key}"
58
+ onclick={(e) => {
59
+ e.preventDefault();
60
+ handleClick(item.key, item.disabled);
61
+ }}
62
+ aria-disabled={item.disabled}
63
+ tabindex={item.disabled ? -1 : 0}
64
+ >
65
+ {item.label}
66
+ </a>
67
+ </li>
68
+ {/each}
69
+ </ul>
@@ -0,0 +1,26 @@
1
+ export interface TabItem {
2
+ /** Tab key */
3
+ key: string;
4
+ /** Tab label */
5
+ label: string;
6
+ /** Disabled state */
7
+ disabled?: boolean;
8
+ }
9
+ interface Props {
10
+ /** Tab items */
11
+ items: TabItem[];
12
+ /** Active tab key (controlled) */
13
+ activeKey?: string;
14
+ /** Default active tab key (uncontrolled) */
15
+ defaultActiveKey?: string;
16
+ /** Equal width tabs */
17
+ fill?: boolean;
18
+ /** Tab change callback */
19
+ onchange?: (key: string) => void;
20
+ /** Additional class name */
21
+ class?: string;
22
+ }
23
+ type $$ComponentProps = Props & Record<string, unknown>;
24
+ declare const Tab: import("svelte").Component<$$ComponentProps, {}, "">;
25
+ type Tab = ReturnType<typeof Tab>;
26
+ export default Tab;
@@ -0,0 +1,24 @@
1
+ <script lang="ts">
2
+ import type { Snippet } from 'svelte';
3
+
4
+ interface Props {
5
+ /** Tab key (must match Tab item key) */
6
+ tabKey: string;
7
+ /** Current active key */
8
+ activeKey?: string;
9
+ /** Panel content */
10
+ children: Snippet;
11
+ /** Additional class name */
12
+ class?: string;
13
+ }
14
+
15
+ let { tabKey, activeKey, children, class: className }: Props = $props();
16
+
17
+ let isActive = $derived(tabKey === activeKey);
18
+ </script>
19
+
20
+ {#if isActive}
21
+ <div class={className}>
22
+ {@render children()}
23
+ </div>
24
+ {/if}
@@ -0,0 +1,14 @@
1
+ import type { Snippet } from 'svelte';
2
+ interface Props {
3
+ /** Tab key (must match Tab item key) */
4
+ tabKey: string;
5
+ /** Current active key */
6
+ activeKey?: string;
7
+ /** Panel content */
8
+ children: Snippet;
9
+ /** Additional class name */
10
+ class?: string;
11
+ }
12
+ declare const TabPanel: import("svelte").Component<Props, {}, "">;
13
+ type TabPanel = ReturnType<typeof TabPanel>;
14
+ export default TabPanel;
@@ -0,0 +1,109 @@
1
+ <script lang="ts" module>
2
+ import type { Snippet } from 'svelte';
3
+
4
+ export interface TableColumn<T> {
5
+ /** Column key */
6
+ key: string;
7
+ /** Header text */
8
+ title: string;
9
+ /** Custom render function */
10
+ render?: (value: unknown, record: T, index: number) => Snippet;
11
+ /** Column width */
12
+ width?: string | number;
13
+ /** Text alignment */
14
+ align?: 'left' | 'center' | 'right';
15
+ }
16
+ </script>
17
+
18
+ <script lang="ts" generics="T extends Record<string, unknown>">
19
+ interface Props {
20
+ /** Column definitions */
21
+ columns: TableColumn<T>[];
22
+ /** Data source */
23
+ dataSource: T[];
24
+ /** Row key extractor */
25
+ rowKey: keyof T | ((record: T) => string);
26
+ /** Clickable rows (hover effect) */
27
+ list?: boolean;
28
+ /** Row border */
29
+ border?: boolean;
30
+ /** Filled background */
31
+ fill?: boolean;
32
+ /** Row click callback */
33
+ onrowclick?: (record: T, index: number) => void;
34
+ /** Additional class name */
35
+ class?: string;
36
+ }
37
+
38
+ let {
39
+ columns,
40
+ dataSource,
41
+ rowKey,
42
+ list = false,
43
+ border = false,
44
+ fill = false,
45
+ onrowclick,
46
+ class: className = '',
47
+ ...rest
48
+ }: Props & Record<string, unknown> = $props();
49
+
50
+ function getRowKey(record: T, index: number): string {
51
+ if (typeof rowKey === 'function') {
52
+ return rowKey(record);
53
+ }
54
+ return String(record[rowKey] ?? index);
55
+ }
56
+
57
+ function handleRowClick(record: T, index: number) {
58
+ onrowclick?.(record, index);
59
+ }
60
+
61
+ function handleKeyDown(e: KeyboardEvent, record: T, index: number) {
62
+ if (e.key === 'Enter' || e.key === ' ') {
63
+ e.preventDefault();
64
+ onrowclick?.(record, index);
65
+ }
66
+ }
67
+
68
+ let tableClass = $derived(
69
+ [list && 'list', border && 'border', fill && 'fill', className]
70
+ .filter(Boolean)
71
+ .join(' ')
72
+ );
73
+ </script>
74
+
75
+ <table class={tableClass || undefined} {...rest}>
76
+ <thead>
77
+ <tr>
78
+ {#each columns as col (col.key)}
79
+ <th
80
+ scope="col"
81
+ style="width: {col.width}; text-align: {col.align};"
82
+ >
83
+ {col.title}
84
+ </th>
85
+ {/each}
86
+ </tr>
87
+ </thead>
88
+ <tbody>
89
+ {#each dataSource as record, index (getRowKey(record, index))}
90
+ <tr
91
+ onclick={() => handleRowClick(record, index)}
92
+ onkeydown={onrowclick ? (e) => handleKeyDown(e, record, index) : undefined}
93
+ style={onrowclick ? 'cursor: pointer;' : undefined}
94
+ role={onrowclick ? 'button' : undefined}
95
+ tabindex={onrowclick ? 0 : undefined}
96
+ >
97
+ {#each columns as col (col.key)}
98
+ <td style="text-align: {col.align};">
99
+ {#if col.render}
100
+ {@render col.render(record[col.key], record, index)}
101
+ {:else}
102
+ {record[col.key]}
103
+ {/if}
104
+ </td>
105
+ {/each}
106
+ </tr>
107
+ {/each}
108
+ </tbody>
109
+ </table>
@@ -0,0 +1,54 @@
1
+ import type { Snippet } from 'svelte';
2
+ export interface TableColumn<T> {
3
+ /** Column key */
4
+ key: string;
5
+ /** Header text */
6
+ title: string;
7
+ /** Custom render function */
8
+ render?: (value: unknown, record: T, index: number) => Snippet;
9
+ /** Column width */
10
+ width?: string | number;
11
+ /** Text alignment */
12
+ align?: 'left' | 'center' | 'right';
13
+ }
14
+ declare function $$render<T extends Record<string, unknown>>(): {
15
+ props: {
16
+ /** Column definitions */
17
+ columns: TableColumn<T>[];
18
+ /** Data source */
19
+ dataSource: T[];
20
+ /** Row key extractor */
21
+ rowKey: keyof T | ((record: T) => string);
22
+ /** Clickable rows (hover effect) */
23
+ list?: boolean;
24
+ /** Row border */
25
+ border?: boolean;
26
+ /** Filled background */
27
+ fill?: boolean;
28
+ /** Row click callback */
29
+ onrowclick?: (record: T, index: number) => void;
30
+ /** Additional class name */
31
+ class?: string;
32
+ } & Record<string, unknown>;
33
+ exports: {};
34
+ bindings: "";
35
+ slots: {};
36
+ events: {};
37
+ };
38
+ declare class __sveltets_Render<T extends Record<string, unknown>> {
39
+ props(): ReturnType<typeof $$render<T>>['props'];
40
+ events(): ReturnType<typeof $$render<T>>['events'];
41
+ slots(): ReturnType<typeof $$render<T>>['slots'];
42
+ bindings(): "";
43
+ exports(): {};
44
+ }
45
+ interface $$IsomorphicComponent {
46
+ new <T extends Record<string, unknown>>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
47
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
48
+ } & ReturnType<__sveltets_Render<T>['exports']>;
49
+ <T extends Record<string, unknown>>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
50
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
51
+ }
52
+ declare const Table: $$IsomorphicComponent;
53
+ type Table<T extends Record<string, unknown>> = InstanceType<typeof Table<T>>;
54
+ export default Table;