@logicplanes/kaeso-ui 0.4.2 → 0.4.4
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/NOTICE.md +1 -1
- package/ai/component-guides.md +312 -21
- package/ai/component-registry.json +616 -25
- package/ai/component-registry.md +154 -26
- package/ai/icons.md +4 -4
- package/ai/tokens.md +1 -1
- package/dist/blocks/delete-resource.js +15 -14
- package/dist/blocks/delete-resource.js.map +1 -1
- package/dist/blocks/pages.js +2 -2
- package/dist/blocks/resource-list.js +41 -40
- package/dist/blocks/resource-list.js.map +1 -1
- package/dist/chunks/agent-avatar-0pdBTWkR.js +171 -0
- package/dist/chunks/agent-avatar-0pdBTWkR.js.map +1 -0
- package/dist/chunks/{app-frame-C8csevkL.js → app-frame-DogGRmsu.js} +22 -21
- package/dist/chunks/app-frame-DogGRmsu.js.map +1 -0
- package/dist/chunks/{banner-Cb8OWnqJ.js → banner-BA2ALw9M.js} +2 -2
- package/dist/chunks/{banner-Cb8OWnqJ.js.map → banner-BA2ALw9M.js.map} +1 -1
- package/dist/chunks/{button-Dzu7_csE.js → button-CzuxqawA.js} +3 -3
- package/dist/chunks/{button-Dzu7_csE.js.map → button-CzuxqawA.js.map} +1 -1
- package/dist/chunks/{calendar--YemJsv4.js → calendar-BWaf2MXc.js} +57 -41
- package/dist/chunks/calendar-BWaf2MXc.js.map +1 -0
- package/dist/chunks/{checkbox-CDfC6E-M.js → checkbox-CQjwCPkc.js} +11 -9
- package/dist/chunks/checkbox-CQjwCPkc.js.map +1 -0
- package/dist/chunks/{code-block-U5fCqwgC.js → code-block-BZIe_B9l.js} +41 -37
- package/dist/chunks/code-block-BZIe_B9l.js.map +1 -0
- package/dist/chunks/code-block-DdNPHEzI.js +344 -0
- package/dist/chunks/code-block-DdNPHEzI.js.map +1 -0
- package/dist/chunks/combobox-DjDI7SUC.js +319 -0
- package/dist/chunks/combobox-DjDI7SUC.js.map +1 -0
- package/dist/chunks/{command-list-0RR4DpUe.js → command-list-C2Y7V_lt.js} +2 -2
- package/dist/chunks/{command-list-0RR4DpUe.js.map → command-list-C2Y7V_lt.js.map} +1 -1
- package/dist/chunks/{copy-button-7-irieJw.js → copy-button-FJvPJn72.js} +3 -3
- package/dist/chunks/{copy-button-7-irieJw.js.map → copy-button-FJvPJn72.js.map} +1 -1
- package/dist/chunks/{core-Bl9NrBLS.js → core-BYns5ytV.js} +145 -139
- package/dist/chunks/core-BYns5ytV.js.map +1 -0
- package/dist/chunks/{date-popup-RQkqhko4.js → date-popup-CPA_zt6o.js} +4 -4
- package/dist/chunks/{date-popup-RQkqhko4.js.map → date-popup-CPA_zt6o.js.map} +1 -1
- package/dist/chunks/{de-BnNQtBSV.js → de-D_0mmG-k.js} +10 -1
- package/dist/chunks/de-D_0mmG-k.js.map +1 -0
- package/dist/chunks/dialog-Cg9A_6SF.js +383 -0
- package/dist/chunks/dialog-Cg9A_6SF.js.map +1 -0
- package/dist/chunks/icon-CPJWE2N-.js +95 -0
- package/dist/chunks/icon-CPJWE2N-.js.map +1 -0
- package/dist/chunks/{icon-button-CPYR21Sz.js → icon-button-CrdF_eMG.js} +3 -3
- package/dist/chunks/{icon-button-CPYR21Sz.js.map → icon-button-CrdF_eMG.js.map} +1 -1
- package/dist/chunks/{identity-DPuTkMsa.js → identity-BmhQ6BQ-.js} +15 -15
- package/dist/chunks/identity-BmhQ6BQ-.js.map +1 -0
- package/dist/chunks/{input-TyLIaQ5k.js → input-2VJuj_M4.js} +10 -5
- package/dist/chunks/input-2VJuj_M4.js.map +1 -0
- package/dist/chunks/{input-group-CUSNsQjQ.js → input-group-DQ_4DoXg.js} +2 -2
- package/dist/chunks/{input-group-CUSNsQjQ.js.map → input-group-DQ_4DoXg.js.map} +1 -1
- package/dist/chunks/{inset-BnBj8NJV.js → inset-BUzyXLK4.js} +14 -4
- package/dist/chunks/inset-BUzyXLK4.js.map +1 -0
- package/dist/chunks/{iso-field-CWbxlll-.js → iso-field-B2rTwiBo.js} +2 -2
- package/dist/chunks/{iso-field-CWbxlll-.js.map → iso-field-B2rTwiBo.js.map} +1 -1
- package/dist/chunks/{link-B2I55xg9.js → link-KWI7PevW.js} +2 -2
- package/dist/chunks/{link-B2I55xg9.js.map → link-KWI7PevW.js.map} +1 -1
- package/dist/chunks/link-provider-cvl8lSTT.js +29 -0
- package/dist/chunks/link-provider-cvl8lSTT.js.map +1 -0
- package/dist/chunks/{list-CkOozrVY.js → list-M1csq-d4.js} +18 -16
- package/dist/chunks/{list-CkOozrVY.js.map → list-M1csq-d4.js.map} +1 -1
- package/dist/chunks/{markdown-BEgwZFlu.js → markdown-BupwFOae.js} +5 -5
- package/dist/chunks/{markdown-BEgwZFlu.js.map → markdown-BupwFOae.js.map} +1 -1
- package/dist/chunks/{menu-fl_QQb38.js → menu-DEmBfdPm.js} +29 -26
- package/dist/chunks/menu-DEmBfdPm.js.map +1 -0
- package/dist/chunks/nav-sheet-CzgIwgAm.js +60 -0
- package/dist/chunks/nav-sheet-CzgIwgAm.js.map +1 -0
- package/dist/chunks/{page-header-DjUMDG69.js → page-header-DL2y2iZp.js} +2 -2
- package/dist/chunks/{page-header-DjUMDG69.js.map → page-header-DL2y2iZp.js.map} +1 -1
- package/dist/chunks/{pagination-BaY8jdli.js → pagination-Cn_qF4cg.js} +3 -3
- package/dist/chunks/{pagination-BaY8jdli.js.map → pagination-Cn_qF4cg.js.map} +1 -1
- package/dist/chunks/{picker-popover-DShea4b8.js → picker-popover-BxyU1U9F.js} +14 -13
- package/dist/chunks/{picker-popover-DShea4b8.js.map → picker-popover-BxyU1U9F.js.map} +1 -1
- package/dist/chunks/{popover-CFMwaeIP.js → popover-DNN4S47w.js} +2 -2
- package/dist/chunks/{popover-CFMwaeIP.js.map → popover-DNN4S47w.js.map} +1 -1
- package/dist/chunks/portal-context-BBbzDKmY.js.map +1 -1
- package/dist/chunks/{radio-Yl0nO-Sj.js → radio-CDDFpdtL.js} +4 -4
- package/dist/chunks/{radio-Yl0nO-Sj.js.map → radio-CDDFpdtL.js.map} +1 -1
- package/dist/chunks/{range-popup-CkhsK3wI.js → range-popup-CRyWYUB1.js} +5 -5
- package/dist/chunks/{range-popup-CkhsK3wI.js.map → range-popup-CRyWYUB1.js.map} +1 -1
- package/dist/chunks/{rights-BlQx9C_j.js → rights-Cyp0Pzp-.js} +5 -5
- package/dist/chunks/{rights-BlQx9C_j.js.map → rights-Cyp0Pzp-.js.map} +1 -1
- package/dist/chunks/{segmented-C97zvDR1.js → segmented-CErcoxwi.js} +2 -2
- package/dist/chunks/{segmented-C97zvDR1.js.map → segmented-CErcoxwi.js.map} +1 -1
- package/dist/chunks/{sidebar-DtFlejU7.js → sidebar-3r1ZRXlN.js} +253 -235
- package/dist/chunks/sidebar-3r1ZRXlN.js.map +1 -0
- package/dist/chunks/{sidebar-menu-CxQbGwyj.js → sidebar-menu-BN3jkTlK.js} +2 -2
- package/dist/chunks/{sidebar-menu-CxQbGwyj.js.map → sidebar-menu-BN3jkTlK.js.map} +1 -1
- package/dist/chunks/{switch-b-VkStWj.js → switch-BNMq_kGt.js} +2 -2
- package/dist/chunks/{switch-b-VkStWj.js.map → switch-BNMq_kGt.js.map} +1 -1
- package/dist/chunks/{tag-DNdX1XRR.js → tag-D_M1s2qS.js} +2 -2
- package/dist/chunks/{tag-DNdX1XRR.js.map → tag-D_M1s2qS.js.map} +1 -1
- package/dist/chunks/{text-DCGGNqTM.js → text-CIXH8rmT.js} +2 -2
- package/dist/chunks/{text-DCGGNqTM.js.map → text-CIXH8rmT.js.map} +1 -1
- package/dist/chunks/{textarea-CT2S2JVM.js → textarea--4FRL3Pb.js} +3 -3
- package/dist/chunks/{textarea-CT2S2JVM.js.map → textarea--4FRL3Pb.js.map} +1 -1
- package/dist/chunks/theme-provider-DJhORMlc.js.map +1 -1
- package/dist/chunks/{timeseries-B-8OfeZm.js → timeseries-D1xjRXfk.js} +2 -2
- package/dist/chunks/{timeseries-B-8OfeZm.js.map → timeseries-D1xjRXfk.js.map} +1 -1
- package/dist/chunks/{toolbar-DL6zVrzU.js → toolbar-WA_oZgu-.js} +5 -4
- package/dist/chunks/{toolbar-DL6zVrzU.js.map → toolbar-WA_oZgu-.js.map} +1 -1
- package/dist/chunks/tooltip-OcwO0VUT.js +154 -0
- package/dist/chunks/tooltip-OcwO0VUT.js.map +1 -0
- package/dist/chunks/{tooltip-root-BeAMXzxU.js → tooltip-root-DzahJDVj.js} +2 -2
- package/dist/chunks/{tooltip-root-BeAMXzxU.js.map → tooltip-root-DzahJDVj.js.map} +1 -1
- package/dist/chunks/{use-scroll-margin-DfdTc_5D.js → use-scroll-margin-atRtf0v_.js} +14 -10
- package/dist/chunks/use-scroll-margin-atRtf0v_.js.map +1 -0
- package/dist/chunks/{virtual-rows-yAMjeAwj.js → virtual-rows-CC_kc2PR.js} +2 -2
- package/dist/chunks/{virtual-rows-yAMjeAwj.js.map → virtual-rows-CC_kc2PR.js.map} +1 -1
- package/dist/chunks/{zh-CN-CKffAT7j.js → zh-CN-Bm6UPIbW.js} +10 -1
- package/dist/chunks/zh-CN-Bm6UPIbW.js.map +1 -0
- package/dist/components/agent-avatar.js +2 -0
- package/dist/components/app-frame.js +2 -2
- package/dist/components/banner.js +1 -1
- package/dist/components/button-group.js +2 -2
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts/bar.js +1 -1
- package/dist/components/charts/donut.js +1 -1
- package/dist/components/charts/gauge.js +1 -1
- package/dist/components/charts/sankey.js +1 -1
- package/dist/components/charts/timeseries.js +1 -1
- package/dist/components/charts.js +2 -2
- package/dist/components/checkbox.js +1 -1
- package/dist/components/code-block.js +3 -2
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-list.js +2 -2
- package/dist/components/command-palette.js +85 -81
- package/dist/components/command-palette.js.map +1 -1
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +191 -187
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +6 -4
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +125 -91
- package/dist/components/dialog.js.map +1 -1
- package/dist/components/display-options.js +49 -46
- package/dist/components/display-options.js.map +1 -1
- package/dist/components/filter-chip.js +3 -3
- package/dist/components/filter-chip.js.map +1 -1
- package/dist/components/filter-row.js +1 -1
- package/dist/components/icon-button.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/input.js +49 -49
- package/dist/components/input.js.map +1 -1
- package/dist/components/kaeso/conversation.js +3 -3
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +3 -3
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +8 -8
- package/dist/components/kaeso/usage.js.map +1 -1
- package/dist/components/kaeso.js +263 -95
- package/dist/components/kaeso.js.map +1 -1
- package/dist/components/key-value.js +2 -2
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/markdown.js +1 -1
- package/dist/components/menu.js +2 -2
- package/dist/components/page-header.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/playground.js +27 -26
- package/dist/components/playground.js.map +1 -1
- package/dist/components/popover.js +12 -11
- package/dist/components/popover.js.map +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/segmented.js +1 -1
- package/dist/components/settings.js +8 -8
- package/dist/components/settings.js.map +1 -1
- package/dist/components/sheet.js +2 -2
- package/dist/components/sidebar.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/tabs.js +22 -22
- package/dist/components/tabs.js.map +1 -1
- package/dist/components/tag.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/theme-menu.js +33 -30
- package/dist/components/theme-menu.js.map +1 -1
- package/dist/components/thumbnail.js +41 -0
- package/dist/components/thumbnail.js.map +1 -0
- package/dist/components/toast.js +96 -87
- package/dist/components/toast.js.map +1 -1
- package/dist/components/toolbar.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/format.js.map +1 -1
- package/dist/i18n-provider.js +1 -1
- package/dist/index.js +90 -88
- package/dist/kaeso.css +3 -0
- package/dist/styles.css +1 -1
- package/dist/types/blocks/delete-resource/delete-resource.d.ts +2 -5
- package/dist/types/blocks/resource-list/resource-list.d.ts +1 -4
- package/dist/types/component-docs.d.ts +1 -1
- package/dist/types/components/agent-avatar/agent-avatar.d.ts +94 -0
- package/dist/types/components/agent-avatar/docs.d.ts +19 -0
- package/dist/types/components/agent-avatar/index.d.ts +3 -0
- package/dist/types/components/agent-avatar/model-name.d.ts +9 -0
- package/dist/types/components/agent-avatar/models.d.ts +4 -0
- package/dist/types/components/app-frame/app-frame.d.ts +3 -8
- package/dist/types/components/app-frame/nav-sheet.d.ts +2 -4
- package/dist/types/components/calendar/calendar.d.ts +1 -4
- package/dist/types/components/charts/core.d.ts +11 -18
- package/dist/types/components/checkbox/checkbox.d.ts +2 -0
- package/dist/types/components/code-block/diff-view.d.ts +30 -0
- package/dist/types/components/code-block/diff.d.ts +26 -0
- package/dist/types/components/code-block/docs.d.ts +14 -0
- package/dist/types/components/code-block/index.d.ts +1 -0
- package/dist/types/components/combobox/combobox.d.ts +26 -2
- package/dist/types/components/command-list/picker-popover.d.ts +1 -4
- package/dist/types/components/command-palette/command-palette.d.ts +1 -4
- package/dist/types/components/data-table/data-table.d.ts +2 -1
- package/dist/types/components/data-table/docs.d.ts +1 -0
- package/dist/types/components/dialog/dialog.d.ts +7 -9
- package/dist/types/components/dialog/docs.d.ts +2 -0
- package/dist/types/components/dialog/scope.d.ts +2 -0
- package/dist/types/components/dialog/step-dialog.d.ts +38 -5
- package/dist/types/components/display-options/display-options.d.ts +2 -5
- package/dist/types/components/input/input.d.ts +23 -0
- package/dist/types/components/kaeso/client-button.d.ts +17 -0
- package/dist/types/components/kaeso/docs.d.ts +18 -0
- package/dist/types/components/kaeso/grant-summary.d.ts +12 -0
- package/dist/types/components/kaeso/identity.d.ts +2 -0
- package/dist/types/components/kaeso/index.d.ts +2 -0
- package/dist/types/components/kaeso/provider-picker.d.ts +5 -0
- package/dist/types/components/kaeso/usage.d.ts +2 -0
- package/dist/types/components/list/list.d.ts +4 -8
- package/dist/types/components/menu/docs.d.ts +8 -1
- package/dist/types/components/menu/menu.d.ts +19 -31
- package/dist/types/components/playground/parameter-panel.d.ts +1 -4
- package/dist/types/components/popover/hover-card.d.ts +2 -0
- package/dist/types/components/radio/docs.d.ts +15 -0
- package/dist/types/components/radio/radio.d.ts +2 -4
- package/dist/types/components/settings/settings.d.ts +2 -0
- package/dist/types/components/sidebar/sidebar.d.ts +13 -35
- package/dist/types/components/tabs/tabs.d.ts +15 -0
- package/dist/types/components/theme-menu/docs.d.ts +2 -0
- package/dist/types/components/theme-menu/theme-menu.d.ts +6 -5
- package/dist/types/components/thumbnail/docs.d.ts +10 -0
- package/dist/types/components/thumbnail/index.d.ts +1 -0
- package/dist/types/components/thumbnail/thumbnail.d.ts +26 -0
- package/dist/types/components/toast/toast.d.ts +5 -12
- package/dist/types/components/toolbar/toolbar.d.ts +1 -6
- package/dist/types/components/tooltip/tooltip.d.ts +2 -4
- package/dist/types/components/tooltip/trigger-props.d.ts +0 -1
- package/dist/types/format/index.d.ts +5 -5
- package/dist/types/hooks/use-scroll-margin.d.ts +1 -1
- package/dist/types/icons/groups.d.ts +3 -3
- package/dist/types/icons/vocabulary.d.ts +20 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/utils/inset.d.ts +4 -0
- package/dist/types/utils/link-provider.d.ts +1 -1
- package/dist/types/utils/merge-refs.d.ts +3 -0
- package/dist/types/utils/portal-context.d.ts +1 -1
- package/dist/utils.js +3 -3
- package/foundations/shape.md +1 -1
- package/package.json +2 -2
- package/dist/chunks/app-frame-C8csevkL.js.map +0 -1
- package/dist/chunks/calendar--YemJsv4.js.map +0 -1
- package/dist/chunks/checkbox-CDfC6E-M.js.map +0 -1
- package/dist/chunks/code-block-U5fCqwgC.js.map +0 -1
- package/dist/chunks/combobox-BARyrpXH.js +0 -314
- package/dist/chunks/combobox-BARyrpXH.js.map +0 -1
- package/dist/chunks/core-Bl9NrBLS.js.map +0 -1
- package/dist/chunks/de-BnNQtBSV.js.map +0 -1
- package/dist/chunks/dialog-DQ9vZ7vr.js +0 -353
- package/dist/chunks/dialog-DQ9vZ7vr.js.map +0 -1
- package/dist/chunks/icon-CBzvyEqC.js +0 -91
- package/dist/chunks/icon-CBzvyEqC.js.map +0 -1
- package/dist/chunks/identity-DPuTkMsa.js.map +0 -1
- package/dist/chunks/input-TyLIaQ5k.js.map +0 -1
- package/dist/chunks/inset-BnBj8NJV.js.map +0 -1
- package/dist/chunks/link-provider-BsUxhZKG.js +0 -27
- package/dist/chunks/link-provider-BsUxhZKG.js.map +0 -1
- package/dist/chunks/menu-fl_QQb38.js.map +0 -1
- package/dist/chunks/nav-sheet-B2rNb8GB.js +0 -60
- package/dist/chunks/nav-sheet-B2rNb8GB.js.map +0 -1
- package/dist/chunks/sidebar-DtFlejU7.js.map +0 -1
- package/dist/chunks/tooltip-BMQ9BtPp.js +0 -151
- package/dist/chunks/tooltip-BMQ9BtPp.js.map +0 -1
- package/dist/chunks/use-scroll-margin-DfdTc_5D.js.map +0 -1
- package/dist/chunks/zh-CN-CKffAT7j.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog-DQ9vZ7vr.js","names":["BaseDialog","__icon_Cancel01Icon","_Fragment","Dialog","BaseAlertDialog","AlertDialog","__icon_ArrowLeft01Icon","cn","usePortalContainer","GutterContent","KAESO_BUTTON_VARIANTS","Button","IconButton","Input","useRestoreFocus","useScopedDialog","useResizeMotion","OverNonModalSheet","Fragment$1","DIALOG_FIELD","FOCUSABLE","usable","el","firstUsable","scope","selector","initialDialogControl","content","frame","footer","actions","dangerSecondary","safe","a","danger","primary","focusDialogSection","section","previous","KAESO_DIALOG_VARIANTS","KAESO_DIALOG_DEFAULT_VARIANTS","BACKDROP","DIALOG_VIEWPORT","DIALOG_POPUP","DialogBusy","useScrolledUnder","ref","useRef","under","setUnder","useState","check","useCallback","useEffect","useKeepFocus","rendered","first","active","inline","box","SINGLE_LINE","submitsOnEnter","target","useBox","setBox","DialogFrame","boxRef","t","useUiText","Title","Dialog","closeButton","Cancel01Icon","busy","close","hideClose","Description","anchor","size","className","onSubmit","headerStart","title","description","children","focusFirstControl","open","Root","props","focus","container","overSheet","use","settled","defaultOpen","o","details","persistent","trigger","InsetContent","Close","cloneElement","Dialog$1","KAESO_ALERT_DIALOG_VARIANTS","KAESO_ALERT_DIALOG_DEFAULT_VARIANTS","AlertFrame","cancelProp","typed","setTyped","pending","cancelLabel","typeBefore","typeAfter","AlertDialog","ok","confirmText","confirm","loading","r","onConfirm","setBusy","done","tone","confirmLabel","AlertDialog$1","inner","setInner","isOpen","setOpen","onOpenChange","KAESO_LAYER_DIALOG_VARIANTS","KAESO_LAYER_DIALOG_DEFAULT_VARIANTS","bodyOf","LayerDialog","wanted","layer","index","layers","sections","focused","tops","left","shown","useLayoutEffect","from","back","body","go","i","onLayerChange","stack","current","remember","e","l","ArrowLeft01Icon"],"sources":["../../src/components/dialog/focus.ts","../../src/components/dialog/dialog.tsx"],"sourcesContent":["import { KAESO_BUTTON_VARIANTS } from \"../button/button.js\";\n\nconst DIALOG_FIELD =\n 'input:not([type=hidden]):not([tabindex=\"-1\"]):not([aria-hidden=\"true\"]), textarea, select, [role=combobox]:not([tabindex=\"-1\"]), [role=radio][tabindex=\"0\"], [role=checkbox]:not([tabindex=\"-1\"]), [role=switch]:not([tabindex=\"-1\"]), [role=listbox]:not([tabindex=\"-1\"]), [role=grid] [data-index][tabindex=\"0\"], button[data-picker]';\nconst FOCUSABLE = 'a[href], button, input:not([type=hidden]), select, textarea, [tabindex]:not([tabindex=\"-1\"])';\n\nconst usable = (el: HTMLElement) => !el.closest(\"[hidden], [inert]\") && !el.matches(\":disabled, [aria-disabled=true]\");\nconst firstUsable = (scope: ParentNode, selector: string) => [...scope.querySelectorAll<HTMLElement>(selector)].find(usable) ?? null;\n\nexport function initialDialogControl(frame: HTMLElement, scope?: HTMLElement | undefined): HTMLElement | null {\n const content = scope ?? frame.querySelector<HTMLElement>(\"[data-dialog-body]\");\n const footer = frame.querySelector<HTMLElement>(\"[data-dialog-footer]\");\n const actions = footer ? [...footer.querySelectorAll<HTMLElement>(\"button, a[href]\")].filter(usable) : [];\n const { primary, danger, \"danger-secondary\": dangerSecondary } = KAESO_BUTTON_VARIANTS.variant;\n const safe = actions.filter((a) => !a.classList.contains(danger.classes) && !a.classList.contains(dangerSecondary.classes));\n return (\n (content && (firstUsable(content, \"[data-autofocus]\") ?? firstUsable(content, DIALOG_FIELD))) ??\n safe.find((a) => a.classList.contains(primary.classes)) ??\n safe[0] ??\n (content && firstUsable(content, FOCUSABLE)) ??\n firstUsable(frame, FOCUSABLE)\n );\n}\n\nexport function focusDialogSection(section: HTMLElement | null | undefined, previous?: HTMLElement | null | undefined) {\n const frame = section?.closest<HTMLElement>(\"[data-dialog-frame]\");\n if (!section || !frame || frame.closest(\"[data-closed]\")) return;\n const back = previous?.isConnected && frame.contains(previous) && usable(previous) ? previous : null;\n (back ?? initialDialogControl(frame, section))?.focus({ preventScroll: true });\n}\n","import { GutterContent, InsetContent } from \"../../utils/inset.js\";\nimport { usePortalContainer } from \"../../utils/portal-context.js\";\nimport {\n cloneElement,\n createContext,\n forwardRef,\n use,\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n type FocusEvent,\n type KeyboardEvent,\n type ReactElement,\n type ReactNode,\n} from \"react\";\nimport { Dialog as BaseDialog } from \"@base-ui/react/dialog\";\nimport { AlertDialog as BaseAlertDialog } from \"@base-ui/react/alert-dialog\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useRestoreFocus } from \"../../utils/restore-focus.js\";\nimport { useScopedDialog } from \"../../utils/dialog-scope.js\";\nimport { OverNonModalSheet } from \"../../utils/over-sheet.js\";\nimport { Cancel01Icon as __icon_Cancel01Icon, ArrowLeft01Icon as __icon_ArrowLeft01Icon } from \"@hugeicons/core-free-icons\";\nimport { useUiText } from \"../../i18n/context.js\";\nimport { IconButton } from \"../icon-button/icon-button.js\";\nimport { Button } from \"../button/button.js\";\nimport { Input } from \"../input/input.js\";\nimport { focusDialogSection, initialDialogControl } from \"./focus.js\";\nimport { useResizeMotion } from \"../../utils/resize-motion.js\";\n\nexport const KAESO_DIALOG_VARIANTS = {\n size: {\n sm: { classes: \"w-440\" },\n md: { classes: \"w-560\" },\n lg: { classes: \"w-720\" },\n },\n anchor: {\n center: { classes: \"items-center\" },\n top: { classes: \"items-start pt-dialog-top\" },\n },\n} as const;\nexport const KAESO_DIALOG_DEFAULT_VARIANTS = { size: \"md\", anchor: \"center\" } as const;\n\nconst BACKDROP = \"fixed inset-0 z-50 bg-overlay backdrop-motion\";\nconst DIALOG_VIEWPORT = \"fixed inset-0 z-50 flex justify-center p-16\";\nconst DIALOG_POPUP = \"relative flex dialog-limits flex-col overflow-hidden rounded-dialog bg-raised text-fg shadow-dialog outline-none dialog-motion\";\n\nconst DialogBusy = /* @__PURE__ */ createContext(false);\n\nfunction useScrolledUnder<T extends HTMLElement>() {\n const ref = useRef<T | null>(null);\n const [under, setUnder] = useState(false);\n const check = useCallback(() => {\n const el = ref.current;\n if (el && !el.closest(\"[data-resizing]\")) setUnder(el.scrollHeight - el.scrollTop - el.clientHeight > 1);\n }, []);\n useEffect(() => {\n const el = ref.current;\n if (!el) return;\n check();\n el.addEventListener(\"scroll\", check, { passive: true });\n window.addEventListener(\"resize\", check);\n return () => {\n el.removeEventListener(\"scroll\", check);\n window.removeEventListener(\"resize\", check);\n };\n }, [check]);\n return { ref, under, check };\n}\n\nfunction useKeepFocus(box: HTMLElement | null, inline: boolean | undefined) {\n const rendered = useRef(false);\n useEffect(() => {\n const first = !rendered.current;\n rendered.current = true;\n const active = document.activeElement;\n if (first || inline || !box || (active && active !== document.body) || box.matches(\"[data-ending-style], [data-closed]\")) return;\n const frame = box.querySelector<HTMLElement>(\"[data-dialog-frame]\");\n if (frame) initialDialogControl(frame)?.focus({ preventScroll: true });\n });\n}\n\nconst SINGLE_LINE = new Set([\"text\", \"email\", \"password\", \"tel\", \"url\", \"number\"]);\n\nfunction submitsOnEnter(e: KeyboardEvent): boolean {\n // Safari ends composition before the Enter that confirms it, leaving only keyCode 229: https://bugs.webkit.org/show_bug.cgi?id=165004\n if (e.key !== \"Enter\" || e.altKey || e.nativeEvent.isComposing || e.keyCode === 229) return false;\n if (e.metaKey || e.ctrlKey) return true;\n const target = e.target as HTMLElement;\n return !e.defaultPrevented && !e.shiftKey && target instanceof HTMLInputElement && SINGLE_LINE.has(target.type) && target.getAttribute(\"role\") !== \"combobox\";\n}\n\nfunction useBox(inline: boolean | undefined) {\n const [box, setBox] = useState<HTMLElement | null>(null);\n const ref = useCallback((el: HTMLElement | null) => setBox(inline ? el : (el?.parentElement ?? null)), [inline]);\n return [box, ref] as const;\n}\n\nexport interface DialogProps {\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n trigger?: ReactElement | undefined;\n title: ReactNode;\n description?: ReactNode | undefined;\n busy?: boolean | undefined;\n size?: keyof typeof KAESO_DIALOG_VARIANTS.size | undefined;\n anchor?: keyof typeof KAESO_DIALOG_VARIANTS.anchor | undefined;\n children?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n onSubmit?: (() => void) | undefined;\n hideClose?: boolean | undefined;\n headerStart?: ReactNode | undefined;\n className?: string | undefined;\n inline?: boolean | undefined;\n persistent?: boolean | undefined;\n}\n\nfunction DialogFrame({\n title,\n description,\n children,\n footer,\n onSubmit,\n hideClose,\n headerStart,\n size = \"md\",\n anchor = \"center\",\n className,\n inline,\n busy,\n}: DialogProps) {\n const { ref, under, check } = useScrolledUnder<HTMLDivElement>();\n const [box, boxRef] = useBox(inline);\n useResizeMotion(box, check);\n useKeepFocus(box, inline);\n const t = useUiText();\n const Title = inline ? \"h2\" : BaseDialog.Title;\n const closeButton = <IconButton icon={__icon_Cancel01Icon} aria-label={t(\"dialog.close\", \"Close\")} tooltip={false} disabled={!!busy} />;\n const close = hideClose ? null : inline ? closeButton : <BaseDialog.Close render={closeButton} />;\n const Description = inline ? \"p\" : BaseDialog.Description;\n return (\n <DialogBusy value={!!busy}>\n <div\n ref={boxRef}\n data-dialog-frame=\"\"\n className={cn(\n \"flex min-h-0 flex-col\",\n inline ? \"rounded-dialog bg-raised shadow-dialog\" : cn(\"flex-1 self-center\", anchor === \"top\" ? \"dialog-limits-top\" : \"dialog-limits\"),\n KAESO_DIALOG_VARIANTS.size[size].classes,\n className,\n )}\n onKeyDown={(e: KeyboardEvent) => {\n if (onSubmit && !busy && submitsOnEnter(e)) {\n e.preventDefault();\n onSubmit();\n }\n }}\n >\n {headerStart !== undefined ? (\n <>\n <div className=\"flex h-32 items-center justify-between px-24 pt-16 box-content\">\n <span className=\"flex items-center\">{headerStart}</span>\n {close}\n </div>\n <div className=\"flex flex-col gap-4 px-24 pt-8 pb-4\">\n <Title className=\"text-title-sm font-semibold text-fg text-balance\">{title}</Title>\n {description && <Description className=\"text-body text-fg-secondary text-pretty\">{description}</Description>}\n </div>\n </>\n ) : (\n <div className=\"flex items-start gap-12 px-24 pt-20 pb-4\">\n <div className=\"flex min-w-0 flex-1 flex-col gap-4 pt-4\">\n <Title className=\"text-title-sm font-semibold text-fg text-balance\">{title}</Title>\n {description && <Description className=\"text-body text-fg-secondary text-pretty\">{description}</Description>}\n </div>\n {close && <span className=\"flex\">{close}</span>}\n </div>\n )}\n {children && (\n <div ref={ref} data-dialog-body=\"\" className={cn(\"min-h-0 flex-1 overflow-y-auto px-24 pt-16 scrollbar-quiet\", footer ? \"pb-8\" : \"pb-24\")}>\n <GutterContent>{children}</GutterContent>\n </div>\n )}\n {footer && (\n <div\n data-dialog-footer=\"\"\n className={cn(\"flex shrink-0 flex-wrap items-center justify-end gap-8 px-24 pt-16 pb-20 transition-control\", under && \"hairline-t\")}\n >\n {footer}\n </div>\n )}\n </div>\n </DialogBusy>\n );\n}\n\nfunction focusFirstControl(): HTMLElement | true {\n const open = [...document.querySelectorAll<HTMLElement>(\"[role=dialog], [role=alertdialog]\")].pop();\n const frame = open?.querySelector<HTMLElement>(\"[data-dialog-frame]\");\n return (frame && initialDialogControl(frame)) ?? open ?? true;\n}\n\nconst Root = /* @__PURE__ */ forwardRef<HTMLDivElement, DialogProps>(function Dialog(props, ref) {\n const { open, defaultOpen, onOpenChange, trigger, size = \"md\", anchor = \"center\", inline, busy, persistent } = props;\n const focus = useRestoreFocus(open, focusFirstControl);\n const container = usePortalContainer();\n const overSheet = use(OverNonModalSheet);\n const settled = useScopedDialog(inline ? false : open);\n if (inline) return <DialogFrame {...props} />;\n return (\n <BaseDialog.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n onOpenChange={(o: boolean, details: BaseDialog.Root.ChangeEventDetails) => {\n if (!o && busy) return details.cancel();\n onOpenChange?.(o);\n }}\n onOpenChangeComplete={settled}\n {...(persistent ? { disablePointerDismissal: true } : {})}\n >\n {trigger && <BaseDialog.Trigger render={trigger} />}\n <BaseDialog.Portal container={container}>\n <BaseDialog.Backdrop className={BACKDROP} forceRender={overSheet} />\n <BaseDialog.Viewport className={cn(DIALOG_VIEWPORT, KAESO_DIALOG_VARIANTS.anchor[anchor].classes)}>\n <BaseDialog.Popup\n ref={ref}\n initialFocus={focus.initialFocus}\n finalFocus={focus.finalFocus}\n className={cn(DIALOG_POPUP, KAESO_DIALOG_VARIANTS.size[size].classes, anchor === \"top\" && \"dialog-limits-top\")}\n >\n <InsetContent inset={false}>\n <OverNonModalSheet value={false}>\n <DialogFrame {...props} />\n </OverNonModalSheet>\n </InsetContent>\n </BaseDialog.Popup>\n </BaseDialog.Viewport>\n </BaseDialog.Portal>\n </BaseDialog.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Dialog\";\n\nfunction Close({ children }: { children: ReactElement<{ disabled?: boolean | undefined }> }) {\n const busy = use(DialogBusy);\n return <BaseDialog.Close render={busy ? cloneElement(children, { disabled: true }) : children} />;\n}\nif (process.env.NODE_ENV !== \"production\") Close.displayName = \"Dialog.Close\";\n\nexport const Dialog = /* @__PURE__ */ Object.assign(Root, { Close });\n\nexport const KAESO_ALERT_DIALOG_VARIANTS = {\n tone: {\n danger: { classes: \"bg-danger-tint text-danger-text\" },\n warning: { classes: \"bg-warning-tint text-warning-text\" },\n info: { classes: \"bg-info-tint text-info-text\" },\n },\n} as const;\nexport const KAESO_ALERT_DIALOG_DEFAULT_VARIANTS = { tone: \"danger\" } as const;\n\nexport interface AlertDialogProps {\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n trigger?: ReactElement | undefined;\n title: ReactNode;\n description: ReactNode;\n confirmLabel: string;\n cancelLabel?: string | undefined;\n onConfirm: () => void | Promise<unknown>;\n tone?: keyof typeof KAESO_ALERT_DIALOG_VARIANTS.tone | undefined;\n confirmText?: string | undefined;\n loading?: boolean | undefined;\n inline?: boolean | undefined;\n}\n\nfunction AlertFrame({\n title,\n description,\n confirmLabel,\n cancelLabel: cancelProp,\n onConfirm,\n tone = \"danger\",\n confirmText,\n loading,\n inline,\n close,\n busy,\n setBusy,\n}: AlertDialogProps & { close: () => void; busy: boolean; setBusy: (busy: boolean) => void }) {\n const [typed, setTyped] = useState(\"\");\n const pending = useRef(false);\n const t = useUiText();\n const [box, boxRef] = useBox(inline);\n useResizeMotion(box);\n const cancelLabel = cancelProp ?? t(\"alertDialog.cancel\", \"Cancel\");\n const [typeBefore, typeAfter = \"\"] = t(\"alertDialog.typeToConfirm\", \"Type {text} to confirm\").split(\"{text}\");\n const Title = inline ? \"h2\" : BaseAlertDialog.Title;\n const Description = inline ? \"p\" : BaseAlertDialog.Description;\n const ok = !confirmText || typed === confirmText;\n const confirm = async () => {\n if (!ok || loading || pending.current) return;\n const r = onConfirm();\n if (!(r instanceof Promise)) return close();\n pending.current = true;\n setBusy(true);\n const done = await r.then(\n () => true,\n () => false,\n );\n pending.current = false;\n setBusy(false);\n if (done) close();\n };\n return (\n <div ref={boxRef} className={cn(\"flex w-440 flex-col gap-20 p-24\", inline ? \"rounded-dialog bg-raised shadow-dialog\" : \"self-center dialog-limits\")}>\n <div className=\"flex flex-col gap-6\">\n <Title className=\"text-title-sm font-semibold text-fg text-balance\">{title}</Title>\n <Description className=\"text-body text-fg-secondary text-pretty\">{description}</Description>\n </div>\n {confirmText && (\n <Input\n label={\n <span className=\"font-regular text-fg-secondary\">\n {typeBefore}\n <span className=\"mono font-medium text-fg\">{confirmText}</span>\n {typeAfter}\n </span>\n }\n value={typed}\n onChange={(e) => setTyped(e.target.value)}\n autoComplete=\"off\"\n spellCheck={false}\n onKeyDown={(e) => e.key === \"Enter\" && confirm()}\n />\n )}\n <div className=\"flex flex-wrap justify-end gap-8\">\n {inline ? <Button>{cancelLabel}</Button> : <BaseAlertDialog.Close render={<Button disabled={busy || !!loading}>{cancelLabel}</Button>} />}\n <Button variant={tone === \"danger\" ? \"danger\" : \"primary\"} onClick={confirm} disabled={!ok} loading={busy || loading}>\n {confirmLabel}\n </Button>\n </div>\n </div>\n );\n}\n\nexport function AlertDialog(props: AlertDialogProps) {\n const { open, defaultOpen, onOpenChange, trigger, inline } = props;\n const [inner, setInner] = useState(defaultOpen ?? false);\n const isOpen = open ?? inner;\n const setOpen = (o: boolean) => {\n if (open === undefined) setInner(o);\n onOpenChange?.(o);\n };\n const [busy, setBusy] = useState(false);\n const focus = useRestoreFocus(isOpen);\n const container = usePortalContainer();\n const overSheet = use(OverNonModalSheet);\n const settled = useScopedDialog(inline ? false : isOpen);\n if (inline) return <AlertFrame {...props} close={() => undefined} busy={busy} setBusy={setBusy} />;\n return (\n <BaseAlertDialog.Root\n open={isOpen}\n onOpenChange={(o: boolean, details: BaseAlertDialog.Root.ChangeEventDetails) => {\n if (!o && (busy || props.loading)) return details.cancel();\n setOpen(o);\n }}\n onOpenChangeComplete={settled}\n >\n {trigger && <BaseAlertDialog.Trigger render={trigger} />}\n <BaseAlertDialog.Portal container={container}>\n <BaseAlertDialog.Backdrop className={BACKDROP} forceRender={overSheet} />\n <BaseAlertDialog.Viewport className={cn(DIALOG_VIEWPORT, KAESO_DIALOG_VARIANTS.anchor.center.classes)}>\n <BaseAlertDialog.Popup initialFocus={focus.initialFocus} finalFocus={focus.finalFocus} className={cn(DIALOG_POPUP, \"w-440\")}>\n <InsetContent inset={false}>\n <AlertFrame {...props} close={() => setOpen(false)} busy={busy} setBusy={setBusy} />\n </InsetContent>\n </BaseAlertDialog.Popup>\n </BaseAlertDialog.Viewport>\n </BaseAlertDialog.Portal>\n </BaseAlertDialog.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") AlertDialog.displayName = \"AlertDialog\";\n\nexport const KAESO_LAYER_DIALOG_VARIANTS = KAESO_DIALOG_VARIANTS;\nexport const KAESO_LAYER_DIALOG_DEFAULT_VARIANTS = KAESO_DIALOG_DEFAULT_VARIANTS;\n\nexport interface DialogLayer {\n title: ReactNode;\n description?: ReactNode | undefined;\n content: ReactNode;\n footer?: ReactNode | undefined;\n}\n\nexport interface LayerDialogProps extends Omit<DialogProps, \"title\" | \"description\" | \"children\" | \"footer\" | \"headerStart\"> {\n layers: DialogLayer[];\n layer?: number | undefined;\n onLayerChange?: ((layer: number) => void) | undefined;\n}\n\nconst bodyOf = (el: HTMLElement | null | undefined) => el?.closest<HTMLElement>(\"[data-dialog-body]\") ?? null;\n\nexport function LayerDialog({ layers, layer, onLayerChange, ...props }: LayerDialogProps) {\n const [inner, setInner] = useState(0);\n const t = useUiText();\n const wanted = layer ?? inner;\n const index = wanted > 0 && wanted < layers.length ? wanted : 0;\n const sections = useRef<(HTMLDivElement | null)[]>([]);\n const focused = useRef<(HTMLElement | null)[]>([]);\n const tops = useRef<number[]>([]);\n const left = useRef(index);\n const shown = useRef(index);\n if (left.current !== index) {\n tops.current[left.current] = bodyOf(sections.current[left.current])?.scrollTop ?? 0;\n left.current = index;\n }\n useLayoutEffect(() => {\n const from = shown.current;\n shown.current = index;\n if (from === index) return;\n const back = index < from;\n if (!back) focused.current[index] = null;\n focused.current.length = index + 1;\n const section = sections.current[index];\n const body = bodyOf(section);\n if (body) body.scrollTop = back ? (tops.current[index] ?? 0) : 0;\n focusDialogSection(section, back ? focused.current[index] : null);\n }, [index]);\n const go = (i: number) => {\n if (props.busy) return;\n if (layer === undefined) setInner(i);\n onLayerChange?.(i);\n };\n const stack = layers.slice(0, index + 1);\n const current = stack[index];\n if (!current) return null;\n const remember = (i: number) => (e: FocusEvent<HTMLElement>) => {\n if (e.target instanceof HTMLElement) focused.current[i] = e.target;\n };\n return (\n <Dialog\n {...props}\n title={current.title}\n description={current.description}\n footer={\n current.footer\n ? stack.map((l, i) =>\n l.footer ? (\n <div key={i} hidden={i !== index} className=\"contents\" onFocus={remember(i)}>\n {l.footer}\n </div>\n ) : null,\n )\n : undefined\n }\n headerStart={\n index > 0 ? (\n <IconButton\n key=\"back\"\n icon={__icon_ArrowLeft01Icon}\n aria-label={t(\"dialog.back\", \"Back\")}\n onClick={() => go(index - 1)}\n disabled={!!props.busy}\n className=\"animate-layer-in\"\n />\n ) : null\n }\n >\n {stack.map((l, i) => (\n <div\n key={i}\n ref={(el) => {\n sections.current[i] = el;\n }}\n hidden={i !== index}\n className=\"animate-layer-in\"\n onFocus={remember(i)}\n >\n {l.content}\n </div>\n ))}\n </Dialog>\n );\n}\nif (process.env.NODE_ENV !== \"production\") LayerDialog.displayName = \"LayerDialog\";\n"],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
import { Add01Icon as e, AiBrain01Icon as t, Alert02Icon as n, AlertCircleIcon as r, Analytics01Icon as i, ArrowDataTransferVerticalIcon as a, ArrowDown01Icon as o, ArrowExpand01Icon as s, ArrowLeft01Icon as c, ArrowReloadHorizontalIcon as l, ArrowRight01Icon as u, ArrowShrink02Icon as d, ArrowUp01Icon as f, ArrowUpRight01Icon as p, Audit01Icon as m, Building03Icon as h, Calendar03Icon as g, Cancel01Icon as _, ChartLineData01Icon as v, CheckmarkCircle02Icon as y, Clock01Icon as b, CodeIcon as x, ComputerIcon as S, Copy01Icon as C, CpuIcon as w, DashboardSquare01Icon as T, Database01Icon as E, Delete02Icon as D, Download01Icon as O, Edit02Icon as k, EyeIcon as A, FilterHorizontalIcon as j, Folder01Icon as M, GaugeIcon as N, GithubIcon as P, GridViewIcon as F, HelpCircleIcon as I, Home01Icon as L, Image01Icon as R, InformationCircleIcon as z, Key01Icon as B, KeyboardIcon as V, LaptopIcon as H, Layers01Icon as ee, LeftToRightListBulletIcon as U, Link01Icon as W, LinkSquare02Icon as G, LockKeyIcon as K, Logout01Icon as q, Mail01Icon as J, Menu01Icon as Y, MinusSignIcon as X, Moon02Icon as Z, MoreHorizontalIcon as Q, Notification03Icon as $, PackageReceive01Icon as te, Pdf01Icon as ne, PlugSocketIcon as re, Refresh01Icon as ie, Robot01Icon as ae, Route01Icon as oe, Search01Icon as se, ServerStack01Icon as ce, Settings01Icon as le, ShieldKeyIcon as ue, SidebarLeftIcon as de, SidebarRightIcon as fe, SlidersHorizontalIcon as pe, Sorting05Icon as me, SourceCodeIcon as he, Sun03Icon as ge, TestTube01Icon as _e, Tick02Icon as ve, ToolsIcon as ye, UnfoldMoreIcon as be, Upload01Icon as xe, User03Icon as Se, UserGroupIcon as Ce, ViewIcon as we, ViewOffSlashIcon as Te, Wallet01Icon as Ee } from "@hugeicons/core-free-icons";
|
|
2
|
-
//#region src/icons/vocabulary.ts
|
|
3
|
-
var De = {
|
|
4
|
-
key: B,
|
|
5
|
-
providerKey: ue,
|
|
6
|
-
project: M,
|
|
7
|
-
organization: h,
|
|
8
|
-
model: t,
|
|
9
|
-
playground: _e,
|
|
10
|
-
alias: W,
|
|
11
|
-
limit: N,
|
|
12
|
-
budget: Ee,
|
|
13
|
-
requestLog: U,
|
|
14
|
-
usage: i,
|
|
15
|
-
member: Se,
|
|
16
|
-
members: Ce,
|
|
17
|
-
serviceAccount: ae,
|
|
18
|
-
settings: le,
|
|
19
|
-
audit: m,
|
|
20
|
-
instance: ce,
|
|
21
|
-
provider: re,
|
|
22
|
-
route: oe,
|
|
23
|
-
gateway: a,
|
|
24
|
-
database: E,
|
|
25
|
-
update: te,
|
|
26
|
-
security: K,
|
|
27
|
-
session: H,
|
|
28
|
-
overview: T,
|
|
29
|
-
chart: v,
|
|
30
|
-
home: L,
|
|
31
|
-
tools: ye,
|
|
32
|
-
reasoning: w,
|
|
33
|
-
vision: R,
|
|
34
|
-
pdf: ne,
|
|
35
|
-
structuredOutput: he,
|
|
36
|
-
signOut: q,
|
|
37
|
-
copy: C,
|
|
38
|
-
externalLink: p,
|
|
39
|
-
openExternal: G,
|
|
40
|
-
add: e,
|
|
41
|
-
close: _,
|
|
42
|
-
edit: k,
|
|
43
|
-
delete: D,
|
|
44
|
-
download: O,
|
|
45
|
-
upload: xe,
|
|
46
|
-
refresh: ie,
|
|
47
|
-
retry: l,
|
|
48
|
-
search: se,
|
|
49
|
-
filter: j,
|
|
50
|
-
displayOptions: pe,
|
|
51
|
-
more: Q,
|
|
52
|
-
menu: Y,
|
|
53
|
-
sort: me,
|
|
54
|
-
switcher: be,
|
|
55
|
-
expand: s,
|
|
56
|
-
collapse: d,
|
|
57
|
-
show: we,
|
|
58
|
-
hide: Te,
|
|
59
|
-
reveal: A,
|
|
60
|
-
sidebar: de,
|
|
61
|
-
sidePanel: fe,
|
|
62
|
-
list: U,
|
|
63
|
-
board: F,
|
|
64
|
-
stack: ee,
|
|
65
|
-
check: ve,
|
|
66
|
-
success: y,
|
|
67
|
-
warning: n,
|
|
68
|
-
error: r,
|
|
69
|
-
info: z,
|
|
70
|
-
minus: X,
|
|
71
|
-
notification: $,
|
|
72
|
-
chevronDown: o,
|
|
73
|
-
chevronUp: f,
|
|
74
|
-
chevronLeft: c,
|
|
75
|
-
chevronRight: u,
|
|
76
|
-
arrowRight: u,
|
|
77
|
-
calendar: g,
|
|
78
|
-
time: b,
|
|
79
|
-
code: x,
|
|
80
|
-
mail: J,
|
|
81
|
-
keyboard: V,
|
|
82
|
-
help: I,
|
|
83
|
-
github: P,
|
|
84
|
-
themeLight: ge,
|
|
85
|
-
themeDark: Z,
|
|
86
|
-
themeSystem: S
|
|
87
|
-
};
|
|
88
|
-
//#endregion
|
|
89
|
-
export { De as t };
|
|
90
|
-
|
|
91
|
-
//# sourceMappingURL=icon-CBzvyEqC.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"icon-CBzvyEqC.js","names":["icons","Key01Icon","ShieldKeyIcon","Folder01Icon","Building03Icon","AiBrain01Icon","TestTube01Icon","Link01Icon","GaugeIcon","Wallet01Icon","LeftToRightListBulletIcon","Analytics01Icon","User03Icon","UserGroupIcon","Robot01Icon","Settings01Icon","Audit01Icon","ServerStack01Icon","PlugSocketIcon","Route01Icon","ArrowDataTransferVerticalIcon","Database01Icon","PackageReceive01Icon","LockKeyIcon","LaptopIcon","DashboardSquare01Icon","ChartLineData01Icon","Home01Icon","ToolsIcon","CpuIcon","Image01Icon","Pdf01Icon","SourceCodeIcon","Logout01Icon","Copy01Icon","ArrowUpRight01Icon","LinkSquare02Icon","Add01Icon","Cancel01Icon","Edit02Icon","Delete02Icon","Download01Icon","Upload01Icon","Refresh01Icon","ArrowReloadHorizontalIcon","Search01Icon","FilterHorizontalIcon","SlidersHorizontalIcon","MoreHorizontalIcon","Menu01Icon","Sorting05Icon","UnfoldMoreIcon","ArrowExpand01Icon","ArrowShrink02Icon","ViewIcon","ViewOffSlashIcon","EyeIcon","SidebarLeftIcon","SidebarRightIcon","GridViewIcon","Layers01Icon","Tick02Icon","CheckmarkCircle02Icon","Alert02Icon","AlertCircleIcon","InformationCircleIcon","MinusSignIcon","Notification03Icon","ArrowDown01Icon","ArrowUp01Icon","ArrowLeft01Icon","ArrowRight01Icon","Calendar03Icon","Clock01Icon","CodeIcon","Mail01Icon","KeyboardIcon","HelpCircleIcon","GithubIcon","Sun03Icon","Moon02Icon","ComputerIcon"],"sources":["../../src/icons/vocabulary.ts"],"sourcesContent":["import {\n Add01Icon,\n AiBrain01Icon,\n TestTube01Icon,\n Alert02Icon,\n AlertCircleIcon,\n Analytics01Icon,\n ArrowDown01Icon,\n ArrowLeft01Icon,\n ArrowRight01Icon,\n ArrowUp01Icon,\n ArrowUpRight01Icon,\n ArrowDataTransferVerticalIcon,\n Audit01Icon,\n Building03Icon,\n Calendar03Icon,\n Cancel01Icon,\n CheckmarkCircle02Icon,\n Clock01Icon,\n CodeIcon,\n Copy01Icon,\n CpuIcon,\n Database01Icon,\n Delete02Icon,\n Download01Icon,\n Edit02Icon,\n EyeIcon,\n FilterHorizontalIcon,\n Folder01Icon,\n GaugeIcon,\n GithubIcon,\n HelpCircleIcon,\n Home01Icon,\n Image01Icon,\n InformationCircleIcon,\n Key01Icon,\n KeyboardIcon,\n LeftToRightListBulletIcon,\n Link01Icon,\n LinkSquare02Icon,\n LockKeyIcon,\n Logout01Icon,\n Mail01Icon,\n Menu01Icon,\n Moon02Icon,\n MoreHorizontalIcon,\n PackageReceive01Icon,\n Pdf01Icon,\n PlugSocketIcon,\n Refresh01Icon,\n Robot01Icon,\n Route01Icon,\n Search01Icon,\n ServerStack01Icon,\n Settings01Icon,\n ShieldKeyIcon,\n SidebarLeftIcon,\n SidebarRightIcon,\n SlidersHorizontalIcon,\n Sorting05Icon,\n SourceCodeIcon,\n Sun03Icon,\n Tick02Icon,\n ToolsIcon,\n User03Icon,\n UserGroupIcon,\n ViewIcon,\n ViewOffSlashIcon,\n Wallet01Icon,\n ComputerIcon,\n DashboardSquare01Icon,\n ChartLineData01Icon,\n GridViewIcon,\n Layers01Icon,\n ArrowExpand01Icon,\n ArrowShrink02Icon,\n MinusSignIcon,\n Upload01Icon,\n Notification03Icon,\n ArrowReloadHorizontalIcon,\n UnfoldMoreIcon,\n LaptopIcon,\n} from \"@hugeicons/core-free-icons\";\n\nexport const icons = {\n key: Key01Icon,\n providerKey: ShieldKeyIcon,\n project: Folder01Icon,\n organization: Building03Icon,\n model: AiBrain01Icon,\n playground: TestTube01Icon,\n alias: Link01Icon,\n limit: GaugeIcon,\n budget: Wallet01Icon,\n requestLog: LeftToRightListBulletIcon,\n usage: Analytics01Icon,\n member: User03Icon,\n members: UserGroupIcon,\n serviceAccount: Robot01Icon,\n settings: Settings01Icon,\n audit: Audit01Icon,\n instance: ServerStack01Icon,\n provider: PlugSocketIcon,\n route: Route01Icon,\n gateway: ArrowDataTransferVerticalIcon,\n database: Database01Icon,\n update: PackageReceive01Icon,\n security: LockKeyIcon,\n session: LaptopIcon,\n overview: DashboardSquare01Icon,\n chart: ChartLineData01Icon,\n home: Home01Icon,\n tools: ToolsIcon,\n reasoning: CpuIcon,\n vision: Image01Icon,\n pdf: Pdf01Icon,\n structuredOutput: SourceCodeIcon,\n signOut: Logout01Icon,\n copy: Copy01Icon,\n externalLink: ArrowUpRight01Icon,\n openExternal: LinkSquare02Icon,\n add: Add01Icon,\n close: Cancel01Icon,\n edit: Edit02Icon,\n delete: Delete02Icon,\n download: Download01Icon,\n upload: Upload01Icon,\n refresh: Refresh01Icon,\n retry: ArrowReloadHorizontalIcon,\n search: Search01Icon,\n filter: FilterHorizontalIcon,\n displayOptions: SlidersHorizontalIcon,\n more: MoreHorizontalIcon,\n menu: Menu01Icon,\n sort: Sorting05Icon,\n switcher: UnfoldMoreIcon,\n expand: ArrowExpand01Icon,\n collapse: ArrowShrink02Icon,\n show: ViewIcon,\n hide: ViewOffSlashIcon,\n reveal: EyeIcon,\n sidebar: SidebarLeftIcon,\n sidePanel: SidebarRightIcon,\n list: LeftToRightListBulletIcon,\n board: GridViewIcon,\n stack: Layers01Icon,\n check: Tick02Icon,\n success: CheckmarkCircle02Icon,\n warning: Alert02Icon,\n error: AlertCircleIcon,\n info: InformationCircleIcon,\n minus: MinusSignIcon,\n notification: Notification03Icon,\n chevronDown: ArrowDown01Icon,\n chevronUp: ArrowUp01Icon,\n chevronLeft: ArrowLeft01Icon,\n chevronRight: ArrowRight01Icon,\n arrowRight: ArrowRight01Icon,\n calendar: Calendar03Icon,\n time: Clock01Icon,\n code: CodeIcon,\n mail: Mail01Icon,\n keyboard: KeyboardIcon,\n help: HelpCircleIcon,\n github: GithubIcon,\n themeLight: Sun03Icon,\n themeDark: Moon02Icon,\n themeSystem: ComputerIcon,\n} as const;\n\nexport type IconName = keyof typeof icons;\n"],"mappings":";;AAoFA,IAAaA,KAAQ;CACnB,KAAKC;CACL,aAAaC;CACb,SAASC;CACT,cAAcC;CACd,OAAOC;CACP,YAAYC;CACZ,OAAOC;CACP,OAAOC;CACP,QAAQC;CACR,YAAYC;CACZ,OAAOC;CACP,QAAQC;CACR,SAASC;CACT,gBAAgBC;CAChB,UAAUC;CACV,OAAOC;CACP,UAAUC;CACV,UAAUC;CACV,OAAOC;CACP,SAASC;CACT,UAAUC;CACV,QAAQC;CACR,UAAUC;CACV,SAASC;CACT,UAAUC;CACV,OAAOC;CACP,MAAMC;CACN,OAAOC;CACP,WAAWC;CACX,QAAQC;CACR,KAAKC;CACL,kBAAkBC;CAClB,SAASC;CACT,MAAMC;CACN,cAAcC;CACd,cAAcC;CACd,KAAKC;CACL,OAAOC;CACP,MAAMC;CACN,QAAQC;CACR,UAAUC;CACV,QAAQC;CACR,SAASC;CACT,OAAOC;CACP,QAAQC;CACR,QAAQC;CACR,gBAAgBC;CAChB,MAAMC;CACN,MAAMC;CACN,MAAMC;CACN,UAAUC;CACV,QAAQC;CACR,UAAUC;CACV,MAAMC;CACN,MAAMC;CACN,QAAQC;CACR,SAASC;CACT,WAAWC;CACX,MAAMhD;CACN,OAAOiD;CACP,OAAOC;CACP,OAAOC;CACP,SAASC;CACT,SAASC;CACT,OAAOC;CACP,MAAMC;CACN,OAAOC;CACP,cAAcC;CACd,aAAaC;CACb,WAAWC;CACX,aAAaC;CACb,cAAcC;CACd,YAAYA;CACZ,UAAUC;CACV,MAAMC;CACN,MAAMC;CACN,MAAMC;CACN,UAAUC;CACV,MAAMC;CACN,QAAQC;CACR,YAAYC;CACZ,WAAWC;CACX,aAAaC;AACf"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"identity-DPuTkMsa.js","names":["__icon_ToolsIcon","__icon_CpuIcon","__icon_Image01Icon","__icon_Pdf01Icon","__icon_SourceCodeIcon","_Fragment","cn","useUiText","Icon","Tooltip","CopyButton","Badge","Fragment$1","PROVIDER_MARKS","KAESO_IDENTITY_VARIANTS","KAESO_IDENTITY_DEFAULT_VARIANTS","providerName","name","id","providerLetter","MARK_SIZE","ProviderBadge","mark","provider","label","tile","withName","size","className","CAP_ICON","ToolsIcon","CpuIcon","Image01Icon","Pdf01Icon","SourceCodeIcon","capabilityLabels","t","SHORT_ID","ModelLabel","providerDisplayName","model","capabilities","CapabilityIcons","capLabel","c","KEY_TONE","accessLabels","stateLabels","KeyDisplay","state","redacted","stateBadge","access","copy","STATUS_CLASS","code","statusTexts","StatusCode","text","tone","color","el","showText","RequestTimeline","ratio","totalMs","ttfbMs","fmt","ms","formatNumber","width","ProviderCard","status","connected","keyLabel","detail","actions"],"sources":["../../src/components/kaeso/provider-marks.ts","../../src/components/kaeso/identity.tsx"],"sourcesContent":["export interface ProviderMark {\n d: string;\n color: string;\n}\n\nexport const PROVIDER_MARKS: Record<string, ProviderMark> = {\n openai: {\n d: \"M9.205 8.765v-2.26c0-.19.071-.333.238-.428l4.543-2.616c.619-.357 1.356-.523 2.117-.523 2.854 0 4.662 2.212 4.662 4.567 0 .166 0 .356-.024.547l-4.71-2.76a.8.8 0 0 0-.856 0zm10.608 8.8v-5.399c0-.333-.142-.57-.428-.737l-5.97-3.472 1.95-1.118a.43.43 0 0 1 .476 0l4.544 2.616c1.308.761 2.188 2.379 2.188 3.948 0 1.808-1.07 3.473-2.76 4.163ZM7.802 12.81l-1.95-1.142a.45.45 0 0 1-.239-.428V6.006c0-2.545 1.95-4.472 4.591-4.472 1 0 1.927.333 2.712.928L8.23 5.174c-.285.166-.428.404-.428.737zM12 15.235l-2.795-1.57v-3.33L12 8.765l2.795 1.57v3.33zm1.796 7.23a4.45 4.45 0 0 1-2.712-.927l4.686-2.712c.285-.166.428-.404.428-.737v-6.898l1.974 1.142c.167.095.238.238.238.428v5.233c0 2.545-1.974 4.472-4.614 4.472Zm-5.638-5.303-4.543-2.617c-1.308-.761-2.188-2.378-2.188-3.948A4.48 4.48 0 0 1 4.21 6.434v5.424c0 .333.142.57.428.737l5.947 3.449-1.951 1.118a.43.43 0 0 1-.476 0m-.261 3.9c-2.688 0-4.662-2.021-4.662-4.519 0-.19.024-.38.047-.57l4.686 2.71a.8.8 0 0 0 .857 0l5.97-3.448v2.26c0 .19-.072.333-.238.428l-4.543 2.616c-.619.357-1.356.524-2.117.524Zm5.899 2.831a5.95 5.95 0 0 0 5.828-4.757c2.663-.69 4.376-3.188 4.376-5.733a6 6 0 0 0-1.998-4.447c.119-.5.19-1 .19-1.499 0-3.401-2.759-5.947-5.946-5.947a5.7 5.7 0 0 0-1.88.31A5.96 5.96 0 0 0 10.205.107a5.95 5.95 0 0 0-5.828 4.757C1.712 5.554 0 8.052 0 10.597c0 1.665.713 3.282 1.998 4.448-.12.5-.19.999-.19 1.498 0 3.401 2.759 5.947 5.946 5.947a5.7 5.7 0 0 0 1.88-.31 5.96 5.96 0 0 0 4.162 1.713\",\n color: \"text-mark-openai\",\n },\n anthropic: {\n d: \"M17.304 3.541h-3.672l6.696 16.918H24zm-10.608 0L0 20.459h3.744l1.37-3.553h7.005l1.369 3.553h3.744L10.536 3.541zm-.372 10.223L8.616 7.82l2.292 5.945z\",\n color: \"text-fg\",\n },\n deepseek: {\n d: \"M23.748 4.651c-.254-.124-.364.113-.512.233-.051.04-.094.09-.137.137-.372.397-.806.657-1.373.626-.829-.046-1.537.214-2.163.848-.133-.782-.575-1.248-1.247-1.548-.352-.155-.708-.311-.955-.65-.172-.24-.219-.509-.305-.774-.055-.16-.11-.323-.293-.35-.2-.031-.278.136-.356.276-.313.572-.434 1.202-.422 1.84.027 1.436.633 2.58 1.838 3.393.137.094.172.187.129.323-.082.28-.18.553-.266.833-.055.179-.137.218-.328.14a5.5 5.5 0 0 1-1.737-1.179c-.857-.828-1.631-1.743-2.597-2.46a12 12 0 0 0-.689-.47c-.985-.957.13-1.743.387-1.836.27-.098.094-.433-.778-.428-.872.003-1.67.295-2.687.685a3 3 0 0 1-.465.136 9.6 9.6 0 0 0-2.883-.101c-1.885.21-3.39 1.1-4.497 2.622C.082 8.776-.231 10.854.152 13.02c.403 2.284 1.568 4.175 3.36 5.653 1.857 1.533 3.997 2.284 6.438 2.14 1.482-.085 3.132-.284 4.994-1.86.47.234.962.328 1.78.398.629.058 1.235-.031 1.705-.129.735-.155.684-.836.418-.961-2.155-1.004-1.682-.595-2.112-.926 1.095-1.295 2.768-3.598 3.284-6.733.05-.346.115-.834.108-1.114-.005-.171.035-.238.23-.257a4.2 4.2 0 0 0 1.545-.475c1.397-.763 1.96-2.016 2.093-3.517.02-.23-.005-.467-.247-.588M11.58 18.168c-2.088-1.642-3.101-2.183-3.52-2.16-.39.024-.32.472-.234.763.09.288.207.487.371.74.114.167.192.416-.113.603-.673.416-1.842-.14-1.897-.168-1.361-.801-2.5-1.86-3.301-3.306-.775-1.393-1.225-2.888-1.299-4.482-.02-.385.094-.522.477-.592a4.7 4.7 0 0 1 1.53-.038c2.131.311 3.946 1.264 5.467 2.774.868.86 1.525 1.887 2.202 2.89.72 1.066 1.494 2.082 2.48 2.915.348.291.626.513.892.677-.802.09-2.14.109-3.055-.615zm1.001-6.44a.306.306 0 0 1 .415-.287.3.3 0 0 1 .113.074.3.3 0 0 1 .086.214c0 .17-.136.307-.308.307a.303.303 0 0 1-.306-.307m3.11 1.596c-.2.081-.4.151-.591.16a1.25 1.25 0 0 1-.798-.254c-.274-.23-.47-.358-.551-.758a1.7 1.7 0 0 1 .015-.588c.07-.327-.007-.537-.238-.727-.188-.156-.426-.199-.689-.199a.6.6 0 0 1-.254-.078.253.253 0 0 1-.114-.358 1 1 0 0 1 .192-.21c.356-.202.767-.136 1.146.016.352.144.618.408 1.001.782.392.451.462.576.685.915.176.264.336.536.446.848.066.194-.02.353-.25.45\",\n color: \"text-fg\",\n },\n xai: {\n d: \"M7.168 12.02.391 7.035h5.766l4.182 3.01q-1.677.964-3.17 1.975m9.512 7.1-5.077-3.745q1.7-1.287 2.872-2.114l7.995 5.859Zm-10.844 0H0l.69-.644q3.17-3.101 8.741-6.812Q14.622 8.207 24 4.88v1.931q-1.085.482-2.196 1.005-8.846 4.158-15.968 11.304\",\n color: \"text-mark-xai\",\n },\n togetherai: {\n d: \"M21.33 5.172a5 5 0 0 0-6.83-1.83 4.98 4.98 0 0 0-2.496 4.111L17 7.46v.428h-4.996a5 5 0 1 0 9.325-2.716M2.67 5.17A5 5 0 0 0 4.5 12a4.98 4.98 0 0 0 4.808.105l-2.492-4.33.371-.214 2.498 4.327A5 5 0 1 0 2.67 5.17M11.999 21.33a5 5 0 0 0 4.999-5c0-1.775-.916-3.33-2.312-4.216l-2.504 4.324-.37-.215 2.497-4.327A5 5 0 1 0 12 21.33Z\",\n color: \"text-mark-togetherai\",\n },\n groq: {\n d: \"M15.955 0 3.944 12.538l7.43 1.904L8.045 24l12.011-12.538-7.43-1.904z\",\n color: \"text-fg\",\n },\n openrouter: {\n d: \"M18.376 3.806c2.693 0 4.876 2.201 4.876 4.917s-2.183 4.916-4.876 4.916l4.836 4.876c.615.62.18 1.679-.689 1.679H8.626C4.138 20.194.5 16.525.5 12s3.638-8.194 8.126-8.194zm-9.75 3.278c-2.693 0-4.876 2.2-4.876 4.916 0 2.715 2.183 4.916 4.876 4.916 2.692 0 4.875-2.2 4.875-4.916 0-2.715-2.183-4.916-4.875-4.916\",\n color: \"text-mark-openrouter\",\n },\n mistral: {\n d: \"M8 5H5v3h3zm0 9H5v3h3zm3 3H2v3h9zm0-9H5v3h6zm3 6h-3v3h3zm6-3H5v3h15zm0-3h-6v3h6zm0-3h-3v3h3zm0 9h-3v3h3zm3 3h-9v3h9z\",\n color: \"text-mark-mistral\",\n },\n};\n","import { forwardRef, type ReactNode } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { ToolsIcon as __icon_ToolsIcon, CpuIcon as __icon_CpuIcon, Image01Icon as __icon_Image01Icon, Pdf01Icon as __icon_Pdf01Icon, SourceCodeIcon as __icon_SourceCodeIcon } from \"@hugeicons/core-free-icons\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { Badge } from \"../badge/badge.js\";\nimport { CopyButton } from \"../copy-button/copy-button.js\";\nimport { PROVIDER_MARKS } from \"./provider-marks.js\";\nimport { formatNumber } from \"../../format/index.js\";\nimport { useUiText, type UiText } from \"../../i18n/context.js\";\n\nexport const KAESO_IDENTITY_VARIANTS = {\n provider: {\n sm: { classes: \"size-16 rounded-cell text-micro\" },\n md: { classes: \"size-20 rounded-avatar text-micro\" },\n lg: { classes: \"size-28 rounded-org text-caption\" },\n xl: { classes: \"size-40 rounded-org text-body\" },\n },\n} as const;\nexport const KAESO_IDENTITY_DEFAULT_VARIANTS = { provider: \"md\" } as const;\n\nexport const providerName = (id: string, name?: string | undefined) => name?.trim() || id;\nconst providerLetter = (id: string, name?: string | undefined) => (/[\\p{L}\\p{N}]/u.exec(providerName(id, name))?.[0] ?? id.slice(0, 1)).toLocaleUpperCase();\n\nconst MARK_SIZE = { sm: \"size-10\", md: \"size-12\", lg: \"size-16\", xl: \"size-24\" } as const;\n\nexport const ProviderBadge = /* @__PURE__ */ forwardRef<\n HTMLSpanElement,\n {\n provider: string;\n name?: string | undefined;\n size?: keyof typeof KAESO_IDENTITY_VARIANTS.provider | undefined;\n withName?: boolean | undefined;\n className?: string | undefined;\n }\n>(function ProviderBadge({ provider, name, size = \"md\", withName, className }, ref) {\n const mark = PROVIDER_MARKS[provider];\n const label = providerName(provider, name);\n const tile = (\n <span\n aria-hidden={withName || undefined}\n {...(!withName ? { role: \"img\", \"aria-label\": label } : {})}\n className={cn(\n \"inline-flex shrink-0 items-center justify-center bg-fill-1 font-semibold shadow-ring\",\n mark ? mark.color : \"text-fg-secondary\",\n KAESO_IDENTITY_VARIANTS.provider[size].classes,\n )}\n >\n {mark ? (\n <svg viewBox=\"0 0 24 24\" fill=\"currentColor\" fillRule=\"evenodd\" aria-hidden focusable=\"false\" className={MARK_SIZE[size]}>\n <path d={mark.d} />\n </svg>\n ) : (\n providerLetter(provider, name)\n )}\n </span>\n );\n if (!withName)\n return (\n <span ref={ref} className={cn(\"inline-flex\", className)}>\n {tile}\n </span>\n );\n return (\n <span ref={ref} className={cn(\"inline-flex max-w-full min-w-0 items-center gap-8 text-body text-fg\", className)}>\n {tile}\n <span className=\"min-w-0 truncate\">{label}</span>\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ProviderBadge.displayName = \"ProviderBadge\";\n\nexport type Capability = \"tools\" | \"reasoning\" | \"vision\" | \"pdf\" | \"structuredOutput\";\nconst CAP_ICON: Record<Capability, IconData> = {\n tools: __icon_ToolsIcon,\n reasoning: __icon_CpuIcon,\n vision: __icon_Image01Icon,\n pdf: __icon_Pdf01Icon,\n structuredOutput: __icon_SourceCodeIcon,\n};\nfunction capabilityLabels(t: UiText): Record<Capability, string> {\n return {\n tools: t(\"modelLabel.toolCalling\", \"Tool calling\"),\n reasoning: t(\"modelLabel.reasoning\", \"Reasoning\"),\n vision: t(\"modelLabel.imageInput\", \"Image input\"),\n pdf: t(\"modelLabel.pdfInput\", \"PDF input\"),\n structuredOutput: t(\"modelLabel.structuredOutput\", \"Structured output\"),\n };\n}\n\nconst SHORT_ID = 14;\n\nexport interface ModelLabelProps {\n provider: string;\n providerName?: string | undefined;\n model: string;\n name?: string | undefined;\n capabilities?: Capability[] | undefined;\n mark?: boolean | undefined;\n className?: string | undefined;\n}\n\nexport const ModelLabel = /* @__PURE__ */ forwardRef<HTMLSpanElement, ModelLabelProps>(function ModelLabel(\n { provider, providerName: providerDisplayName, model, name, capabilities = [], mark = true, className },\n ref,\n) {\n return (\n <span ref={ref} className={cn(\"inline-flex max-w-full min-w-0 items-center gap-8\", className)}>\n {mark && <ProviderBadge provider={provider} name={providerDisplayName} />}\n {name ? (\n <>\n <span className=\"min-w-0 truncate text-body text-fg\">{name}</span>\n <span className=\"flex h-20 min-w-0 flex-1 basis-0 flex-wrap content-start items-center overflow-hidden\">\n <span aria-hidden className=\"h-20 w-0\" />\n <span className={cn(\"flex-1 truncate mono text-small text-fg-secondary\", model.length <= SHORT_ID ? \"min-w-max\" : \"min-w-96\")}>{model}</span>\n </span>\n </>\n ) : (\n <span className=\"min-w-0 truncate mono text-small text-fg\">{model}</span>\n )}\n {capabilities.length > 0 && <CapabilityIcons capabilities={capabilities} className=\"hidden sm:flex\" />}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ModelLabel.displayName = \"ModelLabel\";\n\nexport const CapabilityIcons = /* @__PURE__ */ forwardRef<HTMLSpanElement, { capabilities: Capability[]; className?: string | undefined }>(function CapabilityIcons(\n { capabilities, className },\n ref,\n) {\n const t = useUiText();\n const capLabel = capabilityLabels(t);\n if (capabilities.length === 0) return null;\n return (\n <span\n ref={ref}\n role=\"img\"\n className={cn(\"flex shrink-0 items-center gap-2\", className)}\n aria-label={t(\"modelLabel.capabilities\", \"Capabilities: {list}\", {\n list: capabilities.map((c) => capLabel[c]).join(t(\"modelLabel.listSeparator\", \", \")),\n })}\n >\n {capabilities.map((c) => (\n <Tooltip key={c} content={capLabel[c]}>\n <span className=\"inline-flex size-20 items-center justify-center rounded-pill text-fg-tertiary hover:text-fg\">\n <Icon icon={CAP_ICON[c]} size=\"xs\" />\n </span>\n </Tooltip>\n ))}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CapabilityIcons.displayName = \"CapabilityIcons\";\n\nexport type KeyState = \"active\" | \"disabled\" | \"expired\" | \"archived\";\nconst KEY_TONE: Record<KeyState, \"success\" | \"neutral\" | \"warning\"> = { active: \"success\", disabled: \"neutral\", expired: \"warning\", archived: \"neutral\" };\n\nexport interface KeyDisplayProps {\n redacted: string;\n state?: KeyState | undefined;\n access?: \"inference\" | \"platform\" | \"both\" | undefined;\n copy?: boolean | undefined;\n className?: string | undefined;\n stateBadge?: boolean | undefined;\n}\n\nfunction accessLabels(t: UiText) {\n return {\n inference: t(\"keyDisplay.inference\", \"Inference\"),\n platform: t(\"keyDisplay.platform\", \"Platform\"),\n both: t(\"keyDisplay.inferenceAndPlatform\", \"Inference + platform\"),\n };\n}\n\nfunction stateLabels(t: UiText): Record<KeyState, string> {\n return {\n active: t(\"keyDisplay.active\", \"Active\"),\n disabled: t(\"keyDisplay.disabled\", \"Disabled\"),\n expired: t(\"keyDisplay.expired\", \"Expired\"),\n archived: t(\"keyDisplay.archived\", \"Archived\"),\n };\n}\n\nexport const KeyDisplay = /* @__PURE__ */ forwardRef<HTMLSpanElement, KeyDisplayProps>(function KeyDisplay(\n { redacted, state = \"active\", stateBadge = true, access, copy = true, className },\n ref,\n) {\n const t = useUiText();\n return (\n <span ref={ref} className={cn(\"group/key inline-flex max-w-full min-w-0 items-center gap-8\", className)}>\n <span className={cn(\"min-w-0 truncate mono text-small\", state === \"active\" ? \"text-fg\" : \"text-fg-secondary\")}>{redacted}</span>\n {stateBadge && state !== \"active\" && <Badge tone={KEY_TONE[state] === \"warning\" ? \"warning\" : \"neutral\"}>{stateLabels(t)[state]}</Badge>}\n {access && <Badge tone={access === \"inference\" ? \"neutral\" : \"outline\"}>{accessLabels(t)[access]}</Badge>}\n {copy && (\n <span className=\"opacity-0 transition-control group-hover/key:opacity-100 coarse:opacity-100 focus-within:opacity-100\">\n <CopyButton value={redacted} size=\"xs\" label={t(\"keyDisplay.copyRedactedKey\", \"Copy redacted key\")} />\n </span>\n )}\n </span>\n );\n});\nif (process.env.NODE_ENV !== \"production\") KeyDisplay.displayName = \"KeyDisplay\";\n\nconst STATUS_CLASS = (code: number) => (code >= 500 ? \"danger\" : code >= 400 ? \"warning\" : \"neutral\") as \"danger\" | \"warning\" | \"neutral\";\nfunction statusTexts(t: UiText): Record<number, string> {\n return {\n 200: t(\"statusCode.ok\", \"OK\"),\n 201: t(\"statusCode.created\", \"Created\"),\n 204: t(\"statusCode.noContent\", \"No content\"),\n 400: t(\"statusCode.badRequest\", \"Bad request\"),\n 401: t(\"statusCode.unauthorized\", \"Unauthorized\"),\n 403: t(\"statusCode.forbidden\", \"Forbidden\"),\n 404: t(\"statusCode.notFound\", \"Not found\"),\n 408: t(\"statusCode.timeout\", \"Timeout\"),\n 409: t(\"statusCode.conflict\", \"Conflict\"),\n 413: t(\"statusCode.tooLarge\", \"Too large\"),\n 422: t(\"statusCode.unprocessable\", \"Unprocessable\"),\n 429: t(\"statusCode.rateLimited\", \"Rate limited\"),\n 499: t(\"statusCode.clientClosed\", \"Client closed\"),\n 500: t(\"statusCode.serverError\", \"Server error\"),\n 502: t(\"statusCode.badGateway\", \"Bad gateway\"),\n 503: t(\"statusCode.unavailable\", \"Unavailable\"),\n 504: t(\"statusCode.gatewayTimeout\", \"Gateway timeout\"),\n 529: t(\"statusCode.overloaded\", \"Overloaded\"),\n };\n}\n\nexport const StatusCode = /* @__PURE__ */ forwardRef<HTMLSpanElement, { code: number; showText?: boolean | undefined; className?: string | undefined }>(function StatusCode(\n { code, showText, className },\n ref,\n) {\n const t = useUiText();\n const text = statusTexts(t)[code];\n const tone = STATUS_CLASS(code);\n const color = { danger: \"text-danger-text\", warning: \"text-warning-text\", neutral: code >= 200 && code < 300 ? \"text-fg\" : \"text-fg-secondary\" }[tone];\n const el = (\n <span ref={ref} tabIndex={showText ? undefined : 0} className={cn(\"inline-flex items-center gap-6 outline-none\", className)}>\n <span className={cn(\"mono text-small font-medium tabular\", color)}>{code}</span>\n {showText && <span className=\"text-small text-fg-secondary\">{text ?? \"\"}</span>}\n <span className=\"sr-only\">{text ?? \"\"}</span>\n </span>\n );\n return showText || !text ? el : <Tooltip content={t(\"statusCode.tooltip\", \"{code} {text}\", { code: String(code), text })}>{el}</Tooltip>;\n});\nif (process.env.NODE_ENV !== \"production\") StatusCode.displayName = \"StatusCode\";\n\nexport const RequestTimeline = /* @__PURE__ */ forwardRef<\n HTMLDivElement,\n { ttfbMs: number; totalMs: number; width?: 160 | 240 | \"full\" | undefined; className?: string | undefined }\n>(function RequestTimeline({ ttfbMs, totalMs, width = 240, className }, ref) {\n const t = useUiText();\n const ratio = totalMs > 0 ? Math.min(1, ttfbMs / totalMs) : 0;\n const fmt = (ms: number) =>\n ms < 1000 ? `${Math.round(ms)} ms` : `${formatNumber(ms / 1000, { minimumFractionDigits: 1, maximumFractionDigits: 1, useGrouping: false })} s`;\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-col gap-6\", width === \"full\" ? \"w-full\" : width === 240 ? \"w-240\" : \"w-160\", className)}\n role=\"img\"\n aria-label={t(\"requestTimeline.label\", \"Time to first byte {ttfb} of {total} total\", { ttfb: fmt(ttfbMs), total: fmt(totalMs) })}\n >\n <div className=\"flex h-6 w-full gap-2 overflow-hidden rounded-pill\">\n <span className=\"h-full rounded-l-pill bg-viz-1\" style={{ width: `${ratio * 100}%` }} />\n <span className=\"h-full flex-1 rounded-r-pill bg-fill-3\" />\n </div>\n <div className=\"flex justify-between gap-8 text-caption font-medium text-fg-tertiary\">\n <span className=\"flex min-w-0 flex-col\">\n <span className=\"whitespace-nowrap text-fg-secondary tabular\">{fmt(ttfbMs)}</span>\n <span className=\"wrap-break-word\">{t(\"requestTimeline.firstByte\", \"First byte\")}</span>\n </span>\n <span className=\"flex min-w-0 flex-col items-end text-right\">\n <span className=\"whitespace-nowrap text-fg-secondary tabular\">{fmt(totalMs)}</span>\n <span className=\"wrap-break-word\">{t(\"requestTimeline.totalTime\", \"Total\")}</span>\n </span>\n </div>\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RequestTimeline.displayName = \"RequestTimeline\";\n\nexport interface ProviderCardProps {\n provider: string;\n name?: string | undefined;\n connected: boolean;\n status: ReactNode;\n keyLabel?: ReactNode | undefined;\n detail?: ReactNode | undefined;\n actions?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nexport const ProviderCard = /* @__PURE__ */ forwardRef<HTMLDivElement, ProviderCardProps>(function ProviderCard(\n { provider, name, connected, status, keyLabel, detail, actions, className },\n ref,\n) {\n const t = useUiText();\n const label = providerName(provider, name);\n return (\n <section ref={ref} aria-label={label} className={cn(\"flex min-w-0 flex-col gap-16 rounded-group bg-raised p-20 shadow-xs\", className)}>\n <div className=\"flex min-w-0 items-center gap-12\">\n <ProviderBadge provider={provider} name={name} size=\"xl\" />\n <div className=\"flex min-w-0 flex-1 flex-col gap-2\">\n <h3 className=\"truncate text-body-lg font-semibold text-fg\">{label}</h3>\n <span className=\"text-small text-fg-secondary text-pretty\">{status}</span>\n </div>\n <Badge tone={connected ? \"success\" : \"neutral\"}>\n {connected ? t(\"providerCard.connected\", \"Connected\") : t(\"providerCard.notConnected\", \"Not connected\")}\n </Badge>\n </div>\n {(keyLabel || detail) && (\n <div className=\"flex min-w-0 flex-col gap-2 rounded-well bg-fill-1 px-12 py-10\">\n {keyLabel && <span className=\"truncate text-body text-fg\">{keyLabel}</span>}\n {detail && <span className=\"truncate text-small text-fg-tertiary\">{detail}</span>}\n </div>\n )}\n {actions && <div className=\"mt-auto flex flex-wrap items-center gap-8\">{actions}</div>}\n </section>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ProviderCard.displayName = \"ProviderCard\";\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"input-TyLIaQ5k.js","names":["__icon_Search01Icon","__icon_Cancel01Icon","warnStylingClassName","useUiText","Icon","KbdSequence","useField","useFieldControl","withField","InputGroup","INPUT_ICON_SIZE","KAESO_INPUT_VARIANTS","KAESO_INPUT_DEFAULT_VARIANTS","Input","force","rest","props","className","field","fc","inner","InputGroupFromField","invalid","error","label","description","align","id","leadingIcon","trailing","size","prefix","children","suffix","SearchInput","t","setInner","useState","defaultValue","controlled","value","current","input","useRef","clear","el","onClear","ref","Search01Icon","placeholder","onChange","onKeyDown","Cancel01Icon","shortcut"],"sources":["../../src/components/input/input.tsx"],"sourcesContent":["import { forwardRef, useRef, useState, type InputHTMLAttributes, type KeyboardEvent, type ReactNode } from \"react\";\nimport { warnStylingClassName } from \"../../utils/dev.js\";\nimport { useField, useFieldControl, withField, type FieldWrapProps } from \"../field/field.js\";\nimport { InputGroup, INPUT_ICON_SIZE, type InputSize } from \"./input-group.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { Search01Icon as __icon_Search01Icon, Cancel01Icon as __icon_Cancel01Icon } from \"@hugeicons/core-free-icons\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_INPUT_VARIANTS = {\n size: {\n sm: { classes: \"h-32\" },\n md: { classes: \"h-36\" },\n lg: { classes: \"h-40\" },\n xl: { classes: \"h-48\" },\n },\n} as const;\nexport const KAESO_INPUT_DEFAULT_VARIANTS = { size: \"md\" } as const;\n\nexport interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, \"size\" | \"prefix\">, FieldWrapProps {\n size?: InputSize | undefined;\n leadingIcon?: IconData | undefined;\n prefix?: ReactNode | undefined;\n suffix?: ReactNode | undefined;\n trailing?: ReactNode | undefined;\n invalid?: boolean | undefined;\n align?: \"start\" | \"end\" | undefined;\n \"data-force\"?: string | undefined;\n className?: string | undefined;\n}\n\nexport const Input = /* @__PURE__ */ forwardRef<HTMLInputElement, InputProps>(function Input(props, ref) {\n const {\n size = \"md\",\n leadingIcon,\n prefix,\n suffix,\n trailing,\n invalid,\n align,\n label,\n description,\n error,\n optional,\n required,\n layout,\n className,\n disabled,\n readOnly,\n id,\n \"data-force\": force,\n ...rest\n } = props;\n warnStylingClassName(\"Input\", className);\n const field = useField();\n const fc = useFieldControl(props);\n const inner = (\n <InputGroupFromField\n size={size}\n leadingIcon={leadingIcon}\n prefix={prefix}\n suffix={suffix}\n trailing={trailing}\n invalid={invalid || !!error}\n disabled={disabled}\n readOnly={readOnly}\n force={force}\n className={label || description || error ? undefined : className}\n >\n <InputGroup.Input\n ref={ref}\n disabled={disabled}\n readOnly={readOnly}\n required={required}\n className={align === \"end\" ? \"text-right tabular\" : undefined}\n {...(id ? { id } : {})}\n {...fc.controlProps}\n {...(invalid || error ? { \"aria-invalid\": true } : {})}\n {...rest}\n />\n </InputGroupFromField>\n );\n if (field) return inner;\n return withField({ label, description, error, optional, required, layout, id: fc.wrapId ?? id, disabled, className }, inner);\n});\nif (process.env.NODE_ENV !== \"production\") Input.displayName = \"Input\";\n\nfunction InputGroupFromField({\n size,\n leadingIcon,\n prefix,\n suffix,\n trailing,\n invalid,\n disabled,\n readOnly,\n force,\n className,\n children,\n}: {\n size: InputSize;\n leadingIcon?: IconData | undefined;\n prefix?: ReactNode | undefined;\n suffix?: ReactNode | undefined;\n trailing?: ReactNode | undefined;\n invalid?: boolean | undefined;\n disabled?: boolean | undefined;\n readOnly?: boolean | undefined;\n force?: string | undefined;\n className?: string | undefined;\n children: ReactNode;\n}) {\n return (\n <InputGroup\n size={size}\n leadingIcon={!!leadingIcon}\n trailingButton={!!trailing}\n invalid={invalid}\n disabled={disabled}\n readOnly={readOnly}\n className={className}\n {...(force ? { \"data-force\": force } : {})}\n >\n {leadingIcon && <Icon icon={leadingIcon} size={INPUT_ICON_SIZE[size]} className=\"text-fg-tertiary\" />}\n {prefix && <InputGroup.Addon>{prefix}</InputGroup.Addon>}\n {children}\n {suffix && <InputGroup.Addon>{suffix}</InputGroup.Addon>}\n {trailing}\n </InputGroup>\n );\n}\n\nexport interface SearchInputProps extends Omit<InputProps, \"leadingIcon\" | \"type\" | \"prefix\" | \"suffix\"> {\n shortcut?: string[] | undefined;\n onClear?: (() => void) | undefined;\n placeholder?: string | undefined;\n}\n\nexport const SearchInput = /* @__PURE__ */ forwardRef<HTMLInputElement, SearchInputProps>(function SearchInput(\n { shortcut, onClear, value, defaultValue, onChange, onKeyDown, placeholder, size = \"sm\", ...props },\n ref,\n) {\n const t = useUiText();\n const [inner, setInner] = useState(String(defaultValue ?? \"\"));\n const controlled = value !== undefined;\n const current = controlled ? String(value) : inner;\n const input = useRef<HTMLInputElement | null>(null);\n const clear = () => {\n const el = input.current;\n if (!controlled) setInner(\"\");\n else if (el && !onClear) {\n Object.getOwnPropertyDescriptor(HTMLInputElement.prototype, \"value\")?.set?.call(el, \"\");\n el.dispatchEvent(new Event(\"input\", { bubbles: true }));\n }\n onClear?.();\n el?.focus();\n };\n return (\n <Input\n ref={(el) => {\n input.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n type=\"search\"\n size={size}\n leadingIcon={__icon_Search01Icon}\n placeholder={placeholder ?? t(\"searchInput.placeholder\", \"Search\")}\n autoComplete=\"off\"\n spellCheck={false}\n value={current}\n onChange={(e) => {\n if (!controlled) setInner(e.target.value);\n onChange?.(e);\n }}\n onKeyDown={(e: KeyboardEvent<HTMLInputElement>) => {\n if (e.key === \"Escape\" && current) {\n e.stopPropagation();\n clear();\n }\n onKeyDown?.(e);\n }}\n trailing={current ? <InputGroup.Button icon={__icon_Cancel01Icon} aria-label={t(\"searchInput.clear\", \"Clear search\")} onClick={clear} /> : undefined}\n suffix={!current && shortcut ? <KbdSequence keys={shortcut} /> : undefined}\n {...props}\n />\n );\n});\nif (process.env.NODE_ENV !== \"production\") SearchInput.displayName = \"SearchInput\";\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"inset-BnBj8NJV.js","names":["InsetContext","InsetContent","inset","useInset","useContext","GutterContext","GutterContent","padded","useGutterPadded"],"sources":["../../src/utils/inset.tsx"],"sourcesContent":["import { createContext, useContext, type ReactNode } from \"react\";\n\nconst InsetContext = /* @__PURE__ */ createContext(false);\n\nexport function InsetContent({ children, inset = true }: { children: ReactNode; inset?: boolean | undefined }) {\n return <InsetContext.Provider value={inset}>{children}</InsetContext.Provider>;\n}\n\nexport function useInset(): boolean {\n return useContext(InsetContext);\n}\n\nconst GutterContext = /* @__PURE__ */ createContext(false);\n\nexport function GutterContent({ children, padded = true }: { children: ReactNode; padded?: boolean | undefined }) {\n return <GutterContext.Provider value={padded}>{children}</GutterContext.Provider>;\n}\n\nexport function useGutterPadded(): boolean {\n return useContext(GutterContext);\n}\n"],"mappings":";;;;AAEA,IAAMA,IAA+B,kBAAc,EAAK;AAExD,SAAgBC,EAAa,EAAE,aAAU,WAAQ,MAA8D;CAC7G,OAAO,kBAACD,EAAa,UAAd;EAAuB,OAAOE;EAAQ;CAAgC,CAAA;AAC/E;AAEA,SAAgBC,IAAoB;CAClC,OAAOC,EAAWJ,CAAY;AAChC;AAEA,IAAMK,IAAgC,kBAAc,EAAK;AAEzD,SAAgBC,EAAc,EAAE,aAAU,YAAS,MAA+D;CAChH,OAAO,kBAACD,EAAc,UAAf;EAAwB,OAAOE;EAAS;CAAiC,CAAA;AAClF;AAEA,SAAgBC,IAA2B;CACzC,OAAOJ,EAAWC,CAAa;AACjC"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { createContext as e, forwardRef as t, useContext as n } from "react";
|
|
3
|
-
import { jsx as r } from "react/jsx-runtime";
|
|
4
|
-
//#region src/utils/link-provider.tsx
|
|
5
|
-
var i = /* @__PURE__ */ e(/* @__PURE__ */ t(function(e, t) {
|
|
6
|
-
return /* @__PURE__ */ r("a", {
|
|
7
|
-
ref: t,
|
|
8
|
-
...e
|
|
9
|
-
});
|
|
10
|
-
}));
|
|
11
|
-
function a({ component: e, children: t }) {
|
|
12
|
-
return /* @__PURE__ */ r(i.Provider, {
|
|
13
|
-
value: e,
|
|
14
|
-
children: t
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
process.env.NODE_ENV !== "production" && (a.displayName = "LinkProvider");
|
|
18
|
-
function o() {
|
|
19
|
-
return n(i);
|
|
20
|
-
}
|
|
21
|
-
function s(e) {
|
|
22
|
-
return /^(?:https?:)?\/\//i.test(e) || e.startsWith("mailto:");
|
|
23
|
-
}
|
|
24
|
-
//#endregion
|
|
25
|
-
export { s as n, o as r, a as t };
|
|
26
|
-
|
|
27
|
-
//# sourceMappingURL=link-provider-BsUxhZKG.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"link-provider-BsUxhZKG.js","names":["LinkContext","props","LinkProvider","component","useLinkComponent","useContext","isExternalHref","href"],"sources":["../../src/utils/link-provider.tsx"],"sourcesContent":["import { createContext, forwardRef, useContext, type AnchorHTMLAttributes, type ComponentType, type ReactNode, type Ref } from \"react\";\n\nexport type LinkComponentProps = AnchorHTMLAttributes<HTMLAnchorElement> & { href: string; ref?: Ref<HTMLAnchorElement> };\nexport type LinkComponent = ComponentType<LinkComponentProps>;\n\nconst DefaultLink = /* @__PURE__ */ forwardRef<HTMLAnchorElement, LinkComponentProps>(function DefaultLink(props, ref) {\n return <a ref={ref} {...props} />;\n});\n\nconst LinkContext = /* @__PURE__ */ createContext<LinkComponent>(DefaultLink);\n\nexport function LinkProvider({ component, children }: { component: LinkComponent; children: ReactNode }) {\n return <LinkContext.Provider value={component}>{children}</LinkContext.Provider>;\n}\nif (process.env.NODE_ENV !== \"production\") LinkProvider.displayName = \"LinkProvider\";\n\nexport function useLinkComponent(): LinkComponent {\n return useContext(LinkContext);\n}\n\nexport function isExternalHref(href: string): boolean {\n return /^(?:https?:)?\\/\\//i.test(href) || href.startsWith(\"mailto:\");\n}\n"],"mappings":";;;;AASA,IAAMA,IAA8B,kBAJA,kBAAkD,SAAqB,GAAO,GAAK;CACrH,OAAO,kBAAC,KAAD;EAAQ;EAAK,GAAIC;CAAQ,CAAA;AAClC,CAEiE,CAAW;AAE5E,SAAgBC,EAAa,EAAE,cAAW,eAA+D;CACvG,OAAO,kBAACF,EAAY,UAAb;EAAsB,OAAOG;EAAY;CAA+B,CAAA;AACjF;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAa,cAAc;AAEtE,SAAgBC,IAAkC;CAChD,OAAOC,EAAWL,CAAW;AAC/B;AAEA,SAAgBM,EAAe,GAAuB;CACpD,OAAO,qBAAqB,KAAKC,CAAI,KAAKA,EAAK,WAAW,SAAS;AACrE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu-fl_QQb38.js","names":["BaseMenu","_Fragment","__icon_ArrowUpRight01Icon","__icon_Tick02Icon","__icon_ArrowRight01Icon","Menu","BaseContextMenu","ContextMenu","BaseMenubar","Menubar","MENU_ITEM","MENU_POPUP","MENU_SEPARATOR","MENU_DANGER","cn","useLinkComponent","pageBoundary","usePortalContainer","Icon","KbdSequence","useLayoutWidth","anchorWidthStyle","Fragment$1","KAESO_MENU_VARIANTS","KAESO_MENU_DEFAULT_VARIANTS","NO_TRIGGER","TriggerContext","Root","trigger","useRef","Menu","open","defaultOpen","onOpenChange","o","Trigger","useContext","setTrigger","useCallback","el","children","openOnHover","framed","labelledBy","orientation","rest","props","className","header","footer","Content","triggerWidth","width","popup","ref","at","ItemContent","leading","description","icon","danger","descriptionTone","shortcut","hint","Item","force","disabled","onClick","closeOnClick","variant","LinkItem","LinkComp","external","ArrowUpRight01Icon","CheckboxItem","checked","defaultChecked","onCheckedChange","c","Tick02Icon","RadioGroup","value","defaultValue","onValueChange","v","RadioItem","Group","label","Separator","Header","avatar","name","email","Sub","SubTrigger","setRef","ArrowRight01Icon","SubContent","Menu$1","ContextRoot","ContextMenu","ContextTrigger","ContextContent","ContextMenu$1","MenubarRoot","ariaLabel","Menubar","MenubarTrigger","Menubar$1"],"sources":["../../src/components/menu/menu.tsx"],"sourcesContent":["import { pageBoundary, usePortalContainer } from \"../../utils/portal-context.js\";\nimport {\n createContext,\n forwardRef,\n useCallback,\n useContext,\n useRef,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n type RefObject,\n} from \"react\";\nimport { Menu as BaseMenu } from \"@base-ui/react/menu\";\nimport { ContextMenu as BaseContextMenu } from \"@base-ui/react/context-menu\";\nimport { Menubar as BaseMenubar } from \"@base-ui/react/menubar\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent } from \"../../utils/link-provider.js\";\nimport { Icon, type IconData } from \"../icon/icon.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { ArrowUpRight01Icon as __icon_ArrowUpRight01Icon, Tick02Icon as __icon_Tick02Icon, ArrowRight01Icon as __icon_ArrowRight01Icon } from \"@hugeicons/core-free-icons\";\nimport { anchorWidthStyle, useLayoutWidth } from \"../../hooks/use-layout-width.js\";\nimport { MENU_DANGER, MENU_HINT, MENU_ICON, MENU_ITEM, MENU_LABEL, MENU_POPUP, MENU_SEPARATOR } from \"./styles.js\";\n\nexport const KAESO_MENU_VARIANTS = {\n item: {\n default: { classes: \"\" },\n danger: { classes: MENU_DANGER },\n },\n width: {\n auto: { classes: \"\" },\n trigger: { classes: \"w-anchor\" },\n },\n description: {\n secondary: { classes: \"text-fg-secondary\" },\n danger: { classes: \"text-danger-text\" },\n },\n} as const;\nexport const KAESO_MENU_DEFAULT_VARIANTS = { item: \"default\", width: \"auto\", description: \"secondary\" } as const;\n\ntype Side = \"top\" | \"bottom\" | \"left\" | \"right\";\ntype Align = \"start\" | \"center\" | \"end\";\n\nexport interface MenuProps {\n children: ReactNode;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n modal?: boolean | undefined;\n}\n\nconst NO_TRIGGER: RefObject<HTMLElement | null> = { current: null };\nconst TriggerContext = /* @__PURE__ */ createContext<RefObject<HTMLElement | null> | null>(null);\n\nfunction Root({ open, defaultOpen, onOpenChange, modal = false, children }: MenuProps) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.Root\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n modal={modal}\n >\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Root.displayName = \"Menu\";\n\nfunction Trigger({ children, openOnHover }: { children: ReactElement; openOnHover?: boolean | undefined }) {\n const trigger = useContext(TriggerContext);\n const setTrigger = useCallback(\n (el: HTMLElement | null) => {\n if (trigger) trigger.current = el;\n },\n [trigger],\n );\n return <BaseMenu.Trigger ref={setTrigger} render={children} {...(openOnHover ? { openOnHover } : {})} />;\n}\nif (process.env.NODE_ENV !== \"production\") Trigger.displayName = \"Menu.Trigger\";\n\nexport interface MenuContentProps {\n children: ReactNode;\n side?: Side | undefined;\n align?: Align | undefined;\n sideOffset?: number | undefined;\n width?: keyof typeof KAESO_MENU_VARIANTS.width | undefined;\n className?: string | undefined;\n header?: ReactNode | undefined;\n footer?: ReactNode | undefined;\n}\n\nfunction framed(header: ReactNode, footer: ReactNode) {\n return function framedMenuPopup(props: HTMLAttributes<HTMLDivElement> & { ref?: Ref<HTMLDivElement> | undefined }) {\n const { role, id, \"aria-labelledby\": labelledBy, \"aria-orientation\": orientation, children, className, ...rest } = props;\n return (\n <div {...rest} className={cn(className, \"overflow-hidden p-0\")}>\n <div tabIndex={0} className=\"flex min-h-0 flex-1 flex-col overflow-y-auto overscroll-contain rounded-menu p-6 focus-ring-inset scrollbar-quiet\">\n <div className=\"mb-6 px-10 pt-6 pb-10 hairline-b\">{header}</div>\n <div role={role} id={id} aria-labelledby={labelledBy} aria-orientation={orientation} className=\"flex flex-col\">\n {children}\n </div>\n {footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </div>\n </div>\n );\n };\n}\n\nconst Content = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuContentProps>(function MenuContent(\n { children, side = \"bottom\", align = \"start\", sideOffset = 6, width = \"auto\", className, header, footer },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const triggerWidth = useLayoutWidth(trigger ?? NO_TRIGGER, width === \"trigger\" && !!trigger);\n const popup = useRef<HTMLDivElement | null>(null);\n return (\n <BaseMenu.Portal container={usePortalContainer()}>\n <BaseMenu.Positioner\n positionMethod=\"fixed\"\n collisionBoundary={pageBoundary()}\n side={side}\n align={align}\n sideOffset={sideOffset}\n collisionPadding={8}\n className=\"z-50 outline-none\"\n >\n <BaseMenu.Popup\n ref={(el) => {\n popup.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n }}\n finalFocus={() => {\n const at = document.activeElement;\n if (at && at !== document.body && !popup.current?.contains(at)) return false;\n return trigger?.current?.isConnected ? trigger.current : true;\n }}\n tabIndex={0}\n className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}\n style={width === \"trigger\" ? anchorWidthStyle(triggerWidth) : undefined}\n {...(header ? { render: framed(header, footer) } : {})}\n >\n {children}\n {!header && footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </BaseMenu.Popup>\n </BaseMenu.Positioner>\n </BaseMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Content.displayName = \"Menu.Content\";\n\nexport interface MenuItemProps {\n children: ReactNode;\n icon?: IconData | undefined;\n leading?: ReactNode | undefined;\n description?: ReactNode | undefined;\n descriptionTone?: keyof typeof KAESO_MENU_VARIANTS.description | undefined;\n shortcut?: string[] | string[][] | undefined;\n hint?: ReactNode | undefined;\n variant?: keyof typeof KAESO_MENU_VARIANTS.item | undefined;\n disabled?: boolean | undefined;\n onClick?: (() => void) | undefined;\n closeOnClick?: boolean | undefined;\n className?: string | undefined;\n \"data-force\"?: string | undefined;\n}\n\nfunction ItemContent({\n icon,\n leading,\n description,\n descriptionTone = \"secondary\",\n shortcut,\n hint,\n children,\n danger,\n}: Pick<MenuItemProps, \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\"> & { danger?: boolean | undefined }) {\n return (\n <>\n {leading ? (\n <span className={cn(\"flex size-16 shrink-0 items-center justify-center\", description && \"self-start mt-10\")}>{leading}</span>\n ) : (\n icon && <Icon icon={icon} size=\"sm\" className={cn(danger ? \"text-danger-text\" : MENU_ICON, description && \"self-start mt-10\")} />\n )}\n {description ? (\n <span className=\"flex min-w-0 flex-1 flex-col gap-2 py-8\">\n <span className=\"truncate\">{children}</span>\n <span className={cn(\"text-small font-regular whitespace-normal\", KAESO_MENU_VARIANTS.description[descriptionTone].classes)}>{description}</span>\n </span>\n ) : (\n <span className=\"min-w-0 flex-1 truncate\">{children}</span>\n )}\n {(shortcut || hint) && (\n <span className={MENU_HINT}>\n {hint}\n {shortcut && <KbdSequence keys={shortcut} />}\n </span>\n )}\n </>\n );\n}\n\nconst Item = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuItemProps>(function MenuItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n variant = \"default\",\n disabled,\n onClick,\n closeOnClick,\n className,\n \"data-force\": force,\n },\n ref,\n) {\n return (\n <BaseMenu.Item\n ref={ref}\n {...(disabled ? { disabled } : {})}\n {...(onClick ? { onClick } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(MENU_ITEM, KAESO_MENU_VARIANTS.item[variant].classes, className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint}\n danger={variant === \"danger\"}\n >\n {children}\n </ItemContent>\n </BaseMenu.Item>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Item.displayName = \"Menu.Item\";\n\nexport interface MenuLinkItemProps extends Pick<\n MenuItemProps,\n \"icon\" | \"leading\" | \"description\" | \"descriptionTone\" | \"shortcut\" | \"hint\" | \"children\" | \"className\"\n> {\n href: string;\n external?: boolean | undefined;\n}\n\nconst LinkItem = /* @__PURE__ */ forwardRef<HTMLAnchorElement, MenuLinkItemProps>(function MenuLinkItem(\n { children, href, external, icon, leading, description, descriptionTone, shortcut, hint, className },\n ref,\n) {\n const LinkComp = useLinkComponent();\n return (\n <BaseMenu.LinkItem\n ref={ref}\n href={href}\n {...(external ? { target: \"_blank\", rel: \"noopener noreferrer\" } : { render: <LinkComp href={href} /> })}\n className={cn(MENU_ITEM, \"no-underline\", className)}\n >\n <ItemContent\n icon={icon}\n leading={leading}\n description={description}\n descriptionTone={descriptionTone}\n shortcut={shortcut}\n hint={hint ?? (external ? <Icon icon={__icon_ArrowUpRight01Icon} size=\"xs\" /> : undefined)}\n >\n {children}\n </ItemContent>\n </BaseMenu.LinkItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") LinkItem.displayName = \"Menu.LinkItem\";\n\nexport interface MenuCheckboxItemProps extends Omit<MenuItemProps, \"variant\" | \"onClick\"> {\n checked?: boolean | undefined;\n defaultChecked?: boolean | undefined;\n onCheckedChange?: ((checked: boolean) => void) | undefined;\n}\n\nconst CheckboxItem = /* @__PURE__ */ forwardRef<HTMLDivElement, MenuCheckboxItemProps>(function MenuCheckboxItem(\n {\n children,\n icon,\n leading,\n description,\n descriptionTone,\n shortcut,\n hint,\n checked,\n defaultChecked,\n onCheckedChange,\n disabled,\n closeOnClick = false,\n className,\n },\n ref,\n) {\n return (\n <BaseMenu.CheckboxItem\n ref={ref}\n {...(checked !== undefined ? { checked } : {})}\n {...(defaultChecked !== undefined ? { defaultChecked } : {})}\n {...(onCheckedChange ? { onCheckedChange: (c: boolean) => onCheckedChange(c) } : {})}\n {...(disabled ? { disabled } : {})}\n closeOnClick={closeOnClick}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint}>\n {children}\n </ItemContent>\n <BaseMenu.CheckboxItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.CheckboxItemIndicator>\n </BaseMenu.CheckboxItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CheckboxItem.displayName = \"Menu.CheckboxItem\";\n\nconst RadioGroup = /* @__PURE__ */ forwardRef<\n HTMLDivElement,\n { value?: string | undefined; defaultValue?: string | undefined; onValueChange?: ((v: string) => void) | undefined; children: ReactNode }\n>(function MenuRadioGroup({ value, defaultValue, onValueChange, children }, ref) {\n return (\n <BaseMenu.RadioGroup\n ref={ref}\n {...(value !== undefined ? { value } : {})}\n {...(defaultValue !== undefined ? { defaultValue } : {})}\n {...(onValueChange ? { onValueChange: (v: unknown) => onValueChange(String(v)) } : {})}\n >\n {children}\n </BaseMenu.RadioGroup>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioGroup.displayName = \"Menu.RadioGroup\";\n\nconst RadioItem = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"variant\"> & { value: string }>(function MenuRadioItem(\n { children, value, icon, leading, description, descriptionTone, shortcut, hint, disabled, closeOnClick, className },\n ref,\n) {\n return (\n <BaseMenu.RadioItem\n ref={ref}\n value={value}\n {...(disabled ? { disabled } : {})}\n {...(closeOnClick !== undefined ? { closeOnClick } : {})}\n className={cn(MENU_ITEM, className)}\n >\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} shortcut={shortcut} hint={hint}>\n {children}\n </ItemContent>\n <BaseMenu.RadioItemIndicator keepMounted className=\"flex size-16 shrink-0 items-center justify-center text-fg opacity-0 data-checked:opacity-100\">\n <Icon icon={__icon_Tick02Icon} size=\"sm\" />\n </BaseMenu.RadioItemIndicator>\n </BaseMenu.RadioItem>\n );\n});\nif (process.env.NODE_ENV !== \"production\") RadioItem.displayName = \"Menu.RadioItem\";\n\nconst Group = /* @__PURE__ */ forwardRef<HTMLDivElement, { label?: ReactNode | undefined; children: ReactNode }>(function MenuGroup({ label, children }, ref) {\n return (\n <BaseMenu.Group ref={ref} className=\"flex flex-col\">\n {label && <BaseMenu.GroupLabel className={MENU_LABEL}>{label}</BaseMenu.GroupLabel>}\n {children}\n </BaseMenu.Group>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Group.displayName = \"Menu.Group\";\n\nfunction Separator() {\n return <div role=\"separator\" aria-orientation=\"horizontal\" className={MENU_SEPARATOR} />;\n}\nif (process.env.NODE_ENV !== \"production\") Separator.displayName = \"Menu.Separator\";\n\nfunction Header({ avatar, name, email }: { avatar?: ReactNode | undefined; name: ReactNode; email?: ReactNode | undefined }) {\n return (\n <div className=\"flex min-w-0 items-center gap-10 px-10 pt-8 pb-10\">\n {avatar}\n <div className=\"flex min-w-0 flex-col\">\n <span className=\"truncate text-body font-semibold text-fg\">{name}</span>\n {email && <span className=\"truncate text-caption font-regular text-fg-secondary\">{email}</span>}\n </div>\n </div>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Header.displayName = \"Menu.Header\";\n\nfunction Sub({ children, open, onOpenChange }: { children: ReactNode; open?: boolean | undefined; onOpenChange?: ((o: boolean) => void) | undefined }) {\n const trigger = useRef<HTMLElement | null>(null);\n return (\n <BaseMenu.SubmenuRoot {...(open !== undefined ? { open } : {})} {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}>\n <TriggerContext.Provider value={trigger}>{children}</TriggerContext.Provider>\n </BaseMenu.SubmenuRoot>\n );\n}\nif (process.env.NODE_ENV !== \"production\") Sub.displayName = \"Menu.Sub\";\n\nconst SubTrigger = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuItemProps, \"shortcut\" | \"variant\" | \"onClick\">>(function MenuSubTrigger(\n { children, icon, leading, description, descriptionTone, hint, disabled, className },\n ref,\n) {\n const trigger = useContext(TriggerContext);\n const setRef = useCallback(\n (el: HTMLDivElement | null) => {\n if (trigger) trigger.current = el;\n if (typeof ref === \"function\") ref(el);\n else if (ref) ref.current = el;\n },\n [trigger, ref],\n );\n return (\n <BaseMenu.SubmenuTrigger ref={setRef} {...(disabled ? { disabled } : {})} className={cn(MENU_ITEM, \"open:bg-fill-1\", className)}>\n <ItemContent icon={icon} leading={leading} description={description} descriptionTone={descriptionTone} hint={hint}>\n {children}\n </ItemContent>\n <Icon icon={__icon_ArrowRight01Icon} size=\"sm\" className=\"-mr-2 text-fg-tertiary\" />\n </BaseMenu.SubmenuTrigger>\n );\n});\nif (process.env.NODE_ENV !== \"production\") SubTrigger.displayName = \"Menu.SubTrigger\";\n\nconst SubContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\">>(function MenuSubContent(props, ref) {\n return <Content ref={ref} side=\"right\" align=\"start\" sideOffset={2} {...props} />;\n});\nif (process.env.NODE_ENV !== \"production\") SubContent.displayName = \"Menu.SubContent\";\n\nexport const Menu = /* @__PURE__ */ Object.assign(Root, {\n Trigger,\n Content,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Header,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nfunction ContextRoot({ children, onOpenChange }: { children: ReactNode; onOpenChange?: ((o: boolean) => void) | undefined }) {\n return <BaseContextMenu.Root {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}>{children}</BaseContextMenu.Root>;\n}\nif (process.env.NODE_ENV !== \"production\") ContextRoot.displayName = \"ContextMenu\";\nfunction ContextTrigger({ children, className }: { children: ReactNode; className?: string | undefined }) {\n return <BaseContextMenu.Trigger className={className}>{children}</BaseContextMenu.Trigger>;\n}\nif (process.env.NODE_ENV !== \"production\") ContextTrigger.displayName = \"ContextMenu.Trigger\";\nconst ContextContent = /* @__PURE__ */ forwardRef<HTMLDivElement, Omit<MenuContentProps, \"side\" | \"align\" | \"sideOffset\">>(function ContextMenuContent(\n { children, className, header, footer, width = \"auto\" },\n ref,\n) {\n return (\n <BaseContextMenu.Portal container={usePortalContainer()}>\n <BaseContextMenu.Positioner positionMethod=\"fixed\" collisionBoundary={pageBoundary()} collisionPadding={8} className=\"z-50 outline-none\">\n <BaseContextMenu.Popup ref={ref} tabIndex={0} className={cn(MENU_POPUP, KAESO_MENU_VARIANTS.width[width].classes, className)}>\n {header && <div className=\"mb-6 px-10 pt-6 pb-10 hairline-b\">{header}</div>}\n {children}\n {footer && <div className=\"px-10 pt-6 pb-4 text-caption text-fg-tertiary\">{footer}</div>}\n </BaseContextMenu.Popup>\n </BaseContextMenu.Positioner>\n </BaseContextMenu.Portal>\n );\n});\nif (process.env.NODE_ENV !== \"production\") ContextContent.displayName = \"ContextMenu.Content\";\nexport const ContextMenu = /* @__PURE__ */ Object.assign(ContextRoot, {\n Trigger: ContextTrigger,\n Content: ContextContent,\n Item,\n LinkItem,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n\nfunction MenubarRoot({\n children,\n className,\n \"aria-label\": ariaLabel,\n}: {\n children: ReactNode;\n className?: string | undefined;\n \"aria-label\"?: string | undefined;\n}) {\n return (\n <BaseMenubar className={cn(\"inline-flex items-center gap-2\", className)} {...(ariaLabel ? { \"aria-label\": ariaLabel } : {})}>\n {children}\n </BaseMenubar>\n );\n}\nif (process.env.NODE_ENV !== \"production\") MenubarRoot.displayName = \"Menubar\";\nconst MenubarTrigger = /* @__PURE__ */ forwardRef<HTMLButtonElement, { children: ReactNode; className?: string | undefined; \"data-force\"?: string | undefined }>(\n function MenubarTrigger({ children, className, \"data-force\": force }, ref) {\n return (\n <BaseMenu.Trigger\n ref={ref}\n {...(force ? { \"data-force\": force } : {})}\n className={cn(\n \"inline-flex h-32 cursor-pointer items-center rounded-pill px-12 text-body font-medium text-fg material-ghost transition-control focus-ring\",\n className,\n )}\n >\n {children}\n </BaseMenu.Trigger>\n );\n },\n);\nif (process.env.NODE_ENV !== \"production\") MenubarTrigger.displayName = \"Menubar.Trigger\";\nexport const Menubar = /* @__PURE__ */ Object.assign(MenubarRoot, {\n Menu: Root,\n Trigger: MenubarTrigger,\n Content,\n Item,\n CheckboxItem,\n RadioGroup,\n RadioItem,\n Group,\n Separator,\n Sub,\n SubTrigger,\n SubContent,\n});\n"],"mappings":"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"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { l as e } from "./styles-CVJU9t9v.js";
|
|
3
|
-
import { r as t } from "./portal-context-BBbzDKmY.js";
|
|
4
|
-
import { i as n } from "./context-BELWW79w.js";
|
|
5
|
-
import { c as r, s as i } from "./sidebar-DtFlejU7.js";
|
|
6
|
-
import { useEffect as a, useMemo as o, useRef as s } from "react";
|
|
7
|
-
import { jsx as c, jsxs as l } from "react/jsx-runtime";
|
|
8
|
-
import { Dialog as u } from "@base-ui/react/dialog";
|
|
9
|
-
//#region src/components/app-frame/nav-sheet.tsx
|
|
10
|
-
var d = /* @__PURE__ */ e({ NavSheet: () => f });
|
|
11
|
-
function f({ open: e, onOpenChange: d, peek: f = !1, returnFocus: p, children: m }) {
|
|
12
|
-
let h = s(void 0), g = n();
|
|
13
|
-
a(() => () => clearTimeout(h.current), []);
|
|
14
|
-
let _ = o(() => ({
|
|
15
|
-
close: () => d(!1),
|
|
16
|
-
peek: f
|
|
17
|
-
}), [d, f]);
|
|
18
|
-
return a(() => {
|
|
19
|
-
if (!e || f || typeof window > "u") return;
|
|
20
|
-
let t = window.matchMedia("(min-width: 1024px)"), n = () => t.matches && d(!1);
|
|
21
|
-
return n(), t.addEventListener("change", n), () => t.removeEventListener("change", n);
|
|
22
|
-
}, [
|
|
23
|
-
e,
|
|
24
|
-
f,
|
|
25
|
-
d
|
|
26
|
-
]), /* @__PURE__ */ c(u.Root, {
|
|
27
|
-
open: e,
|
|
28
|
-
onOpenChange: (e) => d(e),
|
|
29
|
-
modal: !f,
|
|
30
|
-
children: /* @__PURE__ */ l(u.Portal, {
|
|
31
|
-
container: t(),
|
|
32
|
-
children: [/* @__PURE__ */ c(u.Backdrop, { className: "fixed inset-0 z-40 bg-overlay opacity-60 backdrop-motion" }), /* @__PURE__ */ c(u.Popup, {
|
|
33
|
-
"aria-label": g("appFrame.navigation", "Navigation"),
|
|
34
|
-
"data-side": "left",
|
|
35
|
-
initialFocus: !f,
|
|
36
|
-
...p ? { finalFocus: p } : {},
|
|
37
|
-
className: "fixed top-0 bottom-0 left-0 z-40 flex overflow-hidden rounded-r-sheet bg-chrome shadow-dialog outline-none safe-area-sheet sheet-motion",
|
|
38
|
-
onClick: (e) => {
|
|
39
|
-
e.target.closest("a[href]") && d(!1);
|
|
40
|
-
},
|
|
41
|
-
onPointerEnter: () => clearTimeout(h.current),
|
|
42
|
-
onPointerLeave: () => {
|
|
43
|
-
f && (h.current = setTimeout(() => d(!1), 160));
|
|
44
|
-
},
|
|
45
|
-
children: /* @__PURE__ */ c(i.Provider, {
|
|
46
|
-
value: !0,
|
|
47
|
-
children: /* @__PURE__ */ c(r.Provider, {
|
|
48
|
-
value: _,
|
|
49
|
-
children: m
|
|
50
|
-
})
|
|
51
|
-
})
|
|
52
|
-
})]
|
|
53
|
-
})
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
process.env.NODE_ENV !== "production" && (f.displayName = "NavSheet");
|
|
57
|
-
//#endregion
|
|
58
|
-
export { d as n, f as t };
|
|
59
|
-
|
|
60
|
-
//# sourceMappingURL=nav-sheet-B2rNb8GB.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"nav-sheet-B2rNb8GB.js","names":["__exportAll","usePortalContainer","useUiText","SidebarSheetContext","SidebarFloatingContext","nav_sheet_exports","NavSheet","leave","useRef","t","sheet","useMemo","onOpenChange","peek","useEffect","open","wide","onChange","Dialog","o","returnFocus"],"sources":["../../src/components/app-frame/nav-sheet.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef, type ReactNode, type RefObject } from \"react\";\nimport { Dialog } from \"@base-ui/react/dialog\";\nimport { usePortalContainer } from \"../../utils/portal-context.js\";\nimport { SidebarFloatingContext, SidebarSheetContext } from \"../sidebar/sidebar.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport function NavSheet({\n open,\n onOpenChange,\n peek = false,\n returnFocus,\n children,\n}: {\n open: boolean;\n onOpenChange: (open: boolean) => void;\n peek?: boolean | undefined;\n returnFocus?: RefObject<HTMLElement | null> | undefined;\n children: ReactNode;\n}) {\n const leave = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n const t = useUiText();\n useEffect(() => () => clearTimeout(leave.current), []);\n const sheet = useMemo(() => ({ close: () => onOpenChange(false), peek }), [onOpenChange, peek]);\n useEffect(() => {\n if (!open || peek || typeof window === \"undefined\") return;\n const wide = window.matchMedia(\"(min-width: 1024px)\");\n const onChange = () => wide.matches && onOpenChange(false);\n onChange();\n wide.addEventListener(\"change\", onChange);\n return () => wide.removeEventListener(\"change\", onChange);\n }, [open, peek, onOpenChange]);\n return (\n <Dialog.Root open={open} onOpenChange={(o: boolean) => onOpenChange(o)} modal={!peek}>\n <Dialog.Portal container={usePortalContainer()}>\n <Dialog.Backdrop className=\"fixed inset-0 z-40 bg-overlay opacity-60 backdrop-motion\" />\n <Dialog.Popup\n aria-label={t(\"appFrame.navigation\", \"Navigation\")}\n data-side=\"left\"\n initialFocus={!peek}\n {...(returnFocus ? { finalFocus: returnFocus } : {})}\n className=\"fixed top-0 bottom-0 left-0 z-40 flex overflow-hidden rounded-r-sheet bg-chrome shadow-dialog outline-none safe-area-sheet sheet-motion\"\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"a[href]\")) onOpenChange(false);\n }}\n onPointerEnter={() => clearTimeout(leave.current)}\n onPointerLeave={() => {\n if (!peek) return;\n leave.current = setTimeout(() => onOpenChange(false), 160);\n }}\n >\n <SidebarFloatingContext.Provider value>\n <SidebarSheetContext.Provider value={sheet}>{children}</SidebarSheetContext.Provider>\n </SidebarFloatingContext.Provider>\n </Dialog.Popup>\n </Dialog.Portal>\n </Dialog.Root>\n );\n}\nif (process.env.NODE_ENV !== \"production\") NavSheet.displayName = \"NavSheet\";\n"],"mappings":";;;;;;;;;;AAMA,SAAgBM,EAAS,EACvB,SACA,iBACA,UAAO,IACP,gBACA,eAOC;CACD,IAAMC,IAAQC,EAAkD,KAAA,CAAS,GACnEC,IAAIP,EAAU;CACpB,cAAsB,aAAaK,EAAM,OAAO,GAAG,CAAC,CAAC;CACrD,IAAMG,IAAQC,SAAe;EAAE,aAAaC,EAAa,EAAK;EAAG;CAAK,IAAI,CAACA,GAAcC,CAAI,CAAC;CAS9F,OARAC,QAAgB;EACd,IAAI,CAACC,KAAQF,KAAQ,OAAO,SAAW,KAAa;EACpD,IAAMG,IAAO,OAAO,WAAW,qBAAqB,GAC9CC,UAAiBD,EAAK,WAAWJ,EAAa,EAAK;EAGzD,OAFAK,EAAS,GACTD,EAAK,iBAAiB,UAAUC,CAAQ,SAC3BD,EAAK,oBAAoB,UAAUC,CAAQ;CAC1D,GAAG;EAACF;EAAMF;EAAMD;CAAY,CAAC,GAE3B,kBAACM,EAAO,MAAR;EAAmB;EAAM,eAAe,MAAeN,EAAaO,CAAC;EAAG,OAAO,CAACN;EAC9E,UAAA,kBAACK,EAAO,QAAR;GAAe,WAAWjB,EAAmB;GAA7C,UAAA,CACE,kBAACiB,EAAO,UAAR,EAAiB,WAAU,2DAA4D,CAAA,GACvF,kBAACA,EAAO,OAAR;IACE,cAAYT,EAAE,uBAAuB,YAAY;IACjD,aAAU;IACV,cAAc,CAACI;IACf,GAAKO,IAAc,EAAE,YAAYA,EAAY,IAAI,CAAC;IAClD,WAAU;IACV,UAAU,MAAM;KACd,AAAK,EAAE,OAAuB,QAAQ,SAAS,KAAGR,EAAa,EAAK;IACtE;IACA,sBAAsB,aAAaL,EAAM,OAAO;IAChD,sBAAsB;KACpB,AAAKM,MACL,EAAM,UAAU,iBAAiBD,EAAa,EAAK,GAAG,GAAG;IAC3D;IAEA,UAAA,kBAACR,EAAuB,UAAxB;KAAiC,OAAA;KAC/B,UAAA,kBAACD,EAAoB,UAArB;MAA8B,OAAOO;MAAQ;KAAuC,CAAA;IACrD,CAAA;GACrB,CAAA,CACD;;CACJ,CAAA;AAEjB;AACA,QAAA,IAAA,aAA6B,iBAAc,EAAS,cAAc"}
|