@aquera/nile-elements 0.0.81 → 0.0.84
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 +19 -0
- package/demo/filenames.txt +1 -1
- package/demo/index.css +117 -0
- package/demo/index.html +34 -243
- package/demo/index.js +72 -0
- package/demo/variables.css +58 -0
- package/demo/variables_v2.css +51 -0
- package/dist/{fixture-b1476eef.cjs.js → fixture-1a9fb5f1.cjs.js} +5 -5
- package/dist/fixture-1a9fb5f1.cjs.js.map +1 -0
- package/dist/{fixture-6f853cbd.esm.js → fixture-81e5a936.esm.js} +3 -3
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.iife.js +892 -570
- package/dist/internal/animate.cjs.js +1 -1
- package/dist/internal/animate.cjs.js.map +1 -1
- package/dist/internal/animate.esm.js +1 -1
- package/dist/nile-avatar/nile-avatar.css.cjs.js +1 -1
- package/dist/nile-avatar/nile-avatar.css.cjs.js.map +1 -1
- package/dist/nile-avatar/nile-avatar.css.esm.js +7 -8
- package/dist/nile-avatar/nile-avatar.test.cjs.js +2 -0
- package/dist/nile-avatar/nile-avatar.test.cjs.js.map +1 -0
- package/dist/nile-avatar/nile-avatar.test.esm.js +1 -0
- 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.css.cjs.js +1 -1
- package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
- package/dist/nile-badge/nile-badge.css.esm.js +47 -47
- package/dist/nile-badge/nile-badge.esm.js +1 -1
- package/dist/nile-badge/nile-badge.test.cjs.js +2 -0
- package/dist/nile-badge/nile-badge.test.cjs.js.map +1 -0
- package/dist/nile-badge/nile-badge.test.esm.js +1 -0
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js.map +1 -1
- package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +3 -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/nile-button.test.cjs.js +2 -0
- package/dist/nile-button/nile-button.test.cjs.js.map +1 -0
- package/dist/nile-button/nile-button.test.esm.js +4 -0
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js +2 -0
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.cjs.js.map +1 -0
- package/dist/nile-button-toggle-group/nile-button-toggle-group.test.esm.js +49 -0
- 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.css.cjs.js +1 -1
- package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
- package/dist/nile-calendar/nile-calendar.css.esm.js +124 -193
- package/dist/nile-calendar/nile-calendar.esm.js +119 -135
- package/dist/nile-card/nile-card.test.cjs.js +2 -0
- package/dist/nile-card/nile-card.test.cjs.js.map +1 -0
- package/dist/nile-card/nile-card.test.esm.js +51 -0
- package/dist/nile-checkbox/nile-checkbox.test.cjs.js +1 -1
- package/dist/nile-checkbox/nile-checkbox.test.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 +4 -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.css.cjs.js +1 -1
- package/dist/nile-dialog/nile-dialog.css.cjs.js.map +1 -1
- package/dist/nile-dialog/nile-dialog.css.esm.js +4 -1
- package/dist/nile-dialog/nile-dialog.esm.js +5 -4
- package/dist/nile-divider/index.cjs.js +2 -0
- package/dist/nile-divider/index.cjs.js.map +1 -0
- package/dist/nile-divider/index.esm.js +1 -0
- package/dist/nile-divider/nile-divider.cjs.js +2 -0
- package/dist/nile-divider/nile-divider.cjs.js.map +1 -0
- package/dist/nile-divider/nile-divider.css.cjs.js +2 -0
- package/dist/nile-divider/nile-divider.css.cjs.js.map +1 -0
- package/dist/nile-divider/nile-divider.css.esm.js +28 -0
- package/dist/nile-divider/nile-divider.esm.js +3 -0
- 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-drawer/nile-drawer.test.cjs.js +2 -0
- package/dist/nile-drawer/nile-drawer.test.cjs.js.map +1 -0
- package/dist/nile-drawer/nile-drawer.test.esm.js +18 -0
- package/dist/nile-empty-state/nile-empty-state.test.cjs.js +1 -1
- package/dist/nile-empty-state/nile-empty-state.test.esm.js +1 -1
- package/dist/nile-error-message/nile-error-message.test.cjs.js +2 -0
- package/dist/nile-error-message/nile-error-message.test.cjs.js.map +1 -0
- package/dist/nile-error-message/nile-error-message.test.esm.js +1 -0
- package/dist/nile-form-group/nile-form-group.test.cjs.js +2 -0
- package/dist/nile-form-group/nile-form-group.test.cjs.js.map +1 -0
- package/dist/nile-form-group/nile-form-group.test.esm.js +1 -0
- package/dist/nile-hero/nile-hero.test.cjs.js +1 -1
- package/dist/nile-hero/nile-hero.test.esm.js +1 -1
- package/dist/nile-icon/icons/svg/alert.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/alert.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/alert.esm.js +1 -0
- package/dist/nile-icon/icons/svg/file-check-02.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/file-check-02.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/file-check-02.esm.js +1 -0
- package/dist/nile-icon/icons/svg/headphones-01.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/headphones-01.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/headphones-01.esm.js +1 -0
- package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
- package/dist/nile-icon/icons/svg/index.esm.js +1 -1
- package/dist/nile-icon/icons/svg/keyboard-01.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/keyboard-01.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/keyboard-01.esm.js +1 -0
- package/dist/nile-icon/icons/svg/monitor-01.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/monitor-01.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/monitor-01.esm.js +1 -0
- package/dist/nile-icon/icons/svg/mouse.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/mouse.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/mouse.esm.js +1 -0
- package/dist/nile-icon/icons/svg/printer.cjs.js +2 -0
- package/dist/nile-icon/icons/svg/printer.cjs.js.map +1 -0
- package/dist/nile-icon/icons/svg/printer.esm.js +1 -0
- package/dist/nile-icon/index.cjs.js +1 -1
- package/dist/nile-icon/index.cjs.js.map +1 -1
- package/dist/nile-icon/index.esm.js +1 -1
- package/dist/nile-icon/nile-icon.test.cjs.js +2 -0
- package/dist/nile-icon/nile-icon.test.cjs.js.map +1 -0
- package/dist/nile-icon/nile-icon.test.esm.js +1 -0
- 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-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-input/nile-input.test.cjs.js +2 -0
- package/dist/nile-input/nile-input.test.cjs.js.map +1 -0
- package/dist/nile-input/nile-input.test.esm.js +17 -0
- package/dist/nile-link/nile-link.test.cjs.js +2 -0
- package/dist/nile-link/nile-link.test.cjs.js.map +1 -0
- package/dist/nile-link/nile-link.test.esm.js +1 -0
- package/dist/nile-list/index.cjs.js +2 -0
- package/dist/nile-list/index.cjs.js.map +1 -0
- package/dist/nile-list/index.esm.js +1 -0
- package/dist/nile-list/nile-list.cjs.js +2 -0
- package/dist/nile-list/nile-list.cjs.js.map +1 -0
- package/dist/nile-list/nile-list.css.cjs.js +2 -0
- package/dist/nile-list/nile-list.css.cjs.js.map +1 -0
- package/dist/nile-list/nile-list.css.esm.js +8 -0
- package/dist/nile-list/nile-list.esm.js +3 -0
- package/dist/nile-list-item/index.cjs.js +2 -0
- package/dist/nile-list-item/index.cjs.js.map +1 -0
- package/dist/nile-list-item/index.esm.js +1 -0
- package/dist/nile-list-item/nile-list-item.cjs.js +2 -0
- package/dist/nile-list-item/nile-list-item.cjs.js.map +1 -0
- package/dist/nile-list-item/nile-list-item.css.cjs.js +2 -0
- package/dist/nile-list-item/nile-list-item.css.cjs.js.map +1 -0
- package/dist/nile-list-item/nile-list-item.css.esm.js +54 -0
- package/dist/nile-list-item/nile-list-item.esm.js +21 -0
- package/dist/nile-loader/nile-loader.test.cjs.js +2 -0
- package/dist/nile-loader/nile-loader.test.cjs.js.map +1 -0
- package/dist/nile-loader/nile-loader.test.esm.js +1 -0
- 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.css.cjs.js +1 -1
- package/dist/nile-menu/nile-menu.css.cjs.js.map +1 -1
- package/dist/nile-menu/nile-menu.css.esm.js +21 -7
- package/dist/nile-menu/nile-menu.esm.js +18 -15
- 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.css.cjs.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
- package/dist/nile-menu-item/nile-menu-item.css.esm.js +1 -1
- package/dist/nile-menu-item/nile-menu-item.esm.js +18 -21
- 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 +1 -1
- package/dist/nile-popover/nile-popover.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.css.cjs.js +1 -1
- package/dist/nile-popover/nile-popover.css.cjs.js.map +1 -1
- package/dist/nile-popover/nile-popover.css.esm.js +6 -4
- package/dist/nile-popover/nile-popover.esm.js +4 -7
- package/dist/nile-popover/nile-popover.test.cjs.js +2 -0
- package/dist/nile-popover/nile-popover.test.cjs.js.map +1 -0
- package/dist/nile-popover/nile-popover.test.esm.js +21 -0
- package/dist/nile-popup/nile-popup.css.cjs.js +1 -1
- package/dist/nile-popup/nile-popup.css.cjs.js.map +1 -1
- package/dist/nile-popup/nile-popup.css.esm.js +8 -4
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js +2 -0
- package/dist/nile-progress-bar/nile-progress-bar.test.cjs.js.map +1 -0
- package/dist/nile-progress-bar/nile-progress-bar.test.esm.js +1 -0
- package/dist/nile-radio/nile-radio.test.cjs.js +2 -0
- package/dist/nile-radio/nile-radio.test.cjs.js.map +1 -0
- package/dist/nile-radio/nile-radio.test.esm.js +1 -0
- 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.esm.js +3 -3
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js +2 -0
- package/dist/nile-slide-toggle/nile-slide-toggle.test.cjs.js.map +1 -0
- package/dist/nile-slide-toggle/nile-slide-toggle.test.esm.js +1 -0
- 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.css.cjs.js +1 -1
- package/dist/nile-tab-group/nile-tab-group.css.cjs.js.map +1 -1
- package/dist/nile-tab-group/nile-tab-group.css.esm.js +2 -2
- package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.cjs.js.map +1 -1
- package/dist/nile-table-cell-item/nile-table-cell-item.css.esm.js +2 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.cjs.js.map +1 -1
- package/dist/nile-table-header-item/nile-table-header-item.css.esm.js +2 -5
- 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/nile-textarea.test.cjs.js +2 -0
- package/dist/nile-textarea/nile-textarea.test.cjs.js.map +1 -0
- package/dist/nile-textarea/nile-textarea.test.esm.js +1 -0
- 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 +1 -1
- package/dist/nile-tree/index.cjs.js +2 -0
- package/dist/nile-tree/index.cjs.js.map +1 -0
- package/dist/nile-tree/index.esm.js +1 -0
- package/dist/nile-tree/nile-tree.cjs.js +2 -0
- package/dist/nile-tree/nile-tree.cjs.js.map +1 -0
- package/dist/nile-tree/nile-tree.css.cjs.js +2 -0
- package/dist/nile-tree/nile-tree.css.cjs.js.map +1 -0
- package/dist/nile-tree/nile-tree.css.esm.js +36 -0
- package/dist/nile-tree/nile-tree.esm.js +13 -0
- package/dist/nile-tree-item/index.cjs.js +2 -0
- package/dist/nile-tree-item/index.cjs.js.map +1 -0
- package/dist/nile-tree-item/index.esm.js +1 -0
- package/dist/nile-tree-item/nile-tree-item.cjs.js +2 -0
- package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -0
- package/dist/nile-tree-item/nile-tree-item.css.cjs.js +2 -0
- package/dist/nile-tree-item/nile-tree-item.css.cjs.js.map +1 -0
- package/dist/nile-tree-item/nile-tree-item.css.esm.js +164 -0
- package/dist/nile-tree-item/nile-tree-item.esm.js +63 -0
- package/dist/src/index.d.ts +5 -0
- package/dist/src/index.js +5 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/nile-avatar/nile-avatar.css.js +5 -6
- package/dist/src/nile-avatar/nile-avatar.css.js.map +1 -1
- package/dist/src/nile-avatar/nile-avatar.test.d.ts +1 -0
- package/dist/src/nile-avatar/nile-avatar.test.js +58 -0
- package/dist/src/nile-avatar/nile-avatar.test.js.map +1 -0
- package/dist/src/nile-badge/nile-badge.css.js +45 -45
- package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
- package/dist/src/nile-badge/nile-badge.test.d.ts +1 -0
- package/dist/src/nile-badge/nile-badge.test.js +42 -0
- package/dist/src/nile-badge/nile-badge.test.js.map +1 -0
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js +3 -4
- package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js.map +1 -1
- package/dist/src/nile-button/nile-button.test.d.ts +1 -0
- package/dist/src/nile-button/nile-button.test.js +86 -0
- package/dist/src/nile-button/nile-button.test.js.map +1 -0
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.d.ts +2 -0
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js +108 -0
- package/dist/src/nile-button-toggle-group/nile-button-toggle-group.test.js.map +1 -0
- package/dist/src/nile-calendar/nile-calendar.css.js +122 -191
- package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
- package/dist/src/nile-calendar/nile-calendar.d.ts +8 -0
- package/dist/src/nile-calendar/nile-calendar.js +143 -169
- package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
- package/dist/src/nile-card/nile-card.test.d.ts +1 -0
- package/dist/src/nile-card/nile-card.test.js +69 -0
- package/dist/src/nile-card/nile-card.test.js.map +1 -0
- package/dist/src/nile-date-picker/nile-date-picker.d.ts +1 -1
- package/dist/src/nile-date-picker/nile-date-picker.js +4 -0
- package/dist/src/nile-date-picker/nile-date-picker.js.map +1 -1
- package/dist/src/nile-dialog/nile-dialog.css.js +4 -1
- package/dist/src/nile-dialog/nile-dialog.css.js.map +1 -1
- package/dist/src/nile-dialog/nile-dialog.js +4 -3
- package/dist/src/nile-dialog/nile-dialog.js.map +1 -1
- package/dist/src/nile-divider/index.d.ts +1 -0
- package/dist/src/nile-divider/index.js +2 -0
- package/dist/src/nile-divider/index.js.map +1 -0
- package/dist/src/nile-divider/nile-divider.css.d.ts +12 -0
- package/dist/src/nile-divider/nile-divider.css.js +40 -0
- package/dist/src/nile-divider/nile-divider.css.js.map +1 -0
- package/dist/src/nile-divider/nile-divider.d.ts +34 -0
- package/dist/src/nile-divider/nile-divider.js +55 -0
- package/dist/src/nile-divider/nile-divider.js.map +1 -0
- package/dist/src/nile-drawer/nile-drawer.test.d.ts +1 -0
- package/dist/src/nile-drawer/nile-drawer.test.js +88 -0
- package/dist/src/nile-drawer/nile-drawer.test.js.map +1 -0
- package/dist/src/nile-error-message/nile-error-message.test.d.ts +1 -0
- package/dist/src/nile-error-message/nile-error-message.test.js +61 -0
- package/dist/src/nile-error-message/nile-error-message.test.js.map +1 -0
- package/dist/src/nile-form-group/nile-form-group.test.d.ts +1 -0
- package/dist/src/nile-form-group/nile-form-group.test.js +55 -0
- package/dist/src/nile-form-group/nile-form-group.test.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/alert.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/alert.js +5 -0
- package/dist/src/nile-icon/icons/svg/alert.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/file-check-02.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/file-check-02.js +5 -0
- package/dist/src/nile-icon/icons/svg/file-check-02.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/headphones-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/headphones-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/headphones-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/index.d.ts +7 -0
- package/dist/src/nile-icon/icons/svg/index.js +7 -0
- package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
- package/dist/src/nile-icon/icons/svg/keyboard-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/keyboard-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/keyboard-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/monitor-01.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/monitor-01.js +5 -0
- package/dist/src/nile-icon/icons/svg/monitor-01.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/mouse.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/mouse.js +5 -0
- package/dist/src/nile-icon/icons/svg/mouse.js.map +1 -0
- package/dist/src/nile-icon/icons/svg/printer.d.ts +5 -0
- package/dist/src/nile-icon/icons/svg/printer.js +5 -0
- package/dist/src/nile-icon/icons/svg/printer.js.map +1 -0
- package/dist/src/nile-icon/nile-icon.test.d.ts +1 -0
- package/dist/src/nile-icon/nile-icon.test.js +45 -0
- package/dist/src/nile-icon/nile-icon.test.js.map +1 -0
- package/dist/src/nile-input/nile-input.test.d.ts +1 -0
- package/dist/src/nile-input/nile-input.test.js +139 -0
- package/dist/src/nile-input/nile-input.test.js.map +1 -0
- package/dist/src/nile-link/nile-link.test.d.ts +1 -0
- package/dist/src/nile-link/nile-link.test.js +72 -0
- package/dist/src/nile-link/nile-link.test.js.map +1 -0
- package/dist/src/nile-list/index.d.ts +1 -0
- package/dist/src/nile-list/index.js +2 -0
- package/dist/src/nile-list/index.js.map +1 -0
- package/dist/src/nile-list/nile-list.css.d.ts +12 -0
- package/dist/src/nile-list/nile-list.css.js +20 -0
- package/dist/src/nile-list/nile-list.css.js.map +1 -0
- package/dist/src/nile-list/nile-list.d.ts +33 -0
- package/dist/src/nile-list/nile-list.js +47 -0
- package/dist/src/nile-list/nile-list.js.map +1 -0
- package/dist/src/nile-list-item/index.d.ts +1 -0
- package/dist/src/nile-list-item/index.js +2 -0
- package/dist/src/nile-list-item/index.js.map +1 -0
- package/dist/src/nile-list-item/nile-list-item.css.d.ts +12 -0
- package/dist/src/nile-list-item/nile-list-item.css.js +66 -0
- package/dist/src/nile-list-item/nile-list-item.css.js.map +1 -0
- package/dist/src/nile-list-item/nile-list-item.d.ts +38 -0
- package/dist/src/nile-list-item/nile-list-item.js +96 -0
- package/dist/src/nile-list-item/nile-list-item.js.map +1 -0
- package/dist/src/nile-loader/nile-loader.test.d.ts +1 -0
- package/dist/src/nile-loader/nile-loader.test.js +39 -0
- package/dist/src/nile-loader/nile-loader.test.js.map +1 -0
- package/dist/src/nile-menu/nile-menu.css.js +19 -5
- package/dist/src/nile-menu/nile-menu.css.js.map +1 -1
- package/dist/src/nile-menu/nile-menu.d.ts +1 -0
- package/dist/src/nile-menu/nile-menu.js +25 -13
- package/dist/src/nile-menu/nile-menu.js.map +1 -1
- package/dist/src/nile-menu-item/nile-menu-item.css.js +1 -1
- package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
- package/dist/src/nile-menu-item/nile-menu-item.js +21 -20
- package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
- package/dist/src/nile-popover/nile-popover.css.js +6 -4
- package/dist/src/nile-popover/nile-popover.css.js.map +1 -1
- package/dist/src/nile-popover/nile-popover.d.ts +1 -0
- package/dist/src/nile-popover/nile-popover.js +7 -6
- package/dist/src/nile-popover/nile-popover.js.map +1 -1
- package/dist/src/nile-popover/nile-popover.test.d.ts +1 -0
- package/dist/src/nile-popover/nile-popover.test.js +73 -0
- package/dist/src/nile-popover/nile-popover.test.js.map +1 -0
- package/dist/src/nile-popup/nile-popup.css.d.ts +5 -5
- package/dist/src/nile-popup/nile-popup.css.js +13 -9
- package/dist/src/nile-popup/nile-popup.css.js.map +1 -1
- package/dist/src/nile-progress-bar/nile-progress-bar.test.d.ts +1 -0
- package/dist/src/nile-progress-bar/nile-progress-bar.test.js +48 -0
- package/dist/src/nile-progress-bar/nile-progress-bar.test.js.map +1 -0
- package/dist/src/nile-radio/nile-radio.test.d.ts +1 -0
- package/dist/src/nile-radio/nile-radio.test.js +71 -0
- package/dist/src/nile-radio/nile-radio.test.js.map +1 -0
- package/dist/src/nile-select/nile-select.d.ts +1 -0
- package/dist/src/nile-select/nile-select.js +5 -1
- package/dist/src/nile-select/nile-select.js.map +1 -1
- package/dist/src/nile-slide-toggle/nile-slide-toggle.test.d.ts +1 -0
- package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js +54 -0
- package/dist/src/nile-slide-toggle/nile-slide-toggle.test.js.map +1 -0
- package/dist/src/nile-tab-group/nile-tab-group.css.js +2 -2
- package/dist/src/nile-tab-group/nile-tab-group.css.js.map +1 -1
- package/dist/src/nile-tab-group/nile-tab-group.js +3 -1
- package/dist/src/nile-tab-group/nile-tab-group.js.map +1 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js +2 -1
- package/dist/src/nile-table-cell-item/nile-table-cell-item.css.js.map +1 -1
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js +2 -5
- package/dist/src/nile-table-header-item/nile-table-header-item.css.js.map +1 -1
- package/dist/src/nile-textarea/nile-textarea.test.d.ts +1 -0
- package/dist/src/nile-textarea/nile-textarea.test.js +87 -0
- package/dist/src/nile-textarea/nile-textarea.test.js.map +1 -0
- package/dist/src/nile-tree/index.d.ts +1 -0
- package/dist/src/nile-tree/index.js +2 -0
- package/dist/src/nile-tree/index.js.map +1 -0
- package/dist/src/nile-tree/nile-tree.css.d.ts +12 -0
- package/dist/src/nile-tree/nile-tree.css.js +48 -0
- package/dist/src/nile-tree/nile-tree.css.js.map +1 -0
- package/dist/src/nile-tree/nile-tree.d.ts +69 -0
- package/dist/src/nile-tree/nile-tree.js +376 -0
- package/dist/src/nile-tree/nile-tree.js.map +1 -0
- package/dist/src/nile-tree-item/index.d.ts +1 -0
- package/dist/src/nile-tree-item/index.js +2 -0
- package/dist/src/nile-tree-item/index.js.map +1 -0
- package/dist/src/nile-tree-item/nile-tree-item.css.d.ts +12 -0
- package/dist/src/nile-tree-item/nile-tree-item.css.js +176 -0
- package/dist/src/nile-tree-item/nile-tree-item.css.js.map +1 -0
- package/dist/src/nile-tree-item/nile-tree-item.d.ts +96 -0
- package/dist/src/nile-tree-item/nile-tree-item.js +324 -0
- package/dist/src/nile-tree-item/nile-tree-item.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +71 -2
- package/plopfile.js +11 -0
- package/src/index.ts +6 -1
- package/src/nile-avatar/nile-avatar.css.ts +5 -6
- package/src/nile-avatar/nile-avatar.test.ts +65 -0
- package/src/nile-badge/nile-badge.css.ts +45 -45
- package/src/nile-badge/nile-badge.test.ts +48 -0
- package/src/nile-breadcrumb-item/nile-breadcrumb-item.css.ts +3 -4
- package/src/nile-button/nile-button.test.ts +117 -0
- package/src/nile-button-toggle-group/nile-button-toggle-group.test.ts +130 -0
- package/src/nile-calendar/nile-calendar.css.ts +122 -191
- package/src/nile-calendar/nile-calendar.ts +148 -213
- package/src/nile-card/nile-card.test.ts +74 -0
- package/src/nile-date-picker/nile-date-picker.ts +9 -7
- package/src/nile-dialog/nile-dialog.css.ts +4 -1
- package/src/nile-dialog/nile-dialog.ts +4 -4
- package/src/nile-divider/index.ts +1 -0
- package/src/nile-divider/nile-divider.css.ts +42 -0
- package/src/nile-divider/nile-divider.ts +56 -0
- package/src/nile-drawer/nile-drawer.test.ts +106 -0
- package/src/nile-error-message/nile-error-message.test.ts +69 -0
- package/src/nile-form-group/nile-form-group.test.ts +63 -0
- package/src/nile-icon/icons/svg/alert.ts +5 -0
- package/src/nile-icon/icons/svg/file-check-02.ts +5 -0
- package/src/nile-icon/icons/svg/headphones-01.ts +5 -0
- package/src/nile-icon/icons/svg/index.ts +7 -0
- package/src/nile-icon/icons/svg/keyboard-01.ts +5 -0
- package/src/nile-icon/icons/svg/monitor-01.ts +5 -0
- package/src/nile-icon/icons/svg/mouse.ts +5 -0
- package/src/nile-icon/icons/svg/printer.ts +5 -0
- package/src/nile-icon/nile-icon.test.ts +53 -0
- package/src/nile-input/nile-input.test.ts +160 -0
- package/src/nile-link/nile-link.test.ts +83 -0
- package/src/nile-list/index.ts +1 -0
- package/src/nile-list/nile-list.css.ts +22 -0
- package/src/nile-list/nile-list.ts +64 -0
- package/src/nile-list-item/index.ts +1 -0
- package/src/nile-list-item/nile-list-item.css.ts +68 -0
- package/src/nile-list-item/nile-list-item.ts +104 -0
- package/src/nile-loader/nile-loader.test.ts +45 -0
- package/src/nile-menu/nile-menu.css.ts +19 -5
- package/src/nile-menu/nile-menu.ts +28 -17
- package/src/nile-menu-item/nile-menu-item.css.ts +1 -1
- package/src/nile-menu-item/nile-menu-item.ts +22 -21
- package/src/nile-popover/nile-popover.css.ts +6 -4
- package/src/nile-popover/nile-popover.test.ts +86 -0
- package/src/nile-popover/nile-popover.ts +7 -10
- package/src/nile-popup/nile-popup.css.ts +14 -10
- package/src/nile-progress-bar/nile-progress-bar.test.ts +55 -0
- package/src/nile-radio/nile-radio.test.ts +81 -0
- package/src/nile-select/nile-select.ts +3 -1
- package/src/nile-slide-toggle/nile-slide-toggle.test.ts +61 -0
- package/src/nile-tab-group/nile-tab-group.css.ts +2 -2
- package/src/nile-tab-group/nile-tab-group.ts +2 -1
- package/src/nile-table-cell-item/nile-table-cell-item.css.ts +2 -1
- package/src/nile-table-header-item/nile-table-header-item.css.ts +2 -5
- package/src/nile-textarea/nile-textarea.test.ts +102 -0
- package/src/nile-tree/index.ts +1 -0
- package/src/nile-tree/nile-tree.css.ts +50 -0
- package/src/nile-tree/nile-tree.ts +433 -0
- package/src/nile-tree-item/index.ts +1 -0
- package/src/nile-tree-item/nile-tree-item.css.ts +178 -0
- package/src/nile-tree-item/nile-tree-item.ts +330 -0
- package/dist/fixture-b1476eef.cjs.js.map +0 -1
@@ -0,0 +1,56 @@
|
|
1
|
+
/**
|
2
|
+
* Copyright Aquera Inc 2023
|
3
|
+
*
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
6
|
+
*/
|
7
|
+
|
8
|
+
import {LitElement, html, property, CSSResultArray, TemplateResult} from 'lit-element';
|
9
|
+
import { customElement } from 'lit/decorators.js';
|
10
|
+
import {styles} from './nile-divider.css';
|
11
|
+
import NileElement from '../internal/nile-element';
|
12
|
+
|
13
|
+
|
14
|
+
/**
|
15
|
+
* Nile divider component.
|
16
|
+
*
|
17
|
+
* @tag nile-divider
|
18
|
+
*
|
19
|
+
*/
|
20
|
+
@customElement('nile-divider')
|
21
|
+
export class NileDivider extends NileElement {
|
22
|
+
|
23
|
+
/**
|
24
|
+
* The styles for nile-divider
|
25
|
+
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
26
|
+
*/
|
27
|
+
public static get styles(): CSSResultArray {
|
28
|
+
return [styles];
|
29
|
+
}
|
30
|
+
@property({ type: Boolean, reflect:true }) inset = false;
|
31
|
+
@property({ type: Boolean, reflect:true }) vertical = false;
|
32
|
+
|
33
|
+
/* #endregion */
|
34
|
+
|
35
|
+
/* #region Methods */
|
36
|
+
|
37
|
+
/**
|
38
|
+
* Render method
|
39
|
+
* @slot This is a slot test
|
40
|
+
*/
|
41
|
+
public render(): TemplateResult {
|
42
|
+
return html`
|
43
|
+
<div part="divider" class="divider ${this.vertical ? 'vertical' : 'horizontal'} ${this.inset ? 'inset' : ''}"></div>
|
44
|
+
`;
|
45
|
+
}
|
46
|
+
|
47
|
+
/* #endregion */
|
48
|
+
}
|
49
|
+
|
50
|
+
export default NileDivider;
|
51
|
+
|
52
|
+
declare global {
|
53
|
+
interface HTMLElementTagNameMap {
|
54
|
+
'nile-divider': NileDivider;
|
55
|
+
}
|
56
|
+
}
|
@@ -0,0 +1,106 @@
|
|
1
|
+
import { expect, fixture, html, waitUntil } from '@open-wc/testing';
|
2
|
+
import { sendKeys } from '@web/test-runner-commands';
|
3
|
+
import sinon from 'sinon';
|
4
|
+
import './nile-drawer'; // Adjust the import path as necessary
|
5
|
+
import { NileDrawer } from './nile-drawer';
|
6
|
+
describe('Nile-drawer', () => {
|
7
|
+
it('should be visible with the open attribute', async () => {
|
8
|
+
const el = await fixture<NileDrawer>(html`
|
9
|
+
<nile-drawer open>I am content inside nile drawer</nile-drawer>
|
10
|
+
`);
|
11
|
+
const panel = el.shadowRoot!.querySelector<HTMLElement>('[part="panel"]')!;
|
12
|
+
expect(panel.ariaHidden).to.equal('false');
|
13
|
+
});
|
14
|
+
|
15
|
+
it('should not be visible without the open attribute', async () => {
|
16
|
+
const el = await fixture<NileDrawer>(html`
|
17
|
+
<nile-drawer>I am content inside nile drawer</nile-drawer>
|
18
|
+
`);
|
19
|
+
const panel = el.shadowRoot!.querySelector<HTMLElement>('[part="panel"]')!;
|
20
|
+
expect(panel.ariaHidden).to.equal('true');
|
21
|
+
});
|
22
|
+
|
23
|
+
it('should emit nile-show and nile-after-show when calling show()', async () => {
|
24
|
+
const el = await fixture<NileDrawer>(html`
|
25
|
+
<nile-drawer>I am Nile Drawer Content.</nile-drawer>
|
26
|
+
`);
|
27
|
+
const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
|
28
|
+
const showHandler = sinon.spy();
|
29
|
+
const afterShowHandler = sinon.spy();
|
30
|
+
|
31
|
+
el.addEventListener('nile-show', showHandler);
|
32
|
+
el.addEventListener('nile-after-show', afterShowHandler);
|
33
|
+
el.show();
|
34
|
+
|
35
|
+
await waitUntil(() => showHandler.calledOnce);
|
36
|
+
await waitUntil(() => afterShowHandler.calledOnce);
|
37
|
+
|
38
|
+
expect(showHandler).to.have.been.calledOnce;
|
39
|
+
expect(afterShowHandler).to.have.been.calledOnce;
|
40
|
+
expect(base.hidden).to.be.false;
|
41
|
+
});
|
42
|
+
|
43
|
+
it('should emit nile-hide and nile-after-hide when calling hide()', async () => {
|
44
|
+
const el = await fixture<NileDrawer>(html`
|
45
|
+
<nile-drawer open>I am nile drawer content</nile-drawer>
|
46
|
+
`);
|
47
|
+
const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
|
48
|
+
const hideHandler = sinon.spy();
|
49
|
+
const afterHideHandler = sinon.spy();
|
50
|
+
|
51
|
+
el.addEventListener('nile-hide', hideHandler);
|
52
|
+
el.addEventListener('nile-after-hide', afterHideHandler);
|
53
|
+
el.hide();
|
54
|
+
|
55
|
+
await waitUntil(() => hideHandler.calledOnce);
|
56
|
+
await waitUntil(() => afterHideHandler.calledOnce);
|
57
|
+
|
58
|
+
expect(hideHandler).to.have.been.calledOnce;
|
59
|
+
expect(afterHideHandler).to.have.been.calledOnce;
|
60
|
+
expect(base.hidden).to.be.true;
|
61
|
+
});
|
62
|
+
|
63
|
+
it('should emit nile-show and nile-after-show when setting open = true', async () => {
|
64
|
+
const el = await fixture<NileDrawer>(html`
|
65
|
+
<nile-drawer
|
66
|
+
>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</nile-drawer
|
67
|
+
>
|
68
|
+
`);
|
69
|
+
const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
|
70
|
+
const showHandler = sinon.spy();
|
71
|
+
const afterShowHandler = sinon.spy();
|
72
|
+
|
73
|
+
el.addEventListener('nile-show', showHandler);
|
74
|
+
el.addEventListener('nile-after-show', afterShowHandler);
|
75
|
+
el.open = true;
|
76
|
+
|
77
|
+
await waitUntil(() => showHandler.calledOnce);
|
78
|
+
await waitUntil(() => afterShowHandler.calledOnce);
|
79
|
+
|
80
|
+
expect(showHandler).to.have.been.calledOnce;
|
81
|
+
expect(afterShowHandler).to.have.been.calledOnce;
|
82
|
+
expect(base.hidden).to.be.false;
|
83
|
+
});
|
84
|
+
|
85
|
+
it('should emit nile-hide and nile-after-hide when setting open = false', async () => {
|
86
|
+
const el = await fixture<NileDrawer>(html`
|
87
|
+
<nile-drawer open
|
88
|
+
>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</nile-drawer
|
89
|
+
>
|
90
|
+
`);
|
91
|
+
const base = el.shadowRoot!.querySelector<HTMLElement>('[part~="base"]')!;
|
92
|
+
const hideHandler = sinon.spy();
|
93
|
+
const afterHideHandler = sinon.spy();
|
94
|
+
|
95
|
+
el.addEventListener('nile-hide', hideHandler);
|
96
|
+
el.addEventListener('nile-after-hide', afterHideHandler);
|
97
|
+
el.open = false;
|
98
|
+
|
99
|
+
await waitUntil(() => hideHandler.calledOnce);
|
100
|
+
await waitUntil(() => afterHideHandler.calledOnce);
|
101
|
+
|
102
|
+
expect(hideHandler).to.have.been.calledOnce;
|
103
|
+
expect(afterHideHandler).to.have.been.calledOnce;
|
104
|
+
expect(base.hidden).to.be.true;
|
105
|
+
});
|
106
|
+
});
|
@@ -0,0 +1,69 @@
|
|
1
|
+
import { html, fixture, expect, oneEvent } from '@open-wc/testing';
|
2
|
+
import './nile-error-message';
|
3
|
+
import { NileErrorMessage } from './nile-error-message';
|
4
|
+
describe('NileErrorMessage', () => {
|
5
|
+
it('should render the error message', async () => {
|
6
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorMessage="An error occurred"></nile-error-message>`);
|
7
|
+
const errorMessage = el.shadowRoot!.querySelector('.nile-error-message__error');
|
8
|
+
expect(errorMessage!.textContent).to.equal('An error occurred');
|
9
|
+
});
|
10
|
+
|
11
|
+
it('should truncate the error response if it is too long', async () => {
|
12
|
+
const longErrorResponse = 'a'.repeat(150);
|
13
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorResponse="${longErrorResponse}"></nile-error-message>`);
|
14
|
+
const truncatedResponse = el.getTruncatedResponse();
|
15
|
+
expect(truncatedResponse).to.equal(`${longErrorResponse.substring(0, 100)}...`);
|
16
|
+
});
|
17
|
+
|
18
|
+
it('should not truncate the error response if it is within the maximum length', async () => {
|
19
|
+
const shortErrorResponse = 'Short error message';
|
20
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorResponse="${shortErrorResponse}"></nile-error-message>`);
|
21
|
+
const truncatedResponse = el.getTruncatedResponse();
|
22
|
+
expect(truncatedResponse).to.equal(shortErrorResponse);
|
23
|
+
});
|
24
|
+
|
25
|
+
it('should toggle the expanded state when the button is clicked', async () => {
|
26
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorResponse="Short error message" errorResponseLong="Detailed error information"></nile-error-message>`);
|
27
|
+
const button :HTMLButtonElement = el.shadowRoot!.querySelector('.nile-error-message__more-button') ??{} as HTMLButtonElement;
|
28
|
+
button.click();
|
29
|
+
expect(el.isExpanded).to.be.true;
|
30
|
+
button.click();
|
31
|
+
expect(el.isExpanded).to.be.false;
|
32
|
+
});
|
33
|
+
|
34
|
+
it('should display the "View More" button if there is extended error information', async () => {
|
35
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorResponse="Short error message" errorResponseLong="Detailed error information"></nile-error-message>`);
|
36
|
+
const button = el.shadowRoot!.querySelector('.nile-error-message__more-button');
|
37
|
+
expect(button).to.exist;
|
38
|
+
});
|
39
|
+
|
40
|
+
it('should not display the "View More" button if there is no extended error information', async () => {
|
41
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorResponse="Short error message"></nile-error-message>`);
|
42
|
+
const button = el.shadowRoot!.querySelector('.nile-error-message__more-button');
|
43
|
+
expect(button).to.not.exist;
|
44
|
+
});
|
45
|
+
|
46
|
+
it('should show the extended error information when expanded', async () => {
|
47
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorResponse="Short error message" errorResponseLong="Detailed error information"></nile-error-message>`);
|
48
|
+
el.isExpanded = true;
|
49
|
+
await el.updateComplete;
|
50
|
+
const expandedResponse = el.shadowRoot!.querySelector('.nile-error-message__response-expanded');
|
51
|
+
expect(expandedResponse?.textContent).to.include('Detailed error information');
|
52
|
+
});
|
53
|
+
|
54
|
+
it('should hide the extended error information when collapsed', async () => {
|
55
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorResponse="Short error message" errorResponseLong="Detailed error information"></nile-error-message>`);
|
56
|
+
el.isExpanded = false;
|
57
|
+
await el.updateComplete;
|
58
|
+
const expandedResponse = el.shadowRoot!.querySelector('.nile-error-message__response-expanded');
|
59
|
+
expect(expandedResponse).to.have.class('collapsed');
|
60
|
+
});
|
61
|
+
|
62
|
+
it('should render icon and error message parts', async () => {
|
63
|
+
const el = await fixture<NileErrorMessage>(html`<nile-error-message errorMessage="An error occurred"></nile-error-message>`);
|
64
|
+
const icon = el.shadowRoot!.querySelector('nile-icon');
|
65
|
+
expect(icon).to.exist;
|
66
|
+
const errorMessage = el.shadowRoot!.querySelector('.nile-error-message__error');
|
67
|
+
expect(errorMessage).to.exist;
|
68
|
+
});
|
69
|
+
});
|
@@ -0,0 +1,63 @@
|
|
1
|
+
import { fixture, html, expect } from '@open-wc/testing';
|
2
|
+
import './nile-form-group'; // Make sure to import the component to be tested
|
3
|
+
import NileFormGroup from './nile-form-group';
|
4
|
+
|
5
|
+
describe('NileFormGroup', () => {
|
6
|
+
it('should have default properties', async () => {
|
7
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group></nile-form-group>`);
|
8
|
+
expect(el.title).to.equal('');
|
9
|
+
expect(el.subtitle).to.equal('');
|
10
|
+
});
|
11
|
+
|
12
|
+
it('should render title when set', async () => {
|
13
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group title="Test Title"></nile-form-group>`);
|
14
|
+
const titleSlot = el.shadowRoot!.querySelector('slot[name="title"]');
|
15
|
+
expect(titleSlot).to.exist;
|
16
|
+
expect(titleSlot?.textContent?.trim()).to.equal('Test Title');
|
17
|
+
});
|
18
|
+
|
19
|
+
it('should render subtitle when set', async () => {
|
20
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group title="Test Title" subtitle="Test Subtitle"></nile-form-group>`);
|
21
|
+
const subtitleSlot = el.shadowRoot!.querySelector('slot[name="subtitle"]');
|
22
|
+
expect(subtitleSlot).to.exist;
|
23
|
+
expect(subtitleSlot?.textContent?.trim()).to.equal('Test Subtitle');
|
24
|
+
});
|
25
|
+
|
26
|
+
it('should not render title and subtitle if not set', async () => {
|
27
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group></nile-form-group>`);
|
28
|
+
const titleSlot = el.shadowRoot!.querySelector('slot[name="title"]');
|
29
|
+
const subtitleSlot = el.shadowRoot!.querySelector('slot[name="subtitle"]');
|
30
|
+
expect(titleSlot).to.not.exist;
|
31
|
+
expect(subtitleSlot).to.not.exist;
|
32
|
+
});
|
33
|
+
|
34
|
+
it('should render content inside the form body slot', async () => {
|
35
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group><p>Form Content</p></nile-form-group>`);
|
36
|
+
const bodySlot = el.shadowRoot!.querySelector<HTMLSlotElement>('.form__body slot');
|
37
|
+
const assignedNodes = bodySlot?.assignedNodes() ?? [] as any;
|
38
|
+
expect(assignedNodes.length).to.equal(1);
|
39
|
+
expect(assignedNodes[0].textContent.trim()).to.equal('Form Content');
|
40
|
+
});
|
41
|
+
|
42
|
+
it('should reflect title and subtitle attributes', async () => {
|
43
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group title="Test Title" subtitle="Test Subtitle"></nile-form-group>`);
|
44
|
+
expect(el.getAttribute('title')).to.equal('Test Title');
|
45
|
+
expect(el.getAttribute('subtitle')).to.equal('Test Subtitle');
|
46
|
+
});
|
47
|
+
|
48
|
+
it('should update the title dynamically', async () => {
|
49
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group title="Initial Title"></nile-form-group>`);
|
50
|
+
el.title = 'Updated Title';
|
51
|
+
await el.updateComplete;
|
52
|
+
const titleSlot = el.shadowRoot!.querySelector('slot[name="title"]')?? {} as any;
|
53
|
+
expect(titleSlot.textContent.trim()).to.equal('Updated Title');
|
54
|
+
});
|
55
|
+
|
56
|
+
it('should update the subtitle dynamically', async () => {
|
57
|
+
const el = await fixture<NileFormGroup>(html`<nile-form-group title="Test Title" subtitle="Initial Subtitle"></nile-form-group>`);
|
58
|
+
el.subtitle = 'Updated Subtitle';
|
59
|
+
await el.updateComplete;
|
60
|
+
const subtitleSlot = el.shadowRoot!.querySelector('slot[name="subtitle"]') ?? {} as any;
|
61
|
+
expect(subtitleSlot.textContent.trim()).to.equal('Updated Subtitle');
|
62
|
+
});
|
63
|
+
});
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIgOFYxMk0xMiAxNkgxMi4wMSIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjAgMTIuNVY2LjhDMjAgNS4xMTk4NCAyMCA0LjI3OTc2IDE5LjY3MyAzLjYzODAzQzE5LjM4NTQgMy4wNzM1NCAxOC45MjY1IDIuNjE0NiAxOC4zNjIgMi4zMjY5OEMxNy43MjAyIDIgMTYuODgwMiAyIDE1LjIgMkg4LjhDNy4xMTk4NCAyIDYuMjc5NzYgMiA1LjYzODAzIDIuMzI2OThDNS4wNzM1NCAyLjYxNDYgNC42MTQ2IDMuMDczNTQgNC4zMjY5OCAzLjYzODAzQzQgNC4yNzk3NiA0IDUuMTE5ODQgNCA2LjhWMTcuMkM0IDE4Ljg4MDIgNCAxOS43MjAyIDQuMzI2OTggMjAuMzYyQzQuNjE0NiAyMC45MjY1IDUuMDczNTQgMjEuMzg1NCA1LjYzODAzIDIxLjY3M0M2LjI3OTc2IDIyIDcuMTE5ODQgMjIgOC44IDIySDEyTTE0IDExSDhNMTAgMTVIOE0xNiA3SDhNMTQuNSAxOUwxNi41IDIxTDIxIDE2LjUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMjEgMThWMTJDMjEgNy4wMjk0NCAxNi45NzA2IDMgMTIgM0M3LjAyOTQ0IDMgMyA3LjAyOTQ0IDMgMTJWMThNNS41IDIxQzQuMTE5MjkgMjEgMyAxOS44ODA3IDMgMTguNVYxNi41QzMgMTUuMTE5MyA0LjExOTI5IDE0IDUuNSAxNEM2Ljg4MDcxIDE0IDggMTUuMTE5MyA4IDE2LjVWMTguNUM4IDE5Ljg4MDcgNi44ODA3MSAyMSA1LjUgMjFaTTE4LjUgMjFDMTcuMTE5MyAyMSAxNiAxOS44ODA3IDE2IDE4LjVWMTYuNUMxNiAxNS4xMTkzIDE3LjExOTMgMTQgMTguNSAxNEMxOS44ODA3IDE0IDIxIDE1LjExOTMgMjEgMTYuNVYxOC41QzIxIDE5Ljg4MDcgMTkuODgwNyAyMSAxOC41IDIxWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+";
|
@@ -7,6 +7,7 @@ export { default as agent } from './agent';
|
|
7
7
|
export { default as agents } from './agents';
|
8
8
|
export { default as aggregation } from './aggregation';
|
9
9
|
export { default as alertcircle } from './alert-circle';
|
10
|
+
export { default as alert } from './alert';
|
10
11
|
export { default as allapplication } from './allapplication';
|
11
12
|
export { default as allsearch } from './allsearch';
|
12
13
|
export { default as anomaly } from './anomaly';
|
@@ -171,6 +172,7 @@ export { default as eye } from './eye';
|
|
171
172
|
export { default as eyeclosed } from './eyeclosed';
|
172
173
|
export { default as featuredicon } from './featured-icon';
|
173
174
|
export { default as file06 } from './file-06';
|
175
|
+
export { default as filecheck02 } from './file-check-02';
|
174
176
|
export { default as fileshield01 } from './file-shield-01';
|
175
177
|
export { default as fileshield02 } from './file-shield-02';
|
176
178
|
export { default as filetypeicon } from './file-type-icon';
|
@@ -238,6 +240,7 @@ export { default as headerflows } from './header-flows';
|
|
238
240
|
export { default as headerfunctions } from './header-functions';
|
239
241
|
export { default as headertasks } from './header-tasks';
|
240
242
|
export { default as headervariable } from './header-variable';
|
243
|
+
export { default as headphones01 } from './headphones-01';
|
241
244
|
export { default as help1 } from './help-1';
|
242
245
|
export { default as helpcircle } from './help-circle';
|
243
246
|
export { default as help } from './help';
|
@@ -262,6 +265,7 @@ export { default as intersection } from './intersection';
|
|
262
265
|
export { default as itemplaceholder } from './itemplaceholder';
|
263
266
|
export { default as js } from './js';
|
264
267
|
export { default as keyperformanceindicator } from './key-performance-indicator';
|
268
|
+
export { default as keyboard01 } from './keyboard-01';
|
265
269
|
export { default as kill } from './kill';
|
266
270
|
export { default as laptop01 } from './laptop-01';
|
267
271
|
export { default as layersthree01 } from './layers-three-01';
|
@@ -300,6 +304,8 @@ export { default as maximize } from './maximize';
|
|
300
304
|
export { default as menu } from './menu';
|
301
305
|
export { default as messagenotificationsquare } from './message-notification-square';
|
302
306
|
export { default as minus } from './minus';
|
307
|
+
export { default as monitor01 } from './monitor-01';
|
308
|
+
export { default as mouse } from './mouse';
|
303
309
|
export { default as moveleft } from './moveleft';
|
304
310
|
export { default as moveright } from './moveright';
|
305
311
|
export { default as multipleuser } from './multiple-user';
|
@@ -356,6 +362,7 @@ export { default as predefined } from './predefined';
|
|
356
362
|
export { default as prevup } from './prev-up';
|
357
363
|
export { default as prev } from './prev';
|
358
364
|
export { default as preview } from './preview';
|
365
|
+
export { default as printer } from './printer';
|
359
366
|
export { default as priorityhigh } from './priority-high';
|
360
367
|
export { default as priorityhighest } from './priority-highest';
|
361
368
|
export { default as prioritylow } from './priority-low';
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNiAxMEg2LjAxTTggMTRIOC4wMU0xMCAxMEgxMC4wMU0xMiAxNEgxMi4wMU0xNCAxMEgxNC4wMU0xNiAxNEgxNi4wMU0xOCAxMEgxOC4wMU01LjIgMThIMTguOEMxOS45MjAxIDE4IDIwLjQ4MDIgMTggMjAuOTA4IDE3Ljc4MkMyMS4yODQzIDE3LjU5MDMgMjEuNTkwMyAxNy4yODQzIDIxLjc4MiAxNi45MDhDMjIgMTYuNDgwMiAyMiAxNS45MjAxIDIyIDE0LjhWOS4yQzIyIDguMDc5OSAyMiA3LjUxOTg0IDIxLjc4MiA3LjA5MjAyQzIxLjU5MDMgNi43MTU2OSAyMS4yODQzIDYuNDA5NzMgMjAuOTA4IDYuMjE3OTlDMjAuNDgwMiA2IDE5LjkyMDEgNiAxOC44IDZINS4yQzQuMDc5ODkgNiAzLjUxOTg0IDYgMy4wOTIwMiA2LjIxNzk5QzIuNzE1NjkgNi40MDk3MyAyLjQwOTczIDYuNzE1NjkgMi4yMTc5OSA3LjA5MjAyQzIgNy41MTk4NCAyIDguMDc5ODkgMiA5LjJWMTQuOEMyIDE1LjkyMDEgMiAxNi40ODAyIDIuMjE3OTkgMTYuOTA4QzIuNDA5NzMgMTcuMjg0MyAyLjcxNTY5IDE3LjU5MDMgMy4wOTIwMiAxNy43ODJDMy41MTk4NCAxOCA0LjA3OTkgMTggNS4yIDE4WiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNOCAyMUgxNk0xMiAxN1YyMU02LjggMTdIMTcuMkMxOC44ODAyIDE3IDE5LjcyMDIgMTcgMjAuMzYyIDE2LjY3M0MyMC45MjY1IDE2LjM4NTQgMjEuMzg1NCAxNS45MjY1IDIxLjY3MyAxNS4zNjJDMjIgMTQuNzIwMiAyMiAxMy44ODAyIDIyIDEyLjJWNy44QzIyIDYuMTE5ODQgMjIgNS4yNzk3NiAyMS42NzMgNC42MzgwM0MyMS4zODU0IDQuMDczNTQgMjAuOTI2NSAzLjYxNDYgMjAuMzYyIDMuMzI2OThDMTkuNzIwMiAzIDE4Ljg4MDIgMyAxNy4yIDNINi44QzUuMTE5ODQgMyA0LjI3OTc2IDMgMy42MzgwMyAzLjMyNjk4QzMuMDczNTQgMy42MTQ2IDIuNjE0NiA0LjA3MzU0IDIuMzI2OTggNC42MzgwM0MyIDUuMjc5NzYgMiA2LjExOTg0IDIgNy44VjEyLjJDMiAxMy44ODAyIDIgMTQuNzIwMiAyLjMyNjk4IDE1LjM2MkMyLjYxNDYgMTUuOTI2NSAzLjA3MzU0IDE2LjM4NTQgMy42MzgwMyAxNi42NzNDNC4yNzk3NiAxNyA1LjExOTg0IDE3IDYuOCAxN1oiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTIgOVY2TTEyIDIyQzguMTM0MDEgMjIgNSAxOC44NjYgNSAxNVY5QzUgNS4xMzQwMSA4LjEzNDAxIDIgMTIgMkMxNS44NjYgMiAxOSA1LjEzNDAxIDE5IDlWMTVDMTkgMTguODY2IDE1Ljg2NiAyMiAxMiAyMloiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPjwvc3ZnPg==";
|
@@ -0,0 +1,5 @@
|
|
1
|
+
/**
|
2
|
+
* Do not edit directly
|
3
|
+
*/
|
4
|
+
|
5
|
+
export default "PHN2ZyB3aWR0aD0iMjQiIGhlaWdodD0iMjQiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNMTggN1Y1LjJDMTggNC4wNzk5IDE4IDMuNTE5ODQgMTcuNzgyIDMuMDkyMDJDMTcuNTkwMyAyLjcxNTY5IDE3LjI4NDMgMi40MDk3MyAxNi45MDggMi4yMTc5OUMxNi40ODAyIDIgMTUuOTIwMSAyIDE0LjggMkg5LjJDOC4wNzk5IDIgNy41MTk4NCAyIDcuMDkyMDIgMi4yMTc5OUM2LjcxNTY5IDIuNDA5NzMgNi40MDk3MyAyLjcxNTY5IDYuMjE3OTkgMy4wOTIwMkM2IDMuNTE5ODQgNiA0LjA3OTkgNiA1LjJWN002IDE4QzUuMDcwMDMgMTggNC42MDUwNCAxOCA0LjIyMzU0IDE3Ljg5NzhDMy4xODgyNyAxNy42MjA0IDIuMzc5NjIgMTYuODExNyAyLjEwMjIyIDE1Ljc3NjVDMiAxNS4zOTUgMiAxNC45MyAyIDE0VjExLjhDMiAxMC4xMTk4IDIgOS4yNzk3NiAyLjMyNjk4IDguNjM4MDNDMi42MTQ2IDguMDczNTQgMy4wNzM1NCA3LjYxNDYgMy42MzgwMyA3LjMyNjk4QzQuMjc5NzYgNyA1LjExOTg0IDcgNi44IDdIMTcuMkMxOC44ODAyIDcgMTkuNzIwMiA3IDIwLjM2MiA3LjMyNjk4QzIwLjkyNjUgNy42MTQ2IDIxLjM4NTQgOC4wNzM1NCAyMS42NzMgOC42MzgwM0MyMiA5LjI3OTc2IDIyIDEwLjExOTggMjIgMTEuOFYxNEMyMiAxNC45MyAyMiAxNS4zOTUgMjEuODk3OCAxNS43NzY1QzIxLjYyMDQgMTYuODExNyAyMC44MTE3IDE3LjYyMDQgMTkuNzc2NSAxNy44OTc4QzE5LjM5NSAxOCAxOC45MyAxOCAxOCAxOE0xNSAxMC41SDE4TTkuMiAyMkgxNC44QzE1LjkyMDEgMjIgMTYuNDgwMiAyMiAxNi45MDggMjEuNzgyQzE3LjI4NDMgMjEuNTkwMyAxNy41OTAzIDIxLjI4NDMgMTcuNzgyIDIwLjkwOEMxOCAyMC40ODAyIDE4IDE5LjkyMDEgMTggMTguOFYxNy4yQzE4IDE2LjA3OTkgMTggMTUuNTE5OCAxNy43ODIgMTUuMDkyQzE3LjU5MDMgMTQuNzE1NyAxNy4yODQzIDE0LjQwOTcgMTYuOTA4IDE0LjIxOEMxNi40ODAyIDE0IDE1LjkyMDEgMTQgMTQuOCAxNEg5LjJDOC4wNzk5IDE0IDcuNTE5ODQgMTQgNy4wOTIwMiAxNC4yMThDNi43MTU2OSAxNC40MDk3IDYuNDA5NzMgMTQuNzE1NyA2LjIxNzk5IDE1LjA5MkM2IDE1LjUxOTggNiAxNi4wNzk5IDYgMTcuMlYxOC44QzYgMTkuOTIwMSA2IDIwLjQ4MDIgNi4yMTc5OSAyMC45MDhDNi40MDk3MyAyMS4yODQzIDYuNzE1NjkgMjEuNTkwMyA3LjA5MjAyIDIxLjc4MkM3LjUxOTg0IDIyIDguMDc5ODkgMjIgOS4yIDIyWiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+PC9zdmc+";
|
@@ -0,0 +1,53 @@
|
|
1
|
+
import { html, fixture, expect } from '@open-wc/testing';
|
2
|
+
import './index';
|
3
|
+
import { NileIcon } from './index';
|
4
|
+
import Sinon from 'sinon';
|
5
|
+
|
6
|
+
describe('NileIcon', () => {
|
7
|
+
it('should render the icon with the correct name', async () => {
|
8
|
+
const el = await fixture<NileIcon>(html`<nile-icon name="info"></nile-icon>`);
|
9
|
+
expect(el.name).to.equal('info');
|
10
|
+
expect(el).to.equalSnapshot()
|
11
|
+
});
|
12
|
+
|
13
|
+
it('should render the icon with the correct size', async () => {
|
14
|
+
const el = await fixture<NileIcon>(html`<nile-icon size="24"></nile-icon>`);
|
15
|
+
expect(el.size).to.equal('24');
|
16
|
+
const svg = el.shadowRoot!.querySelector('svg');
|
17
|
+
expect(svg?.getAttribute('height')).to.equal('24');
|
18
|
+
expect(svg?.getAttribute('width')).to.equal('24');
|
19
|
+
});
|
20
|
+
|
21
|
+
it('should apply the correct color to the icon', async () => {
|
22
|
+
const el = await fixture<NileIcon>(html`<nile-icon color="red"></nile-icon>`);
|
23
|
+
await el.updateComplete
|
24
|
+
expect(el.color).to.equal('red');
|
25
|
+
expect(el.style.getPropertyValue('--nile-svg-fill')).to.equal('red');
|
26
|
+
});
|
27
|
+
|
28
|
+
it('should set the correct viewBox based on frame property', async () => {
|
29
|
+
const el = await fixture<NileIcon>(html`<nile-icon frame="32"></nile-icon>`);
|
30
|
+
const svg = el.shadowRoot!.querySelector('svg');
|
31
|
+
expect(svg?.getAttribute('viewBox')).to.equal('0 0 32 32');
|
32
|
+
});
|
33
|
+
|
34
|
+
it('should set aria attributes based on description', async () => {
|
35
|
+
const el = await fixture<NileIcon>(html`<nile-icon description="Test icon"></nile-icon>`);
|
36
|
+
const svg = el.shadowRoot!.querySelector('svg');
|
37
|
+
await el.updateComplete
|
38
|
+
expect(svg?.getAttribute('aria-label')).to.equal('Test icon');
|
39
|
+
expect(svg?.getAttribute('aria-hidden')).to.equal('false');
|
40
|
+
});
|
41
|
+
|
42
|
+
it('should apply stroke class based on method property', async () => {
|
43
|
+
const el = await fixture<NileIcon>(html`<nile-icon method="stroke"></nile-icon>`);
|
44
|
+
const svg = el.shadowRoot!.querySelector('svg');
|
45
|
+
expect(svg?.classList.contains('stroke')).to.be.true;
|
46
|
+
});
|
47
|
+
|
48
|
+
it('should apply push class when push property is true', async () => {
|
49
|
+
const el = await fixture<NileIcon>(html`<nile-icon push></nile-icon>`);
|
50
|
+
const svg = el.shadowRoot!.querySelector('svg');
|
51
|
+
expect(svg?.classList.contains('nds-icon--push')).to.be.true;
|
52
|
+
});
|
53
|
+
});
|
@@ -0,0 +1,160 @@
|
|
1
|
+
import { fixture, html, expect, oneEvent, nextFrame, aTimeout } from '@open-wc/testing';
|
2
|
+
import './nile-input';
|
3
|
+
import { NileInput } from './nile-input';
|
4
|
+
import Sinon from 'sinon';
|
5
|
+
|
6
|
+
describe('nile-input', () => {
|
7
|
+
it('renders correctly', async () => {
|
8
|
+
const el = await fixture<NileInput>(html`<nile-input label="Test Label"></nile-input>`);
|
9
|
+
expect(el).shadowDom.to.equalSnapshot();
|
10
|
+
});
|
11
|
+
|
12
|
+
it('updates the value on input', async () => {
|
13
|
+
const el :any = await fixture<NileInput>(html`<nile-input></nile-input>`);
|
14
|
+
const input = el.shadowRoot?.querySelector('input') ?? {} as any;
|
15
|
+
input.value = 'New Value';
|
16
|
+
input.dispatchEvent(new Event('input'));
|
17
|
+
expect(el.value).to.equal('New Value');
|
18
|
+
});
|
19
|
+
|
20
|
+
|
21
|
+
it('shows error message when invalid', async () => {
|
22
|
+
const el = await fixture<NileInput>(html`<nile-input required error-message='errr'></nile-input>`);
|
23
|
+
const errorMessage = el.shadowRoot?.querySelector('nile-form-error-message');
|
24
|
+
expect(errorMessage).to.exist;
|
25
|
+
});
|
26
|
+
|
27
|
+
|
28
|
+
it('should renders all slots correctly and verify its content', async () => {
|
29
|
+
const el = await fixture<NileInput>(html`
|
30
|
+
<nile-input>
|
31
|
+
<span slot="label">Slot Label</span>
|
32
|
+
<span slot="label-suffix">Slot Label suffix</span>
|
33
|
+
<span slot="prefix">prefix slot</span>
|
34
|
+
<span slot="suffix">suffix slot</span>
|
35
|
+
<span slot="clear-icon">
|
36
|
+
<nile-icon name="error" library="system"></nile-icon>
|
37
|
+
</span>
|
38
|
+
<span slot="show-password-icon">
|
39
|
+
<nile-icon
|
40
|
+
name="eye"
|
41
|
+
library="system"
|
42
|
+
></nile-icon>
|
43
|
+
</span>
|
44
|
+
</nile-input>
|
45
|
+
`);
|
46
|
+
const labelSlot = el.shadowRoot?.querySelector('slot[name="label"]') ?? {} as any;
|
47
|
+
const labelSuffixSlot = el.shadowRoot?.querySelector('slot[name="label-suffix"]') ?? {} as any;
|
48
|
+
const prefixSlot = el.shadowRoot?.querySelector('slot[name="prefix"]') ?? {} as any;
|
49
|
+
const suffixSlot = el.shadowRoot?.querySelector('slot[name="suffix"]') ?? {} as any;
|
50
|
+
const clearIconSlot = el.shadowRoot?.querySelector('slot[name="clear-icon"]') ?? {} as HTMLElement;
|
51
|
+
const showPasswordSlot = el.shadowRoot?.querySelector('slot[name="show-password-icon"]') ?? {} as HTMLElement;
|
52
|
+
expect(labelSlot.assignedNodes()[0].textContent).to.equal('Slot Label');
|
53
|
+
expect(labelSuffixSlot.assignedNodes()[0].textContent).to.equal('Slot Label suffix');
|
54
|
+
expect(prefixSlot.assignedNodes()[0].textContent).to.equal('prefix slot');
|
55
|
+
expect(suffixSlot.assignedNodes()[0].textContent).to.equal('suffix slot');
|
56
|
+
expect(clearIconSlot).to.exist;
|
57
|
+
expect(showPasswordSlot).to.exist;
|
58
|
+
});
|
59
|
+
|
60
|
+
it('handles password toggle', async () => {
|
61
|
+
const el = await fixture<NileInput>(html`<nile-input type="password" password-toggle></nile-input>`);
|
62
|
+
const button = el.shadowRoot?.querySelector('.input__password-toggle') ?? {} as any;
|
63
|
+
button.click();
|
64
|
+
await el.updateComplete;
|
65
|
+
expect(el.passwordVisible).to.be.true;
|
66
|
+
expect(el.shadowRoot!.querySelector('input')!.type).to.equal('text');
|
67
|
+
});
|
68
|
+
|
69
|
+
it('validates input against pattern', async () => {
|
70
|
+
const el = await fixture<NileInput>(html`<nile-input pattern="^[a-zA-Z]+$"></nile-input>`);
|
71
|
+
el.value = '123';
|
72
|
+
el.reportValidity();
|
73
|
+
await el.updateComplete;
|
74
|
+
expect(el.validationMessage).to.equal('Please match the format requested.');
|
75
|
+
});
|
76
|
+
|
77
|
+
it('should emit events on blur', async () => {
|
78
|
+
const el = await fixture<NileInput>(html`<nile-input></nile-input>`);
|
79
|
+
const input = el.shadowRoot!.querySelector('input')!;
|
80
|
+
setTimeout(() => input.dispatchEvent(new Event('blur')));
|
81
|
+
const event = await oneEvent(el, 'nile-blur');
|
82
|
+
expect(event).to.exist;
|
83
|
+
});
|
84
|
+
|
85
|
+
it('should clear input when clear button is clicked', async () => {
|
86
|
+
const el = await fixture<NileInput>(html`<nile-input clearable value="test"></nile-input>`);
|
87
|
+
const button = el.shadowRoot!.querySelector('.input__clear') as HTMLElement;
|
88
|
+
button.click();
|
89
|
+
expect(el.value).to.equal('');
|
90
|
+
});
|
91
|
+
|
92
|
+
it('should mark non-printable characters on focus', async () => {
|
93
|
+
const el: NileInput = await fixture(html`<nile-input checkNonPrintableChar value="test日本語組版処理の要件"></nile-input>`);
|
94
|
+
const input = el.shadowRoot!.querySelector('input')!;
|
95
|
+
input.focus();
|
96
|
+
await el.updateComplete;
|
97
|
+
expect(el.hasPrintableCharacters).to.be.true;
|
98
|
+
});
|
99
|
+
|
100
|
+
it('should remove non-printable characters', async () => {
|
101
|
+
const el: NileInput = await fixture(html`<nile-input checkNonPrintableChar value="test日本語組版処理の要件"></nile-input>`);
|
102
|
+
const input = el.shadowRoot!.querySelector('input')!;
|
103
|
+
input.focus();
|
104
|
+
await el.updateComplete;
|
105
|
+
expect(el.hasPrintableCharacters).to.be.true;
|
106
|
+
const rem : HTMLElement=el.shadowRoot!.querySelector('.input__remove-non-printable')!;
|
107
|
+
rem.click()
|
108
|
+
await el.updateComplete;
|
109
|
+
expect(el.value).to.equal('test');
|
110
|
+
});
|
111
|
+
|
112
|
+
it('should toggle password visibility', async () => {
|
113
|
+
const el: NileInput = await fixture(html`<nile-input type="password" password-toggle></nile-input>`);
|
114
|
+
const button = el.shadowRoot!.querySelector('.input__password-toggle') as HTMLElement;
|
115
|
+
button.click();
|
116
|
+
expect(el.passwordVisible).to.be.true;
|
117
|
+
});
|
118
|
+
|
119
|
+
// it('should call the formControlController.submit() on Enter key', async () => {
|
120
|
+
// const el: NileInput = await fixture(html`<nile-input></nile-input>`);
|
121
|
+
// const input = el.shadowRoot!.querySelector('input')!;
|
122
|
+
// const submitStub = Sinon.stub(el['formControlController'], 'submit');
|
123
|
+
// const event = new KeyboardEvent('keydown', { key: 'Enter' });
|
124
|
+
// input.dispatchEvent(event);
|
125
|
+
// await el.updateComplete;
|
126
|
+
// expect(submitStub).to.have.been.calledOnce;
|
127
|
+
// });
|
128
|
+
|
129
|
+
// complex regress scenarios
|
130
|
+
it('should debounce input events', async () => {
|
131
|
+
const el: NileInput = await fixture(html`<nile-input debounce="500"></nile-input>`);
|
132
|
+
const input = el.shadowRoot!.querySelector('input')!;
|
133
|
+
const changeEvent = new Event('input', { bubbles: true, composed: true });
|
134
|
+
|
135
|
+
input.value = 'a';
|
136
|
+
input.dispatchEvent(changeEvent);
|
137
|
+
input.value = 'ab';
|
138
|
+
input.dispatchEvent(changeEvent);
|
139
|
+
|
140
|
+
await aTimeout(100);
|
141
|
+
expect(el.value).to.equal('ab');
|
142
|
+
input.value = 'abc';
|
143
|
+
input.dispatchEvent(changeEvent);
|
144
|
+
|
145
|
+
await aTimeout(600);
|
146
|
+
expect(el.value).to.equal('abc');
|
147
|
+
});
|
148
|
+
|
149
|
+
it('should validate input against a regular expression pattern', async () => {
|
150
|
+
const el: NileInput = await fixture(html`<nile-input pattern="[A-Za-z]{3}"></nile-input>`);
|
151
|
+
const input = el.shadowRoot!.querySelector('input')!;
|
152
|
+
input.value = 'ab';
|
153
|
+
input.dispatchEvent(new Event('input'));
|
154
|
+
expect(el.validity.valid).to.be.false;
|
155
|
+
|
156
|
+
input.value = 'abc';
|
157
|
+
input.dispatchEvent(new Event('input'));
|
158
|
+
expect(el.validity.valid).to.be.true;
|
159
|
+
});
|
160
|
+
})
|