@logicplanes/kaeso-ui 0.3.9 → 0.4.1
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/ai/component-guides.md +1 -1
- package/ai/component-registry.json +10 -10
- package/ai/component-registry.md +9 -9
- package/ai/icons.md +1 -1
- package/ai/tokens.md +2 -1
- package/dist/blocks/delete-resource.js +1 -1
- package/dist/blocks/pages.js +5 -5
- package/dist/blocks/resource-list.js +4 -4
- package/dist/chunks/{app-frame-Cj_gCbmu.js → app-frame-DZPEf2NQ.js} +9 -9
- package/dist/chunks/{app-frame-Cj_gCbmu.js.map → app-frame-DZPEf2NQ.js.map} +1 -1
- package/dist/chunks/{avatar-DOzOhYJr.js → avatar-HnvBUoe5.js} +2 -2
- package/dist/chunks/{avatar-DOzOhYJr.js.map → avatar-HnvBUoe5.js.map} +1 -1
- package/dist/chunks/{badge-wUHlj7m3.js → badge-CM8ahjDR.js} +2 -2
- package/dist/chunks/{badge-wUHlj7m3.js.map → badge-CM8ahjDR.js.map} +1 -1
- package/dist/chunks/{banner-DY1jSc9Y.js → banner-CvYgPwCc.js} +4 -4
- package/dist/chunks/{banner-DY1jSc9Y.js.map → banner-CvYgPwCc.js.map} +1 -1
- package/dist/chunks/{button-h2IFCER2.js → button-9q66Ta23.js} +13 -13
- package/dist/chunks/button-9q66Ta23.js.map +1 -0
- package/dist/chunks/{calendar-cVuezHQ6.js → calendar-CeNcqLFd.js} +2 -2
- package/dist/chunks/{calendar-cVuezHQ6.js.map → calendar-CeNcqLFd.js.map} +1 -1
- package/dist/chunks/{checkbox-C5yvSS7O.js → checkbox-C_DrNA2N.js} +2 -2
- package/dist/chunks/{checkbox-C5yvSS7O.js.map → checkbox-C_DrNA2N.js.map} +1 -1
- package/dist/chunks/{cn-DUDmdLpZ.js → cn-Isw2DnQX.js} +10 -3
- package/dist/chunks/cn-Isw2DnQX.js.map +1 -0
- package/dist/chunks/{code-C49NzHUQ.js → code-Bp2p9AuD.js} +2 -2
- package/dist/chunks/{code-C49NzHUQ.js.map → code-Bp2p9AuD.js.map} +1 -1
- package/dist/chunks/code-block-mEH6Sy3h.js +309 -0
- package/dist/chunks/code-block-mEH6Sy3h.js.map +1 -0
- package/dist/chunks/{collapsible-CDQq1Y9x.js → collapsible-CtQNJn9b.js} +13 -13
- package/dist/chunks/collapsible-CtQNJn9b.js.map +1 -0
- package/dist/chunks/{combobox-B9ttar4C.js → combobox-D8ZOm8uT.js} +6 -6
- package/dist/chunks/{combobox-B9ttar4C.js.map → combobox-D8ZOm8uT.js.map} +1 -1
- package/dist/chunks/{command-list-DZMVrXWD.js → command-list-CzMbdtJs.js} +140 -139
- package/dist/chunks/command-list-CzMbdtJs.js.map +1 -0
- package/dist/chunks/copy-button-Cdea0wKl.js +142 -0
- package/dist/chunks/copy-button-Cdea0wKl.js.map +1 -0
- package/dist/chunks/{core-Bu6iq5uh.js → core-FtMDNELx.js} +10 -10
- package/dist/chunks/core-FtMDNELx.js.map +1 -0
- package/dist/chunks/{date-popup-BJPA_fBm.js → date-popup-NytWvSNh.js} +4 -4
- package/dist/chunks/{date-popup-BJPA_fBm.js.map → date-popup-NytWvSNh.js.map} +1 -1
- package/dist/chunks/{dialog-BLcP7v24.js → dialog-BZCVFmGF.js} +5 -5
- package/dist/chunks/{dialog-BLcP7v24.js.map → dialog-BZCVFmGF.js.map} +1 -1
- package/dist/chunks/{empty-YXmSkKzR.js → empty-By1qTJr6.js} +2 -2
- package/dist/chunks/{empty-YXmSkKzR.js.map → empty-By1qTJr6.js.map} +1 -1
- package/dist/chunks/{field-BZriODU7.js → field-DfITT6Jm.js} +2 -2
- package/dist/chunks/{field-BZriODU7.js.map → field-DfITT6Jm.js.map} +1 -1
- package/dist/chunks/{icon-BqujXDUc.js → icon-D5uD_mnL.js} +2 -2
- package/dist/chunks/{icon-BqujXDUc.js.map → icon-D5uD_mnL.js.map} +1 -1
- package/dist/chunks/{icon-button-DmKFxQbP.js → icon-button-C7Du4pvb.js} +3 -3
- package/dist/chunks/{icon-button-DmKFxQbP.js.map → icon-button-C7Du4pvb.js.map} +1 -1
- package/dist/chunks/{identity-Chj7fW89.js → identity-BcVQd-7H.js} +6 -6
- package/dist/chunks/{identity-Chj7fW89.js.map → identity-BcVQd-7H.js.map} +1 -1
- package/dist/chunks/{input-9y3afoiq.js → input-B6Docqrk.js} +5 -5
- package/dist/chunks/{input-9y3afoiq.js.map → input-B6Docqrk.js.map} +1 -1
- package/dist/chunks/{input-group-BoxjnN8I.js → input-group-Dgdb0JpZ.js} +4 -4
- package/dist/chunks/{input-group-BoxjnN8I.js.map → input-group-Dgdb0JpZ.js.map} +1 -1
- package/dist/chunks/{iso-field-DAa6iPWn.js → iso-field-SOZ7Z-yE.js} +2 -2
- package/dist/chunks/{iso-field-DAa6iPWn.js.map → iso-field-SOZ7Z-yE.js.map} +1 -1
- package/dist/chunks/{json-view-BkG2hTXV.js → json-view-DCTMY_j4.js} +3 -3
- package/dist/chunks/{json-view-BkG2hTXV.js.map → json-view-DCTMY_j4.js.map} +1 -1
- package/dist/chunks/{kbd-DqWmbr_e.js → kbd-9A9rX60U.js} +2 -2
- package/dist/chunks/{kbd-DqWmbr_e.js.map → kbd-9A9rX60U.js.map} +1 -1
- package/dist/chunks/{link-YMcxM-BZ.js → link-CtII7u3h.js} +3 -3
- package/dist/chunks/{link-YMcxM-BZ.js.map → link-CtII7u3h.js.map} +1 -1
- package/dist/chunks/{list-7VARol_x.js → list-CMXBTVkI.js} +8 -8
- package/dist/chunks/{list-7VARol_x.js.map → list-CMXBTVkI.js.map} +1 -1
- package/dist/chunks/{loader-ENBh2Fbt.js → loader-DqOUwS1j.js} +2 -2
- package/dist/chunks/{loader-ENBh2Fbt.js.map → loader-DqOUwS1j.js.map} +1 -1
- package/dist/chunks/{markdown-DBVNULWg.js → markdown-CwVQ0niB.js} +9 -9
- package/dist/chunks/{markdown-DBVNULWg.js.map → markdown-CwVQ0niB.js.map} +1 -1
- package/dist/chunks/{menu-Bnfi9P3t.js → menu-Cjg4RggA.js} +4 -4
- package/dist/chunks/{menu-Bnfi9P3t.js.map → menu-Cjg4RggA.js.map} +1 -1
- package/dist/chunks/{meter-DhTnem4k.js → meter-VrC2J2GF.js} +2 -2
- package/dist/chunks/{meter-DhTnem4k.js.map → meter-VrC2J2GF.js.map} +1 -1
- package/dist/chunks/{nav-sheet-D7wIF_OU.js → nav-sheet-Y2Ite-iF.js} +2 -2
- package/dist/chunks/{nav-sheet-D7wIF_OU.js.map → nav-sheet-Y2Ite-iF.js.map} +1 -1
- package/dist/chunks/{nav-wordmark-DmbT1Aiw.js → nav-wordmark-CjWM3NYa.js} +2 -2
- package/dist/chunks/{nav-wordmark-DmbT1Aiw.js.map → nav-wordmark-CjWM3NYa.js.map} +1 -1
- package/dist/chunks/{page-header-B3tV8Wog.js → page-header-CZCQVHYE.js} +4 -4
- package/dist/chunks/{page-header-B3tV8Wog.js.map → page-header-CZCQVHYE.js.map} +1 -1
- package/dist/chunks/{pagination-CLfsofo3.js → pagination-BStrMDqM.js} +4 -4
- package/dist/chunks/{pagination-CLfsofo3.js.map → pagination-BStrMDqM.js.map} +1 -1
- package/dist/chunks/{picker-popover-B5YdOxNm.js → picker-popover-BerQAEBT.js} +7 -7
- package/dist/chunks/{picker-popover-B5YdOxNm.js.map → picker-popover-BerQAEBT.js.map} +1 -1
- package/dist/chunks/{popover-bjxg020P.js → popover-CgLt_4yG.js} +2 -2
- package/dist/chunks/{popover-bjxg020P.js.map → popover-CgLt_4yG.js.map} +1 -1
- package/dist/chunks/{radio-DwYcXAzv.js → radio-07Muf4cX.js} +2 -2
- package/dist/chunks/{radio-DwYcXAzv.js.map → radio-07Muf4cX.js.map} +1 -1
- package/dist/chunks/{range-popup-ZunS8QSH.js → range-popup-BCov1iPe.js} +6 -6
- package/dist/chunks/{range-popup-ZunS8QSH.js.map → range-popup-BCov1iPe.js.map} +1 -1
- package/dist/chunks/{release-art-Ogl-L1Vh.js → release-art-69WpgVik.js} +2 -2
- package/dist/chunks/{release-art-Ogl-L1Vh.js.map → release-art-69WpgVik.js.map} +1 -1
- package/dist/chunks/{rights-CiIBzT9o.js → rights-UVngOX_4.js} +9 -9
- package/dist/chunks/{rights-CiIBzT9o.js.map → rights-UVngOX_4.js.map} +1 -1
- package/dist/chunks/{section-BsET7Fo-.js → section-Bvg0EUnr.js} +3 -3
- package/dist/chunks/{section-BsET7Fo-.js.map → section-Bvg0EUnr.js.map} +1 -1
- package/dist/chunks/{segmented-DxjnIuww.js → segmented-DRLDN8EW.js} +4 -4
- package/dist/chunks/{segmented-DxjnIuww.js.map → segmented-DRLDN8EW.js.map} +1 -1
- package/dist/chunks/{select-Bbv2f5F8.js → select-eFTHLeYG.js} +14 -14
- package/dist/chunks/select-eFTHLeYG.js.map +1 -0
- package/dist/chunks/{separator-CpAUELNs.js → separator-D86IW7Ge.js} +2 -2
- package/dist/chunks/{separator-CpAUELNs.js.map → separator-D86IW7Ge.js.map} +1 -1
- package/dist/chunks/{sidebar-ZSTPK9Jn.js → sidebar-DifJ5KgE.js} +7 -7
- package/dist/chunks/{sidebar-ZSTPK9Jn.js.map → sidebar-DifJ5KgE.js.map} +1 -1
- package/dist/chunks/{sidebar-menu-ct8IiL4z.js → sidebar-menu-XKOiwrQp.js} +2 -2
- package/dist/chunks/{sidebar-menu-ct8IiL4z.js.map → sidebar-menu-XKOiwrQp.js.map} +1 -1
- package/dist/chunks/{skeleton-BM797MAg.js → skeleton-Cu74kGJA.js} +2 -2
- package/dist/chunks/{skeleton-BM797MAg.js.map → skeleton-Cu74kGJA.js.map} +1 -1
- package/dist/chunks/{slider-Ds-tqY-1.js → slider-Dh0qq1wa.js} +2 -2
- package/dist/chunks/{slider-Ds-tqY-1.js.map → slider-Dh0qq1wa.js.map} +1 -1
- package/dist/chunks/{status-dot-BqVOlShY.js → status-dot-u4Izk-uC.js} +3 -3
- package/dist/chunks/{status-dot-BqVOlShY.js.map → status-dot-u4Izk-uC.js.map} +1 -1
- package/dist/chunks/{swap-text-Cica0pUr.js → swap-text-CC77iKJF.js} +2 -2
- package/dist/chunks/{swap-text-Cica0pUr.js.map → swap-text-CC77iKJF.js.map} +1 -1
- package/dist/chunks/{switch-Cq1OfeBr.js → switch-CbU9m9gi.js} +5 -5
- package/dist/chunks/switch-CbU9m9gi.js.map +1 -0
- package/dist/chunks/{table-D-36EM7f.js → table-CTxDp7zC.js} +2 -2
- package/dist/chunks/{table-D-36EM7f.js.map → table-CTxDp7zC.js.map} +1 -1
- package/dist/chunks/{tag-XgPXKoxi.js → tag-CqSk8F7M.js} +4 -4
- package/dist/chunks/{tag-XgPXKoxi.js.map → tag-CqSk8F7M.js.map} +1 -1
- package/dist/chunks/{text-IoDy3Vxi.js → text-hFc6TDp9.js} +3 -3
- package/dist/chunks/{text-IoDy3Vxi.js.map → text-hFc6TDp9.js.map} +1 -1
- package/dist/chunks/{textarea-jOiTkfMf.js → textarea-17Ftvph_.js} +5 -5
- package/dist/chunks/{textarea-jOiTkfMf.js.map → textarea-17Ftvph_.js.map} +1 -1
- package/dist/chunks/{timeseries-BBWsSM4Q.js → timeseries-CbnSFD5q.js} +3 -3
- package/dist/chunks/{timeseries-BBWsSM4Q.js.map → timeseries-CbnSFD5q.js.map} +1 -1
- package/dist/chunks/{toolbar-nVLFWH2i.js → toolbar-B_960Ttx.js} +2 -2
- package/dist/chunks/{toolbar-nVLFWH2i.js.map → toolbar-B_960Ttx.js.map} +1 -1
- package/dist/chunks/{tooltip-CTBnfiDH.js → tooltip-CRApbLF6.js} +4 -4
- package/dist/chunks/{tooltip-CTBnfiDH.js.map → tooltip-CRApbLF6.js.map} +1 -1
- package/dist/chunks/{tooltip-root-B0zWodAJ.js → tooltip-root-Dssjjp-E.js} +4 -4
- package/dist/chunks/{tooltip-root-B0zWodAJ.js.map → tooltip-root-Dssjjp-E.js.map} +1 -1
- package/dist/components/app-frame.js +2 -2
- package/dist/components/avatar.js +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/banner.js +1 -1
- package/dist/components/button-group.js +4 -4
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/charts/bar.js +2 -2
- package/dist/components/charts/donut.js +2 -2
- package/dist/components/charts/gauge.js +2 -2
- package/dist/components/charts/heatmap.js +1 -1
- package/dist/components/charts/sankey.js +2 -2
- package/dist/components/charts/sparkline.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 +2 -2
- package/dist/components/code.js +1 -1
- package/dist/components/collapsible.js +1 -1
- package/dist/components/combobox.js +1 -1
- package/dist/components/command-list.js +2 -2
- package/dist/components/command-palette.js +4 -4
- package/dist/components/copy-button.js +1 -1
- package/dist/components/data-table.js +14 -14
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/date-picker.js +7 -7
- package/dist/components/date-picker.js.map +1 -1
- package/dist/components/dialog.js +2 -2
- package/dist/components/display-options.js +8 -8
- package/dist/components/empty.js +1 -1
- package/dist/components/field.js +1 -1
- package/dist/components/filter-chip.js +5 -5
- package/dist/components/filter-row.js +1 -1
- package/dist/components/flow.js +2 -2
- package/dist/components/heading.js +1 -1
- package/dist/components/icon-button.js +1 -1
- package/dist/components/icon.js +1 -1
- package/dist/components/input.js +7 -7
- package/dist/components/kaeso/conversation.js +8 -8
- package/dist/components/kaeso/identity.js +1 -1
- package/dist/components/kaeso/moments.js +5 -5
- package/dist/components/kaeso/rights.js +1 -1
- package/dist/components/kaeso/usage.js +5 -5
- package/dist/components/kaeso.js +10 -10
- package/dist/components/kbd.js +1 -1
- package/dist/components/key-value.js +3 -3
- package/dist/components/label.js +1 -1
- package/dist/components/layout.js +1 -1
- package/dist/components/link.js +1 -1
- package/dist/components/list.js +1 -1
- package/dist/components/loader.js +2 -2
- package/dist/components/logo.js +2 -2
- package/dist/components/markdown.js +1 -1
- package/dist/components/menu.js +1 -1
- package/dist/components/meter.js +1 -1
- package/dist/components/page-header.js +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/playground.js +16 -16
- package/dist/components/popover.js +2 -2
- package/dist/components/qr-code.js +2 -2
- package/dist/components/qr-code.js.map +1 -1
- package/dist/components/radio.js +1 -1
- package/dist/components/release-art.js +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/section.js +1 -1
- package/dist/components/segmented.js +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/separator.js +1 -1
- package/dist/components/settings.js +5 -4
- package/dist/components/settings.js.map +1 -1
- package/dist/components/sheet.js +4 -4
- package/dist/components/sheet.js.map +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/components/skeleton.js +1 -1
- package/dist/components/slider.js +1 -1
- package/dist/components/stat.js +3 -3
- package/dist/components/status-dot.js +1 -1
- package/dist/components/surface.js +1 -1
- package/dist/components/swap-text.js +1 -1
- package/dist/components/switch.js +1 -1
- package/dist/components/table.js +1 -1
- package/dist/components/tabs.js +2 -2
- package/dist/components/tag.js +1 -1
- package/dist/components/text.js +1 -1
- package/dist/components/theme-image.js +1 -1
- package/dist/components/theme-menu.js +2 -2
- package/dist/components/theme-select.js +1 -1
- package/dist/components/timeline.js +1 -1
- package/dist/components/toast.js +4 -4
- package/dist/components/toc.js +1 -1
- package/dist/components/toolbar.js +1 -1
- package/dist/components/tooltip.js +1 -1
- package/dist/components/visually-hidden.js +1 -1
- package/dist/index.js +55 -55
- package/dist/kaeso.css +45 -0
- package/dist/styles.css +1 -1
- package/dist/types/blocks/delete-resource/delete-resource.d.ts +1 -1
- package/dist/types/blocks/pages/pages.d.ts +3 -3
- package/dist/types/blocks/resource-list/resource-list.d.ts +1 -1
- package/dist/types/components/app-frame/app-frame.d.ts +1 -1
- package/dist/types/components/app-frame/nav-sheet.d.ts +1 -1
- package/dist/types/components/button/button.d.ts +6 -6
- package/dist/types/components/calendar/calendar.d.ts +1 -1
- package/dist/types/components/charts/core.d.ts +5 -5
- package/dist/types/components/combobox/combobox.d.ts +1 -1
- package/dist/types/components/command-list/picker-popover.d.ts +1 -1
- package/dist/types/components/command-palette/command-palette.d.ts +1 -1
- package/dist/types/components/data-table/data-table.d.ts +1 -1
- package/dist/types/components/date-picker/date-popup.d.ts +1 -1
- package/dist/types/components/date-picker/iso-field.d.ts +1 -1
- package/dist/types/components/date-picker/range-popup.d.ts +1 -1
- package/dist/types/components/dialog/dialog.d.ts +3 -3
- package/dist/types/components/dialog/scope.d.ts +1 -1
- package/dist/types/components/dialog/step-dialog.d.ts +1 -1
- package/dist/types/components/display-options/display-options.d.ts +1 -1
- package/dist/types/components/field/field.d.ts +1 -1
- package/dist/types/components/list/list.d.ts +1 -1
- package/dist/types/components/list/row-checkbox.d.ts +1 -1
- package/dist/types/components/list/virtual-rows.d.ts +1 -1
- package/dist/types/components/menu/menu.d.ts +8 -8
- package/dist/types/components/playground/model-picker.d.ts +3 -3
- package/dist/types/components/playground/parameter-panel.d.ts +1 -1
- package/dist/types/components/popover/hover-card.d.ts +2 -2
- package/dist/types/components/popover/popover-root.d.ts +3 -3
- package/dist/types/components/radio/radio.d.ts +1 -1
- package/dist/types/components/select/option-checkbox.d.ts +1 -1
- package/dist/types/components/select/select.d.ts +4 -4
- package/dist/types/components/sheet/sheet.d.ts +4 -4
- package/dist/types/components/sidebar/sidebar-menu.d.ts +1 -1
- package/dist/types/components/sidebar/sidebar.d.ts +7 -7
- package/dist/types/components/theme-menu/theme-menu.d.ts +1 -1
- package/dist/types/components/toast/toast.d.ts +3 -3
- package/dist/types/components/toolbar/toolbar.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip-provider.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip-root.d.ts +1 -1
- package/dist/types/components/tooltip/tooltip.d.ts +2 -2
- package/dist/types/hooks/use-scroll-fade.d.ts +2 -0
- package/dist/types/i18n/provider.d.ts +1 -1
- package/dist/types/theme/theme-provider.d.ts +1 -1
- package/dist/types/utils/cn.d.ts +3 -0
- package/dist/types/utils/inset.d.ts +2 -2
- package/dist/types/utils/link-provider.d.ts +1 -1
- package/dist/types/utils/portal-context.d.ts +1 -1
- package/dist/utils.js +1 -1
- package/foundations/color.md +1 -0
- package/package.json +8 -8
- package/dist/chunks/button-h2IFCER2.js.map +0 -1
- package/dist/chunks/cn-DUDmdLpZ.js.map +0 -1
- package/dist/chunks/code-block-BU8gYeZQ.js +0 -280
- package/dist/chunks/code-block-BU8gYeZQ.js.map +0 -1
- package/dist/chunks/collapsible-CDQq1Y9x.js.map +0 -1
- package/dist/chunks/command-list-DZMVrXWD.js.map +0 -1
- package/dist/chunks/copy-button-CXJ7fA9z.js +0 -109
- package/dist/chunks/copy-button-CXJ7fA9z.js.map +0 -1
- package/dist/chunks/core-Bu6iq5uh.js.map +0 -1
- package/dist/chunks/select-Bbv2f5F8.js.map +0 -1
- package/dist/chunks/switch-Cq1OfeBr.js.map +0 -1
|
@@ -2,10 +2,10 @@ import { type ReactNode } from "react";
|
|
|
2
2
|
export declare function InsetContent({ children, inset }: {
|
|
3
3
|
children: ReactNode;
|
|
4
4
|
inset?: boolean | undefined;
|
|
5
|
-
}): import("react
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
6
|
export declare function useInset(): boolean;
|
|
7
7
|
export declare function GutterContent({ children, padded }: {
|
|
8
8
|
children: ReactNode;
|
|
9
9
|
padded?: boolean | undefined;
|
|
10
|
-
}): import("react
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
11
|
export declare function useGutterPadded(): boolean;
|
|
@@ -7,7 +7,7 @@ export type LinkComponent = ComponentType<LinkComponentProps>;
|
|
|
7
7
|
export declare function LinkProvider({ component, children }: {
|
|
8
8
|
component: LinkComponent;
|
|
9
9
|
children: ReactNode;
|
|
10
|
-
}): import("react
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
11
|
export declare namespace LinkProvider {
|
|
12
12
|
var displayName: string;
|
|
13
13
|
}
|
|
@@ -2,7 +2,7 @@ import { type ReactNode } from "react";
|
|
|
2
2
|
export declare function PortalContainer({ children, className }: {
|
|
3
3
|
children: ReactNode;
|
|
4
4
|
className?: string;
|
|
5
|
-
}): import("react
|
|
5
|
+
}): import("react").JSX.Element;
|
|
6
6
|
export declare namespace PortalContainer {
|
|
7
7
|
var displayName: string;
|
|
8
8
|
}
|
package/dist/utils.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
"use client";
|
|
2
|
-
import { t as e } from "./chunks/cn-
|
|
2
|
+
import { t as e } from "./chunks/cn-Isw2DnQX.js";
|
|
3
3
|
import { t } from "./chunks/utils-CdH72WEp.js";
|
|
4
4
|
import { i as n, n as r, r as i, t as a } from "./chunks/dev-CR1p7gCm.js";
|
|
5
5
|
import { n as o, r as s, t as c } from "./chunks/link-provider-BsUxhZKG.js";
|
package/foundations/color.md
CHANGED
|
@@ -17,6 +17,7 @@ Two tint-free ramps. Components use the role names, never a step, so both themes
|
|
|
17
17
|
| `line-subtle` | Separators inside groups. |
|
|
18
18
|
| `line` | Rings around controls and groups. |
|
|
19
19
|
| `line-strong` | Hovered rings, table header rules. |
|
|
20
|
+
| `switch-thumb` | An off switch's thumb: white in light, light grey in dark. |
|
|
20
21
|
| `text` | Titles, labels, values. |
|
|
21
22
|
| `text-secondary` | Descriptions, metadata, icons at rest. |
|
|
22
23
|
| `text-tertiary` | Placeholders, counts, axis labels. |
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@logicplanes/kaeso-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"description": "Kaeso's UI library: React components on Base UI, Tailwind CSS v4 and the Kaeso tokens.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Devin Oldenburg",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"dependencies": {
|
|
91
91
|
"@base-ui/react": "1.9.0",
|
|
92
92
|
"@tanstack/react-table": "8.21.3",
|
|
93
|
-
"@tanstack/react-virtual": "3.14.
|
|
93
|
+
"@tanstack/react-virtual": "3.14.21",
|
|
94
94
|
"clsx": "2.1.1",
|
|
95
95
|
"d3-array": "3.2.4",
|
|
96
96
|
"d3-sankey": "0.12.3",
|
|
@@ -102,7 +102,7 @@
|
|
|
102
102
|
"shiki": "4.5.0",
|
|
103
103
|
"tailwind-merge": "3.7.0",
|
|
104
104
|
"uqr": "0.1.3",
|
|
105
|
-
"@logicplanes/kaeso-tokens": "0.
|
|
105
|
+
"@logicplanes/kaeso-tokens": "0.4.1"
|
|
106
106
|
},
|
|
107
107
|
"devDependencies": {
|
|
108
108
|
"@hugeicons/core-free-icons": "4.3.5",
|
|
@@ -119,16 +119,16 @@
|
|
|
119
119
|
"@types/d3-shape": "3.2.0",
|
|
120
120
|
"@types/d3-time": "3.0.4",
|
|
121
121
|
"@types/node": "24.19.2",
|
|
122
|
-
"@types/react": "19.
|
|
123
|
-
"@types/react-dom": "19.
|
|
122
|
+
"@types/react": "19.3.0",
|
|
123
|
+
"@types/react-dom": "19.3.0",
|
|
124
124
|
"@vitejs/plugin-react": "6.1.2",
|
|
125
125
|
"@vitest/coverage-v8": "5.0.5",
|
|
126
126
|
"axe-core": "4.14.0",
|
|
127
|
-
"happy-dom": "21.0.
|
|
127
|
+
"happy-dom": "21.0.3",
|
|
128
128
|
"oxlint": "1.88.0",
|
|
129
|
-
"react": "19.
|
|
129
|
+
"react": "19.3.1",
|
|
130
130
|
"react-docgen-typescript": "2.4.0",
|
|
131
|
-
"react-dom": "19.
|
|
131
|
+
"react-dom": "19.3.1",
|
|
132
132
|
"tailwindcss": "4.3.3",
|
|
133
133
|
"tsx": "4.23.15",
|
|
134
134
|
"typescript": "5.9.3",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button-h2IFCER2.js","names":["_Fragment","cn","warnStylingClassName","warnMissingName","isExternalHref","useLinkComponent","Icon","KbdSequence","Tooltip","useDelayedLoading","Spinner","SwapText","Fragment$1","KAESO_BUTTON_VARIANTS","KAESO_BUTTON_DEFAULT_VARIANTS","LEADING_ICON_PADDING","TRAILING_ICON_PADDING","CIRCLE","BUTTON_ICON_SIZE","buttonClasses","size","shape","leading","variant","trailing","fullWidth","Button","rest","props","LinkComp","className","spinning","loading","busy","isCircle","iconSize","spinnerSize","leadingIcon","trailingIcon","shortcut","count","reserveLabels","domProps","k","softDisabled","disabledReason","disabled","inert","classes","content","handleClick","onClick","el","href","external","target","rel","type"],"sources":["../../src/components/button/button.tsx"],"sourcesContent":["import { forwardRef, type ButtonHTMLAttributes, type MouseEvent, type ReactElement, type ReactNode, type Ref } from \"react\";\nimport { cn } from \"../../utils/cn.js\";\nimport { useLinkComponent, isExternalHref } from \"../../utils/link-provider.js\";\nimport { warnMissingName, warnStylingClassName } from \"../../utils/dev.js\";\nimport { Icon, type IconData, type IconSize } from \"../icon/icon.js\";\nimport { Spinner, useDelayedLoading } from \"../loader/loader.js\";\nimport { KbdSequence } from \"../kbd/kbd.js\";\nimport { Tooltip } from \"../tooltip/tooltip.js\";\nimport { SwapText } from \"../swap-text/swap-text.js\";\n\nexport const KAESO_BUTTON_VARIANTS = {\n variant: {\n primary: { classes: \"material-primary\" },\n secondary: { classes: \"material-secondary\" },\n ghost: { classes: \"material-ghost\" },\n quiet: {\n classes: \"material-ghost text-fg-secondary hover:text-fg\",\n },\n soft: { classes: \"material-soft\" },\n danger: { classes: \"material-danger\" },\n \"danger-secondary\": { classes: \"material-danger-secondary\" },\n link: {\n classes: \"bg-transparent text-fg underline decoration-line-strong decoration-1 underline-offset-3 hover:decoration-current disabled:text-fg-disabled\",\n },\n },\n size: {\n xs: { classes: \"h-24 px-10 gap-4 text-caption font-medium\" },\n sm: { classes: \"h-32 px-12 gap-6 text-body font-medium\" },\n md: { classes: \"h-36 px-16 gap-6 text-body font-medium\" },\n lg: { classes: \"h-40 px-18 gap-8 text-body font-medium\" },\n xl: { classes: \"h-48 px-22 gap-8 text-body-lg font-medium\" },\n },\n shape: {\n pill: { classes: \"rounded-pill\" },\n circle: { classes: \"rounded-pill p-0 justify-center\" },\n },\n} as const;\nexport const KAESO_BUTTON_DEFAULT_VARIANTS = { variant: \"secondary\", size: \"md\", shape: \"pill\" } as const;\n\nexport type ButtonVariant = keyof typeof KAESO_BUTTON_VARIANTS.variant;\nexport type ButtonSize = keyof typeof KAESO_BUTTON_VARIANTS.size;\nexport type ButtonShape = keyof typeof KAESO_BUTTON_VARIANTS.shape;\n\nconst LEADING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pl-8\", sm: \"pl-10\", md: \"pl-14\", lg: \"pl-16\", xl: \"pl-20\" };\nconst TRAILING_ICON_PADDING: Record<ButtonSize, string> = { xs: \"pr-8\", sm: \"pr-10\", md: \"pr-14\", lg: \"pr-16\", xl: \"pr-20\" };\nconst CIRCLE: Record<ButtonSize, string> = { xs: \"size-24\", sm: \"size-32\", md: \"size-36\", lg: \"size-40\", xl: \"size-48\" };\nexport const BUTTON_ICON_SIZE: Record<ButtonSize, IconSize> = { xs: \"xs\", sm: \"sm\", md: \"sm\", lg: \"md\", xl: \"lg\" };\n\nexport function buttonClasses({\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n shape = KAESO_BUTTON_DEFAULT_VARIANTS.shape,\n leading = false,\n trailing = false,\n fullWidth = false,\n}: {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n shape?: ButtonShape | undefined;\n leading?: boolean | undefined;\n trailing?: boolean | undefined;\n fullWidth?: boolean | undefined;\n} = {}) {\n return cn(\n \"relative inline-flex shrink-0 select-none items-center justify-center whitespace-nowrap no-underline\",\n \"cursor-pointer transition-control focus-ring tap-target disabled:cursor-not-allowed\",\n KAESO_BUTTON_VARIANTS.size[size].classes,\n KAESO_BUTTON_VARIANTS.shape[shape].classes,\n shape === \"circle\" && CIRCLE[size],\n shape === \"pill\" && leading && variant !== \"link\" && LEADING_ICON_PADDING[size],\n shape === \"pill\" && trailing && variant !== \"link\" && TRAILING_ICON_PADDING[size],\n variant === \"link\" && \"-mx-4 px-4\",\n KAESO_BUTTON_VARIANTS.variant[variant].classes,\n fullWidth && \"w-full\",\n );\n}\n\ninterface CommonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, \"children\"> {\n variant?: ButtonVariant | undefined;\n size?: ButtonSize | undefined;\n loading?: boolean | undefined;\n disabledReason?: string | undefined;\n href?: string | undefined;\n target?: string | undefined;\n rel?: string | undefined;\n fullWidth?: boolean | undefined;\n \"data-force\"?: string | undefined;\n}\n\nexport interface PillButtonProps extends CommonProps {\n shape?: \"pill\" | undefined;\n children: ReactNode;\n leadingIcon?: IconData | undefined;\n trailingIcon?: IconData | undefined;\n shortcut?: string[] | string[][] | undefined;\n count?: number | undefined;\n reserveLabels?: ReactNode[] | undefined;\n}\n\nexport interface CircleButtonProps extends CommonProps {\n shape: \"circle\";\n icon: IconData;\n \"aria-label\": string;\n children?: never | undefined;\n}\n\nexport type ButtonProps = PillButtonProps | CircleButtonProps;\n\nexport const Button = /* @__PURE__ */ forwardRef<HTMLButtonElement | HTMLAnchorElement, ButtonProps>(function Button(props, ref) {\n const {\n variant = KAESO_BUTTON_DEFAULT_VARIANTS.variant,\n size = KAESO_BUTTON_DEFAULT_VARIANTS.size,\n loading = false,\n disabled = false,\n disabledReason,\n href,\n target,\n rel,\n fullWidth,\n className,\n type,\n onClick,\n ...rest\n } = props;\n const LinkComp = useLinkComponent();\n warnStylingClassName(\"Button\", className);\n\n const spinning = useDelayedLoading(loading);\n const busy = loading || spinning;\n const isCircle = props.shape === \"circle\";\n const iconSize = BUTTON_ICON_SIZE[size];\n const spinnerSize = iconSize === \"xs\" ? \"xs\" : iconSize === \"sm\" ? \"sm\" : \"md\";\n const leadingIcon = !isCircle ? (props as PillButtonProps).leadingIcon : undefined;\n const trailingIcon = !isCircle ? (props as PillButtonProps).trailingIcon : undefined;\n const shortcut = !isCircle ? (props as PillButtonProps).shortcut : undefined;\n const count = !isCircle ? (props as PillButtonProps).count : undefined;\n const reserveLabels = !isCircle ? (props as PillButtonProps).reserveLabels : undefined;\n if (isCircle) warnMissingName(\"Button\", !!(props as CircleButtonProps)[\"aria-label\"]);\n\n const domProps = { ...rest } as Record<string, unknown>;\n for (const k of [\"shape\", \"icon\", \"leadingIcon\", \"trailingIcon\", \"shortcut\", \"count\", \"children\", \"reserveLabels\"]) delete domProps[k];\n\n const softDisabled = !!disabledReason && disabled;\n const inert = busy || softDisabled;\n const classes = cn(\n buttonClasses({\n variant,\n size,\n shape: isCircle ? \"circle\" : \"pill\",\n leading: !!leadingIcon,\n trailing: !!trailingIcon || !!shortcut || count !== undefined,\n fullWidth: !!fullWidth,\n }),\n busy && \"cursor-progress\",\n className,\n );\n\n const content = isCircle ? (\n spinning ? (\n <Spinner size={spinnerSize} />\n ) : (\n <Icon icon={(props as CircleButtonProps).icon} size={iconSize} />\n )\n ) : (\n <>\n {spinning && leadingIcon ? <Spinner size={spinnerSize} /> : leadingIcon ? <Icon icon={leadingIcon} size={iconSize} /> : null}\n <span className={cn(\"inline-flex min-w-0 items-center\", spinning && !leadingIcon && \"opacity-0\")}>\n {reserveLabels ? <SwapText reserve={reserveLabels}>{(props as PillButtonProps).children}</SwapText> : (props as PillButtonProps).children}\n </span>\n {count !== undefined && (\n <span\n className={cn(\n \"inline-flex h-20 min-w-20 items-center justify-center rounded-pill px-6 text-caption font-medium tabular\",\n variant === \"primary\" ? \"bg-on-ink/15 text-on-ink\" : variant === \"danger\" ? \"bg-on-danger/20 text-on-danger\" : \"bg-fill-2 text-fg-secondary\",\n )}\n >\n {count}\n </span>\n )}\n {shortcut && <KbdSequence keys={shortcut} tone={variant === \"primary\" || variant === \"danger\" ? \"onInk\" : \"default\"} />}\n {trailingIcon && <Icon icon={trailingIcon} size={iconSize} />}\n {spinning && !leadingIcon && <Spinner size={spinnerSize} className=\"absolute inset-0 m-auto\" />}\n </>\n );\n\n const handleClick = (e: MouseEvent<HTMLButtonElement & HTMLAnchorElement>) => {\n if (inert) {\n e.preventDefault();\n return;\n }\n onClick?.(e as MouseEvent<HTMLButtonElement>);\n };\n\n let el: ReactNode;\n if (href && !disabled) {\n const external = isExternalHref(href);\n el = (\n <LinkComp\n ref={ref as Ref<HTMLAnchorElement>}\n href={href}\n className={classes}\n {...(target ? { target } : external ? { target: \"_blank\" } : {})}\n {...(rel ? { rel } : external ? { rel: \"noopener noreferrer\" } : {})}\n {...(domProps as object)}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n onClick={handleClick}\n >\n {content}\n </LinkComp>\n );\n } else {\n el = (\n <button\n ref={ref as Ref<HTMLButtonElement>}\n type={type ?? \"button\"}\n className={classes}\n disabled={disabled && !softDisabled}\n {...(domProps as object)}\n {...(softDisabled ? { \"aria-disabled\": true } : {})}\n {...(busy ? { \"aria-busy\": true, \"data-loading\": \"\" } : {})}\n {...(softDisabled ? { \"data-disabled\": \"\" } : {})}\n onClick={handleClick}\n >\n {content}\n </button>\n );\n }\n\n if (disabledReason && disabled) {\n return <Tooltip content={disabledReason}>{el as ReactElement}</Tooltip>;\n }\n return el;\n});\nif (process.env.NODE_ENV !== \"production\") Button.displayName = \"Button\";\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cn-DUDmdLpZ.js","names":["kaesoMergeConfig","validators","arbitrary","isArbitraryVariable","isArbitraryValue","spacing","isNumber","inset","isFraction","margin","sizing","overflow","span","isInteger","lineOrPosition","tracks","rounded","width","isArbitraryVariableLength","isArbitraryLength","color","isAny","isArbitraryVariableWeight","isArbitraryWeight","isArbitraryVariableFamilyName","isArbitraryFamilyName","isAnyNonArbitrary","isArbitraryNumber","isArbitraryVariableShadow","isArbitraryShadow","merge","cn","inputs","createTailwindMerge","clsx"],"sources":["../../src/utils/cn.ts"],"sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { createTailwindMerge, validators } from \"tailwind-merge\";\n\nexport function kaesoMergeConfig() {\n const {\n isAny,\n isAnyNonArbitrary,\n isArbitraryFamilyName,\n isArbitraryLength,\n isArbitraryNumber,\n isArbitraryShadow,\n isArbitraryValue,\n isArbitraryVariable,\n isArbitraryVariableFamilyName,\n isArbitraryVariableLength,\n isArbitraryVariableShadow,\n isArbitraryVariableWeight,\n isArbitraryWeight,\n isFraction,\n isInteger,\n isNumber,\n } = validators;\n const arbitrary = [isArbitraryVariable, isArbitraryValue];\n const spacing = [...arbitrary, isNumber];\n const inset = [isFraction, \"full\", \"auto\", ...spacing];\n const margin = [\"auto\", ...spacing];\n const sizing = [isFraction, \"auto\", \"full\", \"dvw\", \"dvh\", \"lvw\", \"lvh\", \"svw\", \"svh\", \"min\", \"max\", \"fit\", ...spacing];\n const overflow = [\"auto\", \"hidden\", \"clip\", \"visible\", \"scroll\"];\n const span = [\"auto\", { span: [\"full\", isInteger, ...arbitrary] }, isInteger, ...arbitrary];\n const lineOrPosition = [isInteger, \"auto\", ...arbitrary];\n const tracks = [isInteger, \"none\", \"subgrid\", ...arbitrary];\n const rounded = [\"\", \"none\", \"full\", ...[\"pill\",\"panel\",\"menu\",\"item\",\"popover\",\"dialog\",\"sheet\",\"group\",\"well\",\"tooltip\",\"palette\",\"palette-item\",\"checkbox\",\"org\",\"kbd\",\"code\",\"bar\",\"cell\",\"avatar\",\"field\",\"textarea\",\"cell-lg\",\"tooltip-lg\",\"frame\",\"toast\"], ...arbitrary];\n const width = [\"\", isNumber, isArbitraryVariableLength, isArbitraryLength];\n const color = [isAny];\n return {\n cacheSize: 500,\n theme: {},\n classGroups: {\n aspect: [{ aspect: [\"auto\", \"square\", isFraction, ...arbitrary] }],\n container: [\"container\"],\n \"container-type\": [{ \"@container\": [\"\", \"normal\", \"size\", ...arbitrary] }],\n \"box-decoration\": [{ \"box-decoration\": [\"slice\", \"clone\"] }],\n box: [{ box: [\"border\", \"content\"] }],\n display: [\n \"block\",\n \"inline-block\",\n \"inline\",\n \"flex\",\n \"inline-flex\",\n \"table\",\n \"inline-table\",\n \"table-caption\",\n \"table-cell\",\n \"table-column\",\n \"table-column-group\",\n \"table-footer-group\",\n \"table-header-group\",\n \"table-row-group\",\n \"table-row\",\n \"flow-root\",\n \"grid\",\n \"inline-grid\",\n \"contents\",\n \"list-item\",\n \"hidden\",\n ],\n sr: [\"sr-only\", \"not-sr-only\"],\n isolation: [\"isolate\", \"isolation-auto\"],\n \"object-fit\": [{ object: [\"contain\", \"cover\", \"fill\", \"none\", \"scale-down\"] }],\n overflow: [{ overflow }],\n \"overflow-x\": [{ \"overflow-x\": overflow }],\n \"overflow-y\": [{ \"overflow-y\": overflow }],\n overscroll: [{ overscroll: [\"auto\", \"contain\", \"none\"] }],\n position: [\"static\", \"fixed\", \"absolute\", \"relative\", \"sticky\"],\n inset: [{ inset }],\n \"inset-x\": [{ \"inset-x\": inset }],\n \"inset-y\": [{ \"inset-y\": inset }],\n top: [{ top: inset }],\n right: [{ right: inset }],\n bottom: [{ bottom: inset }],\n left: [{ left: inset }],\n visibility: [\"visible\", \"invisible\", \"collapse\"],\n z: [{ z: [isInteger, \"auto\", ...arbitrary] }],\n basis: [{ basis: [isFraction, \"full\", \"auto\", ...spacing] }],\n \"flex-direction\": [{ flex: [\"row\", \"row-reverse\", \"col\", \"col-reverse\"] }],\n \"flex-wrap\": [{ flex: [\"nowrap\", \"wrap\", \"wrap-reverse\"] }],\n flex: [{ flex: [isNumber, isFraction, \"auto\", \"initial\", \"none\", isArbitraryValue] }],\n grow: [{ grow: [\"\", isNumber, ...arbitrary] }],\n shrink: [{ shrink: [\"\", isNumber, ...arbitrary] }],\n order: [{ order: [isInteger, \"first\", \"last\", \"none\", ...arbitrary] }],\n \"grid-cols\": [{ \"grid-cols\": tracks }],\n \"col-start-end\": [{ col: span }],\n \"col-start\": [{ \"col-start\": lineOrPosition }],\n \"grid-rows\": [{ \"grid-rows\": tracks }],\n \"row-start-end\": [{ row: span }],\n \"row-start\": [{ \"row-start\": lineOrPosition }],\n gap: [{ gap: spacing }],\n \"gap-x\": [{ \"gap-x\": spacing }],\n \"gap-y\": [{ \"gap-y\": spacing }],\n \"justify-content\": [{ justify: [\"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\", \"normal\"] }],\n \"justify-items\": [{ \"justify-items\": [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", \"normal\"] }],\n \"align-content\": [{ content: [\"normal\", \"start\", \"end\", \"center\", \"between\", \"around\", \"evenly\", \"stretch\", \"baseline\", \"center-safe\", \"end-safe\"] }],\n \"align-items\": [{ items: [\"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", { baseline: [\"\", \"last\"] }] }],\n \"align-self\": [{ self: [\"auto\", \"start\", \"end\", \"center\", \"stretch\", \"center-safe\", \"end-safe\", { baseline: [\"\", \"last\"] }] }],\n p: [{ p: spacing }],\n px: [{ px: spacing }],\n py: [{ py: spacing }],\n pt: [{ pt: spacing }],\n pr: [{ pr: spacing }],\n pb: [{ pb: spacing }],\n pl: [{ pl: spacing }],\n m: [{ m: margin }],\n mx: [{ mx: margin }],\n my: [{ my: margin }],\n ms: [{ ms: margin }],\n mt: [{ mt: margin }],\n mr: [{ mr: margin }],\n mb: [{ mb: margin }],\n ml: [{ ml: margin }],\n size: [{ size: sizing }],\n w: [{ w: [\"screen\", \"anchor\", ...sizing] }],\n \"min-w\": [{ \"min-w\": [\"screen\", \"none\", \"anchor\", ...sizing] }],\n \"max-w\": [{ \"max-w\": [\"screen\", \"none\", \"prose\", ...sizing] }],\n h: [{ h: [\"screen\", \"lh\", ...sizing] }],\n \"min-h\": [{ \"min-h\": [\"screen\", \"lh\", \"none\", ...sizing] }],\n \"max-h\": [{ \"max-h\": [\"screen\", \"lh\", \"none\", ...sizing] }],\n \"font-size\": [{ text: [...[\"micro\",\"caption\",\"small\",\"body\",\"body-lg\",\"title-sm\",\"title\",\"title-lg\",\"display\",\"metric\"], isArbitraryVariableLength, isArbitraryLength] }],\n \"font-style\": [\"italic\", \"not-italic\"],\n \"font-weight\": [{ font: [\"regular\", \"medium\", \"semibold\", isArbitraryVariableWeight, isArbitraryWeight] }],\n \"font-family\": [{ font: [isArbitraryVariableFamilyName, isArbitraryFamilyName, isAnyNonArbitrary] }],\n \"fvn-spacing\": [\"proportional-nums\", \"tabular-nums\"],\n \"line-clamp\": [{ \"line-clamp\": [isNumber, \"none\", isArbitraryVariable, isArbitraryNumber] }],\n leading: [{ leading: [\"none\", ...spacing] }],\n \"text-alignment\": [{ text: [\"left\", \"center\", \"right\", \"justify\", \"start\", \"end\"] }],\n \"text-color\": [{ text: color }],\n \"text-decoration\": [\"underline\", \"overline\", \"line-through\", \"no-underline\"],\n \"text-decoration-thickness\": [{ decoration: [isNumber, \"from-font\", \"auto\", isArbitraryVariable, isArbitraryLength] }],\n \"text-decoration-color\": [{ decoration: color }],\n \"underline-offset\": [{ \"underline-offset\": [isNumber, \"auto\", ...arbitrary] }],\n \"text-overflow\": [\"truncate\", \"text-ellipsis\", \"text-clip\"],\n \"text-wrap\": [{ text: [\"wrap\", \"nowrap\", \"balance\", \"pretty\"] }],\n \"vertical-align\": [{ align: [\"baseline\", \"top\", \"middle\", \"bottom\", \"text-top\", \"text-bottom\", \"sub\", \"super\", ...arbitrary] }],\n whitespace: [{ whitespace: [\"normal\", \"nowrap\", \"pre\", \"pre-line\", \"pre-wrap\", \"break-spaces\"] }],\n break: [{ break: [\"normal\", \"words\", \"all\", \"keep\"] }],\n wrap: [{ wrap: [\"break-word\", \"anywhere\", \"normal\"] }],\n \"bg-color\": [{ bg: color }],\n rounded: [{ rounded }],\n \"rounded-r\": [{ \"rounded-r\": rounded }],\n \"rounded-l\": [{ \"rounded-l\": rounded }],\n \"outline-style\": [{ outline: [\"solid\", \"dashed\", \"dotted\", \"double\", \"none\", \"hidden\"] }],\n \"outline-offset\": [{ \"outline-offset\": [isNumber, ...arbitrary] }],\n \"outline-w\": [{ outline: width }],\n \"outline-color\": [{ outline: color }],\n shadow: [{ shadow: [\"\", \"inner\", \"none\", ...[\"ring\",\"control\",\"control-hover\",\"control-on-fill\",\"field\",\"field-hover\",\"selector\",\"selector-hover\",\"frame\",\"xs\",\"raised\",\"dialog\",\"panel\",\"segment\",\"toast\",\"thumb\"], isArbitraryVariableShadow, isArbitraryShadow] }],\n \"ring-w\": [{ ring: width }],\n \"ring-color\": [{ ring: color }],\n opacity: [{ opacity: [isNumber, ...arbitrary] }],\n filter: [{ filter: [\"\", \"none\", ...arbitrary] }],\n \"border-collapse\": [{ border: [\"collapse\", \"separate\"] }],\n \"table-layout\": [{ table: [\"auto\", \"fixed\"] }],\n transition: [{ transition: [\"\", \"all\", \"colors\", \"opacity\", \"shadow\", \"transform\", \"none\", ...arbitrary] }],\n duration: [{ duration: [isNumber, \"initial\", ...arbitrary] }],\n ease: [{ ease: [\"linear\", \"initial\", ...[\"standard\",\"overlay\",\"exit\",\"pulse\"], ...arbitrary] }],\n animate: [{ animate: [\"none\", ...arbitrary] }],\n rotate: [{ rotate: [\"none\", isNumber, ...arbitrary] }],\n \"translate-x\": [{ \"translate-x\": [isFraction, \"full\", ...spacing] }],\n \"caret-color\": [{ caret: color }],\n cursor: [\n {\n cursor: [\n \"auto\",\n \"default\",\n \"pointer\",\n \"wait\",\n \"text\",\n \"move\",\n \"help\",\n \"not-allowed\",\n \"none\",\n \"context-menu\",\n \"progress\",\n \"cell\",\n \"crosshair\",\n \"vertical-text\",\n \"alias\",\n \"copy\",\n \"no-drop\",\n \"grab\",\n \"grabbing\",\n \"all-scroll\",\n \"col-resize\",\n \"row-resize\",\n \"n-resize\",\n \"e-resize\",\n \"s-resize\",\n \"w-resize\",\n \"ne-resize\",\n \"nw-resize\",\n \"se-resize\",\n \"sw-resize\",\n \"ew-resize\",\n \"ns-resize\",\n \"nesw-resize\",\n \"nwse-resize\",\n \"zoom-in\",\n \"zoom-out\",\n ...arbitrary,\n ],\n },\n ],\n \"pointer-events\": [{ \"pointer-events\": [\"auto\", \"none\"] }],\n resize: [{ resize: [\"none\", \"\", \"y\", \"x\"] }],\n \"scrollbar-w\": [{ scrollbar: [\"auto\", \"thin\", \"none\"] }],\n \"scroll-mt\": [{ \"scroll-mt\": spacing }],\n \"snap-align\": [{ snap: [\"start\", \"end\", \"center\", \"align-none\"] }],\n \"snap-stop\": [{ snap: [\"normal\", \"always\"] }],\n touch: [{ touch: [\"auto\", \"none\", \"manipulation\"] }],\n select: [{ select: [\"none\", \"text\", \"all\", \"auto\"] }],\n material: [\"material-primary\", \"material-secondary\", \"material-ghost\", \"material-soft\", \"material-danger\", \"material-danger-secondary\", \"material-field\"],\n focus: [\"focus-ring\", \"focus-ring-inset\"],\n motion: [\"popup-motion\", \"dialog-motion\", \"sheet-motion\", \"backdrop-motion\", \"indicator-motion\"],\n },\n conflictingClassGroups: {\n overflow: [\"overflow-x\", \"overflow-y\"],\n inset: [\"inset-x\", \"inset-y\", \"top\", \"right\", \"bottom\", \"left\"],\n \"inset-x\": [\"right\", \"left\"],\n \"inset-y\": [\"top\", \"bottom\"],\n flex: [\"basis\", \"grow\", \"shrink\"],\n gap: [\"gap-x\", \"gap-y\"],\n p: [\"px\", \"py\", \"pt\", \"pr\", \"pb\", \"pl\"],\n px: [\"pr\", \"pl\"],\n py: [\"pt\", \"pb\"],\n m: [\"mx\", \"my\", \"ms\", \"mt\", \"mr\", \"mb\", \"ml\"],\n mx: [\"ms\", \"mr\", \"ml\"],\n my: [\"mt\", \"mb\"],\n size: [\"w\", \"h\"],\n \"font-size\": [\"leading\"],\n \"line-clamp\": [\"display\", \"overflow\"],\n rounded: [\"rounded-r\", \"rounded-l\"],\n },\n conflictingClassGroupModifiers: { \"font-size\": [\"leading\"] },\n postfixLookupClassGroups: [\"container-type\"],\n orderSensitiveModifiers: [\n \"*\",\n \"**\",\n \"after\",\n \"backdrop\",\n \"before\",\n \"details-content\",\n \"file\",\n \"first-letter\",\n \"first-line\",\n \"marker\",\n \"placeholder\",\n \"selection\",\n ],\n };\n}\n\nlet merge: ReturnType<typeof createTailwindMerge> | undefined;\n\nexport function cn(...inputs: ClassValue[]): string {\n merge ??= createTailwindMerge(kaesoMergeConfig);\n return merge(clsx(inputs));\n}\n"],"mappings":"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"}
|
|
@@ -1,280 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { t as e } from "./cn-DUDmdLpZ.js";
|
|
3
|
-
import { i as t } from "./context-BELWW79w.js";
|
|
4
|
-
import { n } from "./copy-button-CXJ7fA9z.js";
|
|
5
|
-
import { forwardRef as r, useEffect as i, useMemo as a, useState as o } from "react";
|
|
6
|
-
import { jsx as s, jsxs as c } from "react/jsx-runtime";
|
|
7
|
-
import { Tabs as l } from "@base-ui/react/tabs";
|
|
8
|
-
//#region src/components/code-block/kaeso-theme.ts
|
|
9
|
-
var u = {
|
|
10
|
-
text: {
|
|
11
|
-
color: "var(--k-text)",
|
|
12
|
-
className: ""
|
|
13
|
-
},
|
|
14
|
-
quiet: {
|
|
15
|
-
color: "var(--k-text-tertiary)",
|
|
16
|
-
className: "text-fg-tertiary"
|
|
17
|
-
},
|
|
18
|
-
secondary: {
|
|
19
|
-
color: "var(--k-text-secondary)",
|
|
20
|
-
className: "text-fg-secondary"
|
|
21
|
-
},
|
|
22
|
-
string: {
|
|
23
|
-
color: "var(--k-info-text)",
|
|
24
|
-
className: "text-info-text"
|
|
25
|
-
},
|
|
26
|
-
constant: {
|
|
27
|
-
color: "var(--k-warning-text)",
|
|
28
|
-
className: "text-warning-text"
|
|
29
|
-
}
|
|
30
|
-
}, d = 1, f = 2;
|
|
31
|
-
function p(e, t) {
|
|
32
|
-
let n = t ?? 0;
|
|
33
|
-
return [
|
|
34
|
-
Object.values(u).find((t) => t.color === e?.toLowerCase())?.className ?? "",
|
|
35
|
-
n & d ? "italic" : "",
|
|
36
|
-
n & f ? "font-semibold" : ""
|
|
37
|
-
].filter(Boolean).join(" ");
|
|
38
|
-
}
|
|
39
|
-
var m = {
|
|
40
|
-
name: "kaeso",
|
|
41
|
-
type: "light",
|
|
42
|
-
colors: {
|
|
43
|
-
"editor.background": "transparent",
|
|
44
|
-
"editor.foreground": u.text.color
|
|
45
|
-
},
|
|
46
|
-
settings: [
|
|
47
|
-
{ settings: {
|
|
48
|
-
foreground: u.text.color,
|
|
49
|
-
background: "transparent"
|
|
50
|
-
} },
|
|
51
|
-
{
|
|
52
|
-
scope: ["comment", "punctuation.definition.comment"],
|
|
53
|
-
settings: {
|
|
54
|
-
foreground: u.quiet.color,
|
|
55
|
-
fontStyle: "italic"
|
|
56
|
-
}
|
|
57
|
-
},
|
|
58
|
-
{
|
|
59
|
-
scope: [
|
|
60
|
-
"string",
|
|
61
|
-
"string.quoted",
|
|
62
|
-
"string.template",
|
|
63
|
-
"punctuation.definition.string",
|
|
64
|
-
"markup.inline.raw"
|
|
65
|
-
],
|
|
66
|
-
settings: { foreground: u.string.color }
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
scope: [
|
|
70
|
-
"constant.numeric",
|
|
71
|
-
"constant.language.boolean",
|
|
72
|
-
"constant.language.null",
|
|
73
|
-
"constant.language"
|
|
74
|
-
],
|
|
75
|
-
settings: { foreground: u.constant.color }
|
|
76
|
-
},
|
|
77
|
-
{
|
|
78
|
-
scope: [
|
|
79
|
-
"keyword",
|
|
80
|
-
"storage",
|
|
81
|
-
"storage.type",
|
|
82
|
-
"storage.modifier",
|
|
83
|
-
"keyword.control",
|
|
84
|
-
"keyword.operator.new",
|
|
85
|
-
"variable.language"
|
|
86
|
-
],
|
|
87
|
-
settings: {
|
|
88
|
-
foreground: u.text.color,
|
|
89
|
-
fontStyle: "bold"
|
|
90
|
-
}
|
|
91
|
-
},
|
|
92
|
-
{
|
|
93
|
-
scope: [
|
|
94
|
-
"punctuation",
|
|
95
|
-
"meta.brace",
|
|
96
|
-
"punctuation.separator",
|
|
97
|
-
"punctuation.terminator",
|
|
98
|
-
"keyword.operator",
|
|
99
|
-
"meta.tag punctuation"
|
|
100
|
-
],
|
|
101
|
-
settings: { foreground: u.quiet.color }
|
|
102
|
-
},
|
|
103
|
-
{
|
|
104
|
-
scope: [
|
|
105
|
-
"entity.name.function",
|
|
106
|
-
"support.function",
|
|
107
|
-
"entity.name.tag",
|
|
108
|
-
"support.class.component"
|
|
109
|
-
],
|
|
110
|
-
settings: { foreground: u.text.color }
|
|
111
|
-
},
|
|
112
|
-
{
|
|
113
|
-
scope: [
|
|
114
|
-
"support.type.property-name",
|
|
115
|
-
"meta.object-literal.key",
|
|
116
|
-
"entity.other.attribute-name",
|
|
117
|
-
"variable.other.property"
|
|
118
|
-
],
|
|
119
|
-
settings: { foreground: u.text.color }
|
|
120
|
-
},
|
|
121
|
-
{
|
|
122
|
-
scope: [
|
|
123
|
-
"entity.name.type",
|
|
124
|
-
"support.type",
|
|
125
|
-
"entity.other.inherited-class"
|
|
126
|
-
],
|
|
127
|
-
settings: { foreground: u.secondary.color }
|
|
128
|
-
}
|
|
129
|
-
]
|
|
130
|
-
}, h = null, g = 2e3, _ = [
|
|
131
|
-
"ts",
|
|
132
|
-
"tsx",
|
|
133
|
-
"js",
|
|
134
|
-
"json",
|
|
135
|
-
"bash",
|
|
136
|
-
"python",
|
|
137
|
-
"yaml",
|
|
138
|
-
"diff"
|
|
139
|
-
];
|
|
140
|
-
function v() {
|
|
141
|
-
return h ??= (async () => {
|
|
142
|
-
let [{ createHighlighterCore: e }, { createJavaScriptRegexEngine: t }] = await Promise.all([import("shiki/core"), import("shiki/engine/javascript")]);
|
|
143
|
-
return await e({
|
|
144
|
-
themes: [m],
|
|
145
|
-
langs: [],
|
|
146
|
-
engine: t()
|
|
147
|
-
});
|
|
148
|
-
})().catch((e) => {
|
|
149
|
-
throw h = null, e;
|
|
150
|
-
}), h;
|
|
151
|
-
}
|
|
152
|
-
var y = {
|
|
153
|
-
ts: () => import("shiki/dist/langs/typescript.mjs"),
|
|
154
|
-
tsx: () => import("shiki/dist/langs/tsx.mjs"),
|
|
155
|
-
js: () => import("shiki/dist/langs/javascript.mjs"),
|
|
156
|
-
json: () => import("shiki/dist/langs/json.mjs"),
|
|
157
|
-
bash: () => import("shiki/dist/langs/bash.mjs"),
|
|
158
|
-
python: () => import("shiki/dist/langs/python.mjs"),
|
|
159
|
-
yaml: () => import("shiki/dist/langs/yaml.mjs"),
|
|
160
|
-
diff: () => import("shiki/dist/langs/diff.mjs")
|
|
161
|
-
};
|
|
162
|
-
async function b(e, t) {
|
|
163
|
-
if (t === "text" || e.length > 2e5) return null;
|
|
164
|
-
let n = await v();
|
|
165
|
-
if (!n.getLoadedLanguages().includes(t)) {
|
|
166
|
-
let e = y[t];
|
|
167
|
-
if (!e) return null;
|
|
168
|
-
await n.loadLanguage((await e()).default);
|
|
169
|
-
}
|
|
170
|
-
return n.codeToTokens(e, {
|
|
171
|
-
lang: t,
|
|
172
|
-
theme: "kaeso",
|
|
173
|
-
tokenizeMaxLineLength: g
|
|
174
|
-
}).tokens.map((e) => e.map((e) => ({
|
|
175
|
-
content: e.content,
|
|
176
|
-
className: p(e.color, e.fontStyle)
|
|
177
|
-
})));
|
|
178
|
-
}
|
|
179
|
-
//#endregion
|
|
180
|
-
//#region src/components/code-block/code-block.tsx
|
|
181
|
-
var x = { surface: {
|
|
182
|
-
well: { classes: "rounded-well bg-fill-1" },
|
|
183
|
-
plain: { classes: "bg-transparent" }
|
|
184
|
-
} }, S = { surface: "well" }, C = /* @__PURE__ */ r(function({ code: r = "", lang: u = "ts", tabs: d, tab: f, onTabChange: p, title: m, lineNumbers: h, highlightLines: g = [], collapseAfter: _ = 24, surface: v = "well", copy: y = !0, wrap: S = !1, className: C }, w) {
|
|
185
|
-
let [T, E] = o(0), D = f === void 0 ? -1 : d?.findIndex((e) => e.label === f) ?? -1, O = D >= 0 ? D : T, k = (e) => {
|
|
186
|
-
E(e);
|
|
187
|
-
let t = d?.[e]?.label;
|
|
188
|
-
t !== void 0 && p?.(t);
|
|
189
|
-
}, A = t(), j = d?.[O] ?? {
|
|
190
|
-
label: "",
|
|
191
|
-
code: r,
|
|
192
|
-
lang: u
|
|
193
|
-
}, M = j.code.replace(/\n$/, ""), N = a(() => M.split("\n"), [M]), [P, F] = o(null), [I, L] = o(!1);
|
|
194
|
-
i(() => {
|
|
195
|
-
let e = !0, t = j.lang ?? "ts";
|
|
196
|
-
return b(M, t).then((n) => e && F({
|
|
197
|
-
text: M,
|
|
198
|
-
lang: t,
|
|
199
|
-
tokens: n
|
|
200
|
-
})).catch(() => void 0), () => {
|
|
201
|
-
e = !1;
|
|
202
|
-
};
|
|
203
|
-
}, [M, j.lang]);
|
|
204
|
-
let R = P && P.lang === (j.lang ?? "ts") && P.text === M ? P.tokens : null, z = _ > 0 && N.length > _ && !I, B = z ? _ : N.length, V = e("relative overflow-x-auto py-16 scrollbar-quiet focus-ring-inset", z && "overflow-y-hidden", y && "coarse:mr-40"), H = /* @__PURE__ */ s("pre", {
|
|
205
|
-
className: "mono text-small text-fg",
|
|
206
|
-
children: /* @__PURE__ */ s("code", {
|
|
207
|
-
className: e("grid", !S && "min-w-max"),
|
|
208
|
-
children: N.slice(0, B).map((t, n) => /* @__PURE__ */ c("span", {
|
|
209
|
-
className: e("flex px-16 leading-code", S && "whitespace-pre-wrap wrap-anywhere", g.includes(n + 1) && "bg-fill-2"),
|
|
210
|
-
children: [h && /* @__PURE__ */ s("span", {
|
|
211
|
-
className: "mr-16 inline-block w-24 shrink-0 text-right text-fg-tertiary select-none tabular",
|
|
212
|
-
children: n + 1
|
|
213
|
-
}), /* @__PURE__ */ s("span", {
|
|
214
|
-
className: "min-w-0",
|
|
215
|
-
children: R?.[n]?.length ? R[n].map((e, t) => /* @__PURE__ */ s("span", {
|
|
216
|
-
className: e.className || void 0,
|
|
217
|
-
children: e.content
|
|
218
|
-
}, t)) : t || " "
|
|
219
|
-
})]
|
|
220
|
-
}, n))
|
|
221
|
-
})
|
|
222
|
-
});
|
|
223
|
-
return /* @__PURE__ */ c("div", {
|
|
224
|
-
ref: w,
|
|
225
|
-
className: e("group/code relative min-w-0", x.surface[v].classes, C),
|
|
226
|
-
children: [
|
|
227
|
-
/* @__PURE__ */ c(l.Root, {
|
|
228
|
-
value: O,
|
|
229
|
-
onValueChange: (e) => k(Number(e)),
|
|
230
|
-
children: [(m || d) && /* @__PURE__ */ c("div", {
|
|
231
|
-
className: "flex h-44 items-center gap-4 px-8 hairline-b",
|
|
232
|
-
children: [m && /* @__PURE__ */ s("span", {
|
|
233
|
-
className: "px-8 mono text-small text-fg-secondary",
|
|
234
|
-
children: m
|
|
235
|
-
}), d && /* @__PURE__ */ s(l.List, {
|
|
236
|
-
"aria-label": A("codeBlock.language", "Language"),
|
|
237
|
-
className: "flex items-center gap-2",
|
|
238
|
-
children: d.map((t, n) => /* @__PURE__ */ s(l.Tab, {
|
|
239
|
-
value: n,
|
|
240
|
-
className: e("inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium transition-control focus-ring", n === O ? "bg-fill-2 text-fg" : "text-fg-secondary hover:bg-fill-2 hover:text-fg"),
|
|
241
|
-
children: t.label
|
|
242
|
-
}, t.label))
|
|
243
|
-
})]
|
|
244
|
-
}), d ? /* @__PURE__ */ s(l.Panel, {
|
|
245
|
-
value: O,
|
|
246
|
-
className: V,
|
|
247
|
-
children: H
|
|
248
|
-
}) : /* @__PURE__ */ s("div", {
|
|
249
|
-
tabIndex: 0,
|
|
250
|
-
role: "region",
|
|
251
|
-
"aria-label": typeof m == "string" ? A("codeBlock.titledCode", "{title} code", { title: m }) : A("codeBlock.code", "Code"),
|
|
252
|
-
className: V,
|
|
253
|
-
children: H
|
|
254
|
-
})]
|
|
255
|
-
}),
|
|
256
|
-
_ > 0 && N.length > _ && /* @__PURE__ */ s("div", {
|
|
257
|
-
className: "flex justify-center pb-12",
|
|
258
|
-
children: /* @__PURE__ */ s("button", {
|
|
259
|
-
type: "button",
|
|
260
|
-
onClick: () => L((e) => !e),
|
|
261
|
-
className: "inline-flex h-28 cursor-pointer items-center rounded-pill px-12 text-small font-medium text-fg-secondary transition-control hover:bg-fill-2 hover:text-fg focus-ring",
|
|
262
|
-
children: I ? A("codeBlock.showLess", "Show less") : A("codeBlock.showAllLines", "Show all {count} lines", { count: String(N.length) })
|
|
263
|
-
})
|
|
264
|
-
}),
|
|
265
|
-
y && /* @__PURE__ */ s("div", {
|
|
266
|
-
className: e("absolute right-8 opacity-0 transition-control group-hover/code:opacity-100 coarse:opacity-100 focus-within:opacity-100", m || d ? "top-52" : "top-8"),
|
|
267
|
-
children: /* @__PURE__ */ s(n, {
|
|
268
|
-
value: M,
|
|
269
|
-
label: A("codeBlock.copy", "Copy code")
|
|
270
|
-
})
|
|
271
|
-
})
|
|
272
|
-
]
|
|
273
|
-
});
|
|
274
|
-
});
|
|
275
|
-
process.env.NODE_ENV !== "production" && (C.displayName = "CodeBlock");
|
|
276
|
-
var w = C;
|
|
277
|
-
//#endregion
|
|
278
|
-
export { _ as a, x as i, w as n, b as o, S as r, m as s, C as t };
|
|
279
|
-
|
|
280
|
-
//# sourceMappingURL=code-block-BU8gYeZQ.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"code-block-BU8gYeZQ.js","names":["BaseTabs","cn","useUiText","TONES","ITALIC","BOLD","codeTokenClass","style","fontStyle","tone","color","kaesoShikiTheme","instance","HIGHLIGHT_MAX_LINE","CODE_LANGS","getHighlighter","createHighlighterCore","createJavaScriptRegexEngine","error","LOADERS","highlight","lang","code","h","loader","line","token","KAESO_CODE_BLOCK_VARIANTS","KAESO_CODE_BLOCK_DEFAULT_VARIANTS","CodeBlock","chosen","own","setOwn","useState","match","tabs","item","tab","choose","i","label","onTabChange","t","current","text","lines","useMemo","highlighted","setHighlighted","expanded","setExpanded","alive","tokenLines","collapsed","collapseAfter","visible","codeClass","copy","source","wrap","highlightLines","lineNumbers","j","surface","className","Tabs","v","title","CopyButton","CodeHighlighted"],"sources":["../../src/components/code-block/kaeso-theme.ts","../../src/components/code-block/highlighter.ts","../../src/components/code-block/code-block.tsx"],"sourcesContent":["const TONES = {\n text: { color: \"var(--k-text)\", className: \"\" },\n quiet: { color: \"var(--k-text-tertiary)\", className: \"text-fg-tertiary\" },\n secondary: { color: \"var(--k-text-secondary)\", className: \"text-fg-secondary\" },\n string: { color: \"var(--k-info-text)\", className: \"text-info-text\" },\n constant: { color: \"var(--k-warning-text)\", className: \"text-warning-text\" },\n} as const;\n\nconst ITALIC = 1;\nconst BOLD = 2;\n\nexport function codeTokenClass(color: string | undefined, fontStyle: number | undefined): string {\n const style = fontStyle ?? 0;\n return [\n Object.values(TONES).find((tone) => tone.color === color?.toLowerCase())?.className ?? \"\",\n style & ITALIC ? \"italic\" : \"\",\n style & BOLD ? \"font-semibold\" : \"\",\n ]\n .filter(Boolean)\n .join(\" \");\n}\n\nexport const kaesoShikiTheme = {\n name: \"kaeso\",\n type: \"light\" as const,\n colors: { \"editor.background\": \"transparent\", \"editor.foreground\": TONES.text.color },\n settings: [\n { settings: { foreground: TONES.text.color, background: \"transparent\" } },\n { scope: [\"comment\", \"punctuation.definition.comment\"], settings: { foreground: TONES.quiet.color, fontStyle: \"italic\" } },\n {\n scope: [\"string\", \"string.quoted\", \"string.template\", \"punctuation.definition.string\", \"markup.inline.raw\"],\n settings: { foreground: TONES.string.color },\n },\n {\n scope: [\"constant.numeric\", \"constant.language.boolean\", \"constant.language.null\", \"constant.language\"],\n settings: { foreground: TONES.constant.color },\n },\n {\n scope: [\"keyword\", \"storage\", \"storage.type\", \"storage.modifier\", \"keyword.control\", \"keyword.operator.new\", \"variable.language\"],\n settings: { foreground: TONES.text.color, fontStyle: \"bold\" },\n },\n {\n scope: [\"punctuation\", \"meta.brace\", \"punctuation.separator\", \"punctuation.terminator\", \"keyword.operator\", \"meta.tag punctuation\"],\n settings: { foreground: TONES.quiet.color },\n },\n { scope: [\"entity.name.function\", \"support.function\", \"entity.name.tag\", \"support.class.component\"], settings: { foreground: TONES.text.color } },\n {\n scope: [\"support.type.property-name\", \"meta.object-literal.key\", \"entity.other.attribute-name\", \"variable.other.property\"],\n settings: { foreground: TONES.text.color },\n },\n { scope: [\"entity.name.type\", \"support.type\", \"entity.other.inherited-class\"], settings: { foreground: TONES.secondary.color } },\n ],\n};\n","import { codeTokenClass, kaesoShikiTheme } from \"./kaeso-theme.js\";\n\ntype Highlighter = {\n codeToTokens: (\n code: string,\n o: { lang: string; theme: string; tokenizeMaxLineLength?: number | undefined },\n ) => { tokens: { content: string; color?: string | undefined; fontStyle?: number | undefined }[][] };\n getLoadedLanguages: () => string[];\n loadLanguage: (...l: unknown[]) => Promise<void>;\n};\nlet instance: Promise<Highlighter> | null = null;\n\nexport const HIGHLIGHT_MAX_CHARS = 200_000;\n\nconst HIGHLIGHT_MAX_LINE = 2_000;\n\nexport const CODE_LANGS = [\"ts\", \"tsx\", \"js\", \"json\", \"bash\", \"python\", \"yaml\", \"diff\"] as const;\nexport type CodeLang = (typeof CODE_LANGS)[number] | \"text\";\n\nexport function getHighlighter(): Promise<Highlighter> {\n instance ??= (async () => {\n const [{ createHighlighterCore }, { createJavaScriptRegexEngine }] = await Promise.all([import(\"shiki/core\"), import(\"shiki/engine/javascript\")]);\n return (await createHighlighterCore({ themes: [kaesoShikiTheme as never], langs: [], engine: createJavaScriptRegexEngine() })) as unknown as Highlighter;\n })().catch((error: unknown) => {\n instance = null;\n throw error;\n });\n return instance;\n}\n\nconst LOADERS: Record<Exclude<CodeLang, \"text\">, () => Promise<{ default: unknown }>> = {\n ts: () => import(\"shiki/dist/langs/typescript.mjs\"),\n tsx: () => import(\"shiki/dist/langs/tsx.mjs\"),\n js: () => import(\"shiki/dist/langs/javascript.mjs\"),\n json: () => import(\"shiki/dist/langs/json.mjs\"),\n bash: () => import(\"shiki/dist/langs/bash.mjs\"),\n python: () => import(\"shiki/dist/langs/python.mjs\"),\n yaml: () => import(\"shiki/dist/langs/yaml.mjs\"),\n diff: () => import(\"shiki/dist/langs/diff.mjs\"),\n};\n\nexport interface CodeToken {\n content: string;\n className: string;\n}\n\nexport async function highlight(code: string, lang: CodeLang): Promise<CodeToken[][] | null> {\n if (lang === \"text\" || code.length > HIGHLIGHT_MAX_CHARS) return null;\n const h = await getHighlighter();\n if (!h.getLoadedLanguages().includes(lang)) {\n const loader = LOADERS[lang];\n if (!loader) return null;\n await h.loadLanguage((await loader()).default);\n }\n return h\n .codeToTokens(code, { lang, theme: \"kaeso\", tokenizeMaxLineLength: HIGHLIGHT_MAX_LINE })\n .tokens.map((line) => line.map((token) => ({ content: token.content, className: codeTokenClass(token.color, token.fontStyle) })));\n}\n","import { forwardRef, useEffect, useMemo, useState, type ReactNode } from \"react\";\nimport { Tabs as BaseTabs } from \"@base-ui/react/tabs\";\nimport { cn } from \"../../utils/cn.js\";\nimport { CopyButton } from \"../copy-button/copy-button.js\";\nimport { highlight, type CodeLang, type CodeToken } from \"./highlighter.js\";\nimport { useUiText } from \"../../i18n/context.js\";\n\nexport const KAESO_CODE_BLOCK_VARIANTS = {\n surface: {\n well: { classes: \"rounded-well bg-fill-1\" },\n plain: { classes: \"bg-transparent\" },\n },\n} as const;\nexport const KAESO_CODE_BLOCK_DEFAULT_VARIANTS = { surface: \"well\" } as const;\n\nexport interface CodeTab {\n label: string;\n code: string;\n lang?: CodeLang | undefined;\n}\n\nexport interface CodeBlockProps {\n code?: string | undefined;\n lang?: CodeLang | undefined;\n tabs?: CodeTab[] | undefined;\n tab?: string | undefined;\n onTabChange?: ((label: string) => void) | undefined;\n title?: ReactNode | undefined;\n lineNumbers?: boolean | undefined;\n highlightLines?: number[] | undefined;\n collapseAfter?: number | undefined;\n surface?: keyof typeof KAESO_CODE_BLOCK_VARIANTS.surface | undefined;\n copy?: boolean | undefined;\n wrap?: boolean | undefined;\n className?: string | undefined;\n}\n\nexport const CodeBlock = /* @__PURE__ */ forwardRef<HTMLDivElement, CodeBlockProps>(function CodeBlock(\n {\n code = \"\",\n lang = \"ts\",\n tabs,\n tab: chosen,\n onTabChange,\n title,\n lineNumbers,\n highlightLines = [],\n collapseAfter = 24,\n surface = \"well\",\n copy = true,\n wrap = false,\n className,\n },\n ref,\n) {\n const [own, setOwn] = useState(0);\n const match = chosen === undefined ? -1 : (tabs?.findIndex((item) => item.label === chosen) ?? -1);\n const tab = match >= 0 ? match : own;\n const choose = (i: number) => {\n setOwn(i);\n const label = tabs?.[i]?.label;\n if (label !== undefined) onTabChange?.(label);\n };\n const t = useUiText();\n const current = tabs?.[tab] ?? { label: \"\", code, lang };\n const text = current.code.replace(/\\n$/, \"\");\n const lines = useMemo(() => text.split(\"\\n\"), [text]);\n const [highlighted, setHighlighted] = useState<{ text: string; lang: CodeLang; tokens: CodeToken[][] | null } | null>(null);\n const [expanded, setExpanded] = useState(false);\n useEffect(() => {\n let alive = true;\n const lang = current.lang ?? \"ts\";\n highlight(text, lang)\n .then((tokens) => alive && setHighlighted({ text, lang, tokens }))\n .catch(() => undefined);\n return () => {\n alive = false;\n };\n }, [text, current.lang]);\n const tokenLines = highlighted && highlighted.lang === (current.lang ?? \"ts\") && highlighted.text === text ? highlighted.tokens : null;\n const collapsed = collapseAfter > 0 && lines.length > collapseAfter && !expanded;\n const visible = collapsed ? collapseAfter : lines.length;\n const codeClass = cn(\"relative overflow-x-auto py-16 scrollbar-quiet focus-ring-inset\", collapsed && \"overflow-y-hidden\", copy && \"coarse:mr-40\");\n const source = (\n <pre className=\"mono text-small text-fg\">\n <code className={cn(\"grid\", !wrap && \"min-w-max\")}>\n {lines.slice(0, visible).map((line, i) => (\n <span key={i} className={cn(\"flex px-16 leading-code\", wrap && \"whitespace-pre-wrap wrap-anywhere\", highlightLines.includes(i + 1) && \"bg-fill-2\")}>\n {lineNumbers && <span className=\"mr-16 inline-block w-24 shrink-0 text-right text-fg-tertiary select-none tabular\">{i + 1}</span>}\n <span className=\"min-w-0\">\n {tokenLines?.[i]?.length\n ? tokenLines[i].map((token, j) => (\n <span key={j} className={token.className || undefined}>\n {token.content}\n </span>\n ))\n : line || \" \"}\n </span>\n </span>\n ))}\n </code>\n </pre>\n );\n\n return (\n <div ref={ref} className={cn(\"group/code relative min-w-0\", KAESO_CODE_BLOCK_VARIANTS.surface[surface].classes, className)}>\n <BaseTabs.Root value={tab} onValueChange={(v: unknown) => choose(Number(v))}>\n {(title || tabs) && (\n <div className=\"flex h-44 items-center gap-4 px-8 hairline-b\">\n {title && <span className=\"px-8 mono text-small text-fg-secondary\">{title}</span>}\n {tabs && (\n <BaseTabs.List aria-label={t(\"codeBlock.language\", \"Language\")} className=\"flex items-center gap-2\">\n {tabs.map((item, i) => (\n <BaseTabs.Tab\n key={item.label}\n value={i}\n className={cn(\n \"inline-flex h-28 cursor-pointer items-center rounded-pill px-10 text-small font-medium transition-control focus-ring\",\n i === tab ? \"bg-fill-2 text-fg\" : \"text-fg-secondary hover:bg-fill-2 hover:text-fg\",\n )}\n >\n {item.label}\n </BaseTabs.Tab>\n ))}\n </BaseTabs.List>\n )}\n </div>\n )}\n {tabs ? (\n <BaseTabs.Panel value={tab} className={codeClass}>\n {source}\n </BaseTabs.Panel>\n ) : (\n <div\n tabIndex={0}\n role=\"region\"\n aria-label={typeof title === \"string\" ? t(\"codeBlock.titledCode\", \"{title} code\", { title }) : t(\"codeBlock.code\", \"Code\")}\n className={codeClass}\n >\n {source}\n </div>\n )}\n </BaseTabs.Root>\n {collapseAfter > 0 && lines.length > collapseAfter && (\n <div className=\"flex justify-center pb-12\">\n <button\n type=\"button\"\n onClick={() => setExpanded((e) => !e)}\n className=\"inline-flex h-28 cursor-pointer items-center rounded-pill px-12 text-small font-medium text-fg-secondary transition-control hover:bg-fill-2 hover:text-fg focus-ring\"\n >\n {expanded ? t(\"codeBlock.showLess\", \"Show less\") : t(\"codeBlock.showAllLines\", \"Show all {count} lines\", { count: String(lines.length) })}\n </button>\n </div>\n )}\n {copy && (\n <div\n className={cn(\n \"absolute right-8 opacity-0 transition-control group-hover/code:opacity-100 coarse:opacity-100 focus-within:opacity-100\",\n title || tabs ? \"top-52\" : \"top-8\",\n )}\n >\n <CopyButton value={text} label={t(\"codeBlock.copy\", \"Copy code\")} />\n </div>\n )}\n </div>\n );\n});\nif (process.env.NODE_ENV !== \"production\") CodeBlock.displayName = \"CodeBlock\";\n\nexport const CodeHighlighted = CodeBlock;\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"collapsible-CDQq1Y9x.js","names":["Collapsible","BaseCollapsible","__icon_ArrowRight01Icon","Accordion","BaseAccordion","__icon_ArrowDown01Icon","cn","KAESO_COLLAPSIBLE_VARIANTS","KAESO_COLLAPSIBLE_DEFAULT_VARIANTS","TRIGGER","Collapsible$1","Collapsible","open","defaultOpen","onOpenChange","o","className","Icon","ArrowRight01Icon","title","hint","Accordion$1","Accordion","multiple","defaultValue","items","it","ArrowDown01Icon"],"sources":["../../src/components/collapsible/collapsible.tsx"],"sourcesContent":["import { forwardRef, type ReactNode } from \"react\";\nimport { Collapsible as BaseCollapsible } from \"@base-ui/react/collapsible\";\nimport { Accordion as BaseAccordion } from \"@base-ui/react/accordion\";\nimport { cn } from \"../../utils/cn.js\";\nimport { ArrowRight01Icon as __icon_ArrowRight01Icon, ArrowDown01Icon as __icon_ArrowDown01Icon } from \"@hugeicons/core-free-icons\";\nimport { Icon } from \"../icon/icon.js\";\n\nexport const KAESO_COLLAPSIBLE_VARIANTS = {\n state: {\n closed: { classes: \"\" },\n open: { classes: \"group-data-panel-open/dt:rotate-90\" },\n },\n} as const;\nexport const KAESO_COLLAPSIBLE_DEFAULT_VARIANTS = { state: \"closed\" } as const;\n\nconst TRIGGER =\n \"group/dt flex min-h-40 w-full cursor-pointer items-center gap-8 rounded-item px-12 text-left text-body font-medium text-fg transition-control hover:bg-fill-1 focus-ring-inset\";\n\nexport interface CollapsibleProps {\n title: ReactNode;\n children: ReactNode;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n hint?: ReactNode | undefined;\n className?: string | undefined;\n}\n\nexport const Collapsible = /* @__PURE__ */ forwardRef<HTMLDivElement, CollapsibleProps>(function Collapsible(\n { title, children, open, defaultOpen, onOpenChange, hint, className },\n ref,\n) {\n return (\n <BaseCollapsible.Root\n ref={ref}\n {...(open !== undefined ? { open } : {})}\n {...(defaultOpen !== undefined ? { defaultOpen } : {})}\n {...(onOpenChange ? { onOpenChange: (o: boolean) => onOpenChange(o) } : {})}\n className={cn(\"flex flex-col\", className)}\n >\n <BaseCollapsible.Trigger className={TRIGGER}>\n <Icon\n icon={__icon_ArrowRight01Icon}\n size=\"sm\"\n className={cn(\"text-fg-tertiary transition-transform duration-180 ease-overlay\", KAESO_COLLAPSIBLE_VARIANTS.state.open.classes)}\n />\n <span className=\"min-w-0 flex-1\">{title}</span>\n {hint && <span className=\"text-small font-regular text-fg-secondary\">{hint}</span>}\n </BaseCollapsible.Trigger>\n <BaseCollapsible.Panel className=\"collapse-motion\">\n <div className=\"pt-4 pr-12 pb-12 pl-36\">{children}</div>\n </BaseCollapsible.Panel>\n </BaseCollapsible.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Collapsible.displayName = \"Collapsible\";\n\nexport interface AccordionItem {\n value: string;\n title: ReactNode;\n content: ReactNode;\n hint?: ReactNode | undefined;\n}\n\nexport interface AccordionProps {\n items: AccordionItem[];\n multiple?: boolean | undefined;\n defaultValue?: string[] | undefined;\n className?: string | undefined;\n}\n\nexport const Accordion = /* @__PURE__ */ forwardRef<HTMLDivElement, AccordionProps>(function Accordion({ items, multiple = false, defaultValue, className }, ref) {\n return (\n <BaseAccordion.Root\n ref={ref}\n {...(multiple ? { multiple: true } : {})}\n {...(defaultValue ? { defaultValue } : {})}\n className={cn(\"flex flex-col\", className)}\n >\n {items.map((it) => (\n <BaseAccordion.Item key={it.value} value={it.value} className=\"hairline-b\">\n <BaseAccordion.Header>\n <BaseAccordion.Trigger className={cn(TRIGGER, \"min-h-48\")}>\n <span className=\"min-w-0 flex-1\">{it.title}</span>\n {it.hint && <span className=\"text-small font-regular text-fg-secondary\">{it.hint}</span>}\n <Icon\n icon={__icon_ArrowDown01Icon}\n size=\"sm\"\n className=\"text-fg-tertiary transition-transform duration-180 ease-overlay group-data-panel-open/dt:rotate-180\"\n />\n </BaseAccordion.Trigger>\n </BaseAccordion.Header>\n <BaseAccordion.Panel className=\"collapse-motion\">\n <div className=\"px-12 pb-16 text-body text-fg-secondary\">{it.content}</div>\n </BaseAccordion.Panel>\n </BaseAccordion.Item>\n ))}\n </BaseAccordion.Root>\n );\n});\nif (process.env.NODE_ENV !== \"production\") Accordion.displayName = \"Accordion\";\n"],"mappings":";;;;;;;;;AAOA,IAAaO,IAA6B,EACxC,OAAO;CACL,QAAQ,EAAE,SAAS,GAAG;CACtB,MAAM,EAAE,SAAS,qCAAqC;AACxD,EACF,GACaC,IAAqC,EAAE,OAAO,SAAS,GAE9DC,IACJ,kLAYWT,IAA8B,kBAA6C,SACtF,EAAE,UAAO,aAAU,SAAM,gBAAa,iBAAc,SAAM,gBAC1D,GACA;CACA,OACE,kBAACC,EAAgB,MAAjB;EACO;EACL,GAAKW,MAAS,KAAA,IAAuB,CAAC,IAAZ,EAAE,QAAK;EACjC,GAAKC,MAAgB,KAAA,IAA8B,CAAC,IAAnB,EAAE,eAAY;EAC/C,GAAKC,IAAe,EAAE,eAAe,MAAeA,EAAaC,CAAC,EAAE,IAAI,CAAC;EACzE,WAAWT,EAAG,iBAAiBU,CAAS;EAL1C,UAAA,CAOE,kBAACf,EAAgB,SAAjB;GAAyB,WAAWQ;GAApC,UAAA;IACE,kBAACQ,GAAD;KACE,MAAMf;KACN,MAAK;KACL,WAAWI,EAAG,mEAAmEC,EAA2B,MAAM,KAAK,OAAO;IAC/H,CAAA;IACD,kBAAC,QAAD;KAAM,WAAU;KAAkB,UAAAY;IAAY,CAAA;IAC7CC,KAAQ,kBAAC,QAAD;KAAM,WAAU;KAA6C,UAAAA;IAAW,CAAA;GAC1D;EACzB,CAAA,GAAA,kBAACnB,EAAgB,OAAjB;GAAuB,WAAU;GAC/B,UAAA,kBAAC,OAAD;IAAK,WAAU;IAA0B;GAAc,CAAA;EAClC,CAAA,CACH;;AAE1B,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAY,cAAc;AAgBrE,IAAaE,IAA4B,kBAA2C,SAAmB,EAAE,UAAO,cAAW,IAAO,iBAAc,gBAAa,GAAK;CAChK,OACE,kBAACC,EAAc,MAAf;EACO;EACL,GAAKmB,IAAW,EAAE,UAAU,GAAK,IAAI,CAAC;EACtC,GAAKC,IAAe,EAAE,gBAAa,IAAI,CAAC;EACxC,WAAWlB,EAAG,iBAAiBU,CAAS;EAEvC,UAAAS,EAAM,KAAK,MACV,kBAACrB,EAAc,MAAf;GAAmC,OAAOsB,EAAG;GAAO,WAAU;GAA9D,UAAA,CACE,kBAACtB,EAAc,QAAf,EAAA,UACE,kBAACA,EAAc,SAAf;IAAuB,WAAWE,EAAGG,GAAS,UAAU;IAAxD,UAAA;KACE,kBAAC,QAAD;MAAM,WAAU;MAAkB,UAAAiB,EAAG;KAAY,CAAA;KAChDA,EAAG,QAAQ,kBAAC,QAAD;MAAM,WAAU;MAA6C,UAAAA,EAAG;KAAW,CAAA;KACvF,kBAACT,GAAD;MACE,MAAMZ;MACN,MAAK;MACL,WAAU;KACX,CAAA;IACoB;GACH,CAAA,EAAA,CAAA,GACtB,kBAACD,EAAc,OAAf;IAAqB,WAAU;IAC7B,UAAA,kBAAC,OAAD;KAAK,WAAU;KAA2C,UAAAsB,EAAG;IAAa,CAAA;GACvD,CAAA,CACH;EAfK,GAAAA,EAAG,KAeR,CACrB;CACiB,CAAA;AAExB,CAAC;AACD,QAAA,IAAA,aAA6B,iBAAc,EAAU,cAAc"}
|