@aquera/nile-elements 2.0.6 → 2.0.7

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 (45) hide show
  1. package/README.md +3 -0
  2. package/dist/index.js +15 -5
  3. package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js +1 -1
  4. package/dist/nile-side-bar-footer/nile-side-bar-footer.cjs.js.map +1 -1
  5. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js +1 -1
  6. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.cjs.js.map +1 -1
  7. package/dist/nile-side-bar-footer/nile-side-bar-footer.css.esm.js +5 -0
  8. package/dist/nile-side-bar-footer/nile-side-bar-footer.esm.js +2 -2
  9. package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js +1 -1
  10. package/dist/nile-side-bar-header/nile-side-bar-header.cjs.js.map +1 -1
  11. package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js +1 -1
  12. package/dist/nile-side-bar-header/nile-side-bar-header.css.cjs.js.map +1 -1
  13. package/dist/nile-side-bar-header/nile-side-bar-header.css.esm.js +5 -0
  14. package/dist/nile-side-bar-header/nile-side-bar-header.esm.js +2 -2
  15. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js +5 -0
  16. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.css.js.map +1 -1
  17. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.d.ts +10 -0
  18. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.js +17 -1
  19. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.js.map +1 -1
  20. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.test.d.ts +1 -0
  21. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.test.js +42 -0
  22. package/dist/src/nile-side-bar-footer/nile-side-bar-footer.test.js.map +1 -0
  23. package/dist/src/nile-side-bar-header/nile-side-bar-app-shell.test.d.ts +4 -0
  24. package/dist/src/nile-side-bar-header/nile-side-bar-app-shell.test.js +68 -0
  25. package/dist/src/nile-side-bar-header/nile-side-bar-app-shell.test.js.map +1 -0
  26. package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js +5 -0
  27. package/dist/src/nile-side-bar-header/nile-side-bar-header.css.js.map +1 -1
  28. package/dist/src/nile-side-bar-header/nile-side-bar-header.d.ts +9 -0
  29. package/dist/src/nile-side-bar-header/nile-side-bar-header.js +17 -1
  30. package/dist/src/nile-side-bar-header/nile-side-bar-header.js.map +1 -1
  31. package/dist/src/nile-side-bar-header/nile-side-bar-header.test.d.ts +1 -0
  32. package/dist/src/nile-side-bar-header/nile-side-bar-header.test.js +42 -0
  33. package/dist/src/nile-side-bar-header/nile-side-bar-header.test.js.map +1 -0
  34. package/dist/src/version.js +1 -1
  35. package/dist/src/version.js.map +1 -1
  36. package/dist/tsconfig.tsbuildinfo +1 -1
  37. package/package.json +1 -1
  38. package/src/nile-side-bar-footer/nile-side-bar-footer.css.ts +5 -0
  39. package/src/nile-side-bar-footer/nile-side-bar-footer.test.ts +55 -0
  40. package/src/nile-side-bar-footer/nile-side-bar-footer.ts +12 -1
  41. package/src/nile-side-bar-header/nile-side-bar-app-shell.test.ts +78 -0
  42. package/src/nile-side-bar-header/nile-side-bar-header.css.ts +5 -0
  43. package/src/nile-side-bar-header/nile-side-bar-header.test.ts +55 -0
  44. package/src/nile-side-bar-header/nile-side-bar-header.ts +10 -0
  45. package/vscode-html-custom-data.json +30 -4
package/README.md CHANGED
@@ -91,6 +91,9 @@ 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.7 (September 07, 2026)
95
+ - Nile Side Bar Header & Nile Side Bar Footer: Added a `background` property. The default keeps the sidebar surface color, and `background="transparent"` drops it so whatever sits behind the header/footer shows through (UIF-1347)
96
+
94
97
  #### Version 2.0.6 (September 07, 2026)
95
98
  - Nile Floating Panel: Fixed the arrow leaving a gap in the panel border — (UIF-1341)
96
99
  - Nile Popover: Fixed the panel border cutting across the base of the arrow (UIF-1342)
package/dist/index.js CHANGED
@@ -19274,7 +19274,7 @@ nile-rich-text-editor[disabled] .editor figure.rte-image {
19274
19274
  ${this._renderTrigger()}
19275
19275
  ${e}
19276
19276
  </nile-popover>
19277
- `:e}};e([de({type:String,attribute:!0,reflect:!0})],NS.prototype,"type",void 0),e([de({type:String,attribute:!0,reflect:!0})],NS.prototype,"value",void 0),e([de({type:String,reflect:!0})],NS.prototype,"swatchTooltip",void 0),e([de({type:Number,reflect:!0})],NS.prototype,"recentColorsCount",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"noFill",void 0),e([de({type:String,reflect:!0})],NS.prototype,"mode",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showCanvas",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showHue",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showInputs",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showActions",void 0),e([de({type:Boolean,reflect:!0,attribute:!0})],NS.prototype,"open",void 0),e([de({attribute:"palette",converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t.map((e=>"string"==typeof e?{color:e,name:e}:e&&"string"==typeof e.color?{color:e.color,name:e.name||e.color}:null)).filter(Boolean):[]}catch{return[]}},toAttribute:e=>JSON.stringify(e)}})],NS.prototype,"palette",void 0),e([he()],NS.prototype,"_view",void 0),e([he()],NS.prototype,"_recentColors",void 0),e([he()],NS.prototype,"_hue",void 0),e([he()],NS.prototype,"_sat",void 0),e([he()],NS.prototype,"_val",void 0),e([he()],NS.prototype,"_colorMode",void 0),e([he()],NS.prototype,"_hexInput",void 0),e([he()],NS.prototype,"_r",void 0),e([he()],NS.prototype,"_g",void 0),e([he()],NS.prototype,"_b",void 0),NS=e([ce("nile-color-picker")],NS);function pS(){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='"2.0.6"';let e=null;Object.defineProperty(window,"nileVersion",{configurable:!0,get:()=>e??pS(),set:t=>{e=t}}),window.process=window.process||{env:{NODE_ENV:"production"}}}const DS=s`
19277
+ `:e}};e([de({type:String,attribute:!0,reflect:!0})],NS.prototype,"type",void 0),e([de({type:String,attribute:!0,reflect:!0})],NS.prototype,"value",void 0),e([de({type:String,reflect:!0})],NS.prototype,"swatchTooltip",void 0),e([de({type:Number,reflect:!0})],NS.prototype,"recentColorsCount",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"noFill",void 0),e([de({type:String,reflect:!0})],NS.prototype,"mode",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showCanvas",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showHue",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showInputs",void 0),e([de({type:Boolean,reflect:!0})],NS.prototype,"showActions",void 0),e([de({type:Boolean,reflect:!0,attribute:!0})],NS.prototype,"open",void 0),e([de({attribute:"palette",converter:{fromAttribute:e=>{try{const t=JSON.parse(e);return Array.isArray(t)?t.map((e=>"string"==typeof e?{color:e,name:e}:e&&"string"==typeof e.color?{color:e.color,name:e.name||e.color}:null)).filter(Boolean):[]}catch{return[]}},toAttribute:e=>JSON.stringify(e)}})],NS.prototype,"palette",void 0),e([he()],NS.prototype,"_view",void 0),e([he()],NS.prototype,"_recentColors",void 0),e([he()],NS.prototype,"_hue",void 0),e([he()],NS.prototype,"_sat",void 0),e([he()],NS.prototype,"_val",void 0),e([he()],NS.prototype,"_colorMode",void 0),e([he()],NS.prototype,"_hexInput",void 0),e([he()],NS.prototype,"_r",void 0),e([he()],NS.prototype,"_g",void 0),e([he()],NS.prototype,"_b",void 0),NS=e([ce("nile-color-picker")],NS);function pS(){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='"2.0.7"';let e=null;Object.defineProperty(window,"nileVersion",{configurable:!0,get:()=>e??pS(),set:t=>{e=t}}),window.process=window.process||{env:{NODE_ENV:"production"}}}const DS=s`
19278
19278
  :host {
19279
19279
  /* Geometry. Values come from design tokens wherever one exists; the bare
19280
19280
  pixels are shell geometry with no matching token. */
@@ -20367,6 +20367,11 @@ nile-rich-text-editor[disabled] .editor figure.rte-image {
20367
20367
  background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));
20368
20368
  }
20369
20369
 
20370
+ /* Opt-in: drop the surface color so the header sits on whatever is behind it. */
20371
+ :host([background='transparent']) {
20372
+ background: transparent;
20373
+ }
20374
+
20370
20375
  .header-content {
20371
20376
  display: flex;
20372
20377
  align-items: center;
@@ -20399,12 +20404,12 @@ nile-rich-text-editor[disabled] .editor figure.rte-image {
20399
20404
  gap: var(--nile-spacing-md);
20400
20405
  }
20401
20406
 
20402
- `;let kS=class extends Ge{static get styles(){return[SS]}render(){return R`
20407
+ `;let kS=class extends Ge{constructor(){super(...arguments),this.background="default"}static get styles(){return[SS]}render(){return R`
20403
20408
  <div class="header-content" part="header-content">
20404
20409
  <slot name="logo" part="logo"></slot>
20405
20410
  <slot name="expand" part="expand"></slot>
20406
20411
  </div>
20407
- `}};kS=e([ce("nile-side-bar-header")],kS);const ES=s`
20412
+ `}};e([de({type:String,reflect:!0,attribute:!0})],kS.prototype,"background",void 0),kS=e([ce("nile-side-bar-header")],kS);const ES=s`
20408
20413
  :host {
20409
20414
  justify-content: center;
20410
20415
  height: 100%;
@@ -20714,6 +20719,11 @@ justify-content: center;
20714
20719
  background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));
20715
20720
  }
20716
20721
 
20722
+ /* Opt-in: drop the surface color so the footer sits on whatever is behind it. */
20723
+ :host([background='transparent']) {
20724
+ background: transparent;
20725
+ }
20726
+
20717
20727
  .footer {
20718
20728
  display: flex;
20719
20729
  flex-direction: column;
@@ -20738,11 +20748,11 @@ justify-content: center;
20738
20748
 
20739
20749
 
20740
20750
 
20741
- `;let GS=class extends Ge{static get styles(){return[$S]}render(){return R`
20751
+ `;let GS=class extends Ge{constructor(){super(...arguments),this.background="default"}static get styles(){return[$S]}render(){return R`
20742
20752
  <div part="base" class="footer">
20743
20753
  <slot> </slot>
20744
20754
  </div>
20745
- `}};GS=e([ce("nile-side-bar-footer")],GS);const FS=s`
20755
+ `}};e([de({type:String,reflect:!0,attribute:!0})],GS.prototype,"background",void 0),GS=e([ce("nile-side-bar-footer")],GS);const FS=s`
20746
20756
  :host {
20747
20757
  display: block;
20748
20758
  width: 100%;
@@ -1,2 +1,2 @@
1
- function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","./nile-side-bar-footer.css.cjs.js","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var s,t,e,r,i,_templateObject,o;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){s=_tslib.__decorate;},function(_lit){t=_lit.html;},function(_litDecoratorsJs){e=_litDecoratorsJs.customElement;},function(_nileSideBarFooterCssCjsJs){r=_nileSideBarFooterCssCjsJs.s;},function(_internalNileElementCjsJs){i=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){_export("N",o=/*#__PURE__*/function(_i){function o(){_classCallCheck(this,o);return _callSuper(this,o,arguments);}_inherits(o,_i);return _createClass(o,[{key:"render",value:function render(){return t(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div part=\"base\" class=\"footer\">\n <slot> </slot>\n </div>\n "])));}}],[{key:"styles",get:function get(){return[r];}}]);}(i));_export("N",o=s([e("nile-side-bar-footer")],o));}};});
1
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","./nile-side-bar-footer.css.cjs.js","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var t,e,r,s,i,o,_templateObject,a;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){e=_lit.html;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;s=_litDecoratorsJs.customElement;},function(_nileSideBarFooterCssCjsJs){i=_nileSideBarFooterCssCjsJs.s;},function(_internalNileElementCjsJs){o=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){_export("N",a=/*#__PURE__*/function(_o){function a(){var _this;_classCallCheck(this,a);_this=_callSuper(this,a,arguments),_this.background="default";return _this;}_inherits(a,_o);return _createClass(a,[{key:"render",value:function render(){return e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n <div part=\"base\" class=\"footer\">\n <slot> </slot>\n </div>\n "])));}}],[{key:"styles",get:function get(){return[i];}}]);}(o));t([r({type:String,reflect:!0,attribute:!0})],a.prototype,"background",void 0),_export("N",a=t([s("nile-side-bar-footer")],a));}};});
2
2
  //# sourceMappingURL=nile-side-bar-footer.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar-footer.cjs.js","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-side-bar-footer.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * Nile side-bar-footer component.\n *\n * @tag nile-side-bar-footer\n *\n * @slot icon - Slot for footer icon\n * @slot text - Slot for footer text\n */\n@customElement('nile-side-bar-footer')\nexport class NileSideBarFooter extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"base\" class=\"footer\">\n <slot> </slot>\n </div>\n `;\n }\n}\n\nexport default NileSideBarFooter;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-side-bar-footer': NileSideBarFooter;\n }\n}\n"],"names":["NileSideBarFooter","_i","o","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","render","html","_templateObject","_taggedTemplateLiteral","get","styles","NileElement","__decorate","customElement"],"mappings":"u6GAqBaA,CAAN,uBAAAC,EAAA,WAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,UAAA,MAAAF,CAAA,CAAAG,SAAA,GAAAC,SAAA,CAAAJ,CAAA,CAAAD,EAAA,SAAAM,YAAA,CAAAL,CAAA,GAAAM,GAAA,UAAAC,KAAA,CAKE,SAAAC,MAAAA,CAAAA,CACL,CAAA,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,+FAKZ,CAAA,KAAAL,GAAA,UAAAM,GAAA,CAVM,SAAAA,IAAA,CACL,CAAA,MAAO,CAACC,CAAAA,CACT,EAEM,MAL8BC,CAC9B,GADIhB,OAAAA,KAAAA,CAAiBiB,CAAAA,CAAAA,CAAA,CAD7BC,CAAAA,CAAc,yBACFlB"}
1
+ {"version":3,"file":"nile-side-bar-footer.cjs.js","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-side-bar-footer.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * Nile side-bar-footer component.\n *\n * @tag nile-side-bar-footer\n *\n * @slot icon - Slot for footer icon\n * @slot text - Slot for footer text\n *\n * @attr background - Background treatment of the footer (\"default\" | \"transparent\").\n * Defaults to \"default\", which paints the sidebar surface color. Set to\n * \"transparent\" to drop the background so whatever sits behind the footer shows\n * through.\n */\n@customElement('nile-side-bar-footer')\nexport class NileSideBarFooter extends NileElement {\n /**\n * Background treatment of the footer. `default` keeps the sidebar surface\n * color; `transparent` removes it.\n */\n @property({ type: String, reflect: true, attribute: true }) background: 'default' | 'transparent' = 'default';\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"base\" class=\"footer\">\n <slot> </slot>\n </div>\n `;\n }\n}\n\nexport default NileSideBarFooter;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-side-bar-footer': NileSideBarFooter;\n }\n}\n"],"names":["NileSideBarFooter","a","constructor","this","background","_this","_inherits","_o","_createClass","key","value","render","html","_templateObject","_taggedTemplateLiteral","get","styles","NileElement","__decorate","property","type","String","reflect","attribute","prototype","customElement"],"mappings":"q8GA0BaA,4BAAN,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,qCAKuDC,KAAAA,CAAUC,UAAAA,CAA8B,SAarG,QAAAC,KAAA,EAXQC,SAAA,CAAAL,CAAA,CAAAM,EAAA,SAAAC,YAAA,CAAAP,CAAA,GAAAQ,GAAA,UAAAC,KAAA,CAIA,SAAAC,MAAAA,CAAAA,CAAAA,CACL,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,+FAKZ,CAAA,KAAAL,GAAA,UAAAM,GAAA,CAVM,SAAAA,IAAA,CACL,CAAA,MAAO,CAACC,CACT,CAAA,EAEM,MAX8BC,CAAAA,GAKuBC,EAAA,CAA3DC,CAAAA,CAAS,CAAEC,IAAMC,CAAAA,MAAAA,CAAQC,SAAS,CAAMC,CAAAA,SAAAA,CAAAA,CAAW,KAA0DvB,CAAAwB,CAAAA,SAAAA,CAAA,iBAAA,EALnGxB,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAiBkB,EAAA,CAD7BO,CAAAA,CAAc,yBACFzB"}
@@ -1,2 +1,2 @@
1
- System.register(["lit"],function(_export,_context){"use strict";var a,_templateObject,n;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){a=_lit.css;}],execute:function execute(){_export("s",n=a(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: block;\n bottom: var(--nile-spacing-md);\n padding-bottom: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n\tpadding-left: var(--nile-spacing-xl, var(--ng-spacing-xl));\n\tpadding-right: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding-top: var(--nile-spacing-xs, var(--ng-spacing-xs));\n gap: var(--nile-spacing-md, var(--ng-spacing-xl));\n bottom: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n.footer {\n display: flex;\n flex-direction: column; \n align-items: stretch; \n gap: var(--nile-spacing-md, var(--ng-spacing-lg)); \n}\n\n::slotted(nile-side-bar-footer-item) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-xs));\n justify-content: center;\n \n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n transition: background 0.2s ease;\n}\n\n\n\n\n \n"]))));}};});
1
+ System.register(["lit"],function(_export,_context){"use strict";var a,_templateObject,n;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){a=_lit.css;}],execute:function execute(){_export("s",n=a(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: block;\n bottom: var(--nile-spacing-md);\n padding-bottom: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n\tpadding-left: var(--nile-spacing-xl, var(--ng-spacing-xl));\n\tpadding-right: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding-top: var(--nile-spacing-xs, var(--ng-spacing-xs));\n gap: var(--nile-spacing-md, var(--ng-spacing-xl));\n bottom: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n/* Opt-in: drop the surface color so the footer sits on whatever is behind it. */\n:host([background='transparent']) {\n background: transparent;\n}\n\n.footer {\n display: flex;\n flex-direction: column; \n align-items: stretch; \n gap: var(--nile-spacing-md, var(--ng-spacing-lg)); \n}\n\n::slotted(nile-side-bar-footer-item) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-xs));\n justify-content: center;\n \n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n transition: background 0.2s ease;\n}\n\n\n\n\n \n"]))));}};});
2
2
  //# sourceMappingURL=nile-side-bar-footer.css.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar-footer.css.cjs.js","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.css.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * SideBarFooter CSS\n */\nexport const styles = css`\n :host {\n display: block;\n bottom: var(--nile-spacing-md);\n padding-bottom: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n\tpadding-left: var(--nile-spacing-xl, var(--ng-spacing-xl));\n\tpadding-right: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding-top: var(--nile-spacing-xs, var(--ng-spacing-xs));\n gap: var(--nile-spacing-md, var(--ng-spacing-xl));\n bottom: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n.footer {\n display: flex;\n flex-direction: column; \n align-items: stretch; \n gap: var(--nile-spacing-md, var(--ng-spacing-lg)); \n}\n\n::slotted(nile-side-bar-footer-item) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-xs));\n justify-content: center;\n \n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n transition: background 0.2s ease;\n}\n\n\n\n\n \n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAKaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
1
+ {"version":3,"file":"nile-side-bar-footer.css.cjs.js","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.css.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * SideBarFooter CSS\n */\nexport const styles = css`\n :host {\n display: block;\n bottom: var(--nile-spacing-md);\n padding-bottom: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n\tpadding-left: var(--nile-spacing-xl, var(--ng-spacing-xl));\n\tpadding-right: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding-top: var(--nile-spacing-xs, var(--ng-spacing-xs));\n gap: var(--nile-spacing-md, var(--ng-spacing-xl));\n bottom: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n/* Opt-in: drop the surface color so the footer sits on whatever is behind it. */\n:host([background='transparent']) {\n background: transparent;\n}\n\n.footer {\n display: flex;\n flex-direction: column; \n align-items: stretch; \n gap: var(--nile-spacing-md, var(--ng-spacing-lg)); \n}\n\n::slotted(nile-side-bar-footer-item) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-xs));\n justify-content: center;\n \n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n transition: background 0.2s ease;\n}\n\n\n\n\n \n`;\n\nexport default [styles];\n"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAKaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
@@ -11,6 +11,11 @@ import{css as a}from"lit";const n=a`
11
11
  background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));
12
12
  }
13
13
 
14
+ /* Opt-in: drop the surface color so the footer sits on whatever is behind it. */
15
+ :host([background='transparent']) {
16
+ background: transparent;
17
+ }
18
+
14
19
  .footer {
15
20
  display: flex;
16
21
  flex-direction: column;
@@ -1,5 +1,5 @@
1
- import{__decorate as e}from"tslib";import{html as s}from"lit";import{customElement as t}from"lit/decorators.js";import{s as r}from"./nile-side-bar-footer.css.esm.js";import{N as i}from"../internal/nile-element.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";let o=class extends i{static get styles(){return[r]}render(){return s`
1
+ import{__decorate as t}from"tslib";import{html as e}from"lit";import{property as r,customElement as s}from"lit/decorators.js";import{s as i}from"./nile-side-bar-footer.css.esm.js";import{N as o}from"../internal/nile-element.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";let a=class extends o{constructor(){super(...arguments),this.background="default"}static get styles(){return[i]}render(){return e`
2
2
  <div part="base" class="footer">
3
3
  <slot> </slot>
4
4
  </div>
5
- `}};o=e([t("nile-side-bar-footer")],o);export{o as N};
5
+ `}};t([r({type:String,reflect:!0,attribute:!0})],a.prototype,"background",void 0),a=t([s("nile-side-bar-footer")],a);export{a as N};
@@ -1,2 +1,2 @@
1
- function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","./nile-side-bar-header.css.cjs.js","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var e,t,s,r,i,_templateObject,a;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){e=_tslib.__decorate;},function(_lit){t=_lit.html;},function(_litDecoratorsJs){s=_litDecoratorsJs.customElement;},function(_nileSideBarHeaderCssCjsJs){r=_nileSideBarHeaderCssCjsJs.s;},function(_internalNileElementCjsJs){i=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){_export("N",a=/*#__PURE__*/function(_i){function a(){_classCallCheck(this,a);return _callSuper(this,a,arguments);}_inherits(a,_i);return _createClass(a,[{key:"render",value:function render(){return t(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n\t\t <div class=\"header-content\" part=\"header-content\">\n <slot name=\"logo\" part=\"logo\"></slot>\n <slot name=\"expand\" part=\"expand\"></slot>\n </div>\n\t\t\t"])));}}],[{key:"styles",get:function get(){return[r];}}]);}(i));_export("N",a=e([s("nile-side-bar-header")],a));}};});
1
+ function _typeof(o){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o;}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o;},_typeof(o);}System.register(["tslib","lit","lit/decorators.js","./nile-side-bar-header.css.cjs.js","../internal/nile-element.cjs.js","../internal/accessibility/a11y.state.enum.cjs.js","../internal/accessibility/a11y.property.enum.cjs.js","../internal/accessibility/role.enum.cjs.js"],function(_export,_context){"use strict";var t,e,r,s,i,a,_templateObject,o;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}function _classCallCheck(a,n){if(!(a instanceof n))throw new TypeError("Cannot call a class as a function");}function _defineProperties(e,r){for(var t=0;t<r.length;t++){var o=r[t];o.enumerable=o.enumerable||!1,o.configurable=!0,"value"in o&&(o.writable=!0),Object.defineProperty(e,_toPropertyKey(o.key),o);}}function _createClass(e,r,t){return r&&_defineProperties(e.prototype,r),t&&_defineProperties(e,t),Object.defineProperty(e,"prototype",{writable:!1}),e;}function _toPropertyKey(t){var i=_toPrimitive(t,"string");return"symbol"==_typeof(i)?i:i+"";}function _toPrimitive(t,r){if("object"!=_typeof(t)||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var i=e.call(t,r||"default");if("object"!=_typeof(i))return i;throw new TypeError("@@toPrimitive must return a primitive value.");}return("string"===r?String:Number)(t);}function _callSuper(t,o,e){return o=_getPrototypeOf(o),_possibleConstructorReturn(t,_isNativeReflectConstruct()?Reflect.construct(o,e||[],_getPrototypeOf(t).constructor):o.apply(t,e));}function _possibleConstructorReturn(t,e){if(e&&("object"==_typeof(e)||"function"==typeof e))return e;if(void 0!==e)throw new TypeError("Derived constructors may only return object or undefined");return _assertThisInitialized(t);}function _assertThisInitialized(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e;}function _isNativeReflectConstruct(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(t){}return(_isNativeReflectConstruct=function _isNativeReflectConstruct(){return!!t;})();}function _getPrototypeOf(t){return _getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t);},_getPrototypeOf(t);}function _inherits(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),e&&_setPrototypeOf(t,e);}function _setPrototypeOf(t,e){return _setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,e){return t.__proto__=e,t;},_setPrototypeOf(t,e);}return{setters:[function(_tslib){t=_tslib.__decorate;},function(_lit){e=_lit.html;},function(_litDecoratorsJs){r=_litDecoratorsJs.property;s=_litDecoratorsJs.customElement;},function(_nileSideBarHeaderCssCjsJs){i=_nileSideBarHeaderCssCjsJs.s;},function(_internalNileElementCjsJs){a=_internalNileElementCjsJs.N;},function(_internalAccessibilityA11yStateEnumCjsJs){},function(_internalAccessibilityA11yPropertyEnumCjsJs){},function(_internalAccessibilityRoleEnumCjsJs){}],execute:function execute(){_export("N",o=/*#__PURE__*/function(_a){function o(){var _this;_classCallCheck(this,o);_this=_callSuper(this,o,arguments),_this.background="default";return _this;}_inherits(o,_a);return _createClass(o,[{key:"render",value:function render(){return e(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n\t\t <div class=\"header-content\" part=\"header-content\">\n <slot name=\"logo\" part=\"logo\"></slot>\n <slot name=\"expand\" part=\"expand\"></slot>\n </div>\n\t\t\t"])));}}],[{key:"styles",get:function get(){return[i];}}]);}(a));t([r({type:String,reflect:!0,attribute:!0})],o.prototype,"background",void 0),_export("N",o=t([s("nile-side-bar-header")],o));}};});
2
2
  //# sourceMappingURL=nile-side-bar-header.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar-header.cjs.js","sources":["../../../src/nile-side-bar-header/nile-side-bar-header.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult} from 'lit';\nimport { customElement, property} from 'lit/decorators.js';\nimport {styles} from './nile-side-bar-header.css';\nimport NileElement from '../internal/nile-element';\n\n\n/**\n * Nile side-bar-header component.\n *\n * @tag nile-side-bar-header\n *\n */\n@customElement('nile-side-bar-header')\nexport class NileSideBarHeader extends NileElement {\n\n\t/**\n\t * The styles for nile-side-bar-header\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\t/* #region Methods */\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t <div class=\"header-content\" part=\"header-content\">\n <slot name=\"logo\" part=\"logo\"></slot>\n <slot name=\"expand\" part=\"expand\"></slot>\n </div>\n\t\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileSideBarHeader;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-side-bar-header': NileSideBarHeader;\n }\n}"],"names":["NileSideBarHeader","_i","a","_classCallCheck","_callSuper","arguments","_inherits","_createClass","key","value","render","html","_templateObject","_taggedTemplateLiteral","get","styles","NileElement","__decorate","customElement"],"mappings":"u6GAoBaA,CAAN,uBAAAC,EAAA,WAAAC,EAAA,EAAAC,eAAA,MAAAD,CAAA,SAAAE,UAAA,MAAAF,CAAA,CAAAG,SAAA,GAAAC,SAAA,CAAAJ,CAAA,CAAAD,EAAA,SAAAM,YAAA,CAAAL,CAAA,GAAAM,GAAA,UAAAC,KAAA,CAkBC,SAAAC,MAAAA,CAAAA,CACN,CAAA,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,iMAMX,CAAA,KAAAL,GAAA,UAAAM,GAAA,CAnBM,SAAAA,IAAA,CACN,CAAA,MAAO,CAACC,CAAAA,CACR,EAUM,MAlB+BC,CAM/B,GANKhB,OAAAA,KAAAA,CAAiBiB,CAAAA,CAAAA,CAAA,CAD7BC,CAAAA,CAAc,yBACFlB"}
1
+ {"version":3,"file":"nile-side-bar-header.cjs.js","sources":["../../../src/nile-side-bar-header/nile-side-bar-header.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {LitElement, html, CSSResultArray, TemplateResult} from 'lit';\nimport { customElement, property} from 'lit/decorators.js';\nimport {styles} from './nile-side-bar-header.css';\nimport NileElement from '../internal/nile-element';\n\n\n/**\n * Nile side-bar-header component.\n *\n * @tag nile-side-bar-header\n *\n * @attr background - Background treatment of the header (\"default\" | \"transparent\").\n * Defaults to \"default\", which paints the sidebar surface color. Set to\n * \"transparent\" to drop the background so whatever sits behind the header shows\n * through.\n */\n@customElement('nile-side-bar-header')\nexport class NileSideBarHeader extends NileElement {\n\n\t/**\n\t * Background treatment of the header. `default` keeps the sidebar surface\n\t * color; `transparent` removes it.\n\t */\n\t@property({ type: String, reflect: true, attribute: true }) background: 'default' | 'transparent' = 'default';\n\n\t/**\n\t * The styles for nile-side-bar-header\n\t * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n\t */\n\tpublic static get styles(): CSSResultArray {\n\t\treturn [styles];\n\t}\n\n\t/* #endregion */\n\n\t/* #region Methods */\n\n\t/**\n\t * Render method\n\t * @slot This is a slot test\n\t */\n\tpublic render(): TemplateResult {\n\t\treturn html`\n\t\t <div class=\"header-content\" part=\"header-content\">\n <slot name=\"logo\" part=\"logo\"></slot>\n <slot name=\"expand\" part=\"expand\"></slot>\n </div>\n\t\t\t`;\n\t}\n\n\t/* #endregion */\n}\n\nexport default NileSideBarHeader;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-side-bar-header': NileSideBarHeader;\n }\n}"],"names":["NileSideBarHeader","o","constructor","this","background","_this","_inherits","_a","_createClass","key","value","render","html","_templateObject","_taggedTemplateLiteral","get","styles","NileElement","__decorate","property","type","String","reflect","attribute","prototype","customElement"],"mappings":"q8GAwBaA,4BAAN,SAAAC,EAAA,CAAAC,KAAAA,KAAAA,CAAAA,eAAAA,MAAAA,CAAAA,qCAMsDC,KAAAA,CAAUC,UAAAA,CAA8B,SA4BpG,QAAAC,KAAA,EAtBOC,SAAA,CAAAL,CAAA,CAAAM,EAAA,SAAAC,YAAA,CAAAP,CAAA,GAAAQ,GAAA,UAAAC,KAAA,CAYA,SAAAC,MAAAA,CAAAA,CAAAA,CACN,MAAOC,CAAAA,CAAI,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA,iMAMX,CAAA,KAAAL,GAAA,UAAAM,GAAA,CAnBM,SAAAA,IAAA,CACN,CAAA,MAAO,CAACC,CACR,CAAA,EAUM,MAxB+BC,CAAAA,GAMsBC,EAAA,CAA3DC,CAAAA,CAAS,CAAEC,IAAMC,CAAAA,MAAAA,CAAQC,SAAS,CAAMC,CAAAA,SAAAA,CAAAA,CAAW,KAA0DvB,CAAAwB,CAAAA,SAAAA,CAAA,iBAAA,EANlGxB,CAAAA,CAAAA,OAAAA,KAAAA,CAAAA,CAAiBkB,EAAA,CAD7BO,CAAAA,CAAc,yBACFzB"}
@@ -1,2 +1,2 @@
1
- System.register(["lit"],function(_export,_context){"use strict";var n,_templateObject,e;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){n=_lit.css;}],execute:function execute(){_export("s",e=n(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n padding-bottom: var(--nile-spacing-lg, var(--ng-spacing-xl));\n padding-left: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n padding-right: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n top: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n.header-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n}\n\n\n:host([collapsed]) .header-content {\n flex-direction: column;\n justify-content: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-md));\n}\n\n\n\n \n \n::slotted([slot='logo']) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-bold));\n letter-spacing: -0.02em;\n color: var(--nile-colors-dark-900, var(--ng-colors-graylightmode-900));\n text-transform: none;\n}\n\n::slotted([slot='actions']) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md);\n}\n\n"]))));}};});
1
+ System.register(["lit"],function(_export,_context){"use strict";var n,_templateObject,e;function _taggedTemplateLiteral(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}));}return{setters:[function(_lit){n=_lit.css;}],execute:function execute(){_export("s",e=n(_templateObject||(_templateObject=_taggedTemplateLiteral(["\n :host {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n padding-bottom: var(--nile-spacing-lg, var(--ng-spacing-xl));\n padding-left: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n padding-right: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n top: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n/* Opt-in: drop the surface color so the header sits on whatever is behind it. */\n:host([background='transparent']) {\n background: transparent;\n}\n\n.header-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n}\n\n\n:host([collapsed]) .header-content {\n flex-direction: column;\n justify-content: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-md));\n}\n\n\n\n \n \n::slotted([slot='logo']) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-bold));\n letter-spacing: -0.02em;\n color: var(--nile-colors-dark-900, var(--ng-colors-graylightmode-900));\n text-transform: none;\n}\n\n::slotted([slot='actions']) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md);\n}\n\n"]))));}};});
2
2
  //# sourceMappingURL=nile-side-bar-header.css.cjs.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar-header.css.cjs.js","sources":["../../../src/nile-side-bar-header/nile-side-bar-header.css.ts"],"sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * SideBarHeader CSS\n */\nexport const styles = css`\n :host {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n padding-bottom: var(--nile-spacing-lg, var(--ng-spacing-xl));\n padding-left: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n padding-right: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n top: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n.header-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n}\n\n\n:host([collapsed]) .header-content {\n flex-direction: column;\n justify-content: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-md));\n}\n\n\n\n \n \n::slotted([slot='logo']) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-bold));\n letter-spacing: -0.02em;\n color: var(--nile-colors-dark-900, var(--ng-colors-graylightmode-900));\n text-transform: none;\n}\n\n::slotted([slot='actions']) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md);\n}\n\n`;\n\nexport default [styles];"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
1
+ {"version":3,"file":"nile-side-bar-header.css.cjs.js","sources":["../../../src/nile-side-bar-header/nile-side-bar-header.css.ts"],"sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * SideBarHeader CSS\n */\nexport const styles = css`\n :host {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n padding-bottom: var(--nile-spacing-lg, var(--ng-spacing-xl));\n padding-left: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n padding-right: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n top: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n/* Opt-in: drop the surface color so the header sits on whatever is behind it. */\n:host([background='transparent']) {\n background: transparent;\n}\n\n.header-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n}\n\n\n:host([collapsed]) .header-content {\n flex-direction: column;\n justify-content: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-md));\n}\n\n\n\n \n \n::slotted([slot='logo']) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-bold));\n letter-spacing: -0.02em;\n color: var(--nile-colors-dark-900, var(--ng-colors-graylightmode-900));\n text-transform: none;\n}\n\n::slotted([slot='actions']) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md);\n}\n\n`;\n\nexport default [styles];"],"names":["styles","css","_templateObject","_taggedTemplateLiteral"],"mappings":"oTAYaA,CAAAA,CAASC,CAAG,CAAAC,eAAA,GAAAA,eAAA,CAAAC,sBAAA"}
@@ -11,6 +11,11 @@ import{css as n}from"lit";const e=n`
11
11
  background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));
12
12
  }
13
13
 
14
+ /* Opt-in: drop the surface color so the header sits on whatever is behind it. */
15
+ :host([background='transparent']) {
16
+ background: transparent;
17
+ }
18
+
14
19
  .header-content {
15
20
  display: flex;
16
21
  align-items: center;
@@ -1,6 +1,6 @@
1
- import{__decorate as e}from"tslib";import{html as t}from"lit";import{customElement as s}from"lit/decorators.js";import{s as r}from"./nile-side-bar-header.css.esm.js";import{N as i}from"../internal/nile-element.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";let a=class extends i{static get styles(){return[r]}render(){return t`
1
+ import{__decorate as e}from"tslib";import{html as t}from"lit";import{property as r,customElement as s}from"lit/decorators.js";import{s as i}from"./nile-side-bar-header.css.esm.js";import{N as a}from"../internal/nile-element.esm.js";import"../internal/accessibility/a11y.state.enum.esm.js";import"../internal/accessibility/a11y.property.enum.esm.js";import"../internal/accessibility/role.enum.esm.js";let o=class extends a{constructor(){super(...arguments),this.background="default"}static get styles(){return[i]}render(){return t`
2
2
  <div class="header-content" part="header-content">
3
3
  <slot name="logo" part="logo"></slot>
4
4
  <slot name="expand" part="expand"></slot>
5
5
  </div>
6
- `}};a=e([s("nile-side-bar-header")],a);export{a as N};
6
+ `}};e([r({type:String,reflect:!0,attribute:!0})],o.prototype,"background",void 0),o=e([s("nile-side-bar-header")],o);export{o as N};
@@ -15,6 +15,11 @@ export const styles = css `
15
15
  background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));
16
16
  }
17
17
 
18
+ /* Opt-in: drop the surface color so the footer sits on whatever is behind it. */
19
+ :host([background='transparent']) {
20
+ background: transparent;
21
+ }
22
+
18
23
  .footer {
19
24
  display: flex;
20
25
  flex-direction: column;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar-footer.css.js","sourceRoot":"","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["import { css } from 'lit';\n\n/**\n * SideBarFooter CSS\n */\nexport const styles = css`\n :host {\n display: block;\n bottom: var(--nile-spacing-md);\n padding-bottom: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n\tpadding-left: var(--nile-spacing-xl, var(--ng-spacing-xl));\n\tpadding-right: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding-top: var(--nile-spacing-xs, var(--ng-spacing-xs));\n gap: var(--nile-spacing-md, var(--ng-spacing-xl));\n bottom: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n.footer {\n display: flex;\n flex-direction: column; \n align-items: stretch; \n gap: var(--nile-spacing-md, var(--ng-spacing-lg)); \n}\n\n::slotted(nile-side-bar-footer-item) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-xs));\n justify-content: center;\n \n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n transition: background 0.2s ease;\n}\n\n\n\n\n \n`;\n\nexport default [styles];\n"]}
1
+ {"version":3,"file":"nile-side-bar-footer.css.js","sourceRoot":"","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0CxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["import { css } from 'lit';\n\n/**\n * SideBarFooter CSS\n */\nexport const styles = css`\n :host {\n display: block;\n bottom: var(--nile-spacing-md);\n padding-bottom: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n\tpadding-left: var(--nile-spacing-xl, var(--ng-spacing-xl));\n\tpadding-right: var(--nile-spacing-xl, var(--ng-spacing-xl));\n padding-top: var(--nile-spacing-xs, var(--ng-spacing-xs));\n gap: var(--nile-spacing-md, var(--ng-spacing-xl));\n bottom: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n/* Opt-in: drop the surface color so the footer sits on whatever is behind it. */\n:host([background='transparent']) {\n background: transparent;\n}\n\n.footer {\n display: flex;\n flex-direction: column; \n align-items: stretch; \n gap: var(--nile-spacing-md, var(--ng-spacing-lg)); \n}\n\n::slotted(nile-side-bar-footer-item) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md, var(--ng-spacing-xs));\n justify-content: center;\n \n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n border-radius: var(--nile-radius-sm, var(--ng-radius-sm));\n transition: background 0.2s ease;\n}\n\n\n\n\n \n`;\n\nexport default [styles];\n"]}
@@ -13,8 +13,18 @@ import NileElement from '../internal/nile-element';
13
13
  *
14
14
  * @slot icon - Slot for footer icon
15
15
  * @slot text - Slot for footer text
16
+ *
17
+ * @attr background - Background treatment of the footer ("default" | "transparent").
18
+ * Defaults to "default", which paints the sidebar surface color. Set to
19
+ * "transparent" to drop the background so whatever sits behind the footer shows
20
+ * through.
16
21
  */
17
22
  export declare class NileSideBarFooter extends NileElement {
23
+ /**
24
+ * Background treatment of the footer. `default` keeps the sidebar surface
25
+ * color; `transparent` removes it.
26
+ */
27
+ background: 'default' | 'transparent';
18
28
  static get styles(): CSSResultArray;
19
29
  render(): TemplateResult;
20
30
  }
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { __decorate } from "tslib";
8
8
  import { html } from 'lit';
9
- import { customElement } from 'lit/decorators.js';
9
+ import { customElement, property } from 'lit/decorators.js';
10
10
  import { styles } from './nile-side-bar-footer.css';
11
11
  import NileElement from '../internal/nile-element';
12
12
  /**
@@ -16,8 +16,21 @@ import NileElement from '../internal/nile-element';
16
16
  *
17
17
  * @slot icon - Slot for footer icon
18
18
  * @slot text - Slot for footer text
19
+ *
20
+ * @attr background - Background treatment of the footer ("default" | "transparent").
21
+ * Defaults to "default", which paints the sidebar surface color. Set to
22
+ * "transparent" to drop the background so whatever sits behind the footer shows
23
+ * through.
19
24
  */
20
25
  let NileSideBarFooter = class NileSideBarFooter extends NileElement {
26
+ constructor() {
27
+ super(...arguments);
28
+ /**
29
+ * Background treatment of the footer. `default` keeps the sidebar surface
30
+ * color; `transparent` removes it.
31
+ */
32
+ this.background = 'default';
33
+ }
21
34
  static get styles() {
22
35
  return [styles];
23
36
  }
@@ -29,6 +42,9 @@ let NileSideBarFooter = class NileSideBarFooter extends NileElement {
29
42
  `;
30
43
  }
31
44
  };
45
+ __decorate([
46
+ property({ type: String, reflect: true, attribute: true })
47
+ ], NileSideBarFooter.prototype, "background", void 0);
32
48
  NileSideBarFooter = __decorate([
33
49
  customElement('nile-side-bar-footer')
34
50
  ], NileSideBarFooter);
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar-footer.js","sourceRoot":"","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,IAAI,EAAkC,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAEnD;;;;;;;GAOG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,WAAW;IACzC,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;CACF,CAAA;AAZY,iBAAiB;IAD7B,aAAa,CAAC,sBAAsB,CAAC;GACzB,iBAAiB,CAY7B;;AAED,eAAe,iBAAiB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-side-bar-footer.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * Nile side-bar-footer component.\n *\n * @tag nile-side-bar-footer\n *\n * @slot icon - Slot for footer icon\n * @slot text - Slot for footer text\n */\n@customElement('nile-side-bar-footer')\nexport class NileSideBarFooter extends NileElement {\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"base\" class=\"footer\">\n <slot> </slot>\n </div>\n `;\n }\n}\n\nexport default NileSideBarFooter;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-side-bar-footer': NileSideBarFooter;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-side-bar-footer.js","sourceRoot":"","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,IAAI,EAAkC,MAAM,KAAK,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AAEnD;;;;;;;;;;;;GAYG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,WAAW;IAA3C;;QACL;;;WAGG;QACyD,eAAU,GAA8B,SAAS,CAAC;IAahH,CAAC;IAXQ,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;CACF,CAAA;AAb6D;IAA3D,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;qDAAmD;AALnG,iBAAiB;IAD7B,aAAa,CAAC,sBAAsB,CAAC;GACzB,iBAAiB,CAkB7B;;AAED,eAAe,iBAAiB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-side-bar-footer.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * Nile side-bar-footer component.\n *\n * @tag nile-side-bar-footer\n *\n * @slot icon - Slot for footer icon\n * @slot text - Slot for footer text\n *\n * @attr background - Background treatment of the footer (\"default\" | \"transparent\").\n * Defaults to \"default\", which paints the sidebar surface color. Set to\n * \"transparent\" to drop the background so whatever sits behind the footer shows\n * through.\n */\n@customElement('nile-side-bar-footer')\nexport class NileSideBarFooter extends NileElement {\n /**\n * Background treatment of the footer. `default` keeps the sidebar surface\n * color; `transparent` removes it.\n */\n @property({ type: String, reflect: true, attribute: true }) background: 'default' | 'transparent' = 'default';\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n public render(): TemplateResult {\n return html`\n <div part=\"base\" class=\"footer\">\n <slot> </slot>\n </div>\n `;\n }\n}\n\nexport default NileSideBarFooter;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-side-bar-footer': NileSideBarFooter;\n }\n}\n"]}
@@ -0,0 +1 @@
1
+ import './nile-side-bar-footer';
@@ -0,0 +1,42 @@
1
+ import { expect, fixture, html } from '@open-wc/testing';
2
+ import './nile-side-bar-footer';
3
+ const TRANSPARENT = 'rgba(0, 0, 0, 0)';
4
+ /**
5
+ * The surface color comes from a design token, which a bare fixture does not
6
+ * load — so pin it on a wrapper to have something concrete to assert against.
7
+ */
8
+ async function withToken(markup) {
9
+ const wrapper = await fixture(html `<div style="--nile-colors-neutral-100: rgb(1, 2, 3)">${markup}</div>`);
10
+ const el = wrapper.querySelector('nile-side-bar-footer');
11
+ await el.updateComplete;
12
+ return el;
13
+ }
14
+ const backgroundOf = (el) => getComputedStyle(el).backgroundColor;
15
+ describe('NileSideBarFooter — background', () => {
16
+ it('1. defaults to "default" and reflects the attribute', async () => {
17
+ const el = await withToken(html `<nile-side-bar-footer></nile-side-bar-footer>`);
18
+ expect(el.background).to.equal('default');
19
+ expect(el.getAttribute('background')).to.equal('default');
20
+ });
21
+ it('2. paints the sidebar surface color by default', async () => {
22
+ const el = await withToken(html `<nile-side-bar-footer></nile-side-bar-footer>`);
23
+ expect(backgroundOf(el)).to.equal('rgb(1, 2, 3)');
24
+ });
25
+ it('3. background="transparent" removes the background', async () => {
26
+ const el = await withToken(html `<nile-side-bar-footer background="transparent"></nile-side-bar-footer>`);
27
+ expect(el.background).to.equal('transparent');
28
+ expect(backgroundOf(el)).to.equal(TRANSPARENT);
29
+ });
30
+ it('4. setting the property at runtime reflects and re-styles both ways', async () => {
31
+ const el = await withToken(html `<nile-side-bar-footer></nile-side-bar-footer>`);
32
+ el.background = 'transparent';
33
+ await el.updateComplete;
34
+ expect(el.getAttribute('background')).to.equal('transparent');
35
+ expect(backgroundOf(el)).to.equal(TRANSPARENT);
36
+ el.background = 'default';
37
+ await el.updateComplete;
38
+ expect(el.getAttribute('background')).to.equal('default');
39
+ expect(backgroundOf(el)).to.equal('rgb(1, 2, 3)');
40
+ });
41
+ });
42
+ //# sourceMappingURL=nile-side-bar-footer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-side-bar-footer.test.js","sourceRoot":"","sources":["../../../src/nile-side-bar-footer/nile-side-bar-footer.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,wBAAwB,CAAC;AAGhC,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEvC;;;GAGG;AACH,KAAK,UAAU,SAAS,CAAC,MAAe;IACtC,MAAM,OAAO,GAAG,MAAM,OAAO,CAC3B,IAAI,CAAA,wDAAwD,MAAM,QAAQ,CAC3E,CAAC;IACF,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,sBAAsB,CAAsB,CAAC;IAC9E,MAAM,EAAE,CAAC,cAAc,CAAC;IACxB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,EAAqB,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;AAErF,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAA,+CAA+C,CAAC,CAAC;QAChF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAA,+CAA+C,CAAC,CAAC;QAChF,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,MAAM,EAAE,GAAG,MAAM,SAAS,CACxB,IAAI,CAAA,wEAAwE,CAC7E,CAAC;QACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9C,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;QACnF,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,IAAI,CAAA,+CAA+C,CAAC,CAAC;QAEhF,EAAE,CAAC,UAAU,GAAG,aAAa,CAAC;QAC9B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAC9D,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAE/C,EAAE,CAAC,UAAU,GAAG,SAAS,CAAC;QAC1B,MAAM,EAAE,CAAC,cAAc,CAAC;QACxB,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1D,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect, fixture, html } from '@open-wc/testing';\nimport './nile-side-bar-footer';\nimport type { NileSideBarFooter } from './nile-side-bar-footer';\n\nconst TRANSPARENT = 'rgba(0, 0, 0, 0)';\n\n/**\n * The surface color comes from a design token, which a bare fixture does not\n * load — so pin it on a wrapper to have something concrete to assert against.\n */\nasync function withToken(markup: unknown) {\n const wrapper = await fixture<HTMLDivElement>(\n html`<div style=\"--nile-colors-neutral-100: rgb(1, 2, 3)\">${markup}</div>`\n );\n const el = wrapper.querySelector('nile-side-bar-footer') as NileSideBarFooter;\n await el.updateComplete;\n return el;\n}\n\nconst backgroundOf = (el: NileSideBarFooter) => getComputedStyle(el).backgroundColor;\n\ndescribe('NileSideBarFooter — background', () => {\n it('1. defaults to \"default\" and reflects the attribute', async () => {\n const el = await withToken(html`<nile-side-bar-footer></nile-side-bar-footer>`);\n expect(el.background).to.equal('default');\n expect(el.getAttribute('background')).to.equal('default');\n });\n\n it('2. paints the sidebar surface color by default', async () => {\n const el = await withToken(html`<nile-side-bar-footer></nile-side-bar-footer>`);\n expect(backgroundOf(el)).to.equal('rgb(1, 2, 3)');\n });\n\n it('3. background=\"transparent\" removes the background', async () => {\n const el = await withToken(\n html`<nile-side-bar-footer background=\"transparent\"></nile-side-bar-footer>`\n );\n expect(el.background).to.equal('transparent');\n expect(backgroundOf(el)).to.equal(TRANSPARENT);\n });\n\n it('4. setting the property at runtime reflects and re-styles both ways', async () => {\n const el = await withToken(html`<nile-side-bar-footer></nile-side-bar-footer>`);\n\n el.background = 'transparent';\n await el.updateComplete;\n expect(el.getAttribute('background')).to.equal('transparent');\n expect(backgroundOf(el)).to.equal(TRANSPARENT);\n\n el.background = 'default';\n await el.updateComplete;\n expect(el.getAttribute('background')).to.equal('default');\n expect(backgroundOf(el)).to.equal('rgb(1, 2, 3)');\n });\n});\n"]}
@@ -0,0 +1,4 @@
1
+ import '../nile-app-shell/nile-app-shell';
2
+ import '../nile-side-bar/nile-side-bar';
3
+ import './nile-side-bar-header';
4
+ import '../nile-side-bar-footer/nile-side-bar-footer';
@@ -0,0 +1,68 @@
1
+ import { expect, fixture, html, waitUntil } from '@open-wc/testing';
2
+ import '../nile-app-shell/nile-app-shell';
3
+ import '../nile-side-bar/nile-side-bar';
4
+ import './nile-side-bar-header';
5
+ import '../nile-side-bar-footer/nile-side-bar-footer';
6
+ const TRANSPARENT = 'rgba(0, 0, 0, 0)';
7
+ const SURFACE = 'rgb(1, 2, 3)';
8
+ /**
9
+ * nile-app-shell owns the nav track's surface, so it forces the slotted
10
+ * sidebar's own background off:
11
+ *
12
+ * ::slotted([slot='side-nav']) {
13
+ * background: var(--nile-app-shell-side-nav-bg, transparent) !important;
14
+ * }
15
+ *
16
+ * That reaches the `nile-side-bar` only. The header and footer live one level
17
+ * deeper — they are light-DOM children of the sidebar, slotted into ITS shadow
18
+ * root — so the shell cannot see them, and their own surface color survives.
19
+ * These tests pin that boundary down, because it is the whole reason
20
+ * `background="transparent"` exists.
21
+ */
22
+ async function shellWithSidebar(headerBg, footerBg) {
23
+ const el = await fixture(html `
24
+ <nile-app-shell style="width: 1400px; height: 600px; --nile-colors-neutral-100: ${SURFACE};">
25
+ <nile-side-bar slot="side-nav">
26
+ <nile-side-bar-header slot="header" background="${headerBg ?? 'default'}">
27
+ <span slot="logo">Logo</span>
28
+ </nile-side-bar-header>
29
+ <nile-side-bar-footer slot="footer" background="${footerBg ?? 'default'}">
30
+ <span>Help</span>
31
+ </nile-side-bar-footer>
32
+ </nile-side-bar>
33
+ <span slot="top-bar">Title</span>
34
+ <p>page</p>
35
+ </nile-app-shell>
36
+ `);
37
+ await waitUntil(() => el.hasAttribute('has-side-nav'));
38
+ const sidebar = el.querySelector('nile-side-bar');
39
+ const header = el.querySelector('nile-side-bar-header');
40
+ const footer = el.querySelector('nile-side-bar-footer');
41
+ await header.updateComplete;
42
+ await footer.updateComplete;
43
+ return { el, sidebar, header, footer };
44
+ }
45
+ const bg = (el) => getComputedStyle(el).backgroundColor;
46
+ describe('side-bar header/footer inside nile-app-shell', () => {
47
+ it('1. the shell strips the sidebar\'s own background', async () => {
48
+ const { sidebar } = await shellWithSidebar();
49
+ expect(bg(sidebar)).to.equal(TRANSPARENT);
50
+ });
51
+ it('2. without the new property the header/footer keep painting a surface, which is the seam', async () => {
52
+ const { header, footer } = await shellWithSidebar();
53
+ expect(bg(header)).to.equal(SURFACE);
54
+ expect(bg(footer)).to.equal(SURFACE);
55
+ });
56
+ it('3. background="transparent" closes the seam — nav track is one flat surface', async () => {
57
+ const { sidebar, header, footer } = await shellWithSidebar('transparent', 'transparent');
58
+ expect(bg(sidebar)).to.equal(TRANSPARENT);
59
+ expect(bg(header)).to.equal(TRANSPARENT);
60
+ expect(bg(footer)).to.equal(TRANSPARENT);
61
+ });
62
+ it('4. the shell\'s !important rule does not override the header/footer either way', async () => {
63
+ const { header, footer } = await shellWithSidebar('default', 'transparent');
64
+ expect(bg(header)).to.equal(SURFACE);
65
+ expect(bg(footer)).to.equal(TRANSPARENT);
66
+ });
67
+ });
68
+ //# sourceMappingURL=nile-side-bar-app-shell.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nile-side-bar-app-shell.test.js","sourceRoot":"","sources":["../../../src/nile-side-bar-header/nile-side-bar-app-shell.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,kCAAkC,CAAC;AAC1C,OAAO,gCAAgC,CAAC;AACxC,OAAO,wBAAwB,CAAC;AAChC,OAAO,8CAA8C,CAAC;AAKtD,MAAM,WAAW,GAAG,kBAAkB,CAAC;AACvC,MAAM,OAAO,GAAG,cAAc,CAAC;AAE/B;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,gBAAgB,CAAC,QAAiB,EAAE,QAAiB;IAClE,MAAM,EAAE,GAAG,MAAM,OAAO,CAAe,IAAI,CAAA;sFACyC,OAAO;;0DAEnC,QAAQ,IAAI,SAAS;;;0DAGrB,QAAQ,IAAI,SAAS;;;;;;;GAO5E,CAAC,CAAC;IACH,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,CAAC;IAEvD,MAAM,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAgB,CAAC;IACjE,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAsB,CAAC;IAC7E,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC,sBAAsB,CAAsB,CAAC;IAC7E,MAAM,MAAM,CAAC,cAAc,CAAC;IAC5B,MAAM,MAAM,CAAC,cAAc,CAAC;IAC5B,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,MAAM,EAAE,GAAG,CAAC,EAAe,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC,eAAe,CAAC;AAErE,QAAQ,CAAC,8CAA8C,EAAE,GAAG,EAAE;IAC5D,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;QACjE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAC7C,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0FAA0F,EAAE,KAAK,IAAI,EAAE;QACxG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,EAAE,CAAC;QACpD,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;QACzF,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1C,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gFAAgF,EAAE,KAAK,IAAI,EAAE;QAC9F,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QAC5E,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { expect, fixture, html, waitUntil } from '@open-wc/testing';\nimport '../nile-app-shell/nile-app-shell';\nimport '../nile-side-bar/nile-side-bar';\nimport './nile-side-bar-header';\nimport '../nile-side-bar-footer/nile-side-bar-footer';\nimport type { NileAppShell } from '../nile-app-shell/nile-app-shell';\nimport type { NileSideBarHeader } from './nile-side-bar-header';\nimport type { NileSideBarFooter } from '../nile-side-bar-footer/nile-side-bar-footer';\n\nconst TRANSPARENT = 'rgba(0, 0, 0, 0)';\nconst SURFACE = 'rgb(1, 2, 3)';\n\n/**\n * nile-app-shell owns the nav track's surface, so it forces the slotted\n * sidebar's own background off:\n *\n * ::slotted([slot='side-nav']) {\n * background: var(--nile-app-shell-side-nav-bg, transparent) !important;\n * }\n *\n * That reaches the `nile-side-bar` only. The header and footer live one level\n * deeper — they are light-DOM children of the sidebar, slotted into ITS shadow\n * root — so the shell cannot see them, and their own surface color survives.\n * These tests pin that boundary down, because it is the whole reason\n * `background=\"transparent\"` exists.\n */\nasync function shellWithSidebar(headerBg?: string, footerBg?: string) {\n const el = await fixture<NileAppShell>(html`\n <nile-app-shell style=\"width: 1400px; height: 600px; --nile-colors-neutral-100: ${SURFACE};\">\n <nile-side-bar slot=\"side-nav\">\n <nile-side-bar-header slot=\"header\" background=\"${headerBg ?? 'default'}\">\n <span slot=\"logo\">Logo</span>\n </nile-side-bar-header>\n <nile-side-bar-footer slot=\"footer\" background=\"${footerBg ?? 'default'}\">\n <span>Help</span>\n </nile-side-bar-footer>\n </nile-side-bar>\n <span slot=\"top-bar\">Title</span>\n <p>page</p>\n </nile-app-shell>\n `);\n await waitUntil(() => el.hasAttribute('has-side-nav'));\n\n const sidebar = el.querySelector('nile-side-bar') as HTMLElement;\n const header = el.querySelector('nile-side-bar-header') as NileSideBarHeader;\n const footer = el.querySelector('nile-side-bar-footer') as NileSideBarFooter;\n await header.updateComplete;\n await footer.updateComplete;\n return { el, sidebar, header, footer };\n}\n\nconst bg = (el: HTMLElement) => getComputedStyle(el).backgroundColor;\n\ndescribe('side-bar header/footer inside nile-app-shell', () => {\n it('1. the shell strips the sidebar\\'s own background', async () => {\n const { sidebar } = await shellWithSidebar();\n expect(bg(sidebar)).to.equal(TRANSPARENT);\n });\n\n it('2. without the new property the header/footer keep painting a surface, which is the seam', async () => {\n const { header, footer } = await shellWithSidebar();\n expect(bg(header)).to.equal(SURFACE);\n expect(bg(footer)).to.equal(SURFACE);\n });\n\n it('3. background=\"transparent\" closes the seam — nav track is one flat surface', async () => {\n const { sidebar, header, footer } = await shellWithSidebar('transparent', 'transparent');\n expect(bg(sidebar)).to.equal(TRANSPARENT);\n expect(bg(header)).to.equal(TRANSPARENT);\n expect(bg(footer)).to.equal(TRANSPARENT);\n });\n\n it('4. the shell\\'s !important rule does not override the header/footer either way', async () => {\n const { header, footer } = await shellWithSidebar('default', 'transparent');\n expect(bg(header)).to.equal(SURFACE);\n expect(bg(footer)).to.equal(TRANSPARENT);\n });\n});\n"]}
@@ -21,6 +21,11 @@ export const styles = css `
21
21
  background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));
22
22
  }
23
23
 
24
+ /* Opt-in: drop the surface color so the header sits on whatever is behind it. */
25
+ :host([background='transparent']) {
26
+ background: transparent;
27
+ }
28
+
24
29
  .header-content {
25
30
  display: flex;
26
31
  align-items: center;
@@ -1 +1 @@
1
- {"version":3,"file":"nile-side-bar-header.css.js","sourceRoot":"","sources":["../../../src/nile-side-bar-header/nile-side-bar-header.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * SideBarHeader CSS\n */\nexport const styles = css`\n :host {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n padding-bottom: var(--nile-spacing-lg, var(--ng-spacing-xl));\n padding-left: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n padding-right: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n top: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n.header-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n}\n\n\n:host([collapsed]) .header-content {\n flex-direction: column;\n justify-content: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-md));\n}\n\n\n\n \n \n::slotted([slot='logo']) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-bold));\n letter-spacing: -0.02em;\n color: var(--nile-colors-dark-900, var(--ng-colors-graylightmode-900));\n text-transform: none;\n}\n\n::slotted([slot='actions']) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md);\n}\n\n`;\n\nexport default [styles];"]}
1
+ {"version":3,"file":"nile-side-bar-header.css.js","sourceRoot":"","sources":["../../../src/nile-side-bar-header/nile-side-bar-header.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkDxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2023\n*\n* This source code is licensed under the BSD-3-Clause license found in the\n* LICENSE file in the root directory of this source tree.\n*/\n\nimport {css} from 'lit';\n\n/**\n * SideBarHeader CSS\n */\nexport const styles = css`\n :host {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding-top: var(--nile-spacing-xl, var(--ng-spacing-3xl));\n padding-bottom: var(--nile-spacing-lg, var(--ng-spacing-xl));\n padding-left: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n padding-right: var(--nile-spacing-xl, var(--ng-spacing-2xl));\n top: 0;\n background: var(--nile-colors-neutral-100, var(--ng-colors-bg-primary));\n}\n\n/* Opt-in: drop the surface color so the header sits on whatever is behind it. */\n:host([background='transparent']) {\n background: transparent;\n}\n\n.header-content {\n display: flex;\n align-items: center;\n justify-content: space-between;\n width: 100%;\n}\n\n\n:host([collapsed]) .header-content {\n flex-direction: column;\n justify-content: center;\n gap: var(--nile-spacing-lg, var(--ng-spacing-md));\n}\n\n\n\n \n \n::slotted([slot='logo']) {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-bold, var(--ng-font-weight-bold));\n letter-spacing: -0.02em;\n color: var(--nile-colors-dark-900, var(--ng-colors-graylightmode-900));\n text-transform: none;\n}\n\n::slotted([slot='actions']) {\n display: flex;\n align-items: center;\n gap: var(--nile-spacing-md);\n}\n\n`;\n\nexport default [styles];"]}
@@ -11,8 +11,17 @@ import NileElement from '../internal/nile-element';
11
11
  *
12
12
  * @tag nile-side-bar-header
13
13
  *
14
+ * @attr background - Background treatment of the header ("default" | "transparent").
15
+ * Defaults to "default", which paints the sidebar surface color. Set to
16
+ * "transparent" to drop the background so whatever sits behind the header shows
17
+ * through.
14
18
  */
15
19
  export declare class NileSideBarHeader extends NileElement {
20
+ /**
21
+ * Background treatment of the header. `default` keeps the sidebar surface
22
+ * color; `transparent` removes it.
23
+ */
24
+ background: 'default' | 'transparent';
16
25
  /**
17
26
  * The styles for nile-side-bar-header
18
27
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
@@ -6,7 +6,7 @@
6
6
  */
7
7
  import { __decorate } from "tslib";
8
8
  import { html } from 'lit';
9
- import { customElement } from 'lit/decorators.js';
9
+ import { customElement, property } from 'lit/decorators.js';
10
10
  import { styles } from './nile-side-bar-header.css';
11
11
  import NileElement from '../internal/nile-element';
12
12
  /**
@@ -14,8 +14,21 @@ import NileElement from '../internal/nile-element';
14
14
  *
15
15
  * @tag nile-side-bar-header
16
16
  *
17
+ * @attr background - Background treatment of the header ("default" | "transparent").
18
+ * Defaults to "default", which paints the sidebar surface color. Set to
19
+ * "transparent" to drop the background so whatever sits behind the header shows
20
+ * through.
17
21
  */
18
22
  let NileSideBarHeader = class NileSideBarHeader extends NileElement {
23
+ constructor() {
24
+ super(...arguments);
25
+ /**
26
+ * Background treatment of the header. `default` keeps the sidebar surface
27
+ * color; `transparent` removes it.
28
+ */
29
+ this.background = 'default';
30
+ /* #endregion */
31
+ }
19
32
  /**
20
33
  * The styles for nile-side-bar-header
21
34
  * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
@@ -38,6 +51,9 @@ let NileSideBarHeader = class NileSideBarHeader extends NileElement {
38
51
  `;
39
52
  }
40
53
  };
54
+ __decorate([
55
+ property({ type: String, reflect: true, attribute: true })
56
+ ], NileSideBarHeader.prototype, "background", void 0);
41
57
  NileSideBarHeader = __decorate([
42
58
  customElement('nile-side-bar-header')
43
59
  ], NileSideBarHeader);