@kyndryl-design-system/shidoka-applications 2.52.2 → 2.52.3
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/components/ai/sourcesFeedback/aiSourcesFeedback.d.ts +2 -2
- package/components/ai/sourcesFeedback/aiSourcesFeedback.d.ts.map +1 -1
- package/components/ai/sourcesFeedback/aiSourcesFeedback.js +0 -1
- package/components/ai/sourcesFeedback/aiSourcesFeedback.js.map +1 -1
- package/components/global/footer/footer.d.ts +1 -1
- package/components/global/footer/footer.js.map +1 -1
- package/components/global/header/header.d.ts +2 -2
- package/components/global/header/header.js.map +1 -1
- package/components/global/header/headerLink.d.ts +1 -1
- package/components/global/header/headerLink.js.map +1 -1
- package/components/global/header/headerNotificationPanel.d.ts +1 -1
- package/components/global/header/headerNotificationPanel.js.map +1 -1
- package/components/global/header/headerPanelLink.d.ts +1 -1
- package/components/global/header/headerPanelLink.js.map +1 -1
- package/components/global/header/headerUserProfile.d.ts +1 -1
- package/components/global/header/headerUserProfile.js.map +1 -1
- package/components/global/localNav/localNav.d.ts +1 -1
- package/components/global/localNav/localNav.js.map +1 -1
- package/components/global/localNav/localNavLink.d.ts +1 -1
- package/components/global/localNav/localNavLink.js.map +1 -1
- package/components/reusable/accordion/accordionItem.d.ts +1 -1
- package/components/reusable/accordion/accordionItem.js.map +1 -1
- package/components/reusable/button/button.d.ts +1 -1
- package/components/reusable/button/button.js.map +1 -1
- package/components/reusable/buttonGroup/buttonGroup.d.ts +1 -1
- package/components/reusable/buttonGroup/buttonGroup.js.map +1 -1
- package/components/reusable/card/card.d.ts +1 -1
- package/components/reusable/card/card.js.map +1 -1
- package/components/reusable/checkbox/checkboxGroup.d.ts +6 -3
- package/components/reusable/checkbox/checkboxGroup.d.ts.map +1 -1
- package/components/reusable/checkbox/checkboxGroup.js.map +1 -1
- package/components/reusable/colorInput/colorInput.d.ts +1 -1
- package/components/reusable/colorInput/colorInput.js.map +1 -1
- package/components/reusable/datePicker/datepicker.d.ts +3 -1
- package/components/reusable/datePicker/datepicker.d.ts.map +1 -1
- package/components/reusable/datePicker/datepicker.js +12 -4
- package/components/reusable/datePicker/datepicker.js.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.d.ts +3 -1
- package/components/reusable/daterangepicker/daterangepicker.d.ts.map +1 -1
- package/components/reusable/daterangepicker/daterangepicker.js +12 -1
- package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
- package/components/reusable/dropdown/dropdown.d.ts +7 -5
- package/components/reusable/dropdown/dropdown.d.ts.map +1 -1
- package/components/reusable/dropdown/dropdown.js.map +1 -1
- package/components/reusable/dropdown/dropdownOption.d.ts +2 -2
- package/components/reusable/dropdown/dropdownOption.js.map +1 -1
- package/components/reusable/fileUploader/fileUploader.d.ts +1 -1
- package/components/reusable/fileUploader/fileUploader.js.map +1 -1
- package/components/reusable/inlineConfirm/inlineConfirm.d.ts +1 -1
- package/components/reusable/inlineConfirm/inlineConfirm.js.map +1 -1
- package/components/reusable/link/link.d.ts +1 -1
- package/components/reusable/link/link.js.map +1 -1
- package/components/reusable/loaders/inline.d.ts +2 -2
- package/components/reusable/loaders/inline.js.map +1 -1
- package/components/reusable/loaders/loader.d.ts +2 -2
- package/components/reusable/loaders/loader.js.map +1 -1
- package/components/reusable/modal/modal.d.ts +1 -1
- package/components/reusable/modal/modal.js.map +1 -1
- package/components/reusable/multiInputField/multiInputField.d.ts +4 -3
- package/components/reusable/multiInputField/multiInputField.d.ts.map +1 -1
- package/components/reusable/multiInputField/multiInputField.js.map +1 -1
- package/components/reusable/notification/notification.d.ts +1 -1
- package/components/reusable/notification/notification.js.map +1 -1
- package/components/reusable/numberInput/numberInput.d.ts +3 -1
- package/components/reusable/numberInput/numberInput.d.ts.map +1 -1
- package/components/reusable/numberInput/numberInput.js.map +1 -1
- package/components/reusable/overflowMenu/overflowMenu.d.ts +1 -1
- package/components/reusable/overflowMenu/overflowMenu.js.map +1 -1
- package/components/reusable/overflowMenu/overflowMenuItem.d.ts +1 -1
- package/components/reusable/overflowMenu/overflowMenuItem.js.map +1 -1
- package/components/reusable/pagination/Pagination.d.ts +2 -2
- package/components/reusable/pagination/Pagination.js.map +1 -1
- package/components/reusable/popover/popover.d.ts +2 -2
- package/components/reusable/popover/popover.js.map +1 -1
- package/components/reusable/radioButton/radioButton.d.ts +1 -1
- package/components/reusable/radioButton/radioButton.js.map +1 -1
- package/components/reusable/radioButton/radioButtonGroup.d.ts +4 -1
- package/components/reusable/radioButton/radioButtonGroup.d.ts.map +1 -1
- package/components/reusable/radioButton/radioButtonGroup.js.map +1 -1
- package/components/reusable/search/search.d.ts +1 -1
- package/components/reusable/search/search.js.map +1 -1
- package/components/reusable/sideDrawer/sideDrawer.d.ts +1 -1
- package/components/reusable/sideDrawer/sideDrawer.js.map +1 -1
- package/components/reusable/sliderInput/sliderInput.d.ts +4 -1
- package/components/reusable/sliderInput/sliderInput.d.ts.map +1 -1
- package/components/reusable/sliderInput/sliderInput.js.map +1 -1
- package/components/reusable/splitButton/splitButtonOption.d.ts +1 -1
- package/components/reusable/splitButton/splitButtonOption.js.map +1 -1
- package/components/reusable/stepper/stepperItem.d.ts +1 -1
- package/components/reusable/stepper/stepperItem.js.map +1 -1
- package/components/reusable/stepper/stepperItemChild.d.ts +1 -1
- package/components/reusable/stepper/stepperItemChild.js.map +1 -1
- package/components/reusable/table/table-body.d.ts +1 -1
- package/components/reusable/table/table-body.js.map +1 -1
- package/components/reusable/table/table-header.d.ts +1 -1
- package/components/reusable/table/table-header.js.map +1 -1
- package/components/reusable/table/table.d.ts +2 -2
- package/components/reusable/tabs/tabs.d.ts +1 -1
- package/components/reusable/tabs/tabs.js.map +1 -1
- package/components/reusable/tag/tag.d.ts +2 -2
- package/components/reusable/tag/tag.js.map +1 -1
- package/components/reusable/textArea/textArea.d.ts +4 -1
- package/components/reusable/textArea/textArea.d.ts.map +1 -1
- package/components/reusable/textArea/textArea.js.map +1 -1
- package/components/reusable/textInput/textInput.d.ts +4 -1
- package/components/reusable/textInput/textInput.d.ts.map +1 -1
- package/components/reusable/textInput/textInput.js.map +1 -1
- package/components/reusable/timepicker/timepicker.d.ts +3 -1
- package/components/reusable/timepicker/timepicker.d.ts.map +1 -1
- package/components/reusable/timepicker/timepicker.js +12 -4
- package/components/reusable/timepicker/timepicker.js.map +1 -1
- package/components/reusable/toggleButton/toggleButton.d.ts +3 -1
- package/components/reusable/toggleButton/toggleButton.d.ts.map +1 -1
- package/components/reusable/toggleButton/toggleButton.js.map +1 -1
- package/components/reusable/tooltip/tooltip.d.ts +1 -1
- package/components/reusable/tooltip/tooltip.js.map +1 -1
- package/components/reusable/widget/widget.d.ts +1 -1
- package/components/reusable/widget/widget.js.map +1 -1
- package/components/reusable/widget/widgetGridstack.d.ts +2 -2
- package/components/reusable/widget/widgetGridstack.js.map +1 -1
- package/package.json +1 -1
- package/table-BSga3CPd.js.map +1 -1
|
@@ -8,8 +8,8 @@ import '../../reusable/button';
|
|
|
8
8
|
* @slot copy - copy button
|
|
9
9
|
* @slot sources - source cards in source panel.
|
|
10
10
|
* @slot feedback-form - Positive feedback form.
|
|
11
|
-
* @fires on-toggle - Emits the `opened` state when the panel item opens/closes.
|
|
12
|
-
* @fires on-feedback-deselected - Emits when thumbs-up or thumbs-down button is deselected.
|
|
11
|
+
* @fires on-toggle - Emits the `opened` state when the panel item opens/closes. `detail:{ sourcesOpened: boolean, feedbackOpened: boolean, selectedFeedbackType: string }`
|
|
12
|
+
* @fires on-feedback-deselected - Emits when thumbs-up or thumbs-down button is deselected. `detail:{ feedbackType: string }`
|
|
13
13
|
*/
|
|
14
14
|
export declare class AISourcesFeedback extends LitElement {
|
|
15
15
|
static styles: import("lit").CSSResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiSourcesFeedback.d.ts","sourceRoot":"","sources":["../../../../src/components/ai/sourcesFeedback/aiSourcesFeedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAa,MAAM,KAAK,CAAC;AAoBlD,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAW/B;;;;;;;;GAQG;AAEH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,0BAAyB;IAE/C,uDAAuD;IAEvD,QAAQ,CAAC,aAAa,UAAS;IAE/B,2DAA2D;IAE3D,QAAQ,CAAC,cAAc,UAAS;IAEhC,0DAA0D;IAE1D,QAAQ,CAAC,eAAe,UAAS;IAEjC,6DAA6D;IAE7D,QAAQ,CAAC,gBAAgB,UAAS;IAElC,0DAA0D;IAE1D,QAAQ,CAAC,gBAAgB,UAAS;IAElC,iCAAiC;IAEjC,QAAQ,CAAC,WAAW;;;;;;;MAAuB;IAE3C,yBAAyB;IAEzB,QAAQ,CAAC,SAAS,SAAW;IAE7B;;OAEG;IAEH,QAAQ,CAAC,WAAW,SAAK;IAEzB;;OAEG;IAEH,QAAQ,CAAC,aAAa,UAAS;IAE/B;;OAEG;IAEH,QAAQ,CAAC,YAAY;;;;;;;MAAuB;IAE5C;;OAEG;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAQ;IAE3C;;;OAGG;IAEH,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAC;IAE1B;;OAEG;IACM,QAAQ,CAAC,kBAAkB,SAAK;IAEzC;;OAEG;IACM,QAAQ,CAAC,oBAAoB,SAAK;IAElC,MAAM;
|
|
1
|
+
{"version":3,"file":"aiSourcesFeedback.d.ts","sourceRoot":"","sources":["../../../../src/components/ai/sourcesFeedback/aiSourcesFeedback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAa,MAAM,KAAK,CAAC;AAoBlD,OAAO,qBAAqB,CAAC;AAC7B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,uBAAuB,CAAC;AAW/B;;;;;;;;GAQG;AAEH,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,OAAgB,MAAM,0BAAyB;IAE/C,uDAAuD;IAEvD,QAAQ,CAAC,aAAa,UAAS;IAE/B,2DAA2D;IAE3D,QAAQ,CAAC,cAAc,UAAS;IAEhC,0DAA0D;IAE1D,QAAQ,CAAC,eAAe,UAAS;IAEjC,6DAA6D;IAE7D,QAAQ,CAAC,gBAAgB,UAAS;IAElC,0DAA0D;IAE1D,QAAQ,CAAC,gBAAgB,UAAS;IAElC,iCAAiC;IAEjC,QAAQ,CAAC,WAAW;;;;;;;MAAuB;IAE3C,yBAAyB;IAEzB,QAAQ,CAAC,SAAS,SAAW;IAE7B;;OAEG;IAEH,QAAQ,CAAC,WAAW,SAAK;IAEzB;;OAEG;IAEH,QAAQ,CAAC,aAAa,UAAS;IAE/B;;OAEG;IAEH,QAAQ,CAAC,YAAY;;;;;;;MAAuB;IAE5C;;OAEG;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAQ;IAE3C;;;OAGG;IAEH,QAAQ,CAAC,UAAU,EAAG,GAAG,CAAC;IAE1B;;OAEG;IACM,QAAQ,CAAC,kBAAkB,SAAK;IAEzC;;OAEG;IACM,QAAQ,CAAC,oBAAoB,SAAK;IAElC,MAAM;IAmKf,OAAO,CAAC,YAAY;IA0BpB,OAAO,CAAC,qBAAqB;IAyB7B,OAAO,CAAC,wBAAwB;IAgBhC,OAAO,CAAC,gBAAgB;IAyBxB,OAAO,CAAC,oBAAoB;IAY5B,SAAS,CAAC,iBAAiB;IAI3B,OAAO,CAAC,oBAAoB;IAgBnB,UAAU,CAAC,YAAY,EAAE,GAAG;cAMlB,OAAO,CAAC,YAAY,EAAE,GAAG,GAAG,IAAI;CAQpD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,iBAAiB,CAAC;KAC9C;CACF"}
|
|
@@ -221,7 +221,6 @@ import{_ as e,a as t,b as s,c as i,d as a}from"../../../vendor/tslib-Ac8XvvSX.js
|
|
|
221
221
|
class="close"
|
|
222
222
|
description=${this.closeText}
|
|
223
223
|
@on-click=${e=>this._handleClick(e,"feedback",this._selectedFeedbackType)}
|
|
224
|
-
}}
|
|
225
224
|
kind="ghost"
|
|
226
225
|
size="small"
|
|
227
226
|
>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aiSourcesFeedback.js","sources":["../../../../src/components/ai/sourcesFeedback/aiSourcesFeedback.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { deepmerge } from 'deepmerge-ts';\nimport { classMap } from 'lit-html/directives/class-map.js';\n\nimport stylesheet from './aiSourcesFeedback.scss?inline';\n\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport chevronIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport thumbsUpIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-up.svg';\nimport thumbsDownIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-down.svg';\nimport thumbsUpFilledIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-up-filled.svg';\nimport thumbsDownFilledIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-down-filled.svg';\nimport closeIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nimport '../../reusable/link';\nimport '../../reusable/card';\nimport '../../reusable/button';\n\nconst _defaultTextStrings = {\n sourcesText: 'Sources',\n foundSources: 'Found sources',\n showMore: 'Show more',\n showLess: 'Show less',\n positiveFeedback: 'Share what you liked',\n negativeFeedback: 'Help us improve',\n};\n\n/**\n * AISourcesFeedback Component.\n *\n * @slot copy - copy button\n * @slot sources - source cards in source panel.\n * @slot feedback-form - Positive feedback form.\n * @fires on-toggle - Emits the `opened` state when the panel item opens/closes.\n * @fires on-feedback-deselected - Emits when thumbs-up or thumbs-down button is deselected.\n */\n\n@customElement('kyn-ai-sources-feedback')\nexport class AISourcesFeedback extends LitElement {\n static override styles = unsafeCSS(stylesheet);\n\n /** expandable anchor opened state for Sources used. */\n @property({ type: Boolean })\n accessor sourcesOpened = false;\n\n /** expandable anchor opened state for Feedback buttons. */\n @property({ type: Boolean })\n accessor feedbackOpened = false;\n\n /** expandable anchor disabled state for Sources used.. */\n @property({ type: Boolean })\n accessor sourcesDisabled = false;\n\n /** expandable anchor disabled state for Feedback buttons. */\n @property({ type: Boolean })\n accessor feedbackDisabled = false;\n\n /** Limits visible sources behind a \"Show more\" button. */\n @property({ type: Boolean })\n accessor revealAllSources = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Close button text. */\n @property({ type: String })\n accessor closeText = 'Close';\n\n /** Number of sources visible when limited.\n * @internal\n */\n @state()\n accessor _limitCount = 4;\n\n /** Sources limit visibility.\n * @internal\n */\n @state()\n accessor limitRevealed = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /** Selecting Positive or Negative Feedback\n * @internal\n */\n @state()\n accessor _selectedFeedbackType: any = null;\n\n /**\n * Queries slotted sources.\n * @ignore\n */\n @queryAssignedElements({ slot: 'sources' })\n accessor _sourceEls!: any;\n\n /** Tracks the number of clicks on thumbs up icon\n * @internal\n */\n @state() accessor thumbsUpClickCount = 0;\n\n /** Tracks the number of clicks on thumbs down icon\n * @internal\n */\n @state() accessor thumbsDownClickCount = 0;\n\n override render() {\n const classesSources: any = classMap({\n 'kyn-sources': true,\n opened: this.sourcesOpened,\n disabled: this.sourcesDisabled,\n });\n const classesFeedback1: any = classMap({\n 'kyn-pos-feedback': true,\n disabled:\n this.feedbackDisabled && this._selectedFeedbackType === 'positive',\n });\n const classesFeedback2: any = classMap({\n 'kyn-neg-feedback': true,\n disabled:\n this.feedbackDisabled && this._selectedFeedbackType === 'positive',\n });\n return html`\n <div class=\"action-bar\">\n <div class=\"left-div\">\n <slot name=\"copy\"></slot>\n\n <div class=\"${classesSources}\">\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n class=\"kyn-sources-title\"\n iconPosition=\"right\"\n aria-controls=\"kyn-sources-body\"\n aria-expanded=${this.sourcesOpened}\n ?disabled=${this.sourcesDisabled}\n @on-click=\"${(e: Event) => this._handleClick(e, 'sources')}\"\n id=\"kyn-sources-title\"\n >\n <span>${this._textStrings.sourcesText}</span>\n <span class=\"expand-icon\" slot=\"icon\"\n >${unsafeSVG(chevronIcon)}</span\n >\n </kyn-button>\n </div>\n </div>\n\n <div class=\"right-div\">\n <div class=\"${classesFeedback1}\">\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n id=\"kyn-feedback-title-positive\"\n class=\"kyn-feedback-title\"\n aria-controls=\"kyn-feedback-body\"\n aria-expanded=${this.feedbackOpened}\n ?disabled=${this.feedbackDisabled}\n description=${this._textStrings.positiveFeedback}\n @on-click=${(e: Event) =>\n this._handleClick(e, 'feedback', 'positive')}\n >\n <span slot=\"icon\">\n ${unsafeSVG(\n this.thumbsUpClickCount % 2 === 0\n ? thumbsUpIcon\n : thumbsUpFilledIcon\n )}\n </span>\n </kyn-button>\n </div>\n\n <div class=\"${classesFeedback2}\">\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n id=\"kyn-feedback-title-negative\"\n class=\"kyn-feedback-title\"\n aria-controls=\"kyn-feedback-body\"\n aria-expanded=${this.feedbackOpened}\n ?disabled=${this.feedbackDisabled}\n description=${this._textStrings.negativeFeedback}\n @on-click=\"${(e: Event) =>\n this._handleClick(e, 'feedback', 'negative')}\"\n >\n <span slot=\"icon\"\n >${unsafeSVG(\n this.thumbsDownClickCount % 2 === 0\n ? thumbsDownIcon\n : thumbsDownFilledIcon\n )}\n </span>\n </kyn-button>\n </div>\n </div>\n </div>\n\n <div\n class=\"${classMap({\n opened: this.sourcesOpened,\n 'kyn-sources-body': true,\n })}\"\n id=\"kyn-sources-body\"\n role=\"region\"\n aria-labelledby=\"kyn-sources-title\"\n >\n <div class=\"close-container\">\n <kyn-button\n class=\"close\"\n @on-click=${(e: Event) => this._handleClick(e, 'sources')}\n }}\n kind=\"ghost\"\n size=\"small\"\n description=${this.closeText}\n >\n <span slot=\"icon\">${unsafeSVG(closeIcon)}</span>\n </kyn-button>\n </div>\n\n <div class=\"found-sources\">\n ${this._textStrings.foundSources} (${this._sourceEls.length}) :\n </div>\n <div class=\"card-container\">\n <slot name=\"sources\" @slotchange=${this._handleSlotChange}></slot>\n ${!this.revealAllSources && this._sourceEls.length > this._limitCount\n ? html`\n <kyn-button\n class=\"reveal-toggle\"\n kind=\"ghost\"\n size=\"small\"\n @on-click=${() =>\n this._toggleLimitRevealed(!this.limitRevealed)}\n >\n ${this.limitRevealed\n ? html`${this._textStrings.showLess}`\n : html` ${this._textStrings.showMore} `}\n </kyn-button>\n `\n : null}\n </div>\n </div>\n\n <div\n class=\"${classMap({\n opened: this.feedbackOpened,\n 'kyn-feedback-body': true,\n })}\"\n id=\"kyn-feedback-body\"\n role=\"region\"\n aria-labelledby=\"kyn-feedback-title-${this._selectedFeedbackType\n ? 'positive'\n : 'negative'}\"\n >\n <div class=\"close-container\">\n <kyn-button\n class=\"close\"\n description=${this.closeText}\n @on-click=${(e: Event) =>\n this._handleClick(e, 'feedback', this._selectedFeedbackType)}\n }}\n kind=\"ghost\"\n size=\"small\"\n >\n <span slot=\"icon\">${unsafeSVG(closeIcon)}</span>\n </kyn-button>\n </div>\n\n <slot name=\"feedback-form\"></slot>\n </div>\n `;\n }\n private _handleClick(\n e: Event,\n panel: 'sources' | 'feedback',\n feedbackType?: 'positive' | 'negative'\n ) {\n e.preventDefault();\n\n if (\n (panel === 'sources' && this.sourcesDisabled) ||\n (panel === 'feedback' && this.feedbackDisabled)\n ) {\n return;\n }\n\n const target = e.target as HTMLElement;\n const isFeedbackButton = target.id?.includes('kyn-feedback-title');\n\n if (isFeedbackButton && feedbackType) {\n this._updateFeedbackCounts(feedbackType);\n }\n\n if (panel === 'sources' || this._shouldEmitFeedbackEvent(feedbackType)) {\n this._emitToggleEvent(panel, feedbackType);\n }\n }\n\n private _updateFeedbackCounts(feedbackType: 'positive' | 'negative') {\n // Checks if the feedbackType was already selected before updating the counts.\n const wasSelected =\n (feedbackType === 'positive' && this.thumbsUpClickCount % 2 !== 0) ||\n (feedbackType === 'negative' && this.thumbsDownClickCount % 2 !== 0);\n\n if (feedbackType === 'positive') {\n this.thumbsUpClickCount++;\n this.thumbsDownClickCount -= this.thumbsDownClickCount % 2;\n } else {\n this.thumbsDownClickCount++;\n this.thumbsUpClickCount -= this.thumbsUpClickCount % 2;\n }\n\n if (wasSelected) {\n this.dispatchEvent(\n new CustomEvent('on-feedback-deselected', {\n detail: { feedbackType },\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n private _shouldEmitFeedbackEvent(\n feedbackType?: 'positive' | 'negative'\n ): boolean {\n if (!feedbackType) return false;\n const isOddClick = (count: number) => count % 2 !== 0;\n\n return (\n (feedbackType === 'positive' &&\n (isOddClick(this.thumbsUpClickCount) ||\n (this.feedbackOpened && !isOddClick(this.thumbsUpClickCount)))) ||\n (feedbackType === 'negative' &&\n (isOddClick(this.thumbsDownClickCount) ||\n (this.feedbackOpened && !isOddClick(this.thumbsDownClickCount))))\n );\n }\n\n private _emitToggleEvent(\n panel: 'sources' | 'feedback',\n feedbackType?: 'positive' | 'negative'\n ) {\n if (panel === 'sources') {\n this.sourcesOpened = !this.sourcesOpened;\n this.feedbackOpened = false;\n } else if (panel === 'feedback') {\n this.sourcesOpened = false;\n this._toggleFeedbackPanel(feedbackType);\n }\n\n this.dispatchEvent(\n new CustomEvent('on-toggle', {\n detail: {\n sourcesOpened: this.sourcesOpened,\n feedbackOpened: this.feedbackOpened,\n selectedFeedbackType: this._selectedFeedbackType,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _toggleFeedbackPanel(feedbackType?: 'positive' | 'negative') {\n if (!feedbackType) return;\n\n if (this._selectedFeedbackType === feedbackType && this.feedbackOpened) {\n this.feedbackOpened = false;\n this._selectedFeedbackType = null;\n } else {\n this.feedbackOpened = true;\n this._selectedFeedbackType = feedbackType;\n }\n }\n\n protected _handleSlotChange() {\n this._toggleLimitRevealed(this.limitRevealed);\n }\n\n private _toggleLimitRevealed(revealed: boolean) {\n this.limitRevealed = revealed;\n\n this._sourceEls.forEach((sourceEl: any, index: any) => {\n if (this.revealAllSources || this.limitRevealed) {\n sourceEl.style.display = 'block';\n } else {\n if (index < this._limitCount) {\n sourceEl.style.display = 'block';\n } else {\n sourceEl.style.display = 'none';\n }\n }\n });\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n protected override updated(changedProps: any): void {\n if (\n changedProps.has('revealAllSources') &&\n changedProps.get('revealAllSources') !== undefined\n ) {\n this._toggleLimitRevealed(false);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-ai-sources-feedback': AISourcesFeedback;\n }\n}\n"],"names":["_defaultTextStrings","sourcesText","foundSources","showMore","showLess","positiveFeedback","negativeFeedback","AISourcesFeedback","customElement","LitElement","_classThis","_classSuper","sourcesOpened","__classPrivateFieldGet","this","_AISourcesFeedback_sourcesOpened_accessor_storage","value","__classPrivateFieldSet","feedbackOpened","_AISourcesFeedback_feedbackOpened_accessor_storage","sourcesDisabled","_AISourcesFeedback_sourcesDisabled_accessor_storage","feedbackDisabled","_AISourcesFeedback_feedbackDisabled_accessor_storage","revealAllSources","_AISourcesFeedback_revealAllSources_accessor_storage","textStrings","_AISourcesFeedback_textStrings_accessor_storage","closeText","_AISourcesFeedback_closeText_accessor_storage","_limitCount","_AISourcesFeedback__limitCount_accessor_storage","limitRevealed","_AISourcesFeedback_limitRevealed_accessor_storage","_textStrings","_AISourcesFeedback__textStrings_accessor_storage","_selectedFeedbackType","_AISourcesFeedback__selectedFeedbackType_accessor_storage","_sourceEls","_AISourcesFeedback__sourceEls_accessor_storage","thumbsUpClickCount","_AISourcesFeedback_thumbsUpClickCount_accessor_storage","thumbsDownClickCount","_AISourcesFeedback_thumbsDownClickCount_accessor_storage","render","classesSources","classMap","opened","disabled","classesFeedback1","classesFeedback2","html","e","_handleClick","unsafeSVG","chevronIcon","thumbsUpIcon","thumbsUpFilledIcon","thumbsDownIcon","thumbsDownFilledIcon","closeIcon","length","_handleSlotChange","_toggleLimitRevealed","panel","feedbackType","preventDefault","_a","target","id","includes","_updateFeedbackCounts","_shouldEmitFeedbackEvent","_emitToggleEvent","wasSelected","dispatchEvent","CustomEvent","detail","bubbles","composed","isOddClick","count","_toggleFeedbackPanel","selectedFeedbackType","revealed","forEach","sourceEl","index","style","display","willUpdate","changedProps","has","deepmerge","updated","undefined","get","set","__runInitializers","_sourcesOpened_initializers","_sourcesOpened_extraInitializers","_feedbackOpened_initializers","_feedbackOpened_extraInitializers","_sourcesDisabled_initializers","_sourcesDisabled_extraInitializers","_feedbackDisabled_initializers","_feedbackDisabled_extraInitializers","_revealAllSources_initializers","_revealAllSources_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","_closeText_initializers","_closeText_extraInitializers","__limitCount_initializers","__limitCount_extraInitializers","_limitRevealed_initializers","_limitRevealed_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","__selectedFeedbackType_initializers","__selectedFeedbackType_extraInitializers","__sourceEls_initializers","__sourceEls_extraInitializers","_thumbsUpClickCount_initializers","_thumbsUpClickCount_extraInitializers","_thumbsDownClickCount_initializers","_sourcesOpened_decorators","property","type","Boolean","_feedbackOpened_decorators","_sourcesDisabled_decorators","_feedbackDisabled_decorators","_revealAllSources_decorators","_textStrings_decorators","Object","_closeText_decorators","String","__limitCount_decorators","state","_limitRevealed_decorators","__textStrings_decorators","__selectedFeedbackType_decorators","__sourceEls_decorators","queryAssignedElements","slot","_thumbsUpClickCount_decorators","_thumbsDownClickCount_decorators","__esDecorate","kind","name","static","private","access","obj","metadata","_metadata","_thumbsDownClickCount_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","stylesheet"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aiSourcesFeedback.js","sources":["../../../../src/components/ai/sourcesFeedback/aiSourcesFeedback.ts"],"sourcesContent":["import { html, LitElement, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { deepmerge } from 'deepmerge-ts';\nimport { classMap } from 'lit-html/directives/class-map.js';\n\nimport stylesheet from './aiSourcesFeedback.scss?inline';\n\nimport { unsafeSVG } from 'lit/directives/unsafe-svg.js';\nimport chevronIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-down.svg';\nimport thumbsUpIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-up.svg';\nimport thumbsDownIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-down.svg';\nimport thumbsUpFilledIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-up-filled.svg';\nimport thumbsDownFilledIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/thumbs-down-filled.svg';\nimport closeIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/close-simple.svg';\n\nimport '../../reusable/link';\nimport '../../reusable/card';\nimport '../../reusable/button';\n\nconst _defaultTextStrings = {\n sourcesText: 'Sources',\n foundSources: 'Found sources',\n showMore: 'Show more',\n showLess: 'Show less',\n positiveFeedback: 'Share what you liked',\n negativeFeedback: 'Help us improve',\n};\n\n/**\n * AISourcesFeedback Component.\n *\n * @slot copy - copy button\n * @slot sources - source cards in source panel.\n * @slot feedback-form - Positive feedback form.\n * @fires on-toggle - Emits the `opened` state when the panel item opens/closes. `detail:{ sourcesOpened: boolean, feedbackOpened: boolean, selectedFeedbackType: string }`\n * @fires on-feedback-deselected - Emits when thumbs-up or thumbs-down button is deselected. `detail:{ feedbackType: string }`\n */\n\n@customElement('kyn-ai-sources-feedback')\nexport class AISourcesFeedback extends LitElement {\n static override styles = unsafeCSS(stylesheet);\n\n /** expandable anchor opened state for Sources used. */\n @property({ type: Boolean })\n accessor sourcesOpened = false;\n\n /** expandable anchor opened state for Feedback buttons. */\n @property({ type: Boolean })\n accessor feedbackOpened = false;\n\n /** expandable anchor disabled state for Sources used.. */\n @property({ type: Boolean })\n accessor sourcesDisabled = false;\n\n /** expandable anchor disabled state for Feedback buttons. */\n @property({ type: Boolean })\n accessor feedbackDisabled = false;\n\n /** Limits visible sources behind a \"Show more\" button. */\n @property({ type: Boolean })\n accessor revealAllSources = false;\n\n /** Text string customization. */\n @property({ type: Object })\n accessor textStrings = _defaultTextStrings;\n\n /** Close button text. */\n @property({ type: String })\n accessor closeText = 'Close';\n\n /** Number of sources visible when limited.\n * @internal\n */\n @state()\n accessor _limitCount = 4;\n\n /** Sources limit visibility.\n * @internal\n */\n @state()\n accessor limitRevealed = false;\n\n /** Internal text strings.\n * @internal\n */\n @state()\n accessor _textStrings = _defaultTextStrings;\n\n /** Selecting Positive or Negative Feedback\n * @internal\n */\n @state()\n accessor _selectedFeedbackType: any = null;\n\n /**\n * Queries slotted sources.\n * @ignore\n */\n @queryAssignedElements({ slot: 'sources' })\n accessor _sourceEls!: any;\n\n /** Tracks the number of clicks on thumbs up icon\n * @internal\n */\n @state() accessor thumbsUpClickCount = 0;\n\n /** Tracks the number of clicks on thumbs down icon\n * @internal\n */\n @state() accessor thumbsDownClickCount = 0;\n\n override render() {\n const classesSources: any = classMap({\n 'kyn-sources': true,\n opened: this.sourcesOpened,\n disabled: this.sourcesDisabled,\n });\n const classesFeedback1: any = classMap({\n 'kyn-pos-feedback': true,\n disabled:\n this.feedbackDisabled && this._selectedFeedbackType === 'positive',\n });\n const classesFeedback2: any = classMap({\n 'kyn-neg-feedback': true,\n disabled:\n this.feedbackDisabled && this._selectedFeedbackType === 'positive',\n });\n return html`\n <div class=\"action-bar\">\n <div class=\"left-div\">\n <slot name=\"copy\"></slot>\n\n <div class=\"${classesSources}\">\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n class=\"kyn-sources-title\"\n iconPosition=\"right\"\n aria-controls=\"kyn-sources-body\"\n aria-expanded=${this.sourcesOpened}\n ?disabled=${this.sourcesDisabled}\n @on-click=\"${(e: Event) => this._handleClick(e, 'sources')}\"\n id=\"kyn-sources-title\"\n >\n <span>${this._textStrings.sourcesText}</span>\n <span class=\"expand-icon\" slot=\"icon\"\n >${unsafeSVG(chevronIcon)}</span\n >\n </kyn-button>\n </div>\n </div>\n\n <div class=\"right-div\">\n <div class=\"${classesFeedback1}\">\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n id=\"kyn-feedback-title-positive\"\n class=\"kyn-feedback-title\"\n aria-controls=\"kyn-feedback-body\"\n aria-expanded=${this.feedbackOpened}\n ?disabled=${this.feedbackDisabled}\n description=${this._textStrings.positiveFeedback}\n @on-click=${(e: Event) =>\n this._handleClick(e, 'feedback', 'positive')}\n >\n <span slot=\"icon\">\n ${unsafeSVG(\n this.thumbsUpClickCount % 2 === 0\n ? thumbsUpIcon\n : thumbsUpFilledIcon\n )}\n </span>\n </kyn-button>\n </div>\n\n <div class=\"${classesFeedback2}\">\n <kyn-button\n kind=\"ghost\"\n size=\"small\"\n id=\"kyn-feedback-title-negative\"\n class=\"kyn-feedback-title\"\n aria-controls=\"kyn-feedback-body\"\n aria-expanded=${this.feedbackOpened}\n ?disabled=${this.feedbackDisabled}\n description=${this._textStrings.negativeFeedback}\n @on-click=\"${(e: Event) =>\n this._handleClick(e, 'feedback', 'negative')}\"\n >\n <span slot=\"icon\"\n >${unsafeSVG(\n this.thumbsDownClickCount % 2 === 0\n ? thumbsDownIcon\n : thumbsDownFilledIcon\n )}\n </span>\n </kyn-button>\n </div>\n </div>\n </div>\n\n <div\n class=\"${classMap({\n opened: this.sourcesOpened,\n 'kyn-sources-body': true,\n })}\"\n id=\"kyn-sources-body\"\n role=\"region\"\n aria-labelledby=\"kyn-sources-title\"\n >\n <div class=\"close-container\">\n <kyn-button\n class=\"close\"\n @on-click=${(e: Event) => this._handleClick(e, 'sources')}\n }}\n kind=\"ghost\"\n size=\"small\"\n description=${this.closeText}\n >\n <span slot=\"icon\">${unsafeSVG(closeIcon)}</span>\n </kyn-button>\n </div>\n\n <div class=\"found-sources\">\n ${this._textStrings.foundSources} (${this._sourceEls.length}) :\n </div>\n <div class=\"card-container\">\n <slot name=\"sources\" @slotchange=${this._handleSlotChange}></slot>\n ${!this.revealAllSources && this._sourceEls.length > this._limitCount\n ? html`\n <kyn-button\n class=\"reveal-toggle\"\n kind=\"ghost\"\n size=\"small\"\n @on-click=${() =>\n this._toggleLimitRevealed(!this.limitRevealed)}\n >\n ${this.limitRevealed\n ? html`${this._textStrings.showLess}`\n : html` ${this._textStrings.showMore} `}\n </kyn-button>\n `\n : null}\n </div>\n </div>\n\n <div\n class=\"${classMap({\n opened: this.feedbackOpened,\n 'kyn-feedback-body': true,\n })}\"\n id=\"kyn-feedback-body\"\n role=\"region\"\n aria-labelledby=\"kyn-feedback-title-${this._selectedFeedbackType\n ? 'positive'\n : 'negative'}\"\n >\n <div class=\"close-container\">\n <kyn-button\n class=\"close\"\n description=${this.closeText}\n @on-click=${(e: Event) =>\n this._handleClick(e, 'feedback', this._selectedFeedbackType)}\n kind=\"ghost\"\n size=\"small\"\n >\n <span slot=\"icon\">${unsafeSVG(closeIcon)}</span>\n </kyn-button>\n </div>\n\n <slot name=\"feedback-form\"></slot>\n </div>\n `;\n }\n private _handleClick(\n e: Event,\n panel: 'sources' | 'feedback',\n feedbackType?: 'positive' | 'negative'\n ) {\n e.preventDefault();\n\n if (\n (panel === 'sources' && this.sourcesDisabled) ||\n (panel === 'feedback' && this.feedbackDisabled)\n ) {\n return;\n }\n\n const target = e.target as HTMLElement;\n const isFeedbackButton = target.id?.includes('kyn-feedback-title');\n\n if (isFeedbackButton && feedbackType) {\n this._updateFeedbackCounts(feedbackType);\n }\n\n if (panel === 'sources' || this._shouldEmitFeedbackEvent(feedbackType)) {\n this._emitToggleEvent(panel, feedbackType);\n }\n }\n\n private _updateFeedbackCounts(feedbackType: 'positive' | 'negative') {\n // Checks if the feedbackType was already selected before updating the counts.\n const wasSelected =\n (feedbackType === 'positive' && this.thumbsUpClickCount % 2 !== 0) ||\n (feedbackType === 'negative' && this.thumbsDownClickCount % 2 !== 0);\n\n if (feedbackType === 'positive') {\n this.thumbsUpClickCount++;\n this.thumbsDownClickCount -= this.thumbsDownClickCount % 2;\n } else {\n this.thumbsDownClickCount++;\n this.thumbsUpClickCount -= this.thumbsUpClickCount % 2;\n }\n\n if (wasSelected) {\n this.dispatchEvent(\n new CustomEvent('on-feedback-deselected', {\n detail: { feedbackType },\n bubbles: true,\n composed: true,\n })\n );\n }\n }\n\n private _shouldEmitFeedbackEvent(\n feedbackType?: 'positive' | 'negative'\n ): boolean {\n if (!feedbackType) return false;\n const isOddClick = (count: number) => count % 2 !== 0;\n\n return (\n (feedbackType === 'positive' &&\n (isOddClick(this.thumbsUpClickCount) ||\n (this.feedbackOpened && !isOddClick(this.thumbsUpClickCount)))) ||\n (feedbackType === 'negative' &&\n (isOddClick(this.thumbsDownClickCount) ||\n (this.feedbackOpened && !isOddClick(this.thumbsDownClickCount))))\n );\n }\n\n private _emitToggleEvent(\n panel: 'sources' | 'feedback',\n feedbackType?: 'positive' | 'negative'\n ) {\n if (panel === 'sources') {\n this.sourcesOpened = !this.sourcesOpened;\n this.feedbackOpened = false;\n } else if (panel === 'feedback') {\n this.sourcesOpened = false;\n this._toggleFeedbackPanel(feedbackType);\n }\n\n this.dispatchEvent(\n new CustomEvent('on-toggle', {\n detail: {\n sourcesOpened: this.sourcesOpened,\n feedbackOpened: this.feedbackOpened,\n selectedFeedbackType: this._selectedFeedbackType,\n },\n bubbles: true,\n composed: true,\n })\n );\n }\n\n private _toggleFeedbackPanel(feedbackType?: 'positive' | 'negative') {\n if (!feedbackType) return;\n\n if (this._selectedFeedbackType === feedbackType && this.feedbackOpened) {\n this.feedbackOpened = false;\n this._selectedFeedbackType = null;\n } else {\n this.feedbackOpened = true;\n this._selectedFeedbackType = feedbackType;\n }\n }\n\n protected _handleSlotChange() {\n this._toggleLimitRevealed(this.limitRevealed);\n }\n\n private _toggleLimitRevealed(revealed: boolean) {\n this.limitRevealed = revealed;\n\n this._sourceEls.forEach((sourceEl: any, index: any) => {\n if (this.revealAllSources || this.limitRevealed) {\n sourceEl.style.display = 'block';\n } else {\n if (index < this._limitCount) {\n sourceEl.style.display = 'block';\n } else {\n sourceEl.style.display = 'none';\n }\n }\n });\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('textStrings')) {\n this._textStrings = deepmerge(_defaultTextStrings, this.textStrings);\n }\n }\n\n protected override updated(changedProps: any): void {\n if (\n changedProps.has('revealAllSources') &&\n changedProps.get('revealAllSources') !== undefined\n ) {\n this._toggleLimitRevealed(false);\n }\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-ai-sources-feedback': AISourcesFeedback;\n }\n}\n"],"names":["_defaultTextStrings","sourcesText","foundSources","showMore","showLess","positiveFeedback","negativeFeedback","AISourcesFeedback","customElement","LitElement","_classThis","_classSuper","sourcesOpened","__classPrivateFieldGet","this","_AISourcesFeedback_sourcesOpened_accessor_storage","value","__classPrivateFieldSet","feedbackOpened","_AISourcesFeedback_feedbackOpened_accessor_storage","sourcesDisabled","_AISourcesFeedback_sourcesDisabled_accessor_storage","feedbackDisabled","_AISourcesFeedback_feedbackDisabled_accessor_storage","revealAllSources","_AISourcesFeedback_revealAllSources_accessor_storage","textStrings","_AISourcesFeedback_textStrings_accessor_storage","closeText","_AISourcesFeedback_closeText_accessor_storage","_limitCount","_AISourcesFeedback__limitCount_accessor_storage","limitRevealed","_AISourcesFeedback_limitRevealed_accessor_storage","_textStrings","_AISourcesFeedback__textStrings_accessor_storage","_selectedFeedbackType","_AISourcesFeedback__selectedFeedbackType_accessor_storage","_sourceEls","_AISourcesFeedback__sourceEls_accessor_storage","thumbsUpClickCount","_AISourcesFeedback_thumbsUpClickCount_accessor_storage","thumbsDownClickCount","_AISourcesFeedback_thumbsDownClickCount_accessor_storage","render","classesSources","classMap","opened","disabled","classesFeedback1","classesFeedback2","html","e","_handleClick","unsafeSVG","chevronIcon","thumbsUpIcon","thumbsUpFilledIcon","thumbsDownIcon","thumbsDownFilledIcon","closeIcon","length","_handleSlotChange","_toggleLimitRevealed","panel","feedbackType","preventDefault","_a","target","id","includes","_updateFeedbackCounts","_shouldEmitFeedbackEvent","_emitToggleEvent","wasSelected","dispatchEvent","CustomEvent","detail","bubbles","composed","isOddClick","count","_toggleFeedbackPanel","selectedFeedbackType","revealed","forEach","sourceEl","index","style","display","willUpdate","changedProps","has","deepmerge","updated","undefined","get","set","__runInitializers","_sourcesOpened_initializers","_sourcesOpened_extraInitializers","_feedbackOpened_initializers","_feedbackOpened_extraInitializers","_sourcesDisabled_initializers","_sourcesDisabled_extraInitializers","_feedbackDisabled_initializers","_feedbackDisabled_extraInitializers","_revealAllSources_initializers","_revealAllSources_extraInitializers","_textStrings_initializers","_textStrings_extraInitializers","_closeText_initializers","_closeText_extraInitializers","__limitCount_initializers","__limitCount_extraInitializers","_limitRevealed_initializers","_limitRevealed_extraInitializers","__textStrings_initializers","__textStrings_extraInitializers","__selectedFeedbackType_initializers","__selectedFeedbackType_extraInitializers","__sourceEls_initializers","__sourceEls_extraInitializers","_thumbsUpClickCount_initializers","_thumbsUpClickCount_extraInitializers","_thumbsDownClickCount_initializers","_sourcesOpened_decorators","property","type","Boolean","_feedbackOpened_decorators","_sourcesDisabled_decorators","_feedbackDisabled_decorators","_revealAllSources_decorators","_textStrings_decorators","Object","_closeText_decorators","String","__limitCount_decorators","state","_limitRevealed_decorators","__textStrings_decorators","__selectedFeedbackType_decorators","__sourceEls_decorators","queryAssignedElements","slot","_thumbsUpClickCount_decorators","_thumbsDownClickCount_decorators","__esDecorate","kind","name","static","private","access","obj","metadata","_metadata","_thumbsDownClickCount_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","stylesheet"],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
/**
|
|
3
3
|
* The global Footer component.
|
|
4
|
-
* @fires on-root-link-click - Captures the logo link click event and emits the original event.
|
|
4
|
+
* @fires on-root-link-click - Captures the logo link click event and emits the original event. `detail:{ origEvent: Event}`
|
|
5
5
|
* @slot unnamed - Default slot, for links.
|
|
6
6
|
* @slot logo - Slot for the logo, will overwrite the default logo.
|
|
7
7
|
* @slot copyright - Slot for the copyright text.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.js","sources":["../../../../src/components/global/footer/footer.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport logo from '@kyndryl-design-system/shidoka-foundation/assets/svg/kyndryl-logo.svg';\nimport FooterScss from './footer.scss?inline';\n\n/**\n * The global Footer component.\n * @fires on-root-link-click - Captures the logo link click event and emits the original event
|
|
1
|
+
{"version":3,"file":"footer.js","sources":["../../../../src/components/global/footer/footer.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport logo from '@kyndryl-design-system/shidoka-foundation/assets/svg/kyndryl-logo.svg';\nimport FooterScss from './footer.scss?inline';\n\n/**\n * The global Footer component.\n * @fires on-root-link-click - Captures the logo link click event and emits the original event. `detail:{ origEvent: Event}`\n * @slot unnamed - Default slot, for links.\n * @slot logo - Slot for the logo, will overwrite the default logo.\n * @slot copyright - Slot for the copyright text.\n */\n@customElement('kyn-footer')\nexport class Footer extends LitElement {\n static override styles = unsafeCSS(FooterScss);\n\n /** URL for the footer logo link. Should target the application home page. */\n @property({ type: String })\n accessor rootUrl = '/';\n\n /** Sets aria label attribute for logo link. */\n @property({ type: String })\n accessor logoAriaLabel = '';\n\n override render() {\n const classes = {\n footer: true,\n };\n\n return html`\n <footer class=\"${classMap(classes)}\">\n <div>\n <div class=\"footer-links\"><slot></slot></div>\n <div class=\"copyright\"><slot name=\"copyright\"></slot></div>\n </div>\n\n <div class=\"logo-container\">\n <a\n href=\"${this.rootUrl}\"\n class=\"logo-link\"\n @click=\"${(e: Event) => this.handleRootLinkClick(e)}\"\n aria-label=${this.logoAriaLabel}\n >\n <slot name=\"logo\">${unsafeHTML(logo)}</slot>\n </a>\n </div>\n </footer>\n `;\n }\n\n private handleRootLinkClick(e: Event) {\n const event = new CustomEvent('on-root-link-click', {\n detail: { origEvent: e },\n });\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-footer': Footer;\n }\n}\n"],"names":["Footer","customElement","LitElement","_classThis","_classSuper","rootUrl","__classPrivateFieldGet","this","_Footer_rootUrl_accessor_storage","value","__classPrivateFieldSet","logoAriaLabel","_Footer_logoAriaLabel_accessor_storage","render","html","classMap","footer","e","handleRootLinkClick","unsafeHTML","logo","event","CustomEvent","detail","origEvent","dispatchEvent","set","__runInitializers","_rootUrl_initializers","_rootUrl_extraInitializers","_logoAriaLabel_initializers","_rootUrl_decorators","property","type","String","_logoAriaLabel_decorators","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","_logoAriaLabel_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","FooterScss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAeaA,EAAM,6BADlBC,EAAc,sBACaC,6BAARC,EAAA,cAAQC,EAK1B,WAASC,GAAO,OAAAC,EAAAC,KAAAC,EAAA,IAAA,CAAhB,WAASH,CAAOI,GAAAC,EAAAH,KAAAC,EAAAC,EAAA,IAAA,CAIhB,iBAASE,GAAa,OAAAL,EAAAC,KAAAK,EAAA,IAAA,CAAtB,iBAASD,CAAaF,GAAAC,EAAAH,KAAAK,EAAAH,EAAA,IAAA,CAEb,MAAAI,GAKP,OAAOC,CAAI;uBACQC,EALH,CACdC,QAAQ;;;;;;;;oBAYMT,KAAKF;;sBAEFY,GAAaV,KAAKW,oBAAoBD;yBACpCV,KAAKI;;gCAEEQ,EAAWC;;;;MAOjC,mBAAAF,CAAoBD,GAC1B,MAAMI,EAAQ,IAAIC,YAAY,qBAAsB,CAClDC,OAAQ,CAAEC,UAAWP,KAEvBV,KAAKkB,cAAcJ,qCApCZb,EAAAkB,IAAAnB,KAAAoB,EAAApB,KAAAqB,EAAU,MAIVhB,EAAAc,IAAAnB,MAAAoB,EAAApB,KAAAsB,GAAAF,EAAApB,KAAAuB,EAAgB,kMALxBC,EAAA,CAAAC,EAAS,CAAEC,KAAMC,UAIjBC,EAAA,CAAAH,EAAS,CAAEC,KAAMC,UAHlBE,EAAAjC,EAAA,KAAA4B,EAAA,CAAAM,KAAA,WAAAC,KAAA,UAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,YAAAA,EAAAC,IAAAD,GAAAA,EAAStC,QAAOqB,IAAA,CAAAiB,EAAAlC,KAAAkC,EAAPtC,QAAOI,CAAA,GAAAoC,SAAAC,GAAAlB,EAAAC,GAIhBO,EAAAjC,EAAA,KAAAgC,EAAA,CAAAE,KAAA,WAAAC,KAAA,gBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,kBAAAA,EAAAC,IAAAD,GAAAA,EAAShC,cAAae,IAAA,CAAAiB,EAAAlC,KAAAkC,EAAbhC,cAAaF,CAAA,GAAAoC,SAAAC,GAAAhB,EAAAiB,GATxBX,EAAA,KAAAY,EAAA,CAAAvC,MAAAN,GAAA8C,EAAA,CAAAZ,KAAA,QAAAC,KAAAnC,EAAAmC,KAAAO,SAAAC,GAAA,KAAAI,iHACkB/C,EAAAgD,OAASC,EAAUC,GADxB1B,EAAAxB,EAAA+C,MAAM"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
/**
|
|
3
3
|
* The global Header component.
|
|
4
|
-
* @fires on-menu-toggle - Captures the menu toggle click event and emits the menu open state in the detail.
|
|
5
|
-
* @fires on-root-link-click - Captures the logo link click event and emits the original event details.
|
|
4
|
+
* @fires on-menu-toggle - Captures the menu toggle click event and emits the menu open state in the detail. `detail:{ origEvent: Event}`
|
|
5
|
+
* @fires on-root-link-click - Captures the logo link click event and emits the original event details. `detail:{ origEvent: Event}`
|
|
6
6
|
* @slot unnamed - The default slot for all empty space right of the logo/title.
|
|
7
7
|
* @slot logo - Slot for the logo, will overwrite the default logo.
|
|
8
8
|
* @slot left - Slot left of the logo, intended for the header nav.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sources":["../../../../src/components/global/header/header.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport HeaderScss from './header.scss?inline';\nimport logo from '@kyndryl-design-system/shidoka-foundation/assets/svg/kyndryl-logo.svg';\n\n/**\n * The global Header component.\n * @fires on-menu-toggle - Captures the menu toggle click event and emits the menu open state in the detail
|
|
1
|
+
{"version":3,"file":"header.js","sources":["../../../../src/components/global/header/header.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { unsafeHTML } from 'lit-html/directives/unsafe-html.js';\nimport HeaderScss from './header.scss?inline';\nimport logo from '@kyndryl-design-system/shidoka-foundation/assets/svg/kyndryl-logo.svg';\n\n/**\n * The global Header component.\n * @fires on-menu-toggle - Captures the menu toggle click event and emits the menu open state in the detail. `detail:{ origEvent: Event}`\n * @fires on-root-link-click - Captures the logo link click event and emits the original event details. `detail:{ origEvent: Event}`\n * @slot unnamed - The default slot for all empty space right of the logo/title.\n * @slot logo - Slot for the logo, will overwrite the default logo.\n * @slot left - Slot left of the logo, intended for the header nav.\n * @slot center - Slot between logo/title and right flyouts.\n */\n@customElement('kyn-header')\nexport class Header extends LitElement {\n static override styles = unsafeCSS(HeaderScss);\n\n /** URL for the header logo link. Should target the application home page. */\n @property({ type: String })\n accessor rootUrl = '/';\n\n /** App title text next to logo. Hidden on smaller screens. */\n @property({ type: String })\n accessor appTitle = '';\n\n /** Queries for slotted header-nav.\n * @internal\n */\n @queryAssignedElements({ selector: 'kyn-header-nav' })\n accessor navEls!: any;\n\n /** Queries for all slotted elements.\n * @internal\n */\n @queryAssignedElements()\n accessor assignedElements!: any;\n\n /** Queries for elements in left slot.\n * @internal\n */\n @queryAssignedElements({ slot: 'left' })\n accessor leftEls!: any;\n\n /** header-nav open state\n * @internal\n */\n @state()\n accessor _navOpen = false;\n\n /** header-flyouts open state\n * @internal\n */\n @state()\n accessor _flyoutsOpen = false;\n\n override render() {\n const classes = {\n header: true,\n 'left-slotted': this.leftEls.length,\n 'child-open': this._navOpen || this._flyoutsOpen,\n };\n\n return html`\n <header class=\"${classMap(classes)}\">\n <slot name=\"left\" @slotchange=${this.handleSlotChange}></slot>\n\n <a\n href=\"${this.rootUrl}\"\n class=\"logo-link interactive\"\n @click=\"${(e: Event) => this.handleRootLinkClick(e)}\"\n >\n <slot name=\"logo\" @slotchange=${this.handleSlotChange}>\n ${unsafeHTML(logo)}\n </slot>\n\n <span class=\"title\">${this.appTitle}</span>\n </a>\n\n <slot name=\"center\"></slot>\n\n <div class=\"header__right\">\n <slot @slotchange=${this.handleSlotChange}></slot>\n </div>\n </header>\n `;\n }\n\n private handleSlotChange() {\n this.requestUpdate();\n }\n\n private handleRootLinkClick(e: Event) {\n const event = new CustomEvent('on-root-link-click', {\n detail: { origEvent: e },\n });\n this.dispatchEvent(event);\n }\n\n private _handleNavToggle(e: any) {\n this._navOpen = e.detail.open;\n }\n\n private _handleFlyoutsToggle(e: any) {\n this._flyoutsOpen = e.detail.open;\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n document.addEventListener('on-nav-toggle', (e: Event) =>\n this._handleNavToggle(e)\n );\n document.addEventListener('on-flyouts-toggle', (e: Event) =>\n this._handleFlyoutsToggle(e)\n );\n }\n\n override disconnectedCallback() {\n document.removeEventListener('on-nav-toggle', (e: Event) =>\n this._handleNavToggle(e)\n );\n document.removeEventListener('on-flyouts-toggle', (e: Event) =>\n this._handleFlyoutsToggle(e)\n );\n\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header': Header;\n }\n}\n"],"names":["Header","customElement","LitElement","_classThis","_classSuper","rootUrl","__classPrivateFieldGet","this","_Header_rootUrl_accessor_storage","value","__classPrivateFieldSet","appTitle","_Header_appTitle_accessor_storage","navEls","_Header_navEls_accessor_storage","assignedElements","_Header_assignedElements_accessor_storage","leftEls","_Header_leftEls_accessor_storage","_navOpen","_Header__navOpen_accessor_storage","_flyoutsOpen","_Header__flyoutsOpen_accessor_storage","render","classes","header","length","html","classMap","handleSlotChange","e","handleRootLinkClick","unsafeHTML","logo","requestUpdate","event","CustomEvent","detail","origEvent","dispatchEvent","_handleNavToggle","open","_handleFlyoutsToggle","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","set","__runInitializers","_rootUrl_initializers","_rootUrl_extraInitializers","_appTitle_initializers","_appTitle_extraInitializers","_navEls_initializers","_navEls_extraInitializers","_assignedElements_initializers","_assignedElements_extraInitializers","_leftEls_initializers","_leftEls_extraInitializers","__navOpen_initializers","__navOpen_extraInitializers","__flyoutsOpen_initializers","_rootUrl_decorators","property","type","String","_appTitle_decorators","_navEls_decorators","queryAssignedElements","selector","_assignedElements_decorators","_leftEls_decorators","slot","__navOpen_decorators","state","__flyoutsOpen_decorators","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","__flyoutsOpen_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderScss"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { LitElement } from 'lit';
|
|
|
2
2
|
import '../../reusable/textInput';
|
|
3
3
|
/**
|
|
4
4
|
* Component for navigation links within the Header.
|
|
5
|
-
* @fires on-click - Captures the click event and emits the original event details.
|
|
5
|
+
* @fires on-click - Captures the click event and emits the original event details. `detail:{ origEvent: Event ,defaultPrevented: boolean}`
|
|
6
6
|
* @slot unnamed - Slot for link text/content.
|
|
7
7
|
* @slot links - Slot for sublinks (up to two levels).
|
|
8
8
|
* @slot icon - Slot for icon.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerLink.js","sources":["../../../../src/components/global/header/headerLink.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { debounce } from '../../../common/helpers/helpers';\nimport HeaderLinkScss from './headerLink.scss?inline';\nimport '../../reusable/textInput';\nimport arrowIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-right.svg';\nimport backIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/arrow-left.svg';\nimport searchIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/search.svg';\n\n/**\n * Component for navigation links within the Header.\n * @fires on-click - Captures the click event and emits the original event details.\n * @slot unnamed - Slot for link text/content.\n * @slot links - Slot for sublinks (up to two levels).\n * @slot icon - Slot for icon.\n */\n@customElement('kyn-header-link')\nexport class HeaderLink extends LitElement {\n static override styles = unsafeCSS(HeaderLinkScss);\n\n /** Link open state. */\n @property({ type: Boolean })\n accessor open = false;\n\n /** Link url. */\n @property({ type: String })\n accessor href = '';\n\n /** Defines a target attribute for where to load the URL. Possible options include \"_self\" (default), \"_blank\", \"_parent\", \"_top\" */\n @property({ type: String })\n accessor target = '_self' as const;\n\n /** Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship */\n @property({ type: String })\n accessor rel = '';\n\n /** Link active state, for example when URL path matches link href. */\n @property({ type: Boolean })\n accessor isActive = false;\n\n /** Link level, supports two levels.\n * @ignore\n */\n @state()\n accessor level = 1;\n\n /** DEPRECATED. Adds a 1px shadow to the bottom of the link. */\n @property({ type: Boolean })\n accessor divider = false;\n\n /** Label for sub-menu link search input, which is visible with > 5 sub-links. */\n @property({ type: String })\n accessor searchLabel = 'Search';\n\n /** Number of child links required to show search input. */\n @property({ type: Number })\n accessor searchThreshold = 6;\n\n /** Text for mobile \"Back\" button. */\n @property({ type: String })\n accessor backText = 'Back';\n\n /** Add left padding when icon is not provided to align text with links that do have icons. */\n @property({ type: Boolean })\n accessor leftPadding = false;\n\n /** Text for mobile \"Back\" button. */\n @state()\n accessor _searchTerm = '';\n\n /**\n * Queries any slotted HTML elements.\n * @ignore\n */\n @queryAssignedElements({ slot: 'links' })\n accessor slottedEls!: Array<HTMLElement>;\n\n /** Timeout function to delay flyout open.\n * @internal\n */\n _enterTimer: any;\n\n /** Timeout function to delay flyout close.\n * @internal\n */\n @state()\n accessor _leaveTimer: any;\n\n /** Menu positioning\n * @internal\n */\n @state()\n accessor menuPosition: any = {};\n\n override render() {\n const classes = {\n menu: this.slottedEls.length,\n [`level--${this.level}`]: true,\n divider: this.divider,\n open: this.open,\n };\n\n const linkClasses = {\n 'nav-link': true,\n active: this.isActive,\n interactive: this.level == 1,\n 'padding-left': this.leftPadding,\n };\n\n const menuClasses = {\n menu__content: true,\n slotted: this.slottedEls.length,\n };\n\n const Links = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n return html`\n <div\n class=\"${classMap(classes)}\"\n @pointerleave=${(e: PointerEvent) => this.handlePointerLeave(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <a\n target=${this.target}\n rel=${this.rel}\n href=${this.href}\n class=${classMap(linkClasses)}\n @click=${(e: Event) => this.handleClick(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <slot></slot>\n\n ${this.slottedEls.length\n ? html` <span class=\"arrow\">${unsafeSVG(arrowIcon)}</span> `\n : null}\n </a>\n\n <div\n class=${classMap(menuClasses)}\n style=${`top: ${this.menuPosition.top}px; left: ${this.menuPosition.left}px;`}\n >\n <button class=\"go-back\" @click=${() => this._handleBack()}>\n <span>${unsafeSVG(backIcon)}</span>\n ${this.backText}\n </button>\n\n ${Links.length >= this.searchThreshold\n ? html`\n <kyn-text-input\n hideLabel\n size=\"sm\"\n label=${this.searchLabel}\n placeholder=${this.searchLabel}\n value=${this._searchTerm}\n @on-input=${(e: Event) => this._handleSearch(e)}\n >\n <span slot=\"icon\" class=\"search-icon\">\n ${unsafeSVG(searchIcon)}\n </span>\n ${this.searchLabel}\n </kyn-text-input>\n `\n : null}\n\n <slot name=\"links\" @slotchange=${this._handleLinksSlotChange}></slot>\n </div>\n </div>\n `;\n }\n\n private _handleSearch(e: any) {\n this._searchTerm = e.detail.value.toLowerCase();\n this._searchFilter();\n }\n\n private _searchFilter() {\n const Links: any = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n Links.forEach((link: any) => {\n // get link text\n const nodes: any = link.shadowRoot?.querySelector('slot')?.assignedNodes({\n flatten: true,\n });\n let linkText = '';\n for (let i = 0; i < nodes.length; i++) {\n linkText += nodes[i].textContent.trim();\n }\n\n if (linkText.toLowerCase().includes(this._searchTerm)) {\n link.style.display = 'block';\n } else {\n link.style.display = 'none';\n }\n });\n\n this._positionMenu();\n }\n\n private _handleBack() {\n this.open = false;\n }\n\n private _handleLinksSlotChange() {\n this.requestUpdate();\n }\n\n private handlePointerEnter(e: PointerEvent) {\n if (e.pointerType === 'mouse' && this.slottedEls.length) {\n clearTimeout(this._leaveTimer);\n\n this._enterTimer = setTimeout(() => {\n this.open = true;\n }, 150);\n }\n }\n\n private handlePointerLeave(e: PointerEvent) {\n if (\n e.pointerType === 'mouse' &&\n this.slottedEls.length &&\n this._searchTerm === ''\n ) {\n clearTimeout(this._enterTimer);\n\n this._leaveTimer = setTimeout(() => {\n this.open = false;\n }, 150);\n }\n }\n\n private handleClick(e: Event) {\n let preventDefault = false;\n\n if (this.slottedEls.length) {\n preventDefault = true;\n e.preventDefault();\n this.open = !this.open;\n }\n\n const event = new CustomEvent('on-click', {\n detail: { origEvent: e, defaultPrevented: preventDefault },\n });\n this.dispatchEvent(event);\n }\n\n private handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n this._searchTerm = '';\n this._searchFilter();\n }\n }\n\n private determineLevel() {\n const ParentNode: any = this.parentNode;\n const GrandparentNode: any = ParentNode.parentNode;\n\n if (ParentNode.nodeName === 'KYN-HEADER-LINK') {\n this.level = ParentNode.level + 1;\n } else if (\n ParentNode.nodeName === 'KYN-HEADER-CATEGORY' &&\n GrandparentNode.nodeName === 'KYN-HEADER-LINK'\n ) {\n this.level = GrandparentNode.level + 1;\n } else {\n if (\n window.innerWidth < 672 &&\n ParentNode.nodeName === 'KYN-HEADER-FLYOUT'\n ) {\n this.level = 2;\n } else {\n this.level = 1;\n }\n }\n }\n\n private _positionMenu() {\n // determine submenu positioning\n const LinkBounds: any = this.getBoundingClientRect();\n const MenuBounds: any = this.shadowRoot\n ?.querySelector('.menu__content')\n ?.getBoundingClientRect();\n const Padding = 8;\n const HeaderHeight = 56;\n\n const LinkHalf = LinkBounds.top + LinkBounds.height / 2;\n const MenuHalf = MenuBounds.height / 2;\n\n const Top =\n LinkHalf + MenuHalf > window.innerHeight\n ? LinkHalf - MenuHalf - (LinkHalf + MenuHalf - window.innerHeight)\n : LinkHalf - MenuHalf;\n\n this.menuPosition = {\n top: Top < HeaderHeight ? HeaderHeight : Top,\n left: LinkBounds.right + Padding,\n };\n }\n\n /** @internal */\n private _debounceResize = debounce(() => {\n this.determineLevel();\n });\n\n override firstUpdated() {\n this.determineLevel();\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('open') && this.open) {\n this._positionMenu();\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n document.addEventListener('click', (e) => this.handleClickOut(e));\n\n window?.addEventListener('resize', this._debounceResize);\n }\n\n override disconnectedCallback() {\n document.removeEventListener('click', (e) => this.handleClickOut(e));\n\n window?.removeEventListener('resize', this._debounceResize);\n\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header-link': HeaderLink;\n }\n}\n"],"names":["HeaderLink","customElement","LitElement","_classThis","_classSuper","_HeaderLink_open_accessor_storage","set","this","__runInitializers","_open_initializers","_HeaderLink_href_accessor_storage","_open_extraInitializers","_href_initializers","_HeaderLink_target_accessor_storage","_href_extraInitializers","_target_initializers","_HeaderLink_rel_accessor_storage","_target_extraInitializers","_rel_initializers","_HeaderLink_isActive_accessor_storage","_rel_extraInitializers","_isActive_initializers","_HeaderLink_level_accessor_storage","_isActive_extraInitializers","_level_initializers","_HeaderLink_divider_accessor_storage","_level_extraInitializers","_divider_initializers","_HeaderLink_searchLabel_accessor_storage","_divider_extraInitializers","_searchLabel_initializers","_HeaderLink_searchThreshold_accessor_storage","_searchLabel_extraInitializers","_searchThreshold_initializers","_HeaderLink_backText_accessor_storage","_searchThreshold_extraInitializers","_backText_initializers","_HeaderLink_leftPadding_accessor_storage","_backText_extraInitializers","_leftPadding_initializers","_HeaderLink__searchTerm_accessor_storage","_leftPadding_extraInitializers","__searchTerm_initializers","_HeaderLink_slottedEls_accessor_storage","__searchTerm_extraInitializers","_slottedEls_initializers","_enterTimer","_slottedEls_extraInitializers","_HeaderLink__leaveTimer_accessor_storage","__leaveTimer_initializers","_HeaderLink_menuPosition_accessor_storage","__leaveTimer_extraInitializers","_menuPosition_initializers","_debounceResize","_menuPosition_extraInitializers","debounce","determineLevel","open","__classPrivateFieldGet","value","__classPrivateFieldSet","href","target","rel","isActive","level","divider","searchLabel","searchThreshold","backText","leftPadding","_searchTerm","slottedEls","_leaveTimer","menuPosition","render","classes","menu","length","linkClasses","active","interactive","menuClasses","menu__content","slotted","Links","querySelectorAll","html","classMap","e","handlePointerLeave","handlePointerEnter","handleClick","unsafeSVG","arrowIcon","top","left","_handleBack","backIcon","_handleSearch","searchIcon","_handleLinksSlotChange","detail","toLowerCase","_searchFilter","forEach","link","nodes","_b","_a","shadowRoot","querySelector","assignedNodes","flatten","linkText","i","textContent","trim","includes","style","display","_positionMenu","requestUpdate","pointerType","clearTimeout","setTimeout","preventDefault","event","CustomEvent","origEvent","defaultPrevented","dispatchEvent","handleClickOut","composedPath","ParentNode","parentNode","GrandparentNode","nodeName","window","innerWidth","LinkBounds","getBoundingClientRect","MenuBounds","LinkHalf","height","MenuHalf","Top","innerHeight","right","firstUpdated","willUpdate","changedProps","has","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","_open_decorators","property","type","Boolean","_href_decorators","String","_target_decorators","_rel_decorators","_isActive_decorators","_level_decorators","state","_divider_decorators","_searchLabel_decorators","_searchThreshold_decorators","Number","_backText_decorators","_leftPadding_decorators","__searchTerm_decorators","_slottedEls_decorators","queryAssignedElements","slot","__leaveTimer_decorators","_menuPosition_decorators","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderLinkScss"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"headerLink.js","sources":["../../../../src/components/global/header/headerLink.ts"],"sourcesContent":["import { unsafeSVG } from 'lit-html/directives/unsafe-svg.js';\nimport { LitElement, html, unsafeCSS } from 'lit';\nimport {\n customElement,\n property,\n state,\n queryAssignedElements,\n} from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { debounce } from '../../../common/helpers/helpers';\nimport HeaderLinkScss from './headerLink.scss?inline';\nimport '../../reusable/textInput';\nimport arrowIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/chevron-right.svg';\nimport backIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/arrow-left.svg';\nimport searchIcon from '@kyndryl-design-system/shidoka-icons/svg/monochrome/16/search.svg';\n\n/**\n * Component for navigation links within the Header.\n * @fires on-click - Captures the click event and emits the original event details. `detail:{ origEvent: Event ,defaultPrevented: boolean}`\n * @slot unnamed - Slot for link text/content.\n * @slot links - Slot for sublinks (up to two levels).\n * @slot icon - Slot for icon.\n */\n@customElement('kyn-header-link')\nexport class HeaderLink extends LitElement {\n static override styles = unsafeCSS(HeaderLinkScss);\n\n /** Link open state. */\n @property({ type: Boolean })\n accessor open = false;\n\n /** Link url. */\n @property({ type: String })\n accessor href = '';\n\n /** Defines a target attribute for where to load the URL. Possible options include \"_self\" (default), \"_blank\", \"_parent\", \"_top\" */\n @property({ type: String })\n accessor target = '_self' as const;\n\n /** Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship */\n @property({ type: String })\n accessor rel = '';\n\n /** Link active state, for example when URL path matches link href. */\n @property({ type: Boolean })\n accessor isActive = false;\n\n /** Link level, supports two levels.\n * @ignore\n */\n @state()\n accessor level = 1;\n\n /** DEPRECATED. Adds a 1px shadow to the bottom of the link. */\n @property({ type: Boolean })\n accessor divider = false;\n\n /** Label for sub-menu link search input, which is visible with > 5 sub-links. */\n @property({ type: String })\n accessor searchLabel = 'Search';\n\n /** Number of child links required to show search input. */\n @property({ type: Number })\n accessor searchThreshold = 6;\n\n /** Text for mobile \"Back\" button. */\n @property({ type: String })\n accessor backText = 'Back';\n\n /** Add left padding when icon is not provided to align text with links that do have icons. */\n @property({ type: Boolean })\n accessor leftPadding = false;\n\n /** Text for mobile \"Back\" button. */\n @state()\n accessor _searchTerm = '';\n\n /**\n * Queries any slotted HTML elements.\n * @ignore\n */\n @queryAssignedElements({ slot: 'links' })\n accessor slottedEls!: Array<HTMLElement>;\n\n /** Timeout function to delay flyout open.\n * @internal\n */\n _enterTimer: any;\n\n /** Timeout function to delay flyout close.\n * @internal\n */\n @state()\n accessor _leaveTimer: any;\n\n /** Menu positioning\n * @internal\n */\n @state()\n accessor menuPosition: any = {};\n\n override render() {\n const classes = {\n menu: this.slottedEls.length,\n [`level--${this.level}`]: true,\n divider: this.divider,\n open: this.open,\n };\n\n const linkClasses = {\n 'nav-link': true,\n active: this.isActive,\n interactive: this.level == 1,\n 'padding-left': this.leftPadding,\n };\n\n const menuClasses = {\n menu__content: true,\n slotted: this.slottedEls.length,\n };\n\n const Links = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n return html`\n <div\n class=\"${classMap(classes)}\"\n @pointerleave=${(e: PointerEvent) => this.handlePointerLeave(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <a\n target=${this.target}\n rel=${this.rel}\n href=${this.href}\n class=${classMap(linkClasses)}\n @click=${(e: Event) => this.handleClick(e)}\n @pointerenter=${(e: PointerEvent) => this.handlePointerEnter(e)}\n >\n <slot></slot>\n\n ${this.slottedEls.length\n ? html` <span class=\"arrow\">${unsafeSVG(arrowIcon)}</span> `\n : null}\n </a>\n\n <div\n class=${classMap(menuClasses)}\n style=${`top: ${this.menuPosition.top}px; left: ${this.menuPosition.left}px;`}\n >\n <button class=\"go-back\" @click=${() => this._handleBack()}>\n <span>${unsafeSVG(backIcon)}</span>\n ${this.backText}\n </button>\n\n ${Links.length >= this.searchThreshold\n ? html`\n <kyn-text-input\n hideLabel\n size=\"sm\"\n label=${this.searchLabel}\n placeholder=${this.searchLabel}\n value=${this._searchTerm}\n @on-input=${(e: Event) => this._handleSearch(e)}\n >\n <span slot=\"icon\" class=\"search-icon\">\n ${unsafeSVG(searchIcon)}\n </span>\n ${this.searchLabel}\n </kyn-text-input>\n `\n : null}\n\n <slot name=\"links\" @slotchange=${this._handleLinksSlotChange}></slot>\n </div>\n </div>\n `;\n }\n\n private _handleSearch(e: any) {\n this._searchTerm = e.detail.value.toLowerCase();\n this._searchFilter();\n }\n\n private _searchFilter() {\n const Links: any = this.querySelectorAll(\n ':scope > kyn-header-link, :scope > kyn-header-category > kyn-header-link'\n );\n\n Links.forEach((link: any) => {\n // get link text\n const nodes: any = link.shadowRoot?.querySelector('slot')?.assignedNodes({\n flatten: true,\n });\n let linkText = '';\n for (let i = 0; i < nodes.length; i++) {\n linkText += nodes[i].textContent.trim();\n }\n\n if (linkText.toLowerCase().includes(this._searchTerm)) {\n link.style.display = 'block';\n } else {\n link.style.display = 'none';\n }\n });\n\n this._positionMenu();\n }\n\n private _handleBack() {\n this.open = false;\n }\n\n private _handleLinksSlotChange() {\n this.requestUpdate();\n }\n\n private handlePointerEnter(e: PointerEvent) {\n if (e.pointerType === 'mouse' && this.slottedEls.length) {\n clearTimeout(this._leaveTimer);\n\n this._enterTimer = setTimeout(() => {\n this.open = true;\n }, 150);\n }\n }\n\n private handlePointerLeave(e: PointerEvent) {\n if (\n e.pointerType === 'mouse' &&\n this.slottedEls.length &&\n this._searchTerm === ''\n ) {\n clearTimeout(this._enterTimer);\n\n this._leaveTimer = setTimeout(() => {\n this.open = false;\n }, 150);\n }\n }\n\n private handleClick(e: Event) {\n let preventDefault = false;\n\n if (this.slottedEls.length) {\n preventDefault = true;\n e.preventDefault();\n this.open = !this.open;\n }\n\n const event = new CustomEvent('on-click', {\n detail: { origEvent: e, defaultPrevented: preventDefault },\n });\n this.dispatchEvent(event);\n }\n\n private handleClickOut(e: Event) {\n if (!e.composedPath().includes(this)) {\n this.open = false;\n this._searchTerm = '';\n this._searchFilter();\n }\n }\n\n private determineLevel() {\n const ParentNode: any = this.parentNode;\n const GrandparentNode: any = ParentNode.parentNode;\n\n if (ParentNode.nodeName === 'KYN-HEADER-LINK') {\n this.level = ParentNode.level + 1;\n } else if (\n ParentNode.nodeName === 'KYN-HEADER-CATEGORY' &&\n GrandparentNode.nodeName === 'KYN-HEADER-LINK'\n ) {\n this.level = GrandparentNode.level + 1;\n } else {\n if (\n window.innerWidth < 672 &&\n ParentNode.nodeName === 'KYN-HEADER-FLYOUT'\n ) {\n this.level = 2;\n } else {\n this.level = 1;\n }\n }\n }\n\n private _positionMenu() {\n // determine submenu positioning\n const LinkBounds: any = this.getBoundingClientRect();\n const MenuBounds: any = this.shadowRoot\n ?.querySelector('.menu__content')\n ?.getBoundingClientRect();\n const Padding = 8;\n const HeaderHeight = 56;\n\n const LinkHalf = LinkBounds.top + LinkBounds.height / 2;\n const MenuHalf = MenuBounds.height / 2;\n\n const Top =\n LinkHalf + MenuHalf > window.innerHeight\n ? LinkHalf - MenuHalf - (LinkHalf + MenuHalf - window.innerHeight)\n : LinkHalf - MenuHalf;\n\n this.menuPosition = {\n top: Top < HeaderHeight ? HeaderHeight : Top,\n left: LinkBounds.right + Padding,\n };\n }\n\n /** @internal */\n private _debounceResize = debounce(() => {\n this.determineLevel();\n });\n\n override firstUpdated() {\n this.determineLevel();\n }\n\n override willUpdate(changedProps: any) {\n if (changedProps.has('open') && this.open) {\n this._positionMenu();\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n\n document.addEventListener('click', (e) => this.handleClickOut(e));\n\n window?.addEventListener('resize', this._debounceResize);\n }\n\n override disconnectedCallback() {\n document.removeEventListener('click', (e) => this.handleClickOut(e));\n\n window?.removeEventListener('resize', this._debounceResize);\n\n super.disconnectedCallback();\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header-link': HeaderLink;\n }\n}\n"],"names":["HeaderLink","customElement","LitElement","_classThis","_classSuper","_HeaderLink_open_accessor_storage","set","this","__runInitializers","_open_initializers","_HeaderLink_href_accessor_storage","_open_extraInitializers","_href_initializers","_HeaderLink_target_accessor_storage","_href_extraInitializers","_target_initializers","_HeaderLink_rel_accessor_storage","_target_extraInitializers","_rel_initializers","_HeaderLink_isActive_accessor_storage","_rel_extraInitializers","_isActive_initializers","_HeaderLink_level_accessor_storage","_isActive_extraInitializers","_level_initializers","_HeaderLink_divider_accessor_storage","_level_extraInitializers","_divider_initializers","_HeaderLink_searchLabel_accessor_storage","_divider_extraInitializers","_searchLabel_initializers","_HeaderLink_searchThreshold_accessor_storage","_searchLabel_extraInitializers","_searchThreshold_initializers","_HeaderLink_backText_accessor_storage","_searchThreshold_extraInitializers","_backText_initializers","_HeaderLink_leftPadding_accessor_storage","_backText_extraInitializers","_leftPadding_initializers","_HeaderLink__searchTerm_accessor_storage","_leftPadding_extraInitializers","__searchTerm_initializers","_HeaderLink_slottedEls_accessor_storage","__searchTerm_extraInitializers","_slottedEls_initializers","_enterTimer","_slottedEls_extraInitializers","_HeaderLink__leaveTimer_accessor_storage","__leaveTimer_initializers","_HeaderLink_menuPosition_accessor_storage","__leaveTimer_extraInitializers","_menuPosition_initializers","_debounceResize","_menuPosition_extraInitializers","debounce","determineLevel","open","__classPrivateFieldGet","value","__classPrivateFieldSet","href","target","rel","isActive","level","divider","searchLabel","searchThreshold","backText","leftPadding","_searchTerm","slottedEls","_leaveTimer","menuPosition","render","classes","menu","length","linkClasses","active","interactive","menuClasses","menu__content","slotted","Links","querySelectorAll","html","classMap","e","handlePointerLeave","handlePointerEnter","handleClick","unsafeSVG","arrowIcon","top","left","_handleBack","backIcon","_handleSearch","searchIcon","_handleLinksSlotChange","detail","toLowerCase","_searchFilter","forEach","link","nodes","_b","_a","shadowRoot","querySelector","assignedNodes","flatten","linkText","i","textContent","trim","includes","style","display","_positionMenu","requestUpdate","pointerType","clearTimeout","setTimeout","preventDefault","event","CustomEvent","origEvent","defaultPrevented","dispatchEvent","handleClickOut","composedPath","ParentNode","parentNode","GrandparentNode","nodeName","window","innerWidth","LinkBounds","getBoundingClientRect","MenuBounds","LinkHalf","height","MenuHalf","Top","innerHeight","right","firstUpdated","willUpdate","changedProps","has","connectedCallback","super","document","addEventListener","disconnectedCallback","removeEventListener","_open_decorators","property","type","Boolean","_href_decorators","String","_target_decorators","_rel_decorators","_isActive_decorators","_level_decorators","state","_divider_decorators","_searchLabel_decorators","_searchThreshold_decorators","Number","_backText_decorators","_leftPadding_decorators","__searchTerm_decorators","_slottedEls_decorators","queryAssignedElements","slot","__leaveTimer_decorators","_menuPosition_decorators","__esDecorate","kind","name","static","private","access","obj","get","metadata","_metadata","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderLinkScss"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import '../../reusable/button';
|
|
|
4
4
|
* Component for notification panel within the Header.
|
|
5
5
|
* @slot menu-slot - Slot for panel menu
|
|
6
6
|
* @slot unnamed - Slot for notification content.
|
|
7
|
-
* @fires on-footer-btn-click - Emits the panel footer button event.
|
|
7
|
+
* @fires on-footer-btn-click - Emits the panel footer button event. `detail:{ origEvent: Event }`
|
|
8
8
|
*/
|
|
9
9
|
export declare class HeaderNotificationPanel extends LitElement {
|
|
10
10
|
static styles: import("lit").CSSResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerNotificationPanel.js","sources":["../../../../src/components/global/header/headerNotificationPanel.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../reusable/button';\n\nimport HeaderNotificationPanelScss from './headerNotificationPanel.scss?inline';\n\n/**\n * Component for notification panel within the Header.\n * @slot menu-slot - Slot for panel menu\n * @slot unnamed - Slot for notification content.\n * @fires on-footer-btn-click - Emits the panel footer button event
|
|
1
|
+
{"version":3,"file":"headerNotificationPanel.js","sources":["../../../../src/components/global/header/headerNotificationPanel.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport '../../reusable/button';\n\nimport HeaderNotificationPanelScss from './headerNotificationPanel.scss?inline';\n\n/**\n * Component for notification panel within the Header.\n * @slot menu-slot - Slot for panel menu\n * @slot unnamed - Slot for notification content.\n * @fires on-footer-btn-click - Emits the panel footer button event. `detail:{ origEvent: Event }`\n */\n\n@customElement('kyn-header-notification-panel')\nexport class HeaderNotificationPanel extends LitElement {\n static override styles = unsafeCSS(HeaderNotificationPanelScss);\n\n /** Notification panel Title. */\n @property({ type: String })\n accessor panelTitle = '';\n\n /** Notification panel footer button text. */\n @property({ type: String })\n accessor panelFooterBtnText = '';\n\n /** Hide notification panel footer */\n @property({ type: Boolean })\n accessor hidePanelFooter = false;\n\n override render() {\n return html` <div class=\"panel-wrapper\">\n <header class=\"panel-header-wrapper\">\n <div class=\"panel-header\">\n <div class=\"panel-left\">\n <h1 class=\"panel-header-text\">${this.panelTitle}</h1>\n </div>\n <div class=\"panel-left-slot\">\n <slot name=\"menu-slot\"></slot>\n </div>\n </div>\n\n <hr class=\"panel-divider\" />\n </header>\n\n <div class=\"panel-body\">\n <slot></slot>\n </div>\n ${this.hidePanelFooter\n ? null\n : html` <div class=\"panel-footer\">\n <kyn-button\n kind=\"ghost\"\n @click=${(e: Event) => this._handlefooterBtnEvent(e)}\n >${this.panelFooterBtnText}</kyn-button\n >\n </div>`}\n </div>`;\n }\n\n // emit event on footer buton click\n private _handlefooterBtnEvent(e: any) {\n const event = new CustomEvent('on-footer-btn-click', {\n detail: {\n origEvent: e,\n },\n });\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header-notification-panel': HeaderNotificationPanel;\n }\n}\n"],"names":["HeaderNotificationPanel","customElement","LitElement","_classThis","_classSuper","panelTitle","__classPrivateFieldGet","this","_HeaderNotificationPanel_panelTitle_accessor_storage","value","__classPrivateFieldSet","panelFooterBtnText","_HeaderNotificationPanel_panelFooterBtnText_accessor_storage","hidePanelFooter","_HeaderNotificationPanel_hidePanelFooter_accessor_storage","render","html","e","_handlefooterBtnEvent","event","CustomEvent","detail","origEvent","dispatchEvent","set","__runInitializers","_panelTitle_initializers","_panelTitle_extraInitializers","_panelFooterBtnText_initializers","_panelFooterBtnText_extraInitializers","_hidePanelFooter_initializers","_panelTitle_decorators","property","type","String","_panelFooterBtnText_decorators","_hidePanelFooter_decorators","Boolean","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","_hidePanelFooter_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderNotificationPanelScss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAcaA,EAAuB,iCADnCC,EAAc,yCAC8BC,uCAARC,EAAA,cAAQC,EAK3C,cAASC,GAAU,OAAAC,EAAAC,KAAAC,EAAA,IAAA,CAAnB,cAASH,CAAUI,GAAAC,EAAAH,KAAAC,EAAAC,EAAA,IAAA,CAInB,sBAASE,GAAkB,OAAAL,EAAAC,KAAAK,EAAA,IAAA,CAA3B,sBAASD,CAAkBF,GAAAC,EAAAH,KAAAK,EAAAH,EAAA,IAAA,CAI3B,mBAASI,GAAe,OAAAP,EAAAC,KAAAO,EAAA,IAAA,CAAxB,mBAASD,CAAeJ,GAAAC,EAAAH,KAAAO,EAAAL,EAAA,IAAA,CAEf,MAAAM,GACP,OAAOC,CAAI;;;;4CAI6BT,KAAKF;;;;;;;;;;;;;QAazCE,KAAKM,gBACH,KACAG,CAAI;;;uBAGUC,GAAaV,KAAKW,sBAAsBD;iBAC/CV,KAAKI;;;YAOZ,qBAAAO,CAAsBD,GAC5B,MAAME,EAAQ,IAAIC,YAAY,sBAAuB,CACnDC,OAAQ,CACNC,UAAWL,KAGfV,KAAKgB,cAAcJ,qCA/CZX,EAAAgB,IAAAjB,KAAAkB,EAAAlB,KAAAmB,EAAa,KAIbd,EAAAY,IAAAjB,MAAAkB,EAAAlB,KAAAoB,GAAAF,EAAAlB,KAAAqB,EAAqB,MAIrBd,EAAAU,IAAAjB,MAAAkB,EAAAlB,KAAAsB,GAAAJ,EAAAlB,KAAAuB,GAAkB,gOAT1BC,EAAA,CAAAC,EAAS,CAAEC,KAAMC,UAIjBC,EAAA,CAAAH,EAAS,CAAEC,KAAMC,UAIjBE,EAAA,CAAAJ,EAAS,CAAEC,KAAMI,WAPlBC,EAAAnC,EAAA,KAAA4B,EAAA,CAAAQ,KAAA,WAAAC,KAAA,aAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,eAAAA,EAAAC,IAAAD,GAAAA,EAASxC,WAAUmB,IAAA,CAAAqB,EAAApC,KAAAoC,EAAVxC,WAAUI,CAAA,GAAAsC,SAAAC,GAAAtB,EAAAC,GAInBW,EAAAnC,EAAA,KAAAgC,EAAA,CAAAI,KAAA,WAAAC,KAAA,qBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,uBAAAA,EAAAC,IAAAD,GAAAA,EAASlC,mBAAkBa,IAAA,CAAAqB,EAAApC,KAAAoC,EAAlBlC,mBAAkBF,CAAA,GAAAsC,SAAAC,GAAApB,EAAAC,GAI3BS,EAAAnC,EAAA,KAAAiC,EAAA,CAAAG,KAAA,WAAAC,KAAA,kBAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,oBAAAA,EAAAC,IAAAD,GAAAA,EAAShC,gBAAeW,IAAA,CAAAqB,EAAApC,KAAAoC,EAAfhC,gBAAeJ,CAAA,GAAAsC,SAAAC,GAAAlB,EAAAmB,GAb1BX,EAAA,KAAAY,EAAA,CAAAzC,MAAAN,GAAAgD,EAAA,CAAAZ,KAAA,QAAAC,KAAArC,EAAAqC,KAAAO,SAAAC,GAAA,KAAAI,iHACkBjD,EAAAkD,OAASC,EAAUC,GADxB9B,EAAAtB,EAAAiD,MAAuB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
2
|
/**
|
|
3
3
|
* Header fly-out panel link.
|
|
4
|
-
* @fires on-click - Captures the click event and emits the original event details.
|
|
4
|
+
* @fires on-click - Captures the click event and emits the original event details. `detail:{ origEvent: Event }`
|
|
5
5
|
* @slot unnamed - Slot for link text/content.
|
|
6
6
|
*/
|
|
7
7
|
export declare class HeaderPanelLink extends LitElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerPanelLink.js","sources":["../../../../src/components/global/header/headerPanelLink.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport HeaderPanelLinkScss from './headerPanelLink.scss?inline';\n\n/**\n * Header fly-out panel link.\n * @fires on-click - Captures the click event and emits the original event details
|
|
1
|
+
{"version":3,"file":"headerPanelLink.js","sources":["../../../../src/components/global/header/headerPanelLink.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport HeaderPanelLinkScss from './headerPanelLink.scss?inline';\n\n/**\n * Header fly-out panel link.\n * @fires on-click - Captures the click event and emits the original event details. `detail:{ origEvent: Event }`\n * @slot unnamed - Slot for link text/content.\n */\n@customElement('kyn-header-panel-link')\nexport class HeaderPanelLink extends LitElement {\n static override styles = unsafeCSS(HeaderPanelLinkScss);\n\n /** Link url. */\n @property({ type: String })\n accessor href = '';\n\n /** Defines a target attribute for where to load the URL. Possible options include \"_self\" (default), \"_blank\", \"_parent\", \"_top\" */\n @property({ type: String })\n accessor target = '_self' as const;\n\n /** Defines a relationship between a linked resource and the document. An empty string (default) means no particular relationship */\n @property({ type: String })\n accessor rel = '';\n\n override render() {\n return html`\n <a\n target=${this.target}\n rel=${this.rel}\n href=${this.href}\n @click=${(e: Event) => this.handleClick(e)}\n >\n <slot></slot>\n </a>\n `;\n }\n\n private handleClick(e: Event) {\n const event = new CustomEvent('on-click', {\n detail: { origEvent: e },\n });\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header-panel-link': HeaderPanelLink;\n }\n}\n"],"names":["HeaderPanelLink","customElement","LitElement","_classThis","_classSuper","href","__classPrivateFieldGet","this","_HeaderPanelLink_href_accessor_storage","value","__classPrivateFieldSet","target","_HeaderPanelLink_target_accessor_storage","rel","_HeaderPanelLink_rel_accessor_storage","render","html","e","handleClick","event","CustomEvent","detail","origEvent","dispatchEvent","set","__runInitializers","_href_initializers","_href_extraInitializers","_target_initializers","_target_extraInitializers","_rel_initializers","_href_decorators","property","type","String","_target_decorators","_rel_decorators","__esDecorate","kind","name","static","private","access","has","obj","get","metadata","_metadata","_rel_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderPanelLinkScss"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAUaA,EAAe,iCAD3BC,EAAc,iCACsBC,uCAARC,EAAA,cAAQC,EAKnC,QAASC,GAAI,OAAAC,EAAAC,KAAAC,EAAA,IAAA,CAAb,QAASH,CAAII,GAAAC,EAAAH,KAAAC,EAAAC,EAAA,IAAA,CAIb,UAASE,GAAM,OAAAL,EAAAC,KAAAK,EAAA,IAAA,CAAf,UAASD,CAAMF,GAAAC,EAAAH,KAAAK,EAAAH,EAAA,IAAA,CAIf,OAASI,GAAG,OAAAP,EAAAC,KAAAO,EAAA,IAAA,CAAZ,OAASD,CAAGJ,GAAAC,EAAAH,KAAAO,EAAAL,EAAA,IAAA,CAEH,MAAAM,GACP,OAAOC,CAAI;;iBAEET,KAAKI;cACRJ,KAAKM;eACJN,KAAKF;iBACFY,GAAaV,KAAKW,YAAYD;;;;MAOtC,WAAAC,CAAYD,GAClB,MAAME,EAAQ,IAAIC,YAAY,WAAY,CACxCC,OAAQ,CAAEC,UAAWL,KAEvBV,KAAKgB,cAAcJ,qCA3BZX,EAAAgB,IAAAjB,KAAAkB,EAAAlB,KAAAmB,EAAO,KAIPd,EAAAY,IAAAjB,MAAAkB,EAAAlB,KAAAoB,GAAAF,EAAAlB,KAAAqB,EAAS,WAITd,EAAAU,IAAAjB,MAAAkB,EAAAlB,KAAAsB,GAAAJ,EAAAlB,KAAAuB,EAAM,yNATdC,EAAA,CAAAC,EAAS,CAAEC,KAAMC,UAIjBC,EAAA,CAAAH,EAAS,CAAEC,KAAMC,UAIjBE,EAAA,CAAAJ,EAAS,CAAEC,KAAMC,UAPlBG,EAAAlC,EAAA,KAAA4B,EAAA,CAAAO,KAAA,WAAAC,KAAA,OAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,SAAAA,EAAAC,IAAAD,GAAAA,EAASvC,KAAImB,IAAA,CAAAoB,EAAAnC,KAAAmC,EAAJvC,KAAII,CAAA,GAAAqC,SAAAC,GAAArB,EAAAC,GAIbU,EAAAlC,EAAA,KAAAgC,EAAA,CAAAG,KAAA,WAAAC,KAAA,SAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,WAAAA,EAAAC,IAAAD,GAAAA,EAASjC,OAAMa,IAAA,CAAAoB,EAAAnC,KAAAmC,EAANjC,OAAMF,CAAA,GAAAqC,SAAAC,GAAAnB,EAAAC,GAIfQ,EAAAlC,EAAA,KAAAiC,EAAA,CAAAE,KAAA,WAAAC,KAAA,MAAAC,QAAA,EAAAC,SAAA,EAAAC,OAAA,CAAAC,IAAAC,GAAA,QAAAA,EAAAC,IAAAD,GAAAA,EAAS/B,IAAGW,IAAA,CAAAoB,EAAAnC,KAAAmC,EAAH/B,IAAGJ,CAAA,GAAAqC,SAAAC,GAAAjB,EAAAkB,GAbdX,EAAA,KAAAY,EAAA,CAAAxC,MAAAN,GAAA+C,EAAA,CAAAZ,KAAA,QAAAC,KAAApC,EAAAoC,KAAAO,SAAAC,GAAA,KAAAI,iHACkBhD,EAAAiD,OAASC,EAAUC,GADxB7B,EAAAtB,EAAAgD,MAAe"}
|
|
@@ -2,7 +2,7 @@ import { LitElement } from 'lit';
|
|
|
2
2
|
import '../../reusable/link';
|
|
3
3
|
/**
|
|
4
4
|
* Header user profile.
|
|
5
|
-
* @fires on-profile-link-click - Captures the view profile link click event and emits the original event details.
|
|
5
|
+
* @fires on-profile-link-click - Captures the view profile link click event and emits the original event details. `detail:{ origEvent: Event }`
|
|
6
6
|
* @slot unnamed - Slot for the profile picture img.
|
|
7
7
|
*/
|
|
8
8
|
export declare class HeaderUserProfile extends LitElement {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headerUserProfile.js","sources":["../../../../src/components/global/header/headerUserProfile.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport HeaderUserProfileScss from './headerUserProfile.scss?inline';\nimport '../../reusable/link';\n\n/**\n * Header user profile.\n * @fires on-profile-link-click - Captures the view profile link click event and emits the original event details
|
|
1
|
+
{"version":3,"file":"headerUserProfile.js","sources":["../../../../src/components/global/header/headerUserProfile.ts"],"sourcesContent":["import { LitElement, html, unsafeCSS } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport HeaderUserProfileScss from './headerUserProfile.scss?inline';\nimport '../../reusable/link';\n\n/**\n * Header user profile.\n * @fires on-profile-link-click - Captures the view profile link click event and emits the original event details. `detail:{ origEvent: Event }`\n * @slot unnamed - Slot for the profile picture img.\n */\n@customElement('kyn-header-user-profile')\nexport class HeaderUserProfile extends LitElement {\n static override styles = unsafeCSS(HeaderUserProfileScss);\n\n /** The user's name. */\n @property({ type: String })\n accessor name = '';\n\n /** The user's job title, or subtext. */\n @property({ type: String })\n accessor subtitle = '';\n\n /** The user's email address. */\n @property({ type: String })\n accessor email = '';\n\n /** View profile link URL. */\n @property({ type: String })\n accessor profileLink = '';\n\n /** View Profile link text. */\n @property({ type: String })\n accessor profileLinkText = 'View Profile';\n\n override render() {\n return html`\n <div class=\"user-profile\">\n <div class=\"picture\"><slot></slot></div>\n\n <div class=\"info\">\n ${this.name !== ''\n ? html` <div class=\"name\">${this.name}</div>`\n : null}\n ${this.subtitle !== ''\n ? html` <div class=\"subtitle\">${this.subtitle}</div>`\n : null}\n ${this.email !== ''\n ? html`\n <div class=\"email\">\n <kyn-link standalone href=\"mailto:${this.email}\">\n ${this.email}\n </kyn-link>\n </div>\n `\n : null}\n </div>\n\n ${this.profileLink !== ''\n ? html`\n <div class=\"view-profile\">\n <kyn-link\n standalone\n href=${this.profileLink}\n @on-click=${(e: Event) => this._handleProfileClick(e)}\n >\n ${this.profileLinkText}\n </kyn-link>\n </div>\n `\n : null}\n </div>\n `;\n }\n\n private _handleProfileClick(e: any) {\n const event = new CustomEvent('on-profile-link-click', {\n detail: { origEvent: e },\n });\n this.dispatchEvent(event);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'kyn-header-user-profile': HeaderUserProfile;\n }\n}\n"],"names":["HeaderUserProfile","customElement","LitElement","_classThis","_classSuper","name","__classPrivateFieldGet","this","_HeaderUserProfile_name_accessor_storage","value","__classPrivateFieldSet","subtitle","_HeaderUserProfile_subtitle_accessor_storage","email","_HeaderUserProfile_email_accessor_storage","profileLink","_HeaderUserProfile_profileLink_accessor_storage","profileLinkText","_HeaderUserProfile_profileLinkText_accessor_storage","render","html","e","_handleProfileClick","event","CustomEvent","detail","origEvent","dispatchEvent","set","__runInitializers","_name_initializers","_name_extraInitializers","_subtitle_initializers","_subtitle_extraInitializers","_email_initializers","_email_extraInitializers","_profileLink_initializers","_profileLink_extraInitializers","_profileLinkText_initializers","_name_decorators","property","type","String","_subtitle_decorators","_email_decorators","_profileLink_decorators","_profileLinkText_decorators","__esDecorate","kind","static","private","access","has","obj","get","metadata","_metadata","_profileLinkText_extraInitializers","_classDescriptor","_classDecorators","_classExtraInitializers","styles","unsafeCSS","HeaderUserProfileScss"],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import '../../reusable/button';
|
|
|
4
4
|
* The global Side Navigation component.
|
|
5
5
|
* @slot unnamed - The default slot, for local nav links.
|
|
6
6
|
* @slot search - Slot for a search input
|
|
7
|
-
* @fires on-toggle - Captures the click event and emits the pinned state and original event details.
|
|
7
|
+
* @fires on-toggle - Captures the click event and emits the pinned state and original event details. `detail:{ pinned: boolean, origEvent: Event }`
|
|
8
8
|
*/
|
|
9
9
|
export declare class LocalNav extends LitElement {
|
|
10
10
|
static styles: import("lit").CSSResult;
|