@kouji-ui/core 0.1.1 → 0.1.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/fesm2022/kouji-ui-core.mjs +26789 -0
- package/fesm2022/kouji-ui-core.mjs.map +1 -0
- package/package.json +5 -6
- package/types/kouji-ui-core.d.ts +13545 -0
- package/.turbo/turbo-build.log +0 -30
- package/CHANGELOG.md +0 -190
- package/ng-package.json +0 -11
- package/src/a11y/.gitkeep +0 -0
- package/src/a11y/aria-describedby.spec.ts +0 -55
- package/src/a11y/aria-describedby.ts +0 -37
- package/src/a11y/aria-labelledby.spec.ts +0 -55
- package/src/a11y/aria-labelledby.ts +0 -38
- package/src/a11y/focus-trap.spec.ts +0 -86
- package/src/a11y/focus-trap.ts +0 -72
- package/src/a11y/index.ts +0 -10
- package/src/a11y/live-region.spec.ts +0 -58
- package/src/a11y/live-region.ts +0 -50
- package/src/a11y/roving-tabindex.spec.ts +0 -201
- package/src/a11y/roving-tabindex.ts +0 -153
- package/src/a11y/visually-hidden.spec.ts +0 -34
- package/src/a11y/visually-hidden.ts +0 -26
- package/src/accordion/accordion.context.ts +0 -44
- package/src/accordion/accordion.spec.ts +0 -242
- package/src/accordion/accordion.ts +0 -401
- package/src/accordion/index.ts +0 -8
- package/src/alert/alert.context.ts +0 -28
- package/src/alert/alert.spec.ts +0 -217
- package/src/alert/alert.ts +0 -417
- package/src/alert/config.ts +0 -46
- package/src/alert/index.ts +0 -19
- package/src/avatar/avatar-group.context.ts +0 -45
- package/src/avatar/avatar-group.spec.ts +0 -358
- package/src/avatar/avatar-group.ts +0 -259
- package/src/avatar/avatar.spec.ts +0 -18
- package/src/avatar/avatar.ts +0 -39
- package/src/avatar/index.ts +0 -11
- package/src/badge/badge.spec.ts +0 -28
- package/src/badge/badge.ts +0 -35
- package/src/badge/index.ts +0 -1
- package/src/breadcrumb/breadcrumb-current.ts +0 -38
- package/src/breadcrumb/breadcrumb-ellipsis.ts +0 -71
- package/src/breadcrumb/breadcrumb-item.ts +0 -41
- package/src/breadcrumb/breadcrumb-link.ts +0 -44
- package/src/breadcrumb/breadcrumb-list.ts +0 -42
- package/src/breadcrumb/breadcrumb-separator.ts +0 -45
- package/src/breadcrumb/breadcrumb.context.ts +0 -45
- package/src/breadcrumb/breadcrumb.spec.ts +0 -354
- package/src/breadcrumb/breadcrumb.ts +0 -239
- package/src/breadcrumb/config.ts +0 -84
- package/src/breadcrumb/index.ts +0 -18
- package/src/button/_examples/button.example.ts +0 -71
- package/src/button/_examples/button.finance.example.ts +0 -83
- package/src/button/_examples/button.retro.example.ts +0 -91
- package/src/button/_examples/button.sizes.example.ts +0 -60
- package/src/button/_examples/index.ts +0 -6
- package/src/button/button.spec.ts +0 -163
- package/src/button/button.ts +0 -142
- package/src/button/config.spec.ts +0 -33
- package/src/button/config.ts +0 -45
- package/src/button/index.ts +0 -2
- package/src/button-group/button-group.context.ts +0 -28
- package/src/button-group/button-group.spec.ts +0 -99
- package/src/button-group/button-group.ts +0 -99
- package/src/button-group/index.ts +0 -2
- package/src/calendar/calendar-day.ts +0 -102
- package/src/calendar/calendar-grid.ts +0 -90
- package/src/calendar/calendar-header.ts +0 -65
- package/src/calendar/calendar.context.ts +0 -53
- package/src/calendar/calendar.spec.ts +0 -225
- package/src/calendar/calendar.ts +0 -233
- package/src/calendar/date-utils.ts +0 -225
- package/src/calendar/index.ts +0 -28
- package/src/carousel/carousel.context.ts +0 -81
- package/src/carousel/carousel.spec.ts +0 -337
- package/src/carousel/carousel.ts +0 -919
- package/src/carousel/index.ts +0 -22
- package/src/cascade-select/cascade-select-option.ts +0 -205
- package/src/cascade-select/cascade-select-panel.ts +0 -106
- package/src/cascade-select/cascade-select-root.ts +0 -265
- package/src/cascade-select/cascade-select-sub-panel.ts +0 -168
- package/src/cascade-select/cascade-select-trigger.ts +0 -44
- package/src/cascade-select/cascade-select.context.ts +0 -71
- package/src/cascade-select/cascade-select.spec.ts +0 -241
- package/src/cascade-select/cascade-select.ts +0 -5
- package/src/cascade-select/index.ts +0 -11
- package/src/chart/chart.spec.ts +0 -27
- package/src/chart/chart.ts +0 -52
- package/src/chart/index.ts +0 -1
- package/src/chat/chat-avatar.ts +0 -31
- package/src/chat/chat-bubble.ts +0 -49
- package/src/chat/chat-footer.ts +0 -67
- package/src/chat/chat-header.ts +0 -41
- package/src/chat/chat-log.ts +0 -43
- package/src/chat/chat.context.ts +0 -64
- package/src/chat/chat.spec.ts +0 -341
- package/src/chat/chat.ts +0 -191
- package/src/chat/config.ts +0 -53
- package/src/chat/index.ts +0 -21
- package/src/checkbox/checkbox.spec.ts +0 -35
- package/src/checkbox/checkbox.ts +0 -89
- package/src/checkbox/index.ts +0 -1
- package/src/color-picker/color-picker.context.ts +0 -74
- package/src/color-picker/color-picker.spec.ts +0 -241
- package/src/color-picker/color-picker.ts +0 -698
- package/src/color-picker/color-picker.utils.ts +0 -140
- package/src/color-picker/index.ts +0 -28
- package/src/combobox/combobox-input.ts +0 -143
- package/src/combobox/combobox-listbox.ts +0 -49
- package/src/combobox/combobox-option.ts +0 -43
- package/src/combobox/combobox-root.ts +0 -281
- package/src/combobox/combobox.spec.ts +0 -75
- package/src/combobox/combobox.ts +0 -4
- package/src/combobox/index.ts +0 -4
- package/src/command-palette/command-empty.ts +0 -36
- package/src/command-palette/command-group.ts +0 -21
- package/src/command-palette/command-input.ts +0 -70
- package/src/command-palette/command-item.ts +0 -60
- package/src/command-palette/command-list.ts +0 -25
- package/src/command-palette/command-palette-dialog.ts +0 -74
- package/src/command-palette/command-palette-trigger.ts +0 -64
- package/src/command-palette/command-palette.filters.ts +0 -53
- package/src/command-palette/command-palette.spec.ts +0 -349
- package/src/command-palette/command-palette.ts +0 -204
- package/src/command-palette/command-separator.ts +0 -18
- package/src/command-palette/index.ts +0 -15
- package/src/confirm-popup/confirm-popup-action.ts +0 -39
- package/src/confirm-popup/confirm-popup-cancel.ts +0 -38
- package/src/confirm-popup/confirm-popup-content.ts +0 -113
- package/src/confirm-popup/confirm-popup-message.ts +0 -36
- package/src/confirm-popup/confirm-popup-trigger.ts +0 -31
- package/src/confirm-popup/confirm-popup.context.ts +0 -41
- package/src/confirm-popup/confirm-popup.spec.ts +0 -337
- package/src/confirm-popup/confirm-popup.ts +0 -109
- package/src/confirm-popup/index.ts +0 -12
- package/src/date-picker/date-picker-calendar.ts +0 -65
- package/src/date-picker/date-picker-trigger.ts +0 -215
- package/src/date-picker/date-picker.context.ts +0 -50
- package/src/date-picker/date-picker.spec.ts +0 -117
- package/src/date-picker/date-picker.ts +0 -127
- package/src/date-picker/index.ts +0 -7
- package/src/dialog/_examples/dialog.confirm.example.ts +0 -145
- package/src/dialog/_examples/dialog.example.ts +0 -106
- package/src/dialog/_examples/dialog.finance.example.ts +0 -121
- package/src/dialog/_examples/dialog.retro.example.ts +0 -126
- package/src/dialog/_examples/index.ts +0 -6
- package/src/dialog/dialog.ref.ts +0 -42
- package/src/dialog/dialog.service.ts +0 -66
- package/src/dialog/dialog.spec.ts +0 -37
- package/src/dialog/dialog.ts +0 -26
- package/src/dialog/index.ts +0 -3
- package/src/divider/divider.spec.ts +0 -223
- package/src/divider/divider.ts +0 -137
- package/src/divider/index.ts +0 -5
- package/src/drawer/drawer.ref.ts +0 -63
- package/src/drawer/drawer.service.ts +0 -106
- package/src/drawer/drawer.spec.ts +0 -117
- package/src/drawer/drawer.ts +0 -122
- package/src/drawer/index.ts +0 -10
- package/src/dropdown-menu/dropdown-menu-content.ts +0 -258
- package/src/dropdown-menu/dropdown-menu-group.ts +0 -31
- package/src/dropdown-menu/dropdown-menu-item.ts +0 -51
- package/src/dropdown-menu/dropdown-menu-label.ts +0 -41
- package/src/dropdown-menu/dropdown-menu-separator.ts +0 -27
- package/src/dropdown-menu/dropdown-menu-trigger.ts +0 -140
- package/src/dropdown-menu/dropdown-menu.spec.ts +0 -265
- package/src/dropdown-menu/dropdown-menu.ts +0 -60
- package/src/dropdown-menu/index.ts +0 -15
- package/src/example-components.ts +0 -42
- package/src/field/field-error.ts +0 -49
- package/src/field/field-group.ts +0 -39
- package/src/field/field-help.ts +0 -47
- package/src/field/field-label.ts +0 -30
- package/src/field/field.context.ts +0 -28
- package/src/field/field.spec.ts +0 -179
- package/src/field/field.ts +0 -121
- package/src/field/index.ts +0 -6
- package/src/file-upload/file-upload.context.ts +0 -89
- package/src/file-upload/file-upload.spec.ts +0 -290
- package/src/file-upload/file-upload.ts +0 -639
- package/src/file-upload/file-upload.types.ts +0 -59
- package/src/file-upload/index.ts +0 -23
- package/src/form/form-error-summary.ts +0 -87
- package/src/form/form-field.context.ts +0 -3
- package/src/form/form-field.spec.ts +0 -25
- package/src/form/form-field.ts +0 -52
- package/src/form/form.context.ts +0 -53
- package/src/form/form.spec.ts +0 -162
- package/src/form/form.ts +0 -326
- package/src/form/index.ts +0 -11
- package/src/icon/E2E.md +0 -14
- package/src/icon/icon.directive.spec.ts +0 -198
- package/src/icon/icon.directive.ts +0 -113
- package/src/icon/icon.mode.spec.ts +0 -29
- package/src/icon/icon.mode.ts +0 -23
- package/src/icon/icon.providers.spec.ts +0 -63
- package/src/icon/icon.providers.ts +0 -47
- package/src/icon/icon.resolver.spec.ts +0 -96
- package/src/icon/icon.resolver.ts +0 -49
- package/src/icon/icon.tokens.ts +0 -88
- package/src/icon/icon.types.ts +0 -48
- package/src/icon/index.ts +0 -21
- package/src/input/index.ts +0 -1
- package/src/input/input.spec.ts +0 -43
- package/src/input/input.ts +0 -89
- package/src/input-group/index.ts +0 -3
- package/src/input-group/input-group-addon.ts +0 -92
- package/src/input-group/input-group.context.ts +0 -27
- package/src/input-group/input-group.spec.ts +0 -186
- package/src/input-group/input-group.ts +0 -136
- package/src/input-mask/index.ts +0 -11
- package/src/input-mask/input-mask.compile.ts +0 -69
- package/src/input-mask/input-mask.engine.ts +0 -376
- package/src/input-mask/input-mask.presets.ts +0 -24
- package/src/input-mask/input-mask.spec.ts +0 -304
- package/src/input-mask/input-mask.tokens.ts +0 -49
- package/src/input-mask/input-mask.ts +0 -280
- package/src/input-otp/index.ts +0 -2
- package/src/input-otp/input-otp.context.ts +0 -41
- package/src/input-otp/input-otp.spec.ts +0 -308
- package/src/input-otp/input-otp.ts +0 -470
- package/src/kbd/index.ts +0 -1
- package/src/kbd/kbd.spec.ts +0 -127
- package/src/kbd/kbd.ts +0 -132
- package/src/link/config.ts +0 -44
- package/src/link/index.ts +0 -2
- package/src/link/link.spec.ts +0 -246
- package/src/link/link.ts +0 -226
- package/src/list/index.ts +0 -11
- package/src/list/list.spec.ts +0 -237
- package/src/list/list.ts +0 -277
- package/src/menubar/index.ts +0 -7
- package/src/menubar/menubar-item.ts +0 -204
- package/src/menubar/menubar.context.ts +0 -43
- package/src/menubar/menubar.spec.ts +0 -433
- package/src/menubar/menubar.ts +0 -309
- package/src/number-input/index.ts +0 -4
- package/src/number-input/number-input-group.ts +0 -64
- package/src/number-input/number-input.context.ts +0 -31
- package/src/number-input/number-input.format.ts +0 -148
- package/src/number-input/number-input.spec.ts +0 -170
- package/src/number-input/number-input.ts +0 -457
- package/src/number-input/number-stepper.ts +0 -193
- package/src/overlay-badge/index.ts +0 -7
- package/src/overlay-badge/overlay-badge-content.ts +0 -73
- package/src/overlay-badge/overlay-badge.context.ts +0 -37
- package/src/overlay-badge/overlay-badge.spec.ts +0 -220
- package/src/overlay-badge/overlay-badge.ts +0 -128
- package/src/pagination/config.ts +0 -82
- package/src/pagination/index.ts +0 -19
- package/src/pagination/page-tokens.ts +0 -78
- package/src/pagination/pagination-ellipsis.ts +0 -69
- package/src/pagination/pagination-first.ts +0 -84
- package/src/pagination/pagination-info.ts +0 -70
- package/src/pagination/pagination-item.ts +0 -81
- package/src/pagination/pagination-last.ts +0 -85
- package/src/pagination/pagination-next.ts +0 -86
- package/src/pagination/pagination-previous.ts +0 -90
- package/src/pagination/pagination.context.ts +0 -52
- package/src/pagination/pagination.spec.ts +0 -388
- package/src/pagination/pagination.ts +0 -288
- package/src/password-input/index.ts +0 -15
- package/src/password-input/password-input.context.ts +0 -65
- package/src/password-input/password-input.scorer.ts +0 -34
- package/src/password-input/password-input.spec.ts +0 -274
- package/src/password-input/password-input.ts +0 -488
- package/src/popover/_examples/index.ts +0 -5
- package/src/popover/_examples/popover.example.ts +0 -92
- package/src/popover/_examples/popover.finance.example.ts +0 -106
- package/src/popover/_examples/popover.retro.example.ts +0 -103
- package/src/popover/index.ts +0 -5
- package/src/popover/popover-arrow.ts +0 -30
- package/src/popover/popover-close.ts +0 -36
- package/src/popover/popover-content.ts +0 -41
- package/src/popover/popover-title.ts +0 -39
- package/src/popover/popover-trigger.ts +0 -40
- package/src/popover/popover.spec.ts +0 -59
- package/src/popover/popover.ts +0 -5
- package/src/presets/bind-presets.spec.ts +0 -50
- package/src/presets/bind-presets.ts +0 -43
- package/src/presets/index.ts +0 -3
- package/src/presets/size.spec.ts +0 -67
- package/src/presets/size.ts +0 -59
- package/src/presets/variant.spec.ts +0 -72
- package/src/presets/variant.ts +0 -62
- package/src/primitives/.gitkeep +0 -0
- package/src/primitives/directionality/directionality.spec.ts +0 -112
- package/src/primitives/directionality/directionality.ts +0 -89
- package/src/primitives/directionality/index.ts +0 -1
- package/src/primitives/forms/form-control.spec.ts +0 -67
- package/src/primitives/forms/form-control.ts +0 -94
- package/src/primitives/forms/index.ts +0 -1
- package/src/primitives/index.ts +0 -6
- package/src/primitives/interaction/disabled.spec.ts +0 -47
- package/src/primitives/interaction/disabled.ts +0 -31
- package/src/primitives/interaction/focus-ring.spec.ts +0 -62
- package/src/primitives/interaction/focus-ring.ts +0 -59
- package/src/primitives/interaction/index.ts +0 -2
- package/src/primitives/list/filterable-list.spec.ts +0 -114
- package/src/primitives/list/filterable-list.ts +0 -126
- package/src/primitives/list/group.spec.ts +0 -99
- package/src/primitives/list/group.ts +0 -139
- package/src/primitives/list/index.ts +0 -8
- package/src/primitives/list/inject-helpers.ts +0 -8
- package/src/primitives/list/item.spec.ts +0 -173
- package/src/primitives/list/item.ts +0 -222
- package/src/primitives/list/navigator.spec.ts +0 -286
- package/src/primitives/list/navigator.ts +0 -238
- package/src/primitives/list/selection.spec.ts +0 -214
- package/src/primitives/list/selection.ts +0 -339
- package/src/primitives/list/tokens.ts +0 -106
- package/src/primitives/list/type-ahead.spec.ts +0 -58
- package/src/primitives/list/type-ahead.ts +0 -46
- package/src/primitives/overlay/backdrop.spec.ts +0 -54
- package/src/primitives/overlay/backdrop.ts +0 -31
- package/src/primitives/overlay/builder.spec.ts +0 -38
- package/src/primitives/overlay/builder.ts +0 -151
- package/src/primitives/overlay/container.ts +0 -42
- package/src/primitives/overlay/context.ts +0 -14
- package/src/primitives/overlay/controller.spec.ts +0 -86
- package/src/primitives/overlay/controller.ts +0 -190
- package/src/primitives/overlay/id.spec.ts +0 -24
- package/src/primitives/overlay/id.ts +0 -17
- package/src/primitives/overlay/index.ts +0 -18
- package/src/primitives/overlay/overlay.css +0 -42
- package/src/primitives/overlay/panel.spec.ts +0 -52
- package/src/primitives/overlay/panel.ts +0 -102
- package/src/primitives/overlay/stack.spec.ts +0 -55
- package/src/primitives/overlay/stack.ts +0 -113
- package/src/primitives/overlay/strategies/backdrop/blurred.spec.ts +0 -11
- package/src/primitives/overlay/strategies/backdrop/blurred.ts +0 -5
- package/src/primitives/overlay/strategies/backdrop/none.spec.ts +0 -10
- package/src/primitives/overlay/strategies/backdrop/none.ts +0 -9
- package/src/primitives/overlay/strategies/backdrop/solid.spec.ts +0 -18
- package/src/primitives/overlay/strategies/backdrop/solid.ts +0 -23
- package/src/primitives/overlay/strategies/focus-trap/inert-based.spec.ts +0 -28
- package/src/primitives/overlay/strategies/focus-trap/inert-based.ts +0 -38
- package/src/primitives/overlay/strategies/focus-trap/no-trap.spec.ts +0 -9
- package/src/primitives/overlay/strategies/focus-trap/no-trap.ts +0 -8
- package/src/primitives/overlay/strategies/focus-trap/tab-cycle.spec.ts +0 -49
- package/src/primitives/overlay/strategies/focus-trap/tab-cycle.ts +0 -85
- package/src/primitives/overlay/strategies/index.ts +0 -34
- package/src/primitives/overlay/strategies/live-announcer/_announce.ts +0 -35
- package/src/primitives/overlay/strategies/live-announcer/assertive.spec.ts +0 -21
- package/src/primitives/overlay/strategies/live-announcer/assertive.ts +0 -11
- package/src/primitives/overlay/strategies/live-announcer/polite.spec.ts +0 -21
- package/src/primitives/overlay/strategies/live-announcer/polite.ts +0 -11
- package/src/primitives/overlay/strategies/live-announcer/silent.spec.ts +0 -12
- package/src/primitives/overlay/strategies/live-announcer/silent.ts +0 -5
- package/src/primitives/overlay/strategies/mount/body-portal.spec.ts +0 -40
- package/src/primitives/overlay/strategies/mount/body-portal.ts +0 -91
- package/src/primitives/overlay/strategies/mount/in-container.spec.ts +0 -43
- package/src/primitives/overlay/strategies/mount/in-container.ts +0 -39
- package/src/primitives/overlay/strategies/mount/in-place.spec.ts +0 -40
- package/src/primitives/overlay/strategies/mount/in-place.ts +0 -20
- package/src/primitives/overlay/strategies/position/anchored-to.spec.ts +0 -56
- package/src/primitives/overlay/strategies/position/anchored-to.ts +0 -248
- package/src/primitives/overlay/strategies/position/corner.spec.ts +0 -36
- package/src/primitives/overlay/strategies/position/corner.ts +0 -33
- package/src/primitives/overlay/strategies/position/edge-sheet.spec.ts +0 -32
- package/src/primitives/overlay/strategies/position/edge-sheet.ts +0 -36
- package/src/primitives/overlay/strategies/position/in-place-sibling.spec.ts +0 -25
- package/src/primitives/overlay/strategies/position/in-place-sibling.ts +0 -13
- package/src/primitives/overlay/strategies/position/point-at.spec.ts +0 -40
- package/src/primitives/overlay/strategies/position/point-at.ts +0 -34
- package/src/primitives/overlay/strategies/position/viewport-centered.spec.ts +0 -31
- package/src/primitives/overlay/strategies/position/viewport-centered.ts +0 -31
- package/src/primitives/overlay/strategies/scroll-lock/css-clip.spec.ts +0 -15
- package/src/primitives/overlay/strategies/scroll-lock/css-clip.ts +0 -39
- package/src/primitives/overlay/strategies/scroll-lock/html-overflow.spec.ts +0 -21
- package/src/primitives/overlay/strategies/scroll-lock/html-overflow.ts +0 -44
- package/src/primitives/overlay/strategies/scroll-lock/none.spec.ts +0 -9
- package/src/primitives/overlay/strategies/scroll-lock/none.ts +0 -5
- package/src/primitives/overlay/strategies/trigger-event/on-click.spec.ts +0 -32
- package/src/primitives/overlay/strategies/trigger-event/on-click.ts +0 -28
- package/src/primitives/overlay/strategies/trigger-event/on-context-menu.spec.ts +0 -45
- package/src/primitives/overlay/strategies/trigger-event/on-context-menu.ts +0 -70
- package/src/primitives/overlay/strategies/trigger-event/on-focus-or-input.spec.ts +0 -35
- package/src/primitives/overlay/strategies/trigger-event/on-focus-or-input.ts +0 -34
- package/src/primitives/overlay/strategies/trigger-event/on-focus.spec.ts +0 -64
- package/src/primitives/overlay/strategies/trigger-event/on-focus.ts +0 -37
- package/src/primitives/overlay/strategies/trigger-event/on-hotkey.spec.ts +0 -37
- package/src/primitives/overlay/strategies/trigger-event/on-hotkey.ts +0 -59
- package/src/primitives/overlay/strategies/trigger-event/on-hover.spec.ts +0 -34
- package/src/primitives/overlay/strategies/trigger-event/on-hover.ts +0 -86
- package/src/primitives/overlay/strategies/trigger-event/programmatic.spec.ts +0 -16
- package/src/primitives/overlay/strategies/trigger-event/programmatic.ts +0 -12
- package/src/primitives/overlay/tokens.ts +0 -54
- package/src/primitives/overlay/trigger.spec.ts +0 -103
- package/src/primitives/overlay/trigger.ts +0 -75
- package/src/primitives/overlay/types.ts +0 -24
- package/src/primitives/overlay/wrapper.ts +0 -50
- package/src/primitives/signals/deep-signal.ts +0 -109
- package/src/primitives/signals/index.ts +0 -1
- package/src/progress-bar/config.ts +0 -48
- package/src/progress-bar/index.ts +0 -12
- package/src/progress-bar/progress-bar-fill.ts +0 -37
- package/src/progress-bar/progress-bar.context.ts +0 -34
- package/src/progress-bar/progress-bar.spec.ts +0 -423
- package/src/progress-bar/progress-bar.ts +0 -217
- package/src/public-api.ts +0 -84
- package/src/radio/index.ts +0 -2
- package/src/radio/radio.context.ts +0 -3
- package/src/radio/radio.spec.ts +0 -36
- package/src/radio/radio.ts +0 -66
- package/src/select/index.ts +0 -4
- package/src/select/select-content.ts +0 -69
- package/src/select/select-option.ts +0 -35
- package/src/select/select-root.ts +0 -129
- package/src/select/select-trigger.ts +0 -93
- package/src/select/select.spec.ts +0 -138
- package/src/select/select.ts +0 -4
- package/src/skeleton/index.ts +0 -5
- package/src/skeleton/skeleton.spec.ts +0 -115
- package/src/skeleton/skeleton.ts +0 -56
- package/src/slider/index.ts +0 -10
- package/src/slider/slider-range.ts +0 -49
- package/src/slider/slider-thumb.ts +0 -335
- package/src/slider/slider-track.ts +0 -70
- package/src/slider/slider.context.ts +0 -79
- package/src/slider/slider.geometry.ts +0 -73
- package/src/slider/slider.spec.ts +0 -216
- package/src/slider/slider.ts +0 -443
- package/src/speed-dial/index.ts +0 -10
- package/src/speed-dial/speed-dial-action.ts +0 -40
- package/src/speed-dial/speed-dial-actions.ts +0 -31
- package/src/speed-dial/speed-dial-trigger.ts +0 -55
- package/src/speed-dial/speed-dial.context.ts +0 -36
- package/src/speed-dial/speed-dial.spec.ts +0 -143
- package/src/speed-dial/speed-dial.ts +0 -127
- package/src/spinner/config.ts +0 -48
- package/src/spinner/index.ts +0 -8
- package/src/spinner/spinner.spec.ts +0 -262
- package/src/spinner/spinner.ts +0 -129
- package/src/stepper/index.ts +0 -15
- package/src/stepper/stepper.context.ts +0 -63
- package/src/stepper/stepper.spec.ts +0 -403
- package/src/stepper/stepper.ts +0 -544
- package/src/styles/docs-themes.css +0 -82
- package/src/styles.css +0 -17
- package/src/table/column-helpers.spec.ts +0 -74
- package/src/table/column-helpers.ts +0 -68
- package/src/table/filter-fns.ts +0 -230
- package/src/table/filter-models.spec.ts +0 -240
- package/src/table/filter-models.ts +0 -124
- package/src/table/filter-params.ts +0 -90
- package/src/table/grid-api-impl.ts +0 -321
- package/src/table/grid-api.spec.ts +0 -178
- package/src/table/grid-api.ts +0 -285
- package/src/table/index.ts +0 -73
- package/src/table/table-cell.spec.ts +0 -43
- package/src/table/table-cell.ts +0 -38
- package/src/table/table-filter-outlet.ts +0 -120
- package/src/table/table-header.spec.ts +0 -54
- package/src/table/table-header.ts +0 -63
- package/src/table/table-keyboard.spec.ts +0 -68
- package/src/table/table-keyboard.ts +0 -107
- package/src/table/table-resource.spec.ts +0 -37
- package/src/table/table-resource.ts +0 -36
- package/src/table/table-row.spec.ts +0 -54
- package/src/table/table-row.ts +0 -31
- package/src/table/table-storage.spec.ts +0 -67
- package/src/table/table-storage.ts +0 -76
- package/src/table/table.spec.ts +0 -172
- package/src/table/table.ts +0 -281
- package/src/table/table.types.ts +0 -83
- package/src/tabs/index.ts +0 -7
- package/src/tabs/tabs.context.ts +0 -32
- package/src/tabs/tabs.spec.ts +0 -352
- package/src/tabs/tabs.ts +0 -364
- package/src/tag/config.ts +0 -53
- package/src/tag/index.ts +0 -7
- package/src/tag/tag-list.ts +0 -76
- package/src/tag/tag-remove.ts +0 -61
- package/src/tag/tag.context.ts +0 -36
- package/src/tag/tag.spec.ts +0 -240
- package/src/tag/tag.ts +0 -203
- package/src/test-setup.ts +0 -5
- package/src/textarea/config.ts +0 -42
- package/src/textarea/index.ts +0 -8
- package/src/textarea/textarea.spec.ts +0 -176
- package/src/textarea/textarea.ts +0 -235
- package/src/time-picker/index.ts +0 -15
- package/src/time-picker/time-picker-meridiem.ts +0 -123
- package/src/time-picker/time-picker-segment.ts +0 -318
- package/src/time-picker/time-picker.context.ts +0 -38
- package/src/time-picker/time-picker.format.ts +0 -181
- package/src/time-picker/time-picker.spec.ts +0 -189
- package/src/time-picker/time-picker.ts +0 -274
- package/src/toast/_examples/index.ts +0 -5
- package/src/toast/_examples/toast.example.ts +0 -282
- package/src/toast/_examples/toast.finance.example.ts +0 -180
- package/src/toast/_examples/toast.retro.example.ts +0 -161
- package/src/toast/index.ts +0 -28
- package/src/toast/toast.ref.ts +0 -26
- package/src/toast/toast.service.ts +0 -339
- package/src/toast/toast.spec.ts +0 -247
- package/src/toast/toast.strategy.ts +0 -112
- package/src/toast/toast.ts +0 -463
- package/src/toast/toast.types.ts +0 -5
- package/src/toggle/index.ts +0 -1
- package/src/toggle/toggle.spec.ts +0 -24
- package/src/toggle/toggle.ts +0 -48
- package/src/tooltip/_examples/index.ts +0 -6
- package/src/tooltip/_examples/tooltip.example.ts +0 -82
- package/src/tooltip/_examples/tooltip.finance.example.ts +0 -97
- package/src/tooltip/_examples/tooltip.placements.example.ts +0 -83
- package/src/tooltip/_examples/tooltip.retro.example.ts +0 -107
- package/src/tooltip/index.ts +0 -4
- package/src/tooltip/tooltip-arrow.ts +0 -31
- package/src/tooltip/tooltip-content.ts +0 -38
- package/src/tooltip/tooltip-group.ts +0 -32
- package/src/tooltip/tooltip-trigger.ts +0 -47
- package/src/tooltip/tooltip.spec.ts +0 -40
- package/src/tooltip/tooltip.ts +0 -5
- package/src/tree-select/index.ts +0 -12
- package/src/tree-select/tree-select-content.ts +0 -199
- package/src/tree-select/tree-select-node.ts +0 -132
- package/src/tree-select/tree-select-root.ts +0 -272
- package/src/tree-select/tree-select-trigger.ts +0 -90
- package/src/tree-select/tree-select.context.ts +0 -63
- package/src/tree-select/tree-select.spec.ts +0 -433
- package/src/tree-select/tree-select.ts +0 -2
- package/src/typography/blockquote.ts +0 -57
- package/src/typography/code.ts +0 -53
- package/src/typography/index.ts +0 -22
- package/src/typography/lead.ts +0 -49
- package/src/typography/muted.ts +0 -29
- package/src/typography/truncate.ts +0 -99
- package/src/typography/typography.spec.ts +0 -203
- package/tsconfig.lib.json +0 -21
- package/tsconfig.lib.prod.json +0 -17
- package/tsconfig.spec.json +0 -18
- package/vite.config.ts +0 -27
- /package/{src/icon → icon}/icon.css +0 -0
- /package/{src/typography → typography}/prose.css +0 -0
package/src/typography/muted.ts
DELETED
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* Reduces a phrasing element's colour intensity to the muted token so the
|
|
5
|
-
* text reads as secondary information against the primary text. Reflects
|
|
6
|
-
* `data-tone="muted"`; the kouji theme layer owns the actual colour mix and
|
|
7
|
-
* is verified against the AAA contrast bar (≥ 7:1) on `base-100`,
|
|
8
|
-
* `base-200`, and `base-300` page backgrounds.
|
|
9
|
-
*
|
|
10
|
-
* Works on any phrasing element (`<span>`, `<small>`, `<p>`, `<em>`).
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```html
|
|
14
|
-
* <p>Primary text. <small kjMuted>Secondary info.</small></p>
|
|
15
|
-
* <p kjMuted>Standalone muted paragraph.</p>
|
|
16
|
-
* ```
|
|
17
|
-
* @doc-category Core/Data display
|
|
18
|
-
* @doc
|
|
19
|
-
* @doc-name typography
|
|
20
|
-
*/
|
|
21
|
-
@Directive({
|
|
22
|
-
selector: '[kjMuted]',
|
|
23
|
-
standalone: true,
|
|
24
|
-
exportAs: 'kjMuted',
|
|
25
|
-
host: {
|
|
26
|
-
'[attr.data-tone]': '"muted"',
|
|
27
|
-
},
|
|
28
|
-
})
|
|
29
|
-
export class KjMuted {}
|
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Directive,
|
|
3
|
-
ElementRef,
|
|
4
|
-
afterNextRender,
|
|
5
|
-
inject,
|
|
6
|
-
isDevMode,
|
|
7
|
-
input,
|
|
8
|
-
} from '@angular/core';
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* Clamps the host element's text content to a fixed number of lines.
|
|
12
|
-
*
|
|
13
|
-
* - `kjTruncate="1"` (default) — single-line ellipsis using
|
|
14
|
-
* `text-overflow: ellipsis`.
|
|
15
|
-
* - `kjTruncate="2"` and above — multi-line clamp using
|
|
16
|
-
* `-webkit-line-clamp: N`.
|
|
17
|
-
*
|
|
18
|
-
* The directive reflects `[attr.data-truncate]` so the kouji CSS layer can
|
|
19
|
-
* apply the right rules. After the first render it reads the host's
|
|
20
|
-
* `textContent` and writes a normalised `[attr.title]` **only** when the
|
|
21
|
-
* consumer has not supplied a `title` or `aria-label`. This is the
|
|
22
|
-
* *belt-and-braces* affordance for sighted-but-zoomed users — AT users
|
|
23
|
-
* read the full text from the accessibility tree, which is unaffected by
|
|
24
|
-
* the visual clamp on modern browser/AT pairings.
|
|
25
|
-
*
|
|
26
|
-
* The directive does *not* install a `MutationObserver` to chase content
|
|
27
|
-
* changes; if the projected text changes after first render, the consumer
|
|
28
|
-
* is responsible for refreshing `title` themselves.
|
|
29
|
-
*
|
|
30
|
-
* @example
|
|
31
|
-
* ```html
|
|
32
|
-
* <p kjTruncate>Single-line truncation with auto-tooltip.</p>
|
|
33
|
-
* <p [kjTruncate]="3">Three-line clamp for a card description.</p>
|
|
34
|
-
* <p kjTruncate title="Custom tooltip">Consumer title wins.</p>
|
|
35
|
-
* ```
|
|
36
|
-
* @doc-category Core/Data display
|
|
37
|
-
* @doc
|
|
38
|
-
* @doc-name typography
|
|
39
|
-
*/
|
|
40
|
-
@Directive({
|
|
41
|
-
selector: '[kjTruncate]',
|
|
42
|
-
standalone: true,
|
|
43
|
-
exportAs: 'kjTruncate',
|
|
44
|
-
host: {
|
|
45
|
-
'[attr.data-truncate]': 'kjTruncate()',
|
|
46
|
-
},
|
|
47
|
-
})
|
|
48
|
-
export class KjTruncate {
|
|
49
|
-
private readonly el = inject<ElementRef<HTMLElement>>(ElementRef);
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Number of visible lines before truncation kicks in. `1` produces a
|
|
53
|
-
* single-line ellipsis; values ≥ `2` produce a multi-line clamp. `0` and
|
|
54
|
-
* negative values are dev-mode warnings — omit the directive instead.
|
|
55
|
-
* Defaults to `1`.
|
|
56
|
-
*/
|
|
57
|
-
readonly kjTruncate = input(1, {
|
|
58
|
-
transform: (value: number | string | undefined) => {
|
|
59
|
-
const n = typeof value === 'string' ? Number(value) : (value ?? 1);
|
|
60
|
-
return Number.isFinite(n) && n >= 1 ? Math.floor(n) : 1;
|
|
61
|
-
},
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
constructor() {
|
|
65
|
-
afterNextRender(() => {
|
|
66
|
-
const host = this.el.nativeElement;
|
|
67
|
-
|
|
68
|
-
if (isDevMode()) {
|
|
69
|
-
// Re-validate the raw input shape: the transform clamps invalid values
|
|
70
|
-
// to `1`, but we still want to flag intent so the consumer fixes the
|
|
71
|
-
// template rather than silently getting a single-line clamp. A bare
|
|
72
|
-
// `kjTruncate` attribute (no value, the documented single-line
|
|
73
|
-
// default) is allowed and skipped.
|
|
74
|
-
const raw = host.getAttribute('kjTruncate') ?? host.getAttribute('kjtruncate');
|
|
75
|
-
if (raw !== null && raw !== '') {
|
|
76
|
-
const parsed = Number(raw);
|
|
77
|
-
if (!Number.isFinite(parsed) || parsed < 1) {
|
|
78
|
-
console.warn(
|
|
79
|
-
`[kj] kjTruncate received "${raw}". Use a positive integer ` +
|
|
80
|
-
`(1 = single-line ellipsis, 2+ = multi-line clamp), or omit ` +
|
|
81
|
-
`the directive entirely.`,
|
|
82
|
-
);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
const hasTitle = host.hasAttribute('title');
|
|
88
|
-
const hasAriaLabel = host.hasAttribute('aria-label');
|
|
89
|
-
if (hasTitle || hasAriaLabel) {
|
|
90
|
-
return;
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
const text = (host.textContent ?? '').trim().replace(/\s+/g, ' ');
|
|
94
|
-
if (text.length > 0) {
|
|
95
|
-
host.setAttribute('title', text);
|
|
96
|
-
}
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
}
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
import { render } from '@testing-library/angular';
|
|
2
|
-
import { afterEach, describe, expect, it, vi } from 'vitest';
|
|
3
|
-
import { KjBlockquote } from './blockquote';
|
|
4
|
-
import { KjCode } from './code';
|
|
5
|
-
import { KjLead } from './lead';
|
|
6
|
-
import { KjMuted } from './muted';
|
|
7
|
-
import { KjTruncate } from './truncate';
|
|
8
|
-
|
|
9
|
-
/**
|
|
10
|
-
* Flush microtasks + the rAF that backs `afterNextRender` so the directives'
|
|
11
|
-
* dev-mode host inspections and `KjTruncate`'s `title` injection have a
|
|
12
|
-
* chance to run.
|
|
13
|
-
*/
|
|
14
|
-
async function flushAfterNextRender(): Promise<void> {
|
|
15
|
-
await new Promise<void>((resolve) => setTimeout(resolve, 0));
|
|
16
|
-
await Promise.resolve();
|
|
17
|
-
await Promise.resolve();
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
describe('Typography directives', () => {
|
|
21
|
-
afterEach(() => vi.restoreAllMocks());
|
|
22
|
-
|
|
23
|
-
describe('KjLead', () => {
|
|
24
|
-
it('reflects data-tone="lead" on the host', async () => {
|
|
25
|
-
const { container } = await render(`<p kjLead>Lead paragraph.</p>`, {
|
|
26
|
-
imports: [KjLead],
|
|
27
|
-
});
|
|
28
|
-
await flushAfterNextRender();
|
|
29
|
-
expect(container.querySelector('p')).toHaveAttribute('data-tone', 'lead');
|
|
30
|
-
});
|
|
31
|
-
|
|
32
|
-
it('does not warn on a <p> host', async () => {
|
|
33
|
-
const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
34
|
-
await render(`<p kjLead>Lead.</p>`, { imports: [KjLead] });
|
|
35
|
-
await flushAfterNextRender();
|
|
36
|
-
const matched = warn.mock.calls.some((c) => /kjLead applied to/i.test(String(c[0])));
|
|
37
|
-
expect(matched).toBe(false);
|
|
38
|
-
});
|
|
39
|
-
|
|
40
|
-
it('warns when applied to a non-<p> host', async () => {
|
|
41
|
-
const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
42
|
-
await render(`<span kjLead>Lead-ish.</span>`, { imports: [KjLead] });
|
|
43
|
-
await flushAfterNextRender();
|
|
44
|
-
const matched = warn.mock.calls.some((c) => {
|
|
45
|
-
const msg = String(c[0]);
|
|
46
|
-
return /kjLead applied to <span>/i.test(msg) && /<p>/.test(msg);
|
|
47
|
-
});
|
|
48
|
-
expect(matched).toBe(true);
|
|
49
|
-
});
|
|
50
|
-
});
|
|
51
|
-
|
|
52
|
-
describe('KjMuted', () => {
|
|
53
|
-
it('reflects data-tone="muted" on the host', async () => {
|
|
54
|
-
const { container } = await render(`<small kjMuted>Meta line.</small>`, {
|
|
55
|
-
imports: [KjMuted],
|
|
56
|
-
});
|
|
57
|
-
expect(container.querySelector('small')).toHaveAttribute('data-tone', 'muted');
|
|
58
|
-
});
|
|
59
|
-
|
|
60
|
-
it('works on any phrasing element (<span>)', async () => {
|
|
61
|
-
const { container } = await render(`<span kjMuted>Note</span>`, {
|
|
62
|
-
imports: [KjMuted],
|
|
63
|
-
});
|
|
64
|
-
expect(container.querySelector('span')).toHaveAttribute('data-tone', 'muted');
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
|
|
68
|
-
describe('KjCode', () => {
|
|
69
|
-
it('reflects data-tone="code" on the host', async () => {
|
|
70
|
-
const { container } = await render(`<code kjCode>npm install</code>`, {
|
|
71
|
-
imports: [KjCode],
|
|
72
|
-
});
|
|
73
|
-
await flushAfterNextRender();
|
|
74
|
-
expect(container.querySelector('code')).toHaveAttribute('data-tone', 'code');
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('does not warn on a <code> host', async () => {
|
|
78
|
-
const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
79
|
-
await render(`<code kjCode>x</code>`, { imports: [KjCode] });
|
|
80
|
-
await flushAfterNextRender();
|
|
81
|
-
const matched = warn.mock.calls.some((c) => /kjCode applied to/i.test(String(c[0])));
|
|
82
|
-
expect(matched).toBe(false);
|
|
83
|
-
});
|
|
84
|
-
|
|
85
|
-
it('warns when applied to a non-<code> host (e.g. <span>)', async () => {
|
|
86
|
-
const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
87
|
-
await render(`<span kjCode>x</span>`, { imports: [KjCode] });
|
|
88
|
-
await flushAfterNextRender();
|
|
89
|
-
const matched = warn.mock.calls.some((c) => {
|
|
90
|
-
const msg = String(c[0]);
|
|
91
|
-
return /kjCode applied to <span>/i.test(msg) && /<code>/.test(msg);
|
|
92
|
-
});
|
|
93
|
-
expect(matched).toBe(true);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
describe('KjBlockquote', () => {
|
|
98
|
-
it('reflects data-tone="blockquote" on the host', async () => {
|
|
99
|
-
const { container } = await render(`<blockquote kjBlockquote>Quote</blockquote>`, {
|
|
100
|
-
imports: [KjBlockquote],
|
|
101
|
-
});
|
|
102
|
-
await flushAfterNextRender();
|
|
103
|
-
expect(container.querySelector('blockquote')).toHaveAttribute(
|
|
104
|
-
'data-tone',
|
|
105
|
-
'blockquote',
|
|
106
|
-
);
|
|
107
|
-
});
|
|
108
|
-
|
|
109
|
-
it('does not warn on a <blockquote> host', async () => {
|
|
110
|
-
const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
111
|
-
await render(`<blockquote kjBlockquote>x</blockquote>`, {
|
|
112
|
-
imports: [KjBlockquote],
|
|
113
|
-
});
|
|
114
|
-
await flushAfterNextRender();
|
|
115
|
-
const matched = warn.mock.calls.some((c) =>
|
|
116
|
-
/kjBlockquote applied to/i.test(String(c[0])),
|
|
117
|
-
);
|
|
118
|
-
expect(matched).toBe(false);
|
|
119
|
-
});
|
|
120
|
-
|
|
121
|
-
it('warns when applied to a non-<blockquote> host (e.g. <div>)', async () => {
|
|
122
|
-
const warn = vi.spyOn(console, 'warn').mockImplementation(() => {});
|
|
123
|
-
await render(`<div kjBlockquote>x</div>`, { imports: [KjBlockquote] });
|
|
124
|
-
await flushAfterNextRender();
|
|
125
|
-
const matched = warn.mock.calls.some((c) => {
|
|
126
|
-
const msg = String(c[0]);
|
|
127
|
-
return /kjBlockquote applied to <div>/i.test(msg) && /<blockquote>/.test(msg);
|
|
128
|
-
});
|
|
129
|
-
expect(matched).toBe(true);
|
|
130
|
-
});
|
|
131
|
-
});
|
|
132
|
-
|
|
133
|
-
describe('KjTruncate', () => {
|
|
134
|
-
it('defaults to data-truncate="1"', async () => {
|
|
135
|
-
const { container } = await render(`<p kjTruncate>Some long text.</p>`, {
|
|
136
|
-
imports: [KjTruncate],
|
|
137
|
-
});
|
|
138
|
-
await flushAfterNextRender();
|
|
139
|
-
expect(container.querySelector('p')).toHaveAttribute('data-truncate', '1');
|
|
140
|
-
});
|
|
141
|
-
|
|
142
|
-
it('reflects [kjTruncate]="3" as data-truncate="3"', async () => {
|
|
143
|
-
const { container } = await render(
|
|
144
|
-
`<p [kjTruncate]="3">Some long text spanning multiple lines.</p>`,
|
|
145
|
-
{ imports: [KjTruncate] },
|
|
146
|
-
);
|
|
147
|
-
await flushAfterNextRender();
|
|
148
|
-
expect(container.querySelector('p')).toHaveAttribute('data-truncate', '3');
|
|
149
|
-
});
|
|
150
|
-
|
|
151
|
-
it('injects [title] from textContent when consumer has not supplied title/aria-label', async () => {
|
|
152
|
-
const { container } = await render(
|
|
153
|
-
`<p kjTruncate>Atlas helps engineering teams plan.</p>`,
|
|
154
|
-
{ imports: [KjTruncate] },
|
|
155
|
-
);
|
|
156
|
-
await flushAfterNextRender();
|
|
157
|
-
expect(container.querySelector('p')).toHaveAttribute(
|
|
158
|
-
'title',
|
|
159
|
-
'Atlas helps engineering teams plan.',
|
|
160
|
-
);
|
|
161
|
-
});
|
|
162
|
-
|
|
163
|
-
it('normalises whitespace (trim + collapse runs) when injecting title', async () => {
|
|
164
|
-
const { container } = await render(
|
|
165
|
-
`<p kjTruncate> Lots of\n whitespace </p>`,
|
|
166
|
-
{ imports: [KjTruncate] },
|
|
167
|
-
);
|
|
168
|
-
await flushAfterNextRender();
|
|
169
|
-
expect(container.querySelector('p')).toHaveAttribute(
|
|
170
|
-
'title',
|
|
171
|
-
'Lots of whitespace',
|
|
172
|
-
);
|
|
173
|
-
});
|
|
174
|
-
|
|
175
|
-
it('does not overwrite a consumer-supplied title', async () => {
|
|
176
|
-
const { container } = await render(
|
|
177
|
-
`<p kjTruncate title="Custom tooltip">The visible text.</p>`,
|
|
178
|
-
{ imports: [KjTruncate] },
|
|
179
|
-
);
|
|
180
|
-
await flushAfterNextRender();
|
|
181
|
-
expect(container.querySelector('p')).toHaveAttribute('title', 'Custom tooltip');
|
|
182
|
-
});
|
|
183
|
-
|
|
184
|
-
it('does not inject title when aria-label is consumer-supplied', async () => {
|
|
185
|
-
const { container } = await render(
|
|
186
|
-
`<p kjTruncate aria-label="Friendly summary">The visible text.</p>`,
|
|
187
|
-
{ imports: [KjTruncate] },
|
|
188
|
-
);
|
|
189
|
-
await flushAfterNextRender();
|
|
190
|
-
const host = container.querySelector('p');
|
|
191
|
-
expect(host).not.toHaveAttribute('title');
|
|
192
|
-
expect(host).toHaveAttribute('aria-label', 'Friendly summary');
|
|
193
|
-
});
|
|
194
|
-
|
|
195
|
-
it('does not set title when textContent is empty', async () => {
|
|
196
|
-
const { container } = await render(`<p kjTruncate></p>`, {
|
|
197
|
-
imports: [KjTruncate],
|
|
198
|
-
});
|
|
199
|
-
await flushAfterNextRender();
|
|
200
|
-
expect(container.querySelector('p')).not.toHaveAttribute('title');
|
|
201
|
-
});
|
|
202
|
-
});
|
|
203
|
-
});
|
package/tsconfig.lib.json
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
|
|
2
|
-
/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
|
|
3
|
-
{
|
|
4
|
-
"extends": "../../tsconfig.json",
|
|
5
|
-
"compilerOptions": {
|
|
6
|
-
"outDir": "../../out-tsc/lib",
|
|
7
|
-
"declaration": true,
|
|
8
|
-
"declarationMap": true,
|
|
9
|
-
"types": []
|
|
10
|
-
},
|
|
11
|
-
"include": ["src/**/*.ts"],
|
|
12
|
-
"exclude": ["**/*.spec.ts"],
|
|
13
|
-
"angularCompilerOptions": {
|
|
14
|
-
"extendedDiagnostics": {
|
|
15
|
-
"checks": {
|
|
16
|
-
"nullishCoalescingNotNullable": "suppress",
|
|
17
|
-
"optionalChainNotNullable": "suppress"
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
package/tsconfig.lib.prod.json
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
|
|
2
|
-
/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
|
|
3
|
-
{
|
|
4
|
-
"extends": "./tsconfig.lib.json",
|
|
5
|
-
"compilerOptions": {
|
|
6
|
-
"declarationMap": false
|
|
7
|
-
},
|
|
8
|
-
"angularCompilerOptions": {
|
|
9
|
-
"compilationMode": "partial",
|
|
10
|
-
"extendedDiagnostics": {
|
|
11
|
-
"checks": {
|
|
12
|
-
"nullishCoalescingNotNullable": "suppress",
|
|
13
|
-
"optionalChainNotNullable": "suppress"
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
package/tsconfig.spec.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */
|
|
2
|
-
/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */
|
|
3
|
-
{
|
|
4
|
-
"extends": "../../tsconfig.json",
|
|
5
|
-
"compilerOptions": {
|
|
6
|
-
"outDir": "../../out-tsc/spec",
|
|
7
|
-
"types": ["vitest/globals"]
|
|
8
|
-
},
|
|
9
|
-
"include": ["src/**/*.d.ts", "src/**/*.spec.ts"],
|
|
10
|
-
"angularCompilerOptions": {
|
|
11
|
-
"extendedDiagnostics": {
|
|
12
|
-
"checks": {
|
|
13
|
-
"nullishCoalescingNotNullable": "suppress",
|
|
14
|
-
"optionalChainNotNullable": "suppress"
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
}
|
package/vite.config.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { defineProject } from 'vitest/config';
|
|
2
|
-
import angular from '@analogjs/vite-plugin-angular';
|
|
3
|
-
|
|
4
|
-
export default defineProject({
|
|
5
|
-
plugins: [angular()],
|
|
6
|
-
test: {
|
|
7
|
-
globals: true,
|
|
8
|
-
environment: 'jsdom',
|
|
9
|
-
setupFiles: ['src/test-setup.ts'],
|
|
10
|
-
include: ['src/**/*.spec.ts'],
|
|
11
|
-
reporters: ['default'],
|
|
12
|
-
// Threads beat forks substantially on Windows; combined with isolate:false
|
|
13
|
-
// each worker pays jsdom + Angular TestBed env cost once and reuses it
|
|
14
|
-
// across all spec files routed to that worker.
|
|
15
|
-
pool: 'threads',
|
|
16
|
-
isolate: false,
|
|
17
|
-
fileParallelism: true,
|
|
18
|
-
minWorkers: 1,
|
|
19
|
-
maxWorkers: 2,
|
|
20
|
-
coverage: {
|
|
21
|
-
provider: 'v8',
|
|
22
|
-
reporter: ['text', 'json'],
|
|
23
|
-
include: ['src/**/*.ts'],
|
|
24
|
-
exclude: ['src/**/*.spec.ts', 'src/test-setup.ts'],
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
});
|
|
File without changes
|
|
File without changes
|