@webflare/ui 0.0.0-stage → 0.1.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/LICENSE +21 -0
- package/README.md +234 -2
- package/dist/AccordionRoot-CNPxdTtA.cjs +182 -0
- package/dist/AccordionRoot-CmK-jaZz.js +178 -0
- package/dist/AlertRoot-B-M0xDFC.js +274 -0
- package/dist/AlertRoot-DRRwRAhA.cjs +278 -0
- package/dist/BadgeRoot-CzUSTR0W.cjs +136 -0
- package/dist/BadgeRoot-ffbcCd5B.js +132 -0
- package/dist/Button-A9BiKfSl.js +240 -0
- package/dist/Button-CwVAoJjO.cjs +244 -0
- package/dist/CardBody-BEbTLrA2.cjs +21 -0
- package/dist/CardBody-DbSW-Ssx.js +16 -0
- package/dist/CardHeader-Cx1pE9No.cjs +36 -0
- package/dist/CardHeader-DDRGpYth.js +31 -0
- package/dist/CardRoot-CZpgncJQ.cjs +49 -0
- package/dist/CardRoot-ia9NDth1.js +44 -0
- package/dist/CarouselItem-CJ9Kj2lU.cjs +21 -0
- package/dist/CarouselItem-Crs28MA9.js +16 -0
- package/dist/CarouselNavigation-BUZyy5GA.cjs +53 -0
- package/dist/CarouselNavigation-aM0v6IoI.js +48 -0
- package/dist/CarouselRoot-Co9IuVve.cjs +45 -0
- package/dist/CarouselRoot-DlGJZCox.js +40 -0
- package/dist/ControlSwitch-C-pzHgWm.cjs +188 -0
- package/dist/ControlSwitch-C0Rj6fSW.js +184 -0
- package/dist/DialogRoot-BiH9G8Jm.js +170 -0
- package/dist/DialogRoot-C6icP9Fb.cjs +174 -0
- package/dist/FieldBase-BwD6Dput.js +42 -0
- package/dist/FieldBase-X1FWOqPU.cjs +47 -0
- package/dist/FieldCheckbox-CYuyWgbl.cjs +139 -0
- package/dist/FieldCheckbox-DsQsNeX7.js +134 -0
- package/dist/FieldError-BPjk-uZc.js +36 -0
- package/dist/FieldError-XRz98TFe.cjs +41 -0
- package/dist/FieldFooter-05GxwrFg.cjs +29 -0
- package/dist/FieldFooter-CE598o7n.js +24 -0
- package/dist/FieldInput-bnC_fTws.cjs +155 -0
- package/dist/FieldInput-h3MgGC6J.js +150 -0
- package/dist/FieldLabel-BYlOJvXY.js +37 -0
- package/dist/FieldLabel-DBKhMbql.cjs +42 -0
- package/dist/FieldMessage-C83iNsEp.cjs +40 -0
- package/dist/FieldMessage-GyO_RQdK.js +35 -0
- package/dist/FieldRadioGroup-CLWFr3aL.cjs +158 -0
- package/dist/FieldRadioGroup-CmQ5JOjv.js +153 -0
- package/dist/FieldRequired-7fJtYCdt.js +16 -0
- package/dist/FieldRequired-CJtyr3cL.cjs +21 -0
- package/dist/FieldSelect-D6X_BwTS.js +239 -0
- package/dist/FieldSelect-DVcgCsHL.cjs +243 -0
- package/dist/FieldSwitch-C7VMSMoE.cjs +71 -0
- package/dist/FieldSwitch-DqagDsKK.js +66 -0
- package/dist/FieldTextarea-DBufxMQf.cjs +148 -0
- package/dist/FieldTextarea-_BtGkI0v.js +143 -0
- package/dist/FieldUrl-CcIOyPSl.js +387 -0
- package/dist/FieldUrl-DNnXDfBR.cjs +391 -0
- package/dist/FlyoutDropdown-Bw3pD8Tk.cjs +90 -0
- package/dist/FlyoutDropdown-ByXW9lqH.js +74 -0
- package/dist/FlyoutRoot-CuXnqpf8.js +110 -0
- package/dist/FlyoutRoot-DUoOHEoX.cjs +115 -0
- package/dist/FormPrompt-BDAVKk5i.cjs +63 -0
- package/dist/FormPrompt-BuS1lg-K.js +58 -0
- package/dist/FormPromptFooter-BhwWsaib.cjs +21 -0
- package/dist/FormPromptFooter-BrUOs40t.js +16 -0
- package/dist/HeroLead-BU-74-fX.js +151 -0
- package/dist/HeroLead-D52JBlM2.cjs +155 -0
- package/dist/ListItem-1sYxrNuv.cjs +164 -0
- package/dist/ListItem-rD49tsLw.js +148 -0
- package/dist/ListRoot-BRrC79y6.cjs +42 -0
- package/dist/ListRoot-CP7smMl_.js +37 -0
- package/dist/Loader-CMEggjED.cjs +121 -0
- package/dist/Loader-DSLPdX6P.js +116 -0
- package/dist/PricingCardBadge-DoHnRqTM.cjs +25 -0
- package/dist/PricingCardBadge-lh3Oq5fB.js +20 -0
- package/dist/PricingCardBody--EB7FzUU.cjs +60 -0
- package/dist/PricingCardBody-Dai1zKDL.js +49 -0
- package/dist/PricingCardHeader-DCEG6BUA.js +39 -0
- package/dist/PricingCardHeader-yebSjw8M.cjs +44 -0
- package/dist/PricingCardPricing-DvdbyMEh.cjs +30 -0
- package/dist/PricingCardPricing-Vbs2D8Fm.js +25 -0
- package/dist/PricingCardRoot-B9ztC1u9.cjs +46 -0
- package/dist/PricingCardRoot-Dagig8jr.js +41 -0
- package/dist/ProgressRoot-BV_wQKYv.js +251 -0
- package/dist/ProgressRoot-CWWNmB99.cjs +255 -0
- package/dist/SwitchRoot-CcipiBzA.cjs +61 -0
- package/dist/SwitchRoot-DGFu9ZWR.js +56 -0
- package/dist/TabItem--4wiBton.cjs +114 -0
- package/dist/TabItem-BTIrtLtp.js +104 -0
- package/dist/TabRoot-BNp4_dI_.cjs +77 -0
- package/dist/TabRoot-DDDJe5FC.js +72 -0
- package/dist/carousel-BrCOR927.cjs +144 -0
- package/dist/carousel-CBw9xA_6.js +139 -0
- package/dist/choiceStyles-DIVBtoZF.cjs +175 -0
- package/dist/choiceStyles-DRjL1Y2d.js +164 -0
- package/dist/components/Accordion/AccordionRoot.vue.d.ts +31 -0
- package/dist/components/Accordion/index.d.ts +59 -0
- package/dist/components/Accordion/styles.d.ts +67 -0
- package/dist/components/Accordion/types.d.ts +15 -0
- package/dist/components/Alert/AlertRoot.vue.d.ts +38 -0
- package/dist/components/Alert/index.d.ts +54 -0
- package/dist/components/Alert/styles.d.ts +132 -0
- package/dist/components/Alert/types.d.ts +6 -0
- package/dist/components/Badge/BadgeRoot.vue.d.ts +26 -0
- package/dist/components/Badge/index.d.ts +49 -0
- package/dist/components/Badge/styles.d.ts +94 -0
- package/dist/components/Button/Button.vue.d.ts +26 -0
- package/dist/components/Button/index.d.ts +4 -0
- package/dist/components/Button/styles.d.ts +140 -0
- package/dist/components/Card/CardBody.vue.d.ts +17 -0
- package/dist/components/Card/CardHeader.vue.d.ts +25 -0
- package/dist/components/Card/CardRoot.vue.d.ts +39 -0
- package/dist/components/Card/index.d.ts +98 -0
- package/dist/components/Card/styles.d.ts +169 -0
- package/dist/components/Card/types.d.ts +8 -0
- package/dist/components/Carousel/CarouselItem.vue.d.ts +17 -0
- package/dist/components/Carousel/CarouselNavigation.vue.d.ts +30 -0
- package/dist/components/Carousel/CarouselRoot.vue.d.ts +30 -0
- package/dist/components/Carousel/index.d.ts +117 -0
- package/dist/components/Carousel/styles.d.ts +1 -0
- package/dist/components/Carousel/types.d.ts +11 -0
- package/dist/components/Dialog/DialogRoot.vue.d.ts +39 -0
- package/dist/components/Dialog/index.d.ts +68 -0
- package/dist/components/Dialog/styles.d.ts +1 -0
- package/dist/components/Field/FieldBase.vue.d.ts +22 -0
- package/dist/components/Field/FieldCheckbox.vue.d.ts +15 -0
- package/dist/components/Field/FieldError.vue.d.ts +10 -0
- package/dist/components/Field/FieldFooter.vue.d.ts +3 -0
- package/dist/components/Field/FieldInput.vue.d.ts +21 -0
- package/dist/components/Field/FieldLabel.vue.d.ts +13 -0
- package/dist/components/Field/FieldMessage.vue.d.ts +10 -0
- package/dist/components/Field/FieldRadioGroup.vue.d.ts +19 -0
- package/dist/components/Field/FieldRequired.vue.d.ts +3 -0
- package/dist/components/Field/FieldSelect.vue.d.ts +20 -0
- package/dist/components/Field/FieldSwitch.vue.d.ts +18 -0
- package/dist/components/Field/FieldTextarea.vue.d.ts +19 -0
- package/dist/components/Field/FieldUrl.vue.d.ts +24 -0
- package/dist/components/Field/index.d.ts +220 -0
- package/dist/components/Field/styles.d.ts +20 -0
- package/dist/components/Field/types.d.ts +17 -0
- package/dist/components/Flyout/FlyoutDropdown.vue.d.ts +19 -0
- package/dist/components/Flyout/FlyoutRoot.vue.d.ts +43 -0
- package/dist/components/Flyout/index.d.ts +74 -0
- package/dist/components/Flyout/styles.d.ts +1 -0
- package/dist/components/Flyout/types.d.ts +10 -0
- package/dist/components/Form/FormPrompt.vue.d.ts +43 -0
- package/dist/components/Form/FormPromptFooter.vue.d.ts +20 -0
- package/dist/components/Form/index.d.ts +72 -0
- package/dist/components/Form/styles.d.ts +1 -0
- package/dist/components/Hero/HeroLead.vue.d.ts +39 -0
- package/dist/components/Hero/index.d.ts +49 -0
- package/dist/components/Hero/styles.d.ts +111 -0
- package/dist/components/List/ListItem.vue.d.ts +24 -0
- package/dist/components/List/ListRoot.vue.d.ts +26 -0
- package/dist/components/List/index.d.ts +74 -0
- package/dist/components/List/styles.d.ts +90 -0
- package/dist/components/List/types.d.ts +12 -0
- package/dist/components/Loader/Loader.vue.d.ts +14 -0
- package/dist/components/Loader/index.d.ts +4 -0
- package/dist/components/Loader/styles.d.ts +62 -0
- package/dist/components/PricingCard/PricingCardBadge.vue.d.ts +20 -0
- package/dist/components/PricingCard/PricingCardBody.vue.d.ts +20 -0
- package/dist/components/PricingCard/PricingCardHeader.vue.d.ts +28 -0
- package/dist/components/PricingCard/PricingCardPricing.vue.d.ts +22 -0
- package/dist/components/PricingCard/PricingCardRoot.vue.d.ts +27 -0
- package/dist/components/PricingCard/index.d.ts +138 -0
- package/dist/components/PricingCard/styles.d.ts +10 -0
- package/dist/components/PricingCard/types.d.ts +21 -0
- package/dist/components/Progress/ProgressRoot.vue.d.ts +41 -0
- package/dist/components/Progress/index.d.ts +81 -0
- package/dist/components/Progress/styles.d.ts +560 -0
- package/dist/components/Progress/types.d.ts +4 -0
- package/dist/components/Switch/SwitchRoot.vue.d.ts +25 -0
- package/dist/components/Switch/index.d.ts +35 -0
- package/dist/components/Switch/types.d.ts +2 -0
- package/dist/components/Tab/TabItem.vue.d.ts +19 -0
- package/dist/components/Tab/TabRoot.vue.d.ts +32 -0
- package/dist/components/Tab/index.d.ts +97 -0
- package/dist/components/Tab/styles.d.ts +1 -0
- package/dist/components/Tab/types.d.ts +14 -0
- package/dist/composables/carousel.d.ts +29 -0
- package/dist/composables/flyout.d.ts +30 -0
- package/dist/composables/form.d.ts +18 -0
- package/dist/composables/injection-key.d.ts +2 -0
- package/dist/context-Bk4uIMQS.js +4 -0
- package/dist/context-cK3z69qT.cjs +8 -0
- package/dist/controlStyles-Bf6fx2rL.js +92 -0
- package/dist/controlStyles-CClWH9EG.cjs +96 -0
- package/dist/css-BRRSQx3P.cjs +21 -0
- package/dist/css-DWYlz0rn.js +16 -0
- package/dist/flyout-BaVoXePQ.cjs +67 -0
- package/dist/flyout-QHh1jKmV.js +62 -0
- package/dist/form-BtxAsfYs.cjs +34 -0
- package/dist/form-CB12X8xv.js +29 -0
- package/dist/index.cjs +233 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.js +168 -0
- package/dist/injection-key-BQYV9vIr.js +5 -0
- package/dist/injection-key-DPb_AXnh.cjs +10 -0
- package/dist/internal/controls/ControlCheckbox.vue.d.ts +23 -0
- package/dist/internal/controls/ControlInput.vue.d.ts +28 -0
- package/dist/internal/controls/ControlRadioGroup.vue.d.ts +24 -0
- package/dist/internal/controls/ControlSelect.vue.d.ts +27 -0
- package/dist/internal/controls/ControlSwitch.vue.d.ts +25 -0
- package/dist/internal/controls/ControlTextarea.vue.d.ts +27 -0
- package/dist/internal/controls/ControlUrl.vue.d.ts +31 -0
- package/dist/internal/controls/choiceStyles.d.ts +64 -0
- package/dist/internal/controls/context.d.ts +10 -0
- package/dist/internal/controls/controlStyles.d.ts +54 -0
- package/dist/internal/controls/index.d.ts +14 -0
- package/dist/internal/controls/selectStyles.d.ts +2 -0
- package/dist/internal/controls/switchStyles.d.ts +46 -0
- package/dist/internal/controls/types.d.ts +10 -0
- package/dist/internal/controls/urlStyles.d.ts +84 -0
- package/dist/internal/controls/urlUtils.d.ts +14 -0
- package/dist/internal/controls/useFieldControl.d.ts +17 -0
- package/dist/internal/css.d.ts +24 -0
- package/dist/nuxt/module.d.mts +21 -0
- package/dist/nuxt/module.json +9 -0
- package/dist/nuxt/module.mjs +126 -0
- package/dist/nuxt/types.d.mts +3 -0
- package/dist/nuxt-entries.json +49 -0
- package/dist/panda/buildinfo.json +5432 -0
- package/dist/panda/lib.json +18 -0
- package/dist/panda/preset.mjs +4092 -0
- package/dist/plugin.d.ts +3 -0
- package/dist/preset/index.cjs +692 -0
- package/dist/preset/index.d.cts +18 -0
- package/dist/preset/index.d.ts +18 -0
- package/dist/preset/index.js +656 -0
- package/dist/style.css +153 -0
- package/dist/styled-system/css/conditions.d.ts +7 -0
- package/dist/styled-system/css/conditions.js +32 -0
- package/dist/styled-system/css/css.d.ts +22 -0
- package/dist/styled-system/css/css.js +63 -0
- package/dist/styled-system/css/cva.d.ts +5 -0
- package/dist/styled-system/css/cva.js +51 -0
- package/dist/styled-system/css/cx.d.ts +6 -0
- package/dist/styled-system/css/cx.js +16 -0
- package/dist/styled-system/css/first-that-works.d.ts +22 -0
- package/dist/styled-system/css/first-that-works.js +1 -0
- package/dist/styled-system/css/index.d.ts +8 -0
- package/dist/styled-system/css/index.js +8 -0
- package/dist/styled-system/css/keyframes.d.ts +5 -0
- package/dist/styled-system/css/keyframes.js +8 -0
- package/dist/styled-system/css/position-try.d.ts +5 -0
- package/dist/styled-system/css/position-try.js +11 -0
- package/dist/styled-system/css/sva.d.ts +3 -0
- package/dist/styled-system/css/sva.js +49 -0
- package/dist/styled-system/css/view-transition.d.ts +7 -0
- package/dist/styled-system/css/view-transition.js +18 -0
- package/dist/styled-system/helpers.d.ts +67 -0
- package/dist/styled-system/helpers.js +624 -0
- package/dist/styled-system/patterns/aspect-ratio.d.ts +19 -0
- package/dist/styled-system/patterns/aspect-ratio.js +37 -0
- package/dist/styled-system/patterns/bleed.d.ts +20 -0
- package/dist/styled-system/patterns/bleed.js +30 -0
- package/dist/styled-system/patterns/box.d.ts +17 -0
- package/dist/styled-system/patterns/box.js +16 -0
- package/dist/styled-system/patterns/center.d.ts +19 -0
- package/dist/styled-system/patterns/center.js +22 -0
- package/dist/styled-system/patterns/circle.d.ts +19 -0
- package/dist/styled-system/patterns/circle.js +26 -0
- package/dist/styled-system/patterns/container.d.ts +17 -0
- package/dist/styled-system/patterns/container.js +37 -0
- package/dist/styled-system/patterns/cq.d.ts +21 -0
- package/dist/styled-system/patterns/cq.js +24 -0
- package/dist/styled-system/patterns/divider.d.ts +22 -0
- package/dist/styled-system/patterns/divider.js +31 -0
- package/dist/styled-system/patterns/flex.d.ts +25 -0
- package/dist/styled-system/patterns/flex.js +27 -0
- package/dist/styled-system/patterns/float.d.ts +23 -0
- package/dist/styled-system/patterns/float.js +78 -0
- package/dist/styled-system/patterns/grid-item.d.ts +24 -0
- package/dist/styled-system/patterns/grid-item.js +26 -0
- package/dist/styled-system/patterns/grid.d.ts +24 -0
- package/dist/styled-system/patterns/grid.js +30 -0
- package/dist/styled-system/patterns/hstack.d.ts +20 -0
- package/dist/styled-system/patterns/hstack.js +27 -0
- package/dist/styled-system/patterns/index.d.ts +20 -0
- package/dist/styled-system/patterns/index.js +20 -0
- package/dist/styled-system/patterns/link-overlay.d.ts +17 -0
- package/dist/styled-system/patterns/link-overlay.js +25 -0
- package/dist/styled-system/patterns/runtime.js +25 -0
- package/dist/styled-system/patterns/spacer.d.ts +20 -0
- package/dist/styled-system/patterns/spacer.js +25 -0
- package/dist/styled-system/patterns/square.d.ts +19 -0
- package/dist/styled-system/patterns/square.js +25 -0
- package/dist/styled-system/patterns/stack.d.ts +22 -0
- package/dist/styled-system/patterns/stack.js +30 -0
- package/dist/styled-system/patterns/visually-hidden.d.ts +17 -0
- package/dist/styled-system/patterns/visually-hidden.js +19 -0
- package/dist/styled-system/patterns/vstack.d.ts +20 -0
- package/dist/styled-system/patterns/vstack.js +27 -0
- package/dist/styled-system/patterns/wrap.d.ts +23 -0
- package/dist/styled-system/patterns/wrap.js +26 -0
- package/dist/styled-system/recipes/runtime.js +133 -0
- package/dist/styled-system/tokens/index.d.ts +8 -0
- package/dist/styled-system/tokens/index.js +18 -0
- package/dist/styled-system/types/index.d.ts +5 -0
- package/dist/styled-system/types/pattern.d.ts +26 -0
- package/dist/styled-system/types/recipe.d.ts +89 -0
- package/dist/styled-system/types/register.d.ts +36 -0
- package/dist/styled-system/types/system.d.ts +1880 -0
- package/dist/styled-system/types/tokens.d.ts +60 -0
- package/dist/styles-8a0pzMRc.js +88 -0
- package/dist/styles-BU90HeKh.js +72 -0
- package/dist/styles-BvLgeNpb.cjs +42 -0
- package/dist/styles-CK7DJVwO.js +72 -0
- package/dist/styles-Cjlvkx8i.cjs +92 -0
- package/dist/styles-CuN4CHU4.cjs +76 -0
- package/dist/styles-WOyB8APA.js +38 -0
- package/dist/styles-_I-I4HYc.cjs +76 -0
- package/dist/types-B1vOzUjg.js +5 -0
- package/dist/types-Boy3jvmf.js +4 -0
- package/dist/types-CBApDh_h.js +149 -0
- package/dist/types-D2v625uE.cjs +8 -0
- package/dist/types-DzEK6W6x.cjs +16 -0
- package/dist/types-cLDeFros.cjs +166 -0
- package/dist/useFieldControl-BkQi1zak.js +29 -0
- package/dist/useFieldControl-CEI7IRAa.cjs +34 -0
- package/dist/vue/AccordionRoot.cjs +6 -0
- package/dist/vue/AccordionRoot.d.ts +1 -0
- package/dist/vue/AccordionRoot.js +1 -0
- package/dist/vue/AlertRoot.cjs +6 -0
- package/dist/vue/AlertRoot.d.ts +1 -0
- package/dist/vue/AlertRoot.js +1 -0
- package/dist/vue/BadgeRoot.cjs +6 -0
- package/dist/vue/BadgeRoot.d.ts +1 -0
- package/dist/vue/BadgeRoot.js +1 -0
- package/dist/vue/Button.cjs +6 -0
- package/dist/vue/Button.d.ts +1 -0
- package/dist/vue/Button.js +1 -0
- package/dist/vue/CardBody.cjs +6 -0
- package/dist/vue/CardBody.d.ts +1 -0
- package/dist/vue/CardBody.js +1 -0
- package/dist/vue/CardHeader.cjs +6 -0
- package/dist/vue/CardHeader.d.ts +1 -0
- package/dist/vue/CardHeader.js +1 -0
- package/dist/vue/CardRoot.cjs +6 -0
- package/dist/vue/CardRoot.d.ts +1 -0
- package/dist/vue/CardRoot.js +1 -0
- package/dist/vue/CarouselItem.cjs +6 -0
- package/dist/vue/CarouselItem.d.ts +1 -0
- package/dist/vue/CarouselItem.js +1 -0
- package/dist/vue/CarouselNavigation.cjs +6 -0
- package/dist/vue/CarouselNavigation.d.ts +1 -0
- package/dist/vue/CarouselNavigation.js +1 -0
- package/dist/vue/CarouselRoot.cjs +6 -0
- package/dist/vue/CarouselRoot.d.ts +1 -0
- package/dist/vue/CarouselRoot.js +1 -0
- package/dist/vue/DialogRoot.cjs +6 -0
- package/dist/vue/DialogRoot.d.ts +1 -0
- package/dist/vue/DialogRoot.js +1 -0
- package/dist/vue/FieldBase.cjs +6 -0
- package/dist/vue/FieldBase.d.ts +1 -0
- package/dist/vue/FieldBase.js +1 -0
- package/dist/vue/FieldCheckbox.cjs +6 -0
- package/dist/vue/FieldCheckbox.d.ts +1 -0
- package/dist/vue/FieldCheckbox.js +1 -0
- package/dist/vue/FieldError.cjs +6 -0
- package/dist/vue/FieldError.d.ts +1 -0
- package/dist/vue/FieldError.js +1 -0
- package/dist/vue/FieldInput.cjs +6 -0
- package/dist/vue/FieldInput.d.ts +1 -0
- package/dist/vue/FieldInput.js +1 -0
- package/dist/vue/FieldLabel.cjs +6 -0
- package/dist/vue/FieldLabel.d.ts +1 -0
- package/dist/vue/FieldLabel.js +1 -0
- package/dist/vue/FieldMessage.cjs +6 -0
- package/dist/vue/FieldMessage.d.ts +1 -0
- package/dist/vue/FieldMessage.js +1 -0
- package/dist/vue/FieldRadioGroup.cjs +6 -0
- package/dist/vue/FieldRadioGroup.d.ts +1 -0
- package/dist/vue/FieldRadioGroup.js +1 -0
- package/dist/vue/FieldRequired.cjs +6 -0
- package/dist/vue/FieldRequired.d.ts +1 -0
- package/dist/vue/FieldRequired.js +1 -0
- package/dist/vue/FieldSelect.cjs +6 -0
- package/dist/vue/FieldSelect.d.ts +1 -0
- package/dist/vue/FieldSelect.js +1 -0
- package/dist/vue/FieldSwitch.cjs +6 -0
- package/dist/vue/FieldSwitch.d.ts +1 -0
- package/dist/vue/FieldSwitch.js +1 -0
- package/dist/vue/FieldTextarea.cjs +6 -0
- package/dist/vue/FieldTextarea.d.ts +1 -0
- package/dist/vue/FieldTextarea.js +1 -0
- package/dist/vue/FieldUrl.cjs +6 -0
- package/dist/vue/FieldUrl.d.ts +1 -0
- package/dist/vue/FieldUrl.js +1 -0
- package/dist/vue/FlyoutDropdown.cjs +6 -0
- package/dist/vue/FlyoutDropdown.d.ts +1 -0
- package/dist/vue/FlyoutDropdown.js +1 -0
- package/dist/vue/FlyoutRoot.cjs +6 -0
- package/dist/vue/FlyoutRoot.d.ts +1 -0
- package/dist/vue/FlyoutRoot.js +1 -0
- package/dist/vue/FormPrompt.cjs +6 -0
- package/dist/vue/FormPrompt.d.ts +1 -0
- package/dist/vue/FormPrompt.js +1 -0
- package/dist/vue/FormPromptFooter.cjs +6 -0
- package/dist/vue/FormPromptFooter.d.ts +1 -0
- package/dist/vue/FormPromptFooter.js +1 -0
- package/dist/vue/HeroLead.cjs +6 -0
- package/dist/vue/HeroLead.d.ts +1 -0
- package/dist/vue/HeroLead.js +1 -0
- package/dist/vue/ListItem.cjs +6 -0
- package/dist/vue/ListItem.d.ts +1 -0
- package/dist/vue/ListItem.js +1 -0
- package/dist/vue/ListRoot.cjs +6 -0
- package/dist/vue/ListRoot.d.ts +1 -0
- package/dist/vue/ListRoot.js +1 -0
- package/dist/vue/Loader.cjs +6 -0
- package/dist/vue/Loader.d.ts +1 -0
- package/dist/vue/Loader.js +1 -0
- package/dist/vue/PricingCardBadge.cjs +6 -0
- package/dist/vue/PricingCardBadge.d.ts +1 -0
- package/dist/vue/PricingCardBadge.js +1 -0
- package/dist/vue/PricingCardBody.cjs +6 -0
- package/dist/vue/PricingCardBody.d.ts +1 -0
- package/dist/vue/PricingCardBody.js +1 -0
- package/dist/vue/PricingCardHeader.cjs +6 -0
- package/dist/vue/PricingCardHeader.d.ts +1 -0
- package/dist/vue/PricingCardHeader.js +1 -0
- package/dist/vue/PricingCardPricing.cjs +6 -0
- package/dist/vue/PricingCardPricing.d.ts +1 -0
- package/dist/vue/PricingCardPricing.js +1 -0
- package/dist/vue/PricingCardRoot.cjs +6 -0
- package/dist/vue/PricingCardRoot.d.ts +1 -0
- package/dist/vue/PricingCardRoot.js +1 -0
- package/dist/vue/ProgressRoot.cjs +6 -0
- package/dist/vue/ProgressRoot.d.ts +1 -0
- package/dist/vue/ProgressRoot.js +1 -0
- package/dist/vue/SwitchRoot.cjs +6 -0
- package/dist/vue/SwitchRoot.d.ts +1 -0
- package/dist/vue/SwitchRoot.js +1 -0
- package/dist/vue/TabItem.cjs +6 -0
- package/dist/vue/TabItem.d.ts +1 -0
- package/dist/vue/TabItem.js +1 -0
- package/dist/vue/TabRoot.cjs +6 -0
- package/dist/vue/TabRoot.d.ts +1 -0
- package/dist/vue/TabRoot.js +1 -0
- package/dist/vue/useCarousel.cjs +3 -0
- package/dist/vue/useCarousel.d.ts +1 -0
- package/dist/vue/useCarousel.js +1 -0
- package/dist/vue/useFlyout.cjs +3 -0
- package/dist/vue/useFlyout.d.ts +1 -0
- package/dist/vue/useFlyout.js +1 -0
- package/dist/vue/useFormData.cjs +3 -0
- package/dist/vue/useFormData.d.ts +1 -0
- package/dist/vue/useFormData.js +1 -0
- package/dist/vue-components.d.ts +17 -0
- package/package.json +172 -4
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import TabRoot from './TabRoot.vue';
|
|
2
|
+
import TabItem from './TabItem.vue';
|
|
3
|
+
export { TabRoot, TabItem };
|
|
4
|
+
export type { TabItemData, TabChangePayload, TabRootCss, TabItemCss } from './types';
|
|
5
|
+
declare const _default: {
|
|
6
|
+
Root: {
|
|
7
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<{
|
|
8
|
+
modelValue?: string;
|
|
9
|
+
defaultValue?: string;
|
|
10
|
+
orientation?: "horizontal" | "vertical";
|
|
11
|
+
loop?: boolean;
|
|
12
|
+
items?: import("./types").TabItemData[];
|
|
13
|
+
css?: import("./types").TabRootCss;
|
|
14
|
+
}> & Readonly<{
|
|
15
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
16
|
+
onChange?: ((payload: import("./types").TabChangePayload) => any) | undefined;
|
|
17
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
18
|
+
"update:modelValue": (value: string) => any;
|
|
19
|
+
change: (payload: import("./types").TabChangePayload) => any;
|
|
20
|
+
}, import("vue").PublicProps, {
|
|
21
|
+
orientation: "horizontal" | "vertical";
|
|
22
|
+
items: import("./types").TabItemData[];
|
|
23
|
+
loop: boolean;
|
|
24
|
+
}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
25
|
+
P: {};
|
|
26
|
+
B: {};
|
|
27
|
+
D: {};
|
|
28
|
+
C: {};
|
|
29
|
+
M: {};
|
|
30
|
+
Defaults: {};
|
|
31
|
+
}, Readonly<{
|
|
32
|
+
modelValue?: string;
|
|
33
|
+
defaultValue?: string;
|
|
34
|
+
orientation?: "horizontal" | "vertical";
|
|
35
|
+
loop?: boolean;
|
|
36
|
+
items?: import("./types").TabItemData[];
|
|
37
|
+
css?: import("./types").TabRootCss;
|
|
38
|
+
}> & Readonly<{
|
|
39
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
40
|
+
onChange?: ((payload: import("./types").TabChangePayload) => any) | undefined;
|
|
41
|
+
}>, {}, {}, {}, {}, {
|
|
42
|
+
orientation: "horizontal" | "vertical";
|
|
43
|
+
items: import("./types").TabItemData[];
|
|
44
|
+
loop: boolean;
|
|
45
|
+
}>;
|
|
46
|
+
__isFragment?: never;
|
|
47
|
+
__isTeleport?: never;
|
|
48
|
+
__isSuspense?: never;
|
|
49
|
+
} & import("vue").ComponentOptionsBase<Readonly<{
|
|
50
|
+
modelValue?: string;
|
|
51
|
+
defaultValue?: string;
|
|
52
|
+
orientation?: "horizontal" | "vertical";
|
|
53
|
+
loop?: boolean;
|
|
54
|
+
items?: import("./types").TabItemData[];
|
|
55
|
+
css?: import("./types").TabRootCss;
|
|
56
|
+
}> & Readonly<{
|
|
57
|
+
"onUpdate:modelValue"?: ((value: string) => any) | undefined;
|
|
58
|
+
onChange?: ((payload: import("./types").TabChangePayload) => any) | undefined;
|
|
59
|
+
}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
60
|
+
"update:modelValue": (value: string) => any;
|
|
61
|
+
change: (payload: import("./types").TabChangePayload) => any;
|
|
62
|
+
}, string, {
|
|
63
|
+
orientation: "horizontal" | "vertical";
|
|
64
|
+
items: import("./types").TabItemData[];
|
|
65
|
+
loop: boolean;
|
|
66
|
+
}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
67
|
+
$slots: {
|
|
68
|
+
default?: (props: {}) => any;
|
|
69
|
+
};
|
|
70
|
+
});
|
|
71
|
+
Item: {
|
|
72
|
+
new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<Readonly<import("./types").TabItemData & {
|
|
73
|
+
css?: import("./types").TabItemCss;
|
|
74
|
+
}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, import("vue").PublicProps, {}, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
|
|
75
|
+
P: {};
|
|
76
|
+
B: {};
|
|
77
|
+
D: {};
|
|
78
|
+
C: {};
|
|
79
|
+
M: {};
|
|
80
|
+
Defaults: {};
|
|
81
|
+
}, Readonly<import("./types").TabItemData & {
|
|
82
|
+
css?: import("./types").TabItemCss;
|
|
83
|
+
}> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
84
|
+
__isFragment?: never;
|
|
85
|
+
__isTeleport?: never;
|
|
86
|
+
__isSuspense?: never;
|
|
87
|
+
} & import("vue").ComponentOptionsBase<Readonly<import("./types").TabItemData & {
|
|
88
|
+
css?: import("./types").TabItemCss;
|
|
89
|
+
}> & Readonly<{}>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, {}, {}, string, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new () => {
|
|
90
|
+
$slots: {
|
|
91
|
+
icon?: (props: {}) => any;
|
|
92
|
+
} & {
|
|
93
|
+
default?: (props: {}) => any;
|
|
94
|
+
};
|
|
95
|
+
});
|
|
96
|
+
};
|
|
97
|
+
export default _default;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const tabStyles: import("../../../styled-system/types").SvaRuntimeFn<"root" | "item" | "icon", import("../../../styled-system/types").SlotRecipeVariantRecord<"root" | "item" | "icon">>;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { CssMap } from '../../internal/css';
|
|
2
|
+
export interface TabItemData {
|
|
3
|
+
value: string;
|
|
4
|
+
/** Tab label, rendered as HTML. */
|
|
5
|
+
label: string;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
icon?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface TabChangePayload {
|
|
10
|
+
value: string;
|
|
11
|
+
direction: 'prev' | 'next';
|
|
12
|
+
}
|
|
13
|
+
export type TabRootCss = CssMap<'root'>;
|
|
14
|
+
export type TabItemCss = CssMap<'root' | 'icon'>;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
export type CarouselScrollMode = 'item' | 'viewport';
|
|
3
|
+
export interface CarouselOptions {
|
|
4
|
+
scrollMode: MaybeRefOrGetter<CarouselScrollMode>;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Carousel scrolling for `item` and `viewport` modes.
|
|
8
|
+
*
|
|
9
|
+
* Navigation uses the scroller's overflow geometry (`scrollTo` + item offsets),
|
|
10
|
+
* not IntersectionObserver visibility. Observer callbacks only toggle the
|
|
11
|
+
* `visible` class — a `threshold` of `1` never marked items visible when the
|
|
12
|
+
* viewport was smaller than an item (issue #11).
|
|
13
|
+
*
|
|
14
|
+
* @param options Carousel options.
|
|
15
|
+
* @param options.scrollMode `item` moves one item; `viewport` moves past the visible ones.
|
|
16
|
+
* @param carousel The scroll container. Its direct children are the items.
|
|
17
|
+
*/
|
|
18
|
+
export declare function useCarousel(options: CarouselOptions, carousel: Ref<HTMLElement | null>): {
|
|
19
|
+
handleNext: () => void;
|
|
20
|
+
handlePrev: () => void;
|
|
21
|
+
handleWheel: (event: WheelEvent) => void;
|
|
22
|
+
carouselItems: import("vue").ShallowRef<HTMLElement[], HTMLElement[]>;
|
|
23
|
+
carouselItem: import("vue").ComputedRef<HTMLElement | null>;
|
|
24
|
+
currentCarouselItemIndex: Ref<number, number>;
|
|
25
|
+
visibleCarouselItems: import("vue").ShallowRef<HTMLElement[], HTMLElement[]>;
|
|
26
|
+
scrollDirection: Ref<"prev" | "next" | null, "prev" | "next" | null>;
|
|
27
|
+
allItemsVisible: import("vue").ComputedRef<boolean>;
|
|
28
|
+
pages: import("vue").ComputedRef<number>;
|
|
29
|
+
};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter, type Ref } from 'vue';
|
|
2
|
+
export type FlyoutOpenReason = 'hover' | 'click';
|
|
3
|
+
export interface FlyoutOptions {
|
|
4
|
+
/** Open while a mouse hovers the flyout. @default true */
|
|
5
|
+
openOnHover?: MaybeRefOrGetter<boolean>;
|
|
6
|
+
/** Delay before a hover-opened flyout closes after the pointer leaves, in ms. @default 150 */
|
|
7
|
+
closeDelay?: number;
|
|
8
|
+
/**
|
|
9
|
+
* Element to bind the hover listeners to. `FlyoutRoot` binds them itself;
|
|
10
|
+
* pass `el` only when you build your own flyout markup.
|
|
11
|
+
*/
|
|
12
|
+
el?: Ref<HTMLElement | null | undefined>;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Open state for a hover-and-click flyout.
|
|
16
|
+
*
|
|
17
|
+
* - A mouse hover opens it; leaving closes it after `closeDelay`.
|
|
18
|
+
* - A click while it is hover-open pins it open instead of closing it.
|
|
19
|
+
* - A click while it is closed or pinned toggles it.
|
|
20
|
+
* Touch and pen input ignore hover and only use clicks.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useFlyout(options?: FlyoutOptions): {
|
|
23
|
+
open: Readonly<Ref<boolean, boolean>>;
|
|
24
|
+
openedBy: Readonly<Ref<FlyoutOpenReason | null, FlyoutOpenReason | null>>;
|
|
25
|
+
setOpen: (value: boolean, reason?: FlyoutOpenReason) => void;
|
|
26
|
+
toggle: () => void;
|
|
27
|
+
pin: () => void;
|
|
28
|
+
onPointerEnter: (event: PointerEvent | MouseEvent) => void;
|
|
29
|
+
onPointerLeave: (event: PointerEvent | MouseEvent) => void;
|
|
30
|
+
};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type MaybeRefOrGetter } from 'vue';
|
|
2
|
+
export type FormJson = Record<string, FormDataEntryValue>;
|
|
3
|
+
/**
|
|
4
|
+
* Read a form's current values on demand.
|
|
5
|
+
*
|
|
6
|
+
* Accepts the element, a template ref, or a getter, so it can be called in
|
|
7
|
+
* `setup` before the form mounts. Each call reads the DOM at that moment;
|
|
8
|
+
* nothing is cached.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const form = useTemplateRef<HTMLFormElement>('form')
|
|
12
|
+
* const { getJson } = useFormData(form)
|
|
13
|
+
* const onSubmit = () => send(getJson())
|
|
14
|
+
*/
|
|
15
|
+
export declare function useFormData(form: MaybeRefOrGetter<HTMLFormElement | null | undefined>): {
|
|
16
|
+
getFormData: () => FormData | null;
|
|
17
|
+
getJson: () => FormJson | null;
|
|
18
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { cva } from "@webflare/ui/css";
|
|
2
|
+
// src/internal/controls/controlStyles.ts
|
|
3
|
+
/** Text-like field controls: input, textarea, and the select trigger. */
|
|
4
|
+
var controlStyles = cva({
|
|
5
|
+
base: {
|
|
6
|
+
display: "flex",
|
|
7
|
+
alignItems: "center",
|
|
8
|
+
width: "100%",
|
|
9
|
+
minWidth: "200px",
|
|
10
|
+
backgroundColor: "surface",
|
|
11
|
+
borderWidth: "1px",
|
|
12
|
+
borderStyle: "solid",
|
|
13
|
+
borderColor: "border",
|
|
14
|
+
borderRadius: "lg",
|
|
15
|
+
outlineWidth: "3px",
|
|
16
|
+
outlineColor: "transparent",
|
|
17
|
+
outlineOffset: "0px",
|
|
18
|
+
outlineStyle: "solid",
|
|
19
|
+
fontWeight: "450",
|
|
20
|
+
fontFamily: "inherit",
|
|
21
|
+
lineHeight: "1.5",
|
|
22
|
+
color: "neutral",
|
|
23
|
+
transition: "all 300ms",
|
|
24
|
+
_placeholder: { color: "text.placeholder" },
|
|
25
|
+
_hover: { borderColor: "border.hover" },
|
|
26
|
+
_focus: {
|
|
27
|
+
outlineColor: "primary/50",
|
|
28
|
+
borderColor: "primary"
|
|
29
|
+
},
|
|
30
|
+
_disabled: {
|
|
31
|
+
opacity: "0.5",
|
|
32
|
+
cursor: "not-allowed"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
variants: {
|
|
36
|
+
element: {
|
|
37
|
+
input: {},
|
|
38
|
+
textarea: {
|
|
39
|
+
alignItems: "flex-start",
|
|
40
|
+
resize: "vertical",
|
|
41
|
+
minHeight: "6rem"
|
|
42
|
+
},
|
|
43
|
+
select: {
|
|
44
|
+
justifyContent: "space-between",
|
|
45
|
+
gap: "md",
|
|
46
|
+
cursor: "pointer",
|
|
47
|
+
textAlign: "left",
|
|
48
|
+
_disabled: { cursor: "not-allowed" }
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
size: {
|
|
52
|
+
sm: {
|
|
53
|
+
paddingX: "md",
|
|
54
|
+
paddingY: "xs",
|
|
55
|
+
fontSize: "sm"
|
|
56
|
+
},
|
|
57
|
+
md: {
|
|
58
|
+
paddingX: "lg",
|
|
59
|
+
paddingY: "sm",
|
|
60
|
+
fontSize: "md"
|
|
61
|
+
},
|
|
62
|
+
lg: {
|
|
63
|
+
paddingX: "xl",
|
|
64
|
+
paddingY: "md",
|
|
65
|
+
fontSize: "lg"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
valid: {
|
|
69
|
+
true: {
|
|
70
|
+
borderColor: "success.subtle !important",
|
|
71
|
+
_focus: {
|
|
72
|
+
borderColor: "success.subtle !important",
|
|
73
|
+
outlineColor: "success.subtle/50 !important"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
false: {
|
|
77
|
+
borderColor: "danger.subtle !important",
|
|
78
|
+
_focus: {
|
|
79
|
+
borderColor: "danger.subtle !important",
|
|
80
|
+
outlineColor: "danger.subtle/50 !important"
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
none: {}
|
|
84
|
+
}
|
|
85
|
+
},
|
|
86
|
+
defaultVariants: {
|
|
87
|
+
element: "input",
|
|
88
|
+
size: "md",
|
|
89
|
+
valid: "none"
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
export { controlStyles as t };
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
// src/internal/controls/controlStyles.ts
|
|
2
|
+
/** Text-like field controls: input, textarea, and the select trigger. */
|
|
3
|
+
var controlStyles = (0, require("@webflare/ui/css").cva)({
|
|
4
|
+
base: {
|
|
5
|
+
display: "flex",
|
|
6
|
+
alignItems: "center",
|
|
7
|
+
width: "100%",
|
|
8
|
+
minWidth: "200px",
|
|
9
|
+
backgroundColor: "surface",
|
|
10
|
+
borderWidth: "1px",
|
|
11
|
+
borderStyle: "solid",
|
|
12
|
+
borderColor: "border",
|
|
13
|
+
borderRadius: "lg",
|
|
14
|
+
outlineWidth: "3px",
|
|
15
|
+
outlineColor: "transparent",
|
|
16
|
+
outlineOffset: "0px",
|
|
17
|
+
outlineStyle: "solid",
|
|
18
|
+
fontWeight: "450",
|
|
19
|
+
fontFamily: "inherit",
|
|
20
|
+
lineHeight: "1.5",
|
|
21
|
+
color: "neutral",
|
|
22
|
+
transition: "all 300ms",
|
|
23
|
+
_placeholder: { color: "text.placeholder" },
|
|
24
|
+
_hover: { borderColor: "border.hover" },
|
|
25
|
+
_focus: {
|
|
26
|
+
outlineColor: "primary/50",
|
|
27
|
+
borderColor: "primary"
|
|
28
|
+
},
|
|
29
|
+
_disabled: {
|
|
30
|
+
opacity: "0.5",
|
|
31
|
+
cursor: "not-allowed"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
variants: {
|
|
35
|
+
element: {
|
|
36
|
+
input: {},
|
|
37
|
+
textarea: {
|
|
38
|
+
alignItems: "flex-start",
|
|
39
|
+
resize: "vertical",
|
|
40
|
+
minHeight: "6rem"
|
|
41
|
+
},
|
|
42
|
+
select: {
|
|
43
|
+
justifyContent: "space-between",
|
|
44
|
+
gap: "md",
|
|
45
|
+
cursor: "pointer",
|
|
46
|
+
textAlign: "left",
|
|
47
|
+
_disabled: { cursor: "not-allowed" }
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
size: {
|
|
51
|
+
sm: {
|
|
52
|
+
paddingX: "md",
|
|
53
|
+
paddingY: "xs",
|
|
54
|
+
fontSize: "sm"
|
|
55
|
+
},
|
|
56
|
+
md: {
|
|
57
|
+
paddingX: "lg",
|
|
58
|
+
paddingY: "sm",
|
|
59
|
+
fontSize: "md"
|
|
60
|
+
},
|
|
61
|
+
lg: {
|
|
62
|
+
paddingX: "xl",
|
|
63
|
+
paddingY: "md",
|
|
64
|
+
fontSize: "lg"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
valid: {
|
|
68
|
+
true: {
|
|
69
|
+
borderColor: "success.subtle !important",
|
|
70
|
+
_focus: {
|
|
71
|
+
borderColor: "success.subtle !important",
|
|
72
|
+
outlineColor: "success.subtle/50 !important"
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
false: {
|
|
76
|
+
borderColor: "danger.subtle !important",
|
|
77
|
+
_focus: {
|
|
78
|
+
borderColor: "danger.subtle !important",
|
|
79
|
+
outlineColor: "danger.subtle/50 !important"
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
none: {}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
defaultVariants: {
|
|
86
|
+
element: "input",
|
|
87
|
+
size: "md",
|
|
88
|
+
valid: "none"
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
Object.defineProperty(exports, "controlStyles", {
|
|
92
|
+
enumerable: true,
|
|
93
|
+
get: function() {
|
|
94
|
+
return controlStyles;
|
|
95
|
+
}
|
|
96
|
+
});
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
let styled_system_css = require("@webflare/ui/css");
|
|
2
|
+
// src/internal/css.ts
|
|
3
|
+
/**
|
|
4
|
+
* Class for one slot: the component's style object merged with the consumer's
|
|
5
|
+
* override.
|
|
6
|
+
*
|
|
7
|
+
* Component styles are atomic classes, so appending an override class would
|
|
8
|
+
* leave both `bg_x` and `bg_y` on the element and let stylesheet order decide.
|
|
9
|
+
* Merging the objects first gives one class per property, and the override wins.
|
|
10
|
+
*
|
|
11
|
+
* Pass `styles.raw(…)` (or a slot of it), not the class string from `styles(…)`.
|
|
12
|
+
*/
|
|
13
|
+
function withCss(style, override) {
|
|
14
|
+
return (0, styled_system_css.css)(style, override ?? void 0);
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(exports, "withCss", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function() {
|
|
19
|
+
return withCss;
|
|
20
|
+
}
|
|
21
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { css } from "@webflare/ui/css";
|
|
2
|
+
// src/internal/css.ts
|
|
3
|
+
/**
|
|
4
|
+
* Class for one slot: the component's style object merged with the consumer's
|
|
5
|
+
* override.
|
|
6
|
+
*
|
|
7
|
+
* Component styles are atomic classes, so appending an override class would
|
|
8
|
+
* leave both `bg_x` and `bg_y` on the element and let stylesheet order decide.
|
|
9
|
+
* Merging the objects first gives one class per property, and the override wins.
|
|
10
|
+
*
|
|
11
|
+
* Pass `styles.raw(…)` (or a slot of it), not the class string from `styles(…)`.
|
|
12
|
+
*/
|
|
13
|
+
function withCss(style, override) {
|
|
14
|
+
return css(style, override ?? void 0);
|
|
15
|
+
}
|
|
16
|
+
export { withCss as t };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
let vue = require("vue");
|
|
2
|
+
// src/composables/flyout.ts
|
|
3
|
+
/**
|
|
4
|
+
* Open state for a hover-and-click flyout.
|
|
5
|
+
*
|
|
6
|
+
* - A mouse hover opens it; leaving closes it after `closeDelay`.
|
|
7
|
+
* - A click while it is hover-open pins it open instead of closing it.
|
|
8
|
+
* - A click while it is closed or pinned toggles it.
|
|
9
|
+
* Touch and pen input ignore hover and only use clicks.
|
|
10
|
+
*/
|
|
11
|
+
function useFlyout(options = {}) {
|
|
12
|
+
const open = (0, vue.ref)(false);
|
|
13
|
+
const openedBy = (0, vue.ref)(null);
|
|
14
|
+
const closeDelay = options.closeDelay ?? 150;
|
|
15
|
+
let closeTimer;
|
|
16
|
+
const clearCloseTimer = () => {
|
|
17
|
+
if (closeTimer !== void 0) {
|
|
18
|
+
clearTimeout(closeTimer);
|
|
19
|
+
closeTimer = void 0;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const setOpen = (value, reason = "click") => {
|
|
23
|
+
clearCloseTimer();
|
|
24
|
+
open.value = value;
|
|
25
|
+
openedBy.value = value ? reason : null;
|
|
26
|
+
};
|
|
27
|
+
const toggle = () => setOpen(!open.value, "click");
|
|
28
|
+
/** Keep a hover-opened flyout open after the pointer leaves. */
|
|
29
|
+
const pin = () => {
|
|
30
|
+
if (open.value && openedBy.value === "hover") openedBy.value = "click";
|
|
31
|
+
};
|
|
32
|
+
const hoverEnabled = (event) => ((0, vue.toValue)(options.openOnHover) ?? true) && (!("pointerType" in event) || event.pointerType === "mouse");
|
|
33
|
+
const onPointerEnter = (event) => {
|
|
34
|
+
if (!hoverEnabled(event)) return;
|
|
35
|
+
clearCloseTimer();
|
|
36
|
+
if (!open.value) setOpen(true, "hover");
|
|
37
|
+
};
|
|
38
|
+
const onPointerLeave = (event) => {
|
|
39
|
+
if (!hoverEnabled(event) || openedBy.value !== "hover") return;
|
|
40
|
+
clearCloseTimer();
|
|
41
|
+
closeTimer = setTimeout(() => setOpen(false), closeDelay);
|
|
42
|
+
};
|
|
43
|
+
(0, vue.onMounted)(() => {
|
|
44
|
+
options.el?.value?.addEventListener("pointerenter", onPointerEnter);
|
|
45
|
+
options.el?.value?.addEventListener("pointerleave", onPointerLeave);
|
|
46
|
+
});
|
|
47
|
+
(0, vue.onUnmounted)(() => {
|
|
48
|
+
clearCloseTimer();
|
|
49
|
+
options.el?.value?.removeEventListener("pointerenter", onPointerEnter);
|
|
50
|
+
options.el?.value?.removeEventListener("pointerleave", onPointerLeave);
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
open: (0, vue.readonly)(open),
|
|
54
|
+
openedBy: (0, vue.readonly)(openedBy),
|
|
55
|
+
setOpen,
|
|
56
|
+
toggle,
|
|
57
|
+
pin,
|
|
58
|
+
onPointerEnter,
|
|
59
|
+
onPointerLeave
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
Object.defineProperty(exports, "useFlyout", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
get: function() {
|
|
65
|
+
return useFlyout;
|
|
66
|
+
}
|
|
67
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { onMounted, onUnmounted, readonly, ref, toValue } from "vue";
|
|
2
|
+
// src/composables/flyout.ts
|
|
3
|
+
/**
|
|
4
|
+
* Open state for a hover-and-click flyout.
|
|
5
|
+
*
|
|
6
|
+
* - A mouse hover opens it; leaving closes it after `closeDelay`.
|
|
7
|
+
* - A click while it is hover-open pins it open instead of closing it.
|
|
8
|
+
* - A click while it is closed or pinned toggles it.
|
|
9
|
+
* Touch and pen input ignore hover and only use clicks.
|
|
10
|
+
*/
|
|
11
|
+
function useFlyout(options = {}) {
|
|
12
|
+
const open = ref(false);
|
|
13
|
+
const openedBy = ref(null);
|
|
14
|
+
const closeDelay = options.closeDelay ?? 150;
|
|
15
|
+
let closeTimer;
|
|
16
|
+
const clearCloseTimer = () => {
|
|
17
|
+
if (closeTimer !== void 0) {
|
|
18
|
+
clearTimeout(closeTimer);
|
|
19
|
+
closeTimer = void 0;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const setOpen = (value, reason = "click") => {
|
|
23
|
+
clearCloseTimer();
|
|
24
|
+
open.value = value;
|
|
25
|
+
openedBy.value = value ? reason : null;
|
|
26
|
+
};
|
|
27
|
+
const toggle = () => setOpen(!open.value, "click");
|
|
28
|
+
/** Keep a hover-opened flyout open after the pointer leaves. */
|
|
29
|
+
const pin = () => {
|
|
30
|
+
if (open.value && openedBy.value === "hover") openedBy.value = "click";
|
|
31
|
+
};
|
|
32
|
+
const hoverEnabled = (event) => (toValue(options.openOnHover) ?? true) && (!("pointerType" in event) || event.pointerType === "mouse");
|
|
33
|
+
const onPointerEnter = (event) => {
|
|
34
|
+
if (!hoverEnabled(event)) return;
|
|
35
|
+
clearCloseTimer();
|
|
36
|
+
if (!open.value) setOpen(true, "hover");
|
|
37
|
+
};
|
|
38
|
+
const onPointerLeave = (event) => {
|
|
39
|
+
if (!hoverEnabled(event) || openedBy.value !== "hover") return;
|
|
40
|
+
clearCloseTimer();
|
|
41
|
+
closeTimer = setTimeout(() => setOpen(false), closeDelay);
|
|
42
|
+
};
|
|
43
|
+
onMounted(() => {
|
|
44
|
+
options.el?.value?.addEventListener("pointerenter", onPointerEnter);
|
|
45
|
+
options.el?.value?.addEventListener("pointerleave", onPointerLeave);
|
|
46
|
+
});
|
|
47
|
+
onUnmounted(() => {
|
|
48
|
+
clearCloseTimer();
|
|
49
|
+
options.el?.value?.removeEventListener("pointerenter", onPointerEnter);
|
|
50
|
+
options.el?.value?.removeEventListener("pointerleave", onPointerLeave);
|
|
51
|
+
});
|
|
52
|
+
return {
|
|
53
|
+
open: readonly(open),
|
|
54
|
+
openedBy: readonly(openedBy),
|
|
55
|
+
setOpen,
|
|
56
|
+
toggle,
|
|
57
|
+
pin,
|
|
58
|
+
onPointerEnter,
|
|
59
|
+
onPointerLeave
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
export { useFlyout as t };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
let vue = require("vue");
|
|
2
|
+
// src/composables/form.ts
|
|
3
|
+
/**
|
|
4
|
+
* Read a form's current values on demand.
|
|
5
|
+
*
|
|
6
|
+
* Accepts the element, a template ref, or a getter, so it can be called in
|
|
7
|
+
* `setup` before the form mounts. Each call reads the DOM at that moment;
|
|
8
|
+
* nothing is cached.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const form = useTemplateRef<HTMLFormElement>('form')
|
|
12
|
+
* const { getJson } = useFormData(form)
|
|
13
|
+
* const onSubmit = () => send(getJson())
|
|
14
|
+
*/
|
|
15
|
+
function useFormData(form) {
|
|
16
|
+
const getFormData = () => {
|
|
17
|
+
const element = (0, vue.toValue)(form);
|
|
18
|
+
return element ? new FormData(element) : null;
|
|
19
|
+
};
|
|
20
|
+
const getJson = () => {
|
|
21
|
+
const data = getFormData();
|
|
22
|
+
return data ? Object.fromEntries(data.entries()) : null;
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
getFormData,
|
|
26
|
+
getJson
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
Object.defineProperty(exports, "useFormData", {
|
|
30
|
+
enumerable: true,
|
|
31
|
+
get: function() {
|
|
32
|
+
return useFormData;
|
|
33
|
+
}
|
|
34
|
+
});
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { toValue } from "vue";
|
|
2
|
+
// src/composables/form.ts
|
|
3
|
+
/**
|
|
4
|
+
* Read a form's current values on demand.
|
|
5
|
+
*
|
|
6
|
+
* Accepts the element, a template ref, or a getter, so it can be called in
|
|
7
|
+
* `setup` before the form mounts. Each call reads the DOM at that moment;
|
|
8
|
+
* nothing is cached.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const form = useTemplateRef<HTMLFormElement>('form')
|
|
12
|
+
* const { getJson } = useFormData(form)
|
|
13
|
+
* const onSubmit = () => send(getJson())
|
|
14
|
+
*/
|
|
15
|
+
function useFormData(form) {
|
|
16
|
+
const getFormData = () => {
|
|
17
|
+
const element = toValue(form);
|
|
18
|
+
return element ? new FormData(element) : null;
|
|
19
|
+
};
|
|
20
|
+
const getJson = () => {
|
|
21
|
+
const data = getFormData();
|
|
22
|
+
return data ? Object.fromEntries(data.entries()) : null;
|
|
23
|
+
};
|
|
24
|
+
return {
|
|
25
|
+
getFormData,
|
|
26
|
+
getJson
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
export { useFormData as t };
|