@tempots/beatui 0.82.1 → 0.83.3
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/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 +33 -32
- package/dist/{auth-divider-Wr-S16kF.js → auth-divider-C3_CgC0l.js} +589 -569
- package/dist/auth-divider-C4WTL71M.cjs +1 -0
- package/dist/beatui.css +5678 -1438
- package/dist/beatui.tailwind.css +5662 -1422
- package/dist/better-auth/index.cjs.js +1 -1
- package/dist/better-auth/index.es.js +18 -31
- 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-B9UNmUCh.cjs → duration-input-BJzKgI15.cjs} +1 -1
- package/dist/{duration-input-DqcJbxKD.js → duration-input-DaB6s0rL.js} +4 -4
- 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/{index-Bt7FYl80.cjs → index-Bm43lZqE.cjs} +2 -2
- package/dist/{index-05UbKOYe.cjs → index-C2_iX1um.cjs} +1 -1
- package/dist/{index-C2Lq1m45.js → index-C32iUFIr.js} +5 -5
- package/dist/{index-lYhXnu6I.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 +6220 -3084
- package/dist/input-container-CSi72GI1.cjs +1 -0
- package/dist/{input-container-DiCjOzR2.js → input-container-Nx0gMAzS.js} +86 -75
- 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 +191 -185
- 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 +679 -660
- 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 +31 -31
- package/dist/lexical/index.es.js +5248 -5221
- package/dist/lexical.css +5 -7
- package/dist/menu-CX72LaZ3.cjs +1 -0
- package/dist/menu-D_slbwl8.js +374 -0
- package/dist/{modal-v3u2Fpnd.js → modal-DaI1jH-X.js} +4 -4
- package/dist/{modal-I5srcntN.cjs → modal-kyZfvVZb.cjs} +1 -1
- 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-CLDdy1MW.cjs → notice-Bc1L4Zpr.cjs} +1 -1
- package/dist/{notice-BuZvdvZh.js → notice-Dz4nX57_.js} +4 -4
- package/dist/{oneof-branch-detection-Dt8ss9lc.js → oneof-branch-detection-BED_n2MT.js} +522 -519
- package/dist/{oneof-branch-detection-DsM1K5xc.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/{styles-url-B2dzXrYt.cjs → styles-url-CVCcF0ra.cjs} +1 -1
- package/dist/{styles-url-Cw_mxshe.js → styles-url-DUdp56Ts.js} +1 -1
- 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 +294 -410
- package/dist/text-input-8v79fzEy.cjs +1 -0
- package/dist/text-input-CPJzUC2r.js +45 -0
- package/dist/{toolbar-D994_E_s.js → toolbar-CjQG7l7X.js} +1 -1
- package/dist/{toolbar-x0_8lmKu.cjs → toolbar-D3ZsC0g_.cjs} +1 -1
- 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/components/authenticated.d.ts +2 -2
- package/dist/types/better-auth/components/better-auth-container.d.ts +1 -1
- package/dist/types/better-auth/components/better-auth-modal.d.ts +1 -1
- package/dist/types/better-auth/index.d.ts +13 -0
- package/dist/types/better-auth/provider.d.ts +33 -0
- package/dist/types/better-auth/types.d.ts +112 -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 +299 -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/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/deprecation-utils.d.ts +2 -3
- 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/code/language-selector.d.ts +2 -2
- package/dist/types/components/lexical/floating/block-handle.d.ts +2 -2
- package/dist/types/components/lexical/floating/floating-toolbar.d.ts +2 -2
- package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
- package/dist/types/components/lexical/table/table-controls.d.ts +2 -2
- package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +2 -2
- package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +4 -2
- 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 +10 -0
- package/dist/types/components/prosemirror/etoolbar-group.d.ts +10 -0
- 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/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-B56E_x5Y.js → use-form-BurzbPVV.js} +190 -2
- package/dist/{use-form-Cnp3XQ5X.cjs → use-form-Uree6QFy.cjs} +1 -1
- 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-Ds9sicAg.js → widget-customization-0is7oTeP.js} +205 -204
- 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 +1 -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/auth-divider-BqZPH1-z.cjs +0 -1
- package/dist/de-BUFLEyKr.cjs +0 -1
- package/dist/de-WzsOu9Gn.cjs +0 -1
- package/dist/deep-merge-BYm0y62g.js +0 -1620
- package/dist/deep-merge-d7sf0xmN.cjs +0 -1
- package/dist/editor-toolbar-group--a-xgsJw.cjs +0 -1
- package/dist/editor-toolbar-group-CVpl5mxF.js +0 -31
- 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/input-container-C6qEIjcA.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/menu-CZzRsQP_.js +0 -372
- package/dist/menu-ClrU72xH.cjs +0 -1
- package/dist/nl-Bx2ACvr4.cjs +0 -1
- package/dist/nl-NuTdZO1s.js +0 -102
- 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-B3VBat1k.js +0 -44
- package/dist/text-input-Ds8e7Z1G.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-animated-toggle-ChycsEoj.js +0 -175
- package/dist/use-animated-toggle-DR6CyMac.cjs +0 -1
- 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-Dk7XcVly.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,12 +1,47 @@
|
|
|
1
1
|
import { TNode } from '@tempots/dom';
|
|
2
2
|
import { AppearancePreference } from './theme';
|
|
3
3
|
import { NotificationViewportPosition } from './misc/notification-provider';
|
|
4
|
+
/** Configuration options for the {@link BeatUI} root provider. */
|
|
4
5
|
export type BeatUIOptions = {
|
|
6
|
+
/** Whether to load and provide the authentication i18n translations. @default false */
|
|
5
7
|
includeAuthI18n?: boolean;
|
|
8
|
+
/** Whether to enable light/dark appearance toggling. @default true */
|
|
6
9
|
enableAppearance?: boolean;
|
|
10
|
+
/** The initial appearance preference when appearance is enabled. @default 'system' */
|
|
7
11
|
defaultAppearance?: AppearancePreference;
|
|
12
|
+
/** localStorage key used to persist the appearance preference. @default 'bui-appearance' */
|
|
8
13
|
appearancePreferenceKey?: string;
|
|
14
|
+
/** Whether to include the notification system provider and viewport. @default true */
|
|
9
15
|
includeNotifications?: boolean;
|
|
16
|
+
/** Position of the notification viewport on screen. @default 'bottom-end' */
|
|
10
17
|
notificationPosition?: NotificationViewportPosition;
|
|
11
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* Root provider component that initializes all BeatUI subsystems: routing,
|
|
21
|
+
* locale, i18n, theming, and notifications. Wrap your application with this
|
|
22
|
+
* component to enable all BeatUI features.
|
|
23
|
+
*
|
|
24
|
+
* @param options - Configuration for which subsystems to enable
|
|
25
|
+
* @param children - The application content
|
|
26
|
+
* @returns A provider tree wrapping the children
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* import { BeatUI } from '@tempots/beatui'
|
|
31
|
+
*
|
|
32
|
+
* BeatUI(
|
|
33
|
+
* { enableAppearance: true, includeNotifications: true },
|
|
34
|
+
* html.div('My Application')
|
|
35
|
+
* )
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* // With auth i18n support
|
|
41
|
+
* BeatUI(
|
|
42
|
+
* { includeAuthI18n: true, defaultAppearance: 'dark' },
|
|
43
|
+
* AppLayout({ children: Router({ ... }) })
|
|
44
|
+
* )
|
|
45
|
+
* ```
|
|
46
|
+
*/
|
|
12
47
|
export declare function BeatUI({ includeAuthI18n, enableAppearance, defaultAppearance, appearancePreferenceKey, includeNotifications, notificationPosition, }: BeatUIOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -3,23 +3,84 @@ import { ControlSize, ButtonVariant } from '../theme';
|
|
|
3
3
|
import { ThemeColorName } from '../../tokens';
|
|
4
4
|
import { ExtendedColor } from '../theme/style-utils';
|
|
5
5
|
import { RadiusName } from '../../tokens/radius';
|
|
6
|
+
/** Configuration options for the {@link Button} component. */
|
|
6
7
|
export interface ButtonOptions {
|
|
8
|
+
/** The HTML button type attribute. @default 'button' */
|
|
7
9
|
type?: Value<'submit' | 'reset' | 'button'>;
|
|
10
|
+
/** Whether the button is disabled and non-interactive. @default false */
|
|
8
11
|
disabled?: Value<boolean>;
|
|
12
|
+
/** Whether to show a loading spinner and disable interaction. @default false */
|
|
9
13
|
loading?: Value<boolean>;
|
|
14
|
+
/** Visual style variant controlling background, text, and border colors. @default 'filled' */
|
|
10
15
|
variant?: Value<ButtonVariant>;
|
|
16
|
+
/** Size affecting padding, font size, and icon dimensions. @default 'md' */
|
|
11
17
|
size?: Value<ControlSize>;
|
|
18
|
+
/** Theme color for the button's color scheme. @default 'base' */
|
|
12
19
|
color?: Value<ThemeColorName>;
|
|
20
|
+
/** Border radius preset. @default 'sm' */
|
|
13
21
|
roundedness?: Value<RadiusName>;
|
|
22
|
+
/** Callback invoked when the button is clicked. */
|
|
14
23
|
onClick?: () => void;
|
|
24
|
+
/** Whether the button takes the full width of its container. @default false */
|
|
15
25
|
fullWidth?: Value<boolean>;
|
|
16
26
|
/**
|
|
17
27
|
* Whether to stop event propagation on click.
|
|
18
28
|
* When true (default), prevents the click event from bubbling up.
|
|
19
29
|
* Set to false if you need parent elements to receive click events (e.g., for Flyout triggers).
|
|
30
|
+
* @default true
|
|
20
31
|
*/
|
|
21
32
|
stopPropagation?: boolean;
|
|
22
33
|
}
|
|
34
|
+
/**
|
|
35
|
+
* Generates CSS class names for a button based on size, roundedness, loading state, and width.
|
|
36
|
+
*
|
|
37
|
+
* @param size - Control size for padding and text
|
|
38
|
+
* @param roundedness - Border radius preset name
|
|
39
|
+
* @param loading - Whether loading spinner is shown
|
|
40
|
+
* @param fullWidth - Whether button is full-width
|
|
41
|
+
* @returns Space-separated CSS class string
|
|
42
|
+
*/
|
|
23
43
|
export declare function generateButtonClasses(size: ControlSize, roundedness: RadiusName, loading: boolean, fullWidth: boolean): string;
|
|
44
|
+
/**
|
|
45
|
+
* Generates inline CSS custom properties for button theming based on variant, color, and disabled state.
|
|
46
|
+
* Sets background, text, border, hover, and text-shadow values for both light and dark modes.
|
|
47
|
+
*
|
|
48
|
+
* @param variant - The visual style variant
|
|
49
|
+
* @param color - The theme color
|
|
50
|
+
* @param disabled - Whether the button is disabled (suppresses hover styles)
|
|
51
|
+
* @returns Semicolon-separated CSS custom property declarations
|
|
52
|
+
*/
|
|
24
53
|
export declare function generateButtonStyles(variant: ButtonVariant, color: ExtendedColor, disabled: boolean): string;
|
|
54
|
+
/**
|
|
55
|
+
* An interactive button component with theme-aware styling, loading state, and accessibility support.
|
|
56
|
+
*
|
|
57
|
+
* When `loading` is true, the button content is replaced with a spinning icon and the button is
|
|
58
|
+
* disabled. The button preserves its dimensions during loading to prevent layout shift.
|
|
59
|
+
* Screen readers are notified of the loading state via `aria-busy` and `aria-label`.
|
|
60
|
+
*
|
|
61
|
+
* For submit buttons (`type: 'submit'`), the default browser form submission behavior is preserved.
|
|
62
|
+
* For other button types, `preventDefault()` is called automatically.
|
|
63
|
+
*
|
|
64
|
+
* @param options - Configuration for appearance, behavior, and state
|
|
65
|
+
* @param children - Content to display inside the button (text, icons, etc.)
|
|
66
|
+
* @returns A styled button element
|
|
67
|
+
*
|
|
68
|
+
* @example
|
|
69
|
+
* ```typescript
|
|
70
|
+
* Button(
|
|
71
|
+
* { variant: 'filled', color: 'primary', onClick: () => console.log('clicked') },
|
|
72
|
+
* 'Save Changes'
|
|
73
|
+
* )
|
|
74
|
+
* ```
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* // Button with loading state
|
|
79
|
+
* const saving = prop(false)
|
|
80
|
+
* Button(
|
|
81
|
+
* { variant: 'filled', color: 'success', loading: saving, onClick: handleSave },
|
|
82
|
+
* 'Submit'
|
|
83
|
+
* )
|
|
84
|
+
* ```
|
|
85
|
+
*/
|
|
25
86
|
export declare function Button({ type, disabled, loading, variant, size, color, roundedness, onClick, fullWidth, stopPropagation, }: ButtonOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -2,14 +2,45 @@ import { Renderable, TNode, Value } from '@tempots/dom';
|
|
|
2
2
|
import { ControlSize } from '../theme';
|
|
3
3
|
import { ThemeColorName } from '../../tokens';
|
|
4
4
|
import { RadiusName } from '../../tokens/radius';
|
|
5
|
+
/** Configuration options for the {@link CloseButton} component. */
|
|
5
6
|
export type CloseButtonOptions = {
|
|
7
|
+
/** Size of the close button icon and hit target. @default 'sm' */
|
|
6
8
|
size?: Value<ControlSize>;
|
|
9
|
+
/** Icon name from Iconify. @default 'line-md:close' */
|
|
7
10
|
icon?: Value<string>;
|
|
11
|
+
/** Whether the button is disabled. */
|
|
8
12
|
disabled?: Value<boolean>;
|
|
13
|
+
/** Border radius of the button. @default 'full' */
|
|
9
14
|
roundedness?: Value<RadiusName>;
|
|
15
|
+
/** Theme color for the icon. @default 'base' */
|
|
10
16
|
color?: Value<ThemeColorName>;
|
|
17
|
+
/** Callback invoked when the button is clicked. */
|
|
11
18
|
onClick?: () => void;
|
|
12
|
-
/**
|
|
19
|
+
/** Localized label for screen readers. Defaults to the i18n `closeModal` translation. */
|
|
13
20
|
label?: Value<string>;
|
|
14
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* A small icon-only button for dismissing modals, drawers, notifications, and tags.
|
|
24
|
+
* Renders as a text-variant button with a close icon (X) and proper ARIA labeling
|
|
25
|
+
* for screen reader accessibility.
|
|
26
|
+
*
|
|
27
|
+
* @param options - Configuration for size, icon, and behavior
|
|
28
|
+
* @param children - Additional child nodes appended to the button
|
|
29
|
+
* @returns A Renderable button element
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* CloseButton({ onClick: () => modal.close() })
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```typescript
|
|
38
|
+
* // Custom icon and label
|
|
39
|
+
* CloseButton({
|
|
40
|
+
* icon: 'mdi:close-circle',
|
|
41
|
+
* label: 'Dismiss notification',
|
|
42
|
+
* onClick: handleDismiss
|
|
43
|
+
* })
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
15
46
|
export declare function CloseButton({ size, icon, disabled, roundedness, color, onClick, label, }: CloseButtonOptions, ...children: TNode[]): Renderable;
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { TNode, Value } from '@tempots/dom';
|
|
2
|
+
import { ControlSize, ButtonVariant } from '../theme';
|
|
3
|
+
import { ThemeColorName } from '../../tokens';
|
|
4
|
+
import { RadiusName } from '../../tokens/radius';
|
|
5
|
+
/**
|
|
6
|
+
* Describes a single item within a {@link ToggleButtonGroup}.
|
|
7
|
+
*/
|
|
8
|
+
export interface ToggleButtonGroupItem {
|
|
9
|
+
/** Unique key identifying this item within the group */
|
|
10
|
+
key: string;
|
|
11
|
+
/** Content rendered inside the toggle button (text, icons, or any TNode) */
|
|
12
|
+
label: TNode;
|
|
13
|
+
/** Whether this specific button is disabled. @default false */
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Configuration options for the {@link ToggleButtonGroup} component.
|
|
18
|
+
*/
|
|
19
|
+
export interface ToggleButtonGroupOptions {
|
|
20
|
+
/** The toggle button items to render */
|
|
21
|
+
items: ToggleButtonGroupItem[];
|
|
22
|
+
/** Array of currently selected item keys */
|
|
23
|
+
value: Value<string[]>;
|
|
24
|
+
/** Callback invoked when the selection changes */
|
|
25
|
+
onChange?: (value: string[]) => void;
|
|
26
|
+
/**
|
|
27
|
+
* Whether multiple items can be selected simultaneously.
|
|
28
|
+
* When false, selecting an item deselects all others.
|
|
29
|
+
* @default false
|
|
30
|
+
*/
|
|
31
|
+
multiple?: Value<boolean>;
|
|
32
|
+
/** Whether the entire group is disabled. @default false */
|
|
33
|
+
disabled?: Value<boolean>;
|
|
34
|
+
/** Visual style variant applied to all buttons. @default 'outline' */
|
|
35
|
+
variant?: Value<ButtonVariant>;
|
|
36
|
+
/** Size affecting padding, font size, and dimensions. @default 'md' */
|
|
37
|
+
size?: Value<ControlSize>;
|
|
38
|
+
/** Theme color for pressed buttons. @default 'primary' */
|
|
39
|
+
color?: Value<ThemeColorName>;
|
|
40
|
+
/** Border radius preset for the group's outer corners. @default 'sm' */
|
|
41
|
+
roundedness?: Value<RadiusName>;
|
|
42
|
+
/**
|
|
43
|
+
* Layout orientation of the button group.
|
|
44
|
+
* @default 'horizontal'
|
|
45
|
+
*/
|
|
46
|
+
orientation?: Value<'horizontal' | 'vertical'>;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* A group container for toggle buttons that manages single or multiple
|
|
50
|
+
* selection. Buttons are visually connected with shared borders and
|
|
51
|
+
* the group's outer corners use the specified border radius.
|
|
52
|
+
*
|
|
53
|
+
* Uses `role="group"` for accessibility. In single-selection mode,
|
|
54
|
+
* selecting a button deselects all others (like a radio group).
|
|
55
|
+
* In multiple-selection mode, each button toggles independently.
|
|
56
|
+
*
|
|
57
|
+
* @param options - Configuration for the toggle button group
|
|
58
|
+
* @returns A styled group of toggle buttons
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```ts
|
|
62
|
+
* import { prop } from '@tempots/dom'
|
|
63
|
+
* import { ToggleButtonGroup } from '@tempots/beatui'
|
|
64
|
+
*
|
|
65
|
+
* // Single selection
|
|
66
|
+
* const alignment = prop<string[]>(['left'])
|
|
67
|
+
* ToggleButtonGroup({
|
|
68
|
+
* items: [
|
|
69
|
+
* { key: 'left', label: 'Left' },
|
|
70
|
+
* { key: 'center', label: 'Center' },
|
|
71
|
+
* { key: 'right', label: 'Right' },
|
|
72
|
+
* ],
|
|
73
|
+
* value: alignment,
|
|
74
|
+
* onChange: alignment.set,
|
|
75
|
+
* })
|
|
76
|
+
* ```
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```ts
|
|
80
|
+
* // Multiple selection
|
|
81
|
+
* const formats = prop<string[]>([])
|
|
82
|
+
* ToggleButtonGroup({
|
|
83
|
+
* items: [
|
|
84
|
+
* { key: 'bold', label: 'B' },
|
|
85
|
+
* { key: 'italic', label: 'I' },
|
|
86
|
+
* { key: 'underline', label: 'U' },
|
|
87
|
+
* ],
|
|
88
|
+
* value: formats,
|
|
89
|
+
* onChange: formats.set,
|
|
90
|
+
* multiple: true,
|
|
91
|
+
* variant: 'outline',
|
|
92
|
+
* })
|
|
93
|
+
* ```
|
|
94
|
+
*/
|
|
95
|
+
export declare function ToggleButtonGroup({ items, value, onChange, multiple, disabled, variant, size, color, roundedness, orientation, }: ToggleButtonGroupOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { TNode, Value } from '@tempots/dom';
|
|
2
|
+
import { ControlSize, ButtonVariant } from '../theme';
|
|
3
|
+
import { ThemeColorName } from '../../tokens';
|
|
4
|
+
import { RadiusName } from '../../tokens/radius';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration options for the {@link ToggleButton} component.
|
|
7
|
+
*/
|
|
8
|
+
export interface ToggleButtonOptions {
|
|
9
|
+
/** Whether the button is currently pressed/active. */
|
|
10
|
+
pressed: Value<boolean>;
|
|
11
|
+
/** Callback invoked when the button is toggled. */
|
|
12
|
+
onToggle?: (pressed: boolean) => void;
|
|
13
|
+
/** Whether the button is disabled. @default false */
|
|
14
|
+
disabled?: Value<boolean>;
|
|
15
|
+
/** Visual style variant. @default 'outline' */
|
|
16
|
+
variant?: Value<ButtonVariant>;
|
|
17
|
+
/** Size affecting padding, font size, and icon dimensions. @default 'md' */
|
|
18
|
+
size?: Value<ControlSize>;
|
|
19
|
+
/** Theme color for the pressed state. @default 'primary' */
|
|
20
|
+
color?: Value<ThemeColorName>;
|
|
21
|
+
/** Border radius preset. @default 'sm' */
|
|
22
|
+
roundedness?: Value<RadiusName>;
|
|
23
|
+
/** Whether the button takes the full width of its container. @default false */
|
|
24
|
+
fullWidth?: Value<boolean>;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* A toggle button that can be pressed/unpressed, similar to a checkbox
|
|
28
|
+
* but styled as a button with visual feedback for the pressed state.
|
|
29
|
+
*
|
|
30
|
+
* Uses `aria-pressed` for accessibility. When pressed, the button displays
|
|
31
|
+
* a filled appearance using the specified color; when unpressed, it shows
|
|
32
|
+
* the variant's default appearance.
|
|
33
|
+
*
|
|
34
|
+
* @param options - Configuration for the toggle button
|
|
35
|
+
* @param children - Content to display inside the button
|
|
36
|
+
* @returns A styled toggle button element
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* import { prop } from '@tempots/dom'
|
|
41
|
+
* import { ToggleButton } from '@tempots/beatui'
|
|
42
|
+
*
|
|
43
|
+
* const bold = prop(false)
|
|
44
|
+
* ToggleButton(
|
|
45
|
+
* { pressed: bold, onToggle: bold.set, variant: 'outline' },
|
|
46
|
+
* 'B'
|
|
47
|
+
* )
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```ts
|
|
52
|
+
* // Icon toggle
|
|
53
|
+
* const starred = prop(false)
|
|
54
|
+
* ToggleButton(
|
|
55
|
+
* { pressed: starred, onToggle: starred.set, color: 'yellow' },
|
|
56
|
+
* Icon({ icon: starred.map(s => s ? 'lucide:star' : 'lucide:star-off') })
|
|
57
|
+
* )
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export declare function ToggleButton({ pressed, onToggle, disabled, variant, size, color, roundedness, fullWidth, }: ToggleButtonOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { TNode, Value } from '@tempots/dom';
|
|
2
|
+
import { ThemeColorName } from '../../tokens';
|
|
3
|
+
import { AvatarSize } from './avatar';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration options for the {@link AvatarGroup} component.
|
|
6
|
+
*/
|
|
7
|
+
export interface AvatarGroupOptions {
|
|
8
|
+
/** Size of avatars in the group. @default 'md' */
|
|
9
|
+
size?: Value<AvatarSize>;
|
|
10
|
+
/** Spacing between avatars: 'tight' for overlap, 'normal' for standard gap. @default 'tight' */
|
|
11
|
+
spacing?: Value<'tight' | 'normal'>;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Configuration options for the {@link AvatarGroupOverflow} component.
|
|
15
|
+
*/
|
|
16
|
+
export interface AvatarGroupOverflowOptions {
|
|
17
|
+
/** Number to display in the overflow indicator (e.g., +5). */
|
|
18
|
+
count: Value<number>;
|
|
19
|
+
/** Size matching the avatar group. @default 'md' */
|
|
20
|
+
size?: Value<AvatarSize>;
|
|
21
|
+
/** Theme color for the overflow indicator background. @default 'base' */
|
|
22
|
+
color?: Value<ThemeColorName>;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Renders a container for grouping multiple Avatar components with overlapping or spaced layout.
|
|
26
|
+
*
|
|
27
|
+
* The AvatarGroup component provides a styled container for displaying multiple avatars
|
|
28
|
+
* in a row. It supports two spacing modes:
|
|
29
|
+
* - **tight**: Avatars overlap with negative margin for a compact, stacked appearance
|
|
30
|
+
* - **normal**: Avatars are spaced with standard gap
|
|
31
|
+
*
|
|
32
|
+
* The group automatically applies consistent sizing to all child avatars via CSS classes.
|
|
33
|
+
* For displaying overflow (e.g., "+5 more"), use the {@link AvatarGroupOverflow} component.
|
|
34
|
+
*
|
|
35
|
+
* @param options - Configuration for size and spacing
|
|
36
|
+
* @param children - Avatar components to display in the group
|
|
37
|
+
* @returns A div element containing the avatar group
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```typescript
|
|
41
|
+
* AvatarGroup({ size: 'lg', spacing: 'tight' },
|
|
42
|
+
* Avatar({ src: 'user1.jpg', name: 'Alice' }),
|
|
43
|
+
* Avatar({ src: 'user2.jpg', name: 'Bob' }),
|
|
44
|
+
* Avatar({ src: 'user3.jpg', name: 'Charlie' }),
|
|
45
|
+
* AvatarGroupOverflow({ count: 5 })
|
|
46
|
+
* )
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
export declare function AvatarGroup({ size, spacing }: AvatarGroupOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
50
|
+
/**
|
|
51
|
+
* Renders an overflow indicator for AvatarGroup showing the count of hidden avatars.
|
|
52
|
+
*
|
|
53
|
+
* This component displays a styled avatar-like element with a "+N" label indicating
|
|
54
|
+
* how many additional avatars are not shown in the group. It should be used as the
|
|
55
|
+
* last child of an {@link AvatarGroup}.
|
|
56
|
+
*
|
|
57
|
+
* The overflow indicator inherits the styling of the avatar group and matches the
|
|
58
|
+
* size of other avatars in the group.
|
|
59
|
+
*
|
|
60
|
+
* @param options - Configuration for count, size, and color
|
|
61
|
+
* @returns A div element styled as an avatar showing the overflow count
|
|
62
|
+
*
|
|
63
|
+
* @example
|
|
64
|
+
* ```typescript
|
|
65
|
+
* AvatarGroup({ size: 'md', spacing: 'tight' },
|
|
66
|
+
* Avatar({ name: 'Alice' }),
|
|
67
|
+
* Avatar({ name: 'Bob' }),
|
|
68
|
+
* Avatar({ name: 'Charlie' }),
|
|
69
|
+
* AvatarGroupOverflow({ count: 7, color: 'primary' })
|
|
70
|
+
* )
|
|
71
|
+
* // Displays: [A] [B] [C] [+7]
|
|
72
|
+
* ```
|
|
73
|
+
*/
|
|
74
|
+
export declare function AvatarGroupOverflow({ count, size, color, }: AvatarGroupOverflowOptions): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { TNode, Value } from '@tempots/dom';
|
|
2
|
+
import { ThemeColorName } from '../../tokens';
|
|
3
|
+
/**
|
|
4
|
+
* Size options for Avatar components.
|
|
5
|
+
* Ranges from `'xs'` (24px) to `'2xl'` (96px).
|
|
6
|
+
*/
|
|
7
|
+
export type AvatarSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
8
|
+
/**
|
|
9
|
+
* Configuration options for the {@link Avatar} component.
|
|
10
|
+
*/
|
|
11
|
+
export interface AvatarOptions {
|
|
12
|
+
/** Image URL for the avatar. @default undefined */
|
|
13
|
+
src?: Value<string | undefined>;
|
|
14
|
+
/** Name for generating initials fallback. @default undefined */
|
|
15
|
+
name?: Value<string | undefined>;
|
|
16
|
+
/** Icon name (Iconify format) as a fallback. @default undefined */
|
|
17
|
+
icon?: Value<string | undefined>;
|
|
18
|
+
/** Size of the avatar. @default 'md' */
|
|
19
|
+
size?: Value<AvatarSize>;
|
|
20
|
+
/** Shape variant: circle or square. @default 'circle' */
|
|
21
|
+
variant?: Value<'circle' | 'square'>;
|
|
22
|
+
/** Theme color for the avatar background. @default 'base' */
|
|
23
|
+
color?: Value<ThemeColorName>;
|
|
24
|
+
/** Whether to add a border around the avatar. @default false */
|
|
25
|
+
bordered?: Value<boolean>;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Renders a user avatar with image, initials, or icon fallback.
|
|
29
|
+
*
|
|
30
|
+
* The Avatar component displays user profile images with graceful fallbacks:
|
|
31
|
+
* 1. Image from `src` prop (if provided and loads successfully)
|
|
32
|
+
* 2. Initials derived from `name` prop (if image fails or is not provided)
|
|
33
|
+
* 3. Icon from `icon` prop (if provided and no name is available)
|
|
34
|
+
* 4. Default user icon (if all else fails)
|
|
35
|
+
*
|
|
36
|
+
* Supports multiple sizes, shapes (circle or square), theme colors, and optional borders.
|
|
37
|
+
* The component automatically applies the appropriate background color and text color
|
|
38
|
+
* based on the theme color and appearance mode.
|
|
39
|
+
*
|
|
40
|
+
* @param options - Configuration for image, name, icon, size, shape, color, and border
|
|
41
|
+
* @param children - Additional child nodes appended to the avatar container
|
|
42
|
+
* @returns A div element containing the rendered avatar
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```typescript
|
|
46
|
+
* // Avatar with image
|
|
47
|
+
* Avatar({ src: 'https://example.com/avatar.jpg', name: 'John Doe', size: 'lg' })
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* // Avatar with initials fallback
|
|
53
|
+
* Avatar({ name: 'Jane Smith', color: 'primary', variant: 'square' })
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```typescript
|
|
58
|
+
* // Avatar with icon fallback
|
|
59
|
+
* Avatar({ icon: 'mdi:account', size: 'xl', bordered: true })
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
export declare function Avatar({ src, name, icon, size, variant, color, bordered, }: AvatarOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -3,14 +3,61 @@ import { ControlSize, ButtonVariant } from '../theme';
|
|
|
3
3
|
import { ThemeColorName } from '../../tokens';
|
|
4
4
|
import { ExtendedColor } from '../theme/style-utils';
|
|
5
5
|
import { RadiusName } from '../../tokens/radius';
|
|
6
|
+
/** Configuration options for the {@link Badge} component. */
|
|
6
7
|
export interface BadgeOptions {
|
|
8
|
+
/** Visual style variant matching button variants. @default 'filled' */
|
|
7
9
|
variant?: Value<ButtonVariant>;
|
|
10
|
+
/** Size of the badge affecting padding and font. @default 'md' */
|
|
8
11
|
size?: Value<ControlSize>;
|
|
12
|
+
/** Theme color for the badge background and text. @default 'base' */
|
|
9
13
|
color?: Value<ThemeColorName>;
|
|
14
|
+
/** Border radius of the badge. @default 'full' */
|
|
10
15
|
roundedness?: Value<RadiusName>;
|
|
16
|
+
/** Whether to render as a circle (equal width and height). @default false */
|
|
11
17
|
circle?: Value<boolean>;
|
|
18
|
+
/** Whether the badge takes the full width of its container. @default false */
|
|
12
19
|
fullWidth?: Value<boolean>;
|
|
20
|
+
/** Whether to render as a small colored dot indicator (8px by default). @default false */
|
|
21
|
+
dot?: Value<boolean>;
|
|
13
22
|
}
|
|
14
|
-
|
|
23
|
+
/**
|
|
24
|
+
* Generates CSS class names for the badge based on size, roundedness, and shape.
|
|
25
|
+
*
|
|
26
|
+
* @param size - Control size for padding and text
|
|
27
|
+
* @param roundedness - Border radius preset
|
|
28
|
+
* @param circle - Whether to force a circular shape
|
|
29
|
+
* @param fullWidth - Whether to stretch to full container width
|
|
30
|
+
* @param dot - Whether to render as a small dot indicator
|
|
31
|
+
* @returns Space-separated CSS class string
|
|
32
|
+
*/
|
|
33
|
+
export declare function generateBadgeClasses(size: ControlSize, roundedness: RadiusName, circle: boolean, fullWidth: boolean, dot: boolean): string;
|
|
34
|
+
/**
|
|
35
|
+
* Generates inline CSS custom properties for badge theming based on variant and color.
|
|
36
|
+
* Sets background, text, border, and hover colors for both light and dark modes.
|
|
37
|
+
*
|
|
38
|
+
* @param variant - The visual style variant
|
|
39
|
+
* @param color - The theme color
|
|
40
|
+
* @returns Semicolon-separated CSS custom property declarations
|
|
41
|
+
*/
|
|
15
42
|
export declare function generateBadgeStyles(variant: ButtonVariant, color: ExtendedColor): string;
|
|
16
|
-
|
|
43
|
+
/**
|
|
44
|
+
* A small status indicator or label component with theme-aware colors.
|
|
45
|
+
* Supports all button variants (filled, light, outline, default, text) and
|
|
46
|
+
* can be rendered as a pill, circle, or full-width element.
|
|
47
|
+
*
|
|
48
|
+
* @param options - Configuration for variant, size, color, and shape
|
|
49
|
+
* @param children - Content to display inside the badge (text, number, icon)
|
|
50
|
+
* @returns A styled span element
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* Badge({ variant: 'filled', color: 'success', size: 'sm' }, '3')
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // Circle badge for notification counts
|
|
60
|
+
* Badge({ circle: true, color: 'danger', size: 'xs' }, '9+')
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
63
|
+
export declare function Badge({ variant, size, color, roundedness, circle, fullWidth, dot, }: BadgeOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Value, type Prop, type TNode } from '@tempots/dom';
|
|
2
|
+
import { ControlSize } from '../theme';
|
|
3
|
+
import { ThemeColorName } from '../../tokens';
|
|
4
|
+
import type { BeatUITemporal, PlainDate } from '../../temporal/types';
|
|
5
|
+
export declare const YEARS_PER_PAGE = 20;
|
|
6
|
+
export declare const DAYS_IN_WEEK = 7;
|
|
7
|
+
export declare const MONTH_NAMES: string[];
|
|
8
|
+
export declare const SHORT_MONTH_NAMES: string[];
|
|
9
|
+
export declare const DAY_NAMES: string[];
|
|
10
|
+
export type CalendarView = 'days' | 'months' | 'years';
|
|
11
|
+
export declare function generateCalendarClasses(size: ControlSize, disabled: boolean): string;
|
|
12
|
+
export declare function generateCalendarStyles(color: ThemeColorName): string;
|
|
13
|
+
/** Base cell data computed by {@link buildCalendarGrid}. */
|
|
14
|
+
export interface CalendarBaseCell {
|
|
15
|
+
day: number;
|
|
16
|
+
date: PlainDate;
|
|
17
|
+
inMonth: boolean;
|
|
18
|
+
isToday: boolean;
|
|
19
|
+
isDisabled: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** Builds the base array of day cells for a given month. */
|
|
22
|
+
export declare function buildCalendarGrid(T: BeatUITemporal, year: number, month: number, weekStartsOn: number, today: PlainDate, isDateDisabled?: (date: PlainDate) => boolean): CalendarBaseCell[];
|
|
23
|
+
/** State and actions returned by {@link createCalendarNav}. */
|
|
24
|
+
export interface CalendarNav {
|
|
25
|
+
today: PlainDate;
|
|
26
|
+
currentYear: Prop<number>;
|
|
27
|
+
currentMonth: Prop<number>;
|
|
28
|
+
view: Prop<CalendarView>;
|
|
29
|
+
yearPageStart: Prop<number>;
|
|
30
|
+
shiftedDayNames: string[];
|
|
31
|
+
prevMonth: () => void;
|
|
32
|
+
nextMonth: () => void;
|
|
33
|
+
prevYear: () => void;
|
|
34
|
+
nextYear: () => void;
|
|
35
|
+
prevYearPage: () => void;
|
|
36
|
+
nextYearPage: () => void;
|
|
37
|
+
switchToMonthsView: () => void;
|
|
38
|
+
switchToYearsView: () => void;
|
|
39
|
+
selectMonth: (month: number) => void;
|
|
40
|
+
selectYear: (year: number) => void;
|
|
41
|
+
}
|
|
42
|
+
/** Creates the shared navigation state for a calendar. */
|
|
43
|
+
export declare function createCalendarNav(T: BeatUITemporal, initialYear: number, initialMonth: number, disabled: Value<boolean>, weekStartsOn: number): CalendarNav;
|
|
44
|
+
export interface CalendarShellOptions {
|
|
45
|
+
size: Value<ControlSize>;
|
|
46
|
+
disabled: Value<boolean>;
|
|
47
|
+
color: Value<ThemeColorName>;
|
|
48
|
+
ariaLabel: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Renders the full calendar shell: outer wrapper, navigation header
|
|
52
|
+
* (days/months/years), weekday headers, month picker, year picker,
|
|
53
|
+
* and a custom day grid.
|
|
54
|
+
*/
|
|
55
|
+
export declare function renderCalendarShell(nav: CalendarNav, opts: CalendarShellOptions, renderGrid: () => TNode): TNode;
|
|
56
|
+
/** Converts a `PlainDate` to a JavaScript `Date` (local midnight). */
|
|
57
|
+
export declare function plainDateToDate(pd: PlainDate): Date;
|
|
58
|
+
/** Converts a JavaScript `Date` to a `PlainDate`. */
|
|
59
|
+
export declare function dateToPlainDate(T: BeatUITemporal, d: Date): PlainDate;
|