@k2b/ui 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/README.md +77 -312
  2. package/dist/browser/actions/Dropdown.js +6 -3
  3. package/dist/browser/actions/Dropdown.js.map +1 -1
  4. package/dist/browser/chat/ChatPrimitives.js +44 -41
  5. package/dist/browser/chat/ChatPrimitives.js.map +1 -1
  6. package/dist/browser/chat/ChatTimeline.js +3 -1
  7. package/dist/browser/chat/ChatTimeline.js.map +1 -1
  8. package/dist/browser/chat/types.js.map +1 -1
  9. package/dist/browser/content/MarkdownView.js +14 -3
  10. package/dist/browser/content/MarkdownView.js.map +1 -1
  11. package/dist/browser/feedback/Tooltip.js +6 -2
  12. package/dist/browser/feedback/Tooltip.js.map +1 -1
  13. package/dist/browser/feedback/dialog-core.js +22 -3
  14. package/dist/browser/feedback/dialog-core.js.map +1 -1
  15. package/dist/browser/feedback/tooltip-position.js +15 -0
  16. package/dist/browser/feedback/tooltip-position.js.map +1 -1
  17. package/dist/browser/inputs/ChoiceInputs.js +47 -38
  18. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  19. package/dist/browser/internal/portal.js +1 -1
  20. package/dist/browser/internal/portal.js.map +1 -1
  21. package/dist/browser/layout/DetailPanel.js +194 -81
  22. package/dist/browser/layout/DetailPanel.js.map +1 -1
  23. package/dist/browser/layout/PanelDialog.js +14 -5
  24. package/dist/browser/layout/PanelDialog.js.map +1 -1
  25. package/dist/ssr/actions/Dropdown.js +1 -1
  26. package/dist/ssr/actions/Dropdown.js.map +1 -1
  27. package/dist/ssr/chat/ChatPrimitives.js +1 -1
  28. package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
  29. package/dist/ssr/chat/ChatTimeline.js +3 -1
  30. package/dist/ssr/chat/ChatTimeline.js.map +1 -1
  31. package/dist/ssr/chat/types.js.map +1 -1
  32. package/dist/ssr/content/MarkdownView.js +14 -3
  33. package/dist/ssr/content/MarkdownView.js.map +1 -1
  34. package/dist/ssr/feedback/Tooltip.js +6 -4
  35. package/dist/ssr/feedback/Tooltip.js.map +1 -1
  36. package/dist/ssr/feedback/dialog-core.js +22 -3
  37. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  38. package/dist/ssr/feedback/tooltip-position.js +15 -0
  39. package/dist/ssr/feedback/tooltip-position.js.map +1 -1
  40. package/dist/ssr/inputs/ChoiceInputs.js +9 -6
  41. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  42. package/dist/ssr/internal/portal.js +1 -1
  43. package/dist/ssr/internal/portal.js.map +1 -1
  44. package/dist/ssr/layout/DetailPanel.js +86 -15
  45. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  46. package/dist/ssr/layout/PanelDialog.js +1 -1
  47. package/dist/ssr/layout/PanelDialog.js.map +1 -1
  48. package/dist/styles.css +1 -1
  49. package/dist/types/actions/Dropdown.d.ts +3 -1
  50. package/dist/types/chat/types.d.ts +2 -0
  51. package/dist/types/content/MarkdownView.d.ts +6 -1
  52. package/dist/types/feedback/dialog-core.d.ts +2 -0
  53. package/dist/types/feedback/tooltip-position.d.ts +1 -1
  54. package/dist/types/inputs/ChoiceInputs.d.ts +3 -0
  55. package/dist/types/layout/DetailPanel.d.ts +6 -0
  56. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"names":["createContext","createEffect","createSignal","createUniqueId","For","onCleanup","onMount","Show","splitProps","useContext","Tooltip","useUiMessages","Button","MenuContext","DropdownContext","actionableItems","menu","Array","from","querySelectorAll","join","focusMenuItem","index","items","length","focus","dropdownPosition","trigger","position","viewport","gap","left","top","bottom","right","width","height","Math","max","min","itemContent","props","_$createComponent","when","image","fallback","icon","children","_el$5","_$getNextElement","_tmpl$2","_$effect","_$className","_el$6","_tmpl$3","_$setAttribute","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_co$","_$getNextMarker","_$insert","description","_el$7","_tmpl$4","DropdownItem","danger","variant","content","_$memo","disabled","href","undefined","_el$8","_tmpl$5","$$click","event","preventDefault","stopPropagation","close","onSelect","_p$","_v$","class","_v$2","_v$3","_v$4","e","t","a","_$setProperty","o","_$runHydrationEvents","_el$9","_tmpl$6","_v$5","_v$6","external","_v$7","_v$8","_v$9","i","DropdownChoiceItem","checked","_el$0","_tmpl$0","_el$16","_el$17","_co$3","_el$18","_el$19","_co$4","_el$20","_el$21","_co$5","_el$11","_el$12","_el$13","_el$14","_co$2","_el$22","_el$23","_co$6","closeOnSelect","action","choice","_el$1","_tmpl$8","_tmpl$7","_el$24","_el$25","color","_el$26","_tmpl$1","_$p","_$setStyleProperty","label","_el$27","_tmpl$9","_v$0","_v$1","_v$10","_v$11","_v$12","_v$13","n","DropdownItems","messages","renderItem","item","Provider","value","each","_el$28","_tmpl$10","_el$29","_el$30","_co$7","_el$31","_el$32","_co$8","sectionLabel","_el$33","_tmpl$11","_v$14","_v$15","actions","DropdownTrigger","context","Error","local","rest","target","Boolean","register","element","registerTrigger","ref","click","toggle","appearance","_$mergeProps","aria-controls","menuId","aria-expanded","open","aria-label","tabIndex","onClick","onKeyDown","triggerKeyDown","type","iconOnly","size","tooltip","tooltipDelay","tooltipPlacement","_el$34","_tmpl$12","_$use","_$spread","delay","placement","DropdownRoot","id","replace","internalOpen","setInternalOpen","triggerRef","menuRef","mounted","viewportListenersAttached","isOpen","align","place","rect","getBoundingClientRect","window","innerWidth","innerHeight","style","reposition","attachViewportListeners","addEventListener","detachViewportListeners","removeEventListener","restoreFocus","matches","hidePopover","queueMicrotask","showPopover","requestOpen","next","onOpenChange","handleMenuKeyDown","current","indexOf","document","activeElement","key","includes","controlled","_el$35","_tmpl$13","_el$37","_el$38","_co$9","_el$36","nextOpen","newState","wasOpen","onClose","$$keydown","_ref$","_v$16","_v$17","dropdownMenu","_v$18","menuClass","_v$19","_v$20","_$style","Dropdown","Root","Trigger","Item","_$delegateEvents"],"sources":["actions/Dropdown.tsx"],"sourcesContent":["import {\n createContext,\n createEffect,\n createSignal,\n createUniqueId,\n For,\n type JSX,\n onCleanup,\n onMount,\n Show,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport { Tooltip, type TooltipPlacement } from \"../feedback/Tooltip\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from \"./Button\";\n\nexport type DropdownPosition = \"bottom-right\" | \"bottom-left\" | \"top-right\" | \"top-left\" | \"right-start\";\n\nexport type DropdownActionBase = {\n class?: string;\n disabled?: boolean;\n icon?: string;\n image?: string;\n label: string;\n description?: string;\n variant?: \"danger\";\n};\n\nexport type DropdownAction =\n | (DropdownActionBase & {\n action: () => void;\n href?: never;\n external?: never;\n })\n | (DropdownActionBase & {\n href: string;\n external?: boolean;\n action?: never;\n })\n | (DropdownActionBase & {\n disabled: true;\n action?: never;\n href?: never;\n external?: never;\n });\n\n/** Declarative radio or checkbox row for compact action menus. */\nexport type DropdownChoice = DropdownActionBase & {\n action: () => void;\n checked: boolean | (() => boolean);\n choice: \"checkbox\" | \"radio\";\n closeOnSelect?: boolean;\n color?: string;\n};\n\nexport type DropdownSection = {\n sectionLabel?: string;\n items: readonly (DropdownAction | DropdownChoice)[];\n};\n\nexport type DropdownItem = DropdownAction | DropdownChoice | DropdownSection;\n\nexport type DropdownProps = {\n items: readonly DropdownItem[];\n children: JSX.Element;\n position?: DropdownPosition | (() => DropdownPosition);\n /** Menu width as a CSS length. Defaults to `12rem`. */\n width?: string;\n class?: string;\n menuClass?: string;\n onClose?: () => void;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n label?: string;\n align?: \"start\" | \"end\";\n};\n\nexport type DropdownTriggerProps = Omit<\n ButtonProps,\n \"aria-controls\" | \"aria-expanded\" | \"aria-haspopup\" | \"children\" | \"disabled\" | \"onClick\" | \"onKeyDown\"\n> & {\n children: JSX.Element;\n /** Use `plain` when a specialized component class owns the complete visual treatment. */\n appearance?: \"button\" | \"plain\";\n disabled?: boolean;\n iconOnly?: boolean;\n label?: string;\n size?: ButtonSize;\n tooltip?: JSX.Element | false;\n tooltipDelay?: number;\n tooltipPlacement?: TooltipPlacement;\n variant?: ButtonVariant;\n};\n\nexport type DropdownItemProps = {\n children: JSX.Element;\n icon?: string;\n image?: string;\n description?: string;\n disabled?: boolean;\n danger?: boolean;\n variant?: \"danger\";\n href?: string;\n external?: boolean;\n onSelect?: () => void;\n class?: string;\n};\n\ntype MenuContextValue = {\n close: (restoreFocus?: boolean) => void;\n};\n\ntype DropdownContextValue = {\n disabled: () => boolean;\n menuId: string;\n open: () => boolean;\n registerTrigger: (element: HTMLButtonElement) => void;\n toggle: () => void;\n triggerKeyDown: JSX.EventHandlerUnion<HTMLButtonElement, KeyboardEvent>;\n};\n\nconst MenuContext = createContext<MenuContextValue>();\nconst DropdownContext = createContext<DropdownContextValue>();\n\nconst actionableItems = (menu: HTMLElement | undefined): HTMLElement[] =>\n menu\n ? Array.from(\n menu.querySelectorAll<HTMLElement>(\n [\n \"[role='menuitem']:not([aria-disabled='true'])\",\n \"[role='menuitemcheckbox']:not([aria-disabled='true'])\",\n \"[role='menuitemradio']:not([aria-disabled='true'])\",\n ].join(\", \"),\n ),\n )\n : [];\n\nconst focusMenuItem = (menu: HTMLElement | undefined, index: number): void => {\n const items = actionableItems(menu);\n if (items.length === 0) return;\n items[(index + items.length) % items.length]?.focus();\n};\n\nexport const dropdownPosition = (\n trigger: DOMRect,\n menu: Pick<DOMRect, \"width\" | \"height\">,\n position: DropdownPosition,\n viewport: { width: number; height: number },\n gap = 4,\n): { left: number; top: number } => {\n let left = trigger.left;\n let top = trigger.bottom + gap;\n\n if (position === \"bottom-left\" || position === \"top-left\") left = trigger.right - menu.width;\n if (position === \"top-right\" || position === \"top-left\") top = trigger.top - menu.height - gap;\n if (position === \"right-start\") {\n left = trigger.right + gap;\n top = trigger.top;\n }\n\n return {\n left: Math.max(8, Math.min(left, viewport.width - menu.width - 8)),\n top: Math.max(8, Math.min(top, viewport.height - menu.height - 8)),\n };\n};\n\nconst itemContent = (props: { description?: string; icon?: string; image?: string; children: JSX.Element }): JSX.Element => (\n <>\n <Show when={props.image} fallback={<Show when={props.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>}>\n {(image) => <img class=\"k2b-dropdown__image\" src={image()} alt=\"\" />}\n </Show>\n <span class=\"k2b-dropdown__copy\">\n <span>{props.children}</span>\n <Show when={props.description}>{(description) => <small>{description()}</small>}</Show>\n </span>\n </>\n);\n\nexport function DropdownItem(props: DropdownItemProps): JSX.Element {\n const menu = useContext(MenuContext);\n const danger = () => props.danger || props.variant === \"danger\";\n const content = itemContent(props);\n\n return (\n <Show\n when={!props.disabled ? props.href : undefined}\n fallback={\n <button\n type=\"button\"\n role=\"menuitem\"\n tabIndex={-1}\n class={`k2b-dropdown__item ${props.class ?? \"\"}`}\n data-danger={danger() ? \"true\" : undefined}\n disabled={props.disabled}\n aria-disabled={props.disabled ? \"true\" : undefined}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n menu?.close();\n props.onSelect?.();\n }}\n >\n {content}\n </button>\n }\n >\n {(href) => (\n <a\n href={href()}\n target={props.external ? \"_blank\" : undefined}\n rel={props.external ? \"noopener noreferrer\" : undefined}\n role=\"menuitem\"\n tabIndex={-1}\n class={`k2b-dropdown__item ${props.class ?? \"\"}`}\n data-danger={danger() ? \"true\" : undefined}\n onClick={() => {\n menu?.close(false);\n props.onSelect?.();\n }}\n >\n {content}\n </a>\n )}\n </Show>\n );\n}\n\nfunction DropdownChoiceItem(props: DropdownChoice): JSX.Element {\n const menu = useContext(MenuContext);\n const checked = () => (typeof props.checked === \"function\" ? props.checked() : props.checked);\n return (\n // biome-ignore lint/a11y/useAriaPropsSupportedByRole: the runtime role is always menuitemcheckbox or menuitemradio, both of which support aria-checked.\n <button\n type=\"button\"\n role={props.choice === \"checkbox\" ? \"menuitemcheckbox\" : \"menuitemradio\"}\n aria-checked={checked()}\n aria-disabled={props.disabled ? \"true\" : undefined}\n tabIndex={-1}\n class={`k2b-dropdown__item ${props.class ?? \"\"}`}\n data-selected={checked() ? \"true\" : undefined}\n disabled={props.disabled}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n if (props.closeOnSelect !== false) menu?.close();\n props.action();\n }}\n >\n <Show when={props.choice === \"checkbox\"}>\n <span class=\"k2b-dropdown__checkbox\" aria-hidden=\"true\">\n <Show when={checked()}>\n <i class=\"ti ti-check\" />\n </Show>\n </span>\n </Show>\n <Show when={props.image} fallback={<Show when={props.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>}>\n {(image) => <img class=\"k2b-dropdown__image\" src={image()} alt=\"\" />}\n </Show>\n <Show when={props.color}>\n {(color) => <span class=\"k2b-dropdown__color\" style={{ \"--k2b-dropdown-color\": color() }} aria-hidden=\"true\" />}\n </Show>\n <span class=\"k2b-dropdown__copy\">\n <span>{props.label}</span>\n <Show when={props.description}>{(description) => <small>{description()}</small>}</Show>\n </span>\n <Show when={props.choice === \"radio\" && checked()}>\n <i class=\"ti ti-check k2b-dropdown__check\" aria-hidden=\"true\" />\n </Show>\n </button>\n );\n}\n\nexport function DropdownItems(props: { items: readonly DropdownItem[]; close: (restoreFocus?: boolean) => void }): JSX.Element {\n const messages = useUiMessages();\n const renderItem = (item: DropdownAction | DropdownChoice): JSX.Element =>\n \"choice\" in item ? (\n <DropdownChoiceItem {...item} />\n ) : (\n <DropdownItem\n icon={item.icon}\n image={item.image}\n description={item.description}\n variant={item.variant}\n disabled={item.disabled}\n class={item.class}\n href={\"href\" in item ? item.href : undefined}\n external={\"external\" in item ? item.external : undefined}\n onSelect={\"action\" in item ? item.action : undefined}\n >\n {item.label}\n </DropdownItem>\n );\n\n return (\n <MenuContext.Provider value={{ close: props.close }}>\n <For each={props.items}>\n {(item, index) => (\n <Show when={\"items\" in item} fallback={renderItem(item as DropdownAction | DropdownChoice)}>\n <div\n class=\"k2b-dropdown__section\"\n data-divided={index() > 0 ? \"true\" : undefined}\n role=\"group\"\n aria-label={(item as DropdownSection).sectionLabel ?? messages().actions}\n >\n <Show when={(item as DropdownSection).sectionLabel}>{(label) => <div class=\"k2b-dropdown__label\">{label()}</div>}</Show>\n <For each={(item as DropdownSection).items}>{renderItem}</For>\n </div>\n </Show>\n )}\n </For>\n </MenuContext.Provider>\n );\n}\n\nfunction DropdownTrigger(props: DropdownTriggerProps): JSX.Element {\n const context = useContext(DropdownContext);\n if (!context) throw new Error(\"Dropdown.Trigger must be used inside Dropdown.Root\");\n const [local, rest] = splitProps(props, [\n \"appearance\",\n \"children\",\n \"class\",\n \"disabled\",\n \"iconOnly\",\n \"label\",\n \"ref\",\n \"size\",\n \"tabIndex\",\n \"tooltip\",\n \"tooltipDelay\",\n \"tooltipPlacement\",\n \"type\",\n \"variant\",\n ]);\n let target: HTMLButtonElement | undefined;\n const disabled = () => Boolean(context.disabled() || local.disabled);\n const register = (element: HTMLButtonElement) => {\n target = element;\n context.registerTrigger(element);\n if (typeof local.ref === \"function\") local.ref(element);\n };\n const click: JSX.EventHandlerUnion<HTMLButtonElement, MouseEvent> = (event) => {\n event.stopPropagation();\n context.toggle();\n };\n\n if (local.appearance !== \"plain\") {\n return (\n <Button\n {...rest}\n ref={register}\n aria-controls={context.menuId}\n aria-expanded={context.open()}\n aria-haspopup=\"menu\"\n aria-label={local.label}\n disabled={disabled()}\n tabIndex={disabled() ? -1 : local.tabIndex}\n onClick={click}\n onKeyDown={context.triggerKeyDown}\n type={local.type ?? \"button\"}\n class={`${local.iconOnly ? \"k2b-icon-button\" : \"\"} k2b-dropdown__trigger ${local.class ?? \"\"}`}\n size={local.size}\n variant={local.variant ?? (local.iconOnly ? \"ghost\" : undefined)}\n tooltip={local.tooltip}\n tooltipDelay={local.tooltipDelay}\n tooltipPlacement={local.tooltipPlacement}\n >\n {local.children}\n </Button>\n );\n }\n\n return (\n <>\n <button\n {...rest}\n ref={register}\n aria-controls={context.menuId}\n aria-expanded={context.open()}\n aria-haspopup=\"menu\"\n aria-label={local.label}\n disabled={disabled()}\n tabIndex={disabled() ? -1 : local.tabIndex}\n onClick={click}\n onKeyDown={context.triggerKeyDown}\n type={local.type ?? \"button\"}\n class={`k2b-dropdown__trigger ${local.class ?? \"\"}`}\n >\n {local.children}\n </button>\n <Show when={local.tooltip !== false && local.tooltip !== undefined}>\n <Tooltip\n content={local.tooltip as JSX.Element}\n target={() => target}\n delay={local.tooltipDelay}\n disabled={disabled()}\n placement={local.tooltipPlacement}\n />\n </Show>\n </>\n );\n}\n\n/** Accessible top-layer menu with explicit trigger ownership. */\nfunction DropdownRoot(props: DropdownProps): JSX.Element {\n const messages = useUiMessages();\n const id = createUniqueId().replace(/[^a-zA-Z0-9_-]/g, \"-\");\n const menuId = `k2b-dropdown-${id}`;\n const [internalOpen, setInternalOpen] = createSignal(false);\n let triggerRef: HTMLButtonElement | undefined;\n let menuRef: HTMLDivElement | undefined;\n let mounted = false;\n let viewportListenersAttached = false;\n\n const isOpen = () => props.open ?? internalOpen();\n const position = (): DropdownPosition =>\n typeof props.position === \"function\" ? props.position() : (props.position ?? (props.align === \"end\" ? \"bottom-left\" : \"bottom-right\"));\n\n const place = () => {\n if (!triggerRef || !menuRef) return;\n const rect = dropdownPosition(triggerRef.getBoundingClientRect(), menuRef.getBoundingClientRect(), position(), {\n width: window.innerWidth,\n height: window.innerHeight,\n });\n menuRef.style.left = `${rect.left}px`;\n menuRef.style.top = `${rect.top}px`;\n };\n const reposition = () => {\n if (isOpen()) place();\n };\n const attachViewportListeners = () => {\n if (viewportListenersAttached) return;\n viewportListenersAttached = true;\n window.addEventListener(\"resize\", reposition);\n window.addEventListener(\"scroll\", reposition, true);\n };\n const detachViewportListeners = () => {\n if (!viewportListenersAttached) return;\n viewportListenersAttached = false;\n window.removeEventListener(\"resize\", reposition);\n window.removeEventListener(\"scroll\", reposition, true);\n };\n const close = (restoreFocus = true) => {\n if (menuRef?.matches(\":popover-open\")) menuRef.hidePopover();\n detachViewportListeners();\n if (restoreFocus) queueMicrotask(() => triggerRef?.focus());\n };\n const open = (focus: \"first\" | \"last\" | false = \"first\") => {\n if (props.disabled || !menuRef || menuRef.matches(\":popover-open\")) return;\n menuRef.showPopover();\n attachViewportListeners();\n place();\n queueMicrotask(() => {\n if (focus) focusMenuItem(menuRef, focus === \"first\" ? 0 : -1);\n });\n };\n const requestOpen = (next: boolean, focus: \"first\" | \"last\" | false = \"first\") => {\n if (props.disabled && next) return;\n if (props.open !== undefined) {\n props.onOpenChange?.(next);\n return;\n }\n if (next) open(focus);\n else close(false);\n };\n const handleMenuKeyDown = (event: KeyboardEvent) => {\n const items = actionableItems(menuRef);\n const current = items.indexOf(document.activeElement as HTMLElement);\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n focusMenuItem(menuRef, current + (event.key === \"ArrowDown\" ? 1 : -1));\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n focusMenuItem(menuRef, event.key === \"Home\" ? 0 : -1);\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n requestOpen(false);\n queueMicrotask(() => triggerRef?.focus());\n } else if (event.key === \"Tab\") {\n requestOpen(false);\n }\n };\n\n const context: DropdownContextValue = {\n disabled: () => Boolean(props.disabled),\n menuId,\n open: isOpen,\n registerTrigger: (element) => {\n triggerRef = element;\n },\n toggle: () => requestOpen(!isOpen()),\n triggerKeyDown: (event) => {\n if (![\"Enter\", \" \", \"ArrowDown\", \"ArrowUp\"].includes(event.key)) return;\n event.preventDefault();\n event.stopPropagation();\n if (isOpen()) {\n focusMenuItem(menuRef, event.key === \"ArrowUp\" ? -1 : 0);\n return;\n }\n requestOpen(true, event.key === \"ArrowUp\" ? \"last\" : \"first\");\n },\n };\n\n createEffect(() => {\n const controlled = props.open;\n if (!mounted || controlled === undefined || !menuRef) return;\n if (controlled && !menuRef.matches(\":popover-open\")) open(false);\n if (!controlled && menuRef.matches(\":popover-open\")) close(false);\n });\n createEffect(() => {\n if (mounted && props.disabled) close(false);\n });\n onMount(() => {\n mounted = true;\n if (props.open) open(false);\n onCleanup(detachViewportListeners);\n });\n\n return (\n <DropdownContext.Provider value={context}>\n <span class={`k2b-dropdown ${props.class ?? \"\"}`}>\n {props.children}\n <div\n ref={menuRef}\n id={menuId}\n popover=\"auto\"\n role=\"menu\"\n aria-label={props.label ?? messages().dropdownMenu}\n class={`k2b-dropdown__menu ${props.menuClass ?? \"\"}`}\n style={props.width ? { \"--k2b-dropdown-width\": props.width } : undefined}\n data-position={position()}\n onKeyDown={handleMenuKeyDown}\n onToggle={(event) => {\n const nextOpen = (event as ToggleEvent).newState === \"open\";\n const wasOpen = internalOpen();\n setInternalOpen(nextOpen);\n if (nextOpen) attachViewportListeners();\n else detachViewportListeners();\n if (props.open === undefined || props.open !== nextOpen) props.onOpenChange?.(nextOpen);\n if (wasOpen && !nextOpen) props.onClose?.();\n if (!nextOpen && props.open === true) queueMicrotask(() => props.open === true && open(false));\n }}\n >\n <DropdownItems items={props.items} close={close} />\n </div>\n </span>\n </DropdownContext.Provider>\n );\n}\n\ntype DropdownComponent = ((props: DropdownProps) => JSX.Element) & {\n Root: (props: DropdownProps) => JSX.Element;\n Trigger: (props: DropdownTriggerProps) => JSX.Element;\n Item: (props: DropdownItemProps) => JSX.Element;\n};\n\nexport const Dropdown = DropdownRoot as DropdownComponent;\nDropdown.Root = DropdownRoot;\nDropdown.Trigger = DropdownTrigger;\nDropdown.Item = DropdownItem;\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createContext","createEffect","createSignal","createUniqueId","For","onCleanup","onMount","Show","splitProps","useContext","Tooltip","useUiMessages","Button","MenuContext","DropdownContext","actionableItems","menu","Array","from","querySelectorAll","join","focusMenuItem","index","items","length","focus","dropdownPosition","trigger","position","viewport","gap","left","top","bottom","right","width","height","Math","max","min","itemContent","props","_$createComponent","when","image","fallback","icon","children","_el$5","_$getNextElement","_tmpl$2","_$effect","_$className","_el$6","_tmpl$3","_$setAttribute","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_co$","_$getNextMarker","_$insert","description","_el$7","_tmpl$4","DropdownItem","danger","variant","content","_$memo","disabled","href","undefined","_el$8","_tmpl$5","$$click","event","preventDefault","stopPropagation","close","onSelect","_p$","_v$","class","_v$2","_v$3","_v$4","e","t","a","_$setProperty","o","_$runHydrationEvents","_el$9","_tmpl$6","_v$5","_v$6","external","_v$7","_v$8","_v$9","i","DropdownChoiceItem","checked","_el$0","_tmpl$0","_el$16","_el$17","_co$3","_el$18","_el$19","_co$4","_el$20","_el$21","_co$5","_el$11","_el$12","_el$13","_el$14","_co$2","_el$22","_el$23","_co$6","closeOnSelect","action","choice","_el$1","_tmpl$8","_tmpl$7","_el$24","_el$25","color","_el$26","_tmpl$1","_$p","_$setStyleProperty","label","_el$27","_tmpl$9","_v$0","_v$1","_v$10","_v$11","_v$12","_v$13","n","DropdownItems","messages","renderItem","item","Provider","value","each","_el$28","_tmpl$10","_el$29","_el$30","_co$7","_el$31","_el$32","_co$8","sectionLabel","_el$33","_tmpl$11","_v$14","_v$15","actions","DropdownTrigger","context","Error","local","rest","target","Boolean","register","element","registerTrigger","ref","click","toggle","appearance","_$mergeProps","aria-controls","menuId","aria-expanded","open","aria-label","tabIndex","onClick","onKeyDown","triggerKeyDown","type","iconOnly","size","tooltip","tooltipDelay","tooltipPlacement","_el$34","_tmpl$12","_$use","_$spread","delay","placement","DropdownRoot","id","replace","internalOpen","setInternalOpen","triggerRef","menuRef","mounted","viewportListenersAttached","isOpen","align","place","rect","getBoundingClientRect","window","innerWidth","innerHeight","style","reposition","attachViewportListeners","addEventListener","detachViewportListeners","removeEventListener","restoreFocus","matches","hidePopover","queueMicrotask","showPopover","requestOpen","next","onOpenChange","handleMenuKeyDown","current","indexOf","document","activeElement","key","includes","controlled","_el$35","_tmpl$13","_el$37","_el$38","_co$9","_el$36","nextOpen","newState","wasOpen","onClose","$$keydown","_ref$","_v$16","_v$17","dropdownMenu","_v$18","menuClass","_v$19","_v$20","_v$21","_$style","Dropdown","Root","Trigger","Item","_$delegateEvents"],"sources":["actions/Dropdown.tsx"],"sourcesContent":["import {\n createContext,\n createEffect,\n createSignal,\n createUniqueId,\n For,\n type JSX,\n onCleanup,\n onMount,\n Show,\n splitProps,\n useContext,\n} from \"solid-js\";\nimport { Tooltip, type TooltipPlacement } from \"../feedback/Tooltip\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { Button, type ButtonProps, type ButtonSize, type ButtonVariant } from \"./Button\";\n\nexport type DropdownPosition = \"bottom-right\" | \"bottom-left\" | \"top-right\" | \"top-left\" | \"right-start\";\n\nexport type DropdownActionBase = {\n class?: string;\n disabled?: boolean;\n icon?: string;\n image?: string;\n label: string;\n description?: string;\n variant?: \"danger\";\n};\n\nexport type DropdownAction =\n | (DropdownActionBase & {\n action: () => void;\n href?: never;\n external?: never;\n })\n | (DropdownActionBase & {\n href: string;\n external?: boolean;\n action?: never;\n })\n | (DropdownActionBase & {\n disabled: true;\n action?: never;\n href?: never;\n external?: never;\n });\n\n/** Declarative radio or checkbox row for compact action menus. */\nexport type DropdownChoice = DropdownActionBase & {\n action: () => void;\n checked: boolean | (() => boolean);\n choice: \"checkbox\" | \"radio\";\n closeOnSelect?: boolean;\n color?: string;\n};\n\nexport type DropdownSection = {\n sectionLabel?: string;\n items: readonly (DropdownAction | DropdownChoice)[];\n};\n\nexport type DropdownItem = DropdownAction | DropdownChoice | DropdownSection;\n\nexport type DropdownProps = {\n items: readonly DropdownItem[];\n children: JSX.Element;\n position?: DropdownPosition | (() => DropdownPosition);\n /** Larger menu rows and typography for touch. Defaults to `default`. */\n variant?: \"default\" | \"touch\";\n /** Menu width as a CSS length. Defaults to `12rem`, or `18rem` for touch. */\n width?: string;\n class?: string;\n menuClass?: string;\n onClose?: () => void;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n disabled?: boolean;\n label?: string;\n align?: \"start\" | \"end\";\n};\n\nexport type DropdownTriggerProps = Omit<\n ButtonProps,\n \"aria-controls\" | \"aria-expanded\" | \"aria-haspopup\" | \"children\" | \"disabled\" | \"onClick\" | \"onKeyDown\"\n> & {\n children: JSX.Element;\n /** Use `plain` when a specialized component class owns the complete visual treatment. */\n appearance?: \"button\" | \"plain\";\n disabled?: boolean;\n iconOnly?: boolean;\n label?: string;\n size?: ButtonSize;\n tooltip?: JSX.Element | false;\n tooltipDelay?: number;\n tooltipPlacement?: TooltipPlacement;\n variant?: ButtonVariant;\n};\n\nexport type DropdownItemProps = {\n children: JSX.Element;\n icon?: string;\n image?: string;\n description?: string;\n disabled?: boolean;\n danger?: boolean;\n variant?: \"danger\";\n href?: string;\n external?: boolean;\n onSelect?: () => void;\n class?: string;\n};\n\ntype MenuContextValue = {\n close: (restoreFocus?: boolean) => void;\n};\n\ntype DropdownContextValue = {\n disabled: () => boolean;\n menuId: string;\n open: () => boolean;\n registerTrigger: (element: HTMLButtonElement) => void;\n toggle: () => void;\n triggerKeyDown: JSX.EventHandlerUnion<HTMLButtonElement, KeyboardEvent>;\n};\n\nconst MenuContext = createContext<MenuContextValue>();\nconst DropdownContext = createContext<DropdownContextValue>();\n\nconst actionableItems = (menu: HTMLElement | undefined): HTMLElement[] =>\n menu\n ? Array.from(\n menu.querySelectorAll<HTMLElement>(\n [\n \"[role='menuitem']:not([aria-disabled='true'])\",\n \"[role='menuitemcheckbox']:not([aria-disabled='true'])\",\n \"[role='menuitemradio']:not([aria-disabled='true'])\",\n ].join(\", \"),\n ),\n )\n : [];\n\nconst focusMenuItem = (menu: HTMLElement | undefined, index: number): void => {\n const items = actionableItems(menu);\n if (items.length === 0) return;\n items[(index + items.length) % items.length]?.focus();\n};\n\nexport const dropdownPosition = (\n trigger: DOMRect,\n menu: Pick<DOMRect, \"width\" | \"height\">,\n position: DropdownPosition,\n viewport: { width: number; height: number },\n gap = 4,\n): { left: number; top: number } => {\n let left = trigger.left;\n let top = trigger.bottom + gap;\n\n if (position === \"bottom-left\" || position === \"top-left\") left = trigger.right - menu.width;\n if (position === \"top-right\" || position === \"top-left\") top = trigger.top - menu.height - gap;\n if (position === \"right-start\") {\n left = trigger.right + gap;\n top = trigger.top;\n }\n\n return {\n left: Math.max(8, Math.min(left, viewport.width - menu.width - 8)),\n top: Math.max(8, Math.min(top, viewport.height - menu.height - 8)),\n };\n};\n\nconst itemContent = (props: { description?: string; icon?: string; image?: string; children: JSX.Element }): JSX.Element => (\n <>\n <Show when={props.image} fallback={<Show when={props.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>}>\n {(image) => <img class=\"k2b-dropdown__image\" src={image()} alt=\"\" />}\n </Show>\n <span class=\"k2b-dropdown__copy\">\n <span>{props.children}</span>\n <Show when={props.description}>{(description) => <small>{description()}</small>}</Show>\n </span>\n </>\n);\n\nexport function DropdownItem(props: DropdownItemProps): JSX.Element {\n const menu = useContext(MenuContext);\n const danger = () => props.danger || props.variant === \"danger\";\n const content = itemContent(props);\n\n return (\n <Show\n when={!props.disabled ? props.href : undefined}\n fallback={\n <button\n type=\"button\"\n role=\"menuitem\"\n tabIndex={-1}\n class={`k2b-dropdown__item ${props.class ?? \"\"}`}\n data-danger={danger() ? \"true\" : undefined}\n disabled={props.disabled}\n aria-disabled={props.disabled ? \"true\" : undefined}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n menu?.close();\n props.onSelect?.();\n }}\n >\n {content}\n </button>\n }\n >\n {(href) => (\n <a\n href={href()}\n target={props.external ? \"_blank\" : undefined}\n rel={props.external ? \"noopener noreferrer\" : undefined}\n role=\"menuitem\"\n tabIndex={-1}\n class={`k2b-dropdown__item ${props.class ?? \"\"}`}\n data-danger={danger() ? \"true\" : undefined}\n onClick={() => {\n menu?.close(false);\n props.onSelect?.();\n }}\n >\n {content}\n </a>\n )}\n </Show>\n );\n}\n\nfunction DropdownChoiceItem(props: DropdownChoice): JSX.Element {\n const menu = useContext(MenuContext);\n const checked = () => (typeof props.checked === \"function\" ? props.checked() : props.checked);\n return (\n // biome-ignore lint/a11y/useAriaPropsSupportedByRole: the runtime role is always menuitemcheckbox or menuitemradio, both of which support aria-checked.\n <button\n type=\"button\"\n role={props.choice === \"checkbox\" ? \"menuitemcheckbox\" : \"menuitemradio\"}\n aria-checked={checked()}\n aria-disabled={props.disabled ? \"true\" : undefined}\n tabIndex={-1}\n class={`k2b-dropdown__item ${props.class ?? \"\"}`}\n data-selected={checked() ? \"true\" : undefined}\n disabled={props.disabled}\n onClick={(event) => {\n event.preventDefault();\n event.stopPropagation();\n if (props.closeOnSelect !== false) menu?.close();\n props.action();\n }}\n >\n <Show when={props.choice === \"checkbox\"}>\n <span class=\"k2b-dropdown__checkbox\" aria-hidden=\"true\">\n <Show when={checked()}>\n <i class=\"ti ti-check\" />\n </Show>\n </span>\n </Show>\n <Show when={props.image} fallback={<Show when={props.icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>}>\n {(image) => <img class=\"k2b-dropdown__image\" src={image()} alt=\"\" />}\n </Show>\n <Show when={props.color}>\n {(color) => <span class=\"k2b-dropdown__color\" style={{ \"--k2b-dropdown-color\": color() }} aria-hidden=\"true\" />}\n </Show>\n <span class=\"k2b-dropdown__copy\">\n <span>{props.label}</span>\n <Show when={props.description}>{(description) => <small>{description()}</small>}</Show>\n </span>\n <Show when={props.choice === \"radio\" && checked()}>\n <i class=\"ti ti-check k2b-dropdown__check\" aria-hidden=\"true\" />\n </Show>\n </button>\n );\n}\n\nexport function DropdownItems(props: { items: readonly DropdownItem[]; close: (restoreFocus?: boolean) => void }): JSX.Element {\n const messages = useUiMessages();\n const renderItem = (item: DropdownAction | DropdownChoice): JSX.Element =>\n \"choice\" in item ? (\n <DropdownChoiceItem {...item} />\n ) : (\n <DropdownItem\n icon={item.icon}\n image={item.image}\n description={item.description}\n variant={item.variant}\n disabled={item.disabled}\n class={item.class}\n href={\"href\" in item ? item.href : undefined}\n external={\"external\" in item ? item.external : undefined}\n onSelect={\"action\" in item ? item.action : undefined}\n >\n {item.label}\n </DropdownItem>\n );\n\n return (\n <MenuContext.Provider value={{ close: props.close }}>\n <For each={props.items}>\n {(item, index) => (\n <Show when={\"items\" in item} fallback={renderItem(item as DropdownAction | DropdownChoice)}>\n <div\n class=\"k2b-dropdown__section\"\n data-divided={index() > 0 ? \"true\" : undefined}\n role=\"group\"\n aria-label={(item as DropdownSection).sectionLabel ?? messages().actions}\n >\n <Show when={(item as DropdownSection).sectionLabel}>{(label) => <div class=\"k2b-dropdown__label\">{label()}</div>}</Show>\n <For each={(item as DropdownSection).items}>{renderItem}</For>\n </div>\n </Show>\n )}\n </For>\n </MenuContext.Provider>\n );\n}\n\nfunction DropdownTrigger(props: DropdownTriggerProps): JSX.Element {\n const context = useContext(DropdownContext);\n if (!context) throw new Error(\"Dropdown.Trigger must be used inside Dropdown.Root\");\n const [local, rest] = splitProps(props, [\n \"appearance\",\n \"children\",\n \"class\",\n \"disabled\",\n \"iconOnly\",\n \"label\",\n \"ref\",\n \"size\",\n \"tabIndex\",\n \"tooltip\",\n \"tooltipDelay\",\n \"tooltipPlacement\",\n \"type\",\n \"variant\",\n ]);\n let target: HTMLButtonElement | undefined;\n const disabled = () => Boolean(context.disabled() || local.disabled);\n const register = (element: HTMLButtonElement) => {\n target = element;\n context.registerTrigger(element);\n if (typeof local.ref === \"function\") local.ref(element);\n };\n const click: JSX.EventHandlerUnion<HTMLButtonElement, MouseEvent> = (event) => {\n event.stopPropagation();\n context.toggle();\n };\n\n if (local.appearance !== \"plain\") {\n return (\n <Button\n {...rest}\n ref={register}\n aria-controls={context.menuId}\n aria-expanded={context.open()}\n aria-haspopup=\"menu\"\n aria-label={local.label}\n disabled={disabled()}\n tabIndex={disabled() ? -1 : local.tabIndex}\n onClick={click}\n onKeyDown={context.triggerKeyDown}\n type={local.type ?? \"button\"}\n class={`${local.iconOnly ? \"k2b-icon-button\" : \"\"} k2b-dropdown__trigger ${local.class ?? \"\"}`}\n size={local.size}\n variant={local.variant ?? (local.iconOnly ? \"ghost\" : undefined)}\n tooltip={local.tooltip}\n tooltipDelay={local.tooltipDelay}\n tooltipPlacement={local.tooltipPlacement}\n >\n {local.children}\n </Button>\n );\n }\n\n return (\n <>\n <button\n {...rest}\n ref={register}\n aria-controls={context.menuId}\n aria-expanded={context.open()}\n aria-haspopup=\"menu\"\n aria-label={local.label}\n disabled={disabled()}\n tabIndex={disabled() ? -1 : local.tabIndex}\n onClick={click}\n onKeyDown={context.triggerKeyDown}\n type={local.type ?? \"button\"}\n class={`k2b-dropdown__trigger ${local.class ?? \"\"}`}\n >\n {local.children}\n </button>\n <Show when={local.tooltip !== false && local.tooltip !== undefined}>\n <Tooltip\n content={local.tooltip as JSX.Element}\n target={() => target}\n delay={local.tooltipDelay}\n disabled={disabled()}\n placement={local.tooltipPlacement}\n />\n </Show>\n </>\n );\n}\n\n/** Accessible top-layer menu with explicit trigger ownership. */\nfunction DropdownRoot(props: DropdownProps): JSX.Element {\n const messages = useUiMessages();\n const id = createUniqueId().replace(/[^a-zA-Z0-9_-]/g, \"-\");\n const menuId = `k2b-dropdown-${id}`;\n const [internalOpen, setInternalOpen] = createSignal(false);\n let triggerRef: HTMLButtonElement | undefined;\n let menuRef: HTMLDivElement | undefined;\n let mounted = false;\n let viewportListenersAttached = false;\n\n const isOpen = () => props.open ?? internalOpen();\n const position = (): DropdownPosition =>\n typeof props.position === \"function\" ? props.position() : (props.position ?? (props.align === \"end\" ? \"bottom-left\" : \"bottom-right\"));\n\n const place = () => {\n if (!triggerRef || !menuRef) return;\n const rect = dropdownPosition(triggerRef.getBoundingClientRect(), menuRef.getBoundingClientRect(), position(), {\n width: window.innerWidth,\n height: window.innerHeight,\n });\n menuRef.style.left = `${rect.left}px`;\n menuRef.style.top = `${rect.top}px`;\n };\n const reposition = () => {\n if (isOpen()) place();\n };\n const attachViewportListeners = () => {\n if (viewportListenersAttached) return;\n viewportListenersAttached = true;\n window.addEventListener(\"resize\", reposition);\n window.addEventListener(\"scroll\", reposition, true);\n };\n const detachViewportListeners = () => {\n if (!viewportListenersAttached) return;\n viewportListenersAttached = false;\n window.removeEventListener(\"resize\", reposition);\n window.removeEventListener(\"scroll\", reposition, true);\n };\n const close = (restoreFocus = true) => {\n if (menuRef?.matches(\":popover-open\")) menuRef.hidePopover();\n detachViewportListeners();\n if (restoreFocus) queueMicrotask(() => triggerRef?.focus());\n };\n const open = (focus: \"first\" | \"last\" | false = \"first\") => {\n if (props.disabled || !menuRef || menuRef.matches(\":popover-open\")) return;\n menuRef.showPopover();\n attachViewportListeners();\n place();\n queueMicrotask(() => {\n if (focus) focusMenuItem(menuRef, focus === \"first\" ? 0 : -1);\n });\n };\n const requestOpen = (next: boolean, focus: \"first\" | \"last\" | false = \"first\") => {\n if (props.disabled && next) return;\n if (props.open !== undefined) {\n props.onOpenChange?.(next);\n return;\n }\n if (next) open(focus);\n else close(false);\n };\n const handleMenuKeyDown = (event: KeyboardEvent) => {\n const items = actionableItems(menuRef);\n const current = items.indexOf(document.activeElement as HTMLElement);\n if (event.key === \"ArrowDown\" || event.key === \"ArrowUp\") {\n event.preventDefault();\n focusMenuItem(menuRef, current + (event.key === \"ArrowDown\" ? 1 : -1));\n } else if (event.key === \"Home\" || event.key === \"End\") {\n event.preventDefault();\n focusMenuItem(menuRef, event.key === \"Home\" ? 0 : -1);\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n requestOpen(false);\n queueMicrotask(() => triggerRef?.focus());\n } else if (event.key === \"Tab\") {\n requestOpen(false);\n }\n };\n\n const context: DropdownContextValue = {\n disabled: () => Boolean(props.disabled),\n menuId,\n open: isOpen,\n registerTrigger: (element) => {\n triggerRef = element;\n },\n toggle: () => requestOpen(!isOpen()),\n triggerKeyDown: (event) => {\n if (![\"Enter\", \" \", \"ArrowDown\", \"ArrowUp\"].includes(event.key)) return;\n event.preventDefault();\n event.stopPropagation();\n if (isOpen()) {\n focusMenuItem(menuRef, event.key === \"ArrowUp\" ? -1 : 0);\n return;\n }\n requestOpen(true, event.key === \"ArrowUp\" ? \"last\" : \"first\");\n },\n };\n\n createEffect(() => {\n const controlled = props.open;\n if (!mounted || controlled === undefined || !menuRef) return;\n if (controlled && !menuRef.matches(\":popover-open\")) open(false);\n if (!controlled && menuRef.matches(\":popover-open\")) close(false);\n });\n createEffect(() => {\n if (mounted && props.disabled) close(false);\n });\n onMount(() => {\n mounted = true;\n if (props.open) open(false);\n onCleanup(detachViewportListeners);\n });\n\n return (\n <DropdownContext.Provider value={context}>\n <span class={`k2b-dropdown ${props.class ?? \"\"}`}>\n {props.children}\n <div\n ref={menuRef}\n id={menuId}\n popover=\"auto\"\n role=\"menu\"\n aria-label={props.label ?? messages().dropdownMenu}\n class={`k2b-dropdown__menu ${props.menuClass ?? \"\"}`}\n style={props.width ? { \"--k2b-dropdown-width\": props.width } : undefined}\n data-variant={props.variant ?? \"default\"}\n data-position={position()}\n onKeyDown={handleMenuKeyDown}\n onToggle={(event) => {\n const nextOpen = (event as ToggleEvent).newState === \"open\";\n const wasOpen = internalOpen();\n setInternalOpen(nextOpen);\n if (nextOpen) attachViewportListeners();\n else detachViewportListeners();\n if (props.open === undefined || props.open !== nextOpen) props.onOpenChange?.(nextOpen);\n if (wasOpen && !nextOpen) props.onClose?.();\n if (!nextOpen && props.open === true) queueMicrotask(() => props.open === true && open(false));\n }}\n >\n <DropdownItems items={props.items} close={close} />\n </div>\n </span>\n </DropdownContext.Provider>\n );\n}\n\ntype DropdownComponent = ((props: DropdownProps) => JSX.Element) & {\n Root: (props: DropdownProps) => JSX.Element;\n Trigger: (props: DropdownTriggerProps) => JSX.Element;\n Item: (props: DropdownItemProps) => JSX.Element;\n};\n\nexport const Dropdown = DropdownRoot as DropdownComponent;\nDropdown.Root = DropdownRoot;\nDropdown.Trigger = DropdownTrigger;\nDropdown.Item = DropdownItem;\n\nexport default Dropdown;\n"],"mappings":"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","ignoreList":[]}
@@ -318,16 +318,18 @@ export function ChatMessage(props) {
318
318
  _$effect(_p$ => {
319
319
  var _v$11 = action.label,
320
320
  _v$12 = action.pressed,
321
- _v$13 = action.label,
322
- _v$14 = action.variant === "danger" ? "true" : undefined,
323
- _v$15 = action.disabled || Boolean(busyActionId()),
324
- _v$16 = actionIcon(action);
321
+ _v$13 = action.pressedTone,
322
+ _v$14 = action.label,
323
+ _v$15 = action.variant === "danger" ? "true" : undefined,
324
+ _v$16 = action.disabled || Boolean(busyActionId()),
325
+ _v$17 = actionIcon(action);
325
326
  _v$11 !== _p$.e && _$setAttribute(_el$36, "aria-label", _p$.e = _v$11);
326
327
  _v$12 !== _p$.t && _$setAttribute(_el$36, "aria-pressed", _p$.t = _v$12);
327
- _v$13 !== _p$.a && _$setAttribute(_el$36, "title", _p$.a = _v$13);
328
- _v$14 !== _p$.o && _$setAttribute(_el$36, "data-danger", _p$.o = _v$14);
329
- _v$15 !== _p$.i && _$setProperty(_el$36, "disabled", _p$.i = _v$15);
330
- _v$16 !== _p$.n && _$className(_el$37, _p$.n = _v$16);
328
+ _v$13 !== _p$.a && _$setAttribute(_el$36, "data-pressed-tone", _p$.a = _v$13);
329
+ _v$14 !== _p$.o && _$setAttribute(_el$36, "title", _p$.o = _v$14);
330
+ _v$15 !== _p$.i && _$setAttribute(_el$36, "data-danger", _p$.i = _v$15);
331
+ _v$16 !== _p$.n && _$setProperty(_el$36, "disabled", _p$.n = _v$16);
332
+ _v$17 !== _p$.s && _$className(_el$37, _p$.s = _v$17);
331
333
  return _p$;
332
334
  }, {
333
335
  e: undefined,
@@ -335,7 +337,8 @@ export function ChatMessage(props) {
335
337
  a: undefined,
336
338
  o: undefined,
337
339
  i: undefined,
338
- n: undefined
340
+ n: undefined,
341
+ s: undefined
339
342
  });
340
343
  _$runHydrationEvents();
341
344
  return _el$36;
@@ -469,20 +472,20 @@ export function ChatActivity(props) {
469
472
  _el$51 = _el$50.firstChild;
470
473
  _$insert(_el$51, _$createComponent(ActivityContent, props));
471
474
  _$effect(_p$ => {
472
- var _v$26 = `k2b-chat-activity ${props.class ?? ""}`,
473
- _v$27 = tone(),
474
- _v$28 = props.accent ? "true" : undefined,
475
- _v$29 = props.busy ? "true" : undefined,
476
- _v$30 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
477
- _v$31 = style(),
478
- _v$32 = props.busy ? "true" : undefined;
479
- _v$26 !== _p$.e && _$className(_el$50, _p$.e = _v$26);
480
- _v$27 !== _p$.t && _$setAttribute(_el$50, "data-tone", _p$.t = _v$27);
481
- _v$28 !== _p$.a && _$setAttribute(_el$50, "data-accent", _p$.a = _v$28);
482
- _v$29 !== _p$.o && _$setAttribute(_el$50, "data-busy", _p$.o = _v$29);
483
- _v$30 !== _p$.i && _$setAttribute(_el$50, "data-chat-anchor", _p$.i = _v$30);
484
- _p$.n = _$style(_el$50, _v$31, _p$.n);
485
- _v$32 !== _p$.s && _$setAttribute(_el$50, "aria-busy", _p$.s = _v$32);
475
+ var _v$27 = `k2b-chat-activity ${props.class ?? ""}`,
476
+ _v$28 = tone(),
477
+ _v$29 = props.accent ? "true" : undefined,
478
+ _v$30 = props.busy ? "true" : undefined,
479
+ _v$31 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
480
+ _v$32 = style(),
481
+ _v$33 = props.busy ? "true" : undefined;
482
+ _v$27 !== _p$.e && _$className(_el$50, _p$.e = _v$27);
483
+ _v$28 !== _p$.t && _$setAttribute(_el$50, "data-tone", _p$.t = _v$28);
484
+ _v$29 !== _p$.a && _$setAttribute(_el$50, "data-accent", _p$.a = _v$29);
485
+ _v$30 !== _p$.o && _$setAttribute(_el$50, "data-busy", _p$.o = _v$30);
486
+ _v$31 !== _p$.i && _$setAttribute(_el$50, "data-chat-anchor", _p$.i = _v$31);
487
+ _p$.n = _$style(_el$50, _v$32, _p$.n);
488
+ _v$33 !== _p$.s && _$setAttribute(_el$50, "aria-busy", _p$.s = _v$33);
486
489
  return _p$;
487
490
  }, {
488
491
  e: undefined,
@@ -506,24 +509,24 @@ export function ChatActivity(props) {
506
509
  })));
507
510
  _$insert(_el$49, () => props.children);
508
511
  _$effect(_p$ => {
509
- var _v$17 = `k2b-chat-activity ${props.class ?? ""}`,
510
- _v$18 = tone(),
511
- _v$19 = props.accent ? "true" : undefined,
512
- _v$20 = props.busy ? "true" : undefined,
513
- _v$21 = props.bodyInset === false ? "false" : undefined,
514
- _v$22 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
515
- _v$23 = style(),
516
- _v$24 = props.open ?? props.defaultOpen,
517
- _v$25 = props.busy ? "true" : undefined;
518
- _v$17 !== _p$.e && _$className(_el$47, _p$.e = _v$17);
519
- _v$18 !== _p$.t && _$setAttribute(_el$47, "data-tone", _p$.t = _v$18);
520
- _v$19 !== _p$.a && _$setAttribute(_el$47, "data-accent", _p$.a = _v$19);
521
- _v$20 !== _p$.o && _$setAttribute(_el$47, "data-busy", _p$.o = _v$20);
522
- _v$21 !== _p$.i && _$setAttribute(_el$47, "data-body-inset", _p$.i = _v$21);
523
- _v$22 !== _p$.n && _$setAttribute(_el$47, "data-chat-anchor", _p$.n = _v$22);
524
- _p$.s = _$style(_el$47, _v$23, _p$.s);
525
- _v$24 !== _p$.h && _$setProperty(_el$47, "open", _p$.h = _v$24);
526
- _v$25 !== _p$.r && _$setAttribute(_el$47, "aria-busy", _p$.r = _v$25);
512
+ var _v$18 = `k2b-chat-activity ${props.class ?? ""}`,
513
+ _v$19 = tone(),
514
+ _v$20 = props.accent ? "true" : undefined,
515
+ _v$21 = props.busy ? "true" : undefined,
516
+ _v$22 = props.bodyInset === false ? "false" : undefined,
517
+ _v$23 = props.anchorId !== undefined ? String(props.anchorId) : undefined,
518
+ _v$24 = style(),
519
+ _v$25 = props.open ?? props.defaultOpen,
520
+ _v$26 = props.busy ? "true" : undefined;
521
+ _v$18 !== _p$.e && _$className(_el$47, _p$.e = _v$18);
522
+ _v$19 !== _p$.t && _$setAttribute(_el$47, "data-tone", _p$.t = _v$19);
523
+ _v$20 !== _p$.a && _$setAttribute(_el$47, "data-accent", _p$.a = _v$20);
524
+ _v$21 !== _p$.o && _$setAttribute(_el$47, "data-busy", _p$.o = _v$21);
525
+ _v$22 !== _p$.i && _$setAttribute(_el$47, "data-body-inset", _p$.i = _v$22);
526
+ _v$23 !== _p$.n && _$setAttribute(_el$47, "data-chat-anchor", _p$.n = _v$23);
527
+ _p$.s = _$style(_el$47, _v$24, _p$.s);
528
+ _v$25 !== _p$.h && _$setProperty(_el$47, "open", _p$.h = _v$25);
529
+ _v$26 !== _p$.r && _$setAttribute(_el$47, "aria-busy", _p$.r = _v$26);
527
530
  return _p$;
528
531
  }, {
529
532
  e: undefined,
@@ -1 +1 @@
1
- {"version":3,"names":["createSignal","For","onCleanup","Show","Dropdown","Tooltip","useUiMessages","ProgressBar","executeChatAction","roleLabel","role","messages","assistant","user","tool","system","statusLabel","status","waiting","generating","failed","statusIcon","ChatProgressDots","_$getNextElement","_tmpl$","attachmentIcon","attachment","icon","kind","finiteNonNegative","value","Number","isFinite","Math","max","finiteUsageValue","normalizedUsage","usage","input","output","explicitTotal","total","reported","formatStableInteger","digits","String","round","replace","formatChatTokens","tokens","toFixed","dateTime","date","Date","getTime","toISOString","ChatMessage","props","busyActionId","setBusyActionId","completedActionId","setCompletedActionId","completedTimer","timestamp","createdAt","time","timeLabel","actions","actionDisplay","hasMeta","Boolean","length","runAction","action","disabled","id","clearTimeout","setTimeout","error","onActionError","actionIcon","menuItems","map","label","variant","_el$2","_tmpl$8","_el$3","firstChild","_el$5","_el$6","_co$","_$getNextMarker","nextSibling","_el$4","_el$20","_el$21","_co$6","_el$22","_el$23","_co$7","_el$24","_el$25","_co$8","_$insert","_$createComponent","when","attachments","children","_el$7","_tmpl$2","each","content","_$memo","previewUrl","fallback","_el$28","_tmpl$1","_$effect","_$className","_el$26","_tmpl$9","_p$","_v$6","_v$7","alt","name","e","_$setAttribute","t","undefined","_el$27","_tmpl$0","href","_el$29","_tmpl$10","_el$30","_tmpl$11","_v$8","_v$9","_v$0","openInNewTab","a","_el$8","_tmpl$3","_el$9","_el$0","_tmpl$7","_el$12","_el$13","_co$2","_el$14","_el$15","_co$3","_el$16","_el$17","_co$4","_el$18","_el$19","_co$5","_el$31","_tmpl$12","_el$32","_el$33","_el$34","_co$9","_v$1","_v$10","_el$1","_tmpl$4","_el$35","_tmpl$13","_el$10","_tmpl$5","_el$36","_tmpl$14","_el$37","$$click","_v$11","_v$12","pressed","_v$13","_v$14","_v$15","_v$16","o","i","_$setProperty","n","_$runHydrationEvents","messageActions","Root","position","width","items","Trigger","appearance","title","_tmpl$6","_v$","class","_v$2","_v$3","_v$4","anchorId","_v$5","ActivityContent","_el$38","_tmpl$15","leading","_el$45","_tmpl$19","_el$39","_tmpl$16","_el$40","_el$41","_el$42","_co$0","description","_el$46","_tmpl$20","trailing","_el$43","_tmpl$17","disclosure","_tmpl$18","ChatActivity","tone","style","accent","_el$50","_tmpl$22","_el$51","_v$26","_v$27","_v$28","_v$29","busy","_v$30","_v$31","_v$32","_$style","s","_el$47","_tmpl$21","_el$48","_el$49","addEventListener","event","onOpenChange","currentTarget","open","_$mergeProps","_v$17","_v$18","_v$19","_v$20","_v$21","bodyInset","_v$22","_v$23","_v$24","defaultOpen","_v$25","h","r","ChatContextUsage","formatNumber","formattedUsageValue","unknown","loopUsage","windowSize","contextWindow","percent","min","remaining","accessibleLabel","contextUsageUnavailableWithWindow","window","contextUsageUnavailable","tokensUsed","tokensUsedPercent","placement","_el$54","_tmpl$25","_el$55","_el$78","_el$79","_co$12","_el$56","_el$72","_el$73","_co$1","_el$57","_el$58","_el$59","_el$60","_el$61","_el$62","_el$74","_el$75","_co$10","_el$66","_el$67","_el$68","_el$76","_el$77","_co$11","lastRequestContext","size","contextWindowUsed","modelLabel","model","_el$80","_tmpl$24","_el$81","_el$82","_el$63","_el$64","_el$65","loopTotal","_c$2","notConfigured","_el$69","_el$70","_el$71","_c$3","type","data-warning","aria-label","_tmpl$23","_el$53","_c$","_$delegateEvents"],"sources":["chat/ChatPrimitives.tsx"],"sourcesContent":["import { createSignal, For, type JSX, onCleanup, Show } from \"solid-js\";\nimport { Dropdown, type DropdownItem } from \"../actions/Dropdown\";\nimport { Tooltip } from \"../feedback/Tooltip\";\nimport { type UiMessages, useUiMessages } from \"../intl/messages\";\nimport { ProgressBar } from \"../surfaces/ProgressBar\";\nimport { executeChatAction } from \"./chat-behavior\";\nimport type { ChatAction, ChatActivityTone, ChatAttachment, ChatContextUsageData, ChatMessageStatus, ChatRole } from \"./types\";\n\nexport type ChatMessageProps = {\n role: ChatRole;\n children?: JSX.Element;\n label?: string;\n createdAt?: string | Date;\n timeLabel?: string;\n status?: ChatMessageStatus;\n attachments?: readonly ChatAttachment[];\n actions?: readonly ChatAction[];\n actionDisplay?: \"auto\" | \"inline\" | \"menu\";\n anchorId?: string | number;\n onActionError?: (error: unknown) => void;\n class?: string;\n};\n\nexport type ChatActivityProps = {\n label: string;\n description?: string;\n icon?: string;\n /** Optional host-owned leading visual rendered instead of the icon. */\n leading?: JSX.Element;\n /** Optional identity accent for the leading visual. Semantic tones still take precedence. */\n accent?: string;\n tone?: ChatActivityTone;\n /** Marks the activity as running with the shared accent sweep. */\n busy?: boolean;\n trailing?: JSX.Element;\n /** Controlled disclosure state. Omit to keep native details behavior. */\n open?: boolean;\n /** Reports disclosure changes when `open` is controlled by the host. */\n onOpenChange?: (open: boolean) => void;\n defaultOpen?: boolean;\n /** Set to false when the body is a peer list that should align with the activity row. */\n bodyInset?: boolean;\n anchorId?: string | number;\n children?: JSX.Element;\n class?: string;\n};\n\nexport type ChatContextUsageProps = ChatContextUsageData & {\n /** Host-owned number formatting. The default is locale-independent and SSR-stable. */\n formatNumber?: (value: number) => string;\n class?: string;\n};\n\nconst roleLabel = (role: ChatRole, messages: UiMessages): string => {\n if (role === \"assistant\") return messages.assistant;\n if (role === \"user\") return messages.user;\n if (role === \"tool\") return messages.tool;\n return messages.system;\n};\n\nconst statusLabel = (status: ChatMessageStatus | undefined, messages: UiMessages): string | null => {\n if (status === \"pending\") return messages.waiting;\n if (status === \"streaming\") return messages.generating;\n if (status === \"error\") return messages.failed;\n return null;\n};\n\nconst statusIcon = (status: ChatMessageStatus | undefined): string => {\n if (status === \"pending\") return \"ti ti-clock\";\n return \"ti ti-alert-circle\";\n};\n\nconst ChatProgressDots = () => (\n <span class=\"k2b-chat-progress-dots\" aria-hidden=\"true\">\n <span />\n <span />\n <span />\n </span>\n);\n\nconst attachmentIcon = (attachment: ChatAttachment): string =>\n attachment.icon ?? (attachment.kind === \"image\" ? \"ti ti-photo\" : attachment.kind === \"resource\" ? \"ti ti-link\" : \"ti ti-file\");\n\nconst finiteNonNegative = (value: number | undefined): number =>\n typeof value === \"number\" && Number.isFinite(value) ? Math.max(0, value) : 0;\n\nconst finiteUsageValue = (value: number | undefined): number | null =>\n typeof value === \"number\" && Number.isFinite(value) && value >= 0 ? value : null;\n\nconst normalizedUsage = (usage: ChatContextUsageData[\"usage\"]) => {\n const input = finiteUsageValue(usage?.input);\n const output = finiteUsageValue(usage?.output);\n const explicitTotal = finiteUsageValue(usage?.total);\n const total = explicitTotal ?? (input !== null || output !== null ? (input ?? 0) + (output ?? 0) : null);\n return { input, output, total, reported: total !== null };\n};\n\nconst formatStableInteger = (value: number): string => {\n const digits = String(Math.round(finiteNonNegative(value)));\n return digits.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n};\n\nexport const formatChatTokens = (tokens: number): string => {\n const value = finiteNonNegative(tokens);\n if (value >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`;\n if (value >= 1_000) return `${(value / 1_000).toFixed(1)}k`;\n return String(Math.round(value));\n};\n\nconst dateTime = (value: string | Date | undefined): string | null => {\n if (!value) return null;\n const date = value instanceof Date ? value : new Date(value);\n return Number.isFinite(date.getTime()) ? date.toISOString() : null;\n};\n\nexport function ChatMessage(props: ChatMessageProps): JSX.Element {\n const messages = useUiMessages();\n const [busyActionId, setBusyActionId] = createSignal<string | null>(null);\n const [completedActionId, setCompletedActionId] = createSignal<string | null>(null);\n let completedTimer: ReturnType<typeof setTimeout> | undefined;\n const status = () => statusLabel(props.status, messages());\n const timestamp = () => dateTime(props.createdAt);\n // Locale and timezone are application policy. Requiring an explicit visible\n // label keeps SSR and hydration byte-stable while `createdAt` still supplies\n // the semantic machine-readable timestamp.\n const time = () => props.timeLabel ?? null;\n const actions = () => props.actions ?? [];\n const actionDisplay = () =>\n props.actionDisplay === \"auto\" || !props.actionDisplay ? (props.role === \"user\" ? \"menu\" : \"inline\") : props.actionDisplay;\n const hasMeta = () => props.status === \"streaming\" || status() !== null || Boolean(time()) || actions().length > 0;\n\n const runAction = async (action: ChatAction) => {\n if (action.disabled || busyActionId()) return;\n setBusyActionId(action.id);\n try {\n await executeChatAction(action);\n setCompletedActionId(action.id);\n if (completedTimer) clearTimeout(completedTimer);\n completedTimer = setTimeout(() => setCompletedActionId(null), 1400);\n } catch (error) {\n props.onActionError?.(error);\n } finally {\n setBusyActionId(null);\n }\n };\n\n const actionIcon = (action: ChatAction) =>\n busyActionId() === action.id\n ? \"ti ti-loader-2 k2b-spin\"\n : completedActionId() === action.id\n ? \"ti ti-check\"\n : (action.icon ?? \"ti ti-dots\");\n\n onCleanup(() => {\n if (completedTimer) clearTimeout(completedTimer);\n });\n\n const menuItems = (): readonly DropdownItem[] =>\n actions().map((action) => ({\n icon: actionIcon(action),\n label: action.label,\n variant: action.variant,\n disabled: action.disabled || Boolean(busyActionId()),\n action: () => void runAction(action),\n }));\n\n return (\n <article\n class={`k2b-chat-message ${props.class ?? \"\"}`}\n data-role={props.role}\n data-status={props.status ?? \"complete\"}\n data-chat-anchor={props.anchorId !== undefined ? String(props.anchorId) : undefined}\n aria-busy={props.status === \"pending\" || props.status === \"streaming\" ? \"true\" : undefined}\n >\n <span class=\"k2b-sr-only\">{props.label ?? roleLabel(props.role, messages())}: </span>\n <Show when={(props.attachments?.length ?? 0) > 0}>\n <div class=\"k2b-chat-message__attachments\" role=\"list\" aria-label={messages().attachments}>\n <For each={props.attachments}>\n {(attachment) => {\n const content = () => (\n <>\n <Show\n when={attachment.kind === \"image\" && attachment.previewUrl}\n fallback={<i class={attachmentIcon(attachment)} aria-hidden=\"true\" />}\n >\n <img src={attachment.previewUrl} alt={attachment.alt ?? attachment.name} />\n </Show>\n <Show when={attachment.kind !== \"image\"}>\n <span>{attachment.name}</span>\n </Show>\n </>\n );\n return (\n <Show\n when={attachment.href}\n fallback={\n <div class=\"k2b-chat-message__attachment\" role=\"listitem\" title={attachment.name}>\n {content()}\n </div>\n }\n >\n {(href) => (\n <a\n class=\"k2b-chat-message__attachment\"\n role=\"listitem\"\n title={attachment.name}\n href={href()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={messages().openInNewTab({ name: attachment.name })}\n >\n {content()}\n </a>\n )}\n </Show>\n );\n }}\n </For>\n </div>\n </Show>\n\n <Show when={props.children !== undefined && props.children !== null && props.children !== \"\"}>\n <div class=\"k2b-chat-message__bubble\">\n <div class=\"k2b-chat-message__content\">{props.children}</div>\n </div>\n </Show>\n\n <Show when={hasMeta()}>\n <footer class=\"k2b-chat-message__meta\">\n <Show\n when={props.status === \"streaming\"}\n fallback={\n <Show when={status()}>\n {(label) => (\n <span class=\"k2b-chat-message__status\" role={props.status === \"error\" ? \"alert\" : \"status\"}>\n <i class={statusIcon(props.status)} aria-hidden=\"true\" />\n {label()}\n </span>\n )}\n </Show>\n }\n >\n <span class=\"k2b-chat-message__status k2b-chat-message__status--streaming\" role=\"status\" aria-label={messages().generating}>\n <ChatProgressDots />\n </span>\n </Show>\n <Show when={time()}>{(label) => <time dateTime={timestamp() ?? undefined}>{label()}</time>}</Show>\n <Show when={actions().length > 0 && actionDisplay() === \"inline\"}>\n <span class=\"k2b-chat-message__actions\" role=\"group\" aria-label={messages().messageActions}>\n <For each={actions()}>\n {(action) => (\n <button\n type=\"button\"\n aria-label={action.label}\n aria-pressed={action.pressed}\n title={action.label}\n data-danger={action.variant === \"danger\" ? \"true\" : undefined}\n disabled={action.disabled || Boolean(busyActionId())}\n onClick={() => void runAction(action)}\n >\n <i class={actionIcon(action)} aria-hidden=\"true\" />\n </button>\n )}\n </For>\n </span>\n </Show>\n <Show when={actions().length > 0 && actionDisplay() === \"menu\"}>\n <Dropdown.Root position=\"bottom-left\" width=\"12rem\" label={messages().messageActions} items={menuItems()}>\n <Dropdown.Trigger\n appearance=\"plain\"\n class=\"k2b-chat-message__menu\"\n label={messages().messageActions}\n title={messages().messageActions}\n >\n <i class=\"ti ti-dots\" aria-hidden=\"true\" />\n </Dropdown.Trigger>\n </Dropdown.Root>\n </Show>\n </footer>\n </Show>\n </article>\n );\n}\n\nconst ActivityContent = (props: ChatActivityProps & { disclosure?: boolean }) => (\n <>\n <span class=\"k2b-chat-activity__leading\" aria-hidden=\"true\">\n <Show when={props.leading} fallback={<i class={props.icon ?? \"ti ti-sparkles\"} />}>\n {props.leading}\n </Show>\n </span>\n <span class=\"k2b-chat-activity__copy\">\n <strong>{props.label}</strong>\n <Show when={props.description}>{(description) => <small>{description()}</small>}</Show>\n </span>\n <Show when={props.trailing}>\n <span class=\"k2b-chat-activity__trailing\">{props.trailing}</span>\n </Show>\n <Show when={props.disclosure}>\n <i class=\"ti ti-chevron-right k2b-chat-activity__chevron\" aria-hidden=\"true\" />\n </Show>\n </>\n);\n\nexport function ChatActivity(props: ChatActivityProps): JSX.Element {\n const tone = () => props.tone ?? \"neutral\";\n const style = () => (props.accent ? { \"--k2b-chat-activity-accent\": props.accent } : undefined);\n return (\n <Show\n when={props.children}\n fallback={\n <div\n class={`k2b-chat-activity ${props.class ?? \"\"}`}\n data-tone={tone()}\n data-accent={props.accent ? \"true\" : undefined}\n data-busy={props.busy ? \"true\" : undefined}\n data-chat-anchor={props.anchorId !== undefined ? String(props.anchorId) : undefined}\n style={style()}\n aria-busy={props.busy ? \"true\" : undefined}\n >\n <div class=\"k2b-chat-activity__row\">\n <ActivityContent {...props} />\n </div>\n </div>\n }\n >\n <details\n class={`k2b-chat-activity ${props.class ?? \"\"}`}\n data-tone={tone()}\n data-accent={props.accent ? \"true\" : undefined}\n data-busy={props.busy ? \"true\" : undefined}\n data-body-inset={props.bodyInset === false ? \"false\" : undefined}\n data-chat-anchor={props.anchorId !== undefined ? String(props.anchorId) : undefined}\n style={style()}\n open={props.open ?? props.defaultOpen}\n onToggle={(event) => props.onOpenChange?.(event.currentTarget.open)}\n aria-busy={props.busy ? \"true\" : undefined}\n >\n <summary class=\"k2b-chat-activity__row\">\n <ActivityContent {...props} disclosure />\n </summary>\n <div class=\"k2b-chat-activity__body\">{props.children}</div>\n </details>\n </Show>\n );\n}\n\nexport function ChatContextUsage(props: ChatContextUsageProps): JSX.Element {\n const messages = useUiMessages();\n const formatNumber = (value: number) => (props.formatNumber ?? formatStableInteger)(value);\n const formattedUsageValue = (value: number | null): string => (value === null ? messages().unknown : formatNumber(value));\n const usage = () => normalizedUsage(props.usage);\n const loopUsage = () => normalizedUsage(props.loopUsage);\n const total = () => usage().total ?? 0;\n const windowSize = () => finiteNonNegative(props.contextWindow);\n const reported = () => usage().reported;\n const percent = () => (reported() && windowSize() > 0 ? Math.min(100, Math.round((total() / windowSize()) * 100)) : null);\n const remaining = () => (reported() && windowSize() > 0 ? Math.max(0, windowSize() - total()) : null);\n const accessibleLabel = () => {\n if (!reported()) {\n return windowSize() > 0\n ? messages().contextUsageUnavailableWithWindow({ window: formatNumber(windowSize()) })\n : messages().contextUsageUnavailable;\n }\n return percent() === null\n ? messages().tokensUsed({ total: formatNumber(total()) })\n : messages().tokensUsedPercent({ total: formatNumber(total()), percent: percent()! });\n };\n\n return (\n <Tooltip.Trigger\n placement=\"top\"\n content={\n <div class=\"k2b-chat-context__tooltip\">\n <strong>{messages().lastRequestContext}</strong>\n <Show when={percent() !== null}>\n <ProgressBar\n value={percent() ?? 0}\n size=\"xs\"\n tone={(percent() ?? 0) >= 85 ? \"danger\" : \"info\"}\n label={messages().contextWindowUsed}\n />\n </Show>\n <dl>\n <Show when={props.modelLabel}>\n {(model) => (\n <div>\n <dt>{messages().model}</dt>\n <dd>{model()}</dd>\n </div>\n )}\n </Show>\n <div>\n <dt>{messages().input}</dt>\n <dd>{formattedUsageValue(usage().input)}</dd>\n </div>\n <div>\n <dt>{messages().output}</dt>\n <dd>{formattedUsageValue(usage().output)}</dd>\n </div>\n <Show when={loopUsage().reported}>\n <div>\n <dt>{messages().loopTotal}</dt>\n <dd>{formattedUsageValue(loopUsage().total)}</dd>\n </div>\n </Show>\n <div>\n <dt>{messages().window}</dt>\n <dd>{windowSize() > 0 ? formatNumber(windowSize()) : messages().notConfigured}</dd>\n </div>\n <Show when={remaining() !== null}>\n <div>\n <dt>{messages().remaining}</dt>\n <dd>{remaining() === null ? messages().unknown : formatNumber(remaining()!)}</dd>\n </div>\n </Show>\n </dl>\n </div>\n }\n type=\"button\"\n class={`k2b-chat-context ${props.class ?? \"\"}`}\n data-warning={reported() && (percent() ?? 0) >= 85 ? \"true\" : undefined}\n aria-label={accessibleLabel()}\n >\n <i class=\"ti ti-brain\" aria-hidden=\"true\" />\n <span>{percent() === null ? \"–\" : `${percent()}%`}</span>\n </Tooltip.Trigger>\n );\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["createSignal","For","onCleanup","Show","Dropdown","Tooltip","useUiMessages","ProgressBar","executeChatAction","roleLabel","role","messages","assistant","user","tool","system","statusLabel","status","waiting","generating","failed","statusIcon","ChatProgressDots","_$getNextElement","_tmpl$","attachmentIcon","attachment","icon","kind","finiteNonNegative","value","Number","isFinite","Math","max","finiteUsageValue","normalizedUsage","usage","input","output","explicitTotal","total","reported","formatStableInteger","digits","String","round","replace","formatChatTokens","tokens","toFixed","dateTime","date","Date","getTime","toISOString","ChatMessage","props","busyActionId","setBusyActionId","completedActionId","setCompletedActionId","completedTimer","timestamp","createdAt","time","timeLabel","actions","actionDisplay","hasMeta","Boolean","length","runAction","action","disabled","id","clearTimeout","setTimeout","error","onActionError","actionIcon","menuItems","map","label","variant","_el$2","_tmpl$8","_el$3","firstChild","_el$5","_el$6","_co$","_$getNextMarker","nextSibling","_el$4","_el$20","_el$21","_co$6","_el$22","_el$23","_co$7","_el$24","_el$25","_co$8","_$insert","_$createComponent","when","attachments","children","_el$7","_tmpl$2","each","content","_$memo","previewUrl","fallback","_el$28","_tmpl$1","_$effect","_$className","_el$26","_tmpl$9","_p$","_v$6","_v$7","alt","name","e","_$setAttribute","t","undefined","_el$27","_tmpl$0","href","_el$29","_tmpl$10","_el$30","_tmpl$11","_v$8","_v$9","_v$0","openInNewTab","a","_el$8","_tmpl$3","_el$9","_el$0","_tmpl$7","_el$12","_el$13","_co$2","_el$14","_el$15","_co$3","_el$16","_el$17","_co$4","_el$18","_el$19","_co$5","_el$31","_tmpl$12","_el$32","_el$33","_el$34","_co$9","_v$1","_v$10","_el$1","_tmpl$4","_el$35","_tmpl$13","_el$10","_tmpl$5","_el$36","_tmpl$14","_el$37","$$click","_v$11","_v$12","pressed","_v$13","pressedTone","_v$14","_v$15","_v$16","_v$17","o","i","n","_$setProperty","s","_$runHydrationEvents","messageActions","Root","position","width","items","Trigger","appearance","title","_tmpl$6","_v$","class","_v$2","_v$3","_v$4","anchorId","_v$5","ActivityContent","_el$38","_tmpl$15","leading","_el$45","_tmpl$19","_el$39","_tmpl$16","_el$40","_el$41","_el$42","_co$0","description","_el$46","_tmpl$20","trailing","_el$43","_tmpl$17","disclosure","_tmpl$18","ChatActivity","tone","style","accent","_el$50","_tmpl$22","_el$51","_v$27","_v$28","_v$29","_v$30","busy","_v$31","_v$32","_v$33","_$style","_el$47","_tmpl$21","_el$48","_el$49","addEventListener","event","onOpenChange","currentTarget","open","_$mergeProps","_v$18","_v$19","_v$20","_v$21","_v$22","bodyInset","_v$23","_v$24","_v$25","defaultOpen","_v$26","h","r","ChatContextUsage","formatNumber","formattedUsageValue","unknown","loopUsage","windowSize","contextWindow","percent","min","remaining","accessibleLabel","contextUsageUnavailableWithWindow","window","contextUsageUnavailable","tokensUsed","tokensUsedPercent","placement","_el$54","_tmpl$25","_el$55","_el$78","_el$79","_co$12","_el$56","_el$72","_el$73","_co$1","_el$57","_el$58","_el$59","_el$60","_el$61","_el$62","_el$74","_el$75","_co$10","_el$66","_el$67","_el$68","_el$76","_el$77","_co$11","lastRequestContext","size","contextWindowUsed","modelLabel","model","_el$80","_tmpl$24","_el$81","_el$82","_el$63","_el$64","_el$65","loopTotal","_c$2","notConfigured","_el$69","_el$70","_el$71","_c$3","type","data-warning","aria-label","_tmpl$23","_el$53","_c$","_$delegateEvents"],"sources":["chat/ChatPrimitives.tsx"],"sourcesContent":["import { createSignal, For, type JSX, onCleanup, Show } from \"solid-js\";\nimport { Dropdown, type DropdownItem } from \"../actions/Dropdown\";\nimport { Tooltip } from \"../feedback/Tooltip\";\nimport { type UiMessages, useUiMessages } from \"../intl/messages\";\nimport { ProgressBar } from \"../surfaces/ProgressBar\";\nimport { executeChatAction } from \"./chat-behavior\";\nimport type { ChatAction, ChatActivityTone, ChatAttachment, ChatContextUsageData, ChatMessageStatus, ChatRole } from \"./types\";\n\nexport type ChatMessageProps = {\n role: ChatRole;\n children?: JSX.Element;\n label?: string;\n createdAt?: string | Date;\n timeLabel?: string;\n status?: ChatMessageStatus;\n attachments?: readonly ChatAttachment[];\n actions?: readonly ChatAction[];\n actionDisplay?: \"auto\" | \"inline\" | \"menu\";\n anchorId?: string | number;\n onActionError?: (error: unknown) => void;\n class?: string;\n};\n\nexport type ChatActivityProps = {\n label: string;\n description?: string;\n icon?: string;\n /** Optional host-owned leading visual rendered instead of the icon. */\n leading?: JSX.Element;\n /** Optional identity accent for the leading visual. Semantic tones still take precedence. */\n accent?: string;\n tone?: ChatActivityTone;\n /** Marks the activity as running with the shared accent sweep. */\n busy?: boolean;\n trailing?: JSX.Element;\n /** Controlled disclosure state. Omit to keep native details behavior. */\n open?: boolean;\n /** Reports disclosure changes when `open` is controlled by the host. */\n onOpenChange?: (open: boolean) => void;\n defaultOpen?: boolean;\n /** Set to false when the body is a peer list that should align with the activity row. */\n bodyInset?: boolean;\n anchorId?: string | number;\n children?: JSX.Element;\n class?: string;\n};\n\nexport type ChatContextUsageProps = ChatContextUsageData & {\n /** Host-owned number formatting. The default is locale-independent and SSR-stable. */\n formatNumber?: (value: number) => string;\n class?: string;\n};\n\nconst roleLabel = (role: ChatRole, messages: UiMessages): string => {\n if (role === \"assistant\") return messages.assistant;\n if (role === \"user\") return messages.user;\n if (role === \"tool\") return messages.tool;\n return messages.system;\n};\n\nconst statusLabel = (status: ChatMessageStatus | undefined, messages: UiMessages): string | null => {\n if (status === \"pending\") return messages.waiting;\n if (status === \"streaming\") return messages.generating;\n if (status === \"error\") return messages.failed;\n return null;\n};\n\nconst statusIcon = (status: ChatMessageStatus | undefined): string => {\n if (status === \"pending\") return \"ti ti-clock\";\n return \"ti ti-alert-circle\";\n};\n\nconst ChatProgressDots = () => (\n <span class=\"k2b-chat-progress-dots\" aria-hidden=\"true\">\n <span />\n <span />\n <span />\n </span>\n);\n\nconst attachmentIcon = (attachment: ChatAttachment): string =>\n attachment.icon ?? (attachment.kind === \"image\" ? \"ti ti-photo\" : attachment.kind === \"resource\" ? \"ti ti-link\" : \"ti ti-file\");\n\nconst finiteNonNegative = (value: number | undefined): number =>\n typeof value === \"number\" && Number.isFinite(value) ? Math.max(0, value) : 0;\n\nconst finiteUsageValue = (value: number | undefined): number | null =>\n typeof value === \"number\" && Number.isFinite(value) && value >= 0 ? value : null;\n\nconst normalizedUsage = (usage: ChatContextUsageData[\"usage\"]) => {\n const input = finiteUsageValue(usage?.input);\n const output = finiteUsageValue(usage?.output);\n const explicitTotal = finiteUsageValue(usage?.total);\n const total = explicitTotal ?? (input !== null || output !== null ? (input ?? 0) + (output ?? 0) : null);\n return { input, output, total, reported: total !== null };\n};\n\nconst formatStableInteger = (value: number): string => {\n const digits = String(Math.round(finiteNonNegative(value)));\n return digits.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\");\n};\n\nexport const formatChatTokens = (tokens: number): string => {\n const value = finiteNonNegative(tokens);\n if (value >= 1_000_000) return `${(value / 1_000_000).toFixed(1)}M`;\n if (value >= 1_000) return `${(value / 1_000).toFixed(1)}k`;\n return String(Math.round(value));\n};\n\nconst dateTime = (value: string | Date | undefined): string | null => {\n if (!value) return null;\n const date = value instanceof Date ? value : new Date(value);\n return Number.isFinite(date.getTime()) ? date.toISOString() : null;\n};\n\nexport function ChatMessage(props: ChatMessageProps): JSX.Element {\n const messages = useUiMessages();\n const [busyActionId, setBusyActionId] = createSignal<string | null>(null);\n const [completedActionId, setCompletedActionId] = createSignal<string | null>(null);\n let completedTimer: ReturnType<typeof setTimeout> | undefined;\n const status = () => statusLabel(props.status, messages());\n const timestamp = () => dateTime(props.createdAt);\n // Locale and timezone are application policy. Requiring an explicit visible\n // label keeps SSR and hydration byte-stable while `createdAt` still supplies\n // the semantic machine-readable timestamp.\n const time = () => props.timeLabel ?? null;\n const actions = () => props.actions ?? [];\n const actionDisplay = () =>\n props.actionDisplay === \"auto\" || !props.actionDisplay ? (props.role === \"user\" ? \"menu\" : \"inline\") : props.actionDisplay;\n const hasMeta = () => props.status === \"streaming\" || status() !== null || Boolean(time()) || actions().length > 0;\n\n const runAction = async (action: ChatAction) => {\n if (action.disabled || busyActionId()) return;\n setBusyActionId(action.id);\n try {\n await executeChatAction(action);\n setCompletedActionId(action.id);\n if (completedTimer) clearTimeout(completedTimer);\n completedTimer = setTimeout(() => setCompletedActionId(null), 1400);\n } catch (error) {\n props.onActionError?.(error);\n } finally {\n setBusyActionId(null);\n }\n };\n\n const actionIcon = (action: ChatAction) =>\n busyActionId() === action.id\n ? \"ti ti-loader-2 k2b-spin\"\n : completedActionId() === action.id\n ? \"ti ti-check\"\n : (action.icon ?? \"ti ti-dots\");\n\n onCleanup(() => {\n if (completedTimer) clearTimeout(completedTimer);\n });\n\n const menuItems = (): readonly DropdownItem[] =>\n actions().map((action) => ({\n icon: actionIcon(action),\n label: action.label,\n variant: action.variant,\n disabled: action.disabled || Boolean(busyActionId()),\n action: () => void runAction(action),\n }));\n\n return (\n <article\n class={`k2b-chat-message ${props.class ?? \"\"}`}\n data-role={props.role}\n data-status={props.status ?? \"complete\"}\n data-chat-anchor={props.anchorId !== undefined ? String(props.anchorId) : undefined}\n aria-busy={props.status === \"pending\" || props.status === \"streaming\" ? \"true\" : undefined}\n >\n <span class=\"k2b-sr-only\">{props.label ?? roleLabel(props.role, messages())}: </span>\n <Show when={(props.attachments?.length ?? 0) > 0}>\n <div class=\"k2b-chat-message__attachments\" role=\"list\" aria-label={messages().attachments}>\n <For each={props.attachments}>\n {(attachment) => {\n const content = () => (\n <>\n <Show\n when={attachment.kind === \"image\" && attachment.previewUrl}\n fallback={<i class={attachmentIcon(attachment)} aria-hidden=\"true\" />}\n >\n <img src={attachment.previewUrl} alt={attachment.alt ?? attachment.name} />\n </Show>\n <Show when={attachment.kind !== \"image\"}>\n <span>{attachment.name}</span>\n </Show>\n </>\n );\n return (\n <Show\n when={attachment.href}\n fallback={\n <div class=\"k2b-chat-message__attachment\" role=\"listitem\" title={attachment.name}>\n {content()}\n </div>\n }\n >\n {(href) => (\n <a\n class=\"k2b-chat-message__attachment\"\n role=\"listitem\"\n title={attachment.name}\n href={href()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={messages().openInNewTab({ name: attachment.name })}\n >\n {content()}\n </a>\n )}\n </Show>\n );\n }}\n </For>\n </div>\n </Show>\n\n <Show when={props.children !== undefined && props.children !== null && props.children !== \"\"}>\n <div class=\"k2b-chat-message__bubble\">\n <div class=\"k2b-chat-message__content\">{props.children}</div>\n </div>\n </Show>\n\n <Show when={hasMeta()}>\n <footer class=\"k2b-chat-message__meta\">\n <Show\n when={props.status === \"streaming\"}\n fallback={\n <Show when={status()}>\n {(label) => (\n <span class=\"k2b-chat-message__status\" role={props.status === \"error\" ? \"alert\" : \"status\"}>\n <i class={statusIcon(props.status)} aria-hidden=\"true\" />\n {label()}\n </span>\n )}\n </Show>\n }\n >\n <span class=\"k2b-chat-message__status k2b-chat-message__status--streaming\" role=\"status\" aria-label={messages().generating}>\n <ChatProgressDots />\n </span>\n </Show>\n <Show when={time()}>{(label) => <time dateTime={timestamp() ?? undefined}>{label()}</time>}</Show>\n <Show when={actions().length > 0 && actionDisplay() === \"inline\"}>\n <span class=\"k2b-chat-message__actions\" role=\"group\" aria-label={messages().messageActions}>\n <For each={actions()}>\n {(action) => (\n <button\n type=\"button\"\n aria-label={action.label}\n aria-pressed={action.pressed}\n data-pressed-tone={action.pressedTone}\n title={action.label}\n data-danger={action.variant === \"danger\" ? \"true\" : undefined}\n disabled={action.disabled || Boolean(busyActionId())}\n onClick={() => void runAction(action)}\n >\n <i class={actionIcon(action)} aria-hidden=\"true\" />\n </button>\n )}\n </For>\n </span>\n </Show>\n <Show when={actions().length > 0 && actionDisplay() === \"menu\"}>\n <Dropdown.Root position=\"bottom-left\" width=\"12rem\" label={messages().messageActions} items={menuItems()}>\n <Dropdown.Trigger\n appearance=\"plain\"\n class=\"k2b-chat-message__menu\"\n label={messages().messageActions}\n title={messages().messageActions}\n >\n <i class=\"ti ti-dots\" aria-hidden=\"true\" />\n </Dropdown.Trigger>\n </Dropdown.Root>\n </Show>\n </footer>\n </Show>\n </article>\n );\n}\n\nconst ActivityContent = (props: ChatActivityProps & { disclosure?: boolean }) => (\n <>\n <span class=\"k2b-chat-activity__leading\" aria-hidden=\"true\">\n <Show when={props.leading} fallback={<i class={props.icon ?? \"ti ti-sparkles\"} />}>\n {props.leading}\n </Show>\n </span>\n <span class=\"k2b-chat-activity__copy\">\n <strong>{props.label}</strong>\n <Show when={props.description}>{(description) => <small>{description()}</small>}</Show>\n </span>\n <Show when={props.trailing}>\n <span class=\"k2b-chat-activity__trailing\">{props.trailing}</span>\n </Show>\n <Show when={props.disclosure}>\n <i class=\"ti ti-chevron-right k2b-chat-activity__chevron\" aria-hidden=\"true\" />\n </Show>\n </>\n);\n\nexport function ChatActivity(props: ChatActivityProps): JSX.Element {\n const tone = () => props.tone ?? \"neutral\";\n const style = () => (props.accent ? { \"--k2b-chat-activity-accent\": props.accent } : undefined);\n return (\n <Show\n when={props.children}\n fallback={\n <div\n class={`k2b-chat-activity ${props.class ?? \"\"}`}\n data-tone={tone()}\n data-accent={props.accent ? \"true\" : undefined}\n data-busy={props.busy ? \"true\" : undefined}\n data-chat-anchor={props.anchorId !== undefined ? String(props.anchorId) : undefined}\n style={style()}\n aria-busy={props.busy ? \"true\" : undefined}\n >\n <div class=\"k2b-chat-activity__row\">\n <ActivityContent {...props} />\n </div>\n </div>\n }\n >\n <details\n class={`k2b-chat-activity ${props.class ?? \"\"}`}\n data-tone={tone()}\n data-accent={props.accent ? \"true\" : undefined}\n data-busy={props.busy ? \"true\" : undefined}\n data-body-inset={props.bodyInset === false ? \"false\" : undefined}\n data-chat-anchor={props.anchorId !== undefined ? String(props.anchorId) : undefined}\n style={style()}\n open={props.open ?? props.defaultOpen}\n onToggle={(event) => props.onOpenChange?.(event.currentTarget.open)}\n aria-busy={props.busy ? \"true\" : undefined}\n >\n <summary class=\"k2b-chat-activity__row\">\n <ActivityContent {...props} disclosure />\n </summary>\n <div class=\"k2b-chat-activity__body\">{props.children}</div>\n </details>\n </Show>\n );\n}\n\nexport function ChatContextUsage(props: ChatContextUsageProps): JSX.Element {\n const messages = useUiMessages();\n const formatNumber = (value: number) => (props.formatNumber ?? formatStableInteger)(value);\n const formattedUsageValue = (value: number | null): string => (value === null ? messages().unknown : formatNumber(value));\n const usage = () => normalizedUsage(props.usage);\n const loopUsage = () => normalizedUsage(props.loopUsage);\n const total = () => usage().total ?? 0;\n const windowSize = () => finiteNonNegative(props.contextWindow);\n const reported = () => usage().reported;\n const percent = () => (reported() && windowSize() > 0 ? Math.min(100, Math.round((total() / windowSize()) * 100)) : null);\n const remaining = () => (reported() && windowSize() > 0 ? Math.max(0, windowSize() - total()) : null);\n const accessibleLabel = () => {\n if (!reported()) {\n return windowSize() > 0\n ? messages().contextUsageUnavailableWithWindow({ window: formatNumber(windowSize()) })\n : messages().contextUsageUnavailable;\n }\n return percent() === null\n ? messages().tokensUsed({ total: formatNumber(total()) })\n : messages().tokensUsedPercent({ total: formatNumber(total()), percent: percent()! });\n };\n\n return (\n <Tooltip.Trigger\n placement=\"top\"\n content={\n <div class=\"k2b-chat-context__tooltip\">\n <strong>{messages().lastRequestContext}</strong>\n <Show when={percent() !== null}>\n <ProgressBar\n value={percent() ?? 0}\n size=\"xs\"\n tone={(percent() ?? 0) >= 85 ? \"danger\" : \"info\"}\n label={messages().contextWindowUsed}\n />\n </Show>\n <dl>\n <Show when={props.modelLabel}>\n {(model) => (\n <div>\n <dt>{messages().model}</dt>\n <dd>{model()}</dd>\n </div>\n )}\n </Show>\n <div>\n <dt>{messages().input}</dt>\n <dd>{formattedUsageValue(usage().input)}</dd>\n </div>\n <div>\n <dt>{messages().output}</dt>\n <dd>{formattedUsageValue(usage().output)}</dd>\n </div>\n <Show when={loopUsage().reported}>\n <div>\n <dt>{messages().loopTotal}</dt>\n <dd>{formattedUsageValue(loopUsage().total)}</dd>\n </div>\n </Show>\n <div>\n <dt>{messages().window}</dt>\n <dd>{windowSize() > 0 ? formatNumber(windowSize()) : messages().notConfigured}</dd>\n </div>\n <Show when={remaining() !== null}>\n <div>\n <dt>{messages().remaining}</dt>\n <dd>{remaining() === null ? messages().unknown : formatNumber(remaining()!)}</dd>\n </div>\n </Show>\n </dl>\n </div>\n }\n type=\"button\"\n class={`k2b-chat-context ${props.class ?? \"\"}`}\n data-warning={reported() && (percent() ?? 0) >= 85 ? \"true\" : undefined}\n aria-label={accessibleLabel()}\n >\n <i class=\"ti ti-brain\" aria-hidden=\"true\" />\n <span>{percent() === null ? \"–\" : `${percent()}%`}</span>\n </Tooltip.Trigger>\n );\n}\n"],"mappings":"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","ignoreList":[]}