@aiandralves/ai-ui 1.0.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 +0 -0
- package/aiandralves-ai-ui.d.ts +5 -0
- package/aiandrameira-ai-ui.d.ts +5 -0
- package/esm2022/aiandralves-ai-ui.js +5 -0
- package/esm2022/aiandralves-ai-ui.js.map +1 -0
- package/esm2022/aiandrameira-ai-ui.js +5 -0
- package/esm2022/aiandrameira-ai-ui.js.map +1 -0
- package/esm2022/index.js +4 -0
- package/esm2022/index.js.map +1 -0
- package/esm2022/lib/components/accordion/accordion.js +83 -0
- package/esm2022/lib/components/accordion/accordion.js.map +1 -0
- package/esm2022/lib/components/accordion/accordion.service.js +29 -0
- package/esm2022/lib/components/accordion/accordion.service.js.map +1 -0
- package/esm2022/lib/components/accordion/accordion.variants.js +32 -0
- package/esm2022/lib/components/accordion/accordion.variants.js.map +1 -0
- package/esm2022/lib/components/accordion/demo/accordion.js +16 -0
- package/esm2022/lib/components/accordion/demo/accordion.js.map +1 -0
- package/esm2022/lib/components/accordion/demo/default.js +63 -0
- package/esm2022/lib/components/accordion/demo/default.js.map +1 -0
- package/esm2022/lib/components/accordion/demo/single.js +63 -0
- package/esm2022/lib/components/accordion/demo/single.js.map +1 -0
- package/esm2022/lib/components/accordion/index.js +3 -0
- package/esm2022/lib/components/accordion/index.js.map +1 -0
- package/esm2022/lib/components/alert/alert.js +25 -0
- package/esm2022/lib/components/alert/alert.js.map +1 -0
- package/esm2022/lib/components/alert/alert.variants.js +23 -0
- package/esm2022/lib/components/alert/alert.variants.js.map +1 -0
- package/esm2022/lib/components/alert/demo/accent.js +29 -0
- package/esm2022/lib/components/alert/demo/accent.js.map +1 -0
- package/esm2022/lib/components/alert/demo/alert.js +42 -0
- package/esm2022/lib/components/alert/demo/alert.js.map +1 -0
- package/esm2022/lib/components/alert/demo/destructive.js +29 -0
- package/esm2022/lib/components/alert/demo/destructive.js.map +1 -0
- package/esm2022/lib/components/alert/demo/icon.js +29 -0
- package/esm2022/lib/components/alert/demo/icon.js.map +1 -0
- package/esm2022/lib/components/alert/demo/info.js +29 -0
- package/esm2022/lib/components/alert/demo/info.js.map +1 -0
- package/esm2022/lib/components/alert/demo/primary.js +38 -0
- package/esm2022/lib/components/alert/demo/primary.js.map +1 -0
- package/esm2022/lib/components/alert/demo/success.js +29 -0
- package/esm2022/lib/components/alert/demo/success.js.map +1 -0
- package/esm2022/lib/components/alert/demo/warning.js +29 -0
- package/esm2022/lib/components/alert/demo/warning.js.map +1 -0
- package/esm2022/lib/components/alert/index.js +3 -0
- package/esm2022/lib/components/alert/index.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.config.js +20 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.config.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.js +68 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.ref.js +93 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.ref.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.service.js +88 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.service.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.variants.js +3 -0
- package/esm2022/lib/components/alert-dialog/alert-dialog.variants.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/demo/alert-dialog.js +12 -0
- package/esm2022/lib/components/alert-dialog/demo/alert-dialog.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/demo/default.js +34 -0
- package/esm2022/lib/components/alert-dialog/demo/default.js.map +1 -0
- package/esm2022/lib/components/alert-dialog/index.js +6 -0
- package/esm2022/lib/components/alert-dialog/index.js.map +1 -0
- package/esm2022/lib/components/avatar/avatar-group.js +25 -0
- package/esm2022/lib/components/avatar/avatar-group.js.map +1 -0
- package/esm2022/lib/components/avatar/avatar.js +52 -0
- package/esm2022/lib/components/avatar/avatar.js.map +1 -0
- package/esm2022/lib/components/avatar/avatar.variants.js +44 -0
- package/esm2022/lib/components/avatar/avatar.variants.js.map +1 -0
- package/esm2022/lib/components/avatar/demo/avatar.js +27 -0
- package/esm2022/lib/components/avatar/demo/avatar.js.map +1 -0
- package/esm2022/lib/components/avatar/demo/default.js +38 -0
- package/esm2022/lib/components/avatar/demo/default.js.map +1 -0
- package/esm2022/lib/components/avatar/demo/shape.js +25 -0
- package/esm2022/lib/components/avatar/demo/shape.js.map +1 -0
- package/esm2022/lib/components/avatar/demo/size.js +33 -0
- package/esm2022/lib/components/avatar/demo/size.js.map +1 -0
- package/esm2022/lib/components/avatar/demo/status.js +29 -0
- package/esm2022/lib/components/avatar/demo/status.js.map +1 -0
- package/esm2022/lib/components/avatar/index.js +4 -0
- package/esm2022/lib/components/avatar/index.js.map +1 -0
- package/esm2022/lib/components/badge/badge.js +57 -0
- package/esm2022/lib/components/badge/badge.js.map +1 -0
- package/esm2022/lib/components/badge/badge.variants.js +117 -0
- package/esm2022/lib/components/badge/badge.variants.js.map +1 -0
- package/esm2022/lib/components/badge/demo/badge.js +37 -0
- package/esm2022/lib/components/badge/demo/badge.js.map +1 -0
- package/esm2022/lib/components/badge/demo/close.js +28 -0
- package/esm2022/lib/components/badge/demo/close.js.map +1 -0
- package/esm2022/lib/components/badge/demo/disabled.js +23 -0
- package/esm2022/lib/components/badge/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/badge/demo/fill.js +59 -0
- package/esm2022/lib/components/badge/demo/fill.js.map +1 -0
- package/esm2022/lib/components/badge/demo/icon.js +25 -0
- package/esm2022/lib/components/badge/demo/icon.js.map +1 -0
- package/esm2022/lib/components/badge/demo/shape.js +25 -0
- package/esm2022/lib/components/badge/demo/shape.js.map +1 -0
- package/esm2022/lib/components/badge/demo/variant.js +37 -0
- package/esm2022/lib/components/badge/demo/variant.js.map +1 -0
- package/esm2022/lib/components/badge/index.js +3 -0
- package/esm2022/lib/components/badge/index.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-content.js +30 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-content.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-item.js +31 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-item.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-link.js +33 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-link.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-list.js +31 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-list.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-page.js +30 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-page.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-separator.js +37 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb-separator.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.config.js +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.config.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.directive.js +21 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.directive.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.imports.js +8 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.imports.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.js +28 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.service.js +65 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.service.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.variants.js +88 -0
- package/esm2022/lib/components/breadcrumb/breadcrumb.variants.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/demo/breadcrumb.js +37 -0
- package/esm2022/lib/components/breadcrumb/demo/breadcrumb.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/demo/content.js +53 -0
- package/esm2022/lib/components/breadcrumb/demo/content.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/demo/custom-separator.js +62 -0
- package/esm2022/lib/components/breadcrumb/demo/custom-separator.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/demo/default.js +60 -0
- package/esm2022/lib/components/breadcrumb/demo/default.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/demo/directive.js +50 -0
- package/esm2022/lib/components/breadcrumb/demo/directive.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/demo/icon.js +72 -0
- package/esm2022/lib/components/breadcrumb/demo/icon.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/demo/router-link.js +53 -0
- package/esm2022/lib/components/breadcrumb/demo/router-link.js.map +1 -0
- package/esm2022/lib/components/breadcrumb/index.js +5 -0
- package/esm2022/lib/components/breadcrumb/index.js.map +1 -0
- package/esm2022/lib/components/button/button.js +64 -0
- package/esm2022/lib/components/button/button.js.map +1 -0
- package/esm2022/lib/components/button/button.variants.js +102 -0
- package/esm2022/lib/components/button/button.variants.js.map +1 -0
- package/esm2022/lib/components/button/demo/button.js +47 -0
- package/esm2022/lib/components/button/demo/button.js.map +1 -0
- package/esm2022/lib/components/button/demo/disabled.js +23 -0
- package/esm2022/lib/components/button/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/button/demo/fill.js +47 -0
- package/esm2022/lib/components/button/demo/fill.js.map +1 -0
- package/esm2022/lib/components/button/demo/full.js +23 -0
- package/esm2022/lib/components/button/demo/full.js.map +1 -0
- package/esm2022/lib/components/button/demo/icon.js +23 -0
- package/esm2022/lib/components/button/demo/icon.js.map +1 -0
- package/esm2022/lib/components/button/demo/loading.js +23 -0
- package/esm2022/lib/components/button/demo/loading.js.map +1 -0
- package/esm2022/lib/components/button/demo/shape.js +25 -0
- package/esm2022/lib/components/button/demo/shape.js.map +1 -0
- package/esm2022/lib/components/button/demo/size.js +29 -0
- package/esm2022/lib/components/button/demo/size.js.map +1 -0
- package/esm2022/lib/components/button/demo/variant.js +35 -0
- package/esm2022/lib/components/button/demo/variant.js.map +1 -0
- package/esm2022/lib/components/button/index.js +3 -0
- package/esm2022/lib/components/button/index.js.map +1 -0
- package/esm2022/lib/components/button-toggle/button-toggle.js +102 -0
- package/esm2022/lib/components/button-toggle/button-toggle.js.map +1 -0
- package/esm2022/lib/components/button-toggle/button-toggle.variants.js +36 -0
- package/esm2022/lib/components/button-toggle/button-toggle.variants.js.map +1 -0
- package/esm2022/lib/components/button-toggle/demo/button-toggle.js +22 -0
- package/esm2022/lib/components/button-toggle/demo/button-toggle.js.map +1 -0
- package/esm2022/lib/components/button-toggle/demo/default.js +36 -0
- package/esm2022/lib/components/button-toggle/demo/default.js.map +1 -0
- package/esm2022/lib/components/button-toggle/demo/disabled.js +28 -0
- package/esm2022/lib/components/button-toggle/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/button-toggle/demo/size.js +50 -0
- package/esm2022/lib/components/button-toggle/demo/size.js.map +1 -0
- package/esm2022/lib/components/button-toggle/index.js +3 -0
- package/esm2022/lib/components/button-toggle/index.js.map +1 -0
- package/esm2022/lib/components/card/card.js +26 -0
- package/esm2022/lib/components/card/card.js.map +1 -0
- package/esm2022/lib/components/card/card.variants.js +15 -0
- package/esm2022/lib/components/card/card.variants.js.map +1 -0
- package/esm2022/lib/components/card/demo/card.js +17 -0
- package/esm2022/lib/components/card/demo/card.js.map +1 -0
- package/esm2022/lib/components/card/demo/default.js +30 -0
- package/esm2022/lib/components/card/demo/default.js.map +1 -0
- package/esm2022/lib/components/card/demo/disabled.js +23 -0
- package/esm2022/lib/components/card/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/card/index.js +3 -0
- package/esm2022/lib/components/card/index.js.map +1 -0
- package/esm2022/lib/components/carousel/carousel.js +98 -0
- package/esm2022/lib/components/carousel/carousel.js.map +1 -0
- package/esm2022/lib/components/carousel/carousel.service.js +137 -0
- package/esm2022/lib/components/carousel/carousel.service.js.map +1 -0
- package/esm2022/lib/components/carousel/carousel.variants.js +62 -0
- package/esm2022/lib/components/carousel/carousel.variants.js.map +1 -0
- package/esm2022/lib/components/carousel/demo/autoplay.js +44 -0
- package/esm2022/lib/components/carousel/demo/autoplay.js.map +1 -0
- package/esm2022/lib/components/carousel/demo/carousel.js +21 -0
- package/esm2022/lib/components/carousel/demo/carousel.js.map +1 -0
- package/esm2022/lib/components/carousel/demo/default.js +46 -0
- package/esm2022/lib/components/carousel/demo/default.js.map +1 -0
- package/esm2022/lib/components/carousel/demo/loop.js +44 -0
- package/esm2022/lib/components/carousel/demo/loop.js.map +1 -0
- package/esm2022/lib/components/carousel/index.js +3 -0
- package/esm2022/lib/components/carousel/index.js.map +1 -0
- package/esm2022/lib/components/command/command-empty.js +42 -0
- package/esm2022/lib/components/command/command-empty.js.map +1 -0
- package/esm2022/lib/components/command/command-input.js +137 -0
- package/esm2022/lib/components/command/command-input.js.map +1 -0
- package/esm2022/lib/components/command/command-item-group.js +72 -0
- package/esm2022/lib/components/command/command-item-group.js.map +1 -0
- package/esm2022/lib/components/command/command-item.js +122 -0
- package/esm2022/lib/components/command/command-item.js.map +1 -0
- package/esm2022/lib/components/command/command-list.js +29 -0
- package/esm2022/lib/components/command/command-list.js.map +1 -0
- package/esm2022/lib/components/command/command-separator.js +39 -0
- package/esm2022/lib/components/command/command-separator.js.map +1 -0
- package/esm2022/lib/components/command/command.config.js +3 -0
- package/esm2022/lib/components/command/command.config.js.map +1 -0
- package/esm2022/lib/components/command/command.imports.js +9 -0
- package/esm2022/lib/components/command/command.imports.js.map +1 -0
- package/esm2022/lib/components/command/command.js +184 -0
- package/esm2022/lib/components/command/command.js.map +1 -0
- package/esm2022/lib/components/command/command.variants.js +50 -0
- package/esm2022/lib/components/command/command.variants.js.map +1 -0
- package/esm2022/lib/components/command/demo/command.js +12 -0
- package/esm2022/lib/components/command/demo/command.js.map +1 -0
- package/esm2022/lib/components/command/demo/default.js +124 -0
- package/esm2022/lib/components/command/demo/default.js.map +1 -0
- package/esm2022/lib/components/command/index.js +10 -0
- package/esm2022/lib/components/command/index.js.map +1 -0
- package/esm2022/lib/components/date-picker/date-picker-overlay.service.js +63 -0
- package/esm2022/lib/components/date-picker/date-picker-overlay.service.js.map +1 -0
- package/esm2022/lib/components/date-picker/date-picker.js +113 -0
- package/esm2022/lib/components/date-picker/date-picker.js.map +1 -0
- package/esm2022/lib/components/date-picker/date-picker.util.js +71 -0
- package/esm2022/lib/components/date-picker/date-picker.util.js.map +1 -0
- package/esm2022/lib/components/date-picker/date-picker.variants.js +17 -0
- package/esm2022/lib/components/date-picker/date-picker.variants.js.map +1 -0
- package/esm2022/lib/components/date-picker/demo/date-picker.js +21 -0
- package/esm2022/lib/components/date-picker/demo/date-picker.js.map +1 -0
- package/esm2022/lib/components/date-picker/demo/default.js +30 -0
- package/esm2022/lib/components/date-picker/demo/default.js.map +1 -0
- package/esm2022/lib/components/date-picker/demo/disabled.js +23 -0
- package/esm2022/lib/components/date-picker/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/date-picker/demo/range.js +30 -0
- package/esm2022/lib/components/date-picker/demo/range.js.map +1 -0
- package/esm2022/lib/components/date-picker/index.js +3 -0
- package/esm2022/lib/components/date-picker/index.js.map +1 -0
- package/esm2022/lib/components/dialog/demo/default.js +108 -0
- package/esm2022/lib/components/dialog/demo/default.js.map +1 -0
- package/esm2022/lib/components/dialog/demo/dialog.js +12 -0
- package/esm2022/lib/components/dialog/demo/dialog.js.map +1 -0
- package/esm2022/lib/components/dialog/dialog-ref.js +85 -0
- package/esm2022/lib/components/dialog/dialog-ref.js.map +1 -0
- package/esm2022/lib/components/dialog/dialog.config.js +22 -0
- package/esm2022/lib/components/dialog/dialog.config.js.map +1 -0
- package/esm2022/lib/components/dialog/dialog.js +51 -0
- package/esm2022/lib/components/dialog/dialog.js.map +1 -0
- package/esm2022/lib/components/dialog/dialog.module.js +20 -0
- package/esm2022/lib/components/dialog/dialog.module.js.map +1 -0
- package/esm2022/lib/components/dialog/dialog.service.js +76 -0
- package/esm2022/lib/components/dialog/dialog.service.js.map +1 -0
- package/esm2022/lib/components/dialog/dialog.variants.js +3 -0
- package/esm2022/lib/components/dialog/dialog.variants.js.map +1 -0
- package/esm2022/lib/components/dialog/index.js +6 -0
- package/esm2022/lib/components/dialog/index.js.map +1 -0
- package/esm2022/lib/components/empty/demo/advanced.js +63 -0
- package/esm2022/lib/components/empty/demo/advanced.js.map +1 -0
- package/esm2022/lib/components/empty/demo/custom-image.js +44 -0
- package/esm2022/lib/components/empty/demo/custom-image.js.map +1 -0
- package/esm2022/lib/components/empty/demo/default.js +61 -0
- package/esm2022/lib/components/empty/demo/default.js.map +1 -0
- package/esm2022/lib/components/empty/demo/empty.js +22 -0
- package/esm2022/lib/components/empty/demo/empty.js.map +1 -0
- package/esm2022/lib/components/empty/empty.js +30 -0
- package/esm2022/lib/components/empty/empty.js.map +1 -0
- package/esm2022/lib/components/empty/empty.variants.js +23 -0
- package/esm2022/lib/components/empty/empty.variants.js.map +1 -0
- package/esm2022/lib/components/empty/index.js +3 -0
- package/esm2022/lib/components/empty/index.js.map +1 -0
- package/esm2022/lib/components/float-button/demo/float-button.js +37 -0
- package/esm2022/lib/components/float-button/demo/float-button.js.map +1 -0
- package/esm2022/lib/components/float-button/demo/float-group.js +44 -0
- package/esm2022/lib/components/float-button/demo/float-group.js.map +1 -0
- package/esm2022/lib/components/float-button/demo/float-top.js +23 -0
- package/esm2022/lib/components/float-button/demo/float-top.js.map +1 -0
- package/esm2022/lib/components/float-button/demo/position.js +29 -0
- package/esm2022/lib/components/float-button/demo/position.js.map +1 -0
- package/esm2022/lib/components/float-button/demo/shape.js +25 -0
- package/esm2022/lib/components/float-button/demo/shape.js.map +1 -0
- package/esm2022/lib/components/float-button/demo/size.js +25 -0
- package/esm2022/lib/components/float-button/demo/size.js.map +1 -0
- package/esm2022/lib/components/float-button/demo/variant.js +27 -0
- package/esm2022/lib/components/float-button/demo/variant.js.map +1 -0
- package/esm2022/lib/components/float-button/float-button-group.js +99 -0
- package/esm2022/lib/components/float-button/float-button-group.js.map +1 -0
- package/esm2022/lib/components/float-button/float-button-top.js +70 -0
- package/esm2022/lib/components/float-button/float-button-top.js.map +1 -0
- package/esm2022/lib/components/float-button/float-button.js +59 -0
- package/esm2022/lib/components/float-button/float-button.js.map +1 -0
- package/esm2022/lib/components/float-button/float-button.variants.js +24 -0
- package/esm2022/lib/components/float-button/float-button.variants.js.map +1 -0
- package/esm2022/lib/components/float-button/index.js +5 -0
- package/esm2022/lib/components/float-button/index.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/autocomplete-config.js +36 -0
- package/esm2022/lib/components/form-field/autocomplete/autocomplete-config.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/autocomplete.js +234 -0
- package/esm2022/lib/components/form-field/autocomplete/autocomplete.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/autocomplete.variants.js +25 -0
- package/esm2022/lib/components/form-field/autocomplete/autocomplete.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/autocomplete.js +21 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/autocomplete.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/default.js +41 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/events.js +63 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/events.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/validation.js +84 -0
- package/esm2022/lib/components/form-field/autocomplete/demo/validation.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/index.js +4 -0
- package/esm2022/lib/components/form-field/autocomplete/index.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/services/autocomplete-overlay.service.js +65 -0
- package/esm2022/lib/components/form-field/autocomplete/services/autocomplete-overlay.service.js.map +1 -0
- package/esm2022/lib/components/form-field/autocomplete/services/index.js +2 -0
- package/esm2022/lib/components/form-field/autocomplete/services/index.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/checkbox.js +59 -0
- package/esm2022/lib/components/form-field/checkbox/checkbox.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/checkbox.variants.js +39 -0
- package/esm2022/lib/components/form-field/checkbox/checkbox.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/demo/checkbox.js +37 -0
- package/esm2022/lib/components/form-field/checkbox/demo/checkbox.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/demo/default.js +27 -0
- package/esm2022/lib/components/form-field/checkbox/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/demo/destructive.js +27 -0
- package/esm2022/lib/components/form-field/checkbox/demo/destructive.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/demo/disabled.js +28 -0
- package/esm2022/lib/components/form-field/checkbox/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/demo/shape.js +25 -0
- package/esm2022/lib/components/form-field/checkbox/demo/shape.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/demo/size.js +25 -0
- package/esm2022/lib/components/form-field/checkbox/demo/size.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/demo/validation.js +75 -0
- package/esm2022/lib/components/form-field/checkbox/demo/validation.js.map +1 -0
- package/esm2022/lib/components/form-field/checkbox/index.js +3 -0
- package/esm2022/lib/components/form-field/checkbox/index.js.map +1 -0
- package/esm2022/lib/components/form-field/datetime/datetime.js +59 -0
- package/esm2022/lib/components/form-field/datetime/datetime.js.map +1 -0
- package/esm2022/lib/components/form-field/datetime/datetime.variants.js +30 -0
- package/esm2022/lib/components/form-field/datetime/datetime.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/datetime/demo/datetime.js +21 -0
- package/esm2022/lib/components/form-field/datetime/demo/datetime.js.map +1 -0
- package/esm2022/lib/components/form-field/datetime/demo/default.js +37 -0
- package/esm2022/lib/components/form-field/datetime/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/datetime/demo/disabled.js +25 -0
- package/esm2022/lib/components/form-field/datetime/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/form-field/datetime/demo/validation.js +69 -0
- package/esm2022/lib/components/form-field/datetime/demo/validation.js.map +1 -0
- package/esm2022/lib/components/form-field/datetime/index.js +3 -0
- package/esm2022/lib/components/form-field/datetime/index.js.map +1 -0
- package/esm2022/lib/components/form-field/index.js +10 -0
- package/esm2022/lib/components/form-field/index.js.map +1 -0
- package/esm2022/lib/components/form-field/input/currency-mask.service.js +40 -0
- package/esm2022/lib/components/form-field/input/currency-mask.service.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/default.js +26 -0
- package/esm2022/lib/components/form-field/input/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/disabled.js +28 -0
- package/esm2022/lib/components/form-field/input/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/icon.js +29 -0
- package/esm2022/lib/components/form-field/input/demo/icon.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/input.js +47 -0
- package/esm2022/lib/components/form-field/input/demo/input.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/mask.js +48 -0
- package/esm2022/lib/components/form-field/input/demo/mask.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/normalize.js +69 -0
- package/esm2022/lib/components/form-field/input/demo/normalize.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/password.js +29 -0
- package/esm2022/lib/components/form-field/input/demo/password.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/validation.js +113 -0
- package/esm2022/lib/components/form-field/input/demo/validation.js.map +1 -0
- package/esm2022/lib/components/form-field/input/demo/variant.js +34 -0
- package/esm2022/lib/components/form-field/input/demo/variant.js.map +1 -0
- package/esm2022/lib/components/form-field/input/index.js +4 -0
- package/esm2022/lib/components/form-field/input/index.js.map +1 -0
- package/esm2022/lib/components/form-field/input/input.js +102 -0
- package/esm2022/lib/components/form-field/input/input.js.map +1 -0
- package/esm2022/lib/components/form-field/input/input.variants.js +38 -0
- package/esm2022/lib/components/form-field/input/input.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/input/interfaces/feedback.interface.js +26 -0
- package/esm2022/lib/components/form-field/input/interfaces/feedback.interface.js.map +1 -0
- package/esm2022/lib/components/form-field/input/interfaces/index.js +4 -0
- package/esm2022/lib/components/form-field/input/interfaces/index.js.map +1 -0
- package/esm2022/lib/components/form-field/input/interfaces/mask-config.interface.js +1 -0
- package/esm2022/lib/components/form-field/input/interfaces/mask-config.interface.js.map +1 -0
- package/esm2022/lib/components/form-field/input/interfaces/password-strength.js +39 -0
- package/esm2022/lib/components/form-field/input/interfaces/password-strength.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/demo/default.js +32 -0
- package/esm2022/lib/components/form-field/radio/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/demo/disabled.js +32 -0
- package/esm2022/lib/components/form-field/radio/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/demo/radio.js +26 -0
- package/esm2022/lib/components/form-field/radio/demo/radio.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/demo/size.js +30 -0
- package/esm2022/lib/components/form-field/radio/demo/size.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/demo/validation.js +90 -0
- package/esm2022/lib/components/form-field/radio/demo/validation.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/index.js +5 -0
- package/esm2022/lib/components/form-field/radio/index.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/radio-group.js +52 -0
- package/esm2022/lib/components/form-field/radio/radio-group.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/radio.imports.js +4 -0
- package/esm2022/lib/components/form-field/radio/radio.imports.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/radio.js +83 -0
- package/esm2022/lib/components/form-field/radio/radio.js.map +1 -0
- package/esm2022/lib/components/form-field/radio/radio.variants.js +30 -0
- package/esm2022/lib/components/form-field/radio/radio.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/demo/default.js +39 -0
- package/esm2022/lib/components/form-field/segmented/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/demo/disabled.js +49 -0
- package/esm2022/lib/components/form-field/segmented/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/demo/segmented.js +21 -0
- package/esm2022/lib/components/form-field/segmented/demo/segmented.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/demo/size.js +55 -0
- package/esm2022/lib/components/form-field/segmented/demo/size.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/index.js +4 -0
- package/esm2022/lib/components/form-field/segmented/index.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/segmented.interface.js +1 -0
- package/esm2022/lib/components/form-field/segmented/segmented.interface.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/segmented.js +56 -0
- package/esm2022/lib/components/form-field/segmented/segmented.js.map +1 -0
- package/esm2022/lib/components/form-field/segmented/segmented.variants.js +16 -0
- package/esm2022/lib/components/form-field/segmented/segmented.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/select/demo/default.js +47 -0
- package/esm2022/lib/components/form-field/select/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/select/demo/multiple.js +57 -0
- package/esm2022/lib/components/form-field/select/demo/multiple.js.map +1 -0
- package/esm2022/lib/components/form-field/select/demo/select.js +17 -0
- package/esm2022/lib/components/form-field/select/demo/select.js.map +1 -0
- package/esm2022/lib/components/form-field/select/index.js +5 -0
- package/esm2022/lib/components/form-field/select/index.js.map +1 -0
- package/esm2022/lib/components/form-field/select/select-item.js +78 -0
- package/esm2022/lib/components/form-field/select/select-item.js.map +1 -0
- package/esm2022/lib/components/form-field/select/select.facade.js +70 -0
- package/esm2022/lib/components/form-field/select/select.facade.js.map +1 -0
- package/esm2022/lib/components/form-field/select/select.imports.js +4 -0
- package/esm2022/lib/components/form-field/select/select.imports.js.map +1 -0
- package/esm2022/lib/components/form-field/select/select.js +315 -0
- package/esm2022/lib/components/form-field/select/select.js.map +1 -0
- package/esm2022/lib/components/form-field/select/select.variants.js +57 -0
- package/esm2022/lib/components/form-field/select/select.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/select/services/index.js +6 -0
- package/esm2022/lib/components/form-field/select/services/index.js.map +1 -0
- package/esm2022/lib/components/form-field/select/services/select-dom.service.js +43 -0
- package/esm2022/lib/components/form-field/select/services/select-dom.service.js.map +1 -0
- package/esm2022/lib/components/form-field/select/services/select-keyword.service.js +54 -0
- package/esm2022/lib/components/form-field/select/services/select-keyword.service.js.map +1 -0
- package/esm2022/lib/components/form-field/select/services/select-labels.service.js +43 -0
- package/esm2022/lib/components/form-field/select/services/select-labels.service.js.map +1 -0
- package/esm2022/lib/components/form-field/select/services/select-overlay.service.js +89 -0
- package/esm2022/lib/components/form-field/select/services/select-overlay.service.js.map +1 -0
- package/esm2022/lib/components/form-field/select/services/select.store.js +30 -0
- package/esm2022/lib/components/form-field/select/services/select.store.js.map +1 -0
- package/esm2022/lib/components/form-field/switch/demo/default.js +27 -0
- package/esm2022/lib/components/form-field/switch/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/switch/demo/disabled.js +25 -0
- package/esm2022/lib/components/form-field/switch/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/form-field/switch/demo/size.js +27 -0
- package/esm2022/lib/components/form-field/switch/demo/size.js.map +1 -0
- package/esm2022/lib/components/form-field/switch/demo/switch.js +21 -0
- package/esm2022/lib/components/form-field/switch/demo/switch.js.map +1 -0
- package/esm2022/lib/components/form-field/switch/index.js +3 -0
- package/esm2022/lib/components/form-field/switch/index.js.map +1 -0
- package/esm2022/lib/components/form-field/switch/switch.js +34 -0
- package/esm2022/lib/components/form-field/switch/switch.js.map +1 -0
- package/esm2022/lib/components/form-field/switch/switch.variants.js +44 -0
- package/esm2022/lib/components/form-field/switch/switch.variants.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/demo/default.js +26 -0
- package/esm2022/lib/components/form-field/textarea/demo/default.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/demo/disabled.js +28 -0
- package/esm2022/lib/components/form-field/textarea/demo/disabled.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/demo/resize.js +34 -0
- package/esm2022/lib/components/form-field/textarea/demo/resize.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/demo/textarea.js +32 -0
- package/esm2022/lib/components/form-field/textarea/demo/textarea.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/demo/validation.js +53 -0
- package/esm2022/lib/components/form-field/textarea/demo/validation.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/demo/variant.js +34 -0
- package/esm2022/lib/components/form-field/textarea/demo/variant.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/index.js +3 -0
- package/esm2022/lib/components/form-field/textarea/index.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/textarea.js +59 -0
- package/esm2022/lib/components/form-field/textarea/textarea.js.map +1 -0
- package/esm2022/lib/components/form-field/textarea/textarea.variants.js +45 -0
- package/esm2022/lib/components/form-field/textarea/textarea.variants.js.map +1 -0
- package/esm2022/lib/components/icon/demo/icon.js +22 -0
- package/esm2022/lib/components/icon/demo/icon.js.map +1 -0
- package/esm2022/lib/components/icon/demo/searchable.js +188 -0
- package/esm2022/lib/components/icon/demo/searchable.js.map +1 -0
- package/esm2022/lib/components/icon/demo/size.js +31 -0
- package/esm2022/lib/components/icon/demo/size.js.map +1 -0
- package/esm2022/lib/components/icon/demo/type.js +27 -0
- package/esm2022/lib/components/icon/demo/type.js.map +1 -0
- package/esm2022/lib/components/icon/icon-categories.js +745 -0
- package/esm2022/lib/components/icon/icon-categories.js.map +1 -0
- package/esm2022/lib/components/icon/icon.component.js +39 -0
- package/esm2022/lib/components/icon/icon.component.js.map +1 -0
- package/esm2022/lib/components/icon/icon.variants.js +21 -0
- package/esm2022/lib/components/icon/icon.variants.js.map +1 -0
- package/esm2022/lib/components/icon/icons.js +1310 -0
- package/esm2022/lib/components/icon/icons.js.map +1 -0
- package/esm2022/lib/components/icon/index.js +4 -0
- package/esm2022/lib/components/icon/index.js.map +1 -0
- package/esm2022/lib/components/index.js +31 -0
- package/esm2022/lib/components/index.js.map +1 -0
- package/esm2022/lib/components/loader/demo/loader.js +17 -0
- package/esm2022/lib/components/loader/demo/loader.js.map +1 -0
- package/esm2022/lib/components/loader/demo/size.js +45 -0
- package/esm2022/lib/components/loader/demo/size.js.map +1 -0
- package/esm2022/lib/components/loader/demo/type.js +69 -0
- package/esm2022/lib/components/loader/demo/type.js.map +1 -0
- package/esm2022/lib/components/loader/index.js +4 -0
- package/esm2022/lib/components/loader/index.js.map +1 -0
- package/esm2022/lib/components/loader/loader-progess.js +82 -0
- package/esm2022/lib/components/loader/loader-progess.js.map +1 -0
- package/esm2022/lib/components/loader/loader.js +30 -0
- package/esm2022/lib/components/loader/loader.js.map +1 -0
- package/esm2022/lib/components/loader/loader.service.js +24 -0
- package/esm2022/lib/components/loader/loader.service.js.map +1 -0
- package/esm2022/lib/components/loader/loader.variants.js +25 -0
- package/esm2022/lib/components/loader/loader.variants.js.map +1 -0
- package/esm2022/lib/components/markdown/demo/editor.js +35 -0
- package/esm2022/lib/components/markdown/demo/editor.js.map +1 -0
- package/esm2022/lib/components/markdown/demo/markdown.js +17 -0
- package/esm2022/lib/components/markdown/demo/markdown.js.map +1 -0
- package/esm2022/lib/components/markdown/demo/viewer.js +35 -0
- package/esm2022/lib/components/markdown/demo/viewer.js.map +1 -0
- package/esm2022/lib/components/markdown/icon.helper.js +245 -0
- package/esm2022/lib/components/markdown/icon.helper.js.map +1 -0
- package/esm2022/lib/components/markdown/index.js +3 -0
- package/esm2022/lib/components/markdown/index.js.map +1 -0
- package/esm2022/lib/components/markdown/language-icons.js +11 -0
- package/esm2022/lib/components/markdown/language-icons.js.map +1 -0
- package/esm2022/lib/components/markdown/markdown.js +210 -0
- package/esm2022/lib/components/markdown/markdown.js.map +1 -0
- package/esm2022/lib/components/markdown/markdown.service.js +121 -0
- package/esm2022/lib/components/markdown/markdown.service.js.map +1 -0
- package/esm2022/lib/components/pagination/demo/custom.js +93 -0
- package/esm2022/lib/components/pagination/demo/custom.js.map +1 -0
- package/esm2022/lib/components/pagination/demo/default.js +18 -0
- package/esm2022/lib/components/pagination/demo/default.js.map +1 -0
- package/esm2022/lib/components/pagination/demo/info.js +47 -0
- package/esm2022/lib/components/pagination/demo/info.js.map +1 -0
- package/esm2022/lib/components/pagination/demo/intl.js +49 -0
- package/esm2022/lib/components/pagination/demo/intl.js.map +1 -0
- package/esm2022/lib/components/pagination/demo/pagination.js +27 -0
- package/esm2022/lib/components/pagination/demo/pagination.js.map +1 -0
- package/esm2022/lib/components/pagination/index.js +5 -0
- package/esm2022/lib/components/pagination/index.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination-button.js +35 -0
- package/esm2022/lib/components/pagination/pagination-button.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination-content.js +25 -0
- package/esm2022/lib/components/pagination/pagination-content.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination-ellipsis.js +27 -0
- package/esm2022/lib/components/pagination/pagination-ellipsis.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination-intl.js +21 -0
- package/esm2022/lib/components/pagination/pagination-intl.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination-item.js +20 -0
- package/esm2022/lib/components/pagination/pagination-item.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination-next.js +40 -0
- package/esm2022/lib/components/pagination/pagination-next.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination-prev.js +40 -0
- package/esm2022/lib/components/pagination/pagination-prev.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination.imports.js +9 -0
- package/esm2022/lib/components/pagination/pagination.imports.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination.js +210 -0
- package/esm2022/lib/components/pagination/pagination.js.map +1 -0
- package/esm2022/lib/components/pagination/pagination.variants.js +7 -0
- package/esm2022/lib/components/pagination/pagination.variants.js.map +1 -0
- package/esm2022/lib/components/progress-bar/demo/indeterminate.js +25 -0
- package/esm2022/lib/components/progress-bar/demo/indeterminate.js.map +1 -0
- package/esm2022/lib/components/progress-bar/demo/progress-bar.js +15 -0
- package/esm2022/lib/components/progress-bar/demo/progress-bar.js.map +1 -0
- package/esm2022/lib/components/progress-bar/demo/shape.js +28 -0
- package/esm2022/lib/components/progress-bar/demo/shape.js.map +1 -0
- package/esm2022/lib/components/progress-bar/demo/size.js +28 -0
- package/esm2022/lib/components/progress-bar/demo/size.js.map +1 -0
- package/esm2022/lib/components/progress-bar/demo/variant.js +26 -0
- package/esm2022/lib/components/progress-bar/demo/variant.js.map +1 -0
- package/esm2022/lib/components/progress-bar/index.js +4 -0
- package/esm2022/lib/components/progress-bar/index.js.map +1 -0
- package/esm2022/lib/components/progress-bar/progress-bar.js +133 -0
- package/esm2022/lib/components/progress-bar/progress-bar.js.map +1 -0
- package/esm2022/lib/components/progress-bar/progress-bar.variants.js +42 -0
- package/esm2022/lib/components/progress-bar/progress-bar.variants.js.map +1 -0
- package/esm2022/lib/components/separator/demo/orientation.js +45 -0
- package/esm2022/lib/components/separator/demo/orientation.js.map +1 -0
- package/esm2022/lib/components/separator/demo/separator.js +12 -0
- package/esm2022/lib/components/separator/demo/separator.js.map +1 -0
- package/esm2022/lib/components/separator/index.js +3 -0
- package/esm2022/lib/components/separator/index.js.map +1 -0
- package/esm2022/lib/components/separator/separator.js +25 -0
- package/esm2022/lib/components/separator/separator.js.map +1 -0
- package/esm2022/lib/components/separator/separator.variants.js +13 -0
- package/esm2022/lib/components/separator/separator.variants.js.map +1 -0
- package/esm2022/lib/components/skeleton/demo/card.js +47 -0
- package/esm2022/lib/components/skeleton/demo/card.js.map +1 -0
- package/esm2022/lib/components/skeleton/demo/chart.js +42 -0
- package/esm2022/lib/components/skeleton/demo/chart.js.map +1 -0
- package/esm2022/lib/components/skeleton/demo/default.js +31 -0
- package/esm2022/lib/components/skeleton/demo/default.js.map +1 -0
- package/esm2022/lib/components/skeleton/demo/skeleton.js +12 -0
- package/esm2022/lib/components/skeleton/demo/skeleton.js.map +1 -0
- package/esm2022/lib/components/skeleton/index.js +3 -0
- package/esm2022/lib/components/skeleton/index.js.map +1 -0
- package/esm2022/lib/components/skeleton/skeleton.js +32 -0
- package/esm2022/lib/components/skeleton/skeleton.js.map +1 -0
- package/esm2022/lib/components/skeleton/skeleton.variants.js +6 -0
- package/esm2022/lib/components/skeleton/skeleton.variants.js.map +1 -0
- package/esm2022/lib/components/stepper/demo/default.js +86 -0
- package/esm2022/lib/components/stepper/demo/default.js.map +1 -0
- package/esm2022/lib/components/stepper/demo/orientation.js +86 -0
- package/esm2022/lib/components/stepper/demo/orientation.js.map +1 -0
- package/esm2022/lib/components/stepper/demo/stepper.js +21 -0
- package/esm2022/lib/components/stepper/demo/stepper.js.map +1 -0
- package/esm2022/lib/components/stepper/demo/validation.js +107 -0
- package/esm2022/lib/components/stepper/demo/validation.js.map +1 -0
- package/esm2022/lib/components/stepper/index.js +3 -0
- package/esm2022/lib/components/stepper/index.js.map +1 -0
- package/esm2022/lib/components/stepper/stepper.js +93 -0
- package/esm2022/lib/components/stepper/stepper.js.map +1 -0
- package/esm2022/lib/components/stepper/stepper.service.js +67 -0
- package/esm2022/lib/components/stepper/stepper.service.js.map +1 -0
- package/esm2022/lib/components/stepper/stepper.variants.js +64 -0
- package/esm2022/lib/components/stepper/stepper.variants.js.map +1 -0
- package/esm2022/lib/components/table/cell-template.directive.js +18 -0
- package/esm2022/lib/components/table/cell-template.directive.js.map +1 -0
- package/esm2022/lib/components/table/demo/border.js +30 -0
- package/esm2022/lib/components/table/demo/border.js.map +1 -0
- package/esm2022/lib/components/table/demo/default.js +48 -0
- package/esm2022/lib/components/table/demo/default.js.map +1 -0
- package/esm2022/lib/components/table/demo/pagination.js +69 -0
- package/esm2022/lib/components/table/demo/pagination.js.map +1 -0
- package/esm2022/lib/components/table/demo/selected.js +34 -0
- package/esm2022/lib/components/table/demo/selected.js.map +1 -0
- package/esm2022/lib/components/table/demo/size.js +55 -0
- package/esm2022/lib/components/table/demo/size.js.map +1 -0
- package/esm2022/lib/components/table/demo/sort.js +59 -0
- package/esm2022/lib/components/table/demo/sort.js.map +1 -0
- package/esm2022/lib/components/table/demo/table.js +37 -0
- package/esm2022/lib/components/table/demo/table.js.map +1 -0
- package/esm2022/lib/components/table/demo/user.js +25 -0
- package/esm2022/lib/components/table/demo/user.js.map +1 -0
- package/esm2022/lib/components/table/index.js +5 -0
- package/esm2022/lib/components/table/index.js.map +1 -0
- package/esm2022/lib/components/table/table.config.js +1 -0
- package/esm2022/lib/components/table/table.config.js.map +1 -0
- package/esm2022/lib/components/table/table.js +121 -0
- package/esm2022/lib/components/table/table.js.map +1 -0
- package/esm2022/lib/components/table/table.variants.js +86 -0
- package/esm2022/lib/components/table/table.variants.js.map +1 -0
- package/esm2022/lib/components/tabs/demo/align.js +55 -0
- package/esm2022/lib/components/tabs/demo/align.js.map +1 -0
- package/esm2022/lib/components/tabs/demo/arrows.js +45 -0
- package/esm2022/lib/components/tabs/demo/arrows.js.map +1 -0
- package/esm2022/lib/components/tabs/demo/default.js +27 -0
- package/esm2022/lib/components/tabs/demo/default.js.map +1 -0
- package/esm2022/lib/components/tabs/demo/position.js +65 -0
- package/esm2022/lib/components/tabs/demo/position.js.map +1 -0
- package/esm2022/lib/components/tabs/demo/tabs.js +15 -0
- package/esm2022/lib/components/tabs/demo/tabs.js.map +1 -0
- package/esm2022/lib/components/tabs/index.js +3 -0
- package/esm2022/lib/components/tabs/index.js.map +1 -0
- package/esm2022/lib/components/tabs/tabs.js +195 -0
- package/esm2022/lib/components/tabs/tabs.js.map +1 -0
- package/esm2022/lib/components/tabs/tabs.variants.js +58 -0
- package/esm2022/lib/components/tabs/tabs.variants.js.map +1 -0
- package/esm2022/lib/components/toast/demo/default.js +32 -0
- package/esm2022/lib/components/toast/demo/default.js.map +1 -0
- package/esm2022/lib/components/toast/demo/position.js +63 -0
- package/esm2022/lib/components/toast/demo/position.js.map +1 -0
- package/esm2022/lib/components/toast/demo/toast.js +22 -0
- package/esm2022/lib/components/toast/demo/toast.js.map +1 -0
- package/esm2022/lib/components/toast/demo/type.js +48 -0
- package/esm2022/lib/components/toast/demo/type.js.map +1 -0
- package/esm2022/lib/components/toast/index.js +4 -0
- package/esm2022/lib/components/toast/index.js.map +1 -0
- package/esm2022/lib/components/toast/toast-content.js +15 -0
- package/esm2022/lib/components/toast/toast-content.js.map +1 -0
- package/esm2022/lib/components/toast/toast.config.js +1 -0
- package/esm2022/lib/components/toast/toast.config.js.map +1 -0
- package/esm2022/lib/components/toast/toast.js +56 -0
- package/esm2022/lib/components/toast/toast.js.map +1 -0
- package/esm2022/lib/components/toast/toast.pipe.js +52 -0
- package/esm2022/lib/components/toast/toast.pipe.js.map +1 -0
- package/esm2022/lib/components/toast/toast.service.js +60 -0
- package/esm2022/lib/components/toast/toast.service.js.map +1 -0
- package/esm2022/lib/components/toast/toast.variants.js +17 -0
- package/esm2022/lib/components/toast/toast.variants.js.map +1 -0
- package/esm2022/lib/components/tooltip/demo/click.js +26 -0
- package/esm2022/lib/components/tooltip/demo/click.js.map +1 -0
- package/esm2022/lib/components/tooltip/demo/events.js +37 -0
- package/esm2022/lib/components/tooltip/demo/events.js.map +1 -0
- package/esm2022/lib/components/tooltip/demo/hover.js +26 -0
- package/esm2022/lib/components/tooltip/demo/hover.js.map +1 -0
- package/esm2022/lib/components/tooltip/demo/position.js +40 -0
- package/esm2022/lib/components/tooltip/demo/position.js.map +1 -0
- package/esm2022/lib/components/tooltip/demo/tooltip.js +27 -0
- package/esm2022/lib/components/tooltip/demo/tooltip.js.map +1 -0
- package/esm2022/lib/components/tooltip/index.js +5 -0
- package/esm2022/lib/components/tooltip/index.js.map +1 -0
- package/esm2022/lib/components/tooltip/tooltip.config.js +40 -0
- package/esm2022/lib/components/tooltip/tooltip.config.js.map +1 -0
- package/esm2022/lib/components/tooltip/tooltip.directive.js +163 -0
- package/esm2022/lib/components/tooltip/tooltip.directive.js.map +1 -0
- package/esm2022/lib/components/tooltip/tooltip.imports.js +20 -0
- package/esm2022/lib/components/tooltip/tooltip.imports.js.map +1 -0
- package/esm2022/lib/components/tooltip/tooltip.js +32 -0
- package/esm2022/lib/components/tooltip/tooltip.js.map +1 -0
- package/esm2022/lib/components/tooltip/tooltip.variants.js +13 -0
- package/esm2022/lib/components/tooltip/tooltip.variants.js.map +1 -0
- package/esm2022/lib/components/tree/demo/default.js +52 -0
- package/esm2022/lib/components/tree/demo/default.js.map +1 -0
- package/esm2022/lib/components/tree/demo/selection.js +56 -0
- package/esm2022/lib/components/tree/demo/selection.js.map +1 -0
- package/esm2022/lib/components/tree/demo/tree.js +10 -0
- package/esm2022/lib/components/tree/demo/tree.js.map +1 -0
- package/esm2022/lib/components/tree/index.js +4 -0
- package/esm2022/lib/components/tree/index.js.map +1 -0
- package/esm2022/lib/components/tree/tree.interface.js +1 -0
- package/esm2022/lib/components/tree/tree.interface.js.map +1 -0
- package/esm2022/lib/components/tree/tree.js +138 -0
- package/esm2022/lib/components/tree/tree.js.map +1 -0
- package/esm2022/lib/components/tree/tree.variants.js +17 -0
- package/esm2022/lib/components/tree/tree.variants.js.map +1 -0
- package/esm2022/lib/components/upload/demo/default.js +42 -0
- package/esm2022/lib/components/upload/demo/default.js.map +1 -0
- package/esm2022/lib/components/upload/demo/dropzone.js +42 -0
- package/esm2022/lib/components/upload/demo/dropzone.js.map +1 -0
- package/esm2022/lib/components/upload/demo/multiple.js +42 -0
- package/esm2022/lib/components/upload/demo/multiple.js.map +1 -0
- package/esm2022/lib/components/upload/demo/selected.js +53 -0
- package/esm2022/lib/components/upload/demo/selected.js.map +1 -0
- package/esm2022/lib/components/upload/demo/upload.js +15 -0
- package/esm2022/lib/components/upload/demo/upload.js.map +1 -0
- package/esm2022/lib/components/upload/index.js +5 -0
- package/esm2022/lib/components/upload/index.js.map +1 -0
- package/esm2022/lib/components/upload/upload.interface.js +1 -0
- package/esm2022/lib/components/upload/upload.interface.js.map +1 -0
- package/esm2022/lib/components/upload/upload.js +227 -0
- package/esm2022/lib/components/upload/upload.js.map +1 -0
- package/esm2022/lib/components/upload/upload.service.js +36 -0
- package/esm2022/lib/components/upload/upload.service.js.map +1 -0
- package/esm2022/lib/components/upload/upload.variants.js +29 -0
- package/esm2022/lib/components/upload/upload.variants.js.map +1 -0
- package/esm2022/lib/core/directives/generate-id.directive.js +29 -0
- package/esm2022/lib/core/directives/generate-id.directive.js.map +1 -0
- package/esm2022/lib/core/directives/index.js +4 -0
- package/esm2022/lib/core/directives/index.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/index.js +4 -0
- package/esm2022/lib/core/directives/normalize/index.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/normalize.config.js +7 -0
- package/esm2022/lib/core/directives/normalize/normalize.config.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/normalize.directive.js +37 -0
- package/esm2022/lib/core/directives/normalize/normalize.directive.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/strategies/alfa.strategy.js +14 -0
- package/esm2022/lib/core/directives/normalize/strategies/alfa.strategy.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/strategies/alfanum.strategy.js +14 -0
- package/esm2022/lib/core/directives/normalize/strategies/alfanum.strategy.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/strategies/index.js +11 -0
- package/esm2022/lib/core/directives/normalize/strategies/index.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/strategies/normalize.strategy.js +1 -0
- package/esm2022/lib/core/directives/normalize/strategies/normalize.strategy.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/strategies/numeric.strategy.js +6 -0
- package/esm2022/lib/core/directives/normalize/strategies/numeric.strategy.js.map +1 -0
- package/esm2022/lib/core/directives/normalize/strategies/uppercase.strategy.js +6 -0
- package/esm2022/lib/core/directives/normalize/strategies/uppercase.strategy.js.map +1 -0
- package/esm2022/lib/core/directives/string-template-ref.directive.js +69 -0
- package/esm2022/lib/core/directives/string-template-ref.directive.js.map +1 -0
- package/esm2022/lib/core/helpers/index.js +2 -0
- package/esm2022/lib/core/helpers/index.js.map +1 -0
- package/esm2022/lib/core/helpers/merge.helper.js +10 -0
- package/esm2022/lib/core/helpers/merge.helper.js.map +1 -0
- package/esm2022/lib/core/index.js +6 -0
- package/esm2022/lib/core/index.js.map +1 -0
- package/esm2022/lib/core/interfaces/control-value.interface.js +1 -0
- package/esm2022/lib/core/interfaces/control-value.interface.js.map +1 -0
- package/esm2022/lib/core/interfaces/index.js +2 -0
- package/esm2022/lib/core/interfaces/index.js.map +1 -0
- package/esm2022/lib/core/template/index.js +2 -0
- package/esm2022/lib/core/template/index.js.map +1 -0
- package/esm2022/lib/core/template/print/print.js +25 -0
- package/esm2022/lib/core/template/print/print.js.map +1 -0
- package/esm2022/lib/core/template/print/print.pipe.js +18 -0
- package/esm2022/lib/core/template/print/print.pipe.js.map +1 -0
- package/esm2022/lib/core/utils/clipboard.util.js +66 -0
- package/esm2022/lib/core/utils/clipboard.util.js.map +1 -0
- package/esm2022/lib/core/utils/index.js +2 -0
- package/esm2022/lib/core/utils/index.js.map +1 -0
- package/esm2022/lib/infra/index.js +2 -0
- package/esm2022/lib/infra/index.js.map +1 -0
- package/esm2022/lib/infra/stores/index.js +2 -0
- package/esm2022/lib/infra/stores/index.js.map +1 -0
- package/esm2022/lib/infra/stores/theme.store.js +39 -0
- package/esm2022/lib/infra/stores/theme.store.js.map +1 -0
- package/index.d.ts +3 -0
- package/lib/components/accordion/accordion.d.ts +31 -0
- package/lib/components/accordion/accordion.service.d.ts +15 -0
- package/lib/components/accordion/accordion.variants.d.ts +10 -0
- package/lib/components/accordion/demo/accordion.d.ts +8 -0
- package/lib/components/accordion/demo/default.d.ts +5 -0
- package/lib/components/accordion/demo/single.d.ts +5 -0
- package/lib/components/accordion/index.d.ts +2 -0
- package/lib/components/alert/alert.d.ts +13 -0
- package/lib/components/alert/alert.variants.d.ts +6 -0
- package/lib/components/alert/demo/accent.d.ts +7 -0
- package/lib/components/alert/demo/alert.d.ts +9 -0
- package/lib/components/alert/demo/destructive.d.ts +7 -0
- package/lib/components/alert/demo/icon.d.ts +7 -0
- package/lib/components/alert/demo/info.d.ts +7 -0
- package/lib/components/alert/demo/primary.d.ts +7 -0
- package/lib/components/alert/demo/success.d.ts +7 -0
- package/lib/components/alert/demo/warning.d.ts +7 -0
- package/lib/components/alert/index.d.ts +2 -0
- package/lib/components/alert-dialog/alert-dialog.config.d.ts +27 -0
- package/lib/components/alert-dialog/alert-dialog.d.ts +26 -0
- package/lib/components/alert-dialog/alert-dialog.ref.d.ts +18 -0
- package/lib/components/alert-dialog/alert-dialog.service.d.ts +20 -0
- package/lib/components/alert-dialog/alert-dialog.variants.d.ts +3 -0
- package/lib/components/alert-dialog/demo/alert-dialog.d.ts +9 -0
- package/lib/components/alert-dialog/demo/default.d.ts +7 -0
- package/lib/components/alert-dialog/index.d.ts +5 -0
- package/lib/components/avatar/avatar-group.d.ts +9 -0
- package/lib/components/avatar/avatar.d.ts +23 -0
- package/lib/components/avatar/avatar.variants.d.ts +14 -0
- package/lib/components/avatar/demo/avatar.d.ts +9 -0
- package/lib/components/avatar/demo/default.d.ts +5 -0
- package/lib/components/avatar/demo/shape.d.ts +5 -0
- package/lib/components/avatar/demo/size.d.ts +5 -0
- package/lib/components/avatar/demo/status.d.ts +5 -0
- package/lib/components/avatar/index.d.ts +3 -0
- package/lib/components/badge/badge.d.ts +15 -0
- package/lib/components/badge/badge.variants.d.ts +8 -0
- package/lib/components/badge/demo/badge.d.ts +9 -0
- package/lib/components/badge/demo/close.d.ts +8 -0
- package/lib/components/badge/demo/disabled.d.ts +5 -0
- package/lib/components/badge/demo/fill.d.ts +5 -0
- package/lib/components/badge/demo/icon.d.ts +5 -0
- package/lib/components/badge/demo/shape.d.ts +5 -0
- package/lib/components/badge/demo/variant.d.ts +5 -0
- package/lib/components/badge/index.d.ts +2 -0
- package/lib/components/breadcrumb/breadcrumb-content.d.ts +8 -0
- package/lib/components/breadcrumb/breadcrumb-item.d.ts +9 -0
- package/lib/components/breadcrumb/breadcrumb-link.d.ts +9 -0
- package/lib/components/breadcrumb/breadcrumb-list.d.ts +9 -0
- package/lib/components/breadcrumb/breadcrumb-page.d.ts +8 -0
- package/lib/components/breadcrumb/breadcrumb-separator.d.ts +10 -0
- package/lib/components/breadcrumb/breadcrumb.config.d.ts +6 -0
- package/lib/components/breadcrumb/breadcrumb.d.ts +12 -0
- package/lib/components/breadcrumb/breadcrumb.directive.d.ts +9 -0
- package/lib/components/breadcrumb/breadcrumb.imports.d.ts +7 -0
- package/lib/components/breadcrumb/breadcrumb.service.d.ts +17 -0
- package/lib/components/breadcrumb/breadcrumb.variants.d.ts +27 -0
- package/lib/components/breadcrumb/demo/breadcrumb.d.ts +9 -0
- package/lib/components/breadcrumb/demo/content.d.ts +5 -0
- package/lib/components/breadcrumb/demo/custom-separator.d.ts +5 -0
- package/lib/components/breadcrumb/demo/default.d.ts +5 -0
- package/lib/components/breadcrumb/demo/directive.d.ts +5 -0
- package/lib/components/breadcrumb/demo/icon.d.ts +5 -0
- package/lib/components/breadcrumb/demo/router-link.d.ts +5 -0
- package/lib/components/breadcrumb/index.d.ts +4 -0
- package/lib/components/button/button.d.ts +17 -0
- package/lib/components/button/button.variants.d.ts +11 -0
- package/lib/components/button/demo/button.d.ts +9 -0
- package/lib/components/button/demo/disabled.d.ts +5 -0
- package/lib/components/button/demo/fill.d.ts +5 -0
- package/lib/components/button/demo/full.d.ts +5 -0
- package/lib/components/button/demo/icon.d.ts +5 -0
- package/lib/components/button/demo/loading.d.ts +5 -0
- package/lib/components/button/demo/shape.d.ts +5 -0
- package/lib/components/button/demo/size.d.ts +5 -0
- package/lib/components/button/demo/variant.d.ts +5 -0
- package/lib/components/button/index.d.ts +2 -0
- package/lib/components/button-toggle/button-toggle.d.ts +36 -0
- package/lib/components/button-toggle/button-toggle.variants.d.ts +11 -0
- package/lib/components/button-toggle/demo/button-toggle.d.ts +9 -0
- package/lib/components/button-toggle/demo/default.d.ts +9 -0
- package/lib/components/button-toggle/demo/disabled.d.ts +7 -0
- package/lib/components/button-toggle/demo/size.d.ts +7 -0
- package/lib/components/button-toggle/index.d.ts +2 -0
- package/lib/components/card/card.d.ts +17 -0
- package/lib/components/card/card.variants.d.ts +9 -0
- package/lib/components/card/demo/card.d.ts +9 -0
- package/lib/components/card/demo/default.d.ts +5 -0
- package/lib/components/card/demo/disabled.d.ts +5 -0
- package/lib/components/card/index.d.ts +2 -0
- package/lib/components/carousel/carousel.d.ts +41 -0
- package/lib/components/carousel/carousel.service.d.ts +29 -0
- package/lib/components/carousel/carousel.variants.d.ts +18 -0
- package/lib/components/carousel/demo/autoplay.d.ts +11 -0
- package/lib/components/carousel/demo/carousel.d.ts +8 -0
- package/lib/components/carousel/demo/default.d.ts +9 -0
- package/lib/components/carousel/demo/loop.d.ts +9 -0
- package/lib/components/carousel/index.d.ts +2 -0
- package/lib/components/command/command-empty.d.ts +12 -0
- package/lib/components/command/command-input.d.ts +28 -0
- package/lib/components/command/command-item-group.d.ts +20 -0
- package/lib/components/command/command-item.d.ts +29 -0
- package/lib/components/command/command-list.d.ts +8 -0
- package/lib/components/command/command-separator.d.ts +10 -0
- package/lib/components/command/command.config.d.ts +27 -0
- package/lib/components/command/command.d.ts +40 -0
- package/lib/components/command/command.imports.d.ts +8 -0
- package/lib/components/command/command.variants.d.ts +15 -0
- package/lib/components/command/demo/command.d.ts +9 -0
- package/lib/components/command/demo/default.d.ts +12 -0
- package/lib/components/command/index.d.ts +9 -0
- package/lib/components/date-picker/date-picker-overlay.service.d.ts +15 -0
- package/lib/components/date-picker/date-picker.d.ts +37 -0
- package/lib/components/date-picker/date-picker.util.d.ts +18 -0
- package/lib/components/date-picker/date-picker.variants.d.ts +7 -0
- package/lib/components/date-picker/demo/date-picker.d.ts +8 -0
- package/lib/components/date-picker/demo/default.d.ts +6 -0
- package/lib/components/date-picker/demo/disabled.d.ts +5 -0
- package/lib/components/date-picker/demo/range.d.ts +6 -0
- package/lib/components/date-picker/index.d.ts +2 -0
- package/lib/components/dialog/demo/default.d.ts +32 -0
- package/lib/components/dialog/demo/dialog.d.ts +9 -0
- package/lib/components/dialog/dialog-ref.d.ts +16 -0
- package/lib/components/dialog/dialog.config.d.ts +23 -0
- package/lib/components/dialog/dialog.d.ts +22 -0
- package/lib/components/dialog/dialog.module.d.ts +10 -0
- package/lib/components/dialog/dialog.service.d.ts +16 -0
- package/lib/components/dialog/dialog.variants.d.ts +3 -0
- package/lib/components/dialog/index.d.ts +4 -0
- package/lib/components/empty/demo/advanced.d.ts +5 -0
- package/lib/components/empty/demo/custom-image.d.ts +5 -0
- package/lib/components/empty/demo/default.d.ts +5 -0
- package/lib/components/empty/demo/empty.d.ts +9 -0
- package/lib/components/empty/empty.d.ts +19 -0
- package/lib/components/empty/empty.variants.d.ts +7 -0
- package/lib/components/empty/index.d.ts +2 -0
- package/lib/components/float-button/demo/float-button.d.ts +9 -0
- package/lib/components/float-button/demo/float-group.d.ts +5 -0
- package/lib/components/float-button/demo/float-top.d.ts +5 -0
- package/lib/components/float-button/demo/position.d.ts +5 -0
- package/lib/components/float-button/demo/shape.d.ts +5 -0
- package/lib/components/float-button/demo/size.d.ts +5 -0
- package/lib/components/float-button/demo/variant.d.ts +5 -0
- package/lib/components/float-button/float-button-group.d.ts +26 -0
- package/lib/components/float-button/float-button-top.d.ts +22 -0
- package/lib/components/float-button/float-button.d.ts +17 -0
- package/lib/components/float-button/float-button.variants.d.ts +7 -0
- package/lib/components/float-button/index.d.ts +4 -0
- package/lib/components/form-field/autocomplete/autocomplete-config.d.ts +19 -0
- package/lib/components/form-field/autocomplete/autocomplete.d.ts +54 -0
- package/lib/components/form-field/autocomplete/autocomplete.variants.d.ts +12 -0
- package/lib/components/form-field/autocomplete/demo/autocomplete.d.ts +8 -0
- package/lib/components/form-field/autocomplete/demo/default.d.ts +19 -0
- package/lib/components/form-field/autocomplete/demo/events.d.ts +21 -0
- package/lib/components/form-field/autocomplete/demo/validation.d.ts +21 -0
- package/lib/components/form-field/autocomplete/index.d.ts +3 -0
- package/lib/components/form-field/autocomplete/services/autocomplete-overlay.service.d.ts +15 -0
- package/lib/components/form-field/autocomplete/services/index.d.ts +1 -0
- package/lib/components/form-field/checkbox/checkbox.d.ts +32 -0
- package/lib/components/form-field/checkbox/checkbox.variants.d.ts +12 -0
- package/lib/components/form-field/checkbox/demo/checkbox.d.ts +9 -0
- package/lib/components/form-field/checkbox/demo/default.d.ts +6 -0
- package/lib/components/form-field/checkbox/demo/destructive.d.ts +6 -0
- package/lib/components/form-field/checkbox/demo/disabled.d.ts +7 -0
- package/lib/components/form-field/checkbox/demo/shape.d.ts +5 -0
- package/lib/components/form-field/checkbox/demo/size.d.ts +5 -0
- package/lib/components/form-field/checkbox/demo/validation.d.ts +14 -0
- package/lib/components/form-field/checkbox/index.d.ts +2 -0
- package/lib/components/form-field/datetime/datetime.d.ts +32 -0
- package/lib/components/form-field/datetime/datetime.variants.d.ts +10 -0
- package/lib/components/form-field/datetime/demo/datetime.d.ts +8 -0
- package/lib/components/form-field/datetime/demo/default.d.ts +17 -0
- package/lib/components/form-field/datetime/demo/disabled.d.ts +5 -0
- package/lib/components/form-field/datetime/demo/validation.d.ts +13 -0
- package/lib/components/form-field/datetime/index.d.ts +2 -0
- package/lib/components/form-field/index.d.ts +9 -0
- package/lib/components/form-field/input/currency-mask.service.d.ts +8 -0
- package/lib/components/form-field/input/demo/default.d.ts +11 -0
- package/lib/components/form-field/input/demo/disabled.d.ts +11 -0
- package/lib/components/form-field/input/demo/icon.d.ts +12 -0
- package/lib/components/form-field/input/demo/input.d.ts +29 -0
- package/lib/components/form-field/input/demo/mask.d.ts +19 -0
- package/lib/components/form-field/input/demo/normalize.d.ts +15 -0
- package/lib/components/form-field/input/demo/password.d.ts +11 -0
- package/lib/components/form-field/input/demo/validation.d.ts +18 -0
- package/lib/components/form-field/input/demo/variant.d.ts +15 -0
- package/lib/components/form-field/input/index.d.ts +3 -0
- package/lib/components/form-field/input/input.d.ts +56 -0
- package/lib/components/form-field/input/input.variants.d.ts +13 -0
- package/lib/components/form-field/input/interfaces/feedback.interface.d.ts +21 -0
- package/lib/components/form-field/input/interfaces/index.d.ts +3 -0
- package/lib/components/form-field/input/interfaces/mask-config.interface.d.ts +10 -0
- package/lib/components/form-field/input/interfaces/password-strength.d.ts +16 -0
- package/lib/components/form-field/radio/demo/default.d.ts +11 -0
- package/lib/components/form-field/radio/demo/disabled.d.ts +11 -0
- package/lib/components/form-field/radio/demo/radio.d.ts +12 -0
- package/lib/components/form-field/radio/demo/size.d.ts +11 -0
- package/lib/components/form-field/radio/demo/validation.d.ts +14 -0
- package/lib/components/form-field/radio/index.d.ts +4 -0
- package/lib/components/form-field/radio/radio-group.d.ts +21 -0
- package/lib/components/form-field/radio/radio.d.ts +20 -0
- package/lib/components/form-field/radio/radio.imports.d.ts +3 -0
- package/lib/components/form-field/radio/radio.variants.d.ts +9 -0
- package/lib/components/form-field/segmented/demo/default.d.ts +13 -0
- package/lib/components/form-field/segmented/demo/disabled.d.ts +8 -0
- package/lib/components/form-field/segmented/demo/segmented.d.ts +8 -0
- package/lib/components/form-field/segmented/demo/size.d.ts +7 -0
- package/lib/components/form-field/segmented/index.d.ts +3 -0
- package/lib/components/form-field/segmented/segmented.d.ts +27 -0
- package/lib/components/form-field/segmented/segmented.interface.d.ts +7 -0
- package/lib/components/form-field/segmented/segmented.variants.d.ts +6 -0
- package/lib/components/form-field/select/demo/default.d.ts +6 -0
- package/lib/components/form-field/select/demo/multiple.d.ts +6 -0
- package/lib/components/form-field/select/demo/select.d.ts +13 -0
- package/lib/components/form-field/select/index.d.ts +4 -0
- package/lib/components/form-field/select/select-item.d.ts +29 -0
- package/lib/components/form-field/select/select.d.ts +62 -0
- package/lib/components/form-field/select/select.facade.d.ts +25 -0
- package/lib/components/form-field/select/select.imports.d.ts +3 -0
- package/lib/components/form-field/select/select.variants.d.ts +16 -0
- package/lib/components/form-field/select/services/index.d.ts +5 -0
- package/lib/components/form-field/select/services/select-dom.service.d.ts +10 -0
- package/lib/components/form-field/select/services/select-keyword.service.d.ts +17 -0
- package/lib/components/form-field/select/services/select-labels.service.d.ts +17 -0
- package/lib/components/form-field/select/services/select-overlay.service.d.ts +19 -0
- package/lib/components/form-field/select/services/select.store.d.ts +14 -0
- package/lib/components/form-field/switch/demo/default.d.ts +5 -0
- package/lib/components/form-field/switch/demo/disabled.d.ts +5 -0
- package/lib/components/form-field/switch/demo/size.d.ts +5 -0
- package/lib/components/form-field/switch/demo/switch.d.ts +8 -0
- package/lib/components/form-field/switch/index.d.ts +2 -0
- package/lib/components/form-field/switch/switch.d.ts +21 -0
- package/lib/components/form-field/switch/switch.variants.d.ts +12 -0
- package/lib/components/form-field/textarea/demo/default.d.ts +11 -0
- package/lib/components/form-field/textarea/demo/disabled.d.ts +11 -0
- package/lib/components/form-field/textarea/demo/resize.d.ts +15 -0
- package/lib/components/form-field/textarea/demo/textarea.d.ts +21 -0
- package/lib/components/form-field/textarea/demo/validation.d.ts +13 -0
- package/lib/components/form-field/textarea/demo/variant.d.ts +15 -0
- package/lib/components/form-field/textarea/index.d.ts +2 -0
- package/lib/components/form-field/textarea/textarea.d.ts +37 -0
- package/lib/components/form-field/textarea/textarea.variants.d.ts +14 -0
- package/lib/components/icon/demo/icon.d.ts +9 -0
- package/lib/components/icon/demo/searchable.d.ts +18 -0
- package/lib/components/icon/demo/size.d.ts +5 -0
- package/lib/components/icon/demo/type.d.ts +5 -0
- package/lib/components/icon/icon-categories.d.ts +3 -0
- package/lib/components/icon/icon.component.d.ts +13 -0
- package/lib/components/icon/icon.variants.d.ts +6 -0
- package/lib/components/icon/icons.d.ts +1116 -0
- package/lib/components/icon/index.d.ts +3 -0
- package/lib/components/index.d.ts +30 -0
- package/lib/components/loader/demo/loader.d.ts +9 -0
- package/lib/components/loader/demo/size.d.ts +5 -0
- package/lib/components/loader/demo/type.d.ts +9 -0
- package/lib/components/loader/index.d.ts +3 -0
- package/lib/components/loader/loader-progess.d.ts +13 -0
- package/lib/components/loader/loader.d.ts +19 -0
- package/lib/components/loader/loader.service.d.ts +10 -0
- package/lib/components/loader/loader.variants.d.ts +7 -0
- package/lib/components/markdown/demo/editor.d.ts +8 -0
- package/lib/components/markdown/demo/markdown.d.ts +13 -0
- package/lib/components/markdown/demo/viewer.d.ts +8 -0
- package/lib/components/markdown/icon.helper.d.ts +79 -0
- package/lib/components/markdown/index.d.ts +2 -0
- package/lib/components/markdown/language-icons.d.ts +3 -0
- package/lib/components/markdown/markdown.d.ts +45 -0
- package/lib/components/markdown/markdown.service.d.ts +11 -0
- package/lib/components/pagination/demo/custom.d.ts +11 -0
- package/lib/components/pagination/demo/default.d.ts +6 -0
- package/lib/components/pagination/demo/info.d.ts +9 -0
- package/lib/components/pagination/demo/intl.d.ts +9 -0
- package/lib/components/pagination/demo/pagination.d.ts +21 -0
- package/lib/components/pagination/index.d.ts +4 -0
- package/lib/components/pagination/pagination-button.d.ts +11 -0
- package/lib/components/pagination/pagination-content.d.ts +8 -0
- package/lib/components/pagination/pagination-ellipsis.d.ts +8 -0
- package/lib/components/pagination/pagination-intl.d.ts +20 -0
- package/lib/components/pagination/pagination-item.d.ts +5 -0
- package/lib/components/pagination/pagination-next.d.ts +11 -0
- package/lib/components/pagination/pagination-prev.d.ts +11 -0
- package/lib/components/pagination/pagination.d.ts +30 -0
- package/lib/components/pagination/pagination.imports.d.ts +8 -0
- package/lib/components/pagination/pagination.variants.d.ts +11 -0
- package/lib/components/progress-bar/demo/indeterminate.d.ts +5 -0
- package/lib/components/progress-bar/demo/progress-bar.d.ts +12 -0
- package/lib/components/progress-bar/demo/shape.d.ts +6 -0
- package/lib/components/progress-bar/demo/size.d.ts +6 -0
- package/lib/components/progress-bar/demo/variant.d.ts +6 -0
- package/lib/components/progress-bar/index.d.ts +3 -0
- package/lib/components/progress-bar/progress-bar.d.ts +31 -0
- package/lib/components/progress-bar/progress-bar.variants.d.ts +17 -0
- package/lib/components/separator/demo/orientation.d.ts +5 -0
- package/lib/components/separator/demo/separator.d.ts +9 -0
- package/lib/components/separator/index.d.ts +2 -0
- package/lib/components/separator/separator.d.ts +9 -0
- package/lib/components/separator/separator.variants.d.ts +5 -0
- package/lib/components/skeleton/demo/card.d.ts +5 -0
- package/lib/components/skeleton/demo/chart.d.ts +5 -0
- package/lib/components/skeleton/demo/default.d.ts +5 -0
- package/lib/components/skeleton/demo/skeleton.d.ts +8 -0
- package/lib/components/skeleton/index.d.ts +2 -0
- package/lib/components/skeleton/skeleton.d.ts +8 -0
- package/lib/components/skeleton/skeleton.variants.d.ts +3 -0
- package/lib/components/stepper/demo/default.d.ts +5 -0
- package/lib/components/stepper/demo/orientation.d.ts +5 -0
- package/lib/components/stepper/demo/stepper.d.ts +8 -0
- package/lib/components/stepper/demo/validation.d.ts +12 -0
- package/lib/components/stepper/index.d.ts +2 -0
- package/lib/components/stepper/stepper.d.ts +39 -0
- package/lib/components/stepper/stepper.service.d.ts +22 -0
- package/lib/components/stepper/stepper.variants.d.ts +19 -0
- package/lib/components/table/cell-template.directive.d.ts +8 -0
- package/lib/components/table/demo/border.d.ts +10 -0
- package/lib/components/table/demo/default.d.ts +12 -0
- package/lib/components/table/demo/pagination.d.ts +16 -0
- package/lib/components/table/demo/selected.d.ts +12 -0
- package/lib/components/table/demo/size.d.ts +10 -0
- package/lib/components/table/demo/sort.d.ts +11 -0
- package/lib/components/table/demo/table.d.ts +17 -0
- package/lib/components/table/demo/user.d.ts +15 -0
- package/lib/components/table/index.d.ts +4 -0
- package/lib/components/table/table.config.d.ts +29 -0
- package/lib/components/table/table.d.ts +45 -0
- package/lib/components/table/table.variants.d.ts +21 -0
- package/lib/components/tabs/demo/align.d.ts +8 -0
- package/lib/components/tabs/demo/arrows.d.ts +10 -0
- package/lib/components/tabs/demo/default.d.ts +5 -0
- package/lib/components/tabs/demo/position.d.ts +9 -0
- package/lib/components/tabs/demo/tabs.d.ts +12 -0
- package/lib/components/tabs/index.d.ts +2 -0
- package/lib/components/tabs/tabs.d.ts +45 -0
- package/lib/components/tabs/tabs.variants.d.ts +18 -0
- package/lib/components/toast/demo/default.d.ts +7 -0
- package/lib/components/toast/demo/position.d.ts +12 -0
- package/lib/components/toast/demo/toast.d.ts +17 -0
- package/lib/components/toast/demo/type.d.ts +11 -0
- package/lib/components/toast/index.d.ts +3 -0
- package/lib/components/toast/toast-content.d.ts +8 -0
- package/lib/components/toast/toast.config.d.ts +12 -0
- package/lib/components/toast/toast.d.ts +11 -0
- package/lib/components/toast/toast.pipe.d.ts +16 -0
- package/lib/components/toast/toast.service.d.ts +17 -0
- package/lib/components/toast/toast.variants.d.ts +5 -0
- package/lib/components/tooltip/demo/click.d.ts +5 -0
- package/lib/components/tooltip/demo/events.d.ts +8 -0
- package/lib/components/tooltip/demo/hover.d.ts +5 -0
- package/lib/components/tooltip/demo/position.d.ts +5 -0
- package/lib/components/tooltip/demo/tooltip.d.ts +9 -0
- package/lib/components/tooltip/index.d.ts +4 -0
- package/lib/components/tooltip/tooltip.config.d.ts +12 -0
- package/lib/components/tooltip/tooltip.d.ts +16 -0
- package/lib/components/tooltip/tooltip.directive.d.ts +28 -0
- package/lib/components/tooltip/tooltip.imports.d.ts +13 -0
- package/lib/components/tooltip/tooltip.variants.d.ts +7 -0
- package/lib/components/tree/demo/default.d.ts +7 -0
- package/lib/components/tree/demo/selection.d.ts +9 -0
- package/lib/components/tree/demo/tree.d.ts +8 -0
- package/lib/components/tree/index.d.ts +3 -0
- package/lib/components/tree/tree.d.ts +29 -0
- package/lib/components/tree/tree.interface.d.ts +9 -0
- package/lib/components/tree/tree.variants.d.ts +7 -0
- package/lib/components/upload/demo/default.d.ts +11 -0
- package/lib/components/upload/demo/dropzone.d.ts +11 -0
- package/lib/components/upload/demo/multiple.d.ts +11 -0
- package/lib/components/upload/demo/selected.d.ts +12 -0
- package/lib/components/upload/demo/upload.d.ts +21 -0
- package/lib/components/upload/index.d.ts +4 -0
- package/lib/components/upload/upload.d.ts +32 -0
- package/lib/components/upload/upload.interface.d.ts +8 -0
- package/lib/components/upload/upload.service.d.ts +8 -0
- package/lib/components/upload/upload.variants.d.ts +10 -0
- package/lib/core/directives/generate-id.directive.d.ts +8 -0
- package/lib/core/directives/index.d.ts +3 -0
- package/lib/core/directives/normalize/index.d.ts +3 -0
- package/lib/core/directives/normalize/normalize.config.d.ts +7 -0
- package/lib/core/directives/normalize/normalize.directive.d.ts +13 -0
- package/lib/core/directives/normalize/strategies/alfa.strategy.d.ts +5 -0
- package/lib/core/directives/normalize/strategies/alfanum.strategy.d.ts +5 -0
- package/lib/core/directives/normalize/strategies/index.d.ts +11 -0
- package/lib/core/directives/normalize/strategies/normalize.strategy.d.ts +4 -0
- package/lib/core/directives/normalize/strategies/numeric.strategy.d.ts +4 -0
- package/lib/core/directives/normalize/strategies/uppercase.strategy.d.ts +4 -0
- package/lib/core/directives/string-template-ref.directive.d.ts +19 -0
- package/lib/core/helpers/index.d.ts +1 -0
- package/lib/core/helpers/merge.helper.d.ts +4 -0
- package/lib/core/index.d.ts +5 -0
- package/lib/core/interfaces/control-value.interface.d.ts +2 -0
- package/lib/core/interfaces/index.d.ts +1 -0
- package/lib/core/template/index.d.ts +1 -0
- package/lib/core/template/print/print.d.ts +6 -0
- package/lib/core/template/print/print.pipe.d.ts +7 -0
- package/lib/core/utils/clipboard.util.d.ts +14 -0
- package/lib/core/utils/index.d.ts +1 -0
- package/lib/infra/index.d.ts +1 -0
- package/lib/infra/stores/index.d.ts +1 -0
- package/lib/infra/stores/theme.store.d.ts +12 -0
- package/package.json +58 -0
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
import { basicSetup } from "codemirror";
|
|
2
|
+
import { tomorrow } from "thememirror";
|
|
3
|
+
import { CommonModule, NgClass } from "@angular/common";
|
|
4
|
+
import { ChangeDetectionStrategy, Component, computed, effect, inject, input, linkedSignal, output, signal, viewChild, ViewEncapsulation, } from "@angular/core";
|
|
5
|
+
import { DomSanitizer } from "@angular/platform-browser";
|
|
6
|
+
import { css } from "@codemirror/lang-css";
|
|
7
|
+
import { html } from "@codemirror/lang-html";
|
|
8
|
+
import { java } from "@codemirror/lang-java";
|
|
9
|
+
import { javascript } from "@codemirror/lang-javascript";
|
|
10
|
+
import { json } from "@codemirror/lang-json";
|
|
11
|
+
import { markdown } from "@codemirror/lang-markdown";
|
|
12
|
+
import { Compartment, EditorState } from "@codemirror/state";
|
|
13
|
+
import { oneDark } from "@codemirror/theme-one-dark";
|
|
14
|
+
import { EditorView } from "@codemirror/view";
|
|
15
|
+
import { ClipboardUtil } from "../../core";
|
|
16
|
+
import { AiButton } from "../button";
|
|
17
|
+
import { AiSelectImports } from "../form-field";
|
|
18
|
+
import { AiIcon } from "../icon/icon.component";
|
|
19
|
+
import { AiLoader } from "../loader";
|
|
20
|
+
import { AiTooltipImports } from "../tooltip";
|
|
21
|
+
import { faviconIconsSvg } from "./language-icons";
|
|
22
|
+
import { MarkdownService } from "./markdown.service";
|
|
23
|
+
import * as i0 from "@angular/core";
|
|
24
|
+
import * as i1 from "@angular/common";
|
|
25
|
+
import * as i2 from "../form-field/select/select";
|
|
26
|
+
import * as i3 from "../form-field/select/select-item";
|
|
27
|
+
import * as i4 from "../tooltip/tooltip.directive";
|
|
28
|
+
import * as i5 from "@angular/cdk/overlay";
|
|
29
|
+
export class AiMarkdown {
|
|
30
|
+
#markdownService = inject(MarkdownService);
|
|
31
|
+
#sanitizer = inject(DomSanitizer);
|
|
32
|
+
mode = input("editor", ...(ngDevMode ? [{ debugName: "mode" }] : []));
|
|
33
|
+
code = input("", ...(ngDevMode ? [{ debugName: "code" }] : []));
|
|
34
|
+
language = input("typescript", ...(ngDevMode ? [{ debugName: "language" }] : []));
|
|
35
|
+
theme = input("light", ...(ngDevMode ? [{ debugName: "theme" }] : []));
|
|
36
|
+
class = input("", ...(ngDevMode ? [{ debugName: "class" }] : []));
|
|
37
|
+
tab = signal("code", ...(ngDevMode ? [{ debugName: "tab" }] : []));
|
|
38
|
+
loading = signal(false, ...(ngDevMode ? [{ debugName: "loading" }] : []));
|
|
39
|
+
languages = signal(["typescript", "javascript", "java", "html", "css", "markdown", "bash", "json"], ...(ngDevMode ? [{ debugName: "languages" }] : []));
|
|
40
|
+
themes = signal(["light", "dark"], ...(ngDevMode ? [{ debugName: "themes" }] : []));
|
|
41
|
+
codeLanguage = linkedSignal(this.language, ...(ngDevMode ? [{ debugName: "codeLanguage" }] : []));
|
|
42
|
+
codeTheme = linkedSignal(this.theme, ...(ngDevMode ? [{ debugName: "codeTheme" }] : []));
|
|
43
|
+
currentCode = linkedSignal(this.code, ...(ngDevMode ? [{ debugName: "currentCode" }] : []));
|
|
44
|
+
compiledHtml = signal("", ...(ngDevMode ? [{ debugName: "compiledHtml" }] : []));
|
|
45
|
+
copied = signal(false, ...(ngDevMode ? [{ debugName: "copied" }] : []));
|
|
46
|
+
#editor = signal(undefined, ...(ngDevMode ? [{ debugName: "#editor" }] : []));
|
|
47
|
+
#languageCompartment = new Compartment();
|
|
48
|
+
#themeCompartment = new Compartment();
|
|
49
|
+
#readOnlyCompartment = new Compartment();
|
|
50
|
+
editorContainer = viewChild("editorContainer", ...(ngDevMode ? [{ debugName: "editorContainer" }] : []));
|
|
51
|
+
changeCode = output();
|
|
52
|
+
#previewJob = 0;
|
|
53
|
+
#previewTimer = null;
|
|
54
|
+
languageIconSvg = computed(() => {
|
|
55
|
+
const lang = this.codeLanguage();
|
|
56
|
+
const svg = faviconIconsSvg[lang] || faviconIconsSvg["terminal"];
|
|
57
|
+
return this.#sanitizer.bypassSecurityTrustHtml(svg);
|
|
58
|
+
}, ...(ngDevMode ? [{ debugName: "languageIconSvg" }] : []));
|
|
59
|
+
constructor() {
|
|
60
|
+
this.#markdownService.prewarm().catch(() => undefined);
|
|
61
|
+
effect(() => {
|
|
62
|
+
const container = this.editorContainer()?.nativeElement;
|
|
63
|
+
const mode = this.mode();
|
|
64
|
+
const tab = this.tab();
|
|
65
|
+
if (mode === "editor" && tab === "code" && container && !this.#editor()) {
|
|
66
|
+
this._createEditor(container);
|
|
67
|
+
}
|
|
68
|
+
const editor = this.#editor();
|
|
69
|
+
if (editor) {
|
|
70
|
+
const lang = this.codeLanguage();
|
|
71
|
+
const theme = this.codeTheme();
|
|
72
|
+
const isReadOnly = mode === "viewer" || tab === "preview";
|
|
73
|
+
editor.dispatch({
|
|
74
|
+
effects: [
|
|
75
|
+
this.#languageCompartment.reconfigure(this._getLanguageExtension(lang)),
|
|
76
|
+
this.#themeCompartment.reconfigure(this._getThemeExtension(theme)),
|
|
77
|
+
this.#readOnlyCompartment.reconfigure(this._getReadOnlyExtension(isReadOnly)),
|
|
78
|
+
],
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
effect(() => {
|
|
83
|
+
const mode = this.mode();
|
|
84
|
+
const tab = this.tab();
|
|
85
|
+
if (mode === "viewer" || (mode === "editor" && tab === "preview")) {
|
|
86
|
+
this._schedulePreviewUpdate();
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
setLanguage(item) {
|
|
91
|
+
this.codeLanguage.set(item);
|
|
92
|
+
}
|
|
93
|
+
setTheme() {
|
|
94
|
+
this.codeTheme.update(current => (current === "dark" ? "light" : "dark"));
|
|
95
|
+
}
|
|
96
|
+
setTab(tab) {
|
|
97
|
+
this.tab.set(tab);
|
|
98
|
+
}
|
|
99
|
+
clearCode() {
|
|
100
|
+
const editor = this.#editor();
|
|
101
|
+
if (editor) {
|
|
102
|
+
editor.dispatch({
|
|
103
|
+
changes: { from: 0, to: editor.state.doc.length, insert: "" },
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
this.currentCode.set("");
|
|
107
|
+
this.changeCode.emit("");
|
|
108
|
+
}
|
|
109
|
+
ngOnDestroy() {
|
|
110
|
+
this.#editor()?.destroy();
|
|
111
|
+
clearTimeout(this.#previewTimer);
|
|
112
|
+
}
|
|
113
|
+
async copyCode() {
|
|
114
|
+
const code = this.#editor()?.state.doc.toString() || this.code();
|
|
115
|
+
await ClipboardUtil.copy(code);
|
|
116
|
+
this.copied.set(true);
|
|
117
|
+
setTimeout(() => this.copied.set(false), 3000);
|
|
118
|
+
}
|
|
119
|
+
_createEditor(container) {
|
|
120
|
+
const editor = new EditorView({
|
|
121
|
+
doc: this.currentCode(),
|
|
122
|
+
extensions: [
|
|
123
|
+
basicSetup,
|
|
124
|
+
this.#languageCompartment.of(this._getLanguageExtension(this.codeLanguage())),
|
|
125
|
+
this.#themeCompartment.of(this._getThemeExtension(this.codeTheme())),
|
|
126
|
+
this.#readOnlyCompartment.of(this._getReadOnlyExtension(this.mode() === "viewer")),
|
|
127
|
+
EditorView.updateListener.of(item => {
|
|
128
|
+
if (item.docChanged) {
|
|
129
|
+
const newCode = item.state.doc.toString();
|
|
130
|
+
this.currentCode.set(newCode);
|
|
131
|
+
this.changeCode.emit(newCode);
|
|
132
|
+
}
|
|
133
|
+
}),
|
|
134
|
+
EditorView.lineWrapping,
|
|
135
|
+
],
|
|
136
|
+
parent: container,
|
|
137
|
+
});
|
|
138
|
+
this.#editor.set(editor);
|
|
139
|
+
}
|
|
140
|
+
_getLanguageExtension(lang) {
|
|
141
|
+
const extensions = {
|
|
142
|
+
typescript: () => javascript({ typescript: true }),
|
|
143
|
+
javascript: () => javascript(),
|
|
144
|
+
java: () => java(),
|
|
145
|
+
html: () => html(),
|
|
146
|
+
css: () => css(),
|
|
147
|
+
markdown: () => markdown(),
|
|
148
|
+
bash: () => javascript(),
|
|
149
|
+
json: () => json(),
|
|
150
|
+
};
|
|
151
|
+
return (extensions[lang] || extensions["javascript"])();
|
|
152
|
+
}
|
|
153
|
+
_getThemeExtension(theme) {
|
|
154
|
+
const baseTheme = EditorView.theme({
|
|
155
|
+
"&": {
|
|
156
|
+
fontFamily: "'JetBrains Mono', 'Fira Code', 'Courier New', monospace",
|
|
157
|
+
fontSize: "0.75rem",
|
|
158
|
+
},
|
|
159
|
+
".cm-scroller": {
|
|
160
|
+
fontFamily: "'JetBrains Mono', 'Fira Code', 'Courier New', monospace",
|
|
161
|
+
fontSize: "0.75rem",
|
|
162
|
+
},
|
|
163
|
+
});
|
|
164
|
+
return theme === "dark" ? [baseTheme, oneDark] : [baseTheme, tomorrow];
|
|
165
|
+
}
|
|
166
|
+
_getReadOnlyExtension(isReadOnly) {
|
|
167
|
+
return [EditorState.readOnly.of(isReadOnly), EditorView.editable.of(!isReadOnly)];
|
|
168
|
+
}
|
|
169
|
+
_schedulePreviewUpdate() {
|
|
170
|
+
if (this.#previewTimer)
|
|
171
|
+
clearTimeout(this.#previewTimer);
|
|
172
|
+
this.loading.set(true);
|
|
173
|
+
this.#previewTimer = setTimeout(() => {
|
|
174
|
+
void this._updatePreview();
|
|
175
|
+
}, 200);
|
|
176
|
+
}
|
|
177
|
+
async _updatePreview() {
|
|
178
|
+
const jobId = ++this.#previewJob;
|
|
179
|
+
const content = this.currentCode() || this.code();
|
|
180
|
+
if (!content) {
|
|
181
|
+
this.compiledHtml.set("");
|
|
182
|
+
this.loading.set(false);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
try {
|
|
186
|
+
const lang = this.codeLanguage();
|
|
187
|
+
const isMarkdown = lang === "markdown";
|
|
188
|
+
const composed = isMarkdown ? content : `\`\`\`${lang} showLineNumbers\n${content}\n\`\`\``;
|
|
189
|
+
const html = await this.#markdownService.processMarkdown(composed);
|
|
190
|
+
if (jobId === this.#previewJob) {
|
|
191
|
+
this.compiledHtml.set(this.#sanitizer.bypassSecurityTrustHtml(html));
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
catch (error) {
|
|
195
|
+
console.error("Preview processing error:", error);
|
|
196
|
+
}
|
|
197
|
+
finally {
|
|
198
|
+
if (jobId === this.#previewJob) {
|
|
199
|
+
this.loading.set(false);
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
}
|
|
203
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AiMarkdown, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
204
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.1.1", type: AiMarkdown, isStandalone: true, selector: "ai-markdown", inputs: { mode: { classPropertyName: "mode", publicName: "mode", isSignal: true, isRequired: false, transformFunction: null }, code: { classPropertyName: "code", publicName: "code", isSignal: true, isRequired: false, transformFunction: null }, language: { classPropertyName: "language", publicName: "language", isSignal: true, isRequired: false, transformFunction: null }, theme: { classPropertyName: "theme", publicName: "theme", isSignal: true, isRequired: false, transformFunction: null }, class: { classPropertyName: "class", publicName: "class", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { changeCode: "changeCode" }, viewQueries: [{ propertyName: "editorContainer", first: true, predicate: ["editorContainer"], descendants: true, isSignal: true }], exportAs: ["aiMarkdown"], ngImport: i0, template: "@if (mode() === \"viewer\") {\r\n <div class=\"rounded-lg border border-border w-full\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: true }\" />\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n} @else {\r\n <main class=\"overflow-hidden transition-all duration-200 ease-in-out w-full flex flex-col gap-y-4\">\r\n <div class=\"flex items-center justify-between gap-4\">\r\n <div class=\"flex items-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1.5 w-max rounded p-1 bg-default/90 shadow-sm\">\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'code' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('code')\">\r\n Code\r\n </button>\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'preview' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('preview')\">\r\n Preview\r\n </button>\r\n </div>\r\n \r\n @let event = codeLanguage();\r\n <ai-select (selectedValueChange)=\"setLanguage(event)\" [(value)]=\"codeLanguage\" class=\"w-40\" placeholder=\"Selecionar linguagem\">\r\n @for (item of languages(); track item) {\r\n <ai-select-item [value]=\"item\">\r\n {{ item }}\r\n </ai-select-item>\r\n }\r\n </ai-select>\r\n </div>\r\n \r\n <div class=\"flex items-center gap-x-2\">\r\n <ai-button type=\"button\" \r\n variant=\"default\" \r\n size=\"xs\" \r\n (click)=\"setTheme()\" \r\n [icon]=\"codeTheme() === 'dark' ? 'sun' : 'moon'\" \r\n [aiTooltip]=\"codeTheme() === 'light' ? 'Dark' : 'Light'\" />\r\n \r\n <ai-button type=\"button\" variant=\"default\" size=\"xs\" icon=\"brush-3\" (click)=\"clearCode()\" aiTooltip=\"Limpar\" />\r\n </div>\r\n </div>\r\n \r\n <div class=\"py-2 border-t border-border\">\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'code'\">\r\n <div class=\"rounded-lg border border-border w-full my-2\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: false }\" />\r\n <div #editorContainer class=\"w-full rounded-b-lg overflow-hidden\"></div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'preview'\">\r\n @if (tab() === 'preview') {\r\n <div [ngClass]=\"['rounded-lg border border-border w-full overflow-hidden', codeLanguage() === 'markdown' ? 'px-2' : '', codeTheme() === 'dark' ? 'bg-[#0d1117]' : 'bg-background']\">\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </main>\r\n}\r\n\r\n<ng-template #codeHeader let-showThemeToggle=\"showThemeToggle\">\r\n <div class=\"flex justify-between items-center px-3 py-2 border-b border-border bg-muted text-sm\">\r\n <div class=\"flex items-center gap-2\">\r\n <div [innerHTML]=\"languageIconSvg()\" class=\"w-3 h-3\"></div>\r\n <span class=\"font-medium text-xs font-text text-muted-foreground\">{{ codeLanguage() }}</span>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2\">\r\n @if (showThemeToggle) {\r\n <ai-button type=\"button\" variant=\"default\" (click)=\"setTheme()\" size=\"xs\" class=\"h-6 w-6 leading-6\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n </ai-button>\r\n <ai-button variant=\"default\" class=\"h-6 w-6 leading-6\" size=\"xs\" (click)=\"copyCode()\">\r\n <ai-icon \r\n [icon]=\"!copied() ? 'file-copy' : 'check-double'\" \r\n size=\"sm\"\r\n [aiTooltip]=\"!copied() ? 'Copiar' : 'Copiado'\" />\r\n </ai-button>\r\n } @else {\r\n <span class=\"flex items-center gap-1 text-xs text-muted-foreground\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n {{ codeTheme() }}\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #previewContent>\r\n @if (loading()) {\r\n <div class=\"flex items-center justify-center p-8 bg-muted/50\">\r\n <ai-loader size=\"sm\" type=\"spinner\" />\r\n <span class=\"ml-2 text-muted-foreground text-sm font-semibold\">Carregando preview...</span>\r\n </div>\r\n } @else {\r\n <div class=\"ai-markdown-preview w-full overflow-hidden\" [class.ai-md-theme-dark]=\"codeTheme() === 'dark'\" [class.ai-md-theme-light]=\"codeTheme() === 'light'\" [innerHTML]=\"compiledHtml()\"></div>\r\n }\r\n</ng-template>", styles: ["@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@media important{@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}}@plugin \"tailwindcss-animate\";@custom-variant dark (&:is(.dark *));:root{--text: \"Nunito Sans\", sans-serif;--title: \"Montserrat\", sans-serif;--code: \"JetBrains Mono\", monospace;--background: oklch(100% 0 0);--foreground: oklch(0% 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.525 0 0);--default: oklch(94.969% .00277 285.769);--default-foreground: oklch(.225 0 0);--primary: oklch(20.77% .04 265.75);--primary-foreground: oklch(1 0 0);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(97.02% 0 0);--ghost-foreground: oklch(.333 0 0);--warning: oklch(.625 .163 48.998);--warning-foreground: oklch(.969 0 0);--success: oklch(54.69% .184 142.23);--success-foreground: oklch(1 0 0);--info: oklch(49.02% .21 266.93);--info-foreground: oklch(1 0 0);--destructive: oklch(52.01% .19 24.6);--destructive-foreground: oklch(1 0 0);--border: oklch(92.2% 0 0);--input: oklch(92.2% 0 0);--ring: oklch(70.8% 0 0)}.dark{--background: oklch(20.46% 0 0);--foreground: oklch(98.51% 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--default: oklch(.269 0 0);--default-foreground: oklch(.985 0 0);--primary: oklch(97.29% .012 247.95);--primary-foreground: oklch(20.77% .04 265.75);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(26.86% 0 0);--ghost-foreground: oklch(70.9% 0 0);--warning: oklch(82.07% .15 75.5);--warning-foreground: oklch(39.15% .119 35.84);--success: oklch(91.74% .155 140.26);--success-foreground: oklch(26.97% .086 142.39);--info: oklch(79.78% .088 258.13);--info-foreground: oklch(27.92% .081 271.53);--destructive: oklch(81.06% .098 15.53);--destructive-foreground: oklch(25.63% .083 22.57);--border: oklch(26.86% 0 0);--input: oklch(26.86% 0 0);--ring: oklch(32.55% 0 0)}@theme inline{ --font-text: var(--text); --font-title: var(--title); --font-code: var(--code); --color-background: var(--background); --color-foreground: var(--foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-default: var(--default); --color-default-foreground: var(--default-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-ghost: var(--ghost); --color-ghost-foreground: var(--ghost-foreground); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-info: var(--info); --color-info-foreground: var(--info-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); }.ai-markdown-preview.ai-md-theme-light pre{@apply bg-muted rounded-md;}.ai-markdown-preview.ai-md-theme-light pre code span{color:var(--shiki-light)!important}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light h3,.ai-markdown-preview.ai-md-theme-light h4,.ai-markdown-preview.ai-md-theme-light h5,.ai-markdown-preview.ai-md-theme-light h6,.ai-markdown-preview.ai-md-theme-light strong,.ai-markdown-preview.ai-md-theme-light b{@apply text-primary;}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light hr,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light p,.ai-markdown-preview.ai-md-theme-light span,.ai-markdown-preview.ai-md-theme-light a,.ai-markdown-preview.ai-md-theme-light li,.ai-markdown-preview.ai-md-theme-light th,.ai-markdown-preview.ai-md-theme-light td,.ai-markdown-preview.ai-md-theme-light caption{@apply text-muted-foreground;}.ai-markdown-preview.ai-md-theme-light a{@apply hover:text-primary underline;}.ai-markdown-preview.ai-md-theme-light blockquote{@apply border-l-primary bg-default;}.ai-markdown-preview.ai-md-theme-light table{@apply rounded-md border border-border;}.ai-markdown-preview.ai-md-theme-light thead,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light tfoot,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply bg-transparent;}.ai-markdown-preview.ai-md-theme-light tr{@apply hover:bg-default;}.ai-markdown-preview.ai-md-theme-light th{@apply text-primary bg-default;}.ai-markdown-preview.ai-md-theme-dark pre{background-color:#0d1117!important}.ai-markdown-preview.ai-md-theme-dark pre code span{color:var(--shiki-dark)!important}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark h3,.ai-markdown-preview.ai-md-theme-dark h4,.ai-markdown-preview.ai-md-theme-dark h5,.ai-markdown-preview.ai-md-theme-dark h6,.ai-markdown-preview.ai-md-theme-dark strong,.ai-markdown-preview.ai-md-theme-dark b{@apply text-white;}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark hr,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-[#262626];}.ai-markdown-preview.ai-md-theme-dark p,.ai-markdown-preview.ai-md-theme-dark span,.ai-markdown-preview.ai-md-theme-dark a,.ai-markdown-preview.ai-md-theme-dark li,.ai-markdown-preview.ai-md-theme-dark th,.ai-markdown-preview.ai-md-theme-dark td,.ai-markdown-preview.ai-md-theme-dark caption{color:#a1a1a1}.ai-markdown-preview.ai-md-theme-dark a{@apply hover:text-white underline;}.ai-markdown-preview.ai-md-theme-dark blockquote{@apply border-l-accent bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark table{@apply rounded-md border border-[#262626];}.ai-markdown-preview.ai-md-theme-dark thead,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-b border-[#262626];}.ai-markdown-preview.ai-md-theme-dark tfoot,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply bg-[#0d1117];}.ai-markdown-preview.ai-md-theme-dark tr{@apply hover:bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark th{@apply text-white bg-[#0d1117];}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: AiIcon, selector: "ai-icon, [ai-icon]", inputs: ["icon", "size", "type", "disabled", "class"], exportAs: ["aiIcon"] }, { kind: "component", type: AiButton, selector: "ai-button, button[ai-button], a[ai-button]", inputs: ["variant", "size", "shape", "type", "fill", "class", "icon", "full", "loading", "disabled"], exportAs: ["aiButton"] }, { kind: "component", type: AiLoader, selector: "ai-loader", inputs: ["size", "type", "overlay", "class"], exportAs: ["aiLoader"] }, { kind: "component", type: i2.AiSelect, selector: "ai-select", inputs: ["maxLabelCount", "multiple", "value", "disabled", "invalid", "readonly", "required", "label", "placeholder", "id", "touched", "class", "size", "selectedValue"], outputs: ["valueChange", "touchedChange", "selectedValueChange", "selectionChange"], exportAs: ["aiSelect"] }, { kind: "component", type: i3.AiSelectItem, selector: "ai-select-item, [ai-select-item]", inputs: ["value", "disabled", "class"] }, { kind: "directive", type: i4.AiTooltipDirective, selector: "[aiTooltip]", inputs: ["aiPosition", "aiTrigger", "aiTooltip", "aiShowDelay", "aiHideDelay"], outputs: ["show", "hide"], exportAs: ["aiTooltip"] }, { kind: "ngmodule", type: i5.OverlayModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
205
|
+
}
|
|
206
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AiMarkdown, decorators: [{
|
|
207
|
+
type: Component,
|
|
208
|
+
args: [{ selector: "ai-markdown", exportAs: "aiMarkdown", imports: [CommonModule, AiIcon, AiButton, AiLoader, AiSelectImports, NgClass, AiTooltipImports], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (mode() === \"viewer\") {\r\n <div class=\"rounded-lg border border-border w-full\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: true }\" />\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n} @else {\r\n <main class=\"overflow-hidden transition-all duration-200 ease-in-out w-full flex flex-col gap-y-4\">\r\n <div class=\"flex items-center justify-between gap-4\">\r\n <div class=\"flex items-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1.5 w-max rounded p-1 bg-default/90 shadow-sm\">\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'code' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('code')\">\r\n Code\r\n </button>\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'preview' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('preview')\">\r\n Preview\r\n </button>\r\n </div>\r\n \r\n @let event = codeLanguage();\r\n <ai-select (selectedValueChange)=\"setLanguage(event)\" [(value)]=\"codeLanguage\" class=\"w-40\" placeholder=\"Selecionar linguagem\">\r\n @for (item of languages(); track item) {\r\n <ai-select-item [value]=\"item\">\r\n {{ item }}\r\n </ai-select-item>\r\n }\r\n </ai-select>\r\n </div>\r\n \r\n <div class=\"flex items-center gap-x-2\">\r\n <ai-button type=\"button\" \r\n variant=\"default\" \r\n size=\"xs\" \r\n (click)=\"setTheme()\" \r\n [icon]=\"codeTheme() === 'dark' ? 'sun' : 'moon'\" \r\n [aiTooltip]=\"codeTheme() === 'light' ? 'Dark' : 'Light'\" />\r\n \r\n <ai-button type=\"button\" variant=\"default\" size=\"xs\" icon=\"brush-3\" (click)=\"clearCode()\" aiTooltip=\"Limpar\" />\r\n </div>\r\n </div>\r\n \r\n <div class=\"py-2 border-t border-border\">\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'code'\">\r\n <div class=\"rounded-lg border border-border w-full my-2\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: false }\" />\r\n <div #editorContainer class=\"w-full rounded-b-lg overflow-hidden\"></div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'preview'\">\r\n @if (tab() === 'preview') {\r\n <div [ngClass]=\"['rounded-lg border border-border w-full overflow-hidden', codeLanguage() === 'markdown' ? 'px-2' : '', codeTheme() === 'dark' ? 'bg-[#0d1117]' : 'bg-background']\">\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </main>\r\n}\r\n\r\n<ng-template #codeHeader let-showThemeToggle=\"showThemeToggle\">\r\n <div class=\"flex justify-between items-center px-3 py-2 border-b border-border bg-muted text-sm\">\r\n <div class=\"flex items-center gap-2\">\r\n <div [innerHTML]=\"languageIconSvg()\" class=\"w-3 h-3\"></div>\r\n <span class=\"font-medium text-xs font-text text-muted-foreground\">{{ codeLanguage() }}</span>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2\">\r\n @if (showThemeToggle) {\r\n <ai-button type=\"button\" variant=\"default\" (click)=\"setTheme()\" size=\"xs\" class=\"h-6 w-6 leading-6\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n </ai-button>\r\n <ai-button variant=\"default\" class=\"h-6 w-6 leading-6\" size=\"xs\" (click)=\"copyCode()\">\r\n <ai-icon \r\n [icon]=\"!copied() ? 'file-copy' : 'check-double'\" \r\n size=\"sm\"\r\n [aiTooltip]=\"!copied() ? 'Copiar' : 'Copiado'\" />\r\n </ai-button>\r\n } @else {\r\n <span class=\"flex items-center gap-1 text-xs text-muted-foreground\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n {{ codeTheme() }}\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #previewContent>\r\n @if (loading()) {\r\n <div class=\"flex items-center justify-center p-8 bg-muted/50\">\r\n <ai-loader size=\"sm\" type=\"spinner\" />\r\n <span class=\"ml-2 text-muted-foreground text-sm font-semibold\">Carregando preview...</span>\r\n </div>\r\n } @else {\r\n <div class=\"ai-markdown-preview w-full overflow-hidden\" [class.ai-md-theme-dark]=\"codeTheme() === 'dark'\" [class.ai-md-theme-light]=\"codeTheme() === 'light'\" [innerHTML]=\"compiledHtml()\"></div>\r\n }\r\n</ng-template>", styles: ["@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@media important{@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"; --font-serif: ui-serif, Georgia, Cambria, \"Times New Roman\", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:--theme(--default-font-family,ui-sans-serif,system-ui,sans-serif,\"Apple Color Emoji\",\"Segoe UI Emoji\",\"Segoe UI Symbol\",\"Noto Color Emoji\");font-feature-settings:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",\"Courier New\",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]),::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}}@plugin \"tailwindcss-animate\";@custom-variant dark (&:is(.dark *));:root{--text: \"Nunito Sans\", sans-serif;--title: \"Montserrat\", sans-serif;--code: \"JetBrains Mono\", monospace;--background: oklch(100% 0 0);--foreground: oklch(0% 0 0);--muted: oklch(.97 0 0);--muted-foreground: oklch(.525 0 0);--default: oklch(94.969% .00277 285.769);--default-foreground: oklch(.225 0 0);--primary: oklch(20.77% .04 265.75);--primary-foreground: oklch(1 0 0);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(97.02% 0 0);--ghost-foreground: oklch(.333 0 0);--warning: oklch(.625 .163 48.998);--warning-foreground: oklch(.969 0 0);--success: oklch(54.69% .184 142.23);--success-foreground: oklch(1 0 0);--info: oklch(49.02% .21 266.93);--info-foreground: oklch(1 0 0);--destructive: oklch(52.01% .19 24.6);--destructive-foreground: oklch(1 0 0);--border: oklch(92.2% 0 0);--input: oklch(92.2% 0 0);--ring: oklch(70.8% 0 0)}.dark{--background: oklch(20.46% 0 0);--foreground: oklch(98.51% 0 0);--muted: oklch(.269 0 0);--muted-foreground: oklch(.708 0 0);--default: oklch(.269 0 0);--default-foreground: oklch(.985 0 0);--primary: oklch(97.29% .012 247.95);--primary-foreground: oklch(20.77% .04 265.75);--accent: oklch(75.35% .139 232.66);--accent-foreground: oklch(1 0 0);--ghost: oklch(26.86% 0 0);--ghost-foreground: oklch(70.9% 0 0);--warning: oklch(82.07% .15 75.5);--warning-foreground: oklch(39.15% .119 35.84);--success: oklch(91.74% .155 140.26);--success-foreground: oklch(26.97% .086 142.39);--info: oklch(79.78% .088 258.13);--info-foreground: oklch(27.92% .081 271.53);--destructive: oklch(81.06% .098 15.53);--destructive-foreground: oklch(25.63% .083 22.57);--border: oklch(26.86% 0 0);--input: oklch(26.86% 0 0);--ring: oklch(32.55% 0 0)}@theme inline{ --font-text: var(--text); --font-title: var(--title); --font-code: var(--code); --color-background: var(--background); --color-foreground: var(--foreground); --color-muted: var(--muted); --color-muted-foreground: var(--muted-foreground); --color-default: var(--default); --color-default-foreground: var(--default-foreground); --color-primary: var(--primary); --color-primary-foreground: var(--primary-foreground); --color-accent: var(--accent); --color-accent-foreground: var(--accent-foreground); --color-ghost: var(--ghost); --color-ghost-foreground: var(--ghost-foreground); --color-warning: var(--warning); --color-warning-foreground: var(--warning-foreground); --color-success: var(--success); --color-success-foreground: var(--success-foreground); --color-info: var(--info); --color-info-foreground: var(--info-foreground); --color-destructive: var(--destructive); --color-destructive-foreground: var(--destructive-foreground); --color-border: var(--border); --color-input: var(--input); --color-ring: var(--ring); }.ai-markdown-preview.ai-md-theme-light pre{@apply bg-muted rounded-md;}.ai-markdown-preview.ai-md-theme-light pre code span{color:var(--shiki-light)!important}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light h3,.ai-markdown-preview.ai-md-theme-light h4,.ai-markdown-preview.ai-md-theme-light h5,.ai-markdown-preview.ai-md-theme-light h6,.ai-markdown-preview.ai-md-theme-light strong,.ai-markdown-preview.ai-md-theme-light b{@apply text-primary;}.ai-markdown-preview.ai-md-theme-light h1,.ai-markdown-preview.ai-md-theme-light h2,.ai-markdown-preview.ai-md-theme-light hr,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light p,.ai-markdown-preview.ai-md-theme-light span,.ai-markdown-preview.ai-md-theme-light a,.ai-markdown-preview.ai-md-theme-light li,.ai-markdown-preview.ai-md-theme-light th,.ai-markdown-preview.ai-md-theme-light td,.ai-markdown-preview.ai-md-theme-light caption{@apply text-muted-foreground;}.ai-markdown-preview.ai-md-theme-light a{@apply hover:text-primary underline;}.ai-markdown-preview.ai-md-theme-light blockquote{@apply border-l-primary bg-default;}.ai-markdown-preview.ai-md-theme-light table{@apply rounded-md border border-border;}.ai-markdown-preview.ai-md-theme-light thead,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply border-border;}.ai-markdown-preview.ai-md-theme-light tfoot,.ai-markdown-preview.ai-md-theme-light tbody,.ai-markdown-preview.ai-md-theme-light tr{@apply bg-transparent;}.ai-markdown-preview.ai-md-theme-light tr{@apply hover:bg-default;}.ai-markdown-preview.ai-md-theme-light th{@apply text-primary bg-default;}.ai-markdown-preview.ai-md-theme-dark pre{background-color:#0d1117!important}.ai-markdown-preview.ai-md-theme-dark pre code span{color:var(--shiki-dark)!important}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark h3,.ai-markdown-preview.ai-md-theme-dark h4,.ai-markdown-preview.ai-md-theme-dark h5,.ai-markdown-preview.ai-md-theme-dark h6,.ai-markdown-preview.ai-md-theme-dark strong,.ai-markdown-preview.ai-md-theme-dark b{@apply text-white;}.ai-markdown-preview.ai-md-theme-dark h1,.ai-markdown-preview.ai-md-theme-dark h2,.ai-markdown-preview.ai-md-theme-dark hr,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-[#262626];}.ai-markdown-preview.ai-md-theme-dark p,.ai-markdown-preview.ai-md-theme-dark span,.ai-markdown-preview.ai-md-theme-dark a,.ai-markdown-preview.ai-md-theme-dark li,.ai-markdown-preview.ai-md-theme-dark th,.ai-markdown-preview.ai-md-theme-dark td,.ai-markdown-preview.ai-md-theme-dark caption{color:#a1a1a1}.ai-markdown-preview.ai-md-theme-dark a{@apply hover:text-white underline;}.ai-markdown-preview.ai-md-theme-dark blockquote{@apply border-l-accent bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark table{@apply rounded-md border border-[#262626];}.ai-markdown-preview.ai-md-theme-dark thead,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply border-b border-[#262626];}.ai-markdown-preview.ai-md-theme-dark tfoot,.ai-markdown-preview.ai-md-theme-dark tbody,.ai-markdown-preview.ai-md-theme-dark tr{@apply bg-[#0d1117];}.ai-markdown-preview.ai-md-theme-dark tr{@apply hover:bg-[#262626];}.ai-markdown-preview.ai-md-theme-dark th{@apply text-white bg-[#0d1117];}\n"] }]
|
|
209
|
+
}], ctorParameters: () => [], propDecorators: { mode: [{ type: i0.Input, args: [{ isSignal: true, alias: "mode", required: false }] }], code: [{ type: i0.Input, args: [{ isSignal: true, alias: "code", required: false }] }], language: [{ type: i0.Input, args: [{ isSignal: true, alias: "language", required: false }] }], theme: [{ type: i0.Input, args: [{ isSignal: true, alias: "theme", required: false }] }], class: [{ type: i0.Input, args: [{ isSignal: true, alias: "class", required: false }] }], editorContainer: [{ type: i0.ViewChild, args: ["editorContainer", { isSignal: true }] }], changeCode: [{ type: i0.Output, args: ["changeCode"] }] } });
|
|
210
|
+
//# sourceMappingURL=markdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../../../../../../libs/ai-ui/src/lib/components/markdown/markdown.ts","../../../../../../../libs/ai-ui/src/lib/components/markdown/markdown.html"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EACH,uBAAuB,EACvB,SAAS,EACT,QAAQ,EACR,MAAM,EAEN,MAAM,EACN,KAAK,EACL,YAAY,EAEZ,MAAM,EACN,MAAM,EACN,SAAS,EACT,iBAAiB,GACpB,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,YAAY,EAAY,MAAM,2BAA2B,CAAC;AACnE,OAAO,EAAE,GAAG,EAAE,MAAM,sBAAsB,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,WAAW,EAAa,MAAM,mBAAmB,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;;;;;;;AAmBrD,MAAM,OAAO,UAAU;IACnB,gBAAgB,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;IAC3C,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAEzB,IAAI,GAAG,KAAK,CAAsB,QAAQ,gDAAC,CAAC;IAC5C,IAAI,GAAG,KAAK,CAAS,EAAE,gDAAC,CAAC;IACzB,QAAQ,GAAG,KAAK,CAAiB,YAAY,oDAAC,CAAC;IAC/C,KAAK,GAAG,KAAK,CAAc,OAAO,iDAAC,CAAC;IACpC,KAAK,GAAG,KAAK,CAAa,EAAE,iDAAC,CAAC;IAEpB,GAAG,GAAG,MAAM,CAAqB,MAAM,+CAAC,CAAC;IACzC,OAAO,GAAG,MAAM,CAAU,KAAK,mDAAC,CAAC;IAEpD,SAAS,GAAG,MAAM,CAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,qDAAC,CAAC;IACtH,MAAM,GAAG,MAAM,CAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,kDAAC,CAAC;IAElD,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC,QAAQ,wDAAC,CAAC;IAC3C,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,qDAAC,CAAC;IACrC,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,uDAAC,CAAC;IACtC,YAAY,GAAG,MAAM,CAAW,EAAE,wDAAC,CAAC;IACpC,MAAM,GAAG,MAAM,CAAU,KAAK,kDAAC,CAAC;IAEhC,OAAO,GAAG,MAAM,CAAyB,SAAS,mDAAC,CAAC;IACpD,oBAAoB,GAAG,IAAI,WAAW,EAAE,CAAC;IACzC,iBAAiB,GAAG,IAAI,WAAW,EAAE,CAAC;IACtC,oBAAoB,GAAG,IAAI,WAAW,EAAE,CAAC;IAEzC,eAAe,GAAG,SAAS,CAA0B,iBAAiB,2DAAC,CAAC;IACxE,UAAU,GAAG,MAAM,EAAU,CAAC;IAE9B,WAAW,GAAG,CAAC,CAAC;IAChB,aAAa,GAAQ,IAAI,CAAC;IAE1B,eAAe,GAAG,QAAQ,CAAC,GAAG,EAAE;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,GAAG,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC,2DAAC,CAAC;IAEH;QACI,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAEvD,MAAM,CAAC,GAAG,EAAE;YACR,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,EAAE,EAAE,aAAa,CAAC;YACxD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;gBACtE,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;YAClC,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,MAAM,EAAE,CAAC;gBACT,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,UAAU,GAAG,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,CAAC;gBAE1D,MAAM,CAAC,QAAQ,CAAC;oBACZ,OAAO,EAAE;wBACL,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;wBACvE,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;wBAClE,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;qBAChF;iBACJ,CAAC,CAAC;YACP,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,GAAG,EAAE;YACR,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAEvB,IAAI,IAAI,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,CAAC,EAAE,CAAC;gBAChE,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAClC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,IAAoB;QAC5B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,CAAC,GAAuB;QAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACtB,CAAC;IAED,SAAS;QACL,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC9B,IAAI,MAAM,EAAE,CAAC;YACT,MAAM,CAAC,QAAQ,CAAC;gBACZ,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE;aAChE,CAAC,CAAC;QACP,CAAC;QACD,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED,WAAW;QACP,IAAI,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC;QAC1B,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,QAAQ;QACV,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACjE,MAAM,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IACnD,CAAC;IAEO,aAAa,CAAC,SAAsB;QACxC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC;YAC1B,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE;YACvB,UAAU,EAAE;gBACR,UAAU;gBACV,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;gBAC7E,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,QAAQ,CAAC,CAAC;gBAClF,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE;oBAChC,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;wBAC1C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAC9B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAClC,CAAC;gBACL,CAAC,CAAC;gBACF,UAAU,CAAC,YAAY;aAC1B;YACD,MAAM,EAAE,SAAS;SACpB,CAAC,CAAC;QACH,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAEO,qBAAqB,CAAC,IAAoB;QAC9C,MAAM,UAAU,GAA4C;YACxD,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;YAClD,UAAU,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;YAC9B,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAClB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;YAClB,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE;YAChB,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE;YAC1B,IAAI,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;YACxB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE;SACrB,CAAC;QACF,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAEO,kBAAkB,CAAC,KAAkB;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,CAAC;YAC/B,GAAG,EAAE;gBACD,UAAU,EAAE,yDAAyD;gBACrE,QAAQ,EAAE,SAAS;aACtB;YACD,cAAc,EAAE;gBACZ,UAAU,EAAE,yDAAyD;gBACrE,QAAQ,EAAE,SAAS;aACtB;SACJ,CAAC,CAAC;QAEH,OAAO,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC3E,CAAC;IAEO,qBAAqB,CAAC,UAAmB;QAC7C,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,sBAAsB;QAC1B,IAAI,IAAI,CAAC,aAAa;YAAE,YAAY,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAEvB,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,GAAG,EAAE;YACjC,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC;QAC/B,CAAC,EAAE,GAAG,CAAC,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,cAAc;QACxB,MAAM,KAAK,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC;QACjC,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAElD,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACxB,OAAO;QACX,CAAC;QAED,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACjC,MAAM,UAAU,GAAG,IAAI,KAAK,UAAU,CAAC;YAEvC,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,IAAI,qBAAqB,OAAO,UAAU,CAAC;YAC5F,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;YAEnE,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,uBAAuB,CAAC,IAAI,CAAC,CAAC,CAAC;YACzE,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;gBAAS,CAAC;YACP,IAAI,KAAK,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;IACL,CAAC;uGA3MQ,UAAU;2FAAV,UAAU,m3BCzDvB,y7KAkGc,qh4CD/CA,YAAY,oSAAE,MAAM,4IAAE,QAAQ,qNAAE,QAAQ;;2FAMzC,UAAU;kBATtB,SAAS;+BACI,aAAa,YACb,YAAY,WACb,CAAC,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,EAAE,gBAAgB,CAAC,iBAGhF,iBAAiB,CAAC,IAAI,mBACpB,uBAAuB,CAAC,MAAM;2iBA6BM,iBAAiB","sourcesContent":["import { ClassValue } from \"clsx\";\r\nimport { basicSetup } from \"codemirror\";\r\nimport { tomorrow } from \"thememirror\";\r\n\r\nimport { CommonModule, NgClass } from \"@angular/common\";\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n computed,\r\n effect,\r\n ElementRef,\r\n inject,\r\n input,\r\n linkedSignal,\r\n OnDestroy,\r\n output,\r\n signal,\r\n viewChild,\r\n ViewEncapsulation,\r\n} from \"@angular/core\";\r\nimport { DomSanitizer, SafeHtml } from \"@angular/platform-browser\";\r\nimport { css } from \"@codemirror/lang-css\";\r\nimport { html } from \"@codemirror/lang-html\";\r\nimport { java } from \"@codemirror/lang-java\";\r\nimport { javascript } from \"@codemirror/lang-javascript\";\r\nimport { json } from \"@codemirror/lang-json\";\r\nimport { markdown } from \"@codemirror/lang-markdown\";\r\nimport { Compartment, EditorState, Extension } from \"@codemirror/state\";\r\nimport { oneDark } from \"@codemirror/theme-one-dark\";\r\nimport { EditorView } from \"@codemirror/view\";\r\n\r\nimport { ClipboardUtil } from \"../../core\";\r\nimport { AiButton } from \"../button\";\r\nimport { AiSelectImports } from \"../form-field\";\r\nimport { AiIcon } from \"../icon/icon.component\";\r\nimport { AiLoader } from \"../loader\";\r\nimport { AiTooltipImports } from \"../tooltip\";\r\nimport { faviconIconsSvg } from \"./language-icons\";\r\nimport { MarkdownService } from \"./markdown.service\";\r\n\r\nexport type AiLanguageType = \"typescript\" | \"javascript\" | \"html\" | \"css\" | \"json\" | \"bash\" | \"markdown\" | \"java\";\r\nexport type AiThemeType = \"light\" | \"dark\";\r\n\r\nexport type languageIcon = {\r\n language: AiLanguageType;\r\n icon: string;\r\n};\r\n\r\n@Component({\r\n selector: \"ai-markdown\",\r\n exportAs: \"aiMarkdown\",\r\n imports: [CommonModule, AiIcon, AiButton, AiLoader, AiSelectImports, NgClass, AiTooltipImports],\r\n templateUrl: \"./markdown.html\",\r\n styleUrl: \"./markdown.scss\",\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n})\r\nexport class AiMarkdown implements OnDestroy {\r\n #markdownService = inject(MarkdownService);\r\n #sanitizer = inject(DomSanitizer);\r\n\r\n readonly mode = input<\"editor\" | \"viewer\">(\"editor\");\r\n readonly code = input<string>(\"\");\r\n readonly language = input<AiLanguageType>(\"typescript\");\r\n readonly theme = input<AiThemeType>(\"light\");\r\n readonly class = input<ClassValue>(\"\");\r\n\r\n protected readonly tab = signal<\"code\" | \"preview\">(\"code\");\r\n protected readonly loading = signal<boolean>(false);\r\n\r\n languages = signal<AiLanguageType[]>([\"typescript\", \"javascript\", \"java\", \"html\", \"css\", \"markdown\", \"bash\", \"json\"]);\r\n themes = signal<AiThemeType[]>([\"light\", \"dark\"]);\r\n\r\n codeLanguage = linkedSignal(this.language);\r\n codeTheme = linkedSignal(this.theme);\r\n currentCode = linkedSignal(this.code);\r\n compiledHtml = signal<SafeHtml>(\"\");\r\n copied = signal<boolean>(false);\r\n\r\n #editor = signal<EditorView | undefined>(undefined);\r\n #languageCompartment = new Compartment();\r\n #themeCompartment = new Compartment();\r\n #readOnlyCompartment = new Compartment();\r\n\r\n editorContainer = viewChild<ElementRef<HTMLElement>>(\"editorContainer\");\r\n changeCode = output<string>();\r\n\r\n #previewJob = 0;\r\n #previewTimer: any = null;\r\n\r\n languageIconSvg = computed(() => {\r\n const lang = this.codeLanguage();\r\n const svg = faviconIconsSvg[lang] || faviconIconsSvg[\"terminal\"];\r\n return this.#sanitizer.bypassSecurityTrustHtml(svg);\r\n });\r\n\r\n constructor() {\r\n this.#markdownService.prewarm().catch(() => undefined);\r\n\r\n effect(() => {\r\n const container = this.editorContainer()?.nativeElement;\r\n const mode = this.mode();\r\n const tab = this.tab();\r\n\r\n if (mode === \"editor\" && tab === \"code\" && container && !this.#editor()) {\r\n this._createEditor(container);\r\n }\r\n\r\n const editor = this.#editor();\r\n if (editor) {\r\n const lang = this.codeLanguage();\r\n const theme = this.codeTheme();\r\n const isReadOnly = mode === \"viewer\" || tab === \"preview\";\r\n\r\n editor.dispatch({\r\n effects: [\r\n this.#languageCompartment.reconfigure(this._getLanguageExtension(lang)),\r\n this.#themeCompartment.reconfigure(this._getThemeExtension(theme)),\r\n this.#readOnlyCompartment.reconfigure(this._getReadOnlyExtension(isReadOnly)),\r\n ],\r\n });\r\n }\r\n });\r\n\r\n effect(() => {\r\n const mode = this.mode();\r\n const tab = this.tab();\r\n\r\n if (mode === \"viewer\" || (mode === \"editor\" && tab === \"preview\")) {\r\n this._schedulePreviewUpdate();\r\n }\r\n });\r\n }\r\n\r\n setLanguage(item: AiLanguageType) {\r\n this.codeLanguage.set(item);\r\n }\r\n\r\n setTheme() {\r\n this.codeTheme.update(current => (current === \"dark\" ? \"light\" : \"dark\"));\r\n }\r\n\r\n setTab(tab: \"code\" | \"preview\") {\r\n this.tab.set(tab);\r\n }\r\n\r\n clearCode() {\r\n const editor = this.#editor();\r\n if (editor) {\r\n editor.dispatch({\r\n changes: { from: 0, to: editor.state.doc.length, insert: \"\" },\r\n });\r\n }\r\n this.currentCode.set(\"\");\r\n this.changeCode.emit(\"\");\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#editor()?.destroy();\r\n clearTimeout(this.#previewTimer);\r\n }\r\n\r\n async copyCode() {\r\n const code = this.#editor()?.state.doc.toString() || this.code();\r\n await ClipboardUtil.copy(code);\r\n this.copied.set(true);\r\n setTimeout(() => this.copied.set(false), 3000);\r\n }\r\n\r\n private _createEditor(container: HTMLElement) {\r\n const editor = new EditorView({\r\n doc: this.currentCode(),\r\n extensions: [\r\n basicSetup,\r\n this.#languageCompartment.of(this._getLanguageExtension(this.codeLanguage())),\r\n this.#themeCompartment.of(this._getThemeExtension(this.codeTheme())),\r\n this.#readOnlyCompartment.of(this._getReadOnlyExtension(this.mode() === \"viewer\")),\r\n EditorView.updateListener.of(item => {\r\n if (item.docChanged) {\r\n const newCode = item.state.doc.toString();\r\n this.currentCode.set(newCode);\r\n this.changeCode.emit(newCode);\r\n }\r\n }),\r\n EditorView.lineWrapping,\r\n ],\r\n parent: container,\r\n });\r\n this.#editor.set(editor);\r\n }\r\n\r\n private _getLanguageExtension(lang: AiLanguageType): Extension {\r\n const extensions: Record<AiLanguageType, () => Extension> = {\r\n typescript: () => javascript({ typescript: true }),\r\n javascript: () => javascript(),\r\n java: () => java(),\r\n html: () => html(),\r\n css: () => css(),\r\n markdown: () => markdown(),\r\n bash: () => javascript(),\r\n json: () => json(),\r\n };\r\n return (extensions[lang] || extensions[\"javascript\"])();\r\n }\r\n\r\n private _getThemeExtension(theme: AiThemeType): Extension[] {\r\n const baseTheme = EditorView.theme({\r\n \"&\": {\r\n fontFamily: \"'JetBrains Mono', 'Fira Code', 'Courier New', monospace\",\r\n fontSize: \"0.75rem\",\r\n },\r\n \".cm-scroller\": {\r\n fontFamily: \"'JetBrains Mono', 'Fira Code', 'Courier New', monospace\",\r\n fontSize: \"0.75rem\",\r\n },\r\n });\r\n\r\n return theme === \"dark\" ? [baseTheme, oneDark] : [baseTheme, tomorrow];\r\n }\r\n\r\n private _getReadOnlyExtension(isReadOnly: boolean): Extension[] {\r\n return [EditorState.readOnly.of(isReadOnly), EditorView.editable.of(!isReadOnly)];\r\n }\r\n\r\n private _schedulePreviewUpdate(): void {\r\n if (this.#previewTimer) clearTimeout(this.#previewTimer);\r\n this.loading.set(true);\r\n\r\n this.#previewTimer = setTimeout(() => {\r\n void this._updatePreview();\r\n }, 200);\r\n }\r\n\r\n private async _updatePreview(): Promise<void> {\r\n const jobId = ++this.#previewJob;\r\n const content = this.currentCode() || this.code();\r\n\r\n if (!content) {\r\n this.compiledHtml.set(\"\");\r\n this.loading.set(false);\r\n return;\r\n }\r\n\r\n try {\r\n const lang = this.codeLanguage();\r\n const isMarkdown = lang === \"markdown\";\r\n\r\n const composed = isMarkdown ? content : `\\`\\`\\`${lang} showLineNumbers\\n${content}\\n\\`\\`\\``;\r\n const html = await this.#markdownService.processMarkdown(composed);\r\n\r\n if (jobId === this.#previewJob) {\r\n this.compiledHtml.set(this.#sanitizer.bypassSecurityTrustHtml(html));\r\n }\r\n } catch (error) {\r\n console.error(\"Preview processing error:\", error);\r\n } finally {\r\n if (jobId === this.#previewJob) {\r\n this.loading.set(false);\r\n }\r\n }\r\n }\r\n}\r\n","@if (mode() === \"viewer\") {\r\n <div class=\"rounded-lg border border-border w-full\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: true }\" />\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n} @else {\r\n <main class=\"overflow-hidden transition-all duration-200 ease-in-out w-full flex flex-col gap-y-4\">\r\n <div class=\"flex items-center justify-between gap-4\">\r\n <div class=\"flex items-center gap-x-2\">\r\n <div class=\"flex items-center gap-x-1.5 w-max rounded p-1 bg-default/90 shadow-sm\">\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'code' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('code')\">\r\n Code\r\n </button>\r\n <button class=\"text-xs py-1 px-2 rounded cursor-pointer\"\r\n [class]=\"tab() === 'preview' ? 'bg-primary text-primary-foreground font-semibold' : 'text-muted-foreground font-medium'\" (click)=\"setTab('preview')\">\r\n Preview\r\n </button>\r\n </div>\r\n \r\n @let event = codeLanguage();\r\n <ai-select (selectedValueChange)=\"setLanguage(event)\" [(value)]=\"codeLanguage\" class=\"w-40\" placeholder=\"Selecionar linguagem\">\r\n @for (item of languages(); track item) {\r\n <ai-select-item [value]=\"item\">\r\n {{ item }}\r\n </ai-select-item>\r\n }\r\n </ai-select>\r\n </div>\r\n \r\n <div class=\"flex items-center gap-x-2\">\r\n <ai-button type=\"button\" \r\n variant=\"default\" \r\n size=\"xs\" \r\n (click)=\"setTheme()\" \r\n [icon]=\"codeTheme() === 'dark' ? 'sun' : 'moon'\" \r\n [aiTooltip]=\"codeTheme() === 'light' ? 'Dark' : 'Light'\" />\r\n \r\n <ai-button type=\"button\" variant=\"default\" size=\"xs\" icon=\"brush-3\" (click)=\"clearCode()\" aiTooltip=\"Limpar\" />\r\n </div>\r\n </div>\r\n \r\n <div class=\"py-2 border-t border-border\">\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'code'\">\r\n <div class=\"rounded-lg border border-border w-full my-2\">\r\n <ng-container *ngTemplateOutlet=\"codeHeader; context: { showThemeToggle: false }\" />\r\n <div #editorContainer class=\"w-full rounded-b-lg overflow-hidden\"></div>\r\n </div>\r\n </section>\r\n\r\n <section class=\"transition-all\" [class.hidden]=\"tab() !== 'preview'\">\r\n @if (tab() === 'preview') {\r\n <div [ngClass]=\"['rounded-lg border border-border w-full overflow-hidden', codeLanguage() === 'markdown' ? 'px-2' : '', codeTheme() === 'dark' ? 'bg-[#0d1117]' : 'bg-background']\">\r\n <ng-container *ngTemplateOutlet=\"previewContent\" />\r\n </div>\r\n }\r\n </section>\r\n </div>\r\n </main>\r\n}\r\n\r\n<ng-template #codeHeader let-showThemeToggle=\"showThemeToggle\">\r\n <div class=\"flex justify-between items-center px-3 py-2 border-b border-border bg-muted text-sm\">\r\n <div class=\"flex items-center gap-2\">\r\n <div [innerHTML]=\"languageIconSvg()\" class=\"w-3 h-3\"></div>\r\n <span class=\"font-medium text-xs font-text text-muted-foreground\">{{ codeLanguage() }}</span>\r\n </div>\r\n\r\n <div class=\"flex items-center gap-2\">\r\n @if (showThemeToggle) {\r\n <ai-button type=\"button\" variant=\"default\" (click)=\"setTheme()\" size=\"xs\" class=\"h-6 w-6 leading-6\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n </ai-button>\r\n <ai-button variant=\"default\" class=\"h-6 w-6 leading-6\" size=\"xs\" (click)=\"copyCode()\">\r\n <ai-icon \r\n [icon]=\"!copied() ? 'file-copy' : 'check-double'\" \r\n size=\"sm\"\r\n [aiTooltip]=\"!copied() ? 'Copiar' : 'Copiado'\" />\r\n </ai-button>\r\n } @else {\r\n <span class=\"flex items-center gap-1 text-xs text-muted-foreground\">\r\n <ai-icon [icon]=\"codeTheme() === 'dark' ? 'moon' : 'sun'\" variant=\"default\" size=\"sm\" />\r\n {{ codeTheme() }}\r\n </span>\r\n }\r\n </div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #previewContent>\r\n @if (loading()) {\r\n <div class=\"flex items-center justify-center p-8 bg-muted/50\">\r\n <ai-loader size=\"sm\" type=\"spinner\" />\r\n <span class=\"ml-2 text-muted-foreground text-sm font-semibold\">Carregando preview...</span>\r\n </div>\r\n } @else {\r\n <div class=\"ai-markdown-preview w-full overflow-hidden\" [class.ai-md-theme-dark]=\"codeTheme() === 'dark'\" [class.ai-md-theme-light]=\"codeTheme() === 'light'\" [innerHTML]=\"compiledHtml()\"></div>\r\n }\r\n</ng-template>"]}
|