@cognitiv/components-web 1.0.4 → 1.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/README.md +266 -0
- package/dist/components/accordion/accordion.d.ts +30 -0
- package/dist/components/accordion/accordion.js +191 -0
- package/dist/components/accordion/index.d.ts +25 -0
- package/dist/components/accordion/index.js +18 -0
- package/dist/components/accordion/styles.d.ts +53 -0
- package/dist/components/accordion/styles.js +27 -0
- package/dist/components/alert/alert.d.ts +15 -0
- package/dist/components/alert/alert.js +152 -0
- package/dist/components/alert/index.d.ts +21 -0
- package/dist/components/alert/index.js +16 -0
- package/dist/components/alert/styles.d.ts +75 -0
- package/dist/components/alert/styles.js +36 -0
- package/dist/components/alert-dialog/alert-dialog.d.ts +65 -0
- package/dist/components/alert-dialog/alert-dialog.js +309 -0
- package/dist/components/alert-dialog/index.d.ts +33 -0
- package/dist/components/alert-dialog/index.js +22 -0
- package/dist/components/alert-dialog/styles.d.ts +174 -0
- package/dist/components/alert-dialog/styles.js +71 -0
- package/dist/components/autocomplete/autocomplete.d.ts +31 -0
- package/dist/components/autocomplete/autocomplete.js +241 -0
- package/dist/components/autocomplete/index.d.ts +25 -0
- package/dist/components/autocomplete/index.js +18 -0
- package/dist/components/autocomplete/styles.d.ts +75 -0
- package/dist/components/autocomplete/styles.js +37 -0
- package/dist/components/avatar/avatar.d.ts +15 -0
- package/dist/components/avatar/avatar.js +93 -0
- package/dist/components/avatar/index.d.ts +17 -0
- package/dist/components/avatar/index.js +14 -0
- package/dist/components/avatar/styles.d.ts +120 -0
- package/dist/components/avatar/styles.js +52 -0
- package/dist/components/badge/badge.d.ts +19 -0
- package/dist/components/badge/badge.js +87 -0
- package/dist/components/badge/index.d.ts +17 -0
- package/dist/components/badge/index.js +14 -0
- package/dist/components/badge/styles.d.ts +177 -0
- package/dist/components/badge/styles.js +73 -0
- package/dist/components/breadcrumbs/breadcrumbs.d.ts +14 -0
- package/dist/components/breadcrumbs/breadcrumbs.js +84 -0
- package/dist/components/breadcrumbs/index.d.ts +15 -0
- package/dist/components/breadcrumbs/index.js +13 -0
- package/dist/components/breadcrumbs/styles.d.ts +45 -0
- package/dist/components/breadcrumbs/styles.js +13 -0
- package/dist/components/button/button.d.ts +10 -0
- package/dist/components/button/button.js +49 -0
- package/dist/components/button/index.d.ts +15 -0
- package/dist/components/button/index.js +13 -0
- package/dist/components/button/styles.d.ts +69 -0
- package/dist/components/button/styles.js +37 -0
- package/dist/components/button-group/button-group.d.ts +26 -0
- package/dist/components/button-group/button-group.js +82 -0
- package/dist/components/button-group/index.d.ts +16 -0
- package/dist/components/button-group/index.js +14 -0
- package/dist/components/button-group/styles.d.ts +57 -0
- package/dist/components/button-group/styles.js +31 -0
- package/dist/components/calendar/calendar.d.ts +71 -0
- package/dist/components/calendar/calendar.js +274 -0
- package/dist/components/calendar/index.d.ts +91 -0
- package/dist/components/calendar/index.js +29 -0
- package/dist/components/calendar/styles.d.ts +78 -0
- package/dist/components/calendar/styles.js +35 -0
- package/dist/components/calendar-year-picker/calendar-year-picker.d.ts +61 -0
- package/dist/components/calendar-year-picker/calendar-year-picker.js +407 -0
- package/dist/components/calendar-year-picker/index.d.ts +43 -0
- package/dist/components/calendar-year-picker/index.js +18 -0
- package/dist/components/calendar-year-picker/styles.d.ts +51 -0
- package/dist/components/calendar-year-picker/styles.js +14 -0
- package/dist/components/calendar-year-picker/year-picker-context.d.ts +28 -0
- package/dist/components/calendar-year-picker/year-picker-context.js +39 -0
- package/dist/components/card/card.d.ts +22 -0
- package/dist/components/card/card.js +141 -0
- package/dist/components/card/index.d.ts +23 -0
- package/dist/components/card/index.js +17 -0
- package/dist/components/card/styles.d.ts +70 -0
- package/dist/components/card/styles.js +34 -0
- package/dist/components/checkbox/checkbox.d.ts +22 -0
- package/dist/components/checkbox/checkbox.js +124 -0
- package/dist/components/checkbox/index.d.ts +19 -0
- package/dist/components/checkbox/index.js +15 -0
- package/dist/components/checkbox/styles.d.ts +45 -0
- package/dist/components/checkbox/styles.js +26 -0
- package/dist/components/checkbox-group/checkbox-group.d.ts +14 -0
- package/dist/components/checkbox-group/checkbox-group.js +33 -0
- package/dist/components/checkbox-group/index.d.ts +3 -0
- package/dist/components/checkbox-group/index.js +3 -0
- package/dist/components/checkbox-group/styles.d.ts +18 -0
- package/dist/components/checkbox-group/styles.js +17 -0
- package/dist/components/chip/chip.d.ts +14 -0
- package/dist/components/chip/chip.js +67 -0
- package/dist/components/chip/index.d.ts +15 -0
- package/dist/components/chip/index.js +13 -0
- package/dist/components/chip/styles.d.ts +141 -0
- package/dist/components/chip/styles.js +59 -0
- package/dist/components/close-button/close-button.d.ts +8 -0
- package/dist/components/close-button/close-button.js +33 -0
- package/dist/components/close-button/index.d.ts +13 -0
- package/dist/components/close-button/index.js +12 -0
- package/dist/components/close-button/styles.d.ts +15 -0
- package/dist/components/close-button/styles.js +16 -0
- package/dist/components/color-area/color-area.d.ts +11 -0
- package/dist/components/color-area/color-area.js +70 -0
- package/dist/components/color-area/index.d.ts +15 -0
- package/dist/components/color-area/index.js +13 -0
- package/dist/components/color-area/styles.d.ts +33 -0
- package/dist/components/color-area/styles.js +22 -0
- package/dist/components/color-field/color-field.d.ts +9 -0
- package/dist/components/color-field/color-field.js +29 -0
- package/dist/components/color-field/index.d.ts +22 -0
- package/dist/components/color-field/index.js +18 -0
- package/dist/components/color-field/styles.d.ts +18 -0
- package/dist/components/color-field/styles.js +17 -0
- package/dist/components/color-input-group/color-input-group.d.ts +19 -0
- package/dist/components/color-input-group/color-input-group.js +98 -0
- package/dist/components/color-input-group/index.d.ts +19 -0
- package/dist/components/color-input-group/index.js +15 -0
- package/dist/components/color-input-group/styles.d.ts +63 -0
- package/dist/components/color-input-group/styles.js +33 -0
- package/dist/components/color-picker/color-picker.d.ts +21 -0
- package/dist/components/color-picker/color-picker.js +86 -0
- package/dist/components/color-picker/index.d.ts +17 -0
- package/dist/components/color-picker/index.js +14 -0
- package/dist/components/color-picker/styles.d.ts +39 -0
- package/dist/components/color-picker/styles.js +12 -0
- package/dist/components/color-slider/color-slider.d.ts +50 -0
- package/dist/components/color-slider/color-slider.js +205 -0
- package/dist/components/color-slider/index.d.ts +19 -0
- package/dist/components/color-slider/index.js +15 -0
- package/dist/components/color-slider/styles.d.ts +45 -0
- package/dist/components/color-slider/styles.js +13 -0
- package/dist/components/color-swatch/color-swatch.d.ts +8 -0
- package/dist/components/color-swatch/color-swatch.js +31 -0
- package/dist/components/color-swatch/index.d.ts +13 -0
- package/dist/components/color-swatch/index.js +12 -0
- package/dist/components/color-swatch/styles.d.ts +39 -0
- package/dist/components/color-swatch/styles.js +25 -0
- package/dist/components/color-swatch-picker/color-swatch-picker.d.ts +20 -0
- package/dist/components/color-swatch-picker/color-swatch-picker.js +149 -0
- package/dist/components/color-swatch-picker/index.d.ts +19 -0
- package/dist/components/color-swatch-picker/index.js +15 -0
- package/dist/components/color-swatch-picker/styles.d.ts +120 -0
- package/dist/components/color-swatch-picker/styles.js +53 -0
- package/dist/components/combo-box/combo-box.d.ts +34 -0
- package/dist/components/combo-box/combo-box.js +116 -0
- package/dist/components/combo-box/index.d.ts +20 -0
- package/dist/components/combo-box/index.js +16 -0
- package/dist/components/combo-box/styles.d.ts +42 -0
- package/dist/components/combo-box/styles.js +25 -0
- package/dist/components/date-field/date-field.d.ts +9 -0
- package/dist/components/date-field/date-field.js +29 -0
- package/dist/components/date-field/index.d.ts +26 -0
- package/dist/components/date-field/index.js +20 -0
- package/dist/components/date-field/styles.d.ts +18 -0
- package/dist/components/date-field/styles.js +17 -0
- package/dist/components/date-input-group/date-input-group.d.ts +25 -0
- package/dist/components/date-input-group/date-input-group.js +146 -0
- package/dist/components/date-input-group/index.d.ts +23 -0
- package/dist/components/date-input-group/index.js +17 -0
- package/dist/components/date-input-group/styles.d.ts +69 -0
- package/dist/components/date-input-group/styles.js +35 -0
- package/dist/components/date-picker/date-picker.d.ts +30 -0
- package/dist/components/date-picker/date-picker.js +151 -0
- package/dist/components/date-picker/index.d.ts +31 -0
- package/dist/components/date-picker/index.js +15 -0
- package/dist/components/date-picker/styles.d.ts +45 -0
- package/dist/components/date-picker/styles.js +13 -0
- package/dist/components/date-range-picker/date-range-picker.d.ts +36 -0
- package/dist/components/date-range-picker/date-range-picker.js +173 -0
- package/dist/components/date-range-picker/index.d.ts +36 -0
- package/dist/components/date-range-picker/index.js +16 -0
- package/dist/components/date-range-picker/styles.d.ts +51 -0
- package/dist/components/date-range-picker/styles.js +14 -0
- package/dist/components/description/description.d.ts +9 -0
- package/dist/components/description/description.js +22 -0
- package/dist/components/description/index.d.ts +13 -0
- package/dist/components/description/index.js +12 -0
- package/dist/components/description/styles.d.ts +3 -0
- package/dist/components/description/styles.js +8 -0
- package/dist/components/disclosure/disclosure.d.ts +27 -0
- package/dist/components/disclosure/disclosure.js +157 -0
- package/dist/components/disclosure/index.d.ts +23 -0
- package/dist/components/disclosure/index.js +17 -0
- package/dist/components/disclosure/styles.d.ts +29 -0
- package/dist/components/disclosure/styles.js +20 -0
- package/dist/components/disclosure-group/disclosure-group.d.ts +8 -0
- package/dist/components/disclosure-group/disclosure-group.js +35 -0
- package/dist/components/disclosure-group/index.d.ts +15 -0
- package/dist/components/disclosure-group/index.js +13 -0
- package/dist/components/disclosure-group/styles.d.ts +9 -0
- package/dist/components/disclosure-group/styles.js +12 -0
- package/dist/components/disclosure-group/use-disclosure-group-navigation.d.ts +14 -0
- package/dist/components/disclosure-group/use-disclosure-group-navigation.js +51 -0
- package/dist/components/drawer/drawer.d.ts +84 -0
- package/dist/components/drawer/drawer.js +439 -0
- package/dist/components/drawer/index.d.ts +69 -0
- package/dist/components/drawer/index.js +22 -0
- package/dist/components/drawer/styles.d.ts +126 -0
- package/dist/components/drawer/styles.js +54 -0
- package/dist/components/dropdown/dropdown.d.ts +38 -0
- package/dist/components/dropdown/dropdown.js +156 -0
- package/dist/components/dropdown/index.d.ts +29 -0
- package/dist/components/dropdown/index.js +20 -0
- package/dist/components/dropdown/styles.d.ts +45 -0
- package/dist/components/dropdown/styles.js +13 -0
- package/dist/components/empty-state/empty-state.d.ts +7 -0
- package/dist/components/empty-state/empty-state.js +20 -0
- package/dist/components/empty-state/index.d.ts +13 -0
- package/dist/components/empty-state/index.js +12 -0
- package/dist/components/empty-state/styles.d.ts +3 -0
- package/dist/components/empty-state/styles.js +8 -0
- package/dist/components/error-message/error-message.d.ts +9 -0
- package/dist/components/error-message/error-message.js +22 -0
- package/dist/components/error-message/index.d.ts +13 -0
- package/dist/components/error-message/index.js +12 -0
- package/dist/components/error-message/styles.d.ts +3 -0
- package/dist/components/error-message/styles.js +8 -0
- package/dist/components/field-error/field-error.d.ts +8 -0
- package/dist/components/field-error/field-error.js +21 -0
- package/dist/components/field-error/index.d.ts +13 -0
- package/dist/components/field-error/index.js +12 -0
- package/dist/components/field-error/styles.d.ts +3 -0
- package/dist/components/field-error/styles.js +8 -0
- package/dist/components/fieldset/fieldset.d.ts +16 -0
- package/dist/components/fieldset/fieldset.js +88 -0
- package/dist/components/fieldset/index.d.ts +19 -0
- package/dist/components/fieldset/index.js +15 -0
- package/dist/components/fieldset/styles.d.ts +51 -0
- package/dist/components/fieldset/styles.js +14 -0
- package/dist/components/form/form.d.ts +7 -0
- package/dist/components/form/form.js +13 -0
- package/dist/components/form/index.d.ts +11 -0
- package/dist/components/form/index.js +11 -0
- package/dist/components/header/header.d.ts +7 -0
- package/dist/components/header/header.js +21 -0
- package/dist/components/header/index.d.ts +9 -0
- package/dist/components/header/index.js +10 -0
- package/dist/components/header/styles.d.ts +1 -0
- package/dist/components/header/styles.js +8 -0
- package/dist/components/icons.d.ts +18 -0
- package/dist/components/icons.js +243 -0
- package/dist/components/index.d.ts +84 -0
- package/dist/components/input/index.d.ts +13 -0
- package/dist/components/input/index.js +12 -0
- package/dist/components/input/input.d.ts +8 -0
- package/dist/components/input/input.js +31 -0
- package/dist/components/input/styles.d.ts +30 -0
- package/dist/components/input/styles.js +22 -0
- package/dist/components/input-group/index.d.ts +21 -0
- package/dist/components/input-group/index.js +16 -0
- package/dist/components/input-group/input-group.d.ts +20 -0
- package/dist/components/input-group/input-group.js +129 -0
- package/dist/components/input-group/styles.d.ts +63 -0
- package/dist/components/input-group/styles.js +33 -0
- package/dist/components/input-otp/index.d.ts +22 -0
- package/dist/components/input-otp/index.js +21 -0
- package/dist/components/input-otp/input-otp.d.ts +26 -0
- package/dist/components/input-otp/input-otp.js +139 -0
- package/dist/components/input-otp/styles.d.ts +54 -0
- package/dist/components/input-otp/styles.js +29 -0
- package/dist/components/kbd/index.d.ts +19 -0
- package/dist/components/kbd/index.js +15 -0
- package/dist/components/kbd/kbd.constants.d.ts +3 -0
- package/dist/components/kbd/kbd.constants.js +51 -0
- package/dist/components/kbd/kbd.d.ts +24 -0
- package/dist/components/kbd/kbd.js +76 -0
- package/dist/components/kbd/styles.d.ts +30 -0
- package/dist/components/kbd/styles.js +19 -0
- package/dist/components/label/index.d.ts +13 -0
- package/dist/components/label/index.js +12 -0
- package/dist/components/label/label.d.ts +8 -0
- package/dist/components/label/label.js +27 -0
- package/dist/components/label/styles.d.ts +33 -0
- package/dist/components/label/styles.js +24 -0
- package/dist/components/link/index.d.ts +15 -0
- package/dist/components/link/index.js +13 -0
- package/dist/components/link/link.d.ts +10 -0
- package/dist/components/link/link.js +59 -0
- package/dist/components/link/styles.d.ts +35 -0
- package/dist/components/link/styles.js +13 -0
- package/dist/components/list-box/index.d.ts +23 -0
- package/dist/components/list-box/index.js +18 -0
- package/dist/components/list-box/list-box.d.ts +9 -0
- package/dist/components/list-box/list-box.js +23 -0
- package/dist/components/list-box/styles.d.ts +18 -0
- package/dist/components/list-box/styles.js +17 -0
- package/dist/components/list-box-item/index.d.ts +15 -0
- package/dist/components/list-box-item/index.js +13 -0
- package/dist/components/list-box-item/list-box-item.d.ts +15 -0
- package/dist/components/list-box-item/list-box-item.js +77 -0
- package/dist/components/list-box-item/styles.d.ts +39 -0
- package/dist/components/list-box-item/styles.js +24 -0
- package/dist/components/list-box-section/index.d.ts +10 -0
- package/dist/components/list-box-section/index.js +10 -0
- package/dist/components/list-box-section/list-box-section.d.ts +8 -0
- package/dist/components/list-box-section/list-box-section.js +22 -0
- package/dist/components/list-box-section/styles.d.ts +3 -0
- package/dist/components/list-box-section/styles.js +8 -0
- package/dist/components/menu/index.d.ts +24 -0
- package/dist/components/menu/index.js +18 -0
- package/dist/components/menu/menu.d.ts +9 -0
- package/dist/components/menu/menu.js +20 -0
- package/dist/components/menu/styles.d.ts +3 -0
- package/dist/components/menu/styles.js +8 -0
- package/dist/components/menu-item/index.d.ts +17 -0
- package/dist/components/menu-item/index.js +14 -0
- package/dist/components/menu-item/menu-item.d.ts +20 -0
- package/dist/components/menu-item/menu-item.js +123 -0
- package/dist/components/menu-item/styles.d.ts +42 -0
- package/dist/components/menu-item/styles.js +25 -0
- package/dist/components/menu-section/index.d.ts +10 -0
- package/dist/components/menu-section/index.js +10 -0
- package/dist/components/menu-section/menu-section.d.ts +8 -0
- package/dist/components/menu-section/menu-section.js +22 -0
- package/dist/components/menu-section/styles.d.ts +3 -0
- package/dist/components/menu-section/styles.js +8 -0
- package/dist/components/meter/index.d.ts +34 -0
- package/dist/components/meter/index.js +15 -0
- package/dist/components/meter/meter.d.ts +29 -0
- package/dist/components/meter/meter.js +108 -0
- package/dist/components/meter/styles.d.ts +105 -0
- package/dist/components/meter/styles.js +47 -0
- package/dist/components/modal/index.d.ts +33 -0
- package/dist/components/modal/index.js +22 -0
- package/dist/components/modal/modal.d.ts +53 -0
- package/dist/components/modal/modal.js +288 -0
- package/dist/components/modal/styles.d.ts +168 -0
- package/dist/components/modal/styles.js +69 -0
- package/dist/components/number-field/index.d.ts +21 -0
- package/dist/components/number-field/index.js +16 -0
- package/dist/components/number-field/number-field.d.ts +20 -0
- package/dist/components/number-field/number-field.js +127 -0
- package/dist/components/number-field/styles.d.ts +69 -0
- package/dist/components/number-field/styles.js +35 -0
- package/dist/components/pagination/index.d.ts +64 -0
- package/dist/components/pagination/index.js +21 -0
- package/dist/components/pagination/pagination.d.ts +84 -0
- package/dist/components/pagination/pagination.js +230 -0
- package/dist/components/pagination/styles.d.ts +60 -0
- package/dist/components/pagination/styles.js +31 -0
- package/dist/components/popover/index.d.ts +23 -0
- package/dist/components/popover/index.js +17 -0
- package/dist/components/popover/popover.d.ts +24 -0
- package/dist/components/popover/popover.js +153 -0
- package/dist/components/popover/styles.d.ts +45 -0
- package/dist/components/popover/styles.js +13 -0
- package/dist/components/progress-bar/index.d.ts +34 -0
- package/dist/components/progress-bar/index.js +15 -0
- package/dist/components/progress-bar/progress-bar.d.ts +29 -0
- package/dist/components/progress-bar/progress-bar.js +108 -0
- package/dist/components/progress-bar/styles.d.ts +105 -0
- package/dist/components/progress-bar/styles.js +47 -0
- package/dist/components/progress-circle/index.d.ts +34 -0
- package/dist/components/progress-circle/index.js +15 -0
- package/dist/components/progress-circle/progress-circle.d.ts +29 -0
- package/dist/components/progress-circle/progress-circle.js +126 -0
- package/dist/components/progress-circle/styles.d.ts +105 -0
- package/dist/components/progress-circle/styles.js +47 -0
- package/dist/components/rac/components.d.ts +1 -0
- package/dist/components/rac/index.d.ts +4 -0
- package/dist/components/rac/index.js +2 -0
- package/dist/components/rac/types.d.ts +3 -0
- package/dist/components/rac/utils.d.ts +1 -0
- package/dist/components/radio/index.d.ts +19 -0
- package/dist/components/radio/index.js +15 -0
- package/dist/components/radio/radio.d.ts +21 -0
- package/dist/components/radio/radio.js +97 -0
- package/dist/components/radio/styles.d.ts +45 -0
- package/dist/components/radio/styles.js +13 -0
- package/dist/components/radio-group/index.d.ts +13 -0
- package/dist/components/radio-group/index.js +12 -0
- package/dist/components/radio-group/radio-group.d.ts +8 -0
- package/dist/components/radio-group/radio-group.js +27 -0
- package/dist/components/radio-group/styles.d.ts +18 -0
- package/dist/components/radio-group/styles.js +17 -0
- package/dist/components/range-calendar/index.d.ts +91 -0
- package/dist/components/range-calendar/index.js +29 -0
- package/dist/components/range-calendar/range-calendar.d.ts +71 -0
- package/dist/components/range-calendar/range-calendar.js +289 -0
- package/dist/components/range-calendar/styles.d.ts +78 -0
- package/dist/components/range-calendar/styles.js +35 -0
- package/dist/components/scroll-shadow/index.d.ts +21 -0
- package/dist/components/scroll-shadow/index.js +13 -0
- package/dist/components/scroll-shadow/scroll-shadow.d.ts +32 -0
- package/dist/components/scroll-shadow/scroll-shadow.js +76 -0
- package/dist/components/scroll-shadow/styles.d.ts +69 -0
- package/dist/components/scroll-shadow/styles.js +36 -0
- package/dist/components/scroll-shadow/use-scroll-shadow.d.ts +11 -0
- package/dist/components/scroll-shadow/use-scroll-shadow.js +121 -0
- package/dist/components/search-field/index.d.ts +21 -0
- package/dist/components/search-field/index.js +16 -0
- package/dist/components/search-field/search-field.d.ts +23 -0
- package/dist/components/search-field/search-field.js +127 -0
- package/dist/components/search-field/styles.d.ts +69 -0
- package/dist/components/search-field/styles.js +35 -0
- package/dist/components/select/index.d.ts +21 -0
- package/dist/components/select/index.js +16 -0
- package/dist/components/select/select.d.ts +24 -0
- package/dist/components/select/select.js +140 -0
- package/dist/components/select/styles.d.ts +69 -0
- package/dist/components/select/styles.js +35 -0
- package/dist/components/separator/index.d.ts +13 -0
- package/dist/components/separator/index.js +12 -0
- package/dist/components/separator/separator.d.ts +8 -0
- package/dist/components/separator/separator.js +27 -0
- package/dist/components/separator/styles.d.ts +34 -0
- package/dist/components/separator/styles.js +23 -0
- package/dist/components/skeleton/index.d.ts +13 -0
- package/dist/components/skeleton/index.js +12 -0
- package/dist/components/skeleton/skeleton.d.ts +7 -0
- package/dist/components/skeleton/skeleton.js +25 -0
- package/dist/components/skeleton/styles.d.ts +27 -0
- package/dist/components/skeleton/styles.js +20 -0
- package/dist/components/slider/index.d.ts +23 -0
- package/dist/components/slider/index.js +17 -0
- package/dist/components/slider/slider.d.ts +23 -0
- package/dist/components/slider/slider.js +177 -0
- package/dist/components/slider/styles.d.ts +57 -0
- package/dist/components/slider/styles.js +15 -0
- package/dist/components/spinner/index.d.ts +13 -0
- package/dist/components/spinner/index.js +12 -0
- package/dist/components/spinner/spinner.d.ts +7 -0
- package/dist/components/spinner/spinner.js +88 -0
- package/dist/components/spinner/styles.d.ts +45 -0
- package/dist/components/spinner/styles.js +27 -0
- package/dist/components/surface/index.d.ts +14 -0
- package/dist/components/surface/index.js +13 -0
- package/dist/components/surface/styles.d.ts +24 -0
- package/dist/components/surface/styles.js +19 -0
- package/dist/components/surface/surface.d.ts +12 -0
- package/dist/components/surface/surface.js +34 -0
- package/dist/components/switch/index.d.ts +21 -0
- package/dist/components/switch/index.js +16 -0
- package/dist/components/switch/styles.d.ts +57 -0
- package/dist/components/switch/styles.js +30 -0
- package/dist/components/switch/switch.d.ts +20 -0
- package/dist/components/switch/switch.js +118 -0
- package/dist/components/switch-group/index.d.ts +13 -0
- package/dist/components/switch-group/index.js +12 -0
- package/dist/components/switch-group/styles.d.ts +39 -0
- package/dist/components/switch-group/styles.js +24 -0
- package/dist/components/switch-group/switch-group.d.ts +7 -0
- package/dist/components/switch-group/switch-group.js +25 -0
- package/dist/components/table/index.d.ts +38 -0
- package/dist/components/table/index.js +25 -0
- package/dist/components/table/styles.d.ts +74 -0
- package/dist/components/table/styles.js +37 -0
- package/dist/components/table/table.d.ts +50 -0
- package/dist/components/table/table.js +283 -0
- package/dist/components/tabs/index.d.ts +25 -0
- package/dist/components/tabs/index.js +18 -0
- package/dist/components/tabs/styles.d.ts +50 -0
- package/dist/components/tabs/styles.js +29 -0
- package/dist/components/tabs/tabs.d.ts +37 -0
- package/dist/components/tabs/tabs.js +156 -0
- package/dist/components/tag/index.d.ts +15 -0
- package/dist/components/tag/index.js +13 -0
- package/dist/components/tag/styles.d.ts +72 -0
- package/dist/components/tag/styles.js +36 -0
- package/dist/components/tag/tag.d.ts +14 -0
- package/dist/components/tag/tag.js +85 -0
- package/dist/components/tag-group/index.d.ts +15 -0
- package/dist/components/tag-group/index.js +14 -0
- package/dist/components/tag-group/styles.d.ts +33 -0
- package/dist/components/tag-group/styles.js +11 -0
- package/dist/components/tag-group/tag-group.d.ts +20 -0
- package/dist/components/tag-group/tag-group.js +59 -0
- package/dist/components/text/index.d.ts +13 -0
- package/dist/components/text/index.js +12 -0
- package/dist/components/text/styles.d.ts +48 -0
- package/dist/components/text/styles.js +28 -0
- package/dist/components/text/text.d.ts +8 -0
- package/dist/components/text/text.js +25 -0
- package/dist/components/textarea/index.d.ts +13 -0
- package/dist/components/textarea/index.js +12 -0
- package/dist/components/textarea/styles.d.ts +30 -0
- package/dist/components/textarea/styles.js +22 -0
- package/dist/components/textarea/textarea.d.ts +8 -0
- package/dist/components/textarea/textarea.js +27 -0
- package/dist/components/textfield/index.d.ts +14 -0
- package/dist/components/textfield/index.js +13 -0
- package/dist/components/textfield/styles.d.ts +18 -0
- package/dist/components/textfield/styles.js +17 -0
- package/dist/components/textfield/textfield.d.ts +18 -0
- package/dist/components/textfield/textfield.js +39 -0
- package/dist/components/time-field/index.d.ts +26 -0
- package/dist/components/time-field/index.js +20 -0
- package/dist/components/time-field/styles.d.ts +18 -0
- package/dist/components/time-field/styles.js +17 -0
- package/dist/components/time-field/time-field.d.ts +9 -0
- package/dist/components/time-field/time-field.js +29 -0
- package/dist/components/toast/constants.d.ts +6 -0
- package/dist/components/toast/constants.js +15 -0
- package/dist/components/toast/index.d.ts +75 -0
- package/dist/components/toast/index.js +23 -0
- package/dist/components/toast/styles.d.ts +162 -0
- package/dist/components/toast/styles.js +66 -0
- package/dist/components/toast/toast-queue.d.ts +70 -0
- package/dist/components/toast/toast-queue.js +147 -0
- package/dist/components/toast/toast.d.ts +69 -0
- package/dist/components/toast/toast.js +365 -0
- package/dist/components/toggle-button/index.d.ts +13 -0
- package/dist/components/toggle-button/index.js +12 -0
- package/dist/components/toggle-button/styles.d.ts +42 -0
- package/dist/components/toggle-button/styles.js +27 -0
- package/dist/components/toggle-button/toggle-button.d.ts +8 -0
- package/dist/components/toggle-button/toggle-button.js +36 -0
- package/dist/components/toggle-button-group/index.d.ts +16 -0
- package/dist/components/toggle-button-group/index.js +14 -0
- package/dist/components/toggle-button-group/styles.d.ts +75 -0
- package/dist/components/toggle-button-group/styles.js +38 -0
- package/dist/components/toggle-button-group/toggle-button-group.d.ts +26 -0
- package/dist/components/toggle-button-group/toggle-button-group.js +70 -0
- package/dist/components/toolbar/index.d.ts +19 -0
- package/dist/components/toolbar/index.js +12 -0
- package/dist/components/toolbar/styles.d.ts +28 -0
- package/dist/components/toolbar/styles.js +21 -0
- package/dist/components/toolbar/toolbar.d.ts +11 -0
- package/dist/components/toolbar/toolbar.js +39 -0
- package/dist/components/tooltip/index.d.ts +19 -0
- package/dist/components/tooltip/index.js +15 -0
- package/dist/components/tooltip/styles.d.ts +33 -0
- package/dist/components/tooltip/styles.js +11 -0
- package/dist/components/tooltip/tooltip.d.ts +20 -0
- package/dist/components/tooltip/tooltip.js +106 -0
- package/dist/css/base.css +17 -0
- package/dist/css/components.css +117 -0
- package/dist/css/index.css +22 -0
- package/dist/css/themes/default/index.css +5 -0
- package/dist/css/themes/default/variables.css +162 -0
- package/dist/css/themes/shared/theme.css +191 -0
- package/dist/css/utilities.css +56 -0
- package/dist/css/variants.css +106 -0
- package/dist/hooks/index.d.ts +9 -0
- package/dist/hooks/use-css-variable.d.ts +36 -0
- package/dist/hooks/use-css-variable.js +72 -0
- package/dist/hooks/use-is-hydrated.d.ts +19 -0
- package/dist/hooks/use-is-hydrated.js +28 -0
- package/dist/hooks/use-isomorphic-layout-effect.d.ts +2 -0
- package/dist/hooks/use-isomorphic-layout-effect.js +6 -0
- package/dist/hooks/use-list-data.d.ts +111 -0
- package/dist/hooks/use-list-data.js +296 -0
- package/dist/hooks/use-measured-height.d.ts +4 -0
- package/dist/hooks/use-measured-height.js +47 -0
- package/dist/hooks/use-media-query.d.ts +6 -0
- package/dist/hooks/use-media-query.js +50 -0
- package/dist/hooks/use-mounted.d.ts +1 -0
- package/dist/hooks/use-mounted.js +15 -0
- package/dist/hooks/use-overlay-state.d.ts +52 -0
- package/dist/hooks/use-overlay-state.js +70 -0
- package/dist/hooks/use-safe-layout-effect.d.ts +2 -0
- package/dist/hooks/use-safe-layout-effect.js +6 -0
- package/dist/index.d.ts +3 -3740
- package/dist/index.js +262 -982
- package/dist/styles/components/index.d.ts +83 -0
- package/dist/styles/index.d.ts +3 -0
- package/dist/styles/utils/index.d.ts +7 -0
- package/dist/styles.css +2 -0
- package/dist/utils/assertion.d.ts +9 -0
- package/dist/utils/assertion.js +3 -0
- package/dist/utils/calendar.d.ts +5 -0
- package/dist/utils/calendar.js +19 -0
- package/dist/utils/children.d.ts +9 -0
- package/dist/utils/children.js +17 -0
- package/dist/utils/compose.d.ts +7 -0
- package/dist/utils/compose.js +18 -0
- package/dist/utils/index.d.ts +6 -0
- package/dist/utils/logger.d.ts +23 -0
- package/dist/utils/tv.d.ts +3 -0
- package/dist/utils/variants.d.ts +73 -0
- package/package.json +119 -70
- package/dist/component-manifest.json +0 -749
package/README.md
ADDED
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
# @cognitiv/components-web
|
|
2
|
+
|
|
3
|
+
A modern React UI component library built with Tailwind CSS v4, React Aria Components, and TypeScript. Ships 87 accessible, composable components following compound component patterns inspired by Radix UI.
|
|
4
|
+
|
|
5
|
+
## Tech Stack
|
|
6
|
+
|
|
7
|
+
| Category | Technology |
|
|
8
|
+
| --------------- | ----------------------------------------------------- |
|
|
9
|
+
| Framework | React 19+ |
|
|
10
|
+
| Styling | Tailwind CSS 4.2, tailwind-variants, tailwind-merge |
|
|
11
|
+
| Accessibility | React Aria Components (Adobe) |
|
|
12
|
+
| Language | TypeScript 6.0 |
|
|
13
|
+
| Bundler | Rollup 4 |
|
|
14
|
+
| Dev Environment | Storybook 10 |
|
|
15
|
+
| Package Manager | npm |
|
|
16
|
+
| Node | v22+ (see `.nvmrc`) |
|
|
17
|
+
| Icons | Iconify + @gravity-ui/icons |
|
|
18
|
+
|
|
19
|
+
## Prerequisites
|
|
20
|
+
|
|
21
|
+
- **Node.js v22+** — install via [nvm](https://github.com/nvm-sh/nvm):
|
|
22
|
+
```bash
|
|
23
|
+
nvm install
|
|
24
|
+
nvm use
|
|
25
|
+
```
|
|
26
|
+
- **npm** (ships with Node)
|
|
27
|
+
|
|
28
|
+
## Getting Started
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
# Install dependencies
|
|
32
|
+
npm install
|
|
33
|
+
|
|
34
|
+
# Start Storybook dev server (http://127.0.0.1:6006)
|
|
35
|
+
npm run dev
|
|
36
|
+
|
|
37
|
+
# Build the package
|
|
38
|
+
npm run build
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
## Scripts
|
|
42
|
+
|
|
43
|
+
| Command | Description |
|
|
44
|
+
| ------------------------ | ---------------------------------------- |
|
|
45
|
+
| `npm run dev` | Start Storybook on port 6006 |
|
|
46
|
+
| `npm run build` | Build with TypeScript declarations |
|
|
47
|
+
| `npm run build:fast` | Build without type declarations (faster) |
|
|
48
|
+
| `npm run build:storybook`| Build static Storybook site |
|
|
49
|
+
| `npm run lint` | Run ESLint |
|
|
50
|
+
| `npm run lint:fix` | Run ESLint with auto-fix |
|
|
51
|
+
| `npm run format` | Check formatting with Prettier |
|
|
52
|
+
| `npm run format:fix` | Fix formatting with Prettier |
|
|
53
|
+
| `npm run typecheck` | Run TypeScript type-checking |
|
|
54
|
+
| `npm run clean` | Remove `dist/` and `node_modules/` |
|
|
55
|
+
|
|
56
|
+
## Project Structure
|
|
57
|
+
|
|
58
|
+
```
|
|
59
|
+
├── src/
|
|
60
|
+
│ ├── components/ # 87 UI components
|
|
61
|
+
│ ├── css/ # Global CSS, theme layers, component CSS imports
|
|
62
|
+
│ ├── styles/ # Utility styles
|
|
63
|
+
│ ├── utils/ # Shared utilities (composeTwRenderProps, etc.)
|
|
64
|
+
│ └── index.ts # Package entry point
|
|
65
|
+
├── storybook/
|
|
66
|
+
│ ├── .storybook/ # Storybook config (main.ts, preview.tsx)
|
|
67
|
+
│ ├── stories/ # Global/demo stories
|
|
68
|
+
│ └── public/ # Static assets
|
|
69
|
+
├── config/ # Shared ESLint, Prettier, TypeScript configs
|
|
70
|
+
├── scripts/ # Build and scaffolding scripts
|
|
71
|
+
├── infra/ # AWS CDK infrastructure (S3 + CloudFront)
|
|
72
|
+
├── .claude/ # Claude Code agents and guides
|
|
73
|
+
├── .agents/ # Installable agent skills
|
|
74
|
+
├── rollup.config.mjs # Build configuration
|
|
75
|
+
└── package.json
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
## Component Architecture
|
|
79
|
+
|
|
80
|
+
Each component follows this file structure:
|
|
81
|
+
|
|
82
|
+
```
|
|
83
|
+
src/components/button/
|
|
84
|
+
├── button.tsx # Component implementation (React Aria + compound pattern)
|
|
85
|
+
├── styles.ts # Tailwind Variants definitions (tv())
|
|
86
|
+
├── styles.css # BEM CSS implementation (co-located)
|
|
87
|
+
├── button.stories.tsx # Storybook stories
|
|
88
|
+
└── index.ts # Barrel exports
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### Key Patterns
|
|
92
|
+
|
|
93
|
+
- **Compound components** — Complex components export composable parts (Root, Item, Trigger, Content, etc.) connected via React Context
|
|
94
|
+
- **React Aria foundation** — All components use React Aria for accessibility (ARIA patterns, keyboard navigation, screen reader support)
|
|
95
|
+
- **BEM CSS naming** — `.block`, `.block--modifier`, `.block__element`
|
|
96
|
+
- **Default size pattern** — Base classes include `--md` dimensions; size variants override them
|
|
97
|
+
- **Dual styling** — Components use both `tv()` (tailwind-variants) for variant mapping and co-located `.css` files for BEM classes
|
|
98
|
+
|
|
99
|
+
### Creating a New Component
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
npm run add:component ComponentName
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
This scaffolds all files and adds the export to `src/components/index.ts`. Then implement following the patterns in `src/components/accordion/` (compound) or `src/components/button/` (simple).
|
|
106
|
+
|
|
107
|
+
## Git Conventions
|
|
108
|
+
|
|
109
|
+
This repo enforces [Conventional Commits](https://www.conventionalcommits.org/) via Husky + commitlint.
|
|
110
|
+
|
|
111
|
+
```
|
|
112
|
+
<type>(<scope>): <message>
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
**Allowed types:** `feat`, `feature`, `fix`, `refactor`, `docs`, `build`, `test`, `ci`, `chore`, `revert`, `style`
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# Examples
|
|
119
|
+
git commit -m "feat(components): add Tooltip component"
|
|
120
|
+
git commit -m "fix(button): resolve focus ring not showing"
|
|
121
|
+
git commit -m "refactor(card): migrate to CSS-based styles"
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Commits that don't match this format are rejected by the pre-commit hook. Staged files are also auto-linted and formatted via lint-staged.
|
|
125
|
+
|
|
126
|
+
## Code Quality
|
|
127
|
+
|
|
128
|
+
Before committing, always run:
|
|
129
|
+
|
|
130
|
+
```bash
|
|
131
|
+
npm run lint && npm run typecheck
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
### Linting & Formatting
|
|
135
|
+
|
|
136
|
+
- **ESLint 9** (flat config) with plugins for React, TypeScript, accessibility, import ordering, and Storybook
|
|
137
|
+
- **Prettier** with `prettier-plugin-tailwindcss` and `prettier-plugin-css-order`
|
|
138
|
+
- **Husky** pre-commit hooks run lint-staged on all staged files
|
|
139
|
+
|
|
140
|
+
### Tailwind CSS Rules
|
|
141
|
+
|
|
142
|
+
Tailwind scans files as plain text. **Never construct class names dynamically:**
|
|
143
|
+
|
|
144
|
+
```tsx
|
|
145
|
+
// BAD — Tailwind can't detect these
|
|
146
|
+
<div className={`text-${color}-600`} />
|
|
147
|
+
<span className={`button--${size}`} />
|
|
148
|
+
|
|
149
|
+
// GOOD — Use complete class name mappings
|
|
150
|
+
const colorMap = { red: "text-red-600", blue: "text-blue-600" };
|
|
151
|
+
<div className={colorMap[color]} />
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Storybook
|
|
155
|
+
|
|
156
|
+
Storybook is the primary development environment. It runs on [http://127.0.0.1:6006](http://127.0.0.1:6006).
|
|
157
|
+
|
|
158
|
+
```bash
|
|
159
|
+
npm run dev
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
### Story Conventions
|
|
163
|
+
|
|
164
|
+
- All component stories use the title format: `"Components/ComponentName"`
|
|
165
|
+
- Stories live next to their component: `src/components/button/button.stories.tsx`
|
|
166
|
+
- Global/demo stories live in `storybook/stories/`
|
|
167
|
+
|
|
168
|
+
### Addons
|
|
169
|
+
|
|
170
|
+
- **@storybook/addon-a11y** — Accessibility auditing
|
|
171
|
+
- **@storybook/addon-docs** — Auto-generated documentation
|
|
172
|
+
- **@storybook/addon-mcp** — MCP server integration (see below)
|
|
173
|
+
- Custom decorators: React Strict Mode, Theme switcher, Reduce Motion, React Scan
|
|
174
|
+
|
|
175
|
+
## Storybook MCP Server
|
|
176
|
+
|
|
177
|
+
The project includes an MCP (Model Context Protocol) server that exposes Storybook component data to AI agents like Claude Code.
|
|
178
|
+
|
|
179
|
+
### Setup
|
|
180
|
+
|
|
181
|
+
1. Start Storybook:
|
|
182
|
+
```bash
|
|
183
|
+
npm run dev
|
|
184
|
+
```
|
|
185
|
+
|
|
186
|
+
2. The MCP server is automatically available at `http://localhost:6006/mcp` (configured in `.mcp.json`).
|
|
187
|
+
|
|
188
|
+
3. Claude Code will automatically connect to the Storybook MCP when the dev server is running, giving it access to component stories, documentation, and live component context.
|
|
189
|
+
|
|
190
|
+
### Configuration
|
|
191
|
+
|
|
192
|
+
The MCP server is defined in `.mcp.json` at the project root:
|
|
193
|
+
|
|
194
|
+
```json
|
|
195
|
+
{
|
|
196
|
+
"mcpServers": {
|
|
197
|
+
"storybook-mcp": {
|
|
198
|
+
"url": "http://localhost:6006/mcp",
|
|
199
|
+
"type": "http"
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
This is powered by `@storybook/addon-mcp` (v0.4.2) configured in `storybook/.storybook/main.ts`.
|
|
206
|
+
|
|
207
|
+
## Claude Code Agent Skills
|
|
208
|
+
|
|
209
|
+
This project includes specialized Claude Code agents for common development tasks. These are defined in `.claude/agents/` and are automatically available when using Claude Code in this repository.
|
|
210
|
+
|
|
211
|
+
### Available Agents
|
|
212
|
+
|
|
213
|
+
| Agent | Color | Purpose |
|
|
214
|
+
| ----- | ----- | ------- |
|
|
215
|
+
| **component-builder** | Blue | Creates new components or updates existing ones. Handles compound component patterns, React Aria integration, variants, and Storybook stories. |
|
|
216
|
+
| **style-migrator** | Orange | Migrates component styles from TypeScript-based `tv()` definitions to CSS-based BEM classes. Preserves all variants and visual styles. |
|
|
217
|
+
| **tailwind-v4-css-expert** | Green | Analyzes, creates, and debugs Tailwind CSS v4 component CSS files. Assists with `@apply` directives, CSS nesting, and Lightning CSS. |
|
|
218
|
+
| **storybook-debugger** | Cyan | Debugs Storybook runtime issues — CSS transformation errors, Tailwind v4 compatibility, and component styling problems. |
|
|
219
|
+
|
|
220
|
+
### Guides
|
|
221
|
+
|
|
222
|
+
- `.claude/guides/tailwindcss-v4-css-guide.md` — Comprehensive Tailwind CSS v4 reference used by the style-migrator and tailwind-v4-css-expert agents.
|
|
223
|
+
|
|
224
|
+
### Installed Skills
|
|
225
|
+
|
|
226
|
+
- **npm-updater** (`.agents/skills/npm-updater/`) — Workflow for safely updating npm dependencies with changelog analysis and migration guide discovery.
|
|
227
|
+
|
|
228
|
+
### Using Agents
|
|
229
|
+
|
|
230
|
+
Agents are invoked automatically by Claude Code when relevant tasks are detected. You can also reference them directly:
|
|
231
|
+
|
|
232
|
+
- Ask Claude Code to "create a new Select component" → triggers **component-builder**
|
|
233
|
+
- Ask to "migrate the chip styles to CSS" → triggers **style-migrator**
|
|
234
|
+
- Ask to "fix the button.css file" → triggers **tailwind-v4-css-expert**
|
|
235
|
+
- Ask to "debug why tooltip is broken in Storybook" → triggers **storybook-debugger**
|
|
236
|
+
|
|
237
|
+
## CI/CD
|
|
238
|
+
|
|
239
|
+
GitHub Actions workflows in `.github/workflows/`:
|
|
240
|
+
|
|
241
|
+
| Workflow | Trigger | What it does |
|
|
242
|
+
| -------- | ------- | ------------ |
|
|
243
|
+
| `ci.yml` | Pull requests to `main` | Runs ESLint + Prettier checks |
|
|
244
|
+
| `deploy-storybook.yml` | Push to `main` / manual | Builds & deploys Storybook to S3 + CloudFront |
|
|
245
|
+
| `release.yml` | Manual (workflow_dispatch) | Bumps version, builds, publishes to npm |
|
|
246
|
+
|
|
247
|
+
## Package Consumption
|
|
248
|
+
|
|
249
|
+
Install in a consuming project:
|
|
250
|
+
|
|
251
|
+
```bash
|
|
252
|
+
npm install @cognitiv/components-web
|
|
253
|
+
```
|
|
254
|
+
|
|
255
|
+
**Peer dependencies:** React >=19.0.0, React DOM >=19.0.0, Tailwind CSS >=4.0.0
|
|
256
|
+
|
|
257
|
+
Import components and styles:
|
|
258
|
+
|
|
259
|
+
```tsx
|
|
260
|
+
import { Button } from "@cognitiv/components-web";
|
|
261
|
+
import "@cognitiv/components-web/styles";
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
## License
|
|
265
|
+
|
|
266
|
+
MIT
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { AccordionVariants } from "./styles";
|
|
2
|
+
import type { ComponentPropsWithRef } from "react";
|
|
3
|
+
import { Button, Disclosure, DisclosureGroup, Heading as DisclosureHeading, DisclosurePanel } from "react-aria-components";
|
|
4
|
+
interface AccordionRootProps extends ComponentPropsWithRef<typeof DisclosureGroup>, AccordionVariants {
|
|
5
|
+
hideSeparator?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const AccordionRoot: ({ children, className, hideSeparator, variant, ...props }: AccordionRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
interface AccordionItemProps extends ComponentPropsWithRef<typeof Disclosure> {
|
|
9
|
+
}
|
|
10
|
+
declare const AccordionItem: ({ className, ...props }: AccordionItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
interface AccordionIndicatorProps extends ComponentPropsWithRef<"svg"> {
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
declare const AccordionIndicator: ({ children, className, ...props }: AccordionIndicatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
interface AccordionHeadingProps extends ComponentPropsWithRef<typeof DisclosureHeading> {
|
|
16
|
+
className?: string;
|
|
17
|
+
}
|
|
18
|
+
declare const AccordionHeading: ({ className, ...props }: AccordionHeadingProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
interface AccordionTriggerProps extends ComponentPropsWithRef<typeof Button> {
|
|
20
|
+
}
|
|
21
|
+
declare const AccordionTrigger: ({ className, ...props }: AccordionTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
interface AccordionBodyProps extends ComponentPropsWithRef<"div"> {
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
declare const AccordionBody: ({ children, className, ...props }: AccordionBodyProps) => import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
interface AccordionPanelProps extends ComponentPropsWithRef<typeof DisclosurePanel> {
|
|
27
|
+
}
|
|
28
|
+
declare const AccordionPanel: ({ children, className, ...props }: AccordionPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
29
|
+
export { AccordionRoot, AccordionItem, AccordionTrigger, AccordionPanel, AccordionIndicator, AccordionBody, AccordionHeading, };
|
|
30
|
+
export type { AccordionRootProps, AccordionItemProps, AccordionTriggerProps, AccordionPanelProps, AccordionIndicatorProps, AccordionBodyProps, AccordionHeadingProps, };
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import React__default, { useContext, createContext } from 'react';
|
|
3
|
+
import { DisclosureGroup, Button, DisclosureStateContext, DisclosurePanel, Disclosure, Heading } from 'react-aria-components';
|
|
4
|
+
import { dataAttr } from '../../utils/assertion.js';
|
|
5
|
+
import { composeTwRenderProps, composeSlotClassName } from '../../utils/compose.js';
|
|
6
|
+
import { IconChevronDown } from '../icons.js';
|
|
7
|
+
import { accordionVariants } from './styles.js';
|
|
8
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
9
|
+
import { SurfaceContext } from '../surface/surface.js';
|
|
10
|
+
|
|
11
|
+
const AccordionContext = /*#__PURE__*/createContext({});
|
|
12
|
+
|
|
13
|
+
/* -------------------------------------------------------------------------------------------------
|
|
14
|
+
* Accordion Root
|
|
15
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
16
|
+
|
|
17
|
+
const AccordionRoot = ({
|
|
18
|
+
children,
|
|
19
|
+
className,
|
|
20
|
+
hideSeparator = false,
|
|
21
|
+
variant,
|
|
22
|
+
...props
|
|
23
|
+
}) => {
|
|
24
|
+
const slots = React__default.useMemo(() => accordionVariants({
|
|
25
|
+
variant
|
|
26
|
+
}), [variant]);
|
|
27
|
+
const content = /*#__PURE__*/jsx(DisclosureGroup, {
|
|
28
|
+
className: composeTwRenderProps(className, slots.base()),
|
|
29
|
+
"data-slot": "accordion",
|
|
30
|
+
...props,
|
|
31
|
+
children: values => /*#__PURE__*/jsx(Fragment, {
|
|
32
|
+
children: typeof children === "function" ? children(values) : children
|
|
33
|
+
})
|
|
34
|
+
});
|
|
35
|
+
return /*#__PURE__*/jsx(AccordionContext, {
|
|
36
|
+
value: {
|
|
37
|
+
hideSeparator,
|
|
38
|
+
slots
|
|
39
|
+
},
|
|
40
|
+
children: variant === "surface" ?
|
|
41
|
+
/*#__PURE__*/
|
|
42
|
+
// Allows inner components to apply "on-surface" colors for proper contrast
|
|
43
|
+
jsx(SurfaceContext, {
|
|
44
|
+
value: {
|
|
45
|
+
variant: "default"
|
|
46
|
+
},
|
|
47
|
+
children: content
|
|
48
|
+
}) : content
|
|
49
|
+
});
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/* -------------------------------------------------------------------------------------------------
|
|
53
|
+
* AccordionItem
|
|
54
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
55
|
+
|
|
56
|
+
const AccordionItem = ({
|
|
57
|
+
className,
|
|
58
|
+
...props
|
|
59
|
+
}) => {
|
|
60
|
+
const {
|
|
61
|
+
hideSeparator,
|
|
62
|
+
slots
|
|
63
|
+
} = useContext(AccordionContext);
|
|
64
|
+
return /*#__PURE__*/jsx(Disclosure, {
|
|
65
|
+
className: composeTwRenderProps(className, slots?.item()),
|
|
66
|
+
"data-hide-separator": hideSeparator ? "true" : undefined,
|
|
67
|
+
"data-slot": "accordion-item",
|
|
68
|
+
...props,
|
|
69
|
+
children: props.children
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
/* -------------------------------------------------------------------------------------------------
|
|
74
|
+
* AccordionIndicator
|
|
75
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
76
|
+
|
|
77
|
+
const AccordionIndicator = ({
|
|
78
|
+
children,
|
|
79
|
+
className,
|
|
80
|
+
...props
|
|
81
|
+
}) => {
|
|
82
|
+
const {
|
|
83
|
+
slots
|
|
84
|
+
} = useContext(AccordionContext);
|
|
85
|
+
const {
|
|
86
|
+
isExpanded
|
|
87
|
+
} = useContext(DisclosureStateContext);
|
|
88
|
+
if (children && /*#__PURE__*/React__default.isValidElement(children)) {
|
|
89
|
+
return /*#__PURE__*/React__default.cloneElement(children, {
|
|
90
|
+
...props,
|
|
91
|
+
className: composeSlotClassName(slots?.indicator, className),
|
|
92
|
+
"data-expanded": dataAttr(isExpanded),
|
|
93
|
+
"data-slot": "accordion-indicator"
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
return /*#__PURE__*/jsx(IconChevronDown, {
|
|
97
|
+
className: composeSlotClassName(slots?.indicator, className),
|
|
98
|
+
"data-expanded": dataAttr(isExpanded),
|
|
99
|
+
"data-slot": "accordion-indicator",
|
|
100
|
+
...props
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
/* -------------------------------------------------------------------------------------------------
|
|
105
|
+
* AccordionHeading
|
|
106
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
107
|
+
|
|
108
|
+
const AccordionHeading = ({
|
|
109
|
+
className,
|
|
110
|
+
...props
|
|
111
|
+
}) => {
|
|
112
|
+
const {
|
|
113
|
+
slots
|
|
114
|
+
} = useContext(AccordionContext);
|
|
115
|
+
return /*#__PURE__*/jsx(Heading, {
|
|
116
|
+
className: composeSlotClassName(slots?.heading, className),
|
|
117
|
+
"data-slot": "accordion-heading",
|
|
118
|
+
...props
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
/* -------------------------------------------------------------------------------------------------
|
|
123
|
+
* AccordionTrigger
|
|
124
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
125
|
+
|
|
126
|
+
const AccordionTrigger = ({
|
|
127
|
+
className,
|
|
128
|
+
...props
|
|
129
|
+
}) => {
|
|
130
|
+
const {
|
|
131
|
+
slots
|
|
132
|
+
} = useContext(AccordionContext);
|
|
133
|
+
return /*#__PURE__*/jsx(Button, {
|
|
134
|
+
className: composeTwRenderProps(className, slots?.trigger()),
|
|
135
|
+
"data-slot": "accordion-trigger",
|
|
136
|
+
slot: "trigger",
|
|
137
|
+
...props,
|
|
138
|
+
children: values => /*#__PURE__*/jsx(Fragment, {
|
|
139
|
+
children: typeof props.children === "function" ? props.children(values) : props.children
|
|
140
|
+
})
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
/* -------------------------------------------------------------------------------------------------
|
|
145
|
+
* AccordionBody
|
|
146
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
147
|
+
|
|
148
|
+
const AccordionBody = ({
|
|
149
|
+
children,
|
|
150
|
+
className,
|
|
151
|
+
...props
|
|
152
|
+
}) => {
|
|
153
|
+
const {
|
|
154
|
+
slots
|
|
155
|
+
} = useContext(AccordionContext);
|
|
156
|
+
return /*#__PURE__*/jsx("div", {
|
|
157
|
+
className: slots?.body({}),
|
|
158
|
+
"data-slot": "accordion-body",
|
|
159
|
+
...props,
|
|
160
|
+
children: /*#__PURE__*/jsx("div", {
|
|
161
|
+
className: composeSlotClassName(slots?.bodyInner, className),
|
|
162
|
+
children: children
|
|
163
|
+
})
|
|
164
|
+
});
|
|
165
|
+
};
|
|
166
|
+
|
|
167
|
+
/* -------------------------------------------------------------------------------------------------
|
|
168
|
+
* AccordionPanel
|
|
169
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
170
|
+
|
|
171
|
+
const AccordionPanel = ({
|
|
172
|
+
children,
|
|
173
|
+
className,
|
|
174
|
+
...props
|
|
175
|
+
}) => {
|
|
176
|
+
const {
|
|
177
|
+
slots
|
|
178
|
+
} = useContext(AccordionContext);
|
|
179
|
+
const {
|
|
180
|
+
isExpanded
|
|
181
|
+
} = useContext(DisclosureStateContext);
|
|
182
|
+
return /*#__PURE__*/jsx(DisclosurePanel, {
|
|
183
|
+
className: composeTwRenderProps(className, slots?.panel()),
|
|
184
|
+
"data-expanded": dataAttr(isExpanded),
|
|
185
|
+
"data-slot": "accordion-panel",
|
|
186
|
+
...props,
|
|
187
|
+
children: children
|
|
188
|
+
});
|
|
189
|
+
};
|
|
190
|
+
|
|
191
|
+
export { AccordionBody, AccordionHeading, AccordionIndicator, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ComponentProps } from "react";
|
|
2
|
+
import { AccordionBody, AccordionHeading, AccordionIndicator, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger } from "./accordion";
|
|
3
|
+
export declare const Accordion: (({ children, className, hideSeparator, variant, ...props }: import("./accordion").AccordionRootProps) => import("react/jsx-runtime").JSX.Element) & {
|
|
4
|
+
Body: ({ children, className, ...props }: import("./accordion").AccordionBodyProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
Heading: ({ className, ...props }: import("./accordion").AccordionHeadingProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
Indicator: ({ children, className, ...props }: import("./accordion").AccordionIndicatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
Item: ({ className, ...props }: import("./accordion").AccordionItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
Panel: ({ children, className, ...props }: import("./accordion").AccordionPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
Root: ({ children, className, hideSeparator, variant, ...props }: import("./accordion").AccordionRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
Trigger: ({ className, ...props }: import("./accordion").AccordionTriggerProps) => import("react/jsx-runtime").JSX.Element;
|
|
11
|
+
};
|
|
12
|
+
export type Accordion = {
|
|
13
|
+
Props: ComponentProps<typeof AccordionRoot>;
|
|
14
|
+
RootProps: ComponentProps<typeof AccordionRoot>;
|
|
15
|
+
ItemProps: ComponentProps<typeof AccordionItem>;
|
|
16
|
+
HeadingProps: ComponentProps<typeof AccordionHeading>;
|
|
17
|
+
TriggerProps: ComponentProps<typeof AccordionTrigger>;
|
|
18
|
+
PanelProps: ComponentProps<typeof AccordionPanel>;
|
|
19
|
+
IndicatorProps: ComponentProps<typeof AccordionIndicator>;
|
|
20
|
+
BodyProps: ComponentProps<typeof AccordionBody>;
|
|
21
|
+
};
|
|
22
|
+
export { AccordionRoot, AccordionItem, AccordionHeading, AccordionTrigger, AccordionPanel, AccordionIndicator, AccordionBody, };
|
|
23
|
+
export type { AccordionRootProps, AccordionRootProps as AccordionProps, AccordionItemProps, AccordionHeadingProps, AccordionTriggerProps, AccordionPanelProps, AccordionIndicatorProps, AccordionBodyProps, } from "./accordion";
|
|
24
|
+
export { accordionVariants } from "./styles";
|
|
25
|
+
export type { AccordionVariants } from "./styles";
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { AccordionRoot, AccordionTrigger, AccordionPanel, AccordionItem, AccordionIndicator, AccordionHeading, AccordionBody } from './accordion.js';
|
|
3
|
+
export { accordionVariants } from './styles.js';
|
|
4
|
+
|
|
5
|
+
/* -------------------------------------------------------------------------------------------------
|
|
6
|
+
* Compound Component
|
|
7
|
+
* -----------------------------------------------------------------------------------------------*/
|
|
8
|
+
const Accordion = Object.assign(AccordionRoot, {
|
|
9
|
+
Body: AccordionBody,
|
|
10
|
+
Heading: AccordionHeading,
|
|
11
|
+
Indicator: AccordionIndicator,
|
|
12
|
+
Item: AccordionItem,
|
|
13
|
+
Panel: AccordionPanel,
|
|
14
|
+
Root: AccordionRoot,
|
|
15
|
+
Trigger: AccordionTrigger
|
|
16
|
+
});
|
|
17
|
+
|
|
18
|
+
export { Accordion, AccordionBody, AccordionHeading, AccordionIndicator, AccordionItem, AccordionPanel, AccordionRoot, AccordionTrigger };
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { VariantProps } from "tailwind-variants";
|
|
2
|
+
export declare const accordionVariants: import("tailwind-variants").TVReturnType<{
|
|
3
|
+
variant: {
|
|
4
|
+
default: {};
|
|
5
|
+
surface: {
|
|
6
|
+
base: string;
|
|
7
|
+
};
|
|
8
|
+
};
|
|
9
|
+
}, {
|
|
10
|
+
base: string;
|
|
11
|
+
body: string;
|
|
12
|
+
bodyInner: string;
|
|
13
|
+
heading: string;
|
|
14
|
+
indicator: string;
|
|
15
|
+
item: string;
|
|
16
|
+
panel: string;
|
|
17
|
+
trigger: string;
|
|
18
|
+
}, undefined, {
|
|
19
|
+
variant: {
|
|
20
|
+
default: {};
|
|
21
|
+
surface: {
|
|
22
|
+
base: string;
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
}, {
|
|
26
|
+
base: string;
|
|
27
|
+
body: string;
|
|
28
|
+
bodyInner: string;
|
|
29
|
+
heading: string;
|
|
30
|
+
indicator: string;
|
|
31
|
+
item: string;
|
|
32
|
+
panel: string;
|
|
33
|
+
trigger: string;
|
|
34
|
+
}, import("tailwind-variants").TVReturnType<{
|
|
35
|
+
variant: {
|
|
36
|
+
default: {};
|
|
37
|
+
surface: {
|
|
38
|
+
base: string;
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
}, {
|
|
42
|
+
base: string;
|
|
43
|
+
body: string;
|
|
44
|
+
bodyInner: string;
|
|
45
|
+
heading: string;
|
|
46
|
+
indicator: string;
|
|
47
|
+
item: string;
|
|
48
|
+
panel: string;
|
|
49
|
+
trigger: string;
|
|
50
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
51
|
+
type DisclosureRenderPropsKeys = "isExpanded" | "isDisabled" | "state";
|
|
52
|
+
export type AccordionVariants = Omit<VariantProps<typeof accordionVariants>, DisclosureRenderPropsKeys>;
|
|
53
|
+
export {};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
import { tv } from 'tailwind-variants';
|
|
3
|
+
|
|
4
|
+
const accordionVariants = tv({
|
|
5
|
+
slots: {
|
|
6
|
+
base: "accordion",
|
|
7
|
+
body: "accordion__body",
|
|
8
|
+
bodyInner: "accordion__body-inner",
|
|
9
|
+
heading: "accordion__heading",
|
|
10
|
+
indicator: "accordion__indicator",
|
|
11
|
+
item: "accordion__item",
|
|
12
|
+
panel: "accordion__panel",
|
|
13
|
+
trigger: "accordion__trigger"
|
|
14
|
+
},
|
|
15
|
+
variants: {
|
|
16
|
+
variant: {
|
|
17
|
+
default: {},
|
|
18
|
+
surface: {
|
|
19
|
+
base: "accordion--surface"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
// Render props that should be excluded from AccordionVariants (framework-specific)
|
|
26
|
+
|
|
27
|
+
export { accordionVariants };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { AlertVariants } from "./styles";
|
|
2
|
+
import type { ComponentPropsWithRef } from "react";
|
|
3
|
+
interface AlertRootProps extends ComponentPropsWithRef<"div">, AlertVariants {
|
|
4
|
+
}
|
|
5
|
+
declare const AlertRoot: ({ children, className, status, ...rest }: AlertRootProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
type AlertIndicatorProps = ComponentPropsWithRef<"div">;
|
|
7
|
+
declare const AlertIndicator: ({ children, className, ...rest }: AlertIndicatorProps) => import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
type AlertContentProps = ComponentPropsWithRef<"div">;
|
|
9
|
+
declare const AlertContent: ({ children, className, ...rest }: AlertContentProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
type AlertTitleProps = ComponentPropsWithRef<"p">;
|
|
11
|
+
declare const AlertTitle: ({ children, className, ...rest }: AlertTitleProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
type AlertDescriptionProps = ComponentPropsWithRef<"span">;
|
|
13
|
+
declare const AlertDescription: ({ children, className, ...rest }: AlertDescriptionProps) => import("react/jsx-runtime").JSX.Element;
|
|
14
|
+
export { AlertRoot, AlertIndicator, AlertContent, AlertTitle, AlertDescription };
|
|
15
|
+
export type { AlertRootProps, AlertIndicatorProps, AlertContentProps, AlertTitleProps, AlertDescriptionProps, };
|