@ukic/canary-web-components 3.0.0-canary.31 → 3.0.0-canary.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/core.cjs.js +1 -1
- package/dist/cjs/helpers-6f4b406b.js.map +1 -1
- package/dist/cjs/ic-calendar_2.cjs.entry.js +1 -1
- package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-checkbox_3.cjs.entry.js +14 -6
- package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-data-table.cjs.entry.js +9 -7
- package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-footer.cjs.entry.js +9 -5
- package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js +2 -2
- package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js +1 -1
- package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
- package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
- package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-radio-option.cjs.entry.js +9 -6
- package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
- package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
- package/dist/cjs/ic-toast.cjs.entry.js +14 -6
- package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/ic-calendar/ic-calendar.css +5 -1
- package/dist/collection/components/ic-data-table/ic-data-table.js +10 -8
- package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +54 -6
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +28 -0
- package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js.map +1 -1
- package/dist/collection/utils/types.js.map +1 -1
- package/dist/components/helpers2.js.map +1 -1
- package/dist/components/ic-calendar2.js +1 -1
- package/dist/components/ic-calendar2.js.map +1 -1
- package/dist/components/ic-checkbox2.js.map +1 -1
- package/dist/components/ic-data-list.js.map +1 -1
- package/dist/components/ic-data-row.js.map +1 -1
- package/dist/components/ic-data-table.js +9 -7
- package/dist/components/ic-data-table.js.map +1 -1
- package/dist/components/ic-footer.js +10 -5
- package/dist/components/ic-footer.js.map +1 -1
- package/dist/components/ic-hero.js.map +1 -1
- package/dist/components/ic-input-component-container2.js +1 -1
- package/dist/components/ic-input-component-container2.js.map +1 -1
- package/dist/components/ic-input-validation2.js +1 -1
- package/dist/components/ic-input-validation2.js.map +1 -1
- package/dist/components/ic-menu2.js +1 -1
- package/dist/components/ic-menu2.js.map +1 -1
- package/dist/components/ic-navigation-group.js +1 -1
- package/dist/components/ic-navigation-group.js.map +1 -1
- package/dist/components/ic-navigation-item.js +1 -1
- package/dist/components/ic-navigation-item.js.map +1 -1
- package/dist/components/ic-pagination-bar2.js +16 -6
- package/dist/components/ic-pagination-bar2.js.map +1 -1
- package/dist/components/ic-radio-group.js +1 -1
- package/dist/components/ic-radio-group.js.map +1 -1
- package/dist/components/ic-radio-option.js +10 -7
- package/dist/components/ic-radio-option.js.map +1 -1
- package/dist/components/ic-search-bar.js +1 -1
- package/dist/components/ic-search-bar.js.map +1 -1
- package/dist/components/ic-toast.js +15 -6
- package/dist/components/ic-toast.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-25280383.entry.js +2 -0
- package/dist/core/p-25280383.entry.js.map +1 -0
- package/dist/core/p-285892ef.entry.js +2 -0
- package/dist/core/p-285892ef.entry.js.map +1 -0
- package/dist/core/p-2bd2f38b.entry.js +2 -0
- package/dist/core/p-2bd2f38b.entry.js.map +1 -0
- package/dist/core/p-2c86ce4b.entry.js +2 -0
- package/dist/core/p-2c86ce4b.entry.js.map +1 -0
- package/dist/core/p-4992e9ac.entry.js +2 -0
- package/dist/core/p-4992e9ac.entry.js.map +1 -0
- package/dist/core/p-6cfba272.entry.js +2 -0
- package/dist/core/p-6cfba272.entry.js.map +1 -0
- package/dist/core/p-775b8dba.entry.js +2 -0
- package/dist/core/p-775b8dba.entry.js.map +1 -0
- package/dist/core/p-80111272.entry.js +2 -0
- package/dist/core/p-80111272.entry.js.map +1 -0
- package/dist/core/p-81f12581.entry.js.map +1 -1
- package/dist/core/p-96177a74.entry.js +2 -0
- package/dist/core/p-96177a74.entry.js.map +1 -0
- package/dist/core/p-9a95f428.entry.js.map +1 -1
- package/dist/core/p-b4a2f6fa.entry.js.map +1 -1
- package/dist/core/p-e4551a38.entry.js +2 -0
- package/dist/core/p-e4551a38.entry.js.map +1 -0
- package/dist/core/p-f48ce5f6.js.map +1 -1
- package/dist/core/{p-ffbf493f.entry.js → p-fd20470e.entry.js} +2 -2
- package/dist/core/p-fd20470e.entry.js.map +1 -0
- package/dist/core/p-fd7f3b58.entry.js +2 -0
- package/dist/core/p-fd7f3b58.entry.js.map +1 -0
- package/dist/esm/core.js +1 -1
- package/dist/esm/helpers-9f228880.js.map +1 -1
- package/dist/esm/ic-calendar_2.entry.js +1 -1
- package/dist/esm/ic-calendar_2.entry.js.map +1 -1
- package/dist/esm/ic-checkbox_3.entry.js +14 -6
- package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
- package/dist/esm/ic-data-list.entry.js.map +1 -1
- package/dist/esm/ic-data-row.entry.js.map +1 -1
- package/dist/esm/ic-data-table.entry.js +9 -7
- package/dist/esm/ic-data-table.entry.js.map +1 -1
- package/dist/esm/ic-footer.entry.js +9 -5
- package/dist/esm/ic-footer.entry.js.map +1 -1
- package/dist/esm/ic-hero.entry.js.map +1 -1
- package/dist/esm/ic-input-component-container_4.entry.js +2 -2
- package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
- package/dist/esm/ic-menu.entry.js +1 -1
- package/dist/esm/ic-menu.entry.js.map +1 -1
- package/dist/esm/ic-navigation-group.entry.js +1 -1
- package/dist/esm/ic-navigation-group.entry.js.map +1 -1
- package/dist/esm/ic-navigation-item.entry.js +1 -1
- package/dist/esm/ic-navigation-item.entry.js.map +1 -1
- package/dist/esm/ic-radio-group.entry.js +1 -1
- package/dist/esm/ic-radio-group.entry.js.map +1 -1
- package/dist/esm/ic-radio-option.entry.js +9 -6
- package/dist/esm/ic-radio-option.entry.js.map +1 -1
- package/dist/esm/ic-search-bar.entry.js +1 -1
- package/dist/esm/ic-search-bar.entry.js.map +1 -1
- package/dist/esm/ic-toast.entry.js +14 -6
- package/dist/esm/ic-toast.entry.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +8 -0
- package/dist/types/components/ic-pagination-bar/ic-pagination-bar.stories.d.ts +12 -0
- package/dist/types/components.d.ts +16 -0
- package/dist/types/utils/types.d.ts +2 -0
- package/hydrate/index.js +68 -39
- package/hydrate/index.mjs +68 -39
- package/package.json +5 -5
- package/dist/core/p-1a976789.entry.js +0 -2
- package/dist/core/p-1a976789.entry.js.map +0 -1
- package/dist/core/p-3ba2b455.entry.js +0 -2
- package/dist/core/p-3ba2b455.entry.js.map +0 -1
- package/dist/core/p-41def410.entry.js +0 -2
- package/dist/core/p-41def410.entry.js.map +0 -1
- package/dist/core/p-4b188516.entry.js +0 -2
- package/dist/core/p-4b188516.entry.js.map +0 -1
- package/dist/core/p-7332320d.entry.js +0 -2
- package/dist/core/p-7332320d.entry.js.map +0 -1
- package/dist/core/p-9f76eed6.entry.js +0 -2
- package/dist/core/p-9f76eed6.entry.js.map +0 -1
- package/dist/core/p-a1448064.entry.js +0 -2
- package/dist/core/p-a1448064.entry.js.map +0 -1
- package/dist/core/p-a237af88.entry.js +0 -2
- package/dist/core/p-a237af88.entry.js.map +0 -1
- package/dist/core/p-ba21f477.entry.js +0 -2
- package/dist/core/p-ba21f477.entry.js.map +0 -1
- package/dist/core/p-c5d65718.entry.js +0 -2
- package/dist/core/p-c5d65718.entry.js.map +0 -1
- package/dist/core/p-d144ca59.entry.js +0 -2
- package/dist/core/p-d144ca59.entry.js.map +0 -1
- package/dist/core/p-ffbf493f.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["icCheckboxCss","IcCheckboxStyle0","Checkbox","constructor","hostRef","this","additionalFieldDisplay","checked","initiallyChecked","disabled","dynamicText","hideLabel","indeterminate","displayIndeterminate","nativeIndeterminateBehaviour","theme","value","handleClick","icCheck","emit","handleFormReset","watchDisabledHandler","removeDisabledFalse","el","watchIndeterminateHandler","componentWillLoad","addFormResetListener","parentElement","tagName","name","label","size","groupLabel","componentDidLoad","hasLabelSlot","arrangeLabel","onComponentRequiredPropUndefined","prop","propName","componentDidRender","querySelectorAll","forEach","textfield","setAttribute","additionalFieldContainer","style","display","disconnectedCallback","removeFormResetListener","setFocus","_a","checkboxEl","focus","getCheckboxGroupId","replace","labelSlot","querySelector","textContent","trim","render","form","inputId","isDynamicAdditionalField","renderHiddenInput","removeHiddenInput","LabelContent","h","class","variant","htmlFor","Host","key","viewBox","xmlns","d","role","checkbox","ref","type","id","onClick","undefined","isSlotUsed","delegatesFocus","icEmptyStateCss","IcEmptyStateStyle0","EmptyState","hostMutationObserver","aligned","imageSize","disconnect","heading","MutationObserver","mutationList","renderDynamicChildSlots","observe","childList","body","maxLines","subheading","icPaginationBarCss","IcPaginationBarStyle0","PaginationBar","PAGE_INPUT_FIELD_ID","INVALID_PAGE_ERROR","resizeObserver","activePage","inputError","itemsPerPage","itemsPerPageString","lowerBound","paginationWrapped","alignment","currentPage","hideAllFromItemsPerPage","itemLabel","monochrome","rangeLabelType","pageLabel","showGoToPageControl","hideRangeLabel","selectItemsPerPageOnEnter","showItemsPerPageControl","setToFirstPageOnPaginationChange","setSelectedItemsPerPage","selectedItemsPerPage","displayedItemsPerPageOptions","isSelectedItemsPerPagePresent","some","toString","setItemsPerPage","console","error","totalItems","changeItemsPerPage","Number","pageDropdownEl","userSetItemsPerPage","changePage","page","setUpperBound","focusElFromLabel","_b","paginationBarEl","goToPage","input","pageInputEl","totalPages","paginationEl","setCurrentPage","icPageChange","pageInputTooltipEl","displayTooltip","validationStatus","setInputError","goToPageLabelClickHandler","handleBlur","textField","handleFocus","handleInputChange","inputValue","parseInt","handleKeydown","ev","handleKeyUp","isNaN","itemsPerPageLabelClickHandler","paginationShouldWrap","clientHeight","runResizeObserver","ResizeObserver","clientWidth","paginationWidth","setToFirstPage","firstPage","newValue","isUserAction","icItemsPerPageChange","Math","ceil","fromItemsPerPage","setPaginationBarContent","clonedItemsPerPageOptions","itemsPerPageOptions","JSON","parse","stringify","push","String","filter","lastOptionValue","updated","upperBound","min","watchPageNumberHandler","watchSelectedItemsPerPageHandler","watchItemLabelHandler","capitalizedItemLabel","capitalize","lowerCaseItemLabel","toLowerCase","watchItemsPerPageOptionsHandler","newVal","oldVal","watchPageLabelHandler","capitalizedPageLabel","lowerCasePageLabel","watchTotalItemsHandler","watchSetToFirstPageOnPaginationChange","checkResizeObserver","shadowRoot","_c","textAlign","padding","pageChangeHandler","detail","options","selectOnEnter","onIcChange","pages","target","disableHover","disableClick","onKeyDown","onKeyUp","onInput","max","validationInlineInternal","onBlur","onFocus"],"sources":["../web-components/dist/collection/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","../web-components/dist/collection/components/ic-checkbox/ic-checkbox.js","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.css?tag=ic-empty-state&encapsulation=shadow","../web-components/dist/collection/components/ic-empty-state/ic-empty-state.js","src/components/ic-pagination-bar/ic-pagination-bar.css?tag=ic-pagination-bar&encapsulation=shadow","src/components/ic-pagination-bar/ic-pagination-bar.tsx"],"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:host(.ic-checkbox-disabled) {\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: -moz-fit-content;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.ic-data-table-checkbox) .container {\n padding: 0;\n margin-bottom: 0;\n}\n\n:host(.ic-checkbox-small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-checkbox-background-unselected);\n border: var(--ic-border-width) solid var(--ic-checkbox-border-unselected);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-checkbox-small) .checkbox,\n:host(.ic-checkbox-small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-checkbox-large) .checkbox,\n:host(.ic-checkbox-large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-checkbox-background-selected);\n border: var(--ic-border-width) solid var(--ic-checkbox-background-selected);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-checkbox-background-selected-disabled);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-checkbox-background-indeterminate);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate);\n}\n\n.checkbox:indeterminate:disabled,\n.checkbox.indeterminate:checked:disabled {\n background-color: var(--ic-checkbox-background-indeterminate-disabled);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-disabled);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-checkbox-background-selected-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-checkbox-background-indeterminate-hover);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-checkbox-background-selected-pressed);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-checkbox-background-indeterminate-pressed);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-pressed);\n}\n\n.checkbox:hover {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-hover);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover);\n}\n\n.checkbox:active {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled);\n}\n\n.checkbox-label {\n --ic-typography-color: var(--ic-checkbox-text);\n}\n\n.checkbox-label > label {\n padding-left: var(--ic-space-sm);\n display: inline-block;\n}\n\n::slotted([slot=\"label\"]) {\n padding-left: var(--ic-space-sm) !important;\n color: var(--ic-checkbox-text);\n}\n\n:host(.ic-checkbox-disabled) .checkbox-label {\n color: var(--ic-checkbox-text-disabled);\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n:host(.ic-checkbox-disabled) ::slotted([slot=\"label\"]) {\n color: var(--ic-checkbox-text-disabled);\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: var(--ic-checkbox-icon-pressed);\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-checkbox-large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-checkbox-icon-indeterminate);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.ic-checkbox-large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-checkbox-required-bar);\n border-left: 0.125rem solid var(--ic-checkbox-required-bar);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-checkbox-required-text);\n\n --ic-typography-color: var(--ic-checkbox-required-text);\n\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n.dynamic-field-container {\n flex: 100%;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@media (max-width: 576px) {\n ::slotted(*) {\n --input-width: 100%;\n }\n\n .dynamic-field-container {\n flex: initial;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n -webkit-appearance: revert;\n -moz-appearance: revert;\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n\n/* Right to left */\n.checkmark:dir(rtl) {\n right: 0;\n}\n\n.checkbox-label:dir(rtl) {\n padding-right: var(--ic-space-sm);\n padding-left: 0;\n}\n\n.indeterminate-symbol:dir(rtl) {\n right: 0.288rem;\n}\n\n.branch-corner:dir(rtl) {\n border-radius: 0 0 0.188rem;\n border-right: 0.125rem solid var(--ic-action-default);\n border-left: none;\n}\n\n.dynamic-container:dir(rtl) {\n margin: var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0;\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, renderHiddenInput, removeHiddenInput, addFormResetListener, removeFormResetListener, removeDisabledFalse, } from \"../../utils/helpers\";\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n * @slot label - Label for the checkbox.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n constructor() {\n /**\n * The style of additionalField that will be displayed if used.\n */\n this.additionalFieldDisplay = \"static\";\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n this.checked = false;\n this.initiallyChecked = this.checked;\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n this.disabled = false;\n /**\n * The text to be displayed when dynamic.\n */\n this.dynamicText = \"This selection requires additional answers\";\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n this.hideLabel = false;\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n this.indeterminate = false;\n this.displayIndeterminate = this.indeterminate;\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n this.nativeIndeterminateBehaviour = false;\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /**\n * The value for the checkbox.\n */\n this.value = \"\";\n this.handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate =\n !this.nativeIndeterminateBehaviour && this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n this.handleFormReset = () => {\n this.checked = this.initiallyChecked;\n };\n }\n watchDisabledHandler() {\n removeDisabledFalse(this.disabled, this.el);\n }\n watchIndeterminateHandler() {\n this.displayIndeterminate =\n this.indeterminate && (this.nativeIndeterminateBehaviour || this.checked);\n }\n componentWillLoad() {\n removeDisabledFalse(this.disabled, this.el);\n addFormResetListener(this.el, this.handleFormReset);\n const { parentElement } = this.el;\n if ((parentElement === null || parentElement === void 0 ? void 0 : parentElement.tagName) === \"IC-CHECKBOX-GROUP\") {\n const { name, label, size } = parentElement;\n if (!this.name)\n this.name = name;\n if (!this.size)\n this.size = size;\n this.groupLabel = label;\n }\n }\n componentDidLoad() {\n if (this.hasLabelSlot()) {\n this.arrangeLabel();\n }\n else {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Checkbox\");\n }\n }\n componentDidRender() {\n if (this.additionalFieldDisplay === \"static\") {\n this.el\n .querySelectorAll(\"ic-text-field\")\n .forEach((textfield) => textfield.setAttribute(\"disabled\", `${!this.checked}`));\n }\n else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n disconnectedCallback() {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n /**\n * Sets focus on the checkbox.\n */\n async setFocus() {\n var _a;\n (_a = this.checkboxEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n getCheckboxGroupId() {\n return `ic-checkbox-${this.label}-${this.groupLabel}`.replace(/ /g, \"-\");\n }\n hasLabelSlot() {\n this.labelSlot = this.el.querySelector('[slot=\"label\"]');\n return !!this.labelSlot;\n }\n arrangeLabel() {\n var _a;\n if (this.labelSlot) {\n this.label = ((_a = this.labelSlot.textContent) === null || _a === void 0 ? void 0 : _a.trim()) || \"\";\n this.labelSlot.setAttribute(\"for\", this.getCheckboxGroupId());\n if (this.disabled) {\n this.labelSlot.setAttribute(\"aria-disabled\", \"true\");\n }\n }\n }\n render() {\n const { additionalFieldDisplay, checked, disabled, displayIndeterminate, dynamicText, el, form, handleClick, hideLabel, label, name, size, theme, value, } = this;\n const inputId = this.getCheckboxGroupId();\n const isDynamicAdditionalField = additionalFieldDisplay === \"dynamic\";\n checked\n ? renderHiddenInput(el, value, name, disabled)\n : removeHiddenInput(el);\n const LabelContent = () => this.hasLabelSlot() ? (h(\"slot\", { name: \"label\" })) : (h(\"ic-typography\", { class: \"checkbox-label\", variant: \"body\" }, h(\"label\", { htmlFor: inputId }, label)));\n return (h(Host, { key: 'b9aee197d23b8380b224aaa9f332d24c20406518', class: {\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size}`]: !!size,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, h(\"div\", { key: 'a027b311fa8a9cc5ef753a426fc3f73e8d6f97a4', class: \"container\" }, displayIndeterminate ? (h(\"div\", { class: \"indeterminate-symbol\" })) : (checked && (h(\"svg\", { class: \"checkmark\", viewBox: \"0 0 24 24\", xmlns: \"http://www.w3.org/2000/svg\", \"fill-rule\": \"evenodd\", \"clip-rule\": \"evenodd\" }, h(\"title\", null, \"checkmark icon\"), h(\"path\", { d: \"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" })))), h(\"input\", { key: '5f3ce7e559134302640a03d2312782552e9ab018', role: \"checkbox\", class: {\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }, ref: (el) => (this.checkboxEl = el), type: \"checkbox\", name: name, id: inputId, value: value, disabled: disabled, checked: checked, indeterminate: displayIndeterminate, onClick: handleClick, form: form, \"aria-label\": hideLabel || this.hasLabelSlot() ? label : undefined }), !hideLabel && h(LabelContent, { key: 'e75420d60d9fdc9170a7f54c96575936c8da122d' })), h(\"span\", { key: 'c3fccdab4f27feaeab35df33734723d9f14487cc', id: `${inputId}-additional-field-description`, role: \"alert\", class: \"sr-only\" }, isDynamicAdditionalField && checked ? dynamicText : \"\"), isSlotUsed(el, \"additional-field\") && (h(\"div\", { key: 'ceb57398c6a3dea8cec4eb4a8e0ba940f6f15c0a', class: \"dynamic-container\", ref: (el) => (this.additionalFieldContainer = el) }, isDynamicAdditionalField && h(\"div\", { key: '41f097eb38e5dfd739b7de22cffb03ff3043d3e6', class: \"branch-corner\" }), h(\"div\", { key: '15b7e382cf7c9bf23a68016f5f2a449ae92dc03b', class: \"dynamic-field-container\" }, isDynamicAdditionalField && (h(\"ic-typography\", { key: 'd0551674a9d5d6d6d01cf842aff133072ce4d1be', variant: \"caption\" }, h(\"p\", { key: '81f3345ea6625aa9d8644d5c410c7b24c1365975', class: \"dynamic-text\" }, isDynamicAdditionalField && checked ? dynamicText : \"\"))), h(\"div\", { key: '970766071c9e70042e87e243e3415b73c189b51f', class: {\n \"additional-field-wrapper\": !isDynamicAdditionalField,\n } }, h(\"slot\", { key: '3ff910a1d7a01312baeb70a965aaaa157ae66e6e', name: \"additional-field\" })))))));\n }\n static get is() { return \"ic-checkbox\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-checkbox.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-checkbox.css\"]\n };\n }\n static get properties() {\n return {\n \"additionalFieldDisplay\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcAdditionalFieldTypes\",\n \"resolved\": \"\\\"dynamic\\\" | \\\"static\\\"\",\n \"references\": {\n \"IcAdditionalFieldTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcAdditionalFieldTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The style of additionalField that will be displayed if used.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"additional-field-display\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"static\\\"\"\n },\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": true,\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 checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"checked\",\n \"reflect\": true,\n \"defaultValue\": \"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\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the checkbox will be set to the disabled state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"dynamicText\": {\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 text to be displayed when dynamic.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"dynamic-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"This selection requires additional answers\\\"\"\n },\n \"form\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The <form> element to associate the checkbox with.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"form\",\n \"reflect\": false\n },\n \"groupLabel\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The group label for the checkbox.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"group-label\",\n \"reflect\": false\n },\n \"hideLabel\": {\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 label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"indeterminate\": {\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 indeterminate state will be displayed when checked.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"indeterminate\",\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\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label for the checkbox.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"nativeIndeterminateBehaviour\": {\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 checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"native-indeterminate-behaviour\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\" | undefined\",\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 checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"size\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n },\n \"value\": {\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 value for the checkbox.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"initiallyChecked\": {},\n \"displayIndeterminate\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icCheck\",\n \"name\": \"icCheck\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a checkbox has been checked.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\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 checkbox.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"disabled\",\n \"methodName\": \"watchDisabledHandler\"\n }, {\n \"propName\": \"indeterminate\",\n \"methodName\": \"watchIndeterminateHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-checkbox.js.map\n",":host {\n gap: var(--ic-space-xs);\n padding: var(--ic-space-xs);\n}\n\n:host,\n.action-area {\n display: flex;\n flex-direction: column;\n}\n\n.action-area {\n gap: var(--ic-space-md);\n}\n\n:host ::slotted(svg),\n:host ::slotted(img) {\n border-radius: var(--ic-space-xxs);\n}\n\n:host(.ic-empty-state-right),\n:host(.ic-empty-state-right) .action-area {\n align-items: flex-end;\n text-align: right;\n}\n\n:host(.ic-empty-state-center),\n:host(.ic-empty-state-center) .action-area {\n align-items: center;\n text-align: center;\n}\n\n:host(.image-medium) ::slotted(svg),\n:host(.image-medium) ::slotted(img) {\n height: calc(3 * var(--ic-space-lg)) !important;\n width: calc(3 * var(--ic-space-lg)) !important;\n}\n\n:host(.image-small) ::slotted(svg),\n:host(.image-small) ::slotted(img) {\n height: var(--ic-space-xxl) !important;\n width: var(--ic-space-xxl) !important;\n}\n\n:host(.image-large) ::slotted(svg),\n:host(.image-large) ::slotted(img) {\n height: calc(4 * var(--ic-space-xl)) !important;\n width: calc(4 * var(--ic-space-xl)) !important;\n}\n\n::slotted([slot=\"heading\"]),\n.empty-state-heading {\n --ic-typography-color: var(--ic-empty-state-title);\n}\n\n::slotted([slot=\"subheading\"]),\n.empty-state-subheading {\n --ic-typography-color: var(--ic-empty-state-subtitle);\n}\n\n::slotted([slot=\"body\"]),\n.empty-state-body {\n --ic-typography-color: var(--ic-empty-state-body);\n}\n","import { h, Host } from \"@stencil/core\";\nimport { isSlotUsed, onComponentRequiredPropUndefined, renderDynamicChildSlots, } from \"../../utils/helpers\";\n/**\n * @slot image - Content is placed at the top above all other content.\n * @slot actions - Content is placed at the bottom below all other content.\n * @slot heading - Content will be rendered in place of the heading prop.\n * @slot subheading - Content will be rendered in place of the subheading prop.\n * @slot body - Content will be rendered in place of the body prop.\n */\nexport class EmptyState {\n constructor() {\n this.hostMutationObserver = null;\n /**\n * The alignment of the empty state container.\n */\n this.aligned = \"left\";\n /**\n * The size of the image or icon used in the image slot.\n */\n this.imageSize = \"medium\";\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n }\n disconnectedCallback() {\n var _a;\n (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();\n }\n componentDidLoad() {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined([{ prop: this.heading, propName: \"heading\" }], \"Empty State\");\n this.hostMutationObserver = new MutationObserver((mutationList) => renderDynamicChildSlots(mutationList, [\"image\", \"actions\"], this));\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n render() {\n const { aligned, body, maxLines, heading, imageSize, subheading, theme } = this;\n return (h(Host, { key: '4bb35d1c3476b88cc58e952b1b8785e4425d5339', class: {\n [`ic-empty-state-${aligned}`]: true,\n [`image-${imageSize}`]: isSlotUsed(this.el, \"image\"),\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n } }, isSlotUsed(this.el, \"image\") && h(\"slot\", { key: '9e87ed9f746d37f57505a75c62b10279b31ef54e', name: \"image\" }), h(\"div\", { key: '4f94dc11d843660d3fecd976fa71f9c57644c89b' }, h(\"slot\", { key: 'be23c55a8dc832904fbae342890d2a3d2d74ae85', name: \"heading\" }, h(\"ic-typography\", { key: '52bf3dca695fecff3e5d650bd81db23d09665258', variant: \"h4\", class: \"empty-state-heading\" }, heading)), h(\"slot\", { key: '7ed10d78475ac8b9c3f5a084a1294ad1be180f15', name: \"subheading\" }, h(\"ic-typography\", { key: '5772d056578a64a951178c3c3026b36d4b316496', variant: \"subtitle-small\", class: \"empty-state-subheading\" }, subheading)), h(\"slot\", { key: '14a8815b51a06521642921f09fa8346483522e84', name: \"body\" }, h(\"ic-typography\", { key: 'bca780cc2275e81d4e25bae45f5065f6fab3bcd5', maxLines: maxLines, class: \"empty-state-body\" }, body))), isSlotUsed(this.el, \"actions\") && (h(\"div\", { key: 'd6c0f61a358c1d0c86c4da922ed0504ffdc8228f', class: \"action-area\" }, h(\"slot\", { key: 'ac150a34e883376bfee43a6edbeb8992c3bc3f96', name: \"actions\" })))));\n }\n static get is() { return \"ic-empty-state\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-empty-state.css\"]\n };\n }\n static get properties() {\n return {\n \"aligned\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcEmptyStateAlignment\",\n \"resolved\": \"\\\"center\\\" | \\\"left\\\" | \\\"right\\\" | undefined\",\n \"references\": {\n \"IcEmptyStateAlignment\": {\n \"location\": \"import\",\n \"path\": \"./ic-empty-state.types\",\n \"id\": \"src/components/ic-empty-state/ic-empty-state.types.ts::IcEmptyStateAlignment\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The alignment of the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"aligned\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"left\\\"\"\n },\n \"body\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The body text rendered in the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"body\",\n \"reflect\": false\n },\n \"maxLines\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The number of lines of body text to display before truncating.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"max-lines\",\n \"reflect\": false\n },\n \"heading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title rendered in the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"heading\",\n \"reflect\": false\n },\n \"imageSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizes\",\n \"resolved\": \"\\\"large\\\" | \\\"medium\\\" | \\\"small\\\" | undefined\",\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 image or icon used in the image slot.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"image-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"medium\\\"\"\n },\n \"subheading\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The subtitle rendered in the empty state container.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"subheading\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ic-empty-state.js.map\n",":host() {\n display: block;\n}\n\n.pagination-bar {\n height: 3.5rem;\n display: flex;\n align-items: center;\n justify-content: flex-end;\n gap: var(--ic-space-xl);\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-sizing: border-box;\n\n --ic-typography-color: var(--ic-pagination-text);\n}\n\n.pagination-bar-left {\n justify-content: flex-start;\n}\n\n.item-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-bar-space-between .item-controls {\n margin-right: auto;\n}\n\n.items-per-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.items-per-page-input {\n --input-width: 5rem;\n --ic-typography-color: var(--ic-pagination-select-content);\n}\n\n.pagination-controls {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xl);\n}\n\n.pagination-controls-wrap {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n}\n\n.pagination-bar-space-between .pagination-controls {\n margin-left: auto;\n}\n\n.go-to-page-holder {\n display: flex;\n align-items: center;\n gap: var(--ic-space-xs);\n}\n\n.go-to-page-input {\n --input-width: var(--ic-space-xl);\n}\n\n.go-to-page-button {\n --min-width: var(--ic-space-xl);\n}\n\n.items-per-page-control-label {\n white-space: nowrap;\n}\n\n@media screen and (max-width: 768px) {\n .pagination-bar {\n flex-direction: column;\n align-items: flex-end;\n height: fit-content;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left {\n align-items: flex-start;\n }\n}\n\n@media screen and (max-width: 320px) {\n .item-controls,\n .pagination-controls {\n flex-direction: column;\n align-items: flex-end;\n gap: var(--ic-space-xs);\n }\n\n .pagination-bar-left .item-controls,\n .pagination-bar-left .pagination-controls,\n .pagination-bar-space-between .item-controls,\n .pagination-bar-space-between .pagination-controls {\n align-items: flex-start;\n }\n}\n","/* eslint-disable @typescript-eslint/no-non-null-assertion */\nimport {\n Component,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Listen,\n h,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { capitalize, checkResizeObserver } from \"../../utils/helpers\";\nimport {\n IcItemsPerPageChangeEventDetail,\n IcPageChangeEventDetail,\n} from \"./ic-pagination-bar.types\";\nimport {\n IcPaginationAlignmentOptions,\n IcPaginationLabelTypes,\n IcPaginationTypes,\n} from \"@ukic/web-components/dist/types/components/ic-pagination/ic-pagination.types\";\n\n@Component({\n tag: \"ic-pagination-bar\",\n styleUrl: \"ic-pagination-bar.css\",\n shadow: true,\n})\nexport class PaginationBar {\n private PAGE_INPUT_FIELD_ID = \"go-to-page-input\";\n\n private INVALID_PAGE_ERROR = \"Please enter a valid page\";\n\n private resizeObserver: ResizeObserver | null = null;\n private pageDropdownEl: HTMLIcSelectElement;\n private pageInputEl: HTMLIcTextFieldElement;\n private pageInputTooltipEl: HTMLIcTooltipElement;\n private paginationBarEl?: HTMLElement;\n private paginationEl: HTMLIcPaginationElement;\n private userSetItemsPerPage: number;\n\n @Element() el: HTMLIcPaginationBarElement;\n\n @State() capitalizedItemLabel: string;\n\n @State() capitalizedPageLabel: string;\n\n @State() activePage: number = 1;\n\n @State() displayedItemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @State() inputError: string = \"Please enter a valid page\";\n\n @State() itemsPerPage: number = 10;\n\n @State() itemsPerPageString: string = \"10\";\n\n @State() lowerBound: number = 1;\n\n @State() lowerCaseItemLabel: string;\n\n @State() lowerCasePageLabel: string;\n\n @State() paginationWidth: number;\n\n @State() paginationWrapped: boolean = false;\n\n @State() totalPages: number;\n\n @State() upperBound: number;\n\n /**\n * Sets the alignment of the items in the pagination bar.\n */\n @Prop() alignment?: IcPaginationAlignmentOptions = \"right\";\n\n /**\n * The current page number to be displayed on the pagination bar.\n */\n @Prop() currentPage?: number = 1;\n\n @Watch(\"currentPage\")\n watchPageNumberHandler(): void {\n this.setPaginationBarContent();\n\n if (typeof this.currentPage === \"number\" && this.currentPage) {\n if (\n this.currentPage < 1 ||\n (this.totalPages && this.currentPage > this.totalPages)\n ) {\n console.error(\n `The current page (${this.currentPage}) must be a number greater than zero but less than or equal to the total number of pages (${this.totalPages})`\n );\n } else {\n this.activePage = this.currentPage;\n }\n }\n }\n\n /**\n * The items per page option to be selected.\n */\n @Prop() selectedItemsPerPage?: number;\n\n @Watch(\"selectedItemsPerPage\")\n watchSelectedItemsPerPageHandler(): void {\n if (\n this.selectedItemsPerPage !== null &&\n this.selectedItemsPerPage !== undefined\n ) {\n this.setSelectedItemsPerPage(\n this.selectedItemsPerPage,\n this.displayedItemsPerPageOptions\n );\n }\n }\n\n /**\n * If `true`, the 'All' option will be hidden from the 'items per page' select input.\n */\n @Prop() hideAllFromItemsPerPage?: boolean = false;\n\n /**\n * The text which will be used in place of 'Item' on the pagination bar.\n */\n @Prop() itemLabel?: string = \"Item\";\n\n @Watch(\"itemLabel\")\n watchItemLabelHandler(): void {\n this.capitalizedItemLabel = capitalize(this.itemLabel!);\n this.lowerCaseItemLabel = this.itemLabel!.toLowerCase();\n }\n\n /**\n * The options which will be displayed for 'items per page' select input.\n */\n @Prop() itemsPerPageOptions?: {\n label: string;\n value: string;\n }[];\n\n @Watch(\"itemsPerPageOptions\")\n watchItemsPerPageOptionsHandler(\n newVal: {\n label: string;\n value: string;\n }[],\n oldVal: {\n label: string;\n value: string;\n }[]\n ): void {\n if (JSON.stringify(newVal) === JSON.stringify(oldVal)) return;\n this.setPaginationBarContent();\n }\n\n /**\n * If `true`, the pagination bar will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * Whether the displayed pagination is simple or complex.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n /**\n * Whether total number of items and current item range or total number of pages and current page is displayed.\n */\n @Prop() rangeLabelType?: IcPaginationLabelTypes = \"page\";\n\n /**\n * The text which will be used in place of 'Page' on the pagination bar.\n */\n @Prop() pageLabel?: string = \"Page\";\n\n @Watch(\"pageLabel\")\n watchPageLabelHandler(): void {\n this.capitalizedPageLabel = capitalize(this.pageLabel!);\n this.lowerCasePageLabel = this.pageLabel!.toLowerCase();\n }\n\n /**\n * If `true`, the 'go to page' control should be displayed.\n */\n @Prop() showGoToPageControl?: boolean = false;\n\n /**\n * If `true`, the number of total items and current item range or number of total pages and current page will be hidden.\n */\n @Prop() hideRangeLabel?: boolean = false;\n\n /**\n * If `false`, the value in the items per page control will be set immediately on ArrowUp and ArrowDown instead of when Enter is pressed.\n */\n @Prop() selectItemsPerPageOnEnter: boolean = true;\n\n /**\n * If `true`, the select input to control 'items per page' should be displayed.\n */\n @Prop() showItemsPerPageControl?: boolean = false;\n\n /**\n * Total number of items to be displayed across all pages.\n */\n @Prop() totalItems!: number;\n\n @Watch(\"totalItems\")\n watchTotalItemsHandler(): void {\n this.setPaginationBarContent();\n }\n\n /**\n If `true`, the pagination bar is set to the first page when the 'items per page' changes\n */\n @Prop() setToFirstPageOnPaginationChange?: boolean = false;\n\n @Watch(\"setToFirstPageOnPaginationChange\")\n watchSetToFirstPageOnPaginationChange(): void {\n this.setPaginationBarContent();\n }\n\n /**\n * Emitted when a page is navigated to via the 'go to' input.\n * The `detail` property contains `value` (i.e. the page number) and a `fromItemsPerPage` flag to indicate if the event was triggered by the `icItemsPerPageChange` event also occurring.\n */\n @Event() icPageChange: EventEmitter<IcPageChangeEventDetail>;\n\n /**\n * Emitted when the items per page option is changed.\n */\n @Event() icItemsPerPageChange: EventEmitter<IcItemsPerPageChangeEventDetail>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.watchPageNumberHandler();\n this.watchPageLabelHandler();\n this.watchItemLabelHandler();\n this.setPaginationBarContent();\n }\n\n componentDidLoad(): void {\n this.paginationWidth = this.paginationBarEl?.clientWidth || 0;\n checkResizeObserver(this.runResizeObserver);\n const textField = this.el.shadowRoot?.querySelector(\n `.${this.PAGE_INPUT_FIELD_ID}`\n );\n if (textField) {\n const input = textField?.shadowRoot?.querySelector(\"input\");\n if (input) {\n input.style.textAlign = \"center\";\n input.style.padding = \"0\";\n }\n }\n this.paginationShouldWrap();\n }\n\n @Listen(\"icPageChange\")\n pageChangeHandler(ev: CustomEvent): void {\n const page = ev.detail.value;\n this.changePage(page);\n }\n\n private setSelectedItemsPerPage = (\n selectedItemsPerPage: number,\n displayedItemsPerPageOptions: { label: string; value: string }[] = []\n ) => {\n const isSelectedItemsPerPagePresent = displayedItemsPerPageOptions?.some(\n ({ value }) => value === this.selectedItemsPerPage?.toString()\n );\n if (isSelectedItemsPerPagePresent) {\n this.setItemsPerPage(selectedItemsPerPage, false);\n } else {\n console.error(\n `The selected items per page option \"${this.selectedItemsPerPage}\" does not exist`\n );\n this.setItemsPerPage(+this.totalItems, false);\n }\n };\n\n private changeItemsPerPage = () => {\n this.setItemsPerPage(Number(this.pageDropdownEl.value));\n\n this.userSetItemsPerPage = Number(this.pageDropdownEl.value);\n };\n\n private changePage = (page: number) => {\n this.activePage = page;\n this.lowerBound = page !== 1 ? (page - 1) * this.itemsPerPage + 1 : page;\n this.setUpperBound();\n };\n\n private focusElFromLabel = (el: \"ic-select\" | \"ic-text-field\") => {\n this.paginationBarEl?.querySelector(el)?.setFocus();\n };\n\n private goToPage = () => {\n const input = this.pageInputEl;\n const page = Number(input.value);\n if (page <= this.totalPages && page > 0) {\n this.changePage(page);\n this.paginationEl?.setCurrentPage(page);\n this.activePage = page;\n input.value = \"\";\n this.icPageChange.emit({ value: page });\n this.pageInputTooltipEl.displayTooltip(false, false);\n input.validationStatus = \"\";\n } else {\n this.setInputError(input, this.INVALID_PAGE_ERROR);\n }\n };\n\n private goToPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-text-field\");\n };\n\n private handleBlur = () => {\n const textField = this.pageInputEl;\n if (\n (Number(textField.value) <= this.totalPages &&\n Number(textField.value) > 0) ||\n textField.value === \"\"\n ) {\n textField.validationStatus = \"\";\n }\n this.pageInputTooltipEl.displayTooltip(false, false);\n };\n\n private handleFocus = () => {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleInputChange = () => {\n const inputValue = parseInt(this.pageInputEl.value);\n\n if (inputValue > this.totalPages || inputValue <= 0) {\n this.setInputError(this.pageInputEl, this.INVALID_PAGE_ERROR);\n this.pageInputTooltipEl.displayTooltip(true, true);\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\") {\n if (this.pageInputEl.validationStatus === \"error\") {\n this.pageInputTooltipEl.displayTooltip(true, true);\n } else {\n this.goToPage();\n }\n } else {\n this.pageInputTooltipEl.displayTooltip(false, false);\n this.pageInputEl.validationStatus = \"\";\n }\n };\n\n private handleKeyUp = (ev: KeyboardEvent) => {\n if (\n Number.isNaN(parseInt(this.pageInputEl.value)) &&\n ev.key !== \"Backspace\" &&\n ev.key !== \"Enter\" &&\n ev.key !== \"Tab\" &&\n ev.key !== \"Shift\"\n ) {\n this.setInputError(this.pageInputEl, \"Please enter a number\", false);\n this.pageInputTooltipEl.displayTooltip(true, false);\n }\n };\n\n private itemsPerPageLabelClickHandler = () => {\n this.focusElFromLabel(\"ic-select\");\n };\n\n private paginationShouldWrap = () => {\n if (this.type === \"simple\") {\n this.paginationWrapped = this.paginationEl.clientHeight > 63;\n }\n };\n\n private runResizeObserver = () => {\n if (this.paginationBarEl) {\n this.resizeObserver = new ResizeObserver(() => {\n const { clientWidth } = this.paginationBarEl!;\n if (\n clientWidth - this.paginationWidth > 50 ||\n clientWidth - this.paginationWidth < -50\n ) {\n this.paginationWidth = clientWidth;\n this.paginationShouldWrap();\n }\n });\n\n this.resizeObserver.observe(this.paginationBarEl);\n }\n };\n\n private setInputError = (\n el: HTMLIcTextFieldElement,\n error: string,\n focus = true\n ) => {\n this.inputError = error;\n el.validationStatus = \"error\";\n if (focus) el.setFocus();\n };\n\n private setToFirstPage = () => {\n const firstPage = 1;\n this.changePage(firstPage);\n this.paginationEl?.setCurrentPage(firstPage);\n this.activePage = firstPage;\n this.icPageChange.emit({ value: firstPage });\n };\n\n private setItemsPerPage = (newValue: number, isUserAction = true) => {\n if (this.itemsPerPage !== newValue) {\n this.itemsPerPage = newValue;\n this.itemsPerPageString = newValue.toString();\n this.icItemsPerPageChange.emit({\n value: this.itemsPerPage,\n isUserAction,\n });\n\n if (this.setToFirstPageOnPaginationChange) {\n this.setToFirstPage();\n }\n }\n\n this.totalPages =\n this.totalItems > this.itemsPerPage\n ? Math.ceil(this.totalItems / this.itemsPerPage)\n : 1;\n\n this.setUpperBound();\n if (this.activePage > this.totalPages) {\n this.paginationEl?.setCurrentPage(this.totalPages);\n this.activePage = this.totalPages;\n }\n this.icPageChange.emit({ value: this.activePage, fromItemsPerPage: true });\n };\n\n private setPaginationBarContent = (): void => {\n const clonedItemsPerPageOptions: {\n label: string;\n value: string;\n }[] = this.itemsPerPageOptions\n ? JSON.parse(JSON.stringify(this.itemsPerPageOptions))\n : null;\n\n const displayedItemsPerPageOptions =\n clonedItemsPerPageOptions ||\n (this.totalItems <= 100\n ? [\n { label: \"10\", value: \"10\" },\n { label: \"25\", value: \"25\" },\n { label: \"50\", value: \"50\" },\n ]\n : [\n { label: \"25\", value: \"25\" },\n { label: \"100\", value: \"100\" },\n { label: \"1000\", value: \"1000\" },\n ]);\n\n !this.hideAllFromItemsPerPage &&\n displayedItemsPerPageOptions.push({\n label: \"All\",\n value: String(this.totalItems),\n });\n\n this.displayedItemsPerPageOptions = displayedItemsPerPageOptions.filter(\n ({ value }) => this.totalItems >= Number(value)\n );\n\n let lastOptionValue = 0;\n\n if (this.userSetItemsPerPage) {\n this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.userSetItemsPerPage <= lastOptionValue;\n });\n this.setItemsPerPage(lastOptionValue);\n } else {\n if (\n this.selectedItemsPerPage !== null &&\n this.selectedItemsPerPage !== undefined\n ) {\n this.setSelectedItemsPerPage(\n this.selectedItemsPerPage,\n this.displayedItemsPerPageOptions\n );\n } else {\n const updated = this.displayedItemsPerPageOptions.some(({ value }) => {\n lastOptionValue = Number(value);\n return this.itemsPerPage <= lastOptionValue;\n });\n this.setItemsPerPage(\n updated || (!updated && this.itemsPerPage > lastOptionValue)\n ? lastOptionValue\n : this.itemsPerPage,\n false\n );\n }\n }\n };\n\n private setUpperBound = () => {\n this.upperBound = Math.min(\n this.lowerBound + this.itemsPerPage - 1,\n this.totalItems\n );\n };\n\n render() {\n const {\n alignment,\n displayedItemsPerPageOptions,\n PAGE_INPUT_FIELD_ID,\n type,\n rangeLabelType,\n hideRangeLabel,\n showItemsPerPageControl,\n showGoToPageControl,\n pageLabel,\n capitalizedPageLabel,\n lowerCasePageLabel,\n capitalizedItemLabel,\n lowerCaseItemLabel,\n totalPages,\n activePage,\n itemsPerPageString,\n theme,\n monochrome,\n selectItemsPerPageOnEnter,\n } = this;\n\n return (\n <Host class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <div\n class={{\n [\"pagination-bar\"]: true,\n [`pagination-bar-${alignment}`]: true,\n }}\n ref={(el) => (this.paginationBarEl = el)}\n >\n {(!hideRangeLabel || showItemsPerPageControl) && (\n <div class=\"item-controls\">\n {showItemsPerPageControl && (\n <div class=\"items-per-page-holder\">\n <ic-typography\n class={{\n [\"items-per-page-control-label\"]: true,\n }}\n variant=\"label\"\n onClick={this.itemsPerPageLabelClickHandler}\n >\n {capitalizedItemLabel}s per {lowerCasePageLabel}\n </ic-typography>\n <ic-select\n theme={theme}\n size=\"small\"\n label=\"items-per-page-input\"\n class=\"items-per-page-input\"\n hideLabel\n options={displayedItemsPerPageOptions}\n selectOnEnter={selectItemsPerPageOnEnter}\n value={itemsPerPageString}\n onIcChange={this.changeItemsPerPage}\n ref={(el: HTMLIcSelectElement) =>\n (this.pageDropdownEl = el)\n }\n ></ic-select>\n </div>\n )}\n {!hideRangeLabel &&\n (rangeLabelType === \"data\" ? (\n <ic-typography\n class={{\n [\"item-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {this.upperBound === 0 && `0 ${lowerCaseItemLabel}s`}\n {this.upperBound > 0 &&\n `${this.lowerBound} - ${this.upperBound} of ${\n this.totalItems\n } ${lowerCaseItemLabel}${this.totalItems > 1 ? \"s\" : \"\"}`}\n </ic-typography>\n ) : (\n <ic-typography\n class={{\n [\"page-pagination-label\"]: true,\n }}\n variant=\"label\"\n aria-live=\"polite\"\n >\n {capitalizedPageLabel} {activePage} of {totalPages}\n </ic-typography>\n ))}\n </div>\n )}\n <div\n class={{\n [\"pagination-controls\"]: true,\n [\"pagination-controls-wrap\"]: this.paginationWrapped,\n }}\n >\n <div class=\"pagination-holder\">\n <ic-pagination\n type={type}\n pages={totalPages}\n label={pageLabel}\n ref={(el: HTMLIcPaginationElement) => (this.paginationEl = el)}\n currentPage={activePage}\n theme={theme}\n monochrome={monochrome}\n ></ic-pagination>\n </div>\n {showGoToPageControl && (\n <div class=\"go-to-page-holder\">\n <ic-typography\n variant=\"label\"\n onClick={this.goToPageLabelClickHandler}\n >\n Go to {lowerCasePageLabel}\n </ic-typography>\n <ic-tooltip\n label={this.inputError}\n target={`#${PAGE_INPUT_FIELD_ID}`}\n disableHover\n disableClick\n ref={(el: HTMLIcTooltipElement) =>\n (this.pageInputTooltipEl = el)\n }\n >\n <ic-text-field\n theme={theme}\n type=\"number\"\n size=\"small\"\n label={PAGE_INPUT_FIELD_ID}\n class={PAGE_INPUT_FIELD_ID}\n id={PAGE_INPUT_FIELD_ID}\n hideLabel\n onKeyDown={this.handleKeydown}\n onKeyUp={this.handleKeyUp}\n onInput={this.handleInputChange}\n max={totalPages}\n min=\"1\"\n validationInlineInternal\n onBlur={this.handleBlur}\n onFocus={this.handleFocus}\n ref={(el: HTMLIcTextFieldElement) =>\n (this.pageInputEl = el)\n }\n ></ic-text-field>\n </ic-tooltip>\n <ic-button\n variant=\"secondary\"\n onClick={this.goToPage}\n size=\"small\"\n class=\"go-to-page-button\"\n >\n Go\n </ic-button>\n </div>\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as i,c as t,h as e,H as o,g as n}from"./p-8e4e97b4.js";import{D as a,g as s,f as r,w as d}from"./p-e4ef4263.js";import{C as h}from"./p-170ddfc2.js";const c='/*! 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}:host{display:block;--ic-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;gap:var(--ic-space-xxs);align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;text-align:left;box-sizing:border-box}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(.in-side-menu) .navigation-group{min-height:2.5rem;width:100%;gap:1.25rem}:host(.in-side-menu) .navigation-group .ic-typography-label{width:100%}:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:"";display:inline-block;min-height:0.45em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;min-width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-top-navigation-nav-group-hover);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-top-navigation-nav-group-pressed)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);background:none}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{min-height:var(--navigation-group-height);height:-moz-fit-content;height:fit-content;min-width:100%;width:var(--navigation-group-width, auto);justify-content:var(--navigation-group-justify-content);padding:var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group{padding-right:var(--ic-space-md)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:active,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:active{background:none;cursor:auto}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left)}';const u=c;const p="ic-navigation-item";const l=100;const g="IC-NAVIGATION-GROUP";const v=class{constructor(o){i(this,o);this.navigationGroupOpened=t(this,"navigationGroupOpened",7);this.navigationGroupExpanded=t(this,"navigationGroupExpanded",7);this.allGroupedNavigationItemHeights="";this.collapsedNavItemsHeight=null;this.expandedNavItemsHeight=null;this.mouseGate=false;this.deviceSize=a.XL;this.dropdownOpen=false;this.focusStyle=s();this.inTopNavSideMenu=false;this.isSideNavExpanded=false;this.expandable=false;this.expanded=true;this.theme="inherit";this.sideNavExpandHandler=i=>{this.isSideNavExpanded=i.detail.sideNavExpanded;if(!this.linkWrapper||!this.expanded)return;const t=this.isSideNavExpanded?this.expandedNavItemsHeight:this.collapsedNavItemsHeight;if(t){this.setGroupedLinksElementHeight(t)}else{setTimeout((()=>{if(this.isSideNavExpanded){this.expandedNavItemsHeight=this.allGroupedNavigationItemHeights}else{this.collapsedNavItemsHeight=this.allGroupedNavigationItemHeights}this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights)}),l)}};this.topNavResizedHandler=({detail:{size:i}})=>{var t;if(i===this.deviceSize)return;this.deviceSize=i;this.inTopNavSideMenu=i<=(((t=this.parentEl)===null||t===void 0?void 0:t.customMobileBreakpoint)||a.L)};this.toggleExpanded=()=>{this.expanded=!this.expanded;if(!this.linkWrapper)return;this.setGroupedLinksElementHeight(!this.expanded?"0":this.isSideNavExpanded?this.expandedNavItemsHeight:this.collapsedNavItemsHeight);this.el.querySelectorAll(p).forEach((i=>{var t;const e=((t=i.shadowRoot)===null||t===void 0?void 0:t.querySelector("a"))||i.querySelector("a");e===null||e===void 0?void 0:e.setAttribute("tabindex",this.expanded?"0":"-1")}))};this.handleClick=i=>{if(this.navigationType==="top"&&i.detail){this.toggleDropdown()}else{this.toggleExpanded()}};this.handleBlur=i=>{if(!this.el.contains(i.relatedTarget)){this.hideDropdown()}};this.handleKeydown=i=>{const{key:t}=i;if(t!=="Enter"&&t!==" "&&t!=="Escape")return;switch(this.navigationType){case"top":if(t===" "||t==="Enter"){this.toggleDropdown()}else if(!this.inTopNavSideMenu){this.hideDropdown()}break;case"side":this.toggleExpanded();i.preventDefault();break;default:this.toggleExpanded();break}};this.handleMouseLeave=i=>{const t=i.relatedTarget;this.mouseGate=false;if(this.el.contains(t)||t===this.dropdown||this.el.contains(document.activeElement))return;if(document.activeElement!==this.el&&(t===null||t===void 0?void 0:t.nodeName)===g&&this.dropdownOpen){this.mouseGate=true;this.hideDropdown()}else{this.mouseGate=false;setTimeout((()=>{this.dropdownOpen?this.hideDropdown():null}),500)}};this.handleMouseEnter=i=>{const t=i.relatedTarget;document.addEventListener("keydown",this.handleKeydown);if((t===null||t===void 0?void 0:t.nodeName)===g&&this.mouseGate){this.showDropdown()}else if(!this.dropdownOpen&&!this.mouseGate){this.mouseGate=true;setTimeout((()=>{if(this.mouseGate)this.showDropdown()}),500)}};this.renderGroupTitleText=()=>e("ic-typography",{id:"nav-group-title",variant:this.navigationType==="side"?"caption":"label"},this.label);this.renderNavigationItems=()=>{if(this.dropdownOpen||this.inTopNavSideMenu&&!this.expandable){return e("div",{class:{[this.inTopNavSideMenu?"navigation-group-dropdown-side-menu":"navigation-group-dropdown"]:true,selected:this.dropdownOpen&&!this.inTopNavSideMenu},onMouseLeave:!this.inTopNavSideMenu?this.handleMouseLeave:undefined,ref:i=>this.dropdown=i},e("nav",{class:{"navigation-group-dropdown-items":!this.inTopNavSideMenu},"aria-labelledby":"nav-group-title"},e("ul",null,e("slot",null))))}if(this.navigationType!=="top"){return e("ul",{ref:i=>this.linkWrapper=i,class:"grouped-links-wrapper"},e("slot",null))}return null};this.setGroupedLinksElementHeight=i=>{var t;(t=this.linkWrapper)===null||t===void 0?void 0:t.style.setProperty("--navigation-child-items-height",i)}}disconnectedCallback(){var i,t;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.removeEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.removeEventListener("icTopNavResized",this.topNavResizedHandler)}}componentWillLoad(){var i,t;this.deviceSize=r();const{navType:e,parent:o}=d(this.el);this.navigationType=e;this.parentEl=o;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.addEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.addEventListener("icTopNavResized",this.topNavResizedHandler);if(this.deviceSize<=this.parentEl.customMobileBreakpoint)this.inTopNavSideMenu=true}}componentDidLoad(){this.allGroupedNavigationItemHeights=`${Array.from(this.el.querySelectorAll(p)).reduce(((i,{offsetHeight:t})=>i+t),0)}px`;setTimeout((()=>{if(!this.linkWrapper||!this.expanded)return;if(!this.isSideNavExpanded)this.collapsedNavItemsHeight=this.allGroupedNavigationItemHeights;else this.expandedNavItemsHeight=this.allGroupedNavigationItemHeights;this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights)}),l)}childBlurHandler(){this.hideDropdown()}handleNavigationGroupOpened(i){if(i.detail.source!==this.el){this.hideDropdown()}}navItemClickHandler(){this.hideDropdown()}brandChangeHandler(i){this.focusStyle=i.detail.mode}async setFocus(){var i;(i=this.groupEl)===null||i===void 0?void 0:i.focus()}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;if(this.inTopNavSideMenu){this.navigationGroupExpanded.emit({expanded:this.dropdownOpen})}}showDropdown(){if(!this.dropdownOpen){this.navigationGroupOpened.emit({source:this.el});this.toggleDropdown()}}hideDropdown(){document.removeEventListener("keydown",this.handleKeydown);if(this.dropdownOpen){this.toggleDropdown()}}render(){const{dropdownOpen:i,expanded:t,inTopNavSideMenu:n,expandable:a,theme:s,isSideNavExpanded:r,focusStyle:d}=this;const c=i=>i?"expanded":"collapsed";const u={"navigation-group":true,[d]:!n,[`navigation-group-side-menu-${c(i)}`]:n&&a,selected:i&&!n};const p=this.navigationType==="side";const l=this.navigationType==="top";const g=!n&&l;const v=p&&t||l&&i;return e(o,{key:"4d9f64e96f0e60b2e120ef1ff3ead8fc9eeba8ff",class:{"in-side-menu":n,"ic-navigation-group-expandable":a,"ic-navigation-group-side-nav":p,[`ic-navigation-group-${c(t)}`]:true,[`ic-theme-${s}`]:s!=="inherit"},role:"listitem"},a||g?e("button",{onMouseEnter:g?this.handleMouseEnter:undefined,onMouseLeave:l?this.handleMouseLeave:undefined,onBlur:this.handleBlur,onClick:this.handleClick,onKeyDown:this.handleKeydown,class:u,ref:i=>this.groupEl=i,"aria-expanded":`${v}`,"aria-haspopup":`${g}`},this.renderGroupTitleText(),p&&a&&e("div",{class:{"chevron-toggle-icon-wrapper":true,"chevron-toggle-icon-closed":!!t},innerHTML:h})):(!p||r)&&e("div",{class:u},this.renderGroupTitleText()),this.renderNavigationItems())}static get delegatesFocus(){return true}get el(){return n(this)}};v.style=u;export{v as ic_navigation_group};
|
|
2
|
-
//# sourceMappingURL=p-7332320d.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["icNavigationGroupCss","IcNavigationGroupStyle0","IC_NAVIGATION_ITEM","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","NODE_NAME","NavigationGroup","constructor","hostRef","this","allGroupedNavigationItemHeights","collapsedNavItemsHeight","expandedNavItemsHeight","mouseGate","deviceSize","DEVICE_SIZES","XL","dropdownOpen","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","isSideNavExpanded","expandable","expanded","theme","sideNavExpandHandler","event","detail","sideNavExpanded","linkWrapper","navItemsHeight","setGroupedLinksElementHeight","setTimeout","topNavResizedHandler","size","_a","parentEl","customMobileBreakpoint","L","toggleExpanded","el","querySelectorAll","forEach","navigationItem","navItem","shadowRoot","querySelector","setAttribute","handleClick","ev","navigationType","toggleDropdown","handleBlur","contains","relatedTarget","hideDropdown","handleKeydown","key","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","nodeName","handleMouseEnter","addEventListener","showDropdown","renderGroupTitleText","h","id","variant","label","renderNavigationItems","class","selected","onMouseLeave","undefined","ref","height","style","setProperty","disconnectedCallback","_b","removeEventListener","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","reduce","childrenHeights","offsetHeight","childBlurHandler","handleNavigationGroupOpened","source","navItemClickHandler","brandChangeHandler","mode","setFocus","groupEl","focus","navigationGroupExpanded","emit","navigationGroupOpened","render","getExpandedClassSuffix","prop","navGroupTitleClassNames","isSideNav","isTopNav","isTopNavDesktop","ariaExpanded","Host","role","onMouseEnter","onBlur","onClick","onKeyDown","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 --ic-typography-color: currentcolor;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);\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-brand-text-color);\n display: flex;\n gap: var(--ic-space-xxs);\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n text-align: left;\n box-sizing: border-box;\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-text-primary-light);\n outline: none;\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group {\n min-height: 2.5rem;\n width: 100%;\n gap: 1.25rem;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 100%;\n}\n\n:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-top-navigation-nav-group-link);\n justify-content: flex-start;\n padding: var(--ic-space-xs) 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 min-height: 0.45em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n min-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(: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-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-hover);\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-top-navigation-nav-group-pressed);\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 box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n background: none;\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-top-navigation-menu-background);\n border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);\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(.ic-navigation-group-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(.ic-navigation-group-side-nav) .link,\n:host(.ic-navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.ic-navigation-group-collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group {\n min-height: var(--navigation-group-height);\n height: -moz-fit-content;\n height: fit-content;\n min-width: 100%;\n width: var(--navigation-group-width, auto);\n justify-content: var(--navigation-group-justify-content);\n padding: var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group {\n padding-right: var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:hover,\n:host(.ic-navigation-group-side-nav) .navigation-group:active,\n:host(.ic-navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:active,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:active {\n background: none;\n cursor: auto;\n}\n\n:host(.ic-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(.ic-navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n}\n","import { Host, h, } from \"@stencil/core\";\nimport { DEVICE_SIZES, getCurrentDeviceSize, getBrandForegroundAppearance, getNavItemParentDetails, } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\nexport class NavigationGroup {\n constructor() {\n this.allGroupedNavigationItemHeights = \"\";\n this.collapsedNavItemsHeight = null;\n this.expandedNavItemsHeight = null;\n this.mouseGate = false;\n this.deviceSize = DEVICE_SIZES.XL;\n this.dropdownOpen = false;\n this.focusStyle = getBrandForegroundAppearance();\n this.inTopNavSideMenu = false;\n this.isSideNavExpanded = false;\n /**\n * If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\n */\n this.expandable = false;\n /**\n * If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\n */\n this.expanded = true;\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n this.sideNavExpandHandler = (event) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n if (!this.linkWrapper || !this.expanded)\n return;\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n }\n else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n this.topNavResizedHandler = ({ detail: { size }, }) => {\n var _a;\n if (size === this.deviceSize)\n return;\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.customMobileBreakpoint) ||\n DEVICE_SIZES.L);\n };\n this.toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper)\n return;\n this.setGroupedLinksElementHeight(!this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight);\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n var _a;\n const navItem = ((_a = navigationItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(\"a\")) ||\n navigationItem.querySelector(\"a\");\n navItem === null || navItem === void 0 ? void 0 : navItem.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\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 if (!this.el.contains(ev.relatedTarget)) {\n this.hideDropdown();\n }\n };\n this.handleKeydown = (ev) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\")\n return;\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\n }\n else if (!this.inTopNavSideMenu) {\n this.hideDropdown();\n }\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\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 this.el.contains(document.activeElement))\n return;\n if (document.activeElement !== this.el &&\n (relTarget === null || relTarget === void 0 ? void 0 : relTarget.nodeName) === NODE_NAME &&\n this.dropdownOpen) {\n this.mouseGate = true;\n this.hideDropdown();\n }\n else {\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) === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n }\n else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate)\n this.showDropdown();\n }, 500);\n }\n };\n this.renderGroupTitleText = () => (h(\"ic-typography\", { id: \"nav-group-title\", variant: this.navigationType === \"side\" ? \"caption\" : \"label\" }, this.label));\n this.renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (h(\"div\", { class: {\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }, onMouseLeave: !this.inTopNavSideMenu ? this.handleMouseLeave : undefined, ref: (el) => (this.dropdown = el) }, h(\"nav\", { class: {\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }, \"aria-labelledby\": \"nav-group-title\" }, h(\"ul\", null, h(\"slot\", null)))));\n }\n if (this.navigationType !== \"top\") {\n return (h(\"ul\", { ref: (el) => (this.linkWrapper = el), class: \"grouped-links-wrapper\" }, h(\"slot\", null)));\n }\n return null;\n };\n this.setGroupedLinksElementHeight = (height) => {\n var _a;\n (_a = this.linkWrapper) === null || _a === void 0 ? void 0 : _a.style.setProperty(\"--navigation-child-items-height\", height);\n };\n }\n disconnectedCallback() {\n var _a, _b;\n if (this.navigationType === \"side\") {\n (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.removeEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n }\n }\n componentWillLoad() {\n var _a, _b;\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 (_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.addEventListener(\"icSideNavExpanded\", this.sideNavExpandHandler);\n }\n else if (this.navigationType === \"top\") {\n (_b = this.parentEl) === null || _b === void 0 ? void 0 : _b.addEventListener(\"icTopNavResized\", this.topNavResizedHandler);\n if (this.deviceSize <=\n this.parentEl.customMobileBreakpoint)\n this.inTopNavSideMenu = true;\n }\n }\n componentDidLoad() {\n this.allGroupedNavigationItemHeights = `${Array.from(this.el.querySelectorAll(IC_NAVIGATION_ITEM)).reduce((childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight, 0)}px`;\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(() => {\n if (!this.linkWrapper || !this.expanded)\n return;\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n childBlurHandler() {\n this.hideDropdown();\n }\n handleNavigationGroupOpened(event) {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n navItemClickHandler() {\n this.hideDropdown();\n }\n brandChangeHandler(ev) {\n this.focusStyle = ev.detail.mode;\n }\n /**\n * Sets focus on the nav item.\n */\n async setFocus() {\n var _a;\n (_a = this.groupEl) === null || _a === void 0 ? void 0 : _a.focus();\n }\n toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n this.toggleDropdown();\n }\n }\n hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n render() {\n const { dropdownOpen, expanded, inTopNavSideMenu, expandable, theme, isSideNavExpanded, focusStyle, } = this;\n const getExpandedClassSuffix = (prop) => prop ? \"expanded\" : \"collapsed\";\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]: inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n return (h(Host, { key: '4d9f64e96f0e60b2e120ef1ff3ead8fc9eeba8ff', class: {\n \"in-side-menu\": inTopNavSideMenu,\n \"ic-navigation-group-expandable\": expandable,\n \"ic-navigation-group-side-nav\": isSideNav,\n [`ic-navigation-group-${getExpandedClassSuffix(expanded)}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }, role: \"listitem\" }, expandable || isTopNavDesktop ? (h(\"button\", { onMouseEnter: isTopNavDesktop ? this.handleMouseEnter : undefined, onMouseLeave: isTopNav ? this.handleMouseLeave : undefined, onBlur: this.handleBlur, onClick: this.handleClick, onKeyDown: this.handleKeydown, class: navGroupTitleClassNames, ref: (el) => (this.groupEl = el), \"aria-expanded\": `${ariaExpanded}`, \"aria-haspopup\": `${isTopNavDesktop}` }, this.renderGroupTitleText(), isSideNav && expandable && (h(\"div\", { class: {\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }, innerHTML: chevronIcon })))) : ((!isSideNav || isSideNavExpanded) && (h(\"div\", { class: navGroupTitleClassNames }, this.renderGroupTitleText()))), 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 when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expandable\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"expanded\": {\n \"type\": \"boolean\",\n \"mutable\": true,\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 expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"expanded\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\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 on the group.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\"\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"deviceSize\": {},\n \"dropdownOpen\": {},\n \"focusStyle\": {},\n \"inTopNavSideMenu\": {},\n \"navigationType\": {},\n \"parentEl\": {},\n \"isSideNavExpanded\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"navigationGroupOpened\",\n \"name\": \"navigationGroupOpened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcNavigationOpenEventDetail\",\n \"resolved\": \"IcNavigationOpenEventDetail\",\n \"references\": {\n \"IcNavigationOpenEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-navigation-group.types\",\n \"id\": \"src/components/ic-navigation-group/ic-navigation-group.types.ts::IcNavigationOpenEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"navigationGroupExpanded\",\n \"name\": \"navigationGroupExpanded\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcNavigationExpandEventDetail\",\n \"resolved\": \"IcNavigationExpandEventDetail\",\n \"references\": {\n \"IcNavigationExpandEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-navigation-group.types\",\n \"id\": \"src/components/ic-navigation-group/ic-navigation-group.types.ts::IcNavigationExpandEventDetail\"\n }\n }\n }\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\": \"navigationGroupOpened\",\n \"method\": \"handleNavigationGroupOpened\",\n \"target\": \"document\",\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\": \"brandChange\",\n \"method\": \"brandChangeHandler\",\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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","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as i,h as e,F as s,H as a,g as l}from"./p-8e4e97b4.js";import{b as o,p as n,i as h,c as r,d,e as c,f as u,h as v,j as p}from"./p-f48ce5f6.js";import{s as g}from"./p-a422b778.js";import"./p-349d91dc.js";const b=`<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24">\n <path d="M9 3 5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z"></path>\n</svg>`;const f=`<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" style="transform: rotate(-90deg);">\n <path d="M16.01 11H4v2h12.01v3L20 12l-3.99-4z"></path>\n</svg>`;const m=`<svg focusable="false" aria-hidden="true" viewBox="0 0 24 24" style="transform: rotate(90deg)">\n <path d="M16.01 11H4v2h12.01v3L20 12l-3.99-4z"></path>\n</svg>`;const w=':host{position:relative;display:inline-flex;max-height:100%;width:var(--table-width, 100%);height:100%;min-width:var(--table-min-width);max-width:var(--table-max-width)}tbody{vertical-align:top}.table-container{position:relative;height:calc(100% - var(--ic-space-xxxs));display:flex;flex-direction:column;width:100%}.cell-container{display:flex;min-height:1.5rem;overflow-y:hidden;height:var(--row-height);--ic-typography-color:var(--ic-data-table-text-default-emphasis)}.truncation-show-hide{display:block}.cell-icon.truncation-show-hide{display:flex}.cell-container:not(.data-type-element,.truncation-show-hide){overflow-x:hidden}ic-loading-indicator{position:sticky;top:20px}.table-row-container{position:relative;height:100%;overflow:auto;transition:var(--ic-easing-transition-fast);overflow-anchor:none}:host(.ic-data-table-show-pagination) .table-row-container{height:calc(100% - 3.5625rem)}table{table-layout:var(--table-layout, "fixed");border-spacing:0;width:100%;height:var(--table-height, auto)}.table-row-container:focus{outline:none;box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast);z-index:1}:host(.ic-data-table-embedded) .table-row-container{border:var(--ic-table-embedded-border)}.column-header-inner-container{padding:var(--ic-table-cell-padding);box-sizing:border-box}.column-header-inner-container ic-tooltip{pointer-events:none}.column-header-inner-container ic-tooltip.show-trunc-tooltip{pointer-events:auto}.column-header-inner-container ic-tooltip .column-header-text{--ic-line-clamp:1}.column-header-sticky{position:sticky;top:0;z-index:1}.column-header-overlay{position:sticky;top:0;z-index:1;box-shadow:0 0.375rem var(--ic-space-xs) calc(var(--ic-space-xxs * -1))\n rgb(0 0 0 / 20%)}.row-header-sticky{position:sticky;left:0}.column-header,.table-row{box-sizing:border-box}.table-row-selected{background-image:linear-gradient(\n var(--ic-data-table-cell-background-selected) 0 0\n );background-color:var(--ic-data-table-cell-background) !important}.table-row:hover{background-image:linear-gradient(\n var(--ic-data-table-cell-background-hover) 0 0\n );background-color:var(--ic-data-table-cell-background) !important}.table-row-selected:hover{background-image:linear-gradient(\n var(--ic-data-table-cell-background-selected-hover) 0 0\n )}.sort-button{margin-left:auto}.sort-button:hover{background-color:var(--ic-data-table-icon-button-background-hover)}.sort-button:active{background-color:var(--ic-data-table-icon-button-background-pressed)}.sort-button svg{color:var(--ic-data-table-sort-toggle-icon)}.sort-button-unsorted svg{color:var(--ic-data-table-sort-toggle-icon-default)}.table-density-dense .column-header-inner-container,td.table-density-dense{padding:var(--ic-table-cell-padding-dense) !important}.text-dense{font-size:var(--ic-table-font-size-dense)}.table-density-spacious .column-header-inner-container,td.table-density-spacious{padding:var(--ic-table-cell-padding-spacious) !important}.text-spacious{font-size:var(--ic-table-font-size-spacious)}.column-header-text{font-weight:var(--ic-font-weight-bold)}.dummy-column-header-text{white-space:nowrap;overflow:hidden;height:0;width:-moz-fit-content;width:fit-content}.row-header,.column-header{text-align:left;padding:var(--ic-table-cell-padding);background-color:var(--ic-data-table-header-background);border-right:var(--ic-table-heading-border);border-bottom:var(--ic-table-heading-border);color:var(--ic-data-table-header-text)}.column-header{padding:0;width:var(--column-width);min-width:var(--column-min-width, 4rem);max-width:var(--column-max-width)}.column-header:last-child{border-right:none}.scrollable .column-header:last-child{border-right:var(--ic-table-heading-border) !important}:host(.ic-data-table-embedded) tr:last-child .table-cell,:host(.ic-data-table-embedded) tr:last-child .row-header{border-bottom:none}.column-header-alignment-left,.row-header-alignment-left,.cell-alignment-left{text-align:left !important;justify-content:start !important}.column-header-alignment-right,.row-header-alignment-right,.cell-alignment-right{text-align:right !important;justify-content:end !important}.cell-alignment-right.truncation-tooltip ic-tooltip ic-typography{padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.cell-alignment-right.truncation-show-hide ic-typography{--ellipsis-padding-right:calc(var(--ic-space-xxs) + var(--ic-space-xs))}.column-header-alignment-center,.row-header-alignment-center,.cell-alignment-center{text-align:center !important;justify-content:center !important}.table-row{background-color:var(--ic-data-table-cell-background)}.table-row:nth-child(even){background-color:var(--ic-data-table-cell-background-stripe)}.table-cell{padding:var(--ic-table-cell-padding);border-bottom:var(--ic-table-cell-border);overflow:hidden;box-sizing:border-box;max-width:var(--column-max-width);min-width:var(--column-min-width)}.table-cell.with-overflow{overflow:visible}.data-type-string,.data-type-address{text-align:left}.data-type-number,.data-type-date{text-align:right;justify-content:end}.cell-vertical-align-top{vertical-align:top;align-items:flex-start}.cell-vertical-align-middle{vertical-align:middle;align-items:center}.cell-vertical-align-bottom{vertical-align:bottom;align-items:flex-end}.cell-emphasis-low ic-typography{--ic-typography-color:var(--ic-data-table-text-low-emphasis)}.cell-emphasis-high ic-typography{--ic-typography-color:var(--ic-data-table-text-high-emphasis);font-weight:var(--ic-font-weight-bold)}.pagination-container{background-color:var(--ic-data-table-pagination-bar-background-color);border-top:var(--ic-space-1px) solid\n var(--ic-data-table-pagination-bar-keyline)}.screen-reader-sort-text,.table-caption{position:absolute;left:-100rem}.table-cell,.column-header,.row-header{word-wrap:break-word;white-space:pre-wrap}.loading-empty{padding:var(--ic-space-xl) var(--ic-space-xxl);margin-top:var(--ic-space-xl)}.updating-state{padding:0;border-bottom:var(--ic-table-heading-border)}.updating-state-headers{border-bottom:none}.loading{position:absolute;left:calc(50% - 5.9741rem);opacity:0;transition:opacity var(--ic-transition-duration-slow);z-index:calc(var(--ic-z-index-popover) - 1);background-color:var(--ic-data-table-overlay-background);border:var(--ic-space-1px) solid var(--ic-data-table-overlay-border)}.loading.show{opacity:1}.icon,::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg);margin-right:var(--ic-space-xxs)}.column-header .icon>svg,.column-header ::slotted(svg){fill:var(--ic-data-table-icon)}.table-cell .icon>svg,.table-cell ::slotted(svg),.cell-description-icon>svg{fill:var(--ic-data-table-icon-default-emphasis)}.cell-emphasis-high .icon>svg,.cell-emphasis-high ::slotted(svg){fill:var(--ic-data-table-icon-high-emphasis)}.cell-emphasis-low .icon>svg,.cell-emphasis-low ::slotted(svg){fill:var(--ic-data-table-icon-low-emphasis)}.column-header-alignment-right>.icon,.row-header-alignment-right>.icon,.cell-alignment-right>.icon,.column-header-alignment-right>::slotted(svg),.row-header-alignment-right>::slotted(svg),.cell-alignment-right>::slotted(svg){margin-right:auto}.column-header-alignment-center>ic-typography,.column-header-alignment-center>.cell-text-wrapper,.row-header-alignment-right>ic-typography,.row-header-alignment-right>.cell-text-wrapper,.cell-alignment-center>ic-typography,.cell-alignment-center>.cell-text-wrapper{flex:1}.checkbox-cell{--column-width:var(--ic-space-xxl);align-content:center;border-right:none}.table-density-dense.checkbox-cell{--column-width:2.5rem}.checkbox-wrapper{display:flex;justify-content:center}.icon>svg{height:var(--ic-space-lg);width:var(--ic-space-lg);display:inline-block}.truncation-tooltip ic-typography{display:-webkit-box;line-clamp:var(--ic-line-clamp, 0);-webkit-line-clamp:var(--ic-line-clamp, 0);-webkit-box-orient:vertical;overflow:hidden}.truncation-tooltip ic-typography,.truncation-show-hide ic-typography{white-space:normal}.ic-tooltip-overflow{overflow:hidden;width:100%}.action-element{display:flex;justify-content:right}.cell-grid-wrapper{display:grid;grid-template-columns:auto auto}.loading-overlay{visibility:hidden;position:absolute;top:0;left:0;width:100%;height:100%;background:var(--ic-data-table-loading-indicator-overlay-background);z-index:calc(var(--ic-z-index-popover) - 2);opacity:0;transition:opacity var(--ic-transition-duration-slow)}.loading-overlay.show{visibility:visible;opacity:0.6}.sr-only{position:absolute;left:-9999px}@media (prefers-reduced-motion: reduce){.loading-overlay{transition:none}}.cell-text-wrapper{overflow:hidden}.cell-text-wrapper>ic-typography{margin-left:2px}.cell-text-no-wrap{word-wrap:initial}.cell-container-with-description{display:flex;flex-direction:row}.cell-description{display:flex;flex-direction:row;margin-top:var(--ic-space-xxs);word-break:break-all}.cell-description-text{color:var(--ic-data-table-cell-data-description)}.cell-description-icon{padding-right:var(--ic-space-xs)}.cell-description-icon>svg{height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs));display:flex}@media (min-width: 577px){.column-header-inner-container{display:flex;align-items:center}}@media (max-width: 577px){.cell-icon{flex-wrap:wrap}.cell-description-icon{padding-right:0}}@media (forced-colors: active){.icon,::slotted(svg),.cell-description-icon>svg{fill:currentcolor}.sort-button svg{color:currentcolor}.table-row-selected{background-color:Highlight !important}}';const y=w;const x=class{constructor(a){t(this,a);this.icRowHeightChange=i(this,"icRowHeightChange",7);this.icSelectAllRows=i(this,"icSelectAllRows",7);this.icSelectedRowChange=i(this,"icSelectedRowChange",7);this.icColumnsLoaded=i(this,"icColumnsLoaded",7);this.icDataLoaded=i(this,"icDataLoaded",7);this.icSortChange=i(this,"icSortChange",7);this.DENSITY_HEIGHT_MULTIPLIER={dense:.8,default:1,spacious:1.2};this.DENSITY_PADDING_HEIGHT_DIFF={dense:8,default:16,spacious:20};this.SORT_ICONS={unsorted:b,ascending:f,descending:m};this.hasLoadedForOneSecond=true;this.resizeObserver=null;this.SHOW_HIDE_STRING="show-hide";this.SHOW_HIDE_CSS_CLASS=`${this.SHOW_HIDE_STRING}-wrap`;this.TOOLTIP_STRING="tooltip";this.TOOLTIP=`ic-${this.TOOLTIP_STRING}`;this.TEXT_WRAP_STRING="text-wrap";this.TEXT_WRAP_CLASS=`.${this.TEXT_WRAP_STRING}`;this.dataUpdated=false;this.columnsUpdated=false;this.rowHeightSet=false;this.initialLoad=false;this.icPageChangeEvent=false;this.itemsPerPageChange=false;this.DATA_ROW_HEIGHT_STRING="data-row-height";this.ROW_HEIGHT_CSS_VARIABLE="--row-height";this.LINE_CLAMP_CSS_VARIABLE="--ic-line-clamp";this.DEFAULT_LINE_HEIGHT=24;this.densityUpdate=false;this.truncationPatternUpdated=false;this.isNewDebounceDelaySet=false;this.headerResizeObserver=null;this.IC_TOOLTIP_STRING="ic-tooltip";this.SHOW_TRUNC_TOOLTIP_STRING="show-trunc-tooltip";this.CELL_DESCRIPTION_STRING=".cell-description";this.CELL_CONTAINER_WITH_DESCRIPTION_STRING="cell-container-with-description";this.CELL_TEXT_WRAPPER_STRING=".cell-text-wrapper";this.IC_TYPOGRAPHY_STRING="ic-typography";this.rowIdCounter=0;this.createRowId=()=>`row-${this.rowIdCounter++}`;this.fromRow=0;this.scrollable=false;this.scrollOffset=0;this.selectedRows=[];this.selectedIcRowIds=[];this.debounceDelay=0;this.columnHeaderTruncation=false;this.disableAutoSort=false;this.density="default";this.embedded=false;this.globalRowHeight="auto";this.hideColumnHeaders=false;this.loading=false;this.minimumLoadingDisplayDuration=1e3;this.paginationBarOptions={alignment:"right",hideAllFromItemsPerPage:false,hideRangeLabel:false,itemLabel:"Item",itemsPerPageOptions:[{label:"10",value:"10"},{label:"25",value:"25"},{label:"50",value:"50"}],monochrome:false,pageLabel:"Page",rangeLabelType:"page",selectedItemsPerPage:10,selectItemsPerPageOnEnter:true,setToFirstPageOnPaginationChange:false,showGoToPageControl:true,showItemsPerPageControl:true,type:"simple"};this.rowSelection=false;this.showPagination=false;this.sortable=false;this.sortOptions={sortOrders:["unsorted","ascending","descending"],defaultColumn:""};this.stickyColumnHeaders=false;this.stickyRowHeaders=false;this.tableLayout="fixed";this.theme="inherit";this.updating=false;this.runHeaderResizeObserver=()=>{this.headerResizeObserver=new ResizeObserver((()=>{this.headerResizeCallback()}));this.headerResizeObserver.observe(this.el)};this.headerResizeCallback=()=>{var t,i,e;if(!this.hideColumnHeaders&&this.columnHeaderTruncation){const s=(i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".table-container"))===null||i===void 0?void 0:i.clientWidth;if(s&&s!==this.prevTableContainerWidth){(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelectorAll("th.column-header").forEach((t=>{const i=t.querySelector(this.IC_TOOLTIP_STRING);const e=t.querySelectorAll(this.IC_TYPOGRAPHY_STRING);if(i&&e&&e.length===2){i.classList.remove(this.SHOW_TRUNC_TOOLTIP_STRING);if(e[1].clientWidth>e[0].clientWidth){i.classList.add(this.SHOW_TRUNC_TOOLTIP_STRING)}}}));this.prevTableContainerWidth=s}}};this.handleResize=()=>{this.updateCellHeightsWithDescriptions();this.fixCellOverflow()};this.getRowHeight=t=>parseInt(getComputedStyle(document.documentElement).fontSize)*parseFloat(t.getAttribute(this.DATA_ROW_HEIGHT_STRING)||"");this.truncateUpdatedData=()=>{if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(i){const e=this.getTruncWrapper(t);if(e&&i.clientHeight-this.DEFAULT_LINE_HEIGHT>=e.scrollHeight){this.resetSingleShowHideTruncation(t,i);return}setTimeout((()=>{this.addShowHideTruncationIfNeeded(t,i)}),150)}}))}if(this.truncationPattern===this.TOOLTIP_STRING){this.updateTruncationTooltip()}this.dataUpdated=false};this.truncateTableSorted=()=>{if(this.truncationPattern===this.TOOLTIP_STRING){this.updateTruncationTooltip()}if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(i){if(!i.classList.contains(this.TEXT_WRAP_STRING)){this.createShowHideTruncation(t,i)}else{t.resetTruncation().then((()=>{i.removeAttribute("style")}))}}}))}this.tableSorted=false};this.truncateRowHeightSet=()=>{this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);if(i){if(this.globalRowHeight==="auto"){i.style.height="";i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,null);i.removeAttribute(this.DATA_ROW_HEIGHT_STRING);if(this.truncationPattern===this.TOOLTIP_STRING){this.removeTooltip(i,t,e);t.setAttribute("style",`${this.LINE_CLAMP_CSS_VARIABLE}: 0`)}else if(this.truncationPattern===this.SHOW_HIDE_STRING){this.resetSingleShowHideTruncation(t,i)}return}if(!i.classList.contains(this.CELL_CONTAINER_WITH_DESCRIPTION_STRING)&&!i.style.height&&this.getRowHeight(i)>i.clientHeight&&!i.classList.contains(this.TEXT_WRAP_STRING)){i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,i.getAttribute(this.DATA_ROW_HEIGHT_STRING))}if(this.truncationPattern){if(this.truncationPattern===this.SHOW_HIDE_STRING){const e=this.getTruncWrapper(t);if(this.getShowHideButton(t)&&e&&e.scrollHeight<=i.clientHeight){this.resetSingleShowHideTruncation(t,i);return}}this.truncate(t,i,e)}else{this.updateSetRowHeight(t)}}}));this.rowHeightSet=false};this.truncateItemsPerPageChange=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(".table-row");if(i&&this.rowsPerPage>this.previousItemsPerPage){const t=Array.from(i).slice(this.previousItemsPerPage);t.forEach((t=>{t.querySelectorAll("ic-typography").forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);if(i)this.truncate(t,i,e)}))}))}this.previousItemsPerPage=this.rowsPerPage;this.itemsPerPageChange=false};this.truncatePageChange=()=>{if(this.truncationPattern===this.TOOLTIP_STRING){this.updateTruncationTooltip()}if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(i&&this.typographyScrollHeightExceedsContainerHeight(t,i)&&!this.getShowHideButton(t)){this.addShowHideTruncation(i,t)}}))}this.icPageChangeEvent=false};this.truncateDensityUpdate=()=>{this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);if(i)this.truncate(t,i,e)}));this.densityUpdate=false};this.typographyScrollHeightExceedsContainerHeight=(t,i)=>i&&t.scrollHeight>i.clientHeight;this.cellContainerMinusLineHeightIsGreaterThanTruncWrapperScrollHeight=(t,i)=>{const e=this.getTruncWrapper(t);return e&&i.clientHeight-this.DEFAULT_LINE_HEIGHT>e.scrollHeight};this.truncatePatternUpdated=()=>{if(this.truncationPattern===this.TOOLTIP_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);if(i&&this.typographyScrollHeightExceedsContainerHeight(t,i)){this.addTooltipTruncation(t,i,e)}}))}else if(this.truncationPattern===this.SHOW_HIDE_STRING){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(i){if(this.cellContainerMinusLineHeightIsGreaterThanTruncWrapperScrollHeight(t,i)){this.resetSingleShowHideTruncation(t,i);return}this.addShowHideTruncationIfNeeded(t,i)}}))}};this.updateSetRowHeight=t=>{const i=t=>{const i=this.getCellContainer(t);if(i&&t.scrollHeight>this.getRowHeight(i)){i.style.removeProperty(this.ROW_HEIGHT_CSS_VARIABLE)}};if(t){i(t)}else{this.getTypographyElements().forEach((t=>{i(t)}))}};this.getLines=t=>Math.floor(t/this.DEFAULT_LINE_HEIGHT);this.truncate=(t,i,e)=>{var s;if(this.typographyScrollHeightExceedsContainerHeight(t,i)){if(!t.closest(this.TEXT_WRAP_CLASS)){if(this.truncationPattern===this.TOOLTIP_STRING){this.addTooltipTruncation(t,i,e)}if(this.truncationPattern===this.SHOW_HIDE_STRING){this.addShowHideTruncation(i,t)}}}else{if(this.truncationPattern===this.TOOLTIP_STRING&&e){t.setAttribute("style",`${this.LINE_CLAMP_CSS_VARIABLE}: 0`);(s=i.querySelector(this.CELL_TEXT_WRAPPER_STRING))===null||s===void 0?void 0:s.prepend(t);e.remove()}if(this.truncationPattern===this.SHOW_HIDE_STRING&&!o(t===null||t===void 0?void 0:t.getAttribute("max-lines"))){this.resetSingleShowHideTruncation(t,i)}}};this.addShowHideTruncationIfNeeded=(t,i)=>{if(this.typographyScrollHeightExceedsContainerHeight(t,i)){this.addShowHideTruncation(i,t);return true}return false};this.dataTruncation=(t,i)=>{const e=this.getTooltip(t);if(i.classList.contains("data-type-element")||this.dataUpdated){return}if(this.truncationPattern===this.SHOW_HIDE_STRING&&this.getShowHideButton(t)){const e=this.getTruncWrapper(t);if(e&&this.getLines(e.scrollHeight)===Number(t.getAttribute("max-lines"))){this.resetSingleShowHideTruncation(t,i)}}if(this.rowHeightSet&&this.truncationPattern===this.SHOW_HIDE_STRING){if(this.cellContainerMinusLineHeightIsGreaterThanTruncWrapperScrollHeight(t,i)){this.resetSingleShowHideTruncation(t,i);return}if(this.addShowHideTruncationIfNeeded(t,i)){return}}if(t.scrollHeight>0&&i.clientHeight>0&&t.scrollHeight===i.clientHeight){if(e){this.removeTooltip(i,t,e)}return}this.truncate(t,i,e)};this.getTruncWrapper=t=>{var i;return(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(".trunc-wrapper")};this.getShowHideButton=t=>{var i;return(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector("button")};this.removeTextWrap=()=>{this.getTypographyElements().forEach((t=>{const i=t.closest("td");if(i===null||i===void 0?void 0:i.classList.contains(this.TEXT_WRAP_STRING)){i.classList.remove(this.TEXT_WRAP_STRING)}}))};this.getCellContainer=t=>t.closest(".cell-container");this.deleteTextWrapDataKey=t=>Array.isArray(t)&&t.forEach((t=>t.textWrap&&delete t.textWrap));this.resetSingleShowHideTruncation=(t,i)=>{const e=this.getTruncWrapper(t);if(!(i&&e))return;if(e.scrollHeight>i.clientHeight&&!o(t.getAttribute("max-lines"))&&Math.floor((i===null||i===void 0?void 0:i.clientHeight)/this.DEFAULT_LINE_HEIGHT)!==Number(t.getAttribute("max-lines"))){t.checkMaxLines(e.scrollHeight);t.setAttribute("max-lines",`${Math.floor((i===null||i===void 0?void 0:i.clientHeight)/this.DEFAULT_LINE_HEIGHT)}`);t.setShowHideExpanded(false);i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,null)}else if(!i.classList.contains(this.CELL_CONTAINER_WITH_DESCRIPTION_STRING)){t.resetTruncation().then((()=>{if(!t.closest(this.TEXT_WRAP_CLASS)){i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,i.getAttribute(this.DATA_ROW_HEIGHT_STRING))}}))}};this.resetAllShowHideTruncation=()=>{this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);t.resetTruncation().then((()=>{if(i&&!t.closest(this.TEXT_WRAP_CLASS)){i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,i.getAttribute(this.DATA_ROW_HEIGHT_STRING))}}))}))};this.startLoadingTimer=()=>{this.hasLoadedForOneSecond=false;this.timerStarted=Date.now();setTimeout((()=>{this.hasLoadedForOneSecond=true;this.timerStarted=0}),this.minimumLoadingDisplayDuration)};this.isObject=t=>t!==undefined&&t!==null&&typeof t==="object";this.notDefaultDensity=()=>this.density!=="default";this.getCellContent=(t,i)=>{switch(i){case"element":return undefined;case"date":return(t instanceof Date?t:new Date(t)).toLocaleDateString();default:return t}};this.getCellAlignment=(t,i)=>{if(this.isObject(t)&&Object.keys(t).includes("cellAlignment")){return this.getObjectValue(this.getObjectValue(t,"cellAlignment"),i)}};this.getCellOptions=(t,i)=>{if(!(this.isObject(t)&&Object.keys(t).includes(i)))return;return this.getObjectValue(t,i)};this.createUpdatingIndicator=()=>{const{description:t,max:i,min:s,progress:a,monochrome:l}=this.updatingOptions||{};const o=this.columns.filter((t=>t.hidden!==true)).length;return e("th",{colSpan:o+(this.rowSelection&&this.data?1:0),class:"updating-state"},e("ic-loading-indicator",{theme:this.theme,monochrome:l,description:t||"Updating table data",fullWidth:true,max:i,min:s,progress:a,type:"linear",size:"small"}))};this.setRowHeight=t=>n(`${t*this.DENSITY_HEIGHT_MULTIPLIER[this.density]-this.DENSITY_PADDING_HEIGHT_DIFF[this.density]}px`);this.setTruncationClass=()=>this.truncationPattern?{[`truncation-${this.truncationPattern}`]:true}:{};this.getColumnWidth=t=>{let i={};if(typeof t==="string"){i=Object.assign(Object.assign({},i),{["--column-width"]:t})}else if(t&&Object.keys(t).length>0){if(t.minWidth){i=Object.assign(Object.assign({},i),{["--column-min-width"]:t.minWidth})}if(t.maxWidth){i=Object.assign(Object.assign({},i),{["--column-max-width"]:t.maxWidth})}}return i};this.getCalculatedRowHeight=(t,i,e,s)=>{if((this.truncationPattern||s)&&!(t===null||t===void 0?void 0:t.textWrap)&&!e&&!this.getCellOptions(i,"textWrap")&&(t===null||t===void 0?void 0:t.dataType)!=="element"){return{[this.ROW_HEIGHT_CSS_VARIABLE]:this.setRowHeight(s)}}return{}};this.getSlottedActionElement=t=>{const i=t.getAttribute("name");return this.el.querySelector(`[slot="${i}"]`)};this.adjustWidthForActionElement=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(".action-element");i===null||i===void 0?void 0:i.forEach((t=>{var i;const e=t.firstChild;const s=this.getSlottedActionElement(e);const a=(i=s===null||s===void 0?void 0:s.getBoundingClientRect().width)!==null&&i!==void 0?i:0;const l=t.closest(".cell-grid-wrapper");if(l){l.style.gridTemplateColumns=`auto calc(${a}px + var(--ic-space-xs))`}}))};this.createCellContent=(t,i,a,l,o,n,r)=>{var d,c,u,v,p,b,f,m,w,y,x;return e("div",{class:Object.assign(Object.assign({"cell-container":(t===null||t===void 0?void 0:t.dataType)!=="element","cell-icon":l||!!((d=t===null||t===void 0?void 0:t.icon)===null||d===void 0?void 0:d.icon),[`cell-alignment-${((c=t===null||t===void 0?void 0:t.columnAlignment)===null||c===void 0?void 0:c.horizontal)||((u=n===null||n===void 0?void 0:n.rowAlignment)===null||u===void 0?void 0:u.horizontal)||this.getCellAlignment(i,"horizontal")}`]:!!((v=t===null||t===void 0?void 0:t.columnAlignment)===null||v===void 0?void 0:v.horizontal)||!!((p=n===null||n===void 0?void 0:n.rowAlignment)===null||p===void 0?void 0:p.horizontal)||!!this.getCellAlignment(i,"horizontal"),[`data-type-${t===null||t===void 0?void 0:t.dataType}`]:true,[this.TEXT_WRAP_STRING]:(t===null||t===void 0?void 0:t.textWrap)||(n===null||n===void 0?void 0:n.textWrap)||!!this.getCellOptions(i,"textWrap"),[`cell-emphasis-${this.isObject(i)&&o("emphasis")||(t===null||t===void 0?void 0:t.emphasis)||(n===null||n===void 0?void 0:n.emphasis)}`]:this.isObject(i)&&!!o("emphasis")||!!(t===null||t===void 0?void 0:t.emphasis)||!!(n===null||n===void 0?void 0:n.emphasis)},this.setTruncationClass()),{[this.CELL_CONTAINER_WITH_DESCRIPTION_STRING]:this.isObject(i)&&Object.keys(i).includes("description")}),style:Object.assign(Object.assign({},this.getCalculatedRowHeight(t,i,n===null||n===void 0?void 0:n.textWrap,r)),this.getColumnWidth(t===null||t===void 0?void 0:t.columnWidth)),"data-row-height":this.truncationPattern||r?this.setRowHeight(r):null},h(this.el,a)?e("slot",{name:a}):e(s,null,h(this.el,`${a}-icon`)?e("slot",{name:`${a}-icon`}):(l||((b=t===null||t===void 0?void 0:t.icon)===null||b===void 0?void 0:b.onAllCells))&&(o("icon")||((f=t===null||t===void 0?void 0:t.icon)===null||f===void 0?void 0:f.icon))&&e("span",{class:"icon",innerHTML:g(o("icon"))||g((m=t===null||t===void 0?void 0:t.icon)===null||m===void 0?void 0:m.icon)}),(t===null||t===void 0?void 0:t.dataType)!=="element"&&!h(this.el,a)&&e("div",{class:{"cell-text-wrapper":true,"cell-text-no-wrap":!this.truncationPattern}},e("ic-typography",{variant:"body",class:{[`cell-emphasis-${this.isObject(i)&&o("emphasis")||(t===null||t===void 0?void 0:t.emphasis)||(n===null||n===void 0?void 0:n.emphasis)}`]:this.isObject(i)&&!!o("emphasis")||!!(t===null||t===void 0?void 0:t.emphasis)||!!(n===null||n===void 0?void 0:n.emphasis),[`text-${this.density}`]:this.notDefaultDensity()}},this.isObject(i)&&(t===null||t===void 0?void 0:t.dataType)!=="date"?Object.keys(i).includes("href")?e("ic-link",{href:o("href"),theme:this.theme,target:o("target")||undefined,rel:o("rel")||undefined},o("data")):o("data"):this.getCellContent(i,t===null||t===void 0?void 0:t.dataType)),this.isObject(i)&&Object.keys(i).includes("description")&&e("div",{class:{["cell-description"]:true,[`data-type-${t===null||t===void 0?void 0:t.dataType}`]:true}},((w=o("description"))===null||w===void 0?void 0:w.icon)&&e("span",{class:"cell-description-icon",innerHTML:g(o("description").icon)}),e("ic-typography",{variant:"caption",class:"cell-description-text"},(x=(y=o("description"))===null||y===void 0?void 0:y.data)!==null&&x!==void 0?x:o("description"))))))};this.createCells=(t,i)=>{var s;const a=(s=this.variableRowHeight)===null||s===void 0?void 0:s.call(this,Object.assign(Object.assign({},t),{index:i}));const l=a?a!=="auto"&&a:this.globalRowHeight!=="auto"&&this.globalRowHeight;const{rowOptions:o}=t;return this.columns.map((s=>{var a,n,r,d;const{columnAlignment:c,columnWidth:u,dataType:v,hidden:p,key:g}=s;if(p)return;const b=this.getObjectValue(t,g);const f=`${g}-${i}`;const m=t=>this.getObjectValue(b,t);if(g==="header"&&(o===null||o===void 0?void 0:o.header)){return e("th",{scope:"row",class:{"row-header":true,"row-header-sticky":this.stickyRowHeaders,[`row-header-alignment-${(a=o.rowAlignment)===null||a===void 0?void 0:a.horizontal}`]:!!((n=o.rowAlignment)===null||n===void 0?void 0:n.horizontal)}},o.header)}const w=this.createCellContent(s,b,f,this.isObject(b)&&Object.keys(b).includes("icon"),m,o,l||undefined);return e("td",{class:{"table-cell":true,"with-overflow":v==="element",[`table-density-${this.density}`]:this.notDefaultDensity(),[`cell-vertical-align-${(c===null||c===void 0?void 0:c.vertical)||((r=o===null||o===void 0?void 0:o.rowAlignment)===null||r===void 0?void 0:r.vertical)||this.getCellAlignment(b,"vertical")}`]:!!(c===null||c===void 0?void 0:c.vertical)||!!((d=o===null||o===void 0?void 0:o.rowAlignment)===null||d===void 0?void 0:d.vertical)||!!this.getCellAlignment(b,"vertical")},style:Object.assign({},this.getColumnWidth(u))},h(this.el,`${f}-action-element`)?e("div",{class:"cell-grid-wrapper"},w,e("span",{class:"action-element"},e("slot",{name:`${f}-action-element`}))):w)}))};this.createColumnHeaders=()=>(this.columns||[]).map((({cellAlignment:t,colspan:i,icon:s,key:a,title:l,columnWidth:o,excludeColumnFromSort:n,hidden:r},d)=>r!==true&&e("th",{scope:"col",class:{["column-header"]:true,[`table-density-${this.density}`]:this.notDefaultDensity(),["updating-state-headers"]:this.updating&&!this.loading},style:Object.assign({},this.getColumnWidth(o)),colSpan:i},e("div",{class:{"column-header-inner-container":true,"truncation-tooltip":this.columnHeaderTruncation,[`column-header-alignment-${t}`]:!!t}},h(this.el,`${a}-column-icon`)?e("slot",{name:`${a}-column-icon`}):s&&!s.hideOnHeader&&e("span",{class:"icon",innerHTML:g(s.icon)}),this.columnHeaderTruncation?e("ic-tooltip",{label:l,target:`column-header-${d}`},e("ic-typography",{id:`column-header-${d}`,variant:"body",class:{["column-header-text"]:true,[`text-${this.density}`]:this.notDefaultDensity()}},l)):e("ic-typography",{variant:"body",class:{["column-header-text"]:true,[`text-${this.density}`]:this.notDefaultDensity()}},l),this.sortable&&!n&&e("ic-button",{variant:"icon-tertiary",id:`sort-button-${a}`,"aria-label":this.getSortButtonLabel(a),onClick:()=>this.sortRows(a),innerHTML:this.SORT_ICONS[this.sortedColumn===a?this.sortedColumnOrder:"unsorted"],class:{["sort-button"]:true,["sort-button-unsorted"]:this.sortedColumn!==a||this.sortedColumnOrder==="unsorted"}})),this.columnHeaderTruncation&&e("ic-typography",{variant:"body","aria-hidden":"true",class:{["column-header-text"]:true,["dummy-column-header-text"]:this.columnHeaderTruncation,[`text-${this.density}`]:this.notDefaultDensity()}},l))));this.onRowClick=t=>{const i=!this.selectedIcRowIds.includes(t.icRowId);this.selectedIcRowIds=i?[...this.selectedIcRowIds,t.icRowId]:this.selectedIcRowIds.filter((i=>i!==t.icRowId));this.selectedRows=i?[...this.selectedRows,t]:this.selectedRows.filter((i=>i.icRowId!==t.icRowId));this.icSelectedRowChange.emit({row:i?t:null,selectedRows:this.selectedRows,icRowId:i?t.icRowId:null,selectedIcRowIds:this.selectedIcRowIds})};this.selectAllRows=()=>{this.selectedRows=this.organisedData&&this.selectedIcRowIds.length!==this.organisedData.length?[...this.organisedData]:[];this.selectedIcRowIds=this.selectedRows.map((t=>t.icRowId));this.icSelectAllRows.emit(this.selectedRows)};this.createRows=()=>{var t,i,s,a,l;const o=this.showPagination?(t=this.data)===null||t===void 0?void 0:t.slice(this.fromRow,this.toRow):(i=this.data)===null||i===void 0?void 0:i.slice();const n=this.showPagination?this.fromRow:0;(s=this.data)===null||s===void 0?void 0:s.forEach((t=>{if(!("icRowId"in t)){t.icRowId=this.createRowId()}}));this.organisedData=o===null||o===void 0?void 0:o.map(((t,i)=>{const e=this.columns.map((({key:t},e)=>h(this.el,`${t}-${i+n}`)&&{key:t,index:e})).filter((i=>!!i&&!Object.prototype.hasOwnProperty.call(t,i.key)));return e.length>0?r(t,e,""):t}));return(a=this.organisedData)===null||a===void 0?void 0:a.sort(this.sortable&&!this.disableAutoSort&&this.sortedColumn&&!((l=this.columns.find((t=>t.key===this.sortedColumn)))===null||l===void 0?void 0:l.disableAutoSort)?this.getSortFunction():undefined).map(((t,i)=>{const s=this.rowSelection&&this.selectedIcRowIds.includes(t.icRowId);const a=i+n;return e("tr",{class:{"table-row":true,"table-row-selected":s}},this.rowSelection&&e("td",{class:{"table-cell":true,"checkbox-cell":true,[`table-density-${this.density}`]:this.notDefaultDensity()}},e("div",{class:"checkbox-wrapper"},e("ic-checkbox",{class:"ic-data-table-checkbox",checked:s,disabled:this.updating||this.loading,hideLabel:true,label:`${s?"Deselect":"Select"} row ${a}`,onIcCheck:()=>this.onRowClick(t),size:this.density==="dense"?"small":"medium",value:a}))),this.createCells(t,a))}))};this.getObjectValue=(t,i)=>Object.values(t)[Object.keys(t).indexOf(i)];this.getSortButtonLabel=t=>{let i="";const e=t=>{const i=this.sortOptions.sortOrders;return i[(i.indexOf(t)+1)%i.length]};if(this.sortedColumn===t){const t=e(this.sortedColumnOrder);i=t!=="unsorted"?`Sort ${t}`:"Remove sort"}else{i=`Sort ${e("unsorted")}`}return i};this.getComparison=(t,i)=>{const e=t[this.sortedColumn];const s=i[this.sortedColumn];return this.columns.find((t=>t.key===this.sortedColumn)).dataType==="date"?new Date(e).valueOf()-new Date(s).valueOf():String(this.isObject(e)?Object.values(e)[0]:e).localeCompare(String(this.isObject(s)?Object.values(s)[0]:s),undefined,{numeric:true,sensitivity:"base"})};this.getSortFunction=()=>{switch(this.sortedColumnOrder){case"ascending":return(t,i)=>this.getComparison(t,i);case"descending":return(t,i)=>this.getComparison(i,t);default:return undefined}};this.sortRows=t=>{var i,e,s,a;const l=this.sortOptions.sortOrders;if(t!==this.sortedColumn){if(this.sortedColumn){(e=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(`#sort-button-${this.sortedColumn}`))===null||e===void 0?void 0:e.setAttribute("aria-label",this.getSortButtonLabel(t))}this.sortedColumn=t;this.sortedColumnOrder="unsorted"}let o=l.indexOf(this.sortedColumnOrder)+1;if(o>l.length-1){o=0}this.sortedColumnOrder=l[o];(a=(s=this.el.shadowRoot)===null||s===void 0?void 0:s.querySelector(`#sort-button-${t}`))===null||a===void 0?void 0:a.setAttribute("aria-label",this.getSortButtonLabel(t));this.tableSorted=true;this.icSortChange.emit({columnName:t,sorted:this.sortedColumnOrder})};this.getTypographyElements=()=>{var t;return Array.from(((t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("ic-typography:not(.column-header-text,.cell-description-text)"))||[])};this.getTooltip=t=>t.closest(this.TOOLTIP);this.updateTruncationTooltip=(t=false)=>{this.getTypographyElements().forEach((i=>{const e=this.getTooltip(i);const s=this.getCellContainer(i);if(s){if(i.closest(this.TEXT_WRAP_CLASS)){this.removeTooltip(s,i,e);i.setAttribute("style",`${this.LINE_CLAMP_CSS_VARIABLE}: 0`);return}this.regenerateTooltip(s,i,e,t)}}))};this.updateScrollOffset=()=>{var t;const i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".table-row-container");if(i)this.scrollOffset=i.scrollTop};this.updateRowHeightForDescriptions=(t,i)=>{i.setAttribute(this.DATA_ROW_HEIGHT_STRING,t.toString());i.setAttribute("style",`${this.ROW_HEIGHT_CSS_VARIABLE}: ${t}px`)};this.getDescriptionHeight=t=>{const i=window.getComputedStyle(t).getPropertyValue("margin-top");return t.clientHeight+parseInt(i,10)};this.updateCellHeightsWithDescriptions=()=>{var t,i;const e=d(p.XS);(i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(this.CELL_DESCRIPTION_STRING))===null||i===void 0?void 0:i.forEach((t=>{const i=t.closest(`.${this.CELL_CONTAINER_WITH_DESCRIPTION_STRING}`);const s=i===null||i===void 0?void 0:i.querySelector(this.IC_TYPOGRAPHY_STRING);if(s&&i&&this.globalRowHeight&&this.globalRowHeight!=="auto"){const a=this.getDescriptionHeight(t);const l=a+this.DEFAULT_LINE_HEIGHT;if(!s.textContent&&l>this.globalRowHeight){this.updateRowHeightForDescriptions(a,i)}else if(this.truncationPattern===this.TOOLTIP_STRING){if(l>this.globalRowHeight){const t=i.querySelector(".icon");let s=l;if(t&&e){s+=t.clientHeight}this.updateRowHeightForDescriptions(s,i)}this.addLineClampCSS(s,i)}else if(this.truncationPattern===this.SHOW_HIDE_STRING&&l>this.globalRowHeight&&s.style.getPropertyValue("--truncation-max-lines")!=="initial"){this.updateRowHeightForDescriptions(l,i);this.createShowHideTruncation(s,i,a)}}}))};this.setTableDimensions=()=>{let t={};if(this.width){t=Object.assign(Object.assign({},t),{["--table-width"]:this.width})}if(this.height){t=Object.assign(Object.assign({},t),{["--table-height"]:this.height})}if(this.maxWidth){t=Object.assign(Object.assign({},t),{["--table-max-width"]:this.maxWidth})}if(this.minWidth){t=Object.assign(Object.assign({},t),{["--table-min-width"]:this.minWidth})}return t};this.fixCellTooltip=t=>{var i,e;let s=null;const a=(i=t.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.IC_TOOLTIP_STRING);if(t.tagName==="IC-TOOLTIP"){s=t}else if(a){s=a}else if(((e=t.children)===null||e===void 0?void 0:e.length)>0){Array.from(t.children).forEach((t=>{this.fixCellTooltip(t)}))}else{return}s===null||s===void 0?void 0:s.setExternalPopperProps({strategy:"fixed"})};this.fixCellOverflow=()=>{var t,i;(i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(".data-type-element"))===null||i===void 0?void 0:i.forEach((t=>{let i=Array.from(t.children);if(i.length===1&&i[0].tagName==="SLOT"){i=c(t)}i===null||i===void 0?void 0:i.forEach((i=>{var e;if(i.tagName==="IC-SELECT"){const s=(e=i.shadowRoot)===null||e===void 0?void 0:e.querySelector("ic-menu");s===null||s===void 0?void 0:s.setExternalPopperProps({strategy:"fixed"});i.style.setProperty("--input-width",`${t.clientWidth}px`)}else{const t=i.querySelector("ic-popover-menu");t===null||t===void 0?void 0:t.setExternalPopperProps({strategy:"fixed"})}}))}))};this.fixCellTooltips=()=>{var t,i,e,s;(i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll(".data-type-element"))===null||i===void 0?void 0:i.forEach((t=>{const i=c(t);i===null||i===void 0?void 0:i.forEach((t=>{this.fixCellTooltip(t)}))}));(s=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelectorAll(".action-element"))===null||s===void 0?void 0:s.forEach((t=>{const i=t.firstChild;const e=this.getSlottedActionElement(i);if(e){this.fixCellTooltip(e)}}))};this.renderTableBody=(t,i,s)=>{if(!(i===null||i===void 0?void 0:i.length))return;if(s&&t){return e("tbody",null,this.createRows())}else if(t&&!s){return null}else{return e("tbody",null,this.createRows())}};this.renderLoadingIndicator=(t,i)=>{if(!t)return null;return e(s,null,e("div",{class:"loading-overlay",ref:t=>this.loadingOverlay=t}),e("ic-loading-indicator",{theme:this.theme,monochrome:i===null||i===void 0?void 0:i.monochrome,class:{"loading-empty":t,loading:true},description:(i===null||i===void 0?void 0:i.description)||"Loading table data",label:(i===null||i===void 0?void 0:i.label)||"Loading...",labelDuration:i===null||i===void 0?void 0:i.labelDuration,max:i===null||i===void 0?void 0:i.max,min:i===null||i===void 0?void 0:i.min,progress:i===null||i===void 0?void 0:i.progress,ref:t=>this.loadingIndicator=t}))};this.renderAriaLiveLoading=()=>{var t,i;if(this.loading){return((t=this.loadingOptions)===null||t===void 0?void 0:t.label)||"Loading..."}else if(this.updating){return((i=this.updatingOptions)===null||i===void 0?void 0:i.description)||"Updating table data"}else{return""}};this.renderEmptyState=(t,i,s)=>{const a=h(this.el,"empty-state")?e("slot",{name:"empty-state"}):e("ic-empty-state",{aligned:"center",heading:"No Data",class:"loading-empty"});if(t&&!(i===null||i===void 0?void 0:i.length)&&s){return a}else if(!t&&!(i===null||i===void 0?void 0:i.length)){return a}else{return null}}}headerTruncationChangeHandler(){var t,i;if(this.columnHeaderTruncation){this.prevTableContainerWidth=0}else{(i=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelectorAll("th.column-header"))===null||i===void 0?void 0:i.forEach((t=>{var i;(i=t.querySelector(this.IC_TOOLTIP_STRING))===null||i===void 0?void 0:i.classList.remove(this.SHOW_TRUNC_TOOLTIP_STRING)}))}}columnsChangeHandler(){this.columnsUpdated=true}disconnectedCallback(){var t,i;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect();(i=this.headerResizeObserver)===null||i===void 0?void 0:i.disconnect();window.removeEventListener("resize",this.handleResize)}componentWillLoad(){this.rowsPerPage=Number(this.paginationBarOptions.itemsPerPageOptions[0].value);this.previousRowsPerPage=this.rowsPerPage;this.toRow=this.rowsPerPage;this.sortedColumn=this.sortOptions.defaultColumn;this.sortedColumnOrder=this.sortOptions.sortOrders[0];this.loadingOptions=Object.assign({},this.loadingOptions);this.initialLoad=true;this.previousItemsPerPage=this.rowsPerPage}componentDidLoad(){var t,i;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("table");const s=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".table-container");u(this.runHeaderResizeObserver);if(this.dataUpdated){this.dataUpdated=false}if(e&&s&&(e.clientHeight>s.clientHeight||e.clientWidth>s.clientWidth)){this.scrollable=true}if(this.loading){this.startLoadingTimer();this.showLoadingIndicator()}if(this.truncationPattern){this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(i&&!i.classList.contains(this.TEXT_WRAP_STRING)){this.dataTruncation(t,i);this.resizeObserver=new ResizeObserver(v((()=>{this.dataTruncation(t,i);if(!this.isNewDebounceDelaySet){this.debounceDelay=200;this.isNewDebounceDelaySet=true}}),(()=>this.debounceDelay)));this.resizeObserver.observe(t)}}))}if(this.globalRowHeight!=="auto"){this.updateSetRowHeight()}window.addEventListener("resize",this.handleResize);this.icColumnsLoaded.emit();if(this.data&&!this.loading&&!this.updating)this.icDataLoaded.emit()}componentDidUpdate(){if(this.truncationPattern===this.SHOW_HIDE_STRING||this.truncationPattern===this.TOOLTIP_STRING){if(this.dataUpdated){this.truncateUpdatedData()}if(this.tableSorted){this.truncateTableSorted()}if(this.rowHeightSet){this.truncateRowHeightSet()}if(this.itemsPerPageChange){this.truncateItemsPerPageChange()}if(!this.initialLoad&&this.icPageChangeEvent){this.truncatePageChange()}if(this.densityUpdate){this.truncateDensityUpdate()}if(this.truncationPatternUpdated){this.truncatePatternUpdated()}}if(this.columnsUpdated){this.icColumnsLoaded.emit();this.columnsUpdated=false}if(this.dataUpdated&&!this.loading&&!this.updating){this.icDataLoaded.emit();this.dataUpdated=false}}componentDidRender(){this.fixCellTooltips();this.fixCellOverflow();this.updateCellHeightsWithDescriptions();this.adjustWidthForActionElement()}createShowHideTruncation(t,i,e=0){t.checkMaxLines(t.scrollHeight);t.setAttribute("max-lines",`${this.getLines(i.clientHeight-e)}`);t.setShowHideExpanded(false);i.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,null)}addTooltipTruncation(t,i,e){this.addLineClampCSS(t,i);if(!e){this.createTruncationTooltip(t,i)}}addShowHideTruncation(t,i){t.classList.add(this.SHOW_HIDE_CSS_CLASS);this.createShowHideTruncation(i,t)}handleTypographyTruncationExpandToggle({detail:t}){const{expanded:i,typographyEl:e}=t;const s=this.getCellContainer(e);if((s===null||s===void 0?void 0:s.style.getPropertyValue(this.ROW_HEIGHT_CSS_VARIABLE))&&i){s.style.setProperty(this.ROW_HEIGHT_CSS_VARIABLE,"inherit")}}handlePageChange({detail:t,target:i}){var e;if(i.parentElement!==this.el){this.fromRow=(t.value-1)*this.rowsPerPage;this.toRow=this.fromRow+this.rowsPerPage;const i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".table-row-container");if(i){if(this.previousRowsPerPage===this.rowsPerPage){i.scrollTop=0}else if(this.previousRowsPerPage<this.rowsPerPage){i.scrollTop=this.scrollOffset;this.previousRowsPerPage=this.rowsPerPage}else{this.previousRowsPerPage=this.rowsPerPage}}this.selectedRows=[]}if(!this.initialLoad&&this.previousPaginationPage!==t.value){this.icPageChangeEvent=true}this.previousPaginationPage=t.value;this.initialLoad=false}handleItemsPerPageChange({detail:t,target:i}){if(i.parentElement!==this.el){this.previousRowsPerPage=this.rowsPerPage;this.rowsPerPage=t.value}this.itemsPerPageChange=true}handleDensityChange(t){this.density=t.detail.value}loadingHandler(){if(this.loading){this.startLoadingTimer();setTimeout((()=>{this.showLoadingIndicator()}),500)}}truncationPatternHandler(){if(this.truncationPattern===this.TOOLTIP_STRING){this.resetAllShowHideTruncation();this.updateTruncationTooltip(true);this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);const e=this.getTooltip(t);if(i)this.truncate(t,i,e)}))}else if(this.truncationPattern===this.SHOW_HIDE_STRING){this.updateTruncationTooltip(true);this.getTypographyElements().forEach((t=>{const i=this.getCellContainer(t);if(i){if(this.cellContainerMinusLineHeightIsGreaterThanTruncWrapperScrollHeight(t,i)){this.resetSingleShowHideTruncation(t,i);return}setTimeout((()=>{this.addShowHideTruncationIfNeeded(t,i)}),150)}}))}this.truncationPatternUpdated=true}async dataHandler(){this.loadingOptions=Object.assign({},this.loadingOptions);if(this.loading){!this.hasLoadedForOneSecond?setTimeout((()=>this.loading=false),this.minimumLoadingDisplayDuration-(Date.now()-this.timerStarted)):this.loading=false}if(this.updating)this.updating=false;this.dataUpdated=true}async densityHandler(){this.densityUpdate=true}rowHeightChangeHandler(t,i){if(+t!==+i){this.deleteTextWrapDataKey(this.data);this.deleteTextWrapDataKey(this.columns);this.removeTextWrap();this.icRowHeightChange.emit();this.rowHeightSet=true}}async resetRowHeights(t){this.globalRowHeight=t||"auto";this.variableRowHeight=undefined}showLoadingIndicator(){var t,i,e;if((t=this.loadingOptions)===null||t===void 0?void 0:t.overlay){(i=this.loadingOverlay)===null||i===void 0?void 0:i.classList.add("show")}(e=this.loadingIndicator)===null||e===void 0?void 0:e.classList.add("show")}regenerateTooltip(t,i,e,s){if(e){if(this.tableSorted){e.setAttribute("target",i.id);e.setAttribute("label",i.textContent)}else{this.removeTooltip(t,i,e)}if(s){return}}if(!i.getAttribute("style")&&this.dataUpdated){this.addLineClampCSS(i,t)}if((i===null||i===void 0?void 0:i.scrollHeight)>(t===null||t===void 0?void 0:t.clientHeight)&&this.truncationPattern===this.TOOLTIP_STRING){if(!i.getAttribute("style")||i.style.cssText.includes(`${this.LINE_CLAMP_CSS_VARIABLE}: 0;`)){this.addLineClampCSS(i,t)}if(!t.querySelector(this.IC_TOOLTIP_STRING))this.createTruncationTooltip(i,t)}}removeTooltip(t,i,e){var s;(s=t.querySelector(this.CELL_TEXT_WRAPPER_STRING))===null||s===void 0?void 0:s.prepend(i);e===null||e===void 0?void 0:e.remove()}addLineClampCSS(t,i){var e,s;const a=(e=i.querySelector(this.CELL_DESCRIPTION_STRING))===null||e===void 0?void 0:e.clientHeight;const l=i.clientHeight;let o=l;if(i.classList.contains(this.CELL_CONTAINER_WITH_DESCRIPTION_STRING)&&a&&l>a){const t=d(p.XS)&&((s=i===null||i===void 0?void 0:i.querySelector(".icon"))===null||s===void 0?void 0:s.clientHeight)||0;o=o-a-t}t.setAttribute("style",`${this.LINE_CLAMP_CSS_VARIABLE}: ${this.getLines(o||0)}`)}createTruncationTooltip(t,i){var e;const s=document.createElement(this.IC_TOOLTIP_STRING);s.setAttribute("target",t.id);s.setAttribute("label",t.textContent);s.classList.add("ic-tooltip-overflow");s.setExternalPopperProps({strategy:"fixed"});(e=i.querySelector(this.CELL_TEXT_WRAPPER_STRING))===null||e===void 0?void 0:e.prepend(s);s.prepend(t)}render(){var t,i;const{caption:s,columns:l,createColumnHeaders:o,createUpdatingIndicator:n,data:r,density:d,embedded:c,hideColumnHeaders:u,rowSelection:v,loading:p,loadingOptions:g,paginationBarOptions:b,rowsPerPage:f,scrollable:m,scrollOffset:w,selectAllRows:y,selectedRows:x,showPagination:k,sortable:$,sortedColumn:O,sortedColumnOrder:j,stickyColumnHeaders:C,updateScrollOffset:P,updating:H,tableLayout:T,theme:L}=this;const z=x.length>0;const I=x.length===(k?f:r===null||r===void 0?void 0:r.length);const S=z?I?"deselect all":"select all remaining":"select all";return e(a,{key:"06dc7799e33364ed08e03d7c04d653d367b55ee7",style:Object.assign({},this.setTableDimensions()),class:{[`ic-theme-${L}`]:L!=="inherit",[`ic-data-table-show-pagination`]:!!k,[`ic-data-table-embedded`]:!!c}},e("div",{key:"3d88d653ccf6cc047e050c93c76ba81c7a478e58",class:"table-container"},h(this.el,"title-bar")&&e("slot",{key:"6cbc4b95cd3b6f02a2ccb1d9649c3adffd099c31",name:"title-bar"}),e("div",{key:"3c8908ecd919b470e5326a38a8cb5fa3748a810b",class:{["table-row-container"]:true,scrollable:m},tabIndex:m?0:undefined,onScroll:P},e("table",{key:"ebef97d9a18a19a3bcda2a8c465832fa8fa75225",style:{"--table-layout":T}},e("caption",{key:"22e448be8e37264eed5e86597582c256598939b3",class:"table-caption"},s),!u&&e("thead",{key:"e7cf4fe2ec92fea0790a57ae9b5759481b6fb588",class:{["column-header-sticky"]:C,["column-header-overlay"]:C&&w!==0}},e("tr",{key:"67acb734f8d3a8111fade0639cefaf024d841b88"},v&&r&&e("th",{key:"39a87dbcdf5b93452dc7c75e17337c33c1995f6d",class:{"column-header":true,"checkbox-cell":true,"updating-state-headers":H&&!p,[`table-density-${d}`]:this.notDefaultDensity()}},e("div",{key:"3dd78da3cb58cd85caa8bef85e0f4ac4ea00c46a",class:"checkbox-wrapper"},e("ic-checkbox",{key:"3bd6886c4fbe2223a4e9af9d95241cc03992e283",class:"ic-data-table-checkbox",checked:z&&I,disabled:H||p,hideLabel:true,indeterminate:z&&!I,label:`${s} ${S} rows`,nativeIndeterminateBehaviour:true,onIcCheck:()=>y(),size:d==="dense"?"small":"medium",value:s}))),o())),H&&!p&&(u?e("thead",null,n()):n()),this.renderTableBody(p,r,g===null||g===void 0?void 0:g.overlay)),this.renderEmptyState(p,r,g===null||g===void 0?void 0:g.overlay)),e("div",{key:"699a598848b788e6f4f82c23114fbf65c5c843a8","aria-live":"assertive",class:"sr-only"},this.renderAriaLiveLoading()),this.renderLoadingIndicator(p,g),(k||h(this.el,"pagination-bar"))&&e("div",{key:"483436f9c10f774156df5e0686c96abc44cc49ee",class:"pagination-container"},h(this.el,"pagination-bar")?e("slot",{name:"pagination-bar"}):e("ic-pagination-bar",{alignment:b.alignment,hideAllFromItemsPerPage:b.hideAllFromItemsPerPage,hideRangeLabel:b.hideRangeLabel,itemLabel:b.itemLabel,itemsPerPageOptions:b.itemsPerPageOptions,monochrome:b.monochrome,pageLabel:b.pageLabel,rangeLabelType:b.rangeLabelType,selectedItemsPerPage:b.selectedItemsPerPage,selectItemsPerPageOnEnter:b.selectItemsPerPageOnEnter,setToFirstPageOnPaginationChange:b.setToFirstPageOnPaginationChange,showGoToPageControl:b.showGoToPageControl,showItemsPerPageControl:b.showItemsPerPageControl,theme:L,totalItems:(t=r===null||r===void 0?void 0:r.length)!==null&&t!==void 0?t:0,type:b.type})),$&&e("div",{key:"a0de547f6b8267a032e1a3bf83f468d082809d6a",class:"screen-reader-sort-text","aria-live":"polite"},j!=="unsorted"&&O?`${((i=l.find((t=>t.key===O)))===null||i===void 0?void 0:i.title)||O} sorted ${j}`:"table unsorted")))}get el(){return l(this)}static get watchers(){return{columnHeaderTruncation:["headerTruncationChangeHandler"],columns:["columnsChangeHandler"],loading:["loadingHandler"],truncationPattern:["truncationPatternHandler"],data:["dataHandler"],density:["densityHandler"],globalRowHeight:["rowHeightChangeHandler"],variableRowHeight:["rowHeightChangeHandler"]}}};x.style=y;export{x as ic_data_table};
|
|
2
|
-
//# sourceMappingURL=p-9f76eed6.entry.js.map
|