@aquera/nile-elements 2.0.18 → 2.0.20

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 (138) hide show
  1. package/README.md +10 -0
  2. package/demo/index.js +0 -1
  3. package/dist/index.cjs.js +1 -1
  4. package/dist/index.esm.js +1 -1
  5. package/dist/index.js +1275 -490
  6. package/dist/nile-badge/index.cjs.js +1 -1
  7. package/dist/nile-badge/index.esm.js +1 -1
  8. package/dist/nile-badge/nile-badge.cjs.js +1 -1
  9. package/dist/nile-badge/nile-badge.cjs.js.map +1 -1
  10. package/dist/nile-badge/nile-badge.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 +24 -3
  13. package/dist/nile-badge/nile-badge.esm.js +5 -3
  14. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js +1 -1
  15. package/dist/nile-breadcrumb/nile-breadcrumb.cjs.js.map +1 -1
  16. package/dist/nile-breadcrumb/nile-breadcrumb.esm.js +2 -2
  17. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js +1 -1
  18. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.cjs.js.map +1 -1
  19. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js +1 -1
  20. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.cjs.js.map +1 -1
  21. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.css.esm.js +14 -2
  22. package/dist/nile-breadcrumb-item/nile-breadcrumb-item.esm.js +4 -4
  23. package/dist/nile-calendar/index.cjs.js +1 -1
  24. package/dist/nile-calendar/index.esm.js +1 -1
  25. package/dist/nile-calendar/nile-calendar.cjs.js +2 -1
  26. package/dist/nile-calendar/nile-calendar.cjs.js.map +1 -1
  27. package/dist/nile-calendar/nile-calendar.css.cjs.js +1 -1
  28. package/dist/nile-calendar/nile-calendar.css.cjs.js.map +1 -1
  29. package/dist/nile-calendar/nile-calendar.css.esm.js +357 -2
  30. package/dist/nile-calendar/nile-calendar.esm.js +365 -41
  31. package/dist/nile-calendar/timezones.cjs.js +1 -1
  32. package/dist/nile-calendar/timezones.cjs.js.map +1 -1
  33. package/dist/nile-calendar/timezones.esm.js +1 -1
  34. package/dist/nile-date-time-picker/index.cjs.js +2 -0
  35. package/dist/nile-date-time-picker/index.cjs.js.map +1 -0
  36. package/dist/nile-date-time-picker/index.esm.js +1 -0
  37. package/dist/nile-date-time-picker/nile-date-time-picker.cjs.js +2 -0
  38. package/dist/nile-date-time-picker/nile-date-time-picker.cjs.js.map +1 -0
  39. package/dist/nile-date-time-picker/nile-date-time-picker.css.cjs.js +2 -0
  40. package/dist/nile-date-time-picker/nile-date-time-picker.css.cjs.js.map +1 -0
  41. package/dist/nile-date-time-picker/nile-date-time-picker.css.esm.js +13 -0
  42. package/dist/nile-date-time-picker/nile-date-time-picker.esm.js +53 -0
  43. package/dist/nile-select/index.cjs.js +1 -1
  44. package/dist/nile-select/index.esm.js +1 -1
  45. package/dist/nile-select/nile-select.cjs.js +2 -2
  46. package/dist/nile-select/nile-select.cjs.js.map +1 -1
  47. package/dist/nile-select/nile-select.esm.js +1 -1
  48. package/dist/nile-select/virtual-scroll-helper.cjs.js +1 -1
  49. package/dist/nile-select/virtual-scroll-helper.cjs.js.map +1 -1
  50. package/dist/nile-select/virtual-scroll-helper.esm.js +48 -47
  51. package/dist/nile-virtual-select/nile-virtual-select.cjs.js +4 -4
  52. package/dist/nile-virtual-select/nile-virtual-select.cjs.js.map +1 -1
  53. package/dist/nile-virtual-select/nile-virtual-select.esm.js +2 -2
  54. package/dist/src/index.d.ts +1 -0
  55. package/dist/src/index.js +1 -0
  56. package/dist/src/index.js.map +1 -1
  57. package/dist/src/nile-badge/nile-badge.css.js +24 -3
  58. package/dist/src/nile-badge/nile-badge.css.js.map +1 -1
  59. package/dist/src/nile-badge/nile-badge.d.ts +7 -4
  60. package/dist/src/nile-badge/nile-badge.js +22 -5
  61. package/dist/src/nile-badge/nile-badge.js.map +1 -1
  62. package/dist/src/nile-badge/nile-badge.test.js +88 -0
  63. package/dist/src/nile-badge/nile-badge.test.js.map +1 -1
  64. package/dist/src/nile-breadcrumb/nile-breadcrumb.d.ts +7 -0
  65. package/dist/src/nile-breadcrumb/nile-breadcrumb.js +24 -1
  66. package/dist/src/nile-breadcrumb/nile-breadcrumb.js.map +1 -1
  67. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js +51 -0
  68. package/dist/src/nile-breadcrumb/nile-breadcrumb.test.js.map +1 -1
  69. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js +12 -0
  70. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.css.js.map +1 -1
  71. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.d.ts +5 -0
  72. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js +9 -0
  73. package/dist/src/nile-breadcrumb-item/nile-breadcrumb-item.js.map +1 -1
  74. package/dist/src/nile-calendar/nile-calendar.css.js +355 -0
  75. package/dist/src/nile-calendar/nile-calendar.css.js.map +1 -1
  76. package/dist/src/nile-calendar/nile-calendar.d.ts +175 -0
  77. package/dist/src/nile-calendar/nile-calendar.js +1726 -26
  78. package/dist/src/nile-calendar/nile-calendar.js.map +1 -1
  79. package/dist/src/nile-calendar/nile-calendar.test.d.ts +1 -0
  80. package/dist/src/nile-calendar/nile-calendar.test.js +3580 -0
  81. package/dist/src/nile-calendar/nile-calendar.test.js.map +1 -1
  82. package/dist/src/nile-calendar/timezones.d.ts +21 -0
  83. package/dist/src/nile-calendar/timezones.js +49 -0
  84. package/dist/src/nile-calendar/timezones.js.map +1 -1
  85. package/dist/src/nile-date-time-picker/index.d.ts +1 -0
  86. package/dist/src/nile-date-time-picker/index.js +2 -0
  87. package/dist/src/nile-date-time-picker/index.js.map +1 -0
  88. package/dist/src/nile-date-time-picker/nile-date-time-picker.css.d.ts +11 -0
  89. package/dist/src/nile-date-time-picker/nile-date-time-picker.css.js +49 -0
  90. package/dist/src/nile-date-time-picker/nile-date-time-picker.css.js.map +1 -0
  91. package/dist/src/nile-date-time-picker/nile-date-time-picker.d.ts +173 -0
  92. package/dist/src/nile-date-time-picker/nile-date-time-picker.js +1270 -0
  93. package/dist/src/nile-date-time-picker/nile-date-time-picker.js.map +1 -0
  94. package/dist/src/nile-date-time-picker/nile-date-time-picker.test.d.ts +143 -0
  95. package/dist/src/nile-date-time-picker/nile-date-time-picker.test.js +7277 -0
  96. package/dist/src/nile-date-time-picker/nile-date-time-picker.test.js.map +1 -0
  97. package/dist/src/nile-select/nile-select.d.ts +1 -0
  98. package/dist/src/nile-select/nile-select.js +16 -1
  99. package/dist/src/nile-select/nile-select.js.map +1 -1
  100. package/dist/src/nile-select/nile-select.test.js +430 -5
  101. package/dist/src/nile-select/nile-select.test.js.map +1 -1
  102. package/dist/src/nile-select/virtual-scroll-helper.js +7 -4
  103. package/dist/src/nile-select/virtual-scroll-helper.js.map +1 -1
  104. package/dist/src/nile-virtual-select/nile-virtual-select.d.ts +3 -1
  105. package/dist/src/nile-virtual-select/nile-virtual-select.js +14 -6
  106. package/dist/src/nile-virtual-select/nile-virtual-select.js.map +1 -1
  107. package/dist/src/nile-virtual-select/nile-virtual-select.test.js +115 -1
  108. package/dist/src/nile-virtual-select/nile-virtual-select.test.js.map +1 -1
  109. package/dist/src/version.js +1 -1
  110. package/dist/src/version.js.map +1 -1
  111. package/dist/tsconfig.tsbuildinfo +1 -1
  112. package/dist/utilities/animation-registry.cjs.js +1 -1
  113. package/dist/utilities/animation-registry.cjs.js.map +1 -1
  114. package/dist/utilities/animation-registry.esm.js +1 -1
  115. package/package.json +3 -1
  116. package/scripts/coverage-report.mjs +96 -0
  117. package/src/index.ts +1 -0
  118. package/src/nile-badge/nile-badge.css.ts +24 -3
  119. package/src/nile-badge/nile-badge.test.ts +102 -0
  120. package/src/nile-badge/nile-badge.ts +28 -5
  121. package/src/nile-breadcrumb/nile-breadcrumb.test.ts +57 -0
  122. package/src/nile-breadcrumb/nile-breadcrumb.ts +19 -0
  123. package/src/nile-breadcrumb-item/nile-breadcrumb-item.css.ts +12 -0
  124. package/src/nile-breadcrumb-item/nile-breadcrumb-item.ts +7 -0
  125. package/src/nile-calendar/nile-calendar.css.ts +355 -0
  126. package/src/nile-calendar/nile-calendar.test.ts +3793 -0
  127. package/src/nile-calendar/nile-calendar.ts +1760 -28
  128. package/src/nile-calendar/timezones.ts +57 -0
  129. package/src/nile-date-time-picker/index.ts +1 -0
  130. package/src/nile-date-time-picker/nile-date-time-picker.css.ts +54 -0
  131. package/src/nile-date-time-picker/nile-date-time-picker.test.ts +7886 -0
  132. package/src/nile-date-time-picker/nile-date-time-picker.ts +1153 -0
  133. package/src/nile-select/nile-select.test.ts +560 -5
  134. package/src/nile-select/nile-select.ts +21 -1
  135. package/src/nile-select/virtual-scroll-helper.ts +7 -4
  136. package/src/nile-virtual-select/nile-virtual-select.test.ts +139 -1
  137. package/src/nile-virtual-select/nile-virtual-select.ts +17 -6
  138. package/vscode-html-custom-data.json +200 -20
@@ -3,12 +3,12 @@ import{__decorate as i}from"tslib";import{html as s}from"lit";import{query as e,
3
3
  * @license
4
4
  * Copyright 2020 Google LLC
5
5
  * SPDX-License-Identifier: BSD-3-Clause
6
- */const O=(i,s)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(s,!1),O(i,s);return!0},F=i=>{let s,e;do{if(void 0===(s=i._$AM))break;e=s._$AN,e.delete(i),i=s}while(0===e?.size)},B=i=>{for(let s;s=i._$AM;i=s){let e=s._$AN;if(void 0===e)s._$AN=e=new Set;else if(e.has(i))break;e.add(i),T(s)}};
6
+ */const F=(i,s)=>{const e=i._$AN;if(void 0===e)return!1;for(const i of e)i._$AO?.(s,!1),F(i,s);return!0},O=i=>{let s,e;do{if(void 0===(s=i._$AM))break;e=s._$AN,e.delete(i),i=s}while(0===e?.size)},B=i=>{for(let s;s=i._$AM;i=s){let e=s._$AN;if(void 0===e)s._$AN=e=new Set;else if(e.has(i))break;e.add(i),T(s)}};
7
7
  /**
8
8
  * @license
9
9
  * Copyright 2017 Google LLC
10
10
  * SPDX-License-Identifier: BSD-3-Clause
11
- */function A(i){void 0!==this._$AN?(F(this),this._$AM=i,B(this)):this._$AM=i}function z(i,s=!1,e=0){const n=this._$AH,o=this._$AN;if(void 0!==o&&0!==o.size)if(s)if(Array.isArray(n))for(let i=e;i<n.length;i++)O(n[i],!1),F(n[i]);else null!=n&&(O(n,!1),F(n));else O(this,i)}const T=i=>{i.type==$.CHILD&&(i._$AP??=z,i._$AQ??=A)};class V extends k{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,s,e){super._$AT(i,s,e),B(this),this.isConnected=i._$AU}_$AO(i,s=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),s&&(O(this,i),F(this))}setValue(i){if((i=>void 0===i.strings)(this._$Ct))this._$Ct._$AI(i,this);else{const s=[...this._$Ct._$AH];s[this._$Ci]=i,this._$Ct._$AI(s,this,0)}}disconnected(){}reconnected(){}}class M{constructor(i,{target:s,config:e,callback:n,skipInitial:o}){this.t=new Set,this.o=!1,this.i=!1,this.h=i,null!==s&&this.t.add(s??i),this.l=e,this.o=o??this.o,this.callback=n,window.ResizeObserver?(this.u=new ResizeObserver((i=>{this.handleChanges(i),this.h.requestUpdate()})),i.addController(this)):console.warn("ResizeController error: browser does not support ResizeObserver.")}handleChanges(i){this.value=this.callback?.(i,this.u)}hostConnected(){for(const i of this.t)this.observe(i)}hostDisconnected(){this.disconnect()}async hostUpdated(){!this.o&&this.i&&this.handleChanges([]),this.i=!1}observe(i){this.t.add(i),this.u.observe(i,this.l),this.i=!0,this.h.requestUpdate()}unobserve(i){this.t.delete(i),this.u.unobserve(i)}disconnect(){this.u.disconnect()}target(i){return q(this,i)}}const q=C(class extends V{constructor(){super(...arguments),this.observing=!1}render(i,s){}update(i,[s,e]){this.controller=s,this.part=i,this.observe=e,!1===e?(s.unobserve(i.element),this.observing=!1):!1===this.observing&&(s.observe(i.element),this.observing=!0)}disconnected(){this.controller?.unobserve(this.part.element),this.observing=!1}reconnected(){!1!==this.observe&&!1===this.observing&&(this.controller?.observe(this.part.element),this.observing=!0)}});let I=class extends f{constructor(){super(...arguments),this.formControlController=new h(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new d(this,"help-text","label"),this.portalManager=new x(this),this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.oldValue="",this.scrolling=!1,this.name="",this.data=[],this.originalOptionItems=[],this.value="",this.defaultValue="",this.size="medium",this.placeholder="Select...",this.autoResize=!1,this.searchValue="",this.searchEnabled=!1,this.enableVisibilityEffect=!1,this.internalSearchPlaceHolder="Search...",this.disableLocalSearch=!1,this.optionsLoading=!1,this.loading=!1,this.multiple=!1,this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.disabled=!1,this.clearable=!1,this.open=!1,this.hoist=!1,this.filled=!1,this.pill=!1,this.label="",this.placement="bottom",this.form="",this.required=!1,this.showNoResults=!1,this.noResultsMessage="No results found",this.showSelected=!1,this.blockValueChange=!1,this.noWidthSync=!1,this.portal=!1,this._maxOptionsVisible=3,this.maxOptionsVisibleExplicit=!1,this.chipMinWidth=110,this.chipMaxWidth=180,this.showTooltip=!1,this.hiddenChipCount=0,this.oldMaxOptionsVisible=1,this.lastOverflowWidth=0,this.chipFitFrame=0,this.lastChipLayout={hidden:-1,visible:-1},this.clippedChips=[],this.clipFrame=0,this.enableTabClose=!1,this.descriptionSearchEnabled=!1,this.allowHtmlLabel=!0,this.enableDescription=!1,this.legacy=!1,this.tickOnSelect=!1,this.showListbox=!1,this.wasShowSelectedCheckedOnClose=!1,this.handleDocumentMouseDown=i=>{if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()},this.handleWindowError=i=>{(i.error?.message||i.message||"").includes("Cannot read properties of null (reading 'insertBefore')")&&i.preventDefault()},this.handleWindowResize=()=>{this.portalManager.updatePortalAppendPosition()},this.handleWindowScroll=()=>{this.portalManager.updatePortalAppendPosition()},this.resizeController=new M(this,{callback:i=>{for(const s of i)s.target.classList.contains("select__tags")&&this.calculateTotalWidthOfTags()}})}get maxOptionsVisible(){return this._maxOptionsVisible}set maxOptionsVisible(i){const s=this._maxOptionsVisible;this._maxOptionsVisible=i,this.maxOptionsVisibleExplicit=!0,this.requestUpdate("maxOptionsVisible",s)}get chipFittingEnabled(){return!!this.multiple&&this.showTooltip&&!this.maxOptionsVisibleExplicit}get legacyTagFitEnabled(){return!!this.multiple&&!this.showTooltip}setFittedMaxOptionsVisible(i){const s=this._maxOptionsVisible;this._maxOptionsVisible=i,this.requestUpdate("maxOptionsVisible",s)}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage??""}connectedCallback(){super.connectedCallback(),this.initializeComponent(),this.setupEventListeners(),this.updateComplete.then((()=>{this.value&&this.data.length>0&&this.selectionChanged()}))}disconnectedCallback(){this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=void 0),this.portalManager.cleanupPortalAppend(),this.destroyChipFit()}updated(i){i.has("value")&&this.selectionChanged(),(i.has("autoResize")||i.has("multiple")||i.has("maxOptionsVisible")||i.has("showTooltip"))&&this.setupResizeObserver(),i.has("showTooltip")&&void 0!==i.get("showTooltip")&&this.legacyTagFitEnabled&&this.calculateTotalWidthOfTags(),(i.has("chipMinWidth")||i.has("chipMaxWidth"))&&this.destroyChipFit(),this.chipFittingEnabled&&this.calculateTotalWidthOfTags(),this.multiple&&this.showTooltip&&this.scheduleClipCheck()}initializeComponent(){this.open=!1,this.emit("nile-init")}getDisplayText(i){return this.renderItemConfig?.getDisplayText?this.renderItemConfig.getDisplayText(i):i?.label||i?.name||i?.toString()||""}getItemValue(i){return this.renderItemConfig?.getValue?this.renderItemConfig.getValue(i):i?.value||i}getItemDescription(i){return this.renderItemConfig?.getDescription?this.renderItemConfig.getDescription(i):i?.description||i||""}getItemPrefix(i){return this.renderItemConfig?.getPrefix?this.renderItemConfig.getPrefix(i):i?.prefix||i||""}getItemSuffix(i){return this.renderItemConfig?.getSuffix?this.renderItemConfig.getSuffix(i):i?.suffix||i||""}getSearchText(i){return this.renderItemConfig?.getSearchText?this.renderItemConfig.getSearchText(i):this.getDisplayText(i)}setupEventListeners(){this.handleDocumentFocusIn=this.handleDocumentFocusIn.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleWindowError=this.handleWindowError.bind(this),this.handleWindowResize=this.handleWindowResize.bind(this),this.handleWindowScroll=this.handleWindowScroll.bind(this)}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),window.addEventListener("error",this.handleWindowError),this.portal&&(window.addEventListener("resize",this.handleWindowResize),window.addEventListener("scroll",this.handleWindowScroll,!0))}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),window.removeEventListener("error",this.handleWindowError),window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("scroll",this.handleWindowScroll,!0)}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}firstUpdated(i){this.visibilityManager=new S({host:this,target:this.combobox,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view",name:this.name})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden",name:this.name})},emit:(i,s)=>this.emit(`nile-${i}`,s)})}handleDocumentFocusIn(i){if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()}handleDocumentKeyDown(i){this.shouldIgnoreKeyPress(i)||(this.isEscapeKey(i)&&this.handleEscapeKey(i),this.isEnterOrSpaceKey(i)&&this.handleEnterOrSpaceKey(i))}shouldIgnoreKeyPress(i){const s=i.target,e=null!==s.closest(".select__clear"),n=null!==s.closest("nile-icon-button");return e||n}isEscapeKey(i){return"Escape"===i.key&&this.open}handleEscapeKey(i){i.preventDefault(),i.stopPropagation(),this.hide(),this.displayInput.focus({preventScroll:!0})}isEnterOrSpaceKey(i){return"Enter"===i.key||" "===i.key}handleEnterOrSpaceKey(i){i.preventDefault(),i.stopImmediatePropagation(),this.open?this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})):this.show()}handleFooterClick(i){i.stopPropagation(),i.preventDefault()}toggleShowSelected(i){if(i.stopPropagation(),i.preventDefault(),0!==this.selectedOptions?.length){if(this.showSelected=!this.showSelected,this.showSelected){this.searchValue="";const i=Array.isArray(this.value)?this.value:[this.value];this.data=this.originalOptionItems.filter((s=>{const e=this.getItemValue(s);return i.some((i=>String(i)===String(e)))}))}else this.data=[...this.originalOptionItems];this.portalManager.resetMeasuredHeight(),this.requestUpdate(),this.repaintOptionsContainer()}}unSelectAll(){this.showSelected=!1,this.value=this.multiple?[]:"",this.data=[...this.originalOptionItems],this.selectionChanged(),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-clear",{value:this.multiple?this.value:"",name:this.name}),this.resetScrollPosition()}handleLabelClick(){this.displayInput.focus(),this.hide()}handleComboboxMouseDown(i){this.shouldIgnoreComboboxClick(i)||(i.preventDefault(),this.displayInput.focus({preventScroll:!0}),this.open=!this.open)}shouldIgnoreComboboxClick(i){const s=i.composedPath(),e=s.some((i=>i instanceof Element&&"nile-icon-button"===i.tagName.toLowerCase())),n=s.some((i=>i instanceof HTMLButtonElement&&i.classList.contains("select__tags-count")));return this.disabled||e||n}handleComboboxKeyDown(i){this.isEnterOrSpaceKey(i)&&(i.preventDefault(),this.open=!this.open)}handleClearClick(i){i.stopPropagation(),this.clearSelection()}clearSelection(){this.value,this.value=this.multiple?[]:"",this.selectionChanged(),this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-clear")}))}handleClearMouseDown(i){i.stopPropagation()}handleOptionClick(i){const s=i.target.closest("nile-option");if(this.shouldBlockValueChange(s))return;const e=this.value;this.oldValue=e,s&&!s.disabled&&this.handleOptionSelection(s)}shouldBlockValueChange(i){return!(!this.blockValueChange||!i)&&(this.emit("nile-block-change",{value:i?.value,name:this.name}),this.hide(),!0)}handleOptionSelection(i){const s=i.value;this.multiple?this.toggleOptionSelection(s):this.setSelectedOptions(s),this.updateComplete.then((()=>this.displayInput.focus({preventScroll:!0}))),this.value!==this.oldValue&&this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0}))}setSelectedOptions(i){this.value=i,this.selectionChanged()}toggleOptionSelection(i){const s=Array.isArray(this.value)?this.value:[];s.includes(i)?this.value=s.filter((s=>s!==i)):this.value=[...s,i],this.selectionChanged()}handleTagRemove(i,s){i.stopPropagation(),this.disabled||(this.removeTagFromSelection(s),this.emitTagRemovalEvent(s))}removeTagFromSelection(i){let s=this.value;Array.isArray(s)||(s=s?[s]:[]);const e=s.filter((s=>s!==i.value));this.value=e,this.selectionChanged()}emitTagRemovalEvent(i){this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:i.value})}))}selectionChanged(){const i=this.originalOptionItems.length>0?this.originalOptionItems:this.data;if(this.selectedOptions=y.createVirtualOptionsFromValues(this.value,i,this.getDisplayText.bind(this),this.renderItemConfig?.getValue,this.allowHtmlLabel),this.multiple)this.placeholder&&0===this.value.length?this.displayLabel="":this.displayLabel=this.selectedOptions.length+" selected";else{const i=Array.isArray(this.value)?this.value[0]:this.value,s=this.selectedOptions[0]?.getTextLabel();this.displayLabel=s||(i??"")}this.updateValidity(),0===this.selectedOptions.length&&(this.showSelected=!1,this.originalOptionItems?.length>0&&!this.searchValue&&(this.data=[...this.originalOptionItems]),this.repaintOptionsContainer()),this.calculateTotalWidthOfTags()}handleSearchFocus(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleSearchBlur(){document.addEventListener("keydown",this.handleDocumentKeyDown)}handleSearchChange(i){this.searchValue=i.detail.value,this.portal&&this.portalManager.updatePortalAppendPosition(),this.emit("nile-search",{query:this.searchValue,name:this.name}),this.disableLocalSearch||(this.filterVirtualOptions(this.searchValue),this.repaintOptionsContainer(),this.portalManager.resetMeasuredHeight())}repaintOptionsContainer(){this.resetScrollPosition(),this.updateComplete.then((()=>{const i=this.shadowRoot?.querySelector(".virtualized");i&&(this.data.length<5?i.classList.add("no-scroll"):i.classList.remove("no-scroll"))}))}handleScroll(i){if(this.showSelected)return;const s=i.target;this.emit("nile-scroll",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name}),this.scrolling||(this.scrolling=!0,this.emit("nile-scroll-start",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name})),clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout((()=>{this.scrolling&&(this.scrolling=!1)}),300);Math.ceil(s.scrollTop)>=Math.floor(s.scrollHeight-s.offsetHeight)&&!this.searchValue&&this.emit("nile-scroll-end",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name,isAtBottom:!0})}filterVirtualOptions(i){const s=w.filterVirtualOptions(i,this.originalOptionItems,this.data,this.getDisplayText.bind(this),this.getItemDescription.bind(this),this.descriptionSearchEnabled,this.renderItemConfig?.getSearchText);this.portal?(this.portalManager.updatePortalAppendPosition(),this.updateComplete.then((()=>{requestAnimationFrame((()=>{this.resetScrollPosition()}))}))):this.resetScrollPosition(),this.data=s.filteredItems,this.showNoResults=s.showNoResults,this.showSelected=!1,this.requestUpdate()}handleInvalid(i){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(i)}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){this.selectionChanged(),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleDataChange(){this.data.length>0&&this.open&&!this.showSelected&&!this.searchValue&&(this.originalOptionItems=[...this.data]),this.selectionChanged(),this.optionsLoading||this.loading||0!==this.data.length?this.data.length>0&&(this.showNoResults=!1):this.showNoResults=!0,this.requestUpdate(),this.portalManager.resetMeasuredHeight(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleRenderItemConfigChange(){this.value&&this.data.length>0&&(this.selectionChanged(),this.requestUpdate())}handleOptionsLoadingChange(){this.optionsLoading||0!==this.data.length||(this.showNoResults=!0),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handlePortalAppendChange(){this.open&&(this.portal?this.portalManager.setupPortalAppend():this.portalManager.cleanupPortalAppend())}async handleOpenChange(){this.open&&!this.disabled?(this.visibilityManager?.setup(),this.showListbox=!0,await this.updateComplete,await this.handleOpen(),this.portal&&this.portalManager.setupPortalAppend()):(this.visibilityManager?.cleanup(),await this.handleClose(),this.showListbox=!1,this.portal&&this.portalManager.cleanupPortalAppend())}async handleOpen(){this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.showNoResults=!this.data?.length,await r(this),this.popup?.popup&&(this.popup.popup.style.visibility="hidden"),this.popup.active=!0,await new Promise((i=>requestAnimationFrame(i))),await new Promise((i=>requestAnimationFrame(i))),this.popup?.popup&&(this.popup.popup.style.visibility="");const{keyframes:i,options:s}=v(this,"select.show",{dir:"ltr"});await l(this.popup.popup,i,s),this.wasShowSelectedCheckedOnClose&&(this.showSelected=!1,this.data=[...this.originalOptionItems],this.wasShowSelectedCheckedOnClose=!1),this.filterVirtualOptions(""),this.resetScrollPosition(),this.emit("nile-after-show",{value:this.value,name:this.name})}async handleClose(){this.emit("nile-hide",{value:this.value,name:this.name}),this.removeOpenListeners(),this.wasShowSelectedCheckedOnClose=this.showSelected,await r(this);const{keyframes:i,options:s}=v(this,"select.hide",{dir:"ltr"});await l(this.popup.popup,i,s),this.popup.active=!1,this.popup?.popup&&(this.popup.popup.style.visibility=""),this.searchValue="",this.portalManager.resetMeasuredHeight(),this.emit("nile-after-hide",{value:this.value,name:this.name})}async show(){if(!this.open&&!this.disabled)return this.open=!0,j(this,"nile-after-show");this.open=!1}async hide(){if(this.open&&!this.disabled)return this.open=!1,j(this,"nile-after-hide");this.open=!1}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(i){this.valueInput.setCustomValidity(i),this.formControlController.updateValidity()}focus(i){this.displayInput.focus(i)}blur(){this.displayInput.blur()}onInputChange(i){i.stopPropagation()}render(){const i=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const e=this.hasSlotController.test("label-suffix"),n=this.hasSlotController.test("custom-select"),o=!!this.label||!!i,t=this.clearable&&!this.disabled&&this.value.length>0,c=!!this.placeholder&&0===this.value.length,r=!!this.helpText,l=!!this.errorMessage;return s`
11
+ */function A(i){void 0!==this._$AN?(O(this),this._$AM=i,B(this)):this._$AM=i}function z(i,s=!1,e=0){const n=this._$AH,o=this._$AN;if(void 0!==o&&0!==o.size)if(s)if(Array.isArray(n))for(let i=e;i<n.length;i++)F(n[i],!1),O(n[i]);else null!=n&&(F(n,!1),O(n));else F(this,i)}const T=i=>{i.type==$.CHILD&&(i._$AP??=z,i._$AQ??=A)};class V extends k{constructor(){super(...arguments),this._$AN=void 0}_$AT(i,s,e){super._$AT(i,s,e),B(this),this.isConnected=i._$AU}_$AO(i,s=!0){i!==this.isConnected&&(this.isConnected=i,i?this.reconnected?.():this.disconnected?.()),s&&(F(this,i),O(this))}setValue(i){if((i=>void 0===i.strings)(this._$Ct))this._$Ct._$AI(i,this);else{const s=[...this._$Ct._$AH];s[this._$Ci]=i,this._$Ct._$AI(s,this,0)}}disconnected(){}reconnected(){}}class M{constructor(i,{target:s,config:e,callback:n,skipInitial:o}){this.t=new Set,this.o=!1,this.i=!1,this.h=i,null!==s&&this.t.add(s??i),this.l=e,this.o=o??this.o,this.callback=n,window.ResizeObserver?(this.u=new ResizeObserver((i=>{this.handleChanges(i),this.h.requestUpdate()})),i.addController(this)):console.warn("ResizeController error: browser does not support ResizeObserver.")}handleChanges(i){this.value=this.callback?.(i,this.u)}hostConnected(){for(const i of this.t)this.observe(i)}hostDisconnected(){this.disconnect()}async hostUpdated(){!this.o&&this.i&&this.handleChanges([]),this.i=!1}observe(i){this.t.add(i),this.u.observe(i,this.l),this.i=!0,this.h.requestUpdate()}unobserve(i){this.t.delete(i),this.u.unobserve(i)}disconnect(){this.u.disconnect()}target(i){return q(this,i)}}const q=C(class extends V{constructor(){super(...arguments),this.observing=!1}render(i,s){}update(i,[s,e]){this.controller=s,this.part=i,this.observe=e,!1===e?(s.unobserve(i.element),this.observing=!1):!1===this.observing&&(s.observe(i.element),this.observing=!0)}disconnected(){this.controller?.unobserve(this.part.element),this.observing=!1}reconnected(){!1!==this.observe&&!1===this.observing&&(this.controller?.observe(this.part.element),this.observing=!0)}});let I=class extends f{constructor(){super(...arguments),this.formControlController=new h(this,{assumeInteractionOn:["nile-blur","nile-input"]}),this.hasSlotController=new d(this,"help-text","label"),this.portalManager=new x(this),this.hasFocus=!1,this.displayLabel="",this.selectedOptions=[],this.oldValue="",this.scrolling=!1,this.name="",this.data=[],this.originalOptionItems=[],this.value="",this.defaultValue="",this.size="medium",this.placeholder="Select...",this.autoResize=!1,this.searchValue="",this.searchEnabled=!1,this.enableVisibilityEffect=!1,this.internalSearchPlaceHolder="Search...",this.disableLocalSearch=!1,this.optionsLoading=!1,this.loading=!1,this.multiple=!1,this.helpText="",this.errorMessage="",this.warning=!1,this.error=!1,this.success=!1,this.disabled=!1,this.clearable=!1,this.open=!1,this.hoist=!1,this.filled=!1,this.pill=!1,this.label="",this.placement="bottom",this.form="",this.required=!1,this.showNoResults=!1,this.noResultsMessage="No results found",this.showSelected=!1,this.blockValueChange=!1,this.noWidthSync=!1,this.portal=!1,this._maxOptionsVisible=3,this.maxOptionsVisibleExplicit=!1,this.chipMinWidth=110,this.chipMaxWidth=180,this.showTooltip=!1,this.hiddenChipCount=0,this.oldMaxOptionsVisible=1,this.lastOverflowWidth=0,this.chipFitFrame=0,this.lastChipLayout={hidden:-1,visible:-1},this.clippedChips=[],this.clipFrame=0,this.enableTabClose=!1,this.descriptionSearchEnabled=!1,this.allowHtmlLabel=!0,this.enableDescription=!1,this.legacy=!1,this.tickOnSelect=!1,this.showListbox=!1,this.wasShowSelectedCheckedOnClose=!1,this.handleDocumentMouseDown=i=>{if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()},this.handleWindowError=i=>{(i.error?.message||i.message||"").includes("Cannot read properties of null (reading 'insertBefore')")&&i.preventDefault()},this.handleWindowResize=()=>{this.portalManager.updatePortalAppendPosition()},this.handleWindowScroll=()=>{this.portalManager.updatePortalAppendPosition()},this.resizeController=new M(this,{callback:i=>{for(const s of i)s.target.classList.contains("select__tags")&&this.calculateTotalWidthOfTags()}})}get maxOptionsVisible(){return this._maxOptionsVisible}set maxOptionsVisible(i){const s=this._maxOptionsVisible;this._maxOptionsVisible=i,this.maxOptionsVisibleExplicit=!0,this.requestUpdate("maxOptionsVisible",s)}get chipFittingEnabled(){return!!this.multiple&&this.showTooltip&&!this.maxOptionsVisibleExplicit}get legacyTagFitEnabled(){return!!this.multiple&&!this.showTooltip}setFittedMaxOptionsVisible(i){const s=this._maxOptionsVisible;this._maxOptionsVisible=i,this.requestUpdate("maxOptionsVisible",s)}get validity(){return this.valueInput?.validity}get validationMessage(){return this.valueInput?.validationMessage??""}connectedCallback(){super.connectedCallback(),this.initializeComponent(),this.setupEventListeners(),this.updateComplete.then((()=>{this.value&&this.data.length>0&&this.selectionChanged()}))}disconnectedCallback(){this.removeOpenListeners(),this.visibilityManager?.cleanup(),this.scrollTimeout&&(clearTimeout(this.scrollTimeout),this.scrollTimeout=void 0),this.portalManager.cleanupPortalAppend(),this.destroyChipFit()}updated(i){i.has("value")&&this.selectionChanged(),(i.has("autoResize")||i.has("multiple")||i.has("maxOptionsVisible")||i.has("showTooltip"))&&this.setupResizeObserver(),i.has("showTooltip")&&void 0!==i.get("showTooltip")&&this.legacyTagFitEnabled&&this.calculateTotalWidthOfTags(),(i.has("chipMinWidth")||i.has("chipMaxWidth"))&&this.destroyChipFit(),this.chipFittingEnabled&&this.calculateTotalWidthOfTags(),this.multiple&&this.showTooltip&&this.scheduleClipCheck()}initializeComponent(){this.open=!1,this.emit("nile-init")}getDisplayText(i){return this.renderItemConfig?.getDisplayText?this.renderItemConfig.getDisplayText(i):i?.label||i?.name||i?.toString()||""}getItemValue(i){return this.renderItemConfig?.getValue?this.renderItemConfig.getValue(i):i?.value||i}getItemDescription(i){return this.renderItemConfig?.getDescription?this.renderItemConfig.getDescription(i):i?.description||i||""}getItemPrefix(i){return this.renderItemConfig?.getPrefix?this.renderItemConfig.getPrefix(i):i?.prefix||i||""}getItemSuffix(i){return this.renderItemConfig?.getSuffix?this.renderItemConfig.getSuffix(i):i?.suffix||i||""}getSearchText(i){return this.renderItemConfig?.getSearchText?this.renderItemConfig.getSearchText(i):this.getDisplayText(i)}setupEventListeners(){this.handleDocumentFocusIn=this.handleDocumentFocusIn.bind(this),this.handleDocumentKeyDown=this.handleDocumentKeyDown.bind(this),this.handleDocumentMouseDown=this.handleDocumentMouseDown.bind(this),this.handleWindowError=this.handleWindowError.bind(this),this.handleWindowResize=this.handleWindowResize.bind(this),this.handleWindowScroll=this.handleWindowScroll.bind(this)}addOpenListeners(){document.addEventListener("focusin",this.handleDocumentFocusIn),document.addEventListener("keydown",this.handleDocumentKeyDown),document.addEventListener("mousedown",this.handleDocumentMouseDown),window.addEventListener("error",this.handleWindowError),this.portal&&(window.addEventListener("resize",this.handleWindowResize),window.addEventListener("scroll",this.handleWindowScroll,!0))}removeOpenListeners(){document.removeEventListener("focusin",this.handleDocumentFocusIn),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),window.removeEventListener("error",this.handleWindowError),window.removeEventListener("resize",this.handleWindowResize),window.removeEventListener("scroll",this.handleWindowScroll,!0)}handleFocus(){this.hasFocus=!0,this.emit("nile-focus")}handleBlur(){this.hasFocus=!1,this.emit("nile-blur")}firstUpdated(i){this.visibilityManager=new S({host:this,target:this.combobox,enableVisibilityEffect:this.enableVisibilityEffect,enableTabClose:this.enableTabClose,isOpen:()=>this.open,onAnchorOutOfView:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"anchor-out-of-view",name:this.name})},onDocumentHidden:()=>{this.hide(),this.emit("nile-visibility-change",{visible:!1,reason:"document-hidden",name:this.name})},emit:(i,s)=>this.emit(`nile-${i}`,s)})}handleDocumentFocusIn(i){if(!this.open)return;const s=i.composedPath(),e=s.includes(this),n=this.popup&&s.includes(this.popup),o=this.portal&&this.portalManager.portalContainerElement&&s.includes(this.portalManager.portalContainerElement);e||n||o||this.hide()}handleDocumentKeyDown(i){this.shouldIgnoreKeyPress(i)||(this.isEscapeKey(i)&&this.handleEscapeKey(i),this.isEnterOrSpaceKey(i)&&this.handleEnterOrSpaceKey(i))}shouldIgnoreKeyPress(i){const s=i.target,e=null!==s.closest(".select__clear"),n=null!==s.closest("nile-icon-button");return e||n}isEscapeKey(i){return"Escape"===i.key&&this.open}handleEscapeKey(i){i.preventDefault(),i.stopPropagation(),this.hide(),this.displayInput.focus({preventScroll:!0})}isEnterOrSpaceKey(i){return"Enter"===i.key||" "===i.key}handleEnterOrSpaceKey(i){i.preventDefault(),i.stopImmediatePropagation(),this.open?this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0})):this.show()}handleFooterClick(i){i.stopPropagation(),i.preventDefault()}applySelectedFilter(){const i=Array.isArray(this.value)?this.value:[this.value];this.data=this.originalOptionItems.filter((s=>{const e=this.getItemValue(s);return i.some((i=>String(i)===String(e)))}))}toggleShowSelected(i){i.stopPropagation(),i.preventDefault(),0!==this.selectedOptions?.length&&(this.showSelected=!this.showSelected,this.showSelected?(this.searchValue="",this.applySelectedFilter()):this.data=[...this.originalOptionItems],this.portalManager.resetMeasuredHeight(),this.requestUpdate(),this.repaintOptionsContainer())}unSelectAll(){this.showSelected=!1,this.value=this.multiple?[]:"",this.data=[...this.originalOptionItems],this.selectionChanged(),this.emit("nile-change",{value:this.value,name:this.name}),this.emit("nile-clear",{value:this.multiple?this.value:"",name:this.name}),this.resetScrollPosition()}handleLabelClick(){this.displayInput.focus(),this.hide()}handleComboboxMouseDown(i){this.shouldIgnoreComboboxClick(i)||(i.preventDefault(),this.displayInput.focus({preventScroll:!0}),this.open=!this.open)}shouldIgnoreComboboxClick(i){const s=i.composedPath(),e=s.some((i=>i instanceof Element&&"nile-icon-button"===i.tagName.toLowerCase())),n=s.some((i=>i instanceof HTMLButtonElement&&i.classList.contains("select__tags-count")));return this.disabled||e||n}handleComboboxKeyDown(i){this.isEnterOrSpaceKey(i)&&(i.preventDefault(),this.open=!this.open)}handleClearClick(i){i.stopPropagation(),this.clearSelection()}clearSelection(){this.value,this.value=this.multiple?[]:"",this.selectionChanged(),this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-clear")}))}handleClearMouseDown(i){i.stopPropagation()}handleOptionClick(i){const s=i.target.closest("nile-option");if(this.shouldBlockValueChange(s))return;const e=this.value;this.oldValue=e,s&&!s.disabled&&this.handleOptionSelection(s)}shouldBlockValueChange(i){return!(!this.blockValueChange||!i)&&(this.emit("nile-block-change",{value:i?.value,name:this.name}),this.hide(),!0)}handleOptionSelection(i){const s=i.value;this.multiple?this.toggleOptionSelection(s):this.setSelectedOptions(s),this.updateComplete.then((()=>this.displayInput.focus({preventScroll:!0}))),this.value!==this.oldValue&&this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name})})),this.multiple||(this.hide(),this.displayInput.focus({preventScroll:!0}))}setSelectedOptions(i){this.value=i,this.selectionChanged()}toggleOptionSelection(i){const s=Array.isArray(this.value)?this.value:[];s.includes(i)?this.value=s.filter((s=>s!==i)):this.value=[...s,i],this.selectionChanged()}handleTagRemove(i,s){i.stopPropagation(),this.disabled||(this.removeTagFromSelection(s),this.emitTagRemovalEvent(s))}removeTagFromSelection(i){let s=this.value;Array.isArray(s)||(s=s?[s]:[]);const e=s.filter((s=>s!==i.value));this.value=e,this.selectionChanged()}emitTagRemovalEvent(i){this.updateComplete.then((()=>{this.nileInput({value:this.value,name:this.name}),this.nileChange({value:this.value,name:this.name}),this.emit("nile-tag-remove",{value:this.value,name:this.name,removedtagvalue:i.value})}))}selectionChanged(){this.lastSeenValue=this.value;const i=this.originalOptionItems.length>0?this.originalOptionItems:this.data;if(this.selectedOptions=y.createVirtualOptionsFromValues(this.value,i,this.getDisplayText.bind(this),this.renderItemConfig?.getValue,this.allowHtmlLabel),this.multiple)this.placeholder&&0===this.value.length?this.displayLabel="":this.displayLabel=this.selectedOptions.length+" selected";else{const i=Array.isArray(this.value)?this.value[0]:this.value,s=this.selectedOptions[0]?.getTextLabel();this.displayLabel=s||(i??"")}this.updateValidity(),0===this.selectedOptions.length&&(this.showSelected=!1,this.originalOptionItems?.length>0&&!this.searchValue&&(this.data=[...this.originalOptionItems]),this.repaintOptionsContainer()),this.calculateTotalWidthOfTags()}handleSearchFocus(){document.removeEventListener("keydown",this.handleDocumentKeyDown)}handleSearchBlur(){document.addEventListener("keydown",this.handleDocumentKeyDown)}handleSearchChange(i){this.searchValue=i.detail.value,this.portal&&this.portalManager.updatePortalAppendPosition(),this.emit("nile-search",{query:this.searchValue,name:this.name}),this.disableLocalSearch||(this.filterVirtualOptions(this.searchValue),this.repaintOptionsContainer(),this.portalManager.resetMeasuredHeight())}repaintOptionsContainer(){this.resetScrollPosition(),this.updateComplete.then((()=>{const i=this.shadowRoot?.querySelector(".virtualized");i&&(this.data.length<5?i.classList.add("no-scroll"):i.classList.remove("no-scroll"))}))}handleScroll(i){if(this.showSelected)return;const s=i.target;this.emit("nile-scroll",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name}),this.scrolling||(this.scrolling=!0,this.emit("nile-scroll-start",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name})),clearTimeout(this.scrollTimeout),this.scrollTimeout=window.setTimeout((()=>{this.scrolling&&(this.scrolling=!1)}),300);Math.ceil(s.scrollTop)>=Math.floor(s.scrollHeight-s.offsetHeight)&&!this.searchValue&&this.emit("nile-scroll-end",{scrollTop:s.scrollTop,scrollLeft:s.scrollLeft,name:this.name,isAtBottom:!0})}filterVirtualOptions(i){const s=w.filterVirtualOptions(i,this.originalOptionItems,this.data,this.getDisplayText.bind(this),this.getItemDescription.bind(this),this.descriptionSearchEnabled,this.renderItemConfig?.getSearchText);this.portal?(this.portalManager.updatePortalAppendPosition(),this.updateComplete.then((()=>{requestAnimationFrame((()=>{this.resetScrollPosition()}))}))):this.resetScrollPosition(),this.data=s.filteredItems,this.showNoResults=s.showNoResults,this.showSelected=!1,this.requestUpdate()}handleInvalid(i){this.formControlController.setValidity(!1),this.formControlController.emitInvalidEvent(i)}handleDisabledChange(){this.disabled&&(this.open=!1,this.handleOpenChange())}handleValueChange(){const i=this.value!==this.lastSeenValue;this.selectionChanged(),i&&this.showTooltip&&this.showSelected&&this.applySelectedFilter(),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleDataChange(){this.data.length>0&&this.open&&!this.showSelected&&!this.searchValue&&(this.originalOptionItems=[...this.data]),this.selectionChanged(),this.optionsLoading||this.loading||0!==this.data.length?this.data.length>0&&(this.showNoResults=!1):this.showNoResults=!0,this.requestUpdate(),this.portalManager.resetMeasuredHeight(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handleRenderItemConfigChange(){this.value&&this.data.length>0&&(this.selectionChanged(),this.requestUpdate())}handleOptionsLoadingChange(){this.optionsLoading||0!==this.data.length||(this.showNoResults=!0),this.requestUpdate(),this.portal&&this.portalManager.portalContainerElement&&this.portalManager.updatePortalAppendPosition()}handlePortalAppendChange(){this.open&&(this.portal?this.portalManager.setupPortalAppend():this.portalManager.cleanupPortalAppend())}async handleOpenChange(){this.open&&!this.disabled?(this.visibilityManager?.setup(),this.showListbox=!0,await this.updateComplete,await this.handleOpen(),this.portal&&this.portalManager.setupPortalAppend()):(this.visibilityManager?.cleanup(),await this.handleClose(),this.showListbox=!1,this.portal&&this.portalManager.cleanupPortalAppend())}async handleOpen(){this.emit("nile-show",{value:this.value,name:this.name}),this.addOpenListeners(),this.showNoResults=!this.data?.length,await r(this),this.popup?.popup&&(this.popup.popup.style.visibility="hidden"),this.popup.active=!0,await new Promise((i=>requestAnimationFrame(i))),await new Promise((i=>requestAnimationFrame(i))),this.popup?.popup&&(this.popup.popup.style.visibility="");const{keyframes:i,options:s}=v(this,"select.show",{dir:"ltr"});await l(this.popup.popup,i,s),this.wasShowSelectedCheckedOnClose&&(this.showSelected=!1,this.data=[...this.originalOptionItems],this.wasShowSelectedCheckedOnClose=!1),this.filterVirtualOptions(""),this.resetScrollPosition(),this.emit("nile-after-show",{value:this.value,name:this.name})}async handleClose(){this.emit("nile-hide",{value:this.value,name:this.name}),this.removeOpenListeners(),this.wasShowSelectedCheckedOnClose=this.showSelected,await r(this);const{keyframes:i,options:s}=v(this,"select.hide",{dir:"ltr"});await l(this.popup.popup,i,s),this.popup.active=!1,this.popup?.popup&&(this.popup.popup.style.visibility=""),this.searchValue="",this.portalManager.resetMeasuredHeight(),this.emit("nile-after-hide",{value:this.value,name:this.name})}async show(){if(!this.open&&!this.disabled)return this.open=!0,j(this,"nile-after-show");this.open=!1}async hide(){if(this.open&&!this.disabled)return this.open=!1,j(this,"nile-after-hide");this.open=!1}checkValidity(){return this.valueInput.checkValidity()}getForm(){return this.formControlController.getForm()}reportValidity(){return this.valueInput.reportValidity()}setCustomValidity(i){this.valueInput.setCustomValidity(i),this.formControlController.updateValidity()}focus(i){this.displayInput.focus(i)}blur(){this.displayInput.blur()}onInputChange(i){i.stopPropagation()}render(){const i=this.hasSlotController.test("label");this.hasSlotController.test("help-text");const e=this.hasSlotController.test("label-suffix"),n=this.hasSlotController.test("custom-select"),o=!!this.label||!!i,t=this.clearable&&!this.disabled&&this.value.length>0,c=!!this.placeholder&&0===this.value.length,r=!!this.helpText,l=!!this.errorMessage;return s`
12
12
  <div
13
13
  part="form-control"
14
14
  class=${m({"form-control":!0,"form-control--small":"small"===this.size,"form-control--medium":"medium"===this.size,"form-control--large":"large"===this.size,"form-control--has-label":o,"form-control--has-help-text":r})}
@@ -144,6 +144,7 @@ export { NileInlineSidebarItemHeader } from './nile-inline-sidebar-item-header';
144
144
  export { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';
145
145
  export { NileMarkdown } from './nile-markdown';
146
146
  export { NileMarkdownEditor } from './nile-markdown-editor';
147
+ export { NileDateTimePicker } from './nile-date-time-picker';
147
148
  export { NileWysiwygEditor, DEFAULT_TOOLBAR, } from './nile-wysiwyg-editor/index';
148
149
  export type { WysiwygChangeDetail, WysiwygCommandDetail, ToolbarConfig, } from './nile-wysiwyg-editor/index';
149
150
  export { NileWysiwygToolbar } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';
package/dist/src/index.js CHANGED
@@ -143,6 +143,7 @@ export { NileInlineSidebarItemHeader } from './nile-inline-sidebar-item-header';
143
143
  export { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';
144
144
  export { NileMarkdown } from './nile-markdown';
145
145
  export { NileMarkdownEditor } from './nile-markdown-editor';
146
+ export { NileDateTimePicker } from './nile-date-time-picker';
146
147
  // nile-wysiwyg-editor — ProseMirror-powered rich text editor
147
148
  export { NileWysiwygEditor, DEFAULT_TOOLBAR, } from './nile-wysiwyg-editor/index';
148
149
  export { NileWysiwygToolbar } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileOtpInput } from './nile-otp-input';\nexport { NileMenu } from './nile-menu';\nexport { NileMinimap } from './nile-minimap';\nexport { NileBadge } from './nile-badge';\nexport { NileStatusLight } from './nile-status-light';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileCheckboxGroup } from './nile-checkbox-group';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSegmentedProgressBar } from './nile-segmented-progress-bar';\nexport type {\n NileProgressSegment,\n NileSegmentTooltipPlacement,\n} from './nile-segmented-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSkeletonLoader } from './nile-skeleton-loader';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileCombobox } from './nile-combobox';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileTimestampBuilder } from './nile-timestamp-builder';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NileCarousel } from './nile-carousel';\nexport { NileCarouselItem } from './nile-carousel/nile-carousel-item';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileDotStepper } from './nile-dot-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip';\nexport { NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\nexport { NileOptionGroup } from './nile-option-group';\nexport { NileGrid } from './nile-grid';\nexport { NileGridBody } from './nile-grid/nile-grid-body';\nexport { NileGridRow } from './nile-grid/nile-grid-row';\nexport { NileGridHeadItem } from './nile-grid/nile-grid-head-item';\nexport { NileGridCellItem } from './nile-grid/nile-grid-cell-item';\nexport { NileGridHead } from './nile-grid/nile-grid-head';\nexport { NileRichTextEditor } from './nile-rich-text-editor';\nexport { NileColorPicker } from './nile-color-picker';\nexport type {\n ColorPickerType,\n SwatchTooltip,\n PaletteEntry,\n} from './nile-color-picker';\nexport { NileColorSwatch } from './nile-color-swatch';\n\n// Import version utility to set nile version in window object\nimport './version';\n\nexport { NileAppShell } from './nile-app-shell';\nexport { NileAppShellNavToggle } from './nile-app-shell-nav-toggle';\nexport { NileAppShellSideNav } from './nile-app-shell-side-nav';\nexport { NileAppShellMain } from './nile-app-shell-main';\nexport { NileAppShellPanel } from './nile-app-shell-panel';\nexport { NileSideBar } from './nile-side-bar';\nexport { NileSideBarHeader } from './nile-side-bar-header';\nexport { NileSideBarLogo } from './nile-side-bar-logo';\nexport { NileSideBarExpand } from './nile-side-bar-expand';\nexport { NileSideBarGroup } from './nile-side-bar-group';\nexport { NileSideBarGroupItem } from './nile-side-bar-group-item';\nexport { NileSideBarGroupItemIcon } from './nile-side-bar-group-item-icon';\nexport { NileSideBarGroupItemText } from './nile-side-bar-group-item-text';\nexport { NileSideBarFooter } from './nile-side-bar-footer';\nexport { NileSideBarFooterItem } from './nile-side-bar-footer-item';\nexport { NileSideBarAction } from './nile-side-bar-action';\nexport { NileSideBarFooterText } from './nile-side-bar-footer-text';\nexport { NileSideBarActionMenuItem } from './nile-side-bar-action-menu-item';\nexport { NileSideBarActionMenu } from './nile-side-bar-action-menu';\nexport { NileInlineSidebarGroup } from './nile-inline-sidebar-group';\nexport { NileInlineSidebar } from './nile-inline-sidebar';\nexport { NileInlineSidebarItem } from './nile-inline-sidebar-item';\nexport { NileInlineSidebarPanel } from './nile-inline-sidebar-panel';\nexport { NileInlineSidebarPanelGroup } from './nile-inline-sidebar-panel-group';\nexport { NileliteTooltip } from './nile-lite-tooltip';\nexport { NileSideBarPanel } from './nile-side-bar-panel';\nexport { NileDetail } from './nile-detail';\nexport { NileQrCode } from './nile-qr-code';\nexport { NileNavTab } from './nile-nav-tab';\nexport { NileNavTabGroup } from './nile-nav-tab-group';\nexport { NileNavTabPanel } from './nile-nav-tab-panel';\nexport { NileFloatingPanel } from './nile-floating-panel';\nexport { NileContextMenu } from './nile-context-menu';\nexport { NileContextMenuGroup } from './nile-context-menu-group';\nexport { NileContextMenuItem } from './nile-context-menu-item';\nexport { NileCommandMenu } from './nile-command-menu';\nexport { NileCommandMenuGroup } from './nile-command-menu-group';\nexport { NileCommandMenuItem } from './nile-command-menu-item';\nexport { NileInlineSidebarItemHeader } from './nile-inline-sidebar-item-header';\nexport { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';\nexport { NileMarkdown } from './nile-markdown';\nexport { NileMarkdownEditor } from './nile-markdown-editor';\n\n// nile-wysiwyg-editor — ProseMirror-powered rich text editor\nexport {\n NileWysiwygEditor,\n DEFAULT_TOOLBAR,\n} from './nile-wysiwyg-editor/index';\nexport type {\n WysiwygChangeDetail,\n WysiwygCommandDetail,\n ToolbarConfig,\n} from './nile-wysiwyg-editor/index';\nexport { NileWysiwygToolbar } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';\nexport { NileWysiwygToolbarItem } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';\nexport type { AuthoredToolbarItem } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';\nexport { NileWysiwygLinkEditor } from './nile-wysiwyg-editor/ui/link-editor';\nexport { NileWysiwygBubbleMenu } from './nile-wysiwyg-editor/ui/bubble-menu';\nexport { NileWysiwygBubbleItem } from './nile-wysiwyg-editor/ui/bubble-item';\nexport { NileWysiwygImagePanel } from './nile-wysiwyg-editor/ui/image-panel';\nexport { NileWysiwygTableMenu } from './nile-wysiwyg-editor/ui/table-menu';\nexport { NileWysiwygTablePicker } from './nile-wysiwyg-editor/ui/table-grid-picker';\nexport { NileWysiwygSuggestList } from './nile-wysiwyg-editor/ui/suggest-list';\nexport { NileWysiwygFindBar } from './nile-wysiwyg-editor/ui/find-replace';\nexport { NileWysiwygSourceView } from './nile-wysiwyg-editor/ui/source-view';\nexport { NileWysiwygEmbedPanel } from './nile-wysiwyg-editor/ui/embed-panel';\nexport { NileWysiwygCodeMenu } from './nile-wysiwyg-editor/ui/code-block-menu';\nexport { NileWysiwygShortcutHelp } from './nile-wysiwyg-editor/ui/shortcut-help';\nexport { NileWysiwygImageMenu } from './nile-wysiwyg-editor/ui/image-menu';\nexport { NileWysiwygSpecialChars } from './nile-wysiwyg-editor/ui/special-chars';\nexport { NileWysiwygInsertMenu } from './nile-wysiwyg-editor/ui/insert-menu';\nexport type { InsertMenuItem } from './nile-wysiwyg-editor/ui/insert-menu';\nexport { NileWysiwygMathPanel } from './nile-wysiwyg-editor/ui/math-panel';\nexport type { SuggestItem } from './nile-wysiwyg-editor/ui/suggest-list';\nexport type {\n MentionsConfig,\n MergeFieldConfig,\n TemplateConfig,\n} from './nile-wysiwyg-editor/types';\nexport type { MathRenderer } from './nile-wysiwyg-editor/engine/plugins/math-view';\nexport { createKatexRenderer } from './nile-wysiwyg-editor/math/katex-renderer';\nexport type {\n KatexLike,\n KatexRendererOptions,\n} from './nile-wysiwyg-editor/math/katex-renderer';\nexport {\n createSchema,\n defaultSchema,\n sanitizeHtml,\n htmlToDoc,\n docToHtml,\n docToMarkdown,\n markdownToHtml,\n looksLikeMarkdown,\n docToJson,\n jsonToDoc,\n computeToolbarState,\n createEditorState,\n toInlineStyledHtml,\n buildWordDocument,\n buildPrintDocument,\n} from './nile-wysiwyg-editor/engine';\nexport type {\n ToolbarState,\n CommandName,\n CommandAttrs,\n Alignment,\n PrintOptions,\n} from './nile-wysiwyg-editor/engine';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { NileButton } from './nile-button';\nexport { NileHeading } from './nile-heading';\nexport { NileIcon } from './nile-icon';\nexport { NileInput } from './nile-input';\nexport { NileOtpInput } from './nile-otp-input';\nexport { NileMenu } from './nile-menu';\nexport { NileMinimap } from './nile-minimap';\nexport { NileBadge } from './nile-badge';\nexport { NileStatusLight } from './nile-status-light';\nexport { NileDrawer } from './nile-drawer';\nexport { NileCheckbox } from './nile-checkbox';\nexport { NileCheckboxGroup } from './nile-checkbox-group';\nexport { NileRadio } from './nile-radio';\nexport { NileRadioGroup } from './nile-radio-group';\nexport { NilePopup } from './nile-popup';\nexport { NileTooltip } from './nile-tooltip';\nexport { NileSlideToggle } from './nile-slide-toggle';\nexport { NileLoader } from './nile-loader';\nexport { NileProgressBar } from './nile-progress-bar';\nexport { NileSegmentedProgressBar } from './nile-segmented-progress-bar';\nexport type {\n NileProgressSegment,\n NileSegmentTooltipPlacement,\n} from './nile-segmented-progress-bar';\nexport { NileSpinner } from './nile-spinner';\nexport { NileSkeletonLoader } from './nile-skeleton-loader';\nexport { NileSelect } from './nile-select';\nexport { NileVirtualSelect } from './nile-virtual-select';\nexport { NileOption } from './nile-option';\nexport { NileTag } from './nile-tag';\nexport { NileIconButton } from './nile-icon-button';\nexport { NileMenuItem } from './nile-menu-item';\nexport { NileDropdown } from './nile-dropdown';\nexport { NileAutoComplete } from './nile-auto-complete';\nexport { NileCombobox } from './nile-combobox';\nexport { NileChip } from './nile-chip';\nexport { NileTextarea } from './nile-textarea';\nexport { NileDatePicker } from './nile-date-picker';\nexport { NileErrorMessage } from './nile-error-message';\nexport { NileFormErrorMessage } from './nile-form-error-message';\nexport { NileFormHelpText } from './nile-form-help-text';\nexport { NileCalendar } from './nile-calendar';\nexport { NileTimestampBuilder } from './nile-timestamp-builder';\nexport { NileLink } from './nile-link';\nexport { NileButtonToggleGroup } from './nile-button-toggle-group';\nexport { NileButtonToggle } from './nile-button-toggle';\nexport { NileSwitcher } from './nile-switcher';\nexport { NileContentEditor } from './nile-content-editor';\nexport { NileDialog } from './nile-dialog';\nexport { NileErrorNotification } from './nile-error-notification';\nexport { NileTabGroup } from './nile-tab-group';\nexport { NileTab } from './nile-tab';\nexport { NileTabPanel } from './nile-tab-panel';\nexport { NileCodeEditor } from './nile-code-editor';\nexport { NileToast } from './nile-toast';\nexport { NileBreadcrumb } from './nile-breadcrumb';\nexport { NileBreadcrumbItem } from './nile-breadcrumb-item';\nexport { NileFormGroup } from './nile-form-group';\nexport { NileCard } from './nile-card';\nexport { NileCarousel } from './nile-carousel';\nexport { NileCarouselItem } from './nile-carousel/nile-carousel-item';\nexport { NilePopover } from './nile-popover';\nexport { NileButtonFilter } from './nile-button-filter';\nexport { NileCircularProgressbar } from './nile-circular-progressbar';\nexport { NileTableCellItem } from './nile-table-cell-item';\nexport { NileTableRow } from './nile-table-row';\nexport { NileTableBody } from './nile-table-body';\nexport { NileTableHeaderItem } from './nile-table-header-item';\nexport { NileAvatar } from './nile-avatar';\nexport { NilePageHeader } from './nile-page-header';\nexport { NileEmptyState } from './nile-empty-state';\nexport { NileHero } from './nile-hero';\nexport { NileStepperItem } from './nile-stepper-item';\nexport { NileStepper } from './nile-stepper';\nexport { NileDotStepper } from './nile-dot-stepper';\nexport { NileHeroHeader } from './nile-hero-header';\nexport { NileVerticalStepperItem } from './nile-vertical-stepper-item';\nexport { NileFormatDate } from './nile-format-date';\nexport { NileSplitPanel } from './nile-split-panel';\nexport { NileTree } from './nile-tree';\nexport { NileTreeItem } from './nile-tree-item';\nexport { NileListItem } from './nile-list-item';\nexport { NileList } from './nile-list';\nexport { NileAccordion } from './nile-accordion';\nexport { NileDivider } from './nile-divider';\nexport { NileTitle } from './nile-title';\nexport { NileSectionMessage } from './nile-section-message';\nexport { NileToolbar } from './nile-toolbar';\nexport { NileInlineEdit } from './nile-inline-edit';\nexport { NileTable } from './nile-table';\nexport { NileFilterChip } from './nile-filter-chip';\nexport { NilePagination } from './nile-pagination';\nexport { NileSlider } from './nile-slider';\nexport { NileFileUpload } from './nile-file-upload';\nexport { NileFilePreview } from './nile-file-preview';\nexport { NileOptionGroup } from './nile-option-group';\nexport { NileGrid } from './nile-grid';\nexport { NileGridBody } from './nile-grid/nile-grid-body';\nexport { NileGridRow } from './nile-grid/nile-grid-row';\nexport { NileGridHeadItem } from './nile-grid/nile-grid-head-item';\nexport { NileGridCellItem } from './nile-grid/nile-grid-cell-item';\nexport { NileGridHead } from './nile-grid/nile-grid-head';\nexport { NileRichTextEditor } from './nile-rich-text-editor';\nexport { NileColorPicker } from './nile-color-picker';\nexport type {\n ColorPickerType,\n SwatchTooltip,\n PaletteEntry,\n} from './nile-color-picker';\nexport { NileColorSwatch } from './nile-color-swatch';\n\n// Import version utility to set nile version in window object\nimport './version';\n\nexport { NileAppShell } from './nile-app-shell';\nexport { NileAppShellNavToggle } from './nile-app-shell-nav-toggle';\nexport { NileAppShellSideNav } from './nile-app-shell-side-nav';\nexport { NileAppShellMain } from './nile-app-shell-main';\nexport { NileAppShellPanel } from './nile-app-shell-panel';\nexport { NileSideBar } from './nile-side-bar';\nexport { NileSideBarHeader } from './nile-side-bar-header';\nexport { NileSideBarLogo } from './nile-side-bar-logo';\nexport { NileSideBarExpand } from './nile-side-bar-expand';\nexport { NileSideBarGroup } from './nile-side-bar-group';\nexport { NileSideBarGroupItem } from './nile-side-bar-group-item';\nexport { NileSideBarGroupItemIcon } from './nile-side-bar-group-item-icon';\nexport { NileSideBarGroupItemText } from './nile-side-bar-group-item-text';\nexport { NileSideBarFooter } from './nile-side-bar-footer';\nexport { NileSideBarFooterItem } from './nile-side-bar-footer-item';\nexport { NileSideBarAction } from './nile-side-bar-action';\nexport { NileSideBarFooterText } from './nile-side-bar-footer-text';\nexport { NileSideBarActionMenuItem } from './nile-side-bar-action-menu-item';\nexport { NileSideBarActionMenu } from './nile-side-bar-action-menu';\nexport { NileInlineSidebarGroup } from './nile-inline-sidebar-group';\nexport { NileInlineSidebar } from './nile-inline-sidebar';\nexport { NileInlineSidebarItem } from './nile-inline-sidebar-item';\nexport { NileInlineSidebarPanel } from './nile-inline-sidebar-panel';\nexport { NileInlineSidebarPanelGroup } from './nile-inline-sidebar-panel-group';\nexport { NileliteTooltip } from './nile-lite-tooltip';\nexport { NileSideBarPanel } from './nile-side-bar-panel';\nexport { NileDetail } from './nile-detail';\nexport { NileQrCode } from './nile-qr-code';\nexport { NileNavTab } from './nile-nav-tab';\nexport { NileNavTabGroup } from './nile-nav-tab-group';\nexport { NileNavTabPanel } from './nile-nav-tab-panel';\nexport { NileFloatingPanel } from './nile-floating-panel';\nexport { NileContextMenu } from './nile-context-menu';\nexport { NileContextMenuGroup } from './nile-context-menu-group';\nexport { NileContextMenuItem } from './nile-context-menu-item';\nexport { NileCommandMenu } from './nile-command-menu';\nexport { NileCommandMenuGroup } from './nile-command-menu-group';\nexport { NileCommandMenuItem } from './nile-command-menu-item';\nexport { NileInlineSidebarItemHeader } from './nile-inline-sidebar-item-header';\nexport { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';\nexport { NileMarkdown } from './nile-markdown';\nexport { NileMarkdownEditor } from './nile-markdown-editor';\nexport { NileDateTimePicker } from './nile-date-time-picker';\n\n// nile-wysiwyg-editor — ProseMirror-powered rich text editor\nexport {\n NileWysiwygEditor,\n DEFAULT_TOOLBAR,\n} from './nile-wysiwyg-editor/index';\nexport type {\n WysiwygChangeDetail,\n WysiwygCommandDetail,\n ToolbarConfig,\n} from './nile-wysiwyg-editor/index';\nexport { NileWysiwygToolbar } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';\nexport { NileWysiwygToolbarItem } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';\nexport type { AuthoredToolbarItem } from './nile-wysiwyg-editor/nile-wysiwyg-toolbar/index';\nexport { NileWysiwygLinkEditor } from './nile-wysiwyg-editor/ui/link-editor';\nexport { NileWysiwygBubbleMenu } from './nile-wysiwyg-editor/ui/bubble-menu';\nexport { NileWysiwygBubbleItem } from './nile-wysiwyg-editor/ui/bubble-item';\nexport { NileWysiwygImagePanel } from './nile-wysiwyg-editor/ui/image-panel';\nexport { NileWysiwygTableMenu } from './nile-wysiwyg-editor/ui/table-menu';\nexport { NileWysiwygTablePicker } from './nile-wysiwyg-editor/ui/table-grid-picker';\nexport { NileWysiwygSuggestList } from './nile-wysiwyg-editor/ui/suggest-list';\nexport { NileWysiwygFindBar } from './nile-wysiwyg-editor/ui/find-replace';\nexport { NileWysiwygSourceView } from './nile-wysiwyg-editor/ui/source-view';\nexport { NileWysiwygEmbedPanel } from './nile-wysiwyg-editor/ui/embed-panel';\nexport { NileWysiwygCodeMenu } from './nile-wysiwyg-editor/ui/code-block-menu';\nexport { NileWysiwygShortcutHelp } from './nile-wysiwyg-editor/ui/shortcut-help';\nexport { NileWysiwygImageMenu } from './nile-wysiwyg-editor/ui/image-menu';\nexport { NileWysiwygSpecialChars } from './nile-wysiwyg-editor/ui/special-chars';\nexport { NileWysiwygInsertMenu } from './nile-wysiwyg-editor/ui/insert-menu';\nexport type { InsertMenuItem } from './nile-wysiwyg-editor/ui/insert-menu';\nexport { NileWysiwygMathPanel } from './nile-wysiwyg-editor/ui/math-panel';\nexport type { SuggestItem } from './nile-wysiwyg-editor/ui/suggest-list';\nexport type {\n MentionsConfig,\n MergeFieldConfig,\n TemplateConfig,\n} from './nile-wysiwyg-editor/types';\nexport type { MathRenderer } from './nile-wysiwyg-editor/engine/plugins/math-view';\nexport { createKatexRenderer } from './nile-wysiwyg-editor/math/katex-renderer';\nexport type {\n KatexLike,\n KatexRendererOptions,\n} from './nile-wysiwyg-editor/math/katex-renderer';\nexport {\n createSchema,\n defaultSchema,\n sanitizeHtml,\n htmlToDoc,\n docToHtml,\n docToMarkdown,\n markdownToHtml,\n looksLikeMarkdown,\n docToJson,\n jsonToDoc,\n computeToolbarState,\n createEditorState,\n toInlineStyledHtml,\n buildWordDocument,\n buildPrintDocument,\n} from './nile-wysiwyg-editor/engine';\nexport type {\n ToolbarState,\n CommandName,\n CommandAttrs,\n Alignment,\n PrintOptions,\n} from './nile-wysiwyg-editor/engine';\n"]}
@@ -25,7 +25,24 @@ export const styles = css `
25
25
  height: var(--nile-height-22px, var(--ng-height-24px));
26
26
  }
27
27
 
28
- .badge__content {
28
+ .badge__prefix,
29
+ .badge__suffix {
30
+ display: inline-flex;
31
+ flex: 0 0 auto;
32
+ align-items: center;
33
+ }
34
+
35
+ .badge--has-prefix .badge__prefix {
36
+ margin-inline-end: var(--nile-spacing-xs, var(--ng-spacing-xs));
37
+ }
38
+
39
+ .badge--has-suffix .badge__suffix {
40
+ margin-inline-start: var(--nile-spacing-xs, var(--ng-spacing-xs));
41
+ }
42
+
43
+ .badge__prefix,
44
+ .badge__content,
45
+ .badge__suffix {
29
46
  font-family: var(--nile-font-family-serif, var(--ng-font-family-body));
30
47
  font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));
31
48
  font-style: normal;
@@ -207,7 +224,9 @@ export const styles = css `
207
224
  height: var(--nile-height-22px, var(--ng-height-22px));
208
225
  }
209
226
 
210
- .badge--sm .badge__content {
227
+ .badge--sm .badge__prefix,
228
+ .badge--sm .badge__content,
229
+ .badge--sm .badge__suffix {
211
230
  font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));
212
231
  line-height: var(--nile-type-scale-5, var(--ng-line-height-text-xs));
213
232
  }
@@ -217,7 +236,9 @@ export const styles = css `
217
236
  height: var(--nile-height-28px, var(--ng-height-28px));
218
237
  }
219
238
 
220
- .badge--lg .badge__content {
239
+ .badge--lg .badge__prefix,
240
+ .badge--lg .badge__content,
241
+ .badge--lg .badge__suffix {
221
242
  font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
222
243
  line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));
223
244
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nile-badge.css.js","sourceRoot":"","sources":["../../../src/nile-badge/nile-badge.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqNxB,CAAC;AACF,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 * Tag CSS\n */\nexport const styles = css`\n :host {\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .badge {\n padding: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) var(--nile-spacing-sm, var(--ng-spacing-md-alt));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-full));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: var(--nile-height-22px, var(--ng-height-24px));\n }\n\n .badge__content {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .badge--primary {\n background: var(--nile-badge-color-background-primary, var(--ng-componentcolors-utility-brand-50));\n color: var(--nile-badge-color-font-primary, var(--ng-componentcolors-utility-brand-700));\n }\n\n .badge--normal {\n background: var(--nile-badge-color-background-normal, var(--ng-componentcolors-utility-gray-50));\n }\n\n .badge--info {\n background: var(--nile-badge-color-background-info, var(--ng-componentcolors-utility-blue-light-50));\n }\n\n /* for v2 */\n\n .badge--pill-outline {\n background: transparent ;\n }\n .badge--pink {\n color: var(--nile-badge-color-font-pink, var(--ng-componentcolors-utility-pink-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-pink, var(--ng-componentcolors-utility-pink-200));\n background: var(--nile-badge-color-background-pink, var(--ng-componentcolors-utility-pink-50));\n }\n\n .badge--orange {\n color: var(--nile-badge-color-font-orange, var(--ng-componentcolors-utility-error-600));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-orange, var(--ng-componentcolors-utility-orange-300));\n background: var(--nile-badge-color-background-orange, var(--ng-componentcolors-utility-orange-50));\n }\n\n .badge--purple {\n color: var(--nile-badge-color-font-purple, var(--ng-componentcolors-utility-purple-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-purple, var(--ng-componentcolors-utility-purple-200));\n background: var(--nile-badge-color-background-purple, var(--ng-componentcolors-utility-purple-50));\n }\n\n .badge--indigo {\n color: var(--nile-badge-color-font-indigo, var(--ng-componentcolors-utility-indigo-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-indigo, var(--ng-componentcolors-utility-indigo-200));\n background: var(--nile-badge-color-background-indigo, var(--ng-componentcolors-utility-indigo-50));\n }\n\n .badge--blue {\n color: var(--nile-badge-color-font-blue, var(--ng-componentcolors-utility-blue-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-blue, var(--ng-componentcolors-utility-blue-200));\n background: var(--nile-badge-color-background-blue, var(--ng-componentcolors-utility-blue-50));\n }\n .badge--blue-light {\n color:var(--nile-badge-color-font-bluelight, var(--ng-componentcolors-utility-blue-light-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-bluelight, var(--ng-componentcolors-utility-blue-light-200));\n background: var(--nile-badge-color-background-bluelight, var(--ng-componentcolors-utility-blue-light-50));\n }\n\n .badge--gray-blue {\n color: var(--nile-badge-color-font-grayblue, var(--ng-componentcolors-utility-gray-blue-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-grayblue, var(--ng-componentcolors-utility-gray-blue-200));\n background: var(--nile-badge-color-background-grayblue, var(--ng-componentcolors-utility-gray-blue-50));\n }\n\n .badge--success {\n color: var(--nile-badge-color-font-success, var(--ng-componentcolors-utility-success-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-success, var(--ng-componentcolors-utility-success-200));\n background: var(--nile-badge-color-background-success, var(--ng-componentcolors-utility-success-50));\n }\n .badge--warning {\n color: var(--nile-badge-color-font-warning, var(--ng-componentcolors-utility-warning-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-warning, var(--ng-componentcolors-utility-warning-300));\n background: var(--nile-badge-color-background-warning, var(--ng-componentcolors-utility-warning-50));\n }\n\n .badge--error {\n color: var(--nile-badge-color-font-error, var(--ng-componentcolors-utility-error-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-error, var(--ng-componentcolors-utility-error-200));\n background: var(--nile-badge-color-background-error, var(--ng-componentcolors-utility-error-50));\n }\n\n .badge--brand {\n color: var(--nile-badge-color-font-brand, var(--ng-componentcolors-utility-brand-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-brand, var(--ng-componentcolors-utility-brand-200));\n background: var(--nile-badge-color-background-brand, var(--ng-componentcolors-utility-brand-50));\n }\n\n .badge--gray {\n color: var(--nile-badge-color-font-gray, var(--ng-componentcolors-utility-gray-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-gray, var(--ng-componentcolors-utility-gray-300));\n background: var(--nile-badge-color-background-gray, var(--ng-componentcolors-utility-gray-50));\n }\n\n .badge--pink.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-pink, var(--ng-componentcolors-utility-pink-200));\n }\n\n .badge--orange.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-orange, var(--ng-componentcolors-utility-orange-300));\n }\n\n .badge--purple.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-purple, var(--ng-componentcolors-utility-purple-200));\n }\n\n .badge--indigo.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-indigo, var(--ng-componentcolors-utility-indigo-200));\n }\n\n .badge--blue.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-blue, var(--ng-componentcolors-utility-blue-200));\n }\n\n .badge--blue-light.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-bluelight, var(--ng-componentcolors-utility-blue-light-200));\n }\n\n .badge--gray-blue.badge--pill-outline {\n 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-blue-200));\n }\n\n .badge--success.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-success, var(--ng-componentcolors-utility-success-200));\n }\n\n .badge--warning.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-warning, var(--ng-componentcolors-utility-warning-300));\n }\n\n .badge--error.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-error, var(--ng-componentcolors-utility-error-200));\n }\n\n .badge--brand.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-brand, var(--ng-componentcolors-utility-brand-200));\n }\n\n .badge--gray.badge--pill-outline {\n 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));\n }\n\n\n\n .badge--rounded {\n padding: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) var(--nile-spacing-md, var(--ng-spacing-md-alt));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n }\n\n /* Sizes — md is the base .badge rule above, so the default is unchanged. */\n .badge.badge--sm {\n padding: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) var(--nile-spacing-md, var(--ng-spacing-md));\n height: var(--nile-height-22px, var(--ng-height-22px));\n }\n\n .badge--sm .badge__content {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-xs));\n }\n\n .badge.badge--lg {\n padding: var(--nile-spacing-xs, var(--ng-spacing-xs)) var(--nile-spacing-lg, var(--ng-spacing-lg));\n height: var(--nile-height-28px, var(--ng-height-28px));\n }\n\n .badge--lg .badge__content {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n }\n`;\nexport default [styles];\n\n"]}
1
+ {"version":3,"file":"nile-badge.css.js","sourceRoot":"","sources":["../../../src/nile-badge/nile-badge.css.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0OxB,CAAC;AACF,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 * Tag CSS\n */\nexport const styles = css`\n :host {\n -webkit-font-smoothing: var(--nile-webkit-font-smoothing, var(--ng-webkit-font-smoothing));\n -moz-osx-font-smoothing: var(--nile-moz-osx-font-smoothing, var(--ng-moz-osx-font-smoothing));\n text-rendering: var(--nile-text-rendering, var(--ng-text-rendering));\n }\n\n .badge {\n padding: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) var(--nile-spacing-sm, var(--ng-spacing-md-alt));\n border-radius: var(--nile-radius-radius-xs, var(--ng-radius-full));\n display: inline-flex;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n height: var(--nile-height-22px, var(--ng-height-24px));\n }\n\n .badge__prefix,\n .badge__suffix {\n display: inline-flex;\n flex: 0 0 auto;\n align-items: center;\n }\n\n .badge--has-prefix .badge__prefix {\n margin-inline-end: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .badge--has-suffix .badge__suffix {\n margin-inline-start: var(--nile-spacing-xs, var(--ng-spacing-xs));\n }\n\n .badge__prefix,\n .badge__content,\n .badge__suffix {\n font-family: var(--nile-font-family-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-sm));\n font-style: normal;\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n letter-spacing: 0.2px;\n }\n\n .badge--primary {\n background: var(--nile-badge-color-background-primary, var(--ng-componentcolors-utility-brand-50));\n color: var(--nile-badge-color-font-primary, var(--ng-componentcolors-utility-brand-700));\n }\n\n .badge--normal {\n background: var(--nile-badge-color-background-normal, var(--ng-componentcolors-utility-gray-50));\n }\n\n .badge--info {\n background: var(--nile-badge-color-background-info, var(--ng-componentcolors-utility-blue-light-50));\n }\n\n /* for v2 */\n\n .badge--pill-outline {\n background: transparent ;\n }\n .badge--pink {\n color: var(--nile-badge-color-font-pink, var(--ng-componentcolors-utility-pink-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-pink, var(--ng-componentcolors-utility-pink-200));\n background: var(--nile-badge-color-background-pink, var(--ng-componentcolors-utility-pink-50));\n }\n\n .badge--orange {\n color: var(--nile-badge-color-font-orange, var(--ng-componentcolors-utility-error-600));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-orange, var(--ng-componentcolors-utility-orange-300));\n background: var(--nile-badge-color-background-orange, var(--ng-componentcolors-utility-orange-50));\n }\n\n .badge--purple {\n color: var(--nile-badge-color-font-purple, var(--ng-componentcolors-utility-purple-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-purple, var(--ng-componentcolors-utility-purple-200));\n background: var(--nile-badge-color-background-purple, var(--ng-componentcolors-utility-purple-50));\n }\n\n .badge--indigo {\n color: var(--nile-badge-color-font-indigo, var(--ng-componentcolors-utility-indigo-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-indigo, var(--ng-componentcolors-utility-indigo-200));\n background: var(--nile-badge-color-background-indigo, var(--ng-componentcolors-utility-indigo-50));\n }\n\n .badge--blue {\n color: var(--nile-badge-color-font-blue, var(--ng-componentcolors-utility-blue-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-blue, var(--ng-componentcolors-utility-blue-200));\n background: var(--nile-badge-color-background-blue, var(--ng-componentcolors-utility-blue-50));\n }\n .badge--blue-light {\n color:var(--nile-badge-color-font-bluelight, var(--ng-componentcolors-utility-blue-light-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-bluelight, var(--ng-componentcolors-utility-blue-light-200));\n background: var(--nile-badge-color-background-bluelight, var(--ng-componentcolors-utility-blue-light-50));\n }\n\n .badge--gray-blue {\n color: var(--nile-badge-color-font-grayblue, var(--ng-componentcolors-utility-gray-blue-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-grayblue, var(--ng-componentcolors-utility-gray-blue-200));\n background: var(--nile-badge-color-background-grayblue, var(--ng-componentcolors-utility-gray-blue-50));\n }\n\n .badge--success {\n color: var(--nile-badge-color-font-success, var(--ng-componentcolors-utility-success-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-success, var(--ng-componentcolors-utility-success-200));\n background: var(--nile-badge-color-background-success, var(--ng-componentcolors-utility-success-50));\n }\n .badge--warning {\n color: var(--nile-badge-color-font-warning, var(--ng-componentcolors-utility-warning-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-warning, var(--ng-componentcolors-utility-warning-300));\n background: var(--nile-badge-color-background-warning, var(--ng-componentcolors-utility-warning-50));\n }\n\n .badge--error {\n color: var(--nile-badge-color-font-error, var(--ng-componentcolors-utility-error-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-error, var(--ng-componentcolors-utility-error-200));\n background: var(--nile-badge-color-background-error, var(--ng-componentcolors-utility-error-50));\n }\n\n .badge--brand {\n color: var(--nile-badge-color-font-brand, var(--ng-componentcolors-utility-brand-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-brand, var(--ng-componentcolors-utility-brand-200));\n background: var(--nile-badge-color-background-brand, var(--ng-componentcolors-utility-brand-50));\n }\n\n .badge--gray {\n color: var(--nile-badge-color-font-gray, var(--ng-componentcolors-utility-gray-700));\n border-width: var(--nile-badge-color-border-width, var(--ng-border-width-1));\n border-style: solid;\n border-color: var(--nile-badge-color-border-color-gray, var(--ng-componentcolors-utility-gray-300));\n background: var(--nile-badge-color-background-gray, var(--ng-componentcolors-utility-gray-50));\n }\n\n .badge--pink.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-pink, var(--ng-componentcolors-utility-pink-200));\n }\n\n .badge--orange.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-orange, var(--ng-componentcolors-utility-orange-300));\n }\n\n .badge--purple.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-purple, var(--ng-componentcolors-utility-purple-200));\n }\n\n .badge--indigo.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-indigo, var(--ng-componentcolors-utility-indigo-200));\n }\n\n .badge--blue.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-blue, var(--ng-componentcolors-utility-blue-200));\n }\n\n .badge--blue-light.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-bluelight, var(--ng-componentcolors-utility-blue-light-200));\n }\n\n .badge--gray-blue.badge--pill-outline {\n 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-blue-200));\n }\n\n .badge--success.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-success, var(--ng-componentcolors-utility-success-200));\n }\n\n .badge--warning.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-warning, var(--ng-componentcolors-utility-warning-300));\n }\n\n .badge--error.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-error, var(--ng-componentcolors-utility-error-200));\n }\n\n .badge--brand.badge--pill-outline {\n border: var(--nile-badge-color-border-width-pill-outline, var(--ng-border-width-1)) solid var(--nile-badge-color-pill-outline-brand, var(--ng-componentcolors-utility-brand-200));\n }\n\n .badge--gray.badge--pill-outline {\n 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));\n }\n\n\n\n .badge--rounded {\n padding: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) var(--nile-spacing-md, var(--ng-spacing-md-alt));\n border-radius: var(--nile-radius-full, var(--ng-radius-full));\n }\n\n /* Sizes — md is the base .badge rule above, so the default is unchanged. */\n .badge.badge--sm {\n padding: var(--nile-spacing-xxs, var(--ng-spacing-xxs)) var(--nile-spacing-md, var(--ng-spacing-md));\n height: var(--nile-height-22px, var(--ng-height-22px));\n }\n\n .badge--sm .badge__prefix,\n .badge--sm .badge__content,\n .badge--sm .badge__suffix {\n font-size: var(--nile-type-scale-2, var(--ng-font-size-text-xs));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-xs));\n }\n\n .badge.badge--lg {\n padding: var(--nile-spacing-xs, var(--ng-spacing-xs)) var(--nile-spacing-lg, var(--ng-spacing-lg));\n height: var(--nile-height-28px, var(--ng-height-28px));\n }\n\n .badge--lg .badge__prefix,\n .badge--lg .badge__content,\n .badge--lg .badge__suffix {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n line-height: var(--nile-type-scale-5, var(--ng-line-height-text-sm));\n }\n`;\nexport default [styles];\n\n"]}
@@ -21,17 +21,20 @@ import type { CSSResultGroup } from 'lit';
21
21
  * @dependency nile-icon-button
22
22
  *
23
23
  * @slot - The badge's content.
24
- *
25
- * @event nile-remove - Emitted when the remove button is activated.
24
+ * @slot prefix - Content placed before the badge's content, such as an icon, dot or avatar.
25
+ * @slot suffix - Content placed after the badge's content, such as an icon, count or button.
26
26
  *
27
27
  * @csspart base - The component's base wrapper.
28
+ * @csspart prefix - The container that wraps the prefix slot.
28
29
  * @csspart content - The badge's content.
29
- * @csspart remove-button - The badge's remove button, an `<nile-icon-button>`.
30
- * @csspart remove-button__base - The remove button's exported `base` part.
30
+ * @csspart suffix - The container that wraps the suffix slot.
31
31
  */
32
32
  export declare class NileBadge extends NileElement {
33
33
  static styles: CSSResultGroup;
34
+ private readonly hasSlotController;
34
35
  connectedCallback(): void;
36
+ /** Text of the default slot only, so prefix and suffix content stays out of the label. */
37
+ private getLabelText;
35
38
  /** The badge's theme variant. */
36
39
  variant: 'primary' | 'success' | 'normal' | 'warning' | 'error' | 'info' | 'gray' | 'brand' | 'blue-light' | 'blue' | 'indigo' | 'purple' | 'pink' | 'orange' | 'blue-gray' | 'gray-blue';
37
40
  /** Draws a pill-style badge with rounded edges. */
@@ -10,6 +10,7 @@ import { styles } from './nile-badge.css';
10
10
  import '../nile-icon-button/nile-icon-button';
11
11
  import { classMap } from 'lit/directives/class-map.js';
12
12
  import { customElement, property } from 'lit/decorators.js';
13
+ import { HasSlotController } from '../internal/slot';
13
14
  import NileElement, { setupA11yMetadata } from '../internal/nile-element';
14
15
  import { A11yProperty } from '../internal/accessibility/a11y.property.enum';
15
16
  import { A11yRole } from '../internal/accessibility/a11y.role.enum';
@@ -28,17 +29,18 @@ import { A11yCustomValue } from '../internal/accessibility/a11y.custom-value.enu
28
29
  * @dependency nile-icon-button
29
30
  *
30
31
  * @slot - The badge's content.
31
- *
32
- * @event nile-remove - Emitted when the remove button is activated.
32
+ * @slot prefix - Content placed before the badge's content, such as an icon, dot or avatar.
33
+ * @slot suffix - Content placed after the badge's content, such as an icon, count or button.
33
34
  *
34
35
  * @csspart base - The component's base wrapper.
36
+ * @csspart prefix - The container that wraps the prefix slot.
35
37
  * @csspart content - The badge's content.
36
- * @csspart remove-button - The badge's remove button, an `<nile-icon-button>`.
37
- * @csspart remove-button__base - The remove button's exported `base` part.
38
+ * @csspart suffix - The container that wraps the suffix slot.
38
39
  */
39
40
  let NileBadge = class NileBadge extends NileElement {
40
41
  constructor() {
41
42
  super(...arguments);
43
+ this.hasSlotController = new HasSlotController(this, 'prefix', 'suffix');
42
44
  /** The badge's theme variant. */
43
45
  this.variant = 'normal';
44
46
  /** Draws a pill-style badge with rounded edges. */
@@ -52,10 +54,21 @@ let NileBadge = class NileBadge extends NileElement {
52
54
  super.connectedCallback();
53
55
  setupA11yMetadata(this, {
54
56
  [Role.Role]: A11yRole.Text,
55
- [A11yProperty.AriaLabel]: this.textContent?.trim() || A11yCustomValue.Badge,
57
+ [A11yProperty.AriaLabel]: this.getLabelText() || A11yCustomValue.Badge,
56
58
  });
57
59
  }
60
+ /** Text of the default slot only, so prefix and suffix content stays out of the label. */
61
+ getLabelText() {
62
+ return [...this.childNodes]
63
+ .filter(node => node.nodeType === Node.TEXT_NODE ||
64
+ (node.nodeType === Node.ELEMENT_NODE && !node.hasAttribute('slot')))
65
+ .map(node => node.textContent ?? '')
66
+ .join('')
67
+ .trim();
68
+ }
58
69
  render() {
70
+ const hasPrefix = this.hasSlotController.test('prefix');
71
+ const hasSuffix = this.hasSlotController.test('suffix');
59
72
  return html `
60
73
  <span
61
74
  part="base"
@@ -84,9 +97,13 @@ let NileBadge = class NileBadge extends NileElement {
84
97
  'badge--sm': this.size === 'sm',
85
98
  'badge--md': this.size === 'md',
86
99
  'badge--lg': this.size === 'lg',
100
+ 'badge--has-prefix': hasPrefix,
101
+ 'badge--has-suffix': hasSuffix,
87
102
  })}
88
103
  >
104
+ <slot name="prefix" part="prefix" class="badge__prefix"></slot>
89
105
  <slot part="content" class="badge__content"></slot>
106
+ <slot name="suffix" part="suffix" class="badge__suffix"></slot>
90
107
  </span>
91
108
  `;
92
109
  }
@@ -1 +1 @@
1
- {"version":3,"file":"nile-badge.js","sourceRoot":"","sources":["../../../src/nile-badge/nile-badge.ts"],"names":[],"mappings":"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","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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { styles } from './nile-badge.css';\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport NileElement, { setupA11yMetadata } from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport { A11yProperty } from '../internal/accessibility/a11y.property.enum';\nimport { A11yRole } from '../internal/accessibility/a11y.role.enum';\nimport { Role } from '../internal/accessibility/role.enum';\nimport { A11yCustomValue } from '../internal/accessibility/a11y.custom-value.enum';\n/**\n * Nile icon component.\n *\n * @tag nile-badge\n *\n */\n\n/**\n * @summary badges are used as labels to organize things or to indicate a selection.\n * @status stable\n *\n * @dependency nile-icon-button\n *\n * @slot - The badge's content.\n *\n * @event nile-remove - Emitted when the remove button is activated.\n *\n * @csspart base - The component's base wrapper.\n * @csspart content - The badge's content.\n * @csspart remove-button - The badge's remove button, an `<nile-icon-button>`.\n * @csspart remove-button__base - The remove button's exported `base` part.\n */\n\n@customElement('nile-badge')\nexport class NileBadge extends NileElement {\n static styles: CSSResultGroup = styles;\n\n connectedCallback(): void {\n super.connectedCallback();\n setupA11yMetadata(this, {\n [Role.Role]: A11yRole.Text,\n [A11yProperty.AriaLabel]: this.textContent?.trim() || A11yCustomValue.Badge,\n });\n }\n\n /** The badge's theme variant. */\n @property({ reflect: true }) variant:\n | 'primary'\n | 'success'\n | 'normal'\n | 'warning'\n | 'error'\n | 'info'\n | 'gray'\n | 'brand'\n | 'blue-light'\n | 'blue'\n | 'indigo'\n | 'purple'\n | 'pink'\n | 'orange'\n | 'blue-gray'\n | 'gray-blue' = 'normal';\n\n /** Draws a pill-style badge with rounded edges. */\n @property({ type: Boolean, reflect: true }) rounded = false;\n\n // For setting pill type\n @property({ reflect: true }) pilltype:\n | 'pill-color'\n | 'pill-outline'\n | 'badge-color'='badge-color';\n\n /** The badge's size. `md` keeps the existing default dimensions. */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n render() {\n return html`\n <span\n part=\"base\"\n class=${classMap({\n badge: true,\n 'badge--primary': this.variant === 'primary',\n 'badge--normal': this.variant === 'normal',\n 'badge--info': this.variant === 'info',\n 'badge--pink': this.variant === 'pink',\n 'badge--orange': this.variant === 'orange',\n 'badge--purple': this.variant === 'purple',\n 'badge--indigo': this.variant === 'indigo',\n 'badge--blue': this.variant === 'blue',\n 'badge--blue-light': this.variant === 'blue-light',\n 'badge--gray-blue': this.variant === 'gray-blue',\n 'badge--success': this.variant === 'success',\n 'badge--warning': this.variant === 'warning',\n 'badge--error': this.variant === 'error',\n 'badge--brand': this.variant === 'brand',\n 'badge--gray': this.variant === 'gray',\n 'badge--pill-outline': this.pilltype == 'pill-outline',\n 'badge--badge-color': this.pilltype == 'badge-color',\n 'badge--rounded':\n this.rounded ||\n this.pilltype == 'pill-outline' ||\n this.pilltype == 'pill-color',\n 'badge--sm': this.size === 'sm',\n 'badge--md': this.size === 'md',\n 'badge--lg': this.size === 'lg',\n })}\n >\n <slot part=\"content\" class=\"badge__content\"></slot>\n </span>\n `;\n }\n}\n\nexport default NileBadge;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-badge': NileBadge;\n }\n}\n"]}
1
+ {"version":3,"file":"nile-badge.js","sourceRoot":"","sources":["../../../src/nile-badge/nile-badge.ts"],"names":[],"mappings":"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","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 {\n LitElement,\n html,\n CSSResultArray,\n TemplateResult,\n} from 'lit';\nimport { styles } from './nile-badge.css';\nimport '../nile-icon-button/nile-icon-button';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { customElement, property } from 'lit/decorators.js';\nimport { HasSlotController } from '../internal/slot';\nimport NileElement, { setupA11yMetadata } from '../internal/nile-element';\nimport type { CSSResultGroup } from 'lit';\nimport { A11yProperty } from '../internal/accessibility/a11y.property.enum';\nimport { A11yRole } from '../internal/accessibility/a11y.role.enum';\nimport { Role } from '../internal/accessibility/role.enum';\nimport { A11yCustomValue } from '../internal/accessibility/a11y.custom-value.enum';\n/**\n * Nile icon component.\n *\n * @tag nile-badge\n *\n */\n\n/**\n * @summary badges are used as labels to organize things or to indicate a selection.\n * @status stable\n *\n * @dependency nile-icon-button\n *\n * @slot - The badge's content.\n * @slot prefix - Content placed before the badge's content, such as an icon, dot or avatar.\n * @slot suffix - Content placed after the badge's content, such as an icon, count or button.\n *\n * @csspart base - The component's base wrapper.\n * @csspart prefix - The container that wraps the prefix slot.\n * @csspart content - The badge's content.\n * @csspart suffix - The container that wraps the suffix slot.\n */\n\n@customElement('nile-badge')\nexport class NileBadge extends NileElement {\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'prefix', 'suffix');\n\n connectedCallback(): void {\n super.connectedCallback();\n setupA11yMetadata(this, {\n [Role.Role]: A11yRole.Text,\n [A11yProperty.AriaLabel]: this.getLabelText() || A11yCustomValue.Badge,\n });\n }\n\n /** Text of the default slot only, so prefix and suffix content stays out of the label. */\n private getLabelText(): string {\n return [...this.childNodes]\n .filter(\n node =>\n node.nodeType === Node.TEXT_NODE ||\n (node.nodeType === Node.ELEMENT_NODE && !(node as Element).hasAttribute('slot'))\n )\n .map(node => node.textContent ?? '')\n .join('')\n .trim();\n }\n\n /** The badge's theme variant. */\n @property({ reflect: true }) variant:\n | 'primary'\n | 'success'\n | 'normal'\n | 'warning'\n | 'error'\n | 'info'\n | 'gray'\n | 'brand'\n | 'blue-light'\n | 'blue'\n | 'indigo'\n | 'purple'\n | 'pink'\n | 'orange'\n | 'blue-gray'\n | 'gray-blue' = 'normal';\n\n /** Draws a pill-style badge with rounded edges. */\n @property({ type: Boolean, reflect: true }) rounded = false;\n\n // For setting pill type\n @property({ reflect: true }) pilltype:\n | 'pill-color'\n | 'pill-outline'\n | 'badge-color'='badge-color';\n\n /** The badge's size. `md` keeps the existing default dimensions. */\n @property({ reflect: true }) size: 'sm' | 'md' | 'lg' = 'md';\n\n render() {\n const hasPrefix = this.hasSlotController.test('prefix');\n const hasSuffix = this.hasSlotController.test('suffix');\n\n return html`\n <span\n part=\"base\"\n class=${classMap({\n badge: true,\n 'badge--primary': this.variant === 'primary',\n 'badge--normal': this.variant === 'normal',\n 'badge--info': this.variant === 'info',\n 'badge--pink': this.variant === 'pink',\n 'badge--orange': this.variant === 'orange',\n 'badge--purple': this.variant === 'purple',\n 'badge--indigo': this.variant === 'indigo',\n 'badge--blue': this.variant === 'blue',\n 'badge--blue-light': this.variant === 'blue-light',\n 'badge--gray-blue': this.variant === 'gray-blue',\n 'badge--success': this.variant === 'success',\n 'badge--warning': this.variant === 'warning',\n 'badge--error': this.variant === 'error',\n 'badge--brand': this.variant === 'brand',\n 'badge--gray': this.variant === 'gray',\n 'badge--pill-outline': this.pilltype == 'pill-outline',\n 'badge--badge-color': this.pilltype == 'badge-color',\n 'badge--rounded':\n this.rounded ||\n this.pilltype == 'pill-outline' ||\n this.pilltype == 'pill-color',\n 'badge--sm': this.size === 'sm',\n 'badge--md': this.size === 'md',\n 'badge--lg': this.size === 'lg',\n 'badge--has-prefix': hasPrefix,\n 'badge--has-suffix': hasSuffix,\n })}\n >\n <slot name=\"prefix\" part=\"prefix\" class=\"badge__prefix\"></slot>\n <slot part=\"content\" class=\"badge__content\"></slot>\n <slot name=\"suffix\" part=\"suffix\" class=\"badge__suffix\"></slot>\n </span>\n `;\n }\n}\n\nexport default NileBadge;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-badge': NileBadge;\n }\n}\n"]}
@@ -632,5 +632,93 @@ describe('NileBadge', () => {
632
632
  });
633
633
  });
634
634
  });
635
+ describe('prefix and suffix slots', () => {
636
+ const base = (el) => el.shadowRoot.querySelector('[part="base"]');
637
+ const slotOf = (el, name) => el.shadowRoot.querySelector(`slot[name="${name}"]`);
638
+ it('110. should render prefix and suffix slots with parts', async () => {
639
+ const el = await fixture(html `<nile-badge>Label</nile-badge>`);
640
+ expect(slotOf(el, 'prefix').getAttribute('part')).to.equal('prefix');
641
+ expect(slotOf(el, 'suffix').getAttribute('part')).to.equal('suffix');
642
+ });
643
+ it('111. should render prefix before content and suffix after it', async () => {
644
+ const el = await fixture(html `<nile-badge>Label</nile-badge>`);
645
+ const parts = [...base(el).children].map(n => n.getAttribute('part'));
646
+ expect(parts).to.deep.equal(['prefix', 'content', 'suffix']);
647
+ });
648
+ it('112. should assign prefix content to the prefix slot', async () => {
649
+ const el = await fixture(html `<nile-badge><span slot="prefix" id="p">●</span>Label</nile-badge>`);
650
+ const assigned = slotOf(el, 'prefix').assignedElements();
651
+ expect(assigned).to.have.length(1);
652
+ expect(assigned[0].id).to.equal('p');
653
+ });
654
+ it('113. should assign suffix content to the suffix slot', async () => {
655
+ const el = await fixture(html `<nile-badge>Label<span slot="suffix" id="s">3</span></nile-badge>`);
656
+ const assigned = slotOf(el, 'suffix').assignedElements();
657
+ expect(assigned).to.have.length(1);
658
+ expect(assigned[0].id).to.equal('s');
659
+ });
660
+ it('114. should accept any element in the slots', async () => {
661
+ const el = await fixture(html `
662
+ <nile-badge>
663
+ <img slot="prefix" alt="" />
664
+ Label
665
+ <button slot="suffix">x</button>
666
+ </nile-badge>
667
+ `);
668
+ expect(slotOf(el, 'prefix').assignedElements()[0].tagName).to.equal('IMG');
669
+ expect(slotOf(el, 'suffix').assignedElements()[0].tagName).to.equal('BUTTON');
670
+ });
671
+ it('115. should not add has-prefix or has-suffix classes when slots are empty', async () => {
672
+ const el = await fixture(html `<nile-badge>Label</nile-badge>`);
673
+ expect(base(el).classList.contains('badge--has-prefix')).to.be.false;
674
+ expect(base(el).classList.contains('badge--has-suffix')).to.be.false;
675
+ });
676
+ it('116. should add has-prefix and has-suffix classes when slots are filled', async () => {
677
+ const el = await fixture(html `
678
+ <nile-badge><span slot="prefix">a</span>Label<span slot="suffix">b</span></nile-badge>
679
+ `);
680
+ expect(base(el).classList.contains('badge--has-prefix')).to.be.true;
681
+ expect(base(el).classList.contains('badge--has-suffix')).to.be.true;
682
+ });
683
+ it('117. should update classes when slot content is added later', async () => {
684
+ const el = await fixture(html `<nile-badge>Label</nile-badge>`);
685
+ const icon = document.createElement('span');
686
+ icon.slot = 'prefix';
687
+ el.prepend(icon);
688
+ await elementUpdated(el);
689
+ await el.updateComplete;
690
+ expect(base(el).classList.contains('badge--has-prefix')).to.be.true;
691
+ });
692
+ it('118. should take no space when prefix and suffix are empty', async () => {
693
+ const el = await fixture(html `<nile-badge>Label</nile-badge>`);
694
+ expect(slotOf(el, 'prefix').getBoundingClientRect().width).to.equal(0);
695
+ expect(slotOf(el, 'suffix').getBoundingClientRect().width).to.equal(0);
696
+ });
697
+ it('119. should space filled slots from the content with the spacing token', () => {
698
+ const css = styles.cssText;
699
+ const rule = (selector) => css.slice(css.indexOf(`${selector} {`)).split('}')[0];
700
+ const token = 'var(--nile-spacing-xs, var(--ng-spacing-xs))';
701
+ expect(rule('.badge--has-prefix .badge__prefix')).to.contain(`margin-inline-end: ${token}`);
702
+ expect(rule('.badge--has-suffix .badge__suffix')).to.contain(`margin-inline-start: ${token}`);
703
+ });
704
+ it('120. should keep slot content out of the aria-label', async () => {
705
+ const el = await fixture(html `
706
+ <nile-badge><span slot="prefix">icon</span>Active<span slot="suffix">12</span></nile-badge>
707
+ `);
708
+ expect(el.getAttribute('aria-label')).to.equal('Active');
709
+ });
710
+ it('121. should ignore comment nodes in the aria-label', async () => {
711
+ const el = document.createElement('nile-badge');
712
+ el.append(document.createComment('?lit$123$'), 'Active', document.createComment('ng-container'));
713
+ document.body.append(el);
714
+ await el.updateComplete;
715
+ expect(el.getAttribute('aria-label')).to.equal('Active');
716
+ el.remove();
717
+ });
718
+ it('122. should keep the existing label for badges without slots', async () => {
719
+ const el = await fixture(html `<nile-badge>New <b>beta</b></nile-badge>`);
720
+ expect(el.getAttribute('aria-label')).to.equal('New beta');
721
+ });
722
+ });
635
723
  });
636
724
  //# sourceMappingURL=nile-badge.test.js.map