@spartan-ng/cli 1.7.0 → 1.8.0-beta.2
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 +4 -0
- package/package.json +1 -1
- package/src/generators/healthcheck/healthchecks/brn-collapsible.js +3 -4
- package/src/generators/healthcheck/healthchecks/brn-collapsible.js.map +1 -1
- package/src/generators/migrate-collapsible/generator.js +3 -4
- package/src/generators/migrate-collapsible/generator.js.map +1 -1
- package/src/generators/migrate-collapsible/helm-collapsible-files.d.ts +6 -0
- package/src/generators/migrate-collapsible/helm-collapsible-files.js +17 -0
- package/src/generators/migrate-collapsible/helm-collapsible-files.js.map +1 -0
- package/src/generators/ui/generator.js +4 -1
- package/src/generators/ui/generator.js.map +1 -1
- package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-content-lazy.ts.template +1 -0
- package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-content.ts.template +1 -0
- package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-item.ts.template +1 -0
- package/src/generators/ui/libs/accordion/files/lib/hlm-accordion-trigger.ts.template +1 -0
- package/src/generators/ui/libs/accordion/files/lib/hlm-accordion.ts.template +1 -0
- package/src/generators/ui/libs/alert/files/lib/hlm-alert-action.ts.template +1 -0
- package/src/generators/ui/libs/alert/files/lib/hlm-alert-description.ts.template +1 -0
- package/src/generators/ui/libs/alert/files/lib/hlm-alert-title.ts.template +1 -0
- package/src/generators/ui/libs/alert/files/lib/hlm-alert.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-action.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-cancel.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-content.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-description.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-footer.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-header.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-media.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-overlay.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-portal.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-title.ts.template +1 -0
- package/src/generators/ui/libs/alert-dialog/files/lib/hlm-alert-dialog-trigger.ts.template +1 -0
- package/src/generators/ui/libs/aspect-ratio/files/lib/hlm-aspect-ratio.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-action.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-actions.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-content.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-description.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-group.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-media.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-title.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment-trigger.ts.template +1 -0
- package/src/generators/ui/libs/attachment/files/lib/hlm-attachment.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-content.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-empty.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-group.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-input.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-item.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-label.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-list.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-portal.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-search.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-separator.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete-status.ts.template +1 -0
- package/src/generators/ui/libs/autocomplete/files/lib/hlm-autocomplete.ts.template +1 -0
- package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-badge.ts.template +1 -0
- package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-group-count.ts.template +1 -0
- package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-group.ts.template +1 -0
- package/src/generators/ui/libs/avatar/files/lib/hlm-avatar.ts.template +1 -0
- package/src/generators/ui/libs/badge/files/lib/hlm-badge.ts.template +1 -0
- package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-ellipsis.ts.template +1 -0
- package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-item.ts.template +1 -0
- package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-link.ts.template +1 -0
- package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-list.ts.template +1 -0
- package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-page.ts.template +1 -0
- package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-separator.ts.template +1 -0
- package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb.ts.template +1 -0
- package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-content.ts.template +1 -0
- package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-group.ts.template +1 -0
- package/src/generators/ui/libs/bubble/files/lib/hlm-bubble-reactions.ts.template +1 -0
- package/src/generators/ui/libs/bubble/files/lib/hlm-bubble.ts.template +1 -0
- package/src/generators/ui/libs/button-group/files/lib/hlm-button-group-separator.ts.template +1 -0
- package/src/generators/ui/libs/button-group/files/lib/hlm-button-group-text.ts.template +1 -0
- package/src/generators/ui/libs/button-group/files/lib/hlm-button-group.ts.template +1 -0
- package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-multi.ts.template +1 -0
- package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-range.ts.template +1 -0
- package/src/generators/ui/libs/calendar/files/lib/hlm-calendar.ts.template +1 -0
- package/src/generators/ui/libs/calendar/files/lib/hlm-month-year-calendar.ts.template +1 -0
- package/src/generators/ui/libs/card/files/lib/hlm-card-action.ts.template +1 -0
- package/src/generators/ui/libs/card/files/lib/hlm-card-content.ts.template +1 -0
- package/src/generators/ui/libs/card/files/lib/hlm-card-description.ts.template +1 -0
- package/src/generators/ui/libs/card/files/lib/hlm-card-footer.ts.template +1 -0
- package/src/generators/ui/libs/card/files/lib/hlm-card-header.ts.template +1 -0
- package/src/generators/ui/libs/card/files/lib/hlm-card-title.ts.template +1 -0
- package/src/generators/ui/libs/card/files/lib/hlm-card.ts.template +1 -0
- package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-content.ts.template +1 -0
- package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-item.ts.template +1 -0
- package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-next.ts.template +1 -0
- package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-previous.ts.template +1 -0
- package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-slide-display.ts.template +1 -0
- package/src/generators/ui/libs/carousel/files/lib/hlm-carousel.ts.template +1 -0
- package/src/generators/ui/libs/chart/files/lib/hlm-chart.ts.template +1 -0
- package/src/generators/ui/libs/checkbox/files/lib/hlm-checkbox.ts.template +1 -0
- package/src/generators/ui/libs/code-block/files/index.ts.template +28 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-actions.ts.template +16 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-content.ts.template +85 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-copy-button.ts.template +62 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-footer.ts.template +13 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-header.ts.template +16 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-line.ts.template +42 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block-title.ts.template +16 -0
- package/src/generators/ui/libs/code-block/files/lib/hlm-code-block.ts.template +34 -0
- package/src/generators/ui/libs/code-block/generator.d.ts +3 -0
- package/src/generators/ui/libs/code-block/generator.js +9 -0
- package/src/generators/ui/libs/code-block/generator.js.map +1 -0
- package/src/generators/ui/libs/collapsible/files/lib/hlm-collapsible-content.ts.template +1 -0
- package/src/generators/ui/libs/collapsible/files/lib/hlm-collapsible-trigger.ts.template +1 -0
- package/src/generators/ui/libs/collapsible/files/lib/hlm-collapsible.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip-input.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip-remove.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chip.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-chips.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-content.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-empty.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-group.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-input.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-item.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-label.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-list.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-multiple.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-placeholder.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-portal.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-separator.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-status.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-trigger.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-value-template.ts.template +5 -1
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-value.ts.template +1 -0
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox-values.ts.template +1 -1
- package/src/generators/ui/libs/combobox/files/lib/hlm-combobox.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-dialog.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-empty-state.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-empty.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-group-label.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-group.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-input.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-item.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-list.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-separator.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command-shortcut.ts.template +1 -0
- package/src/generators/ui/libs/command/files/lib/hlm-command.ts.template +1 -0
- package/src/generators/ui/libs/context-menu/files/lib/hlm-context-menu-trigger.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-multi-input.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-anchor.ts.template +1 -1
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-input.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-multi.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-trigger.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-input.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-picker.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-month-year-input.ts.template +1 -0
- package/src/generators/ui/libs/date-picker/files/lib/hlm-month-year-picker.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-close.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-content.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-description.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-footer.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-header.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-overlay.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-portal.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-title.ts.template +1 -0
- package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-trigger.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-close.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-content.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-description.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-footer.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-header.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-overlay.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-portal.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-title.ts.template +1 -0
- package/src/generators/ui/libs/drawer/files/lib/hlm-drawer-trigger.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-checkbox-indicator.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-checkbox.ts.template +2 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-focus-on-hover.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-group.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-item-sub-indicator.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-item.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-label.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-radio-indicator.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-radio.ts.template +2 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-separator.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-shortcut.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-sub-trigger.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-sub.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-trigger.ts.template +1 -0
- package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu.ts.template +1 -0
- package/src/generators/ui/libs/empty/files/lib/hlm-empty-content.ts.template +1 -0
- package/src/generators/ui/libs/empty/files/lib/hlm-empty-description.ts.template +1 -0
- package/src/generators/ui/libs/empty/files/lib/hlm-empty-header.ts.template +1 -0
- package/src/generators/ui/libs/empty/files/lib/hlm-empty-media.ts.template +1 -0
- package/src/generators/ui/libs/empty/files/lib/hlm-empty-title.ts.template +1 -0
- package/src/generators/ui/libs/empty/files/lib/hlm-empty.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-content.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-description.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-error.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-group.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-label.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-legend.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-separator.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-set.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field-title.ts.template +1 -0
- package/src/generators/ui/libs/field/files/lib/hlm-field.ts.template +1 -0
- package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card-content.ts.template +1 -0
- package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card-portal.ts.template +1 -0
- package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card-trigger.ts.template +1 -0
- package/src/generators/ui/libs/hover-card/files/lib/hlm-hover-card.ts.template +1 -0
- package/src/generators/ui/libs/input/files/lib/hlm-input.ts.template +1 -0
- package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-addon.ts.template +1 -0
- package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-button.ts.template +1 -0
- package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-input.ts.template +1 -0
- package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-text.ts.template +1 -0
- package/src/generators/ui/libs/input-group/files/lib/hlm-input-group-textarea.ts.template +1 -0
- package/src/generators/ui/libs/input-group/files/lib/hlm-input-group.ts.template +1 -0
- package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-fake-caret.ts.template +1 -0
- package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-group.ts.template +1 -0
- package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-separator.ts.template +1 -0
- package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-slot.ts.template +1 -0
- package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-actions.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-content.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-description.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-footer.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-group.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-header.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-media.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-separator.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item-title.ts.template +1 -0
- package/src/generators/ui/libs/item/files/lib/hlm-item.ts.template +1 -0
- package/src/generators/ui/libs/kbd/files/lib/hlm-kbd-group.ts.template +1 -0
- package/src/generators/ui/libs/kbd/files/lib/hlm-kbd.ts.template +1 -0
- package/src/generators/ui/libs/label/files/lib/hlm-label.ts.template +1 -0
- package/src/generators/ui/libs/marker/files/lib/hlm-marker-content.ts.template +1 -0
- package/src/generators/ui/libs/marker/files/lib/hlm-marker-icon.ts.template +1 -0
- package/src/generators/ui/libs/marker/files/lib/hlm-marker.ts.template +1 -0
- package/src/generators/ui/libs/menubar/files/lib/hlm-menubar-trigger.ts.template +1 -0
- package/src/generators/ui/libs/menubar/files/lib/hlm-menubar.ts.template +1 -0
- package/src/generators/ui/libs/message/files/lib/hlm-message-avatar.ts.template +1 -0
- package/src/generators/ui/libs/message/files/lib/hlm-message-content.ts.template +1 -0
- package/src/generators/ui/libs/message/files/lib/hlm-message-footer.ts.template +1 -0
- package/src/generators/ui/libs/message/files/lib/hlm-message-group.ts.template +1 -0
- package/src/generators/ui/libs/message/files/lib/hlm-message-header.ts.template +1 -0
- package/src/generators/ui/libs/message/files/lib/hlm-message.ts.template +1 -0
- package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-button.ts.template +1 -0
- package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-content.ts.template +1 -0
- package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-item.ts.template +1 -0
- package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-provider.ts.template +1 -0
- package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller-viewport.ts.template +1 -0
- package/src/generators/ui/libs/message-scroller/files/lib/hlm-message-scroller.ts.template +1 -0
- package/src/generators/ui/libs/native-select/files/lib/hlm-native-select-opt-group.ts.template +1 -0
- package/src/generators/ui/libs/native-select/files/lib/hlm-native-select-option.ts.template +1 -0
- package/src/generators/ui/libs/native-select/files/lib/hlm-native-select.ts.template +1 -0
- package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-content.ts.template +1 -0
- package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-item.ts.template +1 -0
- package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-link.ts.template +1 -0
- package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-list.ts.template +1 -0
- package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-portal.ts.template +1 -0
- package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu-trigger.ts.template +1 -0
- package/src/generators/ui/libs/navigation-menu/files/lib/hlm-navigation-menu.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-numbered-pagination-query-params.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-numbered-pagination.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-content.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-ellipsis.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-item.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-link.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-next.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-pagination-previous.ts.template +1 -0
- package/src/generators/ui/libs/pagination/files/lib/hlm-pagination.ts.template +1 -0
- package/src/generators/ui/libs/popover/files/lib/hlm-popover-content.ts.template +1 -0
- package/src/generators/ui/libs/popover/files/lib/hlm-popover-description.ts.template +1 -0
- package/src/generators/ui/libs/popover/files/lib/hlm-popover-header.ts.template +1 -0
- package/src/generators/ui/libs/popover/files/lib/hlm-popover-portal.ts.template +1 -0
- package/src/generators/ui/libs/popover/files/lib/hlm-popover-title.ts.template +1 -0
- package/src/generators/ui/libs/popover/files/lib/hlm-popover-trigger.ts.template +1 -0
- package/src/generators/ui/libs/popover/files/lib/hlm-popover.ts.template +1 -0
- package/src/generators/ui/libs/progress/files/lib/hlm-progress-indicator.ts.template +1 -0
- package/src/generators/ui/libs/progress/files/lib/hlm-progress.ts.template +1 -0
- package/src/generators/ui/libs/radio-group/files/lib/hlm-radio-group.ts.template +1 -0
- package/src/generators/ui/libs/radio-group/files/lib/hlm-radio-indicator.ts.template +1 -0
- package/src/generators/ui/libs/radio-group/files/lib/hlm-radio.ts.template +1 -0
- package/src/generators/ui/libs/resizable/files/lib/hlm-resizable-group.ts.template +1 -0
- package/src/generators/ui/libs/scroll-area/files/lib/hlm-scroll-area.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-content.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-group.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-item.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-label.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-multiple.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-placeholder.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-portal.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-scroll-down.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-scroll-up.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-separator.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-trigger.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-value-template.ts.template +5 -1
- package/src/generators/ui/libs/select/files/lib/hlm-select-value.ts.template +1 -0
- package/src/generators/ui/libs/select/files/lib/hlm-select-values-content.ts.template +1 -1
- package/src/generators/ui/libs/select/files/lib/hlm-select-values.ts.template +1 -1
- package/src/generators/ui/libs/select/files/lib/hlm-select.ts.template +1 -0
- package/src/generators/ui/libs/separator/files/lib/hlm-separator.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-close.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-content.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-description.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-footer.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-header.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-overlay.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-portal.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-title.ts.template +1 -0
- package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-trigger.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-content.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-footer.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group-action.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group-content.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group-label.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-group.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-header.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-input.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-inset.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-action.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-badge.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-button.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-item.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-skeleton.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-sub-button.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-sub-item.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-sub.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-rail.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-separator.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-trigger.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-wrapper.ts.template +1 -0
- package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar.ts.template +1 -0
- package/src/generators/ui/libs/skeleton/files/lib/hlm-skeleton.ts.template +1 -0
- package/src/generators/ui/libs/slider/files/lib/hlm-slider.ts.template +1 -0
- package/src/generators/ui/libs/sonner/files/lib/hlm-toaster.ts.template +1 -0
- package/src/generators/ui/libs/spinner/files/lib/hlm-spinner.ts.template +1 -0
- package/src/generators/ui/libs/switch/files/lib/hlm-switch-thumb.ts.template +1 -0
- package/src/generators/ui/libs/switch/files/lib/hlm-switch.ts.template +1 -0
- package/src/generators/ui/libs/table/files/lib/hlm-table.ts.template +9 -0
- package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-content-lazy.ts.template +1 -0
- package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-content.ts.template +1 -0
- package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-list.ts.template +1 -0
- package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-paginated-list.ts.template +1 -0
- package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-trigger.ts.template +1 -0
- package/src/generators/ui/libs/tabs/files/lib/hlm-tabs.ts.template +1 -0
- package/src/generators/ui/libs/textarea/files/lib/hlm-textarea.ts.template +1 -0
- package/src/generators/ui/libs/toggle/files/lib/hlm-toggle.ts.template +1 -0
- package/src/generators/ui/libs/toggle-group/files/lib/hlm-toggle-group-item.ts.template +1 -0
- package/src/generators/ui/libs/toggle-group/files/lib/hlm-toggle-group.ts.template +1 -0
- package/src/generators/ui/libs/tooltip/files/lib/hlm-tooltip.ts.template +1 -0
- package/src/generators/ui/libs/trace/files/index.ts.template +28 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace-collapsible-content.ts.template +34 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace-collapsible-trigger.ts.template +31 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace-collapsible.ts.template +21 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace-description.ts.template +13 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace-icon.ts.template +13 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace-line.ts.template +18 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace-title.ts.template +13 -0
- package/src/generators/ui/libs/trace/files/lib/hlm-trace.ts.template +16 -0
- package/src/generators/ui/libs/trace/generator.d.ts +3 -0
- package/src/generators/ui/libs/trace/generator.js +9 -0
- package/src/generators/ui/libs/trace/generator.js.map +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-blockquote.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-code.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-h1.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-h2.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-h3.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-h4.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-large.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-lead.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-muted.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-p.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-small.ts.template +1 -0
- package/src/generators/ui/libs/typography/files/lib/hlm-ul.ts.template +1 -0
- package/src/generators/ui/primitive-deps.js +2 -0
- package/src/generators/ui/primitive-deps.js.map +1 -1
- package/src/generators/ui/primitives.d.ts +1 -1
- package/src/generators/ui/schema.d.ts +1 -1
- package/src/generators/ui/schema.json +1 -1
- package/src/generators/ui/style-luma.css +78 -0
- package/src/generators/ui/style-lyra.css +74 -0
- package/src/generators/ui/style-maia.css +74 -0
- package/src/generators/ui/style-mira.css +73 -0
- package/src/generators/ui/style-nova.css +74 -0
- package/src/generators/ui/style-vega.css +74 -0
- package/src/generators/ui/supported-ui-libraries.json +63 -43
|
@@ -6,6 +6,7 @@ import { classes } from '<%- importAlias %>/utils';
|
|
|
6
6
|
@Component({
|
|
7
7
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
8
8
|
selector: '[hlmBreadcrumbSeparator]',
|
|
9
|
+
exportAs: 'hlmBreadcrumbSeparator',
|
|
9
10
|
imports: [NgIcon],
|
|
10
11
|
providers: [provideIcons({ lucideChevronRight })],
|
|
11
12
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -26,6 +26,7 @@ export type BubbleReactionsVariants = VariantProps<typeof bubbleReactionsVariant
|
|
|
26
26
|
|
|
27
27
|
@Directive({
|
|
28
28
|
selector: '[hlmBubbleReactions],hlm-bubble-reactions',
|
|
29
|
+
exportAs: 'hlmBubbleReactions',
|
|
29
30
|
host: {
|
|
30
31
|
'data-slot': 'bubble-reactions',
|
|
31
32
|
'[attr.data-align]': 'align()',
|
package/src/generators/ui/libs/button-group/files/lib/hlm-button-group-separator.ts.template
CHANGED
|
@@ -4,6 +4,7 @@ import { classes } from '<%- importAlias %>/utils';
|
|
|
4
4
|
|
|
5
5
|
@Directive({
|
|
6
6
|
selector: '[hlmButtonGroupSeparator],hlm-button-group-separator',
|
|
7
|
+
exportAs: 'hlmButtonGroupSeparator',
|
|
7
8
|
providers: [provideBrnSeparatorConfig({ orientation: 'vertical' })],
|
|
8
9
|
hostDirectives: [{ directive: BrnSeparator, inputs: ['orientation', 'decorative'] }],
|
|
9
10
|
host: {
|
|
@@ -10,6 +10,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
|
|
|
10
10
|
|
|
11
11
|
@Component({
|
|
12
12
|
selector: 'hlm-calendar-multi',
|
|
13
|
+
exportAs: 'hlmCalendarMulti',
|
|
13
14
|
imports: [BrnCalendarImports, NgIcon, NgTemplateOutlet, HlmSelectImports, HlmButtonImports],
|
|
14
15
|
viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
|
|
15
16
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -10,6 +10,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
|
|
|
10
10
|
|
|
11
11
|
@Component({
|
|
12
12
|
selector: 'hlm-calendar-range',
|
|
13
|
+
exportAs: 'hlmCalendarRange',
|
|
13
14
|
imports: [BrnCalendarImports, NgIcon, HlmSelectImports, NgTemplateOutlet, HlmButtonImports],
|
|
14
15
|
viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
|
|
15
16
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -10,6 +10,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
|
|
|
10
10
|
|
|
11
11
|
@Component({
|
|
12
12
|
selector: 'hlm-calendar',
|
|
13
|
+
exportAs: 'hlmCalendar',
|
|
13
14
|
imports: [BrnCalendarImports, NgIcon, HlmSelectImports, NgTemplateOutlet, HlmButtonImports],
|
|
14
15
|
viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
|
|
15
16
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -8,6 +8,7 @@ import { classes, hlm } from '<%- importAlias %>/utils';
|
|
|
8
8
|
|
|
9
9
|
@Component({
|
|
10
10
|
selector: 'hlm-month-year-calendar',
|
|
11
|
+
exportAs: 'hlmMonthYearCalendar',
|
|
11
12
|
imports: [BrnCalendarImports, NgIcon, HlmButtonImports],
|
|
12
13
|
viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
|
|
13
14
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -7,6 +7,7 @@ import { HlmCarousel } from './hlm-carousel';
|
|
|
7
7
|
|
|
8
8
|
@Component({
|
|
9
9
|
selector: 'button[hlm-carousel-next], button[hlmCarouselNext]',
|
|
10
|
+
exportAs: 'hlmCarouselNext',
|
|
10
11
|
imports: [NgIcon],
|
|
11
12
|
providers: [provideIcons({ lucideArrowRight }), provideBrnButtonConfig({ variant: 'outline', size: 'icon-sm' })],
|
|
12
13
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -7,6 +7,7 @@ import { HlmCarousel } from './hlm-carousel';
|
|
|
7
7
|
|
|
8
8
|
@Component({
|
|
9
9
|
selector: 'button[hlm-carousel-previous], button[hlmCarouselPrevious]',
|
|
10
|
+
exportAs: 'hlmCarouselPrevious',
|
|
10
11
|
imports: [NgIcon],
|
|
11
12
|
providers: [provideIcons({ lucideArrowLeft }), provideBrnButtonConfig({ variant: 'outline', size: 'icon-sm' })],
|
|
12
13
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { HlmCodeBlock } from './lib/hlm-code-block';
|
|
2
|
+
import { HlmCodeBlockActions } from './lib/hlm-code-block-actions';
|
|
3
|
+
import { HlmCodeBlockContent } from './lib/hlm-code-block-content';
|
|
4
|
+
import { HlmCodeBlockCopyButton } from './lib/hlm-code-block-copy-button';
|
|
5
|
+
import { HlmCodeBlockFooter } from './lib/hlm-code-block-footer';
|
|
6
|
+
import { HlmCodeBlockHeader } from './lib/hlm-code-block-header';
|
|
7
|
+
import { HlmCodeBlockLine } from './lib/hlm-code-block-line';
|
|
8
|
+
import { HlmCodeBlockTitle } from './lib/hlm-code-block-title';
|
|
9
|
+
|
|
10
|
+
export * from './lib/hlm-code-block';
|
|
11
|
+
export * from './lib/hlm-code-block-actions';
|
|
12
|
+
export * from './lib/hlm-code-block-content';
|
|
13
|
+
export * from './lib/hlm-code-block-copy-button';
|
|
14
|
+
export * from './lib/hlm-code-block-footer';
|
|
15
|
+
export * from './lib/hlm-code-block-header';
|
|
16
|
+
export * from './lib/hlm-code-block-line';
|
|
17
|
+
export * from './lib/hlm-code-block-title';
|
|
18
|
+
|
|
19
|
+
export const HlmCodeBlockImports = [
|
|
20
|
+
HlmCodeBlock,
|
|
21
|
+
HlmCodeBlockActions,
|
|
22
|
+
HlmCodeBlockContent,
|
|
23
|
+
HlmCodeBlockCopyButton,
|
|
24
|
+
HlmCodeBlockFooter,
|
|
25
|
+
HlmCodeBlockHeader,
|
|
26
|
+
HlmCodeBlockLine,
|
|
27
|
+
HlmCodeBlockTitle,
|
|
28
|
+
] as const;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
3
|
+
|
|
4
|
+
@Directive({
|
|
5
|
+
selector: '[hlmCodeBlockActions],hlm-code-block-actions',
|
|
6
|
+
exportAs: 'hlmCodeBlockActions',
|
|
7
|
+
host: { 'data-slot': 'code-block-actions' },
|
|
8
|
+
})
|
|
9
|
+
export class HlmCodeBlockActions {
|
|
10
|
+
constructor() {
|
|
11
|
+
classes(
|
|
12
|
+
() =>
|
|
13
|
+
'spartan-code-block-actions ms-auto flex shrink-0 items-center [[data-slot=code-block]>&]:absolute [[data-slot=code-block]>&]:z-10 [[data-slot=code-block]>&]:opacity-0 [[data-slot=code-block]>&]:transition-opacity [[data-slot=code-block]>&]:group-focus-within/code-block:opacity-100 [[data-slot=code-block]>&]:group-hover/code-block:opacity-100 [[data-slot=code-block]>&]:pointer-coarse:opacity-100',
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Directionality } from '@angular/cdk/bidi';
|
|
2
|
+
import { BooleanInput, NumberInput } from '@angular/cdk/coercion';
|
|
3
|
+
import {
|
|
4
|
+
booleanAttribute,
|
|
5
|
+
ChangeDetectionStrategy,
|
|
6
|
+
Component,
|
|
7
|
+
computed,
|
|
8
|
+
inject,
|
|
9
|
+
input,
|
|
10
|
+
numberAttribute,
|
|
11
|
+
} from '@angular/core';
|
|
12
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
13
|
+
import { HlmCodeBlockLine } from './hlm-code-block-line';
|
|
14
|
+
|
|
15
|
+
@Component({
|
|
16
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
17
|
+
selector: 'pre[hlmCodeBlockContent]',
|
|
18
|
+
exportAs: 'hlmCodeBlockContent',
|
|
19
|
+
imports: [HlmCodeBlockLine],
|
|
20
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
21
|
+
host: {
|
|
22
|
+
'data-slot': 'code-block-content',
|
|
23
|
+
'[attr.data-wrap]': 'wrap() || null',
|
|
24
|
+
'[attr.data-numbered]': 'lineNumbers() || null',
|
|
25
|
+
'[attr.dir]': '_direction()',
|
|
26
|
+
'[style.counter-reset]': '_style()',
|
|
27
|
+
tabindex: '0',
|
|
28
|
+
},
|
|
29
|
+
template: `
|
|
30
|
+
<code
|
|
31
|
+
data-slot="code-block-code"
|
|
32
|
+
class="spartan-code-block-code grid min-h-lh min-w-max content-start in-data-numbered:grid-cols-[auto_1fr] in-data-wrap:min-w-0"
|
|
33
|
+
>
|
|
34
|
+
@if (_lines(); as lines) {
|
|
35
|
+
@for (line of lines; track $index) {
|
|
36
|
+
<span hlmCodeBlockLine>{{ line }}</span>
|
|
37
|
+
}
|
|
38
|
+
} @else if (_hasCode()) {
|
|
39
|
+
<span [textContent]="_code()"></span>
|
|
40
|
+
} @else {
|
|
41
|
+
<ng-content />
|
|
42
|
+
}
|
|
43
|
+
</code>
|
|
44
|
+
`,
|
|
45
|
+
})
|
|
46
|
+
export class HlmCodeBlockContent {
|
|
47
|
+
private readonly _dir = inject(Directionality);
|
|
48
|
+
|
|
49
|
+
protected readonly _direction = this._dir.valueSignal;
|
|
50
|
+
|
|
51
|
+
public readonly wrap = input<boolean, BooleanInput>(false, { transform: booleanAttribute });
|
|
52
|
+
public readonly lineNumbers = input<boolean, BooleanInput>(false, { transform: booleanAttribute });
|
|
53
|
+
|
|
54
|
+
public readonly startLine = input<number, NumberInput>(1, { transform: numberAttribute });
|
|
55
|
+
|
|
56
|
+
/** When set, the code is rendered line by line instead of projecting `<ng-content />`. */
|
|
57
|
+
public readonly code = input<string>();
|
|
58
|
+
|
|
59
|
+
protected readonly _code = computed(() => {
|
|
60
|
+
const code = this.code();
|
|
61
|
+
return typeof code === 'string' ? code : null;
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
protected readonly _hasCode = computed(() => this._code() !== null);
|
|
65
|
+
|
|
66
|
+
protected readonly _lines = computed(() => {
|
|
67
|
+
const code = this._code();
|
|
68
|
+
if (!this.lineNumbers() || code === null) return null;
|
|
69
|
+
|
|
70
|
+
// An empty line renders a newline so copying a selection keeps blank lines.
|
|
71
|
+
return code
|
|
72
|
+
.replace(/\n$/, '')
|
|
73
|
+
.split('\n')
|
|
74
|
+
.map((line) => (line === '' ? '\n' : line));
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
protected readonly _style = computed(() => `line ${this.startLine() - 1}`);
|
|
78
|
+
|
|
79
|
+
constructor() {
|
|
80
|
+
classes(
|
|
81
|
+
() =>
|
|
82
|
+
'spartan-code-block-content scroll-fade-x data-wrap:scroll-fade-y min-h-0 min-w-0 scrollbar-thin overflow-auto text-start font-mono outline-none data-wrap:wrap-break-word data-wrap:whitespace-pre-wrap',
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, computed, effect, input, signal } from '@angular/core';
|
|
2
|
+
import { NgIcon, provideIcons } from '@ng-icons/core';
|
|
3
|
+
import { lucideCheck, lucideCopy } from '@ng-icons/lucide';
|
|
4
|
+
import { HlmButton, provideBrnButtonConfig } from '<%- importAlias %>/button';
|
|
5
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
6
|
+
|
|
7
|
+
@Component({
|
|
8
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
9
|
+
selector: 'button[hlmCodeBlockCopyButton]',
|
|
10
|
+
exportAs: 'hlmCodeBlockCopyButton',
|
|
11
|
+
imports: [NgIcon],
|
|
12
|
+
providers: [provideIcons({ lucideCopy, lucideCheck }), provideBrnButtonConfig({ variant: 'ghost', size: 'icon-xs' })],
|
|
13
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14
|
+
hostDirectives: [{ directive: HlmButton, inputs: ['variant', 'size'] }],
|
|
15
|
+
host: {
|
|
16
|
+
type: 'button',
|
|
17
|
+
'data-slot': 'code-block-copy-button',
|
|
18
|
+
'[attr.data-copied]': '_copied() || null',
|
|
19
|
+
'[attr.aria-label]': '_ariaLabel()',
|
|
20
|
+
'(click)': '_copy()',
|
|
21
|
+
},
|
|
22
|
+
template: `
|
|
23
|
+
<ng-icon [name]="_icon()" />
|
|
24
|
+
|
|
25
|
+
@if (_copied()) {
|
|
26
|
+
<span aria-live="polite" class="sr-only">
|
|
27
|
+
{{ copiedText() }}
|
|
28
|
+
</span>
|
|
29
|
+
}
|
|
30
|
+
`,
|
|
31
|
+
})
|
|
32
|
+
export class HlmCodeBlockCopyButton {
|
|
33
|
+
protected readonly _copied = signal(false);
|
|
34
|
+
|
|
35
|
+
protected readonly _icon = computed(() => (this._copied() ? 'lucideCheck' : 'lucideCopy'));
|
|
36
|
+
|
|
37
|
+
public readonly value = input<string>('');
|
|
38
|
+
public readonly copyText = input<string>('Copy');
|
|
39
|
+
public readonly copiedText = input<string>('Copied');
|
|
40
|
+
|
|
41
|
+
protected readonly _ariaLabel = computed(() => (this._copied() ? this.copiedText() : this.copyText()));
|
|
42
|
+
|
|
43
|
+
constructor() {
|
|
44
|
+
classes(() => 'spartan-code-block-copy-button');
|
|
45
|
+
|
|
46
|
+
effect((onCleanup) => {
|
|
47
|
+
if (!this._copied()) return;
|
|
48
|
+
|
|
49
|
+
const timeout = setTimeout(() => this._copied.set(false), 2000);
|
|
50
|
+
onCleanup(() => clearTimeout(timeout));
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
protected async _copy(): Promise<void> {
|
|
55
|
+
try {
|
|
56
|
+
await navigator.clipboard.writeText(this.value());
|
|
57
|
+
this._copied.set(true);
|
|
58
|
+
} catch {
|
|
59
|
+
// ignore clipboard errors
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
3
|
+
|
|
4
|
+
@Directive({
|
|
5
|
+
selector: '[hlmCodeBlockFooter],hlm-code-block-footer',
|
|
6
|
+
exportAs: 'hlmCodeBlockFooter',
|
|
7
|
+
host: { 'data-slot': 'code-block-footer' },
|
|
8
|
+
})
|
|
9
|
+
export class HlmCodeBlockFooter {
|
|
10
|
+
constructor() {
|
|
11
|
+
classes(() => 'spartan-code-block-footer flex min-w-0 shrink-0 items-center');
|
|
12
|
+
}
|
|
13
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
3
|
+
|
|
4
|
+
@Directive({
|
|
5
|
+
selector: '[hlmCodeBlockHeader],hlm-code-block-header',
|
|
6
|
+
exportAs: 'hlmCodeBlockHeader',
|
|
7
|
+
host: { 'data-slot': 'code-block-header' },
|
|
8
|
+
})
|
|
9
|
+
export class HlmCodeBlockHeader {
|
|
10
|
+
constructor() {
|
|
11
|
+
classes(
|
|
12
|
+
() =>
|
|
13
|
+
'spartan-code-block-header flex min-w-0 shrink-0 items-center *:has-[>[data-slot=code-block-title]]:min-w-0',
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, input } from '@angular/core';
|
|
2
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
3
|
+
import { cva, VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
const codeBlockLineVariants = cva(
|
|
6
|
+
"spartan-code-block-line relative block min-h-lh after:absolute after:top-0 after:select-none in-data-numbered:col-span-2 in-data-numbered:grid in-data-numbered:grid-cols-subgrid in-data-numbered:[counter-increment:line] in-data-numbered:before:content-[counter(line)] in-data-numbered:before:select-none in-data-numbered:supports-[content:counter(line)_/_'']:before:content-[counter(line)_/_'']",
|
|
7
|
+
{
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: 'spartan-code-block-line-variant-default',
|
|
11
|
+
added: 'spartan-code-block-line-variant-added',
|
|
12
|
+
removed: 'spartan-code-block-line-variant-removed',
|
|
13
|
+
highlighted: 'spartan-code-block-line-variant-highlighted',
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
defaultVariants: {
|
|
17
|
+
variant: 'default',
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
);
|
|
21
|
+
|
|
22
|
+
type CodeBlockLineVariants = VariantProps<typeof codeBlockLineVariants>;
|
|
23
|
+
|
|
24
|
+
@Component({
|
|
25
|
+
// eslint-disable-next-line @angular-eslint/component-selector
|
|
26
|
+
selector: 'span[hlmCodeBlockLine]',
|
|
27
|
+
exportAs: 'hlmCodeBlockLine',
|
|
28
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
29
|
+
host: { 'data-slot': 'code-block-line', '[attr.data-variant]': 'variant()' },
|
|
30
|
+
template: `
|
|
31
|
+
<span data-slot="code-block-line-content" class="min-w-0">
|
|
32
|
+
<ng-content />
|
|
33
|
+
</span>
|
|
34
|
+
`,
|
|
35
|
+
})
|
|
36
|
+
export class HlmCodeBlockLine {
|
|
37
|
+
public readonly variant = input<CodeBlockLineVariants['variant']>('default');
|
|
38
|
+
|
|
39
|
+
constructor() {
|
|
40
|
+
classes(() => codeBlockLineVariants({ variant: this.variant() }));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
3
|
+
|
|
4
|
+
@Directive({
|
|
5
|
+
selector: '[hlmCodeBlockTitle],hlm-code-block-title',
|
|
6
|
+
exportAs: 'hlmCodeBlockTitle',
|
|
7
|
+
host: { 'data-slot': 'code-block-title' },
|
|
8
|
+
})
|
|
9
|
+
export class HlmCodeBlockTitle {
|
|
10
|
+
constructor() {
|
|
11
|
+
classes(
|
|
12
|
+
() =>
|
|
13
|
+
'spartan-code-block-title min-w-0 truncate [&_ng-icon]:pointer-events-none [&_ng-icon]:inline-block [&_ng-icon]:align-middle',
|
|
14
|
+
);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { Directive, input } from '@angular/core';
|
|
2
|
+
import { classes } from '<%- importAlias %>/utils';
|
|
3
|
+
import { cva, type VariantProps } from 'class-variance-authority';
|
|
4
|
+
|
|
5
|
+
const codeBlockVariants = cva(
|
|
6
|
+
'spartan-code-block group/code-block relative flex w-full min-w-0 flex-col overflow-hidden',
|
|
7
|
+
{
|
|
8
|
+
variants: {
|
|
9
|
+
variant: {
|
|
10
|
+
default: 'spartan-code-block-variant-default',
|
|
11
|
+
destructive: 'spartan-code-block-variant-destructive',
|
|
12
|
+
},
|
|
13
|
+
},
|
|
14
|
+
defaultVariants: {
|
|
15
|
+
variant: 'default',
|
|
16
|
+
},
|
|
17
|
+
},
|
|
18
|
+
);
|
|
19
|
+
|
|
20
|
+
type CodeBlockVariants = VariantProps<typeof codeBlockVariants>;
|
|
21
|
+
|
|
22
|
+
@Directive({
|
|
23
|
+
selector: '[hlmCodeBlock],hlm-code-block',
|
|
24
|
+
exportAs: 'hlmCodeBlock',
|
|
25
|
+
host: { 'data-slot': 'code-block', '[attr.data-variant]': 'variant()', '[attr.data-size]': 'size()' },
|
|
26
|
+
})
|
|
27
|
+
export class HlmCodeBlock {
|
|
28
|
+
public readonly variant = input<CodeBlockVariants['variant']>('default');
|
|
29
|
+
public readonly size = input<'default' | 'sm'>('default');
|
|
30
|
+
|
|
31
|
+
constructor() {
|
|
32
|
+
classes(() => codeBlockVariants({ variant: this.variant() }));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generator = generator;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const generator_1 = tslib_1.__importDefault(require("../../../base/generator"));
|
|
6
|
+
async function generator(tree, options) {
|
|
7
|
+
return await (0, generator_1.default)(tree, { ...options, name: 'code-block' });
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../../../../../../libs/cli/src/generators/ui/libs/code-block/generator.ts"],"names":[],"mappings":";;AAIA,8BAEC;;AALD,gFAAuD;AAGhD,KAAK,UAAU,SAAS,CAAC,IAAU,EAAE,OAA+B;IAC1E,OAAO,MAAM,IAAA,mBAAgB,EAAC,IAAI,EAAE,EAAE,GAAG,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;AACzE,CAAC"}
|
|
@@ -4,6 +4,7 @@ import { classes } from '<%- importAlias %>/utils';
|
|
|
4
4
|
|
|
5
5
|
@Directive({
|
|
6
6
|
selector: '[hlmCollapsibleContent],hlm-collapsible-content',
|
|
7
|
+
exportAs: 'hlmCollapsibleContent',
|
|
7
8
|
hostDirectives: [{ directive: BrnCollapsibleContent, inputs: ['id'] }],
|
|
8
9
|
host: { 'data-slot': 'collapsible-content' },
|
|
9
10
|
})
|
|
@@ -3,6 +3,7 @@ import { BrnCollapsibleTrigger } from '@spartan-ng/brain/collapsible';
|
|
|
3
3
|
|
|
4
4
|
@Directive({
|
|
5
5
|
selector: 'button[hlmCollapsibleTrigger]',
|
|
6
|
+
exportAs: 'hlmCollapsibleTrigger',
|
|
6
7
|
hostDirectives: [{ directive: BrnCollapsibleTrigger, inputs: ['type'] }],
|
|
7
8
|
host: { 'data-slot': 'collapsible-trigger' },
|
|
8
9
|
})
|