jvetrau-ds 0.1.13 → 0.1.15
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/components/attach/attach.cjs +88 -0
- package/components/attach/attach.cjs.map +1 -0
- package/components/attach/attach.d.cts +18 -0
- package/components/attach/attach.d.ts +18 -0
- package/components/attach/attach.js +86 -0
- package/components/attach/attach.js.map +1 -0
- package/components/attach.cjs +13 -0
- package/components/attach.cjs.map +1 -0
- package/components/attach.d.cts +2 -0
- package/components/attach.d.ts +2 -0
- package/components/attach.js +3 -0
- package/components/attach.js.map +1 -0
- package/components/avatar/avatar.cjs +54 -0
- package/components/avatar/avatar.cjs.map +1 -0
- package/components/avatar/avatar.d.cts +17 -0
- package/components/avatar/avatar.d.ts +17 -0
- package/components/avatar/avatar.js +52 -0
- package/components/avatar/avatar.js.map +1 -0
- package/components/avatar.cjs +13 -0
- package/components/avatar.cjs.map +1 -0
- package/components/avatar.d.cts +2 -0
- package/components/avatar.d.ts +2 -0
- package/components/avatar.js +3 -0
- package/components/avatar.js.map +1 -0
- package/components/button/button.cjs +54 -0
- package/components/button/button.cjs.map +1 -0
- package/components/button/button.d.cts +9 -0
- package/components/button/button.d.ts +9 -0
- package/components/button/button.js +48 -0
- package/components/button/button.js.map +1 -0
- package/components/button-icon/button-icon.cjs +48 -0
- package/components/button-icon/button-icon.cjs.map +1 -0
- package/components/button-icon/button-icon.d.cts +11 -0
- package/components/button-icon/button-icon.d.ts +11 -0
- package/components/button-icon/button-icon.js +42 -0
- package/components/button-icon/button-icon.js.map +1 -0
- package/components/button-icon.cjs +13 -0
- package/components/button-icon.cjs.map +1 -0
- package/components/button-icon.d.cts +3 -0
- package/components/button-icon.d.ts +3 -0
- package/components/button-icon.js +3 -0
- package/components/button-icon.js.map +1 -0
- package/components/button.cjs +13 -0
- package/components/button.cjs.map +1 -0
- package/components/button.d.cts +2 -0
- package/components/button.d.ts +2 -0
- package/components/button.js +3 -0
- package/components/button.js.map +1 -0
- package/components/card/card.cjs +37 -0
- package/components/card/card.cjs.map +1 -0
- package/components/card/card.d.cts +11 -0
- package/components/card/card.d.ts +11 -0
- package/components/card/card.js +35 -0
- package/components/card/card.js.map +1 -0
- package/components/card.cjs +13 -0
- package/components/card.cjs.map +1 -0
- package/components/card.d.cts +2 -0
- package/components/card.d.ts +2 -0
- package/components/card.js +3 -0
- package/components/card.js.map +1 -0
- package/components/checkbox/checkbox.cjs +36 -0
- package/components/checkbox/checkbox.cjs.map +1 -0
- package/components/checkbox/checkbox.d.cts +8 -0
- package/components/checkbox/checkbox.d.ts +8 -0
- package/components/checkbox/checkbox.js +34 -0
- package/components/checkbox/checkbox.js.map +1 -0
- package/components/checkbox.cjs +13 -0
- package/components/checkbox.cjs.map +1 -0
- package/components/checkbox.d.cts +2 -0
- package/components/checkbox.d.ts +2 -0
- package/components/checkbox.js +3 -0
- package/components/checkbox.js.map +1 -0
- package/components/dropdown/dropdown.cjs +122 -0
- package/components/dropdown/dropdown.cjs.map +1 -0
- package/components/dropdown/dropdown.d.cts +26 -0
- package/components/dropdown/dropdown.d.ts +26 -0
- package/components/dropdown/dropdown.js +120 -0
- package/components/dropdown/dropdown.js.map +1 -0
- package/components/dropdown.cjs +13 -0
- package/components/dropdown.cjs.map +1 -0
- package/components/dropdown.d.cts +2 -0
- package/components/dropdown.d.ts +2 -0
- package/components/dropdown.js +3 -0
- package/components/dropdown.js.map +1 -0
- package/components/field/field.cjs +44 -0
- package/components/field/field.cjs.map +1 -0
- package/components/field/field.d.cts +15 -0
- package/components/field/field.d.ts +15 -0
- package/components/field/field.js +42 -0
- package/components/field/field.js.map +1 -0
- package/components/field.cjs +13 -0
- package/components/field.cjs.map +1 -0
- package/components/field.d.cts +2 -0
- package/components/field.d.ts +2 -0
- package/components/field.js +3 -0
- package/components/field.js.map +1 -0
- package/components/helpers/classnames.cjs +22 -0
- package/components/helpers/classnames.cjs.map +1 -0
- package/components/helpers/classnames.d.cts +4 -0
- package/components/helpers/classnames.d.ts +4 -0
- package/components/helpers/classnames.js +20 -0
- package/components/helpers/classnames.js.map +1 -0
- package/components/input/input.cjs +29 -0
- package/components/input/input.cjs.map +1 -0
- package/components/input/input.d.cts +8 -0
- package/components/input/input.d.ts +8 -0
- package/components/input/input.js +27 -0
- package/components/input/input.js.map +1 -0
- package/components/input.cjs +13 -0
- package/components/input.cjs.map +1 -0
- package/components/input.d.cts +2 -0
- package/components/input.d.ts +2 -0
- package/components/input.js +3 -0
- package/components/input.js.map +1 -0
- package/components/logo/logo.cjs +56 -0
- package/components/logo/logo.cjs.map +1 -0
- package/components/logo/logo.d.cts +9 -0
- package/components/logo/logo.d.ts +9 -0
- package/components/logo/logo.js +49 -0
- package/components/logo/logo.js.map +1 -0
- package/components/logo.cjs +13 -0
- package/components/logo.cjs.map +1 -0
- package/components/logo.d.cts +2 -0
- package/components/logo.d.ts +2 -0
- package/components/logo.js +3 -0
- package/components/logo.js.map +1 -0
- package/components/menu/menu.cjs +106 -0
- package/components/menu/menu.cjs.map +1 -0
- package/components/menu/menu.d.cts +18 -0
- package/components/menu/menu.d.ts +18 -0
- package/components/menu/menu.js +100 -0
- package/components/menu/menu.js.map +1 -0
- package/components/menu.cjs +13 -0
- package/components/menu.cjs.map +1 -0
- package/components/menu.d.cts +2 -0
- package/components/menu.d.ts +2 -0
- package/components/menu.js +3 -0
- package/components/menu.js.map +1 -0
- package/components/panel/panel.cjs +37 -0
- package/components/panel/panel.cjs.map +1 -0
- package/components/panel/panel.d.cts +10 -0
- package/components/panel/panel.d.ts +10 -0
- package/components/panel/panel.js +35 -0
- package/components/panel/panel.js.map +1 -0
- package/components/panel.cjs +13 -0
- package/components/panel.cjs.map +1 -0
- package/components/panel.d.cts +2 -0
- package/components/panel.d.ts +2 -0
- package/components/panel.js +3 -0
- package/components/panel.js.map +1 -0
- package/components/progressbar/progressbar.cjs +220 -0
- package/components/progressbar/progressbar.cjs.map +1 -0
- package/components/progressbar/progressbar.d.cts +17 -0
- package/components/progressbar/progressbar.d.ts +17 -0
- package/components/progressbar/progressbar.js +218 -0
- package/components/progressbar/progressbar.js.map +1 -0
- package/components/progressbar.cjs +13 -0
- package/components/progressbar.cjs.map +1 -0
- package/components/progressbar.d.cts +2 -0
- package/components/progressbar.d.ts +2 -0
- package/components/progressbar.js +3 -0
- package/components/progressbar.js.map +1 -0
- package/components/radio/radio.cjs +36 -0
- package/components/radio/radio.cjs.map +1 -0
- package/components/radio/radio.d.cts +8 -0
- package/components/radio/radio.d.ts +8 -0
- package/components/radio/radio.js +34 -0
- package/components/radio/radio.js.map +1 -0
- package/components/radio.cjs +13 -0
- package/components/radio.cjs.map +1 -0
- package/components/radio.d.cts +2 -0
- package/components/radio.d.ts +2 -0
- package/components/radio.js +3 -0
- package/components/radio.js.map +1 -0
- package/components/richedit/richedit.cjs +29 -0
- package/components/richedit/richedit.cjs.map +1 -0
- package/components/richedit/richedit.d.cts +8 -0
- package/components/richedit/richedit.d.ts +8 -0
- package/components/richedit/richedit.js +27 -0
- package/components/richedit/richedit.js.map +1 -0
- package/components/richedit.cjs +13 -0
- package/components/richedit.cjs.map +1 -0
- package/components/richedit.d.cts +2 -0
- package/components/richedit.d.ts +2 -0
- package/components/richedit.js +3 -0
- package/components/richedit.js.map +1 -0
- package/components/search/search.cjs +30 -0
- package/components/search/search.cjs.map +1 -0
- package/components/search/search.d.cts +8 -0
- package/components/search/search.d.ts +8 -0
- package/components/search/search.js +28 -0
- package/components/search/search.js.map +1 -0
- package/components/search.cjs +13 -0
- package/components/search.cjs.map +1 -0
- package/components/search.d.cts +2 -0
- package/components/search.d.ts +2 -0
- package/components/search.js +3 -0
- package/components/search.js.map +1 -0
- package/components/select/select.cjs +31 -0
- package/components/select/select.cjs.map +1 -0
- package/components/select/select.d.cts +8 -0
- package/components/select/select.d.ts +8 -0
- package/components/select/select.js +29 -0
- package/components/select/select.js.map +1 -0
- package/components/select.cjs +13 -0
- package/components/select.cjs.map +1 -0
- package/components/select.d.cts +2 -0
- package/components/select.d.ts +2 -0
- package/components/select.js +3 -0
- package/components/select.js.map +1 -0
- package/components/tabs/tabs.cjs +19 -0
- package/components/tabs/tabs.cjs.map +1 -0
- package/components/tabs/tabs.d.cts +7 -0
- package/components/tabs/tabs.d.ts +7 -0
- package/components/tabs/tabs.js +17 -0
- package/components/tabs/tabs.js.map +1 -0
- package/components/tabs.cjs +13 -0
- package/components/tabs.cjs.map +1 -0
- package/components/tabs.d.cts +2 -0
- package/components/tabs.d.ts +2 -0
- package/components/tabs.js +3 -0
- package/components/tabs.js.map +1 -0
- package/components/tag/tag.cjs +28 -0
- package/components/tag/tag.cjs.map +1 -0
- package/components/tag/tag.d.cts +8 -0
- package/components/tag/tag.d.ts +8 -0
- package/components/tag/tag.js +26 -0
- package/components/tag/tag.js.map +1 -0
- package/components/tag.cjs +13 -0
- package/components/tag.cjs.map +1 -0
- package/components/tag.d.cts +2 -0
- package/components/tag.d.ts +2 -0
- package/components/tag.js +3 -0
- package/components/tag.js.map +1 -0
- package/components/textarea/textarea.cjs +29 -0
- package/components/textarea/textarea.cjs.map +1 -0
- package/components/textarea/textarea.d.cts +8 -0
- package/components/textarea/textarea.d.ts +8 -0
- package/components/textarea/textarea.js +27 -0
- package/components/textarea/textarea.js.map +1 -0
- package/components/textarea.cjs +13 -0
- package/components/textarea.cjs.map +1 -0
- package/components/textarea.d.cts +2 -0
- package/components/textarea.d.ts +2 -0
- package/components/textarea.js +3 -0
- package/components/textarea.js.map +1 -0
- package/components/video/video.cjs +348 -0
- package/components/video/video.cjs.map +1 -0
- package/components/video/video.d.cts +29 -0
- package/components/video/video.d.ts +29 -0
- package/components/video/video.js +339 -0
- package/components/video/video.js.map +1 -0
- package/components/video.cjs +13 -0
- package/components/video.cjs.map +1 -0
- package/components/video.d.cts +2 -0
- package/components/video.d.ts +2 -0
- package/components/video.js +3 -0
- package/components/video.js.map +1 -0
- package/components.cjs +106 -0
- package/components.cjs.map +1 -0
- package/components.d.cts +18 -0
- package/components.d.ts +18 -0
- package/components.js +18 -0
- package/components.js.map +1 -0
- package/icon-types.d.cts +2 -57
- package/icon-types.d.ts +2 -57
- package/icons/assets/arrow-link.cjs +14 -0
- package/icons/assets/arrow-link.cjs.map +1 -0
- package/icons/assets/arrow-link.d.cts +6 -0
- package/icons/assets/arrow-link.d.ts +6 -0
- package/icons/assets/arrow-link.js +12 -0
- package/icons/assets/arrow-link.js.map +1 -0
- package/icons/assets/arrow-right.cjs +14 -0
- package/icons/assets/arrow-right.cjs.map +1 -0
- package/icons/assets/arrow-right.d.cts +6 -0
- package/icons/assets/arrow-right.d.ts +6 -0
- package/icons/assets/arrow-right.js +12 -0
- package/icons/assets/arrow-right.js.map +1 -0
- package/icons/assets/chevron-right.cjs +14 -0
- package/icons/assets/chevron-right.cjs.map +1 -0
- package/icons/assets/chevron-right.d.cts +6 -0
- package/icons/assets/chevron-right.d.ts +6 -0
- package/icons/assets/chevron-right.js +12 -0
- package/icons/assets/chevron-right.js.map +1 -0
- package/icons/assets/fullscreen.cjs +14 -0
- package/icons/assets/fullscreen.cjs.map +1 -0
- package/icons/assets/fullscreen.d.cts +6 -0
- package/icons/assets/fullscreen.d.ts +6 -0
- package/icons/assets/fullscreen.js +12 -0
- package/icons/assets/fullscreen.js.map +1 -0
- package/icons/assets/pause.cjs +14 -0
- package/icons/assets/pause.cjs.map +1 -0
- package/icons/assets/pause.d.cts +6 -0
- package/icons/assets/pause.d.ts +6 -0
- package/icons/assets/pause.js +12 -0
- package/icons/assets/pause.js.map +1 -0
- package/icons/assets/play.cjs +14 -0
- package/icons/assets/play.cjs.map +1 -0
- package/icons/assets/play.d.cts +6 -0
- package/icons/assets/play.d.ts +6 -0
- package/icons/assets/play.js +12 -0
- package/icons/assets/play.js.map +1 -0
- package/icons/assets/settings.cjs +14 -0
- package/icons/assets/settings.cjs.map +1 -0
- package/icons/assets/settings.d.cts +6 -0
- package/icons/assets/settings.d.ts +6 -0
- package/icons/assets/settings.js +12 -0
- package/icons/assets/settings.js.map +1 -0
- package/icons/assets/sound-off.cjs +14 -0
- package/icons/assets/sound-off.cjs.map +1 -0
- package/icons/assets/sound-off.d.cts +6 -0
- package/icons/assets/sound-off.d.ts +6 -0
- package/icons/assets/sound-off.js +12 -0
- package/icons/assets/sound-off.js.map +1 -0
- package/icons/assets/sound.cjs +14 -0
- package/icons/assets/sound.cjs.map +1 -0
- package/icons/assets/sound.d.cts +6 -0
- package/icons/assets/sound.d.ts +6 -0
- package/icons/assets/sound.js +12 -0
- package/icons/assets/sound.js.map +1 -0
- package/icons/icon.cjs +43 -0
- package/icons/icon.cjs.map +1 -0
- package/icons/icon.d.cts +10 -0
- package/icons/icon.d.ts +10 -0
- package/icons/icon.js +41 -0
- package/icons/icon.js.map +1 -0
- package/icons/manifest.cjs +63 -0
- package/icons/manifest.cjs.map +1 -0
- package/icons/manifest.d.cts +2 -0
- package/icons/manifest.d.ts +2 -0
- package/icons/manifest.js +61 -0
- package/icons/manifest.js.map +1 -0
- package/icons/public.cjs +16 -0
- package/icons/public.cjs.map +1 -0
- package/icons/public.d.cts +3 -0
- package/icons/public.d.ts +3 -0
- package/icons/public.js +3 -0
- package/icons/public.js.map +1 -0
- package/icons/registry.cjs +11 -0
- package/icons/registry.cjs.map +1 -0
- package/icons/registry.d.cts +6 -0
- package/icons/registry.d.ts +6 -0
- package/icons/registry.js +9 -0
- package/icons/registry.js.map +1 -0
- package/icons/types.cjs +4 -0
- package/icons/types.cjs.map +1 -0
- package/icons/types.d.cts +2 -0
- package/icons/types.d.ts +2 -0
- package/icons/types.js +3 -0
- package/icons/types.js.map +1 -0
- package/icons.cjs +7 -192
- package/icons.cjs.map +1 -1
- package/icons.d.cts +3 -10
- package/icons.d.ts +3 -10
- package/icons.js +1 -197
- package/icons.js.map +1 -1
- package/index.cjs +162 -1640
- package/index.cjs.map +1 -1
- package/index.d.cts +29 -203
- package/index.d.ts +29 -203
- package/index.js +27 -1615
- package/index.js.map +1 -1
- package/layouts/base/base.cjs +37 -0
- package/layouts/base/base.cjs.map +1 -0
- package/layouts/base/base.d.cts +11 -0
- package/layouts/base/base.d.ts +11 -0
- package/layouts/base/base.js +31 -0
- package/layouts/base/base.js.map +1 -0
- package/layouts/base.cjs +13 -0
- package/layouts/base.cjs.map +1 -0
- package/layouts/base.d.cts +3 -0
- package/layouts/base.d.ts +3 -0
- package/layouts/base.js +3 -0
- package/layouts/base.js.map +1 -0
- package/layouts/foundation/foundation.cjs +31 -0
- package/layouts/foundation/foundation.cjs.map +1 -0
- package/layouts/foundation/foundation.d.cts +9 -0
- package/layouts/foundation/foundation.d.ts +9 -0
- package/layouts/foundation/foundation.js +29 -0
- package/layouts/foundation/foundation.js.map +1 -0
- package/layouts/foundation.cjs +13 -0
- package/layouts/foundation.cjs.map +1 -0
- package/layouts/foundation.d.cts +2 -0
- package/layouts/foundation.d.ts +2 -0
- package/layouts/foundation.js +3 -0
- package/layouts/foundation.js.map +1 -0
- package/layouts/public.cjs +28 -0
- package/layouts/public.cjs.map +1 -0
- package/layouts/public.d.cts +4 -0
- package/layouts/public.d.ts +4 -0
- package/layouts/public.js +5 -0
- package/layouts/public.js.map +1 -0
- package/layouts/sidebar/sidebar.cjs +43 -0
- package/layouts/sidebar/sidebar.cjs.map +1 -0
- package/layouts/sidebar/sidebar.d.cts +13 -0
- package/layouts/sidebar/sidebar.d.ts +13 -0
- package/layouts/sidebar/sidebar.js +37 -0
- package/layouts/sidebar/sidebar.js.map +1 -0
- package/layouts/sidebar.cjs +13 -0
- package/layouts/sidebar.cjs.map +1 -0
- package/layouts/sidebar.d.cts +3 -0
- package/layouts/sidebar.d.ts +3 -0
- package/layouts/sidebar.js +3 -0
- package/layouts/sidebar.js.map +1 -0
- package/layouts.cjs +22 -94
- package/layouts.cjs.map +1 -1
- package/layouts.d.cts +4 -25
- package/layouts.d.ts +4 -25
- package/layouts.js +3 -94
- package/layouts.js.map +1 -1
- package/lib/naming.cjs +45 -0
- package/lib/naming.cjs.map +1 -0
- package/lib/naming.d.cts +11 -0
- package/lib/naming.d.ts +11 -0
- package/lib/naming.js +35 -0
- package/lib/naming.js.map +1 -0
- package/lib/resolve-asset.cjs +17 -0
- package/lib/resolve-asset.cjs.map +1 -0
- package/lib/resolve-asset.d.cts +3 -0
- package/lib/resolve-asset.d.ts +3 -0
- package/lib/resolve-asset.js +14 -0
- package/lib/resolve-asset.js.map +1 -0
- package/package.json +1 -1
- package/patterns/footer/footer.cjs +23 -0
- package/patterns/footer/footer.cjs.map +1 -0
- package/patterns/footer/footer.d.cts +10 -0
- package/patterns/footer/footer.d.ts +10 -0
- package/patterns/footer/footer.js +21 -0
- package/patterns/footer/footer.js.map +1 -0
- package/patterns/footer.cjs +13 -0
- package/patterns/footer.cjs.map +1 -0
- package/patterns/footer.d.cts +2 -0
- package/patterns/footer.d.ts +2 -0
- package/patterns/footer.js +3 -0
- package/patterns/footer.js.map +1 -0
- package/patterns/header/header.cjs +33 -0
- package/patterns/header/header.cjs.map +1 -0
- package/patterns/header/header.d.cts +10 -0
- package/patterns/header/header.d.ts +10 -0
- package/patterns/header/header.js +31 -0
- package/patterns/header/header.js.map +1 -0
- package/patterns/header.cjs +13 -0
- package/patterns/header.cjs.map +1 -0
- package/patterns/header.d.cts +2 -0
- package/patterns/header.d.ts +2 -0
- package/patterns/header.js +3 -0
- package/patterns/header.js.map +1 -0
- package/patterns/public.cjs +28 -0
- package/patterns/public.cjs.map +1 -0
- package/patterns/public.d.cts +4 -0
- package/patterns/public.d.ts +4 -0
- package/patterns/public.js +5 -0
- package/patterns/public.js.map +1 -0
- package/patterns/screen-header/screen-header.cjs +34 -0
- package/patterns/screen-header/screen-header.cjs.map +1 -0
- package/patterns/screen-header/screen-header.d.cts +11 -0
- package/patterns/screen-header/screen-header.d.ts +11 -0
- package/patterns/screen-header/screen-header.js +32 -0
- package/patterns/screen-header/screen-header.js.map +1 -0
- package/patterns/screen-header.cjs +13 -0
- package/patterns/screen-header.cjs.map +1 -0
- package/patterns/screen-header.d.cts +2 -0
- package/patterns/screen-header.d.ts +2 -0
- package/patterns/screen-header.js +3 -0
- package/patterns/screen-header.js.map +1 -0
- package/patterns.cjs +22 -83
- package/patterns.cjs.map +1 -1
- package/patterns.d.cts +4 -25
- package/patterns.d.ts +4 -25
- package/patterns.js +3 -83
- package/patterns.js.map +1 -1
- package/tokens.cjs +5 -18087
- package/tokens.cjs.map +1 -1
- package/tokens.js +1 -18090
- package/tokens.js.map +1 -1
- package/types-PU1522Kr.d.cts +57 -0
- package/types-PU1522Kr.d.ts +57 -0
- package/assets/src/components/logo/assets/logo-symbol.svg +0 -20
- package/assets/src/components/logo/assets/logo-wordmark.svg +0 -3
- package/assets/src/icons/assets/sound-off.svg +0 -3
- /package/{assets/components/logo → components/logo/assets}/logo-symbol.svg +0 -0
- /package/{assets/components/logo → components/logo/assets}/logo-wordmark.svg +0 -0
- /package/{assets/icons → icons/assets}/sound-off.svg +0 -0
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
require('./button-icon.css');
|
|
5
|
+
var classnames = require('../helpers/classnames');
|
|
6
|
+
var Icon = require('../../icons/icon');
|
|
7
|
+
|
|
8
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
9
|
+
|
|
10
|
+
var Icon__default = /*#__PURE__*/_interopDefault(Icon);
|
|
11
|
+
|
|
12
|
+
const ButtonIcon = ({
|
|
13
|
+
state = "default",
|
|
14
|
+
icon,
|
|
15
|
+
label,
|
|
16
|
+
className = "",
|
|
17
|
+
disabled = false,
|
|
18
|
+
...props
|
|
19
|
+
}) => {
|
|
20
|
+
const isDisabled = disabled || state === "disabled";
|
|
21
|
+
const classes = classnames.classnames("button-icon", className, {
|
|
22
|
+
"button-icon--disabled": isDisabled
|
|
23
|
+
});
|
|
24
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
25
|
+
"button",
|
|
26
|
+
{
|
|
27
|
+
className: classes,
|
|
28
|
+
disabled: isDisabled,
|
|
29
|
+
"aria-label": label,
|
|
30
|
+
title: label,
|
|
31
|
+
...props,
|
|
32
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
33
|
+
Icon__default.default,
|
|
34
|
+
{
|
|
35
|
+
name: icon,
|
|
36
|
+
className: "button-icon__icon",
|
|
37
|
+
"aria-hidden": true,
|
|
38
|
+
focusable: false
|
|
39
|
+
}
|
|
40
|
+
)
|
|
41
|
+
}
|
|
42
|
+
);
|
|
43
|
+
};
|
|
44
|
+
var button_icon_default = ButtonIcon;
|
|
45
|
+
|
|
46
|
+
module.exports = button_icon_default;
|
|
47
|
+
//# sourceMappingURL=button-icon.cjs.map
|
|
48
|
+
//# sourceMappingURL=button-icon.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/button-icon/button-icon.tsx"],"names":["classnames","jsx","Icon"],"mappings":";;;;;;;;;;;AAaA,MAAM,aAAwC,CAAC;AAAA,EAC7C,KAAA,GAAQ,SAAA;AAAA,EACR,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,UAAA,GACJ,YACA,KAAA,KAAU,UAAA;AAEZ,EAAA,MAAM,OAAA,GAAUA,qBAAA,CAAW,aAAA,EAAe,SAAA,EAAW;AAAA,IACnD,uBAAA,EAAyB;AAAA,GAC1B,CAAA;AAED,EAAA,uBACEC,cAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,QAAA,EAAU,UAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,KAAA,EAAO,KAAA;AAAA,MACN,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA;AAAA,QAACC,qBAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,IAAA;AAAA,UACN,SAAA,EAAU,mBAAA;AAAA,UACV,aAAA,EAAW,IAAA;AAAA,UACX,SAAA,EAAW;AAAA;AAAA;AACb;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,mBAAA,GAAQ","file":"button-icon.cjs","sourcesContent":["import React from 'react';\nimport './button-icon.css';\nimport { classnames } from '../helpers/classnames';\nimport Icon from '../../icons/icon';\nimport type { IconName } from '../../icons/types';\n\nexport interface ButtonIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon: IconName;\n state?: 'default' | 'disabled';\n label: string;\n}\n\nconst ButtonIcon: React.FC<ButtonIconProps> = ({\n state = 'default',\n icon,\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const isDisabled =\n disabled ||\n state === 'disabled';\n\n const classes = classnames('button-icon', className, {\n 'button-icon--disabled': isDisabled,\n });\n\n return (\n <button\n className={classes}\n disabled={isDisabled}\n aria-label={label}\n title={label}\n {...props}\n >\n <Icon\n name={icon}\n className=\"button-icon__icon\"\n aria-hidden\n focusable={false}\n />\n </button>\n );\n};\n\nexport default ButtonIcon;"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { a as IconName } from '../../types-PU1522Kr.cjs';
|
|
3
|
+
|
|
4
|
+
interface ButtonIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
|
+
icon: IconName;
|
|
6
|
+
state?: 'default' | 'disabled';
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
declare const ButtonIcon: React.FC<ButtonIconProps>;
|
|
10
|
+
|
|
11
|
+
export { type ButtonIconProps, ButtonIcon as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { a as IconName } from '../../types-PU1522Kr.js';
|
|
3
|
+
|
|
4
|
+
interface ButtonIconProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
5
|
+
icon: IconName;
|
|
6
|
+
state?: 'default' | 'disabled';
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
declare const ButtonIcon: React.FC<ButtonIconProps>;
|
|
10
|
+
|
|
11
|
+
export { type ButtonIconProps, ButtonIcon as default };
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import './button-icon.css';
|
|
3
|
+
import { classnames } from '../helpers/classnames';
|
|
4
|
+
import Icon from '../../icons/icon';
|
|
5
|
+
|
|
6
|
+
const ButtonIcon = ({
|
|
7
|
+
state = "default",
|
|
8
|
+
icon,
|
|
9
|
+
label,
|
|
10
|
+
className = "",
|
|
11
|
+
disabled = false,
|
|
12
|
+
...props
|
|
13
|
+
}) => {
|
|
14
|
+
const isDisabled = disabled || state === "disabled";
|
|
15
|
+
const classes = classnames("button-icon", className, {
|
|
16
|
+
"button-icon--disabled": isDisabled
|
|
17
|
+
});
|
|
18
|
+
return /* @__PURE__ */ jsx(
|
|
19
|
+
"button",
|
|
20
|
+
{
|
|
21
|
+
className: classes,
|
|
22
|
+
disabled: isDisabled,
|
|
23
|
+
"aria-label": label,
|
|
24
|
+
title: label,
|
|
25
|
+
...props,
|
|
26
|
+
children: /* @__PURE__ */ jsx(
|
|
27
|
+
Icon,
|
|
28
|
+
{
|
|
29
|
+
name: icon,
|
|
30
|
+
className: "button-icon__icon",
|
|
31
|
+
"aria-hidden": true,
|
|
32
|
+
focusable: false
|
|
33
|
+
}
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
};
|
|
38
|
+
var button_icon_default = ButtonIcon;
|
|
39
|
+
|
|
40
|
+
export { button_icon_default as default };
|
|
41
|
+
//# sourceMappingURL=button-icon.js.map
|
|
42
|
+
//# sourceMappingURL=button-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/button-icon/button-icon.tsx"],"names":[],"mappings":";;;;;AAaA,MAAM,aAAwC,CAAC;AAAA,EAC7C,KAAA,GAAQ,SAAA;AAAA,EACR,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,UAAA,GACJ,YACA,KAAA,KAAU,UAAA;AAEZ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,aAAA,EAAe,SAAA,EAAW;AAAA,IACnD,uBAAA,EAAyB;AAAA,GAC1B,CAAA;AAED,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACX,QAAA,EAAU,UAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,KAAA,EAAO,KAAA;AAAA,MACN,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAA,GAAA;AAAA,QAAC,IAAA;AAAA,QAAA;AAAA,UACC,IAAA,EAAM,IAAA;AAAA,UACN,SAAA,EAAU,mBAAA;AAAA,UACV,aAAA,EAAW,IAAA;AAAA,UACX,SAAA,EAAW;AAAA;AAAA;AACb;AAAA,GACF;AAEJ,CAAA;AAEA,IAAO,mBAAA,GAAQ","file":"button-icon.js","sourcesContent":["import React from 'react';\nimport './button-icon.css';\nimport { classnames } from '../helpers/classnames';\nimport Icon from '../../icons/icon';\nimport type { IconName } from '../../icons/types';\n\nexport interface ButtonIconProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n icon: IconName;\n state?: 'default' | 'disabled';\n label: string;\n}\n\nconst ButtonIcon: React.FC<ButtonIconProps> = ({\n state = 'default',\n icon,\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const isDisabled =\n disabled ||\n state === 'disabled';\n\n const classes = classnames('button-icon', className, {\n 'button-icon--disabled': isDisabled,\n });\n\n return (\n <button\n className={classes}\n disabled={isDisabled}\n aria-label={label}\n title={label}\n {...props}\n >\n <Icon\n name={icon}\n className=\"button-icon__icon\"\n aria-hidden\n focusable={false}\n />\n </button>\n );\n};\n\nexport default ButtonIcon;"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var buttonIcon = require('./button-icon');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var buttonIcon__default = /*#__PURE__*/_interopDefault(buttonIcon);
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module.exports = buttonIcon__default.default;
|
|
12
|
+
//# sourceMappingURL=button-icon.cjs.map
|
|
13
|
+
//# sourceMappingURL=button-icon.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"button-icon.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"button-icon.js","sourcesContent":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var button = require('./button');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var button__default = /*#__PURE__*/_interopDefault(button);
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module.exports = button__default.default;
|
|
12
|
+
//# sourceMappingURL=button.cjs.map
|
|
13
|
+
//# sourceMappingURL=button.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"button.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"button.js","sourcesContent":[]}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
require('./card.css');
|
|
5
|
+
var classnames = require('../helpers/classnames');
|
|
6
|
+
|
|
7
|
+
const Card = ({
|
|
8
|
+
state = "default",
|
|
9
|
+
heading,
|
|
10
|
+
description,
|
|
11
|
+
actions,
|
|
12
|
+
className = "",
|
|
13
|
+
children,
|
|
14
|
+
...props
|
|
15
|
+
}) => {
|
|
16
|
+
const classes = classnames.classnames("card", className, {});
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
18
|
+
"section",
|
|
19
|
+
{
|
|
20
|
+
className: classes,
|
|
21
|
+
...props,
|
|
22
|
+
children: [
|
|
23
|
+
(heading || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "card__header", children: [
|
|
24
|
+
heading && /* @__PURE__ */ jsxRuntime.jsx("h2", { className: "card__heading", children: heading }),
|
|
25
|
+
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "card__description", children: description })
|
|
26
|
+
] }),
|
|
27
|
+
children && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card__content", children }),
|
|
28
|
+
actions && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "card__actions", children: actions })
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
);
|
|
32
|
+
};
|
|
33
|
+
var card_default = Card;
|
|
34
|
+
|
|
35
|
+
module.exports = card_default;
|
|
36
|
+
//# sourceMappingURL=card.cjs.map
|
|
37
|
+
//# sourceMappingURL=card.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/card/card.tsx"],"names":["classnames","jsxs","jsx"],"mappings":";;;;;;AAYA,MAAM,OAA4B,CAAC;AAAA,EACjC,KAAA,GAAQ,SAAA;AAAA,EACR,OAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAUA,qBAAA,CAAW,MAAA,EAAQ,SAAA,EAAW,EAAE,CAAA;AAEhD,EAAA,uBACEC,eAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEF,QAAA,EAAA;AAAA,QAAA,CAAA,OAAA,IAAW,WAAA,qBACXA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EACZ,QAAA,EAAA;AAAA,UAAA,OAAA,oBACCC,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,eAAA,EACX,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,UAGD,WAAA,oBACCA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBACV,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QAGD,QAAA,oBACCA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBACZ,QAAA,EACH,CAAA;AAAA,QAGD,OAAA,oBACCA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBACZ,QAAA,EAAA,OAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ","file":"card.cjs","sourcesContent":["import React from 'react';\nimport './card.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CardProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default';\n heading?: React.ReactNode;\n description?: React.ReactNode;\n actions?: React.ReactNode;\n}\n\nconst Card: React.FC<CardProps> = ({\n state = 'default',\n heading,\n description,\n actions,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('card', className, {});\n\n return (\n <section\n className={classes}\n {...props}\n >\n {(heading || description) && (\n <div className=\"card__header\">\n {heading && (\n <h2 className=\"card__heading\">\n {heading}\n </h2>\n )}\n\n {description && (\n <p className=\"card__description\">\n {description}\n </p>\n )}\n </div>\n )}\n\n {children && (\n <div className=\"card__content\">\n {children}\n </div>\n )}\n\n {actions && (\n <div className=\"card__actions\">\n {actions}\n </div>\n )}\n </section>\n );\n};\n\nexport default Card;"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
interface CardProps extends React.HTMLAttributes<HTMLElement> {
|
|
4
|
+
state?: 'default';
|
|
5
|
+
heading?: React.ReactNode;
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
actions?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
declare const Card: React.FC<CardProps>;
|
|
10
|
+
|
|
11
|
+
export { type CardProps, Card as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
|
|
3
|
+
interface CardProps extends React.HTMLAttributes<HTMLElement> {
|
|
4
|
+
state?: 'default';
|
|
5
|
+
heading?: React.ReactNode;
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
actions?: React.ReactNode;
|
|
8
|
+
}
|
|
9
|
+
declare const Card: React.FC<CardProps>;
|
|
10
|
+
|
|
11
|
+
export { type CardProps, Card as default };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import './card.css';
|
|
3
|
+
import { classnames } from '../helpers/classnames';
|
|
4
|
+
|
|
5
|
+
const Card = ({
|
|
6
|
+
state = "default",
|
|
7
|
+
heading,
|
|
8
|
+
description,
|
|
9
|
+
actions,
|
|
10
|
+
className = "",
|
|
11
|
+
children,
|
|
12
|
+
...props
|
|
13
|
+
}) => {
|
|
14
|
+
const classes = classnames("card", className, {});
|
|
15
|
+
return /* @__PURE__ */ jsxs(
|
|
16
|
+
"section",
|
|
17
|
+
{
|
|
18
|
+
className: classes,
|
|
19
|
+
...props,
|
|
20
|
+
children: [
|
|
21
|
+
(heading || description) && /* @__PURE__ */ jsxs("div", { className: "card__header", children: [
|
|
22
|
+
heading && /* @__PURE__ */ jsx("h2", { className: "card__heading", children: heading }),
|
|
23
|
+
description && /* @__PURE__ */ jsx("p", { className: "card__description", children: description })
|
|
24
|
+
] }),
|
|
25
|
+
children && /* @__PURE__ */ jsx("div", { className: "card__content", children }),
|
|
26
|
+
actions && /* @__PURE__ */ jsx("div", { className: "card__actions", children: actions })
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
);
|
|
30
|
+
};
|
|
31
|
+
var card_default = Card;
|
|
32
|
+
|
|
33
|
+
export { card_default as default };
|
|
34
|
+
//# sourceMappingURL=card.js.map
|
|
35
|
+
//# sourceMappingURL=card.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/card/card.tsx"],"names":[],"mappings":";;;;AAYA,MAAM,OAA4B,CAAC;AAAA,EACjC,KAAA,GAAQ,SAAA;AAAA,EACR,OAAA;AAAA,EACA,WAAA;AAAA,EACA,OAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,MAAA,EAAQ,SAAA,EAAW,EAAE,CAAA;AAEhD,EAAA,uBACE,IAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,OAAA;AAAA,MACV,GAAG,KAAA;AAAA,MAEF,QAAA,EAAA;AAAA,QAAA,CAAA,OAAA,IAAW,WAAA,qBACX,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,cAAA,EACZ,QAAA,EAAA;AAAA,UAAA,OAAA,oBACC,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,eAAA,EACX,QAAA,EAAA,OAAA,EACH,CAAA;AAAA,UAGD,WAAA,oBACC,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,qBACV,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QAGD,QAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBACZ,QAAA,EACH,CAAA;AAAA,QAGD,OAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iBACZ,QAAA,EAAA,OAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ,CAAA;AAEA,IAAO,YAAA,GAAQ","file":"card.js","sourcesContent":["import React from 'react';\nimport './card.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CardProps\n extends React.HTMLAttributes<HTMLElement> {\n state?: 'default';\n heading?: React.ReactNode;\n description?: React.ReactNode;\n actions?: React.ReactNode;\n}\n\nconst Card: React.FC<CardProps> = ({\n state = 'default',\n heading,\n description,\n actions,\n className = '',\n children,\n ...props\n}) => {\n const classes = classnames('card', className, {});\n\n return (\n <section\n className={classes}\n {...props}\n >\n {(heading || description) && (\n <div className=\"card__header\">\n {heading && (\n <h2 className=\"card__heading\">\n {heading}\n </h2>\n )}\n\n {description && (\n <p className=\"card__description\">\n {description}\n </p>\n )}\n </div>\n )}\n\n {children && (\n <div className=\"card__content\">\n {children}\n </div>\n )}\n\n {actions && (\n <div className=\"card__actions\">\n {actions}\n </div>\n )}\n </section>\n );\n};\n\nexport default Card;"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var card = require('./card');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var card__default = /*#__PURE__*/_interopDefault(card);
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module.exports = card__default.default;
|
|
12
|
+
//# sourceMappingURL=card.cjs.map
|
|
13
|
+
//# sourceMappingURL=card.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"card.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"card.js","sourcesContent":[]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var classnames = require('../helpers/classnames');
|
|
5
|
+
|
|
6
|
+
const Checkbox = ({
|
|
7
|
+
label,
|
|
8
|
+
className = "",
|
|
9
|
+
disabled = false,
|
|
10
|
+
...props
|
|
11
|
+
}) => {
|
|
12
|
+
const classes = classnames.classnames(
|
|
13
|
+
"checkbox",
|
|
14
|
+
className,
|
|
15
|
+
{
|
|
16
|
+
"checkbox--disabled": disabled
|
|
17
|
+
}
|
|
18
|
+
);
|
|
19
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("label", { className: classes, children: [
|
|
20
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
21
|
+
"input",
|
|
22
|
+
{
|
|
23
|
+
className: "checkbox__input",
|
|
24
|
+
type: "checkbox",
|
|
25
|
+
disabled,
|
|
26
|
+
...props
|
|
27
|
+
}
|
|
28
|
+
),
|
|
29
|
+
label && /* @__PURE__ */ jsxRuntime.jsx("span", { className: "checkbox__label", children: label })
|
|
30
|
+
] });
|
|
31
|
+
};
|
|
32
|
+
var checkbox_default = Checkbox;
|
|
33
|
+
|
|
34
|
+
module.exports = checkbox_default;
|
|
35
|
+
//# sourceMappingURL=checkbox.cjs.map
|
|
36
|
+
//# sourceMappingURL=checkbox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/checkbox/checkbox.tsx"],"names":["classnames","jsxs","jsx"],"mappings":";;;;;AASA,MAAM,WAAoC,CAAC;AAAA,EACzC,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAUA,qBAAA;AAAA,IACd,UAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,oBAAA,EAAsB;AAAA;AACxB,GACF;AAEA,EAAA,uBACEC,eAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,OAAA,EAChB,QAAA,EAAA;AAAA,oBAAAC,cAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,iBAAA;AAAA,QACV,IAAA,EAAK,UAAA;AAAA,QACL,QAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,IACC,KAAA,oBAASA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAmB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACrD,CAAA;AAEJ,CAAA;AAEA,IAAO,gBAAA,GAAQ","file":"checkbox.cjs","sourcesContent":["import React from 'react';\n//import './checkbox.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CheckboxProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\nconst Checkbox: React.FC<CheckboxProps> = ({\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames(\n 'checkbox',\n className,\n {\n 'checkbox--disabled': disabled,\n }\n );\n\n return (\n <label className={classes}>\n <input\n className=\"checkbox__input\"\n type=\"checkbox\"\n disabled={disabled}\n {...props}\n />\n {label && <span className=\"checkbox__label\">{label}</span>}\n </label>\n );\n};\n\nexport default Checkbox;"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { classnames } from '../helpers/classnames';
|
|
3
|
+
|
|
4
|
+
const Checkbox = ({
|
|
5
|
+
label,
|
|
6
|
+
className = "",
|
|
7
|
+
disabled = false,
|
|
8
|
+
...props
|
|
9
|
+
}) => {
|
|
10
|
+
const classes = classnames(
|
|
11
|
+
"checkbox",
|
|
12
|
+
className,
|
|
13
|
+
{
|
|
14
|
+
"checkbox--disabled": disabled
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
return /* @__PURE__ */ jsxs("label", { className: classes, children: [
|
|
18
|
+
/* @__PURE__ */ jsx(
|
|
19
|
+
"input",
|
|
20
|
+
{
|
|
21
|
+
className: "checkbox__input",
|
|
22
|
+
type: "checkbox",
|
|
23
|
+
disabled,
|
|
24
|
+
...props
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
label && /* @__PURE__ */ jsx("span", { className: "checkbox__label", children: label })
|
|
28
|
+
] });
|
|
29
|
+
};
|
|
30
|
+
var checkbox_default = Checkbox;
|
|
31
|
+
|
|
32
|
+
export { checkbox_default as default };
|
|
33
|
+
//# sourceMappingURL=checkbox.js.map
|
|
34
|
+
//# sourceMappingURL=checkbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/checkbox/checkbox.tsx"],"names":[],"mappings":";;;AASA,MAAM,WAAoC,CAAC;AAAA,EACzC,KAAA;AAAA,EACA,SAAA,GAAY,EAAA;AAAA,EACZ,QAAA,GAAW,KAAA;AAAA,EACX,GAAG;AACL,CAAA,KAAM;AACJ,EAAA,MAAM,OAAA,GAAU,UAAA;AAAA,IACd,UAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,MACE,oBAAA,EAAsB;AAAA;AACxB,GACF;AAEA,EAAA,uBACE,IAAA,CAAC,OAAA,EAAA,EAAM,SAAA,EAAW,OAAA,EAChB,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAU,iBAAA;AAAA,QACV,IAAA,EAAK,UAAA;AAAA,QACL,QAAA;AAAA,QACC,GAAG;AAAA;AAAA,KACN;AAAA,IACC,KAAA,oBAAS,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAmB,QAAA,EAAA,KAAA,EAAM;AAAA,GAAA,EACrD,CAAA;AAEJ,CAAA;AAEA,IAAO,gBAAA,GAAQ","file":"checkbox.js","sourcesContent":["import React from 'react';\n//import './checkbox.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface CheckboxProps\n extends React.InputHTMLAttributes<HTMLInputElement> {\n label?: React.ReactNode;\n}\n\nconst Checkbox: React.FC<CheckboxProps> = ({\n label,\n className = '',\n disabled = false,\n ...props\n}) => {\n const classes = classnames(\n 'checkbox',\n className,\n {\n 'checkbox--disabled': disabled,\n }\n );\n\n return (\n <label className={classes}>\n <input\n className=\"checkbox__input\"\n type=\"checkbox\"\n disabled={disabled}\n {...props}\n />\n {label && <span className=\"checkbox__label\">{label}</span>}\n </label>\n );\n};\n\nexport default Checkbox;"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var checkbox = require('./checkbox');
|
|
4
|
+
|
|
5
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
6
|
+
|
|
7
|
+
var checkbox__default = /*#__PURE__*/_interopDefault(checkbox);
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
module.exports = checkbox__default.default;
|
|
12
|
+
//# sourceMappingURL=checkbox.cjs.map
|
|
13
|
+
//# sourceMappingURL=checkbox.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"checkbox.cjs","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"checkbox.js","sourcesContent":[]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
require('./dropdown.css');
|
|
6
|
+
var classnames = require('../helpers/classnames');
|
|
7
|
+
|
|
8
|
+
const Dropdown = ({
|
|
9
|
+
options,
|
|
10
|
+
value,
|
|
11
|
+
defaultValue,
|
|
12
|
+
label = "Dropdown",
|
|
13
|
+
align = "bottom-start",
|
|
14
|
+
trigger,
|
|
15
|
+
onChange,
|
|
16
|
+
className = "",
|
|
17
|
+
...props
|
|
18
|
+
}) => {
|
|
19
|
+
const dropdownRef = react.useRef(null);
|
|
20
|
+
const [isOpen, setIsOpen] = react.useState(false);
|
|
21
|
+
const [internalValue, setInternalValue] = react.useState(defaultValue);
|
|
22
|
+
const selectedValue = value ?? internalValue;
|
|
23
|
+
const classes = classnames.classnames("dropdown", className, {
|
|
24
|
+
"dropdown--open": isOpen,
|
|
25
|
+
"dropdown--top-start": align === "top-start",
|
|
26
|
+
"dropdown--top-end": align === "top-end",
|
|
27
|
+
"dropdown--bottom-start": align === "bottom-start",
|
|
28
|
+
"dropdown--bottom-end": align === "bottom-end"
|
|
29
|
+
});
|
|
30
|
+
const triggerElement = trigger;
|
|
31
|
+
const triggerClasses = classnames.classnames(
|
|
32
|
+
"dropdown__trigger",
|
|
33
|
+
triggerElement.props.className
|
|
34
|
+
);
|
|
35
|
+
const resolvedTrigger = react.cloneElement(triggerElement, {
|
|
36
|
+
className: triggerClasses,
|
|
37
|
+
"aria-haspopup": "menu",
|
|
38
|
+
"aria-expanded": isOpen,
|
|
39
|
+
onClick: (event) => {
|
|
40
|
+
triggerElement.props.onClick?.(event);
|
|
41
|
+
setIsOpen((currentValue) => !currentValue);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
const handleOptionClick = (option) => {
|
|
45
|
+
if (option.disabled) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
if (value === void 0) {
|
|
49
|
+
setInternalValue(option.value);
|
|
50
|
+
}
|
|
51
|
+
onChange?.(option.value);
|
|
52
|
+
setIsOpen(false);
|
|
53
|
+
};
|
|
54
|
+
react.useEffect(() => {
|
|
55
|
+
if (!isOpen) {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
const handleDocumentClick = (event) => {
|
|
59
|
+
const dropdown = dropdownRef.current;
|
|
60
|
+
if (!dropdown || dropdown.contains(event.target)) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
setIsOpen(false);
|
|
64
|
+
};
|
|
65
|
+
const handleDocumentKeyDown = (event) => {
|
|
66
|
+
if (event.key === "Escape") {
|
|
67
|
+
setIsOpen(false);
|
|
68
|
+
}
|
|
69
|
+
};
|
|
70
|
+
document.addEventListener("mousedown", handleDocumentClick);
|
|
71
|
+
document.addEventListener("keydown", handleDocumentKeyDown);
|
|
72
|
+
return () => {
|
|
73
|
+
document.removeEventListener("mousedown", handleDocumentClick);
|
|
74
|
+
document.removeEventListener("keydown", handleDocumentKeyDown);
|
|
75
|
+
};
|
|
76
|
+
}, [isOpen]);
|
|
77
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
78
|
+
"div",
|
|
79
|
+
{
|
|
80
|
+
ref: dropdownRef,
|
|
81
|
+
className: classes,
|
|
82
|
+
...props,
|
|
83
|
+
children: [
|
|
84
|
+
resolvedTrigger,
|
|
85
|
+
isOpen && /* @__PURE__ */ jsxRuntime.jsx(
|
|
86
|
+
"div",
|
|
87
|
+
{
|
|
88
|
+
className: "dropdown__menu",
|
|
89
|
+
role: "menu",
|
|
90
|
+
"aria-label": label,
|
|
91
|
+
children: options.map((option) => {
|
|
92
|
+
const isSelected = option.value === selectedValue;
|
|
93
|
+
const itemClasses = classnames.classnames("dropdown__item", {
|
|
94
|
+
"dropdown__item--selected": isSelected,
|
|
95
|
+
"dropdown__item--disabled": option.disabled
|
|
96
|
+
});
|
|
97
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
98
|
+
"button",
|
|
99
|
+
{
|
|
100
|
+
className: itemClasses,
|
|
101
|
+
type: "button",
|
|
102
|
+
role: "menuitemradio",
|
|
103
|
+
"aria-checked": isSelected,
|
|
104
|
+
"aria-disabled": option.disabled,
|
|
105
|
+
disabled: option.disabled,
|
|
106
|
+
onClick: () => handleOptionClick(option),
|
|
107
|
+
children: option.label
|
|
108
|
+
},
|
|
109
|
+
option.value
|
|
110
|
+
);
|
|
111
|
+
})
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
]
|
|
115
|
+
}
|
|
116
|
+
);
|
|
117
|
+
};
|
|
118
|
+
var dropdown_default = Dropdown;
|
|
119
|
+
|
|
120
|
+
module.exports = dropdown_default;
|
|
121
|
+
//# sourceMappingURL=dropdown.cjs.map
|
|
122
|
+
//# sourceMappingURL=dropdown.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/components/dropdown/dropdown.tsx"],"names":["useRef","useState","classnames","cloneElement","useEffect","jsxs","jsx"],"mappings":"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","file":"dropdown.cjs","sourcesContent":["import React, {\n cloneElement,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport './dropdown.css';\nimport { classnames } from '../helpers/classnames';\n\nexport interface DropdownOption {\n value: string;\n label: string;\n disabled?: boolean;\n}\n\ntype DropdownTriggerProps = {\n className?: string;\n onClick?: (event: React.MouseEvent) => void;\n 'aria-haspopup'?: string;\n 'aria-expanded'?: boolean;\n};\n\ntype DropdownTriggerElement =\n React.ReactElement<DropdownTriggerProps>;\n\nexport interface DropdownProps\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {\n options: DropdownOption[];\n value?: string;\n defaultValue?: string;\n label?: string;\n align?: 'top-start' | 'top-end' | 'bottom-start' | 'bottom-end';\n trigger: DropdownTriggerElement;\n onChange?: (value: string) => void;\n}\n\nconst Dropdown: React.FC<DropdownProps> = ({\n options,\n value,\n defaultValue,\n label = 'Dropdown',\n align = 'bottom-start',\n trigger,\n onChange,\n className = '',\n ...props\n}) => {\n const dropdownRef = useRef<HTMLDivElement>(null);\n\n const [isOpen, setIsOpen] = useState(false);\n const [internalValue, setInternalValue] = useState(defaultValue);\n\n const selectedValue =\n value ?? internalValue;\n\n const classes = classnames('dropdown', className, {\n 'dropdown--open': isOpen,\n 'dropdown--top-start': align === 'top-start',\n 'dropdown--top-end': align === 'top-end',\n 'dropdown--bottom-start': align === 'bottom-start',\n 'dropdown--bottom-end': align === 'bottom-end',\n });\n\n const triggerElement =\n trigger as DropdownTriggerElement;\n\n const triggerClasses = classnames(\n 'dropdown__trigger',\n triggerElement.props.className,\n );\n\n const resolvedTrigger = cloneElement(triggerElement, {\n className: triggerClasses,\n 'aria-haspopup': 'menu',\n 'aria-expanded': isOpen,\n onClick: (event: React.MouseEvent) => {\n triggerElement.props.onClick?.(event);\n\n setIsOpen((currentValue) => !currentValue);\n },\n });\n\n const handleOptionClick = (option: DropdownOption) => {\n if (option.disabled) {\n return;\n }\n\n if (value === undefined) {\n setInternalValue(option.value);\n }\n\n onChange?.(option.value);\n setIsOpen(false);\n };\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const handleDocumentClick = (event: MouseEvent) => {\n const dropdown = dropdownRef.current;\n\n if (!dropdown || dropdown.contains(event.target as Node)) {\n return;\n }\n\n setIsOpen(false);\n };\n\n const handleDocumentKeyDown = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n setIsOpen(false);\n }\n };\n\n document.addEventListener('mousedown', handleDocumentClick);\n document.addEventListener('keydown', handleDocumentKeyDown);\n\n return () => {\n document.removeEventListener('mousedown', handleDocumentClick);\n document.removeEventListener('keydown', handleDocumentKeyDown);\n };\n }, [isOpen]);\n\n return (\n <div\n ref={dropdownRef}\n className={classes}\n {...props}\n >\n {resolvedTrigger}\n\n {isOpen && (\n <div\n className=\"dropdown__menu\"\n role=\"menu\"\n aria-label={label}\n >\n {options.map((option) => {\n const isSelected =\n option.value === selectedValue;\n\n const itemClasses = classnames('dropdown__item', {\n 'dropdown__item--selected': isSelected,\n 'dropdown__item--disabled': option.disabled,\n });\n\n return (\n <button\n key={option.value}\n className={itemClasses}\n type=\"button\"\n role=\"menuitemradio\"\n aria-checked={isSelected}\n aria-disabled={option.disabled}\n disabled={option.disabled}\n onClick={() => handleOptionClick(option)}\n >\n {option.label}\n </button>\n );\n })}\n </div>\n )}\n </div>\n );\n};\n\nexport default Dropdown;"]}
|