@0djek/sveltix 0.0.6
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/README.md +103 -0
- package/dist/button/Button.svelte +24 -0
- package/dist/button/Button.svelte.d.ts +4 -0
- package/dist/button/ButtonComponent.svelte.d.ts +15 -0
- package/dist/button/ButtonComponent.svelte.js +26 -0
- package/dist/button/ButtonStyles.d.ts +11 -0
- package/dist/button/ButtonStyles.js +2 -0
- package/dist/button/__tests__/builders/ButtonBuilder.d.ts +23 -0
- package/dist/button/__tests__/builders/ButtonBuilder.js +61 -0
- package/dist/button/__tests__/builders/ButtonStory.svelte +27 -0
- package/dist/button/__tests__/builders/ButtonStory.svelte.d.ts +14 -0
- package/dist/button/__tests__/pom/ButtonPom.d.ts +6 -0
- package/dist/button/__tests__/pom/ButtonPom.js +14 -0
- package/dist/button/buttonDefaults.d.ts +9 -0
- package/dist/button/buttonDefaults.js +9 -0
- package/dist/button/index.d.ts +5 -0
- package/dist/button/index.js +9 -0
- package/dist/button/internal/DefaultButtonStyles.d.ts +15 -0
- package/dist/button/internal/DefaultButtonStyles.js +64 -0
- package/dist/button/models/ButtonProps.d.ts +45 -0
- package/dist/button/models/ButtonProps.js +1 -0
- package/dist/button/models/ButtonSize.d.ts +6 -0
- package/dist/button/models/ButtonSize.js +7 -0
- package/dist/button/models/ButtonVariant.d.ts +5 -0
- package/dist/button/models/ButtonVariant.js +6 -0
- package/dist/button/models/index.d.ts +3 -0
- package/dist/button/models/index.js +3 -0
- package/dist/cache/Cache.d.ts +18 -0
- package/dist/cache/Cache.js +20 -0
- package/dist/cache/MappedCache.d.ts +7 -0
- package/dist/cache/MappedCache.js +35 -0
- package/dist/cache/__tests__/builders/CacheBuilder.d.ts +7 -0
- package/dist/cache/__tests__/builders/CacheBuilder.js +18 -0
- package/dist/cache/__tests__/builders/MappedCacheBuilder.d.ts +7 -0
- package/dist/cache/__tests__/builders/MappedCacheBuilder.js +18 -0
- package/dist/cache/index.d.ts +2 -0
- package/dist/cache/index.js +2 -0
- package/dist/datagrid/SveltixGrid.svelte.d.ts +35 -0
- package/dist/datagrid/SveltixGrid.svelte.js +90 -0
- package/dist/datagrid/SveltixGridGlobal.d.ts +9 -0
- package/dist/datagrid/SveltixGridGlobal.js +12 -0
- package/dist/datagrid/components/Datagrid.svelte +114 -0
- package/dist/datagrid/components/Datagrid.svelte.d.ts +39 -0
- package/dist/datagrid/core-modules/columns/Column.svelte.d.ts +79 -0
- package/dist/datagrid/core-modules/columns/Column.svelte.js +322 -0
- package/dist/datagrid/core-modules/columns/ColumnsModule.svelte.d.ts +26 -0
- package/dist/datagrid/core-modules/columns/ColumnsModule.svelte.js +77 -0
- package/dist/datagrid/core-modules/columns/components/CalculateCellWidth.svelte +18 -0
- package/dist/datagrid/core-modules/columns/components/CalculateCellWidth.svelte.d.ts +25 -0
- package/dist/datagrid/core-modules/columns/index.d.ts +5 -0
- package/dist/datagrid/core-modules/columns/index.js +11 -0
- package/dist/datagrid/core-modules/columns/models/ColumnOptions.d.ts +2 -0
- package/dist/datagrid/core-modules/columns/models/ColumnOptions.js +1 -0
- package/dist/datagrid/core-modules/custom/CustomComponentsModule.svelte.d.ts +27 -0
- package/dist/datagrid/core-modules/custom/CustomComponentsModule.svelte.js +58 -0
- package/dist/datagrid/core-modules/custom/components/CustomComponents.svelte +36 -0
- package/dist/datagrid/core-modules/custom/components/CustomComponents.svelte.d.ts +30 -0
- package/dist/datagrid/core-modules/custom/index.d.ts +3 -0
- package/dist/datagrid/core-modules/custom/index.js +10 -0
- package/dist/datagrid/core-modules/custom/models/CustomComponentPosition.d.ts +21 -0
- package/dist/datagrid/core-modules/custom/models/CustomComponentPosition.js +22 -0
- package/dist/datagrid/core-modules/index.d.ts +4 -0
- package/dist/datagrid/core-modules/index.js +4 -0
- package/dist/datagrid/core-modules/pipelines/PipelinesModule.svelte.d.ts +12 -0
- package/dist/datagrid/core-modules/pipelines/PipelinesModule.svelte.js +58 -0
- package/dist/datagrid/core-modules/pipelines/index.d.ts +4 -0
- package/dist/datagrid/core-modules/pipelines/index.js +11 -0
- package/dist/datagrid/core-modules/pipelines/models/CallbackSignature.d.ts +9 -0
- package/dist/datagrid/core-modules/pipelines/models/CallbackSignature.js +1 -0
- package/dist/datagrid/core-modules/rows/Cell.svelte.d.ts +27 -0
- package/dist/datagrid/core-modules/rows/Cell.svelte.js +103 -0
- package/dist/datagrid/core-modules/rows/Row.svelte.d.ts +24 -0
- package/dist/datagrid/core-modules/rows/Row.svelte.js +117 -0
- package/dist/datagrid/core-modules/rows/RowsModule.svelte.d.ts +33 -0
- package/dist/datagrid/core-modules/rows/RowsModule.svelte.js +115 -0
- package/dist/datagrid/core-modules/rows/components/body/BodyCell.svelte +31 -0
- package/dist/datagrid/core-modules/rows/components/body/BodyCell.svelte.d.ts +30 -0
- package/dist/datagrid/core-modules/rows/components/body/GroupCell.svelte +26 -0
- package/dist/datagrid/core-modules/rows/components/body/GroupCell.svelte.d.ts +25 -0
- package/dist/datagrid/core-modules/rows/index.d.ts +8 -0
- package/dist/datagrid/core-modules/rows/index.js +13 -0
- package/dist/datagrid/core-modules/rows/internal/CreateRowOptions.d.ts +15 -0
- package/dist/datagrid/core-modules/rows/internal/CreateRowOptions.js +1 -0
- package/dist/datagrid/core-modules/rows/models/RowsOptions.d.ts +3 -0
- package/dist/datagrid/core-modules/rows/models/RowsOptions.js +1 -0
- package/dist/datagrid/core-modules/rows/models/index.d.ts +1 -0
- package/dist/datagrid/core-modules/rows/models/index.js +1 -0
- package/dist/datagrid/events/generateEvents.d.ts +2 -0
- package/dist/datagrid/events/generateEvents.js +16 -0
- package/dist/datagrid/events/index.d.ts +2 -0
- package/dist/datagrid/events/index.js +2 -0
- package/dist/datagrid/events/models/RowUpdatedArgs.d.ts +5 -0
- package/dist/datagrid/events/models/RowUpdatedArgs.js +1 -0
- package/dist/datagrid/events/models/SveltixEvents.d.ts +20 -0
- package/dist/datagrid/events/models/SveltixEvents.js +1 -0
- package/dist/datagrid/events/models/index.d.ts +2 -0
- package/dist/datagrid/events/models/index.js +2 -0
- package/dist/datagrid/index.d.ts +5 -0
- package/dist/datagrid/index.js +5 -0
- package/dist/datagrid/interfaces/ISveltixGrid.d.ts +22 -0
- package/dist/datagrid/interfaces/ISveltixGrid.js +1 -0
- package/dist/datagrid/interfaces/Module.d.ts +11 -0
- package/dist/datagrid/interfaces/Module.js +13 -0
- package/dist/datagrid/interfaces/index.d.ts +2 -0
- package/dist/datagrid/interfaces/index.js +2 -0
- package/dist/datagrid/models/BaseColumn.d.ts +23 -0
- package/dist/datagrid/models/BaseColumn.js +1 -0
- package/dist/datagrid/models/Formatter.d.ts +32 -0
- package/dist/datagrid/models/Formatter.js +7 -0
- package/dist/datagrid/models/SveltixGridOptions.d.ts +12 -0
- package/dist/datagrid/models/SveltixGridOptions.js +1 -0
- package/dist/datagrid/models/Value.d.ts +21 -0
- package/dist/datagrid/models/Value.js +6 -0
- package/dist/datagrid/models/index.d.ts +4 -0
- package/dist/datagrid/models/index.js +4 -0
- package/dist/datagrid/models/module/ModuleConstructor.d.ts +5 -0
- package/dist/datagrid/models/module/ModuleConstructor.js +1 -0
- package/dist/datagrid/models/module/ModuleRegistrationEntry.d.ts +6 -0
- package/dist/datagrid/models/module/ModuleRegistrationEntry.js +1 -0
- package/dist/datagrid/models/module/index.d.ts +2 -0
- package/dist/datagrid/models/module/index.js +2 -0
- package/dist/datagrid/modules/flash/FlashModule.svelte.d.ts +9 -0
- package/dist/datagrid/modules/flash/FlashModule.svelte.js +33 -0
- package/dist/datagrid/modules/flash/index.d.ts +5 -0
- package/dist/datagrid/modules/flash/index.js +10 -0
- package/dist/datagrid/modules/flash/models/FlashModuleOptions.d.ts +4 -0
- package/dist/datagrid/modules/flash/models/FlashModuleOptions.js +1 -0
- package/dist/datagrid/modules/flash/models/index.d.ts +1 -0
- package/dist/datagrid/modules/flash/models/index.js +1 -0
- package/dist/datagrid/modules/resize/ResizeModule.svelte.d.ts +14 -0
- package/dist/datagrid/modules/resize/ResizeModule.svelte.js +68 -0
- package/dist/datagrid/modules/resize/components/ResizeCustomComponent.svelte +15 -0
- package/dist/datagrid/modules/resize/components/ResizeCustomComponent.svelte.d.ts +25 -0
- package/dist/datagrid/modules/resize/components/ResizeHandle.svelte +29 -0
- package/dist/datagrid/modules/resize/components/ResizeHandle.svelte.d.ts +28 -0
- package/dist/datagrid/modules/resize/index.d.ts +5 -0
- package/dist/datagrid/modules/resize/index.js +12 -0
- package/dist/datagrid/modules/resize/models/ResizeModuleOptions.d.ts +15 -0
- package/dist/datagrid/modules/resize/models/ResizeModuleOptions.js +1 -0
- package/dist/datagrid/modules/resize/models/index.d.ts +1 -0
- package/dist/datagrid/modules/resize/models/index.js +1 -0
- package/dist/deep-equal/deepEqual.d.ts +7 -0
- package/dist/deep-equal/deepEqual.js +79 -0
- package/dist/deep-equal/index.d.ts +1 -0
- package/dist/deep-equal/index.js +1 -0
- package/dist/di/DiContainer.d.ts +20 -0
- package/dist/di/DiContainer.js +42 -0
- package/dist/event-bus/EventBus.d.ts +9 -0
- package/dist/event-bus/EventBus.js +38 -0
- package/dist/event-bus/createEventDefinition.d.ts +1 -0
- package/dist/event-bus/createEventDefinition.js +5 -0
- package/dist/event-bus/index.d.ts +3 -0
- package/dist/event-bus/index.js +3 -0
- package/dist/event-bus/models/Event.d.ts +6 -0
- package/dist/event-bus/models/Event.js +1 -0
- package/dist/event-bus/models/SubscriberEntry.d.ts +5 -0
- package/dist/event-bus/models/SubscriberEntry.js +1 -0
- package/dist/event-bus/models/SubscriberSignature.d.ts +3 -0
- package/dist/event-bus/models/SubscriberSignature.js +1 -0
- package/dist/event-bus/models/UnsubscribeSignature.d.ts +3 -0
- package/dist/event-bus/models/UnsubscribeSignature.js +1 -0
- package/dist/event-bus/models/index.d.ts +4 -0
- package/dist/event-bus/models/index.js +4 -0
- package/dist/groupBy/groupBy.d.ts +2 -0
- package/dist/groupBy/groupBy.js +22 -0
- package/dist/groupBy/index.d.ts +2 -0
- package/dist/groupBy/index.js +2 -0
- package/dist/groupBy/models/Grouping.d.ts +4 -0
- package/dist/groupBy/models/Grouping.js +1 -0
- package/dist/groupBy/models/index.d.ts +1 -0
- package/dist/groupBy/models/index.js +1 -0
- package/dist/heading/Heading.svelte +28 -0
- package/dist/heading/Heading.svelte.d.ts +4 -0
- package/dist/heading/HeadingComponent.svelte.d.ts +13 -0
- package/dist/heading/HeadingComponent.svelte.js +20 -0
- package/dist/heading/HeadingStyles.d.ts +11 -0
- package/dist/heading/HeadingStyles.js +1 -0
- package/dist/heading/__tests__/HeadingBuilder.d.ts +12 -0
- package/dist/heading/__tests__/HeadingBuilder.js +34 -0
- package/dist/heading/__tests__/HeadingStory.svelte +16 -0
- package/dist/heading/__tests__/HeadingStory.svelte.d.ts +10 -0
- package/dist/heading/headingClasses.d.ts +8 -0
- package/dist/heading/headingClasses.js +8 -0
- package/dist/heading/index.d.ts +5 -0
- package/dist/heading/index.js +8 -0
- package/dist/heading/internal/DefaultHeadingStyles.d.ts +15 -0
- package/dist/heading/internal/DefaultHeadingStyles.js +75 -0
- package/dist/heading/models/Align.d.ts +8 -0
- package/dist/heading/models/Align.js +9 -0
- package/dist/heading/models/HeadingProps.d.ts +25 -0
- package/dist/heading/models/HeadingProps.js +1 -0
- package/dist/heading/models/HeadingTag.d.ts +1 -0
- package/dist/heading/models/HeadingTag.js +1 -0
- package/dist/heading/models/index.d.ts +3 -0
- package/dist/heading/models/index.js +3 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +2 -0
- package/dist/ordered-map/OrderedMap.svelte.d.ts +27 -0
- package/dist/ordered-map/OrderedMap.svelte.js +138 -0
- package/dist/ordered-map/__tests__/builders/OrderedMapBuilder.d.ts +9 -0
- package/dist/ordered-map/__tests__/builders/OrderedMapBuilder.js +26 -0
- package/dist/ordered-map/index.d.ts +1 -0
- package/dist/ordered-map/index.js +1 -0
- package/dist/paragraph/P.svelte +21 -0
- package/dist/paragraph/P.svelte.d.ts +4 -0
- package/dist/paragraph/PComponents.svelte.d.ts +13 -0
- package/dist/paragraph/PComponents.svelte.js +20 -0
- package/dist/paragraph/ParagraphStyles.d.ts +11 -0
- package/dist/paragraph/ParagraphStyles.js +1 -0
- package/dist/paragraph/__tests__/PStory.svelte +15 -0
- package/dist/paragraph/__tests__/PStory.svelte.d.ts +10 -0
- package/dist/paragraph/__tests__/ParagraphBuilder.d.ts +10 -0
- package/dist/paragraph/__tests__/ParagraphBuilder.js +28 -0
- package/dist/paragraph/index.d.ts +5 -0
- package/dist/paragraph/index.js +8 -0
- package/dist/paragraph/internal/DefaultParagraphStyles.d.ts +15 -0
- package/dist/paragraph/internal/DefaultParagraphStyles.js +61 -0
- package/dist/paragraph/internal/classes.d.ts +6 -0
- package/dist/paragraph/internal/classes.js +7 -0
- package/dist/paragraph/models/PFont.d.ts +4 -0
- package/dist/paragraph/models/PFont.js +5 -0
- package/dist/paragraph/models/PProps.d.ts +12 -0
- package/dist/paragraph/models/PProps.js +1 -0
- package/dist/paragraph/models/PSize.d.ts +6 -0
- package/dist/paragraph/models/PSize.js +7 -0
- package/dist/paragraph/models/index.d.ts +3 -0
- package/dist/paragraph/models/index.js +3 -0
- package/dist/theme/Component.svelte.d.ts +13 -0
- package/dist/theme/Component.svelte.js +20 -0
- package/dist/theme/index.d.ts +2 -0
- package/dist/theme/index.js +2 -0
- package/dist/theme/models/ThemableComponent.d.ts +6 -0
- package/dist/theme/models/ThemableComponent.js +1 -0
- package/dist/theme/models/Theme.d.ts +9 -0
- package/dist/theme/models/Theme.js +10 -0
- package/dist/theme/models/index.d.ts +2 -0
- package/dist/theme/models/index.js +2 -0
- package/dist/theme/themeDefaults.d.ts +2 -0
- package/dist/theme/themeDefaults.js +2 -0
- package/dist/types/KeysOfType.d.ts +3 -0
- package/dist/types/KeysOfType.js +1 -0
- package/dist/types/SurfaceContainerStyles.d.ts +4 -0
- package/dist/types/SurfaceContainerStyles.js +1 -0
- package/package.json +82 -0
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import { MappedCache } from '../../../cache';
|
|
2
|
+
import { FormatterMode, ValueMode, } from '../../models';
|
|
3
|
+
import { tick } from 'svelte';
|
|
4
|
+
import { OrderedMap } from '../../../ordered-map';
|
|
5
|
+
const DEFAULT_KEY = 'default';
|
|
6
|
+
var InternalMode;
|
|
7
|
+
(function (InternalMode) {
|
|
8
|
+
InternalMode["Row"] = "Row";
|
|
9
|
+
InternalMode["NoRow"] = "NoRow";
|
|
10
|
+
})(InternalMode || (InternalMode = {}));
|
|
11
|
+
export var FormatterValue;
|
|
12
|
+
(function (FormatterValue) {
|
|
13
|
+
FormatterValue["Static"] = "Static";
|
|
14
|
+
FormatterValue["Snippet"] = "Snippet";
|
|
15
|
+
FormatterValue["Component"] = "Component";
|
|
16
|
+
})(FormatterValue || (FormatterValue = {}));
|
|
17
|
+
export var HelperPosition;
|
|
18
|
+
(function (HelperPosition) {
|
|
19
|
+
HelperPosition["Before"] = "Before";
|
|
20
|
+
HelperPosition["After"] = "After";
|
|
21
|
+
})(HelperPosition || (HelperPosition = {}));
|
|
22
|
+
export class Column {
|
|
23
|
+
get id() {
|
|
24
|
+
return this._id;
|
|
25
|
+
}
|
|
26
|
+
get publicColumn() {
|
|
27
|
+
return this._publicColumn;
|
|
28
|
+
}
|
|
29
|
+
get width() {
|
|
30
|
+
return this._width;
|
|
31
|
+
}
|
|
32
|
+
get valueGetter() {
|
|
33
|
+
return this._valueGetter;
|
|
34
|
+
}
|
|
35
|
+
get helperBefore() {
|
|
36
|
+
return this._helperBefore.entries;
|
|
37
|
+
}
|
|
38
|
+
get helperAfter() {
|
|
39
|
+
return this._helperAfter.entries;
|
|
40
|
+
}
|
|
41
|
+
get minimumWidth() {
|
|
42
|
+
return this._minimumWidth;
|
|
43
|
+
}
|
|
44
|
+
_api;
|
|
45
|
+
_id;
|
|
46
|
+
_valueGetters = new Map();
|
|
47
|
+
_formatters = new Map();
|
|
48
|
+
_valuesCache = new MappedCache();
|
|
49
|
+
_formatsCache = new MappedCache();
|
|
50
|
+
_publicColumn = $state();
|
|
51
|
+
_width = $state(-1);
|
|
52
|
+
_valueGetter;
|
|
53
|
+
_helperBefore = $state(OrderedMap.create());
|
|
54
|
+
_helperAfter = $state(OrderedMap.create());
|
|
55
|
+
_minimumWidth;
|
|
56
|
+
constructor(api, id, column) {
|
|
57
|
+
this._api = api;
|
|
58
|
+
this._id = id;
|
|
59
|
+
this._publicColumn = column;
|
|
60
|
+
this._valueGetter = column.value;
|
|
61
|
+
// TODO: Ability to limit column's min/max width.
|
|
62
|
+
this._minimumWidth = this._api.core.columns.minimumWidth;
|
|
63
|
+
if (column.value != null) {
|
|
64
|
+
this.addValueGetter(DEFAULT_KEY, column.value);
|
|
65
|
+
}
|
|
66
|
+
if (column.format != null) {
|
|
67
|
+
this.addFormatter(DEFAULT_KEY, column.format);
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
this.addFormatter(DEFAULT_KEY, {
|
|
71
|
+
mode: FormatterMode.Callback,
|
|
72
|
+
format: (value) => {
|
|
73
|
+
if (value == null) {
|
|
74
|
+
return '';
|
|
75
|
+
}
|
|
76
|
+
return String(value);
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
getFormatterFunction(formatter) {
|
|
82
|
+
switch (formatter.mode) {
|
|
83
|
+
case FormatterMode.Callback:
|
|
84
|
+
return {
|
|
85
|
+
value: FormatterValue.Static,
|
|
86
|
+
internal: {
|
|
87
|
+
mode: InternalMode.Row,
|
|
88
|
+
format: formatter.format,
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
case FormatterMode.Static:
|
|
92
|
+
return {
|
|
93
|
+
value: FormatterValue.Static,
|
|
94
|
+
internal: {
|
|
95
|
+
mode: InternalMode.NoRow,
|
|
96
|
+
format: (value) => formatter.format[String(value)],
|
|
97
|
+
},
|
|
98
|
+
};
|
|
99
|
+
case FormatterMode.Snippet:
|
|
100
|
+
return {
|
|
101
|
+
value: FormatterValue.Snippet,
|
|
102
|
+
snippet: formatter.snippet,
|
|
103
|
+
};
|
|
104
|
+
case FormatterMode.Component:
|
|
105
|
+
return {
|
|
106
|
+
value: FormatterValue.Component,
|
|
107
|
+
component: formatter.component,
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
getValueGetterFunction(valueGetter) {
|
|
112
|
+
switch (valueGetter.mode) {
|
|
113
|
+
case ValueMode.Key:
|
|
114
|
+
return {
|
|
115
|
+
mode: InternalMode.Row,
|
|
116
|
+
get: (row) => row.data?.[valueGetter.key],
|
|
117
|
+
};
|
|
118
|
+
case ValueMode.Callback:
|
|
119
|
+
return {
|
|
120
|
+
mode: InternalMode.Row,
|
|
121
|
+
get: (row) => valueGetter.get(row),
|
|
122
|
+
};
|
|
123
|
+
case ValueMode.Static:
|
|
124
|
+
return {
|
|
125
|
+
mode: InternalMode.NoRow,
|
|
126
|
+
get: () => valueGetter.values,
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
addValueGetter(key, getter) {
|
|
131
|
+
const valueGetterFunction = this.getValueGetterFunction(getter);
|
|
132
|
+
this._valueGetters.set(key, valueGetterFunction);
|
|
133
|
+
}
|
|
134
|
+
clearCache(row, key) {
|
|
135
|
+
key = this.getKey(key);
|
|
136
|
+
this._valuesCache.delete(row.id, key);
|
|
137
|
+
this._formatsCache.delete(row.id, key);
|
|
138
|
+
}
|
|
139
|
+
getValue(row, key, ignoreCache) {
|
|
140
|
+
key = this.getKey(key);
|
|
141
|
+
if (ignoreCache == null || !ignoreCache) {
|
|
142
|
+
const cachedValue = this._valuesCache.get(row.id, key);
|
|
143
|
+
if (cachedValue.exists) {
|
|
144
|
+
return cachedValue.value;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
const valueGetter = this._valueGetters.get(key);
|
|
148
|
+
if (valueGetter == null) {
|
|
149
|
+
return undefined;
|
|
150
|
+
}
|
|
151
|
+
let value = undefined;
|
|
152
|
+
switch (valueGetter?.mode) {
|
|
153
|
+
case InternalMode.Row: {
|
|
154
|
+
value = valueGetter.get(row);
|
|
155
|
+
break;
|
|
156
|
+
}
|
|
157
|
+
case InternalMode.NoRow:
|
|
158
|
+
value = valueGetter.get();
|
|
159
|
+
break;
|
|
160
|
+
}
|
|
161
|
+
this._valuesCache.set(row.id, key, value);
|
|
162
|
+
return value;
|
|
163
|
+
}
|
|
164
|
+
addFormatter(key, formatter) {
|
|
165
|
+
const formatterFunction = this.getFormatterFunction(formatter);
|
|
166
|
+
this._formatters.set(key, formatterFunction);
|
|
167
|
+
}
|
|
168
|
+
format(value, row, key) {
|
|
169
|
+
key = this.getKey(key);
|
|
170
|
+
const cachedFormat = this._formatsCache.get(row.id, key);
|
|
171
|
+
if (cachedFormat.exists) {
|
|
172
|
+
return cachedFormat.value;
|
|
173
|
+
}
|
|
174
|
+
const formatter = this._formatters.get(key);
|
|
175
|
+
if (formatter == null) {
|
|
176
|
+
return {
|
|
177
|
+
mode: FormatterValue.Static,
|
|
178
|
+
format: '',
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
let formattedData;
|
|
182
|
+
switch (formatter.value) {
|
|
183
|
+
case FormatterValue.Static:
|
|
184
|
+
formattedData = {
|
|
185
|
+
mode: FormatterValue.Static,
|
|
186
|
+
format: this.formatStatic(formatter.internal, value, row),
|
|
187
|
+
};
|
|
188
|
+
break;
|
|
189
|
+
case FormatterValue.Snippet:
|
|
190
|
+
formattedData = {
|
|
191
|
+
mode: FormatterValue.Snippet,
|
|
192
|
+
snippet: formatter.snippet,
|
|
193
|
+
};
|
|
194
|
+
break;
|
|
195
|
+
case FormatterValue.Component:
|
|
196
|
+
formattedData = {
|
|
197
|
+
mode: FormatterValue.Component,
|
|
198
|
+
component: formatter.component,
|
|
199
|
+
};
|
|
200
|
+
break;
|
|
201
|
+
}
|
|
202
|
+
this._formatsCache.set(row.id, key, formattedData);
|
|
203
|
+
return formattedData;
|
|
204
|
+
}
|
|
205
|
+
formatStatic(formatter,
|
|
206
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
207
|
+
value, row) {
|
|
208
|
+
switch (formatter.mode) {
|
|
209
|
+
case InternalMode.Row: {
|
|
210
|
+
return formatter.format(value, row);
|
|
211
|
+
}
|
|
212
|
+
case InternalMode.NoRow:
|
|
213
|
+
return formatter.format(value);
|
|
214
|
+
}
|
|
215
|
+
}
|
|
216
|
+
getKey(key) {
|
|
217
|
+
return key ?? DEFAULT_KEY;
|
|
218
|
+
}
|
|
219
|
+
addHelperStart(id, helper, position, option) {
|
|
220
|
+
const map = this.getMap(id, position);
|
|
221
|
+
map?.addStart(id, {
|
|
222
|
+
id,
|
|
223
|
+
helper,
|
|
224
|
+
option,
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
addHelperEnd(id, helper, position, option) {
|
|
228
|
+
const map = this.getMap(id, position);
|
|
229
|
+
map?.addEnd(id, {
|
|
230
|
+
id,
|
|
231
|
+
helper,
|
|
232
|
+
option,
|
|
233
|
+
});
|
|
234
|
+
}
|
|
235
|
+
addHelper(id, helper, position, option) {
|
|
236
|
+
const map = this.getMap(id, position);
|
|
237
|
+
map?.add(id, {
|
|
238
|
+
id,
|
|
239
|
+
helper,
|
|
240
|
+
option,
|
|
241
|
+
});
|
|
242
|
+
}
|
|
243
|
+
getMap(id, position) {
|
|
244
|
+
const map = position === HelperPosition.After ? this._helperAfter : this._helperBefore;
|
|
245
|
+
if (map.getByKey(id) != null) {
|
|
246
|
+
return undefined;
|
|
247
|
+
}
|
|
248
|
+
return map;
|
|
249
|
+
}
|
|
250
|
+
async calculateWidth() {
|
|
251
|
+
const rows = this._api.core.rows.visible;
|
|
252
|
+
// Default width is header's width.
|
|
253
|
+
let maxWidth = this.getWidth() ?? 0;
|
|
254
|
+
let longestEntry = undefined;
|
|
255
|
+
for (const row of rows) {
|
|
256
|
+
const entry = this.processRowForWidth(row);
|
|
257
|
+
if (longestEntry == null || entry.length > longestEntry.length) {
|
|
258
|
+
longestEntry = entry;
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
if (longestEntry == null) {
|
|
262
|
+
this._width = maxWidth;
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
this._width = -1;
|
|
266
|
+
this._api.core.columns.setCalculateWidthCell(longestEntry.cell);
|
|
267
|
+
await tick();
|
|
268
|
+
const dom = this._api.dom.querySelector('#width-calculate-cell');
|
|
269
|
+
this._api.core.columns.setCalculateWidthCell(undefined);
|
|
270
|
+
if (dom == null) {
|
|
271
|
+
return;
|
|
272
|
+
}
|
|
273
|
+
const rect = dom.getBoundingClientRect();
|
|
274
|
+
maxWidth = rect.width;
|
|
275
|
+
this._width = Math.ceil(maxWidth);
|
|
276
|
+
console.log(`Column's '${this._id}' max width: ${this._width}`);
|
|
277
|
+
}
|
|
278
|
+
processRowForWidth(row) {
|
|
279
|
+
let longestEntry = undefined;
|
|
280
|
+
const cell = row.getCell(this._id);
|
|
281
|
+
if (cell == null) {
|
|
282
|
+
throw new Error(`Row '${row.id}' doesn't have cell for column '${this._id}'`);
|
|
283
|
+
}
|
|
284
|
+
const length = this.getCellFormatWidth(cell);
|
|
285
|
+
longestEntry = {
|
|
286
|
+
cell,
|
|
287
|
+
length,
|
|
288
|
+
};
|
|
289
|
+
if (longestEntry == null) {
|
|
290
|
+
throw new Error(`Couldn't get longest child for '${this._id}' column`);
|
|
291
|
+
}
|
|
292
|
+
return longestEntry;
|
|
293
|
+
}
|
|
294
|
+
getCellFormatWidth(cell) {
|
|
295
|
+
if (cell.format.mode === FormatterValue.Static) {
|
|
296
|
+
return cell.format.format.length;
|
|
297
|
+
}
|
|
298
|
+
return String(cell.value).length;
|
|
299
|
+
}
|
|
300
|
+
getDom() {
|
|
301
|
+
const selector = `[data-headerCellId="${this._id}"]`;
|
|
302
|
+
const dom = this._api.dom.querySelector(selector);
|
|
303
|
+
if (dom == null) {
|
|
304
|
+
return undefined;
|
|
305
|
+
}
|
|
306
|
+
return dom;
|
|
307
|
+
}
|
|
308
|
+
getWidth() {
|
|
309
|
+
const dom = this.getDom();
|
|
310
|
+
if (dom == null) {
|
|
311
|
+
return undefined;
|
|
312
|
+
}
|
|
313
|
+
const rect = dom.getBoundingClientRect();
|
|
314
|
+
return rect.width;
|
|
315
|
+
}
|
|
316
|
+
setWidth(width) {
|
|
317
|
+
if (width < this._api.core.columns.minimumWidth) {
|
|
318
|
+
width = this._api.core.columns.minimumWidth;
|
|
319
|
+
}
|
|
320
|
+
this._width = width;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Module, type ISveltixGrid } from '../../interfaces';
|
|
2
|
+
import { type BaseColumn } from '../../models';
|
|
3
|
+
import { Cell } from '../rows';
|
|
4
|
+
import { Column } from './Column.svelte';
|
|
5
|
+
import type { ColumnOptions } from './models/ColumnOptions';
|
|
6
|
+
export declare class ColumnsModule<T> extends Module<T> {
|
|
7
|
+
get visible(): Column<T>[];
|
|
8
|
+
get columns(): Column<T>[];
|
|
9
|
+
get minimumWidth(): number;
|
|
10
|
+
get calculateWidthCell(): Cell<T> | undefined;
|
|
11
|
+
private _columnIdCounter;
|
|
12
|
+
private _columns;
|
|
13
|
+
private _calculateWidthCell;
|
|
14
|
+
private readonly _minimumWidth;
|
|
15
|
+
constructor(api: ISveltixGrid<T>, _options: ColumnOptions);
|
|
16
|
+
init(): void;
|
|
17
|
+
uninit(): void;
|
|
18
|
+
createStart(columns: BaseColumn<T>[]): void;
|
|
19
|
+
create(columns: BaseColumn<T>[]): void;
|
|
20
|
+
remove(id: string): void;
|
|
21
|
+
private generateColumn;
|
|
22
|
+
get(id: string): Column<T> | undefined;
|
|
23
|
+
private getColumnId;
|
|
24
|
+
calculateWidth(): Promise<void>;
|
|
25
|
+
setCalculateWidthCell(cell: Cell<T> | undefined): void;
|
|
26
|
+
}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { Module } from '../../interfaces';
|
|
2
|
+
import {} from '../../models';
|
|
3
|
+
import { OrderedMap } from '../../../ordered-map';
|
|
4
|
+
import { CustomComponentPosition } from '../custom/models/CustomComponentPosition';
|
|
5
|
+
import { Cell } from '../rows';
|
|
6
|
+
import { Column } from './Column.svelte';
|
|
7
|
+
import CalculateCellWidth from './components/CalculateCellWidth.svelte';
|
|
8
|
+
export class ColumnsModule extends Module {
|
|
9
|
+
get visible() {
|
|
10
|
+
return this._columns.entries;
|
|
11
|
+
}
|
|
12
|
+
get columns() {
|
|
13
|
+
return this._columns.entries;
|
|
14
|
+
}
|
|
15
|
+
get minimumWidth() {
|
|
16
|
+
return this._minimumWidth;
|
|
17
|
+
}
|
|
18
|
+
get calculateWidthCell() {
|
|
19
|
+
return this._calculateWidthCell;
|
|
20
|
+
}
|
|
21
|
+
_columnIdCounter = $state(0);
|
|
22
|
+
_columns = $state(OrderedMap.create());
|
|
23
|
+
_calculateWidthCell = $state();
|
|
24
|
+
_minimumWidth = 50;
|
|
25
|
+
constructor(api, _options) {
|
|
26
|
+
super(api);
|
|
27
|
+
}
|
|
28
|
+
init() {
|
|
29
|
+
this._api.core.pipelines.addCallback((rows, _columns) => ({
|
|
30
|
+
columns: this._columns.entries,
|
|
31
|
+
rows: rows,
|
|
32
|
+
}), 'columns', 10);
|
|
33
|
+
this._api.core.custom.add({ component: CalculateCellWidth, id: 'fake-cell', options: undefined }, CustomComponentPosition.Action);
|
|
34
|
+
}
|
|
35
|
+
uninit() { }
|
|
36
|
+
createStart(columns) {
|
|
37
|
+
for (const column of columns) {
|
|
38
|
+
const columnToCreate = this.generateColumn(column);
|
|
39
|
+
this._columns.addStart(columnToCreate.id, columnToCreate);
|
|
40
|
+
}
|
|
41
|
+
this._api.emit(this._api.events.column.created, this._columns.entries);
|
|
42
|
+
}
|
|
43
|
+
create(columns) {
|
|
44
|
+
for (const column of columns) {
|
|
45
|
+
const columnToCreate = this.generateColumn(column);
|
|
46
|
+
this._columns.add(columnToCreate.id, columnToCreate);
|
|
47
|
+
}
|
|
48
|
+
this._api.emit(this._api.events.column.created, this._columns.entries);
|
|
49
|
+
}
|
|
50
|
+
remove(id) {
|
|
51
|
+
this._columns.remove(id);
|
|
52
|
+
}
|
|
53
|
+
generateColumn(column) {
|
|
54
|
+
const id = this.getColumnId(column);
|
|
55
|
+
const internalColumn = new Column(this._api, id, column);
|
|
56
|
+
return internalColumn;
|
|
57
|
+
}
|
|
58
|
+
get(id) {
|
|
59
|
+
return this._columns.getByKey(id);
|
|
60
|
+
}
|
|
61
|
+
getColumnId(column) {
|
|
62
|
+
if (column.id != null) {
|
|
63
|
+
return column.id;
|
|
64
|
+
}
|
|
65
|
+
const newId = this._columnIdCounter.toString();
|
|
66
|
+
this._columnIdCounter += 1;
|
|
67
|
+
return newId;
|
|
68
|
+
}
|
|
69
|
+
async calculateWidth() {
|
|
70
|
+
for (const column of this.visible) {
|
|
71
|
+
await column.calculateWidth();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
setCalculateWidthCell(cell) {
|
|
75
|
+
this._calculateWidthCell = cell;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<script
|
|
2
|
+
lang="ts"
|
|
3
|
+
generics="T">
|
|
4
|
+
import type { CustomComponentEntryProps } from '../../custom/CustomComponentsModule.svelte';
|
|
5
|
+
import BodyCell from '../../rows/components/body/BodyCell.svelte';
|
|
6
|
+
|
|
7
|
+
const { api }: CustomComponentEntryProps<T, never> = $props();
|
|
8
|
+
</script>
|
|
9
|
+
|
|
10
|
+
{#if api.core.columns.calculateWidthCell != null}
|
|
11
|
+
<div
|
|
12
|
+
class="invisible absolute -top-96 -left-96 overflow w-fit z-10"
|
|
13
|
+
id="width-calculate-cell">
|
|
14
|
+
<BodyCell
|
|
15
|
+
{api}
|
|
16
|
+
cell={api.core.columns.calculateWidthCell} />
|
|
17
|
+
</div>
|
|
18
|
+
{/if}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CustomComponentEntryProps } from '../../custom/CustomComponentsModule.svelte';
|
|
2
|
+
declare function $$render<T>(): {
|
|
3
|
+
props: CustomComponentEntryProps<T, never>;
|
|
4
|
+
exports: {};
|
|
5
|
+
bindings: "";
|
|
6
|
+
slots: {};
|
|
7
|
+
events: {};
|
|
8
|
+
};
|
|
9
|
+
declare class __sveltets_Render<T> {
|
|
10
|
+
props(): ReturnType<typeof $$render<T>>['props'];
|
|
11
|
+
events(): ReturnType<typeof $$render<T>>['events'];
|
|
12
|
+
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
13
|
+
bindings(): "";
|
|
14
|
+
exports(): {};
|
|
15
|
+
}
|
|
16
|
+
interface $$IsomorphicComponent {
|
|
17
|
+
new <T>(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']>> & {
|
|
18
|
+
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
19
|
+
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
20
|
+
<T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
21
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
22
|
+
}
|
|
23
|
+
declare const CalculateCellWidth: $$IsomorphicComponent;
|
|
24
|
+
type CalculateCellWidth<T> = InstanceType<typeof CalculateCellWidth<T>>;
|
|
25
|
+
export default CalculateCellWidth;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ModuleRegistrationEntry } from '../..';
|
|
2
|
+
import type { ColumnOptions } from './models/ColumnOptions';
|
|
3
|
+
export * from './ColumnsModule.svelte';
|
|
4
|
+
export declare const COLUMNS_MODULE: unique symbol;
|
|
5
|
+
export declare function columnsModule<T>(): ModuleRegistrationEntry<T, ColumnOptions>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ColumnsModule } from './ColumnsModule.svelte';
|
|
2
|
+
export * from './ColumnsModule.svelte';
|
|
3
|
+
export const COLUMNS_MODULE = Symbol.for('COLUMNS_MODULE');
|
|
4
|
+
export function columnsModule() {
|
|
5
|
+
return {
|
|
6
|
+
key: COLUMNS_MODULE,
|
|
7
|
+
module: (ColumnsModule),
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
9
|
+
options: undefined,
|
|
10
|
+
};
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Module, type ISveltixGrid } from '../../interfaces';
|
|
2
|
+
import type { Component } from 'svelte';
|
|
3
|
+
import { CustomComponentPosition } from './models/CustomComponentPosition';
|
|
4
|
+
export interface CustomComponentEntryProps<T, TOption> {
|
|
5
|
+
api: ISveltixGrid<T>;
|
|
6
|
+
options: TOption;
|
|
7
|
+
}
|
|
8
|
+
export interface CustomComponentEntry<T, TOptions> {
|
|
9
|
+
id: string;
|
|
10
|
+
component: Component<CustomComponentEntryProps<T, TOptions>>;
|
|
11
|
+
options: TOptions;
|
|
12
|
+
}
|
|
13
|
+
export declare class CustomComponentsModule<T> extends Module<T> {
|
|
14
|
+
get actions(): any;
|
|
15
|
+
get footer(): any;
|
|
16
|
+
get left(): any;
|
|
17
|
+
get right(): any;
|
|
18
|
+
private _actions;
|
|
19
|
+
private _footer;
|
|
20
|
+
private _left;
|
|
21
|
+
private _right;
|
|
22
|
+
constructor(api: ISveltixGrid<T>);
|
|
23
|
+
add<TOption>(entry: CustomComponentEntry<T, TOption>, position: CustomComponentPosition): void;
|
|
24
|
+
remove(id: string, position: CustomComponentPosition): void;
|
|
25
|
+
init(): void;
|
|
26
|
+
uninit(): void;
|
|
27
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Module } from '../../interfaces';
|
|
2
|
+
import { OrderedMap } from '../../../ordered-map';
|
|
3
|
+
import { CustomComponentPosition } from './models/CustomComponentPosition';
|
|
4
|
+
export class CustomComponentsModule extends Module {
|
|
5
|
+
get actions() {
|
|
6
|
+
return this._actions.entries;
|
|
7
|
+
}
|
|
8
|
+
get footer() {
|
|
9
|
+
return this._footer.entries;
|
|
10
|
+
}
|
|
11
|
+
get left() {
|
|
12
|
+
return this._left.entries;
|
|
13
|
+
}
|
|
14
|
+
get right() {
|
|
15
|
+
return this._right.entries;
|
|
16
|
+
}
|
|
17
|
+
_actions = $state(OrderedMap.create());
|
|
18
|
+
_footer = $state(OrderedMap.create());
|
|
19
|
+
_left = $state(OrderedMap.create());
|
|
20
|
+
_right = $state(OrderedMap.create());
|
|
21
|
+
constructor(api) {
|
|
22
|
+
super(api);
|
|
23
|
+
}
|
|
24
|
+
add(entry, position) {
|
|
25
|
+
switch (position) {
|
|
26
|
+
case CustomComponentPosition.Action:
|
|
27
|
+
this._actions.add(entry.id, entry);
|
|
28
|
+
break;
|
|
29
|
+
case CustomComponentPosition.Left:
|
|
30
|
+
this._left.add(entry.id, entry);
|
|
31
|
+
break;
|
|
32
|
+
case CustomComponentPosition.Footer:
|
|
33
|
+
this._footer.add(entry.id, entry);
|
|
34
|
+
break;
|
|
35
|
+
case CustomComponentPosition.Right:
|
|
36
|
+
this._right.add(entry.id, entry);
|
|
37
|
+
break;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
remove(id, position) {
|
|
41
|
+
switch (position) {
|
|
42
|
+
case CustomComponentPosition.Action:
|
|
43
|
+
this._actions.remove(id);
|
|
44
|
+
break;
|
|
45
|
+
case CustomComponentPosition.Left:
|
|
46
|
+
this._left.remove(id);
|
|
47
|
+
break;
|
|
48
|
+
case CustomComponentPosition.Footer:
|
|
49
|
+
this._footer.remove(id);
|
|
50
|
+
break;
|
|
51
|
+
case CustomComponentPosition.Right:
|
|
52
|
+
this._right.remove(id);
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
init() { }
|
|
57
|
+
uninit() { }
|
|
58
|
+
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
<script
|
|
2
|
+
lang="ts"
|
|
3
|
+
module>
|
|
4
|
+
import type { ISveltixGrid } from '../../../interfaces';
|
|
5
|
+
import type { CustomComponentEntry } from '../CustomComponentsModule.svelte';
|
|
6
|
+
import { CustomComponentPosition } from '../models/CustomComponentPosition';
|
|
7
|
+
|
|
8
|
+
export interface CustomComponentsProps<T> {
|
|
9
|
+
api: ISveltixGrid<T>;
|
|
10
|
+
position: CustomComponentPosition;
|
|
11
|
+
}
|
|
12
|
+
</script>
|
|
13
|
+
|
|
14
|
+
<script
|
|
15
|
+
lang="ts"
|
|
16
|
+
generics="T">
|
|
17
|
+
const { api, position }: CustomComponentsProps<T> = $props();
|
|
18
|
+
</script>
|
|
19
|
+
|
|
20
|
+
{#snippet renderComponents(components: CustomComponentEntry<T, unknown>[])}
|
|
21
|
+
{#each components as component (component.id)}
|
|
22
|
+
<component.component
|
|
23
|
+
{api}
|
|
24
|
+
options={component.options} />
|
|
25
|
+
{/each}
|
|
26
|
+
{/snippet}
|
|
27
|
+
|
|
28
|
+
{#if position === CustomComponentPosition.Action}
|
|
29
|
+
{@render renderComponents(api.core.custom.actions)}
|
|
30
|
+
{:else if position === CustomComponentPosition.Footer}
|
|
31
|
+
{@render renderComponents(api.core.custom.footer)}
|
|
32
|
+
{:else if position === CustomComponentPosition.Left}
|
|
33
|
+
{@render renderComponents(api.core.custom.left)}
|
|
34
|
+
{:else if position === CustomComponentPosition.Right}
|
|
35
|
+
{@render renderComponents(api.core.custom.right)}
|
|
36
|
+
{/if}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { ISveltixGrid } from '../../../interfaces';
|
|
2
|
+
import { CustomComponentPosition } from '../models/CustomComponentPosition';
|
|
3
|
+
export interface CustomComponentsProps<T> {
|
|
4
|
+
api: ISveltixGrid<T>;
|
|
5
|
+
position: CustomComponentPosition;
|
|
6
|
+
}
|
|
7
|
+
declare function $$render<T>(): {
|
|
8
|
+
props: CustomComponentsProps<T>;
|
|
9
|
+
exports: {};
|
|
10
|
+
bindings: "";
|
|
11
|
+
slots: {};
|
|
12
|
+
events: {};
|
|
13
|
+
};
|
|
14
|
+
declare class __sveltets_Render<T> {
|
|
15
|
+
props(): ReturnType<typeof $$render<T>>['props'];
|
|
16
|
+
events(): ReturnType<typeof $$render<T>>['events'];
|
|
17
|
+
slots(): ReturnType<typeof $$render<T>>['slots'];
|
|
18
|
+
bindings(): "";
|
|
19
|
+
exports(): {};
|
|
20
|
+
}
|
|
21
|
+
interface $$IsomorphicComponent {
|
|
22
|
+
new <T>(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']>> & {
|
|
23
|
+
$$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
|
|
24
|
+
} & ReturnType<__sveltets_Render<T>['exports']>;
|
|
25
|
+
<T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
|
|
26
|
+
z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
|
|
27
|
+
}
|
|
28
|
+
declare const CustomComponents: $$IsomorphicComponent;
|
|
29
|
+
type CustomComponents<T> = InstanceType<typeof CustomComponents<T>>;
|
|
30
|
+
export default CustomComponents;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { CustomComponentsModule } from './CustomComponentsModule.svelte';
|
|
2
|
+
export const CUSTOM_COMPONENTS_MODULE = Symbol.for('CUSTOM_COMPONENTS_MODULE');
|
|
3
|
+
export function customComponentsModule() {
|
|
4
|
+
return {
|
|
5
|
+
key: CUSTOM_COMPONENTS_MODULE,
|
|
6
|
+
module: (CustomComponentsModule),
|
|
7
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
8
|
+
options: undefined,
|
|
9
|
+
};
|
|
10
|
+
}
|