@foldkit/ui 0.135.0 → 0.136.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.
@@ -7,6 +7,7 @@ import { m } from 'foldkit/message';
7
7
  import { ts } from 'foldkit/schema';
8
8
  import { evo } from 'foldkit/struct';
9
9
  import * as Subscription from 'foldkit/subscription';
10
+ import { attributeSelector } from '../internal/selectors.js';
10
11
  // MODEL
11
12
  const Orientation = S.Literals(['Horizontal', 'Vertical']);
12
13
  const ScreenPoint = S.Struct({
@@ -137,16 +138,20 @@ export const init = (config) => (__foldkitBrandViewResult(({
137
138
  dragState: Idle(),
138
139
  }), "@foldkit/ui/dragAndDrop/index.js#init"));
139
140
  /** Focuses a draggable item by ID after keyboard drop or cancel. */
140
- export const FocusItem = Command.define('FocusItem', { itemId: S.String }, CompletedFocusItem)(({ itemId }) => __foldkitBrandViewResult((Dom.focus(`[data-draggable-id="${itemId}"]`).pipe(Effect.ignore, Effect.as(CompletedFocusItem()))), "@foldkit/ui/dragAndDrop/index.js#anonymous"));
141
+ export const FocusItem = Command.define('FocusItem', {
142
+ args: { itemId: S.String },
143
+ messages: [CompletedFocusItem],
144
+ execute: ({ itemId }) => __foldkitBrandViewResult((Dom.focus(attributeSelector('data-draggable-id', itemId)).pipe(Effect.ignore, Effect.as(CompletedFocusItem()))), "@foldkit/ui/dragAndDrop/index.js#execute"),
145
+ });
141
146
  const resolveWithinContainer = (config) => {
142
- const container = document.querySelector(`[data-droppable-id="${config.containerId}"]`);
147
+ const container = document.querySelector(attributeSelector('data-droppable-id', config.containerId));
143
148
  if (!container) {
144
149
  return __foldkitBrandViewResult((ResolvedKeyboardMove({
145
150
  targetContainerId: config.containerId,
146
151
  targetIndex: config.currentIndex,
147
152
  })), "@foldkit/ui/dragAndDrop/index.js#resolveWithinContainer");
148
153
  }
149
- const itemCount = pipe(container.querySelectorAll('[data-sortable-id]'), Array.fromIterable, Array.filter(({ dataset }) => __foldkitBrandViewResult((dataset['sortableId'] !== config.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous~2")), Array.length);
154
+ const itemCount = pipe(container.querySelectorAll('[data-sortable-id]'), Array.fromIterable, Array.filter(({ dataset }) => __foldkitBrandViewResult((dataset['sortableId'] !== config.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous")), Array.length);
150
155
  const nextIndex = config.isForward
151
156
  ? Math.min(config.currentIndex + 1, itemCount)
152
157
  : Math.max(config.currentIndex - 1, 0);
@@ -157,7 +162,7 @@ const resolveWithinContainer = (config) => {
157
162
  };
158
163
  const resolveBetweenContainers = (config) => {
159
164
  const allContainers = Array.fromIterable(document.querySelectorAll('[data-droppable-id]'));
160
- const currentContainerIndex = pipe(allContainers, Array.findFirstIndex(({ dataset }) => __foldkitBrandViewResult((dataset['droppableId'] === config.currentContainerId), "@foldkit/ui/dragAndDrop/index.js#anonymous~3")), Option.getOrElse(() => __foldkitBrandViewResult((0), "@foldkit/ui/dragAndDrop/index.js#anonymous~4")));
165
+ const currentContainerIndex = pipe(allContainers, Array.findFirstIndex(({ dataset }) => __foldkitBrandViewResult((dataset['droppableId'] === config.currentContainerId), "@foldkit/ui/dragAndDrop/index.js#anonymous~2")), Option.getOrElse(() => __foldkitBrandViewResult((0), "@foldkit/ui/dragAndDrop/index.js#anonymous~3")));
161
166
  const nextContainerIndex = config.isForward
162
167
  ? Math.min(currentContainerIndex + 1, allContainers.length - 1)
163
168
  : Math.max(currentContainerIndex - 1, 0);
@@ -173,32 +178,36 @@ const resolveKeyboardMoveTarget = (config) => __foldkitBrandViewResult((Effect.s
173
178
  containerId: config.currentContainerId,
174
179
  currentIndex: config.currentIndex,
175
180
  isForward: true,
176
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~6")), M.whenOr('Up', 'Left', () => __foldkitBrandViewResult((resolveWithinContainer({
181
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~5")), M.whenOr('Up', 'Left', () => __foldkitBrandViewResult((resolveWithinContainer({
177
182
  itemId: config.itemId,
178
183
  containerId: config.currentContainerId,
179
184
  currentIndex: config.currentIndex,
180
185
  isForward: false,
181
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~7")), M.when('NextContainer', () => __foldkitBrandViewResult((resolveBetweenContainers({
186
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~6")), M.when('NextContainer', () => __foldkitBrandViewResult((resolveBetweenContainers({
182
187
  currentContainerId: config.currentContainerId,
183
188
  isForward: true,
184
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~8")), M.when('PreviousContainer', () => __foldkitBrandViewResult((resolveBetweenContainers({
189
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~7")), M.when('PreviousContainer', () => __foldkitBrandViewResult((resolveBetweenContainers({
185
190
  currentContainerId: config.currentContainerId,
186
191
  isForward: false,
187
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~9")), M.exhaustive)), "@foldkit/ui/dragAndDrop/index.js#anonymous~5"))), "@foldkit/ui/dragAndDrop/index.js#resolveKeyboardMoveTarget");
192
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~8")), M.exhaustive)), "@foldkit/ui/dragAndDrop/index.js#anonymous~4"))), "@foldkit/ui/dragAndDrop/index.js#resolveKeyboardMoveTarget");
188
193
  /** Resolves the next keyboard drag position by querying the DOM for adjacent sortable items and containers. */
189
194
  export const ResolveKeyboardMove = Command.define('ResolveKeyboardMove', {
190
- itemId: S.String,
191
- currentContainerId: S.String,
192
- currentIndex: S.Number,
193
- direction: S.Literals([
194
- 'Up',
195
- 'Down',
196
- 'Left',
197
- 'Right',
198
- 'NextContainer',
199
- 'PreviousContainer',
200
- ]),
201
- }, ResolvedKeyboardMove)(resolveKeyboardMoveTarget);
195
+ args: {
196
+ itemId: S.String,
197
+ currentContainerId: S.String,
198
+ currentIndex: S.Number,
199
+ direction: S.Literals([
200
+ 'Up',
201
+ 'Down',
202
+ 'Left',
203
+ 'Right',
204
+ 'NextContainer',
205
+ 'PreviousContainer',
206
+ ]),
207
+ },
208
+ messages: [ResolvedKeyboardMove],
209
+ execute: resolveKeyboardMoveTarget,
210
+ });
202
211
  const withUpdateReturn = M.withReturnType();
203
212
  /** Processes a drag-and-drop message and returns the next model, commands, and an optional out-message for the parent. */
204
213
  export const update = (model, message) => __foldkitBrandViewResult((M.value(message).pipe(withUpdateReturn, M.tagsExhaustive({
@@ -219,7 +228,7 @@ export const update = (model, message) => __foldkitBrandViewResult((M.value(mess
219
228
  const deltaY = screenY - pending.origin.screenY;
220
229
  const distance = Math.sqrt(deltaX * deltaX + deltaY * deltaY);
221
230
  if (distance < model.activationThreshold) {
222
- return __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~10");
231
+ return __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~9");
223
232
  }
224
233
  return __foldkitBrandViewResult(([
225
234
  evo(model, {
@@ -234,7 +243,7 @@ export const update = (model, message) => __foldkitBrandViewResult((M.value(mess
234
243
  }),
235
244
  [],
236
245
  Option.none(),
237
- ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~10");
246
+ ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~9");
238
247
  }), M.tag('Dragging', dragging => __foldkitBrandViewResult(([
239
248
  evo(model, {
240
249
  dragState: () => __foldkitBrandViewResult((Dragging({
@@ -245,12 +254,12 @@ export const update = (model, message) => __foldkitBrandViewResult((M.value(mess
245
254
  }),
246
255
  [],
247
256
  Option.none(),
248
- ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~11")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~12")))), "@foldkit/ui/dragAndDrop/index.js#MovedPointer"),
257
+ ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~10")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~11")))), "@foldkit/ui/dragAndDrop/index.js#MovedPointer"),
249
258
  ReleasedPointer: () => __foldkitBrandViewResult((M.value(model.dragState).pipe(withUpdateReturn, M.tag('Pending', () => __foldkitBrandViewResult(([
250
259
  evo(model, { dragState: () => __foldkitBrandViewResult((Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~4") }),
251
260
  [],
252
261
  Option.none(),
253
- ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~13")), M.tag('Dragging', dragging => __foldkitBrandViewResult((Option.match(dragging.maybeDropTarget, {
262
+ ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~12")), M.tag('Dragging', dragging => __foldkitBrandViewResult((Option.match(dragging.maybeDropTarget, {
254
263
  onNone: () => __foldkitBrandViewResult(([
255
264
  evo(model, { dragState: () => __foldkitBrandViewResult((Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~5") }),
256
265
  [],
@@ -267,10 +276,10 @@ export const update = (model, message) => __foldkitBrandViewResult((M.value(mess
267
276
  toIndex: dropTarget.index,
268
277
  })),
269
278
  ]), "@foldkit/ui/dragAndDrop/index.js#onSome"),
270
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~14")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~15")))), "@foldkit/ui/dragAndDrop/index.js#ReleasedPointer"),
279
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~13")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~14")))), "@foldkit/ui/dragAndDrop/index.js#ReleasedPointer"),
271
280
  CancelledDrag: () => {
272
- const maybeFocusCommand = Option.liftPredicate(model.dragState, dragState => __foldkitBrandViewResult((dragState._tag === 'KeyboardDragging'), "@foldkit/ui/dragAndDrop/index.js#anonymous~16")).pipe(Option.map(({ itemId }) => __foldkitBrandViewResult((FocusItem({ itemId })), "@foldkit/ui/dragAndDrop/index.js#anonymous~17")));
273
- const maybeOutMessage = Option.liftPredicate(model.dragState._tag, _tag => __foldkitBrandViewResult((_tag === 'Dragging' || _tag === 'KeyboardDragging'), "@foldkit/ui/dragAndDrop/index.js#anonymous~18")).pipe(Option.map(() => __foldkitBrandViewResult((Cancelled()), "@foldkit/ui/dragAndDrop/index.js#anonymous~19")));
281
+ const maybeFocusCommand = Option.liftPredicate(model.dragState, dragState => __foldkitBrandViewResult((dragState._tag === 'KeyboardDragging'), "@foldkit/ui/dragAndDrop/index.js#anonymous~15")).pipe(Option.map(({ itemId }) => __foldkitBrandViewResult((FocusItem({ itemId })), "@foldkit/ui/dragAndDrop/index.js#anonymous~16")));
282
+ const maybeOutMessage = Option.liftPredicate(model.dragState._tag, _tag => __foldkitBrandViewResult((_tag === 'Dragging' || _tag === 'KeyboardDragging'), "@foldkit/ui/dragAndDrop/index.js#anonymous~17")).pipe(Option.map(() => __foldkitBrandViewResult((Cancelled()), "@foldkit/ui/dragAndDrop/index.js#anonymous~18")));
274
283
  return __foldkitBrandViewResult(([
275
284
  evo(model, { dragState: () => __foldkitBrandViewResult((Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~7") }),
276
285
  Option.toArray(maybeFocusCommand),
@@ -300,7 +309,7 @@ export const update = (model, message) => __foldkitBrandViewResult((M.value(mess
300
309
  }),
301
310
  [],
302
311
  Option.none(),
303
- ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~20")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~21")))), "@foldkit/ui/dragAndDrop/index.js#ResolvedKeyboardMove"),
312
+ ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~19")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~20")))), "@foldkit/ui/dragAndDrop/index.js#ResolvedKeyboardMove"),
304
313
  ConfirmedKeyboardDrop: () => __foldkitBrandViewResult((M.value(model.dragState).pipe(withUpdateReturn, M.tag('KeyboardDragging', keyboardDragging => __foldkitBrandViewResult(([
305
314
  evo(model, { dragState: () => __foldkitBrandViewResult((Idle()), "@foldkit/ui/dragAndDrop/index.js#dragState~10") }),
306
315
  [FocusItem({ itemId: keyboardDragging.itemId })],
@@ -311,7 +320,7 @@ export const update = (model, message) => __foldkitBrandViewResult((M.value(mess
311
320
  toContainerId: keyboardDragging.targetContainerId,
312
321
  toIndex: keyboardDragging.targetIndex,
313
322
  })),
314
- ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~22")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~23")))), "@foldkit/ui/dragAndDrop/index.js#ConfirmedKeyboardDrop"),
323
+ ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~21")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~22")))), "@foldkit/ui/dragAndDrop/index.js#ConfirmedKeyboardDrop"),
315
324
  PressedArrowKey: ({ direction }) => __foldkitBrandViewResult((M.value(model.dragState).pipe(withUpdateReturn, M.tag('KeyboardDragging', keyboardDragging => __foldkitBrandViewResult(([
316
325
  model,
317
326
  [
@@ -323,7 +332,7 @@ export const update = (model, message) => __foldkitBrandViewResult((M.value(mess
323
332
  }),
324
333
  ],
325
334
  Option.none(),
326
- ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~24")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~25")))), "@foldkit/ui/dragAndDrop/index.js#PressedArrowKey"),
335
+ ]), "@foldkit/ui/dragAndDrop/index.js#anonymous~23")), M.orElse(() => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#anonymous~24")))), "@foldkit/ui/dragAndDrop/index.js#PressedArrowKey"),
327
336
  AdvancedAutoScrollFrame: () => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#AdvancedAutoScrollFrame"),
328
337
  CompletedFocusItem: () => __foldkitBrandViewResult(([model, [], Option.none()]), "@foldkit/ui/dragAndDrop/index.js#CompletedFocusItem"),
329
338
  }))), "@foldkit/ui/dragAndDrop/index.js#update");
@@ -332,18 +341,18 @@ const DragActivity = S.Literals(['Idle', 'Active']);
332
341
  const PointerDragActivity = S.Literals(['Idle', 'Active']);
333
342
  const KeyboardDragActivity = S.Literals(['Idle', 'Active']);
334
343
  const resolveDropTarget = (clientX, clientY, orientation) => {
335
- const maybeContainer = pipe(document.elementsFromPoint(clientX, clientY), Array.fromIterable, Array.findFirst(element => __foldkitBrandViewResult((element.hasAttribute('data-droppable-id')), "@foldkit/ui/dragAndDrop/index.js#anonymous~26")));
344
+ const maybeContainer = pipe(document.elementsFromPoint(clientX, clientY), Array.fromIterable, Array.findFirst(element => __foldkitBrandViewResult((element.hasAttribute('data-droppable-id')), "@foldkit/ui/dragAndDrop/index.js#anonymous~25")));
336
345
  return __foldkitBrandViewResult((Option.flatMap(maybeContainer, container => {
337
346
  const containerId = container.getAttribute('data-droppable-id');
338
347
  if (!containerId) {
339
- return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#anonymous~27");
348
+ return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#anonymous~26");
340
349
  }
341
350
  const sortableItems = Array.fromIterable(container.querySelectorAll('[data-sortable-id]'));
342
351
  const insertionIndex = pipe(sortableItems, Array.findFirstIndex(item => {
343
352
  const rect = item.getBoundingClientRect();
344
- return __foldkitBrandViewResult((M.value(orientation).pipe(M.when('Vertical', () => __foldkitBrandViewResult((clientY < rect.top + rect.height / 2), "@foldkit/ui/dragAndDrop/index.js#anonymous~29")), M.when('Horizontal', () => __foldkitBrandViewResult((clientX < rect.left + rect.width / 2), "@foldkit/ui/dragAndDrop/index.js#anonymous~30")), M.exhaustive)), "@foldkit/ui/dragAndDrop/index.js#anonymous~28");
345
- }), Option.getOrElse(() => __foldkitBrandViewResult((sortableItems.length), "@foldkit/ui/dragAndDrop/index.js#anonymous~31")));
346
- return __foldkitBrandViewResult((Option.some({ containerId, index: insertionIndex })), "@foldkit/ui/dragAndDrop/index.js#anonymous~27");
353
+ return __foldkitBrandViewResult((M.value(orientation).pipe(M.when('Vertical', () => __foldkitBrandViewResult((clientY < rect.top + rect.height / 2), "@foldkit/ui/dragAndDrop/index.js#anonymous~28")), M.when('Horizontal', () => __foldkitBrandViewResult((clientX < rect.left + rect.width / 2), "@foldkit/ui/dragAndDrop/index.js#anonymous~29")), M.exhaustive)), "@foldkit/ui/dragAndDrop/index.js#anonymous~27");
354
+ }), Option.getOrElse(() => __foldkitBrandViewResult((sortableItems.length), "@foldkit/ui/dragAndDrop/index.js#anonymous~30")));
355
+ return __foldkitBrandViewResult((Option.some({ containerId, index: insertionIndex })), "@foldkit/ui/dragAndDrop/index.js#anonymous~26");
347
356
  })), "@foldkit/ui/dragAndDrop/index.js#resolveDropTarget");
348
357
  };
349
358
  const DEFAULT_AUTO_SCROLL_EDGE_PIXELS = 40;
@@ -363,9 +372,9 @@ const autoScroll = (clientY) => {
363
372
  window.scrollBy(0, speed);
364
373
  }
365
374
  };
366
- const pointerDragActivityFromModel = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.withReturnType(), M.tag('Pending', 'Dragging', () => __foldkitBrandViewResult(('Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~32")), M.orElse(() => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/dragAndDrop/index.js#anonymous~33")))), "@foldkit/ui/dragAndDrop/index.js#pointerDragActivityFromModel");
367
- const dragActivityFromModel = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.withReturnType(), M.tag('Idle', () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/dragAndDrop/index.js#anonymous~34")), M.orElse(() => __foldkitBrandViewResult(('Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~35")))), "@foldkit/ui/dragAndDrop/index.js#dragActivityFromModel");
368
- const keyboardDragActivityFromModel = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.withReturnType(), M.tag('KeyboardDragging', () => __foldkitBrandViewResult(('Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~36")), M.orElse(() => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/dragAndDrop/index.js#anonymous~37")))), "@foldkit/ui/dragAndDrop/index.js#keyboardDragActivityFromModel");
375
+ const pointerDragActivityFromModel = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.withReturnType(), M.tag('Pending', 'Dragging', () => __foldkitBrandViewResult(('Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~31")), M.orElse(() => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/dragAndDrop/index.js#anonymous~32")))), "@foldkit/ui/dragAndDrop/index.js#pointerDragActivityFromModel");
376
+ const dragActivityFromModel = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.withReturnType(), M.tag('Idle', () => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/dragAndDrop/index.js#anonymous~33")), M.orElse(() => __foldkitBrandViewResult(('Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~34")))), "@foldkit/ui/dragAndDrop/index.js#dragActivityFromModel");
377
+ const keyboardDragActivityFromModel = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.withReturnType(), M.tag('KeyboardDragging', () => __foldkitBrandViewResult(('Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~35")), M.orElse(() => __foldkitBrandViewResult(('Idle'), "@foldkit/ui/dragAndDrop/index.js#anonymous~36")))), "@foldkit/ui/dragAndDrop/index.js#keyboardDragActivityFromModel");
369
378
  /** Document-level subscriptions for pointer and keyboard events during drag operations. */
370
379
  export const subscriptions = Subscription.make()(entry => (__foldkitBrandViewResult(({
371
380
  documentPointer: entry({
@@ -383,7 +392,7 @@ export const subscriptions = Subscription.make()(entry => (__foldkitBrandViewRes
383
392
  clientX: event.clientX,
384
393
  clientY: event.clientY,
385
394
  maybeDropTarget: resolveDropTarget(event.clientX, event.clientY, orientation),
386
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~40"))), "@foldkit/ui/dragAndDrop/index.js#anonymous~39"))), Stream.fromEventListener(document, 'pointerup').pipe(Stream.map(() => __foldkitBrandViewResult((ReleasedPointer()), "@foldkit/ui/dragAndDrop/index.js#anonymous~41"))));
395
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~39"))), "@foldkit/ui/dragAndDrop/index.js#anonymous~38"))), Stream.fromEventListener(document, 'pointerup').pipe(Stream.map(() => __foldkitBrandViewResult((ReleasedPointer()), "@foldkit/ui/dragAndDrop/index.js#anonymous~40"))));
387
396
  // NOTE: prevents text selection and locks cursor to grabbing during
388
397
  // pointer drag. Uses a <style> element for cursor because inline styles
389
398
  // on <html> don't override descendant elements' cursor values.
@@ -393,20 +402,20 @@ export const subscriptions = Subscription.make()(entry => (__foldkitBrandViewRes
393
402
  const cursorStyle = document.createElement('style');
394
403
  cursorStyle.textContent = '* { cursor: grabbing !important; }';
395
404
  document.head.appendChild(cursorStyle);
396
- return __foldkitBrandViewResult((cursorStyle), "@foldkit/ui/dragAndDrop/index.js#anonymous~43");
405
+ return __foldkitBrandViewResult((cursorStyle), "@foldkit/ui/dragAndDrop/index.js#anonymous~42");
397
406
  }), cursorStyle => __foldkitBrandViewResult((Effect.sync(() => {
398
407
  document.documentElement.style.removeProperty('user-select');
399
408
  document.documentElement.style.removeProperty('-webkit-user-select');
400
409
  cursorStyle.remove();
401
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~44")).pipe(Effect.flatMap(() => __foldkitBrandViewResult((Effect.never), "@foldkit/ui/dragAndDrop/index.js#anonymous~46")))), "@foldkit/ui/dragAndDrop/index.js#anonymous~42"));
402
- return __foldkitBrandViewResult((Stream.when(Stream.merge(pointerEvents, documentDragStyles), Effect.sync(() => __foldkitBrandViewResult((dragActivity === 'Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~47")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream");
410
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~43")).pipe(Effect.flatMap(() => __foldkitBrandViewResult((Effect.never), "@foldkit/ui/dragAndDrop/index.js#anonymous~45")))), "@foldkit/ui/dragAndDrop/index.js#anonymous~41"));
411
+ return __foldkitBrandViewResult((Stream.when(Stream.merge(pointerEvents, documentDragStyles), Effect.sync(() => __foldkitBrandViewResult((dragActivity === 'Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~46")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream");
403
412
  },
404
413
  }),
405
414
  documentEscape: entry({ dragActivity: DragActivity }, {
406
415
  modelToDependencies: model => (__foldkitBrandViewResult(({
407
416
  dragActivity: dragActivityFromModel(model),
408
417
  }), "@foldkit/ui/dragAndDrop/index.js#modelToDependencies~2")),
409
- dependenciesToStream: ({ dragActivity }) => __foldkitBrandViewResult((Stream.when(Stream.fromEventListener(document, 'keydown').pipe(Stream.filter(({ key }) => __foldkitBrandViewResult((key === 'Escape'), "@foldkit/ui/dragAndDrop/index.js#anonymous~48")), Stream.map(() => __foldkitBrandViewResult((CancelledDrag()), "@foldkit/ui/dragAndDrop/index.js#anonymous~49"))), Effect.sync(() => __foldkitBrandViewResult((dragActivity === 'Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~50")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream~2"),
418
+ dependenciesToStream: ({ dragActivity }) => __foldkitBrandViewResult((Stream.when(Stream.fromEventListener(document, 'keydown').pipe(Stream.filter(({ key }) => __foldkitBrandViewResult((key === 'Escape'), "@foldkit/ui/dragAndDrop/index.js#anonymous~47")), Stream.map(() => __foldkitBrandViewResult((CancelledDrag()), "@foldkit/ui/dragAndDrop/index.js#anonymous~48"))), Effect.sync(() => __foldkitBrandViewResult((dragActivity === 'Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~49")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream~2"),
410
419
  }),
411
420
  documentKeyboard: entry({ dragActivity: KeyboardDragActivity }, {
412
421
  modelToDependencies: model => (__foldkitBrandViewResult(({
@@ -417,7 +426,7 @@ export const subscriptions = Subscription.make()(entry => (__foldkitBrandViewRes
417
426
  // the Space that activates keyboard drag. Skip it here so the same
418
427
  // keypress doesn't also confirm the drop in the same tick.
419
428
  if (event.defaultPrevented) {
420
- return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#anonymous~52");
429
+ return __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#anonymous~51");
421
430
  }
422
431
  if (event.key === 'Tab') {
423
432
  event.preventDefault();
@@ -425,17 +434,17 @@ export const subscriptions = Subscription.make()(entry => (__foldkitBrandViewRes
425
434
  direction: event.shiftKey
426
435
  ? 'PreviousContainer'
427
436
  : 'NextContainer',
428
- }))), "@foldkit/ui/dragAndDrop/index.js#anonymous~52");
437
+ }))), "@foldkit/ui/dragAndDrop/index.js#anonymous~51");
429
438
  }
430
439
  if (event.key === ' ' || event.key === 'Enter') {
431
440
  event.preventDefault();
432
- return __foldkitBrandViewResult((Option.some(ConfirmedKeyboardDrop())), "@foldkit/ui/dragAndDrop/index.js#anonymous~52");
441
+ return __foldkitBrandViewResult((Option.some(ConfirmedKeyboardDrop())), "@foldkit/ui/dragAndDrop/index.js#anonymous~51");
433
442
  }
434
443
  return __foldkitBrandViewResult((Option.map(arrowKeyToDirection(event.key), direction => {
435
444
  event.preventDefault();
436
- return __foldkitBrandViewResult((PressedArrowKey({ direction })), "@foldkit/ui/dragAndDrop/index.js#anonymous~53");
437
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~52");
438
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~51")), Stream.filter(Option.isSome), Stream.map(option => __foldkitBrandViewResult((option.value), "@foldkit/ui/dragAndDrop/index.js#anonymous~54"))), Effect.sync(() => __foldkitBrandViewResult((dragActivity === 'Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~55")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream~3"),
445
+ return __foldkitBrandViewResult((PressedArrowKey({ direction })), "@foldkit/ui/dragAndDrop/index.js#anonymous~52");
446
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~51");
447
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~50")), Stream.filter(Option.isSome), Stream.map(option => __foldkitBrandViewResult((option.value), "@foldkit/ui/dragAndDrop/index.js#anonymous~53"))), Effect.sync(() => __foldkitBrandViewResult((dragActivity === 'Active'), "@foldkit/ui/dragAndDrop/index.js#anonymous~54")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream~3"),
439
448
  }),
440
449
  autoScroll: entry({
441
450
  isDragging: S.Boolean,
@@ -458,13 +467,13 @@ export const subscriptions = Subscription.make()(entry => (__foldkitBrandViewRes
458
467
  ref.id = requestAnimationFrame(step);
459
468
  };
460
469
  ref.id = requestAnimationFrame(step);
461
- return __foldkitBrandViewResult((ref), "@foldkit/ui/dragAndDrop/index.js#anonymous~57");
462
- }), ref => __foldkitBrandViewResult((Effect.sync(() => __foldkitBrandViewResult((cancelAnimationFrame(ref.id)), "@foldkit/ui/dragAndDrop/index.js#anonymous~59"))), "@foldkit/ui/dragAndDrop/index.js#anonymous~58")).pipe(Effect.flatMap(() => __foldkitBrandViewResult((Effect.never), "@foldkit/ui/dragAndDrop/index.js#anonymous~60")))), "@foldkit/ui/dragAndDrop/index.js#anonymous~56")), Effect.sync(() => __foldkitBrandViewResult((isDragging), "@foldkit/ui/dragAndDrop/index.js#anonymous~61")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream~4"),
470
+ return __foldkitBrandViewResult((ref), "@foldkit/ui/dragAndDrop/index.js#anonymous~56");
471
+ }), ref => __foldkitBrandViewResult((Effect.sync(() => __foldkitBrandViewResult((cancelAnimationFrame(ref.id)), "@foldkit/ui/dragAndDrop/index.js#anonymous~58"))), "@foldkit/ui/dragAndDrop/index.js#anonymous~57")).pipe(Effect.flatMap(() => __foldkitBrandViewResult((Effect.never), "@foldkit/ui/dragAndDrop/index.js#anonymous~59")))), "@foldkit/ui/dragAndDrop/index.js#anonymous~55")), Effect.sync(() => __foldkitBrandViewResult((isDragging), "@foldkit/ui/dragAndDrop/index.js#anonymous~60")))), "@foldkit/ui/dragAndDrop/index.js#dependenciesToStream~4"),
463
472
  }),
464
- }), "@foldkit/ui/dragAndDrop/index.js#anonymous~38")));
473
+ }), "@foldkit/ui/dragAndDrop/index.js#anonymous~37")));
465
474
  // VIEW
466
475
  const LEFT_MOUSE_BUTTON = 0;
467
- const arrowKeyToDirection = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.withReturnType(), M.when('ArrowUp', () => __foldkitBrandViewResult(('Up'), "@foldkit/ui/dragAndDrop/index.js#anonymous~62")), M.when('ArrowDown', () => __foldkitBrandViewResult(('Down'), "@foldkit/ui/dragAndDrop/index.js#anonymous~63")), M.when('ArrowLeft', () => __foldkitBrandViewResult(('Left'), "@foldkit/ui/dragAndDrop/index.js#anonymous~64")), M.when('ArrowRight', () => __foldkitBrandViewResult(('Right'), "@foldkit/ui/dragAndDrop/index.js#anonymous~65")), M.option)), "@foldkit/ui/dragAndDrop/index.js#arrowKeyToDirection");
476
+ const arrowKeyToDirection = (key) => __foldkitBrandViewResult((M.value(key).pipe(M.withReturnType(), M.when('ArrowUp', () => __foldkitBrandViewResult(('Up'), "@foldkit/ui/dragAndDrop/index.js#anonymous~61")), M.when('ArrowDown', () => __foldkitBrandViewResult(('Down'), "@foldkit/ui/dragAndDrop/index.js#anonymous~62")), M.when('ArrowLeft', () => __foldkitBrandViewResult(('Left'), "@foldkit/ui/dragAndDrop/index.js#anonymous~63")), M.when('ArrowRight', () => __foldkitBrandViewResult(('Right'), "@foldkit/ui/dragAndDrop/index.js#anonymous~64")), M.option)), "@foldkit/ui/dragAndDrop/index.js#arrowKeyToDirection");
468
477
  /** Returns attributes the parent attaches to a draggable element. Handles pointer-down, keyboard activation, and ARIA. */
469
478
  export const draggable = (config, h) => {
470
479
  const isKeyboardDragActivationKey = (key) => __foldkitBrandViewResult((key === ' ' || key === 'Enter'), "@foldkit/ui/dragAndDrop/index.js#isKeyboardDragActivationKey");
@@ -491,7 +500,7 @@ export const draggable = (config, h) => {
491
500
  index: config.index,
492
501
  screenX,
493
502
  screenY,
494
- }))), "@foldkit/ui/dragAndDrop/index.js#anonymous~67")))), "@foldkit/ui/dragAndDrop/index.js#anonymous~66")),
503
+ }))), "@foldkit/ui/dragAndDrop/index.js#anonymous~66")))), "@foldkit/ui/dragAndDrop/index.js#anonymous~65")),
495
504
  h.OnKeyDownPreventDefault(handleKeyDown),
496
505
  h.Style({
497
506
  'touch-action': 'none',
@@ -524,13 +533,13 @@ export const ghostStyle = (model) => __foldkitBrandViewResult((M.value(model.dra
524
533
  transform: ghostTransform(dragging.current.clientX, dragging.current.clientY),
525
534
  'pointer-events': 'none',
526
535
  'z-index': '9999',
527
- }), "@foldkit/ui/dragAndDrop/index.js#anonymous~68"))), M.option)), "@foldkit/ui/dragAndDrop/index.js#ghostStyle");
536
+ }), "@foldkit/ui/dragAndDrop/index.js#anonymous~67"))), M.option)), "@foldkit/ui/dragAndDrop/index.js#ghostStyle");
528
537
  /** Returns true when the component is actively dragging (pointer or keyboard). */
529
538
  export const isDragging = ({ dragState: { _tag } }) => __foldkitBrandViewResult((_tag === 'Dragging' || _tag === 'KeyboardDragging'), "@foldkit/ui/dragAndDrop/index.js#isDragging");
530
539
  /** Returns the ID of the item currently being dragged or pending, if any. */
531
- export const maybeDraggedItemId = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.tag('Pending', pending => __foldkitBrandViewResult((pending.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous~69")), M.tag('Dragging', dragging => __foldkitBrandViewResult((dragging.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous~70")), M.tag('KeyboardDragging', keyboardDragging => __foldkitBrandViewResult((keyboardDragging.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous~71")), M.option)), "@foldkit/ui/dragAndDrop/index.js#maybeDraggedItemId");
540
+ export const maybeDraggedItemId = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.tag('Pending', pending => __foldkitBrandViewResult((pending.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous~68")), M.tag('Dragging', dragging => __foldkitBrandViewResult((dragging.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous~69")), M.tag('KeyboardDragging', keyboardDragging => __foldkitBrandViewResult((keyboardDragging.itemId), "@foldkit/ui/dragAndDrop/index.js#anonymous~70")), M.option)), "@foldkit/ui/dragAndDrop/index.js#maybeDraggedItemId");
532
541
  /** Returns the current drop target, if any. Populated during pointer drag (from collision detection) and keyboard drag (from resolved position). */
533
- export const maybeDropTarget = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.tag('Dragging', dragging => __foldkitBrandViewResult((dragging.maybeDropTarget), "@foldkit/ui/dragAndDrop/index.js#anonymous~72")), M.tag('KeyboardDragging', keyboardDragging => __foldkitBrandViewResult((Option.some({
542
+ export const maybeDropTarget = (model) => __foldkitBrandViewResult((M.value(model.dragState).pipe(M.tag('Dragging', dragging => __foldkitBrandViewResult((dragging.maybeDropTarget), "@foldkit/ui/dragAndDrop/index.js#anonymous~71")), M.tag('KeyboardDragging', keyboardDragging => __foldkitBrandViewResult((Option.some({
534
543
  containerId: keyboardDragging.targetContainerId,
535
544
  index: keyboardDragging.targetIndex,
536
- })), "@foldkit/ui/dragAndDrop/index.js#anonymous~73")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#anonymous~74")))), "@foldkit/ui/dragAndDrop/index.js#maybeDropTarget");
545
+ })), "@foldkit/ui/dragAndDrop/index.js#anonymous~72")), M.orElse(() => __foldkitBrandViewResult((Option.none()), "@foldkit/ui/dragAndDrop/index.js#anonymous~73")))), "@foldkit/ui/dragAndDrop/index.js#maybeDropTarget");
@@ -6,4 +6,14 @@
6
6
  * produced by UUID-prefixed ids) still yield a usable selector.
7
7
  */
8
8
  export declare const idSelector: (id: string) => string;
9
+ /**
10
+ * Builds a CSS attribute selector matching `attribute` against `value`.
11
+ *
12
+ * The value is quoted and escaped with `CSS.escape`, so values carrying
13
+ * brackets, backslashes, spaces, or a leading digit still yield a usable
14
+ * selector. The quotes are load bearing: an escaped value is a valid CSS
15
+ * identifier but not a valid unquoted attribute value, so dropping them makes
16
+ * selectors for digit-leading ids fail to parse.
17
+ */
18
+ export declare const attributeSelector: (attribute: string, value: string) => string;
9
19
  //# sourceMappingURL=selectors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/internal/selectors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,KAAG,MAA8B,CAAA"}
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/internal/selectors.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,KAAG,MAA8B,CAAA;AAEtE;;;;;;;;GAQG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,EAAE,OAAO,MAAM,KAAG,MAC5B,CAAA"}
@@ -7,3 +7,13 @@ import { brandViewResult as __foldkitBrandViewResult } from 'foldkit/brand'
7
7
  * produced by UUID-prefixed ids) still yield a usable selector.
8
8
  */
9
9
  export const idSelector = (id) => __foldkitBrandViewResult((`#${CSS.escape(id)}`), "@foldkit/ui/internal/selectors.js#idSelector");
10
+ /**
11
+ * Builds a CSS attribute selector matching `attribute` against `value`.
12
+ *
13
+ * The value is quoted and escaped with `CSS.escape`, so values carrying
14
+ * brackets, backslashes, spaces, or a leading digit still yield a usable
15
+ * selector. The quotes are load bearing: an escaped value is a valid CSS
16
+ * identifier but not a valid unquoted attribute value, so dropping them makes
17
+ * selectors for digit-leading ids fail to parse.
18
+ */
19
+ export const attributeSelector = (attribute, value) => __foldkitBrandViewResult((`[${attribute}="${CSS.escape(value)}"]`), "@foldkit/ui/internal/selectors.js#attributeSelector");
@@ -1 +1 @@
1
- {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/listbox/shared.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shared.d.ts","sourceRoot":"","sources":["../../src/listbox/shared.ts"],"names":[],"mappings":"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"}