@aquera/nile-elements 1.6.2 → 1.6.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 +8 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +503 -335
- package/dist/internal/accessibility/a11y.custom-value.enum.cjs.js +2 -0
- package/dist/internal/accessibility/a11y.custom-value.enum.cjs.js.map +1 -0
- package/dist/internal/accessibility/a11y.custom-value.enum.esm.js +1 -0
- package/dist/internal/accessibility/a11y.property.enum.cjs.js +2 -0
- package/dist/internal/accessibility/a11y.property.enum.cjs.js.map +1 -0
- package/dist/internal/accessibility/a11y.property.enum.esm.js +1 -0
- package/dist/internal/accessibility/a11y.role.enum.cjs.js +2 -0
- package/dist/internal/accessibility/a11y.role.enum.cjs.js.map +1 -0
- package/dist/internal/accessibility/a11y.role.enum.esm.js +1 -0
- package/dist/internal/accessibility/a11y.state.enum.cjs.js +2 -0
- package/dist/internal/accessibility/a11y.state.enum.cjs.js.map +1 -0
- package/dist/internal/accessibility/a11y.state.enum.esm.js +1 -0
- package/dist/internal/accessibility/accessibility.const.cjs.js +2 -0
- package/dist/internal/accessibility/accessibility.const.cjs.js.map +1 -0
- package/dist/internal/accessibility/accessibility.const.esm.js +1 -0
- package/dist/internal/accessibility/role.enum.cjs.js +2 -0
- package/dist/internal/accessibility/role.enum.cjs.js.map +1 -0
- package/dist/internal/accessibility/role.enum.esm.js +1 -0
- package/dist/internal/nile-element.cjs.js +1 -1
- package/dist/internal/nile-element.cjs.js.map +1 -1
- package/dist/internal/nile-element.esm.js +1 -1
- package/dist/nile-accordion/index.cjs.js +1 -1
- package/dist/nile-accordion/index.esm.js +1 -1
- package/dist/nile-accordion/nile-accordion.cjs.js +1 -1
- package/dist/nile-accordion/nile-accordion.cjs.js.map +1 -1
- package/dist/nile-accordion/nile-accordion.esm.js +2 -2
- package/dist/nile-auto-complete/index.cjs.js +1 -1
- package/dist/nile-auto-complete/index.esm.js +1 -1
- 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.esm.js +1 -1
- package/dist/nile-avatar/index.cjs.js +1 -1
- package/dist/nile-avatar/index.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.cjs.js.map +1 -1
- package/dist/nile-avatar/nile-avatar.esm.js +3 -1
- package/dist/nile-badge/index.cjs.js +1 -1
- package/dist/nile-badge/index.esm.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.esm.js +2 -2
- package/dist/nile-breadcrumb/index.cjs.js +1 -1
- package/dist/nile-breadcrumb/index.esm.js +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
- package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +1 -1
- package/dist/nile-breadcrumb-item/index.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/index.esm.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +4 -4
- package/dist/nile-button/index.cjs.js +1 -1
- package/dist/nile-button/index.esm.js +1 -1
- package/dist/nile-button/nile-button.cjs.js +1 -1
- package/dist/nile-button/nile-button.cjs.js.map +1 -1
- package/dist/nile-button/nile-button.esm.js +1 -1
- package/dist/nile-button-filter/index.cjs.js +1 -1
- package/dist/nile-button-filter/index.esm.js +1 -1
- package/dist/nile-button-filter/nile-button-filter.cjs.js +1 -1
- package/dist/nile-button-filter/nile-button-filter.cjs.js.map +1 -1
- package/dist/nile-button-filter/nile-button-filter.esm.js +7 -7
- package/dist/nile-button-toggle/index.cjs.js +1 -1
- package/dist/nile-button-toggle/index.esm.js +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.cjs.js +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.cjs.js.map +1 -1
- package/dist/nile-button-toggle/nile-button-toggle.esm.js +2 -2
- package/dist/nile-button-toggle-group/index.cjs.js +1 -1
- package/dist/nile-button-toggle-group/index.esm.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.cjs.js.map +1 -1
- package/dist/nile-button-toggle-group/nile-button-toggle-group.esm.js +1 -1
- package/dist/nile-calendar/index.cjs.js +1 -1
- package/dist/nile-calendar/index.esm.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.esm.js +4 -4
- package/dist/nile-card/index.cjs.js +1 -1
- package/dist/nile-card/index.esm.js +1 -1
- package/dist/nile-card/nile-card.cjs.js +1 -1
- package/dist/nile-card/nile-card.cjs.js.map +1 -1
- package/dist/nile-card/nile-card.esm.js +2 -2
- package/dist/nile-carousel/index.cjs.js +1 -1
- package/dist/nile-carousel/index.esm.js +1 -1
- package/dist/nile-carousel/nile-carousel-item/index.cjs.js +1 -1
- package/dist/nile-carousel/nile-carousel-item/index.esm.js +1 -1
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js +1 -1
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.cjs.js.map +1 -1
- package/dist/nile-carousel/nile-carousel-item/nile-carousel-item.esm.js +2 -2
- package/dist/nile-carousel/nile-carousel.cjs.js +1 -1
- package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -1
- package/dist/nile-carousel/nile-carousel.esm.js +1 -1
- package/dist/nile-checkbox/index.cjs.js +1 -1
- package/dist/nile-checkbox/index.esm.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.cjs.js.map +1 -1
- package/dist/nile-checkbox/nile-checkbox.css.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.css.cjs.js.map +1 -1
- package/dist/nile-checkbox/nile-checkbox.css.esm.js +4 -0
- package/dist/nile-checkbox/nile-checkbox.esm.js +3 -3
- package/dist/nile-checkbox-group/index.cjs.js +2 -0
- package/dist/nile-checkbox-group/index.cjs.js.map +1 -0
- package/dist/nile-checkbox-group/index.esm.js +1 -0
- package/dist/nile-checkbox-group/nile-checkbox-group.cjs.js +2 -0
- package/dist/nile-checkbox-group/nile-checkbox-group.cjs.js.map +1 -0
- package/dist/nile-checkbox-group/nile-checkbox-group.css.cjs.js +2 -0
- package/dist/nile-checkbox-group/nile-checkbox-group.css.cjs.js.map +1 -0
- package/dist/nile-checkbox-group/nile-checkbox-group.css.esm.js +68 -0
- package/dist/nile-checkbox-group/nile-checkbox-group.esm.js +56 -0
- package/dist/nile-chip/index.cjs.js +1 -1
- package/dist/nile-chip/index.esm.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js +1 -1
- package/dist/nile-chip/nile-chip.cjs.js.map +1 -1
- package/dist/nile-chip/nile-chip.esm.js +2 -2
- package/dist/nile-circular-progressbar/index.cjs.js +1 -1
- package/dist/nile-circular-progressbar/index.esm.js +1 -1
- package/dist/nile-circular-progressbar/nile-circular-progressbar.cjs.js +1 -1
- package/dist/nile-circular-progressbar/nile-circular-progressbar.cjs.js.map +1 -1
- package/dist/nile-circular-progressbar/nile-circular-progressbar.esm.js +2 -2
- package/dist/nile-code-editor/index.cjs.js +1 -1
- package/dist/nile-code-editor/index.esm.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
- package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
- package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
- package/dist/nile-content-editor/index.cjs.js +1 -1
- package/dist/nile-content-editor/index.esm.js +1 -1
- package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
- package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -1
- package/dist/nile-content-editor/nile-content-editor.esm.js +5 -5
- package/dist/nile-date-picker/index.cjs.js +1 -1
- package/dist/nile-date-picker/index.esm.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js +1 -1
- package/dist/nile-date-picker/nile-date-picker.cjs.js.map +1 -1
- package/dist/nile-date-picker/nile-date-picker.esm.js +1 -1
- package/dist/nile-detail/index.cjs.js +1 -1
- package/dist/nile-detail/index.esm.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js +1 -1
- package/dist/nile-detail/nile-detail.cjs.js.map +1 -1
- package/dist/nile-detail/nile-detail.esm.js +2 -2
- package/dist/nile-dialog/index.cjs.js +1 -1
- package/dist/nile-dialog/index.esm.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.esm.js +2 -2
- package/dist/nile-divider/index.cjs.js +1 -1
- package/dist/nile-divider/index.esm.js +1 -1
- package/dist/nile-divider/nile-divider.cjs.js +1 -1
- package/dist/nile-divider/nile-divider.cjs.js.map +1 -1
- package/dist/nile-divider/nile-divider.esm.js +2 -2
- package/dist/nile-drawer/index.cjs.js +1 -1
- package/dist/nile-drawer/index.esm.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
- package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
- package/dist/nile-drawer/nile-drawer.esm.js +1 -1
- package/dist/nile-dropdown/index.cjs.js +1 -1
- package/dist/nile-dropdown/index.esm.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
- package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
- package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
- package/dist/nile-empty-state/index.cjs.js +1 -1
- package/dist/nile-empty-state/index.esm.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.cjs.js.map +1 -1
- package/dist/nile-empty-state/nile-empty-state.esm.js +2 -2
- package/dist/nile-file-preview/index.cjs.js +1 -1
- package/dist/nile-file-preview/index.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.esm.js +1 -1
- package/dist/nile-file-upload/index.cjs.js +1 -1
- package/dist/nile-file-upload/index.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.esm.js +2 -2
- package/dist/nile-filter-chip/index.cjs.js +1 -1
- package/dist/nile-filter-chip/index.esm.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.cjs.js +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.cjs.js.map +1 -1
- package/dist/nile-filter-chip/nile-filter-chip.esm.js +2 -2
- package/dist/nile-floating-panel/index.cjs.js +1 -1
- package/dist/nile-floating-panel/index.esm.js +1 -1
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js +1 -1
- package/dist/nile-floating-panel/nile-floating-panel.cjs.js.map +1 -1
- package/dist/nile-floating-panel/nile-floating-panel.esm.js +1 -1
- package/dist/nile-form-group/index.cjs.js +1 -1
- package/dist/nile-form-group/index.esm.js +1 -1
- package/dist/nile-form-group/nile-form-group.cjs.js +1 -1
- package/dist/nile-form-group/nile-form-group.cjs.js.map +1 -1
- package/dist/nile-form-group/nile-form-group.esm.js +2 -2
- package/dist/nile-format-date/index.cjs.js +1 -1
- package/dist/nile-format-date/index.esm.js +1 -1
- package/dist/nile-format-date/nile-format-date.cjs.js +1 -1
- package/dist/nile-format-date/nile-format-date.cjs.js.map +1 -1
- package/dist/nile-format-date/nile-format-date.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-body/index.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-body/index.esm.js +1 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-body/nile-grid-body.esm.js +2 -2
- package/dist/nile-grid/nile-grid-cell-item/index.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-cell-item/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.esm.js +2 -2
- package/dist/nile-grid/nile-grid-head/index.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head/index.esm.js +1 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-head/nile-grid-head.esm.js +2 -2
- package/dist/nile-grid/nile-grid-head-item/index.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-head-item/index.esm.js +1 -1
- 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.esm.js +3 -3
- package/dist/nile-grid/nile-grid-row/index.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-row/index.esm.js +1 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js +1 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.cjs.js.map +1 -1
- package/dist/nile-grid/nile-grid-row/nile-grid-row.esm.js +2 -2
- 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.esm.js +2 -2
- package/dist/nile-hero/index.cjs.js +1 -1
- package/dist/nile-hero/index.esm.js +1 -1
- package/dist/nile-hero/nile-hero.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.cjs.js.map +1 -1
- package/dist/nile-hero/nile-hero.esm.js +2 -2
- package/dist/nile-hero-header/index.cjs.js +1 -1
- package/dist/nile-hero-header/index.esm.js +1 -1
- package/dist/nile-hero-header/nile-hero-header.cjs.js +1 -1
- package/dist/nile-hero-header/nile-hero-header.cjs.js.map +1 -1
- package/dist/nile-hero-header/nile-hero-header.esm.js +2 -2
- package/dist/nile-icon-button/index.cjs.js +1 -1
- package/dist/nile-icon-button/index.esm.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
- package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
- package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
- package/dist/nile-inline-edit/index.cjs.js +1 -1
- package/dist/nile-inline-edit/index.esm.js +1 -1
- package/dist/nile-inline-edit/nile-inline-edit.cjs.js +1 -1
- package/dist/nile-inline-edit/nile-inline-edit.cjs.js.map +1 -1
- package/dist/nile-inline-edit/nile-inline-edit.esm.js +2 -2
- package/dist/nile-inline-sidebar/index.cjs.js +1 -1
- package/dist/nile-inline-sidebar/index.esm.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +3 -3
- package/dist/nile-inline-sidebar-group/index.cjs.js +1 -1
- package/dist/nile-inline-sidebar-group/index.esm.js +1 -1
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js +1 -1
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.esm.js +3 -3
- package/dist/nile-inline-sidebar-item/index.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/index.esm.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +3 -3
- package/dist/nile-input/index.cjs.js +1 -1
- package/dist/nile-input/index.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-link/index.cjs.js +1 -1
- package/dist/nile-link/index.esm.js +1 -1
- package/dist/nile-link/nile-link.cjs.js +1 -1
- package/dist/nile-link/nile-link.cjs.js.map +1 -1
- package/dist/nile-link/nile-link.esm.js +3 -3
- package/dist/nile-list/index.cjs.js +1 -1
- package/dist/nile-list/index.esm.js +1 -1
- package/dist/nile-list/nile-list.cjs.js +1 -1
- package/dist/nile-list/nile-list.cjs.js.map +1 -1
- package/dist/nile-list/nile-list.esm.js +1 -1
- package/dist/nile-list-item/index.cjs.js +1 -1
- package/dist/nile-list-item/index.esm.js +1 -1
- package/dist/nile-list-item/nile-list-item.cjs.js +1 -1
- package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -1
- package/dist/nile-list-item/nile-list-item.esm.js +2 -2
- package/dist/nile-lite-tooltip/index.cjs.js +1 -1
- package/dist/nile-lite-tooltip/index.esm.js +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.cjs.js.map +1 -1
- package/dist/nile-lite-tooltip/nile-lite-tooltip.esm.js +1 -1
- package/dist/nile-menu/index.cjs.js +1 -1
- package/dist/nile-menu/index.esm.js +1 -1
- package/dist/nile-menu/nile-menu.cjs.js +1 -1
- package/dist/nile-menu/nile-menu.cjs.js.map +1 -1
- package/dist/nile-menu/nile-menu.esm.js +2 -2
- package/dist/nile-menu-item/index.cjs.js +1 -1
- package/dist/nile-menu-item/index.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +1 -1
- package/dist/nile-option/index.cjs.js +1 -1
- package/dist/nile-option/index.esm.js +1 -1
- package/dist/nile-option/nile-option.cjs.js +1 -1
- package/dist/nile-option/nile-option.cjs.js.map +1 -1
- package/dist/nile-option/nile-option.esm.js +5 -5
- package/dist/nile-option-group/index.cjs.js +1 -1
- package/dist/nile-option-group/index.esm.js +1 -1
- package/dist/nile-option-group/nile-option-group.cjs.js +1 -1
- package/dist/nile-option-group/nile-option-group.cjs.js.map +1 -1
- package/dist/nile-option-group/nile-option-group.esm.js +2 -2
- package/dist/nile-otp-input/index.cjs.js +1 -1
- package/dist/nile-otp-input/index.esm.js +1 -1
- package/dist/nile-otp-input/nile-otp-input.cjs.js +1 -1
- package/dist/nile-otp-input/nile-otp-input.cjs.js.map +1 -1
- package/dist/nile-otp-input/nile-otp-input.esm.js +1 -1
- package/dist/nile-page-header/index.cjs.js +1 -1
- package/dist/nile-page-header/index.esm.js +1 -1
- package/dist/nile-page-header/nile-page-header.cjs.js +1 -1
- package/dist/nile-page-header/nile-page-header.cjs.js.map +1 -1
- package/dist/nile-page-header/nile-page-header.esm.js +2 -2
- package/dist/nile-pagination/index.cjs.js +1 -1
- package/dist/nile-pagination/index.esm.js +1 -1
- package/dist/nile-pagination/nile-pagination.cjs.js +1 -1
- package/dist/nile-pagination/nile-pagination.cjs.js.map +1 -1
- package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
- package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
- package/dist/nile-pagination/nile-pagination.css.esm.js +7 -0
- package/dist/nile-pagination/nile-pagination.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 +2 -2
- package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.esm.js +3 -3
- package/dist/nile-popup/index.cjs.js +1 -1
- package/dist/nile-popup/index.esm.js +1 -1
- package/dist/nile-popup/nile-popup.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.cjs.js.map +1 -1
- package/dist/nile-popup/nile-popup.esm.js +2 -2
- package/dist/nile-progress-bar/index.cjs.js +1 -1
- package/dist/nile-progress-bar/index.esm.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.cjs.js +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.cjs.js.map +1 -1
- package/dist/nile-progress-bar/nile-progress-bar.esm.js +2 -2
- package/dist/nile-qr-code/index.cjs.js +1 -1
- package/dist/nile-qr-code/index.esm.js +1 -1
- package/dist/nile-qr-code/nile-qr-code.cjs.js +1 -1
- package/dist/nile-qr-code/nile-qr-code.cjs.js.map +1 -1
- package/dist/nile-qr-code/nile-qr-code.esm.js +2 -2
- package/dist/nile-radio/index.cjs.js +1 -1
- package/dist/nile-radio/index.esm.js +1 -1
- package/dist/nile-radio/nile-radio.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.cjs.js.map +1 -1
- package/dist/nile-radio/nile-radio.css.cjs.js +1 -1
- package/dist/nile-radio/nile-radio.css.cjs.js.map +1 -1
- package/dist/nile-radio/nile-radio.css.esm.js +4 -0
- package/dist/nile-radio/nile-radio.esm.js +2 -2
- package/dist/nile-radio-group/index.cjs.js +1 -1
- package/dist/nile-radio-group/index.esm.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
- package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
- package/dist/nile-radio-group/nile-radio-group.esm.js +2 -2
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +8 -6
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
- package/dist/nile-section-message/index.cjs.js +1 -1
- package/dist/nile-section-message/index.esm.js +1 -1
- package/dist/nile-section-message/nile-section-message.cjs.js +1 -1
- package/dist/nile-section-message/nile-section-message.cjs.js.map +1 -1
- package/dist/nile-section-message/nile-section-message.esm.js +2 -2
- package/dist/nile-select/index.cjs.js +1 -1
- package/dist/nile-select/index.esm.js +1 -1
- package/dist/nile-select/nile-select.cjs.js +1 -1
- package/dist/nile-select/nile-select.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.css.cjs.js +1 -1
- package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
- package/dist/nile-select/nile-select.css.esm.js +21 -2
- package/dist/nile-select/nile-select.esm.js +33 -25
- package/dist/nile-select/portal-utils.cjs.js +1 -1
- package/dist/nile-select/portal-utils.cjs.js.map +1 -1
- package/dist/nile-select/portal-utils.esm.js +1 -1
- package/dist/nile-side-bar/index.cjs.js +1 -1
- package/dist/nile-side-bar/index.esm.js +1 -1
- package/dist/nile-side-bar/nile-side-bar.cjs.js +1 -1
- package/dist/nile-side-bar/nile-side-bar.cjs.js.map +1 -1
- package/dist/nile-side-bar/nile-side-bar.esm.js +2 -2
- package/dist/nile-side-bar-action/index.cjs.js +1 -1
- package/dist/nile-side-bar-action/index.esm.js +1 -1
- package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js +1 -1
- package/dist/nile-side-bar-action/nile-side-bar-action.cjs.js.map +1 -1
- package/dist/nile-side-bar-action/nile-side-bar-action.esm.js +3 -3
- package/dist/nile-side-bar-action-menu/index.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu/index.esm.js +1 -1
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.cjs.js.map +1 -1
- package/dist/nile-side-bar-action-menu/nile-side-bar-action-menu.esm.js +2 -2
- package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
- package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
- package/dist/nile-side-bar-expand/index.cjs.js +1 -1
- package/dist/nile-side-bar-expand/index.esm.js +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.cjs.js.map +1 -1
- package/dist/nile-side-bar-expand/nile-side-bar-expand.esm.js +2 -2
- package/dist/nile-side-bar-footer/index.cjs.js +1 -1
- package/dist/nile-side-bar-footer/index.esm.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer/nile-side-bar-footer.esm.js +2 -2
- package/dist/nile-side-bar-footer-item/index.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/index.esm.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-item/nile-side-bar-footer-item.esm.js +1 -1
- package/dist/nile-side-bar-footer-text/index.cjs.js +1 -1
- package/dist/nile-side-bar-footer-text/index.esm.js +1 -1
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js +1 -1
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.cjs.js.map +1 -1
- package/dist/nile-side-bar-footer-text/nile-side-bar-footer-text.esm.js +3 -3
- package/dist/nile-side-bar-group/index.cjs.js +1 -1
- package/dist/nile-side-bar-group/index.esm.js +1 -1
- package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js +1 -1
- package/dist/nile-side-bar-group/nile-side-bar-group.cjs.js.map +1 -1
- package/dist/nile-side-bar-group/nile-side-bar-group.esm.js +2 -2
- package/dist/nile-side-bar-group-item/index.cjs.js +1 -1
- package/dist/nile-side-bar-group-item/index.esm.js +1 -1
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js +1 -1
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item/nile-side-bar-group-item.esm.js +2 -2
- package/dist/nile-side-bar-group-item-icon/index.cjs.js +1 -1
- package/dist/nile-side-bar-group-item-icon/index.esm.js +1 -1
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js +1 -1
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item-icon/nile-side-bar-group-item-icon.esm.js +2 -2
- package/dist/nile-side-bar-group-item-text/index.cjs.js +1 -1
- package/dist/nile-side-bar-group-item-text/index.esm.js +1 -1
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js +1 -1
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.cjs.js.map +1 -1
- package/dist/nile-side-bar-group-item-text/nile-side-bar-group-item-text.esm.js +1 -1
- package/dist/nile-side-bar-header/index.cjs.js +1 -1
- package/dist/nile-side-bar-header/index.esm.js +1 -1
- package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js +1 -1
- package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js.map +1 -1
- package/dist/nile-side-bar-header/nile-side-bar-header.esm.js +2 -2
- package/dist/nile-side-bar-logo/index.cjs.js +1 -1
- package/dist/nile-side-bar-logo/index.esm.js +1 -1
- package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js +1 -1
- package/dist/nile-side-bar-logo/nile-side-bar-logo.cjs.js.map +1 -1
- package/dist/nile-side-bar-logo/nile-side-bar-logo.esm.js +2 -2
- package/dist/nile-side-bar-panel/index.cjs.js +1 -1
- package/dist/nile-side-bar-panel/index.esm.js +1 -1
- package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js +1 -1
- package/dist/nile-side-bar-panel/nile-side-bar-panel.cjs.js.map +1 -1
- package/dist/nile-side-bar-panel/nile-side-bar-panel.esm.js +2 -2
- package/dist/nile-skeleton-loader/index.cjs.js +1 -1
- package/dist/nile-skeleton-loader/index.esm.js +1 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js +1 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.cjs.js.map +1 -1
- package/dist/nile-skeleton-loader/nile-skeleton-loader.esm.js +2 -2
- package/dist/nile-slide-toggle/index.cjs.js +1 -1
- package/dist/nile-slide-toggle/index.esm.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.cjs.js.map +1 -1
- package/dist/nile-slide-toggle/nile-slide-toggle.esm.js +2 -2
- package/dist/nile-slider/index.cjs.js +1 -1
- package/dist/nile-slider/index.esm.js +1 -1
- package/dist/nile-slider/nile-slider.cjs.js +1 -1
- package/dist/nile-slider/nile-slider.cjs.js.map +1 -1
- package/dist/nile-slider/nile-slider.esm.js +3 -3
- package/dist/nile-split-panel/index.cjs.js +1 -1
- package/dist/nile-split-panel/index.esm.js +1 -1
- package/dist/nile-split-panel/nile-split-panel.cjs.js +1 -1
- package/dist/nile-split-panel/nile-split-panel.cjs.js.map +1 -1
- package/dist/nile-split-panel/nile-split-panel.esm.js +2 -2
- package/dist/nile-stepper/index.cjs.js +1 -1
- package/dist/nile-stepper/index.esm.js +1 -1
- package/dist/nile-stepper/nile-stepper.cjs.js +1 -1
- package/dist/nile-stepper/nile-stepper.cjs.js.map +1 -1
- package/dist/nile-stepper/nile-stepper.esm.js +3 -3
- package/dist/nile-stepper-item/index.cjs.js +1 -1
- package/dist/nile-stepper-item/index.esm.js +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.cjs.js +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.cjs.js.map +1 -1
- package/dist/nile-stepper-item/nile-stepper-item.esm.js +1 -1
- package/dist/nile-switcher/index.cjs.js +1 -1
- package/dist/nile-switcher/index.esm.js +1 -1
- package/dist/nile-switcher/nile-switcher.cjs.js +1 -1
- package/dist/nile-switcher/nile-switcher.cjs.js.map +1 -1
- package/dist/nile-switcher/nile-switcher.esm.js +23 -23
- package/dist/nile-tab/index.cjs.js +1 -1
- package/dist/nile-tab/index.esm.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js +1 -1
- package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
- package/dist/nile-tab/nile-tab.esm.js +1 -1
- package/dist/nile-tab-group/index.cjs.js +1 -1
- package/dist/nile-tab-group/index.esm.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/nile-tab-panel/index.cjs.js +1 -1
- package/dist/nile-tab-panel/index.esm.js +1 -1
- package/dist/nile-tab-panel/nile-tab-panel.cjs.js +1 -1
- package/dist/nile-tab-panel/nile-tab-panel.cjs.js.map +1 -1
- package/dist/nile-tab-panel/nile-tab-panel.esm.js +3 -3
- package/dist/nile-table/index.cjs.js +1 -1
- package/dist/nile-table/index.esm.js +1 -1
- package/dist/nile-table/nile-table.cjs.js +1 -1
- package/dist/nile-table/nile-table.cjs.js.map +1 -1
- package/dist/nile-table/nile-table.esm.js +1 -1
- package/dist/nile-table-body/index.cjs.js +1 -1
- package/dist/nile-table-body/index.esm.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js +1 -1
- package/dist/nile-table-body/nile-table-body.cjs.js.map +1 -1
- package/dist/nile-table-body/nile-table-body.esm.js +3 -3
- package/dist/nile-table-cell-item/index.cjs.js +1 -1
- package/dist/nile-table-cell-item/index.esm.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.esm.js +5 -5
- package/dist/nile-table-header-item/index.cjs.js +1 -1
- package/dist/nile-table-header-item/index.esm.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.esm.js +1 -1
- package/dist/nile-table-row/index.cjs.js +1 -1
- package/dist/nile-table-row/index.esm.js +1 -1
- package/dist/nile-table-row/nile-table-row.cjs.js +1 -1
- package/dist/nile-table-row/nile-table-row.cjs.js.map +1 -1
- package/dist/nile-table-row/nile-table-row.esm.js +2 -2
- package/dist/nile-tag/index.cjs.js +1 -1
- package/dist/nile-tag/index.esm.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js +1 -1
- package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
- package/dist/nile-tag/nile-tag.esm.js +1 -1
- package/dist/nile-textarea/index.cjs.js +1 -1
- package/dist/nile-textarea/index.esm.js +1 -1
- package/dist/nile-textarea/nile-textarea.cjs.js +1 -1
- package/dist/nile-textarea/nile-textarea.cjs.js.map +1 -1
- package/dist/nile-textarea/nile-textarea.esm.js +2 -2
- package/dist/nile-title/index.cjs.js +1 -1
- package/dist/nile-title/index.esm.js +1 -1
- package/dist/nile-title/nile-title.cjs.js +1 -1
- package/dist/nile-title/nile-title.cjs.js.map +1 -1
- package/dist/nile-title/nile-title.esm.js +1 -1
- package/dist/nile-toast/index.cjs.js +1 -1
- package/dist/nile-toast/index.esm.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js +1 -1
- package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
- package/dist/nile-toast/nile-toast.esm.js +2 -2
- package/dist/nile-toolbar/index.cjs.js +1 -1
- package/dist/nile-toolbar/index.esm.js +1 -1
- package/dist/nile-toolbar/nile-toolbar.cjs.js +1 -1
- package/dist/nile-toolbar/nile-toolbar.cjs.js.map +1 -1
- package/dist/nile-toolbar/nile-toolbar.esm.js +2 -2
- package/dist/nile-tooltip/index.cjs.js +1 -1
- package/dist/nile-tooltip/index.esm.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js +1 -1
- package/dist/nile-tooltip/nile-tooltip.cjs.js.map +1 -1
- package/dist/nile-tooltip/nile-tooltip.esm.js +2 -2
- package/dist/nile-tree/index.cjs.js +1 -1
- package/dist/nile-tree/index.esm.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js +1 -1
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
- package/dist/nile-tree/nile-tree.esm.js +1 -1
- package/dist/nile-tree-item/index.cjs.js +1 -1
- package/dist/nile-tree-item/index.esm.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
- package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
- package/dist/nile-vertical-stepper-item/index.cjs.js +1 -1
- package/dist/nile-vertical-stepper-item/index.esm.js +1 -1
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js +1 -1
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.cjs.js.map +1 -1
- package/dist/nile-vertical-stepper-item/nile-vertical-stepper-item.esm.js +7 -7
- package/dist/nile-virtual-select/index.cjs.js +1 -1
- package/dist/nile-virtual-select/index.esm.js +1 -1
- package/dist/nile-virtual-select/nile-virtual-select.cjs.js +3 -3
- package/dist/nile-virtual-select/nile-virtual-select.esm.js +3 -3
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/accessibility/a11y.custom-value.enum.d.ts +69 -0
- package/dist/src/internal/accessibility/a11y.custom-value.enum.js +71 -0
- package/dist/src/internal/accessibility/a11y.custom-value.enum.js.map +1 -0
- package/dist/src/internal/accessibility/a11y.property.enum.d.ts +33 -0
- package/dist/src/internal/accessibility/a11y.property.enum.js +35 -0
- package/dist/src/internal/accessibility/a11y.property.enum.js.map +1 -0
- package/dist/src/internal/accessibility/a11y.role.enum.d.ts +50 -0
- package/dist/src/internal/accessibility/a11y.role.enum.js +52 -0
- package/dist/src/internal/accessibility/a11y.role.enum.js.map +1 -0
- package/dist/src/internal/accessibility/a11y.state.enum.d.ts +17 -0
- package/dist/src/internal/accessibility/a11y.state.enum.js +19 -0
- package/dist/src/internal/accessibility/a11y.state.enum.js.map +1 -0
- package/dist/src/internal/accessibility/accessibility.const.d.ts +8 -0
- package/dist/src/internal/accessibility/accessibility.const.js +9 -0
- package/dist/src/internal/accessibility/accessibility.const.js.map +1 -0
- package/dist/src/internal/accessibility/role.enum.d.ts +3 -0
- package/dist/src/internal/accessibility/role.enum.js +5 -0
- package/dist/src/internal/accessibility/role.enum.js.map +1 -0
- package/dist/src/internal/nile-element.d.ts +52 -0
- package/dist/src/internal/nile-element.js +45 -0
- package/dist/src/internal/nile-element.js.map +1 -1
- package/dist/src/nile-avatar/nile-avatar.js +2 -0
- package/dist/src/nile-avatar/nile-avatar.js.map +1 -1
- package/dist/src/nile-badge/nile-badge.d.ts +1 -0
- package/dist/src/nile-badge/nile-badge.js +12 -1
- package/dist/src/nile-badge/nile-badge.js.map +1 -1
- package/dist/src/nile-checkbox/nile-checkbox.css.js +4 -0
- package/dist/src/nile-checkbox/nile-checkbox.css.js.map +1 -1
- package/dist/src/nile-checkbox/nile-checkbox.d.ts +2 -0
- package/dist/src/nile-checkbox/nile-checkbox.js +5 -0
- package/dist/src/nile-checkbox/nile-checkbox.js.map +1 -1
- package/dist/src/nile-checkbox-group/index.d.ts +1 -0
- package/dist/src/nile-checkbox-group/index.js +2 -0
- package/dist/src/nile-checkbox-group/index.js.map +1 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.css.d.ts +1 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.css.js +70 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.css.js.map +1 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.d.ts +84 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.js +355 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.js.map +1 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.test.d.ts +2 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.test.js +671 -0
- package/dist/src/nile-checkbox-group/nile-checkbox-group.test.js.map +1 -0
- package/dist/src/nile-link/nile-link.d.ts +2 -1
- package/dist/src/nile-link/nile-link.js +18 -1
- package/dist/src/nile-link/nile-link.js.map +1 -1
- package/dist/src/nile-otp-input/nile-otp-input.test.js +7 -7
- package/dist/src/nile-otp-input/nile-otp-input.test.js.map +1 -1
- package/dist/src/nile-pagination/nile-pagination.css.js +7 -0
- package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
- package/dist/src/nile-radio/nile-radio.css.js +4 -0
- package/dist/src/nile-radio/nile-radio.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +8 -6
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +2 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +43 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rte-link.test.js +6 -5
- package/dist/src/nile-rich-text-editor/nile-rte-link.test.js.map +1 -1
- package/dist/src/nile-select/nile-select.css.js +21 -2
- package/dist/src/nile-select/nile-select.css.js.map +1 -1
- package/dist/src/nile-select/nile-select.d.ts +4 -0
- package/dist/src/nile-select/nile-select.js +42 -24
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-select/portal-utils.d.ts +2 -0
- package/dist/src/nile-select/portal-utils.js +36 -3
- package/dist/src/nile-select/portal-utils.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 +3 -2
- package/src/index.ts +1 -0
- package/src/internal/accessibility/a11y.custom-value.enum.ts +69 -0
- package/src/internal/accessibility/a11y.property.enum.ts +33 -0
- package/src/internal/accessibility/a11y.role.enum.ts +50 -0
- package/src/internal/accessibility/a11y.state.enum.ts +17 -0
- package/src/internal/accessibility/accessibility.const.ts +9 -0
- package/src/internal/accessibility/role.enum.ts +3 -0
- package/src/internal/nile-element.ts +99 -0
- package/src/nile-avatar/nile-avatar.ts +2 -0
- package/src/nile-badge/nile-badge.ts +13 -1
- package/src/nile-checkbox/nile-checkbox.css.ts +4 -0
- package/src/nile-checkbox/nile-checkbox.ts +3 -0
- package/src/nile-checkbox-group/index.ts +1 -0
- package/src/nile-checkbox-group/nile-checkbox-group.css.ts +70 -0
- package/src/nile-checkbox-group/nile-checkbox-group.test.ts +769 -0
- package/src/nile-checkbox-group/nile-checkbox-group.ts +351 -0
- package/src/nile-link/nile-link.ts +21 -2
- package/src/nile-otp-input/nile-otp-input.test.ts +7 -7
- package/src/nile-pagination/nile-pagination.css.ts +7 -0
- package/src/nile-radio/nile-radio.css.ts +4 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +8 -6
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +43 -0
- package/src/nile-rich-text-editor/nile-rte-link.test.ts +6 -5
- package/src/nile-select/nile-select.css.ts +21 -2
- package/src/nile-select/nile-select.ts +44 -24
- package/src/nile-select/portal-utils.ts +46 -3
- package/vscode-html-custom-data.json +111 -19
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-checkbox-group.test.js","sourceRoot":"","sources":["../../../src/nile-checkbox-group/nile-checkbox-group.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,uBAAuB,CAAC;AAC/B,OAAO,gCAAgC,CAAC;AAIxC,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,oBAAoB;IACpB,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,CAAC,cAAc,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,CAAC,CAAC,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACpF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;QAC3C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACtE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1D,MAAM,CAAC,QAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,SAAS,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;QACpC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,8DAA8D,CAAC,CAAC;QAChH,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,yDAAyD,CAAC,CAAC;QAC3G,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,2DAA2D,CAAC,CAAC;QAC7G,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,2DAA2D,CAAC,CAAC;QAC7G,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,sDAAsD,CAAC,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,sDAAsD,CAAC,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,sDAAsD,CAAC,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,sDAAsD,CAAC,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,kCAAkC,MAAM,yBAAyB,CAAC,CAAC;QACnH,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,8DAA8D,CAAC,CAAC;QAChH,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,sCAAsC,KAAK,yBAAyB,CAAC,CAAC;QACtH,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,iEAAiE,CAAC,CAAC;QACnH,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,qDAAqD,CAAC,CAAC;QACvG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,qDAAqD,CAAC,CAAC;QACvG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,qDAAqD,CAAC,CAAC;QACvG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,uDAAuD,CAAC,CAAC;QACzG,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,uDAAuD,CAAC,CAAC;QACzG,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,kCAAkC,MAAM,yBAAyB,CAAC,CAAC;QACnH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACrE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,sCAAsC,OAAO,yBAAyB,CAAC,CAAC;QACxH,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC;QACzE,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC9B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,kCAAkC,GAAG,kBAAkB,GAAG,yBAAyB,CAAC,CAAC;QACrI,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QACrE,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAChF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;KAK/C,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;;KAM/C,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;KAK/C,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;QAC3C,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,iBAAiB;IACjB,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;KAI/C,CAAC,CAAC;QACH,IAAI,YAAY,GAAQ,IAAI,CAAC;QAC7B,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAc,EAAE,EAAE,GAAG,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAkB,CAAC,CAAC;QACnG,EAAE,CAAC,aAAa,CAAe,eAAe,CAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC7F,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;QAC9B,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;QACpE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;KAI/C,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,EAAE,CAAC,aAAa,CAAe,eAAe,CAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC7F,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;KAI/C,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,EAAE,CAAC,aAAa,CAAe,eAAe,CAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC7F,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA,aAAa,CAAC,CAAC;QACnD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAsB,CAAC;QAC9E,EAAE,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,GAAG,SAAS,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9D,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC1B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpE,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;KAI/C,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,EAAE,CAAC,aAAa,CAAe,eAAe,CAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC7F,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;KAK/C,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;KAI/C,CAAC,CAAC;QACH,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7D,EAAE,CAAC,aAAa,CAAe,eAAe,CAAE,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC7F,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;QAC/F,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;KAK/C,CAAC,CAAC;QACH,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;QACpB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;oCAChB,CAAC,GAAG,CAAC;;;;;KAKpC,CAAC,CAAC;QACH,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;QAChF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;;KAM/C,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACtB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;oCAChB,CAAC,GAAG,EAAE,GAAG,CAAC;;;;KAIzC,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC;QACd,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,oBAAoB;IACpB,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;;KAM/C,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;KAK/C,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACzC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iEAAiE,EAAE,KAAK,IAAI,EAAE;QAC/E,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;KAK/C,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1C,UAAU,CAAC,CAAC,CAAC,CAAC,UAAW,CAAC,aAAa,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;;KAM/C,CAAC,CAAC;QACH,EAAE,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC3B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,yDAAyD,CAAC,CAAC;QAC3G,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,yDAAyD,CAAC,CAAC;QAC3G,MAAM,WAAW,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAC1E,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACtF,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,WAAW,GAAG,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;QAC1E,MAAM,CAAC,WAAY,CAAC,SAAS,CAAC,QAAQ,CAAC,+BAA+B,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACvF,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;;;;;KAMnC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAoB,qBAAqB,CAAE,CAAC;QACjF,MAAM,KAAK,CAAC,cAAc,CAAC;QAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAe,oCAAoC,CAAC,CAAC;QAClG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;;;;;KAMnC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAoB,qBAAqB,CAAE,CAAC;QACjF,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC;QACpB,MAAM,KAAK,CAAC,cAAc,CAAC;QAC3B,MAAM,UAAU,GAAG,SAAS,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QAC7E,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;QAC1C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA;;;;;;KAMnC,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,SAAS,CAAC,aAAa,CAAoB,qBAAqB,CAAE,CAAC;QACjF,KAAK,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACzB,MAAM,KAAK,CAAC,cAAc,CAAC;QAC3B,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAe,8BAA8B,CAAE,CAAC;QACvF,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,CAAe,6BAA6B,CAAE,CAAC;QACrF,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAe,IAAI,CAAA,iDAAiD,CAAC,CAAC;QAC9F,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAe,IAAI,CAAA,iDAAiD,CAAC,CAAC;QAC9F,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAe,IAAI,CAAA,iCAAiC,CAAC,CAAC;QAC9E,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,mCAAmC;IACnC,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,EAAE,CAAC,KAAK,GAAG,WAAW,CAAC;QACvB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,EAAE,CAAC,IAAI,GAAG,SAAS,CAAC;QACpB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,EAAE,CAAC,QAAQ,GAAG,UAAU,CAAC;QACzB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,EAAE,CAAC,YAAY,GAAG,WAAW,CAAC;QAC9B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,UAAW,CAAC,aAAa,CAAC,yBAAyB,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC;IAC3E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACtD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,EAAE,CAAC,QAAQ,GAAG,IAAI,CAAC;QACnB,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;oCAChB,CAAC,GAAG,EAAE,GAAG,CAAC;;;;;KAKzC,CAAC,CAAC;QACH,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QACX,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAe,eAAe,CAAC,CAAC;QACtE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;QACxD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,EAAE,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC,cAAc,CAAC;QAClC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,IAAI,CAAA,mGAAmG,CAAC,CAAC;QACjI,MAAM,CAAC,CAAC,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,qBAAqB,CAAsB,CAAC;QAC9E,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC9B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;QACrC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;YAAC,EAAE,CAAC,aAAa,EAAE,CAAC;YAAC,MAAM,EAAE,CAAC,cAAc,CAAC;QAAC,CAAC;QAC5E,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,sBAAsB;IACtB,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,wDAAwD,CAAC,CAAC;QAC1G,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,sDAAsD,CAAC,CAAC;QACxG,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,oDAAoD,CAAC,CAAC;QACtG,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,+DAA+D,CAAC,CAAC;QACjH,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,0DAA0D,CAAC,CAAC;QAC5G,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6DAA6D,CAAC,CAAC;QAC/G,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,uDAAuD,CAAC,CAAC;QACzG,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,IAAI,KAAK,GAAG,KAAK,CAAC;QAClB,EAAE,CAAC,gBAAgB,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACvD,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA,6CAA6C,CAAC,CAAC;QAC/F,MAAM,CAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChG,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,EAAE,GAAG,MAAM,OAAO,CAAoB,IAAI,CAAA;;;;;oBAKhC,WAAW;wBACP,UAAU;;;;;;;;;KAS7B,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,gBAAgB,CAAC,eAAe,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect, fixture, html } from '@open-wc/testing';\nimport './nile-checkbox-group';\nimport '../nile-checkbox/nile-checkbox';\nimport type { NileCheckboxGroup } from './nile-checkbox-group';\nimport type NileCheckbox from '../nile-checkbox/nile-checkbox';\n\ndescribe('NileCheckboxGroup', () => {\n // === RENDERING ===\n it('1. should render without errors', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el).to.exist;\n });\n\n it('2. should have a shadow root', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot).to.not.be.null;\n });\n\n it('3. should have correct tag name', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.tagName.toLowerCase()).to.equal('nile-checkbox-group');\n });\n\n it('4. should be defined in custom elements registry', async () => {\n expect(customElements.get('nile-checkbox-group')).to.exist;\n });\n\n it('5. should have open shadow mode', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.mode).to.equal('open');\n });\n\n it('6. should have styles', async () => {\n expect((await import('./nile-checkbox-group')).NileCheckboxGroup.styles).to.exist;\n });\n\n it('7. should render a fieldset', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('fieldset')).to.exist;\n });\n\n it('8. should render default slot', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('slot:not([name])')).to.exist;\n });\n\n it('9. should render label slot', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('slot[name=\"label\"]')).to.exist;\n });\n\n it('10. should have role=\"group\" on fieldset', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n const fieldset = el.shadowRoot!.querySelector('fieldset');\n expect(fieldset!.getAttribute('role')).to.equal('group');\n });\n\n it('11. should have hidden validation input', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('input')).to.exist;\n });\n\n // === DEFAULT PROPERTIES ===\n it('12. should have label default to empty string', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.label).to.equal('');\n });\n\n it('13. should have name default to empty string', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.name).to.equal('');\n });\n\n it('14. should have value default to empty array', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.value).to.deep.equal([]);\n });\n\n it('15. should have for default to empty string', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.for).to.equal('');\n });\n\n it('16. should have form default to empty string', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.form).to.equal('');\n });\n\n it('17. should have required default to false', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.required).to.be.false;\n });\n\n it('18. should have disabled default to false', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.disabled).to.be.false;\n });\n\n it('19. should have labelInline default to false', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.labelInline).to.be.false;\n });\n\n it('20. should have helpText default to empty string', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.helpText).to.equal('');\n });\n\n it('21. should have errorMessage default to empty string', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.errorMessage).to.equal('');\n });\n\n it('22. should have max default to undefined', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.max).to.be.undefined;\n });\n\n it('23. should have min default to undefined', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.min).to.be.undefined;\n });\n\n // === ATTRIBUTE SETTING ===\n it('24. should set label', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group label=\"My Group\"></nile-checkbox-group>`);\n expect(el.label).to.equal('My Group');\n });\n\n it('25. should set name', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group name=\"opts\"></nile-checkbox-group>`);\n expect(el.name).to.equal('opts');\n });\n\n it('26. should set for', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group for=\"myGroup\"></nile-checkbox-group>`);\n expect(el.for).to.equal('myGroup');\n });\n\n it('27. should reflect for attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group for=\"myGroup\"></nile-checkbox-group>`);\n expect(el.getAttribute('for')).to.equal('myGroup');\n });\n\n it('28. should set required', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group required></nile-checkbox-group>`);\n expect(el.required).to.be.true;\n });\n\n it('29. should reflect required attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group required></nile-checkbox-group>`);\n expect(el.hasAttribute('required')).to.be.true;\n });\n\n it('30. should set disabled', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group disabled></nile-checkbox-group>`);\n expect(el.disabled).to.be.true;\n });\n\n it('31. should reflect disabled attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group disabled></nile-checkbox-group>`);\n expect(el.hasAttribute('disabled')).to.be.true;\n });\n\n it('32. should set help-text', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group .helpText=${'Help'}></nile-checkbox-group>`);\n expect(el.helpText).to.equal('Help');\n });\n\n it('33. should reflect help-text attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group help-text=\"Help\"></nile-checkbox-group>`);\n expect(el.getAttribute('help-text')).to.equal('Help');\n });\n\n it('34. should set error-message', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group .errorMessage=${'Err'}></nile-checkbox-group>`);\n expect(el.errorMessage).to.equal('Err');\n });\n\n it('35. should reflect error-message attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group error-message=\"Err\"></nile-checkbox-group>`);\n expect(el.getAttribute('error-message')).to.equal('Err');\n });\n\n it('36. should set max', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group max=\"3\"></nile-checkbox-group>`);\n expect(el.max).to.equal(3);\n });\n\n it('37. should reflect max attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group max=\"3\"></nile-checkbox-group>`);\n expect(el.getAttribute('max')).to.equal('3');\n });\n\n it('38. should set min', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group min=\"1\"></nile-checkbox-group>`);\n expect(el.min).to.equal(1);\n });\n\n it('39. should set form', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group form=\"f1\"></nile-checkbox-group>`);\n expect(el.form).to.equal('f1');\n });\n\n it('40. should reflect form attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group form=\"f1\"></nile-checkbox-group>`);\n expect(el.getAttribute('form')).to.equal('f1');\n });\n\n // === HELP TEXT / ERROR RENDERING ===\n it('41. should render help text when set', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group .helpText=${'Help'}></nile-checkbox-group>`);\n const helpText = el.shadowRoot!.querySelector('nile-form-help-text');\n expect(helpText).to.exist;\n });\n\n it('42. should not render help text when empty', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n const helpText = el.shadowRoot!.querySelector('nile-form-help-text');\n expect(helpText).to.be.null;\n });\n\n it('43. should render error message when set', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group .errorMessage=${'Error'}></nile-checkbox-group>`);\n const errorMsg = el.shadowRoot!.querySelector('nile-form-error-message');\n expect(errorMsg).to.exist;\n });\n\n it('44. should not render error message when empty', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n const errorMsg = el.shadowRoot!.querySelector('nile-form-error-message');\n expect(errorMsg).to.be.null;\n });\n\n it('45. should render both help text and error message', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group .helpText=${'H'} .errorMessage=${'E'}></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('nile-form-help-text')).to.exist;\n expect(el.shadowRoot!.querySelector('nile-form-error-message')).to.exist;\n });\n\n // === CSS PARTS ===\n it('46. should have form-control part', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('[part~=\"form-control\"]')).to.exist;\n });\n\n it('47. should have form-control-label part', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('[part~=\"form-control-label\"]')).to.exist;\n });\n\n it('48. should have form-control-input part', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('[part~=\"form-control-input\"]')).to.exist;\n });\n\n it('49. should have options-base part', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.shadowRoot!.querySelector('[part~=\"options-base\"]')).to.exist;\n });\n\n // === SLOTTED MODE: SELECTION ===\n it('50. should collect value from checked slotted checkboxes on click', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n </nile-checkbox-group>\n `);\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(el.value).to.deep.equal(['a']);\n });\n\n it('51. should support multi-selection', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n <nile-checkbox value=\"c\">C</nile-checkbox>\n </nile-checkbox-group>\n `);\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n checkboxes[2].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(el.value).to.deep.equal(['a', 'c']);\n });\n\n it('52. should remove value on uncheck', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n </nile-checkbox-group>\n `);\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n checkboxes[1].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(el.value).to.deep.equal(['a', 'b']);\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(el.value).to.deep.equal(['b']);\n });\n\n // === EVENTS ===\n it('53. should emit change event on selection', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n </nile-checkbox-group>\n `);\n let changeDetail: any = null;\n el.addEventListener('change', ((e: CustomEvent) => { changeDetail = e.detail; }) as EventListener);\n el.querySelector<NileCheckbox>('nile-checkbox')!.shadowRoot!.querySelector('input')!.click();\n expect(changeDetail).to.exist;\n expect(changeDetail.value).to.deep.equal(['a']);\n });\n\n it('54. should emit change event with value on selection', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n </nile-checkbox-group>\n `);\n let changeFired = false;\n el.addEventListener('change', () => { changeFired = true; });\n el.querySelector<NileCheckbox>('nile-checkbox')!.shadowRoot!.querySelector('input')!.click();\n expect(changeFired).to.be.true;\n });\n\n it('55. should emit exactly one change event per click', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n </nile-checkbox-group>\n `);\n let changeCount = 0;\n el.addEventListener('change', () => { changeCount++; });\n el.querySelector<NileCheckbox>('nile-checkbox')!.shadowRoot!.querySelector('input')!.click();\n expect(changeCount).to.equal(1);\n });\n\n it('56. should emit nile-init on connected', async () => {\n let initFired = false;\n const container = await fixture(html`<div></div>`);\n const el = document.createElement('nile-checkbox-group') as NileCheckboxGroup;\n el.addEventListener('nile-init', () => { initFired = true; });\n container.appendChild(el);\n await el.updateComplete;\n expect(initFired).to.be.true;\n });\n\n it('57. should emit nile-destroy on disconnected', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n let destroyFired = false;\n el.addEventListener('nile-destroy', () => { destroyFired = true; });\n el.remove();\n expect(destroyFired).to.be.true;\n });\n\n it('58. should not emit change when value does not change', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group disabled>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n </nile-checkbox-group>\n `);\n let changeFired = false;\n el.addEventListener('change', () => { changeFired = true; });\n el.querySelector<NileCheckbox>('nile-checkbox')!.shadowRoot!.querySelector('input')!.click();\n expect(changeFired).to.be.false;\n });\n\n // === DISABLED ===\n it('59. should propagate disabled to slotted checkboxes', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group disabled>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n </nile-checkbox-group>\n `);\n await el.updateComplete;\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes.forEach(cb => expect(cb.disabled).to.be.true);\n });\n\n it('60. should not emit change when group is disabled', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group disabled>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n </nile-checkbox-group>\n `);\n let changeFired = false;\n el.addEventListener('change', () => { changeFired = true; });\n el.querySelector<NileCheckbox>('nile-checkbox')!.shadowRoot!.querySelector('input')!.click();\n expect(changeFired).to.be.false;\n });\n\n it('61. should keep individually-disabled checkboxes disabled when group re-enables', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group disabled>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n </nile-checkbox-group>\n `);\n el.disabled = false;\n await el.updateComplete;\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes.forEach(cb => expect(cb.disabled).to.be.true);\n });\n\n // === PROGRAMMATIC VALUE ===\n it('62. should sync checkbox checked states from programmatic value', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group .value=${['b']}>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n <nile-checkbox value=\"c\">C</nile-checkbox>\n </nile-checkbox-group>\n `);\n await el.updateComplete;\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n expect(checkboxes[0].checked).to.be.false;\n expect(checkboxes[1].checked).to.be.true;\n expect(checkboxes[2].checked).to.be.false;\n });\n\n it('63. should update checkboxes when value changes programmatically', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n <nile-checkbox value=\"c\">C</nile-checkbox>\n </nile-checkbox-group>\n `);\n el.value = ['a', 'c'];\n await el.updateComplete;\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n expect(checkboxes[0].checked).to.be.true;\n expect(checkboxes[1].checked).to.be.false;\n expect(checkboxes[2].checked).to.be.true;\n });\n\n it('64. should clear all checkboxes when value set to empty array', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group .value=${['a', 'b']}>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n </nile-checkbox-group>\n `);\n el.value = [];\n await el.updateComplete;\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes.forEach(cb => expect(cb.checked).to.be.false);\n });\n\n // === MAX LIMIT ===\n it('65. should enforce max limit on click', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group max=\"2\">\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n <nile-checkbox value=\"c\">C</nile-checkbox>\n </nile-checkbox-group>\n `);\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n checkboxes[1].shadowRoot!.querySelector('input')!.click();\n checkboxes[2].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(el.value.length).to.be.at.most(2);\n });\n\n it('66. should disable unchecked boxes when max is reached', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group max=\"1\">\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n </nile-checkbox-group>\n `);\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(checkboxes[0].checked).to.be.true;\n expect(checkboxes[1].disabled).to.be.true;\n });\n\n it('67. should re-enable unchecked boxes when count drops below max', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group max=\"1\">\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n </nile-checkbox-group>\n `);\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(checkboxes[1].disabled).to.be.true;\n checkboxes[0].shadowRoot!.querySelector('input')!.click();\n await el.updateComplete;\n expect(checkboxes[1].disabled).to.be.false;\n });\n\n it('68. should truncate value array when set programmatically above max', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group max=\"2\">\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n <nile-checkbox value=\"c\">C</nile-checkbox>\n </nile-checkbox-group>\n `);\n el.value = ['a', 'b', 'c'];\n await el.updateComplete;\n expect(el.value.length).to.be.at.most(2);\n });\n\n // === INLINE LAYOUT ===\n it('69. should set labelInline', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group labelInline></nile-checkbox-group>`);\n expect(el.labelInline).to.be.true;\n });\n\n it('70. should apply inline class when labelInline is true', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group labelInline></nile-checkbox-group>`);\n const optionsBase = el.shadowRoot!.querySelector('[part=\"options-base\"]');\n expect(optionsBase!.classList.contains('form-control--inline-checkbox')).to.be.true;\n });\n\n it('71. should not apply inline class by default', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n const optionsBase = el.shadowRoot!.querySelector('[part=\"options-base\"]');\n expect(optionsBase!.classList.contains('form-control--inline-checkbox')).to.be.false;\n });\n\n // === REMOTE MODE (for/group) ===\n it('72. should discover remote checkboxes via for/group', async () => {\n const container = await fixture(html`\n <div>\n <nile-checkbox-group for=\"test-remote\"></nile-checkbox-group>\n <nile-checkbox group=\"test-remote\" value=\"x\">X</nile-checkbox>\n <nile-checkbox group=\"test-remote\" value=\"y\">Y</nile-checkbox>\n </div>\n `);\n const group = container.querySelector<NileCheckboxGroup>('nile-checkbox-group')!;\n await group.updateComplete;\n const checkboxes = container.querySelectorAll<NileCheckbox>('nile-checkbox[group=\"test-remote\"]');\n expect(checkboxes.length).to.equal(2);\n });\n\n it('73. should sync remote checkboxes when value is set', async () => {\n const container = await fixture(html`\n <div>\n <nile-checkbox-group for=\"sync-test\"></nile-checkbox-group>\n <nile-checkbox group=\"sync-test\" value=\"x\">X</nile-checkbox>\n <nile-checkbox group=\"sync-test\" value=\"y\">Y</nile-checkbox>\n </div>\n `);\n const group = container.querySelector<NileCheckboxGroup>('nile-checkbox-group')!;\n group.value = ['y'];\n await group.updateComplete;\n const checkboxes = container.querySelectorAll<NileCheckbox>('nile-checkbox');\n expect(checkboxes[0].checked).to.be.false;\n expect(checkboxes[1].checked).to.be.true;\n });\n\n it('74. should not discover checkboxes with different group name', async () => {\n const container = await fixture(html`\n <div>\n <nile-checkbox-group for=\"alpha\"></nile-checkbox-group>\n <nile-checkbox group=\"alpha\" value=\"a\">A</nile-checkbox>\n <nile-checkbox group=\"beta\" value=\"b\">B</nile-checkbox>\n </div>\n `);\n const group = container.querySelector<NileCheckboxGroup>('nile-checkbox-group')!;\n group.value = ['a', 'b'];\n await group.updateComplete;\n const cbAlpha = container.querySelector<NileCheckbox>('nile-checkbox[group=\"alpha\"]')!;\n const cbBeta = container.querySelector<NileCheckbox>('nile-checkbox[group=\"beta\"]')!;\n expect(cbAlpha.checked).to.be.true;\n expect(cbBeta.checked).to.be.false;\n });\n\n // === CHECKBOX group PROPERTY ===\n it('75. should have group property on nile-checkbox', async () => {\n const cb = await fixture<NileCheckbox>(html`<nile-checkbox group=\"myGroup\"></nile-checkbox>`);\n expect(cb.group).to.equal('myGroup');\n });\n\n it('76. should reflect group attribute on nile-checkbox', async () => {\n const cb = await fixture<NileCheckbox>(html`<nile-checkbox group=\"myGroup\"></nile-checkbox>`);\n expect(cb.getAttribute('group')).to.equal('myGroup');\n });\n\n it('77. should default group to empty string', async () => {\n const cb = await fixture<NileCheckbox>(html`<nile-checkbox></nile-checkbox>`);\n expect(cb.group).to.equal('');\n });\n\n // === DYNAMIC PROPERTY CHANGES ===\n it('78. should update label dynamically', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n el.label = 'New Label';\n await el.updateComplete;\n expect(el.label).to.equal('New Label');\n });\n\n it('79. should update name dynamically', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n el.name = 'newName';\n await el.updateComplete;\n expect(el.name).to.equal('newName');\n });\n\n it('80. should update helpText dynamically', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n el.helpText = 'New Help';\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('nile-form-help-text')).to.exist;\n });\n\n it('81. should update errorMessage dynamically', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n el.errorMessage = 'New Error';\n await el.updateComplete;\n expect(el.shadowRoot!.querySelector('nile-form-error-message')).to.exist;\n });\n\n it('82. should update required dynamically', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n el.required = true;\n await el.updateComplete;\n expect(el.required).to.be.true;\n expect(el.hasAttribute('required')).to.be.true;\n });\n\n it('83. should update max dynamically', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group .value=${['a', 'b']}>\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n <nile-checkbox value=\"c\">C</nile-checkbox>\n </nile-checkbox-group>\n `);\n el.max = 2;\n await el.updateComplete;\n const checkboxes = el.querySelectorAll<NileCheckbox>('nile-checkbox');\n expect(checkboxes[2].disabled).to.be.true;\n });\n\n // === DOM / LIFECYCLE ===\n it('84. should be connected', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.isConnected).to.be.true;\n });\n\n it('85. should be disconnected after removal', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n el.remove();\n expect(el.isConnected).to.be.false;\n });\n\n it('86. should handle updateComplete', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n const r = await el.updateComplete;\n expect(r).to.not.be.undefined;\n });\n\n it('87. should have render method', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect(el.render).to.be.a('function');\n });\n\n it('88. should handle multiple instances', async () => {\n const c = await fixture(html`<div><nile-checkbox-group></nile-checkbox-group><nile-checkbox-group></nile-checkbox-group></div>`);\n expect(c.querySelectorAll('nile-checkbox-group').length).to.equal(2);\n });\n\n it('89. should support createElement', async () => {\n const el = document.createElement('nile-checkbox-group') as NileCheckboxGroup;\n document.body.appendChild(el);\n await el.updateComplete;\n expect(el.shadowRoot).to.not.be.null;\n document.body.removeChild(el);\n });\n\n it('90. should handle multiple re-renders', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n for (let i = 0; i < 3; i++) { el.requestUpdate(); await el.updateComplete; }\n expect(el.shadowRoot).to.not.be.null;\n });\n\n // === GENERIC DOM ===\n it('91. should support class attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group class=\"cg\"></nile-checkbox-group>`);\n expect(el.classList.contains('cg')).to.be.true;\n });\n\n it('92. should support id attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group id=\"cg1\"></nile-checkbox-group>`);\n expect(el.id).to.equal('cg1');\n });\n\n it('93. should support hidden attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group hidden></nile-checkbox-group>`);\n expect(el.hidden).to.be.true;\n });\n\n it('94. should support style attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group style=\"color:red\"></nile-checkbox-group>`);\n expect(el.style.color).to.equal('red');\n });\n\n it('95. should support data attributes', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group data-idx=\"0\"></nile-checkbox-group>`);\n expect(el.dataset.idx).to.equal('0');\n });\n\n it('96. should support aria-label', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group aria-label=\"CG\"></nile-checkbox-group>`);\n expect(el.getAttribute('aria-label')).to.equal('CG');\n });\n\n it('97. should support dir attribute', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group dir=\"rtl\"></nile-checkbox-group>`);\n expect(el.dir).to.equal('rtl');\n });\n\n it('98. should support dispatchEvent', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n let fired = false;\n el.addEventListener('custom', () => { fired = true; });\n el.dispatchEvent(new Event('custom'));\n expect(fired).to.be.true;\n });\n\n it('99. should support cloneNode', async () => {\n const el = await fixture<NileCheckboxGroup>(html`<nile-checkbox-group></nile-checkbox-group>`);\n expect((el.cloneNode(true) as Element).tagName.toLowerCase()).to.equal('nile-checkbox-group');\n });\n\n it('100. should handle full integration', async () => {\n const el = await fixture<NileCheckboxGroup>(html`\n <nile-checkbox-group\n label=\"Options\"\n name=\"opts\"\n required\n .helpText=${'Pick some'}\n .errorMessage=${'Required'}\n max=\"2\"\n class=\"cg\"\n id=\"cg1\"\n >\n <nile-checkbox value=\"a\">A</nile-checkbox>\n <nile-checkbox value=\"b\">B</nile-checkbox>\n <nile-checkbox value=\"c\">C</nile-checkbox>\n </nile-checkbox-group>\n `);\n expect(el.label).to.equal('Options');\n expect(el.name).to.equal('opts');\n expect(el.required).to.be.true;\n expect(el.helpText).to.equal('Pick some');\n expect(el.errorMessage).to.equal('Required');\n expect(el.max).to.equal(2);\n expect(el.id).to.equal('cg1');\n expect(el.querySelectorAll('nile-checkbox').length).to.equal(3);\n });\n});\n"]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import { CSSResultArray, TemplateResult } from 'lit';
|
|
7
|
+
import { CSSResultArray, TemplateResult, PropertyValues } from 'lit';
|
|
8
8
|
import NileElement from '../internal/nile-element';
|
|
9
9
|
/**
|
|
10
10
|
* Nile icon component.
|
|
@@ -25,6 +25,7 @@ export declare class NileLink extends NileElement {
|
|
|
25
25
|
button: boolean;
|
|
26
26
|
href: string;
|
|
27
27
|
connectedCallback(): void;
|
|
28
|
+
protected updated(_changedProperties: PropertyValues): void;
|
|
28
29
|
disconnectedCallback(): void;
|
|
29
30
|
private handleHostClick;
|
|
30
31
|
private handleBlur;
|
|
@@ -11,7 +11,12 @@ import { styles } from './nile-link.css';
|
|
|
11
11
|
import { HasSlotController } from '../slot';
|
|
12
12
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
13
13
|
import { classMap } from 'lit/directives/class-map.js';
|
|
14
|
-
import NileElement from '../internal/nile-element';
|
|
14
|
+
import NileElement, { setupA11yMetadata } from '../internal/nile-element';
|
|
15
|
+
import { A11yProperty } from '../internal/accessibility/a11y.property.enum';
|
|
16
|
+
import { Role } from '../internal/accessibility/role.enum';
|
|
17
|
+
import { A11yCustomValue } from '../internal/accessibility/a11y.custom-value.enum';
|
|
18
|
+
import { A11yRole } from '../internal/accessibility/a11y.role.enum';
|
|
19
|
+
import { A11yState } from '../internal/accessibility/a11y.state.enum';
|
|
15
20
|
/**
|
|
16
21
|
* Nile icon component.
|
|
17
22
|
*
|
|
@@ -40,6 +45,18 @@ let NileLink = class NileLink extends NileElement {
|
|
|
40
45
|
this.handleHostClick = this.handleHostClick.bind(this);
|
|
41
46
|
this.addEventListener('click', this.handleHostClick);
|
|
42
47
|
this.emit('nile-init');
|
|
48
|
+
setupA11yMetadata(this, {
|
|
49
|
+
[Role.Role]: A11yRole.Link,
|
|
50
|
+
[A11yProperty.AriaLabel]: this.textContent?.trim() || A11yCustomValue.Link,
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
updated(_changedProperties) {
|
|
54
|
+
super.updated(_changedProperties);
|
|
55
|
+
if (_changedProperties.has('disabled')) {
|
|
56
|
+
setupA11yMetadata(this, {
|
|
57
|
+
[A11yState.AriaDisabled]: this.disabled,
|
|
58
|
+
});
|
|
59
|
+
}
|
|
43
60
|
}
|
|
44
61
|
disconnectedCallback() {
|
|
45
62
|
super.disconnectedCallback();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-link.js","sourceRoot":"","sources":["../../../src/nile-link/nile-link.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,
|
|
1
|
+
{"version":3,"file":"nile-link.js","sourceRoot":"","sources":["../../../src/nile-link/nile-link.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, state, property } from 'lit/decorators.js';\nimport {styles} from './nile-link.css';\nimport { HasSlotController } from '../slot';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport NileElement, { setupA11yMetadata } from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { A11yProperty } from '../internal/accessibility/a11y.property.enum';\nimport { Role } from '../internal/accessibility/role.enum';\nimport { A11yCustomValue } from '../internal/accessibility/a11y.custom-value.enum';\nimport { A11yRole } from '../internal/accessibility/a11y.role.enum';\nimport { A11yState } from '../internal/accessibility/a11y.state.enum';\n\n/**\n * Nile icon component.\n *\n * @tag nile-link\n *\n */\n@customElement('nile-link')\nexport class NileLink extends NileElement {\n /**\n * The styles for Link\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private readonly hasSlotController = new HasSlotController(\n this,\n '[default]',\n 'prefix',\n 'suffix'\n );\n\n @state() private hasFocus = false;\n\n /** Disables the button. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n @property({ type: Boolean }) button = false;\n\n @property({ type: String }) href:string;\n\n connectedCallback() {\n super.connectedCallback();\n this.handleHostClick = this.handleHostClick.bind(this);\n this.addEventListener('click', this.handleHostClick);\n this.emit('nile-init');\n\n setupA11yMetadata(this, {\n [Role.Role]: A11yRole.Link,\n [A11yProperty.AriaLabel]: this.textContent?.trim() || A11yCustomValue.Link,\n });\n }\n\n protected updated(_changedProperties: PropertyValues): void {\n super.updated(_changedProperties);\n if (_changedProperties.has('disabled')) {\n setupA11yMetadata(this, {\n [A11yState.AriaDisabled]: this.disabled,\n });\n }\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('click', this.handleHostClick);\n this.emit('nile-destroy');\n }\n\n private handleHostClick(event: MouseEvent) {\n // Prevent the click event from being emitted when the button is disabled\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n private handleBlur() {\n this.hasFocus = false;\n this.emit('nile-blur');\n }\n\n private handleFocus() {\n this.hasFocus = true;\n this.emit('nile-focus');\n }\n\n handleClick(e: MouseEvent) {\n if (this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n }\n\n /**\n * Render method\n * @slot This is a slot test\n */\n public render(): TemplateResult {\n return html`\n <a\n part=\"base\"\n href=\"${ifDefined(this.href)}\"\n class=${classMap({\n 'link': true,\n 'link--disabled': this.disabled,\n 'link__button': this.button,\n })}\n .disabled=${this.disabled}\n title=${\n this\n .title /* An empty title prevents browser validation tooltips from appearing on hover */\n }\n aria-disabled=${this.disabled ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : '0'}\n @blur=${this.handleBlur}\n @focus=${this.handleFocus}\n @click=${this.handleClick}\n >\n <slot name=\"prefix\" part=\"prefix\" class=\"link__prefix\"></slot>\n <slot part=\"label\" class=\"link__label\"></slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"link__suffix\"></slot>\n </a>\n `;\n }\n\n /* #endregion */\n}\n\nexport default NileLink;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-link': NileLink;\n }\n }\n"]}
|
|
@@ -63,20 +63,20 @@ describe('NileOtpInput', () => {
|
|
|
63
63
|
expect(label.textContent).to.contain('Verification code');
|
|
64
64
|
});
|
|
65
65
|
it('renders help text when provided', async () => {
|
|
66
|
-
const el = await fixture(html `<nile-otp-input
|
|
66
|
+
const el = await fixture(html `<nile-otp-input .helpText=${'Enter your code'}></nile-otp-input>`);
|
|
67
67
|
const helpText = el.shadowRoot.querySelector('.form-control__help-text');
|
|
68
68
|
expect(helpText).to.exist;
|
|
69
69
|
expect(helpText.textContent).to.contain('Enter your code');
|
|
70
70
|
});
|
|
71
71
|
it('renders error message when provided', async () => {
|
|
72
|
-
const el = await fixture(html `<nile-otp-input
|
|
72
|
+
const el = await fixture(html `<nile-otp-input .errorMessage=${'Invalid code'}></nile-otp-input>`);
|
|
73
73
|
const errorMsg = el.shadowRoot.querySelector('.form-control__error-message');
|
|
74
74
|
expect(errorMsg).to.exist;
|
|
75
75
|
expect(errorMsg.textContent).to.contain('Invalid code');
|
|
76
76
|
});
|
|
77
77
|
it('renders separators with separator-every', async () => {
|
|
78
78
|
const el = await fixture(html `
|
|
79
|
-
<nile-otp-input separator="-"
|
|
79
|
+
<nile-otp-input separator="-" .separatorEvery=${3}></nile-otp-input>
|
|
80
80
|
`);
|
|
81
81
|
const separators = el.shadowRoot.querySelectorAll('.otp__separator');
|
|
82
82
|
expect(separators.length).to.equal(1);
|
|
@@ -207,7 +207,7 @@ describe('NileOtpInput', () => {
|
|
|
207
207
|
cells[1].focus();
|
|
208
208
|
await pressKey(el, 1, 'Delete');
|
|
209
209
|
await aTimeout(0);
|
|
210
|
-
expect(
|
|
210
|
+
expect(el.value).to.equal('13');
|
|
211
211
|
expect(el.shadowRoot.activeElement).to.equal(cells[1]);
|
|
212
212
|
});
|
|
213
213
|
it('ArrowLeft moves focus back', async () => {
|
|
@@ -474,10 +474,10 @@ describe('NileOtpInput', () => {
|
|
|
474
474
|
const el = await fixture(html `
|
|
475
475
|
<nile-otp-input
|
|
476
476
|
label="Test"
|
|
477
|
-
|
|
478
|
-
|
|
477
|
+
.helpText=${'Help'}
|
|
478
|
+
.errorMessage=${'Error'}
|
|
479
479
|
separator="-"
|
|
480
|
-
|
|
480
|
+
.separatorEvery=${3}
|
|
481
481
|
></nile-otp-input>
|
|
482
482
|
`);
|
|
483
483
|
expect(el.shadowRoot.querySelector('[part="form-control"]')).to.exist;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-otp-input.test.js","sourceRoot":"","sources":["../../../src/nile-otp-input/nile-otp-input.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { aTimeout, expect, fixture, html } from '@open-wc/testing';\nimport './nile-otp-input';\nimport type { NileOtpInput } from './nile-otp-input';\n\nconst getCells = (el: NileOtpInput) =>\n Array.from(el.shadowRoot!.querySelectorAll<HTMLInputElement>('.otp__cell'));\n\nconst inputCell = async (el: NileOtpInput, index: number, value: string) => {\n const cell = getCells(el)[index];\n cell.value = value;\n cell.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n return cell;\n};\n\nconst pressKey = async (\n el: NileOtpInput,\n index: number,\n key: string,\n opts: Partial<KeyboardEventInit> = {}\n) => {\n const cell = getCells(el)[index];\n cell.dispatchEvent(\n new KeyboardEvent('keydown', {\n key,\n bubbles: true,\n composed: true,\n cancelable: true,\n ...opts,\n })\n );\n await el.updateComplete;\n return cell;\n};\n\nconst pasteInto = async (el: NileOtpInput, index: number, text: string) => {\n const cell = getCells(el)[index];\n const event = new Event('paste', {\n bubbles: true,\n composed: true,\n cancelable: true,\n }) as ClipboardEvent;\n Object.defineProperty(event, 'clipboardData', {\n value: { getData: () => text },\n });\n cell.dispatchEvent(event);\n await el.updateComplete;\n};\n\ndescribe('NileOtpInput', () => {\n // ---- Rendering ----\n\n it('renders default 6 cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n expect(el).to.exist;\n expect(getCells(el).length).to.equal(6);\n });\n\n it('normalizes incoming value (strips non-numeric in numeric mode)', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12A34B\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.value).to.equal('1234');\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '1', '2', '3', '4', '', '',\n ]);\n });\n\n it('supports configurable length and clamps below 4', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"8\"></nile-otp-input>`\n );\n expect(getCells(el).length).to.equal(8);\n\n el.length = 2;\n await el.updateComplete;\n expect(el.length).to.equal(4);\n expect(getCells(el).length).to.equal(4);\n });\n\n it('renders label when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input label=\"Verification code\"></nile-otp-input>`\n );\n const label = el.shadowRoot!.querySelector('.form-control__label');\n expect(label).to.exist;\n expect(label!.textContent).to.contain('Verification code');\n });\n\n it('renders help text when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input help-text=\"Enter your code\"></nile-otp-input>`\n );\n const helpText = el.shadowRoot!.querySelector('.form-control__help-text');\n expect(helpText).to.exist;\n expect(helpText!.textContent).to.contain('Enter your code');\n });\n\n it('renders error message when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input error-message=\"Invalid code\"></nile-otp-input>`\n );\n const errorMsg = el.shadowRoot!.querySelector('.form-control__error-message');\n expect(errorMsg).to.exist;\n expect(errorMsg!.textContent).to.contain('Invalid code');\n });\n\n it('renders separators with separator-every', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input separator=\"-\" separator-every=\"3\"></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(1);\n expect(separators[0].textContent!.trim()).to.equal('-');\n });\n\n it('renders separators from separator-positions', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n length=\"8\"\n separator=\"/\"\n separator-positions=\"1, 3, 5\"\n ></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(3);\n separators.forEach(s =>\n expect(s.textContent!.trim()).to.equal('/')\n );\n });\n\n // ---- Input behavior ----\n\n it('auto-advances focus to next empty cell after typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await inputCell(el, 0, '1');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('typing a character on a filled cell replaces it and advances', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await el.updateComplete;\n await pressKey(el, 2, '9');\n await aTimeout(0);\n\n expect(el.value[2]).to.equal('9');\n });\n\n it('blocks invalid characters in numeric mode', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const first = getCells(el)[0];\n first.focus();\n\n const event = new KeyboardEvent('keydown', {\n key: 'A',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n first.dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n it('allows alphanumeric values when alphanumeric attribute is set', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'A');\n expect(el.value).to.equal('A');\n });\n\n it('alphanumeric overrides numeric-only', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input numeric-only alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'B');\n expect(el.value).to.equal('B');\n });\n\n it('supports controlled value updates', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n el.value = '2468';\n await el.updateComplete;\n\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '2', '4', '6', '8', '', '',\n ]);\n });\n\n // ---- Focus management (ShadCN style) ----\n\n it('focus() targets the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n el.focus();\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking an empty cell beyond the cursor redirects to first empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[5].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking a filled cell focuses it directly', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n // ---- Keyboard navigation ----\n\n it('Backspace clears current cell and retreats', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('12');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Backspace on empty cell clears previous and moves there', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(cells[1].value).to.equal('');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Delete clears current cell without moving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'Delete');\n await aTimeout(0);\n\n expect(cells[1].value).to.equal('');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowLeft moves focus back', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'ArrowLeft');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowRight cannot move past the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n\n await pressKey(el, 2, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('Home goes to first cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Home');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[0]);\n });\n\n it('End goes to first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[0].focus();\n await pressKey(el, 0, 'End');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[3]);\n });\n\n it('Space is blocked', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n\n const event = new KeyboardEvent('keydown', {\n key: ' ',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n cells[0].dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n // ---- Paste ----\n\n it('paste fills from position 0 and focuses next empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n await pasteInto(el, 3, '987654');\n\n expect(el.value).to.equal('987654');\n expect(getCells(el).map(c => c.value).join('')).to.equal('987654');\n });\n\n it('paste emits nile-paste event', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let pasteValue = '';\n\n el.addEventListener('nile-paste', (e: Event) => {\n pasteValue = (e as CustomEvent).detail.value;\n });\n\n await pasteInto(el, 0, '123456');\n\n expect(pasteValue).to.equal('123456');\n });\n\n it('paste is ignored when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n\n await pasteInto(el, 0, '123456');\n\n expect(el.value).to.equal('');\n });\n\n // ---- Visual states ----\n\n it('applies warning class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input warning></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--warning')).to.be.true;\n });\n\n it('applies error class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input error></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--error')).to.be.true;\n });\n\n it('applies success class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input success></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--success')).to.be.true;\n });\n\n it('applies disabled class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--disabled')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n expect(first.value).to.equal('');\n });\n\n it('applies readonly class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input readonly value=\"123456\"></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--readonly')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n // ---- Masked ----\n\n it('masked cells use type=\"password\" for filled non-active cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n expect(cells[0].type).to.equal('password');\n expect(cells[1].type).to.equal('password');\n expect(cells[2].type).to.equal('text');\n });\n\n it('active masked cell shows text while typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await el.updateComplete;\n\n expect(cells[1].type).to.equal('text');\n expect(cells[0].type).to.equal('password');\n });\n\n it('unmasked cells are always type=\"text\"', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells.forEach(c => expect(c.type).to.equal('text'));\n });\n\n // ---- Events ----\n\n it('emits nile-input and nile-change with value detail', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let inputDetail: any;\n let changeDetail: any;\n\n el.addEventListener('nile-input', (e: Event) => {\n inputDetail = (e as CustomEvent).detail;\n });\n el.addEventListener('nile-change', (e: Event) => {\n changeDetail = (e as CustomEvent).detail;\n });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n await pressKey(el, 0, '7');\n\n expect(inputDetail.value).to.equal('7');\n expect(inputDetail.complete).to.be.false;\n expect(changeDetail.value).to.equal('7');\n });\n\n it('emits nile-complete when all cells are filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"4\" value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n let completedValue = '';\n\n el.addEventListener('nile-complete', (e: Event) => {\n completedValue = (e as CustomEvent).detail.value;\n });\n\n const cells = getCells(el);\n cells[3].focus();\n await el.updateComplete;\n await pressKey(el, 3, '4');\n\n expect(completedValue).to.equal('1234');\n });\n\n it('emits nile-focus when entering and nile-blur when leaving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let focused = false;\n let blurred = false;\n\n el.addEventListener('nile-focus', () => { focused = true; });\n el.addEventListener('nile-blur', () => { blurred = true; });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n expect(focused).to.be.true;\n\n getCells(el)[0].blur();\n await aTimeout(50);\n expect(blurred).to.be.true;\n });\n\n // ---- Public methods ----\n\n it('clear() empties all cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n getCells(el).forEach(c => expect(c.value).to.equal(''));\n });\n\n it('clear() is blocked when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n it('complete getter returns true when all cells filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.true;\n });\n\n it('complete getter returns false when cells are empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.false;\n });\n\n // ---- Validation ----\n\n it('validates required and exact length using checkValidity', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input required></nile-otp-input>`\n );\n el.value = '12';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('supports custom validity messaging', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n el.setCustomValidity('Invalid OTP');\n await el.updateComplete;\n\n expect(el.checkValidity()).to.be.false;\n expect(el.validationMessage).to.equal('Invalid OTP');\n\n el.setCustomValidity('');\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('validates against custom pattern', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input pattern=\"[0-9]{6}\" value=\"1234\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n // ---- Form integration ----\n\n it('participates in form data submission', async () => {\n const form = await fixture<HTMLFormElement>(html`\n <form id=\"otp-form\">\n <nile-otp-input name=\"otp\" value=\"321654\"></nile-otp-input>\n </form>\n `);\n const data = new FormData(form);\n\n expect(data.get('otp')).to.equal('321654');\n });\n\n // ---- Placeholder ----\n\n it('shows no placeholder by default', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input value=\"12\"></nile-otp-input>\n `);\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders).to.deep.equal([null, null, null, null, null, null]);\n });\n\n it('moves custom placeholder to active cell on focus', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input placeholder=\"0\"></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await el.updateComplete;\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders[0]).to.equal('0');\n expect(placeholders.slice(1).every(p => p === null)).to.be.true;\n });\n\n // ---- CSS parts ----\n\n it('exposes all required CSS parts', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n label=\"Test\"\n help-text=\"Help\"\n error-message=\"Error\"\n separator=\"-\"\n separator-every=\"3\"\n ></nile-otp-input>\n `);\n\n expect(el.shadowRoot!.querySelector('[part=\"form-control\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-label\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-input\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"base\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"cell\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"separator\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-help-text\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-error-message\"]')).to.exist;\n });\n});\n"]}
|
|
1
|
+
{"version":3,"file":"nile-otp-input.test.js","sourceRoot":"","sources":["../../../src/nile-otp-input/nile-otp-input.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { aTimeout, expect, fixture, html } from '@open-wc/testing';\nimport './nile-otp-input';\nimport type { NileOtpInput } from './nile-otp-input';\n\nconst getCells = (el: NileOtpInput) =>\n Array.from(el.shadowRoot!.querySelectorAll<HTMLInputElement>('.otp__cell'));\n\nconst inputCell = async (el: NileOtpInput, index: number, value: string) => {\n const cell = getCells(el)[index];\n cell.value = value;\n cell.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n return cell;\n};\n\nconst pressKey = async (\n el: NileOtpInput,\n index: number,\n key: string,\n opts: Partial<KeyboardEventInit> = {}\n) => {\n const cell = getCells(el)[index];\n cell.dispatchEvent(\n new KeyboardEvent('keydown', {\n key,\n bubbles: true,\n composed: true,\n cancelable: true,\n ...opts,\n })\n );\n await el.updateComplete;\n return cell;\n};\n\nconst pasteInto = async (el: NileOtpInput, index: number, text: string) => {\n const cell = getCells(el)[index];\n const event = new Event('paste', {\n bubbles: true,\n composed: true,\n cancelable: true,\n }) as ClipboardEvent;\n Object.defineProperty(event, 'clipboardData', {\n value: { getData: () => text },\n });\n cell.dispatchEvent(event);\n await el.updateComplete;\n};\n\ndescribe('NileOtpInput', () => {\n // ---- Rendering ----\n\n it('renders default 6 cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n expect(el).to.exist;\n expect(getCells(el).length).to.equal(6);\n });\n\n it('normalizes incoming value (strips non-numeric in numeric mode)', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12A34B\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.value).to.equal('1234');\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '1', '2', '3', '4', '', '',\n ]);\n });\n\n it('supports configurable length and clamps below 4', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"8\"></nile-otp-input>`\n );\n expect(getCells(el).length).to.equal(8);\n\n el.length = 2;\n await el.updateComplete;\n expect(el.length).to.equal(4);\n expect(getCells(el).length).to.equal(4);\n });\n\n it('renders label when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input label=\"Verification code\"></nile-otp-input>`\n );\n const label = el.shadowRoot!.querySelector('.form-control__label');\n expect(label).to.exist;\n expect(label!.textContent).to.contain('Verification code');\n });\n\n it('renders help text when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input .helpText=${'Enter your code'}></nile-otp-input>`\n );\n const helpText = el.shadowRoot!.querySelector('.form-control__help-text');\n expect(helpText).to.exist;\n expect(helpText!.textContent).to.contain('Enter your code');\n });\n\n it('renders error message when provided', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input .errorMessage=${'Invalid code'}></nile-otp-input>`\n );\n const errorMsg = el.shadowRoot!.querySelector('.form-control__error-message');\n expect(errorMsg).to.exist;\n expect(errorMsg!.textContent).to.contain('Invalid code');\n });\n\n it('renders separators with separator-every', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input separator=\"-\" .separatorEvery=${3}></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(1);\n expect(separators[0].textContent!.trim()).to.equal('-');\n });\n\n it('renders separators from separator-positions', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n length=\"8\"\n separator=\"/\"\n separator-positions=\"1, 3, 5\"\n ></nile-otp-input>\n `);\n const separators = el.shadowRoot!.querySelectorAll('.otp__separator');\n expect(separators.length).to.equal(3);\n separators.forEach(s =>\n expect(s.textContent!.trim()).to.equal('/')\n );\n });\n\n // ---- Input behavior ----\n\n it('auto-advances focus to next empty cell after typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await inputCell(el, 0, '1');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('typing a character on a filled cell replaces it and advances', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await el.updateComplete;\n await pressKey(el, 2, '9');\n await aTimeout(0);\n\n expect(el.value[2]).to.equal('9');\n });\n\n it('blocks invalid characters in numeric mode', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const first = getCells(el)[0];\n first.focus();\n\n const event = new KeyboardEvent('keydown', {\n key: 'A',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n first.dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n it('allows alphanumeric values when alphanumeric attribute is set', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'A');\n expect(el.value).to.equal('A');\n });\n\n it('alphanumeric overrides numeric-only', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input numeric-only alphanumeric></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n await el.updateComplete;\n\n await pressKey(el, 0, 'B');\n expect(el.value).to.equal('B');\n });\n\n it('supports controlled value updates', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n el.value = '2468';\n await el.updateComplete;\n\n expect(getCells(el).map(c => c.value)).to.deep.equal([\n '2', '4', '6', '8', '', '',\n ]);\n });\n\n // ---- Focus management (ShadCN style) ----\n\n it('focus() targets the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n el.focus();\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking an empty cell beyond the cursor redirects to first empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[5].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('clicking a filled cell focuses it directly', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await aTimeout(0);\n await el.updateComplete;\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n // ---- Keyboard navigation ----\n\n it('Backspace clears current cell and retreats', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('12');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Backspace on empty cell clears previous and moves there', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Backspace');\n await aTimeout(0);\n\n expect(el.value).to.equal('1');\n expect(cells[1].value).to.equal('');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('Delete clears current cell without moving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'Delete');\n await aTimeout(0);\n\n expect(el.value).to.equal('13');\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowLeft moves focus back', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'ArrowLeft');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[1]);\n });\n\n it('ArrowRight cannot move past the first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await pressKey(el, 1, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n\n await pressKey(el, 2, 'ArrowRight');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[2]);\n });\n\n it('Home goes to first cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[2].focus();\n await pressKey(el, 2, 'Home');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[0]);\n });\n\n it('End goes to first empty cell', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[0].focus();\n await pressKey(el, 0, 'End');\n await aTimeout(0);\n\n expect(el.shadowRoot!.activeElement).to.equal(cells[3]);\n });\n\n it('Space is blocked', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n const cells = getCells(el);\n cells[0].focus();\n\n const event = new KeyboardEvent('keydown', {\n key: ' ',\n bubbles: true,\n composed: true,\n cancelable: true,\n });\n cells[0].dispatchEvent(event);\n\n expect(event.defaultPrevented).to.be.true;\n });\n\n // ---- Paste ----\n\n it('paste fills from position 0 and focuses next empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n\n await pasteInto(el, 3, '987654');\n\n expect(el.value).to.equal('987654');\n expect(getCells(el).map(c => c.value).join('')).to.equal('987654');\n });\n\n it('paste emits nile-paste event', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let pasteValue = '';\n\n el.addEventListener('nile-paste', (e: Event) => {\n pasteValue = (e as CustomEvent).detail.value;\n });\n\n await pasteInto(el, 0, '123456');\n\n expect(pasteValue).to.equal('123456');\n });\n\n it('paste is ignored when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n\n await pasteInto(el, 0, '123456');\n\n expect(el.value).to.equal('');\n });\n\n // ---- Visual states ----\n\n it('applies warning class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input warning></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--warning')).to.be.true;\n });\n\n it('applies error class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input error></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--error')).to.be.true;\n });\n\n it('applies success class', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input success></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--success')).to.be.true;\n });\n\n it('applies disabled class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--disabled')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n expect(first.value).to.equal('');\n });\n\n it('applies readonly class and blocks input', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input readonly value=\"123456\"></nile-otp-input>`\n );\n const base = el.shadowRoot!.querySelector('.otp');\n expect(base!.classList.contains('otp--readonly')).to.be.true;\n\n const first = getCells(el)[0];\n first.value = '9';\n first.dispatchEvent(new Event('input', { bubbles: true, composed: true }));\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n // ---- Masked ----\n\n it('masked cells use type=\"password\" for filled non-active cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n expect(cells[0].type).to.equal('password');\n expect(cells[1].type).to.equal('password');\n expect(cells[2].type).to.equal('text');\n });\n\n it('active masked cell shows text while typing', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input masked value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells[1].focus();\n await el.updateComplete;\n\n expect(cells[1].type).to.equal('text');\n expect(cells[0].type).to.equal('password');\n });\n\n it('unmasked cells are always type=\"text\"', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n const cells = getCells(el);\n\n cells.forEach(c => expect(c.type).to.equal('text'));\n });\n\n // ---- Events ----\n\n it('emits nile-input and nile-change with value detail', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let inputDetail: any;\n let changeDetail: any;\n\n el.addEventListener('nile-input', (e: Event) => {\n inputDetail = (e as CustomEvent).detail;\n });\n el.addEventListener('nile-change', (e: Event) => {\n changeDetail = (e as CustomEvent).detail;\n });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n await pressKey(el, 0, '7');\n\n expect(inputDetail.value).to.equal('7');\n expect(inputDetail.complete).to.be.false;\n expect(changeDetail.value).to.equal('7');\n });\n\n it('emits nile-complete when all cells are filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input length=\"4\" value=\"123\"></nile-otp-input>`\n );\n await el.updateComplete;\n let completedValue = '';\n\n el.addEventListener('nile-complete', (e: Event) => {\n completedValue = (e as CustomEvent).detail.value;\n });\n\n const cells = getCells(el);\n cells[3].focus();\n await el.updateComplete;\n await pressKey(el, 3, '4');\n\n expect(completedValue).to.equal('1234');\n });\n\n it('emits nile-focus when entering and nile-blur when leaving', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input></nile-otp-input>`\n );\n let focused = false;\n let blurred = false;\n\n el.addEventListener('nile-focus', () => { focused = true; });\n el.addEventListener('nile-blur', () => { blurred = true; });\n\n getCells(el)[0].focus();\n await el.updateComplete;\n expect(focused).to.be.true;\n\n getCells(el)[0].blur();\n await aTimeout(50);\n expect(blurred).to.be.true;\n });\n\n // ---- Public methods ----\n\n it('clear() empties all cells', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('');\n getCells(el).forEach(c => expect(c.value).to.equal(''));\n });\n\n it('clear() is blocked when disabled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input disabled value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n\n el.clear();\n await el.updateComplete;\n\n expect(el.value).to.equal('123456');\n });\n\n it('complete getter returns true when all cells filled', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.true;\n });\n\n it('complete getter returns false when cells are empty', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"12\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.complete).to.be.false;\n });\n\n // ---- Validation ----\n\n it('validates required and exact length using checkValidity', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input required></nile-otp-input>`\n );\n el.value = '12';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('supports custom validity messaging', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input value=\"123456\"></nile-otp-input>`\n );\n el.setCustomValidity('Invalid OTP');\n await el.updateComplete;\n\n expect(el.checkValidity()).to.be.false;\n expect(el.validationMessage).to.equal('Invalid OTP');\n\n el.setCustomValidity('');\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n it('validates against custom pattern', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input pattern=\"[0-9]{6}\" value=\"1234\"></nile-otp-input>`\n );\n await el.updateComplete;\n expect(el.checkValidity()).to.be.false;\n\n el.value = '123456';\n await el.updateComplete;\n expect(el.checkValidity()).to.be.true;\n });\n\n // ---- Form integration ----\n\n it('participates in form data submission', async () => {\n const form = await fixture<HTMLFormElement>(html`\n <form id=\"otp-form\">\n <nile-otp-input name=\"otp\" value=\"321654\"></nile-otp-input>\n </form>\n `);\n const data = new FormData(form);\n\n expect(data.get('otp')).to.equal('321654');\n });\n\n // ---- Placeholder ----\n\n it('shows no placeholder by default', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input value=\"12\"></nile-otp-input>\n `);\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders).to.deep.equal([null, null, null, null, null, null]);\n });\n\n it('moves custom placeholder to active cell on focus', async () => {\n const el = await fixture<NileOtpInput>(\n html`<nile-otp-input placeholder=\"0\"></nile-otp-input>`\n );\n const cells = getCells(el);\n\n cells[0].focus();\n await el.updateComplete;\n\n const placeholders = getCells(el).map(c => c.getAttribute('placeholder'));\n expect(placeholders[0]).to.equal('0');\n expect(placeholders.slice(1).every(p => p === null)).to.be.true;\n });\n\n // ---- CSS parts ----\n\n it('exposes all required CSS parts', async () => {\n const el = await fixture<NileOtpInput>(html`\n <nile-otp-input\n label=\"Test\"\n .helpText=${'Help'}\n .errorMessage=${'Error'}\n separator=\"-\"\n .separatorEvery=${3}\n ></nile-otp-input>\n `);\n\n expect(el.shadowRoot!.querySelector('[part=\"form-control\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-label\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-input\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"base\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"cell\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"separator\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-help-text\"]')).to.exist;\n expect(el.shadowRoot!.querySelector('[part=\"form-control-error-message\"]')).to.exist;\n });\n});\n"]}
|
|
@@ -21,6 +21,13 @@ export const styles = css `
|
|
|
21
21
|
pointer-events: none;
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
+
:host([disabled]) .range-text,
|
|
25
|
+
:host([disabled]) .page-size-label,
|
|
26
|
+
:host([disabled]) .mini-showing-label,
|
|
27
|
+
:host([disabled]) .mini-of-label {
|
|
28
|
+
color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));
|
|
29
|
+
}
|
|
30
|
+
|
|
24
31
|
.pagination-wrapper {
|
|
25
32
|
display: flex;
|
|
26
33
|
align-items: center;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6WxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n :host([disabled]) {\n cursor: not-allowed;\n }\n\n :host([disabled]) .pagination-wrapper,\n :host([disabled]) .pagination-wrapper.mini {\n pointer-events: none;\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) ;\n }\n\n \n .pagination-wrapper.mini .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n margin-right: var(--nile-spacing-spacing-xl, var(--ng-spacing-xl)); \n }\n\n .pagination-wrapper.mini .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var( --ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n }\n\n .pagination-wrapper.mini {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg));\n }\n\n .mini-showing-label,\n .mini-of-label {\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n white-space: nowrap;\n line-height: 32px;\n }\n\n .mini-page-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .mini-scroll-wrapper {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n nile-button.mini-page-btn::part(base) {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n box-shadow: none ;\n background: transparent ;\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n }\n\n nile-button.mini-page-btn::part(base):hover,\n nile-button.mini-page-btn::part(base):active {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n background: transparent ;\n }\n\n .mini-page-dropdown {\n display: inline-flex;\n align-items: center;\n }\n\n nile-button.mini-prev-button::part(base),\n nile-button.mini-next-button::part(base) {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):hover,\n nile-button.mini-next-button::part(base):hover {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):active,\n nile-button.mini-next-button::part(base):active {\n border: none ;\n }\n\n .mini-page-dropdown .chevron {\n transition: transform 0.2s;\n }\n\n .mini-page-dropdown .mini-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .mini-nav {\n display: inline-flex;\n align-items: center;\n margin-left: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .mini-pagination {\n display: inline-flex;\n align-items: center;\n gap: 0;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n \n .pagination-wrapper.compact {\n min-width: 324px;\n justify-content: space-between;\n }\n\n\n\n.pagination-wrapper.compact .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n white-space: nowrap;\n}\n\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .pagination-wrapper.compact .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n }\n\n .pagination-wrapper.compact .page-size-dropdown ::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0 6px;\n }\n\n .pagination-wrapper.compact .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n\n .pagination-wrapper.compact ul.pagination:not(.compact-pagination) {\n display: none;\n }\n\n .compact-pagination {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .page-dropdown .current-page-btn {\n padding: 2px;\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n }\n\n nile-button.current-page-btn::part(base){\n min-width: 51px;\n }\n\n nile-button.current-page-btn::part(base):active {\n min-width: 51px;\n}\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl, var(--ng-spacing-3xl));\n }\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) ;\n}\n\n .range-text {\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-900,var( --ng-colors-text-primary-900) );\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n gap: var(--nile-radius-radius-xxs, var(--ng-radius-xxs));\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n .down-scroll-wrapper {\n max-height: 150px;\n overflow-y: auto;\n width: 60px;\n }\n\n\n .compact-scroll-wrapper {\n max-height: 160px;\n overflow-y: auto;\n width: 60px;\n }\n .compact-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .page-size-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .compact-scroll-wrapper1 {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n.pagination-wrapper.fluid ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n}\n.pagination-wrapper.fluid ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .page-size-label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-primary-500));\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular)); \n }\n\n nile-button::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n \n nile-button.down::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n nile-button.down::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n\n nile-button.current-page-btn::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary)); \n }\n\n nile-button.current-page-btn::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n \n nile-button::part(base):active {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n border: none;\n }\n\n nile-button.down::part(base) {\n min-width: 62px;\n }\n\n nile-button.compactbtn:part(base){\n background-color: red;\n }\n .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n \n .pagination-wrapper.compact .compact-dropdown .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .compact-dropdown .down.open .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .current-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .prev-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n .next-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n`;\n\nexport default [styles];\n"]}
|
|
1
|
+
{"version":3,"file":"nile-pagination.css.js","sourceRoot":"","sources":["../../../src/nile-pagination/nile-pagination.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoXxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { css } from 'lit';\n\n/**\n * Pagination CSS\n */\nexport const styles = css`\n :host {\n }\n\n :host([disabled]) {\n cursor: not-allowed;\n }\n\n :host([disabled]) .pagination-wrapper,\n :host([disabled]) .pagination-wrapper.mini {\n pointer-events: none;\n }\n\n :host([disabled]) .range-text,\n :host([disabled]) .page-size-label,\n :host([disabled]) .mini-showing-label,\n :host([disabled]) .mini-of-label {\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));\n }\n\n .pagination-wrapper {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) ;\n }\n\n \n .pagination-wrapper.mini .pager-container {\n flex-direction: row;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n margin-right: var(--nile-spacing-spacing-xl, var(--ng-spacing-xl)); \n }\n\n .pagination-wrapper.mini .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var( --ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n }\n\n .pagination-wrapper.mini {\n display: inline-flex;\n align-items: center;\n gap: 2px;\n padding: var(--nile-spacing-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-spacing-lg, var(--ng-spacing-lg));\n }\n\n .mini-showing-label,\n .mini-of-label {\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n white-space: nowrap;\n line-height: 32px;\n }\n\n .mini-page-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .mini-scroll-wrapper {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n nile-button.mini-page-btn::part(base) {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n box-shadow: none ;\n background: transparent ;\n font-family: var(--nile-font-family-medium, var(--ng-font-family-body));\n font-size: var(--nile-font-size-small, var(--ng-font-size-text-xs));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n }\n\n nile-button.mini-page-btn::part(base):hover,\n nile-button.mini-page-btn::part(base):active {\n min-width: auto;\n height: 10px;\n padding: 0px 4px;\n gap: 2px;\n border: none ;\n background: transparent ;\n }\n\n .mini-page-dropdown {\n display: inline-flex;\n align-items: center;\n }\n\n nile-button.mini-prev-button::part(base),\n nile-button.mini-next-button::part(base) {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):hover,\n nile-button.mini-next-button::part(base):hover {\n border: none ;\n }\n\n nile-button.mini-prev-button::part(base):active,\n nile-button.mini-next-button::part(base):active {\n border: none ;\n }\n\n .mini-page-dropdown .chevron {\n transition: transform 0.2s;\n }\n\n .mini-page-dropdown .mini-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .mini-nav {\n display: inline-flex;\n align-items: center;\n margin-left: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .mini-pagination {\n display: inline-flex;\n align-items: center;\n gap: 0;\n list-style: none;\n margin: 0;\n padding: 0;\n }\n\n \n .pagination-wrapper.compact {\n min-width: 324px;\n justify-content: space-between;\n }\n\n\n\n.pagination-wrapper.compact .range-text {\n margin-right: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n white-space: nowrap;\n}\n\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .pagination-wrapper.compact .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n }\n\n .pagination-wrapper.compact .page-size-dropdown ::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0 6px;\n }\n\n .pagination-wrapper.compact .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n\n .pagination-wrapper.compact ul.pagination:not(.compact-pagination) {\n display: none;\n }\n\n .compact-pagination {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n list-style: none;\n margin: 0;\n padding: 0;\n }\n .page-dropdown .current-page-btn {\n padding: 2px;\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n }\n\n nile-button.current-page-btn::part(base){\n min-width: 51px;\n }\n\n nile-button.current-page-btn::part(base):active {\n min-width: 51px;\n}\n\n .pager-container {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-spacing-3xl, var(--ng-spacing-3xl));\n }\n\n.pagination-wrapper.compact .pager-container {\n gap: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) ;\n}\n\n .range-text {\n font-size: var(--nile-font-size-small, var(--ng-font-weight-regular));\n color: var(--nile-colors-dark-900,var( --ng-colors-text-primary-900) );\n white-space: nowrap;\n }\n\n .page-size-select {\n display: inline-flex;\n align-items: center;\n }\n\n ul.pagination {\n display: flex;\n list-style: none;\n padding: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n gap: var(--nile-radius-radius-xxs, var(--ng-radius-xxs));\n }\n\n ul.pagination li {\n margin: var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n }\n\n .ellipsis-scroll-wrapper {\n max-height: 194px;\n overflow-y: auto;\n width: 66px;\n }\n .down-scroll-wrapper {\n max-height: 150px;\n overflow-y: auto;\n width: 60px;\n }\n\n\n .compact-scroll-wrapper {\n max-height: 160px;\n overflow-y: auto;\n width: 60px;\n }\n .compact-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .page-size-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .compact-scroll-wrapper1 {\n max-height: 164px;\n overflow-y: auto;\n width: 60px;\n }\n\n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n \n .compact-dropdown1 nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n\n .ellipsis-dropdown nile-menu {\n overflow-y: auto;\n padding: var(--nile-spacing-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-spacing-none, var(--ng-spacing-none));\n box-shadow: 0px 4px 8px 0px rgba(119, 125, 130, 0.15);\n }\n\n .page-size-menu {\n max-height: 144px;\n overflow-y: auto;\n }\n\n.pagination-wrapper.fluid ul.pagination li:first-child {\n margin-right: var(--nile-spacing-spacing-xs, var(--ng-spacing-xs));\n}\n.pagination-wrapper.fluid ul.pagination li:last-child {\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n}\n\n\n .page-size-label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-500, var(--ng-colors-text-primary-500));\n margin-left: var(--nile-spacing-spacing-md, var(--ng-spacing-md));\n font-feature-settings: 'liga' off, 'clig' off;\n font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular)); \n }\n\n nile-button::part(base) {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n }\n \n nile-button.down::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n nile-button.down::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n\n nile-button.current-page-btn::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary)); \n }\n\n nile-button.current-page-btn::part(base):active {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n \n nile-button::part(base):active {\n min-width: 32px;\n height: 32px;\n padding: 0px 6px;\n box-shadow: none;\n border: none;\n }\n\n nile-button.down::part(base) {\n min-width: 62px;\n }\n\n nile-button.compactbtn:part(base){\n background-color: red;\n }\n .page-size-dropdown .chevron {\n transition: transform 0.2s;\n }\n .page-size-dropdown .open .chevron {\n transform: rotate(180deg);\n }\n \n .pagination-wrapper.compact .compact-dropdown .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .chevron {\n transition: transform 0.2s;\n }\n .pagination-wrapper.compact .compact-dropdown .down.open .chevron,\n .pagination-wrapper.compact .compact-dropdown1 .current-page-btn.open .chevron {\n transform: rotate(180deg);\n }\n\n .prev-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n .next-button::part(base) {\n border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));\n }\n\n`;\n\nexport default [styles];\n"]}
|