@aquera/nile-elements 1.5.1 → 1.5.3
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 +9 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +253 -197
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.css.cjs.js.map +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.css.esm.js +1 -1
- package/dist/nile-auto-complete/nile-auto-complete.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.css.esm.js +2 -2
- package/dist/nile-file-preview/nile-file-preview.esm.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.cjs.js.map +1 -1
- package/dist/nile-file-preview/nile-file-preview.template.esm.js +55 -25
- package/dist/nile-file-preview/utils/index.cjs.js +1 -1
- package/dist/nile-file-preview/utils/index.esm.js +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.cjs.js.map +1 -1
- package/dist/nile-file-preview/utils/nile-file-preview.util.esm.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.css.esm.js +15 -5
- package/dist/nile-file-upload/nile-file-upload.esm.js +2 -2
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js +2 -2
- package/dist/nile-file-upload/nile-file-upload.template.cjs.js.map +1 -1
- package/dist/nile-file-upload/nile-file-upload.template.esm.js +36 -32
- package/dist/nile-file-upload/types/file-upload.enums.cjs.js +1 -1
- package/dist/nile-file-upload/types/file-upload.enums.cjs.js.map +1 -1
- package/dist/nile-file-upload/types/file-upload.enums.esm.js +1 -1
- package/dist/nile-file-upload/types/index.cjs.js +1 -1
- package/dist/nile-file-upload/types/index.esm.js +1 -1
- package/dist/nile-file-upload/utils/drag-drop.util.cjs.js +1 -1
- package/dist/nile-file-upload/utils/drag-drop.util.cjs.js.map +1 -1
- package/dist/nile-file-upload/utils/drag-drop.util.esm.js +1 -1
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js +4 -2
- package/dist/nile-file-upload/utils/file-validation.util.cjs.js.map +1 -1
- package/dist/nile-file-upload/utils/file-validation.util.esm.js +1 -1
- package/dist/nile-grid/index.cjs.js +1 -1
- package/dist/nile-grid/index.esm.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.esm.js +2 -0
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.esm.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.esm.js +1 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.css.esm.js +8 -2
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.css.esm.js +2 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.esm.js +3 -3
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.esm.js +1 -1
- package/dist/nile-grid/nile-grid.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.css.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.css.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.css.esm.js +1 -0
- package/dist/nile-grid/nile-grid.esm.js +5 -3
- package/dist/nile-grid/nile-grid.layout.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.layout.esm.js +1 -1
- package/dist/nile-grid/nile-grid.resize.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.resize.esm.js +1 -1
- package/dist/nile-grid/nile-grid.utils.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.utils.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.utils.esm.js +1 -1
- package/dist/nile-grid/nile-grid.width.cjs.js +1 -1
- package/dist/nile-grid/nile-grid.width.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid.width.esm.js +1 -1
- package/dist/nile-input/nile-input.cjs.js +1 -1
- package/dist/nile-input/nile-input.cjs.js.map +1 -1
- package/dist/nile-input/nile-input.esm.js +1 -1
- package/dist/nile-popover/index.cjs.js +1 -1
- package/dist/nile-popover/index.esm.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js +4 -4
- package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.esm.js +11 -6
- package/dist/src/nile-accordion/nile-accordian.test.js +101 -99
- package/dist/src/nile-accordion/nile-accordian.test.js.map +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.css.js +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.css.js.map +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.js +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.js.map +1 -1
- package/dist/src/nile-auto-complete/nile-auto-complete.test.js +104 -112
- package/dist/src/nile-auto-complete/nile-auto-complete.test.js.map +1 -1
- package/dist/src/nile-avatar/nile-avatar.test.d.ts +0 -1
- package/dist/src/nile-avatar/nile-avatar.test.js +103 -87
- package/dist/src/nile-avatar/nile-avatar.test.js.map +1 -1
- package/dist/src/nile-badge/nile-badge.test.js +554 -35
- package/dist/src/nile-badge/nile-badge.test.js.map +1 -1
- package/dist/src/nile-breadcrumb/nile-breadcrumb.test.d.ts +2 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js +106 -0
- package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js.map +1 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.d.ts +1 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.js +108 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.test.js.map +1 -0
- package/dist/src/nile-button/nile-button.test.js +499 -39
- package/dist/src/nile-button/nile-button.test.js.map +1 -1
- package/dist/src/nile-button-filter/nile-button-filter.test.d.ts +1 -0
- package/dist/src/nile-button-filter/nile-button-filter.test.js +108 -0
- package/dist/src/nile-button-filter/nile-button-filter.test.js.map +1 -0
- package/dist/src/nile-button-toggle/nile-button-toggle.test.d.ts +1 -0
- package/dist/src/nile-button-toggle/nile-button-toggle.test.js +108 -0
- package/dist/src/nile-button-toggle/nile-button-toggle.test.js.map +1 -0
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.d.ts +1 -1
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js +105 -104
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.test.d.ts +0 -6
- package/dist/src/nile-calendar/nile-calendar.test.js +103 -318
- package/dist/src/nile-calendar/nile-calendar.test.js.map +1 -1
- package/dist/src/nile-card/nile-card.test.js +102 -66
- package/dist/src/nile-card/nile-card.test.js.map +1 -1
- package/dist/src/nile-checkbox/nile-checkbox.test.js +547 -108
- package/dist/src/nile-checkbox/nile-checkbox.test.js.map +1 -1
- package/dist/src/nile-chip/nile-chip.test.d.ts +0 -2
- package/dist/src/nile-chip/nile-chip.test.js +101 -102
- package/dist/src/nile-chip/nile-chip.test.js.map +1 -1
- package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.d.ts +1 -0
- package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.js +108 -0
- package/dist/src/nile-circular-progressbar/nile-circular-progressbar.test.js.map +1 -0
- package/dist/src/nile-date-picker/nile-date-picker.test.d.ts +1 -0
- package/dist/src/nile-date-picker/nile-date-picker.test.js +108 -0
- package/dist/src/nile-date-picker/nile-date-picker.test.js.map +1 -0
- package/dist/src/nile-dialog/nile-dialog.test.d.ts +0 -1
- package/dist/src/nile-dialog/nile-dialog.test.js +104 -126
- package/dist/src/nile-dialog/nile-dialog.test.js.map +1 -1
- package/dist/src/nile-divider/nile-divider.test.d.ts +1 -0
- package/dist/src/nile-divider/nile-divider.test.js +560 -0
- package/dist/src/nile-divider/nile-divider.test.js.map +1 -0
- package/dist/src/nile-drawer/nile-drawer.test.js +106 -86
- package/dist/src/nile-drawer/nile-drawer.test.js.map +1 -1
- package/dist/src/nile-dropdown/nile-dropdown.test.js +104 -148
- package/dist/src/nile-dropdown/nile-dropdown.test.js.map +1 -1
- package/dist/src/nile-empty-state/nile-empty-state.test.js +107 -59
- package/dist/src/nile-empty-state/nile-empty-state.test.js.map +1 -1
- package/dist/src/nile-error-message/nile-error-message.test.js +105 -55
- package/dist/src/nile-error-message/nile-error-message.test.js.map +1 -1
- package/dist/src/nile-error-notification/nile-error-notification.test.d.ts +1 -0
- package/dist/src/nile-error-notification/nile-error-notification.test.js +108 -0
- package/dist/src/nile-error-notification/nile-error-notification.test.js.map +1 -0
- package/dist/src/nile-file-preview/nile-file-preview.css.js +2 -2
- package/dist/src/nile-file-preview/nile-file-preview.css.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.d.ts +1 -4
- package/dist/src/nile-file-preview/nile-file-preview.js +21 -47
- package/dist/src/nile-file-preview/nile-file-preview.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.template.d.ts +6 -6
- package/dist/src/nile-file-preview/nile-file-preview.template.js +53 -23
- package/dist/src/nile-file-preview/nile-file-preview.template.js.map +1 -1
- package/dist/src/nile-file-preview/nile-file-preview.test.d.ts +0 -6
- package/dist/src/nile-file-preview/nile-file-preview.test.js +106 -28
- package/dist/src/nile-file-preview/nile-file-preview.test.js.map +1 -1
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.d.ts +3 -2
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js +32 -7
- package/dist/src/nile-file-preview/utils/nile-file-preview.util.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.css.js +15 -5
- package/dist/src/nile-file-upload/nile-file-upload.css.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.d.ts +4 -1
- package/dist/src/nile-file-upload/nile-file-upload.js +13 -1
- package/dist/src/nile-file-upload/nile-file-upload.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.template.js +19 -15
- package/dist/src/nile-file-upload/nile-file-upload.template.js.map +1 -1
- package/dist/src/nile-file-upload/nile-file-upload.test.d.ts +0 -6
- package/dist/src/nile-file-upload/nile-file-upload.test.js +106 -28
- package/dist/src/nile-file-upload/nile-file-upload.test.js.map +1 -1
- package/dist/src/nile-file-upload/types/file-upload.enums.d.ts +17 -3
- package/dist/src/nile-file-upload/types/file-upload.enums.js +17 -1
- package/dist/src/nile-file-upload/types/file-upload.enums.js.map +1 -1
- package/dist/src/nile-file-upload/utils/drag-drop.util.d.ts +2 -0
- package/dist/src/nile-file-upload/utils/drag-drop.util.js +14 -8
- package/dist/src/nile-file-upload/utils/drag-drop.util.js.map +1 -1
- package/dist/src/nile-file-upload/utils/file-validation.util.js +89 -10
- package/dist/src/nile-file-upload/utils/file-validation.util.js.map +1 -1
- package/dist/src/nile-filter-chip/nile-filter-chip.test.js +102 -77
- package/dist/src/nile-filter-chip/nile-filter-chip.test.js.map +1 -1
- package/dist/src/nile-form-error-message/nile-form-error-message.test.d.ts +1 -0
- package/dist/src/nile-form-error-message/nile-form-error-message.test.js +108 -0
- package/dist/src/nile-form-error-message/nile-form-error-message.test.js.map +1 -0
- package/dist/src/nile-form-group/nile-form-group.test.js +104 -51
- package/dist/src/nile-form-group/nile-form-group.test.js.map +1 -1
- package/dist/src/nile-form-help-text/nile-form-help-text.test.js +104 -84
- package/dist/src/nile-form-help-text/nile-form-help-text.test.js.map +1 -1
- package/dist/src/nile-format-date/nile-format-date.test.d.ts +1 -0
- package/dist/src/nile-format-date/nile-format-date.test.js +108 -0
- package/dist/src/nile-format-date/nile-format-date.test.js.map +1 -0
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js +2 -0
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js +1 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.d.ts +1 -1
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js +2 -2
- package/dist/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js +6 -0
- package/dist/src/nile-grid/nile-grid-head/nile-grid-head.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js +2 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js +6 -5
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.js.map +1 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.d.ts +15 -1
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js +26 -2
- package/dist/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.css.js +1 -0
- package/dist/src/nile-grid/nile-grid.css.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.d.ts +31 -3
- package/dist/src/nile-grid/nile-grid.js +107 -30
- package/dist/src/nile-grid/nile-grid.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.layout.d.ts +2 -9
- package/dist/src/nile-grid/nile-grid.layout.js +120 -106
- package/dist/src/nile-grid/nile-grid.layout.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.resize.d.ts +1 -0
- package/dist/src/nile-grid/nile-grid.resize.js +7 -3
- package/dist/src/nile-grid/nile-grid.resize.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.utils.d.ts +7 -0
- package/dist/src/nile-grid/nile-grid.utils.js +37 -2
- package/dist/src/nile-grid/nile-grid.utils.js.map +1 -1
- package/dist/src/nile-grid/nile-grid.width.d.ts +2 -1
- package/dist/src/nile-grid/nile-grid.width.js +38 -8
- package/dist/src/nile-grid/nile-grid.width.js.map +1 -1
- package/dist/src/nile-grid/types/nile-grid.types.d.ts +5 -0
- package/dist/src/nile-grid/types/nile-grid.types.js.map +1 -1
- package/dist/src/nile-heading/nile-heading.test.d.ts +1 -0
- package/dist/src/nile-heading/nile-heading.test.js +108 -0
- package/dist/src/nile-heading/nile-heading.test.js.map +1 -0
- package/dist/src/nile-hero/nile-hero.test.js +101 -38
- package/dist/src/nile-hero/nile-hero.test.js.map +1 -1
- package/dist/src/nile-icon/nile-icon.test.js +103 -40
- package/dist/src/nile-icon/nile-icon.test.js.map +1 -1
- package/dist/src/nile-icon-button/nile-icon-button.test.d.ts +1 -0
- package/dist/src/nile-icon-button/nile-icon-button.test.js +568 -0
- package/dist/src/nile-icon-button/nile-icon-button.test.js.map +1 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.test.d.ts +1 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.test.js +108 -0
- package/dist/src/nile-inline-edit/nile-inline-edit.test.js.map +1 -0
- package/dist/src/nile-input/nile-input.js +1 -1
- package/dist/src/nile-input/nile-input.js.map +1 -1
- package/dist/src/nile-input/nile-input.test.js +109 -139
- package/dist/src/nile-input/nile-input.test.js.map +1 -1
- package/dist/src/nile-link/nile-link.test.js +103 -67
- package/dist/src/nile-link/nile-link.test.js.map +1 -1
- package/dist/src/nile-list/nile-list.test.d.ts +1 -0
- package/dist/src/nile-list/nile-list.test.js +108 -0
- package/dist/src/nile-list/nile-list.test.js.map +1 -0
- package/dist/src/nile-list-item/nile-list-item.test.d.ts +1 -0
- package/dist/src/nile-list-item/nile-list-item.test.js +108 -0
- package/dist/src/nile-list-item/nile-list-item.test.js.map +1 -0
- package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.d.ts +2 -0
- package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.js +109 -0
- package/dist/src/nile-lite-tooltip/nile-lite-tooltip.test.js.map +1 -0
- package/dist/src/nile-loader/nile-loader.test.js +107 -40
- package/dist/src/nile-loader/nile-loader.test.js.map +1 -1
- package/dist/src/nile-menu/nile-menu.test.d.ts +1 -0
- package/dist/src/nile-menu/nile-menu.test.js +113 -0
- package/dist/src/nile-menu/nile-menu.test.js.map +1 -0
- package/dist/src/nile-menu-item/nile-menu-item.test.d.ts +1 -0
- package/dist/src/nile-menu-item/nile-menu-item.test.js +113 -0
- package/dist/src/nile-menu-item/nile-menu-item.test.js.map +1 -0
- package/dist/src/nile-option/nile-option.test.d.ts +1 -0
- package/dist/src/nile-option/nile-option.test.js +108 -0
- package/dist/src/nile-option/nile-option.test.js.map +1 -0
- package/dist/src/nile-option-group/nile-option-group.test.d.ts +1 -0
- package/dist/src/nile-option-group/nile-option-group.test.js +108 -0
- package/dist/src/nile-option-group/nile-option-group.test.js.map +1 -0
- package/dist/src/nile-page-header/nile-page-header.test.d.ts +1 -0
- package/dist/src/nile-page-header/nile-page-header.test.js +108 -0
- package/dist/src/nile-page-header/nile-page-header.test.js.map +1 -0
- package/dist/src/nile-pagination/nile-pagination.test.d.ts +1 -0
- package/dist/src/nile-pagination/nile-pagination.test.js +108 -0
- package/dist/src/nile-pagination/nile-pagination.test.js.map +1 -0
- package/dist/src/nile-popover/nile-popover.test.js +103 -68
- package/dist/src/nile-popover/nile-popover.test.js.map +1 -1
- package/dist/src/nile-popup/nile-popup.test.js +104 -65
- package/dist/src/nile-popup/nile-popup.test.js.map +1 -1
- package/dist/src/nile-progress-bar/nile-progress-bar.test.js +104 -44
- package/dist/src/nile-progress-bar/nile-progress-bar.test.js.map +1 -1
- package/dist/src/nile-radio/nile-radio.test.js +103 -66
- package/dist/src/nile-radio/nile-radio.test.js.map +1 -1
- package/dist/src/nile-radio-group/nile-radio-group.test.d.ts +0 -1
- package/dist/src/nile-radio-group/nile-radio-group.test.js +105 -171
- package/dist/src/nile-radio-group/nile-radio-group.test.js.map +1 -1
- package/dist/src/nile-section-message/nile-section-message.test.d.ts +1 -0
- package/dist/src/nile-section-message/nile-section-message.test.js +108 -0
- package/dist/src/nile-section-message/nile-section-message.test.js.map +1 -0
- package/dist/src/nile-select/nile-select.test.d.ts +0 -5
- package/dist/src/nile-select/nile-select.test.js +105 -244
- package/dist/src/nile-select/nile-select.test.js.map +1 -1
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.d.ts +1 -0
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.js +108 -0
- package/dist/src/nile-skeleton-loader/nile-skeleton-loader.test.js.map +1 -0
- package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js +104 -50
- package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js.map +1 -1
- package/dist/src/nile-slider/nile-slider.test.d.ts +1 -0
- package/dist/src/nile-slider/nile-slider.test.js +108 -0
- package/dist/src/nile-slider/nile-slider.test.js.map +1 -0
- package/dist/src/nile-spinner/nile-spinner.test.d.ts +1 -0
- package/dist/src/nile-spinner/nile-spinner.test.js +569 -0
- package/dist/src/nile-spinner/nile-spinner.test.js.map +1 -0
- package/dist/src/nile-split-panel/nile-split-panel.test.d.ts +1 -0
- package/dist/src/nile-split-panel/nile-split-panel.test.js +108 -0
- package/dist/src/nile-split-panel/nile-split-panel.test.js.map +1 -0
- package/dist/src/nile-stepper/nile-stepper.test.d.ts +2 -0
- package/dist/src/nile-stepper/nile-stepper.test.js +109 -0
- package/dist/src/nile-stepper/nile-stepper.test.js.map +1 -0
- package/dist/src/nile-stepper-item/nile-stepper-item.test.d.ts +1 -0
- package/dist/src/nile-stepper-item/nile-stepper-item.test.js +108 -0
- package/dist/src/nile-stepper-item/nile-stepper-item.test.js.map +1 -0
- package/dist/src/nile-tab/nile-tab.test.d.ts +1 -0
- package/dist/src/nile-tab/nile-tab.test.js +108 -0
- package/dist/src/nile-tab/nile-tab.test.js.map +1 -0
- package/dist/src/nile-tab-group/nile-tab-group.test.js +105 -172
- package/dist/src/nile-tab-group/nile-tab-group.test.js.map +1 -1
- package/dist/src/nile-tab-panel/nile-tab-panel.test.d.ts +1 -0
- package/dist/src/nile-tab-panel/nile-tab-panel.test.js +108 -0
- package/dist/src/nile-tab-panel/nile-tab-panel.test.js.map +1 -0
- package/dist/src/nile-tag/nile-tag.test.d.ts +1 -0
- package/dist/src/nile-tag/nile-tag.test.js +574 -0
- package/dist/src/nile-tag/nile-tag.test.js.map +1 -0
- package/dist/src/nile-textarea/nile-textarea.test.d.ts +1 -1
- package/dist/src/nile-textarea/nile-textarea.test.js +105 -84
- package/dist/src/nile-textarea/nile-textarea.test.js.map +1 -1
- package/dist/src/nile-title/nile-title.test.d.ts +1 -0
- package/dist/src/nile-title/nile-title.test.js +108 -0
- package/dist/src/nile-title/nile-title.test.js.map +1 -0
- package/dist/src/nile-toast/nile-toast.test.d.ts +1 -0
- package/dist/src/nile-toast/nile-toast.test.js +526 -0
- package/dist/src/nile-toast/nile-toast.test.js.map +1 -0
- package/dist/src/nile-toolbar/nile-toolbar.test.d.ts +1 -0
- package/dist/src/nile-toolbar/nile-toolbar.test.js +108 -0
- package/dist/src/nile-toolbar/nile-toolbar.test.js.map +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.d.ts +1 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.js +546 -0
- package/dist/src/nile-tooltip/nile-tooltip.test.js.map +1 -0
- package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +1 -7
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js +105 -628
- package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/rollup.config.js +7 -1
- package/src/nile-accordion/nile-accordian.test.ts +102 -116
- package/src/nile-auto-complete/nile-auto-complete.css.ts +1 -1
- package/src/nile-auto-complete/nile-auto-complete.test.ts +102 -145
- package/src/nile-auto-complete/nile-auto-complete.ts +1 -1
- package/src/nile-avatar/nile-avatar.test.ts +102 -112
- package/src/nile-badge/nile-badge.test.ts +642 -30
- package/src/nile-breadcrumb/nile-breadcrumb.test.ts +107 -0
- package/src/nile-breadcrumb-item/nile-breadcrumb-item.test.ts +106 -0
- package/src/nile-button/nile-button.test.ts +593 -61
- package/src/nile-button-filter/nile-button-filter.test.ts +106 -0
- package/src/nile-button-toggle/nile-button-toggle.test.ts +106 -0
- package/src/nile-button-toggle-group/nile-button-toggle-group.test.ts +104 -126
- package/src/nile-calendar/nile-calendar.test.ts +102 -406
- package/src/nile-card/nile-card.test.ts +103 -71
- package/src/nile-checkbox/nile-checkbox.test.ts +614 -108
- package/src/nile-chip/nile-chip.test.ts +102 -136
- package/src/nile-circular-progressbar/nile-circular-progressbar.test.ts +106 -0
- package/src/nile-date-picker/nile-date-picker.test.ts +106 -0
- package/src/nile-dialog/nile-dialog.test.ts +102 -164
- package/src/nile-divider/nile-divider.test.ts +659 -0
- package/src/nile-drawer/nile-drawer.test.ts +105 -105
- package/src/nile-dropdown/nile-dropdown.test.ts +102 -190
- package/src/nile-empty-state/nile-empty-state.test.ts +104 -67
- package/src/nile-error-message/nile-error-message.test.ts +104 -67
- package/src/nile-error-notification/nile-error-notification.test.ts +106 -0
- package/src/nile-file-preview/nile-file-preview.css.ts +2 -2
- package/src/nile-file-preview/nile-file-preview.template.ts +59 -23
- package/src/nile-file-preview/nile-file-preview.test.ts +105 -37
- package/src/nile-file-preview/nile-file-preview.ts +23 -56
- package/src/nile-file-preview/utils/nile-file-preview.util.ts +37 -8
- package/src/nile-file-upload/nile-file-upload.css.ts +15 -5
- package/src/nile-file-upload/nile-file-upload.template.ts +22 -18
- package/src/nile-file-upload/nile-file-upload.test.ts +105 -37
- package/src/nile-file-upload/nile-file-upload.ts +11 -3
- package/src/nile-file-upload/types/file-upload.enums.ts +20 -4
- package/src/nile-file-upload/utils/drag-drop.util.ts +20 -11
- package/src/nile-file-upload/utils/file-validation.util.ts +104 -22
- package/src/nile-filter-chip/nile-filter-chip.test.ts +103 -89
- package/src/nile-form-error-message/nile-form-error-message.test.ts +106 -0
- package/src/nile-form-group/nile-form-group.test.ts +103 -60
- package/src/nile-form-help-text/nile-form-help-text.test.ts +102 -106
- package/src/nile-format-date/nile-format-date.test.ts +106 -0
- package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.css.ts +2 -0
- package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.ts +1 -1
- package/src/nile-grid/nile-grid-cell-item/nile-grid-cell-item.utils.ts +2 -1
- package/src/nile-grid/nile-grid-head/nile-grid-head.css.ts +6 -0
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.css.ts +2 -1
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.ts +7 -5
- package/src/nile-grid/nile-grid-head-item/nile-grid-head-item.utils.ts +30 -1
- package/src/nile-grid/nile-grid.css.ts +1 -0
- package/src/nile-grid/nile-grid.layout.ts +122 -133
- package/src/nile-grid/nile-grid.resize.ts +15 -9
- package/src/nile-grid/nile-grid.ts +102 -28
- package/src/nile-grid/nile-grid.utils.ts +45 -3
- package/src/nile-grid/nile-grid.width.ts +45 -14
- package/src/nile-grid/types/nile-grid.types.ts +7 -1
- package/src/nile-heading/nile-heading.test.ts +106 -0
- package/src/nile-hero/nile-hero.test.ts +103 -42
- package/src/nile-icon/nile-icon.test.ts +103 -50
- package/src/nile-icon-button/nile-icon-button.test.ts +667 -0
- package/src/nile-inline-edit/nile-inline-edit.test.ts +106 -0
- package/src/nile-input/nile-input.test.ts +105 -164
- package/src/nile-input/nile-input.ts +1 -1
- package/src/nile-link/nile-link.test.ts +104 -81
- package/src/nile-list/nile-list.test.ts +106 -0
- package/src/nile-list-item/nile-list-item.test.ts +106 -0
- package/src/nile-lite-tooltip/nile-lite-tooltip.test.ts +107 -0
- package/src/nile-loader/nile-loader.test.ts +103 -48
- package/src/nile-menu/nile-menu.test.ts +106 -0
- package/src/nile-menu-item/nile-menu-item.test.ts +106 -0
- package/src/nile-option/nile-option.test.ts +106 -0
- package/src/nile-option-group/nile-option-group.test.ts +106 -0
- package/src/nile-page-header/nile-page-header.test.ts +106 -0
- package/src/nile-pagination/nile-pagination.test.ts +106 -0
- package/src/nile-popover/nile-popover.test.ts +103 -83
- package/src/nile-popup/nile-popup.test.ts +102 -82
- package/src/nile-progress-bar/nile-progress-bar.test.ts +103 -52
- package/src/nile-radio/nile-radio.test.ts +103 -78
- package/src/nile-radio-group/nile-radio-group.test.ts +104 -213
- package/src/nile-section-message/nile-section-message.test.ts +106 -0
- package/src/nile-select/nile-select.test.ts +105 -308
- package/src/nile-skeleton-loader/nile-skeleton-loader.test.ts +106 -0
- package/src/nile-slide-toggle/nile-slide-toggle.test.ts +103 -58
- package/src/nile-slider/nile-slider.test.ts +106 -0
- package/src/nile-spinner/nile-spinner.test.ts +668 -0
- package/src/nile-split-panel/nile-split-panel.test.ts +106 -0
- package/src/nile-stepper/nile-stepper.test.ts +107 -0
- package/src/nile-stepper-item/nile-stepper-item.test.ts +106 -0
- package/src/nile-tab/nile-tab.test.ts +106 -0
- package/src/nile-tab-group/nile-tab-group.test.ts +104 -211
- package/src/nile-tab-panel/nile-tab-panel.test.ts +106 -0
- package/src/nile-tag/nile-tag.test.ts +675 -0
- package/src/nile-textarea/nile-textarea.test.ts +104 -100
- package/src/nile-title/nile-title.test.ts +106 -0
- package/src/nile-toast/nile-toast.test.ts +625 -0
- package/src/nile-toolbar/nile-toolbar.test.ts +106 -0
- package/src/nile-tooltip/nile-tooltip.test.ts +645 -0
- package/src/nile-virtual-select/nile-virtual-select.test.ts +104 -772
- package/vscode-html-custom-data.json +10 -5
- package/web-test-runner.config.mjs +4 -2
- package/dist/axe.min-2720cd56.esm.js +0 -1
- package/dist/axe.min-69d47269.cjs.js +0 -2
- package/dist/axe.min-69d47269.cjs.js.map +0 -1
- package/dist/css-tag-bb10c0fa.cjs.js +0 -6
- package/dist/css-tag-bb10c0fa.cjs.js.map +0 -1
- package/dist/css-tag-dc564feb.esm.js +0 -6
- package/dist/fixture-958445f8.cjs.js +0 -395
- package/dist/fixture-958445f8.cjs.js.map +0 -1
- package/dist/fixture-985bba12.esm.js +0 -569
- package/dist/nile-accordion/nile-accordian.test.cjs.js +0 -2
- package/dist/nile-accordion/nile-accordian.test.cjs.js.map +0 -1
- package/dist/nile-accordion/nile-accordian.test.esm.js +0 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js +0 -2
- package/dist/nile-auto-complete/nile-auto-complete.test.cjs.js.map +0 -1
- package/dist/nile-auto-complete/nile-auto-complete.test.esm.js +0 -9
- package/dist/nile-avatar/nile-avatar.test.cjs.js +0 -2
- package/dist/nile-avatar/nile-avatar.test.cjs.js.map +0 -1
- package/dist/nile-avatar/nile-avatar.test.esm.js +0 -11
- package/dist/nile-badge/nile-badge.test.cjs.js +0 -2
- package/dist/nile-badge/nile-badge.test.cjs.js.map +0 -1
- package/dist/nile-badge/nile-badge.test.esm.js +0 -1
- package/dist/nile-button/nile-button.test.cjs.js +0 -2
- package/dist/nile-button/nile-button.test.cjs.js.map +0 -1
- package/dist/nile-button/nile-button.test.esm.js +0 -4
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +0 -2
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js.map +0 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +0 -49
- package/dist/nile-calendar/nile-calendar.test.cjs.js +0 -2
- package/dist/nile-calendar/nile-calendar.test.cjs.js.map +0 -1
- package/dist/nile-calendar/nile-calendar.test.esm.js +0 -11
- package/dist/nile-card/nile-card.test.cjs.js +0 -2
- package/dist/nile-card/nile-card.test.cjs.js.map +0 -1
- package/dist/nile-card/nile-card.test.esm.js +0 -51
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +0 -2
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js.map +0 -1
- package/dist/nile-checkbox/nile-checkbox.test.esm.js +0 -17
- package/dist/nile-chip/nile-chip.test.cjs.js +0 -2
- package/dist/nile-chip/nile-chip.test.cjs.js.map +0 -1
- package/dist/nile-chip/nile-chip.test.esm.js +0 -1
- package/dist/nile-dialog/nile-dialog.test.cjs.js +0 -2
- package/dist/nile-dialog/nile-dialog.test.cjs.js.map +0 -1
- package/dist/nile-dialog/nile-dialog.test.esm.js +0 -7
- package/dist/nile-drawer/nile-drawer.test.cjs.js +0 -2
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +0 -1
- package/dist/nile-drawer/nile-drawer.test.esm.js +0 -17
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js +0 -2
- package/dist/nile-dropdown/nile-dropdown.test.cjs.js.map +0 -1
- package/dist/nile-dropdown/nile-dropdown.test.esm.js +0 -28
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +0 -2
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js.map +0 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +0 -9
- package/dist/nile-error-message/nile-error-message.test.cjs.js +0 -2
- package/dist/nile-error-message/nile-error-message.test.cjs.js.map +0 -1
- package/dist/nile-error-message/nile-error-message.test.esm.js +0 -1
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js +0 -2
- package/dist/nile-file-preview/nile-file-preview.test.cjs.js.map +0 -1
- package/dist/nile-file-preview/nile-file-preview.test.esm.js +0 -1
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js +0 -2
- package/dist/nile-file-upload/nile-file-upload.test.cjs.js.map +0 -1
- package/dist/nile-file-upload/nile-file-upload.test.esm.js +0 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js +0 -2
- package/dist/nile-filter-chip/nile-filter-chip.test.cjs.js.map +0 -1
- package/dist/nile-filter-chip/nile-filter-chip.test.esm.js +0 -20
- package/dist/nile-form-group/nile-form-group.test.cjs.js +0 -2
- package/dist/nile-form-group/nile-form-group.test.cjs.js.map +0 -1
- package/dist/nile-form-group/nile-form-group.test.esm.js +0 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js +0 -2
- package/dist/nile-form-help-text/nile-form-help-text.test.cjs.js.map +0 -1
- package/dist/nile-form-help-text/nile-form-help-text.test.esm.js +0 -1
- package/dist/nile-hero/nile-hero.test.cjs.js +0 -2
- package/dist/nile-hero/nile-hero.test.cjs.js.map +0 -1
- package/dist/nile-hero/nile-hero.test.esm.js +0 -14
- package/dist/nile-icon/nile-icon.test.cjs.js +0 -2
- package/dist/nile-icon/nile-icon.test.cjs.js.map +0 -1
- package/dist/nile-icon/nile-icon.test.esm.js +0 -1
- package/dist/nile-input/nile-input.test.cjs.js +0 -2
- package/dist/nile-input/nile-input.test.cjs.js.map +0 -1
- package/dist/nile-input/nile-input.test.esm.js +0 -17
- package/dist/nile-link/nile-link.test.cjs.js +0 -2
- package/dist/nile-link/nile-link.test.cjs.js.map +0 -1
- package/dist/nile-link/nile-link.test.esm.js +0 -1
- package/dist/nile-loader/nile-loader.test.cjs.js +0 -2
- package/dist/nile-loader/nile-loader.test.cjs.js.map +0 -1
- package/dist/nile-loader/nile-loader.test.esm.js +0 -1
- package/dist/nile-popover/nile-popover.test.cjs.js +0 -2
- package/dist/nile-popover/nile-popover.test.cjs.js.map +0 -1
- package/dist/nile-popover/nile-popover.test.esm.js +0 -21
- package/dist/nile-popup/nile-popup.test.cjs.js +0 -2
- package/dist/nile-popup/nile-popup.test.cjs.js.map +0 -1
- package/dist/nile-popup/nile-popup.test.esm.js +0 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +0 -2
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js.map +0 -1
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +0 -1
- package/dist/nile-radio/nile-radio.test.cjs.js +0 -2
- package/dist/nile-radio/nile-radio.test.cjs.js.map +0 -1
- package/dist/nile-radio/nile-radio.test.esm.js +0 -1
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js +0 -2
- package/dist/nile-radio-group/nile-radio-group.test.cjs.js.map +0 -1
- package/dist/nile-radio-group/nile-radio-group.test.esm.js +0 -57
- package/dist/nile-select/nile-select.test.cjs.js +0 -2
- package/dist/nile-select/nile-select.test.cjs.js.map +0 -1
- package/dist/nile-select/nile-select.test.esm.js +0 -55
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +0 -2
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js.map +0 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +0 -1
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js +0 -2
- package/dist/nile-tab-group/nile-tab-group.test.cjs.js.map +0 -1
- package/dist/nile-tab-group/nile-tab-group.test.esm.js +0 -65
- package/dist/nile-textarea/nile-textarea.test.cjs.js +0 -2
- package/dist/nile-textarea/nile-textarea.test.cjs.js.map +0 -1
- package/dist/nile-textarea/nile-textarea.test.esm.js +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js +0 -2
- package/dist/nile-virtual-select/nile-virtual-select.test.cjs.js.map +0 -1
- package/dist/nile-virtual-select/nile-virtual-select.test.esm.js +0 -93
- package/dist/scopedElementsWrapper-31107e48.esm.js +0 -1
- package/dist/scopedElementsWrapper-9b188ea6.cjs.js +0 -2
- package/dist/scopedElementsWrapper-9b188ea6.cjs.js.map +0 -1
- package/dist/sinon-esm-68c8e378.esm.js +0 -1
- package/dist/sinon-esm-97570c13.cjs.js +0 -2
- package/dist/sinon-esm-97570c13.cjs.js.map +0 -1
|
@@ -9,9 +9,10 @@ import { html, CSSResultArray, TemplateResult } from 'lit';
|
|
|
9
9
|
import { customElement, property, query, state } from 'lit/decorators.js';
|
|
10
10
|
import { styles } from './nile-grid.css';
|
|
11
11
|
import NileElement from '../internal/nile-element';
|
|
12
|
-
import {
|
|
13
|
-
import { listenToEventListeners, removeEventListeners, getHead, getBody } from './nile-grid.utils';
|
|
14
|
-
import { computeNewWidth, resizeWithScroll,
|
|
12
|
+
import { syncStickyShadows, layout } from './nile-grid.layout';
|
|
13
|
+
import { listenToEventListeners, removeEventListeners, getHead, getBody, copyArrayValuesInPlace } from './nile-grid.utils';
|
|
14
|
+
import { computeNewWidth, resizeWithScroll, resizeNoScroll, updateResizeGuides } from './nile-grid.resize';
|
|
15
|
+
import { PrefixColumn } from './types/nile-grid.types';
|
|
15
16
|
|
|
16
17
|
/**
|
|
17
18
|
* Nile grid component.
|
|
@@ -29,9 +30,6 @@ export class NileGrid extends NileElement {
|
|
|
29
30
|
return [styles];
|
|
30
31
|
}
|
|
31
32
|
|
|
32
|
-
/** To set the grid template columns in rebuildTemplate method */
|
|
33
|
-
@state() public colTemplate = '';
|
|
34
|
-
|
|
35
33
|
/** To store the column widths in the beginning and after resizing */
|
|
36
34
|
@state() public columnWidths: number[] = [];
|
|
37
35
|
|
|
@@ -44,8 +42,14 @@ export class NileGrid extends NileElement {
|
|
|
44
42
|
/** To get the last resize line to show the resize handle */
|
|
45
43
|
@query('.nile-resize-end') resizeEnd: HTMLElement;
|
|
46
44
|
|
|
45
|
+
/** To get the last resize line to show the resize handle */
|
|
46
|
+
@query('.shadow-left') shadowLeft: HTMLElement;
|
|
47
|
+
|
|
48
|
+
/** To get the last resize line to show the resize handle */
|
|
49
|
+
@query('.shadow-right') shadowRight: HTMLElement;
|
|
50
|
+
|
|
47
51
|
/** To enable horizontal scrolling when user is resizing */
|
|
48
|
-
@property({ type: Boolean, attribute: true, reflect: true })
|
|
52
|
+
@property({ type: Boolean, attribute: true, reflect: true }) enableScroll: boolean = false;
|
|
49
53
|
|
|
50
54
|
/** To enable hoverable rows */
|
|
51
55
|
@property({ type: Boolean, attribute: true, reflect: true }) hoverable: boolean = false;
|
|
@@ -81,6 +85,63 @@ export class NileGrid extends NileElement {
|
|
|
81
85
|
/** To check if the widths are initialized */
|
|
82
86
|
@state() public lockedWidthColumns: boolean[] = [];
|
|
83
87
|
|
|
88
|
+
/** prefix columns width */
|
|
89
|
+
@state() public prefixSumColumnsWidth: PrefixColumn[] = [];
|
|
90
|
+
|
|
91
|
+
/** prefix columns width */
|
|
92
|
+
@state() public stickyColumns: number[] = [];
|
|
93
|
+
|
|
94
|
+
/** body rows */
|
|
95
|
+
@state() public bodyRows: HTMLElement[] = [];
|
|
96
|
+
|
|
97
|
+
/** head rows */
|
|
98
|
+
@state() public headRows: HTMLElement[] = [];
|
|
99
|
+
|
|
100
|
+
@state() public needsStructureLayout = false;
|
|
101
|
+
|
|
102
|
+
@state() public needsWidthLayout = false;
|
|
103
|
+
|
|
104
|
+
@state() public needsSpanLayout = false;
|
|
105
|
+
|
|
106
|
+
@state() public colCount = 0;
|
|
107
|
+
|
|
108
|
+
public shadowLeftVisibleSticky?: boolean;
|
|
109
|
+
|
|
110
|
+
public shadowRightVisibleSticky?: boolean;
|
|
111
|
+
|
|
112
|
+
public stickyLeftHeadEls: HTMLElement[] = [];
|
|
113
|
+
|
|
114
|
+
public stickyRightHeadEls: HTMLElement[] = [];
|
|
115
|
+
|
|
116
|
+
public stickyLeftBodyEls: HTMLElement[] = [];
|
|
117
|
+
|
|
118
|
+
public stickyRightBodyEls: HTMLElement[] = [];
|
|
119
|
+
|
|
120
|
+
private resizeTimer: any = 0;
|
|
121
|
+
|
|
122
|
+
/** To throttle sticky shadow updates */
|
|
123
|
+
private shadowRaf = 0;
|
|
124
|
+
|
|
125
|
+
public resizeBaseColumnWidths: number[] = [];
|
|
126
|
+
|
|
127
|
+
constructor() {
|
|
128
|
+
super();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
connectedCallback(): void {
|
|
132
|
+
super.connectedCallback();
|
|
133
|
+
this.emit('nile-init');
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
private syncStickyShadowsRaf = () => {
|
|
137
|
+
if (this.shadowRaf) return;
|
|
138
|
+
this.shadowRaf = requestAnimationFrame(() => {
|
|
139
|
+
this.shadowRaf = 0;
|
|
140
|
+
syncStickyShadows(this);
|
|
141
|
+
});
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
|
|
84
145
|
private scheduleLayout() {
|
|
85
146
|
if (this.raf) cancelAnimationFrame(this.raf);
|
|
86
147
|
this.raf = requestAnimationFrame(() => {
|
|
@@ -89,7 +150,6 @@ export class NileGrid extends NileElement {
|
|
|
89
150
|
this,
|
|
90
151
|
this.slotEl,
|
|
91
152
|
this.ensureWidths.bind(this),
|
|
92
|
-
rebuildTemplate,
|
|
93
153
|
this.stickyLeftIndexes,
|
|
94
154
|
this.stickyRightIndexes
|
|
95
155
|
);
|
|
@@ -99,8 +159,8 @@ export class NileGrid extends NileElement {
|
|
|
99
159
|
|
|
100
160
|
private ensureWidths(colCount: number) {
|
|
101
161
|
if (this.columnWidths.length !== colCount) {
|
|
102
|
-
this.columnWidths = Array(colCount).fill(
|
|
103
|
-
this.lockedWidthColumns = Array(colCount).fill(false);
|
|
162
|
+
this.columnWidths = Array(colCount).fill(0);
|
|
163
|
+
this.lockedWidthColumns = Array(colCount).fill(false);
|
|
104
164
|
}
|
|
105
165
|
}
|
|
106
166
|
|
|
@@ -114,6 +174,9 @@ export class NileGrid extends NileElement {
|
|
|
114
174
|
col: number;
|
|
115
175
|
widthPx: number;
|
|
116
176
|
};
|
|
177
|
+
if (!this.resizeBaseColumnWidths) return;
|
|
178
|
+
|
|
179
|
+
copyArrayValuesInPlace(this.columnWidths, this.resizeBaseColumnWidths);
|
|
117
180
|
const { prevW, newW, delta0 } = computeNewWidth({
|
|
118
181
|
target: e.target as HTMLElement,
|
|
119
182
|
col,
|
|
@@ -123,16 +186,16 @@ export class NileGrid extends NileElement {
|
|
|
123
186
|
});
|
|
124
187
|
|
|
125
188
|
if (delta0 === 0) {
|
|
126
|
-
|
|
189
|
+
updateResizeGuides(this, col);
|
|
127
190
|
return;
|
|
128
191
|
}
|
|
129
192
|
|
|
130
|
-
if (!this.
|
|
193
|
+
if (!this.enableScroll) {
|
|
131
194
|
resizeNoScroll({ grid: this, col, prevW, newW, floor: this.minColumnWidth });
|
|
132
195
|
} else {
|
|
133
196
|
resizeWithScroll({ grid: this, col, newW });
|
|
134
197
|
}
|
|
135
|
-
|
|
198
|
+
updateResizeGuides(this, col);
|
|
136
199
|
};
|
|
137
200
|
|
|
138
201
|
protected firstUpdated() {
|
|
@@ -143,47 +206,57 @@ export class NileGrid extends NileElement {
|
|
|
143
206
|
this.slotEl,
|
|
144
207
|
this._attachObserverAndLayout.bind(this)
|
|
145
208
|
);
|
|
146
|
-
this.addEventListener('scroll',
|
|
209
|
+
this.addEventListener('scroll', this.syncStickyShadowsRaf);
|
|
147
210
|
this.resizeObserverStickyShadows = new ResizeObserver(() => syncStickyShadows(this));
|
|
148
211
|
this.resizeObserverStickyShadows.observe(this);
|
|
149
|
-
|
|
212
|
+
this.syncStickyShadowsRaf();
|
|
150
213
|
}
|
|
151
214
|
|
|
152
215
|
private _attachObserverAndLayout() {
|
|
153
216
|
this.mo?.disconnect();
|
|
154
217
|
this.mo = new MutationObserver(() => {
|
|
218
|
+
this.needsStructureLayout = true;
|
|
219
|
+
this.needsWidthLayout = true;
|
|
220
|
+
this.needsSpanLayout = true;
|
|
155
221
|
this.scheduleLayout();
|
|
156
222
|
});
|
|
157
223
|
this.resizeObserver?.disconnect();
|
|
158
224
|
this.resizeObserver = new ResizeObserver(() => {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
this.
|
|
162
|
-
this.
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
this.stickyRightIndexes
|
|
166
|
-
);
|
|
225
|
+
if (this.resizeTimer) clearTimeout(this.resizeTimer);
|
|
226
|
+
this.resizeTimer = setTimeout(() => {
|
|
227
|
+
this.resizeTimer = 0;
|
|
228
|
+
this.needsWidthLayout = true;
|
|
229
|
+
this.scheduleLayout();
|
|
230
|
+
}, 16);
|
|
167
231
|
});
|
|
168
232
|
|
|
169
233
|
const head = getHead(this.slotEl);
|
|
170
234
|
const body = getBody(this.slotEl);
|
|
235
|
+
|
|
171
236
|
if (!head && !body) return;
|
|
172
|
-
|
|
173
|
-
const target = body ?? this;
|
|
237
|
+
const target = head ?? this;
|
|
174
238
|
this.mo.observe(target, {
|
|
175
|
-
subtree: true,
|
|
176
239
|
childList: true,
|
|
240
|
+
subtree: true,
|
|
177
241
|
attributes: true,
|
|
178
|
-
attributeFilter: ['colspan', 'rowspan']
|
|
242
|
+
attributeFilter: ['colspan', 'rowspan', 'width', 'lockwidth', 'sticky']
|
|
179
243
|
});
|
|
180
244
|
this.resizeObserver?.observe(this);
|
|
245
|
+
|
|
246
|
+
if (!this.colCount || !this.columnWidths?.length) {
|
|
247
|
+
this.needsStructureLayout = true;
|
|
248
|
+
this.needsSpanLayout = true;
|
|
249
|
+
this.needsWidthLayout = true;
|
|
250
|
+
this.scheduleLayout();
|
|
251
|
+
}
|
|
181
252
|
}
|
|
182
253
|
|
|
183
254
|
public render(): TemplateResult {
|
|
184
255
|
return html`
|
|
185
256
|
<div part="grid-base" class="nile-grid-base">
|
|
186
|
-
<
|
|
257
|
+
<div part="grid-slot-wrapper">
|
|
258
|
+
<slot part="grid-slot"></slot>
|
|
259
|
+
</div>
|
|
187
260
|
<div part="resize-start" class="nile-resize-start"></div>
|
|
188
261
|
<div part="resize-end" class="nile-resize-end"></div>
|
|
189
262
|
</div>
|
|
@@ -191,6 +264,7 @@ export class NileGrid extends NileElement {
|
|
|
191
264
|
}
|
|
192
265
|
|
|
193
266
|
disconnectedCallback(): void {
|
|
267
|
+
this.emit('nile-destroy');
|
|
194
268
|
super.disconnectedCallback?.();
|
|
195
269
|
this.mo?.disconnect();
|
|
196
270
|
this.resizeObserver?.disconnect();
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { NileGrid } from './nile-grid';
|
|
2
|
+
import { applyAfterResize } from './nile-grid.resize'
|
|
2
3
|
|
|
3
4
|
/** listenToEventListeners
|
|
4
5
|
* @param nileGrid Grid element to attach listeners on
|
|
@@ -14,14 +15,20 @@ export const listenToEventListeners = (
|
|
|
14
15
|
_attachObserverAndLayout: any
|
|
15
16
|
) => {
|
|
16
17
|
nileGrid.addEventListener('nile-column-resize', onResize);
|
|
17
|
-
nileGrid.addEventListener('nile-resize-start', () => {
|
|
18
|
+
nileGrid.addEventListener('nile-resize-start', (e) => {
|
|
19
|
+
e.stopPropagation();
|
|
20
|
+
nileGrid.resizeBaseColumnWidths = [...nileGrid.columnWidths];
|
|
18
21
|
nileGrid.resizeStart.style.display = 'block';
|
|
19
22
|
});
|
|
20
|
-
nileGrid.addEventListener('nile-resize-end', () => {
|
|
23
|
+
nileGrid.addEventListener('nile-resize-end', (e: CustomEvent) => {
|
|
24
|
+
e.stopPropagation();
|
|
25
|
+
applyAfterResize(nileGrid, (e as CustomEvent).detail!.col);
|
|
26
|
+
nileGrid.resizeBaseColumnWidths = [];
|
|
21
27
|
nileGrid.resizeStart.style.display = 'none';
|
|
22
28
|
nileGrid.resizeEnd.style.display = 'none';
|
|
23
29
|
});
|
|
24
30
|
slotEl.addEventListener('slotchange', () => _attachObserverAndLayout());
|
|
31
|
+
nileGrid.addEventListener('scroll', () => scrollEventHandler(nileGrid));
|
|
25
32
|
};
|
|
26
33
|
|
|
27
34
|
/** removeEventListeners
|
|
@@ -46,6 +53,7 @@ export const removeEventListeners = (
|
|
|
46
53
|
nileGrid.resizeEnd.style.display = 'none';
|
|
47
54
|
});
|
|
48
55
|
slotEl.removeEventListener('slotchange', () => _attachObserverAndLayout());
|
|
56
|
+
nileGrid.removeEventListener('scroll', () => scrollEventHandler(nileGrid));
|
|
49
57
|
};
|
|
50
58
|
|
|
51
59
|
/** getHead
|
|
@@ -72,4 +80,38 @@ export const getBody = (slotEl: any) => {
|
|
|
72
80
|
(n: any) => n.tagName.toLowerCase() === 'nile-grid-body'
|
|
73
81
|
) as HTMLElement) || null
|
|
74
82
|
);
|
|
75
|
-
};
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export const scrollEventHandler = (el: NileGrid) => {
|
|
86
|
+
const maxY = Math.max(1, el.scrollHeight - el.clientHeight);
|
|
87
|
+
const maxX = Math.max(1, el.scrollWidth - el.clientWidth);
|
|
88
|
+
|
|
89
|
+
const percentageY = Math.round((el.scrollTop / maxY) * 100);
|
|
90
|
+
const percentageX = Math.round((el.scrollLeft / maxX) * 100);
|
|
91
|
+
|
|
92
|
+
el.emit('nile-scroll', {
|
|
93
|
+
bubbles: true,
|
|
94
|
+
composed: true,
|
|
95
|
+
detail: {
|
|
96
|
+
horizontalScroll: percentageX,
|
|
97
|
+
verticalScroll: percentageY,
|
|
98
|
+
left: el.scrollLeft,
|
|
99
|
+
top: el.scrollTop
|
|
100
|
+
}
|
|
101
|
+
});
|
|
102
|
+
};
|
|
103
|
+
|
|
104
|
+
/** copyArrayValuesInPlace
|
|
105
|
+
* @param target Target array
|
|
106
|
+
* @param source Source array
|
|
107
|
+
* @returns void
|
|
108
|
+
*/
|
|
109
|
+
export function copyArrayValuesInPlace(
|
|
110
|
+
target: number[],
|
|
111
|
+
source: number[]
|
|
112
|
+
) {
|
|
113
|
+
const count = Math.min(target.length, source.length);
|
|
114
|
+
for (let i = 0; i < count; i++) {
|
|
115
|
+
target[i] = source[i];
|
|
116
|
+
}
|
|
117
|
+
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { NileGrid } from './nile-grid';
|
|
2
2
|
import { applyColumnsTemplate } from './nile-grid.layout';
|
|
3
3
|
import { getHead } from './nile-grid.utils';
|
|
4
|
+
import { PrefixColumn } from './types/nile-grid.types';
|
|
4
5
|
|
|
5
6
|
/** computeColumnWidths
|
|
6
7
|
* @param nileGrid Grid instance (reads minColumnWidth, columnWidths)
|
|
@@ -14,22 +15,18 @@ export function computeColumnWidths(
|
|
|
14
15
|
colCount: number,
|
|
15
16
|
columnWidths: number[],
|
|
16
17
|
slotEl: any,
|
|
17
|
-
lockedWidthColumns: boolean[]
|
|
18
|
+
lockedWidthColumns: boolean[],
|
|
19
|
+
headerChanged: boolean
|
|
18
20
|
): void {
|
|
19
21
|
const minCol = nileGrid.minColumnWidth;
|
|
20
22
|
const containerWidth = getContainerWidth(nileGrid);
|
|
21
|
-
const desired = readDesiredFromHead(
|
|
22
|
-
slotEl,
|
|
23
|
-
colCount,
|
|
24
|
-
containerWidth,
|
|
25
|
-
nileGrid,
|
|
26
|
-
lockedWidthColumns,
|
|
27
|
-
columnWidths
|
|
28
|
-
);
|
|
23
|
+
const desired = readDesiredFromHead(slotEl, colCount, containerWidth, nileGrid, lockedWidthColumns, headerChanged, columnWidths);
|
|
29
24
|
const isSeeded = seedWidthsFromDesired(desired, columnWidths, minCol);
|
|
30
25
|
|
|
31
26
|
distributeFlex(columnWidths, isSeeded, containerWidth, minCol);
|
|
32
|
-
|
|
27
|
+
if(!nileGrid.enableScroll) {
|
|
28
|
+
normalizeToContainer(columnWidths, containerWidth, minCol);
|
|
29
|
+
}
|
|
33
30
|
clampAndRound(columnWidths, minCol);
|
|
34
31
|
applyColumnsTemplate(nileGrid, columnWidths);
|
|
35
32
|
}
|
|
@@ -55,12 +52,18 @@ function readDesiredFromHead(
|
|
|
55
52
|
containerWidth: number,
|
|
56
53
|
nileGrid: NileGrid,
|
|
57
54
|
lockedWidthColumns: boolean[],
|
|
55
|
+
headerChanged: boolean,
|
|
58
56
|
prevWidths?: number[]
|
|
59
57
|
): (number | null)[] {
|
|
60
58
|
const desired = Array(colCount).fill(null);
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
59
|
+
if (headerChanged) {
|
|
60
|
+
const head = getHead(slotEl) as HTMLElement | null;
|
|
61
|
+
if (head) fillDesiredFromHeadRows(head, desired, colCount, containerWidth, lockedWidthColumns);
|
|
62
|
+
}
|
|
63
|
+
const hasPrevWidths = !!prevWidths?.length && prevWidths.some(w => w > 0);
|
|
64
|
+
if (hasPrevWidths && prevWidths?.length === colCount) {
|
|
65
|
+
fillFromPrevWidths(desired, prevWidths, nileGrid);
|
|
66
|
+
}
|
|
64
67
|
return desired;
|
|
65
68
|
}
|
|
66
69
|
|
|
@@ -408,4 +411,32 @@ export function giveToRight(widths: number[], start: number, giveInit: number) {
|
|
|
408
411
|
give = 0;
|
|
409
412
|
}
|
|
410
413
|
return give;
|
|
411
|
-
}
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
|
|
417
|
+
export function addVariablesValue(nileGrid: NileGrid) {
|
|
418
|
+
const columnWidths = nileGrid.columnWidths;
|
|
419
|
+
const leftStickyColumns = nileGrid.stickyLeftIndexes;
|
|
420
|
+
const rightStickyColumns = nileGrid.stickyRightIndexes;
|
|
421
|
+
const prefixColumns: PrefixColumn[] = [];
|
|
422
|
+
const root = nileGrid as HTMLElement;
|
|
423
|
+
|
|
424
|
+
// --- LEFT STICKY ---
|
|
425
|
+
let totalLeft = 0;
|
|
426
|
+
for (let i = 0; i < leftStickyColumns.length; i++) {
|
|
427
|
+
const colIndex = leftStickyColumns[i];
|
|
428
|
+
prefixColumns.push({ colNumber: colIndex, left: totalLeft, right: 0 });
|
|
429
|
+
root.style.setProperty(`--sticky-left-${colIndex}`, `${totalLeft}px`);
|
|
430
|
+
totalLeft += columnWidths[colIndex];
|
|
431
|
+
}
|
|
432
|
+
|
|
433
|
+
// --- RIGHT STICKY ---
|
|
434
|
+
let totalRight = 0;
|
|
435
|
+
for (let i = rightStickyColumns.length - 1; i >= 0; i--) {
|
|
436
|
+
const colIndex = rightStickyColumns[i];
|
|
437
|
+
prefixColumns.push({ colNumber: colIndex, left: 0, right: totalRight });
|
|
438
|
+
root.style.setProperty(`--sticky-right-${colIndex}`, `${totalRight}px`);
|
|
439
|
+
totalRight += columnWidths[colIndex];
|
|
440
|
+
}
|
|
441
|
+
nileGrid.prefixSumColumnsWidth = prefixColumns;
|
|
442
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import { expect, fixture, html } from '@open-wc/testing';
|
|
2
|
+
import './index';
|
|
3
|
+
import type { NileHeading } from './index';
|
|
4
|
+
|
|
5
|
+
describe('NileHeading', () => {
|
|
6
|
+
it('1. renders', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el).to.exist; });
|
|
7
|
+
it('2. shadow root', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot).to.not.be.null; });
|
|
8
|
+
it('3. tag name', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.tagName.toLowerCase()).to.equal('nile-heading'); });
|
|
9
|
+
it('4. name defaults empty', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.name).to.equal(''); });
|
|
10
|
+
it('5. size defaults header-1', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.size).to.equal('header-1'); });
|
|
11
|
+
it('6. slot', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('slot')).to.exist; });
|
|
12
|
+
it('7. slotted content', async () => { const el = await fixture<NileHeading>(html`<nile-heading>Hello World</nile-heading>`); expect(el.textContent).to.contain('Hello World'); });
|
|
13
|
+
it('8. size reflected', async () => { const el = await fixture<NileHeading>(html`<nile-heading size="header-2"></nile-heading>`); expect(el.getAttribute('size')).to.equal('header-2'); });
|
|
14
|
+
it('9. dynamic name', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.name = 'Test'; await el.updateComplete; expect(el.name).to.equal('Test'); });
|
|
15
|
+
it('10. dynamic size', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.size = 'header-2'; await el.updateComplete; expect(el.getAttribute('size')).to.equal('header-2'); });
|
|
16
|
+
it('11. has styles', async () => { expect((await import('./index')).NileHeading.styles).to.exist; });
|
|
17
|
+
it('12. is defined', async () => { expect(customElements.get('nile-heading')).to.exist; });
|
|
18
|
+
it('13. shadow mode', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.mode).to.equal('open'); });
|
|
19
|
+
it('14. isConnected', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.isConnected).to.be.true; });
|
|
20
|
+
it('15. removal', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.remove(); expect(el.isConnected).to.be.false; });
|
|
21
|
+
it('16. outerHTML', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.outerHTML).to.contain('nile-heading'); });
|
|
22
|
+
it('17. matches', async () => { const el = await fixture<NileHeading>(html`<nile-heading class="x"></nile-heading>`); expect(el.matches('nile-heading.x')).to.be.true; });
|
|
23
|
+
it('18. closest', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.closest('nile-heading')).to.equal(el); });
|
|
24
|
+
it('19. cloneNode', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect((el.cloneNode(true) as Element).tagName.toLowerCase()).to.equal('nile-heading'); });
|
|
25
|
+
it('20. dispatchEvent', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); let f = false; el.addEventListener('c', () => (f = true)); el.dispatchEvent(new Event('c')); expect(f).to.be.true; });
|
|
26
|
+
it('21. updateComplete', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); const r = await el.updateComplete; expect(r).to.not.be.undefined; });
|
|
27
|
+
it('22. requestUpdate', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.requestUpdate(); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; });
|
|
28
|
+
it('23. render method', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.render).to.be.a('function'); });
|
|
29
|
+
it('24. shadowRoot host', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.host).to.equal(el); });
|
|
30
|
+
it('25. class attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading class="h"></nile-heading>`); expect(el.classList.contains('h')).to.be.true; });
|
|
31
|
+
it('26. id attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading id="h1"></nile-heading>`); expect(el.id).to.equal('h1'); });
|
|
32
|
+
it('27. style attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading style="color:red"></nile-heading>`); expect(el.style.color).to.equal('red'); });
|
|
33
|
+
it('28. data attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading data-x="1"></nile-heading>`); expect(el.getAttribute('data-x')).to.equal('1'); });
|
|
34
|
+
it('29. hidden', async () => { const el = await fixture<NileHeading>(html`<nile-heading hidden></nile-heading>`); expect(el.hidden).to.be.true; });
|
|
35
|
+
it('30. dir', async () => { const el = await fixture<NileHeading>(html`<nile-heading dir="rtl"></nile-heading>`); expect(el.dir).to.equal('rtl'); });
|
|
36
|
+
it('31. nodeType', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.nodeType).to.equal(1); });
|
|
37
|
+
it('32. multiple instances', async () => { const c = await fixture(html`<div><nile-heading></nile-heading><nile-heading></nile-heading></div>`); expect(c.querySelectorAll('nile-heading').length).to.equal(2); });
|
|
38
|
+
it('33. parent-child', async () => { const c = await fixture(html`<div><nile-heading></nile-heading></div>`); expect(c.querySelector('nile-heading')!.parentElement).to.equal(c); });
|
|
39
|
+
it('34. localName', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.localName).to.equal('nile-heading'); });
|
|
40
|
+
it('35. namespaceURI', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.namespaceURI).to.equal('http://www.w3.org/1999/xhtml'); });
|
|
41
|
+
it('36. ownerDocument', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.ownerDocument).to.equal(document); });
|
|
42
|
+
it('37. classList add', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.classList.add('z'); expect(el.classList.contains('z')).to.be.true; });
|
|
43
|
+
it('38. dataset', async () => { const el = await fixture<NileHeading>(html`<nile-heading data-idx="0"></nile-heading>`); expect(el.dataset.idx).to.equal('0'); });
|
|
44
|
+
it('39. getBoundingClientRect', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.getBoundingClientRect()).to.exist; });
|
|
45
|
+
it('40. name type', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(typeof el.name).to.equal('string'); });
|
|
46
|
+
it('41. size type', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(typeof el.size).to.equal('string'); });
|
|
47
|
+
it('42. no inputs', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelectorAll('input').length).to.equal(0); });
|
|
48
|
+
it('43. no buttons', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelectorAll('button').length).to.equal(0); });
|
|
49
|
+
it('44. slot count', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelectorAll('slot').length).to.equal(1); });
|
|
50
|
+
it('45. aria-label', async () => { const el = await fixture<NileHeading>(html`<nile-heading aria-label="Title"></nile-heading>`); expect(el.getAttribute('aria-label')).to.equal('Title'); });
|
|
51
|
+
it('46. role', async () => { const el = await fixture<NileHeading>(html`<nile-heading role="heading"></nile-heading>`); expect(el.getAttribute('role')).to.equal('heading'); });
|
|
52
|
+
it('47. createElement', async () => { const el = document.createElement('nile-heading') as NileHeading; document.body.appendChild(el); await el.updateComplete; expect(el.shadowRoot).to.not.be.null; document.body.removeChild(el); });
|
|
53
|
+
it('48. lang attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading lang="en"></nile-heading>`); expect(el.lang).to.equal('en'); });
|
|
54
|
+
it('49. tabindex', async () => { const el = await fixture<NileHeading>(html`<nile-heading tabindex="0"></nile-heading>`); expect(el.getAttribute('tabindex')).to.equal('0'); });
|
|
55
|
+
it('50. children survived update', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">Title</span></nile-heading>`); el.name = 'N'; await el.updateComplete; expect(el.querySelector('#s1')).to.exist; });
|
|
56
|
+
it('51. nested elements', async () => { const el = await fixture<NileHeading>(html`<nile-heading><strong>Bold</strong></nile-heading>`); expect(el.querySelector('strong')).to.exist; });
|
|
57
|
+
it('52. childElementCount', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span></nile-heading>`); expect(el.childElementCount).to.equal(1); });
|
|
58
|
+
it('53. firstElementChild', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span></nile-heading>`); expect(el.firstElementChild!.tagName.toLowerCase()).to.equal('span'); });
|
|
59
|
+
it('54. text content', async () => { const el = await fixture<NileHeading>(html`<nile-heading>Test</nile-heading>`); expect(el.textContent).to.contain('Test'); });
|
|
60
|
+
it('55. no children default', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.childElementCount).to.equal(0); });
|
|
61
|
+
it('56. no form', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('form')).to.be.null; });
|
|
62
|
+
it('57. no anchor', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('a')).to.be.null; });
|
|
63
|
+
it('58. no img', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('img')).to.be.null; });
|
|
64
|
+
it('59. no svg', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('svg')).to.be.null; });
|
|
65
|
+
it('60. shadow childNodes', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.childNodes.length).to.be.greaterThan(0); });
|
|
66
|
+
it('61. scrollIntoView', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.scrollIntoView).to.be.a('function'); });
|
|
67
|
+
it('62. focus method', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.focus).to.be.a('function'); });
|
|
68
|
+
it('63. blur method', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.blur).to.be.a('function'); });
|
|
69
|
+
it('64. dispatchCustomEvent', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); let d: any; el.addEventListener('t', ((e: CustomEvent) => { d = e.detail; }) as EventListener); el.dispatchEvent(new CustomEvent('t', { detail: 'x' })); expect(d).to.equal('x'); });
|
|
70
|
+
it('65. class toggle', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.classList.toggle('active'); expect(el.classList.contains('active')).to.be.true; });
|
|
71
|
+
it('66. toggle hidden', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.hidden = true; expect(el.hidden).to.be.true; });
|
|
72
|
+
it('67. innerHTML', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.innerHTML = '<p>New</p>'; expect(el.querySelector('p')!.textContent).to.equal('New'); });
|
|
73
|
+
it('68. setAttribute size', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.setAttribute('size', 'header-3'); await el.updateComplete; expect(el.size).to.equal('header-3'); });
|
|
74
|
+
it('69. removeAttribute size', async () => { const el = await fixture<NileHeading>(html`<nile-heading size="header-2"></nile-heading>`); el.removeAttribute('size'); await el.updateComplete; expect(el.getAttribute('size')).to.be.null; });
|
|
75
|
+
it('70. hasAttribute size', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.hasAttribute('size')).to.be.true; });
|
|
76
|
+
it('71. rapid size changes', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.size = 'header-2'; await el.updateComplete; el.size = 'header-3'; await el.updateComplete; expect(el.size).to.equal('header-3'); });
|
|
77
|
+
it('72. no video', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('video')).to.be.null; });
|
|
78
|
+
it('73. no audio', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('audio')).to.be.null; });
|
|
79
|
+
it('74. no canvas', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('canvas')).to.be.null; });
|
|
80
|
+
it('75. no table', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('table')).to.be.null; });
|
|
81
|
+
it('76. no ul', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('ul')).to.be.null; });
|
|
82
|
+
it('77. re-renders', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); el.name = 'A'; await el.updateComplete; el.name = 'B'; await el.updateComplete; expect(el.name).to.equal('B'); });
|
|
83
|
+
it('78. nested in div', async () => { const c = await fixture(html`<div><nile-heading>Title</nile-heading></div>`); expect(c.querySelector('nile-heading')).to.exist; });
|
|
84
|
+
it('79. contains check', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">T</span></nile-heading>`); expect(el.contains(el.querySelector('#s1'))).to.be.true; });
|
|
85
|
+
it('80. children array', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span><span>B</span></nile-heading>`); expect(el.children.length).to.equal(2); });
|
|
86
|
+
it('81. lastElementChild', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>A</span><div>B</div></nile-heading>`); expect(el.lastElementChild!.tagName.toLowerCase()).to.equal('div'); });
|
|
87
|
+
it('82. append child', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); const s = document.createElement('span'); el.appendChild(s); expect(el.querySelector('span')).to.exist; });
|
|
88
|
+
it('83. remove child', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">T</span></nile-heading>`); el.removeChild(el.querySelector('#s1')!); expect(el.querySelector('#s1')).to.be.null; });
|
|
89
|
+
it('84. replaceChildren', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span>Old</span></nile-heading>`); const p = document.createElement('p'); el.replaceChildren(p); expect(el.querySelector('p')).to.exist; expect(el.querySelector('span')).to.be.null; });
|
|
90
|
+
it('85. textContent empty default', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.textContent!.trim()).to.equal(''); });
|
|
91
|
+
it('86. no nav', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('nav')).to.be.null; });
|
|
92
|
+
it('87. no aside', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('aside')).to.be.null; });
|
|
93
|
+
it('88. no select', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('select')).to.be.null; });
|
|
94
|
+
it('89. no textarea', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('textarea')).to.be.null; });
|
|
95
|
+
it('90. aria-level', async () => { const el = await fixture<NileHeading>(html`<nile-heading aria-level="1"></nile-heading>`); expect(el.getAttribute('aria-level')).to.equal('1'); });
|
|
96
|
+
it('91. aria-describedby', async () => { const el = await fixture<NileHeading>(html`<nile-heading aria-describedby="d"></nile-heading>`); expect(el.getAttribute('aria-describedby')).to.equal('d'); });
|
|
97
|
+
it('92. title attr', async () => { const el = await fixture<NileHeading>(html`<nile-heading title="T"></nile-heading>`); expect(el.title).to.equal('T'); });
|
|
98
|
+
it('93. insertBefore', async () => { const el = await fixture<NileHeading>(html`<nile-heading><span id="s1">B</span></nile-heading>`); const p = document.createElement('p'); el.insertBefore(p, el.querySelector('#s1')!); expect(el.firstElementChild!.tagName.toLowerCase()).to.equal('p'); });
|
|
99
|
+
it('94. no pre', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('pre')).to.be.null; });
|
|
100
|
+
it('95. no code', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('code')).to.be.null; });
|
|
101
|
+
it('96. no h1 in shadow', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('h1')).to.be.null; });
|
|
102
|
+
it('97. no div in shadow', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); expect(el.shadowRoot!.querySelector('div')).to.be.null; });
|
|
103
|
+
it('98. only slot in shadow', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); const all = el.shadowRoot!.querySelectorAll('*'); const tagNames = Array.from(all).map(e => e.tagName.toLowerCase()); expect(tagNames).to.include('slot'); });
|
|
104
|
+
it('99. multiple re-renders', async () => { const el = await fixture<NileHeading>(html`<nile-heading></nile-heading>`); for (let i = 0; i < 5; i++) { el.requestUpdate(); await el.updateComplete; } expect(el.shadowRoot).to.not.be.null; });
|
|
105
|
+
it('100. full integration', async () => { const el = await fixture<NileHeading>(html`<nile-heading size="header-1" name="Title" class="h" id="h1" role="heading" aria-label="Main heading">Main Title</nile-heading>`); expect(el.name).to.equal('Title'); expect(el.size).to.equal('header-1'); expect(el.id).to.equal('h1'); expect(el.textContent).to.contain('Main Title'); expect(el.shadowRoot!.querySelector('slot')).to.exist; });
|
|
106
|
+
});
|