@sectile/terminal 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.
- package/README.md +15 -1
- package/package.json +103 -3
- package/dist/accordion.d.ts +0 -31
- package/dist/accordion.d.ts.map +0 -1
- package/dist/accordion.js +0 -76
- package/dist/accordion.js.map +0 -1
- package/dist/alert-dialog.d.ts +0 -18
- package/dist/alert-dialog.d.ts.map +0 -1
- package/dist/alert-dialog.js +0 -12
- package/dist/alert-dialog.js.map +0 -1
- package/dist/calendar.d.ts +0 -75
- package/dist/calendar.d.ts.map +0 -1
- package/dist/calendar.js +0 -217
- package/dist/calendar.js.map +0 -1
- package/dist/carousel.d.ts +0 -44
- package/dist/carousel.d.ts.map +0 -1
- package/dist/carousel.js +0 -129
- package/dist/carousel.js.map +0 -1
- package/dist/checkbox-group.d.ts +0 -19
- package/dist/checkbox-group.d.ts.map +0 -1
- package/dist/checkbox-group.js +0 -14
- package/dist/checkbox-group.js.map +0 -1
- package/dist/checkbox.d.ts +0 -17
- package/dist/checkbox.d.ts.map +0 -1
- package/dist/checkbox.js +0 -12
- package/dist/checkbox.js.map +0 -1
- package/dist/combobox.d.ts +0 -100
- package/dist/combobox.d.ts.map +0 -1
- package/dist/combobox.js +0 -286
- package/dist/combobox.js.map +0 -1
- package/dist/date-field.d.ts +0 -36
- package/dist/date-field.d.ts.map +0 -1
- package/dist/date-field.js +0 -46
- package/dist/date-field.js.map +0 -1
- package/dist/date-picker.d.ts +0 -38
- package/dist/date-picker.d.ts.map +0 -1
- package/dist/date-picker.js +0 -40
- package/dist/date-picker.js.map +0 -1
- package/dist/date-range-picker.d.ts +0 -38
- package/dist/date-range-picker.d.ts.map +0 -1
- package/dist/date-range-picker.js +0 -29
- package/dist/date-range-picker.js.map +0 -1
- package/dist/date-time-field.d.ts +0 -36
- package/dist/date-time-field.d.ts.map +0 -1
- package/dist/date-time-field.js +0 -133
- package/dist/date-time-field.js.map +0 -1
- package/dist/date-time-picker.d.ts +0 -38
- package/dist/date-time-picker.d.ts.map +0 -1
- package/dist/date-time-picker.js +0 -127
- package/dist/date-time-picker.js.map +0 -1
- package/dist/date-time-range-picker.d.ts +0 -38
- package/dist/date-time-range-picker.d.ts.map +0 -1
- package/dist/date-time-range-picker.js +0 -136
- package/dist/date-time-range-picker.js.map +0 -1
- package/dist/dialog.d.ts +0 -17
- package/dist/dialog.d.ts.map +0 -1
- package/dist/dialog.js +0 -12
- package/dist/dialog.js.map +0 -1
- package/dist/disclosure.d.ts +0 -22
- package/dist/disclosure.d.ts.map +0 -1
- package/dist/disclosure.js +0 -56
- package/dist/disclosure.js.map +0 -1
- package/dist/feed.d.ts +0 -28
- package/dist/feed.d.ts.map +0 -1
- package/dist/feed.js +0 -32
- package/dist/feed.js.map +0 -1
- package/dist/grid.d.ts +0 -40
- package/dist/grid.d.ts.map +0 -1
- package/dist/grid.js +0 -68
- package/dist/grid.js.map +0 -1
- package/dist/index.d.ts +0 -46
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -44
- package/dist/index.js.map +0 -1
- package/dist/internal/checked-control.d.ts +0 -23
- package/dist/internal/checked-control.d.ts.map +0 -1
- package/dist/internal/checked-control.js +0 -22
- package/dist/internal/checked-control.js.map +0 -1
- package/dist/internal/controller.d.ts +0 -6
- package/dist/internal/controller.d.ts.map +0 -1
- package/dist/internal/controller.js +0 -35
- package/dist/internal/controller.js.map +0 -1
- package/dist/internal/disabled-items.d.ts +0 -6
- package/dist/internal/disabled-items.d.ts.map +0 -1
- package/dist/internal/disabled-items.js +0 -15
- package/dist/internal/disabled-items.js.map +0 -1
- package/dist/internal/facade.d.ts +0 -44
- package/dist/internal/facade.d.ts.map +0 -1
- package/dist/internal/facade.js +0 -58
- package/dist/internal/facade.js.map +0 -1
- package/dist/internal/menu-control.d.ts +0 -34
- package/dist/internal/menu-control.d.ts.map +0 -1
- package/dist/internal/menu-control.js +0 -48
- package/dist/internal/menu-control.js.map +0 -1
- package/dist/internal/popup-control.d.ts +0 -24
- package/dist/internal/popup-control.d.ts.map +0 -1
- package/dist/internal/popup-control.js +0 -23
- package/dist/internal/popup-control.js.map +0 -1
- package/dist/internal/semantic-controller.d.ts +0 -20
- package/dist/internal/semantic-controller.d.ts.map +0 -1
- package/dist/internal/semantic-controller.js +0 -42
- package/dist/internal/semantic-controller.js.map +0 -1
- package/dist/internal/text-input.d.ts +0 -5
- package/dist/internal/text-input.d.ts.map +0 -1
- package/dist/internal/text-input.js +0 -53
- package/dist/internal/text-input.js.map +0 -1
- package/dist/keyboard.d.ts +0 -10
- package/dist/keyboard.d.ts.map +0 -1
- package/dist/keyboard.js +0 -16
- package/dist/keyboard.js.map +0 -1
- package/dist/layout.d.ts +0 -2
- package/dist/layout.d.ts.map +0 -1
- package/dist/layout.js +0 -24
- package/dist/layout.js.map +0 -1
- package/dist/listbox.d.ts +0 -87
- package/dist/listbox.d.ts.map +0 -1
- package/dist/listbox.js +0 -323
- package/dist/listbox.js.map +0 -1
- package/dist/menu-button.d.ts +0 -8
- package/dist/menu-button.d.ts.map +0 -1
- package/dist/menu-button.js +0 -11
- package/dist/menu-button.js.map +0 -1
- package/dist/menu.d.ts +0 -8
- package/dist/menu.d.ts.map +0 -1
- package/dist/menu.js +0 -11
- package/dist/menu.js.map +0 -1
- package/dist/menubar.d.ts +0 -8
- package/dist/menubar.d.ts.map +0 -1
- package/dist/menubar.js +0 -11
- package/dist/menubar.js.map +0 -1
- package/dist/multi-thumb-slider.d.ts +0 -32
- package/dist/multi-thumb-slider.d.ts.map +0 -1
- package/dist/multi-thumb-slider.js +0 -67
- package/dist/multi-thumb-slider.js.map +0 -1
- package/dist/node.d.ts +0 -15
- package/dist/node.d.ts.map +0 -1
- package/dist/node.js +0 -78
- package/dist/node.js.map +0 -1
- package/dist/number-field.d.ts +0 -44
- package/dist/number-field.d.ts.map +0 -1
- package/dist/number-field.js +0 -157
- package/dist/number-field.js.map +0 -1
- package/dist/pagination.d.ts +0 -35
- package/dist/pagination.d.ts.map +0 -1
- package/dist/pagination.js +0 -103
- package/dist/pagination.js.map +0 -1
- package/dist/pin-input.d.ts +0 -25
- package/dist/pin-input.d.ts.map +0 -1
- package/dist/pin-input.js +0 -30
- package/dist/pin-input.js.map +0 -1
- package/dist/quantity-field.d.ts +0 -45
- package/dist/quantity-field.d.ts.map +0 -1
- package/dist/quantity-field.js +0 -168
- package/dist/quantity-field.js.map +0 -1
- package/dist/radio-group.d.ts +0 -37
- package/dist/radio-group.d.ts.map +0 -1
- package/dist/radio-group.js +0 -126
- package/dist/radio-group.js.map +0 -1
- package/dist/rating.d.ts +0 -22
- package/dist/rating.d.ts.map +0 -1
- package/dist/rating.js +0 -38
- package/dist/rating.js.map +0 -1
- package/dist/select.d.ts +0 -41
- package/dist/select.d.ts.map +0 -1
- package/dist/select.js +0 -50
- package/dist/select.js.map +0 -1
- package/dist/slider.d.ts +0 -59
- package/dist/slider.d.ts.map +0 -1
- package/dist/slider.js +0 -156
- package/dist/slider.js.map +0 -1
- package/dist/spin-button.d.ts +0 -35
- package/dist/spin-button.d.ts.map +0 -1
- package/dist/spin-button.js +0 -78
- package/dist/spin-button.js.map +0 -1
- package/dist/stepper.d.ts +0 -19
- package/dist/stepper.d.ts.map +0 -1
- package/dist/stepper.js +0 -14
- package/dist/stepper.js.map +0 -1
- package/dist/switch.d.ts +0 -15
- package/dist/switch.d.ts.map +0 -1
- package/dist/switch.js +0 -12
- package/dist/switch.js.map +0 -1
- package/dist/tabs.d.ts +0 -42
- package/dist/tabs.d.ts.map +0 -1
- package/dist/tabs.js +0 -128
- package/dist/tabs.js.map +0 -1
- package/dist/tags-input.d.ts +0 -29
- package/dist/tags-input.d.ts.map +0 -1
- package/dist/tags-input.js +0 -27
- package/dist/tags-input.js.map +0 -1
- package/dist/text.d.ts +0 -60
- package/dist/text.d.ts.map +0 -1
- package/dist/text.js +0 -143
- package/dist/text.js.map +0 -1
- package/dist/time-field.d.ts +0 -36
- package/dist/time-field.d.ts.map +0 -1
- package/dist/time-field.js +0 -40
- package/dist/time-field.js.map +0 -1
- package/dist/toggle-button.d.ts +0 -15
- package/dist/toggle-button.d.ts.map +0 -1
- package/dist/toggle-button.js +0 -12
- package/dist/toggle-button.js.map +0 -1
- package/dist/toolbar.d.ts +0 -34
- package/dist/toolbar.d.ts.map +0 -1
- package/dist/toolbar.js +0 -108
- package/dist/toolbar.js.map +0 -1
- package/dist/tooltip.d.ts +0 -15
- package/dist/tooltip.d.ts.map +0 -1
- package/dist/tooltip.js +0 -12
- package/dist/tooltip.js.map +0 -1
- package/dist/tree-grid.d.ts +0 -94
- package/dist/tree-grid.d.ts.map +0 -1
- package/dist/tree-grid.js +0 -308
- package/dist/tree-grid.js.map +0 -1
- package/dist/tree-view.d.ts +0 -75
- package/dist/tree-view.d.ts.map +0 -1
- package/dist/tree-view.js +0 -213
- package/dist/tree-view.js.map +0 -1
- package/dist/window-splitter.d.ts +0 -19
- package/dist/window-splitter.d.ts.map +0 -1
- package/dist/window-splitter.js +0 -48
- package/dist/window-splitter.js.map +0 -1
package/README.md
CHANGED
|
@@ -8,8 +8,22 @@ Terminal bindings for Sectile interaction semantics.
|
|
|
8
8
|
- Own controlled or uncontrolled runtime synchronization
|
|
9
9
|
- Preserve grapheme-safe editing and rendered Unicode width
|
|
10
10
|
- Provide optional Node TTY integration
|
|
11
|
+
- Provide optional semantic appearance, screen layout, caret projection, and partial screen updates
|
|
11
12
|
|
|
12
|
-
The package does not
|
|
13
|
+
The package does not prescribe an application theme or component markup and does not own application data. Consumers can render connections directly or compose the optional `appearance` and `screen` subpaths into rows, columns, boxes, and text regions.
|
|
14
|
+
|
|
15
|
+
## Keyboard conventions
|
|
16
|
+
|
|
17
|
+
Bindings follow the shape rendered by the terminal host:
|
|
18
|
+
|
|
19
|
+
- Vertical collections use Up and Down.
|
|
20
|
+
- Horizontal collections use Left and Right.
|
|
21
|
+
- A vertical hierarchy uses Right to open or enter, and Left or Escape to return.
|
|
22
|
+
- Home and End move within the current level.
|
|
23
|
+
- Enter or Space opens a branch or activates a leaf command.
|
|
24
|
+
- Printable text performs typeahead when the connection receives a `textValue` function.
|
|
25
|
+
|
|
26
|
+
Individual connections document any additional editing, paging, or range keys they own.
|
|
13
27
|
|
|
14
28
|
## API shape
|
|
15
29
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sectile/terminal",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Terminal host adapters for Sectile semantic interaction machines.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
},
|
|
14
14
|
"repository": {
|
|
15
15
|
"type": "git",
|
|
16
|
-
"url": "https://github.com/
|
|
16
|
+
"url": "https://github.com/sectile/sectile.git",
|
|
17
17
|
"directory": "packages/terminal"
|
|
18
18
|
},
|
|
19
19
|
"types": "./dist/index.d.ts",
|
|
@@ -28,6 +28,21 @@
|
|
|
28
28
|
"import": "./dist/listbox.js",
|
|
29
29
|
"default": "./dist/listbox.js"
|
|
30
30
|
},
|
|
31
|
+
"./form": {
|
|
32
|
+
"types": "./dist/form.d.ts",
|
|
33
|
+
"import": "./dist/form.js",
|
|
34
|
+
"default": "./dist/form.js"
|
|
35
|
+
},
|
|
36
|
+
"./reorder": {
|
|
37
|
+
"types": "./dist/reorder.d.ts",
|
|
38
|
+
"import": "./dist/reorder.js",
|
|
39
|
+
"default": "./dist/reorder.js"
|
|
40
|
+
},
|
|
41
|
+
"./layer-stack": {
|
|
42
|
+
"types": "./dist/layer-stack.d.ts",
|
|
43
|
+
"import": "./dist/layer-stack.js",
|
|
44
|
+
"default": "./dist/layer-stack.js"
|
|
45
|
+
},
|
|
31
46
|
"./checkbox-group": {
|
|
32
47
|
"types": "./dist/checkbox-group.d.ts",
|
|
33
48
|
"import": "./dist/checkbox-group.js",
|
|
@@ -108,6 +123,11 @@
|
|
|
108
123
|
"import": "./dist/toggle-button.js",
|
|
109
124
|
"default": "./dist/toggle-button.js"
|
|
110
125
|
},
|
|
126
|
+
"./toggle-group": {
|
|
127
|
+
"types": "./dist/toggle-group.d.ts",
|
|
128
|
+
"import": "./dist/toggle-group.js",
|
|
129
|
+
"default": "./dist/toggle-group.js"
|
|
130
|
+
},
|
|
111
131
|
"./window-splitter": {
|
|
112
132
|
"types": "./dist/window-splitter.d.ts",
|
|
113
133
|
"import": "./dist/window-splitter.js",
|
|
@@ -138,6 +158,11 @@
|
|
|
138
158
|
"import": "./dist/time-field.js",
|
|
139
159
|
"default": "./dist/time-field.js"
|
|
140
160
|
},
|
|
161
|
+
"./time-range-field": {
|
|
162
|
+
"types": "./dist/time-range-field.d.ts",
|
|
163
|
+
"import": "./dist/time-range-field.js",
|
|
164
|
+
"default": "./dist/time-range-field.js"
|
|
165
|
+
},
|
|
141
166
|
"./date-picker": {
|
|
142
167
|
"types": "./dist/date-picker.d.ts",
|
|
143
168
|
"import": "./dist/date-picker.js",
|
|
@@ -148,6 +173,31 @@
|
|
|
148
173
|
"import": "./dist/date-range-picker.js",
|
|
149
174
|
"default": "./dist/date-range-picker.js"
|
|
150
175
|
},
|
|
176
|
+
"./range-calendar": {
|
|
177
|
+
"types": "./dist/range-calendar.d.ts",
|
|
178
|
+
"import": "./dist/range-calendar.js",
|
|
179
|
+
"default": "./dist/range-calendar.js"
|
|
180
|
+
},
|
|
181
|
+
"./month-picker": {
|
|
182
|
+
"types": "./dist/month-picker.d.ts",
|
|
183
|
+
"import": "./dist/month-picker.js",
|
|
184
|
+
"default": "./dist/month-picker.js"
|
|
185
|
+
},
|
|
186
|
+
"./month-range-picker": {
|
|
187
|
+
"types": "./dist/month-range-picker.d.ts",
|
|
188
|
+
"import": "./dist/month-range-picker.js",
|
|
189
|
+
"default": "./dist/month-range-picker.js"
|
|
190
|
+
},
|
|
191
|
+
"./year-picker": {
|
|
192
|
+
"types": "./dist/year-picker.d.ts",
|
|
193
|
+
"import": "./dist/year-picker.js",
|
|
194
|
+
"default": "./dist/year-picker.js"
|
|
195
|
+
},
|
|
196
|
+
"./year-range-picker": {
|
|
197
|
+
"types": "./dist/year-range-picker.d.ts",
|
|
198
|
+
"import": "./dist/year-range-picker.js",
|
|
199
|
+
"default": "./dist/year-range-picker.js"
|
|
200
|
+
},
|
|
151
201
|
"./date-time-picker": {
|
|
152
202
|
"types": "./dist/date-time-picker.d.ts",
|
|
153
203
|
"import": "./dist/date-time-picker.js",
|
|
@@ -168,6 +218,31 @@
|
|
|
168
218
|
"import": "./dist/dialog.js",
|
|
169
219
|
"default": "./dist/dialog.js"
|
|
170
220
|
},
|
|
221
|
+
"./popover": {
|
|
222
|
+
"types": "./dist/popover.d.ts",
|
|
223
|
+
"import": "./dist/popover.js",
|
|
224
|
+
"default": "./dist/popover.js"
|
|
225
|
+
},
|
|
226
|
+
"./toast": {
|
|
227
|
+
"types": "./dist/toast.d.ts",
|
|
228
|
+
"import": "./dist/toast.js",
|
|
229
|
+
"default": "./dist/toast.js"
|
|
230
|
+
},
|
|
231
|
+
"./timer": {
|
|
232
|
+
"types": "./dist/timer.d.ts",
|
|
233
|
+
"import": "./dist/timer.js",
|
|
234
|
+
"default": "./dist/timer.js"
|
|
235
|
+
},
|
|
236
|
+
"./cascade-select": {
|
|
237
|
+
"types": "./dist/cascade-select.d.ts",
|
|
238
|
+
"import": "./dist/cascade-select.js",
|
|
239
|
+
"default": "./dist/cascade-select.js"
|
|
240
|
+
},
|
|
241
|
+
"./color-picker": {
|
|
242
|
+
"types": "./dist/color-picker.d.ts",
|
|
243
|
+
"import": "./dist/color-picker.js",
|
|
244
|
+
"default": "./dist/color-picker.js"
|
|
245
|
+
},
|
|
171
246
|
"./alert-dialog": {
|
|
172
247
|
"types": "./dist/alert-dialog.d.ts",
|
|
173
248
|
"import": "./dist/alert-dialog.js",
|
|
@@ -193,6 +268,11 @@
|
|
|
193
268
|
"import": "./dist/menubar.js",
|
|
194
269
|
"default": "./dist/menubar.js"
|
|
195
270
|
},
|
|
271
|
+
"./navigation-menu": {
|
|
272
|
+
"types": "./dist/navigation-menu.d.ts",
|
|
273
|
+
"import": "./dist/navigation-menu.js",
|
|
274
|
+
"default": "./dist/navigation-menu.js"
|
|
275
|
+
},
|
|
196
276
|
"./menu-button": {
|
|
197
277
|
"types": "./dist/menu-button.d.ts",
|
|
198
278
|
"import": "./dist/menu-button.js",
|
|
@@ -238,11 +318,21 @@
|
|
|
238
318
|
"import": "./dist/keyboard.js",
|
|
239
319
|
"default": "./dist/keyboard.js"
|
|
240
320
|
},
|
|
321
|
+
"./appearance": {
|
|
322
|
+
"types": "./dist/appearance.d.ts",
|
|
323
|
+
"import": "./dist/appearance.js",
|
|
324
|
+
"default": "./dist/appearance.js"
|
|
325
|
+
},
|
|
241
326
|
"./layout": {
|
|
242
327
|
"types": "./dist/layout.d.ts",
|
|
243
328
|
"import": "./dist/layout.js",
|
|
244
329
|
"default": "./dist/layout.js"
|
|
245
330
|
},
|
|
331
|
+
"./screen": {
|
|
332
|
+
"types": "./dist/screen.d.ts",
|
|
333
|
+
"import": "./dist/screen.js",
|
|
334
|
+
"default": "./dist/screen.js"
|
|
335
|
+
},
|
|
246
336
|
"./node": {
|
|
247
337
|
"types": "./dist/node.d.ts",
|
|
248
338
|
"import": "./dist/node.js",
|
|
@@ -253,11 +343,21 @@
|
|
|
253
343
|
"import": "./dist/text.js",
|
|
254
344
|
"default": "./dist/text.js"
|
|
255
345
|
},
|
|
346
|
+
"./date-range-field": {
|
|
347
|
+
"types": "./dist/date-range-field.d.ts",
|
|
348
|
+
"import": "./dist/date-range-field.js",
|
|
349
|
+
"default": "./dist/date-range-field.js"
|
|
350
|
+
},
|
|
351
|
+
"./editable": {
|
|
352
|
+
"types": "./dist/editable.d.ts",
|
|
353
|
+
"import": "./dist/editable.js",
|
|
354
|
+
"default": "./dist/editable.js"
|
|
355
|
+
},
|
|
256
356
|
"./package.json": "./package.json"
|
|
257
357
|
},
|
|
258
358
|
"dependencies": {
|
|
259
359
|
"string-width": "8.1.0",
|
|
260
|
-
"@sectile/core": "0.
|
|
360
|
+
"@sectile/core": "0.2.0"
|
|
261
361
|
},
|
|
262
362
|
"devDependencies": {
|
|
263
363
|
"@types/node": "26.2.0",
|
package/dist/accordion.d.ts
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { type FacadeConnection } from './internal/facade.js';
|
|
2
|
-
import type { Result, StableID } from '@sectile/core';
|
|
3
|
-
import type { RevisionSnapshot } from '@sectile/core/revision';
|
|
4
|
-
import { type AccordionEvent, type AccordionPolicies, type AccordionState } from '@sectile/core/accordion';
|
|
5
|
-
import type { TerminalKeyboardInput } from './keyboard.js';
|
|
6
|
-
export interface AccordionOptions<ID extends StableID = StableID> {
|
|
7
|
-
readonly items: readonly ID[];
|
|
8
|
-
readonly policies?: AccordionPolicies<ID>;
|
|
9
|
-
readonly disabledItems?: readonly ID[];
|
|
10
|
-
readonly disabled?: boolean;
|
|
11
|
-
readonly openIDs?: readonly ID[];
|
|
12
|
-
readonly defaultOpenIDs?: readonly ID[];
|
|
13
|
-
readonly highlightedValue?: ID | null;
|
|
14
|
-
readonly defaultHighlightedValue?: ID | null;
|
|
15
|
-
readonly onOpenChange?: (openIDs: readonly ID[]) => void;
|
|
16
|
-
readonly onHighlightedValueChange?: (value: ID | null) => void;
|
|
17
|
-
readonly onUpdate?: () => void;
|
|
18
|
-
}
|
|
19
|
-
export interface AccordionConnection<ID extends StableID = StableID> {
|
|
20
|
-
getSnapshot(): RevisionSnapshot<AccordionState<ID>>;
|
|
21
|
-
syncControlledValues(values: {
|
|
22
|
-
readonly openIDs?: readonly ID[];
|
|
23
|
-
readonly highlightedValue?: ID | null;
|
|
24
|
-
}): Result<RevisionSnapshot<AccordionState<ID>>>;
|
|
25
|
-
handleEvent(event: AccordionEvent<ID>): boolean;
|
|
26
|
-
handleKeyboardInput(input: TerminalKeyboardInput): boolean;
|
|
27
|
-
}
|
|
28
|
-
export declare function createAccordion<ID extends StableID>(options: AccordionOptions<ID>): FacadeConnection<AccordionConnection<ID>>;
|
|
29
|
-
export declare function tryCreateAccordion<ID extends StableID>(options: AccordionOptions<ID>): Result<FacadeConnection<AccordionConnection<ID>>>;
|
|
30
|
-
export declare function toAccordionEvent<ID extends StableID = StableID>(input: TerminalKeyboardInput): AccordionEvent<ID> | null;
|
|
31
|
-
//# sourceMappingURL=accordion.d.ts.map
|
package/dist/accordion.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.ts","sourceRoot":"","sources":["../src/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAoE,KAAK,cAAc,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC7K,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAI3D,MAAM,WAAW,gBAAgB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ;IAC9D,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;IACjH,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;IAC1E,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC;IACpF,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,KAAK,IAAI,CAAC;IACzD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,KAAK,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CAChG;AACD,MAAM,WAAW,mBAAmB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ;IACjE,WAAW,IAAI,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;IACpD,oBAAoB,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,EAAE,CAAC;QAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,EAAE,GAAG,IAAI,CAAA;KAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACxJ,WAAW,CAAC,KAAK,EAAE,cAAc,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC;IAAC,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC;CAC7G;AACD,wBAAgB,eAAe,CAAC,EAAE,SAAS,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAE7H;AAED,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,QAAQ,EAAE,OAAO,EAAE,gBAAgB,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,CAExI;AAoBD,wBAAgB,gBAAgB,CAAC,EAAE,SAAS,QAAQ,GAAG,QAAQ,EAAE,KAAK,EAAE,qBAAqB,GAAG,cAAc,CAAC,EAAE,CAAC,GAAG,IAAI,CAExH"}
|
package/dist/accordion.js
DELETED
|
@@ -1,76 +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 { applyAccordionEvent, createAccordionState } from '@sectile/core/accordion';
|
|
5
|
-
import { createSemanticController } from './internal/semantic-controller.js';
|
|
6
|
-
import { createDisabledItems } from './internal/disabled-items.js';
|
|
7
|
-
export function createAccordion(options) {
|
|
8
|
-
return unwrap(tryCreateAccordion(options));
|
|
9
|
-
}
|
|
10
|
-
export function tryCreateAccordion(options) {
|
|
11
|
-
return createFacadeConnection(options, (options) => tryCreateAccordionConnection(options));
|
|
12
|
-
}
|
|
13
|
-
function tryCreateAccordionConnection(options) {
|
|
14
|
-
const domain = createSequence(options.items);
|
|
15
|
-
if (!domain.ok)
|
|
16
|
-
return domain;
|
|
17
|
-
const disabled = createDisabledItems(domain.value, options.disabledItems);
|
|
18
|
-
if (!disabled.ok)
|
|
19
|
-
return disabled;
|
|
20
|
-
const suppliedEligibility = options.policies?.eligible;
|
|
21
|
-
const policies = Object.freeze({ ...options.policies, eligible: (id) => !disabled.value.has(id) && (suppliedEligibility?.(id) ?? true) });
|
|
22
|
-
const openControlled = options.openIDs !== undefined;
|
|
23
|
-
const highlightControlled = options.highlightedValue !== undefined;
|
|
24
|
-
const initialOpen = options.openIDs ?? options.defaultOpenIDs ?? (options.policies?.collapsible === false && options.items[0] !== undefined ? [options.items[0]] : []);
|
|
25
|
-
const runtime = createSemanticController({
|
|
26
|
-
initial: createAccordionState(domain.value, { openIDs: initialOpen, current: options.highlightedValue !== undefined ? options.highlightedValue : options.defaultHighlightedValue ?? null }, policies),
|
|
27
|
-
reducer: (state, event) => applyAccordionEvent(domain.value, state, event, policies),
|
|
28
|
-
reconcile: (previous, proposed) => createAccordionState(domain.value, { openIDs: openControlled ? previous.openIDs : proposed.openIDs, current: highlightControlled ? previous.cursor.current : proposed.cursor.current }, policies),
|
|
29
|
-
notify: (previous, proposed) => { if (!sameIDs(previous.openIDs, proposed.openIDs))
|
|
30
|
-
options.onOpenChange?.(proposed.openIDs); if (previous.cursor.current !== proposed.cursor.current)
|
|
31
|
-
options.onHighlightedValueChange?.(proposed.cursor.current); },
|
|
32
|
-
toEffect: (command) => command,
|
|
33
|
-
interaction: options,
|
|
34
|
-
});
|
|
35
|
-
if (!runtime.ok)
|
|
36
|
-
return runtime;
|
|
37
|
-
return { ok: true, value: new TerminalAccordionConnection(options, domain.value, runtime.value, openControlled, highlightControlled, policies) };
|
|
38
|
-
}
|
|
39
|
-
export function toAccordionEvent(input) {
|
|
40
|
-
if (input.key === 'down')
|
|
41
|
-
return 'next';
|
|
42
|
-
if (input.key === 'up')
|
|
43
|
-
return 'previous';
|
|
44
|
-
if (input.key === 'home')
|
|
45
|
-
return 'first';
|
|
46
|
-
if (input.key === 'end')
|
|
47
|
-
return 'last';
|
|
48
|
-
if (input.key === 'enter' || input.key === 'space')
|
|
49
|
-
return 'toggle';
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
class TerminalAccordionConnection {
|
|
53
|
-
#options;
|
|
54
|
-
#domain;
|
|
55
|
-
#runtime;
|
|
56
|
-
#openControlled;
|
|
57
|
-
#highlightControlled;
|
|
58
|
-
#policies;
|
|
59
|
-
constructor(options, domain, runtime, openControlled, highlightControlled, policies) { this.#options = options; this.#domain = domain; this.#runtime = runtime; this.#openControlled = openControlled; this.#highlightControlled = highlightControlled; this.#policies = policies; }
|
|
60
|
-
getSnapshot() { return this.#runtime.getSnapshot(); }
|
|
61
|
-
syncControlledValues(values) {
|
|
62
|
-
if (this.#openControlled !== (values.openIDs !== undefined) || this.#highlightControlled !== (values.highlightedValue !== undefined))
|
|
63
|
-
return { ok: false, error: { class: 'construction', code: 'controlled-shape-mismatch', message: 'Controlled accordion values must preserve their construction-time shape.' } };
|
|
64
|
-
const state = this.#runtime.getSnapshot().state;
|
|
65
|
-
const result = this.#runtime.replace(createAccordionState(this.#domain, { openIDs: this.#openControlled ? values.openIDs : state.openIDs, current: this.#highlightControlled ? values.highlightedValue : state.cursor.current }, this.#policies));
|
|
66
|
-
if (result.ok)
|
|
67
|
-
this.#options.onUpdate?.();
|
|
68
|
-
return result;
|
|
69
|
-
}
|
|
70
|
-
handleEvent(event) { const result = this.#runtime.handle(event); if (result.ok)
|
|
71
|
-
this.#options.onUpdate?.(); return result.ok; }
|
|
72
|
-
handleKeyboardInput(input) { const event = toAccordionEvent(input); if (event === null)
|
|
73
|
-
return false; return this.handleEvent(event); }
|
|
74
|
-
}
|
|
75
|
-
function sameIDs(left, right) { return left.length === right.length && left.every((id, index) => id === right[index]); }
|
|
76
|
-
//# sourceMappingURL=accordion.js.map
|
package/dist/accordion.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.js","sourceRoot":"","sources":["../src/accordion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAiB,MAAM,wBAAwB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,oBAAoB,EAA2F,MAAM,yBAAyB,CAAC;AAE7K,OAAO,EAAE,wBAAwB,EAA2B,MAAM,mCAAmC,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AAenE,MAAM,UAAU,eAAe,CAAsB,OAA6B;IAChF,OAAO,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAsB,OAA6B;IACnF,OAAO,sBAAsB,CAAC,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,4BAA4B,CAAC,OAAO,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED,SAAS,4BAA4B,CAAsB,OAA6B;IACtF,MAAM,MAAM,GAAG,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,OAAO,MAAM,CAAC;IAC5E,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC;IAC7G,MAAM,mBAAmB,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACvD,MAAM,QAAQ,GAA0B,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAM,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC;IACrK,MAAM,cAAc,GAAG,OAAO,CAAC,OAAO,KAAK,SAAS,CAAC;IAAC,MAAM,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC;IACzH,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,cAAc,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,KAAK,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvK,MAAM,OAAO,GAAG,wBAAwB,CAAqF;QAC3H,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,IAAI,IAAI,EAAE,EAAE,QAAQ,CAAC;QACrM,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;QACpF,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC;QACpO,MAAM,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,YAAY,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,QAAQ,CAAC,MAAM,CAAC,OAAO,KAAK,QAAQ,CAAC,MAAM,CAAC,OAAO;YAAE,OAAO,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrP,QAAQ,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO;QAC9B,WAAW,EAAE,OAAO;KACrB,CAAC,CAAC;IACH,IAAI,CAAC,OAAO,CAAC,EAAE;QAAE,OAAO,OAAO,CAAC;IAChC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,QAAQ,CAAC,EAAE,CAAC;AACnJ,CAAC;AACD,MAAM,UAAU,gBAAgB,CAAiC,KAA4B;IAC3F,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM;QAAE,OAAO,MAAM,CAAC;IAAC,IAAI,KAAK,CAAC,GAAG,KAAK,IAAI;QAAE,OAAO,UAAU,CAAC;IAAC,IAAI,KAAK,CAAC,GAAG,KAAK,MAAM;QAAE,OAAO,OAAO,CAAC;IAAC,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK;QAAE,OAAO,MAAM,CAAC;IAAC,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC;IAAC,OAAO,IAAI,CAAC;AACzP,CAAC;AACD,MAAM,2BAA2B;IACtB,QAAQ,CAAuB;IAAU,OAAO,CAAe;IAAU,QAAQ,CAAmF;IAAU,eAAe,CAAU;IAAU,oBAAoB,CAAU;IAAU,SAAS,CAAwB;IACnS,YAAmB,OAA6B,EAAE,MAAoB,EAAE,OAAyF,EAAE,cAAuB,EAAE,mBAA4B,EAAE,QAA+B,IAAI,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC,CAAC,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC;IACnb,WAAW,KAA2C,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3F,oBAAoB,CAAC,MAAmF;QAC7G,IAAI,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS,CAAC,IAAI,IAAI,CAAC,oBAAoB,KAAK,CAAC,MAAM,CAAC,gBAAgB,KAAK,SAAS,CAAC;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,2BAA2B,EAAE,OAAO,EAAE,0EAA0E,EAAE,EAAE,CAAC;QACrT,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC;QAAC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC,CAAE,MAAM,CAAC,OAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAE,MAAM,CAAC,gBAA8B,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;QAAC,IAAI,MAAM,CAAC,EAAE;YAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC;QAAC,OAAO,MAAM,CAAC;IACjY,CAAC;IACM,WAAW,CAAC,KAAyB,IAAa,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,EAAE;QAAE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5J,mBAAmB,CAAC,KAA4B,IAAa,MAAM,KAAK,GAAG,gBAAgB,CAAK,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC,CAAC,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;CACnL;AACD,SAAS,OAAO,CAAK,IAAmB,EAAE,KAAoB,IAAa,OAAO,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/alert-dialog.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 AlertDialogEvent, type AlertDialogState } from '@sectile/core/alert-dialog';
|
|
4
|
-
import { type TerminalPopupConnection } from './internal/popup-control.js';
|
|
5
|
-
export interface AlertDialogOptions {
|
|
6
|
-
readonly open?: boolean;
|
|
7
|
-
readonly defaultOpen?: boolean;
|
|
8
|
-
readonly disabled?: boolean;
|
|
9
|
-
readonly onOpenChange?: (open: boolean) => void;
|
|
10
|
-
readonly onInitialFocus?: () => void;
|
|
11
|
-
readonly onFocusRestore?: () => void;
|
|
12
|
-
readonly onAnnounce?: () => void;
|
|
13
|
-
readonly onUpdate?: () => void;
|
|
14
|
-
}
|
|
15
|
-
export type AlertDialogConnection = TerminalPopupConnection<AlertDialogState, AlertDialogEvent>;
|
|
16
|
-
export declare function createAlertDialog(o?: AlertDialogOptions): FacadeConnection<AlertDialogConnection>;
|
|
17
|
-
export declare function tryCreateAlertDialog(o?: AlertDialogOptions): Result<FacadeConnection<AlertDialogConnection>>;
|
|
18
|
-
//# sourceMappingURL=alert-dialog.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.d.ts","sourceRoot":"","sources":["../src/alert-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0B,KAAK,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAErF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAA0E,KAAK,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAClK,OAAO,EAAuB,KAAK,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAChG,MAAM,WAAW,kBAAkB;IAAG,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,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE;AAC3T,MAAM,MAAM,qBAAqB,GAAG,uBAAuB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC;AAChG,wBAAgB,iBAAiB,CAAC,CAAC,GAAE,kBAAuB,GAAG,gBAAgB,CAAC,qBAAqB,CAAC,CAErG;AAED,wBAAgB,oBAAoB,CAAC,CAAC,GAAE,kBAAuB,GAAG,MAAM,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,CAEhH"}
|
package/dist/alert-dialog.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { createFacadeConnection } from './internal/facade.js';
|
|
2
|
-
import { unwrap } from '@sectile/core/result';
|
|
3
|
-
import { applyAlertDialogEvent, createAlertDialogState } from '@sectile/core/alert-dialog';
|
|
4
|
-
import { createTerminalPopup } from './internal/popup-control.js';
|
|
5
|
-
export function createAlertDialog(o = {}) {
|
|
6
|
-
return unwrap(tryCreateAlertDialog(o));
|
|
7
|
-
}
|
|
8
|
-
export function tryCreateAlertDialog(o = {}) {
|
|
9
|
-
return createFacadeConnection(o, (o) => tryCreateAlertDialogConnection(o));
|
|
10
|
-
}
|
|
11
|
-
function tryCreateAlertDialogConnection(o = {}) { return createTerminalPopup({ controlled: o.open !== undefined, initial: createAlertDialogState(o.open ?? o.defaultOpen ?? false), reducer: applyAlertDialogEvent, create: createAlertDialogState, read: (s) => s.open, close: 'close', interaction: o, onOpenChange: o.onOpenChange, command: (c) => c.type === 'request-initial-focus' ? o.onInitialFocus?.() : c.type === 'request-focus-restore' ? o.onFocusRestore?.() : o.onAnnounce?.(), onUpdate: o.onUpdate }); }
|
|
12
|
-
//# sourceMappingURL=alert-dialog.js.map
|
package/dist/alert-dialog.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"alert-dialog.js","sourceRoot":"","sources":["../src/alert-dialog.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAyB,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAE9C,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAyE,MAAM,4BAA4B,CAAC;AAClK,OAAO,EAAE,mBAAmB,EAAgC,MAAM,6BAA6B,CAAC;AAGhG,MAAM,UAAU,iBAAiB,CAAC,CAAC,GAAuB,EAAE;IAC1D,OAAO,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,CAAC,GAAuB,EAAE;IAC7D,OAAO,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,8BAA8B,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC;AAED,SAAS,8BAA8B,CAAC,CAAC,GAAuB,EAAE,IAAmC,OAAO,mBAAmB,CAAyD,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,EAAE,OAAO,EAAE,sBAAsB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,WAAW,IAAI,KAAK,CAAC,EAAE,OAAO,EAAE,qBAAqB,EAAE,MAAM,EAAE,sBAAsB,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,YAAY,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/calendar.d.ts
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { type FacadeConnection } from './internal/facade.js';
|
|
2
|
-
import type { Result, StableID } from '@sectile/core';
|
|
3
|
-
import { type CalendarCommand, type CalendarEvent, type CalendarPolicies, type CalendarState } from '@sectile/core/calendar';
|
|
4
|
-
import { type Grid } from '@sectile/core/grid';
|
|
5
|
-
import { type RevisionResult, type RevisionSnapshot } from '@sectile/core/revision';
|
|
6
|
-
import type { TerminalKeyboardInput } from './keyboard.js';
|
|
7
|
-
export type KeyboardInput = TerminalKeyboardInput;
|
|
8
|
-
export type CalendarEffect<ID extends StableID = StableID> = {
|
|
9
|
-
readonly type: 'move-highlight';
|
|
10
|
-
readonly id: ID;
|
|
11
|
-
} | {
|
|
12
|
-
readonly type: 'request-page';
|
|
13
|
-
readonly direction: -1 | 1;
|
|
14
|
-
readonly from: ID | null;
|
|
15
|
-
};
|
|
16
|
-
export interface CalendarValueChangeDetails<ID extends StableID = StableID> {
|
|
17
|
-
readonly value: ID | null;
|
|
18
|
-
readonly previousValue: ID | null;
|
|
19
|
-
}
|
|
20
|
-
export interface CalendarHighlightChangeDetails<ID extends StableID = StableID> {
|
|
21
|
-
readonly value: ID | null;
|
|
22
|
-
readonly previousValue: ID | null;
|
|
23
|
-
}
|
|
24
|
-
export interface CalendarControllerOptions<ID extends StableID = StableID> {
|
|
25
|
-
readonly grid: Grid<ID>;
|
|
26
|
-
readonly disabled?: boolean;
|
|
27
|
-
readonly policies?: CalendarPolicies<ID>;
|
|
28
|
-
readonly value?: ID | null;
|
|
29
|
-
readonly defaultValue?: ID | null;
|
|
30
|
-
readonly highlightedValue?: ID | null;
|
|
31
|
-
readonly defaultHighlightedValue?: ID | null;
|
|
32
|
-
readonly onValueChange?: (change: CalendarValueChangeDetails<ID>) => void;
|
|
33
|
-
readonly onHighlightedValueChange?: (change: CalendarHighlightChangeDetails<ID>) => void;
|
|
34
|
-
}
|
|
35
|
-
export interface CalendarControlledValues<ID extends StableID = StableID> {
|
|
36
|
-
readonly value?: ID | null;
|
|
37
|
-
readonly highlightedValue?: ID | null;
|
|
38
|
-
}
|
|
39
|
-
export interface CalendarController<ID extends StableID = StableID> {
|
|
40
|
-
readonly grid: Grid<ID>;
|
|
41
|
-
getSnapshot(): RevisionSnapshot<CalendarState<ID>>;
|
|
42
|
-
syncControlledValues(values: CalendarControlledValues<ID>): Result<RevisionSnapshot<CalendarState<ID>>>;
|
|
43
|
-
handleKeyboardInput(input: KeyboardInput, expectedRevision?: number): RevisionResult<CalendarState<ID>, CalendarEffect<ID>>;
|
|
44
|
-
}
|
|
45
|
-
export interface CalendarPageRequestDetails<ID extends StableID = StableID> {
|
|
46
|
-
readonly direction: -1 | 1;
|
|
47
|
-
readonly from: ID | null;
|
|
48
|
-
}
|
|
49
|
-
export interface CalendarTransitionDetails<ID extends StableID = StableID> {
|
|
50
|
-
readonly event: CalendarEvent<ID>;
|
|
51
|
-
readonly result: RevisionResult<CalendarState<ID>, CalendarEffect<ID>>;
|
|
52
|
-
}
|
|
53
|
-
export interface CalendarConnectionOptions<ID extends StableID = StableID> {
|
|
54
|
-
readonly controller: CalendarController<ID>;
|
|
55
|
-
readonly disabled?: boolean;
|
|
56
|
-
readonly onPageRequest?: (details: CalendarPageRequestDetails<ID>) => void;
|
|
57
|
-
readonly onTransition?: (details: CalendarTransitionDetails<ID>) => void;
|
|
58
|
-
readonly onUpdate?: () => void;
|
|
59
|
-
}
|
|
60
|
-
export interface CalendarConnection<ID extends StableID = StableID> {
|
|
61
|
-
readonly grid: Grid<ID>;
|
|
62
|
-
getSnapshot(): RevisionSnapshot<CalendarState<ID>>;
|
|
63
|
-
syncControlledValues(values: CalendarControlledValues<ID>): Result<RevisionSnapshot<CalendarState<ID>>>;
|
|
64
|
-
handleKeyboardInput(input: KeyboardInput): boolean;
|
|
65
|
-
}
|
|
66
|
-
export type CalendarOptions<ID extends StableID = StableID> = Omit<CalendarControllerOptions<ID>, 'grid'> & Omit<CalendarConnectionOptions<ID>, 'controller'> & {
|
|
67
|
-
readonly rows: readonly (readonly ID[])[];
|
|
68
|
-
};
|
|
69
|
-
export declare function createCalendarController<ID extends StableID>(options: CalendarControllerOptions<ID>): Result<CalendarController<ID>>;
|
|
70
|
-
export declare function createCalendar<ID extends StableID>(options: CalendarOptions<ID>): FacadeConnection<CalendarConnection<ID>>;
|
|
71
|
-
export declare function tryCreateCalendar<ID extends StableID>(options: CalendarOptions<ID>): Result<FacadeConnection<CalendarConnection<ID>>>;
|
|
72
|
-
export declare function connectCalendar<ID extends StableID>(options: CalendarConnectionOptions<ID>): CalendarConnection<ID>;
|
|
73
|
-
export declare function toCalendarEvent<ID extends StableID = StableID>(input: KeyboardInput): CalendarEvent<ID> | null;
|
|
74
|
-
export declare function toCalendarEffect<ID extends StableID>(command: CalendarCommand<ID>): CalendarEffect<ID>;
|
|
75
|
-
//# sourceMappingURL=calendar.d.ts.map
|
package/dist/calendar.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../src/calendar.ts"],"names":[],"mappings":"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"}
|