@fusion.dev/helix-core 0.145.0 → 0.147.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 (302) hide show
  1. package/custom-elements.json +6585 -1920
  2. package/dist/controllers/aria-forward-controller/aria-forward-controller.d.ts +3 -2
  3. package/dist/controllers/aria-forward-controller/aria-forward-controller.js +8 -17
  4. package/dist/controllers/chart-pointer-controller/chart-pointer-controller.d.ts +71 -3
  5. package/dist/controllers/chart-pointer-controller/chart-pointer-controller.js +50 -9
  6. package/dist/controllers/chart-pointer-controller/reading-step.d.ts +7 -1
  7. package/dist/controllers/chart-pointer-controller/reading-step.js +5 -0
  8. package/dist/controllers/copy-controller/copy-controller.d.ts +4 -1
  9. package/dist/controllers/copy-controller/copy-controller.js +2 -1
  10. package/dist/controllers/countdown-controller/countdown-controller.d.ts +4 -1
  11. package/dist/controllers/countdown-controller/countdown-controller.js +3 -1
  12. package/dist/controllers/keyboard-navigation-controller/keyboard-navigation-controller.d.ts +14 -55
  13. package/dist/controllers/keyboard-navigation-controller/keyboard-navigation-controller.js +7 -39
  14. package/dist/controllers/relative-clock-controller/relative-clock-controller.d.ts +44 -0
  15. package/dist/controllers/relative-clock-controller/relative-clock-controller.js +31 -0
  16. package/dist/controllers/source-controller/source-controller.d.ts +10 -3
  17. package/dist/controllers/source-controller/source-controller.js +9 -4
  18. package/dist/controllers/swipe-controller/swipe-controller.d.ts +10 -1
  19. package/dist/controllers/swipe-controller/swipe-controller.js +1 -1
  20. package/dist/controllers/virtualize-controller/virtualize-controller.d.ts +48 -1
  21. package/dist/controllers/virtualize-controller/virtualize-controller.js +52 -7
  22. package/dist/events/action.d.ts +12 -0
  23. package/dist/events/action.js +6 -0
  24. package/dist/events/activate.d.ts +22 -0
  25. package/dist/events/activate.js +11 -0
  26. package/dist/events/aura-fallback.d.ts +12 -0
  27. package/dist/events/aura-fallback.js +11 -0
  28. package/dist/events/band.d.ts +13 -0
  29. package/dist/events/band.js +11 -0
  30. package/dist/events/before-activate.d.ts +24 -0
  31. package/dist/events/before-activate.js +11 -0
  32. package/dist/events/before-change.d.ts +26 -0
  33. package/dist/events/before-change.js +11 -0
  34. package/dist/events/before-close.d.ts +6 -0
  35. package/dist/events/before-close.js +11 -0
  36. package/dist/events/before-collapse.d.ts +6 -0
  37. package/dist/events/before-collapse.js +11 -0
  38. package/dist/events/before-edit.d.ts +6 -0
  39. package/dist/events/before-edit.js +11 -0
  40. package/dist/events/before-move.d.ts +17 -0
  41. package/dist/events/before-move.js +11 -0
  42. package/dist/events/before-open.d.ts +17 -0
  43. package/dist/events/before-open.js +11 -0
  44. package/dist/events/before-panel-resize.d.ts +13 -0
  45. package/dist/events/before-panel-resize.js +11 -0
  46. package/dist/events/before-pin.d.ts +6 -0
  47. package/dist/events/before-pin.js +11 -0
  48. package/dist/events/before-reconnect.d.ts +14 -0
  49. package/dist/events/before-reconnect.js +11 -0
  50. package/dist/events/before-relabel.d.ts +15 -0
  51. package/dist/events/before-relabel.js +11 -0
  52. package/dist/events/before-resize.d.ts +6 -0
  53. package/dist/events/before-resize.js +11 -0
  54. package/dist/events/before-split.d.ts +12 -0
  55. package/dist/events/before-split.js +11 -0
  56. package/dist/events/before-toggle.d.ts +23 -0
  57. package/dist/events/before-toggle.js +11 -0
  58. package/dist/events/canvas-edit.d.ts +16 -0
  59. package/dist/events/canvas-edit.js +11 -0
  60. package/dist/events/canvas-pan.d.ts +13 -0
  61. package/dist/events/canvas-pan.js +11 -0
  62. package/dist/events/canvas-view.d.ts +14 -0
  63. package/dist/events/canvas-view.js +11 -0
  64. package/dist/events/canvas-zoom.d.ts +6 -0
  65. package/dist/events/canvas-zoom.js +11 -0
  66. package/dist/events/caret.d.ts +17 -0
  67. package/dist/events/caret.js +11 -0
  68. package/dist/events/clear.d.ts +11 -0
  69. package/dist/events/clear.js +6 -0
  70. package/dist/events/collapse.d.ts +12 -0
  71. package/dist/events/collapse.js +11 -0
  72. package/dist/events/complete.d.ts +26 -0
  73. package/dist/events/complete.js +11 -0
  74. package/dist/events/connect.d.ts +14 -0
  75. package/dist/events/connect.js +11 -0
  76. package/dist/events/console.d.ts +13 -0
  77. package/dist/events/console.js +11 -0
  78. package/dist/events/copy-error.d.ts +9 -0
  79. package/dist/events/copy-error.js +6 -0
  80. package/dist/events/copy.d.ts +12 -0
  81. package/dist/events/copy.js +10 -0
  82. package/dist/events/create.d.ts +18 -0
  83. package/dist/events/create.js +11 -0
  84. package/dist/events/details.d.ts +459 -0
  85. package/dist/events/details.js +1 -0
  86. package/dist/events/dismiss.d.ts +16 -0
  87. package/dist/events/dismiss.js +11 -0
  88. package/dist/events/edit.d.ts +12 -0
  89. package/dist/events/edit.js +11 -0
  90. package/dist/events/end.d.ts +9 -0
  91. package/dist/events/end.js +6 -0
  92. package/dist/events/events.d.ts +113 -1478
  93. package/dist/events/events.js +93 -863
  94. package/dist/events/expand.d.ts +10 -0
  95. package/dist/events/expand.js +11 -0
  96. package/dist/events/facet.d.ts +17 -0
  97. package/dist/events/facet.js +11 -0
  98. package/dist/events/filter.d.ts +12 -0
  99. package/dist/events/filter.js +11 -0
  100. package/dist/events/filtered.d.ts +12 -0
  101. package/dist/events/filtered.js +11 -0
  102. package/dist/events/graph-filter.d.ts +10 -0
  103. package/dist/events/graph-filter.js +11 -0
  104. package/dist/events/graph-layout.d.ts +10 -0
  105. package/dist/events/graph-layout.js +11 -0
  106. package/dist/events/graph-pan.d.ts +9 -0
  107. package/dist/events/graph-pan.js +11 -0
  108. package/dist/events/graph-part-change.d.ts +10 -0
  109. package/dist/events/graph-part-change.js +11 -0
  110. package/dist/events/graph-ready.d.ts +8 -0
  111. package/dist/events/graph-ready.js +6 -0
  112. package/dist/events/graph-signal.d.ts +11 -0
  113. package/dist/events/graph-signal.js +11 -0
  114. package/dist/events/graph-zoom.d.ts +6 -0
  115. package/dist/events/graph-zoom.js +11 -0
  116. package/dist/events/history.d.ts +16 -0
  117. package/dist/events/history.js +11 -0
  118. package/dist/events/load-more.d.ts +12 -0
  119. package/dist/events/load-more.js +6 -0
  120. package/dist/events/load.d.ts +12 -0
  121. package/dist/events/load.js +6 -0
  122. package/dist/events/map-cluster.d.ts +15 -0
  123. package/dist/events/map-cluster.js +11 -0
  124. package/dist/events/map-pan.d.ts +18 -0
  125. package/dist/events/map-pan.js +11 -0
  126. package/dist/events/map-part-change.d.ts +16 -0
  127. package/dist/events/map-part-change.js +11 -0
  128. package/dist/events/map-ready.d.ts +15 -0
  129. package/dist/events/map-ready.js +6 -0
  130. package/dist/events/map-rotate.d.ts +9 -0
  131. package/dist/events/map-rotate.js +11 -0
  132. package/dist/events/map-tilt.d.ts +9 -0
  133. package/dist/events/map-tilt.js +11 -0
  134. package/dist/events/map-zoom.d.ts +13 -0
  135. package/dist/events/map-zoom.js +11 -0
  136. package/dist/events/move.d.ts +11 -0
  137. package/dist/events/move.js +11 -0
  138. package/dist/events/names.d.ts +18 -0
  139. package/dist/events/names.js +13 -0
  140. package/dist/events/navigate.d.ts +13 -0
  141. package/dist/events/navigate.js +11 -0
  142. package/dist/events/next.d.ts +23 -0
  143. package/dist/events/next.js +11 -0
  144. package/dist/events/panel-resize.d.ts +12 -0
  145. package/dist/events/panel-resize.js +11 -0
  146. package/dist/events/pin.d.ts +12 -0
  147. package/dist/events/pin.js +11 -0
  148. package/dist/events/press.d.ts +19 -0
  149. package/dist/events/press.js +11 -0
  150. package/dist/events/preview.d.ts +14 -0
  151. package/dist/events/preview.js +11 -0
  152. package/dist/events/previous.d.ts +6 -0
  153. package/dist/events/previous.js +11 -0
  154. package/dist/events/range-change.d.ts +10 -0
  155. package/dist/events/range-change.js +11 -0
  156. package/dist/events/read.d.ts +19 -0
  157. package/dist/events/read.js +11 -0
  158. package/dist/events/reconnect.d.ts +6 -0
  159. package/dist/events/reconnect.js +11 -0
  160. package/dist/events/reject.d.ts +13 -0
  161. package/dist/events/reject.js +11 -0
  162. package/dist/events/relabel.d.ts +6 -0
  163. package/dist/events/relabel.js +11 -0
  164. package/dist/events/remove.d.ts +12 -0
  165. package/dist/events/remove.js +11 -0
  166. package/dist/events/reorder.d.ts +18 -0
  167. package/dist/events/reorder.js +11 -0
  168. package/dist/events/reordered.d.ts +12 -0
  169. package/dist/events/reordered.js +11 -0
  170. package/dist/events/resize.d.ts +19 -0
  171. package/dist/events/resize.js +11 -0
  172. package/dist/events/resized.d.ts +16 -0
  173. package/dist/events/resized.js +11 -0
  174. package/dist/events/sample-end.d.ts +5 -0
  175. package/dist/events/sample-end.js +6 -0
  176. package/dist/events/sample-start.d.ts +18 -0
  177. package/dist/events/sample-start.js +6 -0
  178. package/dist/events/scrolled.d.ts +32 -0
  179. package/dist/events/scrolled.js +11 -0
  180. package/dist/events/select.d.ts +12 -0
  181. package/dist/events/select.js +11 -0
  182. package/dist/events/selected.d.ts +12 -0
  183. package/dist/events/selected.js +11 -0
  184. package/dist/events/send.d.ts +18 -0
  185. package/dist/events/send.js +11 -0
  186. package/dist/events/shortcut.d.ts +13 -0
  187. package/dist/events/shortcut.js +11 -0
  188. package/dist/events/sort.d.ts +17 -0
  189. package/dist/events/sort.js +11 -0
  190. package/dist/events/sorted.d.ts +15 -0
  191. package/dist/events/sorted.js +11 -0
  192. package/dist/events/split.d.ts +12 -0
  193. package/dist/events/split.js +11 -0
  194. package/dist/events/toggle.d.ts +15 -0
  195. package/dist/events/toggle.js +11 -0
  196. package/dist/events/tour-ask.d.ts +16 -0
  197. package/dist/events/tour-ask.js +11 -0
  198. package/dist/events/tour-status.d.ts +14 -0
  199. package/dist/events/tour-status.js +11 -0
  200. package/dist/events/typing.d.ts +10 -0
  201. package/dist/events/typing.js +11 -0
  202. package/dist/helix-element/helix-element.js +9 -43
  203. package/dist/helix-element/react-bridge.d.ts +23 -0
  204. package/dist/helix-element/react-bridge.js +2 -2
  205. package/dist/helix-form-element/helix-form-element.d.ts +5 -20
  206. package/dist/helix-form-element/helix-form-element.js +4 -56
  207. package/dist/index.d.ts +30 -9
  208. package/dist/index.js +30 -9
  209. package/dist/mixins/mixin-chart-source/mixin-chart-source.d.ts +24 -2
  210. package/dist/mixins/mixin-chart-source/mixin-chart-source.js +23 -1
  211. package/dist/mixins/mixin-controller-active/mixin-controller-active.js +4 -3
  212. package/dist/mixins/mixin-controller-checked/mixin-controller-checked.d.ts +5 -2
  213. package/dist/mixins/mixin-controller-checked/mixin-controller-checked.js +2 -1
  214. package/dist/mixins/mixin-controller-value/mixin-controller-value.d.ts +4 -2
  215. package/dist/mixins/mixin-controller-value/mixin-controller-value.js +7 -2
  216. package/dist/mixins/mixin-dismissible/mixin-dismissible.js +44 -7
  217. package/dist/mixins/mixin-field/mixin-field.js +2 -2
  218. package/dist/mixins/mixin-picker-feedback/mixin-picker-feedback.d.ts +42 -0
  219. package/dist/mixins/mixin-picker-feedback/mixin-picker-feedback.js +46 -0
  220. package/dist/mixins/mixin-picker-field/mixin-picker-field.d.ts +7 -4
  221. package/dist/mixins/mixin-picker-field/mixin-picker-field.js +6 -4
  222. package/dist/mixins/mixin-segmented-field/mixin-segmented-field.js +19 -9
  223. package/dist/utils/audit-name/audit-name-off.d.ts +10 -0
  224. package/dist/utils/audit-name/audit-name-off.js +1 -0
  225. package/dist/utils/audit-name/audit-name.d.ts +26 -8
  226. package/dist/utils/audit-name/audit-name.js +22 -30
  227. package/dist/utils/audit-source/audit-source-off.d.ts +10 -0
  228. package/dist/utils/audit-source/audit-source-off.js +1 -0
  229. package/dist/utils/audit-source/audit-source.d.ts +19 -0
  230. package/dist/utils/audit-source/audit-source.js +27 -0
  231. package/dist/utils/calendar/calendar.js +7 -7
  232. package/dist/utils/call-listener/call-listener.d.ts +16 -0
  233. package/dist/utils/call-listener/call-listener.js +17 -0
  234. package/dist/utils/chord/chord.d.ts +14 -0
  235. package/dist/utils/chord/chord.js +1 -0
  236. package/dist/utils/clamp/clamp.d.ts +7 -0
  237. package/dist/utils/clamp/clamp.js +1 -0
  238. package/dist/utils/css-color/css-color.js +1 -1
  239. package/dist/utils/draw-tooltip/draw-tooltip.d.ts +1 -1
  240. package/dist/utils/draw-tooltip/draw-tooltip.js +3 -1
  241. package/dist/utils/draw-tooltip/spoken-reading.d.ts +6 -2
  242. package/dist/utils/draw-tooltip/spoken-reading.js +5 -4
  243. package/dist/utils/elapsed-time/elapsed-time.d.ts +1 -1
  244. package/dist/utils/elapsed-time/elapsed-time.js +2 -5
  245. package/dist/utils/heading-level/heading-level.d.ts +8 -0
  246. package/dist/utils/heading-level/heading-level.js +4 -0
  247. package/dist/utils/host-words/host-words.d.ts +16 -0
  248. package/dist/utils/host-words/host-words.js +13 -0
  249. package/dist/utils/implicit-submit/implicit-submit.d.ts +25 -0
  250. package/dist/utils/implicit-submit/implicit-submit.js +52 -0
  251. package/dist/utils/load-more/load-more.d.ts +25 -0
  252. package/dist/utils/load-more/load-more.js +1 -0
  253. package/dist/utils/locale-of/locale-of.d.ts +18 -0
  254. package/dist/utils/locale-of/locale-of.js +26 -0
  255. package/dist/utils/name-text/name-text.d.ts +12 -0
  256. package/dist/utils/name-text/name-text.js +25 -0
  257. package/dist/utils/nearest/nearest.d.ts +9 -0
  258. package/dist/utils/nearest/nearest.js +9 -0
  259. package/dist/utils/number-format/number-format.d.ts +11 -1
  260. package/dist/utils/number-format/number-format.js +17 -5
  261. package/dist/utils/own-rule/own-rule.d.ts +16 -0
  262. package/dist/utils/own-rule/own-rule.js +7 -0
  263. package/dist/utils/plain-click/plain-click.d.ts +10 -0
  264. package/dist/utils/plain-click/plain-click.js +1 -0
  265. package/dist/utils/platform/platform.d.ts +8 -0
  266. package/dist/utils/platform/platform.js +1 -0
  267. package/dist/utils/press-type/press-type.d.ts +20 -0
  268. package/dist/utils/press-type/press-type.js +15 -0
  269. package/dist/utils/read-series/read-series.d.ts +14 -0
  270. package/dist/utils/read-series/read-series.js +15 -0
  271. package/dist/utils/relative-time/relative-time.d.ts +8 -0
  272. package/dist/utils/relative-time/relative-time.js +5 -2
  273. package/dist/utils/report-render/report-render.js +2 -14
  274. package/dist/utils/report-runtime/report-runtime.d.ts +11 -4
  275. package/dist/utils/report-runtime/report-runtime.js +2 -14
  276. package/dist/utils/report-usage/report-usage.js +2 -14
  277. package/dist/utils/row-data/row-data.d.ts +15 -0
  278. package/dist/utils/row-data/row-data.js +17 -0
  279. package/dist/utils/row-order/row-order.d.ts +141 -0
  280. package/dist/utils/row-order/row-order.js +76 -0
  281. package/dist/utils/scroll-item-into-view/scroll-item-into-view.d.ts +33 -0
  282. package/dist/utils/scroll-item-into-view/scroll-item-into-view.js +13 -3
  283. package/dist/utils/slotted-glyph/slotted-glyph.d.ts +33 -0
  284. package/dist/utils/slotted-glyph/slotted-glyph.js +27 -0
  285. package/dist/utils/tell-disclosure/tell-disclosure.d.ts +4 -0
  286. package/dist/utils/tree-arrow/tree-arrow.d.ts +23 -0
  287. package/dist/utils/tree-arrow/tree-arrow.js +9 -0
  288. package/dist/utils/typeahead/typeahead.d.ts +75 -0
  289. package/dist/utils/typeahead/typeahead.js +37 -0
  290. package/dist/utils/value-as/value-as.d.ts +9 -0
  291. package/dist/utils/value-as/value-as.js +9 -1
  292. package/dist/utils/verdict-flags/verdict-flags.d.ts +13 -0
  293. package/dist/utils/verdict-flags/verdict-flags.js +6 -0
  294. package/dist/utils/watch-labels/watch-labels.d.ts +16 -0
  295. package/dist/utils/watch-labels/watch-labels.js +34 -0
  296. package/dist/utils/words-converter/words-converter.d.ts +14 -0
  297. package/dist/utils/words-converter/words-converter.js +15 -0
  298. package/dist/utils/written-list/written-list.d.ts +60 -0
  299. package/dist/utils/written-list/written-list.js +46 -0
  300. package/dist/version.d.ts +1 -1
  301. package/dist/version.js +1 -1
  302. package/package.json +29 -5
@@ -0,0 +1,17 @@
1
+ import type { SortDetail } from './details.js';
2
+ /**
3
+ * Fired when the reader asks for a different order.
4
+ *
5
+ * Cancelable, and refusing it leaves the order alone, which is what makes a
6
+ * server-side sort expressible: the consumer refuses the local reorder, fetches,
7
+ * and hands back a new set. This is the element reporting that a heading was
8
+ * clicked, before it acts on it.
9
+ *
10
+ * Not `helix-change`: nothing about the data changed, only the order it is read
11
+ * in, and a consumer listening for changes to a value should not hear a sort.
12
+ * That is the same distinction `helix-filter` is drawn on.
13
+ */
14
+ export declare class HelixSortEvent extends CustomEvent<SortDetail> {
15
+ static readonly eventName = "helix-sort";
16
+ constructor(detail: SortDetail);
17
+ }
@@ -0,0 +1,11 @@
1
+ export class HelixSortEvent extends CustomEvent {
2
+ static { this.eventName = 'helix-sort'; }
3
+ constructor(detail) {
4
+ super(HelixSortEvent.eventName, {
5
+ bubbles: true,
6
+ cancelable: true,
7
+ composed: true,
8
+ detail,
9
+ });
10
+ }
11
+ }
@@ -0,0 +1,15 @@
1
+ import type { SortDetail } from './details.js';
2
+ /**
3
+ * The rows are in a different order.
4
+ *
5
+ * The notification after `helix-sort`, sent once `sort` has moved, with the
6
+ * order now in force. Not cancelable: the decision was the request's.
7
+ *
8
+ * **Past tense, because the plain verb is the request.** `helix-sort` was
9
+ * cancelable before the library had a word for its notification, and
10
+ * consumers bind it by that name, so the notification takes the one after it.
11
+ */
12
+ export declare class HelixSortedEvent extends CustomEvent<SortDetail> {
13
+ static readonly eventName = "helix-sorted";
14
+ constructor(detail: SortDetail);
15
+ }
@@ -0,0 +1,11 @@
1
+ export class HelixSortedEvent extends CustomEvent {
2
+ static { this.eventName = 'helix-sorted'; }
3
+ constructor(detail) {
4
+ super(HelixSortedEvent.eventName, {
5
+ bubbles: true,
6
+ cancelable: false,
7
+ composed: true,
8
+ detail,
9
+ });
10
+ }
11
+ }
@@ -0,0 +1,12 @@
1
+ import type { ChangeDetail } from './details.js';
2
+ /**
3
+ * The divider between a sandbox's panes settled somewhere new.
4
+ *
5
+ * The notification half of `helix-before-split`, sent once `split` has moved,
6
+ * with the lead pane's new share. Not cancelable: the decision was the
7
+ * request's.
8
+ */
9
+ export declare class HelixSplitEvent extends CustomEvent<ChangeDetail> {
10
+ static readonly eventName = "helix-split";
11
+ constructor(detail: ChangeDetail);
12
+ }
@@ -0,0 +1,11 @@
1
+ export class HelixSplitEvent extends CustomEvent {
2
+ static { this.eventName = 'helix-split'; }
3
+ constructor(detail) {
4
+ super(HelixSplitEvent.eventName, {
5
+ bubbles: true,
6
+ cancelable: false,
7
+ composed: true,
8
+ detail,
9
+ });
10
+ }
11
+ }
@@ -0,0 +1,15 @@
1
+ import type { ToggleDetail } from './details.js';
2
+ /**
3
+ * A checked state changed after `helix-before-toggle` let it: a map layer
4
+ * shown or hidden from the layers menu. Sent from what changed, with the state
5
+ * it now holds.
6
+ *
7
+ * **Not the native `toggle`.** That one is a `ToggleEvent` saying a popover or
8
+ * a `<details>` opened or closed, with `newState` of `open` or `closed`, and a
9
+ * layer shown on a map is neither: it is the request's own verb without
10
+ * `before`, carrying the same `checked` the request did.
11
+ */
12
+ export declare class HelixToggleEvent extends CustomEvent<ToggleDetail> {
13
+ static readonly eventName = "helix-toggle";
14
+ constructor(detail: ToggleDetail);
15
+ }
@@ -0,0 +1,11 @@
1
+ export class HelixToggleEvent extends CustomEvent {
2
+ static { this.eventName = 'helix-toggle'; }
3
+ constructor(detail) {
4
+ super(HelixToggleEvent.eventName, {
5
+ bubbles: true,
6
+ cancelable: false,
7
+ composed: true,
8
+ detail,
9
+ });
10
+ }
11
+ }
@@ -0,0 +1,16 @@
1
+ import type { TourAskDetail } from './details.js';
2
+ /**
3
+ * A stop asking the tour to move.
4
+ *
5
+ * Composed and bubbling, because a stop is slotted into the root and the root
6
+ * has to hear it across that boundary.
7
+ *
8
+ * **A class rather than a hand-rolled `CustomEvent`.** A dispatch is matched as
9
+ * `new HelixSomethingEvent(`, so a raw `CustomEvent` is not held to being
10
+ * declared and nothing carries it into the manifest: consumers can hear it and
11
+ * cannot find it.
12
+ */
13
+ export declare class HelixTourAskEvent extends CustomEvent<TourAskDetail> {
14
+ static readonly eventName = "helix-tour-ask";
15
+ constructor(detail: TourAskDetail);
16
+ }
@@ -0,0 +1,11 @@
1
+ export class HelixTourAskEvent extends CustomEvent {
2
+ static { this.eventName = 'helix-tour-ask'; }
3
+ constructor(detail) {
4
+ super(HelixTourAskEvent.eventName, {
5
+ bubbles: true,
6
+ cancelable: false,
7
+ composed: true,
8
+ detail,
9
+ });
10
+ }
11
+ }
@@ -0,0 +1,14 @@
1
+ import type { TourStatusDetail } from './details.js';
2
+ /**
3
+ * A tour's progress changed in a way no stop says: it is waiting at a stop
4
+ * for its target, or it was skipped, or it was completed. Zag's
5
+ * `onStatusChange`.
6
+ *
7
+ * `index` is the stop it happened at. Not cancelable: `helix-before-close`
8
+ * is the refusable half of ending a tour, and this reports what happened.
9
+ * Bubbles and is composed.
10
+ */
11
+ export declare class HelixTourStatusEvent extends CustomEvent<TourStatusDetail> {
12
+ static readonly eventName = "helix-tour-status";
13
+ constructor(detail: TourStatusDetail);
14
+ }
@@ -0,0 +1,11 @@
1
+ export class HelixTourStatusEvent extends CustomEvent {
2
+ static { this.eventName = 'helix-tour-status'; }
3
+ constructor(detail) {
4
+ super(HelixTourStatusEvent.eventName, {
5
+ bubbles: true,
6
+ cancelable: false,
7
+ composed: true,
8
+ detail,
9
+ });
10
+ }
11
+ }
@@ -0,0 +1,10 @@
1
+ import type { TypingDetail } from './details.js';
2
+ /**
3
+ * The user started or stopped writing: a chat composer, for a typing
4
+ * indicator on the other side. Carries which, as the composer's `typing` does.
5
+ * Not cancelable: it reports what the user did.
6
+ */
7
+ export declare class HelixTypingEvent extends CustomEvent<TypingDetail> {
8
+ static readonly eventName = "helix-typing";
9
+ constructor(detail: TypingDetail);
10
+ }
@@ -0,0 +1,11 @@
1
+ export class HelixTypingEvent extends CustomEvent {
2
+ static { this.eventName = 'helix-typing'; }
3
+ constructor(detail) {
4
+ super(HelixTypingEvent.eventName, {
5
+ bubbles: true,
6
+ cancelable: false,
7
+ composed: true,
8
+ detail,
9
+ });
10
+ }
11
+ }
@@ -1,41 +1,15 @@
1
- import { css, LitElement } from 'lit';
1
+ import { LitElement, unsafeCSS } from 'lit';
2
2
  import { unsafeStatic } from 'lit/static-html.js';
3
3
  import { measuring, reportRender } from '../utils/report-render/report-render.js';
4
4
  import { noteVersion, reportUsage } from '../utils/report-usage/report-usage.js';
5
5
  import { applyReactProperties, auditReactProps, bindReactHandler, reactPropsOf, } from './react-bridge.js';
6
- const BOX_SIZING = css `
7
- *,
8
- ::before,
9
- ::after {
10
- box-sizing: border-box;
11
- }
12
- `;
13
- const HIDDEN = css `
14
- :host([hidden]:not([hidden='until-found'])) {
15
- display: none;
16
- }
17
- `;
18
- const SCROLLER = css `
19
- [data-scroller] {
20
- overflow: auto;
21
- }
22
- `;
23
- const VIRTUAL = css `
24
- [data-virtual] {
25
- overflow-anchor: none;
26
- }
27
- `;
28
- const MIRROR = css `
29
- :host(:dir(rtl)) [data-mirror] {
30
- scale: -1 1;
31
- }
32
- `;
33
- const SETTLED = css `
34
- :host(:not(:state(settled))),
35
- :host(:not(:state(settled))) * {
36
- transition: none !important;
37
- }
38
- `;
6
+ const BOX_SIZING = '*,::before,::after{box-sizing:border-box}';
7
+ const HIDDEN = ":host([hidden]:not([hidden='until-found'])){display:none}";
8
+ const SCROLLER = '[data-scroller]{overflow:auto}';
9
+ const VIRTUAL = '[data-virtual]{overflow-anchor:none}';
10
+ const MIRROR = ':host(:dir(rtl)) [data-mirror]{scale:-1 1}';
11
+ const SETTLED = ':host(:not(:state(settled))),:host(:not(:state(settled))) *{transition:none!important}';
12
+ const BASE = unsafeCSS(BOX_SIZING + HIDDEN + SCROLLER + VIRTUAL + MIRROR + SETTLED);
39
13
  const LOOK_EVERY = 16;
40
14
  const LOOK_FOR = 96;
41
15
  export class HelixElement extends LitElement {
@@ -117,15 +91,7 @@ export class HelixElement extends LitElement {
117
91
  }));
118
92
  }
119
93
  static finalizeStyles(styles) {
120
- return [
121
- BOX_SIZING,
122
- HIDDEN,
123
- SCROLLER,
124
- VIRTUAL,
125
- MIRROR,
126
- SETTLED,
127
- ...LitElement.finalizeStyles(styles),
128
- ];
94
+ return [BASE, ...LitElement.finalizeStyles(styles)];
129
95
  }
130
96
  performUpdate() {
131
97
  if (this.hasUpdated || !measuring()) {
@@ -56,6 +56,19 @@ export declare const auditReactProps: (host: EventTarget, props: Record<string,
56
56
  * `reactNativeProp`.
57
57
  */
58
58
  export declare const reactPropFor: (event: Event) => string | undefined;
59
+ /**
60
+ * React's casing for the native events whose names are two words run together.
61
+ *
62
+ * React spells these as two words, `onTimeUpdate` for `timeupdate`, and that
63
+ * is the prop its own `<video>` typings teach a consumer to write. The media
64
+ * names are the ones `Video` relays from its inner `<video>`; `scrollend` is
65
+ * `Scroll Area`'s. A single word needs no entry: its first letter is the whole
66
+ * of the rule.
67
+ *
68
+ * `@fusion.dev/helix-cem` keeps the same table for the typings it writes, and
69
+ * its spec holds that copy to this one.
70
+ */
71
+ export declare const REACT_CASING: Readonly<Record<string, string>>;
59
72
  /**
60
73
  * The prop React reads for a native event: `onError` for `error`, and
61
74
  * `onTimeUpdate` for `timeupdate`.
@@ -63,6 +76,16 @@ export declare const reactPropFor: (event: Event) => string | undefined;
63
76
  * The JSX typings name the same props, so a consumer writes what this binds.
64
77
  */
65
78
  export declare const reactNativeProp: (type: string) => string;
79
+ /**
80
+ * Binds the handler React is holding for an event the host is about to send,
81
+ * where React never bound it: under the event's React prop and its lowercase
82
+ * spelling.
83
+ *
84
+ * Called by the host as it dispatches, which is the first moment it knows the
85
+ * event's name. A host React does not render holds no props, and nothing is
86
+ * bound. The props are audited on the way, so a handler attached to nothing
87
+ * warns.
88
+ */
66
89
  export declare const bindReactHandler: (host: EventTarget, event: Event) => void;
67
90
  /**
68
91
  * Assigns the object and function properties React is holding and never applied.
@@ -1,5 +1,5 @@
1
1
  import { eventsForTag } from '../events/element-events.js';
2
- import { helixEventNames } from '../events/events.js';
2
+ import { helixEventNames } from '../events/names.js';
3
3
  import { reportRuntime } from '../utils/report-runtime/report-runtime.js';
4
4
  const REACT_PROPS = '__reactProps$';
5
5
  let reactPropsKey;
@@ -78,7 +78,7 @@ export const reactPropFor = (event) => {
78
78
  }
79
79
  return reactNativeProp(event.type);
80
80
  };
81
- const REACT_CASING = {
81
+ export const REACT_CASING = {
82
82
  canplay: 'onCanPlay',
83
83
  canplaythrough: 'onCanPlayThrough',
84
84
  durationchange: 'onDurationChange',
@@ -257,36 +257,21 @@ export declare class HelixFormElement extends HelixElement {
257
257
  * was the best there was.
258
258
  */
259
259
  private readonly refreshAnchor;
260
+ /** Stops listening for the labels in this control's tree. */
261
+ private unwatchLabels;
260
262
  connectedCallback(): void;
261
263
  disconnectedCallback(): void;
262
264
  /**
263
265
  * @internal Whether this control is a field that counts against implicit
264
- * submission: a single line of text, as `<input type="text">` is.
266
+ * submission: a single line of text, as `<input type="text">` is. Read by
267
+ * `submitImplicitly` in `utils/implicit-submit`, which only the controls
268
+ * that submit on Enter import.
265
269
  */
266
270
  protected get blocksImplicitSubmission(): boolean;
267
271
  /** @internal Whether this control submits its form, for finding the form's default button. */
268
272
  protected get submitsForm(): boolean;
269
273
  /** @internal Activates the control as its form's default button. */
270
274
  protected activate(): void;
271
- /**
272
- * Submits the form the way pressing Enter in a native text field does.
273
- *
274
- * The control's own input is in a shadow root and has no form owner, so the
275
- * platform never runs implicit submission for it. This runs it: the form's
276
- * default button is activated, the first submit button in it, a Helix one
277
- * included. With none, the form is submitted when it holds no more than one
278
- * field that counts against implicit submission, and nothing happens
279
- * otherwise.
280
- *
281
- * @reference https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#implicit-submission implicit submission
282
- */
283
- protected submitImplicitly(): void;
284
- /** The form's default button, the first submit button in it, native or Helix. */
285
- protected static defaultButton(form: HTMLFormElement): Element | undefined;
286
- /** Whether `target` is a native field of `form` that Enter submits it from. */
287
- protected static submitsOnEnter(target: EventTarget | undefined, form: HTMLFormElement): boolean;
288
- /** Whether `element` is a submit button, native or Helix. */
289
- protected static submits(element: Element): boolean;
290
275
  /**
291
276
  * The form the control belongs to, or `null`.
292
277
  *
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { property, state } from 'lit/decorators.js';
8
8
  import { HelixElement } from '../helix-element/helix-element.js';
9
+ import { watchLabels } from '../utils/watch-labels/watch-labels.js';
9
10
  const VALIDITY_FLAGS = [
10
11
  'badInput',
11
12
  'customError',
@@ -18,20 +19,6 @@ const VALIDITY_FLAGS = [
18
19
  'typeMismatch',
19
20
  'valueMissing',
20
21
  ];
21
- const BLOCKING_TYPES = new Set([
22
- 'date',
23
- 'datetime-local',
24
- 'email',
25
- 'month',
26
- 'number',
27
- 'password',
28
- 'search',
29
- 'tel',
30
- 'text',
31
- 'time',
32
- 'url',
33
- 'week',
34
- ]);
35
22
  const takesFocus = (element) => (element.tabIndex >= 0 || element.hasAttribute('tabindex')) &&
36
23
  !element.disabled &&
37
24
  (typeof element.checkVisibility !== 'function' || element.checkVisibility());
@@ -184,11 +171,14 @@ export class HelixFormElement extends HelixElement {
184
171
  super.connectedCallback();
185
172
  this.addEventListener('click', this.focusFromLabel);
186
173
  this.addEventListener('invalid', this.refreshAnchor);
174
+ this.unwatchLabels = watchLabels(this, () => this.requestUpdate());
187
175
  }
188
176
  disconnectedCallback() {
189
177
  super.disconnectedCallback();
190
178
  this.removeEventListener('click', this.focusFromLabel);
191
179
  this.removeEventListener('invalid', this.refreshAnchor);
180
+ this.unwatchLabels?.();
181
+ this.unwatchLabels = undefined;
192
182
  }
193
183
  get blocksImplicitSubmission() {
194
184
  return false;
@@ -199,48 +189,6 @@ export class HelixFormElement extends HelixElement {
199
189
  activate() {
200
190
  this.click();
201
191
  }
202
- submitImplicitly() {
203
- const { form } = this;
204
- if (!form) {
205
- return;
206
- }
207
- const elements = [...form.elements];
208
- const button = HelixFormElement.defaultButton(form);
209
- if (button) {
210
- if (button.matches(':disabled')) {
211
- return;
212
- }
213
- if (button instanceof HelixFormElement) {
214
- button.activate();
215
- }
216
- else {
217
- ;
218
- button.click();
219
- }
220
- return;
221
- }
222
- const blocking = elements.filter((element) => element instanceof HelixFormElement
223
- ? element.blocksImplicitSubmission
224
- : element instanceof HTMLInputElement && BLOCKING_TYPES.has(element.type));
225
- if (blocking.length <= 1) {
226
- form.requestSubmit();
227
- }
228
- }
229
- static defaultButton(form) {
230
- return [...form.elements].find((element) => HelixFormElement.submits(element));
231
- }
232
- static submitsOnEnter(target, form) {
233
- return (target instanceof HTMLInputElement && target.form === form && BLOCKING_TYPES.has(target.type));
234
- }
235
- static submits(element) {
236
- if (element instanceof HelixFormElement) {
237
- return element.submitsForm;
238
- }
239
- if (element instanceof HTMLButtonElement) {
240
- return element.type === 'submit';
241
- }
242
- return (element instanceof HTMLInputElement && (element.type === 'submit' || element.type === 'image'));
243
- }
244
192
  get form() {
245
193
  return this.internals.form;
246
194
  }
package/dist/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { auditName } from '#audit-name';
1
2
  export { AriaForwardController, type AriaForwardOptions, } from './controllers/aria-forward-controller/aria-forward-controller.js';
2
3
  export { ArrivalController, type ArrivalOptions, } from './controllers/arrival-controller/arrival-controller.js';
3
4
  export { ChartPointerController, type ChartPointerHost, } from './controllers/chart-pointer-controller/chart-pointer-controller.js';
@@ -15,12 +16,13 @@ export { FullscreenController } from './controllers/fullscreen-controller/fullsc
15
16
  export { HostClickController } from './controllers/host-click-controller/host-click-controller.js';
16
17
  export { IdleController } from './controllers/idle-controller/idle-controller.js';
17
18
  export { IndicatorController, type IndicatorOptions, } from './controllers/indicator-controller/indicator-controller.js';
18
- export { KeyboardNavigationController, type KeyboardNavigationOptions, type KeyboardOrigin, type NavigableItem, Typeahead, typesCharacter, } from './controllers/keyboard-navigation-controller/keyboard-navigation-controller.js';
19
+ export { KeyboardNavigationController, type KeyboardNavigationOptions, type KeyboardOrigin, type NavigableItem, } from './controllers/keyboard-navigation-controller/keyboard-navigation-controller.js';
19
20
  export { MediaSessionController, type SessionHandlers, SKIP_SECONDS, } from './controllers/media-session-controller/media-session-controller.js';
20
21
  export { animationsSettled, type OpenPhase, OpenPhaseController, type OpenPhaseOptions, } from './controllers/open-phase-controller/open-phase-controller.js';
21
22
  export { MAX_FRAME_STEP, PaintGateController, type PaintGateOptions, } from './controllers/paint-gate-controller/paint-gate-controller.js';
22
23
  export { PlacementController } from './controllers/placement-controller/placement-controller.js';
23
24
  export { PopoverController, type PopoverOptions, } from './controllers/popover-controller/popover-controller.js';
25
+ export { RelativeClockController, type RelativeClockOptions, } from './controllers/relative-clock-controller/relative-clock-controller.js';
24
26
  export { RemotePlaybackController, type RemoteReport, } from './controllers/remote-playback-controller/remote-playback-controller.js';
25
27
  export { SourceController, type SourceHost, } from './controllers/source-controller/source-controller.js';
26
28
  export { drawStatus, type SayOptions, StatusController, } from './controllers/status-controller/status-controller.js';
@@ -28,10 +30,10 @@ export { SwipeController, type SwipeOptions, } from './controllers/swipe-control
28
30
  export { type TokenColor, TokenColorController, } from './controllers/token-color-controller/token-color-controller.js';
29
31
  export { type Rendered, VirtualizeController, type VirtualizeOptions, type Window as VirtualizeWindow, } from './controllers/virtualize-controller/virtualize-controller.js';
30
32
  export { eventsForTag, registerElementEvents } from './events/element-events.js';
31
- export { type AuraFallbackDetail, type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTypingEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type RangeDetail, type ReadDetail, type ReconnectDetail, type Refusal, type RefusedFile, type RejectDetail, type RelabelDetail, type RemoveDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, type TypingDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
33
+ export { type ActivateDetail, type AuraFallbackDetail, type BandDetail, type CanvasView, type CaretDetail, type ChangeDetail, type CompleteDetail, type ConnectDetail, type ConsoleDetail, type CopyDetail, type CreateDetail, type DismissDetail, type FacetDetail, type FilterDetail, type GraphFilterDetail, type GraphLayoutDetail, type GraphPartChangeDetail, type GraphSignalDetail, HelixActionEvent, HelixActivateEvent, HelixAuraFallbackEvent, HelixBandEvent, HelixBeforeActivateEvent, HelixBeforeChangeEvent, HelixBeforeCloseEvent, HelixBeforeCollapseEvent, HelixBeforeEditEvent, HelixBeforeMoveEvent, HelixBeforeOpenEvent, HelixBeforePanelResizeEvent, HelixBeforePinEvent, HelixBeforeReconnectEvent, HelixBeforeRelabelEvent, HelixBeforeResizeEvent, HelixBeforeSplitEvent, HelixBeforeToggleEvent, HelixCanvasEditEvent, HelixCanvasPanEvent, HelixCanvasViewEvent, HelixCanvasZoomEvent, HelixCaretEvent, HelixClearEvent, HelixCollapseEvent, HelixCompleteEvent, HelixConnectEvent, HelixConsoleEvent, HelixCopyErrorEvent, HelixCopyEvent, HelixCreateEvent, HelixDismissEvent, HelixEditEvent, HelixEndEvent, HelixExpandEvent, HelixFacetEvent, HelixFilterEvent, HelixFilteredEvent, HelixGraphFilterEvent, HelixGraphLayoutEvent, HelixGraphPanEvent, HelixGraphPartChangeEvent, HelixGraphReadyEvent, HelixGraphSignalEvent, HelixGraphZoomEvent, HelixHistoryEvent, HelixLoadEvent, HelixLoadMoreEvent, HelixMapClusterEvent, HelixMapPanEvent, HelixMapPartChangeEvent, HelixMapReadyEvent, HelixMapRotateEvent, HelixMapTiltEvent, HelixMapZoomEvent, HelixMoveEvent, HelixNavigateEvent, HelixNextEvent, HelixPanelResizeEvent, HelixPinEvent, HelixPressEvent, HelixPreviewEvent, HelixPreviousEvent, HelixRangeChangeEvent, HelixReadEvent, HelixReconnectEvent, HelixRejectEvent, HelixRelabelEvent, HelixRemoveEvent, HelixReorderEvent, HelixReorderedEvent, HelixResizedEvent, HelixResizeEvent, HelixSampleEndEvent, HelixSampleStartEvent, HelixScrolledEvent, HelixSelectEvent, HelixSelectedEvent, HelixSendEvent, HelixShortcutEvent, HelixSortEvent, HelixSortedEvent, HelixSplitEvent, HelixToggleEvent, HelixTourAskEvent, HelixTourStatusEvent, HelixTypingEvent, type MapClusterDetail, type MapPanDetail, type MapPartChangeDetail, type MapRotateDetail, type MapTiltDetail, type MapZoomDetail, type MoveDetail, type NavigateDetail, type OpenDetail, type PressDetail, type PressPointerType, type RangeDetail, type ReadDetail, type ReconnectDetail, type Refusal, type RefusedFile, type RejectDetail, type RelabelDetail, type RemoveDetail, type ResizeDetail, type ScrolledDetail, type SelectDetail, type SendDetail, type ShortcutDetail, type SkipDetail, type SortDetail, type ToggleDetail, type TourStatusDetail, type TypingDetail, type ViewportPanDetail, type ViewportZoomDetail, } from './events/events.js';
32
34
  export { HelixElement, whenHydrated } from './helix-element/helix-element.js';
33
35
  export { HelixFormElement } from './helix-form-element/helix-form-element.js';
34
- export { MixinChartSource, type MixinChartSourceInterface, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
36
+ export { MixinChartSource, type MixinChartSourceInterface, PALETTE, PLOT_HEIGHT, PLOT_WIDTH, POSITION_LABEL, seriesIndex, seriesNames, } from './mixins/mixin-chart-source/mixin-chart-source.js';
35
37
  export { type CollectionElement, MixinCollection, } from './mixins/mixin-collection/mixin-collection.js';
36
38
  export { MixinControllerActive, type MixinControllerActiveInterface, } from './mixins/mixin-controller-active/mixin-controller-active.js';
37
39
  export { MixinControllerChecked, type MixinControllerCheckedInterface, } from './mixins/mixin-controller-checked/mixin-controller-checked.js';
@@ -40,6 +42,7 @@ export { MixinControllerValue, type MixinControllerValueInterface, } from './mix
40
42
  export { type DismissibleElement, MixinDismissible, } from './mixins/mixin-dismissible/mixin-dismissible.js';
41
43
  export { MixinField, type MixinFieldInterface } from './mixins/mixin-field/mixin-field.js';
42
44
  export { MixinPickerEditing, type MixinPickerEditingInterface, } from './mixins/mixin-picker-editing/mixin-picker-editing.js';
45
+ export { MixinPickerFeedback, type MixinPickerFeedbackInterface, } from './mixins/mixin-picker-feedback/mixin-picker-feedback.js';
43
46
  export { MixinPickerField, type MixinPickerFieldInterface, } from './mixins/mixin-picker-field/mixin-picker-field.js';
44
47
  export { MixinSegmentedField, type MixinSegmentedFieldInterface, } from './mixins/mixin-segmented-field/mixin-segmented-field.js';
45
48
  export { MixinSelectableItem, type MixinSelectableItemInterface, } from './mixins/mixin-selectable-item/mixin-selectable-item.js';
@@ -49,7 +52,8 @@ export { anchorElement } from './utils/anchor-element/anchor-element.js';
49
52
  export { arrowReach, sideOf } from './utils/arrow/arrow.js';
50
53
  export { addDays, addMonths, type Barring, barredBy, type CalendarView, localToday, monthOf, monthOut, type PeriodCell, type PeriodPage, periodCells, periodKey, periodMove, sameMonth, weekStartOf, YEARS_SHOWN, yearOut, yearPageOf, } from './utils/calendar/calendar.js';
51
54
  export { capturePointer } from './utils/capture-pointer/capture-pointer.js';
52
- export { ariaChord, type ChordPress, chordParts, matchesChord, printableChord, } from './utils/chord/chord.js';
55
+ export { ariaChord, type ChordPress, chordParts, matchesChord, printableChord, selectsAll, } from './utils/chord/chord.js';
56
+ export { clamp } from './utils/clamp/clamp.js';
53
57
  export { clockLocale, dayPeriod, type HourCycle, isTwelveHour, nearestTime, offeredTimes, type TimeFault, type TimeRules, timeBarred, timeFault, wheelParts, wholeHour, } from './utils/clock/clock.js';
54
58
  export { closestInstance } from './utils/closest-instance/closest-instance.js';
55
59
  export { type ColorWords, colorName, hueName } from './utils/color-name/color-name.js';
@@ -57,6 +61,7 @@ export { countLabel } from './utils/count-label/count-label.js';
57
61
  export { createSheet } from './utils/create-sheet/create-sheet.js';
58
62
  export { type Color, type ColorFormat, formatColor, parseColor, toCss, toHsl, toRgb, } from './utils/css-color/css-color.js';
59
63
  export { customElement, definedTags, duplicateRegistrations, } from './utils/custom-element/custom-element.js';
64
+ export { segmentName } from './utils/date-segments/date-segments.js';
60
65
  export { type DrawDismissOptions, drawDismiss, drawDismissGlyph, } from './utils/draw-dismiss/draw-dismiss.js';
61
66
  export { type DrawIconOptions, drawIcon } from './utils/draw-icon/draw-icon.js';
62
67
  export { CHART_PLOT, drawTooltip } from './utils/draw-tooltip/draw-tooltip.js';
@@ -67,20 +72,30 @@ export { deepActiveElement, deepContains, focusableElements, } from './utils/foc
67
72
  export { afterLinkFollowed, followLink, type LinkModifiers, type LinkTarget, } from './utils/follow-link/follow-link.js';
68
73
  export { formatNumbers } from './utils/format-numbers/format-numbers.js';
69
74
  export { headingIn, headingsIn } from './utils/heading-in/heading-in.js';
75
+ export { headingLevel } from './utils/heading-level/heading-level.js';
70
76
  export { type HostAria, hostAria } from './utils/host-aria/host-aria.js';
77
+ export { hostWords } from './utils/host-words/host-words.js';
78
+ export { defaultButton, submitImplicitly, submits, submitsOnEnter, } from './utils/implicit-submit/implicit-submit.js';
71
79
  export { type DisableableItem, forgetDisabled, inheritDisabled, } from './utils/inherit-disabled/inherit-disabled.js';
72
80
  export { inlineStep } from './utils/inline-step/inline-step.js';
73
81
  export { isRtl } from './utils/is-rtl/is-rtl.js';
74
82
  export { keyClaimed } from './utils/key-claimed/key-claimed.js';
75
83
  export { type Curve, linePath, type Point } from './utils/line-path/line-path.js';
84
+ export { type EndInSight, endInSight } from './utils/load-more/load-more.js';
85
+ export { localeOf } from './utils/locale-of/locale-of.js';
76
86
  export { markRegion, type RegionOptions } from './utils/mark-region/mark-region.js';
77
87
  export { copiesOf, type MediaCopy, sameCopies, } from './utils/media-copy/media-copy.js';
78
- export { formatNumber, parseNumber } from './utils/number-format/number-format.js';
88
+ export { nameText } from './utils/name-text/name-text.js';
89
+ export { nearest } from './utils/nearest/nearest.js';
90
+ export { formatNumber, parseNumber, readingText } from './utils/number-format/number-format.js';
79
91
  export { onUnlessFalse } from './utils/on-unless-false/on-unless-false.js';
80
- export { appleTouch, onApple, type Platform } from './utils/platform/platform.js';
92
+ export { applyOwnRule, type OwnRule } from './utils/own-rule/own-rule.js';
93
+ export { plainClick } from './utils/plain-click/plain-click.js';
94
+ export { appleTouch, onAndroid, onApple, type Platform } from './utils/platform/platform.js';
95
+ export { pressType, type RecentPress } from './utils/press-type/press-type.js';
81
96
  export { rangeAdd } from './utils/range-add/range-add.js';
82
97
  export { type ColorBytes, readColor, rgbOf } from './utils/read-color/read-color.js';
83
- export { byRow, type Row, type RowCell, readRows, readSeries, type Series, type SeriesPoint, seriesKey, unbroken, } from './utils/read-series/read-series.js';
98
+ export { byRow, type Extremes, extremesOf, type Row, type RowCell, readRows, readSeries, type Series, type SeriesPoint, seriesKey, unbroken, } from './utils/read-series/read-series.js';
84
99
  export { type ElementsProperty, linkDescription, reflectElements, unlinkDescription, } from './utils/reflect-elements/reflect-elements.js';
85
100
  export { type Relative, type RelativeOptions, relativeTime, } from './utils/relative-time/relative-time.js';
86
101
  export { measuring, RENDER_SLOT, reportRender } from './utils/report-render/report-render.js';
@@ -91,19 +106,25 @@ export { type ChangeRequestOptions, requestChange, } from './utils/request-chang
91
106
  export { type ActivatableItem, resolveActiveItem, } from './utils/resolve-active-item/resolve-active-item.js';
92
107
  export { holdCaret, restoreValue } from './utils/restore-value/restore-value.js';
93
108
  export { type RovingOptions, rovingStop } from './utils/roving-stop/roving-stop.js';
109
+ export { valueAt } from './utils/row-data/row-data.js';
110
+ export { type Arranged, type Axis, arranged, cycle, type DataRow, filter, format, type Ordered, ordered, parse, type Sort, sort, window_, } from './utils/row-order/row-order.js';
94
111
  export { extent, linear, type Scale } from './utils/scale/scale.js';
95
112
  export { ticks } from './utils/scale/ticks.js';
96
- export { type ScrollItemOptions, scrollItemIntoView, } from './utils/scroll-item-into-view/scroll-item-into-view.js';
113
+ export { type ScrollerOptions, type ScrollItemOptions, scrollItemIntoView, scrollingAncestor, } from './utils/scroll-item-into-view/scroll-item-into-view.js';
97
114
  export { lockScroll, scrollHolders, unlockScroll } from './utils/scroll-lock/scroll-lock.js';
98
115
  export { slotFilled } from './utils/slot-filled/slot-filled.js';
116
+ export { SlottedGlyph } from './utils/slotted-glyph/slotted-glyph.js';
99
117
  export { slottedWords } from './utils/slotted-words/slotted-words.js';
100
118
  export { splitValues } from './utils/split-values/split-values.js';
101
119
  export { edgeOffset, FLING, parseSnapPoints, type SwipeAxis, type SwipeEdge, type SwipeRelease, settleSwipe, snapTravel, swipeAxis, swipeEdge, swipeStep, towardEdge, } from './utils/swipe/swipe.js';
102
120
  export { tellDisclosure } from './utils/tell-disclosure/tell-disclosure.js';
103
121
  export { subscribe } from './utils/ticker/ticker.js';
104
122
  export { type HelixStatusTone, TONE_MARKS, type ToneMark, toneMark, } from './utils/tone-marks/tone-marks.js';
123
+ export { type TreeArrow, type TreeArrowRow, treeArrow } from './utils/tree-arrow/tree-arrow.js';
124
+ export { Typeahead, type TypeaheadBy, typeaheadBy, typeaheadByWords, typesCharacter, } from './utils/typeahead/typeahead.js';
105
125
  export { dateAsValue, isClockValue, isDateValue, isTimeValue, minutesAsValue, numberAsValue, secondsAsValue, timeAsValue, valueAsDate, valueAsMinutes, valueAsNumber, valueAsSeconds, valueAsTime, } from './utils/value-as/value-as.js';
106
126
  export { watchTheme } from './utils/watch-theme/watch-theme.js';
127
+ export { wordsConverter } from './utils/words-converter/words-converter.js';
107
128
  export { writeClock, writeTime } from './utils/write-time/write-time.js';
108
- export { commaList, toggleValue, writtenList, writtenNumbers, } from './utils/written-list/written-list.js';
129
+ export { anchorAt, commaList, everyState, inRowOrder, pressedValue, prunedValue, type SelectionMode, toggleEvery, toggleValue, writtenList, writtenNumbers, } from './utils/written-list/written-list.js';
109
130
  export { VERSION } from './version.js';