@k2b/ui 0.29.0 → 0.31.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 (243) hide show
  1. package/README.md +2 -2
  2. package/dist/base.css +2 -2
  3. package/dist/browser/actions/Dropdown.js +6 -3
  4. package/dist/browser/actions/Dropdown.js.map +1 -1
  5. package/dist/browser/actions/FilterChip.js +137 -7
  6. package/dist/browser/actions/FilterChip.js.map +1 -1
  7. package/dist/browser/actions/SegmentedControl.js +5 -9
  8. package/dist/browser/actions/SegmentedControl.js.map +1 -1
  9. package/dist/browser/actions/SpotlightSearch.js +6 -3
  10. package/dist/browser/actions/SpotlightSearch.js.map +1 -1
  11. package/dist/browser/actions/Tabs.js +5 -2
  12. package/dist/browser/actions/Tabs.js.map +1 -1
  13. package/dist/browser/actions/Toolbar.js +2 -0
  14. package/dist/browser/actions/Toolbar.js.map +1 -1
  15. package/dist/browser/actions/ViewTabs.js +294 -0
  16. package/dist/browser/actions/ViewTabs.js.map +1 -0
  17. package/dist/browser/actions/filter-messages.js +6 -2
  18. package/dist/browser/actions/filter-messages.js.map +1 -1
  19. package/dist/browser/actions/index.js +2 -1
  20. package/dist/browser/actions/index.js.map +1 -1
  21. package/dist/browser/chat/ChatComposer.js +1108 -604
  22. package/dist/browser/chat/ChatComposer.js.map +1 -1
  23. package/dist/browser/chat/ChatDecision.js +146 -84
  24. package/dist/browser/chat/ChatDecision.js.map +1 -1
  25. package/dist/browser/chat/ChatPrimitives.js +292 -159
  26. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  27. package/dist/browser/chat/chat-messages.js +8 -0
  28. package/dist/browser/chat/chat-messages.js.map +1 -1
  29. package/dist/browser/chat/command-search.js +26 -15
  30. package/dist/browser/chat/command-search.js.map +1 -1
  31. package/dist/browser/chat/index.js +4 -2
  32. package/dist/browser/chat/index.js.map +1 -1
  33. package/dist/browser/content/Calendar.js +143 -116
  34. package/dist/browser/content/Calendar.js.map +1 -1
  35. package/dist/browser/content/CalendarWeekView.js +291 -266
  36. package/dist/browser/content/CalendarWeekView.js.map +1 -1
  37. package/dist/browser/content/DataTable.js +224 -155
  38. package/dist/browser/content/DataTable.js.map +1 -1
  39. package/dist/browser/content/MapAttribution.js +27 -0
  40. package/dist/browser/content/MapAttribution.js.map +1 -0
  41. package/dist/browser/content/MapView.js +553 -0
  42. package/dist/browser/content/MapView.js.map +1 -0
  43. package/dist/browser/content/MapViewFrame.js +395 -0
  44. package/dist/browser/content/MapViewFrame.js.map +1 -0
  45. package/dist/browser/content/data-table-messages.js +4 -2
  46. package/dist/browser/content/data-table-messages.js.map +1 -1
  47. package/dist/browser/content/index.js +5 -0
  48. package/dist/browser/content/index.js.map +1 -1
  49. package/dist/browser/content/map-palette.js +39 -0
  50. package/dist/browser/content/map-palette.js.map +1 -0
  51. package/dist/browser/content/map-style.js +276 -0
  52. package/dist/browser/content/map-style.js.map +1 -0
  53. package/dist/browser/content/map-view-geometry.js +269 -0
  54. package/dist/browser/content/map-view-geometry.js.map +1 -0
  55. package/dist/browser/content/map-view-live.js +28 -0
  56. package/dist/browser/content/map-view-live.js.map +1 -0
  57. package/dist/browser/content/map-view-messages.js +53 -0
  58. package/dist/browser/content/map-view-messages.js.map +1 -0
  59. package/dist/browser/content/map-view-types.js +2 -0
  60. package/dist/browser/content/map-view-types.js.map +1 -0
  61. package/dist/browser/content/map-view-worker.js +10 -0
  62. package/dist/browser/feedback/MovedHint.js +197 -0
  63. package/dist/browser/feedback/MovedHint.js.map +1 -0
  64. package/dist/browser/feedback/dialog-core.js +85 -9
  65. package/dist/browser/feedback/dialog-core.js.map +1 -1
  66. package/dist/browser/feedback/index.js +1 -0
  67. package/dist/browser/feedback/index.js.map +1 -1
  68. package/dist/browser/feedback/prompts.js +6 -1
  69. package/dist/browser/feedback/prompts.js.map +1 -1
  70. package/dist/browser/inputs/DatePicker.js +337 -212
  71. package/dist/browser/inputs/DatePicker.js.map +1 -1
  72. package/dist/browser/inputs/date-picker.js +59 -5
  73. package/dist/browser/inputs/date-picker.js.map +1 -1
  74. package/dist/browser/intl/messages.js +12 -0
  75. package/dist/browser/intl/messages.js.map +1 -1
  76. package/dist/browser/intl/weekend.js +39 -0
  77. package/dist/browser/intl/weekend.js.map +1 -0
  78. package/dist/browser/layout/AppOverview.js +0 -1
  79. package/dist/browser/layout/AppOverview.js.map +1 -1
  80. package/dist/browser/layout/AppWorkspace.js +701 -476
  81. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  82. package/dist/browser/layout/PageTitle.js +3 -2
  83. package/dist/browser/layout/PageTitle.js.map +1 -1
  84. package/dist/browser/layout/SettingsModal.js +2 -2
  85. package/dist/browser/layout/SettingsModal.js.map +1 -1
  86. package/dist/browser/layout/SidebarSwitcher.js +13 -12
  87. package/dist/browser/layout/SidebarSwitcher.js.map +1 -1
  88. package/dist/browser/layout/TabBar.js +1 -1
  89. package/dist/browser/layout/TabBar.js.map +1 -1
  90. package/dist/browser/layout/app-host-width.js +44 -0
  91. package/dist/browser/layout/app-host-width.js.map +1 -0
  92. package/dist/browser/layout/app-workspace-controller.js +331 -45
  93. package/dist/browser/layout/app-workspace-controller.js.map +1 -1
  94. package/dist/browser/layout/app-workspace-width.js +26 -0
  95. package/dist/browser/layout/app-workspace-width.js.map +1 -0
  96. package/dist/browser/layout/index.js +2 -1
  97. package/dist/browser/layout/index.js.map +1 -1
  98. package/dist/browser/surfaces/Placeholder.js +36 -13
  99. package/dist/browser/surfaces/Placeholder.js.map +1 -1
  100. package/dist/licenses/maplibre-gl.txt +116 -0
  101. package/dist/ssr/actions/Dropdown.js +5 -2
  102. package/dist/ssr/actions/Dropdown.js.map +1 -1
  103. package/dist/ssr/actions/FilterChip.js +59 -7
  104. package/dist/ssr/actions/FilterChip.js.map +1 -1
  105. package/dist/ssr/actions/SegmentedControl.js +1 -2
  106. package/dist/ssr/actions/SegmentedControl.js.map +1 -1
  107. package/dist/ssr/actions/SpotlightSearch.js +2 -2
  108. package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
  109. package/dist/ssr/actions/Tabs.js +2 -2
  110. package/dist/ssr/actions/Tabs.js.map +1 -1
  111. package/dist/ssr/actions/Toolbar.js +2 -0
  112. package/dist/ssr/actions/Toolbar.js.map +1 -1
  113. package/dist/ssr/actions/ViewTabs.js +211 -0
  114. package/dist/ssr/actions/ViewTabs.js.map +1 -0
  115. package/dist/ssr/actions/filter-messages.js +6 -2
  116. package/dist/ssr/actions/filter-messages.js.map +1 -1
  117. package/dist/ssr/actions/index.js +2 -1
  118. package/dist/ssr/actions/index.js.map +1 -1
  119. package/dist/ssr/chat/ChatComposer.js +546 -131
  120. package/dist/ssr/chat/ChatComposer.js.map +1 -1
  121. package/dist/ssr/chat/ChatDecision.js +44 -19
  122. package/dist/ssr/chat/ChatDecision.js.map +1 -1
  123. package/dist/ssr/chat/ChatPrimitives.js +95 -24
  124. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  125. package/dist/ssr/chat/chat-messages.js +8 -0
  126. package/dist/ssr/chat/chat-messages.js.map +1 -1
  127. package/dist/ssr/chat/command-search.js +26 -15
  128. package/dist/ssr/chat/command-search.js.map +1 -1
  129. package/dist/ssr/chat/index.js +4 -2
  130. package/dist/ssr/chat/index.js.map +1 -1
  131. package/dist/ssr/content/Calendar.js +109 -100
  132. package/dist/ssr/content/Calendar.js.map +1 -1
  133. package/dist/ssr/content/CalendarWeekView.js +42 -28
  134. package/dist/ssr/content/CalendarWeekView.js.map +1 -1
  135. package/dist/ssr/content/DataTable.js +78 -31
  136. package/dist/ssr/content/DataTable.js.map +1 -1
  137. package/dist/ssr/content/MapAttribution.js +19 -0
  138. package/dist/ssr/content/MapAttribution.js.map +1 -0
  139. package/dist/ssr/content/MapView.js +474 -0
  140. package/dist/ssr/content/MapView.js.map +1 -0
  141. package/dist/ssr/content/MapViewFrame.js +193 -0
  142. package/dist/ssr/content/MapViewFrame.js.map +1 -0
  143. package/dist/ssr/content/data-table-messages.js +4 -2
  144. package/dist/ssr/content/data-table-messages.js.map +1 -1
  145. package/dist/ssr/content/index.js +5 -0
  146. package/dist/ssr/content/index.js.map +1 -1
  147. package/dist/ssr/content/map-palette.js +39 -0
  148. package/dist/ssr/content/map-palette.js.map +1 -0
  149. package/dist/ssr/content/map-style.js +276 -0
  150. package/dist/ssr/content/map-style.js.map +1 -0
  151. package/dist/ssr/content/map-view-geometry.js +269 -0
  152. package/dist/ssr/content/map-view-geometry.js.map +1 -0
  153. package/dist/ssr/content/map-view-live.js +1 -0
  154. package/dist/ssr/content/map-view-messages.js +53 -0
  155. package/dist/ssr/content/map-view-messages.js.map +1 -0
  156. package/dist/ssr/content/map-view-types.js +2 -0
  157. package/dist/ssr/content/map-view-types.js.map +1 -0
  158. package/dist/ssr/feedback/MovedHint.js +166 -0
  159. package/dist/ssr/feedback/MovedHint.js.map +1 -0
  160. package/dist/ssr/feedback/dialog-core.js +85 -9
  161. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  162. package/dist/ssr/feedback/index.js +1 -0
  163. package/dist/ssr/feedback/index.js.map +1 -1
  164. package/dist/ssr/feedback/prompts.js +6 -1
  165. package/dist/ssr/feedback/prompts.js.map +1 -1
  166. package/dist/ssr/inputs/DatePicker.js +138 -69
  167. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  168. package/dist/ssr/inputs/date-picker.js +59 -5
  169. package/dist/ssr/inputs/date-picker.js.map +1 -1
  170. package/dist/ssr/intl/messages.js +12 -0
  171. package/dist/ssr/intl/messages.js.map +1 -1
  172. package/dist/ssr/intl/weekend.js +39 -0
  173. package/dist/ssr/intl/weekend.js.map +1 -0
  174. package/dist/ssr/layout/AppOverview.js +0 -1
  175. package/dist/ssr/layout/AppOverview.js.map +1 -1
  176. package/dist/ssr/layout/AppWorkspace.js +216 -44
  177. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  178. package/dist/ssr/layout/PageTitle.js +3 -2
  179. package/dist/ssr/layout/PageTitle.js.map +1 -1
  180. package/dist/ssr/layout/SettingsModal.js +2 -2
  181. package/dist/ssr/layout/SettingsModal.js.map +1 -1
  182. package/dist/ssr/layout/SidebarSwitcher.js +13 -12
  183. package/dist/ssr/layout/SidebarSwitcher.js.map +1 -1
  184. package/dist/ssr/layout/TabBar.js +1 -1
  185. package/dist/ssr/layout/TabBar.js.map +1 -1
  186. package/dist/ssr/layout/app-host-width.js +44 -0
  187. package/dist/ssr/layout/app-host-width.js.map +1 -0
  188. package/dist/ssr/layout/app-workspace-controller.js +331 -45
  189. package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
  190. package/dist/ssr/layout/app-workspace-width.js +26 -0
  191. package/dist/ssr/layout/app-workspace-width.js.map +1 -0
  192. package/dist/ssr/layout/index.js +2 -1
  193. package/dist/ssr/layout/index.js.map +1 -1
  194. package/dist/ssr/surfaces/Placeholder.js +24 -7
  195. package/dist/ssr/surfaces/Placeholder.js.map +1 -1
  196. package/dist/styles.css +1 -1
  197. package/dist/types/actions/Dropdown.d.ts +4 -0
  198. package/dist/types/actions/FilterChip.d.ts +22 -0
  199. package/dist/types/actions/ViewTabs.d.ts +30 -0
  200. package/dist/types/actions/filter-messages.d.ts +2 -0
  201. package/dist/types/actions/index.d.ts +4 -2
  202. package/dist/types/chat/ChatComposer.d.ts +52 -0
  203. package/dist/types/chat/ChatDecision.d.ts +18 -2
  204. package/dist/types/chat/ChatPrimitives.d.ts +10 -0
  205. package/dist/types/chat/chat-messages.d.ts +4 -0
  206. package/dist/types/chat/command-search.d.ts +2 -0
  207. package/dist/types/chat/index.d.ts +9 -8
  208. package/dist/types/content/DataTable.d.ts +3 -0
  209. package/dist/types/content/MapAttribution.d.ts +6 -0
  210. package/dist/types/content/MapView.d.ts +5 -0
  211. package/dist/types/content/MapViewFrame.d.ts +31 -0
  212. package/dist/types/content/data-table-messages.d.ts +1 -0
  213. package/dist/types/content/index.d.ts +6 -0
  214. package/dist/types/content/map-palette.d.ts +58 -0
  215. package/dist/types/content/map-style.d.ts +29 -0
  216. package/dist/types/content/map-view-geometry.d.ts +55 -0
  217. package/dist/types/content/map-view-live.d.ts +2 -0
  218. package/dist/types/content/map-view-messages.d.ts +21 -0
  219. package/dist/types/content/map-view-types.d.ts +61 -0
  220. package/dist/types/feedback/MovedHint.d.ts +25 -0
  221. package/dist/types/feedback/dialog-core.d.ts +6 -2
  222. package/dist/types/feedback/index.d.ts +2 -0
  223. package/dist/types/feedback/prompts.d.ts +2 -0
  224. package/dist/types/inputs/DatePicker.d.ts +7 -0
  225. package/dist/types/inputs/date-picker.d.ts +25 -1
  226. package/dist/types/intl/messages.d.ts +6 -0
  227. package/dist/types/intl/weekend.d.ts +12 -0
  228. package/dist/types/layout/AppWorkspace.d.ts +48 -8
  229. package/dist/types/layout/app-host-width.d.ts +6 -0
  230. package/dist/types/layout/app-workspace-width.d.ts +13 -0
  231. package/dist/types/layout/index.d.ts +3 -2
  232. package/dist/types/surfaces/Placeholder.d.ts +2 -1
  233. package/map-glyphs/IBM Plex Sans Medium/0-255.pbf +0 -0
  234. package/map-glyphs/IBM Plex Sans Medium/1024-1279.pbf +0 -0
  235. package/map-glyphs/IBM Plex Sans Medium/256-511.pbf +0 -0
  236. package/map-glyphs/IBM Plex Sans Medium/512-767.pbf +0 -0
  237. package/map-glyphs/IBM Plex Sans Medium/768-1023.pbf +0 -0
  238. package/map-glyphs/IBM Plex Sans Medium/7680-7935.pbf +0 -0
  239. package/map-glyphs/IBM Plex Sans Medium/8192-8447.pbf +0 -0
  240. package/map-glyphs/IBM Plex Sans Medium/8448-8703.pbf +0 -0
  241. package/map-glyphs/IBM Plex Sans Medium/8704-8959.pbf +0 -0
  242. package/map-glyphs/OFL.txt +93 -0
  243. package/package.json +11 -6
@@ -1,7 +1,9 @@
1
1
  import { template as _$template } from "solid-js/web";
2
+ import { delegateEvents as _$delegateEvents } from "solid-js/web";
2
3
  import { setProperty as _$setProperty } from "solid-js/web";
3
4
  import { style as _$style } from "solid-js/web";
4
5
  import { mergeProps as _$mergeProps } from "solid-js/web";
6
+ import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
5
7
  import { className as _$className } from "solid-js/web";
6
8
  import { setAttribute as _$setAttribute } from "solid-js/web";
7
9
  import { effect as _$effect } from "solid-js/web";
@@ -31,12 +33,14 @@ var _tmpl$ = /*#__PURE__*/_$template(`<span class=k2b-chat-progress-dots aria-hi
31
33
  _tmpl$17 = /*#__PURE__*/_$template(`<i class="ti ti-chevron-right k2b-chat-activity__chevron"aria-hidden=true>`),
32
34
  _tmpl$18 = /*#__PURE__*/_$template(`<i>`),
33
35
  _tmpl$19 = /*#__PURE__*/_$template(`<small>`),
34
- _tmpl$20 = /*#__PURE__*/_$template(`<details><summary class=k2b-chat-activity__row></summary><div class=k2b-chat-activity__body>`),
35
- _tmpl$21 = /*#__PURE__*/_$template(`<div><div class=k2b-chat-activity__row>`),
36
- _tmpl$22 = /*#__PURE__*/_$template(`<i class="ti ti-brain"aria-hidden=true>`),
37
- _tmpl$23 = /*#__PURE__*/_$template(`<div><dt></dt><dd>`),
38
- _tmpl$24 = /*#__PURE__*/_$template(`<dl><!$><!/><div><dt></dt><dd></dd></div><div><dt></dt><dd></dd></div><!$><!/><div><dt></dt><dd></dd></div><!$><!/>`);
39
- import { createRenderEffect, createSignal, For, onCleanup, Show } from "solid-js";
36
+ _tmpl$20 = /*#__PURE__*/_$template(`<button type=button class=k2b-chat-activity__toggle><span class=k2b-chat-activity__toggle-label></span><i class="ti ti-chevron-right k2b-chat-activity__chevron"aria-hidden=true>`),
37
+ _tmpl$21 = /*#__PURE__*/_$template(`<details><summary class=k2b-chat-activity__row></summary><div class=k2b-chat-activity__body>`),
38
+ _tmpl$22 = /*#__PURE__*/_$template(`<div><div class=k2b-chat-activity__row>`),
39
+ _tmpl$23 = /*#__PURE__*/_$template(`<div><div class=k2b-chat-activity__row></div><div class=k2b-chat-activity__body>`),
40
+ _tmpl$24 = /*#__PURE__*/_$template(`<i class="ti ti-brain"aria-hidden=true>`),
41
+ _tmpl$25 = /*#__PURE__*/_$template(`<div><dt></dt><dd>`),
42
+ _tmpl$26 = /*#__PURE__*/_$template(`<dl><!$><!/><div><dt></dt><dd></dd></div><div><dt></dt><dd></dd></div><!$><!/><div><dt></dt><dd></dd></div><!$><!/>`);
43
+ import { children, createContext, createRenderEffect, createSignal, createUniqueId, For, onCleanup, Show, useContext } from "solid-js";
40
44
  import { Button } from "../actions/Button";
41
45
  import { Dropdown } from "../actions/Dropdown";
42
46
  import { Tooltip } from "../feedback/Tooltip";
@@ -468,6 +472,42 @@ const ActivityContent = props => [(() => {
468
472
  return _$getNextElement(_tmpl$17);
469
473
  }
470
474
  })];
475
+ const ActivityDisclosureContext = createContext();
476
+ /**
477
+ * The words of an activity label that open its body, with the chevron right after them. With a toggle in its label,
478
+ * only these words are the disclosure, and the rest of the row, chips with links included, stays ordinary content.
479
+ * Outside an activity with a body it renders its words as plain text.
480
+ */
481
+ export function ChatActivityToggle(props) {
482
+ const disclosure = useContext(ActivityDisclosureContext);
483
+ disclosure?.register();
484
+ return _$createComponent(Show, {
485
+ get when() {
486
+ return disclosure?.expandable() ? disclosure : undefined;
487
+ },
488
+ get fallback() {
489
+ return props.children;
490
+ },
491
+ children: current => (() => {
492
+ var _el$46 = _$getNextElement(_tmpl$20),
493
+ _el$47 = _el$46.firstChild;
494
+ _el$46.$$click = () => current().toggle();
495
+ _$insert(_el$47, () => props.children);
496
+ _$effect(_p$ => {
497
+ var _v$14 = current().open() ? "true" : "false",
498
+ _v$15 = current().bodyId;
499
+ _v$14 !== _p$.e && _$setAttribute(_el$46, "aria-expanded", _p$.e = _v$14);
500
+ _v$15 !== _p$.t && _$setAttribute(_el$46, "aria-controls", _p$.t = _v$15);
501
+ return _p$;
502
+ }, {
503
+ e: undefined,
504
+ t: undefined
505
+ });
506
+ _$runHydrationEvents();
507
+ return _el$46;
508
+ })()
509
+ });
510
+ }
471
511
  export function ChatActivity(props) {
472
512
  // The disclosure's real state. A controlled `open` sets it, and every toggle reports it, so the body renders whenever
473
513
  // the row is open, also when a host has not yet passed its new `open` back.
@@ -477,108 +517,200 @@ export function ChatActivity(props) {
477
517
  if (open !== undefined) setExpanded(open);
478
518
  });
479
519
  const open = expanded;
520
+ const setOpen = next => {
521
+ if (next === expanded()) return;
522
+ setExpanded(next);
523
+ props.onOpenChange?.(next);
524
+ };
480
525
  const tone = () => props.tone ?? "neutral";
481
526
  const style = () => props.accent ? {
482
527
  "--k2b-chat-activity-accent": props.accent
483
528
  } : undefined;
484
- return _$createComponent(Show, {
529
+ const expandable = () => Boolean(props.renderBody || props.children);
530
+ // A `Chat.Activity.Toggle` in the label registers while the label resolves, before the row picks its element, so the
531
+ // server and the first browser frame agree on whether the whole row or only the toggle is the disclosure.
532
+ const [toggles, setToggles] = createSignal(0);
533
+ const bodyId = createUniqueId();
534
+ const disclosure = {
535
+ expandable,
536
+ open,
537
+ toggle: () => setOpen(!expanded()),
538
+ bodyId,
539
+ register: () => {
540
+ setToggles(count => count + 1);
541
+ onCleanup(() => setToggles(count => count - 1));
542
+ }
543
+ };
544
+ const body = () => props.renderBody ? _$createComponent(Show, {
485
545
  get when() {
486
- return props.renderBody || props.children;
487
- },
488
- get fallback() {
489
- return (() => {
490
- var _el$49 = _$getNextElement(_tmpl$21),
491
- _el$50 = _el$49.firstChild;
492
- _$insert(_el$50, _$createComponent(ActivityContent, props));
493
- _$effect(_p$ => {
494
- var _v$25 = `k2b-chat-activity ${props.class ?? ""}`,
495
- _v$26 = tone(),
496
- _v$27 = props.accent ? "true" : undefined,
497
- _v$28 = props.busy ? "true" : undefined,
498
- _v$29 = props.wrap ? "true" : undefined,
499
- _v$30 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
500
- _v$31 = style(),
501
- _v$32 = props.busy ? "true" : undefined;
502
- _v$25 !== _p$.e && _$className(_el$49, _p$.e = _v$25);
503
- _v$26 !== _p$.t && _$setAttribute(_el$49, "data-tone", _p$.t = _v$26);
504
- _v$27 !== _p$.a && _$setAttribute(_el$49, "data-accent", _p$.a = _v$27);
505
- _v$28 !== _p$.o && _$setAttribute(_el$49, "data-busy", _p$.o = _v$28);
506
- _v$29 !== _p$.i && _$setAttribute(_el$49, "data-wrap", _p$.i = _v$29);
507
- _v$30 !== _p$.n && _$setAttribute(_el$49, "data-chat-anchor", _p$.n = _v$30);
508
- _p$.s = _$style(_el$49, _v$31, _p$.s);
509
- _v$32 !== _p$.h && _$setAttribute(_el$49, "aria-busy", _p$.h = _v$32);
510
- return _p$;
511
- }, {
512
- e: undefined,
513
- t: undefined,
514
- a: undefined,
515
- o: undefined,
516
- i: undefined,
517
- n: undefined,
518
- s: undefined,
519
- h: undefined
520
- });
521
- return _el$49;
522
- })();
546
+ return _$memo(() => !!open())() ? props.renderBody : undefined;
523
547
  },
548
+ children: render => render()()
549
+ }) : props.children;
550
+ return _$createComponent(ActivityDisclosureContext.Provider, {
551
+ value: disclosure,
524
552
  get children() {
525
- var _el$46 = _$getNextElement(_tmpl$20),
526
- _el$47 = _el$46.firstChild,
527
- _el$48 = _el$47.nextSibling;
528
- _el$46.addEventListener("toggle", event => {
529
- setExpanded(event.currentTarget.open);
530
- props.onOpenChange?.(event.currentTarget.open);
531
- });
532
- _$insert(_el$47, _$createComponent(ActivityContent, _$mergeProps(props, {
533
- disclosure: true
534
- })));
535
- _$insert(_el$48, (() => {
536
- var _c$ = _$memo(() => !!props.renderBody);
537
- return () => _c$() ? _$createComponent(Show, {
553
+ return (() => {
554
+ const label = children(() => props.label);
555
+ return _$createComponent(Show, {
538
556
  get when() {
539
- return _$memo(() => !!open())() ? props.renderBody : undefined;
557
+ return expandable();
540
558
  },
541
- children: render => render()()
542
- }) : props.children;
543
- })());
544
- _$effect(_p$ => {
545
- var _v$14 = `k2b-chat-activity ${props.class ?? ""}`,
546
- _v$15 = tone(),
547
- _v$16 = props.accent ? "true" : undefined,
548
- _v$17 = props.busy ? "true" : undefined,
549
- _v$18 = props.wrap ? "true" : undefined,
550
- _v$19 = props.bodyInset === false ? "false" : undefined,
551
- _v$20 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
552
- _v$21 = style(),
553
- _v$22 = open(),
554
- _v$23 = props.busy ? "true" : undefined,
555
- _v$24 = props.ariaLabel;
556
- _v$14 !== _p$.e && _$className(_el$46, _p$.e = _v$14);
557
- _v$15 !== _p$.t && _$setAttribute(_el$46, "data-tone", _p$.t = _v$15);
558
- _v$16 !== _p$.a && _$setAttribute(_el$46, "data-accent", _p$.a = _v$16);
559
- _v$17 !== _p$.o && _$setAttribute(_el$46, "data-busy", _p$.o = _v$17);
560
- _v$18 !== _p$.i && _$setAttribute(_el$46, "data-wrap", _p$.i = _v$18);
561
- _v$19 !== _p$.n && _$setAttribute(_el$46, "data-body-inset", _p$.n = _v$19);
562
- _v$20 !== _p$.s && _$setAttribute(_el$46, "data-chat-anchor", _p$.s = _v$20);
563
- _p$.h = _$style(_el$46, _v$21, _p$.h);
564
- _v$22 !== _p$.r && _$setProperty(_el$46, "open", _p$.r = _v$22);
565
- _v$23 !== _p$.d && _$setAttribute(_el$46, "aria-busy", _p$.d = _v$23);
566
- _v$24 !== _p$.l && _$setAttribute(_el$47, "aria-label", _p$.l = _v$24);
567
- return _p$;
568
- }, {
569
- e: undefined,
570
- t: undefined,
571
- a: undefined,
572
- o: undefined,
573
- i: undefined,
574
- n: undefined,
575
- s: undefined,
576
- h: undefined,
577
- r: undefined,
578
- d: undefined,
579
- l: undefined
580
- });
581
- return _el$46;
559
+ get fallback() {
560
+ return (() => {
561
+ var _el$51 = _$getNextElement(_tmpl$22),
562
+ _el$52 = _el$51.firstChild;
563
+ _$insert(_el$52, _$createComponent(ActivityContent, _$mergeProps(props, {
564
+ get label() {
565
+ return label();
566
+ }
567
+ })));
568
+ _$effect(_p$ => {
569
+ var _v$27 = `k2b-chat-activity ${props.class ?? ""}`,
570
+ _v$28 = tone(),
571
+ _v$29 = props.accent ? "true" : undefined,
572
+ _v$30 = props.busy ? "true" : undefined,
573
+ _v$31 = props.wrap ? "true" : undefined,
574
+ _v$32 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
575
+ _v$33 = style(),
576
+ _v$34 = props.busy ? "true" : undefined;
577
+ _v$27 !== _p$.e && _$className(_el$51, _p$.e = _v$27);
578
+ _v$28 !== _p$.t && _$setAttribute(_el$51, "data-tone", _p$.t = _v$28);
579
+ _v$29 !== _p$.a && _$setAttribute(_el$51, "data-accent", _p$.a = _v$29);
580
+ _v$30 !== _p$.o && _$setAttribute(_el$51, "data-busy", _p$.o = _v$30);
581
+ _v$31 !== _p$.i && _$setAttribute(_el$51, "data-wrap", _p$.i = _v$31);
582
+ _v$32 !== _p$.n && _$setAttribute(_el$51, "data-chat-anchor", _p$.n = _v$32);
583
+ _p$.s = _$style(_el$51, _v$33, _p$.s);
584
+ _v$34 !== _p$.h && _$setAttribute(_el$51, "aria-busy", _p$.h = _v$34);
585
+ return _p$;
586
+ }, {
587
+ e: undefined,
588
+ t: undefined,
589
+ a: undefined,
590
+ o: undefined,
591
+ i: undefined,
592
+ n: undefined,
593
+ s: undefined,
594
+ h: undefined
595
+ });
596
+ return _el$51;
597
+ })();
598
+ },
599
+ get children() {
600
+ return _$createComponent(Show, {
601
+ get when() {
602
+ return toggles() === 0;
603
+ },
604
+ get fallback() {
605
+ return (() => {
606
+ var _el$53 = _$getNextElement(_tmpl$23),
607
+ _el$54 = _el$53.firstChild,
608
+ _el$55 = _el$54.nextSibling;
609
+ _$insert(_el$54, _$createComponent(ActivityContent, _$mergeProps(props, {
610
+ get label() {
611
+ return label();
612
+ }
613
+ })));
614
+ _$setAttribute(_el$55, "id", bodyId);
615
+ _$insert(_el$55, body);
616
+ _$effect(_p$ => {
617
+ var _v$35 = `k2b-chat-activity ${props.class ?? ""}`,
618
+ _v$36 = tone(),
619
+ _v$37 = props.accent ? "true" : undefined,
620
+ _v$38 = props.busy ? "true" : undefined,
621
+ _v$39 = props.wrap ? "true" : undefined,
622
+ _v$40 = props.bodyInset === false ? "false" : undefined,
623
+ _v$41 = open() ? "true" : "false",
624
+ _v$42 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
625
+ _v$43 = style(),
626
+ _v$44 = props.busy ? "true" : undefined,
627
+ _v$45 = !open();
628
+ _v$35 !== _p$.e && _$className(_el$53, _p$.e = _v$35);
629
+ _v$36 !== _p$.t && _$setAttribute(_el$53, "data-tone", _p$.t = _v$36);
630
+ _v$37 !== _p$.a && _$setAttribute(_el$53, "data-accent", _p$.a = _v$37);
631
+ _v$38 !== _p$.o && _$setAttribute(_el$53, "data-busy", _p$.o = _v$38);
632
+ _v$39 !== _p$.i && _$setAttribute(_el$53, "data-wrap", _p$.i = _v$39);
633
+ _v$40 !== _p$.n && _$setAttribute(_el$53, "data-body-inset", _p$.n = _v$40);
634
+ _v$41 !== _p$.s && _$setAttribute(_el$53, "data-open", _p$.s = _v$41);
635
+ _v$42 !== _p$.h && _$setAttribute(_el$53, "data-chat-anchor", _p$.h = _v$42);
636
+ _p$.r = _$style(_el$53, _v$43, _p$.r);
637
+ _v$44 !== _p$.d && _$setAttribute(_el$53, "aria-busy", _p$.d = _v$44);
638
+ _v$45 !== _p$.l && _$setProperty(_el$55, "hidden", _p$.l = _v$45);
639
+ return _p$;
640
+ }, {
641
+ e: undefined,
642
+ t: undefined,
643
+ a: undefined,
644
+ o: undefined,
645
+ i: undefined,
646
+ n: undefined,
647
+ s: undefined,
648
+ h: undefined,
649
+ r: undefined,
650
+ d: undefined,
651
+ l: undefined
652
+ });
653
+ return _el$53;
654
+ })();
655
+ },
656
+ get children() {
657
+ var _el$48 = _$getNextElement(_tmpl$21),
658
+ _el$49 = _el$48.firstChild,
659
+ _el$50 = _el$49.nextSibling;
660
+ _el$48.addEventListener("toggle", event => {
661
+ setExpanded(event.currentTarget.open);
662
+ props.onOpenChange?.(event.currentTarget.open);
663
+ });
664
+ _$insert(_el$49, _$createComponent(ActivityContent, _$mergeProps(props, {
665
+ get label() {
666
+ return label();
667
+ },
668
+ disclosure: true
669
+ })));
670
+ _$insert(_el$50, body);
671
+ _$effect(_p$ => {
672
+ var _v$16 = `k2b-chat-activity ${props.class ?? ""}`,
673
+ _v$17 = tone(),
674
+ _v$18 = props.accent ? "true" : undefined,
675
+ _v$19 = props.busy ? "true" : undefined,
676
+ _v$20 = props.wrap ? "true" : undefined,
677
+ _v$21 = props.bodyInset === false ? "false" : undefined,
678
+ _v$22 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
679
+ _v$23 = style(),
680
+ _v$24 = open(),
681
+ _v$25 = props.busy ? "true" : undefined,
682
+ _v$26 = props.ariaLabel;
683
+ _v$16 !== _p$.e && _$className(_el$48, _p$.e = _v$16);
684
+ _v$17 !== _p$.t && _$setAttribute(_el$48, "data-tone", _p$.t = _v$17);
685
+ _v$18 !== _p$.a && _$setAttribute(_el$48, "data-accent", _p$.a = _v$18);
686
+ _v$19 !== _p$.o && _$setAttribute(_el$48, "data-busy", _p$.o = _v$19);
687
+ _v$20 !== _p$.i && _$setAttribute(_el$48, "data-wrap", _p$.i = _v$20);
688
+ _v$21 !== _p$.n && _$setAttribute(_el$48, "data-body-inset", _p$.n = _v$21);
689
+ _v$22 !== _p$.s && _$setAttribute(_el$48, "data-chat-anchor", _p$.s = _v$22);
690
+ _p$.h = _$style(_el$48, _v$23, _p$.h);
691
+ _v$24 !== _p$.r && _$setProperty(_el$48, "open", _p$.r = _v$24);
692
+ _v$25 !== _p$.d && _$setAttribute(_el$48, "aria-busy", _p$.d = _v$25);
693
+ _v$26 !== _p$.l && _$setAttribute(_el$49, "aria-label", _p$.l = _v$26);
694
+ return _p$;
695
+ }, {
696
+ e: undefined,
697
+ t: undefined,
698
+ a: undefined,
699
+ o: undefined,
700
+ i: undefined,
701
+ n: undefined,
702
+ s: undefined,
703
+ h: undefined,
704
+ r: undefined,
705
+ d: undefined,
706
+ l: undefined
707
+ });
708
+ return _el$48;
709
+ }
710
+ });
711
+ }
712
+ });
713
+ })();
582
714
  }
583
715
  });
584
716
  }
@@ -647,74 +779,74 @@ export function ChatContextUsage(props) {
647
779
  });
648
780
  }
649
781
  }), (() => {
650
- var _el$53 = _$getNextElement(_tmpl$24),
651
- _el$69 = _el$53.firstChild,
652
- [_el$70, _co$1] = _$getNextMarker(_el$69.nextSibling),
653
- _el$54 = _el$70.nextSibling,
654
- _el$55 = _el$54.firstChild,
655
- _el$56 = _el$55.nextSibling,
656
- _el$57 = _el$54.nextSibling,
657
- _el$58 = _el$57.firstChild,
658
- _el$59 = _el$58.nextSibling,
659
- _el$71 = _el$57.nextSibling,
660
- [_el$72, _co$10] = _$getNextMarker(_el$71.nextSibling),
661
- _el$63 = _el$72.nextSibling,
662
- _el$64 = _el$63.firstChild,
663
- _el$65 = _el$64.nextSibling,
664
- _el$73 = _el$63.nextSibling,
665
- [_el$74, _co$11] = _$getNextMarker(_el$73.nextSibling);
666
- _$insert(_el$53, _$createComponent(Show, {
782
+ var _el$58 = _$getNextElement(_tmpl$26),
783
+ _el$74 = _el$58.firstChild,
784
+ [_el$75, _co$1] = _$getNextMarker(_el$74.nextSibling),
785
+ _el$59 = _el$75.nextSibling,
786
+ _el$60 = _el$59.firstChild,
787
+ _el$61 = _el$60.nextSibling,
788
+ _el$62 = _el$59.nextSibling,
789
+ _el$63 = _el$62.firstChild,
790
+ _el$64 = _el$63.nextSibling,
791
+ _el$76 = _el$62.nextSibling,
792
+ [_el$77, _co$10] = _$getNextMarker(_el$76.nextSibling),
793
+ _el$68 = _el$77.nextSibling,
794
+ _el$69 = _el$68.firstChild,
795
+ _el$70 = _el$69.nextSibling,
796
+ _el$78 = _el$68.nextSibling,
797
+ [_el$79, _co$11] = _$getNextMarker(_el$78.nextSibling);
798
+ _$insert(_el$58, _$createComponent(Show, {
667
799
  get when() {
668
800
  return props.modelLabel;
669
801
  },
670
802
  children: model => (() => {
671
- var _el$75 = _$getNextElement(_tmpl$23),
672
- _el$76 = _el$75.firstChild,
673
- _el$77 = _el$76.nextSibling;
674
- _$insert(_el$76, () => chatMessages().model);
675
- _$insert(_el$77, model);
676
- return _el$75;
803
+ var _el$80 = _$getNextElement(_tmpl$25),
804
+ _el$81 = _el$80.firstChild,
805
+ _el$82 = _el$81.nextSibling;
806
+ _$insert(_el$81, () => chatMessages().model);
807
+ _$insert(_el$82, model);
808
+ return _el$80;
677
809
  })()
678
- }), _el$70, _co$1);
679
- _$insert(_el$55, () => chatMessages().input);
680
- _$insert(_el$56, () => formattedUsageValue(usage().input));
681
- _$insert(_el$58, () => chatMessages().output);
682
- _$insert(_el$59, () => formattedUsageValue(usage().output));
683
- _$insert(_el$53, _$createComponent(Show, {
810
+ }), _el$75, _co$1);
811
+ _$insert(_el$60, () => chatMessages().input);
812
+ _$insert(_el$61, () => formattedUsageValue(usage().input));
813
+ _$insert(_el$63, () => chatMessages().output);
814
+ _$insert(_el$64, () => formattedUsageValue(usage().output));
815
+ _$insert(_el$58, _$createComponent(Show, {
684
816
  get when() {
685
817
  return loopUsage().reported;
686
818
  },
687
819
  get children() {
688
- var _el$60 = _$getNextElement(_tmpl$23),
689
- _el$61 = _el$60.firstChild,
690
- _el$62 = _el$61.nextSibling;
691
- _$insert(_el$61, () => chatMessages().loopTotal);
692
- _$insert(_el$62, () => formattedUsageValue(loopUsage().total));
693
- return _el$60;
820
+ var _el$65 = _$getNextElement(_tmpl$25),
821
+ _el$66 = _el$65.firstChild,
822
+ _el$67 = _el$66.nextSibling;
823
+ _$insert(_el$66, () => chatMessages().loopTotal);
824
+ _$insert(_el$67, () => formattedUsageValue(loopUsage().total));
825
+ return _el$65;
694
826
  }
695
- }), _el$72, _co$10);
696
- _$insert(_el$64, () => chatMessages().contextWindow);
697
- _$insert(_el$65, (() => {
698
- var _c$3 = _$memo(() => windowSize() > 0);
699
- return () => _c$3() ? formatNumber(windowSize()) : chatMessages().notConfigured;
827
+ }), _el$77, _co$10);
828
+ _$insert(_el$69, () => chatMessages().contextWindow);
829
+ _$insert(_el$70, (() => {
830
+ var _c$2 = _$memo(() => windowSize() > 0);
831
+ return () => _c$2() ? formatNumber(windowSize()) : chatMessages().notConfigured;
700
832
  })());
701
- _$insert(_el$53, _$createComponent(Show, {
833
+ _$insert(_el$58, _$createComponent(Show, {
702
834
  get when() {
703
835
  return remaining() !== null;
704
836
  },
705
837
  get children() {
706
- var _el$66 = _$getNextElement(_tmpl$23),
707
- _el$67 = _el$66.firstChild,
708
- _el$68 = _el$67.nextSibling;
709
- _$insert(_el$67, () => chatMessages().remaining);
710
- _$insert(_el$68, (() => {
711
- var _c$4 = _$memo(() => remaining() === null);
712
- return () => _c$4() ? messages().unknown : formatNumber(remaining());
838
+ var _el$71 = _$getNextElement(_tmpl$25),
839
+ _el$72 = _el$71.firstChild,
840
+ _el$73 = _el$72.nextSibling;
841
+ _$insert(_el$72, () => chatMessages().remaining);
842
+ _$insert(_el$73, (() => {
843
+ var _c$3 = _$memo(() => remaining() === null);
844
+ return () => _c$3() ? messages().unknown : formatNumber(remaining());
713
845
  })());
714
- return _el$66;
846
+ return _el$71;
715
847
  }
716
- }), _el$74, _co$11);
717
- return _el$53;
848
+ }), _el$79, _co$11);
849
+ return _el$58;
718
850
  })(), _$createComponent(Show, {
719
851
  get when() {
720
852
  return props.action;
@@ -731,9 +863,9 @@ export function ChatContextUsage(props) {
731
863
  },
732
864
  get children() {
733
865
  return [(() => {
734
- var _el$78 = _$getNextElement(_tmpl$1);
735
- _$effect(() => _$className(_el$78, busy() ? "ti ti-loader-2 k2b-spin" : action().icon));
736
- return _el$78;
866
+ var _el$83 = _$getNextElement(_tmpl$1);
867
+ _$effect(() => _$className(_el$83, busy() ? "ti ti-loader-2 k2b-spin" : action().icon));
868
+ return _el$83;
737
869
  })(), _$memo(() => action().label)];
738
870
  }
739
871
  })
@@ -752,15 +884,16 @@ export function ChatContextUsage(props) {
752
884
  return accessibleLabel();
753
885
  },
754
886
  get children() {
755
- return [_$getNextElement(_tmpl$22), (() => {
756
- var _el$52 = _$getNextElement(_tmpl$0);
757
- _$insert(_el$52, (() => {
758
- var _c$2 = _$memo(() => percent() === null);
759
- return () => _c$2() ? "–" : `${percent()}%`;
887
+ return [_$getNextElement(_tmpl$24), (() => {
888
+ var _el$57 = _$getNextElement(_tmpl$0);
889
+ _$insert(_el$57, (() => {
890
+ var _c$ = _$memo(() => percent() === null);
891
+ return () => _c$() ? "–" : `${percent()}%`;
760
892
  })());
761
- return _el$52;
893
+ return _el$57;
762
894
  })()];
763
895
  }
764
896
  });
765
897
  }
898
+ _$delegateEvents(["click"]);
766
899
  //# sourceMappingURL=ChatPrimitives.js.map