@tempots/beatui 0.82.0 → 0.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
- package/dist/ar-CBrjAlIY.cjs +1 -0
- package/dist/ar-DjMvIww5.js +175 -0
- package/dist/{ar-NCCPhOpI.js → ar-DwDxAANU.js} +16 -1
- package/dist/ar-kZBzg02I.cjs +1 -0
- package/dist/auth/index.cjs.js +1 -1
- package/dist/auth/index.es.js +64 -1351
- package/dist/auth-divider-C3_CgC0l.js +1375 -0
- package/dist/auth-divider-C4WTL71M.cjs +1 -0
- package/dist/beatui.css +11183 -5596
- package/dist/beatui.tailwind.css +11210 -5623
- package/dist/better-auth/index.cjs.js +1 -0
- package/dist/better-auth/index.es.js +741 -0
- package/dist/{colors-B2yrgHSW.cjs → colors-BI0YhONJ.cjs} +1 -1
- package/dist/{colors-DPo9GEJR.js → colors-BmLYKmoH.js} +38 -30
- package/dist/de-B03SM9eF.cjs +1 -0
- package/dist/{de-BVK2MkCk.js → de-CSGSC0xX.js} +18 -3
- package/dist/de-CrBw41po.cjs +1 -0
- package/dist/{de-f2xcEb34.js → de-wChFYqM4.js} +79 -5
- package/dist/deep-merge-CmQoIYPC.js +1689 -0
- package/dist/deep-merge-UghuPcyW.cjs +1 -0
- package/dist/duration-input-BJzKgI15.cjs +1 -0
- package/dist/{duration-input-B3vnnwBZ.js → duration-input-DaB6s0rL.js} +24 -23
- package/dist/editor-toolbar-group-BslfdazC.js +32 -0
- package/dist/editor-toolbar-group-_V1rDM-1.cjs +1 -0
- package/dist/{es-BxBeTRCv.cjs → es-BRa0hV-7.cjs} +1 -1
- package/dist/es-Ca5xT3NE.cjs +1 -0
- package/dist/es-CmPF3IGl.js +175 -0
- package/dist/{es-BQS8PL9j.js → es-dR46FTMF.js} +16 -1
- package/dist/{fa-DxPseW3g.cjs → fa-BxCSKn9j.cjs} +1 -1
- package/dist/fa-D696e75R.js +175 -0
- package/dist/fa-DhZJYuC6.cjs +1 -0
- package/dist/{fa-T-tkJSJr.js → fa-FsHBFjdY.js} +16 -1
- package/dist/fr-1nSKSIlw.cjs +1 -0
- package/dist/{fr-yOW_68YY.js → fr-B0jeX1Hx.js} +83 -9
- package/dist/{fr-CSRRhyCG.js → fr-Di6BT9_V.js} +18 -3
- package/dist/fr-Dq6RAY9s.cjs +1 -0
- package/dist/he-BBX1h9uD.cjs +1 -0
- package/dist/{he-Bxdc4M08.js → he-CXujw1Lw.js} +16 -1
- package/dist/he-DhcurPt5.cjs +1 -0
- package/dist/he-SgAsIYJA.js +175 -0
- package/dist/{hi-CJeFvTBe.js → hi-Bvh4d9bO.js} +16 -1
- package/dist/hi-Cd0YQZTU.cjs +1 -0
- package/dist/hi-CxsIxbfM.cjs +1 -0
- package/dist/hi-s9oiIihq.js +175 -0
- package/dist/{hls.light.min-Bhrf47iR.cjs → hls.light.min-C6xKDzRR.cjs} +1 -1
- package/dist/{hls.light.min-C6VwviEa.js → hls.light.min-hEMf_E8u.js} +1 -1
- package/dist/{index-ChsRjiIp.cjs → index-Bm43lZqE.cjs} +19 -19
- package/dist/{index-C5YCCgnn.cjs → index-C2_iX1um.cjs} +1 -1
- package/dist/{index-DT6-HMMz.js → index-C32iUFIr.js} +1432 -1462
- package/dist/{index-CiAVfKIZ.js → index-CEqc0H3v.js} +1 -1
- package/dist/index-DH37GTQj.cjs +1 -0
- package/dist/{index-DklKfzD4.js → index-Di1_W_7Q.js} +351 -361
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +6310 -3528
- package/dist/input-container-CSi72GI1.cjs +1 -0
- package/dist/input-container-Nx0gMAzS.js +258 -0
- package/dist/it-ByIEk5Cq.cjs +1 -0
- package/dist/it-D_IcaYxp.cjs +1 -0
- package/dist/{it-6e6X-4BB.js → it-Dc4IMciD.js} +80 -6
- package/dist/{it-Zmp0BhIj.js → it-EWhykhHv.js} +18 -3
- package/dist/ja-CMGqpPo7.cjs +1 -0
- package/dist/{ja-BxNuNo2H.js → ja-D2t2g5xj.js} +85 -11
- package/dist/ja-DV6Fpp18.cjs +1 -0
- package/dist/{ja-DWjoA-hQ.js → ja-YZ0P5woj.js} +16 -1
- package/dist/json-schema/index.cjs.js +1 -1
- package/dist/json-schema/index.es.js +212 -205
- package/dist/json-schema-display/index.cjs.js +1 -1
- package/dist/json-schema-display/index.es.js +1 -1
- package/dist/json-structure/index.cjs.js +1 -1
- package/dist/json-structure/index.es.js +623 -762
- package/dist/ko-BPl5rP97.cjs +1 -0
- package/dist/ko-BRylA5JZ.js +175 -0
- package/dist/ko-DR1f0as8.cjs +1 -0
- package/dist/{ko-BOlI-33h.js → ko-U7BSUAxZ.js} +16 -1
- package/dist/lexical/index.cjs.js +46 -0
- package/dist/lexical/index.es.js +21397 -0
- package/dist/lexical.css +1122 -0
- package/dist/menu-CX72LaZ3.cjs +1 -0
- package/dist/menu-D_slbwl8.js +374 -0
- package/dist/modal-DaI1jH-X.js +488 -0
- package/dist/modal-kyZfvVZb.cjs +1 -0
- package/dist/nl-BSfaHFt0.cjs +1 -0
- package/dist/{nl-Dr-l6zUy.cjs → nl-CQF0N7Mc.cjs} +1 -1
- package/dist/{nl-kQNcAdY1.js → nl-CqAxoB4J.js} +18 -3
- package/dist/nl-Dh7LUWAn.js +176 -0
- package/dist/notice-Bc1L4Zpr.cjs +1 -0
- package/dist/{notice-CZHWWwOQ.js → notice-Dz4nX57_.js} +49 -48
- package/dist/{oneof-branch-detection-BVNoKU9d.js → oneof-branch-detection-BED_n2MT.js} +523 -520
- package/dist/{oneof-branch-detection-C8g3eWnx.cjs → oneof-branch-detection-Vov_e3kI.cjs} +4 -4
- package/dist/{pl-CKyPFvss.js → pl-C-weXGCB.js} +16 -1
- package/dist/pl-D-O4sCnr.cjs +1 -0
- package/dist/{pl-Bs4nLJ__.js → pl-XEG-p1Q9.js} +77 -3
- package/dist/{pl-BK0i_yvq.cjs → pl-y_w3DWF3.cjs} +1 -1
- package/dist/prosemirror/index.cjs.js +1 -1
- package/dist/prosemirror/index.es.js +1 -1
- package/dist/{pt-DBmUhaNI.js → pt-BjNGOoZH.js} +18 -3
- package/dist/pt-DYsDA2sZ.js +175 -0
- package/dist/pt-DqaZWmbG.cjs +1 -0
- package/dist/pt-chEEYLlt.cjs +1 -0
- package/dist/ru-B46hVpFF.cjs +1 -0
- package/dist/{ru-Bi1_DEKM.js → ru-BTKBykp-.js} +86 -12
- package/dist/{ru-CsJ_yT-7.js → ru-CFmeZBXK.js} +16 -1
- package/dist/ru-CISMzCHR.cjs +1 -0
- package/dist/session-id-3KiilioY.js +8 -0
- package/dist/session-id-B5lJMzbB.cjs +1 -0
- package/dist/styles-url-CVCcF0ra.cjs +1 -0
- package/dist/styles-url-DUdp56Ts.js +4 -0
- package/dist/tailwind/index.cjs.js +1 -1
- package/dist/tailwind/index.es.js +3 -3
- package/dist/tailwind/preset.cjs.js +1 -1
- package/dist/tailwind/preset.es.js +74 -4
- package/dist/tailwind/vite-plugin.cjs.js +10 -10
- package/dist/tailwind/vite-plugin.es.js +289 -410
- package/dist/text-input-8v79fzEy.cjs +1 -0
- package/dist/text-input-CPJzUC2r.js +45 -0
- package/dist/{toolbar-DR2Zd4Oo.js → toolbar-CjQG7l7X.js} +4 -4
- package/dist/toolbar-D3ZsC0g_.cjs +1 -0
- package/dist/{tr-Bn5ldVJs.js → tr-C5X2gFZS.js} +17 -2
- package/dist/tr-CaMaflJL.cjs +1 -0
- package/dist/{tr-DiYB-FwX.js → tr-Cp8ZCUic.js} +77 -3
- package/dist/{tr-CgJ8uhZu.cjs → tr-mWu2E__o.cjs} +1 -1
- package/dist/{translations-Cq8bUKJP.js → translations-BGblCUBj.js} +144 -70
- package/dist/translations-CZ0KOii3.cjs +1 -0
- package/dist/translations-gVgMyNno.cjs +1 -0
- package/dist/translations-jUYta1_1.js +87 -0
- package/dist/types/auth/index.d.ts +13 -0
- package/dist/types/auth-i18n/default.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ar.d.ts +14 -0
- package/dist/types/auth-i18n/locales/de.d.ts +14 -0
- package/dist/types/auth-i18n/locales/en.d.ts +14 -0
- package/dist/types/auth-i18n/locales/es.d.ts +14 -0
- package/dist/types/auth-i18n/locales/fa.d.ts +14 -0
- package/dist/types/auth-i18n/locales/fr.d.ts +14 -0
- package/dist/types/auth-i18n/locales/he.d.ts +14 -0
- package/dist/types/auth-i18n/locales/hi.d.ts +14 -0
- package/dist/types/auth-i18n/locales/it.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ja.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ko.d.ts +14 -0
- package/dist/types/auth-i18n/locales/nl.d.ts +14 -0
- package/dist/types/auth-i18n/locales/pl.d.ts +14 -0
- package/dist/types/auth-i18n/locales/pt.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ru.d.ts +14 -0
- package/dist/types/auth-i18n/locales/tr.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ur.d.ts +14 -0
- package/dist/types/auth-i18n/locales/vi.d.ts +14 -0
- package/dist/types/auth-i18n/locales/zh.d.ts +14 -0
- package/dist/types/auth-i18n/translations.d.ts +14 -0
- package/dist/types/beatui-i18n/default.d.ts +99 -0
- package/dist/types/beatui-i18n/index.d.ts +11 -0
- package/dist/types/beatui-i18n/locales/en.d.ts +63 -0
- package/dist/types/beatui-i18n/translations.d.ts +87 -0
- package/dist/types/better-auth/bridge.d.ts +2 -0
- package/dist/types/better-auth/callbacks.d.ts +6 -0
- package/dist/types/better-auth/components/authenticated.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-container.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-modal.d.ts +4 -0
- package/dist/types/better-auth/components/magic-link-form.d.ts +7 -0
- package/dist/types/better-auth/components/passkey-management.d.ts +6 -0
- package/dist/types/better-auth/components/passkey-signin.d.ts +12 -0
- package/dist/types/better-auth/components/two-factor-setup.d.ts +8 -0
- package/dist/types/better-auth/components/two-factor-verify.d.ts +10 -0
- package/dist/types/better-auth/i18n/default.d.ts +29 -0
- package/dist/types/better-auth/i18n/locales/en.d.ts +28 -0
- package/dist/types/better-auth/i18n/translations.d.ts +27 -0
- package/dist/types/better-auth/index.d.ts +35 -0
- package/dist/types/better-auth/provider.d.ts +39 -0
- package/dist/types/better-auth/session.d.ts +14 -0
- package/dist/types/better-auth/social-mapping.d.ts +2 -0
- package/dist/types/better-auth/types.d.ts +276 -0
- package/dist/types/components/auth/auth-container.d.ts +63 -2
- package/dist/types/components/auth/auth-divider.d.ts +30 -0
- package/dist/types/components/auth/auth-email-prop.d.ts +25 -0
- package/dist/types/components/auth/index.d.ts +9 -0
- package/dist/types/components/auth/password-strength-indicator.d.ts +58 -0
- package/dist/types/components/auth/reset-password-form.d.ts +33 -0
- package/dist/types/components/auth/schemas.d.ts +183 -5
- package/dist/types/components/auth/signin-form.d.ts +33 -0
- package/dist/types/components/auth/signup-form.d.ts +36 -0
- package/dist/types/components/auth/social-login-button.d.ts +213 -0
- package/dist/types/components/auth/social-providers.d.ts +27 -1
- package/dist/types/components/auth/types.d.ts +301 -0
- package/dist/types/components/auth/utils.d.ts +198 -0
- package/dist/types/components/beatui.d.ts +35 -0
- package/dist/types/components/button/button.d.ts +61 -0
- package/dist/types/components/button/close-button.d.ts +32 -1
- package/dist/types/components/button/index.d.ts +2 -0
- package/dist/types/components/button/toggle-button-group.d.ts +95 -0
- package/dist/types/components/button/toggle-button.d.ts +60 -0
- package/dist/types/components/data/avatar-group.d.ts +74 -0
- package/dist/types/components/data/avatar.d.ts +62 -0
- package/dist/types/components/data/badge.d.ts +49 -2
- package/dist/types/components/data/calendar-shared.d.ts +59 -0
- package/dist/types/components/data/calendar.d.ts +107 -0
- package/dist/types/components/data/history-timeline.d.ts +35 -0
- package/dist/types/components/data/icon-badge.d.ts +14 -0
- package/dist/types/components/data/icon.d.ts +55 -4
- package/dist/types/components/data/index.d.ts +9 -0
- package/dist/types/components/data/page-drop-zone.d.ts +61 -8
- package/dist/types/components/data/presence-overlay.d.ts +26 -0
- package/dist/types/components/data/progress-bar.d.ts +81 -0
- package/dist/types/components/data/range-calendar.d.ts +104 -0
- package/dist/types/components/data/skeleton.d.ts +70 -0
- package/dist/types/components/data/table.d.ts +38 -11
- package/dist/types/components/data/tag.d.ts +40 -0
- package/dist/types/components/data/unstyled-drop-zone.d.ts +73 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-button.d.ts +16 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-group.d.ts +9 -0
- package/dist/types/components/editor-toolbar/index.d.ts +2 -0
- package/dist/types/components/form/control/control.d.ts +155 -0
- package/dist/types/components/form/control/date-utils.d.ts +81 -0
- package/dist/types/components/form/control/ensure-control.d.ts +28 -0
- package/dist/types/components/form/control/form-status.d.ts +63 -0
- package/dist/types/components/form/control/index.d.ts +10 -0
- package/dist/types/components/form/control/list-control.d.ts +100 -1
- package/dist/types/components/form/control/list-item-controls.d.ts +65 -0
- package/dist/types/components/form/controller/color-controller.d.ts +29 -1
- package/dist/types/components/form/controller/controller-validation.d.ts +31 -0
- package/dist/types/components/form/controller/controller.d.ts +286 -0
- package/dist/types/components/form/controller/index.d.ts +12 -0
- package/dist/types/components/form/controller/path.d.ts +69 -0
- package/dist/types/components/form/controller/union-controller.d.ts +106 -11
- package/dist/types/components/form/controller/utils.d.ts +67 -0
- package/dist/types/components/form/input/advanced-slider.d.ts +143 -0
- package/dist/types/components/form/input/appearance-selector.d.ts +39 -0
- package/dist/types/components/form/input/base64-input.d.ts +34 -0
- package/dist/types/components/form/input/base64s-input.d.ts +47 -0
- package/dist/types/components/form/input/bigint-input.d.ts +27 -0
- package/dist/types/components/form/input/checkbox-input.d.ts +46 -0
- package/dist/types/components/form/input/color-input.d.ts +42 -0
- package/dist/types/components/form/input/color-swatch-input.d.ts +53 -0
- package/dist/types/components/form/input/combobox-input.d.ts +73 -0
- package/dist/types/components/form/input/combobox-tags-input.d.ts +54 -0
- package/dist/types/components/form/input/date-input.d.ts +33 -0
- package/dist/types/components/form/input/date-time-input.d.ts +34 -0
- package/dist/types/components/form/input/dropdown-base.d.ts +52 -0
- package/dist/types/components/form/input/dropdown-input.d.ts +86 -0
- package/dist/types/components/form/input/duration-input.d.ts +18 -0
- package/dist/types/components/form/input/duration-mask.d.ts +24 -0
- package/dist/types/components/form/input/editable-text.d.ts +33 -0
- package/dist/types/components/form/input/email-input.d.ts +34 -0
- package/dist/types/components/form/input/file-input.d.ts +33 -0
- package/dist/types/components/form/input/files-input.d.ts +44 -0
- package/dist/types/components/form/input/index.d.ts +5 -0
- package/dist/types/components/form/input/input-adornment.d.ts +38 -0
- package/dist/types/components/form/input/input-container.d.ts +65 -0
- package/dist/types/components/form/input/input-options.d.ts +70 -0
- package/dist/types/components/form/input/input-wrapper.d.ts +78 -0
- package/dist/types/components/form/input/instant-input.d.ts +18 -0
- package/dist/types/components/form/input/lazy-native-select.d.ts +43 -0
- package/dist/types/components/form/input/list-input.d.ts +50 -0
- package/dist/types/components/form/input/mask-input.d.ts +158 -0
- package/dist/types/components/form/input/native-select.d.ts +50 -0
- package/dist/types/components/form/input/nullable-base64-input.d.ts +25 -0
- package/dist/types/components/form/input/nullable-bigint-input.d.ts +26 -0
- package/dist/types/components/form/input/nullable-date-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-date-time-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-duration-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-email-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-instant-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-mask-input.d.ts +24 -0
- package/dist/types/components/form/input/nullable-number-input.d.ts +29 -0
- package/dist/types/components/form/input/nullable-password-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-date-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-time-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-rating-input.d.ts +33 -0
- package/dist/types/components/form/input/nullable-text-area.d.ts +27 -0
- package/dist/types/components/form/input/nullable-text-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-url-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-utils.d.ts +22 -2
- package/dist/types/components/form/input/nullable-uuid-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +20 -0
- package/dist/types/components/form/input/number-input.d.ts +49 -0
- package/dist/types/components/form/input/option.d.ts +165 -0
- package/dist/types/components/form/input/otp-input.d.ts +77 -0
- package/dist/types/components/form/input/password-input.d.ts +39 -0
- package/dist/types/components/form/input/plain-date-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-date-time-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-month-day-input.d.ts +18 -0
- package/dist/types/components/form/input/plain-time-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-year-month-input.d.ts +17 -0
- package/dist/types/components/form/input/radio-group.d.ts +108 -0
- package/dist/types/components/form/input/rating-input.d.ts +57 -0
- package/dist/types/components/form/input/segmented-input.d.ts +70 -1
- package/dist/types/components/form/input/select-tags-input.d.ts +69 -0
- package/dist/types/components/form/input/slider-input.d.ts +82 -0
- package/dist/types/components/form/input/switch.d.ts +59 -1
- package/dist/types/components/form/input/tag-input.d.ts +19 -0
- package/dist/types/components/form/input/tag-utils.d.ts +111 -0
- package/dist/types/components/form/input/tags-input.d.ts +18 -0
- package/dist/types/components/form/input/text-area.d.ts +42 -0
- package/dist/types/components/form/input/text-input.d.ts +63 -1
- package/dist/types/components/form/input/url-input.d.ts +34 -0
- package/dist/types/components/form/input/uuid-input.d.ts +19 -0
- package/dist/types/components/form/input/zoned-date-time-input.d.ts +20 -0
- package/dist/types/components/form/schema/standard-schema-v1.d.ts +98 -23
- package/dist/types/components/form/use-form.d.ts +146 -2
- package/dist/types/components/i18n/index.d.ts +9 -0
- package/dist/types/components/i18n/locale-direction.d.ts +21 -1
- package/dist/types/components/i18n/locale-selector.d.ts +45 -0
- package/dist/types/components/i18n/make-i18nprovider.d.ts +42 -0
- package/dist/types/components/json-schema/schema-types.d.ts +133 -0
- package/dist/types/components/json-structure/controls/control-utils.d.ts +19 -0
- package/dist/types/components/json-structure/controls/deprecation-utils.d.ts +2 -3
- package/dist/types/components/json-structure/controls/index.d.ts +1 -0
- package/dist/types/components/json-structure/structure-types.d.ts +473 -19
- package/dist/types/components/layout/accordion.d.ts +77 -0
- package/dist/types/components/layout/action-card.d.ts +90 -2
- package/dist/types/components/layout/app-shell.d.ts +76 -0
- package/dist/types/components/layout/card.d.ts +27 -0
- package/dist/types/components/layout/center.d.ts +39 -0
- package/dist/types/components/layout/collapse.d.ts +28 -0
- package/dist/types/components/layout/divider.d.ts +84 -0
- package/dist/types/components/layout/group.d.ts +15 -0
- package/dist/types/components/layout/index.d.ts +2 -0
- package/dist/types/components/layout/nine-slice-scroll-view.d.ts +105 -0
- package/dist/types/components/layout/scrollable-panel.d.ts +54 -0
- package/dist/types/components/layout/sink.d.ts +46 -0
- package/dist/types/components/layout/stack.d.ts +16 -0
- package/dist/types/components/layout/with-breakpoint.d.ts +194 -0
- package/dist/types/components/lexical/bare-editor.d.ts +29 -0
- package/dist/types/components/lexical/code/index.d.ts +1 -0
- package/dist/types/components/lexical/code/language-selector.d.ts +13 -0
- package/dist/types/components/lexical/contextual-editor.d.ts +22 -0
- package/dist/types/components/lexical/docked-editor.d.ts +23 -0
- package/dist/types/components/lexical/floating/block-handle.d.ts +16 -0
- package/dist/types/components/lexical/floating/floating-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/floating/index.d.ts +6 -0
- package/dist/types/components/lexical/floating/slash-command-palette.d.ts +20 -0
- package/dist/types/components/lexical/index.d.ts +8 -0
- package/dist/types/components/lexical/lexical-editor-input.d.ts +30 -0
- package/dist/types/components/lexical/table/index.d.ts +1 -0
- package/dist/types/components/lexical/table/table-controls.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/index.d.ts +6 -0
- package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/toolbar-button.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-group.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +32 -0
- package/dist/types/components/misc/empty-state.d.ts +86 -0
- package/dist/types/components/misc/expando.d.ts +81 -0
- package/dist/types/components/misc/index.d.ts +2 -1
- package/dist/types/components/misc/link-portal.d.ts +40 -2
- package/dist/types/components/misc/notice.d.ts +93 -0
- package/dist/types/components/misc/notification-panel.d.ts +21 -0
- package/dist/types/components/misc/notification-provider.d.ts +141 -0
- package/dist/types/components/misc/notification.d.ts +93 -0
- package/dist/types/components/misc/style-portal.d.ts +31 -1
- package/dist/types/components/monaco/monaco-editor-input.d.ts +59 -2
- package/dist/types/components/navigation/breadcrumbs.d.ts +96 -0
- package/dist/types/components/navigation/flyout.d.ts +118 -16
- package/dist/types/components/navigation/index.d.ts +3 -0
- package/dist/types/components/navigation/link/link.d.ts +100 -0
- package/dist/types/components/navigation/menu.d.ts +155 -35
- package/dist/types/components/navigation/pagination.d.ts +82 -0
- package/dist/types/components/navigation/sidebar/sidebar-group.d.ts +42 -0
- package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +101 -0
- package/dist/types/components/navigation/sidebar/sidebar-separator.d.ts +17 -0
- package/dist/types/components/navigation/sidebar/sidebar.d.ts +57 -0
- package/dist/types/components/navigation/tabs/tabs.d.ts +3 -2
- package/dist/types/components/navigation/toolbar/toolbar.d.ts +125 -0
- package/dist/types/components/navigation/tree-view.d.ts +95 -0
- package/dist/types/components/overlay/announcement-bar.d.ts +41 -2
- package/dist/types/components/overlay/block-command-palette.d.ts +25 -0
- package/dist/types/components/overlay/command-palette.d.ts +17 -0
- package/dist/types/components/overlay/dialogs.d.ts +213 -0
- package/dist/types/components/overlay/drawer.d.ts +76 -12
- package/dist/types/components/overlay/index.d.ts +4 -0
- package/dist/types/components/overlay/lightbox.d.ts +53 -10
- package/dist/types/components/overlay/modal.d.ts +113 -13
- package/dist/types/components/overlay/overlay.d.ts +61 -0
- package/dist/types/components/overlay/popover.d.ts +100 -0
- package/dist/types/components/overlay/ribbon.d.ts +58 -9
- package/dist/types/components/prosemirror/etoolbar-button.d.ts +11 -11
- package/dist/types/components/prosemirror/etoolbar-group.d.ts +11 -4
- package/dist/types/components/prosemirror/link-control.d.ts +43 -2
- package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +46 -6
- package/dist/types/components/prosemirror/utils.d.ts +113 -1
- package/dist/types/components/theme/style-utils.d.ts +95 -0
- package/dist/types/components/theme/theme.d.ts +39 -0
- package/dist/types/components/theme/types.d.ts +133 -1
- package/dist/types/components/typography/index.d.ts +1 -0
- package/dist/types/components/typography/kbd.d.ts +48 -0
- package/dist/types/components/typography/label.d.ts +45 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/json-schema/index.d.ts +13 -0
- package/dist/types/json-schema-display/index.d.ts +12 -0
- package/dist/types/json-structure/index.d.ts +9 -4
- package/dist/types/lexical/commands/index.d.ts +17 -0
- package/dist/types/lexical/headless.d.ts +39 -0
- package/dist/types/lexical/horizontal-rule-node.d.ts +20 -0
- package/dist/types/lexical/index.d.ts +20 -0
- package/dist/types/lexical/lazy-loader.d.ts +35 -0
- package/dist/types/lexical/nodes.d.ts +29 -0
- package/dist/types/lexical/plugins/auto-link.d.ts +7 -0
- package/dist/types/lexical/plugins/clipboard.d.ts +11 -0
- package/dist/types/lexical/plugins/code-shiki.d.ts +11 -0
- package/dist/types/lexical/plugins/code.d.ts +7 -0
- package/dist/types/lexical/plugins/dragon.d.ts +6 -0
- package/dist/types/lexical/plugins/file-io.d.ts +10 -0
- package/dist/types/lexical/plugins/hashtag.d.ts +7 -0
- package/dist/types/lexical/plugins/history.d.ts +7 -0
- package/dist/types/lexical/plugins/horizontal-rule.d.ts +12 -0
- package/dist/types/lexical/plugins/html-io.d.ts +9 -0
- package/dist/types/lexical/plugins/index.d.ts +24 -0
- package/dist/types/lexical/plugins/link.d.ts +6 -0
- package/dist/types/lexical/plugins/list.d.ts +6 -0
- package/dist/types/lexical/plugins/mark.d.ts +15 -0
- package/dist/types/lexical/plugins/markdown-io.d.ts +13 -0
- package/dist/types/lexical/plugins/offset.d.ts +6 -0
- package/dist/types/lexical/plugins/overflow.d.ts +7 -0
- package/dist/types/lexical/plugins/plain-text.d.ts +6 -0
- package/dist/types/lexical/plugins/rich-text.d.ts +6 -0
- package/dist/types/lexical/plugins/selection.d.ts +6 -0
- package/dist/types/lexical/plugins/slash-commands.d.ts +26 -0
- package/dist/types/lexical/plugins/table.d.ts +11 -0
- package/dist/types/lexical/plugins/text.d.ts +13 -0
- package/dist/types/lexical/plugins/yjs.d.ts +9 -0
- package/dist/types/lexical/styles-url.d.ts +2 -0
- package/dist/types/lexical/styles.d.ts +2 -0
- package/dist/types/lexical/types.d.ts +634 -0
- package/dist/types/lexical-i18n/default.d.ts +92 -0
- package/dist/types/lexical-i18n/index.d.ts +21 -0
- package/dist/types/lexical-i18n/locales/ar.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/de.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/en.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/es.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fa.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/he.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/hi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/it.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ja.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ko.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/nl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pt.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ru.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/tr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ur.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/vi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/zh.d.ts +91 -0
- package/dist/types/lexical-i18n/translations.d.ts +21 -0
- package/dist/types/markdown/index.d.ts +13 -0
- package/dist/types/monaco/index.d.ts +17 -0
- package/dist/types/monaco/lazy-loader.d.ts +79 -0
- package/dist/types/monaco/styles-url.d.ts +11 -0
- package/dist/types/monaco/styles.d.ts +11 -0
- package/dist/types/monaco/types.d.ts +47 -0
- package/dist/types/prosemirror/index.d.ts +12 -0
- package/dist/types/prosemirror/styles-url.d.ts +11 -0
- package/dist/types/prosemirror/styles.d.ts +10 -0
- package/dist/types/tailwind/google-fonts.d.ts +15 -0
- package/dist/types/tailwind/index.d.ts +13 -0
- package/dist/types/tailwind/preset.d.ts +111 -0
- package/dist/types/tailwind/vite-plugin.d.ts +39 -4
- package/dist/types/tokens/base-colors.d.ts +21 -0
- package/dist/types/tokens/breakpoints.d.ts +67 -0
- package/dist/types/tokens/colors.d.ts +213 -4
- package/dist/types/tokens/motion.d.ts +142 -3
- package/dist/types/tokens/radius.d.ts +99 -0
- package/dist/types/tokens/shadows.d.ts +85 -0
- package/dist/types/tokens/spacing.d.ts +111 -0
- package/dist/types/tokens/text-shadows.d.ts +82 -0
- package/dist/types/tokens/typography.d.ts +313 -25
- package/dist/types/tokens/z-index.d.ts +62 -0
- package/dist/types/utils/color.d.ts +297 -28
- package/dist/types/utils/download.d.ts +92 -0
- package/dist/types/utils/focus-trap.d.ts +67 -11
- package/dist/types/utils/format-file-size.d.ts +44 -0
- package/dist/ur-B6yB2JQ7.cjs +1 -0
- package/dist/ur-CvGP14xo.cjs +1 -0
- package/dist/{ur-Bg9eX81v.js → ur-Deo004ME.js} +16 -1
- package/dist/{ur-B69X-xNs.js → ur-DkIYJxsF.js} +82 -8
- package/dist/use-animated-toggle-89fKlXxy.js +195 -0
- package/dist/use-animated-toggle-DrqK7nUS.cjs +1 -0
- package/dist/{use-form-CgZyrACX.js → use-form-BurzbPVV.js} +271 -88
- package/dist/use-form-Uree6QFy.cjs +2 -0
- package/dist/vi-BYk1rJDv.js +53 -0
- package/dist/vi-DKw6PBja.js +175 -0
- package/dist/vi-Df4WZe9y.cjs +1 -0
- package/dist/vi-DneuUbkq.cjs +1 -0
- package/dist/{widget-customization-DRA7E9Zf.js → widget-customization-0is7oTeP.js} +233 -231
- package/dist/widget-customization-B-LmxkPE.cjs +1 -0
- package/dist/zh-C5a9NGFW.cjs +1 -0
- package/dist/zh-CaKHseXJ.js +175 -0
- package/dist/zh-DFHuW_5g.cjs +1 -0
- package/dist/{zh-BIykcEu9.js → zh-DR7QaM65.js} +16 -1
- package/package.json +48 -3
- package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
- package/dist/_commonjsHelpers-DwGv2jUC.cjs +0 -1
- package/dist/ar-BsUm-TCn.cjs +0 -1
- package/dist/ar-D7CXDmVZ.cjs +0 -1
- package/dist/ar-nOSKXpIW.js +0 -101
- package/dist/de-BUFLEyKr.cjs +0 -1
- package/dist/de-WzsOu9Gn.cjs +0 -1
- package/dist/deep-merge-CiOwVWn8.js +0 -1619
- package/dist/deep-merge-DxZqCkE5.cjs +0 -1
- package/dist/duration-input-Dg5SX3lM.cjs +0 -1
- package/dist/es-CDqqzpCw.js +0 -101
- package/dist/es-Ds2Xf3wV.cjs +0 -1
- package/dist/fa-C7tE_hR3.js +0 -101
- package/dist/fa-Ct1UtDB7.cjs +0 -1
- package/dist/fr-Cdyopuz3.cjs +0 -1
- package/dist/fr-CzAkRFed.cjs +0 -1
- package/dist/he-D2oUloCJ.js +0 -101
- package/dist/he-DarDNPn0.cjs +0 -1
- package/dist/he-DlXALrK7.cjs +0 -1
- package/dist/hi-3dBhLwDs.cjs +0 -1
- package/dist/hi-D5ZlZoQq.js +0 -101
- package/dist/hi-tATwsXJ6.cjs +0 -1
- package/dist/index-DE2tjivA.cjs +0 -1
- package/dist/it-BmFag7j0.cjs +0 -1
- package/dist/it-DohtcWi9.cjs +0 -1
- package/dist/ja-Dj-bAKLf.cjs +0 -1
- package/dist/ja-eyTArrgS.cjs +0 -1
- package/dist/ko-BFLCDMMs.cjs +0 -1
- package/dist/ko-BomUE-yQ.cjs +0 -1
- package/dist/ko-Ch0jFsBV.js +0 -101
- package/dist/modal-D2xE47kr.cjs +0 -1
- package/dist/modal-hkQD1bqZ.js +0 -655
- package/dist/nl-Bx2ACvr4.cjs +0 -1
- package/dist/nl-NuTdZO1s.js +0 -102
- package/dist/notice-C0SmlheE.cjs +0 -1
- package/dist/pl-QHl6sl8f.cjs +0 -1
- package/dist/pt-BETjHZrL.js +0 -101
- package/dist/pt-DZGw2Z-1.cjs +0 -1
- package/dist/pt-oBMmVYcu.cjs +0 -1
- package/dist/ru-CtxMmoa6.cjs +0 -1
- package/dist/ru-D03IuLqh.cjs +0 -1
- package/dist/text-input-CByq5OIo.cjs +0 -1
- package/dist/text-input-CFJntP7G.js +0 -287
- package/dist/toolbar-TPWYzoiF.cjs +0 -1
- package/dist/tr-B_-_1wua.cjs +0 -1
- package/dist/translations-B4-Zd2LM.cjs +0 -1
- package/dist/translations-D62qqNV9.cjs +0 -1
- package/dist/translations-DPr6c05Z.js +0 -67
- package/dist/ur-DvqAg9gW.cjs +0 -1
- package/dist/ur-DyUSmIbo.cjs +0 -1
- package/dist/use-form-JjeKCINk.cjs +0 -2
- package/dist/vi-BdzxA60L.js +0 -101
- package/dist/vi-CBmPaHxg.cjs +0 -1
- package/dist/vi-D5R3YcU0.cjs +0 -1
- package/dist/vi-DhdsHHf_.js +0 -38
- package/dist/widget-customization-G-QLB1rw.cjs +0 -1
- package/dist/zh-CCGXcj5r.cjs +0 -1
- package/dist/zh-Cb1b8uik.cjs +0 -1
- package/dist/zh-Dn1UJiZa.js +0 -101
|
@@ -1,9 +1,55 @@
|
|
|
1
1
|
import { TNode, Value } from '@tempots/dom';
|
|
2
2
|
import { SinkVariant, ControlSize } from '../theme';
|
|
3
3
|
import { RadiusName } from '../../tokens/radius';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration options for the {@link Sink} component.
|
|
6
|
+
*/
|
|
4
7
|
export interface SinkOptions {
|
|
8
|
+
/**
|
|
9
|
+
* The visual depth variant controlling the inset shadow appearance.
|
|
10
|
+
*
|
|
11
|
+
* - `'default'` - Standard inset effect
|
|
12
|
+
* - `'deep'` - Stronger inset shadow for more depth
|
|
13
|
+
* - `'shallow'` - Subtle inset shadow
|
|
14
|
+
* - `'flat'` - No inset shadow
|
|
15
|
+
*
|
|
16
|
+
* @default 'default'
|
|
17
|
+
*/
|
|
5
18
|
variant?: Value<SinkVariant>;
|
|
19
|
+
/**
|
|
20
|
+
* Padding size applied to the sink container.
|
|
21
|
+
* @default 'md'
|
|
22
|
+
*/
|
|
6
23
|
size?: Value<ControlSize>;
|
|
24
|
+
/**
|
|
25
|
+
* Border radius token controlling corner roundedness.
|
|
26
|
+
* @default 'lg'
|
|
27
|
+
*/
|
|
7
28
|
roundedness?: Value<RadiusName>;
|
|
8
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Renders a sunken/inset container with configurable depth, padding, and
|
|
32
|
+
* border radius. A sink provides a recessed visual appearance, useful for
|
|
33
|
+
* grouping content in a visually distinct area (e.g., code blocks, input
|
|
34
|
+
* areas, or nested sections).
|
|
35
|
+
*
|
|
36
|
+
* @param options - Configuration options for the sink.
|
|
37
|
+
* @param children - Content nodes rendered inside the sink container.
|
|
38
|
+
* @returns A `<div>` element with the appropriate sink styling classes.
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* // Default sink with content
|
|
43
|
+
* Sink({}, html.p('This content appears in a recessed area'))
|
|
44
|
+
*
|
|
45
|
+
* // Deep sink with small padding
|
|
46
|
+
* Sink(
|
|
47
|
+
* { variant: 'deep', size: 'sm', roundedness: 'md' },
|
|
48
|
+
* html.pre('const x = 42;')
|
|
49
|
+
* )
|
|
50
|
+
*
|
|
51
|
+
* // Flat sink (no inset effect)
|
|
52
|
+
* Sink({ variant: 'flat' }, html.div('Flat container'))
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
9
55
|
export declare function Sink({ variant, size, roundedness }?: SinkOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -1,2 +1,18 @@
|
|
|
1
1
|
import { TNode } from '@tempots/dom';
|
|
2
|
+
/**
|
|
3
|
+
* Vertical stack layout that arranges children in a column with consistent spacing.
|
|
4
|
+
* Uses the `bc-stack` CSS class for flexbox column layout with gap.
|
|
5
|
+
*
|
|
6
|
+
* @param children - Child nodes to stack vertically
|
|
7
|
+
* @returns A div element with vertical stack layout
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* Stack(
|
|
12
|
+
* html.h1('Page Title'),
|
|
13
|
+
* html.p('Some introductory text'),
|
|
14
|
+
* Button({ variant: 'filled' }, 'Get Started')
|
|
15
|
+
* )
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
2
18
|
export declare function Stack(...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -1,25 +1,150 @@
|
|
|
1
1
|
import { Signal, TNode } from '@tempots/dom';
|
|
2
|
+
/**
|
|
3
|
+
* A record mapping breakpoint names to their minimum width thresholds in pixels.
|
|
4
|
+
* Keys are string breakpoint names and values are numeric pixel widths.
|
|
5
|
+
*/
|
|
2
6
|
export type Breakpoints = {
|
|
3
7
|
[_ in string]: number;
|
|
4
8
|
};
|
|
9
|
+
/**
|
|
10
|
+
* Information object provided to the callback in {@link WithBreakpoint},
|
|
11
|
+
* containing the current breakpoint state and comparison utilities.
|
|
12
|
+
*
|
|
13
|
+
* @typeParam T - The breakpoints record type.
|
|
14
|
+
* @typeParam K - The union of breakpoint name keys.
|
|
15
|
+
*/
|
|
5
16
|
export interface BreakpointInfo<T extends Breakpoints, K extends keyof T = keyof T & string> {
|
|
17
|
+
/**
|
|
18
|
+
* Reactive signal containing the current width and the matching breakpoint name.
|
|
19
|
+
* Updates automatically when the viewport or element is resized.
|
|
20
|
+
*/
|
|
6
21
|
value: Signal<{
|
|
7
22
|
width: number;
|
|
8
23
|
breakpoint: K;
|
|
9
24
|
}>;
|
|
25
|
+
/** The original breakpoints definition record. */
|
|
10
26
|
breakpoints: T;
|
|
27
|
+
/** The breakpoints as a sorted `[width, name]` tuple array (ascending by width). */
|
|
11
28
|
asList: [number, K][];
|
|
29
|
+
/**
|
|
30
|
+
* Tests whether a given width matches a breakpoint comparison expression.
|
|
31
|
+
*
|
|
32
|
+
* @param value - A breakpoint name or comparison expression (e.g., `'>=md'`, `'<lg'`).
|
|
33
|
+
* @param width - The width in pixels to test against.
|
|
34
|
+
* @returns `true` if the width satisfies the comparison.
|
|
35
|
+
*/
|
|
12
36
|
is: <K extends string & keyof T>(value: BreakPointComparison<K>, width: number) => boolean;
|
|
13
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Comparison operators supported in breakpoint comparison expressions.
|
|
40
|
+
*
|
|
41
|
+
* - `'='` - Exact match (width falls within the breakpoint range)
|
|
42
|
+
* - `'!='` - Not equal (width does not fall within the breakpoint range)
|
|
43
|
+
* - `'<='` - Less than or equal to the breakpoint threshold
|
|
44
|
+
* - `'>='` - Greater than or equal to the breakpoint threshold
|
|
45
|
+
* - `'<'` - Strictly less than the breakpoint threshold
|
|
46
|
+
* - `'>'` - Strictly greater than the breakpoint threshold
|
|
47
|
+
*/
|
|
14
48
|
export type Operator = '!=' | '<=' | '>=' | '<' | '>' | '=';
|
|
49
|
+
/**
|
|
50
|
+
* A breakpoint comparison expression. Can be a plain breakpoint name (treated
|
|
51
|
+
* as exact match) or an operator-prefixed breakpoint name (e.g., `'>=md'`, `'<lg'`).
|
|
52
|
+
*
|
|
53
|
+
* @typeParam K - The breakpoint name type.
|
|
54
|
+
*/
|
|
15
55
|
export type BreakPointComparison<K extends string> = K | `${Operator}${K}`;
|
|
56
|
+
/**
|
|
57
|
+
* Compares a given width against a breakpoint comparison expression using
|
|
58
|
+
* the provided sorted breakpoint list.
|
|
59
|
+
*
|
|
60
|
+
* @typeParam T - The breakpoints record type.
|
|
61
|
+
* @typeParam K - The union of breakpoint name keys.
|
|
62
|
+
* @param sortedList - Breakpoints sorted ascending by width as `[width, name]` tuples.
|
|
63
|
+
* @param value - A breakpoint comparison expression (e.g., `'md'`, `'>=lg'`, `'<sm'`).
|
|
64
|
+
* @param width - The width in pixels to evaluate.
|
|
65
|
+
* @returns `true` if the width satisfies the comparison expression.
|
|
66
|
+
* @throws Error if the breakpoint name in the comparison is not found.
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* const breakpoints: [number, string][] = [[0, 'sm'], [768, 'md'], [1024, 'lg']]
|
|
71
|
+
* compareBreakpoint(breakpoints, '>=md', 800) // true
|
|
72
|
+
* compareBreakpoint(breakpoints, '<md', 500) // true
|
|
73
|
+
* compareBreakpoint(breakpoints, 'lg', 1024) // true
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
16
76
|
export declare function compareBreakpoint<T extends Breakpoints, K extends string & keyof T = keyof T & string>(sortedList: [number, keyof T][], value: BreakPointComparison<K>, width: number): boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Finds the breakpoint name that a given width falls into, based on a sorted
|
|
79
|
+
* breakpoint list. Returns the last breakpoint whose threshold is less than
|
|
80
|
+
* or equal to the width.
|
|
81
|
+
*
|
|
82
|
+
* @typeParam T - The breakpoints record type.
|
|
83
|
+
* @param sortedList - Breakpoints sorted ascending by width as `[width, name]` tuples.
|
|
84
|
+
* @param width - The width in pixels to look up.
|
|
85
|
+
* @returns The matching breakpoint name.
|
|
86
|
+
*/
|
|
17
87
|
export declare function findBreakpoint<T extends Breakpoints>(sortedList: [number, keyof T][], width: number): keyof T;
|
|
88
|
+
/**
|
|
89
|
+
* Configuration options for the {@link WithBreakpoint} component.
|
|
90
|
+
*
|
|
91
|
+
* @typeParam T - The breakpoints record type.
|
|
92
|
+
*/
|
|
18
93
|
export interface WithBreakpointOptions<T extends Breakpoints> {
|
|
94
|
+
/** The breakpoints definition mapping names to pixel width thresholds. */
|
|
19
95
|
breakpoints: T;
|
|
96
|
+
/**
|
|
97
|
+
* Whether to track the viewport (window) size or the parent element size.
|
|
98
|
+
* Use `'element'` for container-query-like behavior.
|
|
99
|
+
* @default 'viewport'
|
|
100
|
+
*/
|
|
20
101
|
mode?: 'element' | 'viewport';
|
|
21
102
|
}
|
|
103
|
+
/**
|
|
104
|
+
* Provides reactive breakpoint information to a callback function. Monitors
|
|
105
|
+
* either the viewport width or the parent element width (depending on `mode`)
|
|
106
|
+
* and determines which breakpoint range the current width falls into.
|
|
107
|
+
*
|
|
108
|
+
* The callback receives a {@link BreakpointInfo} object with the current
|
|
109
|
+
* breakpoint signal, the breakpoints definition, and a comparison utility.
|
|
110
|
+
*
|
|
111
|
+
* @typeParam T - The breakpoints record type.
|
|
112
|
+
* @param fn - Callback receiving breakpoint info and returning renderable content.
|
|
113
|
+
* @param options - Breakpoint definitions and tracking mode.
|
|
114
|
+
* @returns A renderable that tracks size and provides breakpoint info.
|
|
115
|
+
*
|
|
116
|
+
* @example
|
|
117
|
+
* ```typescript
|
|
118
|
+
* WithBreakpoint(
|
|
119
|
+
* ({ value, is }) =>
|
|
120
|
+
* html.div(
|
|
121
|
+
* value.map(({ breakpoint }) =>
|
|
122
|
+
* is('>=md', value.value.width)
|
|
123
|
+
* ? 'Desktop layout'
|
|
124
|
+
* : 'Mobile layout'
|
|
125
|
+
* )
|
|
126
|
+
* ),
|
|
127
|
+
* {
|
|
128
|
+
* breakpoints: { sm: 0, md: 768, lg: 1024 },
|
|
129
|
+
* mode: 'viewport',
|
|
130
|
+
* }
|
|
131
|
+
* )
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
22
134
|
export declare function WithBreakpoint<T extends Breakpoints>(fn: (info: BreakpointInfo<T>) => TNode, { breakpoints, mode }: WithBreakpointOptions<T>): import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
|
|
135
|
+
/**
|
|
136
|
+
* Standard BeatUI viewport breakpoint thresholds. Values are read from
|
|
137
|
+
* CSS custom properties (`--breakpoint-*`) with sensible defaults.
|
|
138
|
+
*
|
|
139
|
+
* | Name | Default (px) |
|
|
140
|
+
* |--------|-------------|
|
|
141
|
+
* | `zero` | 0 |
|
|
142
|
+
* | `xs` | 640 |
|
|
143
|
+
* | `sm` | 768 |
|
|
144
|
+
* | `md` | 1024 |
|
|
145
|
+
* | `lg` | 1280 |
|
|
146
|
+
* | `xl` | 1536 |
|
|
147
|
+
*/
|
|
23
148
|
export type BeatUIBreakpoints = {
|
|
24
149
|
zero: number;
|
|
25
150
|
xs: number;
|
|
@@ -28,8 +153,53 @@ export type BeatUIBreakpoints = {
|
|
|
28
153
|
lg: number;
|
|
29
154
|
xl: number;
|
|
30
155
|
};
|
|
156
|
+
/**
|
|
157
|
+
* Union type of all standard BeatUI viewport breakpoint names.
|
|
158
|
+
*/
|
|
31
159
|
export type BeatUIBreakpoint = keyof BeatUIBreakpoints;
|
|
160
|
+
/**
|
|
161
|
+
* Convenience wrapper around {@link WithBreakpoint} that uses the standard
|
|
162
|
+
* BeatUI viewport breakpoints. Reads breakpoint thresholds from CSS custom
|
|
163
|
+
* properties (`--breakpoint-xs`, `--breakpoint-sm`, etc.) with sensible
|
|
164
|
+
* fallback values.
|
|
165
|
+
*
|
|
166
|
+
* @param fn - Callback receiving BeatUI breakpoint info and returning renderable content.
|
|
167
|
+
* @returns A renderable that tracks viewport size against BeatUI breakpoints.
|
|
168
|
+
*
|
|
169
|
+
* @example
|
|
170
|
+
* ```typescript
|
|
171
|
+
* WithBeatUIBreakpoint(({ value, is }) =>
|
|
172
|
+
* html.div(
|
|
173
|
+
* value.map(({ width, breakpoint }) =>
|
|
174
|
+
* is('>=md', width)
|
|
175
|
+
* ? html.div(attr.class('desktop'), 'Wide layout')
|
|
176
|
+
* : html.div(attr.class('mobile'), 'Narrow layout')
|
|
177
|
+
* )
|
|
178
|
+
* )
|
|
179
|
+
* )
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
32
182
|
export declare function WithBeatUIBreakpoint(fn: (info: BreakpointInfo<BeatUIBreakpoints>) => TNode): import("@tempots/dom").Renderable;
|
|
183
|
+
/**
|
|
184
|
+
* BeatUI element-level (container query) breakpoint thresholds. Values are
|
|
185
|
+
* read from CSS custom properties (`--container-*`) with Tailwind-inspired defaults.
|
|
186
|
+
*
|
|
187
|
+
* | Name | Default (px) |
|
|
188
|
+
* |--------|-------------|
|
|
189
|
+
* | `zero` | 0 |
|
|
190
|
+
* | `3xs` | 256 |
|
|
191
|
+
* | `2xs` | 288 |
|
|
192
|
+
* | `xs` | 320 |
|
|
193
|
+
* | `sm` | 384 |
|
|
194
|
+
* | `md` | 448 |
|
|
195
|
+
* | `lg` | 512 |
|
|
196
|
+
* | `xl` | 640 |
|
|
197
|
+
* | `2xl` | 768 |
|
|
198
|
+
* | `3xl` | 1024 |
|
|
199
|
+
* | `4xl` | 1280 |
|
|
200
|
+
* | `5xl` | 1536 |
|
|
201
|
+
* | `6xl` | 2048 |
|
|
202
|
+
*/
|
|
33
203
|
export type TWElementBreakpoints = {
|
|
34
204
|
zero: number;
|
|
35
205
|
'3xs': number;
|
|
@@ -45,4 +215,28 @@ export type TWElementBreakpoints = {
|
|
|
45
215
|
'5xl': number;
|
|
46
216
|
'6xl': number;
|
|
47
217
|
};
|
|
218
|
+
/**
|
|
219
|
+
* Convenience wrapper around {@link WithBreakpoint} that uses BeatUI
|
|
220
|
+
* element-level (container query) breakpoints. Tracks the parent element's
|
|
221
|
+
* width rather than the viewport, enabling component-local responsive behavior.
|
|
222
|
+
*
|
|
223
|
+
* Reads breakpoint thresholds from CSS custom properties (`--container-3xs`,
|
|
224
|
+
* `--container-2xs`, etc.) with Tailwind-inspired fallback values.
|
|
225
|
+
*
|
|
226
|
+
* @param fn - Callback receiving element breakpoint info and returning renderable content.
|
|
227
|
+
* @returns A renderable that tracks element size against container breakpoints.
|
|
228
|
+
*
|
|
229
|
+
* @example
|
|
230
|
+
* ```typescript
|
|
231
|
+
* WithBeatUIElementBreakpoint(({ value, is }) =>
|
|
232
|
+
* html.div(
|
|
233
|
+
* value.map(({ width, breakpoint }) =>
|
|
234
|
+
* is('>=md', width)
|
|
235
|
+
* ? html.div('Wide container layout')
|
|
236
|
+
* : html.div('Narrow container layout')
|
|
237
|
+
* )
|
|
238
|
+
* )
|
|
239
|
+
* )
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
48
242
|
export declare function WithBeatUIElementBreakpoint(fn: (info: BreakpointInfo<TWElementBreakpoints>) => TNode): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { BareEditorOptions } from '../../lexical/types';
|
|
3
|
+
/**
|
|
4
|
+
* BareEditor - Foundational headless rich text editor component
|
|
5
|
+
*
|
|
6
|
+
* A minimal Lexical editor surface with no UI chrome. This is the base component
|
|
7
|
+
* that Docked and Contextual presets will build upon.
|
|
8
|
+
*
|
|
9
|
+
* Features:
|
|
10
|
+
* - Headless editor surface (contenteditable)
|
|
11
|
+
* - Plugin-based architecture (rich-text, plain-text, history, clipboard, list, link)
|
|
12
|
+
* - Multiple content formats (markdown, JSON)
|
|
13
|
+
* - Theme integration (light/dark)
|
|
14
|
+
* - Reactive value binding
|
|
15
|
+
* - Read-only mode support
|
|
16
|
+
* - Event callbacks (onInput, onChange, onBlur, onReady, onError)
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```ts
|
|
20
|
+
* const content = prop('')
|
|
21
|
+
* BareEditor({
|
|
22
|
+
* value: content,
|
|
23
|
+
* format: 'markdown',
|
|
24
|
+
* plugins: { richText: true, history: true },
|
|
25
|
+
* onInput: (value) => console.log('Input:', value),
|
|
26
|
+
* })
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare const BareEditor: (options: BareEditorOptions) => Renderable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './language-selector';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Signal } from '@tempots/dom';
|
|
2
|
+
import type { LexicalEditor } from 'lexical';
|
|
3
|
+
export interface LanguageSelectorOptions {
|
|
4
|
+
editor: Signal<LexicalEditor | null>;
|
|
5
|
+
stateUpdate: Signal<number>;
|
|
6
|
+
readOnly?: Signal<boolean>;
|
|
7
|
+
languages?: string[];
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Language selector that appears when a code block is selected.
|
|
11
|
+
* Allows changing the programming language for syntax highlighting.
|
|
12
|
+
*/
|
|
13
|
+
export declare function LanguageSelector({ editor, stateUpdate, readOnly, languages, }: LanguageSelectorOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { ContextualEditorOptions } from '../../lexical/types';
|
|
3
|
+
/**
|
|
4
|
+
* ContextualEditor - Rich text editor with floating toolbar and block handle
|
|
5
|
+
*
|
|
6
|
+
* A clean editor surface that shows a floating toolbar when text is selected
|
|
7
|
+
* and a block handle at the left of each block for changing block types.
|
|
8
|
+
* No permanent UI chrome.
|
|
9
|
+
*
|
|
10
|
+
* Default plugins: richText, history, clipboard, list, link
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const content = prop('')
|
|
15
|
+
* ContextualEditor({
|
|
16
|
+
* value: content,
|
|
17
|
+
* format: 'markdown',
|
|
18
|
+
* onInput: (value) => console.log('Input:', value),
|
|
19
|
+
* })
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare const ContextualEditor: (options: ContextualEditorOptions) => Renderable;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { DockedEditorOptions } from '../../lexical/types';
|
|
3
|
+
/**
|
|
4
|
+
* DockedEditor - Rich text editor with a persistent toolbar
|
|
5
|
+
*
|
|
6
|
+
* Extends the BareEditor pattern by adding a configurable toolbar above
|
|
7
|
+
* (or below) the editor surface. Includes all standard formatting groups:
|
|
8
|
+
* text-formatting, headings, lists, blocks, links, and history.
|
|
9
|
+
*
|
|
10
|
+
* Default plugins: richText, history, clipboard, list, link
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* const content = prop('')
|
|
15
|
+
* DockedEditor({
|
|
16
|
+
* value: content,
|
|
17
|
+
* format: 'markdown',
|
|
18
|
+
* toolbar: { maxHeadingLevel: 3, hiddenGroups: ['tables'] },
|
|
19
|
+
* onInput: (value) => console.log('Input:', value),
|
|
20
|
+
* })
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare const DockedEditor: (options: DockedEditorOptions) => Renderable;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Signal } from '@tempots/dom';
|
|
2
|
+
import type { LexicalEditor } from 'lexical';
|
|
3
|
+
export interface BlockCommand {
|
|
4
|
+
id: string;
|
|
5
|
+
label: string;
|
|
6
|
+
icon: string;
|
|
7
|
+
handler: (editor: LexicalEditor) => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const DEFAULT_BLOCK_COMMANDS: BlockCommand[];
|
|
10
|
+
export interface BlockHandleOptions {
|
|
11
|
+
editor: Signal<LexicalEditor | null>;
|
|
12
|
+
stateUpdate: Signal<number>;
|
|
13
|
+
readOnly?: Signal<boolean>;
|
|
14
|
+
commands?: BlockCommand[];
|
|
15
|
+
}
|
|
16
|
+
export declare function BlockHandle({ editor, stateUpdate, readOnly, commands, }: BlockHandleOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Signal } from '@tempots/dom';
|
|
2
|
+
import type { LexicalEditor } from 'lexical';
|
|
3
|
+
import type { ToolbarGroupId } from '../../../lexical/types';
|
|
4
|
+
import { ControlSize } from '../../theme';
|
|
5
|
+
export interface FloatingToolbarOptions {
|
|
6
|
+
editor: Signal<LexicalEditor | null>;
|
|
7
|
+
stateUpdate: Signal<number>;
|
|
8
|
+
groups?: ToolbarGroupId[];
|
|
9
|
+
readOnly?: Signal<boolean>;
|
|
10
|
+
size?: ControlSize;
|
|
11
|
+
}
|
|
12
|
+
export declare function FloatingToolbar({ editor, stateUpdate, groups, readOnly, size, }: FloatingToolbarOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { FloatingToolbar } from './floating-toolbar';
|
|
2
|
+
export type { FloatingToolbarOptions } from './floating-toolbar';
|
|
3
|
+
export { SlashCommandPalette, DEFAULT_SLASH_COMMANDS, } from './slash-command-palette';
|
|
4
|
+
export type { SlashCommandPaletteOptions } from './slash-command-palette';
|
|
5
|
+
export { BlockHandle, DEFAULT_BLOCK_COMMANDS } from './block-handle';
|
|
6
|
+
export type { BlockHandleOptions, BlockCommand } from './block-handle';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { Signal, Prop } from '@tempots/dom';
|
|
2
|
+
import type { LexicalEditor } from 'lexical';
|
|
3
|
+
import type { SlashCommandDefinition } from '../../../lexical/types';
|
|
4
|
+
export interface SlashCommandPaletteOptions {
|
|
5
|
+
editor: Signal<LexicalEditor | null>;
|
|
6
|
+
commands: SlashCommandDefinition[];
|
|
7
|
+
isVisible: Prop<boolean>;
|
|
8
|
+
filterText: Signal<string>;
|
|
9
|
+
position: Signal<{
|
|
10
|
+
top: number;
|
|
11
|
+
left: number;
|
|
12
|
+
}>;
|
|
13
|
+
onSelect: (command: SlashCommandDefinition) => void;
|
|
14
|
+
onDismiss: () => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Default slash commands for the editor
|
|
18
|
+
*/
|
|
19
|
+
export declare const DEFAULT_SLASH_COMMANDS: SlashCommandDefinition[];
|
|
20
|
+
export declare function SlashCommandPalette({ commands, isVisible, filterText, position, onSelect, onDismiss, }: SlashCommandPaletteOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { BareEditor } from './bare-editor';
|
|
2
|
+
export { DockedEditor } from './docked-editor';
|
|
3
|
+
export { LexicalToolbar } from './toolbar';
|
|
4
|
+
export type { LexicalToolbarOptions } from './toolbar';
|
|
5
|
+
export { ContextualEditor } from './contextual-editor';
|
|
6
|
+
export { LexicalEditorInput } from './lexical-editor-input';
|
|
7
|
+
export { FloatingToolbar, SlashCommandPalette, DEFAULT_SLASH_COMMANDS, BlockHandle, DEFAULT_BLOCK_COMMANDS, } from './floating';
|
|
8
|
+
export type { FloatingToolbarOptions, SlashCommandPaletteOptions, BlockHandleOptions, BlockCommand, } from './floating';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Renderable } from '@tempots/dom';
|
|
2
|
+
import type { LexicalInputOptions } from '../../lexical/types';
|
|
3
|
+
/**
|
|
4
|
+
* LexicalEditorInput - Form-compatible rich text editor input
|
|
5
|
+
*
|
|
6
|
+
* Wraps BareEditor with BeatUI's form system integration (InputContainer).
|
|
7
|
+
* Supports markdown, HTML, and JSON formats. Compatible with form controllers
|
|
8
|
+
* and validation.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```ts
|
|
12
|
+
* const content = prop('')
|
|
13
|
+
* LexicalEditorInput({
|
|
14
|
+
* value: content,
|
|
15
|
+
* format: 'markdown',
|
|
16
|
+
* placeholder: 'Enter text...',
|
|
17
|
+
* onInput: (v) => console.log(v),
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* @example With form controller:
|
|
22
|
+
* ```ts
|
|
23
|
+
* Control(LexicalEditorInput, {
|
|
24
|
+
* controller: formController.field('description'),
|
|
25
|
+
* label: 'Description',
|
|
26
|
+
* format: 'markdown',
|
|
27
|
+
* })
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
export declare const LexicalEditorInput: (options: LexicalInputOptions) => Renderable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './table-controls';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Signal } from '@tempots/dom';
|
|
2
|
+
import type { LexicalEditor } from 'lexical';
|
|
3
|
+
export interface TableControlsOptions {
|
|
4
|
+
editor: Signal<LexicalEditor | null>;
|
|
5
|
+
stateUpdate: Signal<number>;
|
|
6
|
+
readOnly?: Signal<boolean>;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Table context menu that appears when a table cell is selected.
|
|
10
|
+
* Provides operations like insert/delete rows/columns.
|
|
11
|
+
*/
|
|
12
|
+
export declare function TableControls({ editor, stateUpdate, readOnly, }: TableControlsOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { LexicalToolbar } from './lexical-toolbar';
|
|
2
|
+
export type { LexicalToolbarOptions } from './lexical-toolbar';
|
|
3
|
+
export { LexicalToolbarButton } from './toolbar-button';
|
|
4
|
+
export type { LexicalToolbarButtonOptions } from './toolbar-button';
|
|
5
|
+
export { LexicalToolbarGroup } from './toolbar-group';
|
|
6
|
+
export { createToolbarHelpers, createButtonFactory } from './toolbar-helpers';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Signal, Value } from '@tempots/dom';
|
|
2
|
+
import { type LexicalEditor } from 'lexical';
|
|
3
|
+
import type { ToolbarConfig } from '../../../lexical/types';
|
|
4
|
+
import { ControlSize } from '../../theme';
|
|
5
|
+
export interface LexicalToolbarOptions {
|
|
6
|
+
editor: Signal<LexicalEditor | null>;
|
|
7
|
+
stateUpdate: Signal<number>;
|
|
8
|
+
toolbar?: ToolbarConfig;
|
|
9
|
+
readOnly?: Signal<boolean>;
|
|
10
|
+
size?: Value<ControlSize>;
|
|
11
|
+
}
|
|
12
|
+
export declare function LexicalToolbar({ editor, stateUpdate, toolbar, readOnly, size, }: LexicalToolbarOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EditorToolbarButton as LexicalToolbarButton, type EditorToolbarButtonOptions as LexicalToolbarButtonOptions, } from '../../editor-toolbar';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { EditorToolbarGroup as LexicalToolbarGroup } from '../../editor-toolbar';
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Signal, Value } from '@tempots/dom';
|
|
2
|
+
import { type LexicalEditor, type TextFormatType, type RangeSelection, type ElementNode, type LexicalCommand } from 'lexical';
|
|
3
|
+
import { ControlSize } from '../../theme';
|
|
4
|
+
/**
|
|
5
|
+
* Create reactive state and action helpers for Lexical toolbar integration.
|
|
6
|
+
* Both the docked toolbar and floating toolbar share these helpers.
|
|
7
|
+
*/
|
|
8
|
+
export declare function createToolbarHelpers(ed: Signal<LexicalEditor>, stateUpdate: Signal<number>, options?: {
|
|
9
|
+
enterUrlMessage?: () => string;
|
|
10
|
+
}): {
|
|
11
|
+
withSelection: <T>(fn: (sel: RangeSelection) => T, fallback: T) => Signal<T>;
|
|
12
|
+
getAnchorElement: (sel: RangeSelection) => ElementNode | import("lexical").TextNode;
|
|
13
|
+
textFormatActive: (fmt: TextFormatType) => Signal<boolean>;
|
|
14
|
+
blockTypeActive: (type: string) => Signal<boolean>;
|
|
15
|
+
listTypeActive: (listType: string) => Signal<boolean>;
|
|
16
|
+
headingActive: (level: number) => import("@tempots/dom").Computed<boolean>;
|
|
17
|
+
linkActive: () => Signal<boolean>;
|
|
18
|
+
dispatch: <T>(command: LexicalCommand<T>, payload: T) => () => void;
|
|
19
|
+
toggleBlock: (type: string, create: () => ElementNode) => () => void;
|
|
20
|
+
toggleLink: () => void;
|
|
21
|
+
};
|
|
22
|
+
/**
|
|
23
|
+
* Create a button factory bound to shared readOnly and size props.
|
|
24
|
+
* Returns a function that takes a display signal and produces
|
|
25
|
+
* a group-specific button builder.
|
|
26
|
+
*/
|
|
27
|
+
export declare function createButtonFactory(readOnly: Signal<boolean>, size: Value<ControlSize>): (display: Signal<boolean>) => (opts: {
|
|
28
|
+
active: Signal<boolean>;
|
|
29
|
+
onClick: () => void;
|
|
30
|
+
label: Value<string>;
|
|
31
|
+
icon: string;
|
|
32
|
+
}) => import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { TNode, Value } from '@tempots/dom';
|
|
2
|
+
/**
|
|
3
|
+
* Size options for the EmptyState component.
|
|
4
|
+
*/
|
|
5
|
+
export type EmptyStateSize = 'sm' | 'md' | 'lg';
|
|
6
|
+
/**
|
|
7
|
+
* Configuration options for the {@link EmptyState} component.
|
|
8
|
+
*/
|
|
9
|
+
export interface EmptyStateOptions {
|
|
10
|
+
/**
|
|
11
|
+
* Icon identifier string (Iconify format) to display above the title.
|
|
12
|
+
* When `undefined`, no icon is rendered.
|
|
13
|
+
*/
|
|
14
|
+
icon?: Value<string | undefined>;
|
|
15
|
+
/**
|
|
16
|
+
* Main heading text for the empty state.
|
|
17
|
+
*/
|
|
18
|
+
title: Value<string>;
|
|
19
|
+
/**
|
|
20
|
+
* Optional description text displayed below the title.
|
|
21
|
+
*/
|
|
22
|
+
description?: Value<string | undefined>;
|
|
23
|
+
/**
|
|
24
|
+
* Visual size of the empty state component.
|
|
25
|
+
* @default 'md'
|
|
26
|
+
*/
|
|
27
|
+
size?: Value<EmptyStateSize>;
|
|
28
|
+
/**
|
|
29
|
+
* Optional action element (e.g., a button) displayed below the description.
|
|
30
|
+
*/
|
|
31
|
+
action?: TNode;
|
|
32
|
+
/**
|
|
33
|
+
* Additional CSS class name(s) to apply to the root element.
|
|
34
|
+
*/
|
|
35
|
+
class?: Value<string>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Renders an empty state UI component used to communicate when no content or
|
|
39
|
+
* data is available. Typically includes an icon, title, description, and an
|
|
40
|
+
* optional call-to-action button.
|
|
41
|
+
*
|
|
42
|
+
* Empty states improve UX by explaining why content is missing and suggesting
|
|
43
|
+
* next steps, rather than showing a blank screen.
|
|
44
|
+
*
|
|
45
|
+
* @param options - Configuration options for the empty state
|
|
46
|
+
* @returns A centered empty state element with icon, text, and optional action
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* import { EmptyState } from '@tempots/beatui'
|
|
51
|
+
* import { Button } from '@tempots/beatui'
|
|
52
|
+
*
|
|
53
|
+
* EmptyState({
|
|
54
|
+
* icon: 'material-symbols:inbox-outline',
|
|
55
|
+
* title: 'No messages',
|
|
56
|
+
* description: 'You have no messages in your inbox.',
|
|
57
|
+
* size: 'md'
|
|
58
|
+
* })
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* // With action button
|
|
64
|
+
* EmptyState({
|
|
65
|
+
* icon: 'material-symbols:add-circle-outline',
|
|
66
|
+
* title: 'No projects yet',
|
|
67
|
+
* description: 'Create your first project to get started.',
|
|
68
|
+
* size: 'lg',
|
|
69
|
+
* action: Button(
|
|
70
|
+
* { variant: 'filled', color: 'primary' },
|
|
71
|
+
* 'Create Project'
|
|
72
|
+
* )
|
|
73
|
+
* })
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* // Minimal empty state without icon
|
|
79
|
+
* EmptyState({
|
|
80
|
+
* title: 'Nothing to see here',
|
|
81
|
+
* description: 'Try adjusting your filters.',
|
|
82
|
+
* size: 'sm'
|
|
83
|
+
* })
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
86
|
+
export declare function EmptyState({ icon, title, description, size, action, class: cls, }: EmptyStateOptions): import("@tempots/dom").Renderable;
|