@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.
Files changed (244) hide show
  1. package/README.md +103 -0
  2. package/dist/button/Button.svelte +24 -0
  3. package/dist/button/Button.svelte.d.ts +4 -0
  4. package/dist/button/ButtonComponent.svelte.d.ts +15 -0
  5. package/dist/button/ButtonComponent.svelte.js +26 -0
  6. package/dist/button/ButtonStyles.d.ts +11 -0
  7. package/dist/button/ButtonStyles.js +2 -0
  8. package/dist/button/__tests__/builders/ButtonBuilder.d.ts +23 -0
  9. package/dist/button/__tests__/builders/ButtonBuilder.js +61 -0
  10. package/dist/button/__tests__/builders/ButtonStory.svelte +27 -0
  11. package/dist/button/__tests__/builders/ButtonStory.svelte.d.ts +14 -0
  12. package/dist/button/__tests__/pom/ButtonPom.d.ts +6 -0
  13. package/dist/button/__tests__/pom/ButtonPom.js +14 -0
  14. package/dist/button/buttonDefaults.d.ts +9 -0
  15. package/dist/button/buttonDefaults.js +9 -0
  16. package/dist/button/index.d.ts +5 -0
  17. package/dist/button/index.js +9 -0
  18. package/dist/button/internal/DefaultButtonStyles.d.ts +15 -0
  19. package/dist/button/internal/DefaultButtonStyles.js +64 -0
  20. package/dist/button/models/ButtonProps.d.ts +45 -0
  21. package/dist/button/models/ButtonProps.js +1 -0
  22. package/dist/button/models/ButtonSize.d.ts +6 -0
  23. package/dist/button/models/ButtonSize.js +7 -0
  24. package/dist/button/models/ButtonVariant.d.ts +5 -0
  25. package/dist/button/models/ButtonVariant.js +6 -0
  26. package/dist/button/models/index.d.ts +3 -0
  27. package/dist/button/models/index.js +3 -0
  28. package/dist/cache/Cache.d.ts +18 -0
  29. package/dist/cache/Cache.js +20 -0
  30. package/dist/cache/MappedCache.d.ts +7 -0
  31. package/dist/cache/MappedCache.js +35 -0
  32. package/dist/cache/__tests__/builders/CacheBuilder.d.ts +7 -0
  33. package/dist/cache/__tests__/builders/CacheBuilder.js +18 -0
  34. package/dist/cache/__tests__/builders/MappedCacheBuilder.d.ts +7 -0
  35. package/dist/cache/__tests__/builders/MappedCacheBuilder.js +18 -0
  36. package/dist/cache/index.d.ts +2 -0
  37. package/dist/cache/index.js +2 -0
  38. package/dist/datagrid/SveltixGrid.svelte.d.ts +35 -0
  39. package/dist/datagrid/SveltixGrid.svelte.js +90 -0
  40. package/dist/datagrid/SveltixGridGlobal.d.ts +9 -0
  41. package/dist/datagrid/SveltixGridGlobal.js +12 -0
  42. package/dist/datagrid/components/Datagrid.svelte +114 -0
  43. package/dist/datagrid/components/Datagrid.svelte.d.ts +39 -0
  44. package/dist/datagrid/core-modules/columns/Column.svelte.d.ts +79 -0
  45. package/dist/datagrid/core-modules/columns/Column.svelte.js +322 -0
  46. package/dist/datagrid/core-modules/columns/ColumnsModule.svelte.d.ts +26 -0
  47. package/dist/datagrid/core-modules/columns/ColumnsModule.svelte.js +77 -0
  48. package/dist/datagrid/core-modules/columns/components/CalculateCellWidth.svelte +18 -0
  49. package/dist/datagrid/core-modules/columns/components/CalculateCellWidth.svelte.d.ts +25 -0
  50. package/dist/datagrid/core-modules/columns/index.d.ts +5 -0
  51. package/dist/datagrid/core-modules/columns/index.js +11 -0
  52. package/dist/datagrid/core-modules/columns/models/ColumnOptions.d.ts +2 -0
  53. package/dist/datagrid/core-modules/columns/models/ColumnOptions.js +1 -0
  54. package/dist/datagrid/core-modules/custom/CustomComponentsModule.svelte.d.ts +27 -0
  55. package/dist/datagrid/core-modules/custom/CustomComponentsModule.svelte.js +58 -0
  56. package/dist/datagrid/core-modules/custom/components/CustomComponents.svelte +36 -0
  57. package/dist/datagrid/core-modules/custom/components/CustomComponents.svelte.d.ts +30 -0
  58. package/dist/datagrid/core-modules/custom/index.d.ts +3 -0
  59. package/dist/datagrid/core-modules/custom/index.js +10 -0
  60. package/dist/datagrid/core-modules/custom/models/CustomComponentPosition.d.ts +21 -0
  61. package/dist/datagrid/core-modules/custom/models/CustomComponentPosition.js +22 -0
  62. package/dist/datagrid/core-modules/index.d.ts +4 -0
  63. package/dist/datagrid/core-modules/index.js +4 -0
  64. package/dist/datagrid/core-modules/pipelines/PipelinesModule.svelte.d.ts +12 -0
  65. package/dist/datagrid/core-modules/pipelines/PipelinesModule.svelte.js +58 -0
  66. package/dist/datagrid/core-modules/pipelines/index.d.ts +4 -0
  67. package/dist/datagrid/core-modules/pipelines/index.js +11 -0
  68. package/dist/datagrid/core-modules/pipelines/models/CallbackSignature.d.ts +9 -0
  69. package/dist/datagrid/core-modules/pipelines/models/CallbackSignature.js +1 -0
  70. package/dist/datagrid/core-modules/rows/Cell.svelte.d.ts +27 -0
  71. package/dist/datagrid/core-modules/rows/Cell.svelte.js +103 -0
  72. package/dist/datagrid/core-modules/rows/Row.svelte.d.ts +24 -0
  73. package/dist/datagrid/core-modules/rows/Row.svelte.js +117 -0
  74. package/dist/datagrid/core-modules/rows/RowsModule.svelte.d.ts +33 -0
  75. package/dist/datagrid/core-modules/rows/RowsModule.svelte.js +115 -0
  76. package/dist/datagrid/core-modules/rows/components/body/BodyCell.svelte +31 -0
  77. package/dist/datagrid/core-modules/rows/components/body/BodyCell.svelte.d.ts +30 -0
  78. package/dist/datagrid/core-modules/rows/components/body/GroupCell.svelte +26 -0
  79. package/dist/datagrid/core-modules/rows/components/body/GroupCell.svelte.d.ts +25 -0
  80. package/dist/datagrid/core-modules/rows/index.d.ts +8 -0
  81. package/dist/datagrid/core-modules/rows/index.js +13 -0
  82. package/dist/datagrid/core-modules/rows/internal/CreateRowOptions.d.ts +15 -0
  83. package/dist/datagrid/core-modules/rows/internal/CreateRowOptions.js +1 -0
  84. package/dist/datagrid/core-modules/rows/models/RowsOptions.d.ts +3 -0
  85. package/dist/datagrid/core-modules/rows/models/RowsOptions.js +1 -0
  86. package/dist/datagrid/core-modules/rows/models/index.d.ts +1 -0
  87. package/dist/datagrid/core-modules/rows/models/index.js +1 -0
  88. package/dist/datagrid/events/generateEvents.d.ts +2 -0
  89. package/dist/datagrid/events/generateEvents.js +16 -0
  90. package/dist/datagrid/events/index.d.ts +2 -0
  91. package/dist/datagrid/events/index.js +2 -0
  92. package/dist/datagrid/events/models/RowUpdatedArgs.d.ts +5 -0
  93. package/dist/datagrid/events/models/RowUpdatedArgs.js +1 -0
  94. package/dist/datagrid/events/models/SveltixEvents.d.ts +20 -0
  95. package/dist/datagrid/events/models/SveltixEvents.js +1 -0
  96. package/dist/datagrid/events/models/index.d.ts +2 -0
  97. package/dist/datagrid/events/models/index.js +2 -0
  98. package/dist/datagrid/index.d.ts +5 -0
  99. package/dist/datagrid/index.js +5 -0
  100. package/dist/datagrid/interfaces/ISveltixGrid.d.ts +22 -0
  101. package/dist/datagrid/interfaces/ISveltixGrid.js +1 -0
  102. package/dist/datagrid/interfaces/Module.d.ts +11 -0
  103. package/dist/datagrid/interfaces/Module.js +13 -0
  104. package/dist/datagrid/interfaces/index.d.ts +2 -0
  105. package/dist/datagrid/interfaces/index.js +2 -0
  106. package/dist/datagrid/models/BaseColumn.d.ts +23 -0
  107. package/dist/datagrid/models/BaseColumn.js +1 -0
  108. package/dist/datagrid/models/Formatter.d.ts +32 -0
  109. package/dist/datagrid/models/Formatter.js +7 -0
  110. package/dist/datagrid/models/SveltixGridOptions.d.ts +12 -0
  111. package/dist/datagrid/models/SveltixGridOptions.js +1 -0
  112. package/dist/datagrid/models/Value.d.ts +21 -0
  113. package/dist/datagrid/models/Value.js +6 -0
  114. package/dist/datagrid/models/index.d.ts +4 -0
  115. package/dist/datagrid/models/index.js +4 -0
  116. package/dist/datagrid/models/module/ModuleConstructor.d.ts +5 -0
  117. package/dist/datagrid/models/module/ModuleConstructor.js +1 -0
  118. package/dist/datagrid/models/module/ModuleRegistrationEntry.d.ts +6 -0
  119. package/dist/datagrid/models/module/ModuleRegistrationEntry.js +1 -0
  120. package/dist/datagrid/models/module/index.d.ts +2 -0
  121. package/dist/datagrid/models/module/index.js +2 -0
  122. package/dist/datagrid/modules/flash/FlashModule.svelte.d.ts +9 -0
  123. package/dist/datagrid/modules/flash/FlashModule.svelte.js +33 -0
  124. package/dist/datagrid/modules/flash/index.d.ts +5 -0
  125. package/dist/datagrid/modules/flash/index.js +10 -0
  126. package/dist/datagrid/modules/flash/models/FlashModuleOptions.d.ts +4 -0
  127. package/dist/datagrid/modules/flash/models/FlashModuleOptions.js +1 -0
  128. package/dist/datagrid/modules/flash/models/index.d.ts +1 -0
  129. package/dist/datagrid/modules/flash/models/index.js +1 -0
  130. package/dist/datagrid/modules/resize/ResizeModule.svelte.d.ts +14 -0
  131. package/dist/datagrid/modules/resize/ResizeModule.svelte.js +68 -0
  132. package/dist/datagrid/modules/resize/components/ResizeCustomComponent.svelte +15 -0
  133. package/dist/datagrid/modules/resize/components/ResizeCustomComponent.svelte.d.ts +25 -0
  134. package/dist/datagrid/modules/resize/components/ResizeHandle.svelte +29 -0
  135. package/dist/datagrid/modules/resize/components/ResizeHandle.svelte.d.ts +28 -0
  136. package/dist/datagrid/modules/resize/index.d.ts +5 -0
  137. package/dist/datagrid/modules/resize/index.js +12 -0
  138. package/dist/datagrid/modules/resize/models/ResizeModuleOptions.d.ts +15 -0
  139. package/dist/datagrid/modules/resize/models/ResizeModuleOptions.js +1 -0
  140. package/dist/datagrid/modules/resize/models/index.d.ts +1 -0
  141. package/dist/datagrid/modules/resize/models/index.js +1 -0
  142. package/dist/deep-equal/deepEqual.d.ts +7 -0
  143. package/dist/deep-equal/deepEqual.js +79 -0
  144. package/dist/deep-equal/index.d.ts +1 -0
  145. package/dist/deep-equal/index.js +1 -0
  146. package/dist/di/DiContainer.d.ts +20 -0
  147. package/dist/di/DiContainer.js +42 -0
  148. package/dist/event-bus/EventBus.d.ts +9 -0
  149. package/dist/event-bus/EventBus.js +38 -0
  150. package/dist/event-bus/createEventDefinition.d.ts +1 -0
  151. package/dist/event-bus/createEventDefinition.js +5 -0
  152. package/dist/event-bus/index.d.ts +3 -0
  153. package/dist/event-bus/index.js +3 -0
  154. package/dist/event-bus/models/Event.d.ts +6 -0
  155. package/dist/event-bus/models/Event.js +1 -0
  156. package/dist/event-bus/models/SubscriberEntry.d.ts +5 -0
  157. package/dist/event-bus/models/SubscriberEntry.js +1 -0
  158. package/dist/event-bus/models/SubscriberSignature.d.ts +3 -0
  159. package/dist/event-bus/models/SubscriberSignature.js +1 -0
  160. package/dist/event-bus/models/UnsubscribeSignature.d.ts +3 -0
  161. package/dist/event-bus/models/UnsubscribeSignature.js +1 -0
  162. package/dist/event-bus/models/index.d.ts +4 -0
  163. package/dist/event-bus/models/index.js +4 -0
  164. package/dist/groupBy/groupBy.d.ts +2 -0
  165. package/dist/groupBy/groupBy.js +22 -0
  166. package/dist/groupBy/index.d.ts +2 -0
  167. package/dist/groupBy/index.js +2 -0
  168. package/dist/groupBy/models/Grouping.d.ts +4 -0
  169. package/dist/groupBy/models/Grouping.js +1 -0
  170. package/dist/groupBy/models/index.d.ts +1 -0
  171. package/dist/groupBy/models/index.js +1 -0
  172. package/dist/heading/Heading.svelte +28 -0
  173. package/dist/heading/Heading.svelte.d.ts +4 -0
  174. package/dist/heading/HeadingComponent.svelte.d.ts +13 -0
  175. package/dist/heading/HeadingComponent.svelte.js +20 -0
  176. package/dist/heading/HeadingStyles.d.ts +11 -0
  177. package/dist/heading/HeadingStyles.js +1 -0
  178. package/dist/heading/__tests__/HeadingBuilder.d.ts +12 -0
  179. package/dist/heading/__tests__/HeadingBuilder.js +34 -0
  180. package/dist/heading/__tests__/HeadingStory.svelte +16 -0
  181. package/dist/heading/__tests__/HeadingStory.svelte.d.ts +10 -0
  182. package/dist/heading/headingClasses.d.ts +8 -0
  183. package/dist/heading/headingClasses.js +8 -0
  184. package/dist/heading/index.d.ts +5 -0
  185. package/dist/heading/index.js +8 -0
  186. package/dist/heading/internal/DefaultHeadingStyles.d.ts +15 -0
  187. package/dist/heading/internal/DefaultHeadingStyles.js +75 -0
  188. package/dist/heading/models/Align.d.ts +8 -0
  189. package/dist/heading/models/Align.js +9 -0
  190. package/dist/heading/models/HeadingProps.d.ts +25 -0
  191. package/dist/heading/models/HeadingProps.js +1 -0
  192. package/dist/heading/models/HeadingTag.d.ts +1 -0
  193. package/dist/heading/models/HeadingTag.js +1 -0
  194. package/dist/heading/models/index.d.ts +3 -0
  195. package/dist/heading/models/index.js +3 -0
  196. package/dist/index.d.ts +2 -0
  197. package/dist/index.js +2 -0
  198. package/dist/ordered-map/OrderedMap.svelte.d.ts +27 -0
  199. package/dist/ordered-map/OrderedMap.svelte.js +138 -0
  200. package/dist/ordered-map/__tests__/builders/OrderedMapBuilder.d.ts +9 -0
  201. package/dist/ordered-map/__tests__/builders/OrderedMapBuilder.js +26 -0
  202. package/dist/ordered-map/index.d.ts +1 -0
  203. package/dist/ordered-map/index.js +1 -0
  204. package/dist/paragraph/P.svelte +21 -0
  205. package/dist/paragraph/P.svelte.d.ts +4 -0
  206. package/dist/paragraph/PComponents.svelte.d.ts +13 -0
  207. package/dist/paragraph/PComponents.svelte.js +20 -0
  208. package/dist/paragraph/ParagraphStyles.d.ts +11 -0
  209. package/dist/paragraph/ParagraphStyles.js +1 -0
  210. package/dist/paragraph/__tests__/PStory.svelte +15 -0
  211. package/dist/paragraph/__tests__/PStory.svelte.d.ts +10 -0
  212. package/dist/paragraph/__tests__/ParagraphBuilder.d.ts +10 -0
  213. package/dist/paragraph/__tests__/ParagraphBuilder.js +28 -0
  214. package/dist/paragraph/index.d.ts +5 -0
  215. package/dist/paragraph/index.js +8 -0
  216. package/dist/paragraph/internal/DefaultParagraphStyles.d.ts +15 -0
  217. package/dist/paragraph/internal/DefaultParagraphStyles.js +61 -0
  218. package/dist/paragraph/internal/classes.d.ts +6 -0
  219. package/dist/paragraph/internal/classes.js +7 -0
  220. package/dist/paragraph/models/PFont.d.ts +4 -0
  221. package/dist/paragraph/models/PFont.js +5 -0
  222. package/dist/paragraph/models/PProps.d.ts +12 -0
  223. package/dist/paragraph/models/PProps.js +1 -0
  224. package/dist/paragraph/models/PSize.d.ts +6 -0
  225. package/dist/paragraph/models/PSize.js +7 -0
  226. package/dist/paragraph/models/index.d.ts +3 -0
  227. package/dist/paragraph/models/index.js +3 -0
  228. package/dist/theme/Component.svelte.d.ts +13 -0
  229. package/dist/theme/Component.svelte.js +20 -0
  230. package/dist/theme/index.d.ts +2 -0
  231. package/dist/theme/index.js +2 -0
  232. package/dist/theme/models/ThemableComponent.d.ts +6 -0
  233. package/dist/theme/models/ThemableComponent.js +1 -0
  234. package/dist/theme/models/Theme.d.ts +9 -0
  235. package/dist/theme/models/Theme.js +10 -0
  236. package/dist/theme/models/index.d.ts +2 -0
  237. package/dist/theme/models/index.js +2 -0
  238. package/dist/theme/themeDefaults.d.ts +2 -0
  239. package/dist/theme/themeDefaults.js +2 -0
  240. package/dist/types/KeysOfType.d.ts +3 -0
  241. package/dist/types/KeysOfType.js +1 -0
  242. package/dist/types/SurfaceContainerStyles.d.ts +4 -0
  243. package/dist/types/SurfaceContainerStyles.js +1 -0
  244. package/package.json +82 -0
@@ -0,0 +1,25 @@
1
+ import type { FormatterComponentProps } from '../../../../models';
2
+ declare function $$render<T>(): {
3
+ props: FormatterComponentProps<T>;
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 GroupCell: $$IsomorphicComponent;
24
+ type GroupCell<T> = InstanceType<typeof GroupCell<T>>;
25
+ export default GroupCell;
@@ -0,0 +1,8 @@
1
+ import type { ModuleRegistrationEntry } from '../../models';
2
+ import type { RowsOptions } from './models/RowsOptions';
3
+ export * from './RowsModule.svelte';
4
+ export declare const ROWS_MODULE: unique symbol;
5
+ export declare function rowsModule<T>(options?: RowsOptions<T>): ModuleRegistrationEntry<T, RowsOptions<T> | undefined>;
6
+ export * from './Row.svelte';
7
+ export * from './Cell.svelte';
8
+ export * from './models';
@@ -0,0 +1,13 @@
1
+ import { RowsModule } from './RowsModule.svelte';
2
+ export * from './RowsModule.svelte';
3
+ export const ROWS_MODULE = Symbol.for('ROWS_MODULE');
4
+ export function rowsModule(options) {
5
+ return {
6
+ key: ROWS_MODULE,
7
+ module: (RowsModule),
8
+ options: options,
9
+ };
10
+ }
11
+ export * from './Row.svelte';
12
+ export * from './Cell.svelte';
13
+ export * from './models';
@@ -0,0 +1,15 @@
1
+ import type { ISveltixGrid, Row } from '../../..';
2
+ import type { Formatted } from '../../columns/Column.svelte';
3
+ export interface RowCreateCell<T> {
4
+ value?: unknown;
5
+ format?: Formatted<T>;
6
+ columnId: string;
7
+ }
8
+ export interface CreateRowOptions<T> {
9
+ data: T;
10
+ id: string;
11
+ api: ISveltixGrid<T>;
12
+ parent?: Row<T>;
13
+ isGroup?: boolean;
14
+ cells?: RowCreateCell<T>[];
15
+ }
@@ -0,0 +1,3 @@
1
+ export interface RowsOptions<T> {
2
+ getRowId?: (row: T) => string;
3
+ }
@@ -0,0 +1 @@
1
+ export * from './RowsOptions';
@@ -0,0 +1 @@
1
+ export * from './RowsOptions';
@@ -0,0 +1,2 @@
1
+ import type { SveltixEvents } from './models/SveltixEvents';
2
+ export declare function generateEvent<T>(): SveltixEvents<T>;
@@ -0,0 +1,16 @@
1
+ import { createEventDefinition } from '../../event-bus';
2
+ export function generateEvent() {
3
+ return {
4
+ row: {
5
+ created: createEventDefinition('row/created'),
6
+ updated: createEventDefinition('row/updated'),
7
+ removed: createEventDefinition('row/removed'),
8
+ },
9
+ column: {
10
+ created: createEventDefinition('column/created'),
11
+ },
12
+ pipeline: {
13
+ executed: createEventDefinition('pipeline/executed'),
14
+ },
15
+ };
16
+ }
@@ -0,0 +1,2 @@
1
+ export * from './generateEvents';
2
+ export * from './models';
@@ -0,0 +1,2 @@
1
+ export * from './generateEvents';
2
+ export * from './models';
@@ -0,0 +1,5 @@
1
+ import type { Row, Cell } from '../../core-modules';
2
+ export interface RowUpdatedArgs<T> {
3
+ row: Row<T>;
4
+ cell: Cell<T>;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,20 @@
1
+ import type { Row } from '../../core-modules';
2
+ import type { Column } from '../../core-modules/columns/Column.svelte';
3
+ import type { Event } from '../../../event-bus';
4
+ import type { RowUpdatedArgs } from './RowUpdatedArgs';
5
+ export interface SveltixEvents<T> {
6
+ row: {
7
+ created: Event<Row<T>[]>;
8
+ updated: Event<RowUpdatedArgs<T>[]>;
9
+ removed: Event<Row<T>>;
10
+ };
11
+ column: {
12
+ created: Event<Column<T>[]>;
13
+ };
14
+ pipeline: {
15
+ executed: Event<{
16
+ rows: Row<T>[];
17
+ columns: Column<T>[];
18
+ }>;
19
+ };
20
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './SveltixEvents';
2
+ export * from './RowUpdatedArgs';
@@ -0,0 +1,2 @@
1
+ export * from './SveltixEvents';
2
+ export * from './RowUpdatedArgs';
@@ -0,0 +1,5 @@
1
+ import Datagrid from './components/Datagrid.svelte';
2
+ export { Datagrid };
3
+ export * from './interfaces';
4
+ export * from './models';
5
+ export * from './core-modules';
@@ -0,0 +1,5 @@
1
+ import Datagrid from './components/Datagrid.svelte';
2
+ export { Datagrid };
3
+ export * from './interfaces';
4
+ export * from './models';
5
+ export * from './core-modules';
@@ -0,0 +1,22 @@
1
+ import type { SubscriberSignature, UnsubscribeSignature, Event } from '../../event-bus';
2
+ import type { SveltixEvents } from '../events';
3
+ import type { ModuleRegistrationEntry } from '../models';
4
+ import type { CoreModules } from '../SveltixGrid.svelte';
5
+ export interface ISveltixGrid<T> {
6
+ get dom(): HTMLDivElement;
7
+ get core(): CoreModules<T>;
8
+ get events(): SveltixEvents<T>;
9
+ on<TEvent>(event: Event<TEvent>, callback: SubscriberSignature<TEvent>): UnsubscribeSignature;
10
+ emit<TEvent>(event: Event<TEvent>, data: TEvent): void;
11
+ /**
12
+ * Registers wanted module.
13
+ * @param entry Module's registration entry.
14
+ */
15
+ addModule<TOption>(entry: ModuleRegistrationEntry<T, TOption>): void;
16
+ /**
17
+ * Retrieve registered module.
18
+ * @param id Identifaction for the module.
19
+ */
20
+ getModule<TModule>(id: symbol): TModule;
21
+ destroy(): void;
22
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,11 @@
1
+ import type { UnsubscribeSignature } from '../../event-bus';
2
+ import type { ISveltixGrid } from '.';
3
+ export declare abstract class Module<T> {
4
+ private _unsubs;
5
+ protected _api: ISveltixGrid<T>;
6
+ constructor(api: ISveltixGrid<T>);
7
+ abstract init(): void;
8
+ abstract uninit(): void;
9
+ protected addUnsub(unsub: UnsubscribeSignature): void;
10
+ unsubscribe(): void;
11
+ }
@@ -0,0 +1,13 @@
1
+ export class Module {
2
+ _unsubs = [];
3
+ _api;
4
+ constructor(api) {
5
+ this._api = api;
6
+ }
7
+ addUnsub(unsub) {
8
+ this._unsubs.push(unsub);
9
+ }
10
+ unsubscribe() {
11
+ this._unsubs.forEach((unsub) => unsub());
12
+ }
13
+ }
@@ -0,0 +1,2 @@
1
+ export * from './Module';
2
+ export * from './ISveltixGrid';
@@ -0,0 +1,2 @@
1
+ export * from './Module';
2
+ export * from './ISveltixGrid';
@@ -0,0 +1,23 @@
1
+ import type { Formatter } from './Formatter';
2
+ import type { Value } from './Value';
3
+ /**
4
+ * Represents single column.
5
+ */
6
+ export interface BaseColumn<T> {
7
+ /**
8
+ * Column's title.
9
+ */
10
+ header: string;
11
+ /**
12
+ * A way to retrieve a value for the column.
13
+ */
14
+ value: Value<T>;
15
+ /**
16
+ * Optional way for custom formatting. If not defined, value will be displayed as-is.
17
+ */
18
+ format?: Formatter<T>;
19
+ /**
20
+ * ID to differentiate columns (if needed)
21
+ */
22
+ id?: string;
23
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,32 @@
1
+ import type { Component, Snippet } from 'svelte';
2
+ import type { Cell, Row } from '../core-modules';
3
+ import type { ISveltixGrid } from '../interfaces';
4
+ export declare enum FormatterMode {
5
+ Callback = "Callback",
6
+ Static = "Static",
7
+ Snippet = "Snippet",
8
+ Component = "Component"
9
+ }
10
+ interface FormatterBase<T extends FormatterMode> {
11
+ mode: T;
12
+ }
13
+ interface FormatterCallback<T> extends FormatterBase<FormatterMode.Callback> {
14
+ format: (value: unknown, row: Row<T>) => string;
15
+ }
16
+ interface FormatterStatic extends FormatterBase<FormatterMode.Static> {
17
+ format: {
18
+ [key: string]: string;
19
+ };
20
+ }
21
+ interface FormatterSnippet extends FormatterBase<FormatterMode.Snippet> {
22
+ snippet: Snippet<[value: any]>;
23
+ }
24
+ export interface FormatterComponentProps<T> {
25
+ api: ISveltixGrid<T>;
26
+ cell: Cell<T>;
27
+ }
28
+ interface FormatterComponent<T> extends FormatterBase<FormatterMode.Component> {
29
+ component: Component<FormatterComponentProps<T>>;
30
+ }
31
+ export type Formatter<T> = FormatterCallback<T> | FormatterStatic | FormatterSnippet | FormatterComponent<T>;
32
+ export {};
@@ -0,0 +1,7 @@
1
+ export var FormatterMode;
2
+ (function (FormatterMode) {
3
+ FormatterMode["Callback"] = "Callback";
4
+ FormatterMode["Static"] = "Static";
5
+ FormatterMode["Snippet"] = "Snippet";
6
+ FormatterMode["Component"] = "Component";
7
+ })(FormatterMode || (FormatterMode = {}));
@@ -0,0 +1,12 @@
1
+ import type { RowsOptions } from '../core-modules/rows/models/RowsOptions';
2
+ import type { ModuleRegistrationEntry } from './module';
3
+ export interface SveltixGridOptions<T> {
4
+ /**
5
+ * Options for the rows' module.
6
+ */
7
+ rows?: RowsOptions<T>;
8
+ /**
9
+ * Modules to register.
10
+ */
11
+ modules?: ModuleRegistrationEntry<T, any>[];
12
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,21 @@
1
+ import type { Row } from '../core-modules';
2
+ export declare enum ValueMode {
3
+ Key = "Key",
4
+ Callback = "Callback",
5
+ Static = "Static"
6
+ }
7
+ interface ValueBase<T extends ValueMode> {
8
+ mode: T;
9
+ }
10
+ interface ValueKey<T> extends ValueBase<ValueMode.Key> {
11
+ key: keyof T;
12
+ }
13
+ interface ValueCallback<T> extends ValueBase<ValueMode.Callback> {
14
+ get: (row: Row<T>) => unknown;
15
+ set?: (value: any, row: T) => T;
16
+ }
17
+ interface ValueStatic extends ValueBase<ValueMode.Static> {
18
+ values: unknown[];
19
+ }
20
+ export type Value<T> = ValueKey<T> | ValueCallback<T> | ValueStatic;
21
+ export {};
@@ -0,0 +1,6 @@
1
+ export var ValueMode;
2
+ (function (ValueMode) {
3
+ ValueMode["Key"] = "Key";
4
+ ValueMode["Callback"] = "Callback";
5
+ ValueMode["Static"] = "Static";
6
+ })(ValueMode || (ValueMode = {}));
@@ -0,0 +1,4 @@
1
+ export * from './BaseColumn';
2
+ export * from './Value';
3
+ export * from './Formatter';
4
+ export * from './module';
@@ -0,0 +1,4 @@
1
+ export * from './BaseColumn';
2
+ export * from './Value';
3
+ export * from './Formatter';
4
+ export * from './module';
@@ -0,0 +1,5 @@
1
+ import type { Module } from '../../interfaces/Module';
2
+ import type { ISveltixGrid } from '../../interfaces/ISveltixGrid';
3
+ export interface ModuleConstructor<TRow, TOptions> {
4
+ new (api: ISveltixGrid<TRow>, options: TOptions): Module<TRow>;
5
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,6 @@
1
+ import type { ModuleConstructor } from './ModuleConstructor';
2
+ export interface ModuleRegistrationEntry<TRow, TOptions> {
3
+ key: symbol;
4
+ module: ModuleConstructor<TRow, TOptions>;
5
+ options: TOptions;
6
+ }
@@ -0,0 +1,2 @@
1
+ export * from './ModuleConstructor';
2
+ export * from './ModuleRegistrationEntry';
@@ -0,0 +1,2 @@
1
+ export * from './ModuleConstructor';
2
+ export * from './ModuleRegistrationEntry';
@@ -0,0 +1,9 @@
1
+ import { Module, type ISveltixGrid } from '../../interfaces';
2
+ import type { FlashModuleOptions } from './models';
3
+ export declare class FlashModule<T> extends Module<T> {
4
+ private _idsEnabled;
5
+ private _options?;
6
+ constructor(api: ISveltixGrid<T>, options?: FlashModuleOptions);
7
+ init(): void;
8
+ uninit(): void;
9
+ }
@@ -0,0 +1,33 @@
1
+ import { Module } from '../../interfaces';
2
+ export class FlashModule extends Module {
3
+ _idsEnabled = [];
4
+ _options;
5
+ constructor(api, options) {
6
+ super(api);
7
+ this._options = options;
8
+ }
9
+ init() {
10
+ const columnsCreated = this._api.on(this._api.events.column.created, (columns) => {
11
+ for (const column of columns) {
12
+ let isEnabled = true;
13
+ if (this._options?.idsEnable != null && !this._options.idsEnable.includes(column.id)) {
14
+ isEnabled = false;
15
+ }
16
+ if (this._options?.idsDisable != null && this._options.idsDisable.includes(column.id)) {
17
+ isEnabled = false;
18
+ }
19
+ if (isEnabled) {
20
+ this._idsEnabled.push(column.id);
21
+ }
22
+ }
23
+ });
24
+ const rowUpdated = this._api.on(this._api.events.row.updated, (entries) => {
25
+ for (const entry of entries) {
26
+ console.log(`Updated ${entry.row.id} row and ${entry.cell.column.id} cell`);
27
+ }
28
+ });
29
+ this.addUnsub(columnsCreated);
30
+ this.addUnsub(rowUpdated);
31
+ }
32
+ uninit() { }
33
+ }
@@ -0,0 +1,5 @@
1
+ import type { ModuleRegistrationEntry } from '../..';
2
+ import type { FlashModuleOptions } from './models';
3
+ export * from './models';
4
+ export declare const FLASH_MODULE: unique symbol;
5
+ export declare function flashModule<T>(options?: FlashModuleOptions): ModuleRegistrationEntry<T, FlashModuleOptions | undefined>;
@@ -0,0 +1,10 @@
1
+ import { FlashModule } from './FlashModule.svelte';
2
+ export * from './models';
3
+ export const FLASH_MODULE = Symbol.for('FLASH_MODULE');
4
+ export function flashModule(options) {
5
+ return {
6
+ key: FLASH_MODULE,
7
+ module: (FlashModule),
8
+ options: options,
9
+ };
10
+ }
@@ -0,0 +1,4 @@
1
+ export interface FlashModuleOptions {
2
+ idsEnable?: string[];
3
+ idsDisable?: string[];
4
+ }
@@ -0,0 +1 @@
1
+ export * from './FlashModuleOptions';
@@ -0,0 +1 @@
1
+ export * from './FlashModuleOptions';
@@ -0,0 +1,14 @@
1
+ import type { ISveltixGrid } from '../../interfaces';
2
+ import { Module } from '../../interfaces/Module';
3
+ import type { ResizeModuleOptions } from './models';
4
+ export declare class ResizeModule<T> extends Module<T> {
5
+ private _options?;
6
+ private readonly _helperId;
7
+ private _movingColumnId;
8
+ constructor(api: ISveltixGrid<T>, options?: ResizeModuleOptions);
9
+ mouseDown(columnId: string): void;
10
+ mouseMove(e: MouseEvent): void;
11
+ mouseUp(): void;
12
+ init(): void;
13
+ uninit(): void;
14
+ }
@@ -0,0 +1,68 @@
1
+ import { HelperPosition } from '../../core-modules/columns/Column.svelte';
2
+ import { CustomComponentPosition } from '../../core-modules/custom/models/CustomComponentPosition';
3
+ import { Module } from '../../interfaces/Module';
4
+ import ResizeCustomComponent from './components/ResizeCustomComponent.svelte';
5
+ import ResizeHandle from './components/ResizeHandle.svelte';
6
+ export class ResizeModule extends Module {
7
+ _options;
8
+ _helperId = 'resizer';
9
+ _movingColumnId = undefined;
10
+ constructor(api, options) {
11
+ super(api);
12
+ this._options = options;
13
+ }
14
+ mouseDown(columnId) {
15
+ const column = this._api.core.columns.get(columnId);
16
+ if (column == null) {
17
+ return;
18
+ }
19
+ this._movingColumnId = columnId;
20
+ }
21
+ mouseMove(e) {
22
+ if (this._movingColumnId == null) {
23
+ return;
24
+ }
25
+ const column = this._api.core.columns.get(this._movingColumnId);
26
+ if (column == null) {
27
+ return;
28
+ }
29
+ const dom = column.getDom();
30
+ if (dom == null) {
31
+ return;
32
+ }
33
+ const rect = dom.getBoundingClientRect();
34
+ const difference = e.clientX - rect.left;
35
+ if (difference <= column.minimumWidth) {
36
+ return;
37
+ }
38
+ const newWidth = column.width + e.movementX;
39
+ column.setWidth(newWidth);
40
+ }
41
+ mouseUp() {
42
+ this._movingColumnId = undefined;
43
+ }
44
+ init() {
45
+ const unsub = this._api.on(this._api.events.column.created, (columns) => {
46
+ for (const column of columns) {
47
+ let isEnabled = true;
48
+ if (this._options?.idsEnable != null && !this._options.idsEnable.includes(column.id)) {
49
+ isEnabled = false;
50
+ }
51
+ if (this._options?.idsDisable != null && this._options.idsDisable.includes(column.id)) {
52
+ isEnabled = false;
53
+ }
54
+ column.addHelper(this._helperId, ResizeHandle, HelperPosition.After, {
55
+ enabled: isEnabled,
56
+ module: this,
57
+ });
58
+ }
59
+ });
60
+ this.addUnsub(unsub);
61
+ this._api.core.custom.add({
62
+ id: 'resize',
63
+ component: ResizeCustomComponent,
64
+ options: undefined,
65
+ }, CustomComponentPosition.Action);
66
+ }
67
+ uninit() { }
68
+ }
@@ -0,0 +1,15 @@
1
+ <script
2
+ lang="ts"
3
+ generics="T">
4
+ import type { CustomComponentEntryProps } from '../../../core-modules/custom/CustomComponentsModule.svelte';
5
+ import { RESIZE_MODULE } from '..';
6
+ import { ResizeModule } from '../ResizeModule.svelte';
7
+
8
+ const { api }: CustomComponentEntryProps<T, void> = $props();
9
+
10
+ const module = api.getModule<ResizeModule<T>>(RESIZE_MODULE);
11
+ </script>
12
+
13
+ <svelte:document
14
+ onmousemove={(e) => module.mouseMove(e)}
15
+ onmouseup={(e) => module.mouseUp()} />
@@ -0,0 +1,25 @@
1
+ import type { CustomComponentEntryProps } from '../../../core-modules/custom/CustomComponentsModule.svelte';
2
+ declare function $$render<T>(): {
3
+ props: CustomComponentEntryProps<T, void>;
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 ResizeCustomComponent: $$IsomorphicComponent;
24
+ type ResizeCustomComponent<T> = InstanceType<typeof ResizeCustomComponent<T>>;
25
+ export default ResizeCustomComponent;
@@ -0,0 +1,29 @@
1
+ <script
2
+ lang="ts"
3
+ module>
4
+ export interface ResizeColumnOption {
5
+ enabled: boolean;
6
+ }
7
+ </script>
8
+
9
+ <script
10
+ lang="ts"
11
+ generics="T">
12
+ import type { HelperComponentProps } from '../../../core-modules/columns/Column.svelte';
13
+ import { RESIZE_MODULE } from '..';
14
+ import { ResizeModule } from '../ResizeModule.svelte';
15
+
16
+ const { api, column, options }: HelperComponentProps<T, ResizeColumnOption> = $props();
17
+
18
+ const module = api.getModule<ResizeModule<T>>(RESIZE_MODULE);
19
+ </script>
20
+
21
+ {#if options.enabled}
22
+ <button
23
+ ondblclick={() => column.calculateWidth()}
24
+ onmousedown={(e) => module.mouseDown(column.id)}
25
+ aria-label="Resize column"
26
+ aria-labelledby={column.id}
27
+ class="bg-neutral-200 hover:cursor-col-resize z-30 hover:bg-indigo-300 transition-colors w-1 h-1/2 rounded-full absolute right-0 top-1/4">
28
+ </button>
29
+ {/if}