@tempots/beatui 0.82.0 → 0.83.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
- package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
- package/dist/ar-CBrjAlIY.cjs +1 -0
- package/dist/ar-DjMvIww5.js +175 -0
- package/dist/{ar-NCCPhOpI.js → ar-DwDxAANU.js} +16 -1
- package/dist/ar-kZBzg02I.cjs +1 -0
- package/dist/auth/index.cjs.js +1 -1
- package/dist/auth/index.es.js +64 -1351
- package/dist/auth-divider-C3_CgC0l.js +1375 -0
- package/dist/auth-divider-C4WTL71M.cjs +1 -0
- package/dist/beatui.css +11183 -5596
- package/dist/beatui.tailwind.css +11210 -5623
- package/dist/better-auth/index.cjs.js +1 -0
- package/dist/better-auth/index.es.js +741 -0
- package/dist/{colors-B2yrgHSW.cjs → colors-BI0YhONJ.cjs} +1 -1
- package/dist/{colors-DPo9GEJR.js → colors-BmLYKmoH.js} +38 -30
- package/dist/de-B03SM9eF.cjs +1 -0
- package/dist/{de-BVK2MkCk.js → de-CSGSC0xX.js} +18 -3
- package/dist/de-CrBw41po.cjs +1 -0
- package/dist/{de-f2xcEb34.js → de-wChFYqM4.js} +79 -5
- package/dist/deep-merge-CmQoIYPC.js +1689 -0
- package/dist/deep-merge-UghuPcyW.cjs +1 -0
- package/dist/duration-input-BJzKgI15.cjs +1 -0
- package/dist/{duration-input-B3vnnwBZ.js → duration-input-DaB6s0rL.js} +24 -23
- package/dist/editor-toolbar-group-BslfdazC.js +32 -0
- package/dist/editor-toolbar-group-_V1rDM-1.cjs +1 -0
- package/dist/{es-BxBeTRCv.cjs → es-BRa0hV-7.cjs} +1 -1
- package/dist/es-Ca5xT3NE.cjs +1 -0
- package/dist/es-CmPF3IGl.js +175 -0
- package/dist/{es-BQS8PL9j.js → es-dR46FTMF.js} +16 -1
- package/dist/{fa-DxPseW3g.cjs → fa-BxCSKn9j.cjs} +1 -1
- package/dist/fa-D696e75R.js +175 -0
- package/dist/fa-DhZJYuC6.cjs +1 -0
- package/dist/{fa-T-tkJSJr.js → fa-FsHBFjdY.js} +16 -1
- package/dist/fr-1nSKSIlw.cjs +1 -0
- package/dist/{fr-yOW_68YY.js → fr-B0jeX1Hx.js} +83 -9
- package/dist/{fr-CSRRhyCG.js → fr-Di6BT9_V.js} +18 -3
- package/dist/fr-Dq6RAY9s.cjs +1 -0
- package/dist/he-BBX1h9uD.cjs +1 -0
- package/dist/{he-Bxdc4M08.js → he-CXujw1Lw.js} +16 -1
- package/dist/he-DhcurPt5.cjs +1 -0
- package/dist/he-SgAsIYJA.js +175 -0
- package/dist/{hi-CJeFvTBe.js → hi-Bvh4d9bO.js} +16 -1
- package/dist/hi-Cd0YQZTU.cjs +1 -0
- package/dist/hi-CxsIxbfM.cjs +1 -0
- package/dist/hi-s9oiIihq.js +175 -0
- package/dist/{hls.light.min-Bhrf47iR.cjs → hls.light.min-C6xKDzRR.cjs} +1 -1
- package/dist/{hls.light.min-C6VwviEa.js → hls.light.min-hEMf_E8u.js} +1 -1
- package/dist/{index-ChsRjiIp.cjs → index-Bm43lZqE.cjs} +19 -19
- package/dist/{index-C5YCCgnn.cjs → index-C2_iX1um.cjs} +1 -1
- package/dist/{index-DT6-HMMz.js → index-C32iUFIr.js} +1432 -1462
- package/dist/{index-CiAVfKIZ.js → index-CEqc0H3v.js} +1 -1
- package/dist/index-DH37GTQj.cjs +1 -0
- package/dist/{index-DklKfzD4.js → index-Di1_W_7Q.js} +351 -361
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +6310 -3528
- package/dist/input-container-CSi72GI1.cjs +1 -0
- package/dist/input-container-Nx0gMAzS.js +258 -0
- package/dist/it-ByIEk5Cq.cjs +1 -0
- package/dist/it-D_IcaYxp.cjs +1 -0
- package/dist/{it-6e6X-4BB.js → it-Dc4IMciD.js} +80 -6
- package/dist/{it-Zmp0BhIj.js → it-EWhykhHv.js} +18 -3
- package/dist/ja-CMGqpPo7.cjs +1 -0
- package/dist/{ja-BxNuNo2H.js → ja-D2t2g5xj.js} +85 -11
- package/dist/ja-DV6Fpp18.cjs +1 -0
- package/dist/{ja-DWjoA-hQ.js → ja-YZ0P5woj.js} +16 -1
- package/dist/json-schema/index.cjs.js +1 -1
- package/dist/json-schema/index.es.js +212 -205
- package/dist/json-schema-display/index.cjs.js +1 -1
- package/dist/json-schema-display/index.es.js +1 -1
- package/dist/json-structure/index.cjs.js +1 -1
- package/dist/json-structure/index.es.js +623 -762
- package/dist/ko-BPl5rP97.cjs +1 -0
- package/dist/ko-BRylA5JZ.js +175 -0
- package/dist/ko-DR1f0as8.cjs +1 -0
- package/dist/{ko-BOlI-33h.js → ko-U7BSUAxZ.js} +16 -1
- package/dist/lexical/index.cjs.js +46 -0
- package/dist/lexical/index.es.js +21397 -0
- package/dist/lexical.css +1122 -0
- package/dist/menu-CX72LaZ3.cjs +1 -0
- package/dist/menu-D_slbwl8.js +374 -0
- package/dist/modal-DaI1jH-X.js +488 -0
- package/dist/modal-kyZfvVZb.cjs +1 -0
- package/dist/nl-BSfaHFt0.cjs +1 -0
- package/dist/{nl-Dr-l6zUy.cjs → nl-CQF0N7Mc.cjs} +1 -1
- package/dist/{nl-kQNcAdY1.js → nl-CqAxoB4J.js} +18 -3
- package/dist/nl-Dh7LUWAn.js +176 -0
- package/dist/notice-Bc1L4Zpr.cjs +1 -0
- package/dist/{notice-CZHWWwOQ.js → notice-Dz4nX57_.js} +49 -48
- package/dist/{oneof-branch-detection-BVNoKU9d.js → oneof-branch-detection-BED_n2MT.js} +523 -520
- package/dist/{oneof-branch-detection-C8g3eWnx.cjs → oneof-branch-detection-Vov_e3kI.cjs} +4 -4
- package/dist/{pl-CKyPFvss.js → pl-C-weXGCB.js} +16 -1
- package/dist/pl-D-O4sCnr.cjs +1 -0
- package/dist/{pl-Bs4nLJ__.js → pl-XEG-p1Q9.js} +77 -3
- package/dist/{pl-BK0i_yvq.cjs → pl-y_w3DWF3.cjs} +1 -1
- package/dist/prosemirror/index.cjs.js +1 -1
- package/dist/prosemirror/index.es.js +1 -1
- package/dist/{pt-DBmUhaNI.js → pt-BjNGOoZH.js} +18 -3
- package/dist/pt-DYsDA2sZ.js +175 -0
- package/dist/pt-DqaZWmbG.cjs +1 -0
- package/dist/pt-chEEYLlt.cjs +1 -0
- package/dist/ru-B46hVpFF.cjs +1 -0
- package/dist/{ru-Bi1_DEKM.js → ru-BTKBykp-.js} +86 -12
- package/dist/{ru-CsJ_yT-7.js → ru-CFmeZBXK.js} +16 -1
- package/dist/ru-CISMzCHR.cjs +1 -0
- package/dist/session-id-3KiilioY.js +8 -0
- package/dist/session-id-B5lJMzbB.cjs +1 -0
- package/dist/styles-url-CVCcF0ra.cjs +1 -0
- package/dist/styles-url-DUdp56Ts.js +4 -0
- package/dist/tailwind/index.cjs.js +1 -1
- package/dist/tailwind/index.es.js +3 -3
- package/dist/tailwind/preset.cjs.js +1 -1
- package/dist/tailwind/preset.es.js +74 -4
- package/dist/tailwind/vite-plugin.cjs.js +10 -10
- package/dist/tailwind/vite-plugin.es.js +289 -410
- package/dist/text-input-8v79fzEy.cjs +1 -0
- package/dist/text-input-CPJzUC2r.js +45 -0
- package/dist/{toolbar-DR2Zd4Oo.js → toolbar-CjQG7l7X.js} +4 -4
- package/dist/toolbar-D3ZsC0g_.cjs +1 -0
- package/dist/{tr-Bn5ldVJs.js → tr-C5X2gFZS.js} +17 -2
- package/dist/tr-CaMaflJL.cjs +1 -0
- package/dist/{tr-DiYB-FwX.js → tr-Cp8ZCUic.js} +77 -3
- package/dist/{tr-CgJ8uhZu.cjs → tr-mWu2E__o.cjs} +1 -1
- package/dist/{translations-Cq8bUKJP.js → translations-BGblCUBj.js} +144 -70
- package/dist/translations-CZ0KOii3.cjs +1 -0
- package/dist/translations-gVgMyNno.cjs +1 -0
- package/dist/translations-jUYta1_1.js +87 -0
- package/dist/types/auth/index.d.ts +13 -0
- package/dist/types/auth-i18n/default.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ar.d.ts +14 -0
- package/dist/types/auth-i18n/locales/de.d.ts +14 -0
- package/dist/types/auth-i18n/locales/en.d.ts +14 -0
- package/dist/types/auth-i18n/locales/es.d.ts +14 -0
- package/dist/types/auth-i18n/locales/fa.d.ts +14 -0
- package/dist/types/auth-i18n/locales/fr.d.ts +14 -0
- package/dist/types/auth-i18n/locales/he.d.ts +14 -0
- package/dist/types/auth-i18n/locales/hi.d.ts +14 -0
- package/dist/types/auth-i18n/locales/it.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ja.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ko.d.ts +14 -0
- package/dist/types/auth-i18n/locales/nl.d.ts +14 -0
- package/dist/types/auth-i18n/locales/pl.d.ts +14 -0
- package/dist/types/auth-i18n/locales/pt.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ru.d.ts +14 -0
- package/dist/types/auth-i18n/locales/tr.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ur.d.ts +14 -0
- package/dist/types/auth-i18n/locales/vi.d.ts +14 -0
- package/dist/types/auth-i18n/locales/zh.d.ts +14 -0
- package/dist/types/auth-i18n/translations.d.ts +14 -0
- package/dist/types/beatui-i18n/default.d.ts +99 -0
- package/dist/types/beatui-i18n/index.d.ts +11 -0
- package/dist/types/beatui-i18n/locales/en.d.ts +63 -0
- package/dist/types/beatui-i18n/translations.d.ts +87 -0
- package/dist/types/better-auth/bridge.d.ts +2 -0
- package/dist/types/better-auth/callbacks.d.ts +6 -0
- package/dist/types/better-auth/components/authenticated.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-container.d.ts +4 -0
- package/dist/types/better-auth/components/better-auth-modal.d.ts +4 -0
- package/dist/types/better-auth/components/magic-link-form.d.ts +7 -0
- package/dist/types/better-auth/components/passkey-management.d.ts +6 -0
- package/dist/types/better-auth/components/passkey-signin.d.ts +12 -0
- package/dist/types/better-auth/components/two-factor-setup.d.ts +8 -0
- package/dist/types/better-auth/components/two-factor-verify.d.ts +10 -0
- package/dist/types/better-auth/i18n/default.d.ts +29 -0
- package/dist/types/better-auth/i18n/locales/en.d.ts +28 -0
- package/dist/types/better-auth/i18n/translations.d.ts +27 -0
- package/dist/types/better-auth/index.d.ts +35 -0
- package/dist/types/better-auth/provider.d.ts +39 -0
- package/dist/types/better-auth/session.d.ts +14 -0
- package/dist/types/better-auth/social-mapping.d.ts +2 -0
- package/dist/types/better-auth/types.d.ts +276 -0
- package/dist/types/components/auth/auth-container.d.ts +63 -2
- package/dist/types/components/auth/auth-divider.d.ts +30 -0
- package/dist/types/components/auth/auth-email-prop.d.ts +25 -0
- package/dist/types/components/auth/index.d.ts +9 -0
- package/dist/types/components/auth/password-strength-indicator.d.ts +58 -0
- package/dist/types/components/auth/reset-password-form.d.ts +33 -0
- package/dist/types/components/auth/schemas.d.ts +183 -5
- package/dist/types/components/auth/signin-form.d.ts +33 -0
- package/dist/types/components/auth/signup-form.d.ts +36 -0
- package/dist/types/components/auth/social-login-button.d.ts +213 -0
- package/dist/types/components/auth/social-providers.d.ts +27 -1
- package/dist/types/components/auth/types.d.ts +301 -0
- package/dist/types/components/auth/utils.d.ts +198 -0
- package/dist/types/components/beatui.d.ts +35 -0
- package/dist/types/components/button/button.d.ts +61 -0
- package/dist/types/components/button/close-button.d.ts +32 -1
- package/dist/types/components/button/index.d.ts +2 -0
- package/dist/types/components/button/toggle-button-group.d.ts +95 -0
- package/dist/types/components/button/toggle-button.d.ts +60 -0
- package/dist/types/components/data/avatar-group.d.ts +74 -0
- package/dist/types/components/data/avatar.d.ts +62 -0
- package/dist/types/components/data/badge.d.ts +49 -2
- package/dist/types/components/data/calendar-shared.d.ts +59 -0
- package/dist/types/components/data/calendar.d.ts +107 -0
- package/dist/types/components/data/history-timeline.d.ts +35 -0
- package/dist/types/components/data/icon-badge.d.ts +14 -0
- package/dist/types/components/data/icon.d.ts +55 -4
- package/dist/types/components/data/index.d.ts +9 -0
- package/dist/types/components/data/page-drop-zone.d.ts +61 -8
- package/dist/types/components/data/presence-overlay.d.ts +26 -0
- package/dist/types/components/data/progress-bar.d.ts +81 -0
- package/dist/types/components/data/range-calendar.d.ts +104 -0
- package/dist/types/components/data/skeleton.d.ts +70 -0
- package/dist/types/components/data/table.d.ts +38 -11
- package/dist/types/components/data/tag.d.ts +40 -0
- package/dist/types/components/data/unstyled-drop-zone.d.ts +73 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-button.d.ts +16 -0
- package/dist/types/components/editor-toolbar/editor-toolbar-group.d.ts +9 -0
- package/dist/types/components/editor-toolbar/index.d.ts +2 -0
- package/dist/types/components/form/control/control.d.ts +155 -0
- package/dist/types/components/form/control/date-utils.d.ts +81 -0
- package/dist/types/components/form/control/ensure-control.d.ts +28 -0
- package/dist/types/components/form/control/form-status.d.ts +63 -0
- package/dist/types/components/form/control/index.d.ts +10 -0
- package/dist/types/components/form/control/list-control.d.ts +100 -1
- package/dist/types/components/form/control/list-item-controls.d.ts +65 -0
- package/dist/types/components/form/controller/color-controller.d.ts +29 -1
- package/dist/types/components/form/controller/controller-validation.d.ts +31 -0
- package/dist/types/components/form/controller/controller.d.ts +286 -0
- package/dist/types/components/form/controller/index.d.ts +12 -0
- package/dist/types/components/form/controller/path.d.ts +69 -0
- package/dist/types/components/form/controller/union-controller.d.ts +106 -11
- package/dist/types/components/form/controller/utils.d.ts +67 -0
- package/dist/types/components/form/input/advanced-slider.d.ts +143 -0
- package/dist/types/components/form/input/appearance-selector.d.ts +39 -0
- package/dist/types/components/form/input/base64-input.d.ts +34 -0
- package/dist/types/components/form/input/base64s-input.d.ts +47 -0
- package/dist/types/components/form/input/bigint-input.d.ts +27 -0
- package/dist/types/components/form/input/checkbox-input.d.ts +46 -0
- package/dist/types/components/form/input/color-input.d.ts +42 -0
- package/dist/types/components/form/input/color-swatch-input.d.ts +53 -0
- package/dist/types/components/form/input/combobox-input.d.ts +73 -0
- package/dist/types/components/form/input/combobox-tags-input.d.ts +54 -0
- package/dist/types/components/form/input/date-input.d.ts +33 -0
- package/dist/types/components/form/input/date-time-input.d.ts +34 -0
- package/dist/types/components/form/input/dropdown-base.d.ts +52 -0
- package/dist/types/components/form/input/dropdown-input.d.ts +86 -0
- package/dist/types/components/form/input/duration-input.d.ts +18 -0
- package/dist/types/components/form/input/duration-mask.d.ts +24 -0
- package/dist/types/components/form/input/editable-text.d.ts +33 -0
- package/dist/types/components/form/input/email-input.d.ts +34 -0
- package/dist/types/components/form/input/file-input.d.ts +33 -0
- package/dist/types/components/form/input/files-input.d.ts +44 -0
- package/dist/types/components/form/input/index.d.ts +5 -0
- package/dist/types/components/form/input/input-adornment.d.ts +38 -0
- package/dist/types/components/form/input/input-container.d.ts +65 -0
- package/dist/types/components/form/input/input-options.d.ts +70 -0
- package/dist/types/components/form/input/input-wrapper.d.ts +78 -0
- package/dist/types/components/form/input/instant-input.d.ts +18 -0
- package/dist/types/components/form/input/lazy-native-select.d.ts +43 -0
- package/dist/types/components/form/input/list-input.d.ts +50 -0
- package/dist/types/components/form/input/mask-input.d.ts +158 -0
- package/dist/types/components/form/input/native-select.d.ts +50 -0
- package/dist/types/components/form/input/nullable-base64-input.d.ts +25 -0
- package/dist/types/components/form/input/nullable-bigint-input.d.ts +26 -0
- package/dist/types/components/form/input/nullable-date-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-date-time-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-duration-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-email-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-instant-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-mask-input.d.ts +24 -0
- package/dist/types/components/form/input/nullable-number-input.d.ts +29 -0
- package/dist/types/components/form/input/nullable-password-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-date-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-time-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-rating-input.d.ts +33 -0
- package/dist/types/components/form/input/nullable-text-area.d.ts +27 -0
- package/dist/types/components/form/input/nullable-text-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-url-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-utils.d.ts +22 -2
- package/dist/types/components/form/input/nullable-uuid-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +20 -0
- package/dist/types/components/form/input/number-input.d.ts +49 -0
- package/dist/types/components/form/input/option.d.ts +165 -0
- package/dist/types/components/form/input/otp-input.d.ts +77 -0
- package/dist/types/components/form/input/password-input.d.ts +39 -0
- package/dist/types/components/form/input/plain-date-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-date-time-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-month-day-input.d.ts +18 -0
- package/dist/types/components/form/input/plain-time-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-year-month-input.d.ts +17 -0
- package/dist/types/components/form/input/radio-group.d.ts +108 -0
- package/dist/types/components/form/input/rating-input.d.ts +57 -0
- package/dist/types/components/form/input/segmented-input.d.ts +70 -1
- package/dist/types/components/form/input/select-tags-input.d.ts +69 -0
- package/dist/types/components/form/input/slider-input.d.ts +82 -0
- package/dist/types/components/form/input/switch.d.ts +59 -1
- package/dist/types/components/form/input/tag-input.d.ts +19 -0
- package/dist/types/components/form/input/tag-utils.d.ts +111 -0
- package/dist/types/components/form/input/tags-input.d.ts +18 -0
- package/dist/types/components/form/input/text-area.d.ts +42 -0
- package/dist/types/components/form/input/text-input.d.ts +63 -1
- package/dist/types/components/form/input/url-input.d.ts +34 -0
- package/dist/types/components/form/input/uuid-input.d.ts +19 -0
- package/dist/types/components/form/input/zoned-date-time-input.d.ts +20 -0
- package/dist/types/components/form/schema/standard-schema-v1.d.ts +98 -23
- package/dist/types/components/form/use-form.d.ts +146 -2
- package/dist/types/components/i18n/index.d.ts +9 -0
- package/dist/types/components/i18n/locale-direction.d.ts +21 -1
- package/dist/types/components/i18n/locale-selector.d.ts +45 -0
- package/dist/types/components/i18n/make-i18nprovider.d.ts +42 -0
- package/dist/types/components/json-schema/schema-types.d.ts +133 -0
- package/dist/types/components/json-structure/controls/control-utils.d.ts +19 -0
- package/dist/types/components/json-structure/controls/deprecation-utils.d.ts +2 -3
- package/dist/types/components/json-structure/controls/index.d.ts +1 -0
- package/dist/types/components/json-structure/structure-types.d.ts +473 -19
- package/dist/types/components/layout/accordion.d.ts +77 -0
- package/dist/types/components/layout/action-card.d.ts +90 -2
- package/dist/types/components/layout/app-shell.d.ts +76 -0
- package/dist/types/components/layout/card.d.ts +27 -0
- package/dist/types/components/layout/center.d.ts +39 -0
- package/dist/types/components/layout/collapse.d.ts +28 -0
- package/dist/types/components/layout/divider.d.ts +84 -0
- package/dist/types/components/layout/group.d.ts +15 -0
- package/dist/types/components/layout/index.d.ts +2 -0
- package/dist/types/components/layout/nine-slice-scroll-view.d.ts +105 -0
- package/dist/types/components/layout/scrollable-panel.d.ts +54 -0
- package/dist/types/components/layout/sink.d.ts +46 -0
- package/dist/types/components/layout/stack.d.ts +16 -0
- package/dist/types/components/layout/with-breakpoint.d.ts +194 -0
- package/dist/types/components/lexical/bare-editor.d.ts +29 -0
- package/dist/types/components/lexical/code/index.d.ts +1 -0
- package/dist/types/components/lexical/code/language-selector.d.ts +13 -0
- package/dist/types/components/lexical/contextual-editor.d.ts +22 -0
- package/dist/types/components/lexical/docked-editor.d.ts +23 -0
- package/dist/types/components/lexical/floating/block-handle.d.ts +16 -0
- package/dist/types/components/lexical/floating/floating-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/floating/index.d.ts +6 -0
- package/dist/types/components/lexical/floating/slash-command-palette.d.ts +20 -0
- package/dist/types/components/lexical/index.d.ts +8 -0
- package/dist/types/components/lexical/lexical-editor-input.d.ts +30 -0
- package/dist/types/components/lexical/table/index.d.ts +1 -0
- package/dist/types/components/lexical/table/table-controls.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/index.d.ts +6 -0
- package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +12 -0
- package/dist/types/components/lexical/toolbar/toolbar-button.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-group.d.ts +1 -0
- package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +32 -0
- package/dist/types/components/misc/empty-state.d.ts +86 -0
- package/dist/types/components/misc/expando.d.ts +81 -0
- package/dist/types/components/misc/index.d.ts +2 -1
- package/dist/types/components/misc/link-portal.d.ts +40 -2
- package/dist/types/components/misc/notice.d.ts +93 -0
- package/dist/types/components/misc/notification-panel.d.ts +21 -0
- package/dist/types/components/misc/notification-provider.d.ts +141 -0
- package/dist/types/components/misc/notification.d.ts +93 -0
- package/dist/types/components/misc/style-portal.d.ts +31 -1
- package/dist/types/components/monaco/monaco-editor-input.d.ts +59 -2
- package/dist/types/components/navigation/breadcrumbs.d.ts +96 -0
- package/dist/types/components/navigation/flyout.d.ts +118 -16
- package/dist/types/components/navigation/index.d.ts +3 -0
- package/dist/types/components/navigation/link/link.d.ts +100 -0
- package/dist/types/components/navigation/menu.d.ts +155 -35
- package/dist/types/components/navigation/pagination.d.ts +82 -0
- package/dist/types/components/navigation/sidebar/sidebar-group.d.ts +42 -0
- package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +101 -0
- package/dist/types/components/navigation/sidebar/sidebar-separator.d.ts +17 -0
- package/dist/types/components/navigation/sidebar/sidebar.d.ts +57 -0
- package/dist/types/components/navigation/tabs/tabs.d.ts +3 -2
- package/dist/types/components/navigation/toolbar/toolbar.d.ts +125 -0
- package/dist/types/components/navigation/tree-view.d.ts +95 -0
- package/dist/types/components/overlay/announcement-bar.d.ts +41 -2
- package/dist/types/components/overlay/block-command-palette.d.ts +25 -0
- package/dist/types/components/overlay/command-palette.d.ts +17 -0
- package/dist/types/components/overlay/dialogs.d.ts +213 -0
- package/dist/types/components/overlay/drawer.d.ts +76 -12
- package/dist/types/components/overlay/index.d.ts +4 -0
- package/dist/types/components/overlay/lightbox.d.ts +53 -10
- package/dist/types/components/overlay/modal.d.ts +113 -13
- package/dist/types/components/overlay/overlay.d.ts +61 -0
- package/dist/types/components/overlay/popover.d.ts +100 -0
- package/dist/types/components/overlay/ribbon.d.ts +58 -9
- package/dist/types/components/prosemirror/etoolbar-button.d.ts +11 -11
- package/dist/types/components/prosemirror/etoolbar-group.d.ts +11 -4
- package/dist/types/components/prosemirror/link-control.d.ts +43 -2
- package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +46 -6
- package/dist/types/components/prosemirror/utils.d.ts +113 -1
- package/dist/types/components/theme/style-utils.d.ts +95 -0
- package/dist/types/components/theme/theme.d.ts +39 -0
- package/dist/types/components/theme/types.d.ts +133 -1
- package/dist/types/components/typography/index.d.ts +1 -0
- package/dist/types/components/typography/kbd.d.ts +48 -0
- package/dist/types/components/typography/label.d.ts +45 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/json-schema/index.d.ts +13 -0
- package/dist/types/json-schema-display/index.d.ts +12 -0
- package/dist/types/json-structure/index.d.ts +9 -4
- package/dist/types/lexical/commands/index.d.ts +17 -0
- package/dist/types/lexical/headless.d.ts +39 -0
- package/dist/types/lexical/horizontal-rule-node.d.ts +20 -0
- package/dist/types/lexical/index.d.ts +20 -0
- package/dist/types/lexical/lazy-loader.d.ts +35 -0
- package/dist/types/lexical/nodes.d.ts +29 -0
- package/dist/types/lexical/plugins/auto-link.d.ts +7 -0
- package/dist/types/lexical/plugins/clipboard.d.ts +11 -0
- package/dist/types/lexical/plugins/code-shiki.d.ts +11 -0
- package/dist/types/lexical/plugins/code.d.ts +7 -0
- package/dist/types/lexical/plugins/dragon.d.ts +6 -0
- package/dist/types/lexical/plugins/file-io.d.ts +10 -0
- package/dist/types/lexical/plugins/hashtag.d.ts +7 -0
- package/dist/types/lexical/plugins/history.d.ts +7 -0
- package/dist/types/lexical/plugins/horizontal-rule.d.ts +12 -0
- package/dist/types/lexical/plugins/html-io.d.ts +9 -0
- package/dist/types/lexical/plugins/index.d.ts +24 -0
- package/dist/types/lexical/plugins/link.d.ts +6 -0
- package/dist/types/lexical/plugins/list.d.ts +6 -0
- package/dist/types/lexical/plugins/mark.d.ts +15 -0
- package/dist/types/lexical/plugins/markdown-io.d.ts +13 -0
- package/dist/types/lexical/plugins/offset.d.ts +6 -0
- package/dist/types/lexical/plugins/overflow.d.ts +7 -0
- package/dist/types/lexical/plugins/plain-text.d.ts +6 -0
- package/dist/types/lexical/plugins/rich-text.d.ts +6 -0
- package/dist/types/lexical/plugins/selection.d.ts +6 -0
- package/dist/types/lexical/plugins/slash-commands.d.ts +26 -0
- package/dist/types/lexical/plugins/table.d.ts +11 -0
- package/dist/types/lexical/plugins/text.d.ts +13 -0
- package/dist/types/lexical/plugins/yjs.d.ts +9 -0
- package/dist/types/lexical/styles-url.d.ts +2 -0
- package/dist/types/lexical/styles.d.ts +2 -0
- package/dist/types/lexical/types.d.ts +634 -0
- package/dist/types/lexical-i18n/default.d.ts +92 -0
- package/dist/types/lexical-i18n/index.d.ts +21 -0
- package/dist/types/lexical-i18n/locales/ar.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/de.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/en.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/es.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fa.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/fr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/he.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/hi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/it.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ja.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ko.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/nl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pl.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/pt.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ru.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/tr.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/ur.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/vi.d.ts +91 -0
- package/dist/types/lexical-i18n/locales/zh.d.ts +91 -0
- package/dist/types/lexical-i18n/translations.d.ts +21 -0
- package/dist/types/markdown/index.d.ts +13 -0
- package/dist/types/monaco/index.d.ts +17 -0
- package/dist/types/monaco/lazy-loader.d.ts +79 -0
- package/dist/types/monaco/styles-url.d.ts +11 -0
- package/dist/types/monaco/styles.d.ts +11 -0
- package/dist/types/monaco/types.d.ts +47 -0
- package/dist/types/prosemirror/index.d.ts +12 -0
- package/dist/types/prosemirror/styles-url.d.ts +11 -0
- package/dist/types/prosemirror/styles.d.ts +10 -0
- package/dist/types/tailwind/google-fonts.d.ts +15 -0
- package/dist/types/tailwind/index.d.ts +13 -0
- package/dist/types/tailwind/preset.d.ts +111 -0
- package/dist/types/tailwind/vite-plugin.d.ts +39 -4
- package/dist/types/tokens/base-colors.d.ts +21 -0
- package/dist/types/tokens/breakpoints.d.ts +67 -0
- package/dist/types/tokens/colors.d.ts +213 -4
- package/dist/types/tokens/motion.d.ts +142 -3
- package/dist/types/tokens/radius.d.ts +99 -0
- package/dist/types/tokens/shadows.d.ts +85 -0
- package/dist/types/tokens/spacing.d.ts +111 -0
- package/dist/types/tokens/text-shadows.d.ts +82 -0
- package/dist/types/tokens/typography.d.ts +313 -25
- package/dist/types/tokens/z-index.d.ts +62 -0
- package/dist/types/utils/color.d.ts +297 -28
- package/dist/types/utils/download.d.ts +92 -0
- package/dist/types/utils/focus-trap.d.ts +67 -11
- package/dist/types/utils/format-file-size.d.ts +44 -0
- package/dist/ur-B6yB2JQ7.cjs +1 -0
- package/dist/ur-CvGP14xo.cjs +1 -0
- package/dist/{ur-Bg9eX81v.js → ur-Deo004ME.js} +16 -1
- package/dist/{ur-B69X-xNs.js → ur-DkIYJxsF.js} +82 -8
- package/dist/use-animated-toggle-89fKlXxy.js +195 -0
- package/dist/use-animated-toggle-DrqK7nUS.cjs +1 -0
- package/dist/{use-form-CgZyrACX.js → use-form-BurzbPVV.js} +271 -88
- package/dist/use-form-Uree6QFy.cjs +2 -0
- package/dist/vi-BYk1rJDv.js +53 -0
- package/dist/vi-DKw6PBja.js +175 -0
- package/dist/vi-Df4WZe9y.cjs +1 -0
- package/dist/vi-DneuUbkq.cjs +1 -0
- package/dist/{widget-customization-DRA7E9Zf.js → widget-customization-0is7oTeP.js} +233 -231
- package/dist/widget-customization-B-LmxkPE.cjs +1 -0
- package/dist/zh-C5a9NGFW.cjs +1 -0
- package/dist/zh-CaKHseXJ.js +175 -0
- package/dist/zh-DFHuW_5g.cjs +1 -0
- package/dist/{zh-BIykcEu9.js → zh-DR7QaM65.js} +16 -1
- package/package.json +48 -3
- package/dist/_commonjsHelpers-C6fGbg64.js +0 -6
- package/dist/_commonjsHelpers-DwGv2jUC.cjs +0 -1
- package/dist/ar-BsUm-TCn.cjs +0 -1
- package/dist/ar-D7CXDmVZ.cjs +0 -1
- package/dist/ar-nOSKXpIW.js +0 -101
- package/dist/de-BUFLEyKr.cjs +0 -1
- package/dist/de-WzsOu9Gn.cjs +0 -1
- package/dist/deep-merge-CiOwVWn8.js +0 -1619
- package/dist/deep-merge-DxZqCkE5.cjs +0 -1
- package/dist/duration-input-Dg5SX3lM.cjs +0 -1
- package/dist/es-CDqqzpCw.js +0 -101
- package/dist/es-Ds2Xf3wV.cjs +0 -1
- package/dist/fa-C7tE_hR3.js +0 -101
- package/dist/fa-Ct1UtDB7.cjs +0 -1
- package/dist/fr-Cdyopuz3.cjs +0 -1
- package/dist/fr-CzAkRFed.cjs +0 -1
- package/dist/he-D2oUloCJ.js +0 -101
- package/dist/he-DarDNPn0.cjs +0 -1
- package/dist/he-DlXALrK7.cjs +0 -1
- package/dist/hi-3dBhLwDs.cjs +0 -1
- package/dist/hi-D5ZlZoQq.js +0 -101
- package/dist/hi-tATwsXJ6.cjs +0 -1
- package/dist/index-DE2tjivA.cjs +0 -1
- package/dist/it-BmFag7j0.cjs +0 -1
- package/dist/it-DohtcWi9.cjs +0 -1
- package/dist/ja-Dj-bAKLf.cjs +0 -1
- package/dist/ja-eyTArrgS.cjs +0 -1
- package/dist/ko-BFLCDMMs.cjs +0 -1
- package/dist/ko-BomUE-yQ.cjs +0 -1
- package/dist/ko-Ch0jFsBV.js +0 -101
- package/dist/modal-D2xE47kr.cjs +0 -1
- package/dist/modal-hkQD1bqZ.js +0 -655
- package/dist/nl-Bx2ACvr4.cjs +0 -1
- package/dist/nl-NuTdZO1s.js +0 -102
- package/dist/notice-C0SmlheE.cjs +0 -1
- package/dist/pl-QHl6sl8f.cjs +0 -1
- package/dist/pt-BETjHZrL.js +0 -101
- package/dist/pt-DZGw2Z-1.cjs +0 -1
- package/dist/pt-oBMmVYcu.cjs +0 -1
- package/dist/ru-CtxMmoa6.cjs +0 -1
- package/dist/ru-D03IuLqh.cjs +0 -1
- package/dist/text-input-CByq5OIo.cjs +0 -1
- package/dist/text-input-CFJntP7G.js +0 -287
- package/dist/toolbar-TPWYzoiF.cjs +0 -1
- package/dist/tr-B_-_1wua.cjs +0 -1
- package/dist/translations-B4-Zd2LM.cjs +0 -1
- package/dist/translations-D62qqNV9.cjs +0 -1
- package/dist/translations-DPr6c05Z.js +0 -67
- package/dist/ur-DvqAg9gW.cjs +0 -1
- package/dist/ur-DyUSmIbo.cjs +0 -1
- package/dist/use-form-JjeKCINk.cjs +0 -2
- package/dist/vi-BdzxA60L.js +0 -101
- package/dist/vi-CBmPaHxg.cjs +0 -1
- package/dist/vi-D5R3YcU0.cjs +0 -1
- package/dist/vi-DhdsHHf_.js +0 -38
- package/dist/widget-customization-G-QLB1rw.cjs +0 -1
- package/dist/zh-CCGXcj5r.cjs +0 -1
- package/dist/zh-Cb1b8uik.cjs +0 -1
- package/dist/zh-Dn1UJiZa.js +0 -101
|
@@ -1,9 +1,55 @@
|
|
|
1
1
|
import { Value } from '@tempots/dom';
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { IconSize } from '../../theme';
|
|
4
|
+
/**
|
|
5
|
+
* Configuration options for the {@link CheckboxInput} component.
|
|
6
|
+
*
|
|
7
|
+
* Extends {@link InputOptions} for boolean values with additional properties to
|
|
8
|
+
* customize the checked/unchecked icons and their size.
|
|
9
|
+
*/
|
|
4
10
|
export type CheckboxInputOptions = InputOptions<boolean> & {
|
|
11
|
+
/** Icon name to display when the checkbox is checked. @default 'akar-icons/check-box-fill' */
|
|
5
12
|
checkedIcon?: Value<string | undefined>;
|
|
13
|
+
/** Icon name to display when the checkbox is unchecked. @default 'akar-icons/box' */
|
|
6
14
|
uncheckedIcon?: Value<string | undefined>;
|
|
15
|
+
/** Size of the checkbox icon. @default 'lg' */
|
|
7
16
|
iconSize?: Value<IconSize>;
|
|
8
17
|
};
|
|
18
|
+
/**
|
|
19
|
+
* A custom checkbox input component with icon-based checked/unchecked states.
|
|
20
|
+
*
|
|
21
|
+
* Renders a styled checkbox using icons rather than the native checkbox element,
|
|
22
|
+
* wrapped in an {@link InputContainer}. Supports full keyboard interaction (Space
|
|
23
|
+
* and Enter to toggle), ARIA `role="checkbox"` semantics, and an optional text
|
|
24
|
+
* label rendered from the `placeholder` property. When `placeholder` is set,
|
|
25
|
+
* clicking the label also toggles the checkbox.
|
|
26
|
+
*
|
|
27
|
+
* @param options - Configuration options for the checkbox, including custom icons and icon size
|
|
28
|
+
* @returns A styled checkbox element with optional label, wrapped in an InputContainer
|
|
29
|
+
*
|
|
30
|
+
* @example
|
|
31
|
+
* ```ts
|
|
32
|
+
* import { prop } from '@tempots/dom'
|
|
33
|
+
* import { CheckboxInput } from '@tempots/beatui'
|
|
34
|
+
*
|
|
35
|
+
* const agreed = prop(false)
|
|
36
|
+
* CheckboxInput({
|
|
37
|
+
* value: agreed,
|
|
38
|
+
* onChange: agreed.set,
|
|
39
|
+
* placeholder: 'I agree to the terms and conditions',
|
|
40
|
+
* })
|
|
41
|
+
* ```
|
|
42
|
+
*
|
|
43
|
+
* @example
|
|
44
|
+
* ```ts
|
|
45
|
+
* // With custom icons and size
|
|
46
|
+
* CheckboxInput({
|
|
47
|
+
* value: prop(true),
|
|
48
|
+
* onChange: (v) => console.log('Checked:', v),
|
|
49
|
+
* checkedIcon: 'mdi:checkbox-marked',
|
|
50
|
+
* uncheckedIcon: 'mdi:checkbox-blank-outline',
|
|
51
|
+
* iconSize: 'xl',
|
|
52
|
+
* })
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
9
55
|
export declare const CheckboxInput: (options: CheckboxInputOptions) => import("@tempots/dom").Renderable;
|
|
@@ -1,6 +1,48 @@
|
|
|
1
1
|
import { Renderable, Value } from '@tempots/dom';
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the {@link ColorInput} component.
|
|
5
|
+
*
|
|
6
|
+
* Extends {@link InputOptions} for string color values with an optional size
|
|
7
|
+
* property for the color swatch preview.
|
|
8
|
+
*/
|
|
3
9
|
export type ColorInputOptions = InputOptions<string> & {
|
|
10
|
+
/** Size in pixels of the color swatch preview (square). @default 32 */
|
|
4
11
|
size?: Value<number>;
|
|
5
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* A color input component combining a text field with a clickable color swatch preview.
|
|
15
|
+
*
|
|
16
|
+
* Renders a styled text input for typing color values alongside a {@link Swatch} component
|
|
17
|
+
* that displays the current color and opens the browser's native color picker on click.
|
|
18
|
+
* The text input and swatch stay synchronized through the shared `value` signal. Accepts
|
|
19
|
+
* any valid CSS color string.
|
|
20
|
+
*
|
|
21
|
+
* @param options - Configuration options for the color input
|
|
22
|
+
* @returns A styled color input element with swatch preview, wrapped in an InputContainer
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* import { prop } from '@tempots/dom'
|
|
27
|
+
* import { ColorInput } from '@tempots/beatui'
|
|
28
|
+
*
|
|
29
|
+
* const color = prop('#ff6600')
|
|
30
|
+
* ColorInput({
|
|
31
|
+
* value: color,
|
|
32
|
+
* onChange: color.set,
|
|
33
|
+
* placeholder: '#rrggbb',
|
|
34
|
+
* })
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```ts
|
|
39
|
+
* // With before icon and error state
|
|
40
|
+
* ColorInput({
|
|
41
|
+
* value: prop('#000000'),
|
|
42
|
+
* onInput: (v) => console.log('Picking:', v),
|
|
43
|
+
* before: Icon({ icon: 'line-md:paint-drop' }),
|
|
44
|
+
* hasError: prop(false),
|
|
45
|
+
* })
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
6
48
|
export declare function ColorInput(options: ColorInputOptions): Renderable;
|
|
@@ -1,9 +1,62 @@
|
|
|
1
1
|
import { Value } from '@tempots/dom';
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the {@link ColorSwatchInput} component.
|
|
5
|
+
*
|
|
6
|
+
* Extends {@link InputOptions} for string color values with properties to control
|
|
7
|
+
* the blob preview size, alpha channel support, value display, and output color format.
|
|
8
|
+
*/
|
|
3
9
|
export type ColorSwatchInputOptions = InputOptions<string> & {
|
|
10
|
+
/** When true, renders the formatted color value text next to the blob preview. @default false */
|
|
4
11
|
displayValue?: Value<boolean>;
|
|
12
|
+
/** Size in pixels of the blob preview (square). @default 32 */
|
|
5
13
|
size?: Value<number>;
|
|
14
|
+
/** Enable alpha channel support with a small opacity slider. @default false */
|
|
6
15
|
withAlpha?: Value<boolean>;
|
|
16
|
+
/** Color space format for the displayed text label and emitted value. @default 'rgb' for display, 'hex' for emitted values */
|
|
7
17
|
colorTextFormat?: Value<'hex' | 'rgb' | 'hsl' | 'hwb' | 'oklch'>;
|
|
8
18
|
};
|
|
19
|
+
/**
|
|
20
|
+
* A visually rich color input component displaying a unique SVG blob swatch for each color.
|
|
21
|
+
*
|
|
22
|
+
* Renders an organic blob-shaped color preview (deterministic per RGB value) with a hidden
|
|
23
|
+
* native color picker overlay, wrapped in an {@link InputContainer}. The blob shape changes
|
|
24
|
+
* dynamically as the color changes, providing a unique visual identity for each color.
|
|
25
|
+
* Supports optional alpha channel control via a range slider and displays the formatted
|
|
26
|
+
* color value as text when `displayValue` is enabled.
|
|
27
|
+
*
|
|
28
|
+
* The component accepts colors in any CSS format and can emit values in hex, rgb, hsl,
|
|
29
|
+
* hwb, or oklch format based on the `colorTextFormat` option. The alpha slider preserves
|
|
30
|
+
* its state across color changes.
|
|
31
|
+
*
|
|
32
|
+
* @param options - Configuration options for the color swatch input
|
|
33
|
+
* @returns A styled color swatch input with blob preview, optional alpha slider, and value display
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```ts
|
|
37
|
+
* import { prop } from '@tempots/dom'
|
|
38
|
+
* import { ColorSwatchInput } from '@tempots/beatui'
|
|
39
|
+
*
|
|
40
|
+
* const color = prop('#3498db')
|
|
41
|
+
* ColorSwatchInput({
|
|
42
|
+
* value: color,
|
|
43
|
+
* onChange: color.set,
|
|
44
|
+
* displayValue: true,
|
|
45
|
+
* size: 40,
|
|
46
|
+
* })
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* // With alpha channel and HSL format
|
|
52
|
+
* ColorSwatchInput({
|
|
53
|
+
* value: prop('hsl(200, 70%, 50%)'),
|
|
54
|
+
* onChange: (v) => console.log('Color:', v),
|
|
55
|
+
* withAlpha: true,
|
|
56
|
+
* displayValue: true,
|
|
57
|
+
* colorTextFormat: 'hsl',
|
|
58
|
+
* size: 48,
|
|
59
|
+
* })
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
9
62
|
export declare const ColorSwatchInput: (options: ColorSwatchInputOptions) => import("@tempots/dom").Renderable;
|
|
@@ -2,15 +2,88 @@ import { Merge, Renderable, Signal, TNode, Value } from '@tempots/dom';
|
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { BaseControllerOptions, ControllerOptions } from '../control';
|
|
4
4
|
import { DropdownOption } from './option';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration options for the {@link ComboboxInput} component.
|
|
7
|
+
*
|
|
8
|
+
* Extends {@link InputOptions} with combobox-specific properties including an
|
|
9
|
+
* asynchronous option loader, custom renderers for options and the selected value,
|
|
10
|
+
* and debounce timing for search queries.
|
|
11
|
+
*
|
|
12
|
+
* @template T - The type of the selectable option values
|
|
13
|
+
*/
|
|
5
14
|
export type ComboboxOptions<T> = Merge<InputOptions<T>, {
|
|
15
|
+
/** Async function to fetch options dynamically based on the current search text */
|
|
6
16
|
loadOptions: (search: string) => Promise<DropdownOption<T>[]>;
|
|
17
|
+
/** Render function for displaying each option in the dropdown list */
|
|
7
18
|
renderOption: (value: Signal<T>) => TNode;
|
|
19
|
+
/** Optional render function for displaying the selected value in the closed trigger. Falls back to `renderOption`. */
|
|
8
20
|
renderValue?: (value: Signal<T>) => TNode;
|
|
21
|
+
/** Custom equality function for comparing option values. @default strict equality (===) */
|
|
9
22
|
equality?: (a: T, b: T) => boolean;
|
|
23
|
+
/** Placeholder text displayed when no option is selected */
|
|
10
24
|
placeholder?: Value<string>;
|
|
25
|
+
/** Placeholder text for the search input inside the dropdown. @default 'Search' */
|
|
11
26
|
searchPlaceholder?: Value<string>;
|
|
27
|
+
/** Debounce delay in milliseconds for the search query. @default 150 */
|
|
12
28
|
debounceMs?: number;
|
|
13
29
|
}>;
|
|
30
|
+
/**
|
|
31
|
+
* A searchable combobox input component with asynchronous option loading and custom rendering.
|
|
32
|
+
*
|
|
33
|
+
* Renders a styled dropdown trigger inside an {@link InputContainer} that opens a
|
|
34
|
+
* floating listbox with a search input at the top. Options are loaded asynchronously
|
|
35
|
+
* via the `loadOptions` callback, which is debounced and triggered whenever the search
|
|
36
|
+
* text changes. Each option is rendered using the custom `renderOption` function, while
|
|
37
|
+
* the closed trigger shows the selected value via `renderValue` (or `renderOption` as
|
|
38
|
+
* fallback). A loading spinner appears while options are being fetched.
|
|
39
|
+
*
|
|
40
|
+
* Keyboard navigation supports Arrow Up/Down, Enter to select, and Escape to close.
|
|
41
|
+
* The search input receives focus automatically when the dropdown opens.
|
|
42
|
+
*
|
|
43
|
+
* @template T - The type of the selectable option values
|
|
44
|
+
* @param options - Configuration options for the combobox
|
|
45
|
+
* @returns A styled combobox input element with search and async option loading
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* ```ts
|
|
49
|
+
* import { prop } from '@tempots/dom'
|
|
50
|
+
* import { ComboboxInput, Option } from '@tempots/beatui'
|
|
51
|
+
*
|
|
52
|
+
* const user = prop<User | null>(null)
|
|
53
|
+
* ComboboxInput({
|
|
54
|
+
* value: user,
|
|
55
|
+
* onChange: user.set,
|
|
56
|
+
* loadOptions: async (search) => {
|
|
57
|
+
* const users = await fetchUsers(search)
|
|
58
|
+
* return users.map(u => Option.value(u, u.name))
|
|
59
|
+
* },
|
|
60
|
+
* renderOption: (userSignal) => html.span(userSignal.$.name),
|
|
61
|
+
* placeholder: 'Search for a user...',
|
|
62
|
+
* debounceMs: 300,
|
|
63
|
+
* })
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
14
66
|
export declare const ComboboxInput: <T>(options: ComboboxOptions<T>) => Renderable;
|
|
67
|
+
/**
|
|
68
|
+
* A combobox input wired to a form controller for managed form state.
|
|
69
|
+
*
|
|
70
|
+
* Connects a {@link ComboboxInput} to a form {@link Controller}, automatically
|
|
71
|
+
* mapping the controller's signal to the combobox value and routing change/blur
|
|
72
|
+
* events through the controller's validation pipeline.
|
|
73
|
+
*
|
|
74
|
+
* @template T - The type of the selectable option values
|
|
75
|
+
* @param options - Controller options including the form controller and combobox configuration
|
|
76
|
+
* @returns A controller-bound combobox input
|
|
77
|
+
*/
|
|
15
78
|
export declare const BaseComboboxControl: <T>(options: BaseControllerOptions<T, ComboboxOptions<T>>) => Renderable;
|
|
79
|
+
/**
|
|
80
|
+
* A complete combobox form control with label, description, error message, and validation.
|
|
81
|
+
*
|
|
82
|
+
* Combines {@link BaseComboboxControl} with an {@link InputWrapper} to provide a
|
|
83
|
+
* full-featured form field with label, optional description, and validation error display.
|
|
84
|
+
*
|
|
85
|
+
* @template T - The type of the selectable option values
|
|
86
|
+
* @param options - Controller options including wrapper label/description and combobox configuration
|
|
87
|
+
* @returns A combobox input wrapped in a form field with label and error display
|
|
88
|
+
*/
|
|
16
89
|
export declare const ComboboxControl: <T>(options: ControllerOptions<T, ComboboxOptions<T>>) => Renderable;
|
|
@@ -2,15 +2,69 @@ import { Value } from '@tempots/dom';
|
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { DropdownOption } from './option';
|
|
4
4
|
import { BaseControllerOptions, ControllerOptions } from '../control';
|
|
5
|
+
/**
|
|
6
|
+
* Options for the {@link ComboboxTagsInput} component.
|
|
7
|
+
* Combines tag selection with a searchable dropdown.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam T - The type of tag values.
|
|
10
|
+
*/
|
|
5
11
|
export type ComboboxTagsOptions<T> = {
|
|
12
|
+
/** The available dropdown options to choose from. */
|
|
6
13
|
options: Value<DropdownOption<T>[]>;
|
|
14
|
+
/**
|
|
15
|
+
* Custom equality function for comparing option values.
|
|
16
|
+
* @default (a, b) => a === b
|
|
17
|
+
*/
|
|
7
18
|
equality?: (a: T, b: T) => boolean;
|
|
19
|
+
/** Placeholder text shown when no tags are selected. */
|
|
8
20
|
placeholder?: Value<string>;
|
|
21
|
+
/** Placeholder text for the search input field. */
|
|
9
22
|
searchPlaceholder?: Value<string>;
|
|
23
|
+
/** Custom filter function for matching options against the search query. */
|
|
10
24
|
filter?: (q: string, opt: {
|
|
11
25
|
label: string;
|
|
12
26
|
}) => boolean;
|
|
13
27
|
} & InputOptions<T[]>;
|
|
28
|
+
/**
|
|
29
|
+
* A multi-select tag input with an integrated searchable dropdown.
|
|
30
|
+
*
|
|
31
|
+
* Selected values are displayed as removable chips. An always-visible search
|
|
32
|
+
* input filters the dropdown options. Clicking a dropdown item toggles
|
|
33
|
+
* its selection. Supports grouped options and custom filtering.
|
|
34
|
+
*
|
|
35
|
+
* @typeParam T - The type of tag values.
|
|
36
|
+
* @param options - Configuration options for the combobox tags input.
|
|
37
|
+
* @returns A renderable combobox tags input component.
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* ComboboxTagsInput({
|
|
42
|
+
* value: prop<string[]>([]),
|
|
43
|
+
* options: [
|
|
44
|
+
* { type: 'value', value: 'react', label: 'React' },
|
|
45
|
+
* { type: 'value', value: 'vue', label: 'Vue' },
|
|
46
|
+
* { type: 'value', value: 'angular', label: 'Angular' },
|
|
47
|
+
* ],
|
|
48
|
+
* placeholder: 'Select frameworks...',
|
|
49
|
+
* searchPlaceholder: 'Search...',
|
|
50
|
+
* onChange: tags => console.log('Selected:', tags),
|
|
51
|
+
* })
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
14
54
|
export declare function ComboboxTagsInput<T>(options: ComboboxTagsOptions<T>): import("@tempots/dom").Renderable;
|
|
55
|
+
/**
|
|
56
|
+
* A base form control wrapper for {@link ComboboxTagsInput} using a raw controller.
|
|
57
|
+
*
|
|
58
|
+
* @typeParam T - The type of tag values.
|
|
59
|
+
* @param options - Base controller options for the combobox tags control.
|
|
60
|
+
* @returns A renderable form control component.
|
|
61
|
+
*/
|
|
15
62
|
export declare function BaseComboboxTagsControl<T>(options: BaseControllerOptions<T[], ComboboxTagsOptions<T>>): any;
|
|
63
|
+
/**
|
|
64
|
+
* A full form control wrapper for {@link ComboboxTagsInput} with label, error, and description support.
|
|
65
|
+
*
|
|
66
|
+
* @typeParam T - The type of tag values.
|
|
67
|
+
* @param options - Controller options for the combobox tags control.
|
|
68
|
+
* @returns A renderable form control component with wrapper.
|
|
69
|
+
*/
|
|
16
70
|
export declare function ComboboxTagsControl<T>(options: ControllerOptions<T[], ComboboxTagsOptions<T>>): import("@tempots/dom").Renderable;
|
|
@@ -1,2 +1,35 @@
|
|
|
1
1
|
import { InputOptions } from './input-options';
|
|
2
|
+
/**
|
|
3
|
+
* A date input component wrapping a native `<input type="date">` element.
|
|
4
|
+
*
|
|
5
|
+
* Renders a styled date picker inside an {@link InputContainer} using the browser's
|
|
6
|
+
* native date selection UI. The value is handled as a JavaScript `Date` object and
|
|
7
|
+
* automatically converted to/from the native input's date representation.
|
|
8
|
+
*
|
|
9
|
+
* @param options - Configuration options following the {@link InputOptions} pattern for Date values
|
|
10
|
+
* @returns A styled date input element wrapped in an InputContainer
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```ts
|
|
14
|
+
* import { prop } from '@tempots/dom'
|
|
15
|
+
* import { DateInput } from '@tempots/beatui'
|
|
16
|
+
*
|
|
17
|
+
* const birthday = prop(new Date('1990-01-15'))
|
|
18
|
+
* DateInput({
|
|
19
|
+
* value: birthday,
|
|
20
|
+
* onChange: birthday.set,
|
|
21
|
+
* })
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* // With error state and disabled
|
|
27
|
+
* DateInput({
|
|
28
|
+
* value: prop(new Date()),
|
|
29
|
+
* onChange: (d) => console.log('Selected:', d),
|
|
30
|
+
* hasError: prop(true),
|
|
31
|
+
* disabled: prop(false),
|
|
32
|
+
* })
|
|
33
|
+
* ```
|
|
34
|
+
*/
|
|
2
35
|
export declare const DateInput: (options: InputOptions<Date>) => import("@tempots/dom").Renderable;
|
|
@@ -1,2 +1,36 @@
|
|
|
1
1
|
import { InputOptions } from './input-options';
|
|
2
|
+
/**
|
|
3
|
+
* A date and time input component wrapping a native `<input type="datetime-local">` element.
|
|
4
|
+
*
|
|
5
|
+
* Renders a styled date-time picker inside an {@link InputContainer} using the browser's
|
|
6
|
+
* native datetime selection UI. The value is handled as a JavaScript `Date` object and
|
|
7
|
+
* automatically converted to/from the local datetime string format (`YYYY-MM-DDThh:mm`)
|
|
8
|
+
* required by the native input.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Configuration options following the {@link InputOptions} pattern for Date values
|
|
11
|
+
* @returns A styled datetime input element wrapped in an InputContainer
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* import { prop } from '@tempots/dom'
|
|
16
|
+
* import { DateTimeInput } from '@tempots/beatui'
|
|
17
|
+
*
|
|
18
|
+
* const appointment = prop(new Date())
|
|
19
|
+
* DateTimeInput({
|
|
20
|
+
* value: appointment,
|
|
21
|
+
* onChange: appointment.set,
|
|
22
|
+
* })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* // With label via InputWrapper
|
|
28
|
+
* DateTimeInput({
|
|
29
|
+
* value: prop(new Date()),
|
|
30
|
+
* onChange: (d) => console.log('Selected:', d.toISOString()),
|
|
31
|
+
* disabled: false,
|
|
32
|
+
* size: 'lg',
|
|
33
|
+
* })
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
2
36
|
export declare const DateTimeInput: (options: InputOptions<Date>) => import("@tempots/dom").Renderable;
|
|
@@ -1,19 +1,71 @@
|
|
|
1
1
|
import { Signal, TNode, Value } from '@tempots/dom';
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { DropdownOption } from './option';
|
|
4
|
+
/**
|
|
5
|
+
* Options for the {@link DropdownBase} component.
|
|
6
|
+
* Provides a reusable foundation for building dropdown and combobox inputs
|
|
7
|
+
* with full keyboard navigation, flyout positioning, and ARIA attributes.
|
|
8
|
+
*
|
|
9
|
+
* @typeParam T - The type of option values.
|
|
10
|
+
*/
|
|
4
11
|
export type DropdownBaseOptions<T> = InputOptions<T> & {
|
|
12
|
+
/** ARIA role for the dropdown trigger (`'combobox'` or `'dropdown'`). */
|
|
5
13
|
role: 'combobox' | 'dropdown';
|
|
14
|
+
/** The display content shown in the trigger area (e.g., the selected label). */
|
|
6
15
|
display: TNode;
|
|
16
|
+
/** The list of available dropdown options. */
|
|
7
17
|
optionsSource: Value<DropdownOption<T>[]>;
|
|
18
|
+
/**
|
|
19
|
+
* Whether pressing the spacebar toggles the dropdown open/closed.
|
|
20
|
+
* @default false
|
|
21
|
+
*/
|
|
8
22
|
allowSpaceToggle?: Value<boolean>;
|
|
23
|
+
/** Callback invoked before the dropdown opens (e.g., to kick off loading). */
|
|
9
24
|
onBeforeOpen?: () => void;
|
|
25
|
+
/** Callback invoked right after the dropdown opens (e.g., to focus search input). */
|
|
10
26
|
onAfterOpen?: () => void;
|
|
27
|
+
/**
|
|
28
|
+
* Function that builds the listbox content inside the dropdown flyout.
|
|
29
|
+
* Receives context with IDs, focused value signal, keyboard handler, and selection callback.
|
|
30
|
+
*/
|
|
11
31
|
buildListboxContent: (ctx: {
|
|
32
|
+
/** Unique ID for the dropdown trigger element. */
|
|
12
33
|
dropdownId: string;
|
|
34
|
+
/** Unique ID for the listbox element. */
|
|
13
35
|
listboxId: string;
|
|
36
|
+
/** Signal tracking the currently focused option value. */
|
|
14
37
|
focusedValue: Signal<T | null>;
|
|
38
|
+
/** Keyboard event handler for arrow navigation and selection. */
|
|
15
39
|
handleKeyDown: (ev: KeyboardEvent) => void;
|
|
40
|
+
/** Callback to invoke when an option is selected. */
|
|
16
41
|
onSelect: (value: T) => void;
|
|
17
42
|
}) => TNode;
|
|
18
43
|
};
|
|
44
|
+
/**
|
|
45
|
+
* A reusable base component for building dropdown and combobox inputs.
|
|
46
|
+
*
|
|
47
|
+
* Provides full keyboard navigation (ArrowUp/Down, Enter, Escape, Space),
|
|
48
|
+
* flyout positioning, ARIA attributes for accessibility, and click-to-toggle
|
|
49
|
+
* behavior. The listbox content is delegated to the `buildListboxContent` option,
|
|
50
|
+
* making this a flexible foundation for both `DropdownInput` and `ComboboxInput`.
|
|
51
|
+
*
|
|
52
|
+
* @typeParam T - The type of option values.
|
|
53
|
+
* @param options - Configuration options for the dropdown base.
|
|
54
|
+
* @returns A renderable dropdown base component.
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```ts
|
|
58
|
+
* DropdownBase({
|
|
59
|
+
* value: prop(''),
|
|
60
|
+
* role: 'dropdown',
|
|
61
|
+
* display: html.span('Select...'),
|
|
62
|
+
* optionsSource: myOptions,
|
|
63
|
+
* onChange: v => console.log('Selected:', v),
|
|
64
|
+
* buildListboxContent: ({ onSelect, focusedValue }) =>
|
|
65
|
+
* html.div(
|
|
66
|
+
* // render option items here
|
|
67
|
+
* ),
|
|
68
|
+
* })
|
|
69
|
+
* ```
|
|
70
|
+
*/
|
|
19
71
|
export declare const DropdownBase: <T>(options: DropdownBaseOptions<T>) => import("@tempots/dom").Renderable;
|
|
@@ -2,13 +2,99 @@ import { Renderable, Value, Merge } from '@tempots/dom';
|
|
|
2
2
|
import { InputOptions } from './input-options';
|
|
3
3
|
import { BaseControllerOptions, ControllerOptions } from '../control';
|
|
4
4
|
import { DropdownOption } from './option';
|
|
5
|
+
/**
|
|
6
|
+
* Configuration options for the {@link DropdownInput} component.
|
|
7
|
+
*
|
|
8
|
+
* Extends {@link InputOptions} with dropdown-specific properties including the
|
|
9
|
+
* list of selectable options, custom equality comparison, and optional search
|
|
10
|
+
* filtering.
|
|
11
|
+
*
|
|
12
|
+
* @template T - The type of the selectable option values
|
|
13
|
+
*/
|
|
5
14
|
export type DropdownOptions<T> = Merge<InputOptions<T>, {
|
|
15
|
+
/** The list of selectable options, supporting value items, groups, and break separators */
|
|
6
16
|
options: Value<DropdownOption<T>[]>;
|
|
17
|
+
/** Label to show when no option is selected (fallback for `placeholder`). Uses i18n "selectOne" when both are omitted. */
|
|
7
18
|
unselectedLabel?: Value<string>;
|
|
19
|
+
/** Custom equality function for comparing option values. @default strict equality (===) */
|
|
8
20
|
equality?: (a: T, b: T) => boolean;
|
|
21
|
+
/** Placeholder text displayed when no option is selected */
|
|
9
22
|
placeholder?: Value<string>;
|
|
23
|
+
/** Whether to enable keyboard search filtering (disables Space-to-toggle). @default false */
|
|
10
24
|
searchable?: Value<boolean>;
|
|
11
25
|
}>;
|
|
26
|
+
/**
|
|
27
|
+
* A dropdown select input component with keyboard navigation and flyout option list.
|
|
28
|
+
*
|
|
29
|
+
* Renders a styled dropdown trigger inside an {@link InputContainer} that opens a
|
|
30
|
+
* floating listbox of options on click or keyboard interaction. Supports value options,
|
|
31
|
+
* grouped options, and break separators. The display label automatically reflects the
|
|
32
|
+
* currently selected value's label. Keyboard navigation supports Arrow Up/Down, Enter
|
|
33
|
+
* to select, Escape to close, and optionally Space to toggle (when `searchable` is false).
|
|
34
|
+
*
|
|
35
|
+
* @template T - The type of the selectable option values
|
|
36
|
+
* @param options - Configuration options for the dropdown
|
|
37
|
+
* @returns A styled dropdown input element with a floating option list
|
|
38
|
+
*
|
|
39
|
+
* @example
|
|
40
|
+
* ```ts
|
|
41
|
+
* import { prop } from '@tempots/dom'
|
|
42
|
+
* import { DropdownInput, Option } from '@tempots/beatui'
|
|
43
|
+
*
|
|
44
|
+
* const color = prop('red')
|
|
45
|
+
* DropdownInput({
|
|
46
|
+
* value: color,
|
|
47
|
+
* onChange: color.set,
|
|
48
|
+
* options: [
|
|
49
|
+
* Option.value('red', 'Red'),
|
|
50
|
+
* Option.value('green', 'Green'),
|
|
51
|
+
* Option.value('blue', 'Blue'),
|
|
52
|
+
* ],
|
|
53
|
+
* placeholder: 'Select a color',
|
|
54
|
+
* })
|
|
55
|
+
* ```
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```ts
|
|
59
|
+
* // With grouped options
|
|
60
|
+
* DropdownInput({
|
|
61
|
+
* value: prop(''),
|
|
62
|
+
* onChange: (v) => console.log('Selected:', v),
|
|
63
|
+
* options: [
|
|
64
|
+
* Option.group('Warm', [
|
|
65
|
+
* Option.value('red', 'Red'),
|
|
66
|
+
* Option.value('orange', 'Orange'),
|
|
67
|
+
* ]),
|
|
68
|
+
* Option.break,
|
|
69
|
+
* Option.group('Cool', [
|
|
70
|
+
* Option.value('blue', 'Blue'),
|
|
71
|
+
* Option.value('green', 'Green'),
|
|
72
|
+
* ]),
|
|
73
|
+
* ],
|
|
74
|
+
* })
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
12
77
|
export declare const DropdownInput: <T>(options: DropdownOptions<T>) => Renderable;
|
|
78
|
+
/**
|
|
79
|
+
* A dropdown input wired to a form controller for managed form state.
|
|
80
|
+
*
|
|
81
|
+
* Connects a {@link DropdownInput} to a form {@link Controller}, automatically
|
|
82
|
+
* mapping the controller's signal to the dropdown value and routing change/blur
|
|
83
|
+
* events through the controller's validation pipeline.
|
|
84
|
+
*
|
|
85
|
+
* @template T - The type of the selectable option values
|
|
86
|
+
* @param options - Controller options including the form controller and dropdown configuration
|
|
87
|
+
* @returns A controller-bound dropdown input
|
|
88
|
+
*/
|
|
13
89
|
export declare const BaseDropdownControl: <T>(options: BaseControllerOptions<T, DropdownOptions<T>>) => Renderable;
|
|
90
|
+
/**
|
|
91
|
+
* A complete dropdown form control with label, description, error message, and validation.
|
|
92
|
+
*
|
|
93
|
+
* Combines {@link BaseDropdownControl} with an {@link InputWrapper} to provide a
|
|
94
|
+
* full-featured form field with label, optional description, and validation error display.
|
|
95
|
+
*
|
|
96
|
+
* @template T - The type of the selectable option values
|
|
97
|
+
* @param options - Controller options including wrapper label/description and dropdown configuration
|
|
98
|
+
* @returns A dropdown input wrapped in a form field with label and error display
|
|
99
|
+
*/
|
|
14
100
|
export declare const DropdownControl: <T>(options: ControllerOptions<T, DropdownOptions<T>>) => Renderable;
|
|
@@ -1,3 +1,21 @@
|
|
|
1
1
|
import { InputOptions } from './input-options';
|
|
2
2
|
import { Duration } from '../../../temporal';
|
|
3
|
+
/**
|
|
4
|
+
* An ISO-8601 duration input component with mask validation.
|
|
5
|
+
*
|
|
6
|
+
* Accepts duration strings in the format `PnYnMnDTnHnMnS` (e.g., `P1DT2H30M`).
|
|
7
|
+
* Uses a custom mask that allows only valid duration characters and validates
|
|
8
|
+
* the input via `Temporal.Duration.from()`. Requires the Temporal polyfill.
|
|
9
|
+
*
|
|
10
|
+
* @param options - Standard input options for a `Duration` value.
|
|
11
|
+
* @returns A renderable duration input component.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```ts
|
|
15
|
+
* DurationInput({
|
|
16
|
+
* value: prop(Temporal.Duration.from('PT1H30M')),
|
|
17
|
+
* onChange: d => console.log('Duration:', d.toString()),
|
|
18
|
+
* })
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
3
21
|
export declare const DurationInput: (options: InputOptions<Duration>) => import("@tempots/dom").Renderable;
|
|
@@ -1,5 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Regular expression for validating partial ISO-8601 duration strings during input.
|
|
3
|
+
* Allows incomplete durations that are still being typed (e.g., `P1`, `P1DT`).
|
|
4
|
+
*/
|
|
1
5
|
export declare const DURATION_PARTIAL_RE: RegExp;
|
|
6
|
+
/**
|
|
7
|
+
* Regular expression for validating complete ISO-8601 duration strings.
|
|
8
|
+
* Matches fully formed durations like `P1Y2M3DT4H5M6S`.
|
|
9
|
+
*/
|
|
2
10
|
export declare const DURATION_FULL_RE: RegExp;
|
|
11
|
+
/**
|
|
12
|
+
* Creates a mask configuration object for ISO-8601 duration inputs.
|
|
13
|
+
*
|
|
14
|
+
* The configuration allows only valid duration characters (digits and P, T, W, D, H, M, S),
|
|
15
|
+
* auto-uppercases input, rejects invalid partial patterns, and uses a custom completion
|
|
16
|
+
* check that validates via the provided parse function.
|
|
17
|
+
*
|
|
18
|
+
* @param parse - A function that parses a duration string (e.g., `Temporal.Duration.from`).
|
|
19
|
+
* @returns A mask configuration object suitable for use with {@link MaskInput}.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* const config = durationMaskConfig(Temporal.Duration.from)
|
|
24
|
+
* MaskInput({ ...options, ...config })
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
3
27
|
export declare function durationMaskConfig(parse: (s: string) => unknown): {
|
|
4
28
|
mask: null;
|
|
5
29
|
allowMode: "custom";
|
|
@@ -1,9 +1,42 @@
|
|
|
1
1
|
import { Renderable, Value } from '@tempots/dom';
|
|
2
|
+
/**
|
|
3
|
+
* Options for the {@link EditableText} component.
|
|
4
|
+
*/
|
|
2
5
|
export type EditableTextOptions = {
|
|
6
|
+
/** The current text value to display and edit. */
|
|
3
7
|
value: Value<string>;
|
|
8
|
+
/** Callback invoked with the new text value when editing completes. */
|
|
4
9
|
onChange: (value: string) => void;
|
|
10
|
+
/** Placeholder text shown when the value is empty. */
|
|
5
11
|
placeholder?: Value<string>;
|
|
12
|
+
/**
|
|
13
|
+
* Whether the component should start in editing mode.
|
|
14
|
+
* @default false
|
|
15
|
+
*/
|
|
6
16
|
startEditing?: Value<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* Whether the component is disabled and cannot be edited.
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
7
21
|
disabled?: Value<boolean>;
|
|
8
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* An inline editable text component that toggles between display and edit modes.
|
|
25
|
+
*
|
|
26
|
+
* In display mode, shows the text with a pencil icon button. Clicking the text
|
|
27
|
+
* or button switches to edit mode with an auto-selected input field. Press Enter
|
|
28
|
+
* to confirm, Escape to cancel, or blur to confirm the change.
|
|
29
|
+
*
|
|
30
|
+
* @param options - Configuration options for the editable text.
|
|
31
|
+
* @returns A renderable editable text component.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```ts
|
|
35
|
+
* EditableText({
|
|
36
|
+
* value: prop('Click to edit'),
|
|
37
|
+
* onChange: newValue => console.log('Changed to:', newValue),
|
|
38
|
+
* placeholder: 'Enter text...',
|
|
39
|
+
* })
|
|
40
|
+
* ```
|
|
41
|
+
*/
|
|
9
42
|
export declare const EditableText: ({ startEditing, value, onChange, placeholder, disabled, }: EditableTextOptions) => Renderable;
|