@tempots/beatui 0.82.1 → 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/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 +289 -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,2 +1,36 @@
|
|
|
1
1
|
import { InputOptions } from './input-options';
|
|
2
|
+
/**
|
|
3
|
+
* An email input component wrapping a native `<input type="email">` element.
|
|
4
|
+
*
|
|
5
|
+
* Renders a styled email field inside an {@link InputContainer} with an email icon
|
|
6
|
+
* displayed by default in the `before` slot. The autocomplete attribute defaults to
|
|
7
|
+
* `'email'` and the name defaults to `'email'` for browser autofill compatibility.
|
|
8
|
+
* Placeholder text is sourced from the BeatUI i18n system when not explicitly provided.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Configuration options following the {@link InputOptions} pattern for string values
|
|
11
|
+
* @returns A styled email input element with an email icon, wrapped in an InputContainer
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { prop } from '@tempots/dom'
|
|
16
|
+
* import { EmailInput } from '@tempots/beatui'
|
|
17
|
+
*
|
|
18
|
+
* const email = prop('')
|
|
19
|
+
* EmailInput({
|
|
20
|
+
* value: email,
|
|
21
|
+
* onChange: email.set,
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* // Override the default before icon
|
|
28
|
+
* EmailInput({
|
|
29
|
+
* value: prop(''),
|
|
30
|
+
* onChange: (v) => console.log('Email:', v),
|
|
31
|
+
* before: Icon({ icon: 'custom-email-icon' }),
|
|
32
|
+
* placeholder: 'user@example.com',
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
2
36
|
export declare const EmailInput: (options: InputOptions<string>) => import("@tempots/dom").Renderable;
|
|
@@ -2,10 +2,43 @@ import { Value } from '@tempots/dom';
|
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { Merge } from '@tempots/std';
|
|
4
4
|
import { FileInputMode } from './files-input';
|
|
5
|
+
/**
|
|
6
|
+
* Options for the {@link FileInput} component.
|
|
7
|
+
* Extends standard `InputOptions` for a single file with file-specific settings.
|
|
8
|
+
*/
|
|
5
9
|
export type FileInputOptions = Merge<InputOptions<File | undefined>, {
|
|
10
|
+
/** Comma-separated list of accepted MIME types or file extensions (e.g., `'image/*,.pdf'`). */
|
|
6
11
|
accept?: Value<string>;
|
|
12
|
+
/** Maximum allowed file size in bytes. Files exceeding this size are rejected. */
|
|
7
13
|
maxFileSize?: Value<number>;
|
|
14
|
+
/**
|
|
15
|
+
* Display mode for the file input.
|
|
16
|
+
* @default 'default'
|
|
17
|
+
*/
|
|
8
18
|
mode?: Value<FileInputMode>;
|
|
19
|
+
/**
|
|
20
|
+
* Whether to show the selected file in a list below the drop zone.
|
|
21
|
+
* @default true
|
|
22
|
+
*/
|
|
9
23
|
showFileList?: Value<boolean>;
|
|
10
24
|
}>;
|
|
25
|
+
/**
|
|
26
|
+
* A single-file input component built on top of {@link FilesInput}.
|
|
27
|
+
*
|
|
28
|
+
* Provides a drag-and-drop zone and click-to-select interface for uploading
|
|
29
|
+
* a single file. Internally delegates to `FilesInput` with `maxFiles: 1`.
|
|
30
|
+
*
|
|
31
|
+
* @param options - Configuration options for the file input.
|
|
32
|
+
* @returns A renderable file input component.
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* ```ts
|
|
36
|
+
* FileInput({
|
|
37
|
+
* value: prop<File | undefined>(undefined),
|
|
38
|
+
* accept: 'image/*',
|
|
39
|
+
* maxFileSize: 5 * 1024 * 1024, // 5 MB
|
|
40
|
+
* onChange: file => console.log('Selected:', file?.name),
|
|
41
|
+
* })
|
|
42
|
+
* ```
|
|
43
|
+
*/
|
|
11
44
|
export declare const FileInput: (options: FileInputOptions) => import("@tempots/dom").Renderable;
|
|
@@ -1,12 +1,56 @@
|
|
|
1
1
|
import { Value, TNode } from '@tempots/dom';
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { Merge } from '@tempots/std';
|
|
4
|
+
/**
|
|
5
|
+
* Display mode for file input components.
|
|
6
|
+
* - `'default'` - Full drop zone with file list below.
|
|
7
|
+
* - `'input'` - Inline input-style with compact file chips.
|
|
8
|
+
* - `'compact'` - Compact drop zone with inline file previews.
|
|
9
|
+
*/
|
|
4
10
|
export type FileInputMode = 'default' | 'input' | 'compact';
|
|
11
|
+
/**
|
|
12
|
+
* Options for the {@link FilesInput} component.
|
|
13
|
+
* Extends standard `InputOptions` for a `File[]` value with file-specific settings.
|
|
14
|
+
*/
|
|
5
15
|
export type FilesInputOptions = Merge<InputOptions<File[]>, {
|
|
16
|
+
/** Comma-separated list of accepted MIME types or file extensions (e.g., `'image/*,.pdf'`). */
|
|
6
17
|
accept?: Value<string>;
|
|
18
|
+
/** Maximum number of files that can be selected. */
|
|
7
19
|
maxFiles?: Value<number>;
|
|
20
|
+
/** Maximum allowed file size in bytes. Files exceeding this size are filtered out. */
|
|
8
21
|
maxFileSize?: Value<number>;
|
|
22
|
+
/**
|
|
23
|
+
* Display mode for the file input.
|
|
24
|
+
* @default 'default'
|
|
25
|
+
*/
|
|
9
26
|
mode?: Value<FileInputMode>;
|
|
27
|
+
/**
|
|
28
|
+
* Whether to show the selected files in a list below the drop zone.
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
10
31
|
showFileList?: Value<boolean>;
|
|
11
32
|
}>;
|
|
33
|
+
/**
|
|
34
|
+
* A multi-file input component with drag-and-drop support.
|
|
35
|
+
*
|
|
36
|
+
* Supports multiple display modes (`default`, `input`, `compact`), file type
|
|
37
|
+
* filtering, file size limits, thumbnail previews for images, and per-file
|
|
38
|
+
* removal. Integrates with the i18n system for localized messages.
|
|
39
|
+
*
|
|
40
|
+
* @param options - Configuration options for the multi-file input.
|
|
41
|
+
* @param children - Additional child nodes to render inside the container.
|
|
42
|
+
* @returns A renderable file input component.
|
|
43
|
+
*
|
|
44
|
+
* @example
|
|
45
|
+
* ```ts
|
|
46
|
+
* FilesInput({
|
|
47
|
+
* value: prop<File[]>([]),
|
|
48
|
+
* accept: 'image/*,.pdf',
|
|
49
|
+
* maxFiles: 5,
|
|
50
|
+
* maxFileSize: 10 * 1024 * 1024, // 10 MB
|
|
51
|
+
* mode: 'default',
|
|
52
|
+
* onChange: files => console.log('Files:', files.length),
|
|
53
|
+
* })
|
|
54
|
+
* ```
|
|
55
|
+
*/
|
|
12
56
|
export declare const FilesInput: (options: FilesInputOptions, ...children: TNode[]) => import("@tempots/dom").Renderable;
|
|
@@ -15,6 +15,7 @@ export * from './editable-text';
|
|
|
15
15
|
export * from './email-input';
|
|
16
16
|
export * from './file-input';
|
|
17
17
|
export * from './files-input';
|
|
18
|
+
export * from './input-adornment';
|
|
18
19
|
export * from './input-container';
|
|
19
20
|
export * from './input-options';
|
|
20
21
|
export * from './input-wrapper';
|
|
@@ -37,6 +38,7 @@ export * from './nullable-bigint-input';
|
|
|
37
38
|
export * from './password-input';
|
|
38
39
|
export * from './segmented-input';
|
|
39
40
|
export * from './switch';
|
|
41
|
+
export * from './tag-input';
|
|
40
42
|
export * from './tags-input';
|
|
41
43
|
export * from './text-area';
|
|
42
44
|
export * from './text-input';
|
|
@@ -44,7 +46,10 @@ export * from './uuid-input';
|
|
|
44
46
|
export * from './nullable-uuid-input';
|
|
45
47
|
export * from './rating-input';
|
|
46
48
|
export * from './nullable-rating-input';
|
|
49
|
+
export * from './radio-group';
|
|
47
50
|
export * from './slider-input';
|
|
51
|
+
export * from './advanced-slider';
|
|
52
|
+
export * from './otp-input';
|
|
48
53
|
export * from './plain-date-input';
|
|
49
54
|
export * from './nullable-plain-date-input';
|
|
50
55
|
export * from './plain-time-input';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { TNode, Value } from '@tempots/dom';
|
|
2
|
+
import { ControlSize } from '../../theme';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for {@link InputAdornment}.
|
|
5
|
+
*/
|
|
6
|
+
export type InputAdornmentOptions = {
|
|
7
|
+
/**
|
|
8
|
+
* The size of the adornment, controlling padding and font size.
|
|
9
|
+
* @default 'md'
|
|
10
|
+
*/
|
|
11
|
+
size?: Value<ControlSize>;
|
|
12
|
+
/**
|
|
13
|
+
* When true, applies a subtle background fill and stretches to full height.
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
16
|
+
filled?: Value<boolean>;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* Renders a styled adornment for use in the `before` or `after` slots of {@link InputContainer}.
|
|
20
|
+
*
|
|
21
|
+
* Provides consistent padding, dimmed text color, and an optional background fill.
|
|
22
|
+
* Useful for prefixes (e.g., "$", "https://"), suffixes (e.g., "kg", ".com"),
|
|
23
|
+
* or any small decorative text around an input.
|
|
24
|
+
*
|
|
25
|
+
* @param options - Adornment configuration
|
|
26
|
+
* @param children - Content to display inside the adornment
|
|
27
|
+
* @returns A span element with adornment styling
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* InputContainer({
|
|
32
|
+
* input: html.input(attr.type('text')),
|
|
33
|
+
* before: InputAdornment({ filled: true }, '$'),
|
|
34
|
+
* after: InputAdornment({}, '.00'),
|
|
35
|
+
* })
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
38
|
+
export declare function InputAdornment(options: InputAdornmentOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -1,7 +1,51 @@
|
|
|
1
1
|
import { TNode, Value } from '@tempots/dom';
|
|
2
2
|
import { ControlSize } from '../../theme';
|
|
3
3
|
import { ThemeColorName } from '../../../tokens';
|
|
4
|
+
/**
|
|
5
|
+
* Generates CSS class names for the input element wrapper based on size and container type.
|
|
6
|
+
*
|
|
7
|
+
* @param baseContainer - Whether to use base container styles (skips padding/text size)
|
|
8
|
+
* @param size - The control size ('xs' | 'sm' | 'md' | 'lg' | 'xl')
|
|
9
|
+
* @returns Space-separated string of CSS class names
|
|
10
|
+
*/
|
|
4
11
|
export declare function generateInputContainerInputClasses(baseContainer: boolean, size: ControlSize): string;
|
|
12
|
+
/**
|
|
13
|
+
* Wraps an input element with the standard BeatUI input container styling.
|
|
14
|
+
*
|
|
15
|
+
* This component provides:
|
|
16
|
+
* - Consistent border, background, and focus styles via `bc-input-container`
|
|
17
|
+
* - Error state styling when `hasError` is true
|
|
18
|
+
* - Optional `before` and `after` slots for icons, buttons, or other decorations
|
|
19
|
+
* - Click-to-focus behavior (clicking the container focuses the input)
|
|
20
|
+
* - Responsive sizing based on the `size` prop
|
|
21
|
+
*
|
|
22
|
+
* Used by most form inputs (TextInput, NumberInput, DateInput, etc.) to ensure
|
|
23
|
+
* visual consistency across the component library.
|
|
24
|
+
*
|
|
25
|
+
* @param options - Container configuration options
|
|
26
|
+
* @param options.input - The actual input element (or custom control) to wrap
|
|
27
|
+
* @param options.disabled - Whether the input is disabled
|
|
28
|
+
* @param options.hasError - Whether to apply error styling
|
|
29
|
+
* @param options.before - Node to render before the input (e.g., icon)
|
|
30
|
+
* @param options.after - Node to render after the input (e.g., clear button)
|
|
31
|
+
* @param options.baseContainer - Use minimal "base" container styles instead of full styling
|
|
32
|
+
* @param options.focusableSelector - CSS selector to find the focusable element (default: 'input, select, textarea')
|
|
33
|
+
* @param options.growInput - Whether the input should grow to fill available space (default: true)
|
|
34
|
+
* @param options.size - Visual size of the control (default: 'md')
|
|
35
|
+
* @param children - Additional child nodes to append to the container
|
|
36
|
+
* @returns A div element with the input container structure
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* InputContainer({
|
|
41
|
+
* input: html.input(attr.type('text')),
|
|
42
|
+
* before: InputIcon({ icon: 'search' }),
|
|
43
|
+
* after: html.button('Clear'),
|
|
44
|
+
* hasError: prop(false),
|
|
45
|
+
* size: 'md'
|
|
46
|
+
* })
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
5
49
|
export declare const InputContainer: ({ baseContainer, disabled, input, before, after, hasError, focusableSelector, growInput, size, }: {
|
|
6
50
|
disabled?: Value<boolean>;
|
|
7
51
|
input: TNode;
|
|
@@ -13,6 +57,27 @@ export declare const InputContainer: ({ baseContainer, disabled, input, before,
|
|
|
13
57
|
baseContainer?: Value<boolean>;
|
|
14
58
|
size?: Value<ControlSize>;
|
|
15
59
|
}, ...children: TNode[]) => import("@tempots/dom").Renderable;
|
|
60
|
+
/**
|
|
61
|
+
* Renders an icon with proper styling for use within an input container.
|
|
62
|
+
*
|
|
63
|
+
* This is a convenience component that wraps the `Icon` component with
|
|
64
|
+
* the `bc-input-container__icon` class, which provides appropriate spacing
|
|
65
|
+
* and sizing when placed in the `before` or `after` slots of `InputContainer`.
|
|
66
|
+
*
|
|
67
|
+
* @param options - Icon configuration
|
|
68
|
+
* @param options.icon - Icon name or reactive signal
|
|
69
|
+
* @param options.size - Size of the icon, aligned with input size (default: 'md')
|
|
70
|
+
* @param options.color - Theme color for the icon (default: 'neutral')
|
|
71
|
+
* @returns A span element containing the styled icon
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```ts
|
|
75
|
+
* InputContainer({
|
|
76
|
+
* input: html.input(),
|
|
77
|
+
* before: InputIcon({ icon: 'search', color: 'primary' })
|
|
78
|
+
* })
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
16
81
|
export declare function InputIcon({ icon, size, color, }: {
|
|
17
82
|
icon: Value<string>;
|
|
18
83
|
size?: Value<ControlSize>;
|
|
@@ -1,16 +1,36 @@
|
|
|
1
1
|
import { TNode, Value } from '@tempots/dom';
|
|
2
2
|
import { ControlSize } from '../../theme';
|
|
3
3
|
import { Merge } from '@tempots/std';
|
|
4
|
+
/**
|
|
5
|
+
* Common options shared across all input components in BeatUI.
|
|
6
|
+
*
|
|
7
|
+
* This type defines the foundational properties that every input component
|
|
8
|
+
* accepts, such as disabled state, size, placeholder text, and accessibility
|
|
9
|
+
* attributes. It serves as the base for more specific input option types.
|
|
10
|
+
*
|
|
11
|
+
* All properties accept `Value<T>`, meaning they can be either static values
|
|
12
|
+
* or reactive signals from Tempo's `prop()` function.
|
|
13
|
+
*/
|
|
4
14
|
export type CommonInputOptions = {
|
|
15
|
+
/** HTML autocomplete attribute for browser autofill suggestions */
|
|
5
16
|
autocomplete?: Value<string>;
|
|
17
|
+
/** Whether the input should automatically receive focus when mounted */
|
|
6
18
|
autofocus?: Value<boolean>;
|
|
19
|
+
/** Additional CSS classes to apply to the input element */
|
|
7
20
|
class?: Value<string>;
|
|
21
|
+
/** Whether the input is disabled and cannot be interacted with */
|
|
8
22
|
disabled?: Value<boolean>;
|
|
23
|
+
/** Whether the input has a validation error (applies error styling) */
|
|
9
24
|
hasError?: Value<boolean>;
|
|
25
|
+
/** HTML name attribute, used for form submission */
|
|
10
26
|
name?: Value<string>;
|
|
27
|
+
/** Placeholder text displayed when the input is empty */
|
|
11
28
|
placeholder?: Value<string>;
|
|
29
|
+
/** Unique HTML id attribute for the input element */
|
|
12
30
|
id?: Value<string>;
|
|
31
|
+
/** Whether the input is required for form validation */
|
|
13
32
|
required?: Value<boolean>;
|
|
33
|
+
/** Tab index for keyboard navigation order */
|
|
14
34
|
tabIndex?: Value<number>;
|
|
15
35
|
/**
|
|
16
36
|
* Visual size of the control, aligned with Button sizes.
|
|
@@ -18,12 +38,62 @@ export type CommonInputOptions = {
|
|
|
18
38
|
*/
|
|
19
39
|
size?: Value<ControlSize>;
|
|
20
40
|
};
|
|
41
|
+
/**
|
|
42
|
+
* Generic input options that extend `CommonInputOptions` with value handling.
|
|
43
|
+
*
|
|
44
|
+
* This type is used by most form input components (TextInput, NumberInput, etc.)
|
|
45
|
+
* to provide both common input properties and value-specific callbacks.
|
|
46
|
+
*
|
|
47
|
+
* @template V - The type of the input's value (e.g., string, number, Date)
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* const options: InputOptions<string> = {
|
|
52
|
+
* value: prop('initial'),
|
|
53
|
+
* onChange: (val) => console.log('Changed:', val),
|
|
54
|
+
* placeholder: 'Enter text...',
|
|
55
|
+
* disabled: false,
|
|
56
|
+
* size: 'md'
|
|
57
|
+
* }
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
21
60
|
export type InputOptions<V> = Merge<CommonInputOptions, {
|
|
61
|
+
/** The current value of the input (can be static or reactive signal) */
|
|
22
62
|
value: Value<V>;
|
|
63
|
+
/** Optional node to render before the input element (e.g., icon) */
|
|
23
64
|
before?: TNode;
|
|
65
|
+
/** Optional node to render after the input element (e.g., button) */
|
|
24
66
|
after?: TNode;
|
|
67
|
+
/** Callback invoked when the value changes (typically on blur or enter) */
|
|
25
68
|
onChange?: (value: V) => void;
|
|
69
|
+
/** Callback invoked on every input event (real-time changes) */
|
|
26
70
|
onInput?: (value: V) => void;
|
|
71
|
+
/** Callback invoked when the input loses focus */
|
|
27
72
|
onBlur?: () => void;
|
|
28
73
|
}>;
|
|
74
|
+
/**
|
|
75
|
+
* Helper function that applies common HTML attributes to an input element.
|
|
76
|
+
*
|
|
77
|
+
* This utility converts `CommonInputOptions` into Tempo DOM attribute nodes,
|
|
78
|
+
* handling standard HTML attributes and ARIA attributes for accessibility.
|
|
79
|
+
* It's used internally by all input components to ensure consistent attribute
|
|
80
|
+
* application.
|
|
81
|
+
*
|
|
82
|
+
* Note: The `name` attribute falls back to `id` if not explicitly provided.
|
|
83
|
+
*
|
|
84
|
+
* @param options - Common input options to convert to attributes
|
|
85
|
+
* @returns A Fragment containing all applicable attribute nodes
|
|
86
|
+
*
|
|
87
|
+
* @example
|
|
88
|
+
* ```ts
|
|
89
|
+
* html.input(
|
|
90
|
+
* CommonInputAttributes({
|
|
91
|
+
* id: 'email',
|
|
92
|
+
* placeholder: 'Enter email',
|
|
93
|
+
* required: true,
|
|
94
|
+
* hasError: prop(false)
|
|
95
|
+
* })
|
|
96
|
+
* )
|
|
97
|
+
* ```
|
|
98
|
+
*/
|
|
29
99
|
export declare const CommonInputAttributes: ({ autocomplete, autofocus, class: cls, disabled, name, placeholder, id, required, tabIndex, hasError, }: CommonInputOptions) => import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
|
|
@@ -1,19 +1,97 @@
|
|
|
1
1
|
import { TNode, Value } from '@tempots/dom';
|
|
2
|
+
/**
|
|
3
|
+
* A visual indicator (asterisk) appended to labels for required fields.
|
|
4
|
+
*
|
|
5
|
+
* Renders as a red asterisk (" *") with the `bc-input-wrapper__required` class.
|
|
6
|
+
*/
|
|
2
7
|
export declare const RequiredSymbol: import("@tempots/dom").Renderable;
|
|
8
|
+
/**
|
|
9
|
+
* Layout modes for the input wrapper structure.
|
|
10
|
+
*
|
|
11
|
+
* - `'vertical'` - Label above input (default)
|
|
12
|
+
* - `'horizontal'` - Label and input side-by-side with flexible label width
|
|
13
|
+
* - `'horizontal-label-right'` - Label on the right side of the input
|
|
14
|
+
* - `'horizontal-fixed'` - Label on the left with fixed width (use `labelWidth` option)
|
|
15
|
+
*/
|
|
3
16
|
export type InputWrapperLayout = 'vertical' | 'horizontal' | 'horizontal-label-right' | 'horizontal-fixed';
|
|
17
|
+
/**
|
|
18
|
+
* Configuration options for the `InputWrapper` component.
|
|
19
|
+
*
|
|
20
|
+
* This type defines all the options for wrapping an input with label, description,
|
|
21
|
+
* error message, and contextual information. It's used by form controls and
|
|
22
|
+
* standalone inputs to provide consistent labeling and error display.
|
|
23
|
+
*/
|
|
4
24
|
export type InputWrapperOptions = {
|
|
25
|
+
/** Whether the wrapper should take full width of its container */
|
|
5
26
|
fullWidth?: Value<boolean>;
|
|
27
|
+
/** Label text or node to display above/beside the input */
|
|
6
28
|
label?: TNode;
|
|
29
|
+
/** Additional content to render after the label (e.g., badges, tooltips) */
|
|
7
30
|
labelChildren?: TNode;
|
|
31
|
+
/** Contextual information displayed in the header area (e.g., character count) */
|
|
8
32
|
context?: TNode;
|
|
33
|
+
/** Helpful description text displayed below the input (or under label in horizontal layouts) */
|
|
9
34
|
description?: TNode;
|
|
35
|
+
/** Error message to display when the input has a validation error */
|
|
10
36
|
error?: TNode;
|
|
37
|
+
/** Whether the input is required (adds asterisk to label) */
|
|
11
38
|
required?: Value<boolean>;
|
|
39
|
+
/** The actual input element or control to wrap */
|
|
12
40
|
content: TNode;
|
|
41
|
+
/** ID of the input element for the label's `for` attribute */
|
|
13
42
|
labelFor?: Value<string>;
|
|
43
|
+
/** Whether the input has a validation error (applies error styling) */
|
|
14
44
|
hasError?: Value<boolean>;
|
|
45
|
+
/** Whether the input is disabled (applies disabled styling to label) */
|
|
15
46
|
disabled?: Value<boolean>;
|
|
47
|
+
/** Layout mode for label and input positioning */
|
|
16
48
|
layout?: Value<InputWrapperLayout>;
|
|
49
|
+
/** CSS width value for label in 'horizontal-fixed' layout (e.g., '120px', '10rem') */
|
|
17
50
|
labelWidth?: Value<string>;
|
|
18
51
|
};
|
|
52
|
+
/**
|
|
53
|
+
* Wraps an input element with label, description, error message, and accessibility attributes.
|
|
54
|
+
*
|
|
55
|
+
* This is the primary wrapper component used by all form controls in BeatUI. It provides:
|
|
56
|
+
* - Label with optional required indicator (asterisk)
|
|
57
|
+
* - Contextual information (e.g., character count)
|
|
58
|
+
* - Description text for additional guidance
|
|
59
|
+
* - Error message display with ARIA live region announcements
|
|
60
|
+
* - Proper accessibility attributes (aria-describedby, aria-invalid, role="alert")
|
|
61
|
+
* - Multiple layout modes (vertical, horizontal, horizontal-label-right, horizontal-fixed)
|
|
62
|
+
* - Automatic ID generation for linking label, description, and error to the input
|
|
63
|
+
*
|
|
64
|
+
* The component handles state styling (error, disabled) and ensures screen readers
|
|
65
|
+
* receive appropriate context through ARIA attributes.
|
|
66
|
+
*
|
|
67
|
+
* @param options - Configuration options for the wrapper
|
|
68
|
+
* @param options.content - The input element or control to wrap (required)
|
|
69
|
+
* @param options.label - Label text or node
|
|
70
|
+
* @param options.description - Help text displayed below the input
|
|
71
|
+
* @param options.error - Error message (automatically sets hasError to true)
|
|
72
|
+
* @param options.required - Whether to show the required asterisk
|
|
73
|
+
* @param options.labelFor - ID of the input element
|
|
74
|
+
* @param options.hasError - Whether to apply error styling
|
|
75
|
+
* @param options.disabled - Whether to apply disabled styling
|
|
76
|
+
* @param options.layout - Layout mode (default: 'vertical')
|
|
77
|
+
* @param options.labelWidth - Fixed width for label in 'horizontal-fixed' layout
|
|
78
|
+
* @param options.context - Contextual info in the header (e.g., character count)
|
|
79
|
+
* @param options.labelChildren - Additional content after the label
|
|
80
|
+
* @param options.fullWidth - Whether to take full container width
|
|
81
|
+
* @param children - Additional nodes to append to the wrapper
|
|
82
|
+
* @returns A div element with the complete input wrapper structure
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```ts
|
|
86
|
+
* InputWrapper({
|
|
87
|
+
* label: 'Email',
|
|
88
|
+
* description: 'We will never share your email',
|
|
89
|
+
* required: true,
|
|
90
|
+
* labelFor: 'email-input',
|
|
91
|
+
* content: html.input(attr.type('email'), attr.id('email-input')),
|
|
92
|
+
* error: prop<string | undefined>(undefined),
|
|
93
|
+
* layout: 'vertical'
|
|
94
|
+
* })
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
19
97
|
export declare const InputWrapper: ({ fullWidth, required, label, labelChildren, context, description, content, error, labelFor, hasError, disabled, layout, labelWidth, }: InputWrapperOptions, ...children: TNode[]) => import("@tempots/dom").Renderable;
|
|
@@ -1,3 +1,21 @@
|
|
|
1
1
|
import { InputOptions } from './input-options';
|
|
2
2
|
import { Instant } from '../../../temporal';
|
|
3
|
+
/**
|
|
4
|
+
* An input component for `Temporal.Instant` values.
|
|
5
|
+
*
|
|
6
|
+
* Renders a `datetime-local` HTML input. Converts the instant to a local
|
|
7
|
+
* date-time string for display and parses the input back to an `Instant`
|
|
8
|
+
* via ISO string conversion. Requires the Temporal polyfill.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Standard input options for an `Instant` value.
|
|
11
|
+
* @returns A renderable instant input component.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* InstantInput({
|
|
16
|
+
* value: prop(Temporal.Now.instant()),
|
|
17
|
+
* onChange: instant => console.log('Instant:', instant.toString()),
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
3
21
|
export declare const InstantInput: (options: InputOptions<Instant>) => import("@tempots/dom").Renderable;
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
import { Signal, Value } from '@tempots/dom';
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { SelectOption } from './option';
|
|
4
|
+
/**
|
|
5
|
+
* Options for the {@link LazyNativeSelect} component.
|
|
6
|
+
* Extends standard `InputOptions` with async option loading.
|
|
7
|
+
*
|
|
8
|
+
* @typeParam T - The type of option values.
|
|
9
|
+
* @typeParam R - The type of the request signal that triggers loading.
|
|
10
|
+
*/
|
|
4
11
|
export type LazyNativeSelectOptions<T, R> = InputOptions<T> & {
|
|
12
|
+
/** A reactive signal whose changes trigger option reloading. */
|
|
5
13
|
request: Signal<R>;
|
|
14
|
+
/**
|
|
15
|
+
* Async function that loads options. Receives the current request value
|
|
16
|
+
* and an abort signal for cancellation. Can return either `SelectOption<T>`
|
|
17
|
+
* objects or simplified `{ id, label }` objects.
|
|
18
|
+
*/
|
|
6
19
|
load: (options: {
|
|
7
20
|
request: R;
|
|
8
21
|
abortSignal: AbortSignal;
|
|
@@ -10,7 +23,37 @@ export type LazyNativeSelectOptions<T, R> = InputOptions<T> & {
|
|
|
10
23
|
id: T;
|
|
11
24
|
label: string;
|
|
12
25
|
})[]>;
|
|
26
|
+
/** Label for the initial unselected/placeholder option. */
|
|
13
27
|
unselectedLabel?: Value<string>;
|
|
28
|
+
/**
|
|
29
|
+
* Custom equality function for comparing option values.
|
|
30
|
+
* @default (a, b) => a === b
|
|
31
|
+
*/
|
|
14
32
|
equality?: (a: T, b: T) => boolean;
|
|
15
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* A native select input that loads its options asynchronously.
|
|
36
|
+
*
|
|
37
|
+
* Shows a loading spinner while options are being fetched, then renders a
|
|
38
|
+
* standard {@link NativeSelect} once loaded. Options are reloaded whenever
|
|
39
|
+
* the `request` signal changes.
|
|
40
|
+
*
|
|
41
|
+
* @typeParam T - The type of option values.
|
|
42
|
+
* @typeParam R - The type of the request signal that triggers loading.
|
|
43
|
+
* @param options - Configuration options for the lazy native select.
|
|
44
|
+
* @returns A renderable lazy native select component.
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```ts
|
|
48
|
+
* LazyNativeSelect({
|
|
49
|
+
* value: prop<string>(''),
|
|
50
|
+
* request: prop({ search: '' }),
|
|
51
|
+
* load: async ({ request, abortSignal }) => {
|
|
52
|
+
* const response = await fetch(`/api/options?q=${request.search}`, { signal: abortSignal })
|
|
53
|
+
* return response.json()
|
|
54
|
+
* },
|
|
55
|
+
* onChange: value => console.log('Selected:', value),
|
|
56
|
+
* })
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
16
59
|
export declare const LazyNativeSelect: <T, R>(options: LazyNativeSelectOptions<T, R>) => import("@tempots/dom").Renderable;
|
|
@@ -1,14 +1,64 @@
|
|
|
1
1
|
import { ElementPosition, Signal, TNode } from '@tempots/dom';
|
|
2
2
|
import { ArrayController, Controller } from '../controller/controller';
|
|
3
|
+
/**
|
|
4
|
+
* Payload passed to the element render function of a {@link ListInput}.
|
|
5
|
+
* Provides the controller, item data, position information, and
|
|
6
|
+
* actions for removing and reordering items.
|
|
7
|
+
*
|
|
8
|
+
* @typeParam T - The type of individual list items.
|
|
9
|
+
*/
|
|
3
10
|
export type ListInputPayload<T> = {
|
|
11
|
+
/** The array controller managing the entire list. */
|
|
4
12
|
list: ArrayController<T[]>;
|
|
13
|
+
/** The controller for this specific item. */
|
|
5
14
|
item: Controller<T>;
|
|
15
|
+
/** The element's position information (index, isFirst, isLast, etc.). */
|
|
6
16
|
position: ElementPosition;
|
|
17
|
+
/** Removes this item from the list. */
|
|
7
18
|
remove: () => void;
|
|
19
|
+
/** Moves this item in the specified direction. */
|
|
8
20
|
move: (direction: MoveDirection) => void;
|
|
21
|
+
/** Returns a reactive signal indicating whether the item can be moved in the given direction. */
|
|
9
22
|
canMove: (direction: MovableDirection) => Signal<boolean>;
|
|
23
|
+
/** Returns a reactive signal indicating whether the item cannot be moved in the given direction. */
|
|
10
24
|
cannotMove: (direction: MovableDirection) => Signal<boolean>;
|
|
11
25
|
};
|
|
26
|
+
/**
|
|
27
|
+
* Direction in which a list item can be moved.
|
|
28
|
+
*/
|
|
12
29
|
export type MoveDirection = 'up' | 'down' | 'first' | 'last';
|
|
30
|
+
/**
|
|
31
|
+
* Directions that can be checked for movability (only up and down, since
|
|
32
|
+
* first/last are always possible when movement in that direction is possible).
|
|
33
|
+
*/
|
|
13
34
|
export type MovableDirection = 'up' | 'down';
|
|
35
|
+
/**
|
|
36
|
+
* A dynamic list input component that renders a repeating set of items from an
|
|
37
|
+
* array controller. Each item receives a payload with actions for removal and
|
|
38
|
+
* reordering (move up, down, first, last).
|
|
39
|
+
*
|
|
40
|
+
* @typeParam T - The type of individual list items.
|
|
41
|
+
* @param controller - The array controller managing the list state.
|
|
42
|
+
* @param element - Render function called for each list item. Receives a
|
|
43
|
+
* {@link ListInputPayload} with the item controller and action callbacks.
|
|
44
|
+
* @param separator - Optional render function for separators between items.
|
|
45
|
+
* @returns A renderable list of items with management actions.
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* ListInput(
|
|
50
|
+
* myArrayController,
|
|
51
|
+
* ({ item, remove, move, canMove }) =>
|
|
52
|
+
* html.div(
|
|
53
|
+
* TextInput({ value: item.signal, onChange: item.set }),
|
|
54
|
+
* html.button(on.click(remove), 'Remove'),
|
|
55
|
+
* html.button(
|
|
56
|
+
* attr.disabled(canMove('up').map(v => !v)),
|
|
57
|
+
* on.click(() => move('up')),
|
|
58
|
+
* 'Move Up'
|
|
59
|
+
* ),
|
|
60
|
+
* )
|
|
61
|
+
* )
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
14
64
|
export declare function ListInput<T>(controller: ArrayController<T[]>, element: (payload: ListInputPayload<T>) => TNode, separator?: (pos: ElementPosition) => TNode): import("@tempots/dom").Renderable<import("@tempots/dom").DOMContext>;
|