@aquera/nile-elements 1.6.6 → 1.6.8
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.
- package/README.md +7 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.esm.js +1 -1
- package/dist/index.js +1735 -489
- package/dist/internal/enum.cjs.js +1 -1
- package/dist/internal/enum.cjs.js.map +1 -1
- package/dist/internal/enum.esm.js +1 -1
- package/dist/nile-inline-sidebar/index.cjs.js +1 -1
- package/dist/nile-inline-sidebar/index.esm.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar/nile-inline-sidebar.css.esm.js +76 -19
- package/dist/nile-inline-sidebar/nile-inline-sidebar.esm.js +42 -23
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-group/nile-inline-sidebar-group.css.esm.js +8 -9
- package/dist/nile-inline-sidebar-item/index.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/index.esm.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.cjs.js.map +1 -1
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.css.esm.js +16 -18
- package/dist/nile-inline-sidebar-item/nile-inline-sidebar-item.esm.js +22 -4
- package/dist/nile-inline-sidebar-item-body/index.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item-body/index.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item-body/index.esm.js +1 -0
- package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.esm.js +53 -0
- package/dist/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.esm.js +13 -0
- package/dist/nile-inline-sidebar-item-header/index.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item-header/index.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item-header/index.esm.js +1 -0
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js +2 -0
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.esm.js +27 -0
- package/dist/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.esm.js +16 -0
- package/dist/nile-inline-sidebar-panel/index.cjs.js +2 -0
- package/dist/nile-inline-sidebar-panel/index.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-panel/index.esm.js +1 -0
- package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.cjs.js +2 -0
- package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.cjs.js +2 -0
- package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.esm.js +19 -0
- package/dist/nile-inline-sidebar-panel/nile-inline-sidebar-panel.esm.js +5 -0
- package/dist/nile-inline-sidebar-panel-group/index.cjs.js +2 -0
- package/dist/nile-inline-sidebar-panel-group/index.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-panel-group/index.esm.js +1 -0
- package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.cjs.js +2 -0
- package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.cjs.js +2 -0
- package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.cjs.js.map +1 -0
- package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.esm.js +30 -0
- package/dist/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.esm.js +12 -0
- package/dist/nile-nav-tab/index.cjs.js +2 -0
- package/dist/nile-nav-tab/index.cjs.js.map +1 -0
- package/dist/nile-nav-tab/index.esm.js +1 -0
- package/dist/nile-nav-tab/nile-nav-tab.cjs.js +2 -0
- package/dist/nile-nav-tab/nile-nav-tab.cjs.js.map +1 -0
- package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js +2 -0
- package/dist/nile-nav-tab/nile-nav-tab.css.cjs.js.map +1 -0
- package/dist/nile-nav-tab/nile-nav-tab.css.esm.js +190 -0
- package/dist/nile-nav-tab/nile-nav-tab.esm.js +36 -0
- package/dist/nile-nav-tab-group/index.cjs.js +2 -0
- package/dist/nile-nav-tab-group/index.cjs.js.map +1 -0
- package/dist/nile-nav-tab-group/index.esm.js +1 -0
- package/dist/nile-nav-tab-group/nile-nav-tab-group.cjs.js +4 -0
- package/dist/nile-nav-tab-group/nile-nav-tab-group.cjs.js.map +1 -0
- package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js +2 -0
- package/dist/nile-nav-tab-group/nile-nav-tab-group.css.cjs.js.map +1 -0
- package/dist/nile-nav-tab-group/nile-nav-tab-group.css.esm.js +668 -0
- package/dist/nile-nav-tab-group/nile-nav-tab-group.esm.js +61 -0
- package/dist/nile-nav-tab-panel/index.cjs.js +2 -0
- package/dist/nile-nav-tab-panel/index.cjs.js.map +1 -0
- package/dist/nile-nav-tab-panel/index.esm.js +1 -0
- package/dist/nile-nav-tab-panel/nile-nav-tab-panel.cjs.js +2 -0
- package/dist/nile-nav-tab-panel/nile-nav-tab-panel.cjs.js.map +1 -0
- package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.cjs.js +2 -0
- package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.cjs.js.map +1 -0
- package/dist/nile-nav-tab-panel/nile-nav-tab-panel.css.esm.js +22 -0
- package/dist/nile-nav-tab-panel/nile-nav-tab-panel.esm.js +8 -0
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.cjs.js.map +1 -1
- package/dist/nile-rich-text-editor/nile-rich-text-editor.css.esm.js +5 -2
- package/dist/nile-rich-text-editor/nile-rich-text-editor.esm.js +1 -1
- package/dist/src/index.d.ts +7 -0
- package/dist/src/index.js +7 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/internal/enum.d.ts +6 -0
- package/dist/src/internal/enum.js +7 -0
- package/dist/src/internal/enum.js.map +1 -1
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.d.ts +1 -0
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js +75 -17
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.css.js.map +1 -1
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.d.ts +17 -1
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js +147 -18
- package/dist/src/nile-inline-sidebar/nile-inline-sidebar.js.map +1 -1
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js +7 -7
- package/dist/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.d.ts +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js +15 -17
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.d.ts +7 -1
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js +63 -4
- package/dist/src/nile-inline-sidebar-item/nile-inline-sidebar-item.js.map +1 -1
- package/dist/src/nile-inline-sidebar-item-body/index.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-item-body/index.js +2 -0
- package/dist/src/nile-inline-sidebar-item-body/index.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.d.ts +9 -0
- package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.js +62 -0
- package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.d.ts +45 -0
- package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.js +110 -0
- package/dist/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item-header/index.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-item-header/index.js +2 -0
- package/dist/src/nile-inline-sidebar-item-header/index.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.d.ts +9 -0
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js +36 -0
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.js.map +1 -0
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.d.ts +34 -0
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.js +68 -0
- package/dist/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.js.map +1 -0
- package/dist/src/nile-inline-sidebar-panel/index.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-panel/index.js +2 -0
- package/dist/src/nile-inline-sidebar-panel/index.js.map +1 -0
- package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.d.ts +9 -0
- package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.js +28 -0
- package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.js.map +1 -0
- package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.d.ts +35 -0
- package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.js +55 -0
- package/dist/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.js.map +1 -0
- package/dist/src/nile-inline-sidebar-panel-group/index.d.ts +1 -0
- package/dist/src/nile-inline-sidebar-panel-group/index.js +2 -0
- package/dist/src/nile-inline-sidebar-panel-group/index.js.map +1 -0
- package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.d.ts +9 -0
- package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.js +39 -0
- package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.js.map +1 -0
- package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.d.ts +43 -0
- package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.js +93 -0
- package/dist/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.js.map +1 -0
- package/dist/src/nile-nav-tab/index.d.ts +1 -0
- package/dist/src/nile-nav-tab/index.js +2 -0
- package/dist/src/nile-nav-tab/index.js.map +1 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.css.d.ts +9 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.css.js +199 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.css.js.map +1 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.d.ts +50 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.js +190 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.js.map +1 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.test.d.ts +1 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.test.js +656 -0
- package/dist/src/nile-nav-tab/nile-nav-tab.test.js.map +1 -0
- package/dist/src/nile-nav-tab-group/index.d.ts +1 -0
- package/dist/src/nile-nav-tab-group/index.js +2 -0
- package/dist/src/nile-nav-tab-group/index.js.map +1 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.d.ts +12 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js +680 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.css.js.map +1 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.d.ts +119 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.js +765 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.js.map +1 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.d.ts +3 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.js +838 -0
- package/dist/src/nile-nav-tab-group/nile-nav-tab-group.test.js.map +1 -0
- package/dist/src/nile-nav-tab-panel/index.d.ts +1 -0
- package/dist/src/nile-nav-tab-panel/index.js +2 -0
- package/dist/src/nile-nav-tab-panel/index.js.map +1 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.d.ts +15 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.js +37 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.css.js.map +1 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.d.ts +37 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.js +75 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.js.map +1 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.d.ts +1 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.js +534 -0
- package/dist/src/nile-nav-tab-panel/nile-nav-tab-panel.test.js.map +1 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js +5 -2
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.css.js.map +1 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.d.ts +2 -1
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js +9 -0
- package/dist/src/nile-rich-text-editor/nile-rich-text-editor.js.map +1 -1
- package/dist/src/version.js +1 -1
- package/dist/src/version.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +8 -3
- package/src/index.ts +7 -0
- package/src/internal/enum.ts +8 -1
- package/src/nile-inline-sidebar/nile-inline-sidebar.css.ts +75 -17
- package/src/nile-inline-sidebar/nile-inline-sidebar.ts +148 -18
- package/src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts +7 -7
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts +15 -17
- package/src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts +74 -9
- package/src/nile-inline-sidebar-item-body/index.ts +1 -0
- package/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.ts +64 -0
- package/src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.ts +110 -0
- package/src/nile-inline-sidebar-item-header/index.ts +1 -0
- package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.css.ts +38 -0
- package/src/nile-inline-sidebar-item-header/nile-inline-sidebar-item-header.ts +69 -0
- package/src/nile-inline-sidebar-panel/index.ts +1 -0
- package/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.css.ts +30 -0
- package/src/nile-inline-sidebar-panel/nile-inline-sidebar-panel.ts +53 -0
- package/src/nile-inline-sidebar-panel-group/index.ts +1 -0
- package/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.css.ts +41 -0
- package/src/nile-inline-sidebar-panel-group/nile-inline-sidebar-panel-group.ts +101 -0
- package/src/nile-nav-tab/index.ts +1 -0
- package/src/nile-nav-tab/nile-nav-tab.css.ts +201 -0
- package/src/nile-nav-tab/nile-nav-tab.test.ts +768 -0
- package/src/nile-nav-tab/nile-nav-tab.ts +198 -0
- package/src/nile-nav-tab-group/index.ts +1 -0
- package/src/nile-nav-tab-group/nile-nav-tab-group.css.ts +682 -0
- package/src/nile-nav-tab-group/nile-nav-tab-group.test.ts +1009 -0
- package/src/nile-nav-tab-group/nile-nav-tab-group.ts +845 -0
- package/src/nile-nav-tab-panel/index.ts +1 -0
- package/src/nile-nav-tab-panel/nile-nav-tab-panel.css.ts +39 -0
- package/src/nile-nav-tab-panel/nile-nav-tab-panel.test.ts +797 -0
- package/src/nile-nav-tab-panel/nile-nav-tab-panel.ts +78 -0
- package/src/nile-rich-text-editor/nile-rich-text-editor.css.ts +5 -2
- package/src/nile-rich-text-editor/nile-rich-text-editor.ts +12 -1
- package/vscode-html-custom-data.json +272 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-inline-sidebar.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar/nile-inline-sidebar.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-inline-sidebar.css';\nimport NileElement from '../internal/nile-element';\n\n/**\n * Nile inline sidebar component.\n *\n * @tag nile-inline-sidebar\n */\n@customElement('nile-inline-sidebar')\nexport class NileInlineSidebar extends NileElement {\n @property({ type: Boolean, reflect: true }) collapsed = false;\n\n @property({ type: Boolean, reflect: true, attribute: true }) fixed = false;\n\n @property({ type: Boolean, reflect: true }) showTooltip = false;\n\n /** The side on which the sidebar is placed. */\n @property({ type: String, reflect: true }) placement: 'left' | 'right' = 'left';\n\n @state() private activeIndex: number = -1;\n\n @query('slot') private defaultSlot!: HTMLSlotElement;\n\n private mutationObserver?: MutationObserver;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private get sidebarItems(): HTMLElement[] {\n if (!this.defaultSlot) return [];\n const assigned = this.defaultSlot.assignedElements({ flatten: true });\n const items = assigned.flatMap(el =>\n el.tagName.toLowerCase() === 'nile-inline-sidebar-item'\n ? [el]\n : Array.from(el.querySelectorAll('nile-inline-sidebar-item'))\n );\n return items as HTMLElement[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('nile-click', this.handleItemSelect);\n this.addEventListener('keydown', this.handleKeyDown);\n this.mutationObserver = new MutationObserver(() =>\n this.syncActiveFromItems()\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.mutationObserver?.disconnect();\n this.removeEventListener('nile-click', this.handleItemSelect);\n this.removeEventListener('keydown', this.handleKeyDown);\n }\n\n firstUpdated() {\n this.observeSidebarItems();\n this.syncActiveFromItems();\n\n if (this.fixed) {\n this.collapsed = false;\n }\n }\n\n private observeSidebarItems() {\n if (!this.sidebarItems?.length || !this.mutationObserver) return;\n this.sidebarItems.forEach(item =>\n this.mutationObserver!.observe(item, {\n attributes: true,\n attributeFilter: ['active'],\n })\n );\n }\n\n private syncActiveFromItems() {\n if (!this.sidebarItems?.length) return;\n const activeIndex = this.sidebarItems.findIndex(item =>\n item.hasAttribute('active')\n );\n if (activeIndex !== -1 && activeIndex !== this.activeIndex) {\n this.activeIndex = activeIndex;\n this.requestUpdate();\n }\n this.updateTabIndices();\n }\n\n \n private get focusableItems(): HTMLElement[] {\n return this.sidebarItems.filter(\n item => !item.hasAttribute('disabled')\n );\n }\n\n private updateTabIndices() {\n const items = this.sidebarItems;\n if (!items.length) return;\n\n const focusTarget =\n this.activeIndex >= 0 ? items[this.activeIndex] : null;\n\n items.forEach(item => {\n if (item.hasAttribute('disabled')) {\n item.setAttribute('tabindex', '-1');\n } else if (item === focusTarget) {\n item.setAttribute('tabindex', '0');\n } else if (!focusTarget && item === this.focusableItems[0]) {\n item.setAttribute('tabindex', '0');\n } else {\n item.setAttribute('tabindex', '-1');\n }\n });\n }\n\n private focusItem(item: HTMLElement) {\n const items = this.sidebarItems;\n items.forEach(el => el.setAttribute('tabindex', '-1'));\n item.setAttribute('tabindex', '0');\n item.focus();\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.collapsed) return;\n\n const focusable = this.focusableItems;\n if (!focusable.length) return;\n\n const currentFocus = this.sidebarItems.find(\n item =>\n item === document.activeElement ||\n item === this.shadowRoot?.activeElement ||\n item.matches(':focus-within')\n );\n\n const currentIndex = currentFocus\n ? focusable.indexOf(currentFocus)\n : -1;\n\n let nextIndex: number | null = null;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex < focusable.length - 1 ? currentIndex + 1 : 0;\n break;\n\n case 'ArrowUp':\n nextIndex =\n currentIndex > 0 ? currentIndex - 1 : focusable.length - 1;\n break;\n\n case 'Home':\n nextIndex = 0;\n break;\n\n case 'End':\n nextIndex = focusable.length - 1;\n break;\n\n case 'Enter':\n case ' ':\n return;\n\n default:\n return;\n }\n\n event.preventDefault();\n\n if (nextIndex !== null && focusable[nextIndex]) {\n this.focusItem(focusable[nextIndex]);\n }\n };\n\n private handleItemSelect = (event: CustomEvent) => {\n const selectedItem = event.detail.item as HTMLElement;\n const index = this.sidebarItems.indexOf(selectedItem);\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n this.updateTabIndices();\n\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { selectedItem, index },\n bubbles: true,\n composed: true,\n })\n );\n\n this.requestUpdate();\n };\n\n private toggleCollapse() {\n if (this.fixed) return;\n this.collapsed = !this.collapsed;\n\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { collapsed: this.collapsed },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleMenuItemClick(index: number) {\n const selectedItem = this.sidebarItems[index];\n if (!selectedItem || selectedItem.hasAttribute('disabled')) return;\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n const text = selectedItem.textContent?.trim() || '';\n const href = (selectedItem as any).href;\n this.dispatchEvent(\n new CustomEvent('nile-click', {\n detail: { item: selectedItem, href, text },\n bubbles: true,\n composed: true,\n })\n );\n\n if (href) window.location.href = href;\n\n this.requestUpdate();\n }\n\n private get menuItemsTemplate() {\n if (!this.sidebarItems?.length) return null;\n\n const tooltipPlacement = this.placement === 'right' ? 'left' : 'right';\n\n return this.sidebarItems.map((item, index) => {\n const shouldShowTooltip = (item as any).tooltip;\n const isTruncated =\n item.scrollWidth > item.clientWidth ||\n item.scrollHeight > item.clientHeight;\n \n const content = html`\n <nile-side-bar-action-menu-item\n ?disabled=${item.hasAttribute('disabled')}\n ?active=${this.activeIndex === index}\n @click=${() => this.handleMenuItemClick(index)}\n >\n ${item.textContent}\n </nile-side-bar-action-menu-item>\n `;\n return shouldShowTooltip || isTruncated\n ? html`\n <nile-tooltip\n content=${item.textContent?.trim() || ''}\n hoist\n placement=${tooltipPlacement}\n >\n ${content}\n </nile-tooltip>\n `\n : content;\n });\n }\n \n \n \n\n public render(): TemplateResult {\n const isRight = this.placement === 'right';\n const collapsedIcon = isRight ? 'menu_open' : 'menu_close';\n const expandedIcon = isRight ? 'menu_close' : 'menu_open';\n const actionPlacement = isRight ? 'bottom-end' : 'bottom-start';\n\n return html`\n <div class=\"sidebar\" part=\"base\">\n <div class=\"sidebar-header\" part=\"header\">\n ${!this.fixed\n ? this.collapsed\n ? html`\n <nile-side-bar-action\n class=\"toggle-action\"\n placement=${actionPlacement}\n hoist\n open\n triggerDropdown=\"hover\"\n >\n <nile-button\n slot=\"trigger\"\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${collapsedIcon}></nile-icon>\n </nile-button>\n <nile-side-bar-action-menu>\n ${this.menuItemsTemplate}\n </nile-side-bar-action-menu>\n </nile-side-bar-action>\n `\n : html`\n <nile-button\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${expandedIcon}></nile-icon>\n </nile-button>\n `\n : null}\n </div>\n\n <nav\n class=\"sidebar-nav\"\n role=\"navigation\"\n aria-label=\"Sidebar\"\n style=${this.collapsed ? 'display:none;' : ''}\n part=\"nav-items\"\n >\n <slot\n @slotchange=${() => {\n this.requestUpdate();\n this.observeSidebarItems();\n this.syncActiveFromItems();\n }}\n ></slot>\n </nav>\n </div>\n `;\n }\n}\n\nexport default NileInlineSidebar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-inline-sidebar': NileInlineSidebar;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"nile-inline-sidebar.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar/nile-inline-sidebar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,IAAI,EAAkC,OAAO,EAAkB,MAAM,KAAK,CAAC;AACpF,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC;;;;GAIG;AAEI,IAAM,iBAAiB,GAAvB,MAAM,iBAAkB,SAAQ,WAAW;IAA3C;;QACuC,cAAS,GAAG,KAAK,CAAC;QAED,UAAK,GAAG,KAAK,CAAC;QAE/B,gBAAW,GAAG,KAAK,CAAC;QAEhE,+CAA+C;QACJ,cAAS,GAAqB,MAAM,CAAC;QAEhF,wEAAwE;QAC5B,cAAS,GAAG,KAAK,CAAC;QAE9D,iEAAiE;QACpB,iBAAY,GAAG,GAAG,CAAC;QAEhE,uCAAuC;QACM,oBAAe,GAAG,GAAG,CAAC;QAErB,kBAAa,GAAG,IAAI,CAAC;QAEnE,uCAAuC;QACK,oBAAe,GAAG,GAAG,CAAC;QAEN,YAAO,GAAwB,SAAS,CAAC;QAEpF,gBAAW,GAAW,CAAC,CAAC,CAAC;QAyHlC,kBAAa,GAAG,CAAC,KAAoB,EAAE,EAAE;YAC/C,IAAI,IAAI,CAAC,SAAS;gBAAE,OAAO;YAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,MAAM;gBAAE,OAAO;YAE9B,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CACzC,IAAI,CAAC,EAAE,CACL,IAAI,KAAK,QAAQ,CAAC,aAAa;gBAC/B,IAAI,KAAK,IAAI,CAAC,UAAU,EAAE,aAAa;gBACvC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAChC,CAAC;YAEF,MAAM,YAAY,GAAG,YAAY;gBAC/B,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,YAAY,CAAC;gBACjC,CAAC,CAAC,CAAC,CAAC,CAAC;YAEP,IAAI,SAAS,GAAkB,IAAI,CAAC;YAEpC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;gBAClB,KAAK,WAAW;oBACd,SAAS;wBACP,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBAC7D,MAAM;gBAER,KAAK,SAAS;oBACZ,SAAS;wBACP,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC7D,MAAM;gBAER,KAAK,MAAM;oBACT,SAAS,GAAG,CAAC,CAAC;oBACd,MAAM;gBAER,KAAK,KAAK;oBACR,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjC,MAAM;gBAER,KAAK,OAAO,CAAC;gBACb,KAAK,GAAG;oBACN,OAAO;gBAET;oBACE,OAAO;YACX,CAAC;YAED,KAAK,CAAC,cAAc,EAAE,CAAC;YAEvB,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC/C,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;YACvC,CAAC;QACH,CAAC,CAAC;QAEM,qBAAgB,GAAG,CAAC,KAAkB,EAAE,EAAE;YAChD,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAmB,CAAC;YACtD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAEtD,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE,IAAY,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,CAClD,CAAC;YACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAExB,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;gBAC7B,MAAM,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE;gBAC/B,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACf,CAAC,CACH,CAAC;YAEF,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC;IAoOJ,CAAC;IA/ZQ,MAAM,KAAK,MAAM;QACtB,OAAO,CAAC,MAAM,CAAC,CAAC;IAClB,CAAC;IAED,IAAY,YAAY;QACtB,IAAI,CAAC,IAAI,CAAC,WAAW;YAAE,OAAO,EAAE,CAAC;QACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAClC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,0BAA0B;YACrD,CAAC,CAAC,CAAC,EAAE,CAAC;YACN,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,gBAAgB,CAAC,0BAA0B,CAAC,CAAC,CAChE,CAAC;QACF,OAAO,KAAsB,CAAC;IAChC,CAAC;IAED,iBAAiB;QACf,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3D,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,GAAG,EAAE,CAChD,IAAI,CAAC,mBAAmB,EAAE,CAC3B,CAAC;IACJ,CAAC;IAED,oBAAoB;QAClB,KAAK,CAAC,oBAAoB,EAAE,CAAC;QAC7B,IAAI,CAAC,gBAAgB,EAAE,UAAU,EAAE,CAAC;QACpC,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9D,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY;QACV,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAEpC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACzB,CAAC;IACH,CAAC;IAED,OAAO,CAAC,iBAAiC;QACvC,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;QACjC,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC;IACH,CAAC;IAED,8GAA8G;IACtG,4BAA4B;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CACjC,0BAA0B,CACU,CAAC;QACvC,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;QACpC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB;YAAE,OAAO;QACjE,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAC/B,IAAI,CAAC,gBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE;YACnC,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,QAAQ,CAAC;SAC5B,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM;YAAE,OAAO;QACvC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CACrD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAC5B,CAAC;QACF,IAAI,WAAW,KAAK,CAAC,CAAC,IAAI,WAAW,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;YAC3D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;YAC/B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAGD,IAAY,cAAc;QACxB,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,CAC7B,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CACvC,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,MAAM;YAAE,OAAO;QAE1B,MAAM,WAAW,GACf,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzD,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACnB,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBAChC,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,IAAI,CAAC,WAAW,IAAI,IAAI,KAAK,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;YACtC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,IAAiB;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC;QAChC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACvD,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IA4EO,cAAc;QACpB,IAAI,IAAI,CAAC,KAAK;YAAE,OAAO;QACvB,IAAI,CAAC,SAAS,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,aAAa,EAAE;YAC7B,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE;YACrC,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,KAAa;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,YAAY,CAAC,UAAU,CAAC;YAAE,OAAO;QAEnE,IAAI,CAAC,YAAY,CAAC,OAAO,CACvB,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAE,IAAY,CAAC,MAAM,GAAG,CAAC,KAAK,KAAK,CAAC,CAClD,CAAC;QACF,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,IAAI,GAAG,YAAY,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QACpD,MAAM,IAAI,GAAI,YAAoB,CAAC,IAAI,CAAC;QACxC,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,YAAY,EAAE;YAC5B,MAAM,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE;YAC1C,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;SACf,CAAC,CACH,CAAC;QAEF,IAAI,IAAI;YAAE,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC;QAEtC,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAEO,mBAAmB,CAAC,KAAmB;QAC7C,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAC9C,IAAI,KAAK,CAAC,UAAU;YAAE,KAAK,CAAC,cAAc,EAAE,CAAC;QAE7C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;QAE3C,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,sBAAsB,EAAE,MAAM,CAAC,CAAC;QAEvD,IAAI,CAAC,IAAI,EAAE;YACT,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE;gBACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC9C,IAAI,QAAgB,CAAC;gBAErB,IAAI,OAAO,EAAE,CAAC;oBACZ,QAAQ,GAAG,QAAQ,CAAC,KAAK,GAAG,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,QAAQ,GAAG,CAAC,CAAC;gBACf,CAAC;gBAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;gBAChF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YACjE,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,sBAAsB,CAAC,CAAC;YACpD,CAAC;YACD,YAAY,EAAE,KAAK;SACpB,CAAC,CAAC;IACL,CAAC;IAEO,sBAAsB,CAAC,KAAoB;QACjD,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO;QAE9C,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC;QAEjC,QAAQ,KAAK,CAAC,GAAG,EAAE,CAAC;YAClB,KAAK,WAAW;gBACd,QAAQ,IAAI,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,YAAY;gBACf,QAAQ,IAAI,IAAI,CAAC;gBACjB,MAAM;YACR,KAAK,MAAM;gBACT,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;gBAChC,MAAM;YACR,KAAK,KAAK;gBACR,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;gBAChC,MAAM;YACR;gBACE,OAAO;QACX,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QAChF,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,IAAY,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;QAEtD,OAAO,IAAI,CAAA;;;;;;wBAMS,IAAI,CAAC,YAAY;wBACjB,IAAI,CAAC,eAAe;wBACpB,IAAI,CAAC,eAAe;;mBAEzB,IAAI,CAAC,sBAAsB;qBACzB,IAAI,CAAC,mBAAmB;sBACvB,IAAI,CAAC,mBAAmB;;KAEzC,CAAC;IACJ,CAAC;IAED,IAAY,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAE5C,MAAM,gBAAgB,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAEvE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;YAC3C,MAAM,iBAAiB,GAAI,IAAY,CAAC,OAAO,CAAC;YAChD,MAAM,WAAW,GACf,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW;gBACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAExC,MAAM,OAAO,GAAG,IAAI,CAAA;;sBAEJ,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC;oBAC/B,IAAI,CAAC,WAAW,KAAK,KAAK;mBAC3B,GAAG,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC;;YAE5C,IAAI,CAAC,WAAW;;OAErB,CAAC;YACF,OAAO,iBAAiB,IAAI,WAAW;gBACrC,CAAC,CAAC,IAAI,CAAA;;wBAEU,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE;;0BAE5B,gBAAgB;;gBAE1B,OAAO;;WAEZ;gBACH,CAAC,CAAC,OAAO,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAKM,MAAM;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,OAAO,CAAC;QAC3C,MAAM,aAAa,GAAG,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC;QAC3D,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC;QAC1D,MAAM,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;QAEhE,MAAM,YAAY,GAAG,CAAC,IAAI,CAAC,SAAS;YAClC,CAAC,CAAC,UAAU,IAAI,CAAC,YAAY,KAAK;YAClC,CAAC,CAAC,EAAE,CAAC;QAEP,OAAO,IAAI,CAAA;+CACgC,YAAY;;YAE/C,CAAC,IAAI,CAAC,KAAK;YACX,CAAC,CAAC,IAAI,CAAC,SAAS;gBACd,CAAC,CAAC,IAAI,CAAA;;;gCAGY,eAAe;;;;;sBAKzB,IAAI,CAAC,aAAa;oBAClB,CAAC,CAAC,IAAI,CAAA;;;;;qCAKS,IAAI,CAAC,cAAc;;8CAEV,aAAa;;yBAElC;oBACH,CAAC,CAAC,OAAO;;wBAEP,IAAI,CAAC,iBAAiB;;;iBAG7B;gBACH,CAAC,CAAC,IAAI,CAAA;kBACF,IAAI,CAAC,aAAa;oBAClB,CAAC,CAAC,IAAI,CAAA;;;;+BAIO,IAAI,CAAC,cAAc;;wCAEV,YAAY;;mBAEjC;oBACD,CAAC,CAAC,OAAO;iBACV;YACL,CAAC,CAAC,IAAI;;;;kBAIA,QAAQ,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;;;kBAG/E,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE;;;;0BAI7B,GAAG,EAAE;YACjB,IAAI,CAAC,aAAa,EAAE,CAAC;YACrB,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC3B,IAAI,CAAC,4BAA4B,EAAE,CAAC;QACtC,CAAC;;;;QAIL,IAAI,CAAC,iBAAiB;KACzB,CAAC;IACJ,CAAC;CACF,CAAA;AA9b6C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAmB;AAED;IAA5D,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;gDAAe;AAE/B;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;sDAAqB;AAGrB;IAA1C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAsC;AAGpC;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;oDAAmB;AAGjB;IAA5C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;uDAAoB;AAGnB;IAA5C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;0DAAuB;AAErB;IAA7C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;wDAAsB;AAGvB;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;0DAAuB;AAEN;IAA3D,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;kDAA0C;AAEpF;IAAhB,KAAK,EAAE;sDAAkC;AAEnB;IAAtB,KAAK,CAAC,MAAM,CAAC;sDAAuC;AA5B1C,iBAAiB;IAD7B,aAAa,CAAC,qBAAqB,CAAC;GACxB,iBAAiB,CA+b7B;;AAED,eAAe,iBAAiB,CAAC","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult, nothing, PropertyValues } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { styles } from './nile-inline-sidebar.css';\nimport NileElement from '../internal/nile-element';\nimport { drag } from '../internal/drag';\nimport { clamp } from '../internal/math';\nimport NileInlineSidebarItem from '../nile-inline-sidebar-item/nile-inline-sidebar-item';\n\n/**\n * Nile inline sidebar component.\n *\n * @tag nile-inline-sidebar\n */\n@customElement('nile-inline-sidebar')\nexport class NileInlineSidebar extends NileElement {\n @property({ type: Boolean, reflect: true }) collapsed = false;\n\n @property({ type: Boolean, reflect: true, attribute: true }) fixed = false;\n\n @property({ type: Boolean, reflect: true }) showTooltip = false;\n\n /** The side on which the sidebar is placed. */\n @property({ type: String, reflect: true }) placement: 'left' | 'right' = 'left';\n\n /** Enables a draggable resize handle on the sidebar's trailing edge. */\n @property({ type: Boolean, reflect: true }) resizable = false;\n\n /** Current sidebar width in pixels when resizable is enabled. */\n @property({ type: Number, attribute: true }) sidebarWidth = 216;\n\n /** Minimum sidebar width in pixels. */\n @property({ type: Number, attribute: true }) minSidebarWidth = 120;\n\n @property({ type: Boolean, attribute: true }) showToggleBtn = true;\n\n /** Maximum sidebar width in pixels. */\n @property({ type: Number, attribute: true}) maxSidebarWidth = 400;\n\n @property({ type: String, reflect: true, attribute: true }) variant?: 'minimal' | 'rich' = 'minimal';\n\n @state() private activeIndex: number = -1;\n\n @query('slot') private defaultSlot!: HTMLSlotElement;\n\n private mutationObserver?: MutationObserver;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n private get sidebarItems(): HTMLElement[] {\n if (!this.defaultSlot) return [];\n const assigned = this.defaultSlot.assignedElements({ flatten: true });\n const items = assigned.flatMap(el =>\n el.tagName.toLowerCase() === 'nile-inline-sidebar-item'\n ? [el]\n : Array.from(el.querySelectorAll('nile-inline-sidebar-item'))\n );\n return items as HTMLElement[];\n }\n\n connectedCallback() {\n super.connectedCallback();\n this.addEventListener('nile-click', this.handleItemSelect);\n this.addEventListener('keydown', this.handleKeyDown);\n this.mutationObserver = new MutationObserver(() =>\n this.syncActiveFromItems()\n );\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.mutationObserver?.disconnect();\n this.removeEventListener('nile-click', this.handleItemSelect);\n this.removeEventListener('keydown', this.handleKeyDown);\n }\n\n firstUpdated() {\n this.observeSidebarItems();\n this.syncActiveFromItems();\n this.syncChildSidebarItemVariants();\n\n if (this.fixed) {\n this.collapsed = false;\n }\n }\n\n updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('variant')) {\n this.syncChildSidebarItemVariants();\n }\n }\n\n /** Pushes sidebar `variant` onto each item (rich vs minimal) so layout stays in sync with slotted content. */\n private syncChildSidebarItemVariants() {\n const items = this.querySelectorAll(\n 'nile-inline-sidebar-item',\n ) as NodeListOf<NileInlineSidebarItem>;\n const v = this.variant ?? 'minimal';\n items.forEach(item => {\n item.variant = v;\n });\n }\n\n private observeSidebarItems() {\n if (!this.sidebarItems?.length || !this.mutationObserver) return;\n this.sidebarItems.forEach(item =>\n this.mutationObserver!.observe(item, {\n attributes: true,\n attributeFilter: ['active'],\n })\n );\n }\n\n private syncActiveFromItems() {\n if (!this.sidebarItems?.length) return;\n const activeIndex = this.sidebarItems.findIndex(item =>\n item.hasAttribute('active')\n );\n if (activeIndex !== -1 && activeIndex !== this.activeIndex) {\n this.activeIndex = activeIndex;\n this.requestUpdate();\n }\n this.updateTabIndices();\n }\n\n \n private get focusableItems(): HTMLElement[] {\n return this.sidebarItems.filter(\n item => !item.hasAttribute('disabled')\n );\n }\n\n private updateTabIndices() {\n const items = this.sidebarItems;\n if (!items.length) return;\n\n const focusTarget =\n this.activeIndex >= 0 ? items[this.activeIndex] : null;\n\n items.forEach(item => {\n if (item.hasAttribute('disabled')) {\n item.setAttribute('tabindex', '-1');\n } else if (item === focusTarget) {\n item.setAttribute('tabindex', '0');\n } else if (!focusTarget && item === this.focusableItems[0]) {\n item.setAttribute('tabindex', '0');\n } else {\n item.setAttribute('tabindex', '-1');\n }\n });\n }\n\n private focusItem(item: HTMLElement) {\n const items = this.sidebarItems;\n items.forEach(el => el.setAttribute('tabindex', '-1'));\n item.setAttribute('tabindex', '0');\n item.focus();\n }\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (this.collapsed) return;\n\n const focusable = this.focusableItems;\n if (!focusable.length) return;\n\n const currentFocus = this.sidebarItems.find(\n item =>\n item === document.activeElement ||\n item === this.shadowRoot?.activeElement ||\n item.matches(':focus-within')\n );\n\n const currentIndex = currentFocus\n ? focusable.indexOf(currentFocus)\n : -1;\n\n let nextIndex: number | null = null;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex < focusable.length - 1 ? currentIndex + 1 : 0;\n break;\n\n case 'ArrowUp':\n nextIndex =\n currentIndex > 0 ? currentIndex - 1 : focusable.length - 1;\n break;\n\n case 'Home':\n nextIndex = 0;\n break;\n\n case 'End':\n nextIndex = focusable.length - 1;\n break;\n\n case 'Enter':\n case ' ':\n return;\n\n default:\n return;\n }\n\n event.preventDefault();\n\n if (nextIndex !== null && focusable[nextIndex]) {\n this.focusItem(focusable[nextIndex]);\n }\n };\n\n private handleItemSelect = (event: CustomEvent) => {\n const selectedItem = event.detail.item as HTMLElement;\n const index = this.sidebarItems.indexOf(selectedItem);\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n this.updateTabIndices();\n\n this.dispatchEvent(\n new CustomEvent('nile-change', {\n detail: { selectedItem, index },\n bubbles: true,\n composed: true,\n })\n );\n\n this.requestUpdate();\n };\n\n private toggleCollapse() {\n if (this.fixed) return;\n this.collapsed = !this.collapsed;\n\n this.dispatchEvent(\n new CustomEvent('nile-toggle', {\n detail: { collapsed: this.collapsed },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private handleMenuItemClick(index: number) {\n const selectedItem = this.sidebarItems[index];\n if (!selectedItem || selectedItem.hasAttribute('disabled')) return;\n\n this.sidebarItems.forEach(\n (item, i) => ((item as any).active = i === index)\n );\n this.activeIndex = index;\n const text = selectedItem.textContent?.trim() || '';\n const href = (selectedItem as any).href;\n this.dispatchEvent(\n new CustomEvent('nile-click', {\n detail: { item: selectedItem, href, text },\n bubbles: true,\n composed: true,\n })\n );\n\n if (href) window.location.href = href;\n\n this.requestUpdate();\n }\n\n private handleSeparatorDrag(event: PointerEvent) {\n if (!this.resizable || this.collapsed) return;\n if (event.cancelable) event.preventDefault();\n\n const isRight = this.placement === 'right';\n\n this.style.setProperty('--sidebar-transition', 'none');\n\n drag(this, {\n onMove: (x: number) => {\n const hostRect = this.getBoundingClientRect();\n let newWidth: number;\n\n if (isRight) {\n newWidth = hostRect.width - x;\n } else {\n newWidth = x;\n }\n\n this.sidebarWidth = clamp(newWidth, this.minSidebarWidth, this.maxSidebarWidth);\n this.emit('nile-sidebar-resize', { width: this.sidebarWidth });\n },\n onStop: () => {\n this.style.removeProperty('--sidebar-transition');\n },\n initialEvent: event,\n });\n }\n\n private handleSeparatorKeyDown(event: KeyboardEvent) {\n if (!this.resizable || this.collapsed) return;\n\n const step = event.shiftKey ? 10 : 1;\n let newWidth = this.sidebarWidth;\n\n switch (event.key) {\n case 'ArrowLeft':\n newWidth -= step;\n break;\n case 'ArrowRight':\n newWidth += step;\n break;\n case 'Home':\n newWidth = this.minSidebarWidth;\n break;\n case 'End':\n newWidth = this.maxSidebarWidth;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n this.sidebarWidth = clamp(newWidth, this.minSidebarWidth, this.maxSidebarWidth);\n this.emit('nile-sidebar-resize', { width: this.sidebarWidth });\n }\n\n private get separatorTemplate() {\n if (!this.resizable || this.collapsed) return nothing;\n\n return html`\n <div\n class=\"separator\"\n part=\"separator\"\n tabindex=\"0\"\n role=\"separator\"\n aria-valuenow=${this.sidebarWidth}\n aria-valuemin=${this.minSidebarWidth}\n aria-valuemax=${this.maxSidebarWidth}\n aria-label=\"Resize sidebar\"\n @keydown=${this.handleSeparatorKeyDown}\n @mousedown=${this.handleSeparatorDrag}\n @touchstart=${this.handleSeparatorDrag}\n ></div>\n `;\n }\n\n private get menuItemsTemplate() {\n if (!this.sidebarItems?.length) return null;\n\n const tooltipPlacement = this.placement === 'right' ? 'left' : 'right';\n\n return this.sidebarItems.map((item, index) => {\n const shouldShowTooltip = (item as any).tooltip;\n const isTruncated =\n item.scrollWidth > item.clientWidth ||\n item.scrollHeight > item.clientHeight;\n \n const content = html`\n <nile-side-bar-action-menu-item\n ?disabled=${item.hasAttribute('disabled')}\n ?active=${this.activeIndex === index}\n @click=${() => this.handleMenuItemClick(index)}\n >\n ${item.textContent}\n </nile-side-bar-action-menu-item>\n `;\n return shouldShowTooltip || isTruncated\n ? html`\n <nile-tooltip\n content=${item.textContent?.trim() || ''}\n hoist\n placement=${tooltipPlacement}\n >\n ${content}\n </nile-tooltip>\n `\n : content;\n });\n }\n \n \n \n\n public render(): TemplateResult {\n const isRight = this.placement === 'right';\n const collapsedIcon = isRight ? 'menu_open' : 'menu_close';\n const expandedIcon = isRight ? 'menu_close' : 'menu_open';\n const actionPlacement = isRight ? 'bottom-end' : 'bottom-start';\n\n const sidebarStyle = !this.collapsed\n ? `width: ${this.sidebarWidth}px;`\n : '';\n\n return html`\n <div class=\"sidebar\" part=\"base\" style=${sidebarStyle}>\n <div class=\"sidebar-header\" part=\"header\">\n ${!this.fixed\n ? this.collapsed\n ? html`\n <nile-side-bar-action\n class=\"toggle-action\"\n placement=${actionPlacement}\n hoist\n open\n triggerDropdown=\"hover\"\n >\n ${this.showToggleBtn\n ? html`\n <nile-button\n slot=\"trigger\"\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${collapsedIcon}></nile-icon>\n </nile-button>\n `\n : nothing}\n <nile-side-bar-action-menu>\n ${this.menuItemsTemplate}\n </nile-side-bar-action-menu>\n </nile-side-bar-action>\n `\n : html`\n ${this.showToggleBtn\n ? html` \n <nile-button\n class=\"toggle-btn\"\n variant=\"tertiary\"\n @click=${this.toggleCollapse}\n >\n <nile-icon name=${expandedIcon}></nile-icon>\n </nile-button>\n `\n : nothing}\n `\n : null}\n </div>\n\n <nav\n class=${classMap({ 'sidebar-nav': true, 'sidebar-nav--rich': this.variant === 'rich' })}\n role=\"navigation\"\n aria-label=\"Sidebar\"\n style=${this.collapsed ? 'display:none;' : ''}\n part=\"nav-items\"\n >\n <slot\n @slotchange=${() => {\n this.requestUpdate();\n this.observeSidebarItems();\n this.syncActiveFromItems();\n this.syncChildSidebarItemVariants();\n }}\n ></slot>\n </nav>\n </div>\n ${this.separatorTemplate}\n `;\n }\n}\n\nexport default NileInlineSidebar;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-inline-sidebar': NileInlineSidebar;\n }\n}\n"]}
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
+
/** Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback. */
|
|
7
8
|
export declare const styles: import("lit").CSSResult;
|
|
8
9
|
declare const _default: import("lit").CSSResult[];
|
|
9
10
|
export default _default;
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
7
|
import { css } from 'lit';
|
|
8
|
+
/** Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback. */
|
|
8
9
|
export const styles = css `
|
|
9
10
|
:host {
|
|
10
11
|
display: block;
|
|
@@ -13,10 +14,9 @@ export const styles = css `
|
|
|
13
14
|
.group {
|
|
14
15
|
display: flex;
|
|
15
16
|
flex-direction: column;
|
|
16
|
-
gap: var(--nile-spacing-xs);
|
|
17
|
+
gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
|
|
17
18
|
}
|
|
18
19
|
|
|
19
|
-
|
|
20
20
|
:host([divider="false"]) .group {
|
|
21
21
|
border-bottom: none;
|
|
22
22
|
margin-bottom: 0;
|
|
@@ -24,18 +24,18 @@ export const styles = css `
|
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
.group-label {
|
|
27
|
-
font-size: var(--nile-type-scale-3);
|
|
28
|
-
font-weight: var(--nile-font-weight-semibold);
|
|
27
|
+
font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
|
|
28
|
+
font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));
|
|
29
29
|
text-transform: uppercase;
|
|
30
|
-
color:
|
|
31
|
-
margin: var(--nile-spacing-xs) 0 var(--nile-spacing-xs) var(--nile-spacing-md);
|
|
30
|
+
color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));
|
|
31
|
+
margin: var(--nile-spacing-xs, var(--ng-spacing-xs)) 0 var(--nile-spacing-xs, var(--ng-spacing-xs)) var(--nile-spacing-md, var(--ng-spacing-md));
|
|
32
32
|
letter-spacing: 0.05em;
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
.group-items {
|
|
36
36
|
display: flex;
|
|
37
37
|
flex-direction: column;
|
|
38
|
-
gap: var(--nile-spacing-xs);
|
|
38
|
+
gap: var(--nile-spacing-xs, var(--ng-spacing-xs));
|
|
39
39
|
}
|
|
40
40
|
`;
|
|
41
41
|
export default [styles];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-inline-sidebar-group.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"nile-inline-sidebar-group.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-group/nile-inline-sidebar-group.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,mEAAmE;AACnE,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\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/** Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback. */\nexport const styles = css`\n:host {\n display: block;\n}\n\n.group {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n}\n\n:host([divider=\"false\"]) .group {\n border-bottom: none;\n margin-bottom: 0;\n padding-bottom: 0;\n}\n\n.group-label {\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n font-weight: var(--nile-font-weight-semibold, var(--ng-font-weight-semibold));\n text-transform: uppercase;\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));\n margin: var(--nile-spacing-xs, var(--ng-spacing-xs)) 0 var(--nile-spacing-xs, var(--ng-spacing-xs)) var(--nile-spacing-md, var(--ng-spacing-md));\n letter-spacing: 0.05em;\n}\n\n.group-items {\n display: flex;\n flex-direction: column;\n gap: var(--nile-spacing-xs, var(--ng-spacing-xs));\n}\n`;\n\nexport default [styles];\n"]}
|
|
@@ -6,42 +6,43 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { css } from 'lit';
|
|
8
8
|
/**
|
|
9
|
-
* InlinesidebarItem CSS
|
|
9
|
+
* InlinesidebarItem CSS — Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback.
|
|
10
10
|
*/
|
|
11
11
|
export const styles = css `
|
|
12
12
|
:host {
|
|
13
13
|
display: block;
|
|
14
|
-
font-family: var(--nile-font-family-sans-serif);
|
|
15
|
-
font-size: var(--nile-type-scale-3);
|
|
16
|
-
color: var(--nile-colors-dark-900);
|
|
14
|
+
font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
|
|
15
|
+
font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
|
|
16
|
+
color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));
|
|
17
17
|
cursor: pointer;
|
|
18
18
|
user-select: none;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
.item {
|
|
22
|
-
padding: var(--nile-spacing-lg) var(--nile-spacing-md);
|
|
23
|
-
border-radius: var(--nile-radius-sm);
|
|
22
|
+
padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-md, var(--ng-spacing-md));
|
|
23
|
+
border-radius: var(--nile-radius-sm, var(--ng-radius-xs));
|
|
24
24
|
transition: background 0.2s, color 0.2s;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
|
|
28
27
|
:host(:not([disabled])) .item:hover {
|
|
29
|
-
background: var(--nile-colors-neutral-400);
|
|
28
|
+
background: var(--nile-colors-neutral-400, var(--ng-colors-bg-tertiary));
|
|
30
29
|
}
|
|
31
30
|
|
|
32
|
-
|
|
33
31
|
:host([active]) .item {
|
|
34
|
-
background: var(--nile-colors-primary-100);
|
|
35
|
-
font-weight:
|
|
32
|
+
background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));
|
|
33
|
+
font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));
|
|
34
|
+
color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));
|
|
35
|
+
}
|
|
36
|
+
:host([active]) .item--rich {
|
|
37
|
+
border-right: 2px solid var(--nile-colors-primary-600, var(--ng-colors-border-brand));
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
:host([active]) .item:hover {
|
|
39
|
-
background: var(--nile-colors-primary-100);
|
|
41
|
+
background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));
|
|
40
42
|
}
|
|
41
43
|
|
|
42
|
-
|
|
43
44
|
:host([disabled]) {
|
|
44
|
-
color:
|
|
45
|
+
color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));
|
|
45
46
|
cursor: not-allowed;
|
|
46
47
|
}
|
|
47
48
|
|
|
@@ -63,8 +64,5 @@ a {
|
|
|
63
64
|
color: inherit;
|
|
64
65
|
text-decoration: none;
|
|
65
66
|
}
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
67
|
`;
|
|
70
68
|
//# sourceMappingURL=nile-inline-sidebar-item.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-inline-sidebar-item.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"nile-inline-sidebar-item.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwDxB,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2025\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 * InlinesidebarItem CSS — Enterprise (`--nile-*`) primary, NxtGen (`--ng-*`) fallback.\n */\nexport const styles = css`\n:host {\n display: block;\n font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n color: var(--nile-colors-dark-900, var(--ng-colors-text-primary-900));\n cursor: pointer;\n user-select: none;\n}\n\n.item {\n padding: var(--nile-spacing-lg, var(--ng-spacing-lg)) var(--nile-spacing-md, var(--ng-spacing-md));\n border-radius: var(--nile-radius-sm, var(--ng-radius-xs));\n transition: background 0.2s, color 0.2s;\n}\n\n:host(:not([disabled])) .item:hover {\n background: var(--nile-colors-neutral-400, var(--ng-colors-bg-tertiary));\n}\n\n:host([active]) .item {\n background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));\n font-weight: var(--nile-font-weight-medium, var(--ng-font-weight-medium));\n color: var(--nile-colors-primary-700, var(--ng-colors-text-brand-secondary-700));\n}\n:host([active]) .item--rich {\n border-right: 2px solid var(--nile-colors-primary-600, var(--ng-colors-border-brand));\n}\n\n:host([active]) .item:hover {\n background: var(--nile-colors-primary-100, var(--ng-colors-bg-brand-secondary));\n}\n\n:host([disabled]) {\n color: var(--nile-colors-neutral-500, var(--ng-colors-text-disabled));\n cursor: not-allowed;\n}\n\n:host([disabled]) .item {\n pointer-events: none;\n}\na {\n color: inherit;\n text-decoration: none;\n display: block;\n width: 100%;\n height: 100%;\n }\n\n a:visited,\n a:hover,\n a:active,\n a:focus {\n color: inherit;\n text-decoration: none;\n }\n`;\n"]}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
5
|
* LICENSE file in the root directory of this source tree.
|
|
6
6
|
*/
|
|
7
|
-
import { CSSResultArray, TemplateResult } from 'lit';
|
|
7
|
+
import { CSSResultArray, TemplateResult, PropertyValues } from 'lit';
|
|
8
8
|
import NileElement from '../internal/nile-element';
|
|
9
9
|
/**
|
|
10
10
|
* Nile inline sidebar item.
|
|
@@ -25,7 +25,13 @@ export declare class NileInlineSidebarItem extends NileElement {
|
|
|
25
25
|
disabled: boolean;
|
|
26
26
|
href?: string;
|
|
27
27
|
tooltip: boolean;
|
|
28
|
+
variant?: 'minimal' | 'rich';
|
|
29
|
+
/** Links this item to a `nile-inline-sidebar-panel` by matching its `name` property. */
|
|
30
|
+
panel?: string;
|
|
28
31
|
static get styles(): CSSResultArray;
|
|
32
|
+
firstUpdated(changedProperties: PropertyValues): void;
|
|
33
|
+
updated(changedProperties: PropertyValues): void;
|
|
34
|
+
private syncBodyAndHeaderStates;
|
|
29
35
|
connectedCallback(): void;
|
|
30
36
|
disconnectedCallback(): void;
|
|
31
37
|
private _handleHostKeyDown;
|
|
@@ -9,6 +9,7 @@ import { html } from 'lit';
|
|
|
9
9
|
import { customElement, property } from 'lit/decorators.js';
|
|
10
10
|
import { styles } from './nile-inline-sidebar-item.css';
|
|
11
11
|
import NileElement from '../internal/nile-element';
|
|
12
|
+
import { classMap } from 'lit/directives/class-map.js';
|
|
12
13
|
/**
|
|
13
14
|
* Nile inline sidebar item.
|
|
14
15
|
*
|
|
@@ -29,6 +30,7 @@ let NileInlineSidebarItem = class NileInlineSidebarItem extends NileElement {
|
|
|
29
30
|
this.active = false;
|
|
30
31
|
this.disabled = false;
|
|
31
32
|
this.tooltip = false;
|
|
33
|
+
this.variant = 'minimal';
|
|
32
34
|
this._handleHostKeyDown = (e) => {
|
|
33
35
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
34
36
|
e.preventDefault();
|
|
@@ -39,6 +41,35 @@ let NileInlineSidebarItem = class NileInlineSidebarItem extends NileElement {
|
|
|
39
41
|
static get styles() {
|
|
40
42
|
return [styles];
|
|
41
43
|
}
|
|
44
|
+
firstUpdated(changedProperties) {
|
|
45
|
+
super.firstUpdated(changedProperties);
|
|
46
|
+
this.syncBodyAndHeaderStates();
|
|
47
|
+
}
|
|
48
|
+
updated(changedProperties) {
|
|
49
|
+
super.updated(changedProperties);
|
|
50
|
+
if (changedProperties.has('disabled') || changedProperties.has('active')) {
|
|
51
|
+
this.syncBodyAndHeaderStates();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
syncBodyAndHeaderStates() {
|
|
55
|
+
const elements = [
|
|
56
|
+
this.querySelector('[slot="body"]'),
|
|
57
|
+
this.querySelector('[slot="header"]')
|
|
58
|
+
];
|
|
59
|
+
const props = {
|
|
60
|
+
disabled: this.disabled,
|
|
61
|
+
active: this.active
|
|
62
|
+
};
|
|
63
|
+
elements.forEach(el => {
|
|
64
|
+
if (!el)
|
|
65
|
+
return;
|
|
66
|
+
Object.entries(props).forEach(([key, value]) => {
|
|
67
|
+
if (key in el) {
|
|
68
|
+
el[key] = value;
|
|
69
|
+
}
|
|
70
|
+
});
|
|
71
|
+
});
|
|
72
|
+
}
|
|
42
73
|
connectedCallback() {
|
|
43
74
|
super.connectedCallback();
|
|
44
75
|
if (!this.hasAttribute('tabindex')) {
|
|
@@ -80,14 +111,36 @@ let NileInlineSidebarItem = class NileInlineSidebarItem extends NileElement {
|
|
|
80
111
|
render() {
|
|
81
112
|
return html `
|
|
82
113
|
<div
|
|
83
|
-
class
|
|
114
|
+
class=${classMap({ 'item': true, 'item--rich': this.variant === 'rich' })}
|
|
84
115
|
@click=${this.handleClick}
|
|
85
116
|
role="menuitem"
|
|
117
|
+
style=${this.variant === 'rich' ? 'border-radius: 0px;' : ''}
|
|
86
118
|
aria-disabled=${this.disabled}
|
|
87
119
|
>
|
|
88
|
-
${this.
|
|
89
|
-
?
|
|
90
|
-
|
|
120
|
+
${this.variant === 'minimal'
|
|
121
|
+
? this.href
|
|
122
|
+
? html `<a href=${this.href} @click=${(e) => e.preventDefault()}><slot></slot></a>`
|
|
123
|
+
: html `<slot></slot>`
|
|
124
|
+
: this.href
|
|
125
|
+
? html `<a
|
|
126
|
+
href=${this.href}
|
|
127
|
+
@click=${(e) => e.preventDefault()}
|
|
128
|
+
>
|
|
129
|
+
<div class="header-content" part="header-content">
|
|
130
|
+
<slot name="header"></slot>
|
|
131
|
+
</div>
|
|
132
|
+
<div class="body-content" part="body-content">
|
|
133
|
+
<slot name="body"></slot>
|
|
134
|
+
</div>
|
|
135
|
+
</a>`
|
|
136
|
+
: html `
|
|
137
|
+
<div class="header-content" part="header-content">
|
|
138
|
+
<slot name="header"></slot>
|
|
139
|
+
</div>
|
|
140
|
+
<div class="body-content" part="body-content">
|
|
141
|
+
<slot name="body"></slot>
|
|
142
|
+
</div>
|
|
143
|
+
`}
|
|
91
144
|
</div>
|
|
92
145
|
`;
|
|
93
146
|
}
|
|
@@ -104,6 +157,12 @@ __decorate([
|
|
|
104
157
|
__decorate([
|
|
105
158
|
property({ type: Boolean, reflect: true })
|
|
106
159
|
], NileInlineSidebarItem.prototype, "tooltip", void 0);
|
|
160
|
+
__decorate([
|
|
161
|
+
property({ type: String, reflect: true, attribute: true })
|
|
162
|
+
], NileInlineSidebarItem.prototype, "variant", void 0);
|
|
163
|
+
__decorate([
|
|
164
|
+
property({ type: String, reflect: true })
|
|
165
|
+
], NileInlineSidebarItem.prototype, "panel", void 0);
|
|
107
166
|
NileInlineSidebarItem = __decorate([
|
|
108
167
|
customElement('nile-inline-sidebar-item')
|
|
109
168
|
], NileInlineSidebarItem);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nile-inline-sidebar-item.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;;AAEH,OAAO,EAAE,IAAI,
|
|
1
|
+
{"version":3,"file":"nile-inline-sidebar-item.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item/nile-inline-sidebar-item.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2025\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, CSSResultArray, TemplateResult, PropertyValues } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { styles } from './nile-inline-sidebar-item.css';\nimport NileElement from '../internal/nile-element';\nimport { classMap } from 'lit/directives/class-map.js';\n\n/**\n * Nile inline sidebar item.\n *\n * @tag nile-inlinesidebar-item\n *\n * @attr active - Marks the item as active (selected).\n * @attr disabled - Marks the item as disabled (non-interactive).\n * @attr href - Optional URL to navigate to when the item is clicked.\n *\n * @slot - Default slot for the item text or content.\n *\n * @fires nile-select - Emitted when the item is clicked (not disabled).\n * detail: { item: this, href?: string }\n */\n@customElement('nile-inline-sidebar-item')\nexport class NileInlineSidebarItem extends NileElement {\n @property({ type: Boolean, reflect: true }) active = false;\n @property({ type: Boolean, reflect: true }) disabled = false;\n @property({ type: String }) href?: string;\n @property({ type: Boolean, reflect: true }) tooltip = false;\n @property({ type: String, reflect: true, attribute: true }) variant?: 'minimal' | 'rich' = 'minimal';\n\n /** Links this item to a `nile-inline-sidebar-panel` by matching its `name` property. */\n @property({ type: String, reflect: true }) panel?: string;\n\n public static get styles(): CSSResultArray {\n return [styles];\n }\n\n\n firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n this.syncBodyAndHeaderStates();\n }\n\n updated(changedProperties: PropertyValues) {\n super.updated(changedProperties);\n if (changedProperties.has('disabled') || changedProperties.has('active')) {\n this.syncBodyAndHeaderStates();\n }\n }\n\n private syncBodyAndHeaderStates() {\n const elements = [\n this.querySelector('[slot=\"body\"]'),\n this.querySelector('[slot=\"header\"]')\n ] as (HTMLElement | null)[];\n\n const props = {\n disabled: this.disabled,\n active: this.active\n };\n\n elements.forEach(el => {\n if (!el) return;\n\n Object.entries(props).forEach(([key, value]) => {\n if (key in el) {\n (el as any)[key] = value;\n }\n });\n });\n }\n\n connectedCallback() {\n super.connectedCallback();\n if (!this.hasAttribute('tabindex')) {\n this.setAttribute('tabindex', this.disabled ? '-1' : '0');\n }\n if (!this.hasAttribute('role')) {\n this.setAttribute('role', 'menuitem');\n }\n this.addEventListener('keydown', this._handleHostKeyDown);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n this.removeEventListener('keydown', this._handleHostKeyDown);\n }\n\n private _handleHostKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault();\n this._select(e);\n }\n };\n\n private _select(e: Event) {\n if (this.disabled) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n const parent = this.closest('nile-inline-sidebar');\n if (parent) {\n const allItems = parent.querySelectorAll('nile-inline-sidebar-item');\n allItems.forEach((item) => (item as NileInlineSidebarItem).active = item === this);\n }\n\n const text = this.textContent?.trim() || '';\n\n this.dispatchEvent(\n new CustomEvent('nile-click', {\n detail: { item: this, href: this.href, text },\n bubbles: true,\n composed: true,\n }),\n );\n\n if (this.href) {\n window.location.href = this.href;\n }\n }\n\n private handleClick(e: Event) {\n this._select(e);\n }\n\n public render(): TemplateResult {\n return html`\n <div\n class=${classMap({ 'item': true, 'item--rich': this.variant === 'rich' })}\n @click=${this.handleClick}\n role=\"menuitem\"\n style=${this.variant === 'rich' ? 'border-radius: 0px;' : ''}\n aria-disabled=${this.disabled}\n >\n ${this.variant === 'minimal'\n ? this.href\n ? html`<a href=${this.href} @click=${(e: Event) => e.preventDefault()}><slot></slot></a>`\n : html`<slot></slot>`\n : this.href\n ? html`<a\n href=${this.href}\n @click=${(e: Event) => e.preventDefault()}\n >\n <div class=\"header-content\" part=\"header-content\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"body-content\" part=\"body-content\">\n <slot name=\"body\"></slot>\n </div>\n </a>`\n : html`\n <div class=\"header-content\" part=\"header-content\">\n <slot name=\"header\"></slot>\n </div>\n <div class=\"body-content\" part=\"body-content\">\n <slot name=\"body\"></slot>\n </div>\n `}\n </div>\n `;\n }\n\n\n \n}\n\nexport default NileInlineSidebarItem;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-inline-sidebar-item': NileInlineSidebarItem;\n }\n}\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item-body/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["export { NileInlineSidebarItemBody } from './nile-inline-sidebar-item-body';"]}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
export declare const styles: import("lit").CSSResult;
|
|
8
|
+
declare const _default: import("lit").CSSResult[];
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2026
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { css } from 'lit';
|
|
8
|
+
export const styles = css `
|
|
9
|
+
:host {
|
|
10
|
+
display: block;
|
|
11
|
+
min-width: 0;
|
|
12
|
+
font-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));
|
|
13
|
+
}
|
|
14
|
+
.item-body {
|
|
15
|
+
display: flex;
|
|
16
|
+
align-items: flex-start;
|
|
17
|
+
min-width: 0;
|
|
18
|
+
padding-top: var(--nile-spacing-xxsmall, var(--ng-spacing-xxs));
|
|
19
|
+
}
|
|
20
|
+
.body-content {
|
|
21
|
+
box-sizing: border-box;
|
|
22
|
+
min-width: 0;
|
|
23
|
+
flex: 1 1 0%;
|
|
24
|
+
max-width: 100%;
|
|
25
|
+
color: var(--nile-colors-dark-500, var(--ng-componentcolors-alpha-black-50));
|
|
26
|
+
font-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));
|
|
27
|
+
font-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));
|
|
28
|
+
line-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-xs));
|
|
29
|
+
}
|
|
30
|
+
.body-content nile-lite-tooltip {
|
|
31
|
+
display: block;
|
|
32
|
+
min-width: 0;
|
|
33
|
+
max-width: 100%;
|
|
34
|
+
}
|
|
35
|
+
.body-text {
|
|
36
|
+
display: -webkit-box;
|
|
37
|
+
-webkit-box-orient: vertical;
|
|
38
|
+
overflow: hidden;
|
|
39
|
+
text-overflow: ellipsis;
|
|
40
|
+
word-break: break-word;
|
|
41
|
+
overflow-wrap: anywhere;
|
|
42
|
+
-webkit-line-clamp: var(--line-clamp);
|
|
43
|
+
line-clamp: var(--line-clamp);
|
|
44
|
+
}
|
|
45
|
+
/* Slotted block/paragraph nodes need the same clamp (slot composition) */
|
|
46
|
+
.body-text ::slotted(*) {
|
|
47
|
+
display: -webkit-box;
|
|
48
|
+
-webkit-box-orient: vertical;
|
|
49
|
+
overflow: hidden;
|
|
50
|
+
text-overflow: ellipsis;
|
|
51
|
+
word-break: break-word;
|
|
52
|
+
overflow-wrap: anywhere;
|
|
53
|
+
-webkit-line-clamp: var(--line-clamp);
|
|
54
|
+
line-clamp: var(--line-clamp);
|
|
55
|
+
margin-block: 0;
|
|
56
|
+
}
|
|
57
|
+
:host([disabled]) .body-content {
|
|
58
|
+
color: var(--nile-colors-neutral-300, var(--ng-colors-text-disabled));
|
|
59
|
+
}
|
|
60
|
+
`;
|
|
61
|
+
export default [styles];
|
|
62
|
+
//# sourceMappingURL=nile-inline-sidebar-item-body.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nile-inline-sidebar-item-body.css.js","sourceRoot":"","sources":["../../../src/nile-inline-sidebar-item-body/nile-inline-sidebar-item-body.css.ts"],"names":[],"mappings":"AAAA;;;;;EAKE;AAEF,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoDxB,CAAC;AAEF,eAAe,CAAC,MAAM,CAAC,CAAC","sourcesContent":["/**\n* Copyright Aquera Inc 2026\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\nexport const styles = css`\n\t:host {\n\t\tdisplay: block;\n\t\tmin-width: 0;\n\t\tfont-family: var(--nile-font-family-sans-serif, var(--ng-font-family-body));\n\t}\n\t.item-body {\n\t\tdisplay: flex;\n\t\talign-items: flex-start;\n\t\tmin-width: 0;\n\t\tpadding-top: var(--nile-spacing-xxsmall, var(--ng-spacing-xxs));\n\t}\n\t.body-content {\n\t\tbox-sizing: border-box;\n\t\tmin-width: 0;\n\t\tflex: 1 1 0%;\n\t\tmax-width: 100%;\n\t\tcolor: var(--nile-colors-dark-500, var(--ng-componentcolors-alpha-black-50));\n\t\tfont-size: var(--nile-type-scale-3, var(--ng-font-size-text-sm));\n\t\tfont-weight: var(--nile-font-weight-regular, var(--ng-font-weight-regular));\n\t\tline-height: var(--nile-line-height-xsmall, var(--ng-line-height-text-xs));\n\t}\n\t.body-content nile-lite-tooltip {\n\t\tdisplay: block;\n\t\tmin-width: 0;\n\t\tmax-width: 100%;\n\t}\n\t.body-text {\n\t\tdisplay: -webkit-box;\n\t\t-webkit-box-orient: vertical;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tword-break: break-word;\n\t\toverflow-wrap: anywhere;\n\t\t-webkit-line-clamp: var(--line-clamp);\n\t\tline-clamp: var(--line-clamp);\n\t}\n\t/* Slotted block/paragraph nodes need the same clamp (slot composition) */\n\t.body-text ::slotted(*) {\n\t\tdisplay: -webkit-box;\n\t\t-webkit-box-orient: vertical;\n\t\toverflow: hidden;\n\t\ttext-overflow: ellipsis;\n\t\tword-break: break-word;\n\t\toverflow-wrap: anywhere;\n\t\t-webkit-line-clamp: var(--line-clamp);\n\t\tline-clamp: var(--line-clamp);\n\t\tmargin-block: 0;\n\t}\n\t:host([disabled]) .body-content {\n\t\tcolor: var(--nile-colors-neutral-300, var(--ng-colors-text-disabled));\n\t}\n`;\n\nexport default [styles];\n"]}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright Aquera Inc 2025
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the BSD-3-Clause license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
import { CSSResultArray, TemplateResult } from 'lit';
|
|
8
|
+
import NileElement from '../internal/nile-element';
|
|
9
|
+
/**
|
|
10
|
+
* Nile inline-sidebar-item-body component.
|
|
11
|
+
*
|
|
12
|
+
* @tag nile-inline-sidebar-item-body
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
15
|
+
export declare class NileInlineSidebarItemBody extends NileElement {
|
|
16
|
+
/** Maximum number of visible lines before text is truncated with an ellipsis. */
|
|
17
|
+
lines: number;
|
|
18
|
+
content: string;
|
|
19
|
+
showTooltip: boolean;
|
|
20
|
+
private isTruncated;
|
|
21
|
+
private bodyContentEl;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
active: boolean;
|
|
24
|
+
private resizeObserver?;
|
|
25
|
+
/**
|
|
26
|
+
* The styles for nile-inline-sidebar-item-body
|
|
27
|
+
* @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`
|
|
28
|
+
*/
|
|
29
|
+
static get styles(): CSSResultArray;
|
|
30
|
+
firstUpdated(): void;
|
|
31
|
+
disconnectedCallback(): void;
|
|
32
|
+
private checkTruncation;
|
|
33
|
+
private get contentTemplate();
|
|
34
|
+
/**
|
|
35
|
+
* Render method
|
|
36
|
+
* @slot This is a slot test
|
|
37
|
+
*/
|
|
38
|
+
render(): TemplateResult;
|
|
39
|
+
}
|
|
40
|
+
export default NileInlineSidebarItemBody;
|
|
41
|
+
declare global {
|
|
42
|
+
interface HTMLElementTagNameMap {
|
|
43
|
+
'nile-inline-sidebar-item-body': NileInlineSidebarItemBody;
|
|
44
|
+
}
|
|
45
|
+
}
|