@kyndryl-design-system/shidoka-applications 2.52.2 → 2.52.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (129) hide show
  1. package/common/helpers/helpers.d.ts +34 -0
  2. package/common/helpers/helpers.d.ts.map +1 -1
  3. package/common/helpers/helpers.js +1 -1
  4. package/common/helpers/helpers.js.map +1 -1
  5. package/common/mixins/form-input.d.ts.map +1 -1
  6. package/common/mixins/form-input.js +1 -1
  7. package/common/mixins/form-input.js.map +1 -1
  8. package/components/ai/sourcesFeedback/aiSourcesFeedback.d.ts +2 -2
  9. package/components/ai/sourcesFeedback/aiSourcesFeedback.d.ts.map +1 -1
  10. package/components/ai/sourcesFeedback/aiSourcesFeedback.js +0 -1
  11. package/components/ai/sourcesFeedback/aiSourcesFeedback.js.map +1 -1
  12. package/components/global/footer/footer.d.ts +1 -1
  13. package/components/global/footer/footer.js.map +1 -1
  14. package/components/global/header/header.d.ts +2 -2
  15. package/components/global/header/header.js.map +1 -1
  16. package/components/global/header/headerLink.d.ts +1 -1
  17. package/components/global/header/headerLink.js.map +1 -1
  18. package/components/global/header/headerNotificationPanel.d.ts +1 -1
  19. package/components/global/header/headerNotificationPanel.js.map +1 -1
  20. package/components/global/header/headerPanelLink.d.ts +1 -1
  21. package/components/global/header/headerPanelLink.js.map +1 -1
  22. package/components/global/header/headerUserProfile.d.ts +1 -1
  23. package/components/global/header/headerUserProfile.js.map +1 -1
  24. package/components/global/localNav/localNav.d.ts +1 -1
  25. package/components/global/localNav/localNav.js.map +1 -1
  26. package/components/global/localNav/localNavLink.d.ts +1 -1
  27. package/components/global/localNav/localNavLink.js.map +1 -1
  28. package/components/reusable/accordion/accordionItem.d.ts +1 -1
  29. package/components/reusable/accordion/accordionItem.js.map +1 -1
  30. package/components/reusable/button/button.d.ts +1 -1
  31. package/components/reusable/button/button.js.map +1 -1
  32. package/components/reusable/buttonGroup/buttonGroup.d.ts +1 -1
  33. package/components/reusable/buttonGroup/buttonGroup.js.map +1 -1
  34. package/components/reusable/card/card.d.ts +1 -1
  35. package/components/reusable/card/card.js.map +1 -1
  36. package/components/reusable/checkbox/checkboxGroup.d.ts +6 -3
  37. package/components/reusable/checkbox/checkboxGroup.d.ts.map +1 -1
  38. package/components/reusable/checkbox/checkboxGroup.js.map +1 -1
  39. package/components/reusable/colorInput/colorInput.d.ts +1 -1
  40. package/components/reusable/colorInput/colorInput.js.map +1 -1
  41. package/components/reusable/datePicker/datepicker.d.ts +3 -1
  42. package/components/reusable/datePicker/datepicker.d.ts.map +1 -1
  43. package/components/reusable/datePicker/datepicker.js +12 -4
  44. package/components/reusable/datePicker/datepicker.js.map +1 -1
  45. package/components/reusable/daterangepicker/daterangepicker.d.ts +3 -1
  46. package/components/reusable/daterangepicker/daterangepicker.d.ts.map +1 -1
  47. package/components/reusable/daterangepicker/daterangepicker.js +12 -1
  48. package/components/reusable/daterangepicker/daterangepicker.js.map +1 -1
  49. package/components/reusable/dropdown/dropdown.d.ts +7 -5
  50. package/components/reusable/dropdown/dropdown.d.ts.map +1 -1
  51. package/components/reusable/dropdown/dropdown.js.map +1 -1
  52. package/components/reusable/dropdown/dropdownOption.d.ts +2 -2
  53. package/components/reusable/dropdown/dropdownOption.js.map +1 -1
  54. package/components/reusable/fileUploader/fileUploader.d.ts +1 -1
  55. package/components/reusable/fileUploader/fileUploader.js.map +1 -1
  56. package/components/reusable/inlineConfirm/inlineConfirm.d.ts +1 -1
  57. package/components/reusable/inlineConfirm/inlineConfirm.js.map +1 -1
  58. package/components/reusable/link/link.d.ts +1 -1
  59. package/components/reusable/link/link.js.map +1 -1
  60. package/components/reusable/loaders/inline.d.ts +2 -2
  61. package/components/reusable/loaders/inline.js.map +1 -1
  62. package/components/reusable/loaders/loader.d.ts +2 -2
  63. package/components/reusable/loaders/loader.js.map +1 -1
  64. package/components/reusable/modal/modal.d.ts +1 -1
  65. package/components/reusable/modal/modal.js.map +1 -1
  66. package/components/reusable/multiInputField/multiInputField.d.ts +4 -3
  67. package/components/reusable/multiInputField/multiInputField.d.ts.map +1 -1
  68. package/components/reusable/multiInputField/multiInputField.js.map +1 -1
  69. package/components/reusable/notification/notification.d.ts +1 -1
  70. package/components/reusable/notification/notification.js.map +1 -1
  71. package/components/reusable/numberInput/numberInput.d.ts +3 -1
  72. package/components/reusable/numberInput/numberInput.d.ts.map +1 -1
  73. package/components/reusable/numberInput/numberInput.js.map +1 -1
  74. package/components/reusable/overflowMenu/overflowMenu.d.ts +1 -1
  75. package/components/reusable/overflowMenu/overflowMenu.js.map +1 -1
  76. package/components/reusable/overflowMenu/overflowMenuItem.d.ts +1 -1
  77. package/components/reusable/overflowMenu/overflowMenuItem.js.map +1 -1
  78. package/components/reusable/pagination/Pagination.d.ts +2 -2
  79. package/components/reusable/pagination/Pagination.js.map +1 -1
  80. package/components/reusable/popover/popover.d.ts +2 -2
  81. package/components/reusable/popover/popover.js.map +1 -1
  82. package/components/reusable/radioButton/radioButton.d.ts +1 -1
  83. package/components/reusable/radioButton/radioButton.js.map +1 -1
  84. package/components/reusable/radioButton/radioButtonGroup.d.ts +4 -1
  85. package/components/reusable/radioButton/radioButtonGroup.d.ts.map +1 -1
  86. package/components/reusable/radioButton/radioButtonGroup.js.map +1 -1
  87. package/components/reusable/search/search.d.ts +1 -1
  88. package/components/reusable/search/search.js.map +1 -1
  89. package/components/reusable/sideDrawer/sideDrawer.d.ts +1 -1
  90. package/components/reusable/sideDrawer/sideDrawer.js.map +1 -1
  91. package/components/reusable/sliderInput/sliderInput.d.ts +4 -1
  92. package/components/reusable/sliderInput/sliderInput.d.ts.map +1 -1
  93. package/components/reusable/sliderInput/sliderInput.js.map +1 -1
  94. package/components/reusable/splitButton/splitButtonOption.d.ts +1 -1
  95. package/components/reusable/splitButton/splitButtonOption.js.map +1 -1
  96. package/components/reusable/stepper/stepperItem.d.ts +1 -1
  97. package/components/reusable/stepper/stepperItem.js.map +1 -1
  98. package/components/reusable/stepper/stepperItemChild.d.ts +1 -1
  99. package/components/reusable/stepper/stepperItemChild.js.map +1 -1
  100. package/components/reusable/table/table-body.d.ts +1 -1
  101. package/components/reusable/table/table-body.js.map +1 -1
  102. package/components/reusable/table/table-header.d.ts +1 -1
  103. package/components/reusable/table/table-header.js.map +1 -1
  104. package/components/reusable/table/table.d.ts +2 -2
  105. package/components/reusable/tabs/tabs.d.ts +1 -1
  106. package/components/reusable/tabs/tabs.js.map +1 -1
  107. package/components/reusable/tag/tag.d.ts +2 -2
  108. package/components/reusable/tag/tag.js.map +1 -1
  109. package/components/reusable/textArea/textArea.d.ts +4 -1
  110. package/components/reusable/textArea/textArea.d.ts.map +1 -1
  111. package/components/reusable/textArea/textArea.js.map +1 -1
  112. package/components/reusable/textInput/textInput.d.ts +4 -1
  113. package/components/reusable/textInput/textInput.d.ts.map +1 -1
  114. package/components/reusable/textInput/textInput.js.map +1 -1
  115. package/components/reusable/timepicker/timepicker.d.ts +3 -1
  116. package/components/reusable/timepicker/timepicker.d.ts.map +1 -1
  117. package/components/reusable/timepicker/timepicker.js +12 -4
  118. package/components/reusable/timepicker/timepicker.js.map +1 -1
  119. package/components/reusable/toggleButton/toggleButton.d.ts +3 -1
  120. package/components/reusable/toggleButton/toggleButton.d.ts.map +1 -1
  121. package/components/reusable/toggleButton/toggleButton.js.map +1 -1
  122. package/components/reusable/tooltip/tooltip.d.ts +1 -1
  123. package/components/reusable/tooltip/tooltip.js.map +1 -1
  124. package/components/reusable/widget/widget.d.ts +1 -1
  125. package/components/reusable/widget/widget.js.map +1 -1
  126. package/components/reusable/widget/widgetGridstack.d.ts +2 -2
  127. package/components/reusable/widget/widgetGridstack.js.map +1 -1
  128. package/package.json +1 -1
  129. package/table-BSga3CPd.js.map +1 -1
@@ -36,4 +36,38 @@ export declare function createOptionsArray(options?: any): any;
36
36
  * the search term and the
37
37
  */
38
38
  export declare const filterLocalNavLinks: (linksArr: Array<any>, searchTerm: String, expandedAttr?: string, sublinksAttr?: string, textAttr?: string) => any[];
39
+ export declare const ValidationArgs: {
40
+ 'checkValidity()': {
41
+ description: string;
42
+ table: {
43
+ category: string;
44
+ };
45
+ type: string;
46
+ control: boolean;
47
+ };
48
+ 'reportValidity()': {
49
+ description: string;
50
+ table: {
51
+ category: string;
52
+ };
53
+ type: string;
54
+ control: boolean;
55
+ };
56
+ validity: {
57
+ description: string;
58
+ table: {
59
+ category: string;
60
+ };
61
+ type: string;
62
+ control: boolean;
63
+ };
64
+ validationMessage: {
65
+ description: string;
66
+ table: {
67
+ category: string;
68
+ };
69
+ type: string;
70
+ control: boolean;
71
+ };
72
+ };
39
73
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,IAAI,QAAQ,EAAE,WAAQ,MAE5B,GAAG,KAAK,SAI1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM;;CAE/C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,GAAQ,OAQnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,KAAK,CAAC,GAAG,CAAC,EACpB,YAAY,MAAM,EAClB,qBAAyB,EACzB,qBAAsB,EACtB,iBAAiB,UAyClB,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../src/common/helpers/helpers.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ,GAAI,IAAI,QAAQ,EAAE,WAAQ,MAE5B,GAAG,KAAK,SAI1B,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM;;CAE/C,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,GAAQ,OAQnD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,mBAAmB,GAC9B,UAAU,KAAK,CAAC,GAAG,CAAC,EACpB,YAAY,MAAM,EAClB,qBAAyB,EACzB,qBAAsB,EACtB,iBAAiB,UAyClB,CAAC;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC1B,CAAC"}
@@ -1,2 +1,2 @@
1
- const e=(e,t=100)=>{let n;return function(o){clearTimeout(n),n=setTimeout((()=>e.apply(o)),t)}},t=e=>({__html:e});function n(e={}){const t=[];return Object.keys(e).map((n=>{t.push(e[n])})),t}const o=(e,t,n="expanded",s="links",c="text")=>e.reduce(((e,r)=>{const i=o(r[s]||[],t,n,s,c);if(r[c].toLowerCase().includes(t.toLowerCase())||i.length){const o=Object.assign({},r);i.length&&(o[s]=i),window.innerWidth>=672&&o[s]&&o[s].length&&""!==t&&(o[n]=!0),e.push(o)}return e}),[]);export{n as createOptionsArray,e as debounce,o as filterLocalNavLinks,t as stringToReactHtml};
1
+ const e=(e,t=100)=>{let n;return function(o){clearTimeout(n),n=setTimeout((()=>e.apply(o)),t)}},t=e=>({__html:e});function n(e={}){const t=[];return Object.keys(e).map((n=>{t.push(e[n])})),t}const o=(e,t,n="expanded",i="links",r="text")=>e.reduce(((e,l)=>{const a=o(l[i]||[],t,n,i,r);if(l[r].toLowerCase().includes(t.toLowerCase())||a.length){const o=Object.assign({},l);a.length&&(o[i]=a),window.innerWidth>=672&&o[i]&&o[i].length&&""!==t&&(o[n]=!0),e.push(o)}return e}),[]),i={"checkValidity()":{description:"Checks the validity of the element and returns true if valid. Delegates to `ElementInternals.checkValidity()`. @returns {boolean} `true` if the element is valid; otherwise, `false`.",table:{category:"Methods"},type:"Function",control:!1},"reportValidity()":{description:"Checks the validity of the element and reports validation errors to the user. Delegates to `ElementInternals.reportValidity()`. @returns {boolean} `true` if the element is valid; otherwise, `false`.",table:{category:"Methods"},type:"Function",control:!1},validity:{description:"Returns the `ValidityState` object for the element. Delegates to `ElementInternals.validity`. Read-only getter.",table:{category:"Getters"},type:"ValidityState",control:!1},validationMessage:{description:"Returns the current validation message for the element. Delegates to `ElementInternals.validationMessage`. Read-only getter.",table:{category:"Getters"},type:"string",control:!1}};export{i as ValidationArgs,n as createOptionsArray,e as debounce,o as filterLocalNavLinks,t as stringToReactHtml};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../src/common/helpers/helpers.ts"],"sourcesContent":["export const debounce = (fn: Function, ms = 100) => {\n let timer: ReturnType<typeof setTimeout>;\n return function (e: Event) {\n clearTimeout(timer);\n timer = setTimeout(() => fn.apply(e), ms);\n };\n};\n\nexport const stringToReactHtml = (string: String) => {\n return { __html: string };\n};\n\n/**\n * Convert an object to an array of only its values.\n * Used when importing enums in component stories for populating argType dropdowns.\n * @param {*} options\n * imported enums object\n */\nexport function createOptionsArray(options: any = {}) {\n const optionsArray: any = [];\n\n Object.keys(options).map((key) => {\n optionsArray.push(options[key]);\n });\n\n return optionsArray;\n}\n\n/**\n * The function `filterLocalNavLinks` filters an array of navigation links based on a search term and\n * recursively filters sublinks.\n * @param linksArr - The `linksArr` parameter is an array of objects representing navigation links.\n * Each object in the array may contain sublinks, text content, and an expanded attribute.\n * @param {String} searchTerm - The `searchTerm` parameter is a string that represents the search term\n * or keyword that will be used to filter the navigation links. The function will filter out any\n * navigation links that do not match this search term.\n * @param [expandedAttr=expanded] - The `expandedAttr` parameter in the `filterLocalNavLinks` function\n * is used to specify the attribute name that determines whether a navigation link is expanded or not.\n * By default, the value of `expandedAttr` is set to 'expanded'. This attribute is used to control the\n * visibility of sublinks.\n * @param [sublinksAttr=links] - The `sublinksAttr` parameter in the `filterLocalNavLinks` function\n * refers to the attribute name that contains sublinks within each link object in the `linksArr` array.\n * This parameter allows the function to recursively filter through nested sublinks to find matches\n * based on the search term provided.\n * @param [textAttr=text] - The `textAttr` parameter in the `filterLocalNavLinks` function represents\n * the attribute name that holds the text content of each link in the `linksArr` array. This attribute\n * is used to check if the text content of a link includes the `searchTerm` provided for filtering\n * purposes.\n * @returns The `filterLocalNavLinks` function is returning an array of filtered navigation links based\n * on the search term provided. The function recursively filters through the array of links and their\n * sublinks to find matches with the search term. It returns an array of link objects that match the\n * search term or have sublinks that match the search term. If a link object has sublinks that match\n * the search term and the\n */\nexport const filterLocalNavLinks = (\n linksArr: Array<any>,\n searchTerm: String,\n expandedAttr = 'expanded',\n sublinksAttr = 'links',\n textAttr = 'text'\n) => {\n return linksArr.reduce((result: Array<any>, link) => {\n // rescurse through links array subtree\n const Links = filterLocalNavLinks(\n link[sublinksAttr] || [],\n searchTerm,\n expandedAttr,\n sublinksAttr,\n textAttr\n );\n\n // check for links that match searchTerm\n if (\n link[textAttr].toLowerCase().includes(searchTerm.toLowerCase()) ||\n Links.length\n ) {\n // generate new link object\n const LinkObj = Object.assign({}, link);\n\n // add sublinks to link object if present\n if (Links.length) {\n LinkObj[sublinksAttr] = Links;\n }\n\n // expand sub-menus on larger screens if present\n if (\n window.innerWidth >= 672 &&\n LinkObj[sublinksAttr] &&\n LinkObj[sublinksAttr].length &&\n searchTerm !== ''\n ) {\n LinkObj[expandedAttr] = true;\n }\n\n // add link object to final result\n result.push(LinkObj);\n }\n\n return result;\n }, []);\n};\n"],"names":["debounce","fn","ms","timer","e","clearTimeout","setTimeout","apply","stringToReactHtml","string","__html","createOptionsArray","options","optionsArray","Object","keys","map","key","push","filterLocalNavLinks","linksArr","searchTerm","expandedAttr","sublinksAttr","textAttr","reduce","result","link","Links","toLowerCase","includes","length","LinkObj","assign","window","innerWidth"],"mappings":"AAAO,MAAMA,EAAW,CAACC,EAAcC,EAAK,OAC1C,IAAIC,EACJ,OAAO,SAAUC,GACfC,aAAaF,GACbA,EAAQG,YAAW,IAAML,EAAGM,MAAMH,IAAIF,EACxC,CAAC,EAGUM,EAAqBC,IACzB,CAAEC,OAAQD,IASb,SAAUE,EAAmBC,EAAe,IAChD,MAAMC,EAAoB,GAM1B,OAJAC,OAAOC,KAAKH,GAASI,KAAKC,IACxBJ,EAAaK,KAAKN,EAAQK,GAAK,IAG1BJ,CACT,OA4BaM,EAAsB,CACjCC,EACAC,EACAC,EAAe,WACfC,EAAe,QACfC,EAAW,SAEJJ,EAASK,QAAO,CAACC,EAAoBC,KAE1C,MAAMC,EAAQT,EACZQ,EAAKJ,IAAiB,GACtBF,EACAC,EACAC,EACAC,GAIF,GACEG,EAAKH,GAAUK,cAAcC,SAAST,EAAWQ,gBACjDD,EAAMG,OACN,CAEA,MAAMC,EAAUlB,OAAOmB,OAAO,CAAA,EAAIN,GAG9BC,EAAMG,SACRC,EAAQT,GAAgBK,GAKxBM,OAAOC,YAAc,KACrBH,EAAQT,IACRS,EAAQT,GAAcQ,QACP,KAAfV,IAEAW,EAAQV,IAAgB,GAI1BI,EAAOR,KAAKc,GAGd,OAAON,CAAM,GACZ"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../src/common/helpers/helpers.ts"],"sourcesContent":["export const debounce = (fn: Function, ms = 100) => {\n let timer: ReturnType<typeof setTimeout>;\n return function (e: Event) {\n clearTimeout(timer);\n timer = setTimeout(() => fn.apply(e), ms);\n };\n};\n\nexport const stringToReactHtml = (string: String) => {\n return { __html: string };\n};\n\n/**\n * Convert an object to an array of only its values.\n * Used when importing enums in component stories for populating argType dropdowns.\n * @param {*} options\n * imported enums object\n */\nexport function createOptionsArray(options: any = {}) {\n const optionsArray: any = [];\n\n Object.keys(options).map((key) => {\n optionsArray.push(options[key]);\n });\n\n return optionsArray;\n}\n\n/**\n * The function `filterLocalNavLinks` filters an array of navigation links based on a search term and\n * recursively filters sublinks.\n * @param linksArr - The `linksArr` parameter is an array of objects representing navigation links.\n * Each object in the array may contain sublinks, text content, and an expanded attribute.\n * @param {String} searchTerm - The `searchTerm` parameter is a string that represents the search term\n * or keyword that will be used to filter the navigation links. The function will filter out any\n * navigation links that do not match this search term.\n * @param [expandedAttr=expanded] - The `expandedAttr` parameter in the `filterLocalNavLinks` function\n * is used to specify the attribute name that determines whether a navigation link is expanded or not.\n * By default, the value of `expandedAttr` is set to 'expanded'. This attribute is used to control the\n * visibility of sublinks.\n * @param [sublinksAttr=links] - The `sublinksAttr` parameter in the `filterLocalNavLinks` function\n * refers to the attribute name that contains sublinks within each link object in the `linksArr` array.\n * This parameter allows the function to recursively filter through nested sublinks to find matches\n * based on the search term provided.\n * @param [textAttr=text] - The `textAttr` parameter in the `filterLocalNavLinks` function represents\n * the attribute name that holds the text content of each link in the `linksArr` array. This attribute\n * is used to check if the text content of a link includes the `searchTerm` provided for filtering\n * purposes.\n * @returns The `filterLocalNavLinks` function is returning an array of filtered navigation links based\n * on the search term provided. The function recursively filters through the array of links and their\n * sublinks to find matches with the search term. It returns an array of link objects that match the\n * search term or have sublinks that match the search term. If a link object has sublinks that match\n * the search term and the\n */\nexport const filterLocalNavLinks = (\n linksArr: Array<any>,\n searchTerm: String,\n expandedAttr = 'expanded',\n sublinksAttr = 'links',\n textAttr = 'text'\n) => {\n return linksArr.reduce((result: Array<any>, link) => {\n // rescurse through links array subtree\n const Links = filterLocalNavLinks(\n link[sublinksAttr] || [],\n searchTerm,\n expandedAttr,\n sublinksAttr,\n textAttr\n );\n\n // check for links that match searchTerm\n if (\n link[textAttr].toLowerCase().includes(searchTerm.toLowerCase()) ||\n Links.length\n ) {\n // generate new link object\n const LinkObj = Object.assign({}, link);\n\n // add sublinks to link object if present\n if (Links.length) {\n LinkObj[sublinksAttr] = Links;\n }\n\n // expand sub-menus on larger screens if present\n if (\n window.innerWidth >= 672 &&\n LinkObj[sublinksAttr] &&\n LinkObj[sublinksAttr].length &&\n searchTerm !== ''\n ) {\n LinkObj[expandedAttr] = true;\n }\n\n // add link object to final result\n result.push(LinkObj);\n }\n\n return result;\n }, []);\n};\n\nexport const ValidationArgs = {\n 'checkValidity()': {\n description:\n 'Checks the validity of the element and returns true if valid. Delegates to `ElementInternals.checkValidity()`. @returns {boolean} `true` if the element is valid; otherwise, `false`.',\n table: {\n category: 'Methods',\n },\n type: 'Function',\n control: false,\n },\n 'reportValidity()': {\n description:\n 'Checks the validity of the element and reports validation errors to the user. Delegates to `ElementInternals.reportValidity()`. @returns {boolean} `true` if the element is valid; otherwise, `false`.',\n table: {\n category: 'Methods',\n },\n type: 'Function',\n control: false,\n },\n validity: {\n description:\n 'Returns the `ValidityState` object for the element. Delegates to `ElementInternals.validity`. Read-only getter.',\n table: {\n category: 'Getters',\n },\n type: 'ValidityState',\n control: false,\n },\n validationMessage: {\n description:\n 'Returns the current validation message for the element. Delegates to `ElementInternals.validationMessage`. Read-only getter.',\n table: {\n category: 'Getters',\n },\n type: 'string',\n control: false,\n },\n};\n"],"names":["debounce","fn","ms","timer","e","clearTimeout","setTimeout","apply","stringToReactHtml","string","__html","createOptionsArray","options","optionsArray","Object","keys","map","key","push","filterLocalNavLinks","linksArr","searchTerm","expandedAttr","sublinksAttr","textAttr","reduce","result","link","Links","toLowerCase","includes","length","LinkObj","assign","window","innerWidth","ValidationArgs","description","table","category","type","control","validity","validationMessage"],"mappings":"AAAO,MAAMA,EAAW,CAACC,EAAcC,EAAK,OAC1C,IAAIC,EACJ,OAAO,SAAUC,GACfC,aAAaF,GACbA,EAAQG,YAAW,IAAML,EAAGM,MAAMH,IAAIF,EACxC,CAAC,EAGUM,EAAqBC,IACzB,CAAEC,OAAQD,IASb,SAAUE,EAAmBC,EAAe,IAChD,MAAMC,EAAoB,GAM1B,OAJAC,OAAOC,KAAKH,GAASI,KAAKC,IACxBJ,EAAaK,KAAKN,EAAQK,GAAK,IAG1BJ,CACT,OA4BaM,EAAsB,CACjCC,EACAC,EACAC,EAAe,WACfC,EAAe,QACfC,EAAW,SAEJJ,EAASK,QAAO,CAACC,EAAoBC,KAE1C,MAAMC,EAAQT,EACZQ,EAAKJ,IAAiB,GACtBF,EACAC,EACAC,EACAC,GAIF,GACEG,EAAKH,GAAUK,cAAcC,SAAST,EAAWQ,gBACjDD,EAAMG,OACN,CAEA,MAAMC,EAAUlB,OAAOmB,OAAO,CAAA,EAAIN,GAG9BC,EAAMG,SACRC,EAAQT,GAAgBK,GAKxBM,OAAOC,YAAc,KACrBH,EAAQT,IACRS,EAAQT,GAAcQ,QACP,KAAfV,IAEAW,EAAQV,IAAgB,GAI1BI,EAAOR,KAAKc,GAGd,OAAON,CAAM,GACZ,IAGQU,EAAiB,CAC5B,kBAAmB,CACjBC,YACE,wLACFC,MAAO,CACLC,SAAU,WAEZC,KAAM,WACNC,SAAS,GAEX,mBAAoB,CAClBJ,YACE,yMACFC,MAAO,CACLC,SAAU,WAEZC,KAAM,WACNC,SAAS,GAEXC,SAAU,CACRL,YACE,kHACFC,MAAO,CACLC,SAAU,WAEZC,KAAM,gBACNC,SAAS,GAEXE,kBAAmB,CACjBN,YACE,+HACFC,MAAO,CACLC,SAAU,WAEZC,KAAM,SACNC,SAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"form-input.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/form-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC,KAAK,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,UAAU,EAAE,GAAG,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,QAAQ,CAAC;IACzB,eAAe,EAAE,QAAQ,CAAC;IAC1B,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,QAAQ,CAAC;IACvB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KAsI/C,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAC5D,CAAC"}
1
+ {"version":3,"file":"form-input.d.ts","sourceRoot":"","sources":["../../../src/common/mixins/form-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAGjC,KAAK,WAAW,CAAC,CAAC,IAAI,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,kBAAkB;IACrC,UAAU,EAAE,GAAG,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,GAAG,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,QAAQ,CAAC;IACzB,eAAe,EAAE,QAAQ,CAAC;IAC1B,UAAU,EAAE,QAAQ,CAAC;IACrB,YAAY,EAAE,QAAQ,CAAC;IACvB,eAAe,EAAE,QAAQ,CAAC;CAC3B;AAED,eAAO,MAAM,SAAS,GAAI,CAAC,SAAS,WAAW,CAAC,UAAU,CAAC,EAAE,YAAY,CAAC,KA0K/C,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAC5D,CAAC"}
@@ -1,2 +1,2 @@
1
- import{b as t,c as e,d as a,a as i}from"../../vendor/tslib-Ac8XvvSX.js";import{a as s,n}from"../../vendor/@lit/reactive-element-f91Vet7N.js";import"../../vendor/lit-html-BRBT5o_V.js";import{i as l}from"../../vendor/lit-element-m-OqzV5s.js";const d=d=>(()=>{var r,o,h,c,v,m,_;let u,p,g,f,k,b,M=d,x=[],I=[],T=[],w=[],y=[],V=[],S=[],j=[],C=[],W=[],O=[],D=[];return r=class extends M{constructor(){super(...arguments),o.set(this,t(this,x,this.attachInternals())),h.set(this,(t(this,I),t(this,T,""))),c.set(this,(t(this,w),t(this,y,""))),v.set(this,(t(this,V),t(this,S,""))),m.set(this,(t(this,j),t(this,C,""))),_.set(this,(t(this,W),t(this,O,!1))),this._handleInvalid=(t(this,D),()=>{this._validate(!0,!1)})}get _internals(){return e(this,o,"f")}set _internals(t){a(this,o,t,"f")}get value(){return e(this,h,"f")}set value(t){a(this,h,t,"f")}get name(){return e(this,c,"f")}set name(t){a(this,c,t,"f")}get invalidText(){return e(this,v,"f")}set invalidText(t){a(this,v,t,"f")}get _internalValidationMsg(){return e(this,m,"f")}set _internalValidationMsg(t){a(this,m,t,"f")}get _isInvalid(){return e(this,_,"f")}set _isInvalid(t){a(this,_,t,"f")}_onUpdated(t){t.has("value")&&(this._internals.setFormValue(this.value),this._validate(!1,!1)),(t.has("invalidText")||t.has("_internalValidationMsg"))&&(this._isInvalid=""!==this.invalidText||""!==this._internalValidationMsg),t.has("invalidText")&&void 0!==t.get("invalidText")&&this._validate(!1,!1)}updated(t){this._onUpdated(t)}_onConnected(){this._internals.form&&this.addEventListener("invalid",this._handleInvalid)}connectedCallback(){super.connectedCallback(),this._onConnected()}_onDisconnected(){this._internals.form&&this.removeEventListener("invalid",this._handleInvalid)}disconnectedCallback(){this._onDisconnected(),super.disconnectedCallback()}},o=new WeakMap,h=new WeakMap,c=new WeakMap,v=new WeakMap,m=new WeakMap,_=new WeakMap,(()=>{var t;const e="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(t=M[Symbol.metadata])&&void 0!==t?t:null):void 0;u=[s()],p=[n({type:String})],g=[n({type:String})],f=[n({type:String})],k=[s()],b=[s()],i(r,null,u,{kind:"accessor",name:"_internals",static:!1,private:!1,access:{has:t=>"_internals"in t,get:t=>t._internals,set:(t,e)=>{t._internals=e}},metadata:e},x,I),i(r,null,p,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:t=>"value"in t,get:t=>t.value,set:(t,e)=>{t.value=e}},metadata:e},T,w),i(r,null,g,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:t=>"name"in t,get:t=>t.name,set:(t,e)=>{t.name=e}},metadata:e},y,V),i(r,null,f,{kind:"accessor",name:"invalidText",static:!1,private:!1,access:{has:t=>"invalidText"in t,get:t=>t.invalidText,set:(t,e)=>{t.invalidText=e}},metadata:e},S,j),i(r,null,k,{kind:"accessor",name:"_internalValidationMsg",static:!1,private:!1,access:{has:t=>"_internalValidationMsg"in t,get:t=>t._internalValidationMsg,set:(t,e)=>{t._internalValidationMsg=e}},metadata:e},C,W),i(r,null,b,{kind:"accessor",name:"_isInvalid",static:!1,private:!1,access:{has:t=>"_isInvalid"in t,get:t=>t._isInvalid,set:(t,e)=>{t._isInvalid=e}},metadata:e},O,D),e&&Object.defineProperty(r,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),r.shadowRootOptions={...l.shadowRootOptions,delegatesFocus:!0},r.formAssociated=!0,r})();export{d as FormMixin};
1
+ import{b as t,c as e,d as a,a as i}from"../../vendor/tslib-Ac8XvvSX.js";import{a as s,n}from"../../vendor/@lit/reactive-element-f91Vet7N.js";import"../../vendor/lit-html-BRBT5o_V.js";import{i as l}from"../../vendor/lit-element-m-OqzV5s.js";const r=r=>(()=>{var d,o,h,c,v,m,_;let u,p,g,f,k,M,b=r,y=[],V=[],x=[],I=[],T=[],w=[],S=[],j=[],C=[],W=[],O=[],D=[];return d=class extends b{constructor(){super(...arguments),o.set(this,t(this,y,this.attachInternals())),h.set(this,(t(this,V),t(this,x,""))),c.set(this,(t(this,I),t(this,T,""))),v.set(this,(t(this,w),t(this,S,""))),m.set(this,(t(this,j),t(this,C,""))),_.set(this,(t(this,W),t(this,O,!1))),this._handleInvalid=(t(this,D),()=>{this._validate(!0,!1)})}get _internals(){return e(this,o,"f")}set _internals(t){a(this,o,t,"f")}get value(){return e(this,h,"f")}set value(t){a(this,h,t,"f")}get name(){return e(this,c,"f")}set name(t){a(this,c,t,"f")}get invalidText(){return e(this,v,"f")}set invalidText(t){a(this,v,t,"f")}get _internalValidationMsg(){return e(this,m,"f")}set _internalValidationMsg(t){a(this,m,t,"f")}get _isInvalid(){return e(this,_,"f")}set _isInvalid(t){a(this,_,t,"f")}checkValidity(){return this._internals.checkValidity()}reportValidity(){return this._internals.reportValidity()}get validity(){return this._internals.validity}get validationMessage(){return this._internals.validationMessage}_onUpdated(t){t.has("value")&&(this._internals.setFormValue(this.value),this._validate(!1,!1)),(t.has("invalidText")||t.has("_internalValidationMsg"))&&(this._isInvalid=""!==this.invalidText||""!==this._internalValidationMsg),t.has("invalidText")&&void 0!==t.get("invalidText")&&this._validate(!1,!1)}updated(t){this._onUpdated(t)}_onConnected(){this._internals.form&&this.addEventListener("invalid",this._handleInvalid)}connectedCallback(){super.connectedCallback(),this._onConnected()}_onDisconnected(){this._internals.form&&this.removeEventListener("invalid",this._handleInvalid)}disconnectedCallback(){this._onDisconnected(),super.disconnectedCallback()}},o=new WeakMap,h=new WeakMap,c=new WeakMap,v=new WeakMap,m=new WeakMap,_=new WeakMap,(()=>{var t;const e="function"==typeof Symbol&&Symbol.metadata?Object.create(null!==(t=b[Symbol.metadata])&&void 0!==t?t:null):void 0;u=[s()],p=[n({type:String})],g=[n({type:String})],f=[n({type:String})],k=[s()],M=[s()],i(d,null,u,{kind:"accessor",name:"_internals",static:!1,private:!1,access:{has:t=>"_internals"in t,get:t=>t._internals,set:(t,e)=>{t._internals=e}},metadata:e},y,V),i(d,null,p,{kind:"accessor",name:"value",static:!1,private:!1,access:{has:t=>"value"in t,get:t=>t.value,set:(t,e)=>{t.value=e}},metadata:e},x,I),i(d,null,g,{kind:"accessor",name:"name",static:!1,private:!1,access:{has:t=>"name"in t,get:t=>t.name,set:(t,e)=>{t.name=e}},metadata:e},T,w),i(d,null,f,{kind:"accessor",name:"invalidText",static:!1,private:!1,access:{has:t=>"invalidText"in t,get:t=>t.invalidText,set:(t,e)=>{t.invalidText=e}},metadata:e},S,j),i(d,null,k,{kind:"accessor",name:"_internalValidationMsg",static:!1,private:!1,access:{has:t=>"_internalValidationMsg"in t,get:t=>t._internalValidationMsg,set:(t,e)=>{t._internalValidationMsg=e}},metadata:e},C,W),i(d,null,M,{kind:"accessor",name:"_isInvalid",static:!1,private:!1,access:{has:t=>"_isInvalid"in t,get:t=>t._isInvalid,set:(t,e)=>{t._isInvalid=e}},metadata:e},O,D),e&&Object.defineProperty(d,Symbol.metadata,{enumerable:!0,configurable:!0,writable:!0,value:e})})(),d.shadowRootOptions={...l.shadowRootOptions,delegatesFocus:!0},d.formAssociated=!0,d})();export{r as FormMixin};
2
2
  //# sourceMappingURL=form-input.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"form-input.js","sources":["../../../src/common/mixins/form-input.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\nexport declare class FormMixinInterface {\n _internals: any;\n name: string;\n value: any;\n invalidText: string;\n _internalValidationMsg: string;\n _isInvalid: boolean;\n _handleInvalid: Function;\n _handleFormdata: Function;\n _onUpdated: Function;\n _onConnected: Function;\n _onDisconnected: Function;\n}\n\nexport const FormMixin = <T extends Constructor<LitElement>>(superClass: T) => {\n abstract class FormMixinClass extends superClass {\n /**\n * Delegate focus internally.\n * @ignore */\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Associate the component with forms.\n * @ignore\n */\n static formAssociated = true;\n\n /**\n * Attached internals for form association.\n * @ignore\n */\n @state()\n accessor _internals = this.attachInternals();\n\n /** Input value. */\n @property({ type: String })\n accessor value = '';\n\n /** Input name. */\n @property({ type: String })\n accessor name = '';\n\n /** Input invalid text. */\n @property({ type: String })\n accessor invalidText = '';\n\n /**\n * Internal validation message.\n * @ignore\n */\n @state()\n accessor _internalValidationMsg = '';\n\n /**\n * isInvalid when internalValidationMsg or invalidText is non-empty.\n * @ignore\n */\n @state()\n accessor _isInvalid = false;\n\n // /** Handles the form element formdata event and appends the name/value. Alternative solution to internals.setFormValue.\n // * @internal\n // */\n // private _handleFormdata = (e: any) => {\n // e.formData.append(this.name, this.value);\n // };\n\n /** Handles the invalid event, triggered on form submit, and runs validation.\n * @internal\n */\n private _handleInvalid = () => {\n this._validate(true, false);\n };\n\n /** Component _validate function reference. */\n abstract _validate(interacted: Boolean, report: Boolean): void;\n\n private _onUpdated(changedProps: any) {\n if (changedProps.has('value')) {\n // set form value on element internals\n this._internals.setFormValue(this.value);\n\n // trigger validation\n this._validate(false, false);\n }\n\n if (\n changedProps.has('invalidText') ||\n changedProps.has('_internalValidationMsg')\n ) {\n // set _isInvalid prop based on internal or external invalid message presence\n this._isInvalid =\n this.invalidText !== '' || this._internalValidationMsg !== ''\n ? true\n : false;\n }\n\n if (\n changedProps.has('invalidText') &&\n changedProps.get('invalidText') !== undefined\n ) {\n this._validate(false, false);\n }\n }\n\n override updated(changedProps: any) {\n this._onUpdated(changedProps);\n }\n\n private _onConnected() {\n // attach event listeners if within a form\n if (this._internals.form) {\n // this._internals.form.addEventListener('formdata', (e) =>\n // this._handleFormdata(e)\n // );\n\n this.addEventListener('invalid', this._handleInvalid);\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this._onConnected();\n }\n\n private _onDisconnected() {\n // detach event listeners if within a form\n if (this._internals.form) {\n // this._internals.form.removeEventListener('formdata', (e) =>\n // this._handleFormdata(e)\n // );\n\n this.removeEventListener('invalid', this._handleInvalid);\n }\n }\n\n override disconnectedCallback(): void {\n this._onDisconnected();\n\n super.disconnectedCallback();\n }\n }\n\n // @ts-ignore\n return FormMixinClass as Constructor<FormMixinInterface> & T;\n};\n"],"names":["FormMixin","superClass","_a","_classSuper","_FormMixinClass__internals_accessor_storage","set","this","__runInitializers","__internals_initializers","attachInternals","_FormMixinClass_value_accessor_storage","__internals_extraInitializers","_value_initializers","_FormMixinClass_name_accessor_storage","_value_extraInitializers","_name_initializers","_FormMixinClass_invalidText_accessor_storage","_name_extraInitializers","_invalidText_initializers","_FormMixinClass__internalValidationMsg_accessor_storage","_invalidText_extraInitializers","__internalValidationMsg_initializers","_FormMixinClass__isInvalid_accessor_storage","__internalValidationMsg_extraInitializers","__isInvalid_initializers","_handleInvalid","__isInvalid_extraInitializers","_validate","_internals","__classPrivateFieldGet","value","__classPrivateFieldSet","name","invalidText","_internalValidationMsg","_isInvalid","_onUpdated","changedProps","has","setFormValue","undefined","get","updated","_onConnected","form","addEventListener","connectedCallback","super","_onDisconnected","removeEventListener","disconnectedCallback","__internals_decorators","state","_value_decorators","property","type","String","_name_decorators","_invalidText_decorators","__internalValidationMsg_decorators","__isInvalid_decorators","__esDecorate","kind","static","private","access","obj","metadata","_metadata","shadowRootOptions","LitElement","delegatesFocus","formAssociated"],"mappings":"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"}
1
+ {"version":3,"file":"form-input.js","sources":["../../../src/common/mixins/form-input.ts"],"sourcesContent":["import { LitElement } from 'lit';\nimport { property, state } from 'lit/decorators.js';\n\ntype Constructor<T> = new (...args: any[]) => T;\n\nexport declare class FormMixinInterface {\n _internals: any;\n name: string;\n value: any;\n invalidText: string;\n _internalValidationMsg: string;\n _isInvalid: boolean;\n _handleInvalid: Function;\n _handleFormdata: Function;\n _onUpdated: Function;\n _onConnected: Function;\n _onDisconnected: Function;\n}\n\nexport const FormMixin = <T extends Constructor<LitElement>>(superClass: T) => {\n abstract class FormMixinClass extends superClass {\n /**\n * Delegate focus internally.\n * @ignore */\n static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n /**\n * Associate the component with forms.\n * @ignore\n */\n static formAssociated = true;\n\n /**\n * Attached internals for form association.\n * @ignore\n */\n @state()\n accessor _internals = this.attachInternals();\n\n /** Input value. */\n @property({ type: String })\n accessor value = '';\n\n /** Input name. */\n @property({ type: String })\n accessor name = '';\n\n /** Input invalid text. */\n @property({ type: String })\n accessor invalidText = '';\n\n /**\n * Internal validation message.\n * @ignore\n */\n @state()\n accessor _internalValidationMsg = '';\n\n /**\n * isInvalid when internalValidationMsg or invalidText is non-empty.\n * @ignore\n */\n @state()\n accessor _isInvalid = false;\n\n /**\n * Checks the validity of the element and returns true if valid.\n * Delegates to ElementInternals.checkValidity().\n * @returns {boolean} True if the element is valid; otherwise, false.\n */\n checkValidity() {\n return this._internals.checkValidity();\n }\n\n /**\n * Checks the validity of the element and reports validation errors to the user.\n * Delegates to ElementInternals.reportValidity().\n * @returns {boolean} True if the element is valid; otherwise, false.\n */\n reportValidity() {\n return this._internals.reportValidity();\n }\n\n /**\n * Returns the ValidityState object for the element.\n * Delegates to ElementInternals.validity.\n * @returns {ValidityState} The validity state of the element.\n */\n public get validity() {\n return this._internals.validity;\n }\n\n /**\n * Returns the current validation message for the element.\n * Delegates to ElementInternals.validationMessage.\n * @returns {string} The validation message.\n */\n public get validationMessage() {\n return this._internals.validationMessage;\n }\n\n // /** Handles the form element formdata event and appends the name/value. Alternative solution to internals.setFormValue.\n // * @internal\n // */\n // private _handleFormdata = (e: any) => {\n // e.formData.append(this.name, this.value);\n // };\n\n /** Handles the invalid event, triggered on form submit, and runs validation.\n * @internal\n */\n private _handleInvalid = () => {\n this._validate(true, false);\n };\n\n /** Component _validate function reference. */\n abstract _validate(interacted: Boolean, report: Boolean): void;\n\n private _onUpdated(changedProps: any) {\n if (changedProps.has('value')) {\n // set form value on element internals\n this._internals.setFormValue(this.value);\n\n // trigger validation\n this._validate(false, false);\n }\n\n if (\n changedProps.has('invalidText') ||\n changedProps.has('_internalValidationMsg')\n ) {\n // set _isInvalid prop based on internal or external invalid message presence\n this._isInvalid =\n this.invalidText !== '' || this._internalValidationMsg !== ''\n ? true\n : false;\n }\n\n if (\n changedProps.has('invalidText') &&\n changedProps.get('invalidText') !== undefined\n ) {\n this._validate(false, false);\n }\n }\n\n override updated(changedProps: any) {\n this._onUpdated(changedProps);\n }\n\n private _onConnected() {\n // attach event listeners if within a form\n if (this._internals.form) {\n // this._internals.form.addEventListener('formdata', (e) =>\n // this._handleFormdata(e)\n // );\n\n this.addEventListener('invalid', this._handleInvalid);\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n\n this._onConnected();\n }\n\n private _onDisconnected() {\n // detach event listeners if within a form\n if (this._internals.form) {\n // this._internals.form.removeEventListener('formdata', (e) =>\n // this._handleFormdata(e)\n // );\n\n this.removeEventListener('invalid', this._handleInvalid);\n }\n }\n\n override disconnectedCallback(): void {\n this._onDisconnected();\n\n super.disconnectedCallback();\n }\n }\n\n // @ts-ignore\n return FormMixinClass as Constructor<FormMixinInterface> & T;\n};\n"],"names":["FormMixin","superClass","_a","_classSuper","_FormMixinClass__internals_accessor_storage","set","this","__runInitializers","__internals_initializers","attachInternals","_FormMixinClass_value_accessor_storage","__internals_extraInitializers","_value_initializers","_FormMixinClass_name_accessor_storage","_value_extraInitializers","_name_initializers","_FormMixinClass_invalidText_accessor_storage","_name_extraInitializers","_invalidText_initializers","_FormMixinClass__internalValidationMsg_accessor_storage","_invalidText_extraInitializers","__internalValidationMsg_initializers","_FormMixinClass__isInvalid_accessor_storage","__internalValidationMsg_extraInitializers","__isInvalid_initializers","_handleInvalid","__isInvalid_extraInitializers","_validate","_internals","__classPrivateFieldGet","value","__classPrivateFieldSet","name","invalidText","_internalValidationMsg","_isInvalid","checkValidity","reportValidity","validity","validationMessage","_onUpdated","changedProps","has","setFormValue","undefined","get","updated","_onConnected","form","addEventListener","connectedCallback","super","_onDisconnected","removeEventListener","disconnectedCallback","__internals_decorators","state","_value_decorators","property","type","String","_name_decorators","_invalidText_decorators","__internalValidationMsg_decorators","__isInvalid_decorators","__esDecorate","kind","static","private","access","obj","metadata","_metadata","shadowRootOptions","LitElement","delegatesFocus","formAssociated"],"mappings":"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"}
@@ -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;IAoKf,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"}
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.\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
+ {"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.\n * @fires on-root-link-click - Captures the logo link click event and emits the original event details.\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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"}
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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"}