@sectile/dom 0.1.0 → 0.2.0

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 (218) hide show
  1. package/README.md +6 -0
  2. package/package.json +91 -3
  3. package/dist/accordion.d.ts +0 -36
  4. package/dist/accordion.d.ts.map +0 -1
  5. package/dist/accordion.js +0 -143
  6. package/dist/accordion.js.map +0 -1
  7. package/dist/alert-dialog.d.ts +0 -27
  8. package/dist/alert-dialog.d.ts.map +0 -1
  9. package/dist/alert-dialog.js +0 -14
  10. package/dist/alert-dialog.js.map +0 -1
  11. package/dist/calendar.d.ts +0 -92
  12. package/dist/calendar.d.ts.map +0 -1
  13. package/dist/calendar.js +0 -296
  14. package/dist/calendar.js.map +0 -1
  15. package/dist/carousel.d.ts +0 -54
  16. package/dist/carousel.d.ts.map +0 -1
  17. package/dist/carousel.js +0 -285
  18. package/dist/carousel.js.map +0 -1
  19. package/dist/checkbox-group.d.ts +0 -22
  20. package/dist/checkbox-group.d.ts.map +0 -1
  21. package/dist/checkbox-group.js +0 -32
  22. package/dist/checkbox-group.js.map +0 -1
  23. package/dist/checkbox.d.ts +0 -18
  24. package/dist/checkbox.d.ts.map +0 -1
  25. package/dist/checkbox.js +0 -12
  26. package/dist/checkbox.js.map +0 -1
  27. package/dist/combobox.d.ts +0 -120
  28. package/dist/combobox.d.ts.map +0 -1
  29. package/dist/combobox.js +0 -386
  30. package/dist/combobox.js.map +0 -1
  31. package/dist/date-field.d.ts +0 -36
  32. package/dist/date-field.d.ts.map +0 -1
  33. package/dist/date-field.js +0 -88
  34. package/dist/date-field.js.map +0 -1
  35. package/dist/date-picker.d.ts +0 -43
  36. package/dist/date-picker.d.ts.map +0 -1
  37. package/dist/date-picker.js +0 -118
  38. package/dist/date-picker.js.map +0 -1
  39. package/dist/date-range-picker.d.ts +0 -45
  40. package/dist/date-range-picker.d.ts.map +0 -1
  41. package/dist/date-range-picker.js +0 -64
  42. package/dist/date-range-picker.js.map +0 -1
  43. package/dist/date-time-field.d.ts +0 -36
  44. package/dist/date-time-field.d.ts.map +0 -1
  45. package/dist/date-time-field.js +0 -163
  46. package/dist/date-time-field.js.map +0 -1
  47. package/dist/date-time-picker.d.ts +0 -45
  48. package/dist/date-time-picker.d.ts.map +0 -1
  49. package/dist/date-time-picker.js +0 -259
  50. package/dist/date-time-picker.js.map +0 -1
  51. package/dist/date-time-range-picker.d.ts +0 -47
  52. package/dist/date-time-range-picker.d.ts.map +0 -1
  53. package/dist/date-time-range-picker.js +0 -269
  54. package/dist/date-time-range-picker.js.map +0 -1
  55. package/dist/dialog.d.ts +0 -27
  56. package/dist/dialog.d.ts.map +0 -1
  57. package/dist/dialog.js +0 -15
  58. package/dist/dialog.js.map +0 -1
  59. package/dist/disclosure.d.ts +0 -24
  60. package/dist/disclosure.d.ts.map +0 -1
  61. package/dist/disclosure.js +0 -74
  62. package/dist/disclosure.js.map +0 -1
  63. package/dist/feed.d.ts +0 -33
  64. package/dist/feed.d.ts.map +0 -1
  65. package/dist/feed.js +0 -68
  66. package/dist/feed.js.map +0 -1
  67. package/dist/grid.d.ts +0 -43
  68. package/dist/grid.d.ts.map +0 -1
  69. package/dist/grid.js +0 -165
  70. package/dist/grid.js.map +0 -1
  71. package/dist/index.d.ts +0 -45
  72. package/dist/index.d.ts.map +0 -1
  73. package/dist/index.js +0 -44
  74. package/dist/index.js.map +0 -1
  75. package/dist/internal/checked-control.d.ts +0 -28
  76. package/dist/internal/checked-control.d.ts.map +0 -1
  77. package/dist/internal/checked-control.js +0 -45
  78. package/dist/internal/checked-control.js.map +0 -1
  79. package/dist/internal/controller.d.ts +0 -6
  80. package/dist/internal/controller.d.ts.map +0 -1
  81. package/dist/internal/controller.js +0 -35
  82. package/dist/internal/controller.js.map +0 -1
  83. package/dist/internal/delegated-event.d.ts +0 -2
  84. package/dist/internal/delegated-event.d.ts.map +0 -1
  85. package/dist/internal/delegated-event.js +0 -11
  86. package/dist/internal/delegated-event.js.map +0 -1
  87. package/dist/internal/disabled-items.d.ts +0 -6
  88. package/dist/internal/disabled-items.d.ts.map +0 -1
  89. package/dist/internal/disabled-items.js +0 -15
  90. package/dist/internal/disabled-items.js.map +0 -1
  91. package/dist/internal/facade.d.ts +0 -44
  92. package/dist/internal/facade.d.ts.map +0 -1
  93. package/dist/internal/facade.js +0 -58
  94. package/dist/internal/facade.js.map +0 -1
  95. package/dist/internal/interaction.d.ts +0 -14
  96. package/dist/internal/interaction.d.ts.map +0 -1
  97. package/dist/internal/interaction.js +0 -25
  98. package/dist/internal/interaction.js.map +0 -1
  99. package/dist/internal/menu-control.d.ts +0 -38
  100. package/dist/internal/menu-control.d.ts.map +0 -1
  101. package/dist/internal/menu-control.js +0 -251
  102. package/dist/internal/menu-control.js.map +0 -1
  103. package/dist/internal/popup-control.d.ts +0 -39
  104. package/dist/internal/popup-control.d.ts.map +0 -1
  105. package/dist/internal/popup-control.js +0 -140
  106. package/dist/internal/popup-control.js.map +0 -1
  107. package/dist/internal/semantic-controller.d.ts +0 -20
  108. package/dist/internal/semantic-controller.d.ts.map +0 -1
  109. package/dist/internal/semantic-controller.js +0 -42
  110. package/dist/internal/semantic-controller.js.map +0 -1
  111. package/dist/internal/text-element.d.ts +0 -16
  112. package/dist/internal/text-element.d.ts.map +0 -1
  113. package/dist/internal/text-element.js +0 -215
  114. package/dist/internal/text-element.js.map +0 -1
  115. package/dist/listbox.d.ts +0 -103
  116. package/dist/listbox.d.ts.map +0 -1
  117. package/dist/listbox.js +0 -416
  118. package/dist/listbox.js.map +0 -1
  119. package/dist/menu-button.d.ts +0 -10
  120. package/dist/menu-button.d.ts.map +0 -1
  121. package/dist/menu-button.js +0 -11
  122. package/dist/menu-button.js.map +0 -1
  123. package/dist/menu.d.ts +0 -8
  124. package/dist/menu.d.ts.map +0 -1
  125. package/dist/menu.js +0 -11
  126. package/dist/menu.js.map +0 -1
  127. package/dist/menubar.d.ts +0 -8
  128. package/dist/menubar.d.ts.map +0 -1
  129. package/dist/menubar.js +0 -11
  130. package/dist/menubar.js.map +0 -1
  131. package/dist/multi-thumb-slider.d.ts +0 -38
  132. package/dist/multi-thumb-slider.d.ts.map +0 -1
  133. package/dist/multi-thumb-slider.js +0 -190
  134. package/dist/multi-thumb-slider.js.map +0 -1
  135. package/dist/number-field.d.ts +0 -45
  136. package/dist/number-field.d.ts.map +0 -1
  137. package/dist/number-field.js +0 -136
  138. package/dist/number-field.js.map +0 -1
  139. package/dist/pagination.d.ts +0 -39
  140. package/dist/pagination.d.ts.map +0 -1
  141. package/dist/pagination.js +0 -169
  142. package/dist/pagination.js.map +0 -1
  143. package/dist/pin-input.d.ts +0 -27
  144. package/dist/pin-input.d.ts.map +0 -1
  145. package/dist/pin-input.js +0 -76
  146. package/dist/pin-input.js.map +0 -1
  147. package/dist/quantity-field.d.ts +0 -46
  148. package/dist/quantity-field.d.ts.map +0 -1
  149. package/dist/quantity-field.js +0 -172
  150. package/dist/quantity-field.js.map +0 -1
  151. package/dist/radio-group.d.ts +0 -40
  152. package/dist/radio-group.d.ts.map +0 -1
  153. package/dist/radio-group.js +0 -172
  154. package/dist/radio-group.js.map +0 -1
  155. package/dist/rating.d.ts +0 -22
  156. package/dist/rating.d.ts.map +0 -1
  157. package/dist/rating.js +0 -38
  158. package/dist/rating.js.map +0 -1
  159. package/dist/select.d.ts +0 -45
  160. package/dist/select.d.ts.map +0 -1
  161. package/dist/select.js +0 -87
  162. package/dist/select.js.map +0 -1
  163. package/dist/slider.d.ts +0 -73
  164. package/dist/slider.d.ts.map +0 -1
  165. package/dist/slider.js +0 -265
  166. package/dist/slider.js.map +0 -1
  167. package/dist/spin-button.d.ts +0 -41
  168. package/dist/spin-button.d.ts.map +0 -1
  169. package/dist/spin-button.js +0 -127
  170. package/dist/spin-button.js.map +0 -1
  171. package/dist/stepper.d.ts +0 -24
  172. package/dist/stepper.d.ts.map +0 -1
  173. package/dist/stepper.js +0 -32
  174. package/dist/stepper.js.map +0 -1
  175. package/dist/switch.d.ts +0 -16
  176. package/dist/switch.d.ts.map +0 -1
  177. package/dist/switch.js +0 -12
  178. package/dist/switch.js.map +0 -1
  179. package/dist/tabs.d.ts +0 -55
  180. package/dist/tabs.d.ts.map +0 -1
  181. package/dist/tabs.js +0 -193
  182. package/dist/tabs.js.map +0 -1
  183. package/dist/tags-input.d.ts +0 -32
  184. package/dist/tags-input.d.ts.map +0 -1
  185. package/dist/tags-input.js +0 -94
  186. package/dist/tags-input.js.map +0 -1
  187. package/dist/text.d.ts +0 -80
  188. package/dist/text.d.ts.map +0 -1
  189. package/dist/text.js +0 -203
  190. package/dist/text.js.map +0 -1
  191. package/dist/time-field.d.ts +0 -36
  192. package/dist/time-field.d.ts.map +0 -1
  193. package/dist/time-field.js +0 -57
  194. package/dist/time-field.js.map +0 -1
  195. package/dist/toggle-button.d.ts +0 -16
  196. package/dist/toggle-button.d.ts.map +0 -1
  197. package/dist/toggle-button.js +0 -12
  198. package/dist/toggle-button.js.map +0 -1
  199. package/dist/toolbar.d.ts +0 -37
  200. package/dist/toolbar.d.ts.map +0 -1
  201. package/dist/toolbar.js +0 -148
  202. package/dist/toolbar.js.map +0 -1
  203. package/dist/tooltip.d.ts +0 -18
  204. package/dist/tooltip.d.ts.map +0 -1
  205. package/dist/tooltip.js +0 -14
  206. package/dist/tooltip.js.map +0 -1
  207. package/dist/tree-grid.d.ts +0 -122
  208. package/dist/tree-grid.d.ts.map +0 -1
  209. package/dist/tree-grid.js +0 -449
  210. package/dist/tree-grid.js.map +0 -1
  211. package/dist/tree-view.d.ts +0 -92
  212. package/dist/tree-view.d.ts.map +0 -1
  213. package/dist/tree-view.js +0 -309
  214. package/dist/tree-view.js.map +0 -1
  215. package/dist/window-splitter.d.ts +0 -8
  216. package/dist/window-splitter.d.ts.map +0 -1
  217. package/dist/window-splitter.js +0 -13
  218. package/dist/window-splitter.js.map +0 -1
package/dist/toolbar.js DELETED
@@ -1,148 +0,0 @@
1
- import { createFacadeConnection } from './internal/facade.js';
2
- import { unwrap } from '@sectile/core/result';
3
- import { createSequence } from '@sectile/core/sequence';
4
- import { applyToolbarEvent, createToolbarState, } from '@sectile/core/toolbar';
5
- import { findDelegatedID } from './internal/delegated-event.js';
6
- import { createDisabledItems } from './internal/disabled-items.js';
7
- import { createSemanticController } from './internal/semantic-controller.js';
8
- import { setInteractionAttributes } from './internal/interaction.js';
9
- export function createToolbar(options) {
10
- return unwrap(tryCreateToolbar(options));
11
- }
12
- export function tryCreateToolbar(options) {
13
- return createFacadeConnection(options, (options) => tryCreateToolbarConnection(options));
14
- }
15
- function tryCreateToolbarConnection(options) {
16
- const domain = createSequence(options.items);
17
- if (!domain.ok)
18
- return domain;
19
- const disabled = createDisabledItems(domain.value, options.disabledItems);
20
- if (!disabled.ok)
21
- return disabled;
22
- const suppliedEligibility = options.policies?.eligible;
23
- const policies = Object.freeze({
24
- ...options.policies,
25
- eligible: (id) => !disabled.value.has(id) && (suppliedEligibility?.(id) ?? true),
26
- });
27
- const controlled = options.highlightedValue !== undefined;
28
- const runtime = createSemanticController({
29
- interaction: options,
30
- initial: createToolbarState(domain.value, {
31
- current: options.highlightedValue !== undefined
32
- ? options.highlightedValue
33
- : options.defaultHighlightedValue ?? null,
34
- }),
35
- reducer: (state, event) => applyToolbarEvent(domain.value, state, event, policies),
36
- reconcile: (previous, proposed) => createToolbarState(domain.value, {
37
- current: controlled ? previous.cursor.current : proposed.cursor.current,
38
- }),
39
- notify: (previous, proposed) => {
40
- if (previous.cursor.current !== proposed.cursor.current) {
41
- options.onHighlightedValueChange?.(proposed.cursor.current);
42
- }
43
- },
44
- toEffect: (command) => command.type === 'focus'
45
- ? Object.freeze({ type: 'focus-control', id: command.id })
46
- : Object.freeze({ type: 'invoke-control', id: command.id }),
47
- });
48
- if (!runtime.ok)
49
- return runtime;
50
- return { ok: true, value: new DOMToolbarConnection(options, domain.value, runtime.value, controlled, disabled.value) };
51
- }
52
- export function toToolbarEvent(input, orientation = 'horizontal') {
53
- if (input.altKey || input.ctrlKey || input.metaKey)
54
- return null;
55
- if (input.key === 'Home')
56
- return 'first';
57
- if (input.key === 'End')
58
- return 'last';
59
- if (input.key === 'Enter' || input.key === ' ')
60
- return 'invoke';
61
- if (orientation === 'horizontal' && input.key === 'ArrowRight')
62
- return 'next';
63
- if (orientation === 'horizontal' && input.key === 'ArrowLeft')
64
- return 'previous';
65
- if (orientation === 'vertical' && input.key === 'ArrowDown')
66
- return 'next';
67
- if (orientation === 'vertical' && input.key === 'ArrowUp')
68
- return 'previous';
69
- return null;
70
- }
71
- class DOMToolbarConnection {
72
- #options;
73
- #domain;
74
- #runtime;
75
- #controlled;
76
- #disabledItems;
77
- #keydown;
78
- #click;
79
- constructor(options, domain, runtime, controlled, disabledItems) {
80
- this.#options = options;
81
- this.#domain = domain;
82
- this.#runtime = runtime;
83
- this.#controlled = controlled;
84
- this.#disabledItems = disabledItems;
85
- options.root.setAttribute('role', 'toolbar');
86
- setInteractionAttributes(options.root, options);
87
- options.root.setAttribute('aria-orientation', options.orientation ?? 'horizontal');
88
- if (options.label !== undefined)
89
- options.root.setAttribute('aria-label', options.label);
90
- this.#keydown = (event) => {
91
- const semantic = toToolbarEvent(event, options.orientation);
92
- if (semantic === null)
93
- return;
94
- event.preventDefault();
95
- this.handleEvent(semantic);
96
- };
97
- this.#click = (event) => {
98
- const id = findDelegatedID(event.target, options.root, 'toolbarId');
99
- if (id !== null)
100
- this.handleEvent({ type: 'invoke', id: id });
101
- };
102
- options.root.addEventListener('keydown', this.#keydown);
103
- options.root.addEventListener('click', this.#click);
104
- }
105
- getSnapshot() { return this.#runtime.getSnapshot(); }
106
- syncControlledValue(value) {
107
- if (!this.#controlled)
108
- return { ok: false, error: {
109
- class: 'construction', code: 'uncontrolled-controller-sync',
110
- message: 'An uncontrolled toolbar cannot be synchronized externally.',
111
- } };
112
- const result = this.#runtime.replace(createToolbarState(this.#domain, { current: value }));
113
- if (result.ok)
114
- this.#options.onUpdate?.();
115
- return result;
116
- }
117
- setItemAttributes(element, id, disabled = false) {
118
- element.dataset['toolbarId'] = id;
119
- element.tabIndex = this.#runtime.getSnapshot().state.cursor.current === id ? 0 : -1;
120
- if (disabled || this.#disabledItems.has(id))
121
- element.setAttribute('aria-disabled', 'true');
122
- else
123
- element.removeAttribute('aria-disabled');
124
- }
125
- handleEvent(event) {
126
- const result = this.#runtime.handle(event);
127
- if (result.ok) {
128
- for (const effect of result.commands) {
129
- if (effect.type === 'invoke-control')
130
- this.#options.onInvoke?.(effect.id);
131
- }
132
- queueMicrotask(() => {
133
- for (const element of this.#options.root.querySelectorAll('[data-toolbar-id]')) {
134
- if (element.dataset['toolbarId'] === result.snapshot.state.cursor.current)
135
- element.focus();
136
- }
137
- });
138
- }
139
- if (result.ok)
140
- this.#options.onUpdate?.();
141
- return result.ok;
142
- }
143
- disconnect() {
144
- this.#options.root.removeEventListener('keydown', this.#keydown);
145
- this.#options.root.removeEventListener('click', this.#click);
146
- }
147
- }
148
- //# sourceMappingURL=toolbar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toolbar.js","sourceRoot":"","sources":["../src/toolbar.ts"],"names":[],"mappings":"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"}
package/dist/tooltip.d.ts DELETED
@@ -1,18 +0,0 @@
1
- import { type FacadeConnection } from './internal/facade.js';
2
- import type { Result } from '@sectile/core';
3
- import { type TooltipEvent, type TooltipState } from '@sectile/core/tooltip';
4
- import { type DOMPopupConnection } from './internal/popup-control.js';
5
- export interface TooltipOptions {
6
- readonly root: HTMLElement;
7
- readonly trigger?: HTMLElement;
8
- readonly id?: string;
9
- readonly open?: boolean;
10
- readonly defaultOpen?: boolean;
11
- readonly disabled?: boolean;
12
- readonly onOpenChange?: (open: boolean) => void;
13
- readonly onUpdate?: () => void;
14
- }
15
- export type TooltipConnection = DOMPopupConnection<TooltipState, TooltipEvent>;
16
- export declare function createTooltip(o: TooltipOptions): FacadeConnection<TooltipConnection>;
17
- export declare function tryCreateTooltip(o: TooltipOptions): Result<FacadeConnection<TooltipConnection>>;
18
- //# sourceMappingURL=tooltip.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../src/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA8D,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACzI,OAAO,EAAkB,KAAK,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAEtF,MAAM,WAAW,cAAc;IAAG,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;IAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE;AAC3R,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;AAC/E,wBAAgB,aAAa,CAAC,CAAC,EAAE,cAAc,GAAG,gBAAgB,CAAC,iBAAiB,CAAC,CAEpF;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAE/F"}
package/dist/tooltip.js DELETED
@@ -1,14 +0,0 @@
1
- import { createFacadeConnection } from './internal/facade.js';
2
- import { unwrap } from '@sectile/core/result';
3
- import { applyTooltipEvent, createTooltipState } from '@sectile/core/tooltip';
4
- import { createDOMPopup } from './internal/popup-control.js';
5
- export function createTooltip(o) {
6
- return unwrap(tryCreateTooltip(o));
7
- }
8
- export function tryCreateTooltip(o) {
9
- return createFacadeConnection(o, (o) => tryCreateTooltipConnection(o));
10
- }
11
- function tryCreateTooltipConnection(o) {
12
- return createDOMPopup({ root: o.root, ...(o.trigger === undefined ? {} : { trigger: o.trigger }), role: 'tooltip', controlled: o.open !== undefined, initial: createTooltipState(o.open ?? o.defaultOpen ?? false), open: 'open', toggle: 'toggle', close: 'close', reducer: applyTooltipEvent, create: createTooltipState, read: (s) => s.open, interaction: o, triggerMode: 'focus-hover', ...(o.id === undefined ? {} : { tooltipID: o.id }), onOpenChange: o.onOpenChange, onUpdate: o.onUpdate });
13
- }
14
- //# sourceMappingURL=tooltip.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tooltip.js","sourceRoot":"","sources":["../src/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAA6D,MAAM,uBAAuB,CAAC;AACzI,OAAO,EAAE,cAAc,EAA2B,MAAM,6BAA6B,CAAC;AAItF,MAAM,UAAU,aAAa,CAAC,CAAiB;IAC7C,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,CAAiB;IAChD,OAAO,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,SAAS,0BAA0B,CAAC,CAAiB;IACnD,OAAO,cAAc,CAA6C,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,EAAE,CAAC,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AACrhB,CAAC"}
@@ -1,122 +0,0 @@
1
- import { type FacadeConnection } from './internal/facade.js';
2
- import type { Result, StableID } from '@sectile/core';
3
- import { type RevisionResult, type RevisionSnapshot } from '@sectile/core/revision';
4
- import { type TreeGridCommand, type TreeGridEditMode, type TreeGridEvent, type TreeGridModel, type TreeGridPolicies, type TreeGridRowInput, type TreeGridState } from '@sectile/core/tree-grid';
5
- export interface KeyboardInput {
6
- readonly key: string;
7
- readonly altKey?: boolean;
8
- readonly ctrlKey?: boolean;
9
- readonly metaKey?: boolean;
10
- readonly isComposing?: boolean;
11
- }
12
- export type TreeGridEffect<CellID extends StableID = StableID> = {
13
- readonly type: 'focus-element';
14
- readonly id: CellID;
15
- } | {
16
- readonly type: 'begin-cell-edit';
17
- readonly id: CellID;
18
- } | {
19
- readonly type: 'commit-cell-edit';
20
- readonly id: CellID;
21
- } | {
22
- readonly type: 'cancel-cell-edit';
23
- readonly id: CellID;
24
- };
25
- export interface TreeGridValueChangeDetails<CellID extends StableID = StableID> {
26
- readonly value: CellID | null;
27
- readonly previousValue: CellID | null;
28
- }
29
- export interface TreeGridExpandedChangeDetails<RowID extends StableID = StableID> {
30
- readonly value: readonly RowID[];
31
- readonly previousValue: readonly RowID[];
32
- }
33
- export interface TreeGridHighlightChangeDetails<CellID extends StableID = StableID> {
34
- readonly value: CellID | null;
35
- readonly previousValue: CellID | null;
36
- }
37
- export interface TreeGridEditModeChangeDetails {
38
- readonly value: TreeGridEditMode;
39
- readonly previousValue: TreeGridEditMode;
40
- }
41
- export interface TreeGridControllerOptions<RowID extends StableID = StableID, CellID extends StableID = StableID> {
42
- readonly model: TreeGridModel<RowID, CellID>;
43
- readonly disabled?: boolean;
44
- readonly readOnly?: boolean;
45
- readonly policies?: TreeGridPolicies<CellID>;
46
- readonly value?: CellID | null;
47
- readonly defaultValue?: CellID | null;
48
- readonly expandedValue?: readonly RowID[];
49
- readonly defaultExpandedValue?: readonly RowID[];
50
- readonly highlightedValue?: CellID | null;
51
- readonly defaultHighlightedValue?: CellID | null;
52
- readonly editMode?: TreeGridEditMode;
53
- readonly defaultEditMode?: TreeGridEditMode;
54
- readonly onValueChange?: (change: TreeGridValueChangeDetails<CellID>) => void;
55
- readonly onExpandedValueChange?: (change: TreeGridExpandedChangeDetails<RowID>) => void;
56
- readonly onHighlightedValueChange?: (change: TreeGridHighlightChangeDetails<CellID>) => void;
57
- readonly onEditModeChange?: (change: TreeGridEditModeChangeDetails) => void;
58
- }
59
- export interface TreeGridControlledValues<RowID extends StableID = StableID, CellID extends StableID = StableID> {
60
- readonly value?: CellID | null;
61
- readonly expandedValue?: readonly RowID[];
62
- readonly highlightedValue?: CellID | null;
63
- readonly editMode?: TreeGridEditMode;
64
- }
65
- export interface TreeGridController<RowID extends StableID = StableID, CellID extends StableID = StableID> {
66
- readonly model: TreeGridModel<RowID, CellID>;
67
- getSnapshot(): RevisionSnapshot<TreeGridState<RowID, CellID>>;
68
- syncControlledValues(values: TreeGridControlledValues<RowID, CellID>): Result<RevisionSnapshot<TreeGridState<RowID, CellID>>>;
69
- handleKeyboardInput(input: KeyboardInput, expectedRevision?: number): RevisionResult<TreeGridState<RowID, CellID>, TreeGridEffect<CellID>>;
70
- handleEvent(event: TreeGridEvent<RowID, CellID>, expectedRevision?: number): RevisionResult<TreeGridState<RowID, CellID>, TreeGridEffect<CellID>>;
71
- }
72
- export interface TreeGridTransitionDetails<RowID extends StableID = StableID, CellID extends StableID = StableID> {
73
- readonly event: TreeGridEvent<RowID, CellID>;
74
- readonly result: RevisionResult<TreeGridState<RowID, CellID>, TreeGridEffect<CellID>>;
75
- }
76
- export interface TreeGridConnectionOptions<RowID extends StableID = StableID, CellID extends StableID = StableID> {
77
- readonly controller: TreeGridController<RowID, CellID>;
78
- readonly root: HTMLElement;
79
- readonly disabled?: boolean;
80
- readonly readOnly?: boolean;
81
- readonly getCellValue: (id: CellID) => string;
82
- readonly setCellValue: (id: CellID, value: string) => void;
83
- readonly onTransition?: (details: TreeGridTransitionDetails<RowID, CellID>) => void;
84
- readonly onUpdate?: () => void;
85
- }
86
- export interface TreeGridRowAttributes {
87
- readonly rowIndex: number;
88
- readonly level: number;
89
- readonly expanded?: boolean;
90
- }
91
- export interface TreeGridCellAttributes<CellID extends StableID = StableID> {
92
- readonly id: CellID;
93
- readonly columnIndex: number;
94
- }
95
- export interface TreeGridEditorOptions<CellID extends StableID = StableID> {
96
- readonly id: CellID;
97
- readonly label?: string;
98
- }
99
- export interface TreeGridConnection<RowID extends StableID = StableID, CellID extends StableID = StableID> {
100
- readonly model: TreeGridModel<RowID, CellID>;
101
- getSnapshot(): RevisionSnapshot<TreeGridState<RowID, CellID>>;
102
- syncControlledValues(values: TreeGridControlledValues<RowID, CellID>): Result<RevisionSnapshot<TreeGridState<RowID, CellID>>>;
103
- setGridAttributes(rowCount: number, columnCount: number): void;
104
- setRowAttributes(element: HTMLElement, attributes: TreeGridRowAttributes): void;
105
- setCellAttributes(element: HTMLElement, attributes: TreeGridCellAttributes<CellID>): void;
106
- setDisclosureAttributes(element: HTMLElement, id: RowID): void;
107
- bindEditor(element: HTMLInputElement, options: TreeGridEditorOptions<CellID>): void;
108
- handleEvent(event: TreeGridEvent<RowID, CellID>): boolean;
109
- handleKeyboardEvent(event: KeyboardEvent): boolean;
110
- focusCurrent(): void;
111
- disconnect(): void;
112
- }
113
- export type TreeGridOptions<RowID extends StableID = StableID, CellID extends StableID = StableID> = Omit<TreeGridControllerOptions<RowID, CellID>, 'model'> & Omit<TreeGridConnectionOptions<RowID, CellID>, 'controller'> & {
114
- readonly rows: readonly TreeGridRowInput<RowID, CellID>[];
115
- };
116
- export declare function createTreeGridController<RowID extends StableID, CellID extends StableID>(options: TreeGridControllerOptions<RowID, CellID>): Result<TreeGridController<RowID, CellID>>;
117
- export declare function createTreeGrid<RowID extends StableID, CellID extends StableID>(options: TreeGridOptions<RowID, CellID>): FacadeConnection<TreeGridConnection<RowID, CellID>>;
118
- export declare function tryCreateTreeGrid<RowID extends StableID, CellID extends StableID>(options: TreeGridOptions<RowID, CellID>): Result<FacadeConnection<TreeGridConnection<RowID, CellID>>>;
119
- export declare function connectTreeGrid<RowID extends StableID, CellID extends StableID>(options: TreeGridConnectionOptions<RowID, CellID>): TreeGridConnection<RowID, CellID>;
120
- export declare function toTreeGridEvent<RowID extends StableID = StableID, CellID extends StableID = StableID>(input: KeyboardInput, editMode?: TreeGridEditMode): TreeGridEvent<RowID, CellID> | null;
121
- export declare function toTreeGridEffect<CellID extends StableID>(command: TreeGridCommand<CellID>): TreeGridEffect<CellID>;
122
- //# sourceMappingURL=tree-grid.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree-grid.d.ts","sourceRoot":"","sources":["../src/tree-grid.ts"],"names":[],"mappings":"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"}