@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
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Webflare OÜ
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -1,3 +1,235 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @webflare/ui
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Webflare design system. One npm package with subpath exports:
|
|
4
|
+
|
|
5
|
+
| Import | What you get |
|
|
6
|
+
| --- | --- |
|
|
7
|
+
| `@webflare/ui` / `@webflare/ui/components` | Vue 3 UI components |
|
|
8
|
+
| `@webflare/ui/design-preset` / `@webflare/ui/preset` | Panda CSS preset (token-only consumers; not used with `designSystem`) |
|
|
9
|
+
| `@webflare/ui/nuxt` | Nuxt module |
|
|
10
|
+
| `@webflare/ui/vue/*` | Per-component Vue entries (for example `@webflare/ui/vue/Button`) |
|
|
11
|
+
| `@webflare/ui/style.css` | Iconify stylesheet only |
|
|
12
|
+
|
|
13
|
+
This library does **not** ship compiled Panda CSS. Consuming apps depend on `@pandacss/dev`, keep their own `panda.config.ts`, and set `designSystem: '@webflare/ui'`. `panda lib` writes `@webflare/ui/panda/*` (`lib.json`, `preset.mjs`, `buildinfo.json`) and the generated `./css`, `./tokens`, `./types`, … subpaths. Do not hand-edit those generated exports.
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
Required peers: `vue`, `reka-ui`, `@pandacss/dev`. `@pandacss/preset-base` is a normal dependency: `panda lib` inlines it into the design-system preset, so apps that set `designSystem: '@webflare/ui'` do not install it. `nuxt` and `@nuxt/kit` are optional and only needed for `@webflare/ui/nuxt` (a Nuxt app already provides both).
|
|
18
|
+
|
|
19
|
+
**Nuxt**
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
bun add @webflare/ui reka-ui @pandacss/dev
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```ts
|
|
26
|
+
export default defineNuxtConfig({
|
|
27
|
+
modules: ['@webflare/ui/nuxt'],
|
|
28
|
+
css: ['~/assets/css/global.css'],
|
|
29
|
+
postcss: {
|
|
30
|
+
plugins: {
|
|
31
|
+
'@pandacss/dev/postcss': {},
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
})
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
```css
|
|
38
|
+
/* assets/css/global.css */
|
|
39
|
+
@layer reset, base, tokens, recipes, utilities;
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
```ts
|
|
43
|
+
import { defineConfig } from '@pandacss/dev'
|
|
44
|
+
|
|
45
|
+
export default defineConfig({
|
|
46
|
+
preflight: true,
|
|
47
|
+
designSystem: '@webflare/ui',
|
|
48
|
+
include: [
|
|
49
|
+
'./app/**/*.{js,ts,vue}',
|
|
50
|
+
],
|
|
51
|
+
outdir: 'styled-system',
|
|
52
|
+
})
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Do not add `@webflare/ui/preset`, `@webflare/ui/design-preset`, or `@webflare/ui` to `presets` / `include`. `designSystem` already loads the theme and component styles. Listing the package in `include` errors with `design_system_in_include`.
|
|
56
|
+
|
|
57
|
+
Components are auto-imported with a `Wf` prefix (`WfButton`, `WfAlertRoot`, `WfCardRoot`, …).
|
|
58
|
+
|
|
59
|
+
**Vue (Vite)**
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
bun add @webflare/ui vue reka-ui @pandacss/dev
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
```ts
|
|
66
|
+
import { createApp } from 'vue'
|
|
67
|
+
import WfUI from '@webflare/ui'
|
|
68
|
+
import '@webflare/ui/style.css'
|
|
69
|
+
|
|
70
|
+
const app = createApp({})
|
|
71
|
+
app.use(WfUI)
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
```ts
|
|
75
|
+
import { defineConfig } from '@pandacss/dev'
|
|
76
|
+
|
|
77
|
+
export default defineConfig({
|
|
78
|
+
preflight: true,
|
|
79
|
+
designSystem: '@webflare/ui',
|
|
80
|
+
include: [
|
|
81
|
+
'./src/**/*.{js,ts,vue}',
|
|
82
|
+
],
|
|
83
|
+
outdir: 'styled-system',
|
|
84
|
+
})
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
You can also import from `@webflare/ui/components` if you want the subpath to be explicit.
|
|
88
|
+
|
|
89
|
+
`createInjectionKey` is exported from `@webflare/ui` but is not auto-imported by the Nuxt module.
|
|
90
|
+
|
|
91
|
+
## Styling components
|
|
92
|
+
|
|
93
|
+
Component styles are atomic Panda classes from `cva` / `sva` definitions inside the package. They reach the app through `designSystem: '@webflare/ui'`; Panda generates every variant of each definition, so the app does not need to render a variant for its CSS to exist.
|
|
94
|
+
|
|
95
|
+
**Per-instance overrides.** Every component takes a `css` prop: style objects keyed by slot, where `root` is always the outermost element. Wrap each value in `css.raw()` from the app's own `styled-system/css`. Panda only generates CSS for objects it can see at build time; a bare object literal compiles but produces no CSS.
|
|
96
|
+
|
|
97
|
+
```vue
|
|
98
|
+
<script setup lang="ts">
|
|
99
|
+
import { css } from 'styled-system/css'
|
|
100
|
+
</script>
|
|
101
|
+
|
|
102
|
+
<template>
|
|
103
|
+
<WfAlertRoot
|
|
104
|
+
:messages="messages"
|
|
105
|
+
:css="{ root: css.raw({ maxWidth: 'md' }), title: css.raw({ fontSize: 'xl' }) }"
|
|
106
|
+
/>
|
|
107
|
+
</template>
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
The component merges the override into its own style object before generating classes, so an overridden property gets one class and the override wins.
|
|
111
|
+
|
|
112
|
+
**Color modes.** Light is the default. Dark applies inside an element with the `.dark` class and when the OS prefers dark (`prefers-color-scheme: dark`). Put `class="dark"` on `<html>`, any container, or a component's own root to switch that element and its subtree. There is no class that forces light while the OS prefers dark.
|
|
113
|
+
|
|
114
|
+
**Semantic colors.** Use the roles instead of raw shades; they switch between the modes on their own, so app styles rarely need a mode condition:
|
|
115
|
+
|
|
116
|
+
| Role | Use |
|
|
117
|
+
| --- | --- |
|
|
118
|
+
| `primary`, `primary-pale` | Brand color (the same in both modes) and its pale fill |
|
|
119
|
+
| `neutral`, `neutral.inverse`, `neutral.light`, `neutral.subtle` | Text, text on an inverted fill, quiet text, quiet neutral fill |
|
|
120
|
+
| `surface`, `surface.raised`, `surface-muted` | Page and field background, panels, muted sections |
|
|
121
|
+
| `border`, `border.hover`, `border.subtle`, `border.card` | Field borders, hovered fields, dividers, card and tab bar borders |
|
|
122
|
+
| `muted`, `text.muted` | Secondary copy |
|
|
123
|
+
| `text.placeholder` | Placeholder text and quiet icons inside a field |
|
|
124
|
+
| `loader.track` | Ring of the loader behind the brand arc |
|
|
125
|
+
| `input-border`, `input-bg`, `input-disabled-bg`, `input-color` | Form fields |
|
|
126
|
+
| `accent-subtle`, `accent-border`, `accent-text` | Brand-tinted highlights |
|
|
127
|
+
| `danger`, `success`, `warning`, `info` (with `.subtle`, `.subtle.light`, `.text`) | Status |
|
|
128
|
+
|
|
129
|
+
When an app style does need a mode condition, write the same dark value under both `_dark` and `_osDark`:
|
|
130
|
+
|
|
131
|
+
```ts
|
|
132
|
+
css({ bg: { base: 'grey.100', _dark: 'grey.800', _osDark: 'grey.800' } })
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
For transparency, use the opacity modifier on a color token (`black/10`, `primary/30`).
|
|
136
|
+
|
|
137
|
+
## Text and HTML content
|
|
138
|
+
|
|
139
|
+
Content props render as **HTML** (`v-html`): `Button` `label`, `CardHeader` `title` / `subtitle`, `HeroLead` `headline` / `description`, list items and `PricingCard` features, accordion item `title` / `content`, tab labels, `FlyoutRoot` `label`, and field `message` / `error`. Markup such as `Build <mark>faster</mark>` works as written.
|
|
140
|
+
|
|
141
|
+
The library does not sanitize these strings. **The app is responsible**: sanitize anything that can contain user input, server responses (including validation messages), CMS content, or external translations before passing it, for example with [DOMPurify](https://github.com/cure53/DOMPurify). Where a component has a slot for the same content (`CardHeader` `#title` / `#subtitle`, `HeroLead` `#headline` / `#description`, `AccordionRoot` `#content`, `ListItem` and `TabItem` default slots, `FlyoutRoot` `#trigger-label`), text passed through the slot is escaped by Vue. `Button` `label`, accordion item `title`, and field `message` / `error` have no slot; sanitize those strings.
|
|
142
|
+
|
|
143
|
+
## Component names
|
|
144
|
+
|
|
145
|
+
Nuxt auto-imports Vue components with a `Wf` prefix (`WfButton`, `WfAlertRoot`, `WfCardRoot`) as named exports of `@webflare/ui`. Per-component files remain available at `@webflare/ui/vue/*` for direct imports (for example `@webflare/ui/vue/Button`).
|
|
146
|
+
|
|
147
|
+
Nuxt tags, the Vue plugin, and `@webflare/ui/vue/*` use the same canonical names:
|
|
148
|
+
|
|
149
|
+
| Pattern | Examples |
|
|
150
|
+
| --- | --- |
|
|
151
|
+
| Standalone | `Button`, `Loader` (`WfButton`, `WfLoader`) |
|
|
152
|
+
| Named roots / parts | `AlertRoot`, `BadgeRoot`, `TabRoot`, `CardRoot`, `CardBody`, `TabItem` |
|
|
153
|
+
| Namespace object (`Card.Root`) | `Accordion`, `Alert`, `Badge`, `Card`, `Carousel`, `Dialog`, `Field`, `Flyout`, `Form`, `Hero`, `List`, `PricingCard`, `Progress`, `Switch`, `Tab` |
|
|
154
|
+
|
|
155
|
+
`Alert.Root` is the same component as named `AlertRoot`. There is no `WfAlert` / `WfBadge` / `WfTab` alias. Form controls are `Field.*` / `WfField*` — `Control*` is not a public export.
|
|
156
|
+
|
|
157
|
+
## Fonts
|
|
158
|
+
|
|
159
|
+
The preset defines `fonts.sans`, `fonts.serif`, and `fonts.mono`. `fonts.sans` is **Figtree**, then the system sans (`ui-sans-serif, system-ui, sans-serif`, plus emoji fonts). `fonts.serif` and `fonts.mono` are those same system stacks. Semantic `fonts.body` aliases `fonts.sans`.
|
|
160
|
+
|
|
161
|
+
The npm package does not include font files. Load the Figtree **variable** face so intermediate weights (450, 750) resolve. [Fontsource](https://fontsource.org/fonts/figtree) is one way:
|
|
162
|
+
|
|
163
|
+
```bash
|
|
164
|
+
bun add @fontsource-variable/figtree
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
```css
|
|
168
|
+
@import '@fontsource-variable/figtree';
|
|
169
|
+
```
|
|
170
|
+
|
|
171
|
+
Self-hosting works the same way. Figtree is under the [SIL Open Font License](https://openfontlicense.org/). The `@font-face` `font-family` must be `Figtree`.
|
|
172
|
+
|
|
173
|
+
`Button`, text inputs, textareas, and select triggers set `font-family: inherit`, so they follow the document face when preflight is off. With preflight on, Panda's reset already sets `font: inherit` on those controls. Preflight sets the document face to `--global-font-body`, which falls back to Panda's built-in system stack. It does not apply `fonts.sans` on its own. Point the document at the sans token:
|
|
174
|
+
|
|
175
|
+
```ts
|
|
176
|
+
globalCss: {
|
|
177
|
+
html: {
|
|
178
|
+
fontFamily: 'sans',
|
|
179
|
+
},
|
|
180
|
+
},
|
|
181
|
+
```
|
|
182
|
+
|
|
183
|
+
Until the face is loaded, `fonts.sans` falls through to the system sans.
|
|
184
|
+
|
|
185
|
+
## Development
|
|
186
|
+
|
|
187
|
+
This repo is a Bun workspace. Internal package names (`@webflare/design-preset`, `@webflare/ui-components`, `@webflare/ui-nuxt`) stay private and are not published.
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
bun install
|
|
191
|
+
bun run build
|
|
192
|
+
bun run typecheck
|
|
193
|
+
bun run test
|
|
194
|
+
bun run dev:nuxt
|
|
195
|
+
```
|
|
196
|
+
|
|
197
|
+
`bun run build` and `bun run dev:nuxt` link the root package at `node_modules/@webflare/ui` and run `panda lib`, so the playground can set `designSystem: '@webflare/ui'` the same way consumers do.
|
|
198
|
+
|
|
199
|
+
See `AGENTS.md` for lint, test, and package scripts.
|
|
200
|
+
|
|
201
|
+
The Panda CSS migration skill lives in the git repository (not in the npm tarball). Use [`.agents/skills/panda-v2-migration/SKILL.md`](.agents/skills/panda-v2-migration/SKILL.md) for an app that is still on Panda CSS 1.x, still lists `panda.buildinfo.json` in `include`, or still adds the preset by hand instead of setting `designSystem: '@webflare/ui'`.
|
|
202
|
+
|
|
203
|
+
## Publishing
|
|
204
|
+
|
|
205
|
+
Publish the root package only. The GitHub Action uses [npm trusted publishing](https://docs.npmjs.com/trusted-publishers/) (OIDC) in the `npm-publish` environment. There is no `NPM_TOKEN`.
|
|
206
|
+
|
|
207
|
+
`prepublishOnly` runs `bun run build`. The Action already builds and tests with Bun, then runs `npm publish --ignore-scripts` so that script does not rebuild. `bun publish` cannot authenticate with OIDC.
|
|
208
|
+
|
|
209
|
+
The Action runs on a published GitHub Release or a manual start, and only from the tag `v<version>` that matches `package.json`.
|
|
210
|
+
|
|
211
|
+
### First publish (0.1.0)
|
|
212
|
+
|
|
213
|
+
Trusted publishing can only be attached to a package that already exists, so 0.1.0 is published by hand.
|
|
214
|
+
|
|
215
|
+
1. `npm login` in a browser session (interactive 2FA). Do not create a bypass-2FA granular token.
|
|
216
|
+
2. Tag `v0.1.0` on the release commit, then from a clean checkout of that tag:
|
|
217
|
+
|
|
218
|
+
```bash
|
|
219
|
+
bun install --frozen-lockfile
|
|
220
|
+
bun run build
|
|
221
|
+
bun run test
|
|
222
|
+
npm publish --access public --ignore-scripts
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
3. Do not create a GitHub Release for 0.1.0. It would start the Action, which fails because the version is already on npm.
|
|
226
|
+
4. On npmjs.com → `@webflare/ui` → Settings → Trusted Publisher → GitHub Actions:
|
|
227
|
+
- Organization or user: `webflare-sh`
|
|
228
|
+
- Repository: `ui`
|
|
229
|
+
- Workflow filename: `publish.yml` (filename only, including `.yml`)
|
|
230
|
+
- Environment name: `npm-publish`
|
|
231
|
+
- Allowed actions: `npm publish`
|
|
232
|
+
|
|
233
|
+
### Later publishes
|
|
234
|
+
|
|
235
|
+
Bump the version in all four `package.json` files and run `bun run changelog`. It adds the entry generated from the previous release tag. Run it from a full clone: in a shallow clone it stops with git's error and asks for `git fetch --unshallow --tags`. After the pull request is merged, tag `v<version>` on `master` and publish a GitHub Release for that tag (or start the **Publish to npm** Action from the tag). After the first OIDC publish succeeds, you can set the package to require 2FA and disallow tokens.
|
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
const require_css = require("./css-BRRSQx3P.cjs");
|
|
2
|
+
let vue = require("vue");
|
|
3
|
+
let reka_ui = require("reka-ui");
|
|
4
|
+
// src/components/Accordion/styles.ts
|
|
5
|
+
var accordionStyles = (0, require("@webflare/ui/css").sva)({
|
|
6
|
+
slots: [
|
|
7
|
+
"root",
|
|
8
|
+
"item",
|
|
9
|
+
"trigger",
|
|
10
|
+
"icon",
|
|
11
|
+
"title",
|
|
12
|
+
"indicator",
|
|
13
|
+
"content"
|
|
14
|
+
],
|
|
15
|
+
base: {
|
|
16
|
+
root: {
|
|
17
|
+
width: "100%",
|
|
18
|
+
display: "flex",
|
|
19
|
+
flexWrap: "wrap",
|
|
20
|
+
overflow: "clip",
|
|
21
|
+
color: "neutral"
|
|
22
|
+
},
|
|
23
|
+
item: {
|
|
24
|
+
borderWidth: "1px",
|
|
25
|
+
borderStyle: "solid",
|
|
26
|
+
borderColor: "border",
|
|
27
|
+
transition: "all 300ms",
|
|
28
|
+
overflow: "clip",
|
|
29
|
+
_closed: { _hover: { borderColor: "grey.400" } }
|
|
30
|
+
},
|
|
31
|
+
trigger: {
|
|
32
|
+
"width": "100%",
|
|
33
|
+
"display": "flex",
|
|
34
|
+
"flexWrap": "nowrap",
|
|
35
|
+
"flexDirection": "row",
|
|
36
|
+
"cursor": "pointer",
|
|
37
|
+
"fontWeight": "semibold",
|
|
38
|
+
"lineHeight": "normal",
|
|
39
|
+
"alignItems": "center",
|
|
40
|
+
"userSelect": "none",
|
|
41
|
+
"_open": {
|
|
42
|
+
"backgroundColor": "neutral.subtle",
|
|
43
|
+
"& [data-trigger=\"icon\"]": { transform: "rotate(180deg)" }
|
|
44
|
+
},
|
|
45
|
+
"& [data-trigger=\"icon\"]": {
|
|
46
|
+
marginLeft: "auto",
|
|
47
|
+
transition: "transform 0.2s ease-in-out"
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
icon: {},
|
|
51
|
+
title: {
|
|
52
|
+
flex: "1 0%",
|
|
53
|
+
whiteSpace: "normal",
|
|
54
|
+
wordBreak: "break-word",
|
|
55
|
+
textAlign: "start"
|
|
56
|
+
},
|
|
57
|
+
indicator: {},
|
|
58
|
+
content: {
|
|
59
|
+
display: "block !important",
|
|
60
|
+
interpolateSize: "allow-keywords",
|
|
61
|
+
overflow: "clip",
|
|
62
|
+
lineHeight: "1.75",
|
|
63
|
+
_open: {
|
|
64
|
+
"animationStyle": "slideDown",
|
|
65
|
+
"& [data-trigger=\"icon\"]": {
|
|
66
|
+
transform: "rotate(180deg)",
|
|
67
|
+
transition: "transform 0.2s ease-in-out"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
_closed: { animationStyle: "slideUp" }
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
variants: {
|
|
74
|
+
orientation: {
|
|
75
|
+
horizontal: { root: { flexDirection: "row" } },
|
|
76
|
+
vertical: { root: { flexDirection: "column" } }
|
|
77
|
+
},
|
|
78
|
+
size: {
|
|
79
|
+
md: {
|
|
80
|
+
root: { gap: "md" },
|
|
81
|
+
item: { borderRadius: "lg" },
|
|
82
|
+
trigger: {
|
|
83
|
+
"paddingY": "md",
|
|
84
|
+
"paddingX": "lg",
|
|
85
|
+
"gap": "md",
|
|
86
|
+
"fontSize": "md",
|
|
87
|
+
"& [data-trigger=\"icon\"]": { fontSize: {
|
|
88
|
+
base: "sm",
|
|
89
|
+
md: "md"
|
|
90
|
+
} }
|
|
91
|
+
},
|
|
92
|
+
content: { "& > div": { padding: "lg" } }
|
|
93
|
+
},
|
|
94
|
+
lg: {
|
|
95
|
+
root: { gap: "lg" },
|
|
96
|
+
item: { borderRadius: "xl" },
|
|
97
|
+
trigger: {
|
|
98
|
+
"paddingY": "lg",
|
|
99
|
+
"paddingX": "xl",
|
|
100
|
+
"gap": "lg",
|
|
101
|
+
"fontSize": { base: "lg" },
|
|
102
|
+
"& [data-trigger=\"icon\"]": { fontSize: { base: "md" } }
|
|
103
|
+
},
|
|
104
|
+
content: { "& > div": { padding: "xl" } }
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
// src/components/Accordion/AccordionRoot.vue?vue&type=script&setup=true&lang.ts
|
|
110
|
+
var _hoisted_1 = ["innerHTML"];
|
|
111
|
+
var _hoisted_2 = ["innerHTML"];
|
|
112
|
+
// src/components/Accordion/AccordionRoot.vue
|
|
113
|
+
var AccordionRoot_default = /* @__PURE__ */ (0, vue.defineComponent)({
|
|
114
|
+
__name: "AccordionRoot",
|
|
115
|
+
props: {
|
|
116
|
+
type: { default: "multiple" },
|
|
117
|
+
orientation: { default: "vertical" },
|
|
118
|
+
size: { default: "md" },
|
|
119
|
+
items: {},
|
|
120
|
+
css: {}
|
|
121
|
+
},
|
|
122
|
+
setup(__props) {
|
|
123
|
+
const props = __props;
|
|
124
|
+
const styles = (0, vue.computed)(() => accordionStyles.raw({
|
|
125
|
+
orientation: props.orientation,
|
|
126
|
+
size: props.size
|
|
127
|
+
}));
|
|
128
|
+
return (_ctx, _cache) => {
|
|
129
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.AccordionRoot), {
|
|
130
|
+
type: __props.type,
|
|
131
|
+
orientation: __props.orientation,
|
|
132
|
+
class: (0, vue.normalizeClass)((0, vue.unref)(require_css.withCss)(styles.value.root, props.css?.root))
|
|
133
|
+
}, {
|
|
134
|
+
default: (0, vue.withCtx)(() => [((0, vue.openBlock)(true), (0, vue.createElementBlock)(vue.Fragment, null, (0, vue.renderList)(__props.items, (item) => {
|
|
135
|
+
return (0, vue.openBlock)(), (0, vue.createBlock)((0, vue.unref)(reka_ui.AccordionItem), {
|
|
136
|
+
key: item.id,
|
|
137
|
+
value: item.id,
|
|
138
|
+
class: (0, vue.normalizeClass)((0, vue.unref)(require_css.withCss)(styles.value.item, props.css?.item))
|
|
139
|
+
}, {
|
|
140
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(reka_ui.AccordionHeader), null, {
|
|
141
|
+
default: (0, vue.withCtx)(() => [(0, vue.createVNode)((0, vue.unref)(reka_ui.AccordionTrigger), { class: (0, vue.normalizeClass)((0, vue.unref)(require_css.withCss)(styles.value.trigger, props.css?.trigger)) }, {
|
|
142
|
+
default: (0, vue.withCtx)(() => [
|
|
143
|
+
(0, vue.renderSlot)(_ctx.$slots, "icon", { item }, () => [item.icon ? ((0, vue.openBlock)(), (0, vue.createElementBlock)("span", {
|
|
144
|
+
key: 0,
|
|
145
|
+
class: (0, vue.normalizeClass)([`icon icon-${item.icon}`, (0, vue.unref)(require_css.withCss)(styles.value.icon, props.css?.icon)]),
|
|
146
|
+
"aria-hidden": "true"
|
|
147
|
+
}, null, 2)) : (0, vue.createCommentVNode)("", true)]),
|
|
148
|
+
(0, vue.createElementVNode)("span", {
|
|
149
|
+
class: (0, vue.normalizeClass)((0, vue.unref)(require_css.withCss)(styles.value.title, props.css?.title)),
|
|
150
|
+
innerHTML: item.title
|
|
151
|
+
}, null, 10, _hoisted_1),
|
|
152
|
+
(0, vue.createElementVNode)("span", {
|
|
153
|
+
class: (0, vue.normalizeClass)(["icon icon-caret-down-bold", (0, vue.unref)(require_css.withCss)(styles.value.indicator, props.css?.indicator)]),
|
|
154
|
+
"data-trigger": "icon",
|
|
155
|
+
"aria-hidden": "true"
|
|
156
|
+
}, null, 2)
|
|
157
|
+
]),
|
|
158
|
+
_: 2
|
|
159
|
+
}, 1032, ["class"])]),
|
|
160
|
+
_: 2
|
|
161
|
+
}, 1024), (0, vue.createVNode)((0, vue.unref)(reka_ui.AccordionContent), { class: (0, vue.normalizeClass)((0, vue.unref)(require_css.withCss)(styles.value.content, props.css?.content)) }, {
|
|
162
|
+
default: (0, vue.withCtx)(() => [(0, vue.renderSlot)(_ctx.$slots, "content", { item }, () => [(0, vue.createElementVNode)("div", { innerHTML: item.content }, null, 8, _hoisted_2)])]),
|
|
163
|
+
_: 2
|
|
164
|
+
}, 1032, ["class"])]),
|
|
165
|
+
_: 2
|
|
166
|
+
}, 1032, ["value", "class"]);
|
|
167
|
+
}), 128))]),
|
|
168
|
+
_: 3
|
|
169
|
+
}, 8, [
|
|
170
|
+
"type",
|
|
171
|
+
"orientation",
|
|
172
|
+
"class"
|
|
173
|
+
]);
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
});
|
|
177
|
+
Object.defineProperty(exports, "AccordionRoot_default", {
|
|
178
|
+
enumerable: true,
|
|
179
|
+
get: function() {
|
|
180
|
+
return AccordionRoot_default;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { t as withCss } from "./css-DWYlz0rn.js";
|
|
2
|
+
import { Fragment, computed, createBlock, createCommentVNode, createElementBlock, createElementVNode, createVNode, defineComponent, normalizeClass, openBlock, renderList, renderSlot, unref, withCtx } from "vue";
|
|
3
|
+
import { AccordionContent, AccordionHeader, AccordionItem, AccordionRoot, AccordionTrigger } from "reka-ui";
|
|
4
|
+
import { sva } from "@webflare/ui/css";
|
|
5
|
+
// src/components/Accordion/styles.ts
|
|
6
|
+
var accordionStyles = sva({
|
|
7
|
+
slots: [
|
|
8
|
+
"root",
|
|
9
|
+
"item",
|
|
10
|
+
"trigger",
|
|
11
|
+
"icon",
|
|
12
|
+
"title",
|
|
13
|
+
"indicator",
|
|
14
|
+
"content"
|
|
15
|
+
],
|
|
16
|
+
base: {
|
|
17
|
+
root: {
|
|
18
|
+
width: "100%",
|
|
19
|
+
display: "flex",
|
|
20
|
+
flexWrap: "wrap",
|
|
21
|
+
overflow: "clip",
|
|
22
|
+
color: "neutral"
|
|
23
|
+
},
|
|
24
|
+
item: {
|
|
25
|
+
borderWidth: "1px",
|
|
26
|
+
borderStyle: "solid",
|
|
27
|
+
borderColor: "border",
|
|
28
|
+
transition: "all 300ms",
|
|
29
|
+
overflow: "clip",
|
|
30
|
+
_closed: { _hover: { borderColor: "grey.400" } }
|
|
31
|
+
},
|
|
32
|
+
trigger: {
|
|
33
|
+
"width": "100%",
|
|
34
|
+
"display": "flex",
|
|
35
|
+
"flexWrap": "nowrap",
|
|
36
|
+
"flexDirection": "row",
|
|
37
|
+
"cursor": "pointer",
|
|
38
|
+
"fontWeight": "semibold",
|
|
39
|
+
"lineHeight": "normal",
|
|
40
|
+
"alignItems": "center",
|
|
41
|
+
"userSelect": "none",
|
|
42
|
+
"_open": {
|
|
43
|
+
"backgroundColor": "neutral.subtle",
|
|
44
|
+
"& [data-trigger=\"icon\"]": { transform: "rotate(180deg)" }
|
|
45
|
+
},
|
|
46
|
+
"& [data-trigger=\"icon\"]": {
|
|
47
|
+
marginLeft: "auto",
|
|
48
|
+
transition: "transform 0.2s ease-in-out"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
icon: {},
|
|
52
|
+
title: {
|
|
53
|
+
flex: "1 0%",
|
|
54
|
+
whiteSpace: "normal",
|
|
55
|
+
wordBreak: "break-word",
|
|
56
|
+
textAlign: "start"
|
|
57
|
+
},
|
|
58
|
+
indicator: {},
|
|
59
|
+
content: {
|
|
60
|
+
display: "block !important",
|
|
61
|
+
interpolateSize: "allow-keywords",
|
|
62
|
+
overflow: "clip",
|
|
63
|
+
lineHeight: "1.75",
|
|
64
|
+
_open: {
|
|
65
|
+
"animationStyle": "slideDown",
|
|
66
|
+
"& [data-trigger=\"icon\"]": {
|
|
67
|
+
transform: "rotate(180deg)",
|
|
68
|
+
transition: "transform 0.2s ease-in-out"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
_closed: { animationStyle: "slideUp" }
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
variants: {
|
|
75
|
+
orientation: {
|
|
76
|
+
horizontal: { root: { flexDirection: "row" } },
|
|
77
|
+
vertical: { root: { flexDirection: "column" } }
|
|
78
|
+
},
|
|
79
|
+
size: {
|
|
80
|
+
md: {
|
|
81
|
+
root: { gap: "md" },
|
|
82
|
+
item: { borderRadius: "lg" },
|
|
83
|
+
trigger: {
|
|
84
|
+
"paddingY": "md",
|
|
85
|
+
"paddingX": "lg",
|
|
86
|
+
"gap": "md",
|
|
87
|
+
"fontSize": "md",
|
|
88
|
+
"& [data-trigger=\"icon\"]": { fontSize: {
|
|
89
|
+
base: "sm",
|
|
90
|
+
md: "md"
|
|
91
|
+
} }
|
|
92
|
+
},
|
|
93
|
+
content: { "& > div": { padding: "lg" } }
|
|
94
|
+
},
|
|
95
|
+
lg: {
|
|
96
|
+
root: { gap: "lg" },
|
|
97
|
+
item: { borderRadius: "xl" },
|
|
98
|
+
trigger: {
|
|
99
|
+
"paddingY": "lg",
|
|
100
|
+
"paddingX": "xl",
|
|
101
|
+
"gap": "lg",
|
|
102
|
+
"fontSize": { base: "lg" },
|
|
103
|
+
"& [data-trigger=\"icon\"]": { fontSize: { base: "md" } }
|
|
104
|
+
},
|
|
105
|
+
content: { "& > div": { padding: "xl" } }
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
// src/components/Accordion/AccordionRoot.vue?vue&type=script&setup=true&lang.ts
|
|
111
|
+
var _hoisted_1 = ["innerHTML"];
|
|
112
|
+
var _hoisted_2 = ["innerHTML"];
|
|
113
|
+
// src/components/Accordion/AccordionRoot.vue
|
|
114
|
+
var AccordionRoot_default = /* @__PURE__ */ defineComponent({
|
|
115
|
+
__name: "AccordionRoot",
|
|
116
|
+
props: {
|
|
117
|
+
type: { default: "multiple" },
|
|
118
|
+
orientation: { default: "vertical" },
|
|
119
|
+
size: { default: "md" },
|
|
120
|
+
items: {},
|
|
121
|
+
css: {}
|
|
122
|
+
},
|
|
123
|
+
setup(__props) {
|
|
124
|
+
const props = __props;
|
|
125
|
+
const styles = computed(() => accordionStyles.raw({
|
|
126
|
+
orientation: props.orientation,
|
|
127
|
+
size: props.size
|
|
128
|
+
}));
|
|
129
|
+
return (_ctx, _cache) => {
|
|
130
|
+
return openBlock(), createBlock(unref(AccordionRoot), {
|
|
131
|
+
type: __props.type,
|
|
132
|
+
orientation: __props.orientation,
|
|
133
|
+
class: normalizeClass(unref(withCss)(styles.value.root, props.css?.root))
|
|
134
|
+
}, {
|
|
135
|
+
default: withCtx(() => [(openBlock(true), createElementBlock(Fragment, null, renderList(__props.items, (item) => {
|
|
136
|
+
return openBlock(), createBlock(unref(AccordionItem), {
|
|
137
|
+
key: item.id,
|
|
138
|
+
value: item.id,
|
|
139
|
+
class: normalizeClass(unref(withCss)(styles.value.item, props.css?.item))
|
|
140
|
+
}, {
|
|
141
|
+
default: withCtx(() => [createVNode(unref(AccordionHeader), null, {
|
|
142
|
+
default: withCtx(() => [createVNode(unref(AccordionTrigger), { class: normalizeClass(unref(withCss)(styles.value.trigger, props.css?.trigger)) }, {
|
|
143
|
+
default: withCtx(() => [
|
|
144
|
+
renderSlot(_ctx.$slots, "icon", { item }, () => [item.icon ? (openBlock(), createElementBlock("span", {
|
|
145
|
+
key: 0,
|
|
146
|
+
class: normalizeClass([`icon icon-${item.icon}`, unref(withCss)(styles.value.icon, props.css?.icon)]),
|
|
147
|
+
"aria-hidden": "true"
|
|
148
|
+
}, null, 2)) : createCommentVNode("", true)]),
|
|
149
|
+
createElementVNode("span", {
|
|
150
|
+
class: normalizeClass(unref(withCss)(styles.value.title, props.css?.title)),
|
|
151
|
+
innerHTML: item.title
|
|
152
|
+
}, null, 10, _hoisted_1),
|
|
153
|
+
createElementVNode("span", {
|
|
154
|
+
class: normalizeClass(["icon icon-caret-down-bold", unref(withCss)(styles.value.indicator, props.css?.indicator)]),
|
|
155
|
+
"data-trigger": "icon",
|
|
156
|
+
"aria-hidden": "true"
|
|
157
|
+
}, null, 2)
|
|
158
|
+
]),
|
|
159
|
+
_: 2
|
|
160
|
+
}, 1032, ["class"])]),
|
|
161
|
+
_: 2
|
|
162
|
+
}, 1024), createVNode(unref(AccordionContent), { class: normalizeClass(unref(withCss)(styles.value.content, props.css?.content)) }, {
|
|
163
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "content", { item }, () => [createElementVNode("div", { innerHTML: item.content }, null, 8, _hoisted_2)])]),
|
|
164
|
+
_: 2
|
|
165
|
+
}, 1032, ["class"])]),
|
|
166
|
+
_: 2
|
|
167
|
+
}, 1032, ["value", "class"]);
|
|
168
|
+
}), 128))]),
|
|
169
|
+
_: 3
|
|
170
|
+
}, 8, [
|
|
171
|
+
"type",
|
|
172
|
+
"orientation",
|
|
173
|
+
"class"
|
|
174
|
+
]);
|
|
175
|
+
};
|
|
176
|
+
}
|
|
177
|
+
});
|
|
178
|
+
export { AccordionRoot_default as t };
|