@ukic/canary-web-components 2.0.0-canary.28 → 2.0.0-canary.29
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +62 -8
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-date-input.cjs.entry.js +3 -2
- package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -2
- package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu-item.cjs.entry.js +10 -6
- package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js +3 -2
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -2
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +28 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -3
- package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js +2 -1
- package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js +2 -1
- package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js +3 -1
- package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-data-table/ic-data-table.css +20 -0
- package/dist/collection/components/ic-data-table/ic-data-table.js +82 -8
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-data-table/story-data.js +7 -0
- package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +17 -0
- package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
- package/dist/collection/components/ic-date-input/ic-date-input.css +4 -0
- package/dist/collection/components/ic-date-input/ic-date-input.js +2 -1
- package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
- package/dist/collection/components/ic-tree-item/ic-tree-item.js +3 -1
- package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
- package/dist/components/helpers2.js +1 -1
- package/dist/components/ic-checkbox.js.map +1 -1
- package/dist/components/ic-data-table.js +65 -9
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-date-input2.js +3 -2
- package/dist/components/ic-date-input2.js.map +1 -1
- package/dist/components/ic-horizontal-scroll2.js +3 -2
- package/dist/components/ic-horizontal-scroll2.js.map +1 -1
- package/dist/components/ic-menu-group.js +1 -1
- package/dist/components/ic-menu-group.js.map +1 -1
- package/dist/components/ic-menu-item2.js +12 -8
- package/dist/components/ic-menu-item2.js.map +1 -1
- package/dist/components/ic-menu2.js +3 -2
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-group.js +3 -2
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +30 -2
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +1 -1
- package/dist/components/ic-popover-menu.js +3 -3
- package/dist/components/ic-popover-menu.js.map +1 -1
- package/dist/components/ic-select2.js.map +1 -1
- package/dist/components/ic-side-navigation.js +2 -1
- package/dist/components/ic-side-navigation.js.map +1 -1
- package/dist/components/ic-tab-context.js +2 -1
- package/dist/components/ic-tab-context.js.map +1 -1
- package/dist/components/ic-text-field2.js.map +1 -1
- package/dist/components/ic-toggle-button-group.js +1 -1
- package/dist/components/ic-toggle-button-group.js.map +1 -1
- package/dist/components/ic-tree-item.js +3 -1
- package/dist/components/ic-tree-item.js.map +1 -1
- package/dist/core/core.esm.js +1 -1
- package/dist/core/core.esm.js.map +1 -1
- package/dist/core/p-09746a07.entry.js +2 -0
- package/dist/core/p-09746a07.entry.js.map +1 -0
- package/dist/core/p-097bfd3f.entry.js +2 -0
- package/dist/core/{p-fc76d510.entry.js.map → p-097bfd3f.entry.js.map} +1 -1
- package/dist/core/{p-d02a4d1b.entry.js → p-0cba186f.entry.js} +2 -2
- package/dist/core/{p-d02a4d1b.entry.js.map → p-0cba186f.entry.js.map} +1 -1
- package/dist/core/{p-5741a8bf.entry.js → p-1a317582.entry.js} +2 -2
- package/dist/core/p-1f262ffe.entry.js +2 -0
- package/dist/core/p-1f262ffe.entry.js.map +1 -0
- package/dist/core/p-2ecedbe5.entry.js.map +1 -1
- package/dist/core/p-3848f199.entry.js +2 -0
- package/dist/core/p-3848f199.entry.js.map +1 -0
- package/dist/core/{p-7435de65.js → p-40510c97.js} +2 -2
- package/dist/core/{p-a7794aa9.entry.js → p-4352b9c5.entry.js} +2 -2
- package/dist/core/p-4352b9c5.entry.js.map +1 -0
- package/dist/core/{p-6358925c.entry.js → p-43a2cad3.entry.js} +2 -2
- package/dist/core/{p-6358925c.entry.js.map → p-43a2cad3.entry.js.map} +1 -1
- package/dist/core/{p-07e4b89b.entry.js → p-4fd35690.entry.js} +2 -2
- package/dist/core/{p-7ee62798.entry.js → p-810561ab.entry.js} +2 -2
- package/dist/core/{p-d8322108.entry.js → p-9b70d4f8.entry.js} +2 -2
- package/dist/core/p-9b70d4f8.entry.js.map +1 -0
- package/dist/core/{p-3ce541df.entry.js → p-cf4572c9.entry.js} +2 -2
- package/dist/core/{p-6ca98c5d.entry.js → p-d56248df.entry.js} +2 -2
- package/dist/core/p-d56248df.entry.js.map +1 -0
- package/dist/core/{p-6b01e096.entry.js → p-d56593cc.entry.js} +2 -2
- package/dist/core/p-d56593cc.entry.js.map +1 -0
- package/dist/core/{p-d10e81f3.entry.js → p-dcb7d549.entry.js} +2 -2
- package/dist/core/p-dcb7d549.entry.js.map +1 -0
- package/dist/core/{p-d86cdbc8.entry.js → p-de630a67.entry.js} +2 -2
- package/dist/core/p-de630a67.entry.js.map +1 -0
- package/dist/core/p-e210f51a.entry.js.map +1 -1
- package/dist/core/{p-b03d14fc.entry.js → p-e35d6d78.entry.js} +2 -2
- package/dist/core/{p-89c7ea3e.entry.js → p-f39cf43c.entry.js} +2 -2
- package/dist/core/p-f39cf43c.entry.js.map +1 -0
- package/dist/core/{p-3ef5017d.entry.js → p-f4e57aaf.entry.js} +2 -2
- package/dist/core/p-f4e57aaf.entry.js.map +1 -0
- package/dist/core/{p-ac591209.entry.js → p-f6a93c4d.entry.js} +2 -2
- package/dist/esm/core.js +1 -1
- package/dist/esm/{helpers-c24d4455.js → helpers-e0c3e667.js} +2 -2
- package/dist/esm/{helpers-c24d4455.js.map → helpers-e0c3e667.js.map} +1 -1
- package/dist/esm/ic-card-horizontal.entry.js +1 -1
- package/dist/esm/ic-checkbox.entry.js.map +1 -1
- package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
- package/dist/esm/ic-data-table.entry.js +63 -9
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-date-input.entry.js +4 -3
- package/dist/esm/ic-date-input.entry.js.map +1 -1
- package/dist/esm/ic-date-picker.entry.js +1 -1
- package/dist/esm/ic-empty-state_2.entry.js +1 -1
- package/dist/esm/ic-horizontal-scroll.entry.js +3 -2
- package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
- package/dist/esm/ic-menu-group.entry.js +1 -1
- package/dist/esm/ic-menu-group.entry.js.map +1 -1
- package/dist/esm/ic-menu-item.entry.js +10 -6
- package/dist/esm/ic-menu-item.entry.js.map +1 -1
- package/dist/esm/ic-menu-with-multi.entry.js +1 -1
- package/dist/esm/ic-menu.entry.js +3 -2
- package/dist/esm/ic-menu.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +3 -2
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +29 -2
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-pagination_4.entry.js.map +1 -1
- package/dist/esm/ic-popover-menu.entry.js +3 -3
- package/dist/esm/ic-popover-menu.entry.js.map +1 -1
- package/dist/esm/ic-select-with-multi.entry.js +1 -1
- package/dist/esm/ic-side-navigation.entry.js +2 -1
- package/dist/esm/ic-side-navigation.entry.js.map +1 -1
- package/dist/esm/ic-tab-context.entry.js +2 -1
- package/dist/esm/ic-tab-context.entry.js.map +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js +1 -1
- package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
- package/dist/esm/ic-tree-item.entry.js +4 -2
- package/dist/esm/ic-tree-item.entry.js.map +1 -1
- package/dist/esm/ic-tree-view.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-data-table/ic-data-table.d.ts +11 -0
- package/dist/types/components/ic-data-table/story-data.d.ts +1 -0
- package/dist/types/components.d.ts +8 -0
- package/hydrate/index.js +124 -34
- package/package.json +3 -3
- package/dist/core/p-3ef5017d.entry.js.map +0 -1
- package/dist/core/p-6b01e096.entry.js.map +0 -1
- package/dist/core/p-6ca98c5d.entry.js.map +0 -1
- package/dist/core/p-89c7ea3e.entry.js.map +0 -1
- package/dist/core/p-8f0660ec.entry.js +0 -2
- package/dist/core/p-8f0660ec.entry.js.map +0 -1
- package/dist/core/p-a7794aa9.entry.js.map +0 -1
- package/dist/core/p-bdb5addb.entry.js +0 -2
- package/dist/core/p-bdb5addb.entry.js.map +0 -1
- package/dist/core/p-d10e81f3.entry.js.map +0 -1
- package/dist/core/p-d8322108.entry.js.map +0 -1
- package/dist/core/p-d86cdbc8.entry.js.map +0 -1
- package/dist/core/p-f09b2041.entry.js +0 -2
- package/dist/core/p-f09b2041.entry.js.map +0 -1
- package/dist/core/p-fc76d510.entry.js +0 -2
- /package/dist/core/{p-5741a8bf.entry.js.map → p-1a317582.entry.js.map} +0 -0
- /package/dist/core/{p-7435de65.js.map → p-40510c97.js.map} +0 -0
- /package/dist/core/{p-07e4b89b.entry.js.map → p-4fd35690.entry.js.map} +0 -0
- /package/dist/core/{p-7ee62798.entry.js.map → p-810561ab.entry.js.map} +0 -0
- /package/dist/core/{p-3ce541df.entry.js.map → p-cf4572c9.entry.js.map} +0 -0
- /package/dist/core/{p-b03d14fc.entry.js.map → p-e35d6d78.entry.js.map} +0 -0
- /package/dist/core/{p-ac591209.entry.js.map → p-f6a93c4d.entry.js.map} +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icNavigationGroupCss","NavigationGroup","constructor","hostRef","this","allGroupedNavigationItems","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","IC_NAVIGATION_ITEM","mouseGate","nodeName","GROUPED_LINKS_WRAPPER_CLASS","sideNavExpandHandler","event","isSideNavExpanded","detail","sideNavExpanded","linkWrapper","el","shadowRoot","querySelector","expanded","expandedNavItemsHeight","setGroupedLinksElementHeight","setTimeout","getNavigationChildItemsHeight","collapsedNavItemsHeight","topNavResizedHandler","_a","size","deviceSize","inTopNavSideMenu","parentEl","customMobileBreakpoint","DEVICE_SIZES","L","setGroupedNavItemTabIndex","tabIndexValue","querySelectorAll","forEach","navigationItem","navItem","setAttribute","toggleGroupedLinkWrapperHeight","wrapper","style","setProperty","toggleExpanded","handleClick","ev","navigationType","toggleDropdown","handleBlur","target","relatedTarget","contains","hideDropdown","handleTopNavKeydown","key","handleKeydown","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","dropdownOpen","handleMouseEnter","addEventListener","showDropdown","renderDropdownGroupedLinks","h","class","onMouseLeave","ref","renderGroupedLinks","navigationChildItemsHeight","offsetHeight","setInitialGroupedLinksWrapperHeight","renderNavigationItems","expandable","XL","focusStyle","getThemeForegroundColor","undefined","label","disconnectedCallback","removeEventListener","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","childBlurHandler","navItemClickHandler","themeChangeHandler","theme","mode","setFocus","groupEl","focus","groupedNavItemWrapper","height","render","Host","collapsed","role","onMouseEnter","tabindex","onBlur","onClick","onKeyDown","variant","innerHTML","chevronIcon","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","../web-components/dist/collection/components/ic-navigation-group/ic-navigation-group.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: -moz-fit-content;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md) var(--ic-space-xxs);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n white-space: nowrap;\n}\n\n:host(.in-side-menu) .navigation-group {\n height: 2.5rem;\n width: 100%;\n text-align: left;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 11.875rem;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) 0 var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding-left: var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n height: 0.45em;\n left: 0.75em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-primary-text);\n outline: none;\n cursor: pointer;\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:hover,\n:host(.in-side-menu) .navigation-group-side-menu:active,\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n background-color: var(--ic-architectural-20);\n color: var(--ic-action-default);\n cursor: auto;\n box-shadow: none;\n outline: none;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n color: var(--ic-action-default);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-action-default);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n color: var(--ic-action-default);\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-architectural-20);\n border-bottom: var(--ic-border-default);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.navigation-group-side-nav) .link,\n:host(.navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.navigation-group-side-nav) .navigation-group {\n height: var(--navigation-group-height);\n width: var(--navigation-group-width);\n justify-content: var(--navigation-group-justify-content);\n padding-right: var(--navigation-group-expand-toggle-padding);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:hover,\n:host(.navigation-group-side-nav) .navigation-group:active,\n:host(.navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n white-space: nowrap;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getCurrentDeviceSize, getThemeForegroundColor, getNavItemParentDetails, } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nexport class NavigationGroup {\n constructor() {\n this.allGroupedNavigationItems = [];\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\n this.IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n this.mouseGate = false;\n this.nodeName = \"IC-NAVIGATION-GROUP\";\n this.GROUPED_LINKS_WRAPPER_CLASS = \".grouped-links-wrapper\";\n this.sideNavExpandHandler = (event) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n const linkWrapper = this.el.shadowRoot.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);\n if (!linkWrapper)\n return;\n if (this.isSideNavExpanded) {\n if (this.expanded && this.expandedNavItemsHeight) {\n this.setGroupedLinksElementHeight(linkWrapper, this.expandedNavItemsHeight);\n }\n else if (this.expanded) {\n setTimeout(() => {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(linkWrapper, this.expandedNavItemsHeight);\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n }\n else {\n if (this.expanded && this.collapsedNavItemsHeight) {\n this.setGroupedLinksElementHeight(linkWrapper, this.collapsedNavItemsHeight);\n }\n else if (this.expanded) {\n setTimeout(() => {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(linkWrapper, this.collapsedNavItemsHeight);\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n }\n };\n this.topNavResizedHandler = ({ detail, }) => {\n var _a;\n const { size } = detail;\n if (size !== this.deviceSize) {\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.customMobileBreakpoint) || DEVICE_SIZES.L);\n }\n };\n this.setGroupedNavItemTabIndex = (tabIndexValue) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem = navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n this.toggleGroupedLinkWrapperHeight = (wrapper, expanded) => {\n if (!wrapper)\n return;\n if (expanded) {\n if (this.isSideNavExpanded) {\n this.setGroupedLinksElementHeight(wrapper, this.expandedNavItemsHeight);\n }\n else {\n this.setGroupedLinksElementHeight(wrapper, this.collapsedNavItemsHeight);\n }\n this.setGroupedNavItemTabIndex(\"0\");\n }\n else {\n wrapper.style.setProperty(\"--navigation-child-items-height\", \"0\");\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n };\n this.toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n this.handleClick = (ev) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n }\n else {\n this.toggleExpanded();\n }\n };\n this.handleBlur = (ev) => {\n const target = ev.relatedTarget;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n this.handleTopNavKeydown = (ev) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n }\n else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n this.handleKeydown = (ev) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n this.handleMouseLeave = (ev) => {\n const relTarget = ev.relatedTarget;\n this.mouseGate = false;\n if (!this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n (relTarget === null || relTarget === void 0 ? void 0 : relTarget.nodeName) === this.nodeName &&\n this.dropdownOpen === true) {\n this.mouseGate = true;\n this.hideDropdown();\n }\n else if (!this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n this.handleMouseEnter = (ev) => {\n const relTarget = ev.relatedTarget;\n document.addEventListener(\"keydown\", this.handleKeydown);\n if ((relTarget === null || relTarget === void 0 ? void 0 : relTarget.nodeName) === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n }\n else if (this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n this.renderDropdownGroupedLinks = () => (h(\"div\", { class: {\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }, onMouseLeave: !this.inTopNavSideMenu ? this.handleMouseLeave : null, ref: (el) => (this.dropdown = el) }, h(\"nav\", { class: {\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n } }, h(\"ul\", null, h(\"slot\", null)))));\n this.renderGroupedLinks = () => (h(\"ul\", { class: \"grouped-links-wrapper\" }, h(\"slot\", null)));\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n this.getNavigationChildItemsHeight = () => {\n let navigationChildItemsHeight = 0;\n this.allGroupedNavigationItems.forEach((navItem) => {\n navigationChildItemsHeight += navItem.offsetHeight;\n });\n return `${navigationChildItemsHeight}px`;\n };\n this.setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);\n if (!linkWrapper)\n return;\n if (!this.isSideNavExpanded &&\n !this.collapsedNavItemsHeight &&\n this.expanded) {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(linkWrapper, this.collapsedNavItemsHeight);\n }\n if (this.isSideNavExpanded && this.expanded) {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(linkWrapper, this.expandedNavItemsHeight);\n }\n };\n this.renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n return null;\n };\n this.deviceSize = DEVICE_SIZES.XL;\n this.dropdownOpen = false;\n this.expanded = true;\n this.focusStyle = getThemeForegroundColor();\n this.inTopNavSideMenu = false;\n this.navigationType = undefined;\n this.parentEl = undefined;\n this.expandable = false;\n this.label = undefined;\n }\n disconnectedCallback() {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\"sideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\"topNavResized\", this.topNavResizedHandler);\n }\n }\n componentWillLoad() {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\"sideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\"topNavResized\", this.topNavResizedHandler);\n if (this.deviceSize <=\n this.parentEl.customMobileBreakpoint)\n this.inTopNavSideMenu = true;\n }\n }\n componentDidLoad() {\n this.allGroupedNavigationItems = Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(() => this.setInitialGroupedLinksWrapperHeight(), this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n childBlurHandler() {\n this.hideDropdown();\n }\n navItemClickHandler() {\n this.hideDropdown();\n }\n themeChangeHandler(ev) {\n const theme = ev.detail;\n this.focusStyle = theme.mode;\n }\n /**\n * Sets focus on the nav item.\n */\n async setFocus() {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n setGroupedLinksElementHeight(groupedNavItemWrapper, height) {\n groupedNavItemWrapper.style.setProperty(\"--navigation-child-items-height\", height);\n }\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n return (h(Host, { class: {\n [\"in-side-menu\"]: inTopNavSideMenu,\n expanded: this.expanded,\n collapsed: !this.expanded,\n [\"navigation-group-side-nav\"]: this.navigationType === \"side\",\n }, role: \"listitem\" }, h(\"button\", { onMouseEnter: !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter, onMouseLeave: this.navigationType === \"top\" && this.handleMouseLeave, tabindex: inTopNavSideMenu && !expandable ? \"-1\" : \"0\", onBlur: this.handleBlur, onClick: expandable ? this.handleClick : null, onKeyDown: this.handleKeydown, class: {\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]: inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]: inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }, ref: (el) => (this.groupEl = el), \"aria-expanded\": `${dropdownOpen || this.expanded}`, \"aria-haspopup\": `${!inTopNavSideMenu && this.navigationType === \"top\"}` }, h(\"ic-typography\", { variant: this.navigationType === \"side\" ? \"caption\" : \"label\" }, label), this.navigationType === \"side\" && expandable && (h(\"div\", { class: {\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }, innerHTML: chevronIcon }))), this.renderNavigationItems()));\n }\n static get is() { return \"ic-navigation-group\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-navigation-group.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-navigation-group.css\"]\n };\n }\n static get properties() {\n return {\n \"expandable\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the group will be expandable in the side menu.\"\n },\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display on the group.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"dropdownOpen\": {},\n \"expanded\": {},\n \"focusStyle\": {},\n \"inTopNavSideMenu\": {},\n \"navigationType\": {},\n \"parentEl\": {}\n };\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the nav item.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"childBlur\",\n \"method\": \"childBlurHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"navItemClicked\",\n \"method\": \"navItemClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"themeChange\",\n \"method\": \"themeChangeHandler\",\n \"target\": \"document\",\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-navigation-group.js.map\n"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icMenuCss","Menu","constructor","hostRef","this","disabledOptionSelected","hasPreviouslyBlurred","hasTimedOut","isLoading","isSearchBar","isSearchableSelect","preventClickOpen","ungroupedOptions","handleClearListener","optionHighlighted","handleSubmitSearch","highlightedOptionIndex","options","findIndex","option","valueField","setInputValue","handleMenuChange","open","focusInput","menuStateChange","emit","inputEl","focus","setNextOptionValue","selectedOptionIndex","menuOptionSelect","value","optionId","getOptionId","setPreviousOptionValue","length","getParentEl","parent","tagName","getAttribute","undefined","arrowBehaviour","event","preventDefault","setMenuOptions","setHighlightedOption","highlightedIndex","menuOptions","timedOut","autoSetInputValueKeyboardOpen","keyboardNav","key","target","id","manSetInputValueKeyboardOpen","index","_a","Array","from","host","querySelectorAll","isOpen","menuOptionId","preventIncorrectTabOrder","focusFromSearchKeypress","disabled","stopImmediatePropagation","focusOnSearchOrSelectInput","parentEl","setFocus","handleOptionClick","label","dataset","handleRetry","retryButtonClicked","handleRetryKeyDown","ev","keyPressed","handleBlur","relatedTarget","menu","contains","handleMouseDown","handleMenuKeyDown","activationType","autoSetValueOnMenuKeyDown","emitMenuKeyPress","isNavKey","menuKeyPress","cancelBubble","handleMenuKeyUp","shiftKey","menuId","getOptionAriaLabel","parentOption","ariaLabel","labelField","description","element","getSortedOptions","sorted","sort","optionA","optionB","recommended","isManualMode","scrollToSelected","selectedOption","selectOnEnter","querySelector","elTop","offsetTop","offsetHeight","scrollTop","loadUngroupedOptions","map","children","push","ungroupedOptionsSet","setMenuScrollbar","optionsHeight","forEach","clientHeight","classList","add","handleTimeoutBlur","timeoutBlur","optionContent","h","Fragment","loading","size","class","icon","innerHTML","variant","component","toLowerCase","Check","displayOption","initialOptionsListRender","timeout","role","tabindex","onClick","onBlur","onMouseDown","xmlns","viewBox","fill","d","onKeyDown","anchorEl","autoFocusOnSelected","fullWidth","inputLabel","searchMode","small","watchOpenHandler","popperInstance","destroy","watchOptionsHandler","newOptions","some","opt","watchValueHandler","menuValueChange","connectedCallback","disconnectedCallback","removeEventListener","componentWillLoad","_b","addEventListener","componentDidLoad","disableFilter","onComponentRequiredPropUndefined","prop","propName","componentDidUpdate","inputValueInOptions","highlightedEl","componentDidRender","initPopperJs","handleClickOpen","handleKeyboardOpen","handleSetFirstOption","anchor","createPopper","placement","modifiers","name","offset","fallbackPlacements","rootBoundary","render","Host","ref","el","onKeyUp","childOption"],"sources":["../web-components/dist/collection/components/ic-menu/ic-menu.css?tag=ic-menu&encapsulation=scoped","../web-components/dist/collection/components/ic-menu/ic-menu.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n/**\n * @prop --ic-z-index-menu: z-index of menu\n */\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.open) .menu {\n transition: max-height var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n max-height: 0;\n width: var(--input-width, 20rem);\n color: var(--ic-color-primary-text);\n background-color: var(--ic-architectural-white);\n position: relative;\n z-index: var(--ic-z-index-menu);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(:not(.no-focus):focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n#retry-button::part(button) {\n height: var(--ic-space-lg);\n}\n\n.small #retry-button::part(button) {\n height: var(--ic-space-md);\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n.menu {\n text-decoration: none;\n list-style-type: none;\n border: var(--ic-border-width) solid var(--ic-architectural-400);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-architectural-white);\n visibility: hidden;\n max-height: 0;\n overflow-y: hidden;\n}\n\n.menu-scroll {\n overflow-y: auto;\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.open) {\n max-height: none;\n display: block;\n}\n\n:host(.open) .menu {\n visibility: visible;\n max-height: calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs));\n}\n\n:host(.full-width) {\n width: 100%;\n}\n\n.option {\n padding: var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n cursor: pointer;\n display: flex;\n align-items: center;\n overflow-wrap: anywhere;\n}\n\n.option:not(.loading-option) {\n justify-content: space-between;\n}\n\n:host(.small) .option {\n padding: var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.large) .option {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n.option:last-child {\n border-radius: 0 0 var(--ic-space-1px) var(--ic-space-1px);\n}\n\n.option:first-child {\n border-radius: var(--ic-space-1px) var(--ic-space-1px) 0 0;\n}\n\n.option:not(.disabled-option):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n.option:not(.disabled-option):active {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.option:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n.option:not(.disabled-option) .option-description {\n color: var(--ic-color-secondary-text);\n}\n\n.option .option-label {\n display: flex;\n flex-direction: row;\n align-items: top;\n}\n\n.option .option-element {\n margin-top: var(--ic-space-xxs);\n}\n\n.option .option-icon {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n margin-top: var(--ic-space-xxs);\n margin-right: var(--ic-space-xxxs);\n}\n\n.option-text-container {\n pointer-events: none;\n}\n\n.option.loading-option .option-text-container {\n margin-left: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n color: var(--ic-color-secondary-text);\n}\n\n.error-icon-svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n fill: var(--ic-status-error);\n align-self: center;\n display: flex;\n margin-right: calc(var(--ic-space-xxs) * 1.2);\n}\n\n.loading-error-info {\n display: flex;\n}\n\n.check-icon {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-xs);\n pointer-events: none;\n}\n\n.focused-option .check-icon * {\n fill: currentcolor;\n}\n\n.option-group-title {\n padding: var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);\n color: var(--ic-color-tertiary-text);\n}\n\n:host(.small) .option-group-title {\n padding: var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs);\n}\n\n.last-recommended-option {\n border-bottom: var(--ic-border-default);\n}\n\n.disabled-option {\n color: var(--ic-architectural-200);\n cursor: default;\n pointer-events: none;\n}\n\n.focused-option,\n.focused-option .option-description {\n background-color: var(--ic-focus-blue) !important;\n color: var(--ic-color-white-text) !important;\n}\n\n:host(.no-results) li {\n cursor: no-drop;\n}\n\n:host(.no-results) li:hover {\n background-color: transparent;\n}\n\n@media (forced-colors: active) {\n .focused-option:focus {\n outline: none;\n border: 0.125rem solid transparent;\n }\n}\n","import { h, Host, Fragment, } from \"@stencil/core\";\nimport { createPopper } from \"@popperjs/core\";\nimport Check from \"../../assets/check-icon.svg\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Menu {\n constructor() {\n this.disabledOptionSelected = false;\n this.hasPreviouslyBlurred = false;\n this.hasTimedOut = false;\n this.isLoading = false;\n this.isSearchBar = false;\n this.isSearchableSelect = false;\n // Prevents menu re-opening immediately after it is closed on blur when clicking input.\n this.preventClickOpen = false;\n this.ungroupedOptions = [];\n this.handleClearListener = () => {\n this.optionHighlighted = \"\";\n };\n this.handleSubmitSearch = () => {\n const highlightedOptionIndex = this.options.findIndex((option) => option[this.valueField] === this.optionHighlighted);\n this.setInputValue(highlightedOptionIndex);\n };\n this.handleMenuChange = (open, focusInput) => {\n this.menuStateChange.emit({ open, focusInput });\n if (!open && focusInput !== false) {\n this.inputEl.focus();\n this.preventClickOpen = false;\n }\n };\n this.setNextOptionValue = (selectedOptionIndex) => {\n if (this.ungroupedOptions[selectedOptionIndex + 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex + 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex + 1][this.valueField]),\n });\n }\n else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[0][this.valueField]),\n });\n }\n };\n this.setPreviousOptionValue = (selectedOptionIndex) => {\n if (this.ungroupedOptions[selectedOptionIndex - 1]) {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[selectedOptionIndex - 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[selectedOptionIndex - 1][this.valueField]),\n });\n }\n else {\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],\n optionId: this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField]),\n });\n }\n };\n this.getParentEl = (parent) => {\n if (parent.tagName === \"IC-SEARCH-BAR\") {\n this.isSearchBar = true;\n }\n else if (parent.tagName === \"IC-SELECT\" &&\n parent.getAttribute(\"searchable\") !== null &&\n parent.getAttribute(\"searchable\") !== undefined) {\n this.isSearchableSelect = true;\n }\n };\n this.arrowBehaviour = (event) => {\n event.preventDefault();\n this.handleMenuChange(true);\n };\n this.setMenuOptions = () => this.isSearchBar ? this.options : this.ungroupedOptions;\n this.setHighlightedOption = (highlightedIndex) => {\n const menuOptions = this.setMenuOptions();\n menuOptions[highlightedIndex] &&\n !menuOptions[highlightedIndex].timedOut &&\n (this.optionHighlighted =\n menuOptions[highlightedIndex][this.valueField] || undefined);\n };\n this.autoSetInputValueKeyboardOpen = (event) => {\n const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);\n this.keyboardNav = false;\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setNextOptionValue(selectedOptionIndex);\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n this.setPreviousOptionValue(selectedOptionIndex);\n break;\n case \" \":\n case \"Enter\":\n if (event.target.id !== \"clear-button\") {\n this.handleMenuChange(true);\n }\n break;\n }\n };\n this.manSetInputValueKeyboardOpen = (event) => {\n const menuOptions = this.setMenuOptions();\n const highlightedOptionIndex = menuOptions.findIndex((option) => option[this.valueField] === this.optionHighlighted);\n const getOptionId = (index) => { var _a; return (_a = Array.from(this.host.querySelectorAll(\"li\"))[index]) === null || _a === void 0 ? void 0 : _a.id; };\n const isOpen = this.isSearchBar || this.isSearchableSelect || this.open;\n switch (event.key) {\n case \"ArrowDown\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (highlightedOptionIndex < menuOptions.length - 1) {\n this.setHighlightedOption(highlightedOptionIndex + 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex + 1),\n });\n }\n else {\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"ArrowUp\":\n this.keyboardNav = true;\n this.arrowBehaviour(event);\n if (highlightedOptionIndex <= 0 ||\n highlightedOptionIndex > menuOptions.length + 1) {\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n }\n else {\n this.setHighlightedOption(highlightedOptionIndex - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(highlightedOptionIndex - 1),\n });\n }\n this.preventIncorrectTabOrder = false;\n this.focusFromSearchKeypress = false;\n break;\n case \"Home\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(0);\n this.menuOptionId.emit({\n optionId: getOptionId(0),\n });\n break;\n case \"End\":\n this.keyboardNav = true;\n event.preventDefault();\n this.arrowBehaviour(event);\n this.setHighlightedOption(menuOptions.length - 1);\n this.menuOptionId.emit({\n optionId: getOptionId(menuOptions.length - 1),\n });\n break;\n case \" \":\n this.keyboardNav = false;\n if (this.isSearchBar || this.isSearchableSelect) {\n break;\n }\n else {\n if (event.target.id !== \"clear-button\") {\n this.handleMenuChange(true);\n }\n }\n break;\n case \"Enter\":\n event.preventDefault();\n this.keyboardNav = false;\n if (isOpen) {\n if (highlightedOptionIndex >= 0) {\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n if (this.isSearchBar &&\n menuOptions[highlightedOptionIndex].disabled === true) {\n this.disabledOptionSelected = true;\n }\n else {\n this.setInputValue(highlightedOptionIndex);\n this.value =\n menuOptions[highlightedOptionIndex][this.valueField];\n }\n }\n }\n else {\n this.setInputValue(highlightedOptionIndex);\n }\n }\n else {\n this.handleMenuChange(true);\n }\n break;\n case \"Escape\":\n if (this.open) {\n event.stopImmediatePropagation();\n }\n this.handleMenuChange(false);\n this.menuOptionId.emit({ optionId: undefined });\n break;\n case \"Shift\":\n case \"Tab\":\n if (this.isSearchBar) {\n this.keyboardNav = true;\n }\n this.preventIncorrectTabOrder = true;\n break;\n default:\n this.keyboardNav = false;\n this.focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex);\n break;\n }\n };\n this.setInputValue = (highlightedOptionIndex) => {\n const menuOptions = this.setMenuOptions();\n if (menuOptions[highlightedOptionIndex] !== undefined) {\n this.menuOptionSelect.emit({\n value: menuOptions[highlightedOptionIndex][this.valueField],\n });\n this.optionHighlighted = undefined;\n this.menuOptionId.emit({ optionId: undefined });\n }\n if (!this.hasTimedOut)\n this.handleMenuChange(false);\n else\n this.parentEl.setFocus();\n };\n this.handleOptionClick = (event) => {\n const { value, label } = event.target.dataset;\n this.menuOptionSelect.emit({ value, label });\n this.handleMenuChange(false);\n };\n this.handleRetry = () => {\n this.retryButtonClicked.emit({ value: this.value });\n };\n this.handleRetryKeyDown = (ev) => {\n if (ev.key === \"Enter\" || ev.key === \" \") {\n ev.preventDefault();\n this.retryButtonClicked.emit({ value: this.value, keyPressed: ev.key });\n }\n };\n this.handleBlur = (event) => {\n if (event.relatedTarget !== this.inputEl) {\n if (!this.menu.contains(event.relatedTarget)) {\n this.handleMenuChange(false, this.hasPreviouslyBlurred);\n }\n }\n else {\n this.handleMenuChange(false);\n this.preventClickOpen = true;\n }\n if (!this.isSearchBar)\n this.hasPreviouslyBlurred = !!event.relatedTarget;\n };\n this.handleMouseDown = (event) => {\n event.preventDefault();\n };\n this.handleMenuKeyDown = (event) => {\n if (this.activationType === \"automatic\") {\n this.autoSetValueOnMenuKeyDown(event);\n }\n else if (this.activationType === \"manual\" && !this.isSearchBar) {\n this.manSetInputValueKeyboardOpen(event);\n }\n };\n this.emitMenuKeyPress = (isNavKey, key) => {\n this.menuKeyPress.emit({ isNavKey: isNavKey, key: key });\n };\n this.autoSetValueOnMenuKeyDown = (event) => {\n event.cancelBubble = true;\n const selectedOptionIndex = this.ungroupedOptions.findIndex((option) => option[this.valueField] === this.value);\n const isSearchableSelect = this.inputEl.tagName === \"INPUT\";\n this.keyboardNav = false;\n switch (event.key) {\n case \" \":\n event.preventDefault();\n break;\n case \"ArrowUp\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setPreviousOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"ArrowDown\":\n if (!this.hasTimedOut) {\n event.preventDefault();\n this.setNextOptionValue(selectedOptionIndex);\n this.keyboardNav = true;\n }\n break;\n case \"Home\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[0][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"End\":\n this.menuOptionSelect.emit({\n value: this.ungroupedOptions[this.ungroupedOptions.length - 1][this.valueField],\n });\n this.keyboardNav = true;\n break;\n case \"Enter\":\n !this.hasTimedOut && this.handleMenuChange(false);\n break;\n case \"Escape\":\n this.handleMenuChange(false);\n break;\n case \"Backspace\":\n if (isSearchableSelect) {\n this.inputEl.focus();\n }\n break;\n case \"Shift\":\n break;\n default:\n if (isSearchableSelect && event.key !== \"Tab\" && !this.hasTimedOut) {\n this.inputEl.focus();\n }\n if (event.key.length === 1) {\n this.keyboardNav = true;\n }\n break;\n }\n this.emitMenuKeyPress(this.keyboardNav, event.key);\n };\n this.handleMenuKeyUp = (event) => {\n if (event.key === \"Tab\" && event.shiftKey) {\n this.preventClickOpen = false;\n }\n if (event.key === \"Enter\" && this.disabledOptionSelected) {\n this.disabledOptionSelected = false;\n event.stopImmediatePropagation();\n }\n };\n this.getOptionId = (value) => {\n return `${this.menuId}-${value}`;\n };\n this.getOptionAriaLabel = (option, parentOption) => {\n let ariaLabel = option[this.labelField];\n if (option.description) {\n ariaLabel = `${ariaLabel}, ${option.description}`;\n }\n if (option.element) {\n ariaLabel = `${ariaLabel}, ${option.element.ariaLabel}`;\n }\n if (parentOption) {\n return `${ariaLabel}, ${parentOption[this.labelField]} group`;\n }\n else {\n return ariaLabel;\n }\n };\n this.getSortedOptions = (options) => {\n let sorted = [];\n if (options.sort) {\n sorted = options.sort((optionA, optionB) => optionA.recommended && !optionB.recommended ? -1 : 0);\n }\n return sorted;\n };\n this.isManualMode = this.activationType === \"manual\";\n this.scrollToSelected = (menu) => {\n const selectedOption = this.selectOnEnter\n ? this.host.querySelector(`li[data-value=\"${this.optionHighlighted}\"]`)\n : menu.querySelector(\".option[aria-selected='true']\");\n if (selectedOption) {\n const elTop = selectedOption.offsetTop + selectedOption.offsetHeight;\n if (elTop > menu.scrollTop + menu.offsetHeight ||\n elTop < menu.scrollTop + menu.offsetHeight) {\n menu.scrollTop = selectedOption.offsetTop;\n }\n selectedOption.focus();\n }\n };\n this.loadUngroupedOptions = () => {\n if (this.options.length > 0 && this.options.map) {\n this.options.map((option) => {\n if (option.children) {\n option.children.map((option) => !option.disabled && this.ungroupedOptions.push(option));\n }\n else if (!option.disabled) {\n this.ungroupedOptions.push(option);\n }\n });\n }\n this.ungroupedOptions = this.getSortedOptions(this.ungroupedOptions);\n this.ungroupedOptionsSet.emit({ options: this.ungroupedOptions });\n };\n this.setMenuScrollbar = () => {\n let optionsHeight = 0;\n this.host\n .querySelectorAll(\".option\")\n .forEach((option) => (optionsHeight += option.clientHeight));\n if (optionsHeight >= 320) {\n this.menu.classList.add(\"menu-scroll\");\n }\n };\n this.handleTimeoutBlur = (ev) => {\n this.timeoutBlur.emit({ ev });\n };\n this.optionContent = (option) => {\n var _a;\n return (h(Fragment, null, option.loading && h(\"ic-loading-indicator\", { size: \"icon\" }), h(\"div\", { class: \"option-text-container\" }, h(\"div\", { class: \"option-label\" }, option.icon && (h(\"div\", { class: \"option-icon\", innerHTML: option.icon, \"aria-hidden\": \"true\" })), h(\"ic-typography\", { variant: \"body\", \"aria-hidden\": \"true\" }, option[this.labelField])), option.description && (h(\"ic-typography\", { id: `${this.getOptionId(option[this.valueField])}-description`, class: \"option-description\", variant: \"caption\", \"aria-hidden\": \"true\" }, h(\"p\", null, option.description))), option.element && (h(\"div\", { class: \"option-element\", innerHTML: option.element.component, \"aria-hidden\": \"true\" }))), !!option[this.valueField] &&\n !!this.value &&\n option[this.valueField].toLowerCase() === ((_a = this.value) === null || _a === void 0 ? void 0 : _a.toLowerCase()) &&\n this.parentEl.tagName !== \"IC-SEARCH-BAR\" && (h(\"span\", { class: \"check-icon\", innerHTML: Check }))));\n };\n this.displayOption = (option, index, parentOption) => {\n const { open, value, keyboardNav, isManualMode, initialOptionsListRender, optionHighlighted, options, } = this;\n return (h(\"li\", { id: this.getOptionId(option[this.valueField]), class: {\n option: true,\n \"focused-option\": isManualMode\n ? (keyboardNav || initialOptionsListRender) &&\n option[this.valueField] === optionHighlighted\n : keyboardNav && option[this.valueField] === value,\n \"last-recommended-option\": option.recommended &&\n options[index + 1] &&\n !options[index + 1].recommended,\n \"disabled-option\": option.disabled,\n \"loading-option\": option.loading,\n timeout: option.timedOut,\n }, role: \"option\", tabindex: open &&\n (option[this.valueField] === value ||\n option[this.valueField] === optionHighlighted) &&\n keyboardNav\n ? \"0\"\n : \"-1\", \"aria-label\": this.getOptionAriaLabel(option, parentOption), \"aria-selected\": `${option[this.valueField] === value}`, \"aria-disabled\": option.disabled ? \"true\" : \"false\", onClick: !option.timedOut && !option.loading && this.handleOptionClick, onBlur: this.handleBlur, onMouseDown: this.handleMouseDown, \"data-value\": option[this.valueField], \"data-label\": option[this.labelField] }, option.timedOut ? (h(Fragment, null, h(\"div\", { class: \"loading-error-info\" }, h(\"svg\", { class: \"error-icon-svg\", \"aria-labelledby\": \"error-title\", xmlns: \"http://www.w3.org/2000/svg\", viewBox: \"0 0 24 24\", fill: \"#000000\" }, h(\"title\", { id: \"error-title\" }, \"Error\"), h(\"g\", { id: \"close-octagon\" }, h(\"path\", { id: \"Vector\", d: \"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41\" }))), h(\"ic-typography\", { variant: \"label\" }, option[this.labelField])), h(\"ic-button\", { size: \"small\", variant: \"tertiary\", onClick: this.handleRetry, onKeyDown: this.handleRetryKeyDown, onBlur: this.handleTimeoutBlur, id: \"retry-button\" }, \"Retry\"))) : (this.optionContent(option))));\n };\n this.focusFromSearchKeypress = false;\n this.initialOptionsListRender = false;\n this.keyboardNav = false;\n this.optionHighlighted = undefined;\n this.preventIncorrectTabOrder = false;\n this.activationType = \"automatic\";\n this.anchorEl = undefined;\n this.autoFocusOnSelected = true;\n this.fullWidth = false;\n this.inputEl = undefined;\n this.inputLabel = undefined;\n this.labelField = \"label\";\n this.menuId = undefined;\n this.open = undefined;\n this.parentEl = undefined;\n this.searchMode = \"navigation\";\n this.selectOnEnter = false;\n this.size = \"default\";\n this.small = false;\n this.options = undefined;\n this.value = undefined;\n this.valueField = \"value\";\n }\n watchOpenHandler() {\n if (!this.open && this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n watchOptionsHandler(newOptions) {\n this.hasTimedOut = newOptions.some((opt) => opt.timedOut);\n this.isLoading = newOptions.some((opt) => opt.loading);\n this.ungroupedOptions = [];\n this.loadUngroupedOptions();\n }\n watchValueHandler() {\n this.menuValueChange.emit({ value: this.value });\n }\n connectedCallback() {\n this.getParentEl(this.parentEl);\n if (this.isSearchBar) {\n if (this.searchMode === \"navigation\")\n this.setHighlightedOption(0);\n this.initialOptionsListRender = true;\n }\n }\n disconnectedCallback() {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n }\n this.parentEl.removeEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.removeEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n }\n componentWillLoad() {\n var _a, _b;\n this.loadUngroupedOptions();\n this.parentEl.addEventListener(\"icClear\", this.handleClearListener);\n this.parentEl.addEventListener(\"icSubmitSearch\", this.handleSubmitSearch);\n this.hasTimedOut = (_a = this.options) === null || _a === void 0 ? void 0 : _a.some((opt) => opt.timedOut);\n this.isLoading = (_b = this.options) === null || _b === void 0 ? void 0 : _b.some((opt) => opt.loading);\n }\n componentDidLoad() {\n if (this.isSearchBar &&\n this.parentEl.disableFilter) {\n this.focusFromSearchKeypress = true;\n }\n onComponentRequiredPropUndefined([\n { prop: this.open, propName: \"open\" },\n { prop: this.options, propName: \"options\" },\n { prop: this.menuId, propName: \"menu-id\" },\n { prop: this.inputLabel, propName: \"input-label\" },\n //NOTE: no check for value, input-el or anchor-el as otherwise get console errors on first load of select component\n ], \"Menu\");\n }\n componentDidUpdate() {\n const inputValueInOptions = this.options.some((option) => option[this.valueField] === this.value);\n if (this.open && this.options.length !== 0) {\n if (this.value &&\n this.keyboardNav &&\n inputValueInOptions &&\n this.autoFocusOnSelected &&\n !this.isSearchableSelect) {\n this.scrollToSelected(this.menu);\n }\n else if (this.inputEl.tagName !== \"IC-TEXT-FIELD\" &&\n this.inputEl.tagName !== \"INPUT\") {\n this.menu.focus();\n }\n else if (!!this.optionHighlighted &&\n !this.focusFromSearchKeypress &&\n !this.preventIncorrectTabOrder) {\n const highlightedEl = this.host.querySelector(`li[data-value=\"${this.optionHighlighted}\"]`);\n if (highlightedEl) {\n highlightedEl.focus();\n }\n }\n }\n if (this.open && !this.value && this.selectOnEnter) {\n this.scrollToSelected(this.menu);\n }\n }\n componentDidRender() {\n if (this.open && !this.popperInstance && this.anchorEl) {\n this.initPopperJs(this.anchorEl);\n }\n if (this.open && !!this.options.length) {\n this.setMenuScrollbar();\n }\n }\n /**\n * @internal If menu is opened with the mouse, emit menuStateChange custom event.\n */\n async handleClickOpen() {\n if (!this.preventClickOpen) {\n this.menuStateChange.emit({ open: !this.open });\n this.keyboardNav = false;\n }\n this.preventClickOpen = false;\n }\n /**\n * Used alongside activationType\n * If menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\n * @param {KeyboardEvent} event The keyboard event which is available when handleKeyboardOpen is invoked.\n */\n async handleKeyboardOpen(event) {\n if (this.activationType === \"automatic\") {\n this.autoSetInputValueKeyboardOpen(event);\n }\n else {\n this.manSetInputValueKeyboardOpen(event);\n }\n }\n /**\n * @internal Used to highlight the first option in the menu.\n */\n async handleSetFirstOption() {\n this.setHighlightedOption(0);\n }\n /**\n * @internal Used to initialize popperJS with an anchor element.\n * 5/12/2023: Tested with Floating UI, however, discovered inconsistent\n * boundary behaviour so sticking with PopperJS.\n */\n async initPopperJs(anchor) {\n this.popperInstance = createPopper(anchor, this.host, {\n placement: \"bottom\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 7],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n });\n }\n focusOnSearchOrSelectInput(menuOptions, highlightedOptionIndex) {\n if (!menuOptions[highlightedOptionIndex])\n return;\n if (this.isSearchBar) {\n this.parentEl.setFocus();\n if (this.searchMode === \"navigation\")\n this.setHighlightedOption(0);\n }\n if (this.isSearchableSelect) {\n this.parentEl.setFocus();\n }\n this.focusFromSearchKeypress = true;\n }\n render() {\n const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, small, open, inputEl, keyboardNav, } = this;\n return (h(Host, { class: {\n \"full-width\": fullWidth,\n \"no-focus\": (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === \"INPUT\" || hasTimedOut || isLoading,\n small: small,\n [size]: true,\n open: open,\n } }, options.length !== 0 && (h(\"ul\", { id: menuId, class: \"menu\", role: \"listbox\", \"aria-label\": inputLabel, \"aria-activedescendant\": value != null && value !== \"\" ? this.getOptionId(value) : \"\", tabindex: open && !keyboardNav && (inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== \"INPUT\" ? \"0\" : \"-1\", ref: (el) => (this.menu = el), onKeyDown: this.handleMenuKeyDown, onKeyUp: this.handleMenuKeyUp, onBlur: this.handleBlur }, this.getSortedOptions(options).map((option, index) => {\n if (option.children) {\n if (option.children.length > 0) {\n return (h(\"div\", null, h(\"ic-typography\", { class: \"option-group-title\", role: \"presentation\", variant: \"subtitle-small\" }, h(\"p\", null, option[this.labelField])), option.children.map((childOption) => this.displayOption(childOption, index, option))));\n }\n else {\n return null;\n }\n }\n else {\n return this.displayOption(option, index);\n }\n })))));\n }\n static get is() { return \"ic-menu\"; }\n static get encapsulation() { return \"scoped\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-menu.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-menu.css\"]\n };\n }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether options manually set as values (by pressing 'Enter') when they receive focus using keyboard navigation.\"\n },\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"anchorEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The reference to an anchor element the menu will position itself from when rendered.\"\n }\n },\n \"autoFocusOnSelected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, autofocus will be applied on selected item when menu is open.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"auto-focus-on-selected\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"fullWidth\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu will fill the width of the container.\"\n },\n \"attribute\": \"full-width\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"inputEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The reference to the input element.\"\n }\n },\n \"inputLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the input element.\"\n },\n \"attribute\": \"input-label\",\n \"reflect\": false\n },\n \"labelField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the label field for IcMenuOption.\"\n },\n \"attribute\": \"label-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"label\\\"\"\n },\n \"menuId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The ID of the menu.\"\n },\n \"attribute\": \"menu-id\",\n \"reflect\": false\n },\n \"open\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu will be displayed open.\"\n },\n \"attribute\": \"open\",\n \"reflect\": true\n },\n \"parentEl\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"- The parent element if ic-menu is nested inside another component.\"\n }],\n \"text\": \"\"\n }\n },\n \"searchMode\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSearchBarSearchModes\",\n \"resolved\": \"\\\"navigation\\\" | \\\"query\\\"\",\n \"references\": {\n \"IcSearchBarSearchModes\": {\n \"location\": \"import\",\n \"path\": \"../ic-search-bar/ic-search-bar.types\",\n \"id\": \"src/components/ic-search-bar/ic-search-bar.types.ts::IcSearchBarSearchModes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Specify the mode search bar uses to search. `navigation` allows for quick lookups of a set of values, `query` allows for more general searches.\"\n },\n \"attribute\": \"search-mode\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"navigation\\\"\"\n },\n \"selectOnEnter\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If `true`, the icOptionSelect event will be fired on enter instead of ArrowUp and ArrowDown.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"select-on-enter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"default\\\" | \\\"large\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the menu component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"options\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcMenuOption[]\",\n \"resolved\": \"IcMenuOption[]\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The possible menu selection options.\"\n }\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the currently selected option.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"valueField\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The custom name for the value field for IcMenuOption.\"\n },\n \"attribute\": \"value-field\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"value\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"focusFromSearchKeypress\": {},\n \"initialOptionsListRender\": {},\n \"keyboardNav\": {},\n \"optionHighlighted\": {},\n \"preventIncorrectTabOrder\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"menuKeyPress\",\n \"name\": \"menuKeyPress\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when key is pressed while menu is open\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ isNavKey: boolean; key: string }\",\n \"resolved\": \"{ isNavKey: boolean; key: string; }\",\n \"references\": {}\n }\n }, {\n \"method\": \"menuOptionId\",\n \"name\": \"menuOptionId\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when an option has been highlighted\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcMenuOptionIdEventDetail\",\n \"resolved\": \"IcMenuOptionIdEventDetail\",\n \"references\": {\n \"IcMenuOptionIdEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuOptionIdEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuOptionSelect\",\n \"name\": \"menuOptionSelect\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when an option is selected.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcOptionSelectEventDetail\",\n \"resolved\": \"IcOptionSelectEventDetail\",\n \"references\": {\n \"IcOptionSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcOptionSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuStateChange\",\n \"name\": \"menuStateChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when state of menu changes (i.e. open or close).\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcMenuChangeEventDetail\",\n \"resolved\": \"IcMenuChangeEventDetail\",\n \"references\": {\n \"IcMenuChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu.types\",\n \"id\": \"src/components/ic-menu/ic-menu.types.ts::IcMenuChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"menuValueChange\",\n \"name\": \"menuValueChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when menu value changes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"retryButtonClicked\",\n \"name\": \"retryButtonClicked\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the retry button is clicked\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcValueEventDetail\",\n \"resolved\": \"IcValueEventDetail\",\n \"references\": {\n \"IcValueEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcValueEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"timeoutBlur\",\n \"name\": \"timeoutBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the timeout menu loses focus\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ ev: FocusEvent }\",\n \"resolved\": \"{ ev: FocusEvent; }\",\n \"references\": {\n \"FocusEvent\": {\n \"location\": \"global\",\n \"id\": \"global::FocusEvent\"\n }\n }\n }\n }, {\n \"method\": \"ungroupedOptionsSet\",\n \"name\": \"ungroupedOptionsSet\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the ungrouped options have been set.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{ options: IcMenuOption[] }\",\n \"resolved\": \"{ options: IcMenuOption[]; }\",\n \"references\": {\n \"IcMenuOption\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcMenuOption\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"handleClickOpen\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"If menu is opened with the mouse, emit menuStateChange custom event.\"\n }]\n }\n },\n \"handleKeyboardOpen\": {\n \"complexType\": {\n \"signature\": \"(event: KeyboardEvent) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"event\",\n \"type\": \"KeyboardEvent\",\n \"docs\": \"The keyboard event which is available when handleKeyboardOpen is invoked.\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"KeyboardEvent\": {\n \"location\": \"global\",\n \"id\": \"global::KeyboardEvent\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Used alongside activationType\\nIf menu is opened via keyboard navigation (i.e. Enter, ArrowUp or ArrowDown), emit optionSelect custom event.\",\n \"tags\": [{\n \"name\": \"param\",\n \"text\": \"event The keyboard event which is available when handleKeyboardOpen is invoked.\"\n }]\n }\n },\n \"handleSetFirstOption\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to highlight the first option in the menu.\"\n }]\n }\n },\n \"initPopperJs\": {\n \"complexType\": {\n \"signature\": \"(anchor: HTMLElement) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"anchor\",\n \"type\": \"HTMLElement\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n },\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to initialize popperJS with an anchor element.\\n5/12/2023: Tested with Floating UI, however, discovered inconsistent\\nboundary behaviour so sticking with PopperJS.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"host\"; }\n static get watchers() {\n return [{\n \"propName\": \"open\",\n \"methodName\": \"watchOpenHandler\"\n }, {\n \"propName\": \"options\",\n \"methodName\": \"watchOptionsHandler\"\n }, {\n \"propName\": \"value\",\n \"methodName\": \"watchValueHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-menu.js.map\n"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["CONTEXT_ID_ATTR","TabContext","constructor","hostRef","this","newTabPanels","newTabs","emitEvents","tabIndex","tabLabel","el","querySelectorAll","textContent","trim","icTabSelect","emit","tabSelect","linkTabs","tabs","forEach","tab","index","tabId","contextId","tabPanelId","setAttribute","tabPosition","tabGroup","tabPanels","appearance","IcThemeForegroundEnum","Light","getChildren","querySelector","Array","from","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","isManual","activationType","enabledTabIndex","findIndex","focusedTabIndex","selectedTab","keyboardFunction","keyboardFocusTab","keyboardSelectTab","preventDefault","key","length","setInitialTab","selectedTabIndex","undefined","firstEnabledTabIndex","configureTabs","selected","tabPanel","hidden","disabled","newIndex","focus","watchAppearanceHandler","updateSelectedTab","newValue","componentDidLoad","addEventListener","componentWillUpdate","disconnectedCallback","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","tabRemovedHandler","hadFocus","render","h"],"sources":["../web-components/dist/collection/components/ic-tab-context/ic-tab-context.js"],"sourcesContent":["import { h, } from \"@stencil/core\";\nimport { IcThemeForegroundEnum, } from \"../../utils/types\";\nconst CONTEXT_ID_ATTR = \"context-id\";\nexport class TabContext {\n constructor() {\n this.newTabPanels = [];\n this.newTabs = [];\n this.emitEvents = (tabIndex) => {\n const tabLabel = this.el\n .querySelectorAll(\"ic-tab\")\n // eslint-disable-next-line no-unexpected-multiline\n [tabIndex].textContent.trim();\n this.icTabSelect.emit({ tabIndex, tabLabel });\n this.tabSelect.emit({ tabIndex, tabLabel });\n };\n /** Sets attributes to link tab-group, tabs and tab-panels */\n this.linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n if (this.appearance === IcThemeForegroundEnum.Light) {\n tab.appearance = this.appearance;\n this.tabPanels[index].appearance = this.appearance;\n }\n });\n if (this.appearance === IcThemeForegroundEnum.Light) {\n this.tabGroup.appearance = this.appearance;\n }\n };\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\n this.getChildren = () => {\n this.tabGroup = this.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\"));\n this.tabPanels = Array.from(this.el.children).filter((child) => child.tagName === \"IC-TAB-PANEL\");\n this.enabledTabs = this.getEnabledTabs();\n };\n this.keydownHandler = (event) => {\n const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab].tabId);\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0);\n break;\n case \"ArrowLeft\":\n keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n }\n else {\n preventDefault = false;\n }\n }\n if (preventDefault)\n event.preventDefault();\n };\n /** Sets the tab that is selected on initial render */\n this.setInitialTab = () => {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n }\n else {\n const firstEnabledTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[0].tabId);\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n /** Passes the selected tab to the tab and tab panel components */\n this.configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel, index) => {\n tabPanel.hidden = index !== this.selectedTab;\n });\n };\n this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);\n /** Sets focus on tab and selects it */\n this.keyboardSelectTab = (enabledTabIndex) => {\n const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n this.enabledTabs[enabledTabIndex].focus();\n if (this.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n }\n else {\n this.emitEvents(newIndex);\n }\n };\n /** Sets focus on tab without selecting it (for manual activation) */\n this.keyboardFocusTab = (enabledTabIndex) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n };\n this.selectedTab = undefined;\n this.activationType = \"automatic\";\n this.appearance = \"dark\";\n this.contextId = \"default\";\n this.selectedTabIndex = undefined;\n }\n watchAppearanceHandler() {\n this.tabs.forEach((tab, index) => {\n tab.appearance = this.appearance;\n this.tabPanels[index].appearance = this.appearance;\n });\n this.tabGroup.appearance = this.appearance;\n }\n updateSelectedTab(newValue) {\n this.selectedTab = newValue;\n }\n componentDidLoad() {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n this.setInitialTab();\n this.configureTabs();\n }\n componentWillUpdate() {\n this.configureTabs();\n }\n disconnectedCallback() {\n this.tabGroup.removeEventListener(\"keydown\", this.keydownHandler);\n }\n tabClickHandler(event) {\n if (this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId) {\n this.selectedTab = event.detail.position;\n }\n this.emitEvents(event.detail.position);\n event.stopImmediatePropagation();\n }\n tabCreatedHandler(ev) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab])\n this.setInitialTab();\n this.configureTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n tabEnabledHandler() {\n this.enabledTabs = this.getEnabledTabs();\n }\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n async tabRemovedHandler(hadFocus) {\n this.getChildren();\n this.linkTabs();\n if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n this.tabPanels[this.selectedTab].hidden = false;\n }\n else {\n this.setInitialTab();\n }\n if (hadFocus) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", null);\n }\n static get is() { return \"ic-tab-context\"; }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\"\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\"\n },\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"appearance\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeForegroundNoDefault\",\n \"resolved\": \"\\\"dark\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeForegroundNoDefault\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeForegroundNoDefault\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The appearance of the tab context, e.g dark, or light.\"\n },\n \"attribute\": \"appearance\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"dark\\\"\"\n },\n \"contextId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\"\n },\n \"attribute\": \"context-id\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"selectedTabIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\"\n },\n \"attribute\": \"selected-tab-index\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"selectedTab\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icTabSelect\",\n \"name\": \"icTabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a tab.\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"tabSelect\",\n \"name\": \"tabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This event should not be used anymore. Use icTabSelect instead.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"tabRemovedHandler\": {\n \"complexType\": {\n \"signature\": \"(hadFocus?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"hadFocus\",\n \"type\": \"boolean\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to set tab/tab panel IDs when a tab/tab panel has been removed\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"appearance\",\n \"methodName\": \"watchAppearanceHandler\"\n }, {\n \"propName\": \"selectedTabIndex\",\n \"methodName\": \"updateSelectedTab\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabClick\",\n \"method\": \"tabClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabPanelCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabEnabled\",\n \"method\": \"tabEnabledHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-tab-context.js.map\n"],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"names":["icMenuItemCss","MenuItem","constructor","hostRef","this","handleClick","e","isPropDefined","submenuTriggerFor","triggerPopoverMenuInstance","emit","variant","preventDefault","toggleChecked","handleMenuItemClick","label","hasSubMenu","el","getMenuItemAriaLabel","ariaLabel","description","keyboardShortcut","classList","contains","parentEl","parentElement","tagName","undefined","disabled","href","hreflang","referrerpolicy","rel","target","componentWillLoad","removeDisabledFalse","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","handleHostClick","stopImmediatePropagation","render","MenuItemInformation","h","class","Host","role","fullWidth","onClick","ariaControlsId","ariaOwnsId","isSlotUsed","name","innerHTML","Check","Chevron","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-menu-item/ic-menu-item.css?tag=ic-menu-item&encapsulation=shadow","../web-components/dist/collection/components/ic-menu-item/ic-menu-item.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\nli {\n list-style: none;\n padding: 0;\n}\n\n:host ::part(button) {\n color: var(--ic-color-primary-text);\n padding: calc(var(--ic-space-xxxs) / 2);\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: 0;\n min-height: 2.5rem;\n height: auto;\n}\n\n.focus-border {\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: var(--ic-border-radius);\n margin: calc(var(--ic-space-xxxs) / 2);\n padding: var(--ic-space-xxs);\n border: var(--ic-space-xxxs) dashed transparent;\n\n --icon-height: auto;\n}\n\n:host(.disabled) ::part(button) {\n color: var(--ic-architectural-200) !important;\n pointer-events: none;\n}\n\n:host(.disabled) .menu-item-label,\n:host(.disabled) .shortcut,\n:host(.disabled) .menu-item-description {\n color: var(--ic-architectural-200) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button) {\n color: var(--ic-action-destructive);\n}\n\n:host ::part(button):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host ::part(button):focus-visible,\n:host ::part(button):focus {\n color: var(--ic-color-white-text);\n background-color: var(--ic-focus-blue);\n box-shadow: none;\n}\n\n:host(.disabled) ::part(button):focus-visible,\n:host(.disabled) ::part(button):focus {\n color: var(--ic-theme-lighten-40) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):focus-visible,\n:host([variant=\"destructive\"]) ::part(button):focus {\n background-color: var(--ic-action-destructive);\n}\n\nic-button:focus-within .menu-item-label,\nic-button:focus-within .shortcut,\nic-button:focus-within .menu-item-description {\n color: var(--ic-color-white-text);\n}\n\n:host(.disabled) ic-button:focus-within .focus-border {\n border-color: var(--ic-architectural-white);\n}\n\n:host(.disabled) ic-button:focus-within .menu-item-label,\n:host(.disabled) ic-button:focus-within .shortcut,\n:host(.disabled) ic-button:focus-within .menu-item-description {\n color: var(--ic-theme-lighten-40) !important;\n}\n\n:host ::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-color-primary-text) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-action-destructive) !important;\n}\n\n.menu-item-info {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: baseline;\n white-space: pre-line;\n text-align: left;\n}\n\n.menu-labels {\n display: flex;\n align-items: baseline;\n gap: var(--ic-space-xs);\n}\n\n.menu-item-description {\n color: var(--ic-color-secondary-text);\n}\n\n.shortcut {\n color: var(--ic-color-tertiary-text);\n display: flex;\n flex: min-content;\n}\n\n:host([variant=\"destructive\"]) .menu-item-label {\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.025em;\n}\n\nic-button:active .menu-item-label {\n color: var(--ic-color-primary-text);\n}\n\nic-button:active .menu-item-description {\n color: var(--ic-color-secondary-text);\n}\n\nic-button:active .shortcut {\n color: var(--ic-color-tertiary-text);\n}\n\n:host([variant=\"destructive\"]) ic-button:active .menu-item-label {\n color: var(--ic-action-destructive) !important;\n}\n\n.icon,\n.check-icon,\n.submenu-icon,\n.icon ::slotted(svg),\n.check-icon svg,\n.submenu-icon svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.check-icon.hide {\n visibility: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n :host ::part(button) {\n border: canvas;\n }\n\n :host ::part(button):focus-visible {\n outline: var(--ic-space-xxxs) solid transparent;\n }\n\n .focus-border {\n border-color: canvas;\n }\n\n :host(.disabled) ic-button:focus-within .focus-border {\n border-color: GrayText;\n }\n\n :host(.disabled) .menu-item-info,\n :host(.disabled) .menu-item-label,\n :host(.disabled) .shortcut,\n :host(.disabled) .menu-item-description,\n :host(.disabled) ic-button:focus-within .menu-item-info,\n :host(.disabled) ic-button:focus-within .menu-item-label,\n :host(.disabled) ic-button:focus-within .shortcut,\n :host(.disabled) ic-button:focus-within .menu-item-description {\n color: GrayText !important;\n }\n\n :host(.disabled) ::part(button):focus-visible,\n :host(.disabled) ::part(button):focus {\n outline-color: GrayText !important;\n }\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, removeDisabledFalse, isPropDefined, } from \"../../utils/helpers\";\nimport Check from \"../../assets/check-icon.svg\";\nimport Chevron from \"../../assets/chevron-icon.svg\";\n/**\n * @slot icon - Content will be placed to the left of the menu item label.\n */\nexport class MenuItem {\n constructor() {\n this.handleClick = (e) => {\n if (isPropDefined(this.submenuTriggerFor)) {\n this.triggerPopoverMenuInstance.emit();\n }\n else if (this.variant === \"toggle\") {\n e.preventDefault();\n this.toggleChecked = !this.toggleChecked;\n }\n this.handleMenuItemClick.emit({\n label: this.label,\n hasSubMenu: !!this.el.submenuTriggerFor,\n });\n };\n this.getMenuItemAriaLabel = () => {\n let ariaLabel = this.label;\n if (isPropDefined(this.description)) {\n ariaLabel = `${ariaLabel}, ${this.description}`;\n }\n if (isPropDefined(this.keyboardShortcut)) {\n ariaLabel = `${ariaLabel}, ${this.keyboardShortcut}`;\n }\n if (this.variant === \"destructive\") {\n ariaLabel = `${ariaLabel}, destructive`;\n }\n if (isPropDefined(this.submenuTriggerFor)) {\n ariaLabel = `${ariaLabel}, triggers submenu`;\n }\n if (this.el.classList.contains(\"ic-popover-submenu-back-button\")) {\n ariaLabel = \"Go back to parent menu\";\n }\n const parentEl = this.el.parentElement;\n if (parentEl.tagName === \"IC-MENU-GROUP\" &&\n parentEl.label) {\n return `${ariaLabel}, ${parentEl.label} menu group`;\n }\n else {\n return ariaLabel;\n }\n };\n this.toggleChecked = false;\n this.description = undefined;\n this.disabled = false;\n this.href = undefined;\n this.hreflang = undefined;\n this.keyboardShortcut = undefined;\n this.label = undefined;\n this.referrerpolicy = undefined;\n this.rel = undefined;\n this.submenuTriggerFor = undefined;\n this.target = undefined;\n this.variant = \"default\";\n }\n componentWillLoad() {\n // This ensures that trigger menu items are always set to the default variant\n if (isPropDefined(this.submenuTriggerFor) && this.variant !== \"default\") {\n this.variant = \"default\";\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Menu Item\");\n }\n handleHostClick(e) {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n }\n render() {\n // A sub-component to layout the menu information correctly in ic-button\n const MenuItemInformation = () => {\n return (h(\"div\", { class: \"menu-item-info\" }, h(\"div\", { class: \"menu-labels\" }, h(\"ic-typography\", { class: \"menu-item-label\" }, this.label), this.keyboardShortcut && (h(\"ic-typography\", { variant: \"caption\", class: \"shortcut\" }, this.keyboardShortcut))), this.description && (h(\"ic-typography\", { class: \"menu-item-description\", variant: \"caption\" }, this.description))));\n };\n return (h(Host, { class: {\n [\"disabled\"]: this.disabled,\n } }, h(\"li\", { role: this.variant === \"toggle\" ? \"menuitemcheckbox\" : \"menuitem\", \"aria-disabled\": `${this.disabled}`, \"aria-checked\": this.variant === \"toggle\" ? this.toggleChecked : undefined }, h(\"ic-button\", { fullWidth: true, variant: \"tertiary\", onClick: this.handleClick, href: isPropDefined(this.href), hreflang: isPropDefined(this.hreflang), target: isPropDefined(this.target), rel: isPropDefined(this.rel), referrerpolicy: this.referrerpolicy !== undefined ? this.referrerpolicy : null, \"aria-disabled\": `${this.disabled}`, \"aria-label\": this.getMenuItemAriaLabel(), ariaControlsId: isPropDefined(this.submenuTriggerFor)\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false, \"aria-haspopup\": isPropDefined(this.submenuTriggerFor) ||\n this.el.classList.contains(\"ic-popover-submenu-back-button\")\n ? \"menu\"\n : false, ariaOwnsId: isPropDefined(this.submenuTriggerFor)\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false }, h(\"div\", { class: \"focus-border\" }, isSlotUsed(this.el, \"icon\") && (h(\"span\", { class: \"icon\" }, h(\"slot\", { name: \"icon\" }))), h(MenuItemInformation, null), this.variant === \"toggle\" && (h(\"span\", { class: {\n [\"check-icon\"]: true,\n [\"hide\"]: !this.toggleChecked,\n }, \"aria-hidden\": \"true\", innerHTML: Check })), isPropDefined(this.submenuTriggerFor) && (h(\"span\", { class: { [\"submenu-icon\"]: true }, \"aria-hidden\": \"true\", innerHTML: Chevron })))))));\n }\n static get is() { return \"ic-menu-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-menu-item.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-menu-item.css\"]\n };\n }\n static get properties() {\n return {\n \"description\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The description displayed in the menu item, below the label.\"\n },\n \"attribute\": \"description\",\n \"reflect\": false\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the menu item will be in disabled state.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"href\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The URL that the link points to. This will render the menu item as an \\\"a\\\" tag.\"\n },\n \"attribute\": \"href\",\n \"reflect\": false\n },\n \"hreflang\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The human language of the linked URL.\"\n },\n \"attribute\": \"hreflang\",\n \"reflect\": false\n },\n \"keyboardShortcut\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label describing the keyboard shortcut for a menu item's action.\"\n },\n \"attribute\": \"keyboard-shortcut\",\n \"reflect\": false\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label to display in the menu item.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"referrerpolicy\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ReferrerPolicy\",\n \"resolved\": \"\\\"\\\" | \\\"no-referrer\\\" | \\\"no-referrer-when-downgrade\\\" | \\\"origin\\\" | \\\"origin-when-cross-origin\\\" | \\\"same-origin\\\" | \\\"strict-origin\\\" | \\\"strict-origin-when-cross-origin\\\" | \\\"unsafe-url\\\"\",\n \"references\": {\n \"ReferrerPolicy\": {\n \"location\": \"global\",\n \"id\": \"global::ReferrerPolicy\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"How much of the referrer to send when following the link.\"\n },\n \"attribute\": \"referrerpolicy\",\n \"reflect\": false\n },\n \"rel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The relationship of the linked URL as space-separated link types.\"\n },\n \"attribute\": \"rel\",\n \"reflect\": false\n },\n \"submenuTriggerFor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This references the popover menu instance that the menu item is a trigger for. If this prop is set, then the variant will always be default.\"\n },\n \"attribute\": \"submenu-trigger-for\",\n \"reflect\": false\n },\n \"target\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\"\n },\n \"attribute\": \"target\",\n \"reflect\": false\n },\n \"variant\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcMenuItemVariants\",\n \"resolved\": \"\\\"default\\\" | \\\"destructive\\\" | \\\"toggle\\\"\",\n \"references\": {\n \"IcMenuItemVariants\": {\n \"location\": \"import\",\n \"path\": \"./ic-menu-item.types\",\n \"id\": \"src/components/ic-menu-item/ic-menu-item.types.ts::IcMenuItemVariants\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The variant of the menu item.\"\n },\n \"attribute\": \"variant\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"toggleChecked\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"childBlur\",\n \"name\": \"childBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when item loses focus.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"handleMenuItemClick\",\n \"name\": \"handleMenuItemClick\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the user clicks a menu item.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"{\\n label: string;\\n hasSubMenu: boolean;\\n }\",\n \"resolved\": \"{ label: string; hasSubMenu: boolean; }\",\n \"references\": {}\n }\n }, {\n \"method\": \"triggerPopoverMenuInstance\",\n \"name\": \"triggerPopoverMenuInstance\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the user clicks a menu item that triggers a popover menu instance.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"click\",\n \"method\": \"handleHostClick\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-menu-item.js.map\n"],"mappings":"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"}
|
@@ -1,2 +0,0 @@
|
|
1
|
-
import{r as t,c as i,h as s,H as e,g as h}from"./p-8455d1bb.js";import{a,s as n,w as r,q as o,u as l,o as c,C as d,A as u,v as f,I as p,f as b,h as m}from"./p-7435de65.js";import{b as v,i as w,j as g,s as y,h as k,k as x}from"./p-33dd24eb.js";const $=`<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">\n <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>\n</svg>\n`;const D=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M16.6667 2.50004H15.8334V0.833374H14.1667V2.50004H5.83342V0.833374H4.16675V2.50004H3.33341C2.41675 2.50004 1.66675 3.25004 1.66675 4.16671V17.5C1.66675 18.4167 2.41675 19.1667 3.33341 19.1667H16.6667C17.5834 19.1667 18.3334 18.4167 18.3334 17.5V4.16671C18.3334 3.25004 17.5834 2.50004 16.6667 2.50004ZM16.6667 17.5H3.33341V6.66671H16.6667V17.5Z" fill="currentColor"/>\n</svg>`;const Y='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}input{border:0;height:100%;padding:0;outline:none;background:none;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{-webkit-appearance:none}ic-input-component-container{cursor:text}ic-input-component-container,ic-input-component-container:hover{color:var(--ic-color-tertiary-text)}ic-input-component-container .focus-indicator{padding:var(--ic-space-xxxs) var(--ic-space-xs);align-items:center}.day-input{width:1.438rem}.month-input{width:1.813rem}.year-input,.year-input.fit-to-value{width:2.313rem}.fit-to-value{width:1.25rem}.sr-only{position:absolute;left:-9999px}.input-container{width:100%;display:flex;justify-content:space-between;align-items:center;position:relative}.action-buttons{display:flex;align-items:center}.show-calendar-button-wrapper{display:flex;justify-content:center;align-items:center}.clear-button,.calendar-button{border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition);margin:0}.clear-button.hidden{display:none}.clear-button:focus,.calendar-button:focus,.clear-button:active,.calendar-button:active{background-color:var(--ic-focus-blue) !important;box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow) !important;border-radius:0.25rem}.clear-button:focus,.calendar-button:focus,.clear-button:active *,.calendar-button:active *{fill:var(--ic-architectural-white)}.divider{margin:0 var(--ic-space-xxs);width:var(--ic-space-1px);background-color:var(--ic-architectural-400);border-radius:var(--ic-space-1px)}.divider.small{height:var(--ic-space-md)}.divider.default{height:calc(var(--ic-space-sm) + var(--ic-space-xs))}.divider.large{height:var(--ic-space-lg)}';let M=0;const z=class{constructor(e){t(this,e);this.calendarButtonClicked=i(this,"calendarButtonClicked",7);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icFocus=i(this,"icFocus",7);this.ARIA_INVALID="aria-invalid";this.ARIA_LABEL="aria-label";this.ARIA_LABELLED_BY="aria-labelledby";this.EVENT_OBJECT_STRING="[object Event]";this.FIT_TO_VALUE="fit-to-value";this.initialValue=this.value;this.INPUT_EVENT_OBJECT_STRING="[object InputEvent]";this.inputsInOrder=[];this.isAfterMax=false;this.isBeforeMin=false;this.isDateSetFromKeyboardEvent=false;this.isDisabledDate=false;this.isValidDay=true;this.isValidMonth=true;this.isValidDate=true;this.isZuluTime=false;this.KEYBOARD_EVENT_OBJECT_STRING="[object KeyboardEvent]";this.MAX_DAY=31;this.MAX_MONTH=12;this.previousEmittedDate=undefined;this.previousSelectedDate=null;this.selectedDate=null;this.setInputPasteValue=(t,i)=>{const s=t;s.value=i;s.classList.add(this.FIT_TO_VALUE)};this.checkSingleCopiedValueIsValid=(t,i)=>{let s=false;const e=Number(i);switch(t){case this.dayInputEl:s=e>=1&&e<=this.MAX_DAY;break;case this.monthInputEl:s=e>=1&&e<=this.MAX_MONTH;break;case this.yearInputEl:s=true;break;default:s=false;break}return s};this.isKeyboardOrEvent=t=>Object.prototype.toString.call(t)===this.EVENT_OBJECT_STRING||Object.prototype.toString.call(t)===this.KEYBOARD_EVENT_OBJECT_STRING;this.setDateValidity=()=>{if(!a(this.day)){this.isValidDay=+this.day>this.MAX_DAY?false:true}else{this.isValidDay=true}if(!a(this.month)){this.isValidMonth=+this.month>this.MAX_MONTH?false:true}else{this.isValidMonth=true}};this.handleInput=t=>{const i=t;const s=t.target;if(s!==this.yearInputEl){if(i.inputType!=="deleteContentBackward"&&!this.preventAutoFormatting){if(s.value.length===1&&(s===this.dayInputEl&&+s.value>=4||s===this.monthInputEl&&+s.value>=2)&&+s.value<=9){this.setInputValue(s);this.notifyScreenReader(s,t);this.moveToNextInput(s)}if(s.value.length===2){if(+s.value===0){s.value="01"}this.setInputValue(s);this.setPreventInput(s,true);this.notifyScreenReader(s,t);this.moveToNextInput(s)}else{this.setPreventInput(s,false)}}else if(this.preventAutoFormatting){if(s.value.length===2&&!this.isKeyboardOrEvent(t)){this.setInputValue(s);this.setPreventInput(s,true);this.moveToNextInput(s)}else{this.setInputValue(s)}}if(s.value.length!==2){this.setPreventInput(s,false)}}else{if(s.value.length===4){this.setInputValue(s);if(Object.prototype.toString.call(t)!==this.EVENT_OBJECT_STRING){this.moveToNextInput(s)}this.setPreventInput(s,true)}else{this.setInputValue(s,true);this.setPreventInput(s,false)}}this.setFitToValueStyling(s);if(s.value.length===0){this.setInputValue(s,true);this.setValidationMessage()}this.notifyScreenReader(s,t)};this.handleKeyDown=(t,i)=>{const s=t.target;const e=t.key.toLowerCase();const h=/-?\d*\.?\d+(e[-+]?\d+)?|[/-]|arrowup|arrowdown|arrowleft|arrowright|shift|tab|backspace|delete/;if(!h.test(e)&&!((t.ctrlKey||t.metaKey)&&(e==="v"||e==="c"))){t.preventDefault()}switch(e){case"/":case"-":case".":t.preventDefault();this.setPasteInvalidText();this.moveToNextInput(s);break;case"arrowright":case"arrowleft":t.preventDefault();this.handleLeftRightArrowKeyPress(s,e);break;case"arrowup":case"arrowdown":this.preventAutoFormatting=true;this.handleUpDownArrowKeyPress(s,t);break}this.preventInput(t,i);this.isDateSetFromKeyboardEvent=true};this.handleFocus=t=>{const i=t.target;i.select()};this.handleBlur=t=>{const i=t.target;this.setPasteInvalidText();this.autocompleteInput(i)};this.handleLeftRightArrowKeyPress=(t,i)=>{if(i==="arrowright"){this.moveToNextInput(t)}else{this.moveToPreviousInput(t)}this.setPasteInvalidText()};this.notifyScreenReaderSelectedDate=()=>{const t=n(b);const i=n(m);this.selectedDateInfoEl.textContent=`Selected date: ${t[this.selectedDate.getDay()]}, ${this.selectedDate.getDate()} ${i[this.selectedDate.getMonth()]} ${this.selectedDate.getFullYear()}`};this.handleUpDownArrowKeyPress=(t,i)=>{const s=t===this.yearInputEl?0:1;let e;switch(t){case this.dayInputEl:e=this.MAX_DAY;break;case this.monthInputEl:e=this.MAX_MONTH;break;case this.yearInputEl:e=9999}if(t===null||t===void 0?void 0:t.value){if(i.key==="ArrowUp"){if(+t.value===e){i.preventDefault();t.value=`0${s}`}else{t.value=+t.value+1<10?`0${+t.value+1}`:(+t.value+1).toString()}this.notifyScreenReader(t,i)}if(i.key==="ArrowDown"){if(+t.value===s){i.preventDefault();t.value=e.toString()}else{t.value=+t.value-1<10?`0${+t.value-1}`:(+t.value-1).toString()}this.notifyScreenReader(t,i)}}else{if(i.key==="ArrowDown"){i.preventDefault();if(t===this.yearInputEl){t.value=(new Date).getFullYear().toString()}else{t.value=e.toString()}this.notifyScreenReader(t,i)}else if(i.key==="ArrowUp"){i.preventDefault();if(t===this.yearInputEl){t.value=(new Date).getFullYear().toString()}else{t.value=`0${s}`}this.notifyScreenReader(t,i)}}this.setInputValue(t);this.setFitToValueStyling(t)};this.handleDateChange=t=>{if(t||!v(this.selectedDate,this.previousSelectedDate)){if(this.value){this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}if(this.day&&this.month&&this.year&&this.invalidDateText===""){this.setValueAndEmitChange(this.selectedDate);this.notifyScreenReaderSelectedDate()}else if(!(this.selectedDate===null&&this.previousSelectedDate===null)){this.setValueAndEmitChange(null);this.selectedDateInfoEl.textContent=""}this.previousSelectedDate=this.selectedDate;if(!this.isDateSetFromKeyboardEvent){this.updateInputValues(this.day,this.month,this.year)}}};this.slicePastedDate=(t,i)=>i.length>t?i.slice(0,t):i;this.isPastedStringDateValid=t=>{if(/\d+-\d+-\d+$/.test(t)||/\d+\/\d+\/\d+/.test(t)||/\d+\.\d+\.\d+/.test(t)){return true}if(/[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}(?::[0-9]{2}(?:\.\d+)?)?Z/.test(t)){this.isZuluTime=true;return true}return false};this.handlePaste=t=>{t.preventDefault();const i=t.clipboardData.getData("Text");const s=this.isPastedStringDateValid(i);this.setPastedValueAndValidation(s,i,t)};this.setDate=t=>{if(t===null||t===""||t===undefined){this.day=null;this.month=null;this.year=null;this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setPreventInput(t,false)}));this.handleDateChange(true)}else{if(w(t)){let i;if(typeof t==="string"){i=new Date(+t)}else{i=t}this.day=g(i.getDate());this.month=g(i.getMonth()+1);this.year=i.getFullYear().toString()}else if(typeof t==="string"){const i=y(t,this.dateFormat);this.year=i[0];this.month=i[1];this.day=i[2]}}this.setValidationMessage()};this.formatMinMax=t=>{let i;const s=g(t.getDate());const e=g(t.getMonth()+1);const h=t.getFullYear();switch(this.dateFormat){case"DD/MM/YYYY":i=`${s}/${e}/${h}`;break;case"MM/DD/YYYY":i=`${e}/${s}/${h}`;break;case"YYYY/MM/DD":i=`${h}/${e}/${s}`;break}return i};this.updateInputValues=(t,i,s)=>{this.dayInputEl.value=t;this.monthInputEl.value=i;this.yearInputEl.value=s};this.setInputValue=(t,i=false)=>{const s=i?"":t.value;switch(t){case this.dayInputEl:this.day=s;break;case this.monthInputEl:this.month=s;break;case this.yearInputEl:if(this.year!==s){this.year=s}}this.setValidationMessage()};this.setValidationMessage=()=>{this.setDateValidity();if(!a(this.day)&&!a(this.month)&&!a(this.year)){this.selectedDate=this.convertToDate(this.year,this.month,this.day);this.isValidDate=+this.selectedDate!==0&&this.selectedDate.getDate()==+this.day;this.isDisabledDate=this.isSelectedDateDisabled();if(!this.isValidDate||this.isDisabledDate){this.inputsInOrder.forEach((t=>t.setAttribute(this.ARIA_INVALID,"true")))}else{this.inputsInOrder.forEach((t=>t.removeAttribute(this.ARIA_INVALID)))}}else{this.selectedDate=null}if(!(this.isValidDay&&this.isValidMonth&&this.isValidDate)){this.invalidDateText=this.invalidDateMessage}else if(this.isDisabledDate&&this.selectedDate!==null){if(this.isBeforeMin){if(this.disablePast){this.invalidDateText=this.disablePastMessage}else{this.invalidDateText=`Please enter a date after ${this.formatMinMax(this.minDate)}.`}}else if(this.isAfterMax){if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}else{this.invalidDateText=`Please enter a date before ${this.formatMinMax(this.maxDate)}.`}}else if(this.disableDays.length!==0){this.invalidDateText=this.disableDaysMessage}else{if(this.disablePast){this.invalidDateText=this.disablePastMessage}if(this.disableFuture){this.invalidDateText=this.disableFutureMessage}}}else{this.invalidDateText=""}};this.setInputsInOrder=()=>{const t=this.el.shadowRoot.querySelectorAll("input");t.forEach((t=>this.inputsInOrder.push(t)))};this.setAriaLabelledBy=()=>{var t,i;if(this.disabled&&!a((t=this.inputCompContainerEl)===null||t===void 0?void 0:t.getAttribute(this.ARIA_LABELLED_BY))){this.removeAriaLabelledBy();return}if(this.disabled){return}const s=this.el.shadowRoot.querySelector("label");const e=`${this.inputId}-label`;if(s!==null&&s!==undefined){s.id=e}const h=!a(this.validationStatus)&&!a(this.validationText)||!a(this.invalidDateText);const n=`${(i=s===null||s===void 0?void 0:s.id)!==null&&i!==void 0?i:""} ${this.screenReaderInfoId} ${r(this.inputId,this.helperText!==""&&this.helperText!==this.defaultHelperText,h)} ${this.selectedDate?this.selectedDateInfoId:""} ${this.assistiveHintId}`;this.inputCompContainerEl.setAttribute(this.ARIA_LABELLED_BY,n)};this.setPreventInput=(t,i)=>{switch(t){case this.dayInputEl:this.preventDayInput=i;break;case this.monthInputEl:this.preventMonthInput=i;break;case this.yearInputEl:this.preventYearInput=i}};this.getInputFromDatePart=t=>{const i=s("input",{class:"day-input",id:"day-input",ref:t=>this.dayInputEl=t,"aria-label":"day",placeholder:"DD",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventDayInput)});const e=s("input",{id:"month-input",class:"month-input",ref:t=>this.monthInputEl=t,"aria-label":"month",placeholder:"MM",disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventMonthInput)});const h=s("input",{id:"year-input",class:"year-input",ref:t=>this.yearInputEl=t,"aria-label":"year",placeholder:"YYYY",maxLength:4,disabled:this.disabled,onPaste:this.handlePaste,inputmode:"number",pattern:"[0-9]*",onKeyDown:t=>this.handleKeyDown(t,this.preventYearInput)});let a;switch(t){case"D":a=i;break;case"M":a=e;break;case"Y":a=h}return a};this.getInputsInOrder=()=>{const t=this.dateFormat.split("/");const i=[];t.forEach((t=>{i.push(this.getInputFromDatePart(t.substring(0,1)))}));return i};this.getDescOfInputsOrder=()=>{let t;switch(this.dateFormat){case"DD/MM/YYYY":t="day, month, and year";break;case"MM/DD/YYYY":t="month, day, and year";break;case"YYYY/MM/DD":t="year, month, and day"}return t};this.getScreenReaderInfo=t=>{let i="";if(this.required){i+="required"}if(t===u.Error){i+=" invalid data"}return i===""?"":i+", "};this.preventInput=(t,i)=>{const s=t.key;const e=t.target;let h;if(e){h=e.value.substring(e.selectionStart,e.selectionEnd)}if(s==="e"||s==="."||s==="-"||t.key>="0"&&t.key<="9"&&i&&!h){t.preventDefault()}};this.isSelectedDateDisabled=()=>{const t=new Date;this.isAfterMax=false;this.isBeforeMin=false;let i=false;const s=this.selectedDate.toDateString()!==t.toDateString();if(this.minDate&&this.selectedDate<this.minDate&&s){this.isBeforeMin=true;i=true}if(this.maxDate&&this.selectedDate>this.maxDate&&s){this.isAfterMax=true;i=true}if(this.disableDays.includes(this.selectedDate.getDay())){i=true}if((this.disablePast&&this.selectedDate<t||this.disableFuture&&this.selectedDate>t)&&s){i=true}return i};this.moveToNextInput=t=>{const i=this.inputsInOrder.findIndex((i=>i===t));const s=this.inputsInOrder[i+1];this.preventAutoFormatting=false;if(s){s.focus()}};this.moveToPreviousInput=t=>{const i=this.inputsInOrder.findIndex((i=>i===t));this.preventAutoFormatting=false;if(this.inputsInOrder[i-1]){this.inputsInOrder[i-1].focus()}};this.autocompleteInput=t=>{if(t===this.yearInputEl){this.autocompleteYear()}else{const i=t.value;if(i.length===1){if(+i===0){t.value="01"}else{t.value=`0${i}`}}}if(t.value){this.setInputValue(t)}};this.autocompleteYear=()=>{const t=this.yearInputEl.value;const i=["2","0","0"];let s="";if(t){i.forEach(((i,e)=>{if(t.length+e<=3){s+=i}}));this.yearInputEl.value=`${s}${t}`}};this.convertToDate=(t,i,s)=>{if(!a(t)&&!a(i)&&!a(s)){return new Date(+t,+i-1,+s)}else{return null}};this.handleHostBlur=()=>{this.removeLabelledBy=false;this.icBlur.emit({value:this.selectedDate})};this.handleHostFocus=()=>{var t;if((t=this.el.shadowRoot.activeElement)===null||t===void 0?void 0:t.id.match(/(day|month|year)-input$/)){this.removeLabelledBy=false}else{this.removeLabelledBy=true}this.icFocus.emit({value:this.selectedDate})};this.handleFormReset=()=>{this.setDate(this.initialValue);this.setValidationMessage();this.handleDateChange(false)};this.getAriaLabel=t=>t.getAttribute(this.ARIA_LABEL);this.notifyScreenReaderArrowKeys=t=>{const i=this.el.shadowRoot.querySelector("#live-region");let s="";const e=this.getAriaLabel(t);if(i&&t.value){if(t===this.monthInputEl&&!!m[+t.value-1]){s=`${t.value} - ${m[+t.value-1]}, ${e}`}if(t===this.dayInputEl||t===this.yearInputEl){s=`${t.value}, ${e}`}i.textContent=s}};this.notifyScreenReaderInput=(t,i)=>{let s="";const e=this.getAriaLabel(t);if(t===this.dayInputEl||t===this.monthInputEl){if(t.value.length===2){if(t===this.monthInputEl&&!!m[+t.value-1]&&this.isValidMonth){s=`${t.value} - ${m[+t.value-1]}, ${e}`}if(t===this.dayInputEl&&this.isValidDay){s=`${t.value}, ${e}`}}else{s=""}}else{if(t.value.length===4){s=`${t.value}, ${e}`}else{s=""}}i.textContent=s};this.setFitToValueStyling=t=>{if(t.value){t.classList.add(this.FIT_TO_VALUE)}else{t.classList.remove(this.FIT_TO_VALUE)}};this.setAriaInvalid=(t,i,s,e)=>{if(this.inputsInOrder.length){this.inputsInOrder.forEach((t=>{t.removeAttribute(this.ARIA_INVALID)}));if(!t){this.dayInputEl.setAttribute(this.ARIA_INVALID,"true")}if(!i){this.monthInputEl.setAttribute(this.ARIA_INVALID,"true")}if(!s||e){this.inputsInOrder.forEach((t=>{t.setAttribute(this.ARIA_INVALID,"true")}))}}};this.handleClear=()=>{this.inputsInOrder.forEach((t=>{t.classList.remove(this.FIT_TO_VALUE);this.setInputValue(t,true);this.setPreventInput(t,false)}));this.isDateSetFromKeyboardEvent=false;this.setValidationMessage();this.handleDateChange(true);this.inputsInOrder[0].focus()};this.handleCalendarOpen=t=>{var i,s;t.stopImmediatePropagation();(i=this.calendarButtonEl)===null||i===void 0?void 0:i.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.calendarButtonClicked.emit({value:this.selectedDate});(s=this.calendarButtonEl)===null||s===void 0?void 0:s.shadowRoot.querySelector("ic-tooltip").displayTooltip(false);this.isDateSetFromKeyboardEvent=false};this.setValueAndEmitChange=t=>{if(!v(new Date(this.value),t)){this.emitIcChange(t);this.value=t}};this.handleCalendarFocus=()=>{this.calendarFocused=true};this.handleCalendarBlur=()=>{this.calendarFocused=false};this.handleClearFocus=()=>{this.removeLabelledBy=true;this.clearButtonFocused=true};this.handleClearBlur=t=>{var i;this.clearButtonFocused=false;if((i=t.relatedTarget)===null||i===void 0?void 0:i.id.match(/(day|year)-input$/)){this.removeLabelledBy=false;return}this.removeLabelledBy=true};this.emitIcChange=t=>{if(!(t===null&&this.previousEmittedDate===null)&&!v(t,this.previousEmittedDate)){this.previousEmittedDate=t;this.icChange.emit({value:t})}};this.day="";this.invalidDateText=undefined;this.maxDate=undefined;this.minDate=undefined;this.month="";this.year="";this.calendarFocused=false;this.clearButtonFocused=false;this.removeLabelledBy=false;this.dateFormat="DD/MM/YYYY";this.disabled=false;this.disableDays=[];this.disableDaysMessage="The date you have selected is on a day of the week that is not allowed. Please select another date.";this.disableFuture=false;this.disableFutureMessage="Dates in the future are not allowed. Please select a date in the past.";this.disablePast=false;this.disablePastMessage="Dates in the past are not allowed. Please select a date in the future.";this.helperText=undefined;this.hideHelperText=false;this.hideLabel=false;this.inputId=`ic-date-input-${M++}`;this.invalidDateMessage="Please enter a valid date.";this.label=undefined;this.max="";this.min="";this.name=this.inputId;this.required=false;this.showCalendarButton=false;this.showClearButton=true;this.size="default";this.value="";this.validationStatus="";this.validationText=""}watchDisableFutureHandler(){this.watchMaxHandler()}watchDisablePastHandler(){this.watchMinHandler()}watchMaxHandler(){if(this.disableFuture){this.maxDate=new Date}else{this.maxDate=k(this.max,this.dateFormat)}}watchMinHandler(){if(this.disablePast){this.minDate=new Date}else{this.minDate=k(this.min,this.dateFormat)}}watchRequiredHandler(){const t=this.el.shadowRoot.querySelector("label");if(this.required){const i=document.createElement("span");i.setAttribute("id","asterisk-span");i.setAttribute("aria-hidden","true");i.textContent=" *";t===null||t===void 0?void 0:t.appendChild(i)}else{const t=this.el.shadowRoot.querySelector("#asterisk-span");if(t){t.remove()}}}disconnectedCallback(){o(this.el,this.handleFormReset)}componentWillLoad(){this.defaultHelperText=`Use format ${this.dateFormat}`;if(a(this.helperText))this.helperText=this.defaultHelperText;this.watchMinHandler();this.watchMaxHandler();if(this.value){this.setDate(this.value);this.previousEmittedDate=this.selectedDate}else{this.previousEmittedDate=null}this.screenReaderInfoId=`${this.inputId}-screen-reader-info`;this.assistiveHintId=`${this.inputId}-assistive-hint`;this.selectedDateInfoId=`${this.inputId}-selected-date-info`;l(this.el,this.handleFormReset)}componentDidLoad(){this.setInputsInOrder();c([{prop:this.label,propName:"label"}],"Date Input");if(this.value){this.updateInputValues(this.day,this.month,this.year);this.inputsInOrder.forEach((t=>{t.classList.add(this.FIT_TO_VALUE)}))}this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);if(this.value){this.notifyScreenReaderSelectedDate()}this.inputsInOrder.forEach((t=>{t.addEventListener("input",this.handleInput);t.addEventListener("focus",this.handleFocus);t.addEventListener("blur",this.handleBlur)}));this.watchRequiredHandler()}componentWillUpdate(){if(a(this.helperText))this.helperText=this.defaultHelperText;if(!this.isDateSetFromKeyboardEvent)this.setDate(this.value);this.setAriaInvalid(this.isValidDay,this.isValidMonth,this.isValidDate,this.isDisabledDate);this.handleDateChange(false);this.isDateSetFromKeyboardEvent=false}componentDidRender(){if(this.removeLabelledBy){this.removeAriaLabelledBy();return}this.setAriaLabelledBy()}async getDate(){return this.selectedDate}async setCalendarFocus(){if(this.calendarButtonEl){this.calendarButtonEl.focus()}}async setDisableDays(t){this.disableDays=t}async triggerIcChange(t){this.emitIcChange(t)}removeAriaLabelledBy(){this.inputCompContainerEl.removeAttribute(this.ARIA_LABELLED_BY)}setPastedValueAndValidation(t,i,s){switch(true){case t:{const t=this.isZuluTime?x(i):i;const s=t.split(/-|\/|\./);this.inputsInOrder.forEach(((t,i)=>{t.classList.add(this.FIT_TO_VALUE);if(this.isZuluTime){this.pasteZuluDateTime(s,i)}else{let e;if(t===this.dayInputEl||t===this.monthInputEl){e=this.slicePastedDate(2,s[i])}else{e=this.slicePastedDate(4,s[i])}t.value=e;this.setInputValue(t);this.autocompleteInput(t)}}));this.isZuluTime=false;break}case(i.length===1||i.length===2||i.length===4)&&d(i):if(this.checkSingleCopiedValueIsValid(s.target,i)){this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}else{this.displayPastedValidation(s)}break;case i.length===3&&d(i):if(s.target!==this.yearInputEl){this.displayPastedValidation(s)}else{this.setInputPasteValue(s.target,i);this.setInputValue(s.target)}break;case i.length>=5&&d(i):this.displayPastedValidation(s)}}pasteZuluDateTime(t,i){if(i===0){const s=this.slicePastedDate(4,t[i]);this.yearInputEl.value=s;this.setInputValue(this.yearInputEl)}else if(i===1){const s=this.slicePastedDate(2,t[i]);this.monthInputEl.value=s;this.setInputValue(this.monthInputEl)}else{const s=this.slicePastedDate(2,t[i]);this.dayInputEl.value=s;this.setInputValue(this.dayInputEl)}}displayPastedValidation(t){var i;if(((i=this.invalidDateText)===null||i===void 0?void 0:i.length)>0){this.previousInvalidDateTest=this.invalidDateText}this.invalidDateText=`Please paste a valid ${this.getAriaLabel(t.target)}`;this.validationStatus=u.Error;this.isPasteValidationDisplayed=true}setPasteInvalidText(){var t;if(this.isPasteValidationDisplayed){this.invalidDateText=(t=this.previousInvalidDateTest)!==null&&t!==void 0?t:"";this.isPasteValidationDisplayed=false;this.isDateSetFromKeyboardEvent=true}}notifyScreenReader(t,i){const s=this.el.shadowRoot.querySelector("#live-region");if(s){if(this.isKeyboardOrEvent(i)){this.notifyScreenReaderArrowKeys(t)}else if(Object.prototype.toString.call(i)===this.INPUT_EVENT_OBJECT_STRING){this.notifyScreenReaderInput(t,s)}}}render(){const{inputId:t,label:i,disabled:h,helperText:n,hideHelperText:r,hideLabel:o,showClearButton:l,showCalendarButton:c,size:d}=this;const b=!a(this.validationStatus)&&!a(this.validationText);const m=b?this.validationStatus:!a(this.invalidDateText)?u.Error:"";const v=`Type or use the up and down arrow keys to change the values for the ${this.getDescOfInputsOrder()}.`;f(true,this.el,this.name,this.convertToDate(this.year,this.month,this.day),this.disabled);return s(e,{onBlur:this.handleHostBlur,onFocus:this.handleHostFocus},s("ic-input-container",{disabled:h},!(o&&r)&&s("ic-input-label",{for:t,label:i,hideLabel:o,helperText:!r?n:null,disabled:h}),s("span",{id:this.screenReaderInfoId,class:"sr-only","aria-hidden":"true"},this.getScreenReaderInfo(m),o&&`${i}\n`,r&&`${n}\n`,`${this.defaultHelperText}.`),s("span",{id:this.assistiveHintId,class:"sr-only","aria-hidden":"true"},v),s("span",{id:"live-region","aria-live":"assertive",class:"sr-only"}),s("ic-input-component-container",{id:t,ref:t=>this.inputCompContainerEl=t,disabled:h,validationStatus:m,size:d,role:"group"},s("div",{class:"input-container"},s("div",{class:"date-inputs"},this.getInputsInOrder()[0],"/",this.getInputsInOrder()[1],"/",this.getInputsInOrder()[2]),s("div",{class:"action-buttons"},l&&s("ic-button",{id:"clear-button","aria-label":"Clear input",class:{["clear-button"]:true,["hidden"]:a(this.day)&&a(this.month)&&a(this.year)},disabled:this.disabled,innerHTML:$,onClick:this.handleClear,onFocus:this.handleClearFocus,onBlur:this.handleClearBlur,variant:"icon",appearance:this.clearButtonFocused?p.Light:p.Dark,size:d}),c&&s("div",{class:"show-calendar-button-wrapper"},s("div",{class:{divider:true,[d]:true}}),s("ic-button",{id:"calendar-button",ref:t=>this.calendarButtonEl=t,"aria-label":"Display calendar","aria-haspopup":"dialog",class:"calendar-button",disabled:this.disabled,innerHTML:D,onClick:this.handleCalendarOpen,variant:"icon",size:d,onFocus:this.handleCalendarFocus,onBlur:this.handleCalendarBlur,appearance:this.calendarFocused?p.Light:p.Default}))))),s("span",{id:this.selectedDateInfoId,class:"sr-only","aria-live":"polite"},s("span",{ref:t=>this.selectedDateInfoEl=t,role:"status"})),(b||!a(this.invalidDateText))&&s("ic-input-validation",{status:m,message:b?this.validationText:this.invalidDateText,for:t})))}static get delegatesFocus(){return true}get el(){return h(this)}static get watchers(){return{disableFuture:["watchDisableFutureHandler"],disablePast:["watchDisablePastHandler"],max:["watchMaxHandler"],min:["watchMinHandler"],required:["watchRequiredHandler"]}}};z.style=Y;export{z as ic_date_input};
|
2
|
-
//# sourceMappingURL=p-8f0660ec.entry.js.map
|