@kitn.ai/ui 0.26.0 → 0.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -5
- package/bin/mcp.js +16 -3
- package/bin/route.js +23 -0
- package/bin/route.test.js +58 -0
- package/dist/{elements/chunks/Icon--Y8vsFal.js → Icon-BnFKqqtY.js} +1 -1
- package/dist/action-icons-CBskfBMz.js +1 -0
- package/dist/arrow-down-Br0qtpsz.js +1 -0
- package/dist/arrow-left-Dj7xgE12.js +1 -0
- package/dist/artifact-CvXEm1lS.js +1 -0
- package/dist/assets/dev-5XzXYR21.js +91 -0
- package/dist/attachments-C43ZegEq.js +1 -0
- package/dist/{elements/chunks/audio-visualizer-D7lB6mvR.js → audio-visualizer-B-79y1Tj.js} +1 -1
- package/dist/badge-BpUbq8c0.js +1 -0
- package/dist/bash-InADTalH.js +1 -6
- package/dist/bell-sn17Ip9v.js +1 -0
- package/dist/{elements/chunks/button-flUbeufF.js → button-BH6rN0U-.js} +1 -1
- package/dist/card-renderer-Cb1gQmth.js +1 -0
- package/dist/card-routing-DifQgS7n.js +1 -0
- package/dist/check-DPeeMUYx.js +1 -0
- package/dist/checkbox-Dc9Yov_B.js +1 -0
- package/dist/checkbox-group-B1kDLLYk.js +1 -0
- package/dist/chevron-down-CHSWk7ZT.js +1 -0
- package/dist/chevron-right-B7l_fMgx.js +1 -0
- package/dist/choice-card-BT3c1S8g.js +1 -0
- package/dist/circle-Bb0yOpqM.js +1 -0
- package/dist/circle-check-BGZpCiz7.js +1 -0
- package/dist/circle-x-wobWkoSx.js +1 -0
- package/dist/{elements/chunks/cn-CU7UAWzk.js → cn-DN5AWfiS.js} +1 -1
- package/dist/{elements/chunks/code-block-BdLiTitd.js → code-block-CUQ5mtv0.js} +1 -1
- package/dist/{elements/chunks/collapsible-BzbXpPzr.js → collapsible-CPJbf6FM.js} +1 -1
- package/dist/components/attachment-types.d.ts +7 -0
- package/dist/components/audio-visualizer/fit-scale.d.ts +1 -1
- package/dist/components/card-renderer.d.ts +13 -0
- package/dist/components/card.d.ts +4 -0
- package/dist/components/chat-thread.d.ts +46 -1
- package/dist/components/conversation-item.d.ts +19 -7
- package/dist/components/conversation-list.d.ts +17 -5
- package/dist/components/form-widgets.d.ts +67 -2
- package/dist/components/form.d.ts +48 -1
- package/dist/components/message.d.ts +25 -3
- package/dist/components/reasoning.d.ts +6 -0
- package/dist/components/scroll-button.d.ts +11 -0
- package/dist/components/thread.d.ts +5 -0
- package/dist/components/tool-types.d.ts +9 -0
- package/dist/composer-CjngLzal.js +106 -0
- package/dist/confirm-card-DCx_A4bU.js +1 -0
- package/dist/construct-cli.es.js +1169 -0
- package/dist/{elements/chunks/context-VLIL3sJ-.js → context-BY8V-Nlp.js} +1 -1
- package/dist/controllable-D43BKmtX.js +1 -0
- package/dist/conversation-list-D4lLU_yS.js +1 -0
- package/dist/copy-B6DO4PqB.js +1 -0
- package/dist/core-AYMC6_lb.js +12 -5874
- package/dist/{create-tween-CQED4T0g.js → create-tween-BPzaefTp.js} +1 -1
- package/dist/{create-tween-BFT6c-Y8.js → create-tween-CnMHviKB.js} +1 -1
- package/dist/{create-tween-CJNlzoaO.js → create-tween-D1aiGZZh.js} +1 -1
- package/dist/{elements/chunks/create-tween-c4Z8TDYz.js → create-tween-DUSQUKpr.js} +2 -2
- package/dist/css-M7EaDHN_.js +1 -6
- package/dist/custom-elements.json +1400 -218
- package/dist/default-input-CucQEOqH.js +1 -0
- package/dist/define-CGGX-7Vg.js +1 -0
- package/dist/define.d.ts +4 -0
- package/dist/define.js +510 -0
- package/dist/define.server.d.ts +5 -0
- package/dist/define.server.js +506 -0
- package/dist/{elements/chunks/disclosure-CcNbyLy0.js → disclosure-CbLtajUQ.js} +1 -1
- package/dist/{elements/chunks/dropdown-BgWTthUx.js → dropdown-BwhViJFd.js} +1 -1
- package/dist/elements/agent-card.js +1 -1
- package/dist/elements/artifact.js +1 -1
- package/dist/elements/attachments.js +1 -1
- package/dist/elements/audio-visualizer.js +1 -1
- package/dist/elements/autoloader.js +1 -1
- package/dist/elements/avatar.js +1 -1
- package/dist/elements/badge.js +1 -1
- package/dist/elements/button.js +1 -1
- package/dist/elements/card.js +1 -1
- package/dist/elements/cards.js +1 -1
- package/dist/elements/chain-of-thought.js +1 -1
- package/dist/elements/chat-scope-picker.js +1 -1
- package/dist/elements/chat-workspace.js +1 -1
- package/dist/elements/chat.js +1 -1
- package/dist/elements/checkbox-group.d.ts +1 -0
- package/dist/elements/checkbox-group.js +1 -0
- package/dist/elements/checkbox.d.ts +1 -0
- package/dist/elements/checkbox.js +1 -0
- package/dist/elements/checkpoint.js +1 -1
- package/dist/elements/choice.js +1 -1
- package/dist/elements/coachmark.js +1 -1
- package/dist/elements/code-block.js +1 -1
- package/dist/elements/command.js +1 -1
- package/dist/elements/compare.js +1 -1
- package/dist/elements/composer.js +1 -1
- package/dist/elements/confirm-card.js +1 -1
- package/dist/elements/context-meter.js +1 -1
- package/dist/elements/conversation-item.js +1 -1
- package/dist/elements/conversation-list.js +1 -1
- package/dist/elements/define-entry.d.ts +12 -0
- package/dist/elements/dialog.js +1 -1
- package/dist/elements/dock.js +101 -7
- package/dist/elements/dropdown.js +1 -1
- package/dist/elements/editable-label.js +1 -1
- package/dist/elements/element-data-types.d.ts +37 -0
- package/dist/elements/embed.js +1 -1
- package/dist/elements/empty.js +1 -1
- package/dist/elements/feedback-bar.js +1 -1
- package/dist/elements/file-tree.js +1 -1
- package/dist/elements/file-upload.js +1 -1
- package/dist/elements/form.js +1 -1
- package/dist/elements/hover-card.js +1 -1
- package/dist/elements/icon.js +1 -1
- package/dist/elements/image.js +1 -1
- package/dist/elements/input.js +1 -1
- package/dist/elements/kbd.js +1 -1
- package/dist/elements/link-preview.js +1 -1
- package/dist/elements/loader.js +1 -1
- package/dist/elements/markdown.js +1 -1
- package/dist/elements/menu.js +1 -1
- package/dist/elements/message-skills.js +1 -1
- package/dist/elements/message.js +1 -1
- package/dist/elements/model-switcher.js +1 -1
- package/dist/elements/nav.js +1 -1
- package/dist/elements/notice.js +1 -1
- package/dist/elements/pane-grid.d.ts +1 -0
- package/dist/elements/pane-grid.js +1 -0
- package/dist/elements/pane-group.js +1 -1
- package/dist/elements/pane.js +1 -1
- package/dist/elements/popover.js +1 -1
- package/dist/elements/progress-bar.js +1 -1
- package/dist/elements/prompt-dock.js +1 -1
- package/dist/elements/prompt-input.js +1 -1
- package/dist/elements/prompt-suggestions.js +1 -1
- package/dist/elements/radio-group.d.ts +1 -0
- package/dist/elements/radio-group.js +1 -0
- package/dist/elements/reasoning.js +1 -1
- package/dist/elements/remote.js +1 -1
- package/dist/elements/resizable.js +1 -1
- package/dist/elements/response-stream.js +2 -2
- package/dist/elements/screen.js +1 -1
- package/dist/elements/scroll-area.js +1 -1
- package/dist/elements/scroll-button.js +1 -1
- package/dist/elements/search.js +1 -1
- package/dist/elements/segmented.js +1 -1
- package/dist/elements/select.d.ts +1 -0
- package/dist/elements/select.js +1 -0
- package/dist/elements/separator.js +1 -1
- package/dist/elements/setting-item.js +1 -1
- package/dist/elements/settings-group.js +1 -1
- package/dist/elements/skeleton.js +1 -1
- package/dist/elements/slider.d.ts +1 -0
- package/dist/elements/slider.js +1 -0
- package/dist/elements/slots.d.ts +1 -1
- package/dist/elements/source.js +1 -1
- package/dist/elements/status.js +1 -1
- package/dist/elements/switch.js +1 -1
- package/dist/elements/tabs.js +1 -1
- package/dist/elements/tasks.js +1 -1
- package/dist/elements/text-shimmer.js +1 -1
- package/dist/elements/thinking-bar.js +1 -1
- package/dist/elements/thread.js +1 -1
- package/dist/elements/toast.js +1 -1
- package/dist/elements/tool.js +1 -1
- package/dist/elements/tooltip.js +1 -1
- package/dist/elements/voice-input.js +1 -1
- package/dist/elements/voice-output.js +1 -1
- package/dist/elements.d.ts +362 -24
- package/dist/{elements/chunks/ellipsis-7gU33mL2.js → ellipsis-DFr4Vqr3.js} +1 -1
- package/dist/embed-5s_vU4J0.js +1 -0
- package/dist/engine-javascript-vq0WuIJl.js +14 -2516
- package/dist/{elements/chunks/external-link-CSOEsNlx.js → external-link-u9d85ORQ.js} +1 -1
- package/dist/file-text-CX7_x42o.js +1 -0
- package/dist/{elements/chunks/file-tree-zvB2i7P9.js → file-tree-D3kBjXI5.js} +1 -1
- package/dist/folder-V-YdIL8f.js +1 -0
- package/dist/form-BRNUMCN2.js +1 -0
- package/dist/github-dark-dimmed-DUshB20C.js +1 -4
- package/dist/github-light-JYsPkUQd.js +1 -4
- package/dist/hover-card-DaeiYrTA.js +1 -0
- package/dist/html-CPZ3oZQ7.js +1 -10
- package/dist/icon-BpixdZNq.js +1 -0
- package/dist/{elements/chunks/index-BCRhi84a.js → index-xu_pdcPi.js} +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +7330 -5852
- package/dist/index.server.js +5823 -4759
- package/dist/info-8mFsIjS3.js +1 -0
- package/dist/input-d1Yuu-hz.js +1 -0
- package/dist/javascript-C25yR2R2.js +1 -6
- package/dist/json-DxJze_jm.js +1 -6
- package/dist/kai.es.js +1 -1
- package/dist/kbd-961zMPFB.js +1 -0
- package/dist/link-DlZZBGaR.js +1 -0
- package/dist/{elements/chunks/link-preview-OQ9IEq0f.js → link-preview-DIIbV2Sd.js} +1 -1
- package/dist/loader-YQszHFaW.js +1 -0
- package/dist/{elements/chunks/markdown-DgBFaGAz.js → markdown-CVk1MPsj.js} +1 -1
- package/dist/mcp.es.js +1285 -79
- package/dist/message-CwKVEdZg.js +1 -0
- package/dist/message-DS8lzHc1.js +1 -0
- package/dist/message-circle-Xf8Q-vZp.js +1 -0
- package/dist/message-square-Cxnwgkns.js +1 -0
- package/dist/{elements/chunks/minimize-2-DPIUKTrT.js → minimize-2-UEZmP2QT.js} +1 -1
- package/dist/{elements/chunks/model-switcher-DsT8tFB0.js → model-switcher-Kk1jEQ5t.js} +1 -1
- package/dist/{elements/chunks/overlay-DuiwdXjm.js → overlay-C1od6LOz.js} +1 -1
- package/dist/panel-right-ryET0yyn.js +1 -0
- package/dist/paperclip-BDNoZFJP.js +1 -0
- package/dist/play-OFIvYXUQ.js +1 -0
- package/dist/primitives/card-data-types.d.ts +49 -0
- package/dist/primitives/card-routing.d.ts +1 -33
- package/dist/primitives/card-validate.d.ts +2 -2
- package/dist/primitives/chat-config.d.ts +29 -2
- package/dist/primitives/field-mask.d.ts +96 -0
- package/dist/primitives/field-semantics.d.ts +36 -0
- package/dist/primitives/input-mask.d.ts +46 -0
- package/dist/primitives/url-scheme-policy.d.ts +34 -0
- package/dist/primitives/use-resize-observer.d.ts +2 -2
- package/dist/progress-bar-BvYX0aoy.js +1 -0
- package/dist/prompt-suggestion-BRFu2lcu.js +1 -0
- package/dist/radio-DcL23cNJ.js +1 -0
- package/dist/react/index.d.ts +193 -19
- package/dist/react.js +216 -180
- package/dist/reasoning-Cackq4Rh.js +1 -0
- package/dist/register-impl-C7rENvPK.js +424 -0
- package/dist/{elements/chunks/resizable-D181b4fM.js → resizable-Cp9HUYih.js} +1 -1
- package/dist/rotate-ccw-0DLRDHH5.js +1 -0
- package/dist/rotate-cw-DOB9IGcU.js +1 -0
- package/dist/schemas/form.schema.json +21 -1
- package/dist/schemas/tool-defs.d.ts +11 -1
- package/dist/schemas.js +81 -81
- package/dist/scroll-area-emVmWP4K.js +1 -0
- package/dist/scroll-button-CeP_gv1x.js +1 -0
- package/dist/select-CWmu00tS.js +1 -0
- package/dist/{elements/chunks/separator-CeJHQqLW.js → separator-CE6vly6z.js} +1 -1
- package/dist/{elements/chunks/settings-CqaHgJF9.js → settings-CE-78SvZ.js} +1 -1
- package/dist/{elements/chunks/settings-group-CjqjLCOn.js → settings-group-ZFWNxFQR.js} +1 -1
- package/dist/{elements/chunks/skeleton-D8akBnKS.js → skeleton-BebdP4mf.js} +1 -1
- package/dist/slider-BAKRYUlz.js +1 -0
- package/dist/{solid-BtdqNZI7.js → solid-BE5ui6sy.js} +8727 -7212
- package/dist/{solid-CnavwBye.js → solid-DFhsce3O.js} +7015 -5886
- package/dist/solid.d.ts +10 -0
- package/dist/solid.js +240 -234
- package/dist/solid.server.js +240 -234
- package/dist/source-B0FlguSx.js +1 -0
- package/dist/star-CBMZvLuN.js +1 -0
- package/dist/state/index.d.ts +1 -1
- package/dist/state/mock.d.ts +32 -2
- package/dist/state.js +133 -108
- package/dist/{elements/chunks/store-Cjq0qwYN.js → store-7eoadydQ.js} +1 -1
- package/dist/svelte--5p79yCD.js +1 -15
- package/dist/switch-CViARZCy.js +1 -0
- package/dist/tasks-card-MjCcOhR_.js +1 -0
- package/dist/text-shimmer-DKlwRF2G.js +1 -0
- package/dist/textarea-3ay2Me2-.js +1 -0
- package/dist/theme.tokens.css +82 -13
- package/dist/{elements/chunks/thumbs-up-DX2Ijk3H.js → thumbs-up-DQcu2HMO.js} +1 -1
- package/dist/toast-store-C6yKOhbk.js +1 -0
- package/dist/{elements/chunks/tool-DKQ2D1DP.js → tool-BCYNlfKy.js} +1 -1
- package/dist/{elements/chunks/tooltip-B0G99y8w.js → tooltip-05zI4hjs.js} +1 -1
- package/dist/trash-2-BR1RxGky.js +1 -0
- package/dist/{elements/chunks/triangle-alert-F9cyUEyy.js → triangle-alert-DHohDOCy.js} +1 -1
- package/dist/tsx-B8rCNbgL.js +1 -6
- package/dist/typescript-RycA9KXf.js +1 -6
- package/dist/ui/checkbox-group.d.ts +83 -0
- package/dist/ui/checkbox.d.ts +40 -0
- package/dist/ui/dock.d.ts +22 -0
- package/dist/ui/icon.d.ts +3 -0
- package/dist/ui/input.d.ts +48 -2
- package/dist/ui/radio.d.ts +85 -0
- package/dist/ui/select.d.ts +71 -0
- package/dist/ui/slider.d.ts +65 -0
- package/dist/ui/switch.d.ts +9 -2
- package/dist/upload-BbGW6A_u.js +1 -0
- package/dist/url-scheme-policy-DHpoTJwB.js +1 -0
- package/dist/use-card-resolution-CJW4grFa.js +1 -0
- package/dist/{variant-aurora-B8II3-I1.js → variant-aurora-BUOVgPOB.js} +2 -2
- package/dist/{variant-aurora-CMNWOSJR.js → variant-aurora-CUsUJvFI.js} +2 -2
- package/dist/{variant-aurora-CcuDMWwQ.js → variant-aurora-CW2i4bfr.js} +1 -1
- package/dist/{elements/chunks/variant-aurora-qt6Zct8M.js → variant-aurora-xiMPty8f.js} +1 -1
- package/dist/{variant-custom-L16JLLZy.js → variant-custom-BQtOnmeO.js} +1 -1
- package/dist/{variant-custom-C714mqKl.js → variant-custom-CAm9L-E5.js} +2 -2
- package/dist/{variant-custom-BdvYC7af.js → variant-custom-CAnzzppW.js} +2 -2
- package/dist/{elements/chunks/variant-custom-tJp22_BQ.js → variant-custom-D91HjAKz.js} +1 -1
- package/dist/{variant-wave-ecwykeyL.js → variant-wave-Ca1Ls4_y.js} +2 -2
- package/dist/{variant-wave-D7ruiA1W.js → variant-wave-CxX39DKd.js} +2 -2
- package/dist/{elements/chunks/variant-wave-CaQ5ti39.js → variant-wave-DYyzIIZv.js} +1 -1
- package/dist/{variant-wave-2S4La2Ka.js → variant-wave-uY5crU_K.js} +1 -1
- package/dist/vue-BmIZj4XD.js +1 -33
- package/dist/x-C5m1JFgi.js +1 -0
- package/frameworks/react/index.tsx +198 -20
- package/llms-full.txt +1178 -21
- package/llms.txt +6 -3
- package/package.json +17 -4
- package/src/agent-tooling/catalog/invariants.ts +1 -1
- package/src/agent-tooling/catalog/surfaces.ts +72 -0
- package/src/agent-tooling/construct/cli-entry.ts +8 -0
- package/src/agent-tooling/construct/cli.ts +131 -0
- package/src/agent-tooling/construct/codegen.ts +1353 -0
- package/src/agent-tooling/construct/construct.v1.schema.json +250 -0
- package/src/agent-tooling/construct/dev.ts +148 -0
- package/src/agent-tooling/construct/fixtures/demo-widget.construct.json +7 -0
- package/src/agent-tooling/construct/fixtures/ops-console.construct.json +44 -0
- package/src/agent-tooling/construct/fixtures/owner-widget.construct.json +23 -0
- package/src/agent-tooling/construct/schema.ts +371 -0
- package/src/agent-tooling/mcp/server.ts +2 -1
- package/src/agent-tooling/mcp/tools/construct.ts +130 -0
- package/src/agent-tooling/mcp/tools/debug.ts +126 -4
- package/src/agent-tooling/mcp/tools/reference.ts +104 -3
- package/src/agent-tooling/recipes/composed-thread.ts +714 -0
- package/src/agent-tooling/recipes/index.ts +22 -0
- package/src/agent-tooling/recipes/types.ts +32 -0
- package/src/agent-tooling/registry.ts +5 -0
- package/src/components/attachment-types.ts +7 -0
- package/src/components/audio-visualizer/fit-scale.ts +1 -1
- package/src/components/card-renderer.tsx +39 -8
- package/src/components/card.tsx +10 -2
- package/src/components/chat-scope-picker.tsx +2 -2
- package/src/components/chat-thread.tsx +72 -9
- package/src/components/choice-card.tsx +102 -37
- package/src/components/coachmark.tsx +1 -1
- package/src/components/code-block.tsx +2 -2
- package/src/components/composer.tsx +89 -15
- package/src/components/confirm-card.tsx +20 -4
- package/src/components/conversation-item.tsx +33 -9
- package/src/components/conversation-list.tsx +25 -10
- package/src/components/empty.tsx +14 -3
- package/src/components/file-tree.tsx +5 -1
- package/src/components/form-widgets.tsx +257 -195
- package/src/components/form.tsx +297 -9
- package/src/components/loader.tsx +12 -5
- package/src/components/message-skills.tsx +1 -1
- package/src/components/message.tsx +71 -11
- package/src/components/prompt-input.tsx +7 -1
- package/src/components/prompt-suggestion.tsx +4 -1
- package/src/components/reasoning.tsx +30 -3
- package/src/components/response-compare.tsx +2 -2
- package/src/components/scroll-button.tsx +56 -4
- package/src/components/source.tsx +6 -1
- package/src/components/tasks-card.tsx +58 -16
- package/src/components/thread.tsx +10 -1
- package/src/components/toast.tsx +1 -1
- package/src/components/tool-types.ts +9 -0
- package/src/elements/attachments.tsx +3 -1
- package/src/elements/chat-workspace.tsx +1 -1
- package/src/elements/chat.tsx +22 -4
- package/src/elements/checkbox-group.tsx +164 -0
- package/src/elements/checkbox.tsx +134 -0
- package/src/elements/compiled.css +1 -1
- package/src/elements/composer.tsx +12 -1
- package/src/elements/conversation-item.tsx +62 -22
- package/src/elements/conversation-list.tsx +2 -2
- package/src/elements/define-entry.ts +12 -0
- package/src/elements/dock.tsx +11 -0
- package/src/elements/element-data-types.ts +40 -0
- package/src/elements/element-manifest.json +24 -0
- package/src/elements/element-meta.json +736 -46
- package/src/elements/element-nonscalar.json +15 -0
- package/src/elements/element-types.d.ts +362 -24
- package/src/elements/feedback-bar.tsx +5 -0
- package/src/elements/icon-names.json +29 -0
- package/src/elements/input.tsx +312 -23
- package/src/elements/message.tsx +2 -0
- package/src/elements/pane-grid.tsx +111 -0
- package/src/elements/prompt-input.tsx +8 -2
- package/src/elements/radio-group.tsx +129 -0
- package/src/elements/register-impl.ts +6 -0
- package/src/elements/scroll-button.tsx +54 -6
- package/src/elements/select.tsx +165 -0
- package/src/elements/slider.tsx +171 -0
- package/src/elements/slots.ts +1 -1
- package/src/elements/styles.css +89 -3
- package/src/elements/thread.tsx +2 -0
- package/src/elements/toast.tsx +14 -1
- package/src/index.ts +2 -1
- package/src/primitives/card-data-types.ts +49 -0
- package/src/primitives/card-host.tsx +4 -2
- package/src/primitives/card-routing.ts +7 -56
- package/src/primitives/card-schemas/form.schema.json +21 -1
- package/src/primitives/card-validate.ts +10 -2
- package/src/primitives/chat-config.tsx +33 -6
- package/src/primitives/field-mask.ts +256 -0
- package/src/primitives/field-semantics.ts +115 -0
- package/src/primitives/input-mask.ts +853 -0
- package/src/primitives/toast-store.ts +66 -4
- package/src/primitives/url-scheme-policy.ts +70 -0
- package/src/primitives/use-resize-observer.ts +2 -2
- package/src/schemas/tool-defs.ts +12 -2
- package/src/solid.ts +10 -0
- package/src/state/index.ts +1 -1
- package/src/state/mock.ts +92 -6
- package/src/ui/agent-card.tsx +2 -2
- package/src/ui/avatar.tsx +1 -1
- package/src/ui/checkbox-group.tsx +153 -0
- package/src/ui/checkbox.tsx +63 -0
- package/src/ui/dock.tsx +145 -6
- package/src/ui/icon.tsx +53 -0
- package/src/ui/input.tsx +249 -9
- package/src/ui/kbd.tsx +1 -1
- package/src/ui/nav.tsx +1 -1
- package/src/ui/pane-group.tsx +2 -2
- package/src/ui/radio.tsx +150 -0
- package/src/ui/select.tsx +168 -0
- package/src/ui/slider.tsx +178 -0
- package/src/ui/switch.tsx +49 -18
- package/src/utils/cn.ts +11 -5
- package/theme.css +84 -13
- package/dist/elements/chunks/action-icons-D9u3OzYW.js +0 -1
- package/dist/elements/chunks/arrow-left-CVh1TeN7.js +0 -1
- package/dist/elements/chunks/artifact-BkYcfIlZ.js +0 -1
- package/dist/elements/chunks/attachments-DwfNlubq.js +0 -1
- package/dist/elements/chunks/badge-Q0-Cmwzz.js +0 -1
- package/dist/elements/chunks/bash-InADTalH.js +0 -1
- package/dist/elements/chunks/card-renderer-3Dyl-FpN.js +0 -1
- package/dist/elements/chunks/card-routing-BK09BdmL.js +0 -1
- package/dist/elements/chunks/check-B5kBPKeo.js +0 -1
- package/dist/elements/chunks/chevron-down-DZ1GS39h.js +0 -1
- package/dist/elements/chunks/chevron-right-CvP7OUd2.js +0 -1
- package/dist/elements/chunks/choice-card-D4QUIOWZ.js +0 -1
- package/dist/elements/chunks/circle-CDf9g6MQ.js +0 -1
- package/dist/elements/chunks/circle-check-CA47Nqbz.js +0 -1
- package/dist/elements/chunks/circle-x-CJ_HVbC8.js +0 -1
- package/dist/elements/chunks/composer-Byve-n8K.js +0 -69
- package/dist/elements/chunks/confirm-card-B0flE3MN.js +0 -1
- package/dist/elements/chunks/controllable-DTwTIlwp.js +0 -1
- package/dist/elements/chunks/conversation-item-BDztezOG.js +0 -1
- package/dist/elements/chunks/copy-Nf-kqxXH.js +0 -1
- package/dist/elements/chunks/core-AYMC6_lb.js +0 -12
- package/dist/elements/chunks/css-M7EaDHN_.js +0 -1
- package/dist/elements/chunks/default-input-C2iLFq0b.js +0 -1
- package/dist/elements/chunks/define-wjHR1MkU.js +0 -1
- package/dist/elements/chunks/download-C4V7tBdb.js +0 -1
- package/dist/elements/chunks/embed-D3KewsIJ.js +0 -1
- package/dist/elements/chunks/engine-javascript-vq0WuIJl.js +0 -141
- package/dist/elements/chunks/file-text-D1G8khle.js +0 -1
- package/dist/elements/chunks/folder-WW2LGLid.js +0 -1
- package/dist/elements/chunks/form-CQirdC4W.js +0 -1
- package/dist/elements/chunks/github-dark-dimmed-DUshB20C.js +0 -1
- package/dist/elements/chunks/github-light-JYsPkUQd.js +0 -1
- package/dist/elements/chunks/hover-card-CJJkfHTK.js +0 -1
- package/dist/elements/chunks/html-CPZ3oZQ7.js +0 -1
- package/dist/elements/chunks/icon-Cfgmf4fa.js +0 -1
- package/dist/elements/chunks/info-DX3YMOt6.js +0 -1
- package/dist/elements/chunks/input-BtW9U6Sq.js +0 -1
- package/dist/elements/chunks/javascript-C25yR2R2.js +0 -1
- package/dist/elements/chunks/json-DxJze_jm.js +0 -1
- package/dist/elements/chunks/kbd-LGXwuT_V.js +0 -1
- package/dist/elements/chunks/link-2My69BqT.js +0 -1
- package/dist/elements/chunks/loader-iOxc_Tu-.js +0 -1
- package/dist/elements/chunks/message-VMZohrXx.js +0 -1
- package/dist/elements/chunks/message-circle-CpXMM-_n.js +0 -1
- package/dist/elements/chunks/message-square-DxcWtETQ.js +0 -1
- package/dist/elements/chunks/message-tZmV2A3p.js +0 -1
- package/dist/elements/chunks/paperclip-CRZVp4z_.js +0 -1
- package/dist/elements/chunks/progress-bar-DNy66e_E.js +0 -1
- package/dist/elements/chunks/prompt-suggestion-Bn64Nl7L.js +0 -1
- package/dist/elements/chunks/reasoning-Emn9N4-T.js +0 -1
- package/dist/elements/chunks/rotate-cw-CPWe37D9.js +0 -1
- package/dist/elements/chunks/scroll-area-ClZkZxIk.js +0 -1
- package/dist/elements/chunks/scroll-button-DPE-t3x_.js +0 -1
- package/dist/elements/chunks/share-CyfnNEqp.js +0 -1
- package/dist/elements/chunks/source-UWCvmVak.js +0 -1
- package/dist/elements/chunks/star-DoHFAikQ.js +0 -1
- package/dist/elements/chunks/svelte--5p79yCD.js +0 -1
- package/dist/elements/chunks/tasks-card-CmZ5xh6v.js +0 -1
- package/dist/elements/chunks/text-shimmer-DYn09zrz.js +0 -1
- package/dist/elements/chunks/textarea-skiGHURM.js +0 -1
- package/dist/elements/chunks/toast-store-CFnQpThX.js +0 -1
- package/dist/elements/chunks/tsx-B8rCNbgL.js +0 -1
- package/dist/elements/chunks/typescript-RycA9KXf.js +0 -1
- package/dist/elements/chunks/use-card-resolution-DoA2f_EU.js +0 -1
- package/dist/elements/chunks/vue-BmIZj4XD.js +0 -1
- package/dist/elements/chunks/x-B6UnOiLw.js +0 -1
- package/dist/llms/llms-full.txt +0 -2949
- package/dist/llms/llms.txt +0 -156
- package/dist/register-impl-DpE7icIb.js +0 -293
- package/dist/ui/stat.d.ts +0 -16
- package/src/ui/stat.tsx +0 -41
- /package/dist/{elements/chunks/card-tags-D8lZ-C_U.js → card-tags-D8lZ-C_U.js} +0 -0
- /package/dist/{elements/chunks/link-preview-DNILK391.js → link-preview-DNILK391.js} +0 -0
- /package/dist/{elements/chunks/slots-DaNjX0rc.js → slots-DaNjX0rc.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
function xe(e){var t,o,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(o=xe(e[t]))&&(r&&(r+=" "),r+=o)}else for(o in e)e[o]&&(r&&(r+=" "),r+=o);return r}function we(){for(var e,t,o=0,r="",s=arguments.length;o<s;o++)(e=arguments[o])&&(t=xe(e))&&(r&&(r+=" "),r+=t);return r}const De=(e,t)=>{const o=new Array(e.length+t.length);for(let r=0;r<e.length;r++)o[r]=e[r];for(let r=0;r<t.length;r++)o[e.length+r]=t[r];return o},Fe=(e,t)=>({classGroupId:e,validator:t}),ve=(e=new Map,t=null,o)=>({nextPart:e,validators:t,classGroupId:o}),V="-",ye=[],He="arbitrary..",Je=e=>{const t=Qe(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return Ke(s);const l=s.split(V),d=l[0]===""&&l.length>1?1:0;return ze(l,d,t)},getConflictingClassGroupIds:(s,l)=>{if(l){const d=r[s],b=o[s];return d?b?De(b,d):d:b||ye}return o[s]||ye}}},ze=(e,t,o)=>{if(e.length-t===0)return o.classGroupId;const r=e[t],s=o.nextPart.get(r);if(s){const u=ze(e,t+1,s);if(u)return u}const l=o.validators;if(l===null)return;const d=t===0?e.join(V):e.slice(t).join(V),b=l.length;for(let u=0;u<b;u++){const p=l[u];if(p.validator(d))return p.classGroupId}},Ke=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),o=t.indexOf(":"),r=t.slice(0,o);return r?He+r:void 0})(),Qe=e=>{const{theme:t,classGroups:o}=e;return Ue(o,t)},Ue=(e,t)=>{const o=ve();for(const r in e){const s=e[r];ae(s,o,r,t)}return o},ae=(e,t,o,r)=>{const s=e.length;for(let l=0;l<s;l++){const d=e[l];Ve(d,t,o,r)}},Ve=(e,t,o,r)=>{if(typeof e=="string"){Xe(e,t,o);return}if(typeof e=="function"){Ye(e,t,o,r);return}Ze(e,t,o,r)},Xe=(e,t,o)=>{const r=e===""?t:Ge(t,e);r.classGroupId=o},Ye=(e,t,o,r)=>{if(eo(e)){ae(e(r),t,o,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Fe(o,e))},Ze=(e,t,o,r)=>{const s=Object.entries(e),l=s.length;for(let d=0;d<l;d++){const[b,u]=s[d];ae(u,Ge(t,b),o,r)}},Ge=(e,t)=>{let o=e;const r=t.split(V),s=r.length;for(let l=0;l<s;l++){const d=r[l];let b=o.nextPart.get(d);b||(b=ve(),o.nextPart.set(d,b)),o=b}return o},eo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,oo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,o=Object.create(null),r=Object.create(null);const s=(l,d)=>{o[l]=d,t++,t>e&&(t=0,r=o,o=Object.create(null))};return{get(l){let d=o[l];if(d!==void 0)return d;if((d=r[l])!==void 0)return s(l,d),d},set(l,d){l in o?o[l]=d:s(l,d)}}},le="!",Ce=":",ro=[],je=(e,t,o,r,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:o,maybePostfixModifierPosition:r,isExternal:s}),to=e=>{const{prefix:t,experimentalParseClassName:o}=e;let r=s=>{const l=[];let d=0,b=0,u=0,p;const z=s.length;for(let w=0;w<z;w++){const G=s[w];if(d===0&&b===0){if(G===Ce){l.push(s.slice(u,w)),u=w+1;continue}if(G==="/"){p=w;continue}}G==="["?d++:G==="]"?d--:G==="("?b++:G===")"&&b--}const h=l.length===0?s:s.slice(u);let S=h,j=!1;h.endsWith(le)?(S=h.slice(0,-1),j=!0):h.startsWith(le)&&(S=h.slice(1),j=!0);const R=p&&p>u?p-u:void 0;return je(l,j,S,R)};if(t){const s=t+Ce,l=r;r=d=>d.startsWith(s)?l(d.slice(s.length)):je(ro,!1,d,void 0,!0)}if(o){const s=r;r=l=>o({className:l,parseClassName:s})}return r},so=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((o,r)=>{t.set(o,1e6+r)}),o=>{const r=[];let s=[];for(let l=0;l<o.length;l++){const d=o[l],b=d[0]==="[",u=t.has(d);b||u?(s.length>0&&(s.sort(),r.push(...s),s=[]),r.push(d)):s.push(d)}return s.length>0&&(s.sort(),r.push(...s)),r}},no=e=>({cache:oo(e.cacheSize),parseClassName:to(e),sortModifiers:so(e),postfixLookupClassGroupIds:ao(e),...Je(e)}),ao=e=>{const t=Object.create(null),o=e.postfixLookupClassGroups;if(o)for(let r=0;r<o.length;r++)t[o[r]]=!0;return t},lo=/\s+/,io=(e,t)=>{const{parseClassName:o,getClassGroupId:r,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:d}=t,b=[],u=e.trim().split(lo);let p="";for(let z=u.length-1;z>=0;z-=1){const h=u[z],{isExternal:S,modifiers:j,hasImportantModifier:R,baseClassName:w,maybePostfixModifierPosition:G}=o(h);if(S){p=h+(p.length>0?" "+p:p);continue}let W=!!G,v;if(W){const N=w.substring(0,G);v=r(N);const i=v&&d[v]?r(w):void 0;i&&i!==v&&(v=i,W=!1)}else v=r(w);if(!v){if(!W){p=h+(p.length>0?" "+p:p);continue}if(v=r(w),!v){p=h+(p.length>0?" "+p:p);continue}W=!1}const D=j.length===0?"":j.length===1?j[0]:l(j).join(":"),T=R?D+le:D,E=T+v;if(b.indexOf(E)>-1)continue;b.push(E);const q=s(v,W);for(let N=0;N<q.length;++N){const i=q[N];b.push(T+i)}p=h+(p.length>0?" "+p:p)}return p},co=(...e)=>{let t=0,o,r,s="";for(;t<e.length;)(o=e[t++])&&(r=Me(o))&&(s&&(s+=" "),s+=r);return s},Me=e=>{if(typeof e=="string")return e;let t,o="";for(let r=0;r<e.length;r++)e[r]&&(t=Me(e[r]))&&(o&&(o+=" "),o+=t);return o},Ne=(e,...t)=>{let o,r,s,l;const d=u=>{const p=t.reduce((z,h)=>h(z),e());return o=no(p),r=o.cache.get,s=o.cache.set,l=b,b(u)},b=u=>{const p=r(u);if(p)return p;const z=io(u,o);return s(u,z),z};return l=d,(...u)=>l(co(...u))},mo=[],f=e=>{const t=o=>o[e]||mo;return t.isThemeGetter=!0,t},Ie=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Pe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,po=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,bo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,uo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,go=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ho=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,P=e=>po.test(e),m=e=>!!e&&!Number.isNaN(Number(e)),M=e=>!!e&&Number.isInteger(Number(e)),ie=e=>e.endsWith("%")&&m(e.slice(0,-1)),I=e=>bo.test(e),Le=()=>!0,ko=e=>uo.test(e)&&!fo.test(e),ce=()=>!1,xo=e=>go.test(e),wo=e=>ho.test(e),vo=e=>!n(e)&&!a(e),yo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),zo=e=>L(e,Te,ce),n=e=>Ie.test(e),$=e=>L(e,Ee,ko),Se=e=>L(e,Lo,m),Go=e=>L(e,Be,Le),Co=e=>L(e,qe,ce),We=e=>L(e,$e,ce),jo=e=>L(e,Ae,wo),X=e=>L(e,_e,xo),a=e=>Pe.test(e),F=e=>A(e,Ee),Mo=e=>A(e,qe),Oe=e=>A(e,$e),No=e=>A(e,Te),Io=e=>A(e,Ae),Y=e=>A(e,_e,!0),Po=e=>A(e,Be,!0),L=(e,t,o)=>{const r=Ie.exec(e);return r?r[1]?t(r[1]):o(r[2]):!1},A=(e,t,o=!1)=>{const r=Pe.exec(e);return r?r[1]?t(r[1]):o:!1},$e=e=>e==="position"||e==="percentage",Ae=e=>e==="image"||e==="url",Te=e=>e==="length"||e==="size"||e==="bg-size",Ee=e=>e==="length",Lo=e=>e==="number",qe=e=>e==="family-name",Be=e=>e==="number"||e==="weight",_e=e=>e==="shadow",Re=()=>{const e=f("color"),t=f("font"),o=f("text"),r=f("font-weight"),s=f("tracking"),l=f("leading"),d=f("breakpoint"),b=f("container"),u=f("spacing"),p=f("radius"),z=f("shadow"),h=f("inset-shadow"),S=f("text-shadow"),j=f("drop-shadow"),R=f("blur"),w=f("perspective"),G=f("aspect"),W=f("ease"),v=f("animate"),D=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],E=()=>[...T(),a,n],q=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],i=()=>[a,n,u],y=()=>[P,"full","auto",...i()],me=()=>[M,"none","subgrid",a,n],pe=()=>["auto",{span:["full",M,a,n]},M,a,n],H=()=>[M,"auto",a,n],be=()=>["auto","min","max","fr",a,n],oe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],C=()=>["auto",...i()],O=()=>[P,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...i()],re=()=>[P,"screen","full","dvw","lvw","svw","min","max","fit",...i()],te=()=>[P,"screen","full","lh","dvh","lvh","svh","min","max","fit",...i()],c=()=>[e,a,n],ue=()=>[...T(),Oe,We,{position:[a,n]}],fe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ge=()=>["auto","cover","contain",No,zo,{size:[a,n]}],se=()=>[ie,F,$],k=()=>["","none","full",p,a,n],x=()=>["",m,F,$],J=()=>["solid","dashed","dotted","double"],he=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],g=()=>[m,ie,Oe,We],ke=()=>["","none",R,a,n],K=()=>["none",m,a,n],Q=()=>["none",m,a,n],ne=()=>[m,a,n],U=()=>[P,"full",...i()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[I],breakpoint:[I],color:[Le],container:[I],"drop-shadow":[I],ease:["in","out","in-out"],font:[vo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[I],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[I],shadow:[I],spacing:["px",m],text:[I],"text-shadow":[I],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",P,n,a,G]}],container:["container"],"container-type":[{"@container":["","normal","size",a,n]}],"container-named":[yo],columns:[{columns:[m,n,a,b]}],"break-after":[{"break-after":D()}],"break-before":[{"break-before":D()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:E()}],overflow:[{overflow:q()}],"overflow-x":[{"overflow-x":q()}],"overflow-y":[{"overflow-y":q()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:y()}],"inset-x":[{"inset-x":y()}],"inset-y":[{"inset-y":y()}],start:[{"inset-s":y(),start:y()}],end:[{"inset-e":y(),end:y()}],"inset-bs":[{"inset-bs":y()}],"inset-be":[{"inset-be":y()}],top:[{top:y()}],right:[{right:y()}],bottom:[{bottom:y()}],left:[{left:y()}],visibility:["visible","invisible","collapse"],z:[{z:[M,"auto",a,n]}],basis:[{basis:[P,"full","auto",b,...i()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[m,P,"auto","initial","none",n]}],grow:[{grow:["",m,a,n]}],shrink:[{shrink:["",m,a,n]}],order:[{order:[M,"first","last","none",a,n]}],"grid-cols":[{"grid-cols":me()}],"col-start-end":[{col:pe()}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":me()}],"row-start-end":[{row:pe()}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":be()}],"auto-rows":[{"auto-rows":be()}],gap:[{gap:i()}],"gap-x":[{"gap-x":i()}],"gap-y":[{"gap-y":i()}],"justify-content":[{justify:[...oe(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...oe()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:i()}],px:[{px:i()}],py:[{py:i()}],ps:[{ps:i()}],pe:[{pe:i()}],pbs:[{pbs:i()}],pbe:[{pbe:i()}],pt:[{pt:i()}],pr:[{pr:i()}],pb:[{pb:i()}],pl:[{pl:i()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mbs:[{mbs:C()}],mbe:[{mbe:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":i()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":i()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...re()]}],"min-inline-size":[{"min-inline":["auto",...re()]}],"max-inline-size":[{"max-inline":["none",...re()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[b,"screen",...O()]}],"min-w":[{"min-w":[b,"screen","none",...O()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[d]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",o,F,$]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Po,Go]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ie,n]}],"font-family":[{font:[Mo,Co,t]}],"font-features":[{"font-features":[n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,a,n]}],"line-clamp":[{"line-clamp":[m,"none",a,Se]}],leading:[{leading:[l,...i()]}],"list-image":[{"list-image":["none",a,n]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",a,n]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:c()}],"text-color":[{text:c()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[m,"from-font","auto",a,$]}],"text-decoration-color":[{decoration:c()}],"underline-offset":[{"underline-offset":[m,"auto",a,n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:i()}],"tab-size":[{tab:[M,a,n]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",a,n]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",a,n]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:fe()}],"bg-size":[{bg:ge()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},M,a,n],radial:["",a,n],conic:[M,a,n]},Io,jo]}],"bg-color":[{bg:c()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:c()}],"gradient-via":[{via:c()}],"gradient-to":[{to:c()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:x()}],"border-w-x":[{"border-x":x()}],"border-w-y":[{"border-y":x()}],"border-w-s":[{"border-s":x()}],"border-w-e":[{"border-e":x()}],"border-w-bs":[{"border-bs":x()}],"border-w-be":[{"border-be":x()}],"border-w-t":[{"border-t":x()}],"border-w-r":[{"border-r":x()}],"border-w-b":[{"border-b":x()}],"border-w-l":[{"border-l":x()}],"divide-x":[{"divide-x":x()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":x()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:c()}],"border-color-x":[{"border-x":c()}],"border-color-y":[{"border-y":c()}],"border-color-s":[{"border-s":c()}],"border-color-e":[{"border-e":c()}],"border-color-bs":[{"border-bs":c()}],"border-color-be":[{"border-be":c()}],"border-color-t":[{"border-t":c()}],"border-color-r":[{"border-r":c()}],"border-color-b":[{"border-b":c()}],"border-color-l":[{"border-l":c()}],"divide-color":[{divide:c()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[m,a,n]}],"outline-w":[{outline:["",m,F,$]}],"outline-color":[{outline:c()}],shadow:[{shadow:["","none",z,Y,X]}],"shadow-color":[{shadow:c()}],"inset-shadow":[{"inset-shadow":["none",h,Y,X]}],"inset-shadow-color":[{"inset-shadow":c()}],"ring-w":[{ring:x()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:c()}],"ring-offset-w":[{"ring-offset":[m,$]}],"ring-offset-color":[{"ring-offset":c()}],"inset-ring-w":[{"inset-ring":x()}],"inset-ring-color":[{"inset-ring":c()}],"text-shadow":[{"text-shadow":["none",S,Y,X]}],"text-shadow-color":[{"text-shadow":c()}],opacity:[{opacity:[m,a,n]}],"mix-blend":[{"mix-blend":[...he(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[m]}],"mask-image-linear-from-pos":[{"mask-linear-from":g()}],"mask-image-linear-to-pos":[{"mask-linear-to":g()}],"mask-image-linear-from-color":[{"mask-linear-from":c()}],"mask-image-linear-to-color":[{"mask-linear-to":c()}],"mask-image-t-from-pos":[{"mask-t-from":g()}],"mask-image-t-to-pos":[{"mask-t-to":g()}],"mask-image-t-from-color":[{"mask-t-from":c()}],"mask-image-t-to-color":[{"mask-t-to":c()}],"mask-image-r-from-pos":[{"mask-r-from":g()}],"mask-image-r-to-pos":[{"mask-r-to":g()}],"mask-image-r-from-color":[{"mask-r-from":c()}],"mask-image-r-to-color":[{"mask-r-to":c()}],"mask-image-b-from-pos":[{"mask-b-from":g()}],"mask-image-b-to-pos":[{"mask-b-to":g()}],"mask-image-b-from-color":[{"mask-b-from":c()}],"mask-image-b-to-color":[{"mask-b-to":c()}],"mask-image-l-from-pos":[{"mask-l-from":g()}],"mask-image-l-to-pos":[{"mask-l-to":g()}],"mask-image-l-from-color":[{"mask-l-from":c()}],"mask-image-l-to-color":[{"mask-l-to":c()}],"mask-image-x-from-pos":[{"mask-x-from":g()}],"mask-image-x-to-pos":[{"mask-x-to":g()}],"mask-image-x-from-color":[{"mask-x-from":c()}],"mask-image-x-to-color":[{"mask-x-to":c()}],"mask-image-y-from-pos":[{"mask-y-from":g()}],"mask-image-y-to-pos":[{"mask-y-to":g()}],"mask-image-y-from-color":[{"mask-y-from":c()}],"mask-image-y-to-color":[{"mask-y-to":c()}],"mask-image-radial":[{"mask-radial":[a,n]}],"mask-image-radial-from-pos":[{"mask-radial-from":g()}],"mask-image-radial-to-pos":[{"mask-radial-to":g()}],"mask-image-radial-from-color":[{"mask-radial-from":c()}],"mask-image-radial-to-color":[{"mask-radial-to":c()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[m]}],"mask-image-conic-from-pos":[{"mask-conic-from":g()}],"mask-image-conic-to-pos":[{"mask-conic-to":g()}],"mask-image-conic-from-color":[{"mask-conic-from":c()}],"mask-image-conic-to-color":[{"mask-conic-to":c()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:fe()}],"mask-size":[{mask:ge()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",a,n]}],filter:[{filter:["","none",a,n]}],blur:[{blur:ke()}],brightness:[{brightness:[m,a,n]}],contrast:[{contrast:[m,a,n]}],"drop-shadow":[{"drop-shadow":["","none",j,Y,X]}],"drop-shadow-color":[{"drop-shadow":c()}],grayscale:[{grayscale:["",m,a,n]}],"hue-rotate":[{"hue-rotate":[m,a,n]}],invert:[{invert:["",m,a,n]}],saturate:[{saturate:[m,a,n]}],sepia:[{sepia:["",m,a,n]}],"backdrop-filter":[{"backdrop-filter":["","none",a,n]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[m,a,n]}],"backdrop-contrast":[{"backdrop-contrast":[m,a,n]}],"backdrop-grayscale":[{"backdrop-grayscale":["",m,a,n]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m,a,n]}],"backdrop-invert":[{"backdrop-invert":["",m,a,n]}],"backdrop-opacity":[{"backdrop-opacity":[m,a,n]}],"backdrop-saturate":[{"backdrop-saturate":[m,a,n]}],"backdrop-sepia":[{"backdrop-sepia":["",m,a,n]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":i()}],"border-spacing-x":[{"border-spacing-x":i()}],"border-spacing-y":[{"border-spacing-y":i()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",a,n]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[m,"initial",a,n]}],ease:[{ease:["linear","initial",W,a,n]}],delay:[{delay:[m,a,n]}],animate:[{animate:["none",v,a,n]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,a,n]}],"perspective-origin":[{"perspective-origin":E()}],rotate:[{rotate:K()}],"rotate-x":[{"rotate-x":K()}],"rotate-y":[{"rotate-y":K()}],"rotate-z":[{"rotate-z":K()}],scale:[{scale:Q()}],"scale-x":[{"scale-x":Q()}],"scale-y":[{"scale-y":Q()}],"scale-z":[{"scale-z":Q()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[a,n,"","none","gpu","cpu"]}],"transform-origin":[{origin:E()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:U()}],"translate-x":[{"translate-x":U()}],"translate-y":[{"translate-y":U()}],"translate-z":[{"translate-z":U()}],"translate-none":["translate-none"],zoom:[{zoom:[M,a,n]}],accent:[{accent:c()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:c()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",a,n]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":c()}],"scrollbar-track-color":[{"scrollbar-track":c()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":i()}],"scroll-mx":[{"scroll-mx":i()}],"scroll-my":[{"scroll-my":i()}],"scroll-ms":[{"scroll-ms":i()}],"scroll-me":[{"scroll-me":i()}],"scroll-mbs":[{"scroll-mbs":i()}],"scroll-mbe":[{"scroll-mbe":i()}],"scroll-mt":[{"scroll-mt":i()}],"scroll-mr":[{"scroll-mr":i()}],"scroll-mb":[{"scroll-mb":i()}],"scroll-ml":[{"scroll-ml":i()}],"scroll-p":[{"scroll-p":i()}],"scroll-px":[{"scroll-px":i()}],"scroll-py":[{"scroll-py":i()}],"scroll-ps":[{"scroll-ps":i()}],"scroll-pe":[{"scroll-pe":i()}],"scroll-pbs":[{"scroll-pbs":i()}],"scroll-pbe":[{"scroll-pbe":i()}],"scroll-pt":[{"scroll-pt":i()}],"scroll-pr":[{"scroll-pr":i()}],"scroll-pb":[{"scroll-pb":i()}],"scroll-pl":[{"scroll-pl":i()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",a,n]}],fill:[{fill:["none",...c()]}],"stroke-w":[{stroke:[m,F,$,Se]}],stroke:[{stroke:["none",...c()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},So=(e,{cacheSize:t,prefix:o,experimentalParseClassName:r,extend:s={},override:l={}})=>(_(e,"cacheSize",t),_(e,"prefix",o),_(e,"experimentalParseClassName",r),Z(e.theme,l.theme),Z(e.classGroups,l.classGroups),Z(e.conflictingClassGroups,l.conflictingClassGroups),Z(e.conflictingClassGroupModifiers,l.conflictingClassGroupModifiers),_(e,"postfixLookupClassGroups",l.postfixLookupClassGroups),_(e,"orderSensitiveModifiers",l.orderSensitiveModifiers),ee(e.theme,s.theme),ee(e.classGroups,s.classGroups),ee(e.conflictingClassGroups,s.conflictingClassGroups),ee(e.conflictingClassGroupModifiers,s.conflictingClassGroupModifiers),de(e,s,"postfixLookupClassGroups"),de(e,s,"orderSensitiveModifiers"),e),_=(e,t,o)=>{o!==void 0&&(e[t]=o)},Z=(e,t)=>{if(t)for(const o in t)_(e,o,t[o])},ee=(e,t)=>{if(t)for(const o in t)de(e,t,o)},de=(e,t,o)=>{const r=t[o];r!==void 0&&(e[o]=e[o]?e[o].concat(r):r)},Wo=(e,...t)=>typeof e=="function"?Ne(Re,e,...t):Ne(()=>So(Re(),e),...t),Oo=Wo({extend:{classGroups:{"font-size":[{text:["caption","meta","body","title"]}]}}});function $o(...e){return Oo(we(e))}export{we as a,$o as c};
|
|
1
|
+
function xe(e){var t,o,r="";if(typeof e=="string"||typeof e=="number")r+=e;else if(typeof e=="object")if(Array.isArray(e)){var s=e.length;for(t=0;t<s;t++)e[t]&&(o=xe(e[t]))&&(r&&(r+=" "),r+=o)}else for(o in e)e[o]&&(r&&(r+=" "),r+=o);return r}function we(){for(var e,t,o=0,r="",s=arguments.length;o<s;o++)(e=arguments[o])&&(t=xe(e))&&(r&&(r+=" "),r+=t);return r}const De=(e,t)=>{const o=new Array(e.length+t.length);for(let r=0;r<e.length;r++)o[r]=e[r];for(let r=0;r<t.length;r++)o[e.length+r]=t[r];return o},Fe=(e,t)=>({classGroupId:e,validator:t}),ve=(e=new Map,t=null,o)=>({nextPart:e,validators:t,classGroupId:o}),V="-",ye=[],He="arbitrary..",Je=e=>{const t=Qe(e),{conflictingClassGroups:o,conflictingClassGroupModifiers:r}=e;return{getClassGroupId:s=>{if(s.startsWith("[")&&s.endsWith("]"))return Ke(s);const l=s.split(V),d=l[0]===""&&l.length>1?1:0;return ze(l,d,t)},getConflictingClassGroupIds:(s,l)=>{if(l){const d=r[s],b=o[s];return d?b?De(b,d):d:b||ye}return o[s]||ye}}},ze=(e,t,o)=>{if(e.length-t===0)return o.classGroupId;const r=e[t],s=o.nextPart.get(r);if(s){const u=ze(e,t+1,s);if(u)return u}const l=o.validators;if(l===null)return;const d=t===0?e.join(V):e.slice(t).join(V),b=l.length;for(let u=0;u<b;u++){const p=l[u];if(p.validator(d))return p.classGroupId}},Ke=e=>e.slice(1,-1).indexOf(":")===-1?void 0:(()=>{const t=e.slice(1,-1),o=t.indexOf(":"),r=t.slice(0,o);return r?He+r:void 0})(),Qe=e=>{const{theme:t,classGroups:o}=e;return Ue(o,t)},Ue=(e,t)=>{const o=ve();for(const r in e){const s=e[r];ae(s,o,r,t)}return o},ae=(e,t,o,r)=>{const s=e.length;for(let l=0;l<s;l++){const d=e[l];Ve(d,t,o,r)}},Ve=(e,t,o,r)=>{if(typeof e=="string"){Xe(e,t,o);return}if(typeof e=="function"){Ye(e,t,o,r);return}Ze(e,t,o,r)},Xe=(e,t,o)=>{const r=e===""?t:Ge(t,e);r.classGroupId=o},Ye=(e,t,o,r)=>{if(eo(e)){ae(e(r),t,o,r);return}t.validators===null&&(t.validators=[]),t.validators.push(Fe(o,e))},Ze=(e,t,o,r)=>{const s=Object.entries(e),l=s.length;for(let d=0;d<l;d++){const[b,u]=s[d];ae(u,Ge(t,b),o,r)}},Ge=(e,t)=>{let o=e;const r=t.split(V),s=r.length;for(let l=0;l<s;l++){const d=r[l];let b=o.nextPart.get(d);b||(b=ve(),o.nextPart.set(d,b)),o=b}return o},eo=e=>"isThemeGetter"in e&&e.isThemeGetter===!0,oo=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,o=Object.create(null),r=Object.create(null);const s=(l,d)=>{o[l]=d,t++,t>e&&(t=0,r=o,o=Object.create(null))};return{get(l){let d=o[l];if(d!==void 0)return d;if((d=r[l])!==void 0)return s(l,d),d},set(l,d){l in o?o[l]=d:s(l,d)}}},le="!",Ce=":",ro=[],je=(e,t,o,r,s)=>({modifiers:e,hasImportantModifier:t,baseClassName:o,maybePostfixModifierPosition:r,isExternal:s}),to=e=>{const{prefix:t,experimentalParseClassName:o}=e;let r=s=>{const l=[];let d=0,b=0,u=0,p;const z=s.length;for(let w=0;w<z;w++){const G=s[w];if(d===0&&b===0){if(G===Ce){l.push(s.slice(u,w)),u=w+1;continue}if(G==="/"){p=w;continue}}G==="["?d++:G==="]"?d--:G==="("?b++:G===")"&&b--}const h=l.length===0?s:s.slice(u);let S=h,j=!1;h.endsWith(le)?(S=h.slice(0,-1),j=!0):h.startsWith(le)&&(S=h.slice(1),j=!0);const R=p&&p>u?p-u:void 0;return je(l,j,S,R)};if(t){const s=t+Ce,l=r;r=d=>d.startsWith(s)?l(d.slice(s.length)):je(ro,!1,d,void 0,!0)}if(o){const s=r;r=l=>o({className:l,parseClassName:s})}return r},so=e=>{const t=new Map;return e.orderSensitiveModifiers.forEach((o,r)=>{t.set(o,1e6+r)}),o=>{const r=[];let s=[];for(let l=0;l<o.length;l++){const d=o[l],b=d[0]==="[",u=t.has(d);b||u?(s.length>0&&(s.sort(),r.push(...s),s=[]),r.push(d)):s.push(d)}return s.length>0&&(s.sort(),r.push(...s)),r}},no=e=>({cache:oo(e.cacheSize),parseClassName:to(e),sortModifiers:so(e),postfixLookupClassGroupIds:ao(e),...Je(e)}),ao=e=>{const t=Object.create(null),o=e.postfixLookupClassGroups;if(o)for(let r=0;r<o.length;r++)t[o[r]]=!0;return t},lo=/\s+/,io=(e,t)=>{const{parseClassName:o,getClassGroupId:r,getConflictingClassGroupIds:s,sortModifiers:l,postfixLookupClassGroupIds:d}=t,b=[],u=e.trim().split(lo);let p="";for(let z=u.length-1;z>=0;z-=1){const h=u[z],{isExternal:S,modifiers:j,hasImportantModifier:R,baseClassName:w,maybePostfixModifierPosition:G}=o(h);if(S){p=h+(p.length>0?" "+p:p);continue}let W=!!G,v;if(W){const N=w.substring(0,G);v=r(N);const i=v&&d[v]?r(w):void 0;i&&i!==v&&(v=i,W=!1)}else v=r(w);if(!v){if(!W){p=h+(p.length>0?" "+p:p);continue}if(v=r(w),!v){p=h+(p.length>0?" "+p:p);continue}W=!1}const D=j.length===0?"":j.length===1?j[0]:l(j).join(":"),T=R?D+le:D,E=T+v;if(b.indexOf(E)>-1)continue;b.push(E);const q=s(v,W);for(let N=0;N<q.length;++N){const i=q[N];b.push(T+i)}p=h+(p.length>0?" "+p:p)}return p},co=(...e)=>{let t=0,o,r,s="";for(;t<e.length;)(o=e[t++])&&(r=Me(o))&&(s&&(s+=" "),s+=r);return s},Me=e=>{if(typeof e=="string")return e;let t,o="";for(let r=0;r<e.length;r++)e[r]&&(t=Me(e[r]))&&(o&&(o+=" "),o+=t);return o},Ne=(e,...t)=>{let o,r,s,l;const d=u=>{const p=t.reduce((z,h)=>h(z),e());return o=no(p),r=o.cache.get,s=o.cache.set,l=b,b(u)},b=u=>{const p=r(u);if(p)return p;const z=io(u,o);return s(u,z),z};return l=d,(...u)=>l(co(...u))},mo=[],f=e=>{const t=o=>o[e]||mo;return t.isThemeGetter=!0,t},Ie=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Pe=/^\((?:(\w[\w-]*):)?(.+)\)$/i,po=/^\d+(?:\.\d+)?\/\d+(?:\.\d+)?$/,bo=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,uo=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,fo=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,go=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,ho=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,P=e=>po.test(e),m=e=>!!e&&!Number.isNaN(Number(e)),M=e=>!!e&&Number.isInteger(Number(e)),ie=e=>e.endsWith("%")&&m(e.slice(0,-1)),I=e=>bo.test(e),Le=()=>!0,ko=e=>uo.test(e)&&!fo.test(e),ce=()=>!1,xo=e=>go.test(e),wo=e=>ho.test(e),vo=e=>!n(e)&&!a(e),yo=e=>e.startsWith("@container")&&(e[10]==="/"&&e[11]!==void 0||e[11]==="s"&&e[16]!==void 0&&e.startsWith("-size/",10)||e[11]==="n"&&e[18]!==void 0&&e.startsWith("-normal/",10)),zo=e=>L(e,Te,ce),n=e=>Ie.test(e),$=e=>L(e,Ee,ko),Se=e=>L(e,Lo,m),Go=e=>L(e,Be,Le),Co=e=>L(e,qe,ce),We=e=>L(e,$e,ce),jo=e=>L(e,Ae,wo),X=e=>L(e,_e,xo),a=e=>Pe.test(e),F=e=>A(e,Ee),Mo=e=>A(e,qe),Oe=e=>A(e,$e),No=e=>A(e,Te),Io=e=>A(e,Ae),Y=e=>A(e,_e,!0),Po=e=>A(e,Be,!0),L=(e,t,o)=>{const r=Ie.exec(e);return r?r[1]?t(r[1]):o(r[2]):!1},A=(e,t,o=!1)=>{const r=Pe.exec(e);return r?r[1]?t(r[1]):o:!1},$e=e=>e==="position"||e==="percentage",Ae=e=>e==="image"||e==="url",Te=e=>e==="length"||e==="size"||e==="bg-size",Ee=e=>e==="length",Lo=e=>e==="number",qe=e=>e==="family-name",Be=e=>e==="number"||e==="weight",_e=e=>e==="shadow",Re=()=>{const e=f("color"),t=f("font"),o=f("text"),r=f("font-weight"),s=f("tracking"),l=f("leading"),d=f("breakpoint"),b=f("container"),u=f("spacing"),p=f("radius"),z=f("shadow"),h=f("inset-shadow"),S=f("text-shadow"),j=f("drop-shadow"),R=f("blur"),w=f("perspective"),G=f("aspect"),W=f("ease"),v=f("animate"),D=()=>["auto","avoid","all","avoid-page","page","left","right","column"],T=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],E=()=>[...T(),a,n],q=()=>["auto","hidden","clip","visible","scroll"],N=()=>["auto","contain","none"],i=()=>[a,n,u],y=()=>[P,"full","auto",...i()],me=()=>[M,"none","subgrid",a,n],pe=()=>["auto",{span:["full",M,a,n]},M,a,n],H=()=>[M,"auto",a,n],be=()=>["auto","min","max","fr",a,n],oe=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],C=()=>["auto",...i()],O=()=>[P,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...i()],re=()=>[P,"screen","full","dvw","lvw","svw","min","max","fit",...i()],te=()=>[P,"screen","full","lh","dvh","lvh","svh","min","max","fit",...i()],c=()=>[e,a,n],ue=()=>[...T(),Oe,We,{position:[a,n]}],fe=()=>["no-repeat",{repeat:["","x","y","space","round"]}],ge=()=>["auto","cover","contain",No,zo,{size:[a,n]}],se=()=>[ie,F,$],k=()=>["","none","full",p,a,n],x=()=>["",m,F,$],J=()=>["solid","dashed","dotted","double"],he=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],g=()=>[m,ie,Oe,We],ke=()=>["","none",R,a,n],K=()=>["none",m,a,n],Q=()=>["none",m,a,n],ne=()=>[m,a,n],U=()=>[P,"full",...i()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[I],breakpoint:[I],color:[Le],container:[I],"drop-shadow":[I],ease:["in","out","in-out"],font:[vo],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[I],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[I],shadow:[I],spacing:["px",m],text:[I],"text-shadow":[I],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",P,n,a,G]}],container:["container"],"container-type":[{"@container":["","normal","size",a,n]}],"container-named":[yo],columns:[{columns:[m,n,a,b]}],"break-after":[{"break-after":D()}],"break-before":[{"break-before":D()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:E()}],overflow:[{overflow:q()}],"overflow-x":[{"overflow-x":q()}],"overflow-y":[{"overflow-y":q()}],overscroll:[{overscroll:N()}],"overscroll-x":[{"overscroll-x":N()}],"overscroll-y":[{"overscroll-y":N()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:y()}],"inset-x":[{"inset-x":y()}],"inset-y":[{"inset-y":y()}],start:[{"inset-s":y(),start:y()}],end:[{"inset-e":y(),end:y()}],"inset-bs":[{"inset-bs":y()}],"inset-be":[{"inset-be":y()}],top:[{top:y()}],right:[{right:y()}],bottom:[{bottom:y()}],left:[{left:y()}],visibility:["visible","invisible","collapse"],z:[{z:[M,"auto",a,n]}],basis:[{basis:[P,"full","auto",b,...i()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[m,P,"auto","initial","none",n]}],grow:[{grow:["",m,a,n]}],shrink:[{shrink:["",m,a,n]}],order:[{order:[M,"first","last","none",a,n]}],"grid-cols":[{"grid-cols":me()}],"col-start-end":[{col:pe()}],"col-start":[{"col-start":H()}],"col-end":[{"col-end":H()}],"grid-rows":[{"grid-rows":me()}],"row-start-end":[{row:pe()}],"row-start":[{"row-start":H()}],"row-end":[{"row-end":H()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":be()}],"auto-rows":[{"auto-rows":be()}],gap:[{gap:i()}],"gap-x":[{"gap-x":i()}],"gap-y":[{"gap-y":i()}],"justify-content":[{justify:[...oe(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...oe()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":oe()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:i()}],px:[{px:i()}],py:[{py:i()}],ps:[{ps:i()}],pe:[{pe:i()}],pbs:[{pbs:i()}],pbe:[{pbe:i()}],pt:[{pt:i()}],pr:[{pr:i()}],pb:[{pb:i()}],pl:[{pl:i()}],m:[{m:C()}],mx:[{mx:C()}],my:[{my:C()}],ms:[{ms:C()}],me:[{me:C()}],mbs:[{mbs:C()}],mbe:[{mbe:C()}],mt:[{mt:C()}],mr:[{mr:C()}],mb:[{mb:C()}],ml:[{ml:C()}],"space-x":[{"space-x":i()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":i()}],"space-y-reverse":["space-y-reverse"],size:[{size:O()}],"inline-size":[{inline:["auto",...re()]}],"min-inline-size":[{"min-inline":["auto",...re()]}],"max-inline-size":[{"max-inline":["none",...re()]}],"block-size":[{block:["auto",...te()]}],"min-block-size":[{"min-block":["auto",...te()]}],"max-block-size":[{"max-block":["none",...te()]}],w:[{w:[b,"screen",...O()]}],"min-w":[{"min-w":[b,"screen","none",...O()]}],"max-w":[{"max-w":[b,"screen","none","prose",{screen:[d]},...O()]}],h:[{h:["screen","lh",...O()]}],"min-h":[{"min-h":["screen","lh","none",...O()]}],"max-h":[{"max-h":["screen","lh",...O()]}],"font-size":[{text:["base",o,F,$]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[r,Po,Go]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",ie,n]}],"font-family":[{font:[Mo,Co,t]}],"font-features":[{"font-features":[n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[s,a,n]}],"line-clamp":[{"line-clamp":[m,"none",a,Se]}],leading:[{leading:[l,...i()]}],"list-image":[{"list-image":["none",a,n]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",a,n]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:c()}],"text-color":[{text:c()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...J(),"wavy"]}],"text-decoration-thickness":[{decoration:[m,"from-font","auto",a,$]}],"text-decoration-color":[{decoration:c()}],"underline-offset":[{"underline-offset":[m,"auto",a,n]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:i()}],"tab-size":[{tab:[M,a,n]}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",a,n]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",a,n]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ue()}],"bg-repeat":[{bg:fe()}],"bg-size":[{bg:ge()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},M,a,n],radial:["",a,n],conic:[M,a,n]},Io,jo]}],"bg-color":[{bg:c()}],"gradient-from-pos":[{from:se()}],"gradient-via-pos":[{via:se()}],"gradient-to-pos":[{to:se()}],"gradient-from":[{from:c()}],"gradient-via":[{via:c()}],"gradient-to":[{to:c()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:x()}],"border-w-x":[{"border-x":x()}],"border-w-y":[{"border-y":x()}],"border-w-s":[{"border-s":x()}],"border-w-e":[{"border-e":x()}],"border-w-bs":[{"border-bs":x()}],"border-w-be":[{"border-be":x()}],"border-w-t":[{"border-t":x()}],"border-w-r":[{"border-r":x()}],"border-w-b":[{"border-b":x()}],"border-w-l":[{"border-l":x()}],"divide-x":[{"divide-x":x()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":x()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...J(),"hidden","none"]}],"divide-style":[{divide:[...J(),"hidden","none"]}],"border-color":[{border:c()}],"border-color-x":[{"border-x":c()}],"border-color-y":[{"border-y":c()}],"border-color-s":[{"border-s":c()}],"border-color-e":[{"border-e":c()}],"border-color-bs":[{"border-bs":c()}],"border-color-be":[{"border-be":c()}],"border-color-t":[{"border-t":c()}],"border-color-r":[{"border-r":c()}],"border-color-b":[{"border-b":c()}],"border-color-l":[{"border-l":c()}],"divide-color":[{divide:c()}],"outline-style":[{outline:[...J(),"none","hidden"]}],"outline-offset":[{"outline-offset":[m,a,n]}],"outline-w":[{outline:["",m,F,$]}],"outline-color":[{outline:c()}],shadow:[{shadow:["","none",z,Y,X]}],"shadow-color":[{shadow:c()}],"inset-shadow":[{"inset-shadow":["none",h,Y,X]}],"inset-shadow-color":[{"inset-shadow":c()}],"ring-w":[{ring:x()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:c()}],"ring-offset-w":[{"ring-offset":[m,$]}],"ring-offset-color":[{"ring-offset":c()}],"inset-ring-w":[{"inset-ring":x()}],"inset-ring-color":[{"inset-ring":c()}],"text-shadow":[{"text-shadow":["none",S,Y,X]}],"text-shadow-color":[{"text-shadow":c()}],opacity:[{opacity:[m,a,n]}],"mix-blend":[{"mix-blend":[...he(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":he()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[m]}],"mask-image-linear-from-pos":[{"mask-linear-from":g()}],"mask-image-linear-to-pos":[{"mask-linear-to":g()}],"mask-image-linear-from-color":[{"mask-linear-from":c()}],"mask-image-linear-to-color":[{"mask-linear-to":c()}],"mask-image-t-from-pos":[{"mask-t-from":g()}],"mask-image-t-to-pos":[{"mask-t-to":g()}],"mask-image-t-from-color":[{"mask-t-from":c()}],"mask-image-t-to-color":[{"mask-t-to":c()}],"mask-image-r-from-pos":[{"mask-r-from":g()}],"mask-image-r-to-pos":[{"mask-r-to":g()}],"mask-image-r-from-color":[{"mask-r-from":c()}],"mask-image-r-to-color":[{"mask-r-to":c()}],"mask-image-b-from-pos":[{"mask-b-from":g()}],"mask-image-b-to-pos":[{"mask-b-to":g()}],"mask-image-b-from-color":[{"mask-b-from":c()}],"mask-image-b-to-color":[{"mask-b-to":c()}],"mask-image-l-from-pos":[{"mask-l-from":g()}],"mask-image-l-to-pos":[{"mask-l-to":g()}],"mask-image-l-from-color":[{"mask-l-from":c()}],"mask-image-l-to-color":[{"mask-l-to":c()}],"mask-image-x-from-pos":[{"mask-x-from":g()}],"mask-image-x-to-pos":[{"mask-x-to":g()}],"mask-image-x-from-color":[{"mask-x-from":c()}],"mask-image-x-to-color":[{"mask-x-to":c()}],"mask-image-y-from-pos":[{"mask-y-from":g()}],"mask-image-y-to-pos":[{"mask-y-to":g()}],"mask-image-y-from-color":[{"mask-y-from":c()}],"mask-image-y-to-color":[{"mask-y-to":c()}],"mask-image-radial":[{"mask-radial":[a,n]}],"mask-image-radial-from-pos":[{"mask-radial-from":g()}],"mask-image-radial-to-pos":[{"mask-radial-to":g()}],"mask-image-radial-from-color":[{"mask-radial-from":c()}],"mask-image-radial-to-color":[{"mask-radial-to":c()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":T()}],"mask-image-conic-pos":[{"mask-conic":[m]}],"mask-image-conic-from-pos":[{"mask-conic-from":g()}],"mask-image-conic-to-pos":[{"mask-conic-to":g()}],"mask-image-conic-from-color":[{"mask-conic-from":c()}],"mask-image-conic-to-color":[{"mask-conic-to":c()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ue()}],"mask-repeat":[{mask:fe()}],"mask-size":[{mask:ge()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",a,n]}],filter:[{filter:["","none",a,n]}],blur:[{blur:ke()}],brightness:[{brightness:[m,a,n]}],contrast:[{contrast:[m,a,n]}],"drop-shadow":[{"drop-shadow":["","none",j,Y,X]}],"drop-shadow-color":[{"drop-shadow":c()}],grayscale:[{grayscale:["",m,a,n]}],"hue-rotate":[{"hue-rotate":[m,a,n]}],invert:[{invert:["",m,a,n]}],saturate:[{saturate:[m,a,n]}],sepia:[{sepia:["",m,a,n]}],"backdrop-filter":[{"backdrop-filter":["","none",a,n]}],"backdrop-blur":[{"backdrop-blur":ke()}],"backdrop-brightness":[{"backdrop-brightness":[m,a,n]}],"backdrop-contrast":[{"backdrop-contrast":[m,a,n]}],"backdrop-grayscale":[{"backdrop-grayscale":["",m,a,n]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[m,a,n]}],"backdrop-invert":[{"backdrop-invert":["",m,a,n]}],"backdrop-opacity":[{"backdrop-opacity":[m,a,n]}],"backdrop-saturate":[{"backdrop-saturate":[m,a,n]}],"backdrop-sepia":[{"backdrop-sepia":["",m,a,n]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":i()}],"border-spacing-x":[{"border-spacing-x":i()}],"border-spacing-y":[{"border-spacing-y":i()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",a,n]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[m,"initial",a,n]}],ease:[{ease:["linear","initial",W,a,n]}],delay:[{delay:[m,a,n]}],animate:[{animate:["none",v,a,n]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[w,a,n]}],"perspective-origin":[{"perspective-origin":E()}],rotate:[{rotate:K()}],"rotate-x":[{"rotate-x":K()}],"rotate-y":[{"rotate-y":K()}],"rotate-z":[{"rotate-z":K()}],scale:[{scale:Q()}],"scale-x":[{"scale-x":Q()}],"scale-y":[{"scale-y":Q()}],"scale-z":[{"scale-z":Q()}],"scale-3d":["scale-3d"],skew:[{skew:ne()}],"skew-x":[{"skew-x":ne()}],"skew-y":[{"skew-y":ne()}],transform:[{transform:[a,n,"","none","gpu","cpu"]}],"transform-origin":[{origin:E()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:U()}],"translate-x":[{"translate-x":U()}],"translate-y":[{"translate-y":U()}],"translate-z":[{"translate-z":U()}],"translate-none":["translate-none"],zoom:[{zoom:[M,a,n]}],accent:[{accent:c()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:c()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",a,n]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scrollbar-thumb-color":[{"scrollbar-thumb":c()}],"scrollbar-track-color":[{"scrollbar-track":c()}],"scrollbar-gutter":[{"scrollbar-gutter":["auto","stable","both"]}],"scrollbar-w":[{scrollbar:["auto","thin","none"]}],"scroll-m":[{"scroll-m":i()}],"scroll-mx":[{"scroll-mx":i()}],"scroll-my":[{"scroll-my":i()}],"scroll-ms":[{"scroll-ms":i()}],"scroll-me":[{"scroll-me":i()}],"scroll-mbs":[{"scroll-mbs":i()}],"scroll-mbe":[{"scroll-mbe":i()}],"scroll-mt":[{"scroll-mt":i()}],"scroll-mr":[{"scroll-mr":i()}],"scroll-mb":[{"scroll-mb":i()}],"scroll-ml":[{"scroll-ml":i()}],"scroll-p":[{"scroll-p":i()}],"scroll-px":[{"scroll-px":i()}],"scroll-py":[{"scroll-py":i()}],"scroll-ps":[{"scroll-ps":i()}],"scroll-pe":[{"scroll-pe":i()}],"scroll-pbs":[{"scroll-pbs":i()}],"scroll-pbe":[{"scroll-pbe":i()}],"scroll-pt":[{"scroll-pt":i()}],"scroll-pr":[{"scroll-pr":i()}],"scroll-pb":[{"scroll-pb":i()}],"scroll-pl":[{"scroll-pl":i()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",a,n]}],fill:[{fill:["none",...c()]}],"stroke-w":[{stroke:[m,F,$,Se]}],stroke:[{stroke:["none",...c()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{"container-named":["container-type"],overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","inset-bs","inset-be","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pbs","pbe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mbs","mbe","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-bs","border-w-be","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-bs","border-color-be","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mbs","scroll-mbe","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pbs","scroll-pbe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},postfixLookupClassGroups:["container-type"],orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},So=(e,{cacheSize:t,prefix:o,experimentalParseClassName:r,extend:s={},override:l={}})=>(_(e,"cacheSize",t),_(e,"prefix",o),_(e,"experimentalParseClassName",r),Z(e.theme,l.theme),Z(e.classGroups,l.classGroups),Z(e.conflictingClassGroups,l.conflictingClassGroups),Z(e.conflictingClassGroupModifiers,l.conflictingClassGroupModifiers),_(e,"postfixLookupClassGroups",l.postfixLookupClassGroups),_(e,"orderSensitiveModifiers",l.orderSensitiveModifiers),ee(e.theme,s.theme),ee(e.classGroups,s.classGroups),ee(e.conflictingClassGroups,s.conflictingClassGroups),ee(e.conflictingClassGroupModifiers,s.conflictingClassGroupModifiers),de(e,s,"postfixLookupClassGroups"),de(e,s,"orderSensitiveModifiers"),e),_=(e,t,o)=>{o!==void 0&&(e[t]=o)},Z=(e,t)=>{if(t)for(const o in t)_(e,o,t[o])},ee=(e,t)=>{if(t)for(const o in t)de(e,t,o)},de=(e,t,o)=>{const r=t[o];r!==void 0&&(e[o]=e[o]?e[o].concat(r):r)},Wo=(e,...t)=>typeof e=="function"?Ne(Re,e,...t):Ne(()=>So(Re(),e),...t),Oo=Wo({extend:{classGroups:{"font-size":[{text:["micro","caption","meta","compact","body","title"]}]}}});function $o(...e){return Oo(we(e))}export{we as a,$o as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as f,
|
|
1
|
+
import{s as f,p as d,q as p,i as u,c as s,S as b,A as $,J,t as g,g as L,h as P,a as q,d as A,b as E,e as M}from"./define-CGGX-7Vg.js";import{c as m}from"./cn-DN5AWfiS.js";import{c as R}from"./check-DPeeMUYx.js";import{c as B}from"./copy-B6DO4PqB.js";const D={bash:()=>import("./bash-InADTalH.js"),javascript:()=>import("./javascript-C25yR2R2.js"),typescript:()=>import("./typescript-RycA9KXf.js"),tsx:()=>import("./tsx-B8rCNbgL.js"),html:()=>import("./html-CPZ3oZQ7.js"),css:()=>import("./css-M7EaDHN_.js"),json:()=>import("./json-DxJze_jm.js"),vue:()=>import("./vue-BmIZj4XD.js"),svelte:()=>import("./svelte--5p79yCD.js")},F={"github-dark-dimmed":()=>import("./github-dark-dimmed-DUshB20C.js"),"github-light":()=>import("./github-light-JYsPkUQd.js")},G={js:"javascript",ts:"typescript",jsx:"tsx",sh:"bash",shell:"bash"},w="github-dark-dimmed";let I={...D},K={...F},N={...G},v=null;const y=new Set,T=new Set;function O(){return v||(v=(async()=>{const[{createHighlighterCore:e},{createJavaScriptRegexEngine:t}]=await Promise.all([import("./core-AYMC6_lb.js"),import("./engine-javascript-vq0WuIJl.js")]);return e({themes:[],langs:[],engine:t()})})()),v}function j(e){return N[e]??e}async function Q(e,t){const n=j(t);if(y.has(n))return!0;const r=I[n];return r?(await e.loadLanguage(r()),y.add(n),!0):!1}async function k(e,t){if(T.has(t))return!0;const n=K[t];return n?(await e.loadTheme(n()),T.add(t),!0):!1}function U(e){return e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">")}function h(e){return`<pre><code>${U(e)}</code></pre>`}async function V(e,t,n){if(!e)return h(e);try{const r=await O();if(!await Q(r,t))return h(e);const a=await k(r,n)?n:await k(r,w)?w:null;return a?r.codeToHtml(e,{lang:j(t),theme:a}):h(e)}catch{return h(e)}}var W=g("<button type=button part=copy>"),C=g("<div>"),X=g("<div tabindex=0>"),Y=g("<div tabindex=0><pre><code>");const Z=2e3;function _(e){const[t,n]=L(!1);let r;return P(()=>clearTimeout(r)),(()=>{var a=W();return a.$$click=()=>{var i;Promise.resolve((i=navigator.clipboard)==null?void 0:i.writeText(e.text)).catch(()=>{}),n(!0),clearTimeout(r),r=setTimeout(()=>n(!1),Z)},u(a,s(b,{get when(){return t()},get fallback(){return s(B,{size:14,"aria-hidden":"true"})},get children(){return s(R,{size:14,"aria-hidden":"true",class:"text-emerald-500"})}})),q(i=>{var l=t()?"Copied":"Copy code",c=m("inline-flex items-center justify-center rounded-md p-1.5","text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring");return l!==i.e&&A(a,"aria-label",i.e=l),c!==i.t&&E(a,i.t=c),i},{e:void 0,t:void 0}),a})()}function ee(e){const[t,n]=f(e,["children","class","copy","copyText"]);return(()=>{var r=C();return d(r,p({get class(){return m("not-prose flex w-full flex-col overflow-clip border","border-border bg-card text-card-foreground","rounded-[var(--kai-code-radius,0.75rem)]",t.class)}},n),!1,!0),u(r,s(b,{get when(){return t.copy},get children(){return s(re,{class:"justify-end border-b border-border px-2 py-1",get children(){return s(_,{get text(){return t.copyText??""}})}})}}),null),u(r,()=>t.children,null),r})()}function te(e){const[t,n]=f(e,["code","language","theme","class"]),r=$(),a=()=>t.language??"tsx",i=()=>t.theme??r.codeTheme(),l=()=>r.codeHighlight(),[c]=J(()=>l()?{code:t.code,lang:a(),theme:i()}:null,o=>V(o.code,o.lang,o.theme)),S=()=>{switch(r.proseSize()){case"xs":return"text-caption";case"sm":return"text-compact";case"base":return"text-sm";case"lg":return"text-base"}},x=()=>m("w-full overflow-x-auto kai-focus-inset [&>pre]:px-4 [&>pre]:py-4",S(),t.class);return s(b,{get when(){return c()},get fallback(){return(()=>{var o=Y(),H=o.firstChild,z=H.firstChild;return d(o,p({get class(){return x()}},n),!1,!0),u(z,()=>t.code),o})()},get children(){var o=X();return d(o,p({get class(){return x()},get innerHTML(){return c()}},n),!1,!1),o}})}function re(e){const[t,n]=f(e,["children","class"]);return(()=>{var r=C();return d(r,p({get class(){return m("flex items-center justify-between",t.class)}},n),!1,!0),u(r,()=>t.children),r})()}M(["click"]);export{ee as C,te as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as c,g as k,w as I,c as y,
|
|
1
|
+
import{s as c,g as k,w as I,c as y,p,q as u,i as v,m as h,a as R,H as q,b as B,t as g,B as E,G as H}from"./define-CGGX-7Vg.js";import{c as C}from"./cn-DN5AWfiS.js";var P=g("<div>"),G=g("<button>"),N=g("<div><div>");const w=E(),m=()=>{const o=H(w);if(!o)throw new Error("Collapsible parts must be used within <Collapsible>");return o};function S(o){var n;const[e,l]=c(o,["open","defaultOpen","onOpenChange","disabled","controllerRef","children","class"]),[r,a]=k(e.defaultOpen??!1),s=()=>e.open!==void 0,t=()=>s()?!!e.open:r(),i=()=>!!e.disabled,f=d=>{var b;t()!==d&&(s()||a(d),(b=e.onOpenChange)==null||b.call(e,d))},x=()=>{i()||f(!t())};(n=e.controllerRef)==null||n.call(e,{open:t,setOpen:f});const O=I();return y(w.Provider,{value:{open:t,toggle:x,contentId:O,disabled:i},get children(){var d=P();return p(d,u({get class(){return e.class}},l,{get"data-expanded"(){return t()?"":void 0},get"data-closed"(){return t()?void 0:""},get"data-state"(){return t()?"open":"closed"}}),!1,!0),v(d,()=>e.children),d}})}function U(o){const n=m(),[e,l]=c(o,["children","class","as","onClick"]),r=()=>({type:"button","aria-expanded":n.open(),"aria-controls":n.contentId,disabled:n.disabled()||void 0,"data-expanded":n.open()?"":void 0,"data-closed":n.open()?void 0:"","data-state":n.open()?"open":"closed",onClick:a=>{n.disabled()||(typeof e.onClick=="function"&&e.onClick(a),n.toggle())},class:e.class,...l});return h(()=>h(()=>!!e.as)()?e.as(r()):(()=>{var a=G();return p(a,u(r),!1,!0),v(a,()=>e.children),a})())}function _(o){const n=m(),[e,l]=c(o,["children","class"]);return(()=>{var r=N(),a=r.firstChild;return p(r,u(l,{get id(){return n.contentId},get"data-expanded"(){return n.open()?"":void 0},get"data-closed"(){return n.open()?void 0:""},get class(){return C("grid transition-[grid-template-rows] duration-200 ease-out",n.open()?"grid-rows-[1fr]":"grid-rows-[0fr]")}}),!1,!0),v(a,()=>e.children),R(s=>{var t=!n.open(),i=C("overflow-hidden",e.class);return t!==s.e&&q(r,"inert",s.e=t),i!==s.t&&B(a,s.t=i),s},{e:void 0,t:void 0}),r})()}export{S as C,U as a,_ as b};
|
|
@@ -5,6 +5,13 @@ export interface AttachmentData {
|
|
|
5
5
|
type: 'file' | 'source-document';
|
|
6
6
|
filename?: string;
|
|
7
7
|
mediaType?: string;
|
|
8
|
+
/** A `data:` URI or an https URL — this is the field the wire encodes, so it
|
|
9
|
+
* is what reaches the model. NEVER `URL.createObjectURL`: an object URL
|
|
10
|
+
* resolves only inside the tab that minted it, so a `blob:` URL renders a
|
|
11
|
+
* flawless preview and is meaningless to any provider —
|
|
12
|
+
* `toOpenAIMessages`/`toAnthropicMessages` refuse it rather than send an
|
|
13
|
+
* address the model cannot fetch. Read picked files with
|
|
14
|
+
* `FileReader.readAsDataURL` instead (see `elements/default-input.tsx`). */
|
|
8
15
|
url?: string;
|
|
9
16
|
title?: string;
|
|
10
17
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Accessor } from 'solid-js';
|
|
2
2
|
/**
|
|
3
|
-
* Fit-to-container scaling
|
|
3
|
+
* Fit-to-container scaling: the size tiers are fixed
|
|
4
4
|
* px by design (`sizes.ts`), so a container narrower than a tier's natural
|
|
5
5
|
* footprint used to CLIP the picture at its edges. The dispatcher now scales
|
|
6
6
|
* the WHOLE visualization down proportionally to fit, and renders byte-equal
|
|
@@ -51,6 +51,19 @@ export interface CardRendererProps {
|
|
|
51
51
|
* supplied through `schemas` — is never validated either way.
|
|
52
52
|
*/
|
|
53
53
|
validateCards?: boolean;
|
|
54
|
+
/**
|
|
55
|
+
* The custom-element host node to emit off when no `CardProvider` is above this
|
|
56
|
+
* renderer: events leave as the bubbling, composed `kai-card` CustomEvent
|
|
57
|
+
* (`emitCardEvent`), so `listenForCardEvents(element)` — or a plain
|
|
58
|
+
* `addEventListener('kai-card', …)` on the element — receives them.
|
|
59
|
+
*
|
|
60
|
+
* This is what makes cards INSIDE `<kai-chat>`/`<kai-message>`/`<kai-thread>`
|
|
61
|
+
* interactive: those facades pass their own host element down here, and
|
|
62
|
+
* with neither this nor a `CardProvider` every emit — ready/action/submit/
|
|
63
|
+
* dismiss/reopen and the contract `error` — used to be silently discarded.
|
|
64
|
+
* An ambient `CardProvider` still wins when present.
|
|
65
|
+
*/
|
|
66
|
+
hostElement?: HTMLElement;
|
|
54
67
|
}
|
|
55
68
|
/**
|
|
56
69
|
* True when the consumer registered a schema for this type.
|
|
@@ -16,6 +16,10 @@ export interface CardProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
|
16
16
|
/** Stable id for the heading (so composing cards can `aria-labelledby` it).
|
|
17
17
|
* Auto-generated when omitted. */
|
|
18
18
|
headingId?: string;
|
|
19
|
+
/** Stable id for the description (so composing cards can `aria-describedby` it
|
|
20
|
+
* — e.g. `kai-choice`'s radiogroup points at its prompt). Auto-generated when
|
|
21
|
+
* omitted, mirroring `headingId`. */
|
|
22
|
+
descriptionId?: string;
|
|
19
23
|
/** Render a dismiss (×) button that hides the card and calls `onDismiss`.
|
|
20
24
|
* Opt-in, OFF by default — the contract cards never set it, so they are
|
|
21
25
|
* unaffected. */
|
|
@@ -9,6 +9,7 @@ import { ProseSize } from '../primitives/chat-config.js';
|
|
|
9
9
|
import { ModelOption } from '../types.js';
|
|
10
10
|
import { CardComponentMap } from '../primitives/card-registry.js';
|
|
11
11
|
import { CardSchemaMap } from './card-renderer.js';
|
|
12
|
+
import { JSX } from 'solid-js';
|
|
12
13
|
export interface ChatThreadContextUsage {
|
|
13
14
|
usedTokens: number;
|
|
14
15
|
maxTokens: number;
|
|
@@ -33,6 +34,11 @@ export interface ChatThreadProps {
|
|
|
33
34
|
* the kit checks its own seven built-ins and leaves your own card type
|
|
34
35
|
* unvalidated. A schema here WINS over a built-in of the same name. */
|
|
35
36
|
cardSchemas?: CardSchemaMap;
|
|
37
|
+
/** The custom-element host node to emit card events off when no `CardProvider`
|
|
38
|
+
* is present, forwarded through `MessageBody` to `CardRenderer`. The
|
|
39
|
+
* element facades pass their own host element so card events leave as the
|
|
40
|
+
* bubbling `kai-card` CustomEvent. */
|
|
41
|
+
cardHostElement?: HTMLElement;
|
|
36
42
|
/** Value of the input. A **string** is controlled (the host owns the text and
|
|
37
43
|
* updates it on `kai-value-change`). A **ComposerDoc** is a one-time seed that
|
|
38
44
|
* pre-populates pills; the user then edits freely. Leave unset for uncontrolled. */
|
|
@@ -61,6 +67,19 @@ export interface ChatThreadProps {
|
|
|
61
67
|
/** Enable Shiki syntax highlighting in code blocks. Turn off to render plain
|
|
62
68
|
* `<pre>` blocks (lighter, no highlighter load). Default true. */
|
|
63
69
|
codeHighlight?: boolean;
|
|
70
|
+
/** How `reasoning` parts render across the thread. `'full'` (default) is the
|
|
71
|
+
* current collapsible-disclosure behavior; `'compact'` shows only a shimmer
|
|
72
|
+
* loader while a reasoning part streams and nothing once it settles (no
|
|
73
|
+
* expandable detail); `'off'` renders reasoning parts not at all. Forwarded
|
|
74
|
+
* to every `MessageBody` as `reasoningMode`. */
|
|
75
|
+
reasoning?: 'full' | 'compact' | 'off';
|
|
76
|
+
/** Seeds the reasoning disclosure open AND keeps it tracking the stream
|
|
77
|
+
* (open while streaming, closes when it settles): the pre-Task-19f `full`
|
|
78
|
+
* behavior. Default false/absent: the panel starts closed (just the
|
|
79
|
+
* "Thinking" shimmer chip) and only opens on click, the current default
|
|
80
|
+
* (owner ruling, 2026-08-26). Meaningless when `reasoning` is `'compact'`
|
|
81
|
+
* or `'off'`. Forwarded to every `MessageBody` as `reasoningDefaultOpen`. */
|
|
82
|
+
reasoningOpen?: boolean;
|
|
64
83
|
/** Optional header title shown on the left of the header. */
|
|
65
84
|
chatTitle?: string;
|
|
66
85
|
/** Optional model list. When set (>1 model) a ModelSwitcher is shown in the
|
|
@@ -78,12 +97,34 @@ export interface ChatThreadProps {
|
|
|
78
97
|
headerStart?: boolean;
|
|
79
98
|
/** Whether the host has `slot="header-end"` content (right of the controls). */
|
|
80
99
|
headerEnd?: boolean;
|
|
100
|
+
/** Extra content rendered in the header-end region, AFTER `slot="header-end"`.
|
|
101
|
+
* This is a JSX escape hatch for a caller composing `ChatThread` directly as a
|
|
102
|
+
* Solid component (no shadow-DOM host, so there is no light-DOM node to slot) —
|
|
103
|
+
* the `kai-dock`-docked construct widget is the motivating case: it needs its
|
|
104
|
+
* own close affordance to sit IN the header row, sharing it with the title
|
|
105
|
+
* instead of floating as a second control with no visible relationship to the
|
|
106
|
+
* chat surface. Renders alongside the named slot rather than replacing it, so a
|
|
107
|
+
* real `slot="header-end"` consumer and this prop can both be present. Counts
|
|
108
|
+
* toward `showHeader()` the same as `headerEnd`, so a construct with no title
|
|
109
|
+
* and only this content still gets a header row to sit in. */
|
|
110
|
+
headerEndContent?: JSX.Element;
|
|
81
111
|
/** REPLACE: full custom header in place of the built-in title/model/context bar. */
|
|
82
112
|
headerFull?: boolean;
|
|
83
113
|
/** INJECT: left sidebar column (e.g. a conversation list / your own nav). */
|
|
84
114
|
sidebar?: boolean;
|
|
85
115
|
/** REPLACE: custom zero-state rendered in the message area while the thread is empty (replaces the empty message list only; the composer and its suggestions still render). */
|
|
86
116
|
empty?: boolean;
|
|
117
|
+
/** REPLACE, JSX form: the empty-state content itself, for a caller composing
|
|
118
|
+
* `ChatThread` directly as a Solid component rather than through the `<kai-chat>`
|
|
119
|
+
* shadow-DOM boundary that `empty`/`slot="empty"` targets. Renders INSIDE this
|
|
120
|
+
* component's own tree — so a caller passing the kit's own `<Empty>` composition
|
|
121
|
+
* (`components/empty.tsx`) gets it fully styled by the adopted stylesheet, unlike
|
|
122
|
+
* `slot="empty"`: that slot only ever receives LIGHT-DOM children of the shadow
|
|
123
|
+
* HOST, and light-DOM nodes are outside the shadow root's adopted stylesheets, so
|
|
124
|
+
* Tailwind-utility-class content projected there renders bare. Takes priority
|
|
125
|
+
* over `empty`/`slot="empty"` when both are set — the two are alternate delivery
|
|
126
|
+
* mechanisms for the same region, not additive like `headerEndContent`. */
|
|
127
|
+
emptyContent?: JSX.Element;
|
|
87
128
|
/** REPLACE: full custom composer in place of the built-in prompt input. The
|
|
88
129
|
* projected content wires its own submit (the data-flow boundary). */
|
|
89
130
|
composer?: boolean;
|
|
@@ -98,6 +139,10 @@ export interface ChatThreadProps {
|
|
|
98
139
|
accept?: MediaTypeFilter;
|
|
99
140
|
/** Files the composer refused because `accept` excluded them. */
|
|
100
141
|
onAttachmentsRejected?: (rejected: RejectedAttachment[]) => void;
|
|
142
|
+
/** When `false`, hides the built-in paperclip attach button. Defaults to
|
|
143
|
+
* `true` (undeclared keeps today's behavior: attach visible), matching
|
|
144
|
+
* `DefaultPromptInput`'s own default: only an explicit `false` hides it. */
|
|
145
|
+
attach?: boolean;
|
|
101
146
|
/** Show a web-search (Globe) button in the input toolbar; calls `onWebSearch`. */
|
|
102
147
|
webSearch?: boolean;
|
|
103
148
|
/** Show a Voice (Mic) button in the input toolbar; fires a `voice` event. */
|
|
@@ -134,4 +179,4 @@ export interface ChatThreadController {
|
|
|
134
179
|
send(): void;
|
|
135
180
|
scrollToBottom(behavior?: ScrollBehavior): void;
|
|
136
181
|
}
|
|
137
|
-
export declare function ChatThread(props: ChatThreadProps):
|
|
182
|
+
export declare function ChatThread(props: ChatThreadProps): JSX.Element;
|
|
@@ -17,7 +17,7 @@ export interface ConversationItemProps {
|
|
|
17
17
|
export declare function relativeTimeShort(iso?: string, now?: number): string;
|
|
18
18
|
/**
|
|
19
19
|
* The slotted-item shape rendered by `<kai-conversation-item>` — the composed
|
|
20
|
-
* row of the consumer-owned loop
|
|
20
|
+
* row of the consumer-owned loop. Distinct from the
|
|
21
21
|
* data-mode `ConversationItem` above, which batteries mode keeps rendering
|
|
22
22
|
* unchanged: this one takes REGIONS, not a `ConversationSummary`.
|
|
23
23
|
*
|
|
@@ -25,16 +25,19 @@ export declare function relativeTimeShort(iso?: string, now?: number): string;
|
|
|
25
25
|
* title), plus `leading`, `meta`, and `menu`. The `menu` region takes the
|
|
26
26
|
* consumer's OWN popover (rename / fork / archive live there); the component
|
|
27
27
|
* provides only the region plus focus and ARIA plumbing, never a declarative
|
|
28
|
-
* actions prop. Activation
|
|
29
|
-
* (`createConversationItemsController` in
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
28
|
+
* actions prop. Activation has two modes: inside `<kai-conversations>` it
|
|
29
|
+
* lives in the CONTAINER (`createConversationItemsController` in
|
|
30
|
+
* conversation-list.tsx — this row renders no handler and the
|
|
31
|
+
* `data-kai-item-menu` marker on the menu region is what the container's
|
|
32
|
+
* activation guard keys off so a click in the consumer's menu never also
|
|
33
|
+
* selects the row); STANDALONE, `onActivate` makes the row body
|
|
34
|
+
* its own tabbable button-role control — click / Enter / Space — with the menu
|
|
35
|
+
* still outside the control as the body's sibling.
|
|
33
36
|
*
|
|
34
37
|
* ARIA contract for direct Solid use: the row renders `role="listitem"` holding
|
|
35
38
|
* a `role="button"` body (`aria-current` marks the active row, the same dialect
|
|
36
39
|
* as the batteries-mode row above) with the menu as the body's tabbable SIBLING
|
|
37
|
-
* (
|
|
40
|
+
* (axe `nested-interactive` bans focusable descendants of
|
|
38
41
|
* a control, and `aria-required-children` outlaws non-option content anywhere
|
|
39
42
|
* inside a listbox, which is why the vocabulary is not listbox/option). Render
|
|
40
43
|
* your loop's rows inside a `role="list"` ancestor; element mode has no such
|
|
@@ -64,6 +67,15 @@ export interface SlottedConversationItemProps {
|
|
|
64
67
|
* Solid consumers rendering the component directly leave it off and the row
|
|
65
68
|
* itself is the group. */
|
|
66
69
|
hostSemantics?: boolean;
|
|
70
|
+
/** STANDALONE activation: when set, the row body is itself the
|
|
71
|
+
* activation control — `tabindex="0"` on the `role="button"` body, and
|
|
72
|
+
* click / Enter / Space call this. The menu region never triggers it (it is
|
|
73
|
+
* the body's sibling, outside the control). Inside `<kai-conversations>`
|
|
74
|
+
* leave it UNSET: the container's controller owns activation (its delegated
|
|
75
|
+
* click/keydown → `kai-conversation-select`) plus roving tabindex, and a
|
|
76
|
+
* handler here would double-fire. The `kai-conversation-item` facade passes
|
|
77
|
+
* it only when the item is standalone. */
|
|
78
|
+
onActivate?: () => void;
|
|
67
79
|
class?: string;
|
|
68
80
|
}
|
|
69
81
|
export declare function SlottedConversationItem(props: SlottedConversationItemProps): JSX.Element;
|
|
@@ -19,6 +19,18 @@ export declare function CollapsedRail(props: CollapsedRailProps): JSX.Element;
|
|
|
19
19
|
* the plain-HTML spellings (host `id` matches the `<kai-conversation>`
|
|
20
20
|
* data-carrier precedent). */
|
|
21
21
|
export declare function readConversationItemId(el: Element): string;
|
|
22
|
+
/** Whether a `<kai-conversation-item>` is STANDALONE — outside the management
|
|
23
|
+
* of a `<kai-conversations>` container — and therefore activates ITSELF:
|
|
24
|
+
* the facade makes its row body a
|
|
25
|
+
* tabbable button and fires `kai-select` on click / Enter / Space. Derived
|
|
26
|
+
* from the container's own membership rule, not from mere ancestry: item mode
|
|
27
|
+
* queries `:scope > kai-conversation-item` (direct children only), so an item
|
|
28
|
+
* wrapped in another element inside a container is standalone too — the
|
|
29
|
+
* container's controller never stamps or activates it. Inside a container
|
|
30
|
+
* (a direct child), the parent-item contract is the ONLY activation
|
|
31
|
+
* path: the container dispatches `kai-conversation-select` and owns roving
|
|
32
|
+
* tabindex, and the item fires nothing of its own. */
|
|
33
|
+
export declare function isStandaloneConversationItem(el: Element): boolean;
|
|
22
34
|
export interface ConversationItemsControllerOptions {
|
|
23
35
|
/** The current slotted item hosts, in DOM order. */
|
|
24
36
|
getItems: () => HTMLElement[];
|
|
@@ -39,7 +51,7 @@ export interface ConversationItemsController {
|
|
|
39
51
|
handleKeyDown(e: KeyboardEvent): void;
|
|
40
52
|
}
|
|
41
53
|
/**
|
|
42
|
-
* The parent-item contract of item mode
|
|
54
|
+
* The parent-item contract of item mode, as a pure-DOM
|
|
43
55
|
* controller so it is host-agnostic: the `kai-conversations` facade wires it over
|
|
44
56
|
* its slotted `kai-conversation-item` children, and the jsdom contract tests
|
|
45
57
|
* drive it over plain nodes. Solid context cannot cross the element boundary
|
|
@@ -54,8 +66,8 @@ export interface ConversationItemsController {
|
|
|
54
66
|
* left alone);
|
|
55
67
|
* - roving tabindex — exactly one body node `tabindex="0"` (the active
|
|
56
68
|
* item's, else the first's), the rest `-1`, re-derived on every `sync()`;
|
|
57
|
-
* menu content keeps its natural tab order (it is the body's SIBLING,
|
|
58
|
-
*
|
|
69
|
+
* menu content keeps its natural tab order (it is the body's SIBLING, not a
|
|
70
|
+
* descendant);
|
|
59
71
|
* - activation (click / Enter / Space) calls `onSelect` with the item's id, and
|
|
60
72
|
* is SUPPRESSED when the composed path crosses the item's `menu` region
|
|
61
73
|
* (light-DOM `slot="menu"` content or the shadow `data-kai-item-menu`
|
|
@@ -85,8 +97,8 @@ export interface ConversationListProps {
|
|
|
85
97
|
/** Receive the imperative controller once mounted. The `kai-conversations`
|
|
86
98
|
* facade uses it to focus / clear the internal search input. */
|
|
87
99
|
controllerRef?: (controller: ConversationListController) => void;
|
|
88
|
-
/** Item mode
|
|
89
|
-
*
|
|
100
|
+
/** Item mode: your OWN rows, rendered inside a list region in place of the
|
|
101
|
+
* data rows. When set, the built-in search
|
|
90
102
|
* filter, grouping and empty/no-match states do not apply — the consumer's
|
|
91
103
|
* loop owns them — while the chrome (header, search box, new-chat, footer)
|
|
92
104
|
* still renders and `onSearchChange` still reports queries. The
|
|
@@ -1,16 +1,37 @@
|
|
|
1
1
|
import { JSX } from 'solid-js';
|
|
2
|
-
import { FormField } from './form.js';
|
|
2
|
+
import { FieldMaskHint, FormField } from './form.js';
|
|
3
3
|
/** The shared prop shape every leaf widget receives from FieldRow. */
|
|
4
4
|
export interface WidgetProps {
|
|
5
5
|
id: string;
|
|
6
6
|
value: unknown;
|
|
7
7
|
field: FormField;
|
|
8
|
+
/**
|
|
9
|
+
* The field's resolved format hints, or an empty resolution.
|
|
10
|
+
*
|
|
11
|
+
* RESOLVED IN `FieldRow`, not here. The row already has to resolve them to render
|
|
12
|
+
* the format hint text and put its id in `aria-describedby`, and resolving the same
|
|
13
|
+
* untrusted `x-kai-*` keys a second time in the widget would warn twice about the
|
|
14
|
+
* same bad hint and could disagree with what the row said out loud.
|
|
15
|
+
*/
|
|
16
|
+
mask?: FieldMaskHint;
|
|
8
17
|
disabled: boolean;
|
|
9
18
|
placeholder?: string;
|
|
10
19
|
required: boolean;
|
|
11
20
|
invalid: boolean;
|
|
12
21
|
describedBy?: string;
|
|
13
22
|
label: string;
|
|
23
|
+
/**
|
|
24
|
+
* The id of the row's VISIBLE label element, for widgets whose control is a group
|
|
25
|
+
* rather than one labelable input.
|
|
26
|
+
*
|
|
27
|
+
* `FieldRow` used to suppress its `<label>` for those kinds and each widget named
|
|
28
|
+
* itself with `aria-label={props.label}`, which is a name only a screen reader can
|
|
29
|
+
* reach: "Severity", "Environments" and "Tags" were announced and invisible. The row
|
|
30
|
+
* now always renders the text and hands its id down here, so one string names the
|
|
31
|
+
* group and everybody can see it. Absent means the widget is on its own (a bare
|
|
32
|
+
* widget rendered outside `FieldRow`), so `aria-label` stays the fallback.
|
|
33
|
+
*/
|
|
34
|
+
labelledBy?: string;
|
|
14
35
|
onInput: (value: unknown) => void;
|
|
15
36
|
onBlur: () => void;
|
|
16
37
|
}
|
|
@@ -22,10 +43,54 @@ export declare function TextareaWidget(props: WidgetProps): JSX.Element;
|
|
|
22
43
|
export declare function NumberWidget(props: WidgetProps): JSX.Element;
|
|
23
44
|
export declare function SliderWidget(props: WidgetProps): JSX.Element;
|
|
24
45
|
export declare function RatingWidget(props: WidgetProps): JSX.Element;
|
|
46
|
+
/**
|
|
47
|
+
* The boolean field's switch IS `ui/switch.tsx` — it is not a lookalike.
|
|
48
|
+
*
|
|
49
|
+
* This used to hand-roll its own `<button role="switch">` at 44×24 while
|
|
50
|
+
* `<kai-switch>` shipped the same control at 36×20, so a consumer putting the two
|
|
51
|
+
* side by side saw two different switches; and its thumb used `bg-background`,
|
|
52
|
+
* re-introducing in the copy the dark-mode disappearing-thumb bug that
|
|
53
|
+
* `ui/switch.tsx:80` carries a comment about having fixed. Delegating removes both.
|
|
54
|
+
* The size convergence (44×24 → 36×20) is visible inside `kai-form` and intended.
|
|
55
|
+
*
|
|
56
|
+
* The four form-only hooks — `id`, `data-control` and the `aria-required` /
|
|
57
|
+
* `aria-invalid` / `aria-describedby` trio — are ordinary props now (plan decision
|
|
58
|
+
* D-7). They used to be stamped onto the button through `buttonRef` + a
|
|
59
|
+
* `createEffect`, which worked but meant this widget reached into the primitive's
|
|
60
|
+
* DOM to make `form.focusField()` land. `Switch` forwards anything it does not own
|
|
61
|
+
* to its inner button, exactly like `Checkbox` and `Radio` forward to their inputs,
|
|
62
|
+
* so all four ride the same path every other widget's hooks do.
|
|
63
|
+
*/
|
|
25
64
|
export declare function SwitchWidget(props: WidgetProps): JSX.Element;
|
|
26
65
|
export declare function CheckboxWidget(props: WidgetProps): JSX.Element;
|
|
27
66
|
export declare function RadioGroupWidget(props: WidgetProps): JSX.Element;
|
|
28
67
|
export declare function SelectWidget(props: WidgetProps): JSX.Element;
|
|
29
|
-
|
|
68
|
+
/**
|
|
69
|
+
* An array field whose items are an `enum`, as a list of checkboxes.
|
|
70
|
+
*
|
|
71
|
+
* The bordered/divided row chrome, the `role="group"` wrapper and the rows themselves
|
|
72
|
+
* live in `ui/checkbox-group.tsx` now — this widget only turns a JSON-Schema
|
|
73
|
+
* `items.enum` into options and owns the array in and out. It used to hand-roll the
|
|
74
|
+
* identical chrome beside `RadioGroup`, which already owned it.
|
|
75
|
+
*
|
|
76
|
+
* The emitted array holds the SCHEMA's values, not their string forms, so a numeric
|
|
77
|
+
* or boolean enum survives a round trip.
|
|
78
|
+
*/
|
|
79
|
+
export declare function CheckboxGroupWidget(props: WidgetProps & {
|
|
80
|
+
class?: string;
|
|
81
|
+
}): JSX.Element;
|
|
82
|
+
/**
|
|
83
|
+
* The LONG version of `checkbox-group`: an array-of-enum field whose option list is
|
|
84
|
+
* over the row's `inlineMax`.
|
|
85
|
+
*
|
|
86
|
+
* This was a `<select multiple>` until decision D-3 was ruled. `<select multiple>` is a
|
|
87
|
+
* poor control on every platform — the multi-select affordance is invisible, discovering
|
|
88
|
+
* it means knowing to ctrl/cmd-click, and there is no touch story at all. It is the same
|
|
89
|
+
* control as `checkbox-group`, so it renders as one, with a scroll cap because the only
|
|
90
|
+
* thing that made a long list bearable in a chat card was the select's fixed-height box.
|
|
91
|
+
*
|
|
92
|
+
* The scroll cap is a presentation decision (how a long list fits), not a limit: every
|
|
93
|
+
* option is rendered, nothing is truncated or dropped.
|
|
94
|
+
*/
|
|
30
95
|
export declare function MultiSelectWidget(props: WidgetProps): JSX.Element;
|
|
31
96
|
export declare function TagListWidget(props: WidgetProps): JSX.Element;
|