@aquera/nile-elements 1.6.3 → 1.6.4-patch-1

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.
Files changed (186) hide show
  1. package/README.md +11 -0
  2. package/demo/variables.css +1 -0
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +31 -11
  6. package/dist/nile-badge/index.cjs.js +1 -1
  7. package/dist/nile-badge/index.esm.js +1 -1
  8. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  9. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  10. package/dist/nile-badge/nile-badge.esm.js +1 -1
  11. package/dist/nile-button/index.cjs.js +1 -1
  12. package/dist/nile-button/index.esm.js +1 -1
  13. package/dist/nile-button/nile-button.cjs.js +1 -1
  14. package/dist/nile-button/nile-button.cjs.js.map +1 -1
  15. package/dist/nile-button/nile-button.css.cjs.js +1 -1
  16. package/dist/nile-button/nile-button.css.cjs.js.map +1 -1
  17. package/dist/nile-button/nile-button.css.esm.js +5 -0
  18. package/dist/nile-button/nile-button.esm.js +1 -1
  19. package/dist/nile-carousel/index.cjs.js +1 -1
  20. package/dist/nile-carousel/index.esm.js +1 -1
  21. package/dist/nile-carousel/nile-carousel.cjs.js +1 -1
  22. package/dist/nile-carousel/nile-carousel.cjs.js.map +1 -1
  23. package/dist/nile-carousel/nile-carousel.esm.js +1 -1
  24. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  25. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  26. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  27. package/dist/nile-dialog/index.cjs.js +1 -1
  28. package/dist/nile-dialog/index.esm.js +1 -1
  29. package/dist/nile-dialog/nile-dialog.cjs.js +1 -1
  30. package/dist/nile-dialog/nile-dialog.cjs.js.map +1 -1
  31. package/dist/nile-dialog/nile-dialog.esm.js +1 -1
  32. package/dist/nile-drawer/index.cjs.js +1 -1
  33. package/dist/nile-drawer/index.esm.js +1 -1
  34. package/dist/nile-drawer/nile-drawer.cjs.js +1 -1
  35. package/dist/nile-drawer/nile-drawer.cjs.js.map +1 -1
  36. package/dist/nile-drawer/nile-drawer.esm.js +1 -1
  37. package/dist/nile-dropdown/nile-dropdown.cjs.js +1 -1
  38. package/dist/nile-dropdown/nile-dropdown.cjs.js.map +1 -1
  39. package/dist/nile-dropdown/nile-dropdown.esm.js +1 -1
  40. package/dist/nile-icon/icons/svg/arrow-left-small.cjs.js +2 -0
  41. package/dist/nile-icon/icons/svg/arrow-left-small.cjs.js.map +1 -0
  42. package/dist/nile-icon/icons/svg/arrow-left-small.esm.js +1 -0
  43. package/dist/nile-icon/icons/svg/arrow-right-small.cjs.js +2 -0
  44. package/dist/nile-icon/icons/svg/arrow-right-small.cjs.js.map +1 -0
  45. package/dist/nile-icon/icons/svg/arrow-right-small.esm.js +1 -0
  46. package/dist/nile-icon/icons/svg/arrow_left_small.cjs.js +2 -0
  47. package/dist/nile-icon/icons/svg/arrow_left_small.cjs.js.map +1 -0
  48. package/dist/nile-icon/icons/svg/arrow_left_small.esm.js +1 -0
  49. package/dist/nile-icon/icons/svg/arrow_right_small.cjs.js +2 -0
  50. package/dist/nile-icon/icons/svg/arrow_right_small.cjs.js.map +1 -0
  51. package/dist/nile-icon/icons/svg/arrow_right_small.esm.js +1 -0
  52. package/dist/nile-icon/icons/svg/index.cjs.js +1 -1
  53. package/dist/nile-icon/icons/svg/index.esm.js +1 -1
  54. package/dist/nile-icon/index.cjs.js +1 -1
  55. package/dist/nile-icon/index.cjs.js.map +1 -1
  56. package/dist/nile-icon/index.esm.js +1 -1
  57. package/dist/nile-icon-button/index.cjs.js +1 -1
  58. package/dist/nile-icon-button/index.esm.js +1 -1
  59. package/dist/nile-icon-button/nile-icon-button.cjs.js +1 -1
  60. package/dist/nile-icon-button/nile-icon-button.cjs.js.map +1 -1
  61. package/dist/nile-icon-button/nile-icon-button.esm.js +1 -1
  62. package/dist/nile-input/index.cjs.js +1 -1
  63. package/dist/nile-input/index.esm.js +1 -1
  64. package/dist/nile-input/nile-input.cjs.js +1 -1
  65. package/dist/nile-input/nile-input.cjs.js.map +1 -1
  66. package/dist/nile-input/nile-input.esm.js +1 -1
  67. package/dist/nile-menu-item/index.cjs.js +1 -1
  68. package/dist/nile-menu-item/index.esm.js +1 -1
  69. package/dist/nile-menu-item/nile-menu-item.cjs.js +1 -1
  70. package/dist/nile-menu-item/nile-menu-item.cjs.js.map +1 -1
  71. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  72. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  73. package/dist/nile-menu-item/nile-menu-item.css.esm.js +11 -2
  74. package/dist/nile-menu-item/nile-menu-item.esm.js +3 -3
  75. package/dist/nile-option/index.cjs.js +1 -1
  76. package/dist/nile-option/index.esm.js +1 -1
  77. package/dist/nile-option/nile-option.cjs.js +1 -1
  78. package/dist/nile-option/nile-option.cjs.js.map +1 -1
  79. package/dist/nile-option/nile-option.esm.js +5 -5
  80. package/dist/nile-pagination/nile-pagination.css.cjs.js +1 -1
  81. package/dist/nile-pagination/nile-pagination.css.cjs.js.map +1 -1
  82. package/dist/nile-pagination/nile-pagination.css.esm.js +6 -0
  83. package/dist/nile-radio-group/index.cjs.js +1 -1
  84. package/dist/nile-radio-group/index.esm.js +1 -1
  85. package/dist/nile-radio-group/nile-radio-group.cjs.js +1 -1
  86. package/dist/nile-radio-group/nile-radio-group.cjs.js.map +1 -1
  87. package/dist/nile-radio-group/nile-radio-group.esm.js +2 -2
  88. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js +1 -1
  89. package/dist/nile-rich-text-editor/utils/list-utils.cjs.js.map +1 -1
  90. package/dist/nile-rich-text-editor/utils/list-utils.esm.js +1 -1
  91. package/dist/nile-select/index.cjs.js +1 -1
  92. package/dist/nile-select/index.esm.js +1 -1
  93. package/dist/nile-select/nile-select.cjs.js +1 -1
  94. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  95. package/dist/nile-select/nile-select.esm.js +1 -1
  96. package/dist/nile-side-bar-action-menu-item/index.cjs.js +1 -1
  97. package/dist/nile-side-bar-action-menu-item/index.esm.js +1 -1
  98. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js +1 -1
  99. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.cjs.js.map +1 -1
  100. package/dist/nile-side-bar-action-menu-item/nile-side-bar-action-menu-item.esm.js +1 -1
  101. package/dist/nile-tab/index.cjs.js +1 -1
  102. package/dist/nile-tab/index.esm.js +1 -1
  103. package/dist/nile-tab/nile-tab.cjs.js +1 -1
  104. package/dist/nile-tab/nile-tab.cjs.js.map +1 -1
  105. package/dist/nile-tab/nile-tab.esm.js +1 -1
  106. package/dist/nile-tab-group/index.cjs.js +1 -1
  107. package/dist/nile-tab-group/index.esm.js +1 -1
  108. package/dist/nile-tab-group/nile-tab-group.cjs.js +1 -1
  109. package/dist/nile-tab-group/nile-tab-group.cjs.js.map +1 -1
  110. package/dist/nile-tab-group/nile-tab-group.esm.js +1 -1
  111. package/dist/nile-tag/index.cjs.js +1 -1
  112. package/dist/nile-tag/index.esm.js +1 -1
  113. package/dist/nile-tag/nile-tag.cjs.js +1 -1
  114. package/dist/nile-tag/nile-tag.cjs.js.map +1 -1
  115. package/dist/nile-tag/nile-tag.esm.js +1 -1
  116. package/dist/nile-toast/index.cjs.js +1 -1
  117. package/dist/nile-toast/index.esm.js +1 -1
  118. package/dist/nile-toast/nile-toast.cjs.js +1 -1
  119. package/dist/nile-toast/nile-toast.cjs.js.map +1 -1
  120. package/dist/nile-toast/nile-toast.esm.js +2 -2
  121. package/dist/nile-tree/index.cjs.js +1 -1
  122. package/dist/nile-tree/index.esm.js +1 -1
  123. package/dist/nile-tree/nile-tree.cjs.js +1 -1
  124. package/dist/nile-tree/nile-tree.cjs.js.map +1 -1
  125. package/dist/nile-tree/nile-tree.esm.js +1 -1
  126. package/dist/nile-tree-item/index.cjs.js +1 -1
  127. package/dist/nile-tree-item/index.esm.js +1 -1
  128. package/dist/nile-tree-item/nile-tree-item.cjs.js +1 -1
  129. package/dist/nile-tree-item/nile-tree-item.cjs.js.map +1 -1
  130. package/dist/nile-tree-item/nile-tree-item.esm.js +1 -1
  131. package/dist/nile-virtual-select/index.cjs.js +1 -1
  132. package/dist/nile-virtual-select/index.esm.js +1 -1
  133. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +3 -3
  134. package/dist/nile-virtual-select/nile-virtual-select.esm.js +3 -3
  135. package/dist/src/nile-button/nile-button.css.js +5 -0
  136. package/dist/src/nile-button/nile-button.css.js.map +1 -1
  137. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  138. package/dist/src/nile-code-editor/nile-code-editor.js +1 -7
  139. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  140. package/dist/src/nile-dropdown/nile-dropdown.d.ts +2 -0
  141. package/dist/src/nile-dropdown/nile-dropdown.js +18 -5
  142. package/dist/src/nile-dropdown/nile-dropdown.js.map +1 -1
  143. package/dist/src/nile-icon/icons/svg/arrow-left-small.d.ts +5 -0
  144. package/dist/src/nile-icon/icons/svg/arrow-left-small.js +5 -0
  145. package/dist/src/nile-icon/icons/svg/arrow-left-small.js.map +1 -0
  146. package/dist/src/nile-icon/icons/svg/arrow-right-small.d.ts +5 -0
  147. package/dist/src/nile-icon/icons/svg/arrow-right-small.js +5 -0
  148. package/dist/src/nile-icon/icons/svg/arrow-right-small.js.map +1 -0
  149. package/dist/src/nile-icon/icons/svg/arrow_left_small.d.ts +5 -0
  150. package/dist/src/nile-icon/icons/svg/arrow_left_small.js +5 -0
  151. package/dist/src/nile-icon/icons/svg/arrow_left_small.js.map +1 -0
  152. package/dist/src/nile-icon/icons/svg/arrow_right_small.d.ts +5 -0
  153. package/dist/src/nile-icon/icons/svg/arrow_right_small.js +5 -0
  154. package/dist/src/nile-icon/icons/svg/arrow_right_small.js.map +1 -0
  155. package/dist/src/nile-icon/icons/svg/index.d.ts +4 -0
  156. package/dist/src/nile-icon/icons/svg/index.js +4 -0
  157. package/dist/src/nile-icon/icons/svg/index.js.map +1 -1
  158. package/dist/src/nile-menu-item/nile-menu-item.css.js +11 -2
  159. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  160. package/dist/src/nile-menu-item/nile-menu-item.d.ts +2 -0
  161. package/dist/src/nile-menu-item/nile-menu-item.js +7 -1
  162. package/dist/src/nile-menu-item/nile-menu-item.js.map +1 -1
  163. package/dist/src/nile-pagination/nile-pagination.css.js +6 -0
  164. package/dist/src/nile-pagination/nile-pagination.css.js.map +1 -1
  165. package/dist/src/nile-radio-group/nile-radio-group.js +7 -0
  166. package/dist/src/nile-radio-group/nile-radio-group.js.map +1 -1
  167. package/dist/src/nile-rich-text-editor/utils/list-utils.js +0 -1
  168. package/dist/src/nile-rich-text-editor/utils/list-utils.js.map +1 -1
  169. package/dist/src/version.js +2 -2
  170. package/dist/src/version.js.map +1 -1
  171. package/dist/tsconfig.tsbuildinfo +1 -1
  172. package/package.json +1 -1
  173. package/src/nile-button/nile-button.css.ts +5 -0
  174. package/src/nile-code-editor/nile-code-editor.ts +1 -7
  175. package/src/nile-dropdown/nile-dropdown.ts +19 -5
  176. package/src/nile-icon/icons/svg/arrow-left-small.ts +5 -0
  177. package/src/nile-icon/icons/svg/arrow-right-small.ts +5 -0
  178. package/src/nile-icon/icons/svg/arrow_left_small.ts +5 -0
  179. package/src/nile-icon/icons/svg/arrow_right_small.ts +5 -0
  180. package/src/nile-icon/icons/svg/index.ts +4 -0
  181. package/src/nile-menu-item/nile-menu-item.css.ts +11 -2
  182. package/src/nile-menu-item/nile-menu-item.ts +5 -1
  183. package/src/nile-pagination/nile-pagination.css.ts +6 -0
  184. package/src/nile-radio-group/nile-radio-group.ts +7 -0
  185. package/src/nile-rich-text-editor/utils/list-utils.ts +1 -2
  186. package/vscode-html-custom-data.json +7 -2
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Webcomponent nile-elements following open-wc recommendations",
4
4
  "license": "MIT",
5
5
  "author": "nile-elements",
6
- "version": "1.6.3",
6
+ "version": "1.6.4-patch-1",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -516,6 +516,11 @@ export const styles = css`
516
516
  .button--standard.button--ghost ::slotted(nile-icon:not([color])) {
517
517
  --nile-svg-fill: var(--nile-colors-dark-900) !important;
518
518
  }
519
+
520
+ .button--standard.button--ghost.button--disabled ::slotted(nile-icon:not([color])) {
521
+ --nile-svg-fill: var(--nile-colors-neutral-500, var(--ng-colors-fg-disabled-subtle)) !important;
522
+ }
523
+
519
524
  .button--standard.button--ghost:hover:not(.button--disabled)
520
525
  ::slotted(nile-icon:not([color])),
521
526
  .button--standard.button--ghost:active:not(.button--disabled)
@@ -586,13 +586,7 @@ export class NileCodeEditor extends NileElement {
586
586
  }
587
587
 
588
588
  getReadOnlyExtension() {
589
- if(this.readonly || this.disabled) {
590
- return [
591
- EditorState.readOnly.of(true),
592
- EditorView.editable.of(false),
593
- ]
594
- }
595
- return [];
589
+ return (this.readonly || this.disabled) ? EditorState.readOnly.of(true) : [];
596
590
  }
597
591
 
598
592
  getSingleLineExtension() {
@@ -289,6 +289,9 @@ export class NileDropdown extends NileElement {
289
289
  if(this.noOpenOnClick){
290
290
  return;
291
291
  }
292
+ if (this.disabled || this.isTriggerDisabled()) {
293
+ return;
294
+ }
292
295
  if (this.open) {
293
296
  this.hide();
294
297
  } else {
@@ -353,6 +356,11 @@ export class NileDropdown extends NileElement {
353
356
  this.updateAccessibleTrigger();
354
357
  }
355
358
 
359
+ private isTriggerDisabled(): boolean {
360
+ const trigger = this.querySelector('[slot="trigger"]') as any;
361
+ return trigger?.hasAttribute?.('disabled');
362
+ }
363
+
356
364
  //
357
365
  // Slotted triggers can be arbitrary content, but we need to link them to the dropdown panel with `aria-haspopup` and
358
366
  // `aria-expanded`. These must be applied to the "accessible trigger" (the tabbable portion of the trigger element
@@ -387,7 +395,7 @@ export class NileDropdown extends NileElement {
387
395
 
388
396
  /** Shows the dropdown panel. */
389
397
  async show() {
390
- if (this.open) {
398
+ if (this.open || this.disabled || this.isTriggerDisabled()) {
391
399
  return undefined;
392
400
  }
393
401
 
@@ -429,6 +437,8 @@ export class NileDropdown extends NileElement {
429
437
  document.removeEventListener('mousedown', this.handleDocumentMouseDown);
430
438
  }
431
439
 
440
+ private _triggerDisabledByDropdown = false;
441
+
432
442
  protected updated(changedProperties: PropertyValues): void {
433
443
  super.updated(changedProperties);
434
444
 
@@ -451,17 +461,21 @@ export class NileDropdown extends NileElement {
451
461
  private updateTriggerDisabledState() {
452
462
  const trigger = this.querySelector('[slot="trigger"]') as any;
453
463
  if (!trigger) return;
454
- const triggerAlreadyDisabled = trigger.hasAttribute('disabled');
455
- if (this.disabled || triggerAlreadyDisabled) {
464
+ if (this.disabled) {
465
+ if (!trigger.disabled) {
466
+ this._triggerDisabledByDropdown = true;
467
+ }
456
468
  trigger.disabled = true;
457
- this.disabled = true;
469
+ } else if (this._triggerDisabledByDropdown) {
470
+ trigger.disabled = false;
471
+ this._triggerDisabledByDropdown = false;
458
472
  }
459
473
  }
460
474
 
461
475
  @watch('open', { waitUntilFirstUpdate: true })
462
476
  async handleOpenChange() {
463
477
  this.visibilityManager?.setup();
464
- if (this.disabled) {
478
+ if (this.open && (this.disabled || this.isTriggerDisabled())) {
465
479
  this.open = false;
466
480
  return;
467
481
  }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNi4xNDM2IDYuOTk4MDNMOC44OTk4NSA5Ljc1NDI4TDguMzU4MDggMTAuMjk2MUw1LjA2MDA2IDYuOTk4MDNMOC4zNTgwOCAzLjcwMDAxTDguODk5ODUgNC4yNDE3OEw2LjE0MzYgNi45OTgwM1oiIGZpbGw9ImJsYWNrIi8+PC9zdmc+";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy44MTYzMSA2Ljk5ODAzTDUuMDYwMDYgNC4yNDE3OEw1LjYwMTgzIDMuNzAwMDFMOC44OTk4NSA2Ljk5ODAzTDUuNjAxODMgMTAuMjk2MUw1LjA2MDA2IDkuNzU0MjhMNy44MTYzMSA2Ljk5ODAzWiIgZmlsbD0iYmxhY2siLz48L3N2Zz4=";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNi4xNDM2IDYuOTk4MDNMOC44OTk4NSA5Ljc1NDI4TDguMzU4MDggMTAuMjk2MUw1LjA2MDA2IDYuOTk4MDNMOC4zNTgwOCAzLjcwMDAxTDguODk5ODUgNC4yNDE3OEw2LjE0MzYgNi45OTgwM1oiIGZpbGw9ImJsYWNrIi8+PC9zdmc+";
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Do not edit directly
3
+ */
4
+
5
+ export default "PHN2ZyB3aWR0aD0iMTQiIGhlaWdodD0iMTQiIHZpZXdCb3g9IjAgMCAxNCAxNCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBkPSJNNy44MTYzMSA2Ljk5ODAzTDUuMDYwMDYgNC4yNDE3OEw1LjYwMTgzIDMuNzAwMDFMOC44OTk4NSA2Ljk5ODAzTDUuNjAxODMgMTAuMjk2MUw1LjA2MDA2IDkuNzU0MjhMNy44MTYzMSA2Ljk5ODAzWiIgZmlsbD0iYmxhY2siLz48L3N2Zz4=";
@@ -25,8 +25,12 @@ export { default as arrayofinteger } from './array-of-integer';
25
25
  export { default as arrayofstring } from './array-of-string';
26
26
  export { default as array } from './array';
27
27
  export { default as arrayofobject } from './arrayofobject';
28
+ export { default as arrowleftsmall } from './arrow-left-small';
28
29
  export { default as arrownarrowleft } from './arrow-narrow-left';
30
+ export { default as arrowrightsmall } from './arrow-right-small';
29
31
  export { default as arrow } from './arrow';
32
+ export { default as arrow_left_small } from './arrow_left_small';
33
+ export { default as arrow_right_small } from './arrow_right_small';
30
34
  export { default as arrowdown } from './arrowdown';
31
35
  export { default as arrowdropdown } from './arrowdropdown';
32
36
  export { default as arrowdropup } from './arrowdropup';
@@ -39,7 +39,6 @@ export const styles = css`
39
39
  .menu-item {
40
40
  position: relative;
41
41
  display: flex;
42
- border-radius: var(--nile-radius-sm,var(--ng-radius-sm));
43
42
  align-items: stretch;
44
43
  font-size: var(--nile-font-size-rem-large ,var(--ng-font-size-text-sm));
45
44
  font-weight: var(--nile-font-weight-regular,var(--ng-font-weight-semibold));
@@ -54,6 +53,11 @@ export const styles = css`
54
53
  padding: var(--nile-spacing-none, var(--ng-spacing-md)) var(--nile-spacing-xl, var(--ng-spacing-xl));
55
54
  }
56
55
 
56
+ .menu-item.menu-item--active {
57
+ background-color: var(--nile-colors-primary-100, var(--ng-colors-bg-active));
58
+ color: var(--nile-colors-primary-600, var(--ng-colors-text-primary-900));
59
+ }
60
+
57
61
  .menu-item.menu-item--disabled {
58
62
  outline: none;
59
63
  opacity: 0.5;
@@ -89,11 +93,16 @@ export const styles = css`
89
93
  outline: none;
90
94
  }
91
95
 
92
- :host(:hover:not([aria-disabled='true'], :focus-visible)) .menu-item {
96
+ :host(:hover:not([active], [aria-disabled='true'], :focus-visible)) .menu-item {
93
97
  background-color: var(--nile-colors-neutral-100,var(--ng-colors-bg-primary-hover));
94
98
  color: var(--nile-colors-dark-900,var(--ng-colors-text-secondary-hover));
95
99
  }
96
100
 
101
+ :host([active]:hover:not([aria-disabled='true'], :focus-visible)) .menu-item {
102
+ background-color: var(--nile-colors-primary-100, var(--ng-colors-bg-active));
103
+ color: var(--nile-colors-primary-600, var(--ng-colors-text-primary-900));
104
+ }
105
+
97
106
  :host(:focus-visible) .menu-item {
98
107
  outline: none;
99
108
  background-color: var(--nile-colors-blue-500,var(--ng-colors-bg-active));
@@ -65,6 +65,9 @@ export class NileMenuItem extends NileElement {
65
65
  /** Draws the menu item in a disabled state, preventing selection. */
66
66
  @property({ type: Boolean, reflect: true }) disabled = false;
67
67
 
68
+ /** Draws the menu item in an active/selected state. */
69
+ @property({ type: Boolean, reflect: true }) active = false;
70
+
68
71
  /** Draws the item in a checked state. */
69
72
  @property({ type: Boolean, reflect: true }) hasSubMenu = false;
70
73
 
@@ -152,7 +155,8 @@ export class NileMenuItem extends NileElement {
152
155
  'menu-item': true,
153
156
  'menu-item--checked': this.checked,
154
157
  'menu-item--disabled': this.disabled,
155
- 'menu-item--has-submenu': this.hasSubMenu, // reserved for future use
158
+ 'menu-item--active': this.active,
159
+ 'menu-item--has-submenu': this.hasSubMenu,
156
160
  })}
157
161
  >
158
162
  ${this.checked
@@ -382,6 +382,12 @@ export const styles = css`
382
382
  border: 1px solid var(--nile-colors-neutral-500, var(--ng-colors-border-primary));
383
383
  }
384
384
 
385
+ .prev-button[disabled]::part(base) {
386
+ border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));
387
+ }
388
+ .next-button[disabled]::part(base) {
389
+ border: 1px solid var(--nile-colors-neutral-400, var(--ng-colors-border-disabled));
390
+ }
385
391
  `;
386
392
 
387
393
  export default [styles];
@@ -8,6 +8,7 @@ import NileElement from '../internal/nile-element';
8
8
  import styles from './nile-radio-group.css';
9
9
  import type { CSSResultGroup, PropertyValues } from 'lit';
10
10
  import type NileRadio from '../nile-radio/nile-radio';
11
+ import { Nile_Events } from '../internal/enum';
11
12
 
12
13
  /**
13
14
  * @summary Radio groups are used to group multiple [radios](/components/radio) or [radio buttons](/components/radio-button) so they function as a single form control.
@@ -111,9 +112,13 @@ export class NileRadioGroup extends NileElement {
111
112
  if (!this.allowUncheckGroup && this.value !== oldValue) {
112
113
  this.emit('change', { value: this.value});
113
114
  this.emit('input');
115
+ this.emit(Nile_Events.NILE_CHANGE, { value: this.value});
116
+ this.emit(Nile_Events.NILE_INPUT, { value: this.value});
114
117
  } else if (this.allowUncheckGroup) {
115
118
  this.emit('change', { value: this.value , checked: target.checked});
116
119
  this.emit('input');
120
+ this.emit(Nile_Events.NILE_CHANGE, { value: this.value , checked: target.checked});
121
+ this.emit(Nile_Events.NILE_INPUT, { value: this.value , checked: target.checked});
117
122
  }
118
123
  }
119
124
 
@@ -183,6 +188,8 @@ export class NileRadioGroup extends NileElement {
183
188
  if (this.value !== oldValue) {
184
189
  this.emit('change');
185
190
  this.emit('input');
191
+ this.emit(Nile_Events.NILE_CHANGE, { value: this.value});
192
+ this.emit(Nile_Events.NILE_INPUT, { value: this.value});
186
193
  }
187
194
 
188
195
  event.preventDefault();
@@ -3,8 +3,7 @@ export function toggleList(root: HTMLElement, kind: 'ul' | 'ol') {
3
3
  if (!sel || sel.rangeCount === 0) return;
4
4
  const range = sel.getRangeAt(0);
5
5
  function styleList(list: HTMLElement) {
6
- list.style.paddingInlineStart = '0';
7
- list.style.margin = '0';
6
+ list.style.margin = '0';
8
7
  }
9
8
 
10
9
  function isEmptyBlock(el: HTMLElement) {
@@ -1552,7 +1552,7 @@
1552
1552
  },
1553
1553
  {
1554
1554
  "name": "nile-dropdown",
1555
- "description": "Nile icon component.\n\nEvents:\n\n * `nile-show` {} - Emitted when the dropdown opens.\n\n * `nile-after-show` {} - Emitted after the dropdown opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the dropdown closes.\n\n * `nile-after-hide` {} - Emitted after the dropdown closes and all animations are complete.\n\nSlots:\n\n * ` ` {} - The dropdown's main content.\n\n * `trigger` {} - The dropdown's trigger, usually a `<nile-button>` element.\n\nAttributes:\n\n * `open` {`boolean`} - Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n\n * `placement` {`TooltipPosition`} - The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.\n\n * `disabled` {`boolean`} - Disables the dropdown so the panel will not open.\n\n * `stay-open-on-select` {`boolean`} - By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.\n\n * `distance` {`number`} - The distance in pixels from which to offset the panel away from its trigger.\n\n * `noOpenOnClick` {`boolean`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the panel along its trigger.\n\n * `sync` {`\"width\" | \"height\" | \"both\"`} - Syncs the popup's width or height to that of the anchor element.\n\n * `hoist` {`boolean`} - Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `portal` {`boolean`} - Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\nThis provides better positioning control and prevents clipping issues in complex layouts.\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\nProperties:\n\n * `styles` - \n\n * `popup` - \n\n * `trigger` {`HTMLSlotElement`} - \n\n * `panel` {`HTMLSlotElement`} - \n\n * `open` {`boolean`} - Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n\n * `placement` {`TooltipPosition`} - The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.\n\n * `disabled` {`boolean`} - Disables the dropdown so the panel will not open.\n\n * `stayOpenOnSelect` {`boolean`} - By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.\n\n * `containingElement` {`HTMLElement | undefined`} - The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other\ncomponents that use a dropdown internally.\n\n * `distance` {`number`} - The distance in pixels from which to offset the panel away from its trigger.\n\n * `noOpenOnClick` {`boolean`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the panel along its trigger.\n\n * `sync` {`\"width\" | \"height\" | \"both\"`} - Syncs the popup's width or height to that of the anchor element.\n\n * `hoist` {`boolean`} - Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `portal` {`boolean`} - Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\nThis provides better positioning control and prevents clipping issues in complex layouts.\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `portalManager` - \n\n * `visibilityManager` - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
1555
+ "description": "Nile icon component.\n\nEvents:\n\n * `nile-show` {} - Emitted when the dropdown opens.\n\n * `nile-after-show` {} - Emitted after the dropdown opens and all animations are complete.\n\n * `nile-hide` {} - Emitted when the dropdown closes.\n\n * `nile-after-hide` {} - Emitted after the dropdown closes and all animations are complete.\n\nSlots:\n\n * ` ` {} - The dropdown's main content.\n\n * `trigger` {} - The dropdown's trigger, usually a `<nile-button>` element.\n\nAttributes:\n\n * `open` {`boolean`} - Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n\n * `placement` {`TooltipPosition`} - The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.\n\n * `disabled` {`boolean`} - Disables the dropdown so the panel will not open.\n\n * `stay-open-on-select` {`boolean`} - By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.\n\n * `distance` {`number`} - The distance in pixels from which to offset the panel away from its trigger.\n\n * `noOpenOnClick` {`boolean`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the panel along its trigger.\n\n * `sync` {`\"width\" | \"height\" | \"both\"`} - Syncs the popup's width or height to that of the anchor element.\n\n * `hoist` {`boolean`} - Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `portal` {`boolean`} - Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\nThis provides better positioning control and prevents clipping issues in complex layouts.\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\nProperties:\n\n * `styles` - \n\n * `popup` - \n\n * `trigger` {`HTMLSlotElement`} - \n\n * `panel` {`HTMLSlotElement`} - \n\n * `open` {`boolean`} - Indicates whether or not the dropdown is open. You can toggle this attribute to show and hide the dropdown, or you\ncan use the `show()` and `hide()` methods and this attribute will reflect the dropdown's open state.\n\n * `placement` {`TooltipPosition`} - The preferred placement of the dropdown panel. Note that the actual placement may vary as needed to keep the panel\ninside of the viewport.\n\n * `disabled` {`boolean`} - Disables the dropdown so the panel will not open.\n\n * `stayOpenOnSelect` {`boolean`} - By default, the dropdown is closed when an item is selected. This attribute will keep it open instead. Useful for\ndropdowns that allow for multiple interactions.\n\n * `containingElement` {`HTMLElement | undefined`} - The dropdown will close when the user interacts outside of this element (e.g. clicking). Useful for composing other\ncomponents that use a dropdown internally.\n\n * `distance` {`number`} - The distance in pixels from which to offset the panel away from its trigger.\n\n * `noOpenOnClick` {`boolean`} - \n\n * `skidding` {`number`} - The distance in pixels from which to offset the panel along its trigger.\n\n * `sync` {`\"width\" | \"height\" | \"both\"`} - Syncs the popup's width or height to that of the anchor element.\n\n * `hoist` {`boolean`} - Enable this option to prevent the panel from being clipped when the component is placed inside a container with\n`overflow: auto|scroll`. Hoisting uses a fixed positioning strategy that works in many, but not all, scenarios.\n\n * `portal` {`boolean`} - Enable portal mode to render the dropdown panel in a portal outside the component's DOM tree.\nThis provides better positioning control and prevents clipping issues in complex layouts.\n\n * `enableVisibilityEffect` {`boolean`} - \n\n * `enableTabClose` {`boolean`} - \n\n * `portalManager` - \n\n * `visibilityManager` - \n\n * `_triggerDisabledByDropdown` {`boolean`} - \n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
1556
1556
  "attributes": [
1557
1557
  {
1558
1558
  "name": "open",
@@ -3514,7 +3514,7 @@
3514
3514
  },
3515
3515
  {
3516
3516
  "name": "nile-menu-item",
3517
- "description": "Nile icon component.\n\nSlots:\n\n * ` ` {} - The menu item's label.\n\n * `prefix` {} - Used to prepend an icon or similar element to the menu item.\n\n * `suffix` {} - Used to append an icon or similar element to the menu item.\n\nAttributes:\n\n * `type` {`\"normal\" | \"checkbox\"`} - The type of menu item to render. To use `checked`, this value must be set to `checkbox`.\n\n * `checked` {`boolean`} - Draws the item in a checked state.\n\n * `value` {`string`} - A unique value to store in the menu item. This can be used as a way to identify menu items when selected.\n\n * `disabled` {`boolean`} - Draws the menu item in a disabled state, preventing selection.\n\n * `hasSubMenu` {`boolean`} - Draws the item in a checked state.\n\nProperties:\n\n * `styles` - \n\n * `cachedTextLabel` {`string`} - \n\n * `defaultSlot` {`HTMLSlotElement`} - \n\n * `menuItem` {`HTMLElement`} - \n\n * `type` {`\"normal\" | \"checkbox\"`} - The type of menu item to render. To use `checked`, this value must be set to `checkbox`.\n\n * `checked` {`boolean`} - Draws the item in a checked state.\n\n * `value` {`string`} - A unique value to store in the menu item. This can be used as a way to identify menu items when selected.\n\n * `disabled` {`boolean`} - Draws the menu item in a disabled state, preventing selection.\n\n * `hasSubMenu` {`boolean`} - Draws the item in a checked state.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3517
+ "description": "Nile icon component.\n\nSlots:\n\n * ` ` {} - The menu item's label.\n\n * `prefix` {} - Used to prepend an icon or similar element to the menu item.\n\n * `suffix` {} - Used to append an icon or similar element to the menu item.\n\nAttributes:\n\n * `type` {`\"normal\" | \"checkbox\"`} - The type of menu item to render. To use `checked`, this value must be set to `checkbox`.\n\n * `checked` {`boolean`} - Draws the item in a checked state.\n\n * `value` {`string`} - A unique value to store in the menu item. This can be used as a way to identify menu items when selected.\n\n * `disabled` {`boolean`} - Draws the menu item in a disabled state, preventing selection.\n\n * `active` {`boolean`} - Draws the menu item in an active/selected state.\n\n * `hasSubMenu` {`boolean`} - Draws the item in a checked state.\n\nProperties:\n\n * `styles` - \n\n * `cachedTextLabel` {`string`} - \n\n * `defaultSlot` {`HTMLSlotElement`} - \n\n * `menuItem` {`HTMLElement`} - \n\n * `type` {`\"normal\" | \"checkbox\"`} - The type of menu item to render. To use `checked`, this value must be set to `checkbox`.\n\n * `checked` {`boolean`} - Draws the item in a checked state.\n\n * `value` {`string`} - A unique value to store in the menu item. This can be used as a way to identify menu items when selected.\n\n * `disabled` {`boolean`} - Draws the menu item in a disabled state, preventing selection.\n\n * `active` {`boolean`} - Draws the menu item in an active/selected state.\n\n * `hasSubMenu` {`boolean`} - Draws the item in a checked state.\n\n * `BUBBLES` {`boolean`} - \n\n * `COMPOSED` {`boolean`} - \n\n * `CANCELABLE` {`boolean`} - ",
3518
3518
  "attributes": [
3519
3519
  {
3520
3520
  "name": "type",
@@ -3542,6 +3542,11 @@
3542
3542
  "description": "`disabled` {`boolean`} - Draws the menu item in a disabled state, preventing selection.\n\nProperty: disabled\n\nDefault: false",
3543
3543
  "valueSet": "v"
3544
3544
  },
3545
+ {
3546
+ "name": "active",
3547
+ "description": "`active` {`boolean`} - Draws the menu item in an active/selected state.\n\nProperty: active\n\nDefault: false",
3548
+ "valueSet": "v"
3549
+ },
3545
3550
  {
3546
3551
  "name": "hasSubMenu",
3547
3552
  "description": "`hasSubMenu` {`boolean`} - Draws the item in a checked state.\n\nProperty: hasSubMenu\n\nDefault: false",