@tempots/beatui 0.82.1 → 0.83.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ar-CBrjAlIY.cjs +1 -0
- package/dist/ar-DjMvIww5.js +175 -0
- package/dist/{ar-NCCPhOpI.js → ar-DwDxAANU.js} +16 -1
- package/dist/ar-kZBzg02I.cjs +1 -0
- package/dist/auth/index.cjs.js +1 -1
- package/dist/auth/index.es.js +33 -32
- package/dist/{auth-divider-Wr-S16kF.js → auth-divider-C3_CgC0l.js} +589 -569
- package/dist/auth-divider-C4WTL71M.cjs +1 -0
- package/dist/beatui.css +5678 -1438
- package/dist/beatui.tailwind.css +5662 -1422
- package/dist/better-auth/index.cjs.js +1 -1
- package/dist/better-auth/index.es.js +18 -31
- package/dist/{colors-B2yrgHSW.cjs → colors-BI0YhONJ.cjs} +1 -1
- package/dist/{colors-DPo9GEJR.js → colors-BmLYKmoH.js} +38 -30
- package/dist/de-B03SM9eF.cjs +1 -0
- package/dist/{de-BVK2MkCk.js → de-CSGSC0xX.js} +18 -3
- package/dist/de-CrBw41po.cjs +1 -0
- package/dist/{de-f2xcEb34.js → de-wChFYqM4.js} +79 -5
- package/dist/deep-merge-CmQoIYPC.js +1689 -0
- package/dist/deep-merge-UghuPcyW.cjs +1 -0
- package/dist/{duration-input-B9UNmUCh.cjs → duration-input-BJzKgI15.cjs} +1 -1
- package/dist/{duration-input-DqcJbxKD.js → duration-input-DaB6s0rL.js} +4 -4
- package/dist/editor-toolbar-group-BslfdazC.js +32 -0
- package/dist/editor-toolbar-group-_V1rDM-1.cjs +1 -0
- package/dist/{es-BxBeTRCv.cjs → es-BRa0hV-7.cjs} +1 -1
- package/dist/es-Ca5xT3NE.cjs +1 -0
- package/dist/es-CmPF3IGl.js +175 -0
- package/dist/{es-BQS8PL9j.js → es-dR46FTMF.js} +16 -1
- package/dist/{fa-DxPseW3g.cjs → fa-BxCSKn9j.cjs} +1 -1
- package/dist/fa-D696e75R.js +175 -0
- package/dist/fa-DhZJYuC6.cjs +1 -0
- package/dist/{fa-T-tkJSJr.js → fa-FsHBFjdY.js} +16 -1
- package/dist/fr-1nSKSIlw.cjs +1 -0
- package/dist/{fr-yOW_68YY.js → fr-B0jeX1Hx.js} +83 -9
- package/dist/{fr-CSRRhyCG.js → fr-Di6BT9_V.js} +18 -3
- package/dist/fr-Dq6RAY9s.cjs +1 -0
- package/dist/he-BBX1h9uD.cjs +1 -0
- package/dist/{he-Bxdc4M08.js → he-CXujw1Lw.js} +16 -1
- package/dist/he-DhcurPt5.cjs +1 -0
- package/dist/he-SgAsIYJA.js +175 -0
- package/dist/{hi-CJeFvTBe.js → hi-Bvh4d9bO.js} +16 -1
- package/dist/hi-Cd0YQZTU.cjs +1 -0
- package/dist/hi-CxsIxbfM.cjs +1 -0
- package/dist/hi-s9oiIihq.js +175 -0
- package/dist/{index-Bt7FYl80.cjs → index-Bm43lZqE.cjs} +2 -2
- package/dist/{index-05UbKOYe.cjs → index-C2_iX1um.cjs} +1 -1
- package/dist/{index-C2Lq1m45.js → index-C32iUFIr.js} +5 -5
- package/dist/{index-lYhXnu6I.js → index-CEqc0H3v.js} +1 -1
- package/dist/index-DH37GTQj.cjs +1 -0
- package/dist/{index-DklKfzD4.js → index-Di1_W_7Q.js} +351 -361
- package/dist/index.cjs.js +4 -4
- package/dist/index.es.js +6220 -3084
- package/dist/input-container-CSi72GI1.cjs +1 -0
- package/dist/{input-container-DiCjOzR2.js → input-container-Nx0gMAzS.js} +86 -75
- package/dist/it-ByIEk5Cq.cjs +1 -0
- package/dist/it-D_IcaYxp.cjs +1 -0
- package/dist/{it-6e6X-4BB.js → it-Dc4IMciD.js} +80 -6
- package/dist/{it-Zmp0BhIj.js → it-EWhykhHv.js} +18 -3
- package/dist/ja-CMGqpPo7.cjs +1 -0
- package/dist/{ja-BxNuNo2H.js → ja-D2t2g5xj.js} +85 -11
- package/dist/ja-DV6Fpp18.cjs +1 -0
- package/dist/{ja-DWjoA-hQ.js → ja-YZ0P5woj.js} +16 -1
- package/dist/json-schema/index.cjs.js +1 -1
- package/dist/json-schema/index.es.js +191 -185
- package/dist/json-schema-display/index.cjs.js +1 -1
- package/dist/json-schema-display/index.es.js +1 -1
- package/dist/json-structure/index.cjs.js +1 -1
- package/dist/json-structure/index.es.js +679 -660
- package/dist/ko-BPl5rP97.cjs +1 -0
- package/dist/ko-BRylA5JZ.js +175 -0
- package/dist/ko-DR1f0as8.cjs +1 -0
- package/dist/{ko-BOlI-33h.js → ko-U7BSUAxZ.js} +16 -1
- package/dist/lexical/index.cjs.js +31 -31
- package/dist/lexical/index.es.js +5248 -5221
- package/dist/lexical.css +5 -7
- package/dist/menu-CX72LaZ3.cjs +1 -0
- package/dist/menu-D_slbwl8.js +374 -0
- package/dist/{modal-v3u2Fpnd.js → modal-DaI1jH-X.js} +4 -4
- package/dist/{modal-I5srcntN.cjs → modal-kyZfvVZb.cjs} +1 -1
- package/dist/nl-BSfaHFt0.cjs +1 -0
- package/dist/{nl-Dr-l6zUy.cjs → nl-CQF0N7Mc.cjs} +1 -1
- package/dist/{nl-kQNcAdY1.js → nl-CqAxoB4J.js} +18 -3
- package/dist/nl-Dh7LUWAn.js +176 -0
- package/dist/{notice-CLDdy1MW.cjs → notice-Bc1L4Zpr.cjs} +1 -1
- package/dist/{notice-BuZvdvZh.js → notice-Dz4nX57_.js} +4 -4
- package/dist/{oneof-branch-detection-Dt8ss9lc.js → oneof-branch-detection-BED_n2MT.js} +522 -519
- package/dist/{oneof-branch-detection-DsM1K5xc.cjs → oneof-branch-detection-Vov_e3kI.cjs} +4 -4
- package/dist/{pl-CKyPFvss.js → pl-C-weXGCB.js} +16 -1
- package/dist/pl-D-O4sCnr.cjs +1 -0
- package/dist/{pl-Bs4nLJ__.js → pl-XEG-p1Q9.js} +77 -3
- package/dist/{pl-BK0i_yvq.cjs → pl-y_w3DWF3.cjs} +1 -1
- package/dist/prosemirror/index.cjs.js +1 -1
- package/dist/prosemirror/index.es.js +1 -1
- package/dist/{pt-DBmUhaNI.js → pt-BjNGOoZH.js} +18 -3
- package/dist/pt-DYsDA2sZ.js +175 -0
- package/dist/pt-DqaZWmbG.cjs +1 -0
- package/dist/pt-chEEYLlt.cjs +1 -0
- package/dist/ru-B46hVpFF.cjs +1 -0
- package/dist/{ru-Bi1_DEKM.js → ru-BTKBykp-.js} +86 -12
- package/dist/{ru-CsJ_yT-7.js → ru-CFmeZBXK.js} +16 -1
- package/dist/ru-CISMzCHR.cjs +1 -0
- package/dist/{styles-url-B2dzXrYt.cjs → styles-url-CVCcF0ra.cjs} +1 -1
- package/dist/{styles-url-Cw_mxshe.js → styles-url-DUdp56Ts.js} +1 -1
- package/dist/tailwind/index.cjs.js +1 -1
- package/dist/tailwind/index.es.js +3 -3
- package/dist/tailwind/preset.cjs.js +1 -1
- package/dist/tailwind/preset.es.js +74 -4
- package/dist/tailwind/vite-plugin.cjs.js +10 -10
- package/dist/tailwind/vite-plugin.es.js +294 -410
- package/dist/text-input-8v79fzEy.cjs +1 -0
- package/dist/text-input-CPJzUC2r.js +45 -0
- package/dist/{toolbar-D994_E_s.js → toolbar-CjQG7l7X.js} +1 -1
- package/dist/{toolbar-x0_8lmKu.cjs → toolbar-D3ZsC0g_.cjs} +1 -1
- package/dist/{tr-Bn5ldVJs.js → tr-C5X2gFZS.js} +17 -2
- package/dist/tr-CaMaflJL.cjs +1 -0
- package/dist/{tr-DiYB-FwX.js → tr-Cp8ZCUic.js} +77 -3
- package/dist/{tr-CgJ8uhZu.cjs → tr-mWu2E__o.cjs} +1 -1
- package/dist/{translations-Cq8bUKJP.js → translations-BGblCUBj.js} +144 -70
- package/dist/translations-CZ0KOii3.cjs +1 -0
- package/dist/translations-gVgMyNno.cjs +1 -0
- package/dist/translations-jUYta1_1.js +87 -0
- package/dist/types/auth/index.d.ts +13 -0
- package/dist/types/auth-i18n/default.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ar.d.ts +14 -0
- package/dist/types/auth-i18n/locales/de.d.ts +14 -0
- package/dist/types/auth-i18n/locales/en.d.ts +14 -0
- package/dist/types/auth-i18n/locales/es.d.ts +14 -0
- package/dist/types/auth-i18n/locales/fa.d.ts +14 -0
- package/dist/types/auth-i18n/locales/fr.d.ts +14 -0
- package/dist/types/auth-i18n/locales/he.d.ts +14 -0
- package/dist/types/auth-i18n/locales/hi.d.ts +14 -0
- package/dist/types/auth-i18n/locales/it.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ja.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ko.d.ts +14 -0
- package/dist/types/auth-i18n/locales/nl.d.ts +14 -0
- package/dist/types/auth-i18n/locales/pl.d.ts +14 -0
- package/dist/types/auth-i18n/locales/pt.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ru.d.ts +14 -0
- package/dist/types/auth-i18n/locales/tr.d.ts +14 -0
- package/dist/types/auth-i18n/locales/ur.d.ts +14 -0
- package/dist/types/auth-i18n/locales/vi.d.ts +14 -0
- package/dist/types/auth-i18n/locales/zh.d.ts +14 -0
- package/dist/types/auth-i18n/translations.d.ts +14 -0
- package/dist/types/beatui-i18n/default.d.ts +99 -0
- package/dist/types/beatui-i18n/index.d.ts +11 -0
- package/dist/types/beatui-i18n/locales/en.d.ts +63 -0
- package/dist/types/beatui-i18n/translations.d.ts +87 -0
- package/dist/types/better-auth/components/authenticated.d.ts +2 -2
- package/dist/types/better-auth/components/better-auth-container.d.ts +1 -1
- package/dist/types/better-auth/components/better-auth-modal.d.ts +1 -1
- package/dist/types/better-auth/index.d.ts +13 -0
- package/dist/types/better-auth/provider.d.ts +33 -0
- package/dist/types/better-auth/types.d.ts +112 -0
- package/dist/types/components/auth/auth-container.d.ts +63 -2
- package/dist/types/components/auth/auth-divider.d.ts +30 -0
- package/dist/types/components/auth/auth-email-prop.d.ts +25 -0
- package/dist/types/components/auth/index.d.ts +9 -0
- package/dist/types/components/auth/password-strength-indicator.d.ts +58 -0
- package/dist/types/components/auth/reset-password-form.d.ts +33 -0
- package/dist/types/components/auth/schemas.d.ts +183 -5
- package/dist/types/components/auth/signin-form.d.ts +33 -0
- package/dist/types/components/auth/signup-form.d.ts +36 -0
- package/dist/types/components/auth/social-login-button.d.ts +213 -0
- package/dist/types/components/auth/social-providers.d.ts +27 -1
- package/dist/types/components/auth/types.d.ts +299 -0
- package/dist/types/components/auth/utils.d.ts +198 -0
- package/dist/types/components/beatui.d.ts +35 -0
- package/dist/types/components/button/button.d.ts +61 -0
- package/dist/types/components/button/close-button.d.ts +32 -1
- package/dist/types/components/button/index.d.ts +2 -0
- package/dist/types/components/button/toggle-button-group.d.ts +95 -0
- package/dist/types/components/button/toggle-button.d.ts +60 -0
- package/dist/types/components/data/avatar-group.d.ts +74 -0
- package/dist/types/components/data/avatar.d.ts +62 -0
- package/dist/types/components/data/badge.d.ts +49 -2
- package/dist/types/components/data/calendar-shared.d.ts +59 -0
- package/dist/types/components/data/calendar.d.ts +107 -0
- package/dist/types/components/data/history-timeline.d.ts +35 -0
- package/dist/types/components/data/icon-badge.d.ts +14 -0
- package/dist/types/components/data/icon.d.ts +55 -4
- package/dist/types/components/data/index.d.ts +9 -0
- package/dist/types/components/data/page-drop-zone.d.ts +61 -8
- package/dist/types/components/data/presence-overlay.d.ts +26 -0
- package/dist/types/components/data/progress-bar.d.ts +81 -0
- package/dist/types/components/data/range-calendar.d.ts +104 -0
- package/dist/types/components/data/skeleton.d.ts +70 -0
- package/dist/types/components/data/table.d.ts +38 -11
- package/dist/types/components/data/tag.d.ts +40 -0
- package/dist/types/components/data/unstyled-drop-zone.d.ts +73 -0
- package/dist/types/components/form/control/control.d.ts +155 -0
- package/dist/types/components/form/control/date-utils.d.ts +81 -0
- package/dist/types/components/form/control/ensure-control.d.ts +28 -0
- package/dist/types/components/form/control/form-status.d.ts +63 -0
- package/dist/types/components/form/control/index.d.ts +10 -0
- package/dist/types/components/form/control/list-control.d.ts +100 -1
- package/dist/types/components/form/control/list-item-controls.d.ts +65 -0
- package/dist/types/components/form/controller/color-controller.d.ts +29 -1
- package/dist/types/components/form/controller/controller-validation.d.ts +31 -0
- package/dist/types/components/form/controller/controller.d.ts +286 -0
- package/dist/types/components/form/controller/index.d.ts +12 -0
- package/dist/types/components/form/controller/path.d.ts +69 -0
- package/dist/types/components/form/controller/union-controller.d.ts +106 -11
- package/dist/types/components/form/controller/utils.d.ts +67 -0
- package/dist/types/components/form/input/advanced-slider.d.ts +143 -0
- package/dist/types/components/form/input/appearance-selector.d.ts +39 -0
- package/dist/types/components/form/input/base64-input.d.ts +34 -0
- package/dist/types/components/form/input/base64s-input.d.ts +47 -0
- package/dist/types/components/form/input/bigint-input.d.ts +27 -0
- package/dist/types/components/form/input/checkbox-input.d.ts +46 -0
- package/dist/types/components/form/input/color-input.d.ts +42 -0
- package/dist/types/components/form/input/color-swatch-input.d.ts +53 -0
- package/dist/types/components/form/input/combobox-input.d.ts +73 -0
- package/dist/types/components/form/input/combobox-tags-input.d.ts +54 -0
- package/dist/types/components/form/input/date-input.d.ts +33 -0
- package/dist/types/components/form/input/date-time-input.d.ts +34 -0
- package/dist/types/components/form/input/dropdown-base.d.ts +52 -0
- package/dist/types/components/form/input/dropdown-input.d.ts +86 -0
- package/dist/types/components/form/input/duration-input.d.ts +18 -0
- package/dist/types/components/form/input/duration-mask.d.ts +24 -0
- package/dist/types/components/form/input/editable-text.d.ts +33 -0
- package/dist/types/components/form/input/email-input.d.ts +34 -0
- package/dist/types/components/form/input/file-input.d.ts +33 -0
- package/dist/types/components/form/input/files-input.d.ts +44 -0
- package/dist/types/components/form/input/index.d.ts +5 -0
- package/dist/types/components/form/input/input-adornment.d.ts +38 -0
- package/dist/types/components/form/input/input-container.d.ts +65 -0
- package/dist/types/components/form/input/input-options.d.ts +70 -0
- package/dist/types/components/form/input/input-wrapper.d.ts +78 -0
- package/dist/types/components/form/input/instant-input.d.ts +18 -0
- package/dist/types/components/form/input/lazy-native-select.d.ts +43 -0
- package/dist/types/components/form/input/list-input.d.ts +50 -0
- package/dist/types/components/form/input/mask-input.d.ts +158 -0
- package/dist/types/components/form/input/native-select.d.ts +50 -0
- package/dist/types/components/form/input/nullable-base64-input.d.ts +25 -0
- package/dist/types/components/form/input/nullable-bigint-input.d.ts +26 -0
- package/dist/types/components/form/input/nullable-date-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-date-time-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-duration-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-email-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-instant-input.d.ts +19 -0
- package/dist/types/components/form/input/nullable-mask-input.d.ts +24 -0
- package/dist/types/components/form/input/nullable-number-input.d.ts +29 -0
- package/dist/types/components/form/input/nullable-password-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-date-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-date-time-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-month-day-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-time-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-plain-year-month-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-rating-input.d.ts +33 -0
- package/dist/types/components/form/input/nullable-text-area.d.ts +27 -0
- package/dist/types/components/form/input/nullable-text-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-url-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-utils.d.ts +22 -2
- package/dist/types/components/form/input/nullable-uuid-input.d.ts +18 -0
- package/dist/types/components/form/input/nullable-zoned-date-time-input.d.ts +20 -0
- package/dist/types/components/form/input/number-input.d.ts +49 -0
- package/dist/types/components/form/input/option.d.ts +165 -0
- package/dist/types/components/form/input/otp-input.d.ts +77 -0
- package/dist/types/components/form/input/password-input.d.ts +39 -0
- package/dist/types/components/form/input/plain-date-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-date-time-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-month-day-input.d.ts +18 -0
- package/dist/types/components/form/input/plain-time-input.d.ts +17 -0
- package/dist/types/components/form/input/plain-year-month-input.d.ts +17 -0
- package/dist/types/components/form/input/radio-group.d.ts +108 -0
- package/dist/types/components/form/input/rating-input.d.ts +57 -0
- package/dist/types/components/form/input/segmented-input.d.ts +70 -1
- package/dist/types/components/form/input/select-tags-input.d.ts +69 -0
- package/dist/types/components/form/input/slider-input.d.ts +82 -0
- package/dist/types/components/form/input/switch.d.ts +59 -1
- package/dist/types/components/form/input/tag-input.d.ts +19 -0
- package/dist/types/components/form/input/tag-utils.d.ts +111 -0
- package/dist/types/components/form/input/tags-input.d.ts +18 -0
- package/dist/types/components/form/input/text-area.d.ts +42 -0
- package/dist/types/components/form/input/text-input.d.ts +63 -1
- package/dist/types/components/form/input/url-input.d.ts +34 -0
- package/dist/types/components/form/input/uuid-input.d.ts +19 -0
- package/dist/types/components/form/input/zoned-date-time-input.d.ts +20 -0
- package/dist/types/components/form/schema/standard-schema-v1.d.ts +98 -23
- package/dist/types/components/form/use-form.d.ts +146 -2
- package/dist/types/components/i18n/index.d.ts +9 -0
- package/dist/types/components/i18n/locale-direction.d.ts +21 -1
- package/dist/types/components/i18n/locale-selector.d.ts +45 -0
- package/dist/types/components/i18n/make-i18nprovider.d.ts +42 -0
- package/dist/types/components/json-schema/schema-types.d.ts +133 -0
- package/dist/types/components/json-structure/controls/deprecation-utils.d.ts +2 -3
- package/dist/types/components/json-structure/structure-types.d.ts +473 -19
- package/dist/types/components/layout/accordion.d.ts +77 -0
- package/dist/types/components/layout/action-card.d.ts +90 -2
- package/dist/types/components/layout/app-shell.d.ts +76 -0
- package/dist/types/components/layout/card.d.ts +27 -0
- package/dist/types/components/layout/center.d.ts +39 -0
- package/dist/types/components/layout/collapse.d.ts +28 -0
- package/dist/types/components/layout/divider.d.ts +84 -0
- package/dist/types/components/layout/group.d.ts +15 -0
- package/dist/types/components/layout/index.d.ts +2 -0
- package/dist/types/components/layout/nine-slice-scroll-view.d.ts +105 -0
- package/dist/types/components/layout/scrollable-panel.d.ts +54 -0
- package/dist/types/components/layout/sink.d.ts +46 -0
- package/dist/types/components/layout/stack.d.ts +16 -0
- package/dist/types/components/layout/with-breakpoint.d.ts +194 -0
- package/dist/types/components/lexical/code/language-selector.d.ts +2 -2
- package/dist/types/components/lexical/floating/block-handle.d.ts +2 -2
- package/dist/types/components/lexical/floating/floating-toolbar.d.ts +2 -2
- package/dist/types/components/lexical/floating/slash-command-palette.d.ts +2 -2
- package/dist/types/components/lexical/table/table-controls.d.ts +2 -2
- package/dist/types/components/lexical/toolbar/lexical-toolbar.d.ts +2 -2
- package/dist/types/components/lexical/toolbar/toolbar-helpers.d.ts +4 -2
- package/dist/types/components/misc/empty-state.d.ts +86 -0
- package/dist/types/components/misc/expando.d.ts +81 -0
- package/dist/types/components/misc/index.d.ts +2 -1
- package/dist/types/components/misc/link-portal.d.ts +40 -2
- package/dist/types/components/misc/notice.d.ts +93 -0
- package/dist/types/components/misc/notification-panel.d.ts +21 -0
- package/dist/types/components/misc/notification-provider.d.ts +141 -0
- package/dist/types/components/misc/notification.d.ts +93 -0
- package/dist/types/components/misc/style-portal.d.ts +31 -1
- package/dist/types/components/monaco/monaco-editor-input.d.ts +59 -2
- package/dist/types/components/navigation/breadcrumbs.d.ts +96 -0
- package/dist/types/components/navigation/flyout.d.ts +118 -16
- package/dist/types/components/navigation/index.d.ts +3 -0
- package/dist/types/components/navigation/link/link.d.ts +100 -0
- package/dist/types/components/navigation/menu.d.ts +155 -35
- package/dist/types/components/navigation/pagination.d.ts +82 -0
- package/dist/types/components/navigation/sidebar/sidebar-group.d.ts +42 -0
- package/dist/types/components/navigation/sidebar/sidebar-link.d.ts +101 -0
- package/dist/types/components/navigation/sidebar/sidebar-separator.d.ts +17 -0
- package/dist/types/components/navigation/sidebar/sidebar.d.ts +57 -0
- package/dist/types/components/navigation/tabs/tabs.d.ts +3 -2
- package/dist/types/components/navigation/toolbar/toolbar.d.ts +125 -0
- package/dist/types/components/navigation/tree-view.d.ts +95 -0
- package/dist/types/components/overlay/announcement-bar.d.ts +41 -2
- package/dist/types/components/overlay/block-command-palette.d.ts +25 -0
- package/dist/types/components/overlay/command-palette.d.ts +17 -0
- package/dist/types/components/overlay/dialogs.d.ts +213 -0
- package/dist/types/components/overlay/drawer.d.ts +76 -12
- package/dist/types/components/overlay/index.d.ts +4 -0
- package/dist/types/components/overlay/lightbox.d.ts +53 -10
- package/dist/types/components/overlay/modal.d.ts +113 -13
- package/dist/types/components/overlay/overlay.d.ts +61 -0
- package/dist/types/components/overlay/popover.d.ts +100 -0
- package/dist/types/components/overlay/ribbon.d.ts +58 -9
- package/dist/types/components/prosemirror/etoolbar-button.d.ts +10 -0
- package/dist/types/components/prosemirror/etoolbar-group.d.ts +10 -0
- package/dist/types/components/prosemirror/link-control.d.ts +43 -2
- package/dist/types/components/prosemirror/prosemirror-toolbar.d.ts +46 -6
- package/dist/types/components/prosemirror/utils.d.ts +113 -1
- package/dist/types/components/theme/style-utils.d.ts +95 -0
- package/dist/types/components/theme/theme.d.ts +39 -0
- package/dist/types/components/theme/types.d.ts +133 -1
- package/dist/types/components/typography/index.d.ts +1 -0
- package/dist/types/components/typography/kbd.d.ts +48 -0
- package/dist/types/components/typography/label.d.ts +45 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/json-schema/index.d.ts +13 -0
- package/dist/types/json-schema-display/index.d.ts +12 -0
- package/dist/types/json-structure/index.d.ts +9 -4
- package/dist/types/markdown/index.d.ts +13 -0
- package/dist/types/monaco/index.d.ts +17 -0
- package/dist/types/monaco/lazy-loader.d.ts +79 -0
- package/dist/types/monaco/styles-url.d.ts +11 -0
- package/dist/types/monaco/styles.d.ts +11 -0
- package/dist/types/monaco/types.d.ts +47 -0
- package/dist/types/prosemirror/index.d.ts +12 -0
- package/dist/types/prosemirror/styles-url.d.ts +11 -0
- package/dist/types/prosemirror/styles.d.ts +10 -0
- package/dist/types/tailwind/google-fonts.d.ts +15 -0
- package/dist/types/tailwind/index.d.ts +13 -0
- package/dist/types/tailwind/preset.d.ts +111 -0
- package/dist/types/tailwind/vite-plugin.d.ts +39 -4
- package/dist/types/tokens/base-colors.d.ts +21 -0
- package/dist/types/tokens/breakpoints.d.ts +67 -0
- package/dist/types/tokens/colors.d.ts +213 -4
- package/dist/types/tokens/motion.d.ts +142 -3
- package/dist/types/tokens/radius.d.ts +99 -0
- package/dist/types/tokens/shadows.d.ts +85 -0
- package/dist/types/tokens/spacing.d.ts +111 -0
- package/dist/types/tokens/text-shadows.d.ts +82 -0
- package/dist/types/tokens/typography.d.ts +313 -25
- package/dist/types/tokens/z-index.d.ts +62 -0
- package/dist/types/utils/color.d.ts +297 -28
- package/dist/types/utils/download.d.ts +92 -0
- package/dist/types/utils/focus-trap.d.ts +67 -11
- package/dist/types/utils/format-file-size.d.ts +44 -0
- package/dist/ur-B6yB2JQ7.cjs +1 -0
- package/dist/ur-CvGP14xo.cjs +1 -0
- package/dist/{ur-Bg9eX81v.js → ur-Deo004ME.js} +16 -1
- package/dist/{ur-B69X-xNs.js → ur-DkIYJxsF.js} +82 -8
- package/dist/use-animated-toggle-89fKlXxy.js +195 -0
- package/dist/use-animated-toggle-DrqK7nUS.cjs +1 -0
- package/dist/{use-form-B56E_x5Y.js → use-form-BurzbPVV.js} +190 -2
- package/dist/{use-form-Cnp3XQ5X.cjs → use-form-Uree6QFy.cjs} +1 -1
- package/dist/vi-BYk1rJDv.js +53 -0
- package/dist/vi-DKw6PBja.js +175 -0
- package/dist/vi-Df4WZe9y.cjs +1 -0
- package/dist/vi-DneuUbkq.cjs +1 -0
- package/dist/{widget-customization-Ds9sicAg.js → widget-customization-0is7oTeP.js} +205 -204
- package/dist/widget-customization-B-LmxkPE.cjs +1 -0
- package/dist/zh-C5a9NGFW.cjs +1 -0
- package/dist/zh-CaKHseXJ.js +175 -0
- package/dist/zh-DFHuW_5g.cjs +1 -0
- package/dist/{zh-BIykcEu9.js → zh-DR7QaM65.js} +16 -1
- package/package.json +1 -1
- package/dist/ar-BsUm-TCn.cjs +0 -1
- package/dist/ar-D7CXDmVZ.cjs +0 -1
- package/dist/ar-nOSKXpIW.js +0 -101
- package/dist/auth-divider-BqZPH1-z.cjs +0 -1
- package/dist/de-BUFLEyKr.cjs +0 -1
- package/dist/de-WzsOu9Gn.cjs +0 -1
- package/dist/deep-merge-BYm0y62g.js +0 -1620
- package/dist/deep-merge-d7sf0xmN.cjs +0 -1
- package/dist/editor-toolbar-group--a-xgsJw.cjs +0 -1
- package/dist/editor-toolbar-group-CVpl5mxF.js +0 -31
- package/dist/es-CDqqzpCw.js +0 -101
- package/dist/es-Ds2Xf3wV.cjs +0 -1
- package/dist/fa-C7tE_hR3.js +0 -101
- package/dist/fa-Ct1UtDB7.cjs +0 -1
- package/dist/fr-Cdyopuz3.cjs +0 -1
- package/dist/fr-CzAkRFed.cjs +0 -1
- package/dist/he-D2oUloCJ.js +0 -101
- package/dist/he-DarDNPn0.cjs +0 -1
- package/dist/he-DlXALrK7.cjs +0 -1
- package/dist/hi-3dBhLwDs.cjs +0 -1
- package/dist/hi-D5ZlZoQq.js +0 -101
- package/dist/hi-tATwsXJ6.cjs +0 -1
- package/dist/index-DE2tjivA.cjs +0 -1
- package/dist/input-container-C6qEIjcA.cjs +0 -1
- package/dist/it-BmFag7j0.cjs +0 -1
- package/dist/it-DohtcWi9.cjs +0 -1
- package/dist/ja-Dj-bAKLf.cjs +0 -1
- package/dist/ja-eyTArrgS.cjs +0 -1
- package/dist/ko-BFLCDMMs.cjs +0 -1
- package/dist/ko-BomUE-yQ.cjs +0 -1
- package/dist/ko-Ch0jFsBV.js +0 -101
- package/dist/menu-CZzRsQP_.js +0 -372
- package/dist/menu-ClrU72xH.cjs +0 -1
- package/dist/nl-Bx2ACvr4.cjs +0 -1
- package/dist/nl-NuTdZO1s.js +0 -102
- package/dist/pl-QHl6sl8f.cjs +0 -1
- package/dist/pt-BETjHZrL.js +0 -101
- package/dist/pt-DZGw2Z-1.cjs +0 -1
- package/dist/pt-oBMmVYcu.cjs +0 -1
- package/dist/ru-CtxMmoa6.cjs +0 -1
- package/dist/ru-D03IuLqh.cjs +0 -1
- package/dist/text-input-B3VBat1k.js +0 -44
- package/dist/text-input-Ds8e7Z1G.cjs +0 -1
- package/dist/tr-B_-_1wua.cjs +0 -1
- package/dist/translations-B4-Zd2LM.cjs +0 -1
- package/dist/translations-D62qqNV9.cjs +0 -1
- package/dist/translations-DPr6c05Z.js +0 -67
- package/dist/ur-DvqAg9gW.cjs +0 -1
- package/dist/ur-DyUSmIbo.cjs +0 -1
- package/dist/use-animated-toggle-ChycsEoj.js +0 -175
- package/dist/use-animated-toggle-DR6CyMac.cjs +0 -1
- package/dist/vi-BdzxA60L.js +0 -101
- package/dist/vi-CBmPaHxg.cjs +0 -1
- package/dist/vi-D5R3YcU0.cjs +0 -1
- package/dist/vi-DhdsHHf_.js +0 -38
- package/dist/widget-customization-Dk7XcVly.cjs +0 -1
- package/dist/zh-CCGXcj5r.cjs +0 -1
- package/dist/zh-Cb1b8uik.cjs +0 -1
- package/dist/zh-Dn1UJiZa.js +0 -101
|
@@ -1,27 +1,54 @@
|
|
|
1
1
|
import { TNode, Value } from '@tempots/dom';
|
|
2
2
|
import { ControlSize } from '../theme';
|
|
3
|
+
/**
|
|
4
|
+
* Configuration options for the {@link Table} component.
|
|
5
|
+
* Controls visual presentation including size, borders, hover effects, and sticky headers.
|
|
6
|
+
*/
|
|
3
7
|
export interface TableOptions {
|
|
4
|
-
/** Size of the table
|
|
8
|
+
/** Size of the table affecting cell padding and font size. @default 'md' */
|
|
5
9
|
size?: Value<ControlSize>;
|
|
6
|
-
/** Enable
|
|
10
|
+
/** Enable background color change on row hover. @default false */
|
|
7
11
|
hoverable?: Value<boolean>;
|
|
8
|
-
/** Make the header sticky when scrolling */
|
|
12
|
+
/** Make the header row sticky when scrolling vertically. @default false */
|
|
9
13
|
stickyHeader?: Value<boolean>;
|
|
10
|
-
/**
|
|
14
|
+
/** Whether the table takes the full width of its container. @default false */
|
|
11
15
|
fullWidth?: Value<boolean>;
|
|
12
|
-
/**
|
|
16
|
+
/** Alternate row background colors for improved readability. @default false */
|
|
13
17
|
withStripedRows?: Value<boolean>;
|
|
14
|
-
/** Show
|
|
18
|
+
/** Show a border around the entire table container. @default true */
|
|
15
19
|
withTableBorder?: Value<boolean>;
|
|
16
|
-
/** Show vertical borders between columns */
|
|
20
|
+
/** Show vertical borders between columns. @default false */
|
|
17
21
|
withColumnBorders?: Value<boolean>;
|
|
18
|
-
/** Show horizontal borders between rows */
|
|
22
|
+
/** Show horizontal borders between rows. @default true */
|
|
19
23
|
withRowBorders?: Value<boolean>;
|
|
20
|
-
/**
|
|
24
|
+
/** Border radius of the table container. @default undefined */
|
|
21
25
|
borderRadius?: Value<'none' | 'sm' | 'md' | 'lg' | 'xl'>;
|
|
22
26
|
}
|
|
23
27
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
28
|
+
* A styled table component focused on presentation with configurable borders,
|
|
29
|
+
* hover effects, sticky headers, and striped rows. Wraps a standard HTML table
|
|
30
|
+
* in a container that handles overflow scrolling and border radius.
|
|
31
|
+
*
|
|
32
|
+
* This component provides styling only — data management and row rendering
|
|
33
|
+
* are handled by the caller using standard `html.thead`, `html.tbody`, `html.tr`,
|
|
34
|
+
* `html.th`, and `html.td` elements.
|
|
35
|
+
*
|
|
36
|
+
* @param options - Visual configuration for the table
|
|
37
|
+
* @param children - Table content (thead, tbody, tfoot elements)
|
|
38
|
+
* @returns A container div wrapping a styled table element
|
|
39
|
+
*
|
|
40
|
+
* @example
|
|
41
|
+
* ```typescript
|
|
42
|
+
* Table(
|
|
43
|
+
* { hoverable: true, withStripedRows: true, fullWidth: true },
|
|
44
|
+
* html.thead(
|
|
45
|
+
* html.tr(html.th('Name'), html.th('Email'), html.th('Role'))
|
|
46
|
+
* ),
|
|
47
|
+
* html.tbody(
|
|
48
|
+
* html.tr(html.td('Alice'), html.td('alice@example.com'), html.td('Admin')),
|
|
49
|
+
* html.tr(html.td('Bob'), html.td('bob@example.com'), html.td('User'))
|
|
50
|
+
* )
|
|
51
|
+
* )
|
|
52
|
+
* ```
|
|
26
53
|
*/
|
|
27
54
|
export declare function Table({ size, hoverable, stickyHeader, fullWidth, withStripedRows, withTableBorder, withColumnBorders, withRowBorders, borderRadius, }?: TableOptions, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -1,11 +1,51 @@
|
|
|
1
1
|
import { Value } from '@tempots/dom';
|
|
2
2
|
import { ThemeColorName } from '../../tokens';
|
|
3
3
|
import { ControlSize } from '../theme';
|
|
4
|
+
/**
|
|
5
|
+
* A small label component for categorization, filtering, or displaying metadata.
|
|
6
|
+
* Supports optional close button for removable tags and theme-aware color styling.
|
|
7
|
+
*
|
|
8
|
+
* When an `onClose` callback is provided, a close button is rendered alongside the tag text.
|
|
9
|
+
* The tag automatically adapts to light and dark themes using CSS custom properties.
|
|
10
|
+
*
|
|
11
|
+
* @param options - Tag configuration
|
|
12
|
+
* @param options.value - Reactive string displayed as the tag label
|
|
13
|
+
* @param options.color - Theme color for the tag background and text (default: 'base')
|
|
14
|
+
* @param options.onClose - Callback when the close button is clicked; receives the current tag value
|
|
15
|
+
* @param options.size - Size of the tag (default: 'md')
|
|
16
|
+
* @param options.class - Additional CSS class(es) to apply
|
|
17
|
+
* @param options.disabled - Whether the tag and its close button are disabled
|
|
18
|
+
* @returns A styled span element representing the tag
|
|
19
|
+
*
|
|
20
|
+
* @example
|
|
21
|
+
* ```typescript
|
|
22
|
+
* Tag({ value: 'TypeScript', color: 'primary' })
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```typescript
|
|
27
|
+
* // Removable tag
|
|
28
|
+
* const tags = prop(['React', 'Vue', 'Solid'])
|
|
29
|
+
* ForEach(tags, tag =>
|
|
30
|
+
* Tag({
|
|
31
|
+
* value: tag,
|
|
32
|
+
* color: 'info',
|
|
33
|
+
* onClose: (v) => tags.set(tags.value.filter(t => t !== v))
|
|
34
|
+
* })
|
|
35
|
+
* )
|
|
36
|
+
* ```
|
|
37
|
+
*/
|
|
4
38
|
export declare const Tag: ({ value, color, onClose, size, class: cls, disabled, }: {
|
|
39
|
+
/** Reactive string displayed as the tag label. */
|
|
5
40
|
value: Value<string>;
|
|
41
|
+
/** Theme color for the tag background and text. @default 'base' */
|
|
6
42
|
color?: Value<ThemeColorName>;
|
|
43
|
+
/** Callback when the close button is clicked; receives the current tag value. */
|
|
7
44
|
onClose?: (value: string) => void;
|
|
45
|
+
/** Size of the tag. @default 'md' */
|
|
8
46
|
size?: Value<ControlSize>;
|
|
47
|
+
/** Additional CSS class(es) to apply. */
|
|
9
48
|
class?: Value<string>;
|
|
49
|
+
/** Whether the tag and its close button are disabled. */
|
|
10
50
|
disabled?: Value<boolean>;
|
|
11
51
|
}) => import("@tempots/dom").Renderable;
|
|
@@ -1,15 +1,88 @@
|
|
|
1
1
|
import { TNode, Value, Signal } from '@tempots/dom';
|
|
2
|
+
/**
|
|
3
|
+
* Configuration options for the {@link UnstyledDropZone} component.
|
|
4
|
+
*/
|
|
2
5
|
export type DropZoneOptions = {
|
|
6
|
+
/**
|
|
7
|
+
* Callback invoked when files are selected, either via drag-and-drop
|
|
8
|
+
* or the file picker dialog. The `via` parameter indicates the selection method.
|
|
9
|
+
*/
|
|
3
10
|
onChange: (files: File[], via: 'dragdrop' | 'click') => void;
|
|
11
|
+
/**
|
|
12
|
+
* Optional external reactive file list. When provided, the drop zone
|
|
13
|
+
* derives its internal file state from this value.
|
|
14
|
+
*/
|
|
4
15
|
value?: Value<File[]>;
|
|
16
|
+
/**
|
|
17
|
+
* MIME type filter for accepted files (e.g., `'image/*'`, `'application/pdf'`).
|
|
18
|
+
* Passed to the hidden `<input type="file">` element.
|
|
19
|
+
* @default '*\/*'
|
|
20
|
+
*/
|
|
5
21
|
accept?: Value<string>;
|
|
22
|
+
/**
|
|
23
|
+
* Whether clicking the drop zone opens the native file picker dialog.
|
|
24
|
+
* @default true
|
|
25
|
+
*/
|
|
6
26
|
enableClick?: Value<boolean>;
|
|
27
|
+
/**
|
|
28
|
+
* Render function for the drop zone content. Receives reactive state
|
|
29
|
+
* and control functions to build a custom UI.
|
|
30
|
+
*
|
|
31
|
+
* @param options.files - Reactive signal containing the current file list.
|
|
32
|
+
* @param options.clear - Clears the current file selection.
|
|
33
|
+
* @param options.change - Programmatically sets the file list.
|
|
34
|
+
*/
|
|
7
35
|
content: (options: {
|
|
8
36
|
files: Signal<File[]>;
|
|
9
37
|
clear: () => void;
|
|
10
38
|
change: (files: File[]) => void;
|
|
11
39
|
}) => TNode;
|
|
40
|
+
/**
|
|
41
|
+
* Whether the drop zone is disabled. Disabled zones do not accept drops or clicks.
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
12
44
|
disabled?: Value<boolean>;
|
|
45
|
+
/**
|
|
46
|
+
* Whether multiple files can be selected at once.
|
|
47
|
+
*/
|
|
13
48
|
allowMultiple?: Value<boolean>;
|
|
14
49
|
};
|
|
50
|
+
/**
|
|
51
|
+
* Renders an unstyled file drop zone that supports both drag-and-drop and
|
|
52
|
+
* click-to-browse file selection. This component provides the behavior
|
|
53
|
+
* and accessibility without any visual styling, allowing complete UI
|
|
54
|
+
* customization through the `content` render function.
|
|
55
|
+
*
|
|
56
|
+
* The component:
|
|
57
|
+
* - Handles `dragover`, `dragleave`, and `drop` events
|
|
58
|
+
* - Opens a native file picker on click (when `enableClick` is `true`)
|
|
59
|
+
* - Supports keyboard activation (Enter/Space)
|
|
60
|
+
* - Applies `role="button"` and ARIA labels for accessibility
|
|
61
|
+
* - Synchronizes a hidden `<input type="file">` with the reactive file state
|
|
62
|
+
*
|
|
63
|
+
* @param options - Configuration options for the drop zone.
|
|
64
|
+
* @returns A renderable drop zone container.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* UnstyledDropZone({
|
|
69
|
+
* accept: 'image/*',
|
|
70
|
+
* allowMultiple: true,
|
|
71
|
+
* onChange: (files, via) => {
|
|
72
|
+
* console.log(`${files.length} files selected via ${via}`)
|
|
73
|
+
* },
|
|
74
|
+
* content: ({ files, clear }) =>
|
|
75
|
+
* html.div(
|
|
76
|
+
* attr.class('drop-area'),
|
|
77
|
+
* files.map(f => f.length > 0
|
|
78
|
+
* ? html.div(
|
|
79
|
+
* `${f.length} file(s) selected`,
|
|
80
|
+
* html.button(on.click(clear), 'Clear')
|
|
81
|
+
* )
|
|
82
|
+
* : html.div('Drop files here or click to browse')
|
|
83
|
+
* )
|
|
84
|
+
* ),
|
|
85
|
+
* })
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
15
88
|
export declare function UnstyledDropZone({ onChange, value, accept, enableClick, content, disabled, allowMultiple, }: DropZoneOptions): import("@tempots/dom").Renderable;
|
|
@@ -2,23 +2,178 @@ import { Merge, TNode } from '@tempots/dom';
|
|
|
2
2
|
import { InputOptions } from '../input/input-options';
|
|
3
3
|
import { Controller } from '../controller';
|
|
4
4
|
import { InputWrapperOptions } from '../input';
|
|
5
|
+
/**
|
|
6
|
+
* Creates a blur event handler that marks the controller as touched.
|
|
7
|
+
*
|
|
8
|
+
* @param _controller - The controller to mark as touched
|
|
9
|
+
* @param onBlur - Optional additional blur handler to invoke
|
|
10
|
+
* @returns A blur event handler function
|
|
11
|
+
*/
|
|
5
12
|
export declare const makeOnBlurHandler: (_controller: Controller<any>, onBlur?: () => void) => () => void;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a change event handler that updates the controller value.
|
|
15
|
+
*
|
|
16
|
+
* @template T - The value type
|
|
17
|
+
* @param controller - The controller to update
|
|
18
|
+
* @param onChange - Optional additional change handler to invoke
|
|
19
|
+
* @returns A change event handler function
|
|
20
|
+
*/
|
|
6
21
|
export declare const makeOnChangeHandler: <T>(controller: Controller<T>, onChange?: (value: T) => void) => (value: T) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Base options type for any input component, derived from InputOptions.
|
|
24
|
+
*/
|
|
7
25
|
export type BaseControlOptions = InputOptions<any>;
|
|
26
|
+
/**
|
|
27
|
+
* Options for a control that includes both input and wrapper options.
|
|
28
|
+
*/
|
|
8
29
|
export type ControlOptions = Merge<BaseControlOptions, InputWrapperOptions>;
|
|
30
|
+
/**
|
|
31
|
+
* Options for connecting a controller to an input component without a wrapper.
|
|
32
|
+
*
|
|
33
|
+
* @template T - The controller value type
|
|
34
|
+
* @template O - The input component options type
|
|
35
|
+
*/
|
|
9
36
|
export type BaseControllerOptions<T, O extends BaseControlOptions> = Merge<Omit<O, 'value'>, {
|
|
10
37
|
controller: Controller<T>;
|
|
11
38
|
triggerOn?: 'input' | 'change';
|
|
12
39
|
}>;
|
|
40
|
+
/**
|
|
41
|
+
* Options for connecting a controller to an input component with a wrapper.
|
|
42
|
+
*
|
|
43
|
+
* @template T - The controller value type
|
|
44
|
+
* @template O - The input component options type
|
|
45
|
+
*/
|
|
13
46
|
export type ControllerOptions<T, O extends BaseControlOptions> = Merge<Omit<InputWrapperOptions, 'content'>, Merge<Omit<O, 'value'>, {
|
|
14
47
|
controller: Controller<T>;
|
|
15
48
|
triggerOn?: 'input' | 'change';
|
|
16
49
|
}>>;
|
|
50
|
+
/**
|
|
51
|
+
* Options for connecting a controller to an input with bidirectional value transformation.
|
|
52
|
+
*
|
|
53
|
+
* @template T - The controller value type
|
|
54
|
+
* @template U - The input component value type
|
|
55
|
+
* @template O - The input component options type
|
|
56
|
+
*/
|
|
17
57
|
export type MappedControllerOptions<T, U, O extends BaseControlOptions> = Merge<ControllerOptions<T, O>, {
|
|
58
|
+
/** Transforms controller value to input value. */
|
|
18
59
|
toInput: (value: T) => U;
|
|
60
|
+
/** Transforms input value back to controller value. */
|
|
19
61
|
fromInput: (value: U) => T;
|
|
20
62
|
}>;
|
|
63
|
+
/**
|
|
64
|
+
* Connects an input component to a controller without a wrapper (no label, error display, etc.).
|
|
65
|
+
* Automatically binds the controller's value, disabled state, error state, and event handlers.
|
|
66
|
+
*
|
|
67
|
+
* @template T - The controller value type
|
|
68
|
+
* @template O - The input component options type
|
|
69
|
+
* @param InputComponent - The input component factory function
|
|
70
|
+
* @param options - Controller connection options including the controller and optional event handlers
|
|
71
|
+
* @returns A TNode representing the connected input
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* ```typescript
|
|
75
|
+
* import { BaseControl, useController } from '@tempots/beatui'
|
|
76
|
+
* import { TextInput } from '@tempots/beatui'
|
|
77
|
+
* import { prop } from '@tempots/dom'
|
|
78
|
+
*
|
|
79
|
+
* const { controller } = useController({
|
|
80
|
+
* initialValue: 'Hello',
|
|
81
|
+
* })
|
|
82
|
+
*
|
|
83
|
+
* const input = BaseControl(TextInput, {
|
|
84
|
+
* controller,
|
|
85
|
+
* placeholder: 'Enter text...',
|
|
86
|
+
* })
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
21
89
|
export declare function BaseControl<T, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, options: BaseControllerOptions<T, O>): any;
|
|
90
|
+
/**
|
|
91
|
+
* Connects an input component to a controller with a wrapper that provides label, error display, and layout.
|
|
92
|
+
* Automatically binds the controller's value, disabled state, error state, and event handlers.
|
|
93
|
+
*
|
|
94
|
+
* @template T - The controller value type
|
|
95
|
+
* @template O - The input component options type
|
|
96
|
+
* @param InputComponent - The input component factory function
|
|
97
|
+
* @param options - Controller connection options including wrapper options (label, error display, etc.)
|
|
98
|
+
* @param children - Optional child nodes to render alongside the input
|
|
99
|
+
* @returns A TNode representing the wrapped input with label and error display
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```typescript
|
|
103
|
+
* import { Control, useForm } from '@tempots/beatui'
|
|
104
|
+
* import { TextInput } from '@tempots/beatui'
|
|
105
|
+
* import { html } from '@tempots/dom'
|
|
106
|
+
*
|
|
107
|
+
* const { controller } = useForm({
|
|
108
|
+
* initialValue: { email: '' },
|
|
109
|
+
* })
|
|
110
|
+
*
|
|
111
|
+
* const emailControl = Control(TextInput, {
|
|
112
|
+
* controller: controller.field('email'),
|
|
113
|
+
* label: 'Email Address',
|
|
114
|
+
* placeholder: 'you@example.com',
|
|
115
|
+
* triggerOn: 'input',
|
|
116
|
+
* })
|
|
117
|
+
* ```
|
|
118
|
+
*/
|
|
22
119
|
export declare function Control<T, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, { id: idArg, labelFor: labelForArg, ...options }: ControllerOptions<T, O>, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
120
|
+
/**
|
|
121
|
+
* Connects an input component to a controller with bidirectional value transformation, without a wrapper.
|
|
122
|
+
* Useful when the controller value type differs from the input component's expected value type.
|
|
123
|
+
*
|
|
124
|
+
* @template T - The controller value type
|
|
125
|
+
* @template U - The input component value type
|
|
126
|
+
* @template O - The input component options type
|
|
127
|
+
* @param InputComponent - The input component factory function
|
|
128
|
+
* @param options - Controller connection options including transform functions
|
|
129
|
+
* @returns A TNode representing the connected input with value transformation
|
|
130
|
+
*
|
|
131
|
+
* @example
|
|
132
|
+
* ```typescript
|
|
133
|
+
* import { BaseMappedControl, useController } from '@tempots/beatui'
|
|
134
|
+
* import { TextInput } from '@tempots/beatui'
|
|
135
|
+
*
|
|
136
|
+
* const { controller } = useController({
|
|
137
|
+
* initialValue: 42, // number
|
|
138
|
+
* })
|
|
139
|
+
*
|
|
140
|
+
* const input = BaseMappedControl(TextInput, {
|
|
141
|
+
* controller,
|
|
142
|
+
* toInput: (n) => n.toString(),
|
|
143
|
+
* fromInput: (s) => parseFloat(s) || 0,
|
|
144
|
+
* placeholder: 'Enter a number...',
|
|
145
|
+
* })
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
23
148
|
export declare function BaseMappedControl<T, U, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, options: MappedControllerOptions<T, U, O>): any;
|
|
149
|
+
/**
|
|
150
|
+
* Connects an input component to a controller with bidirectional value transformation and a wrapper.
|
|
151
|
+
* Combines value transformation with label, error display, and layout features.
|
|
152
|
+
*
|
|
153
|
+
* @template T - The controller value type
|
|
154
|
+
* @template U - The input component value type
|
|
155
|
+
* @template O - The input component options type
|
|
156
|
+
* @param InputComponent - The input component factory function
|
|
157
|
+
* @param options - Controller connection options including transform functions and wrapper options
|
|
158
|
+
* @param children - Optional child nodes to render alongside the input
|
|
159
|
+
* @returns A TNode representing the wrapped input with value transformation
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* import { MappedControl, useForm } from '@tempots/beatui'
|
|
164
|
+
* import { TextInput } from '@tempots/beatui'
|
|
165
|
+
*
|
|
166
|
+
* const { controller } = useForm({
|
|
167
|
+
* initialValue: { age: 25 },
|
|
168
|
+
* })
|
|
169
|
+
*
|
|
170
|
+
* const ageControl = MappedControl(TextInput, {
|
|
171
|
+
* controller: controller.field('age'),
|
|
172
|
+
* toInput: (n) => n.toString(),
|
|
173
|
+
* fromInput: (s) => parseInt(s, 10) || 0,
|
|
174
|
+
* label: 'Age',
|
|
175
|
+
* placeholder: 'Enter your age',
|
|
176
|
+
* })
|
|
177
|
+
* ```
|
|
178
|
+
*/
|
|
24
179
|
export declare function MappedControl<T, U, O extends BaseControlOptions>(InputComponent: (options: O) => TNode, { id: idArg, labelFor: labelForArg, ...options }: MappedControllerOptions<T, U, O>, ...children: TNode[]): import("@tempots/dom").Renderable;
|
|
@@ -1,6 +1,87 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Converts a `Date` to a full ISO 8601 date-time string (e.g., `'2024-01-15T10:30:00.000Z'`).
|
|
3
|
+
*
|
|
4
|
+
* @param date - The Date object to convert
|
|
5
|
+
* @returns The ISO 8601 date-time string representation
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```typescript
|
|
9
|
+
* dateTimeToISO(new Date('2024-01-15T10:30:00Z'))
|
|
10
|
+
* // => '2024-01-15T10:30:00.000Z'
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
1
13
|
export declare const dateTimeToISO: (date: Date) => string;
|
|
14
|
+
/**
|
|
15
|
+
* Converts a `Date` to an ISO 8601 date-only string (e.g., `'2024-01-15'`).
|
|
16
|
+
*
|
|
17
|
+
* Strips the time portion from the ISO string, returning only the `YYYY-MM-DD` part.
|
|
18
|
+
*
|
|
19
|
+
* @param date - The Date object to convert
|
|
20
|
+
* @returns The ISO 8601 date-only string (YYYY-MM-DD)
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```typescript
|
|
24
|
+
* dateToISO(new Date('2024-01-15T10:30:00Z'))
|
|
25
|
+
* // => '2024-01-15'
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
2
28
|
export declare const dateToISO: (date: Date) => string;
|
|
29
|
+
/**
|
|
30
|
+
* Parses a date string into a `Date` object.
|
|
31
|
+
*
|
|
32
|
+
* @param value - The date string to parse (any format accepted by `new Date()`)
|
|
33
|
+
* @returns A new Date object
|
|
34
|
+
*
|
|
35
|
+
* @example
|
|
36
|
+
* ```typescript
|
|
37
|
+
* stringToDate('2024-01-15')
|
|
38
|
+
* // => Date Mon Jan 15 2024 ...
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
3
41
|
export declare const stringToDate: (value: string) => Date;
|
|
42
|
+
/**
|
|
43
|
+
* Parses a nullable date string into a `Date` or `null`.
|
|
44
|
+
*
|
|
45
|
+
* Returns `null` if the input is `null` or an empty string.
|
|
46
|
+
*
|
|
47
|
+
* @param value - The date string to parse, or `null`
|
|
48
|
+
* @returns A Date object if the value is a non-empty string, otherwise `null`
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* nullableStringToDate('2024-01-15') // => Date
|
|
53
|
+
* nullableStringToDate(null) // => null
|
|
54
|
+
* nullableStringToDate('') // => null
|
|
55
|
+
* ```
|
|
56
|
+
*/
|
|
4
57
|
export declare const nullableStringToDate: (value: string | null) => Date | null;
|
|
58
|
+
/**
|
|
59
|
+
* Converts a nullable `Date` to a full ISO 8601 date-time string, or `null`.
|
|
60
|
+
*
|
|
61
|
+
* @param date - The Date object to convert, or `null`
|
|
62
|
+
* @returns The ISO 8601 date-time string, or `null` if the input is `null`
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* nullableDateTimeToISO(new Date('2024-01-15T10:30:00Z'))
|
|
67
|
+
* // => '2024-01-15T10:30:00.000Z'
|
|
68
|
+
* nullableDateTimeToISO(null)
|
|
69
|
+
* // => null
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
5
72
|
export declare const nullableDateTimeToISO: (date: Date | null) => string | null;
|
|
73
|
+
/**
|
|
74
|
+
* Converts a nullable `Date` to an ISO 8601 date-only string, or `null`.
|
|
75
|
+
*
|
|
76
|
+
* @param date - The Date object to convert, or `null`
|
|
77
|
+
* @returns The ISO 8601 date-only string (YYYY-MM-DD), or `null` if the input is `null`
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* nullableDateToISO(new Date('2024-01-15T10:30:00Z'))
|
|
82
|
+
* // => '2024-01-15'
|
|
83
|
+
* nullableDateToISO(null)
|
|
84
|
+
* // => null
|
|
85
|
+
* ```
|
|
86
|
+
*/
|
|
6
87
|
export declare const nullableDateToISO: (date: Date | null) => string | null;
|
|
@@ -1,3 +1,31 @@
|
|
|
1
1
|
import { TNode } from '@tempots/dom';
|
|
2
2
|
import { Controller } from '../controller/controller';
|
|
3
|
+
/**
|
|
4
|
+
* Conditionally renders content only when a controller's value is non-null and non-undefined.
|
|
5
|
+
*
|
|
6
|
+
* Similar to the `Ensure` primitive from `@tempots/dom`, but works with `Controller` instances.
|
|
7
|
+
* When the controller's signal holds a non-nullish value, it creates a transformed controller
|
|
8
|
+
* with `NonNullable<T>` type and passes it to the `then` callback. When the value is null or
|
|
9
|
+
* undefined, it renders the optional `otherwise` fallback.
|
|
10
|
+
*
|
|
11
|
+
* @typeParam T - The non-nullable base type of the controller's value
|
|
12
|
+
*
|
|
13
|
+
* @param controller - A controller whose value may be `null`, `undefined`, or `T`
|
|
14
|
+
* @param then - Callback invoked with a `Controller<NonNullable<T>>` when the value is present
|
|
15
|
+
* @param otherwise - Optional callback invoked when the value is null or undefined
|
|
16
|
+
*
|
|
17
|
+
* @returns A renderable TNode that conditionally renders based on the controller's value
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* import { EnsureControl } from '@tempots/beatui'
|
|
22
|
+
*
|
|
23
|
+
* // Only render the text input when the controller value is non-null
|
|
24
|
+
* EnsureControl(
|
|
25
|
+
* nullableStringController,
|
|
26
|
+
* (ctrl) => TextInput({ value: ctrl.signal, onChange: ctrl.change }),
|
|
27
|
+
* () => html.p('No value set')
|
|
28
|
+
* )
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
3
31
|
export declare function EnsureControl<T>(controller: Controller<T | null | undefined> | Controller<T | null> | Controller<T | undefined>, then: (controller: Controller<NonNullable<T>>) => TNode, otherwise?: () => TNode): import("@tempots/dom").Renderable;
|
|
@@ -1,20 +1,83 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status indicating the form is being filled out by the user.
|
|
3
|
+
*/
|
|
1
4
|
export type FormFilling = {
|
|
2
5
|
type: 'filling';
|
|
3
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Status indicating the form is currently being submitted.
|
|
9
|
+
*/
|
|
4
10
|
export type FormSubmitting = {
|
|
5
11
|
type: 'submitting';
|
|
6
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Status indicating the form submission encountered an error.
|
|
15
|
+
*/
|
|
7
16
|
export type FormError = {
|
|
17
|
+
/** Discriminant for the error status */
|
|
8
18
|
type: 'error';
|
|
19
|
+
/** The error message describing what went wrong */
|
|
9
20
|
error: string;
|
|
10
21
|
};
|
|
22
|
+
/**
|
|
23
|
+
* Status indicating the form was submitted successfully.
|
|
24
|
+
*/
|
|
11
25
|
export type FormSuccess = {
|
|
12
26
|
type: 'success';
|
|
13
27
|
};
|
|
28
|
+
/**
|
|
29
|
+
* Discriminated union representing the current state of a form.
|
|
30
|
+
*
|
|
31
|
+
* The form progresses through these states during its lifecycle:
|
|
32
|
+
* 1. `'filling'` - User is entering data
|
|
33
|
+
* 2. `'submitting'` - Form is being submitted (e.g., API call in progress)
|
|
34
|
+
* 3. `'success'` or `'error'` - Submission result
|
|
35
|
+
*
|
|
36
|
+
* Use the `type` discriminant to narrow the union in conditional logic.
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```typescript
|
|
40
|
+
* import { FormStatus } from '@tempots/beatui'
|
|
41
|
+
*
|
|
42
|
+
* const status: FormStatus = FormStatus.filling
|
|
43
|
+
*
|
|
44
|
+
* switch (status.type) {
|
|
45
|
+
* case 'filling': // show form
|
|
46
|
+
* case 'submitting': // show spinner
|
|
47
|
+
* case 'success': // show success message
|
|
48
|
+
* case 'error': // show error: status.error
|
|
49
|
+
* }
|
|
50
|
+
* ```
|
|
51
|
+
*/
|
|
14
52
|
export type FormStatus = FormFilling | FormSubmitting | FormError | FormSuccess;
|
|
53
|
+
/**
|
|
54
|
+
* Factory object for creating {@link FormStatus} values.
|
|
55
|
+
*
|
|
56
|
+
* Provides pre-built instances for `filling`, `submitting`, and `success`,
|
|
57
|
+
* and a factory function for creating `error` statuses with a message.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* import { FormStatus } from '@tempots/beatui'
|
|
62
|
+
*
|
|
63
|
+
* const initial = FormStatus.filling
|
|
64
|
+
* const loading = FormStatus.submitting
|
|
65
|
+
* const done = FormStatus.success
|
|
66
|
+
* const failed = FormStatus.error('Network timeout')
|
|
67
|
+
* ```
|
|
68
|
+
*/
|
|
15
69
|
export declare const FormStatus: {
|
|
70
|
+
/** A pre-built `FormFilling` status instance */
|
|
16
71
|
filling: FormStatus;
|
|
72
|
+
/** A pre-built `FormSubmitting` status instance */
|
|
17
73
|
submitting: FormStatus;
|
|
74
|
+
/**
|
|
75
|
+
* Creates a `FormError` status with the given error message.
|
|
76
|
+
*
|
|
77
|
+
* @param error - The error message describing what went wrong
|
|
78
|
+
* @returns A `FormStatus` of type `'error'`
|
|
79
|
+
*/
|
|
18
80
|
error: (error: string) => FormStatus;
|
|
81
|
+
/** A pre-built `FormSuccess` status instance */
|
|
19
82
|
success: FormStatus;
|
|
20
83
|
};
|
|
@@ -1,4 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Form Control Module
|
|
3
|
+
*
|
|
4
|
+
* Exports form control components and utilities:
|
|
5
|
+
* - {@link Control} - Base form control wrapper
|
|
6
|
+
* - {@link EnsureControl} - Conditional rendering for nullable controllers
|
|
7
|
+
* - {@link BaseListControl} / {@link ListControl} - List management with add/remove/reorder
|
|
8
|
+
* - {@link FormStatus} - Form submission state management
|
|
9
|
+
*/
|
|
1
10
|
export * from './control';
|
|
2
11
|
export * from './ensure-control';
|
|
12
|
+
export * from './list-item-controls';
|
|
3
13
|
export * from './list-control';
|
|
4
14
|
export * from './form-status';
|