@aquera/nile-elements 2.0.11 → 2.0.13

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 (74) hide show
  1. package/README.md +7 -0
  2. package/demo/app-shell.html +21 -21
  3. package/dist/index.js +170 -167
  4. package/dist/nile-app-shell/nile-app-shell.cjs.js +1 -1
  5. package/dist/nile-app-shell/nile-app-shell.cjs.js.map +1 -1
  6. package/dist/nile-app-shell/nile-app-shell.css.cjs.js +1 -1
  7. package/dist/nile-app-shell/nile-app-shell.css.cjs.js.map +1 -1
  8. package/dist/nile-app-shell/nile-app-shell.css.esm.js +35 -32
  9. package/dist/nile-app-shell/nile-app-shell.esm.js +39 -34
  10. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.cjs.js +1 -1
  11. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.cjs.js.map +1 -1
  12. package/dist/nile-app-shell-panel/nile-app-shell-panel.css.esm.js +3 -1
  13. package/dist/nile-select/nile-select.cjs.js +2 -2
  14. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  15. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  16. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  17. package/dist/nile-select/nile-select.css.esm.js +12 -17
  18. package/dist/nile-select/nile-select.esm.js +43 -42
  19. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  20. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  21. package/dist/nile-select/virtual-scroll-helper.esm.js +2 -0
  22. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +4 -4
  23. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  24. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  25. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  26. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +12 -17
  27. package/dist/nile-virtual-select/nile-virtual-select.esm.js +26 -26
  28. package/dist/src/nile-app-shell/nile-app-shell-regions.test.js +9 -5
  29. package/dist/src/nile-app-shell/nile-app-shell-regions.test.js.map +1 -1
  30. package/dist/src/nile-app-shell/nile-app-shell.css.js +33 -30
  31. package/dist/src/nile-app-shell/nile-app-shell.css.js.map +1 -1
  32. package/dist/src/nile-app-shell/nile-app-shell.d.ts +22 -22
  33. package/dist/src/nile-app-shell/nile-app-shell.js +86 -76
  34. package/dist/src/nile-app-shell/nile-app-shell.js.map +1 -1
  35. package/dist/src/nile-app-shell/nile-app-shell.test.d.ts +1 -0
  36. package/dist/src/nile-app-shell/nile-app-shell.test.js +307 -89
  37. package/dist/src/nile-app-shell/nile-app-shell.test.js.map +1 -1
  38. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.css.js +3 -1
  39. package/dist/src/nile-app-shell-panel/nile-app-shell-panel.css.js.map +1 -1
  40. package/dist/src/nile-select/nile-select.css.js +12 -17
  41. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  42. package/dist/src/nile-select/nile-select.d.ts +18 -2
  43. package/dist/src/nile-select/nile-select.js +226 -64
  44. package/dist/src/nile-select/nile-select.js.map +1 -1
  45. package/dist/src/nile-select/nile-select.test.d.ts +1 -0
  46. package/dist/src/nile-select/nile-select.test.js +896 -17
  47. package/dist/src/nile-select/nile-select.test.js.map +1 -1
  48. package/dist/src/nile-select/virtual-scroll-helper.js +2 -0
  49. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  50. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +12 -17
  51. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  52. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +10 -2
  53. package/dist/src/nile-virtual-select/nile-virtual-select.js +142 -30
  54. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  55. package/dist/src/nile-virtual-select/nile-virtual-select.test.d.ts +1 -0
  56. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +331 -16
  57. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
  58. package/dist/src/version.js +1 -1
  59. package/dist/src/version.js.map +1 -1
  60. package/dist/tsconfig.tsbuildinfo +1 -1
  61. package/package.json +1 -1
  62. package/src/nile-app-shell/nile-app-shell-regions.test.ts +9 -5
  63. package/src/nile-app-shell/nile-app-shell.css.ts +33 -30
  64. package/src/nile-app-shell/nile-app-shell.test.ts +348 -105
  65. package/src/nile-app-shell/nile-app-shell.ts +89 -82
  66. package/src/nile-app-shell-panel/nile-app-shell-panel.css.ts +3 -1
  67. package/src/nile-select/nile-select.css.ts +12 -17
  68. package/src/nile-select/nile-select.test.ts +1112 -17
  69. package/src/nile-select/nile-select.ts +237 -67
  70. package/src/nile-select/virtual-scroll-helper.ts +2 -0
  71. package/src/nile-virtual-select/nile-virtual-select.css.ts +12 -17
  72. package/src/nile-virtual-select/nile-virtual-select.test.ts +404 -16
  73. package/src/nile-virtual-select/nile-virtual-select.ts +200 -79
  74. package/vscode-html-custom-data.json +36 -41
package/README.md CHANGED
@@ -91,6 +91,13 @@ To run a local development server that serves the basic demo located in `demo/in
91
91
 
92
92
  In this section, you can find the updates for each release of `nile-elements`. It's a good practice to maintain detailed release notes to help users and developers understand what changes have been made from one version to another and how these changes might affect their projects.
93
93
 
94
+ #### Version 2.0.13 (October 01, 2026)
95
+ - Nile Select: Chip resizing, the `+N` overflow button and chip tooltips now apply only when `showTooltip` is set. Fixed value sync in virtual-scroll mode, dropdown collapse with `noWidthSync`, and chip sizing/tooltip issues (UIF-1372)
96
+ - Nile Virtual Select: Fixed dropdown collapse with `noWidthSync` and missing tooltips on truncated chips (UIF-1372)
97
+
98
+ #### Version 2.0.12 (September 30, 2026)
99
+ - App Shell: Header matches the Nile NG design; added `headerBack`, `headerBackLabel` and back `nile-click` `{ value: 'back' }`, replacing `leading`, `backLabel` and `nile-header-back` (UIF-1371)
100
+
94
101
  #### Version 2.0.11 (September 29, 2026)
95
102
  - App Shell: Added header variants: a title with an optional `description` and `badge`, a `leading` back breadcrumb or app icon, and optional tabs, at 68px, 76px (description), 101px (tabs) and 109px (both) (UIF-1369)
96
103
 
@@ -159,7 +159,7 @@
159
159
  /* ----------------------------------------------- header variant gallery
160
160
  *
161
161
  * The AC-7 comparison surface: the header's three Figma axes crossed out
162
- * in full, twelve cards that differ ONLY by those axes, grouped under
162
+ * in full, sixteen cards (the arrow and the app icon are independent) that differ ONLY by those axes, grouped under
163
163
  * the height each pair of axes is meant to produce. Everything here is
164
164
  * prefixed vg- so it cannot collide with the reference demo above.
165
165
  */
@@ -342,7 +342,7 @@
342
342
  <!--
343
343
  Two views, switched by ?view= and the pill bottom-right:
344
344
  (default) the reference shell, one realistic page
345
- ?view=variants the AC-7 comparison surface, all 12 header variants
345
+ ?view=variants the AC-7 comparison surface, all 16 header variants
346
346
  -->
347
347
  <div id="vgShellView" style="height: 100%">
348
348
  <nile-app-shell id="shell" full-height persist-key="demo-shell">
@@ -488,7 +488,7 @@
488
488
 
489
489
  <!--
490
490
  The header variant gallery. The cards are generated from the axis matrix
491
- rather than written out twelve times, so the only thing that can differ
491
+ rather than written out sixteen times, so the only thing that can differ
492
492
  between them is the axes themselves — which is the whole point of a
493
493
  parity comparison.
494
494
  -->
@@ -618,10 +618,12 @@
618
618
  { tabs: true, description: true, height: 109 },
619
619
  ];
620
620
 
621
+ /* headerBack and the app-icon slot are independent (Amendment A), so each section shows all four combinations. */
621
622
  const LEADINGS = [
622
- { value: 'none', label: 'Leading=None' },
623
- { value: 'back', label: 'Leading=Back' },
624
- { value: 'app-icon', label: 'Leading=AppIcon' },
623
+ { value: 'none', back: false, icon: false, label: 'Title only' },
624
+ { value: 'back', back: true, icon: false, label: 'headerBack' },
625
+ { value: 'app-icon', back: false, icon: true, label: 'app-icon slot' },
626
+ { value: 'back+app-icon', back: true, icon: true, label: 'headerBack + app-icon' },
625
627
  ];
626
628
 
627
629
  const DESCRIPTION = 'Manage the applications connected to this tenant';
@@ -638,7 +640,9 @@
638
640
  const card = (n, section, leading) => {
639
641
  const axes = `tabs=${section.tabs ? 'on' : 'off'} · description=${
640
642
  section.description ? 'on' : 'off'
641
- } · leading=${leading.value}`;
643
+ } · headerBack=${leading.back ? 'on' : 'off'} · app-icon=${
644
+ leading.icon ? 'slotted' : 'empty'
645
+ }`;
642
646
 
643
647
  return `
644
648
  <div class="vg-card">
@@ -662,9 +666,8 @@
662
666
  <nile-app-shell
663
667
  pageTitle="Connected applications"
664
668
  badge="94 apps"
665
- leading="${leading.value}"
669
+ ${leading.back ? 'headerBack' : ''}
666
670
  ${section.description ? `description="${DESCRIPTION}"` : ''}
667
- ${leading.value === 'back' ? 'backLabel="Integrations"' : ''}
668
671
  no-panel-shortcut
669
672
  >
670
673
  <nav slot="side-nav" class="vg-nav">
@@ -672,7 +675,7 @@
672
675
  <span>Requests</span>
673
676
  </nav>
674
677
  ${
675
- leading.value === 'app-icon'
678
+ leading.icon
676
679
  ? `<nile-glyph
677
680
  slot="app-icon"
678
681
  name="ng-layers-2"
@@ -775,22 +778,19 @@
775
778
  }
776
779
 
777
780
  /*
778
- * The leading element belongs to the title's row, so it sits 2px
779
- * below the title's top edge — (24px line box - 20px control) / 2 —
780
- * whether or not there is a description under it. The app icon is
781
- * 20px, its own size rather than the 32px utility control box.
781
+ * The back arrow and the app icon both belong to the title's row, so
782
+ * each sits 2px below the title's top edge — (24px line box - 20px) / 2 —
783
+ * whether or not there is a description under it. With both, the
784
+ * chip measures the icon; the arrow shares its row.
782
785
  */
783
786
  if (entry.leadChip) {
784
787
  const title = root
785
788
  .querySelector('[part~="page-title"]')
786
789
  .getBoundingClientRect();
787
- const icon = root.querySelector('[part~="app-icon"]');
788
- /*
789
- * For leading=back the 20px element is the ARROW, not the control:
790
- * the control is the title's own 24px line box, so its label sits
791
- * level with the page title (+0) while the arrow centres in it
792
- * (+2). Measuring the control box would report +0 and look wrong.
793
- */
790
+ /* The app-icon box is always in the shadow tree (hidden when empty), so only count it when the slot is filled. */
791
+ const icon = entry.shell.hasAttribute('has-app-icon')
792
+ ? root.querySelector('[part~="app-icon"]')
793
+ : null;
794
794
  const measured = icon
795
795
  ? icon
796
796
  : root.querySelector('[part~="back"]').querySelector('nile-glyph');