@aquera/nile-elements 2.0.8 → 2.0.10

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 (97) hide show
  1. package/README.md +12 -0
  2. package/demo/nxtgen-classes.css +5 -5
  3. package/demo/nxtgen-dark.css +25 -25
  4. package/demo/nxtgen-properties.css +2 -2
  5. package/demo/nxtgen-utilities.css +5 -5
  6. package/demo/nxtgen.css +5 -5
  7. package/demo/utilities.css +2 -2
  8. package/demo/variables.css +2 -2
  9. package/dist/index.js +634 -264
  10. package/dist/nile-badge/nile-badge.css.cjs.js +1 -1
  11. package/dist/nile-badge/nile-badge.css.cjs.js.map +1 -1
  12. package/dist/nile-badge/nile-badge.css.esm.js +2 -2
  13. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js +1 -1
  14. package/dist/nile-button-toggle/nile-button-toggle.css.cjs.js.map +1 -1
  15. package/dist/nile-button-toggle/nile-button-toggle.css.esm.js +2 -2
  16. package/dist/nile-code-editor/nile-code-editor.cjs.js +1 -1
  17. package/dist/nile-code-editor/nile-code-editor.cjs.js.map +1 -1
  18. package/dist/nile-code-editor/nile-code-editor.esm.js +1 -1
  19. package/dist/nile-menu-item/nile-menu-item.css.cjs.js +1 -1
  20. package/dist/nile-menu-item/nile-menu-item.css.cjs.js.map +1 -1
  21. package/dist/nile-menu-item/nile-menu-item.css.esm.js +1 -1
  22. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
  23. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
  24. package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +5 -2
  25. package/dist/nile-select/index.cjs.js +1 -1
  26. package/dist/nile-select/index.esm.js +1 -1
  27. package/dist/nile-select/nile-select.cjs.js +2 -1
  28. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  29. package/dist/nile-select/nile-select.css.cjs.js +1 -1
  30. package/dist/nile-select/nile-select.css.cjs.js.map +1 -1
  31. package/dist/nile-select/nile-select.css.esm.js +126 -6
  32. package/dist/nile-select/nile-select.esm.js +77 -11
  33. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  34. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  35. package/dist/nile-select/virtual-scroll-helper.esm.js +3 -1
  36. package/dist/nile-toast/nile-toast.css.cjs.js +1 -1
  37. package/dist/nile-toast/nile-toast.css.cjs.js.map +1 -1
  38. package/dist/nile-toast/nile-toast.css.esm.js +5 -5
  39. package/dist/nile-virtual-select/index.cjs.js +1 -1
  40. package/dist/nile-virtual-select/index.esm.js +1 -1
  41. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +4 -3
  42. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  43. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js +1 -1
  44. package/dist/nile-virtual-select/nile-virtual-select.css.cjs.js.map +1 -1
  45. package/dist/nile-virtual-select/nile-virtual-select.css.esm.js +126 -6
  46. package/dist/nile-virtual-select/nile-virtual-select.esm.js +71 -12
  47. package/dist/src/nile-badge/nile-badge.css.js +2 -2
  48. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  49. package/dist/src/nile-button-toggle/nile-button-toggle.css.js +2 -2
  50. package/dist/src/nile-button-toggle/nile-button-toggle.css.js.map +1 -1
  51. package/dist/src/nile-code-editor/nile-code-editor.d.ts +1 -1
  52. package/dist/src/nile-code-editor/nile-code-editor.js +2 -2
  53. package/dist/src/nile-code-editor/nile-code-editor.js.map +1 -1
  54. package/dist/src/nile-menu-item/nile-menu-item.css.js +1 -1
  55. package/dist/src/nile-menu-item/nile-menu-item.css.js.map +1 -1
  56. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +5 -2
  57. package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
  58. package/dist/src/nile-select/nile-select.css.js +126 -6
  59. package/dist/src/nile-select/nile-select.css.js.map +1 -1
  60. package/dist/src/nile-select/nile-select.d.ts +43 -5
  61. package/dist/src/nile-select/nile-select.js +445 -106
  62. package/dist/src/nile-select/nile-select.js.map +1 -1
  63. package/dist/src/nile-select/nile-select.test.d.ts +1 -0
  64. package/dist/src/nile-select/nile-select.test.js +342 -1
  65. package/dist/src/nile-select/nile-select.test.js.map +1 -1
  66. package/dist/src/nile-select/virtual-scroll-helper.js +3 -1
  67. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  68. package/dist/src/nile-toast/nile-toast.css.js +5 -5
  69. package/dist/src/nile-toast/nile-toast.css.js.map +1 -1
  70. package/dist/src/nile-virtual-select/nile-virtual-select.css.js +126 -6
  71. package/dist/src/nile-virtual-select/nile-virtual-select.css.js.map +1 -1
  72. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +45 -4
  73. package/dist/src/nile-virtual-select/nile-virtual-select.js +385 -59
  74. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  75. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +253 -1
  76. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
  77. package/dist/src/version.js +1 -1
  78. package/dist/src/version.js.map +1 -1
  79. package/dist/tsconfig.tsbuildinfo +1 -1
  80. package/dist/version.cjs.js +1 -1
  81. package/dist/version.cjs.js.map +1 -1
  82. package/dist/version.esm.js +1 -1
  83. package/package.json +1 -1
  84. package/src/nile-badge/nile-badge.css.ts +2 -2
  85. package/src/nile-button-toggle/nile-button-toggle.css.ts +2 -2
  86. package/src/nile-code-editor/nile-code-editor.ts +2 -2
  87. package/src/nile-menu-item/nile-menu-item.css.ts +1 -1
  88. package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +5 -2
  89. package/src/nile-select/nile-select.css.ts +126 -6
  90. package/src/nile-select/nile-select.test.ts +478 -1
  91. package/src/nile-select/nile-select.ts +499 -91
  92. package/src/nile-select/virtual-scroll-helper.ts +3 -1
  93. package/src/nile-toast/nile-toast.css.ts +5 -5
  94. package/src/nile-virtual-select/nile-virtual-select.css.ts +126 -6
  95. package/src/nile-virtual-select/nile-virtual-select.test.ts +352 -1
  96. package/src/nile-virtual-select/nile-virtual-select.ts +460 -55
  97. package/vscode-html-custom-data.json +40 -6
@@ -1,2 +1,2 @@
1
- System.register([],function(_export,_context){"use strict";var e;function n(){var _ref;return(_ref=function(){if("undefined"==typeof window||"function"!=typeof getComputedStyle)return null;try{return getComputedStyle(document.documentElement).getPropertyValue("--nile-version").trim().replace(/^["']|["']$/g,"")||null;}catch(_unused){return null;}}())!==null&&_ref!==void 0?_ref:"1.3.2";}return{setters:[],execute:function execute(){if("undefined"!=typeof window){window.nileElementsVersion="__NILE_ELEMENTS_VERSION__";e=null;Object.defineProperty(window,"nileVersion",{configurable:!0,get:function get(){return e!==null&&e!==void 0?e:n();},set:function set(n){e=n;}}),window.process=window.process||{env:{NODE_ENV:"production"}};}}};});
1
+ System.register([],function(_export,_context){"use strict";var e;function n(){var _ref;return(_ref=function(){if("undefined"==typeof window||"function"!=typeof getComputedStyle)return null;try{return getComputedStyle(document.documentElement).getPropertyValue("--nile-version").trim().replace(/^["']|["']$/g,"")||null;}catch(_unused){return null;}}())!==null&&_ref!==void 0?_ref:"1.3.3";}return{setters:[],execute:function execute(){if("undefined"!=typeof window){window.nileElementsVersion="__NILE_ELEMENTS_VERSION__";e=null;Object.defineProperty(window,"nileVersion",{configurable:!0,get:function get(){return e!==null&&e!==void 0?e:n();},set:function set(n){e=n;}}),window.process=window.process||{env:{NODE_ENV:"production"}};}}};});
2
2
  //# sourceMappingURL=version.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.cjs.js","sources":["../../src/version.ts","../../nile/lib/version.js"],"sourcesContent":["// Version utility.\n//\n// NILE_ELEMENTS_VERSION is this package's own version and is still substituted\n// at build time by scripts/replace-version.cjs.\n//\n// The tokens version is read from the loaded Nile stylesheet's --nile-version\n// custom property (stamped by @aquera/nile's scripts/stamp-css-version.mjs),\n// falling back to the @aquera/nile installed alongside this package.\n//\n// Reading the stylesheet is what makes a tokens-only release visible. The\n// imported constant alone is not enough: rollup.config.js bundles\n// @aquera/nile/lib/version.js into dist/index.js, so on the CDN build it is\n// frozen at this package's build time. The stylesheet is the live source.\nimport { NILE_VERSION as BUILT_IN_NILE_VERSION } from '@aquera/nile/lib/version.js';\n\nexport const NILE_ELEMENTS_VERSION = '__NILE_ELEMENTS_VERSION__';\n\nfunction readStylesheetNileVersion(): string | null {\n if (typeof window === 'undefined' || typeof getComputedStyle !== 'function') {\n return null;\n }\n\n try {\n const value = getComputedStyle(document.documentElement)\n .getPropertyValue('--nile-version')\n .trim()\n .replace(/^[\"']|[\"']$/g, '');\n\n return value || null;\n } catch {\n return null;\n }\n}\n\n/**\n * The version of @aquera/nile (tokens/stylesheets) whose CSS is loaded in the\n * page, falling back to the @aquera/nile bundled into this package when no\n * stamped stylesheet is present.\n *\n * This is the canonical runtime API. It resolves on every call rather than\n * caching, so it is correct even when the Nile stylesheet is added to the page\n * after this module evaluates - which is the common case, and why no\n * module-evaluation-time snapshot of it is exported.\n */\nexport function getNileVersion(): string {\n return readStylesheetNileVersion() ?? BUILT_IN_NILE_VERSION;\n}\n\n// Set global versions for runtime access\nif (typeof window !== 'undefined') {\n (window as any).nileElementsVersion = NILE_ELEMENTS_VERSION;\n\n // A getter rather than a value, so window.nileVersion reflects whichever\n // stylesheet is loaded at read time regardless of script/style ordering.\n let override: string | null = null;\n Object.defineProperty(window, 'nileVersion', {\n configurable: true,\n get: () => override ?? getNileVersion(),\n set: (value: string) => {\n override = value;\n },\n });\n\n (window as any).process = (window as any).process || {\n env: { NODE_ENV: 'production' },\n };\n}\n","// Generated by scripts/build-version.mjs - do not edit by hand.\nexport const NILE_VERSION = '1.3.2';\n"],"names":["getNileVersion","n","_ref","window","getComputedStyle","document","documentElement","getPropertyValue","trim","replace","_unused","readStylesheetNileVersion","setters","execute","nileElementsVersion","override","Object","defineProperty","configurable","get","set","value","process","env","NODE_ENV"],"mappings":"yEA4CgBA,CAAAA,CACdC,CAAA,CAAA,KAAAC,IAAA,CAAA,OAAAA,IAAA,CA5BF,UACE,CAAA,GAAsB,WAAXC,EAAAA,MAAAA,CAAAA,MAAAA,EAAsD,UAArBC,EAAAA,MAAAA,CAAAA,gBAAAA,CAC1C,MAAO,KAAA,CAGT,GAME,CAAA,MALcA,CAAAA,iBAAiBC,QAASC,CAAAA,eAAAA,CAAAA,CACrCC,gBAAiB,CAAA,gBAAA,CAAA,CACjBC,IACAC,CAAAA,CAAAA,CAAAA,OAAAA,CAAQ,cAAgB,CAAA,EAAA,CAAA,EAEX,IACjB,EAAC,MAAAC,OAAA,CACA,CAAA,MAAO,KACR,EACH,CAaSC,CAAAA,CAAAA,UAAAA,IAAAA,UAAAA,IAAAA,CC5CmB,OD6C5B,EAGA,OAAAC,OAAA,IAAAC,OAAA,UAAAA,QAAA,KAAsB,WAAXV,EAAAA,MAAAA,CAAAA,MAAAA,CAAwB,CAChCA,MAAAA,CAAeW,mBAnCmB,CAAA,2BAAA,CAuC/BC,CAAAA,CAA0B,IAC9BC,CAAAA,MAAAA,CAAOC,cAAed,CAAAA,MAAAA,CAAQ,aAAe,CAAA,CAC3Ce,cAAc,CACdC,CAAAA,GAAAA,CAAK,QAALA,CAAAA,GAAAA,CAAAA,QAAWJ,CAAAA,CAAAA,SAAAA,CAAAA,UAAAA,CAAAA,CAAYf,CACvBoB,CAAAA,CAAAA,GAAAA,GAAAA,CAAMC,QAAND,CAAAA,GAAAA,CAAMC,CACJN,CAAAA,CAAAA,CAAAA,CAAWM,CAAK,EAInBlB,CAAAA,CAAAA,CAAAA,MAAAA,CAAemB,OAAWnB,CAAAA,MAAAA,CAAemB,OAAW,EAAA,CACnDC,GAAK,CAAA,CAAEC,SAAU,YAErB,CAAA,CAAA,EAAA"}
1
+ {"version":3,"file":"version.cjs.js","sources":["../../src/version.ts","../../nile/lib/version.js"],"sourcesContent":["// Version utility.\n//\n// NILE_ELEMENTS_VERSION is this package's own version and is still substituted\n// at build time by scripts/replace-version.cjs.\n//\n// The tokens version is read from the loaded Nile stylesheet's --nile-version\n// custom property (stamped by @aquera/nile's scripts/stamp-css-version.mjs),\n// falling back to the @aquera/nile installed alongside this package.\n//\n// Reading the stylesheet is what makes a tokens-only release visible. The\n// imported constant alone is not enough: rollup.config.js bundles\n// @aquera/nile/lib/version.js into dist/index.js, so on the CDN build it is\n// frozen at this package's build time. The stylesheet is the live source.\nimport { NILE_VERSION as BUILT_IN_NILE_VERSION } from '@aquera/nile/lib/version.js';\n\nexport const NILE_ELEMENTS_VERSION = '__NILE_ELEMENTS_VERSION__';\n\nfunction readStylesheetNileVersion(): string | null {\n if (typeof window === 'undefined' || typeof getComputedStyle !== 'function') {\n return null;\n }\n\n try {\n const value = getComputedStyle(document.documentElement)\n .getPropertyValue('--nile-version')\n .trim()\n .replace(/^[\"']|[\"']$/g, '');\n\n return value || null;\n } catch {\n return null;\n }\n}\n\n/**\n * The version of @aquera/nile (tokens/stylesheets) whose CSS is loaded in the\n * page, falling back to the @aquera/nile bundled into this package when no\n * stamped stylesheet is present.\n *\n * This is the canonical runtime API. It resolves on every call rather than\n * caching, so it is correct even when the Nile stylesheet is added to the page\n * after this module evaluates - which is the common case, and why no\n * module-evaluation-time snapshot of it is exported.\n */\nexport function getNileVersion(): string {\n return readStylesheetNileVersion() ?? BUILT_IN_NILE_VERSION;\n}\n\n// Set global versions for runtime access\nif (typeof window !== 'undefined') {\n (window as any).nileElementsVersion = NILE_ELEMENTS_VERSION;\n\n // A getter rather than a value, so window.nileVersion reflects whichever\n // stylesheet is loaded at read time regardless of script/style ordering.\n let override: string | null = null;\n Object.defineProperty(window, 'nileVersion', {\n configurable: true,\n get: () => override ?? getNileVersion(),\n set: (value: string) => {\n override = value;\n },\n });\n\n (window as any).process = (window as any).process || {\n env: { NODE_ENV: 'production' },\n };\n}\n","// Generated by scripts/build-version.mjs - do not edit by hand.\nexport const NILE_VERSION = '1.3.3';\n"],"names":["getNileVersion","n","_ref","window","getComputedStyle","document","documentElement","getPropertyValue","trim","replace","_unused","readStylesheetNileVersion","setters","execute","nileElementsVersion","override","Object","defineProperty","configurable","get","set","value","process","env","NODE_ENV"],"mappings":"yEA4CgBA,CAAAA,CACdC,CAAA,CAAA,KAAAC,IAAA,CAAA,OAAAA,IAAA,CA5BF,UACE,CAAA,GAAsB,WAAXC,EAAAA,MAAAA,CAAAA,MAAAA,EAAsD,UAArBC,EAAAA,MAAAA,CAAAA,gBAAAA,CAC1C,MAAO,KAAA,CAGT,GAME,CAAA,MALcA,CAAAA,iBAAiBC,QAASC,CAAAA,eAAAA,CAAAA,CACrCC,gBAAiB,CAAA,gBAAA,CAAA,CACjBC,IACAC,CAAAA,CAAAA,CAAAA,OAAAA,CAAQ,cAAgB,CAAA,EAAA,CAAA,EAEX,IACjB,EAAC,MAAAC,OAAA,CACA,CAAA,MAAO,KACR,EACH,CAaSC,CAAAA,CAAAA,UAAAA,IAAAA,UAAAA,IAAAA,CC5CmB,OD6C5B,EAGA,OAAAC,OAAA,IAAAC,OAAA,UAAAA,QAAA,KAAsB,WAAXV,EAAAA,MAAAA,CAAAA,MAAAA,CAAwB,CAChCA,MAAAA,CAAeW,mBAnCmB,CAAA,2BAAA,CAuC/BC,CAAAA,CAA0B,IAC9BC,CAAAA,MAAAA,CAAOC,cAAed,CAAAA,MAAAA,CAAQ,aAAe,CAAA,CAC3Ce,cAAc,CACdC,CAAAA,GAAAA,CAAK,QAALA,CAAAA,GAAAA,CAAAA,QAAWJ,CAAAA,CAAAA,SAAAA,CAAAA,UAAAA,CAAAA,CAAYf,CACvBoB,CAAAA,CAAAA,GAAAA,GAAAA,CAAMC,QAAND,CAAAA,GAAAA,CAAMC,CACJN,CAAAA,CAAAA,CAAAA,CAAWM,CAAK,EAInBlB,CAAAA,CAAAA,CAAAA,MAAAA,CAAemB,OAAWnB,CAAAA,MAAAA,CAAemB,OAAW,EAAA,CACnDC,GAAK,CAAA,CAAEC,SAAU,YAErB,CAAA,CAAA,EAAA"}
@@ -1 +1 @@
1
- function n(){return function(){if("undefined"==typeof window||"function"!=typeof getComputedStyle)return null;try{return getComputedStyle(document.documentElement).getPropertyValue("--nile-version").trim().replace(/^["']|["']$/g,"")||null}catch{return null}}()??"1.3.2"}if("undefined"!=typeof window){window.nileElementsVersion="__NILE_ELEMENTS_VERSION__";let e=null;Object.defineProperty(window,"nileVersion",{configurable:!0,get:()=>e??n(),set:n=>{e=n}}),window.process=window.process||{env:{NODE_ENV:"production"}}}
1
+ function n(){return function(){if("undefined"==typeof window||"function"!=typeof getComputedStyle)return null;try{return getComputedStyle(document.documentElement).getPropertyValue("--nile-version").trim().replace(/^["']|["']$/g,"")||null}catch{return null}}()??"1.3.3"}if("undefined"!=typeof window){window.nileElementsVersion="__NILE_ELEMENTS_VERSION__";let e=null;Object.defineProperty(window,"nileVersion",{configurable:!0,get:()=>e??n(),set:n=>{e=n}}),window.process=window.process||{env:{NODE_ENV:"production"}}}
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": "2.0.8",
6
+ "version": "2.0.10",
7
7
  "main": "dist/src/index.js",
8
8
  "type": "module",
9
9
  "module": "dist/src/index.js",
@@ -144,7 +144,7 @@ export const styles = css`
144
144
  color: var(--nile-badge-color-font-gray, var(--ng-componentcolors-utility-gray-700));
145
145
  border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));
146
146
  border-style: solid;
147
- border-color: var(--nile-badge-color-border-color-gray, var(--ng-componentcolors-utility-gray-200));
147
+ border-color: var(--nile-badge-color-border-color-gray, var(--ng-componentcolors-utility-gray-300));
148
148
  background: var(--nile-badge-color-background-gray, var(--ng-componentcolors-utility-gray-50));
149
149
  }
150
150
 
@@ -193,7 +193,7 @@ export const styles = css`
193
193
  }
194
194
 
195
195
  .badge--gray.badge--pill-outline {
196
- border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-gray, var(--ng-componentcolors-utility-gray-200));
196
+ border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-gray, var(--ng-componentcolors-utility-gray-300));
197
197
  }
198
198
 
199
199
 
@@ -74,12 +74,12 @@ export const styles = css`
74
74
 
75
75
  .nile-button-toggle__active {
76
76
  background-color: var( --nile-colors-neutral-500, var(--ng-colors-bg-brand-primary) );
77
- color: var(--nile-colors-dark-900, var(--ng-colors-bg-brand-solid));
77
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-brand-primary-900));
78
78
  }
79
79
 
80
80
  .nile-button-toggle__active:hover {
81
81
  background-color: var(--nile-colors-neutral-500, var(--ng-colors-bg-brand-primary));
82
- color: var(--nile-colors-dark-900, var(--ng-colors-bg-brand-solid));
82
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-brand-primary-900));
83
83
  }
84
84
 
85
85
  .nile-button-toggle__disabled {
@@ -672,9 +672,9 @@ export class NileCodeEditor extends NileElement {
672
672
  return (rgb[0] * 299 + rgb[1] * 587 + rgb[2] * 114) / 1000 < 128;
673
673
  }
674
674
 
675
- /** Applied in dark only so light is untouched.*/
675
+ /** One Dark in dark mode; light keeps CodeMirror's own active-line highlight. */
676
676
  getDarkThemeExtension(): Extension {
677
- return this.isDarkTheme() ? [oneDarkTheme, highlightActiveLine()] : [];
677
+ return [highlightActiveLine(), ...(this.isDarkTheme() ? [oneDarkTheme] : [])];
678
678
  }
679
679
 
680
680
  getDefaultSyntaxHighlightingExtension(){
@@ -94,7 +94,7 @@ export const styles = css`
94
94
  }
95
95
 
96
96
  :host(:hover:not([active], [aria-disabled='true'], :focus-visible)) .menu-item {
97
- background-color: var(--nile-colors-neutral-100,var(--ng-colors-bg-secondary-hover));
97
+ background-color: var(--nile-colors-neutral-100,var(--ng-colors-bg-primary-hover));
98
98
  color: var(--nile-colors-dark-900,var(--ng-colors-text-secondary-hover));
99
99
  }
100
100
 
@@ -12,6 +12,7 @@ export const styles = css`
12
12
  position: relative;
13
13
  display: block;
14
14
  font-family: inherit;
15
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
15
16
  }
16
17
 
17
18
 
@@ -41,6 +42,7 @@ export const styles = css`
41
42
  width: 100%;
42
43
  padding: 12px;
43
44
  background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
45
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
44
46
  border-radius: 0 0 8px 8px;
45
47
  outline: none;
46
48
  tab-size: 4;
@@ -81,6 +83,7 @@ nile-rte-preview {
81
83
  background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
82
84
  box-sizing: border-box;
83
85
  word-wrap: break-word;
86
+ color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
84
87
  }
85
88
 
86
89
  nile-rich-text-editor[disabled] nile-rte-preview {
@@ -246,7 +249,7 @@ nile-rte-preview figure.rte-image img {
246
249
  nile-rte-preview figure.rte-image figcaption {
247
250
  margin-top: 6px;
248
251
  font-size: 0.875em;
249
- color: var(--nile-colors-neutral-600, var(--ng-colors-text-secondary));
252
+ color: var(--nile-colors-neutral-600, var(--ng-colors-text-tertiary-600));
250
253
  }
251
254
 
252
255
  .editor figure.rte-image {
@@ -273,7 +276,7 @@ nile-rich-text-editor[disabled] .editor figure.rte-image {
273
276
 
274
277
  .editor.empty::before {
275
278
  content: attr(data-placeholder);
276
- color: var(--nile-colors-neutral-500, var(--ng-colors-text-secondary));
279
+ color: var(--nile-colors-neutral-500, var(--ng-colors-text-placeholder));
277
280
  position: absolute;
278
281
  font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
279
282
  pointer-events: none;
@@ -195,7 +195,7 @@ export const styles = css`
195
195
  display: flex;
196
196
  flex: 1;
197
197
  align-items: center;
198
- flex-wrap: no-wrap;
198
+ flex-wrap: nowrap;
199
199
  margin-inline-start: var(--nile-spacing-7px, var(--ng-spacing-md));
200
200
  width: 100%;
201
201
  overflow: hidden;
@@ -216,6 +216,98 @@ export const styles = css`
216
216
  margin-right: var(--nile-spacing-5xl, var(--ng-spacing-5xl));
217
217
  }
218
218
 
219
+ button.select__tags-count {
220
+ appearance: none;
221
+ -webkit-appearance: none;
222
+ background: none;
223
+ text-align: inherit;
224
+ }
225
+
226
+ button.select__tags-count:disabled {
227
+ cursor: not-allowed;
228
+ }
229
+
230
+ .select__tags--fitted {
231
+ min-width: 0;
232
+ }
233
+
234
+ .select__tags nile-lite-tooltip.select__tag-tip {
235
+ display: contents;
236
+ }
237
+
238
+ .select__tags nile-tag {
239
+ flex: 0 1 auto;
240
+ cursor: pointer;
241
+ min-width: 0;
242
+ }
243
+
244
+ /* A chip is capped - and so truncated - only when a tooltip can reveal the
245
+ full value. Without one it keeps its natural width and the fit pass moves
246
+ the surplus into the +N button instead. */
247
+ :host([showtooltip]) .select__tags nile-tag {
248
+ max-width: var(--nile-width-180px, var(--ng-height-180px));
249
+ }
250
+
251
+ /* Only the fitted layout can move a chip into the +N button, so only there
252
+ can a chip refuse to shrink. */
253
+ :host(:not([showtooltip])) .select__tags--fitted nile-tag {
254
+ flex-shrink: 0;
255
+ }
256
+
257
+ .select__tags nile-tag::part(base) {
258
+ max-width: 100%;
259
+ }
260
+
261
+ .select__tags nile-tag::part(prefix_content_wrapper) {
262
+ flex: 1 1 auto;
263
+ min-width: 0;
264
+ }
265
+
266
+ .select__tags nile-tag::part(content) {
267
+ display: block;
268
+ flex: 1 1 auto;
269
+ min-width: 0;
270
+ /* The tag's line-height of 1 leaves the clip box shorter than the glyph
271
+ box, so descenders are cut. Pad the clip box, negate it in layout. */
272
+ padding-block: 3px;
273
+ margin-block: -3px;
274
+ overflow: hidden;
275
+ white-space: nowrap;
276
+ }
277
+
278
+ :host([showtooltip]) .select__tags nile-tag::part(content) {
279
+ text-overflow: ellipsis;
280
+ }
281
+
282
+ .select__tags nile-tag::part(remove-button) {
283
+ flex: 0 0 auto;
284
+ }
285
+
286
+ .select__tags--fitted nile-tag:focus-visible {
287
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-border-brand));
288
+ outline-offset: 1px;
289
+ border-radius: var(--nile-radius-sm, var(--ng-radius-sm));
290
+ }
291
+
292
+ .select__tags--fitted .select__tags-count {
293
+ flex: 0 0 auto;
294
+ margin: 0;
295
+ padding: 0 var(--nile-spacing-xsmall, var(--ng-spacing-md));
296
+ height: var(--nile-height-26px, var(--ng-height-26px));
297
+ display: inline-flex;
298
+ align-items: center;
299
+ white-space: nowrap;
300
+ cursor: pointer;
301
+ border: 1px dashed
302
+ var(--nile-colors-neutral-500, var(--ng-colors-border-secondary));
303
+ border-radius: var(--nile-radius-sm, var(--ng-radius-sm));
304
+ }
305
+
306
+ .select__tags--fitted .select__tags-count:focus-visible {
307
+ outline: 2px solid var(--nile-colors-primary-600, var(--ng-colors-border-brand));
308
+ outline-offset: 1px;
309
+ }
310
+
219
311
  .select__tags::slotted(nile-tag) {
220
312
  cursor: pointer !important;
221
313
  }
@@ -443,6 +535,8 @@ export const styles = css`
443
535
  bottom: 0;
444
536
  z-index: 1;
445
537
  background: var(--nile-colors-white-base, var(--ng-colors-bg-primary));
538
+ container-type: inline-size;
539
+ container-name: nile-select-footer;
446
540
  }
447
541
 
448
542
  .select__custom-footer {
@@ -469,10 +563,40 @@ export const styles = css`
469
563
  flex-direction: row;
470
564
  align-items: center;
471
565
  padding: var(--nile-spacing-md, var(--ng-spacing-md)) var(--nile-spacing-lg, var(--ng-spacing-lg));
472
- gap: var(--nile-spacing-lg, var(--ng-spacing-lg));
566
+ gap: var(--nile-spacing-none, var(--ng-spacing-none));
473
567
  justify-content: space-between;
474
568
  }
475
569
 
570
+ .select__footer-action,
571
+ .select__footer .select__clear {
572
+ display: inline-flex;
573
+ align-items: center;
574
+ gap: var(--nile-spacing-sm, var(--ng-spacing-sm));
575
+ min-width: 0;
576
+ }
577
+
578
+ .select__footer-glyph {
579
+ flex: 0 0 auto;
580
+ display: inline-flex;
581
+ vertical-align: middle;
582
+ }
583
+
584
+ .select__footer-label {
585
+ white-space: nowrap;
586
+ }
587
+
588
+ @container nile-select-footer (max-width: 178px) {
589
+ .select__clear .select__footer-label {
590
+ display: none;
591
+ }
592
+ }
593
+
594
+ @container nile-select-footer (max-width: 137px) {
595
+ .select__footer-label {
596
+ display: none;
597
+ }
598
+ }
599
+
476
600
  :host([legacy]) .select__footer {
477
601
  background: var(--nile-colors-neutral-100);
478
602
  border-top: 1px solid var(--nile-colors-neutral-400);
@@ -516,10 +640,6 @@ export const styles = css`
516
640
  }
517
641
  }
518
642
 
519
- .select__invisible {
520
- opacity: 0;
521
- }
522
-
523
643
  .select__prefix--from-options {
524
644
  margin-inline-end: var(--nile-spacing-lg, var(--ng-spacing-md));
525
645
  }