@zanichelli/albe-web-components 19.1.2-RC2 → 19.1.2-RC4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/dist/cjs/z-app-header_12.cjs.entry.js +1 -1
  2. package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
  3. package/dist/cjs/z-book-card-app.cjs.entry.js +1 -1
  4. package/dist/cjs/z-book-card-app.cjs.entry.js.map +1 -1
  5. package/dist/cjs/z-book-card.cjs.entry.js +1 -1
  6. package/dist/cjs/z-book-card.cjs.entry.js.map +1 -1
  7. package/dist/cjs/z-select.cjs.entry.js +41 -75
  8. package/dist/cjs/z-select.cjs.entry.js.map +1 -1
  9. package/dist/collection/components/z-input-message/index.js +1 -1
  10. package/dist/collection/components/z-input-message/index.js.map +1 -1
  11. package/dist/collection/components/z-select/index.js +41 -75
  12. package/dist/collection/components/z-select/index.js.map +1 -1
  13. package/dist/collection/tokens/typography.css +2 -2
  14. package/dist/components/index13.js +1 -1
  15. package/dist/components/index13.js.map +1 -1
  16. package/dist/components/z-book-card-app.js +1 -1
  17. package/dist/components/z-book-card-app.js.map +1 -1
  18. package/dist/components/z-book-card.js +1 -1
  19. package/dist/components/z-book-card.js.map +1 -1
  20. package/dist/components/z-select.js +41 -75
  21. package/dist/components/z-select.js.map +1 -1
  22. package/dist/esm/z-app-header_12.entry.js +1 -1
  23. package/dist/esm/z-app-header_12.entry.js.map +1 -1
  24. package/dist/esm/z-book-card-app.entry.js +1 -1
  25. package/dist/esm/z-book-card-app.entry.js.map +1 -1
  26. package/dist/esm/z-book-card.entry.js +1 -1
  27. package/dist/esm/z-book-card.entry.js.map +1 -1
  28. package/dist/esm/z-select.entry.js +41 -75
  29. package/dist/esm/z-select.entry.js.map +1 -1
  30. package/dist/web-components-library/p-8d06bc1b.entry.js +2 -0
  31. package/dist/web-components-library/p-8d06bc1b.entry.js.map +1 -0
  32. package/{www/build/p-c4a411b5.entry.js → dist/web-components-library/p-9bb3b009.entry.js} +2 -2
  33. package/dist/web-components-library/p-9bb3b009.entry.js.map +1 -0
  34. package/dist/web-components-library/p-a0bfe6f8.entry.js +2 -0
  35. package/dist/web-components-library/p-a0bfe6f8.entry.js.map +1 -0
  36. package/dist/web-components-library/{p-c6995296.entry.js → p-d2548d12.entry.js} +2 -2
  37. package/dist/web-components-library/{p-c6995296.entry.js.map → p-d2548d12.entry.js.map} +1 -1
  38. package/dist/web-components-library/web-components-library.css +2 -2
  39. package/dist/web-components-library/web-components-library.esm.js +1 -1
  40. package/package.json +1 -1
  41. package/www/build/p-8d06bc1b.entry.js +2 -0
  42. package/www/build/p-8d06bc1b.entry.js.map +1 -0
  43. package/www/build/{p-ae04e5fb.js → p-961bc5a0.js} +1 -1
  44. package/{dist/web-components-library/p-c4a411b5.entry.js → www/build/p-9bb3b009.entry.js} +2 -2
  45. package/www/build/p-9bb3b009.entry.js.map +1 -0
  46. package/www/build/p-a0bfe6f8.entry.js +2 -0
  47. package/www/build/p-a0bfe6f8.entry.js.map +1 -0
  48. package/www/build/{p-b5b5dae5.css → p-bb61a89a.css} +2 -2
  49. package/www/build/{p-c6995296.entry.js → p-d2548d12.entry.js} +2 -2
  50. package/www/build/{p-c6995296.entry.js.map → p-d2548d12.entry.js.map} +1 -1
  51. package/www/build/web-components-library.css +2 -2
  52. package/www/build/web-components-library.esm.js +1 -1
  53. package/www/index.html +1 -1
  54. package/dist/web-components-library/p-1fd1cf02.entry.js +0 -2
  55. package/dist/web-components-library/p-1fd1cf02.entry.js.map +0 -1
  56. package/dist/web-components-library/p-2612e3a2.entry.js +0 -2
  57. package/dist/web-components-library/p-2612e3a2.entry.js.map +0 -1
  58. package/dist/web-components-library/p-c4a411b5.entry.js.map +0 -1
  59. package/www/build/p-1fd1cf02.entry.js +0 -2
  60. package/www/build/p-1fd1cf02.entry.js.map +0 -1
  61. package/www/build/p-2612e3a2.entry.js +0 -2
  62. package/www/build/p-2612e3a2.entry.js.map +0 -1
  63. package/www/build/p-c4a411b5.entry.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZSelectStyle0","ZSelect","constructor","hostRef","this","flattenedList","itemsList","itemIdKeyMap","resetKey","randomId","ControlSize","BIG","toggleSelectUl","bind","handleSelectFocus","watchItems","getInitialItemsArray","selectedItem","findSelectedItem","getFocusedItemHandler","e","focusedItemId","target","id","getSelectedItem","getValue","getSelectedValue","setValue","value","values","push","length","updateSelection","emitOptionSelect","optionSelect","emit","htmlid","selected","emitResetSelect","resetSelect","componentWillLoad","componentWillRender","filterItems","searchString","updateFlattenedList","items","JSON","parse","mapSelectedItemToItemsArray","initialItemsList","map","item","_a","getGroupedItems","Object","entries","reduce","group","category","orderedItems","hasGroupItems","flat","flattenTreeItems","forEach","key","prevList","hasTreeItems","filterTree","filter","name","toUpperCase","includes","getHighlightedText","matchingParent","match","newItem","assign","children","showChildrenOfMatchingParent","text","search","upperText","upperSearch","start","indexOf","end","substring","hasAutocomplete","boolean","autocomplete","handleInputChange","detail","isOpen","selectedId","found","selectItem","disabled","flatItems","index","flatten","subItems","disabledAncestor","itm","isDisabled","arrowsSelectNav","idOrReset","showResetIcon","resetItem","arrows","KeyboardCode","ARROW_DOWN","ARROW_UP","preventDefault","stopPropagation","f","unshift","currentIndex","findIndex","k","lastIndex","newIndex","focusSelectItem","host","querySelector","focus","selfFocusOnClose","readonly","document","addEventListener","removeEventListener","handleInputClick","closest","clickedElement","getClickedElement","hasAttribute","KeyboardEvent","ESC","ENTER","TAB","getElementTree","find","elem","nodeName","toLowerCase","scrollToLetter","letter","foundItem","charAt","renderInput","h","class","placeholder","replace","label","ariaLabel","icon","hasclearicon","message","status","undefined","role","size","onClick","onKeyUp","onKeyDown","current","onInputChange","onKeyPress","renderSelectUl","fixed","isfixed","tabindex","listSizeType","renderResetItem","renderSelectUlItems","hide","clickable","dividerType","ListDividerType","ELEMENT","ListSize","MEDIUM","onClickItem","renderItem","lastItem","thisItemKey","HEADER","innerHTML","NONE","SMALL","X_SMALL","renderNoSearchResults","renderGroupedTree","renderSelectGroupItems","array","isLastItem","parentHasSiblings","renderTreeItems","isLastChild","isTopLevel","hasDivider","_b","tabIndex","title","child","arr","groupedItems","some","groupItems","slot","i","style","zIndex","height","isLastGroup","subindex","noresultslabel","renderMessage","render"],"sources":["src/components/z-select/styles.css?tag=z-select&encapsulation=scoped","src/components/z-select/index.tsx"],"sourcesContent":[":host {\n display: inline-block;\n width: inherit;\n color: var(--color-form-default-text);\n font-family: var(--font-family-sans);\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n}\n\n:host([size=\"small\"]),\n:host([size=\"x-small\"]) {\n font-size: var(--font-size-2);\n}\n\n.select-wrapper > z-input {\n width: 100%;\n}\n\n.select-wrapper > z-input .input-icon {\n cursor: pointer;\n}\n\n.select-wrapper > div {\n position: relative;\n}\n\n.select-wrapper > div.closed {\n overflow: hidden;\n height: 0;\n}\n\n.select-wrapper .ul-scroll-wrapper {\n position: absolute;\n width: 100%;\n box-sizing: border-box;\n border-top: none;\n background: var(--color-form-background);\n box-shadow: var(--shadow-2);\n outline: none;\n}\n\n.select-wrapper .closed .ul-scroll-wrapper {\n z-index: 10;\n}\n\n.select-wrapper .open .ul-scroll-wrapper {\n z-index: 20;\n}\n\n.select-wrapper .ul-scroll-wrapper.fixed {\n position: static;\n}\n\n.select-wrapper z-list {\n --background-color-list-element: var(--color-form-background);\n --background-hover-color-list-element: var(--color-surface02);\n --background-active-color-list-element: var(--color-surface02);\n}\n\n.select-wrapper .ul-scroll-wrapper > z-list {\n position: relative;\n overflow: auto;\n max-height: 240px;\n padding: var(--space-unit) calc(var(--space-unit) * 1.5);\n margin: calc(var(--space-unit) * -1) 0;\n margin: 0;\n outline: none;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element[disabled] {\n color: var(--color-form-disabled03);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container {\n display: flex;\n align-items: center;\n padding: calc(var(--space-unit) / 2) var(--space-unit);\n column-gap: var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content {\n margin-right: auto;\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon + .list-element-content {\n padding: calc(var(--space-unit) * 0.5) var(--space-unit);\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n .list-element-content {\n padding: 0;\n}\n\n:host([size=\"small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 16px;\n --z-icon-height: 16px;\n}\n\n:host([size=\"x-small\"]) .select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container > z-icon {\n --z-icon-width: 14px;\n --z-icon-height: 14px;\n}\n\n:host([size=\"x-small\"])\n .select-wrapper\n .ul-scroll-wrapper\n z-list\n z-list-element\n .list-element-container\n > z-icon\n + .list-element-content {\n padding: 0 var(--space-unit);\n}\n\n.select-wrapper .ul-scroll-wrapper z-list z-list-element .list-element-container .list-element-content.selected {\n font-weight: var(--font-sb);\n}\n\n.select-wrapper .ul-scroll-wrapper .no-results z-icon {\n margin-right: var(--space-unit);\n}\n\n.z-list-group-title {\n color: var(--color-form-default-text);\n}\n\n.reset-item {\n color: var(--color-form-active-primary);\n fill: var(--color-form-active-primary);\n}\n\n.reset-item-content {\n display: flex;\n align-items: center;\n}\n\n.reset-item.reset-item-margin .reset-item-content {\n margin-left: var(--space-unit);\n}\n\n.reset-item .reset-item-content > z-icon {\n margin-right: var(--space-unit);\n}\n\n.reset-item.hide {\n display: none;\n}\n\n.tree-list-reset-item {\n padding: var(--space-unit) 0;\n}\n\nz-list-element {\n position: relative;\n display: block;\n}\n\nz-list z-list-element::before {\n position: absolute;\n z-index: 100;\n top: 3px;\n left: -8px;\n width: 8px;\n height: 1em;\n border-bottom: 1px solid var(--color-form-disabled01-icon);\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element::after {\n position: absolute;\n z-index: 100;\n top: 5px;\n left: -8px;\n width: 8px;\n height: 100%;\n border-left: 1px solid var(--color-form-disabled01-icon);\n content: \"\";\n cursor: pointer;\n}\n\nz-list z-list-element:last-child::after {\n display: none;\n}\n\nz-list > z-list-element::before,\nz-list > z-list-element::after,\nz-list > z-list-group > z-list-element::before,\nz-list > z-list-group > z-list-element::after {\n display: none;\n}\n\nz-list > div.children-node {\n padding-left: calc(var(--space-unit) * 2);\n}\n\nz-list-element > .list-element {\n display: flex;\n justify-content: space-between;\n padding: calc(var(--space-unit) * 1.5) var(--space-unit);\n cursor: pointer;\n}\n\nz-list-element > .list-element:focus:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\nz-list-element:not([disabled]) > .list-element:hover,\nz-list-element:not([disabled]) > .list-element:hover::after {\n background-color: var(--background-hover-color-list-element, var(--color-background));\n}\n\nz-list-element > .list-element .item.ellipsis {\n overflow: hidden;\n}\n\nz-list-element .list-element::after {\n position: absolute;\n top: 0;\n right: -1px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.tree-search-item {\n padding-top: 0;\n}\n\nz-list-element.tree-search-item .list-element::after {\n position: absolute;\n right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element.grouped-tree-parent-node .list-element::after {\n position: absolute;\n right: -25px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.item-label.selected {\n font-weight: bold;\n}\n\n.item.ellipsis {\n display: inline-block;\n overflow: hidden;\n max-width: 100%;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\nz-list > z-list-element.grouped-tree-parent-node > .list-element:hover::after,\nz-list-element.tree-search-item .list-element:hover::after,\nz-list > z-list-group > z-list-element.grouped-tree-parent-node > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n right: -18px;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\nz-list-element > .list-element:hover::after {\n position: absolute;\n z-index: -1;\n top: 0;\n right: 0;\n display: block;\n width: 100%;\n height: 45px;\n content: \"\";\n transform: translateX(-100%);\n}\n\n.children-node z-list-element::before,\n.children-node z-list-element::after {\n left: -8px;\n}\n\n.children-node .children-node z-list-element::before,\n.children-node .children-node z-list-element::after {\n left: -8px;\n}\n\n.children-node > z-list-element {\n padding: 0;\n}\n","import {Component, Element, Event, EventEmitter, Listen, Method, Prop, State, Watch, h} from \"@stencil/core\";\nimport {ControlSize, InputStatus, KeyboardCode, ListDividerType, ListSize, SelectItem} from \"../../beans\";\nimport {boolean, getClickedElement, getElementTree, randomId} from \"../../utils/utils\";\n\n@Component({\n tag: \"z-select\",\n styleUrl: \"styles.css\",\n shadow: false,\n scoped: true,\n})\nexport class ZSelect {\n @Element() host: HTMLZSelectElement;\n\n /** the id of the input element */\n @Prop()\n htmlid = `id-${randomId()}`;\n\n /** the input select options */\n @Prop()\n items: SelectItem[] | string;\n\n /** the input name */\n @Prop()\n name?: string;\n\n /** the input label */\n @Prop()\n label?: string;\n\n /** the input aria-label */\n @Prop()\n ariaLabel = \"\";\n\n /** the input is disabled */\n @Prop()\n disabled?: boolean = false;\n\n /** the input is readonly */\n @Prop()\n readonly?: boolean = false;\n\n /** the input placeholder (optional) */\n @Prop()\n placeholder?: string;\n\n /** the input html title (optional) */\n @Prop()\n htmltitle?: string;\n\n /** the input status (optional) */\n @Prop()\n status?: InputStatus;\n\n /** input helper message (optional) - if set to `false` message won't be displayed */\n @Prop()\n message?: string | boolean = true;\n\n /** the input has autocomplete option */\n @Prop()\n autocomplete?: boolean = false;\n\n /** no result text message */\n @Prop()\n noresultslabel?: string = \"Nessun risultato\";\n\n /** */\n @Prop()\n hasGroupItems?: boolean;\n\n /** */\n @Prop()\n hasTreeItems?: boolean;\n\n /** If true and an item matches the search string, children of matching item are shown even if they don't match the search string */\n @Prop()\n showChildrenOfMatchingParent?: boolean;\n\n /** When fixed, it occupies space and pushes down next elements. */\n @Prop()\n isfixed?: boolean = false;\n\n /** */\n @Prop()\n resetItem?: string;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n @State()\n isOpen = false;\n\n @State()\n selectedItem: null | SelectItem = null;\n\n @State()\n focusedItemId: string;\n\n @State()\n searchString: null | string;\n\n private flattenedList: {item: SelectItem; key: number}[] = [];\n\n private itemsList: SelectItem[] = [];\n\n private itemIdKeyMap: Record<string, number> = {};\n\n private readonly resetKey = -1;\n\n constructor() {\n this.toggleSelectUl = this.toggleSelectUl.bind(this);\n this.handleSelectFocus = this.handleSelectFocus.bind(this);\n }\n\n @Watch(\"items\")\n watchItems(): void {\n this.itemsList = this.getInitialItemsArray();\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n }\n\n @Listen(\"ariaDescendantFocus\")\n getFocusedItemHandler(e: CustomEvent): void {\n this.focusedItemId = (e.target as Element).id;\n }\n\n /** get the input selected options */\n @Method()\n async getSelectedItem(): Promise<SelectItem> {\n return this.selectedItem;\n }\n\n /** get the input value */\n @Method()\n async getValue(): Promise<string> {\n return this.getSelectedValue();\n }\n\n /** set the input value */\n @Method()\n async setValue(value: string | string[]): Promise<void> {\n let values: string[] = [];\n if (typeof value === \"string\") {\n values.push(value);\n } else {\n values = value;\n }\n\n this.itemsList = this.getInitialItemsArray();\n if (values.length) {\n this.updateSelection(this.itemsList, values[0]);\n }\n this.selectedItem = this.findSelectedItem(this.itemsList);\n }\n\n /** Emitted on select option selection, returns select id, selected item id */\n @Event()\n optionSelect: EventEmitter;\n\n private emitOptionSelect(): void {\n this.optionSelect.emit({\n id: this.htmlid,\n selected: this.getSelectedValue(),\n });\n }\n\n /** Emitted on reset selected item, returns select id, selected item id */\n @Event()\n resetSelect: EventEmitter;\n\n private emitResetSelect(): void {\n this.resetSelect.emit({\n id: this.htmlid,\n });\n }\n\n componentWillLoad(): void {\n this.watchItems();\n }\n\n componentWillRender(): void {\n this.filterItems(this.searchString);\n this.updateFlattenedList();\n }\n\n private getInitialItemsArray(): SelectItem[] {\n return typeof this.items === \"string\" ? JSON.parse(this.items) : this.items;\n }\n\n private mapSelectedItemToItemsArray(): SelectItem[] {\n const initialItemsList = this.getInitialItemsArray();\n\n return initialItemsList.map((item: SelectItem) => {\n item.selected = item.id === this.selectedItem?.id;\n\n return item;\n });\n }\n\n private getSelectedValue(): string {\n return this.selectedItem?.id;\n }\n\n private getGroupedItems(): [string, SelectItem[]][] {\n return Object.entries(\n this.itemsList.reduce(\n (group, item) => {\n const category = item.category || \"Altra categoria\";\n group[category] = group[category] || [];\n group[category].push(item);\n\n return group;\n },\n {} as Record<string, SelectItem[]>\n )\n );\n }\n\n private updateFlattenedList(): void {\n let orderedItems = this.itemsList;\n if (this.hasGroupItems) {\n orderedItems = this.getGroupedItems()\n .map((item) => item[1])\n .flat();\n }\n\n this.flattenedList = this.flattenTreeItems(orderedItems);\n this.itemIdKeyMap = {};\n this.flattenedList.forEach(({item, key}) => {\n this.itemIdKeyMap[item.id] = key;\n });\n }\n\n private filterItems(searchString: string): void {\n const prevList = this.mapSelectedItemToItemsArray();\n\n if (!searchString?.length) {\n this.itemsList = prevList;\n\n return;\n }\n\n if (this.hasTreeItems) {\n this.itemsList = this.filterTree(prevList, searchString, false);\n } else {\n this.itemsList = prevList\n .filter((item: SelectItem) => item.name.toUpperCase().includes(searchString.toUpperCase()))\n .map((item: SelectItem) => {\n item.name = this.getHighlightedText(item.name, searchString);\n\n return item;\n });\n }\n }\n\n private filterTree(items: SelectItem[], searchString: string, matchingParent: boolean): SelectItem[] {\n if (!items) {\n return [];\n }\n\n return items\n .map((item) => {\n const match = item.name.toUpperCase().includes(searchString.toUpperCase());\n\n const newItem: SelectItem = {...item};\n if (newItem.children && newItem.children.length > 0) {\n newItem.children = this.filterTree(newItem.children, searchString, match);\n }\n\n if (match) {\n newItem.name = this.getHighlightedText(newItem.name, searchString);\n }\n if (\n match ||\n (newItem.children && newItem.children.length > 0) ||\n (this.showChildrenOfMatchingParent && matchingParent)\n ) {\n return newItem;\n }\n\n return null;\n })\n .filter((item) => item !== null) as SelectItem[];\n }\n\n private getHighlightedText(text: string, search: string): string {\n const upperText = text.toUpperCase();\n const upperSearch = search.toUpperCase();\n const start = upperText.indexOf(upperSearch);\n\n if (start === -1) {\n return text;\n }\n\n const end = start + search.length;\n\n return text.substring(0, start) + `<strong>${text.substring(start, end)}</strong>` + text.substring(end);\n }\n\n private hasAutocomplete(): boolean {\n return boolean(this.autocomplete) === true;\n }\n\n private handleInputChange(e: CustomEvent): void {\n this.searchString = e.detail.value;\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n\n private updateSelection(items: SelectItem[], selectedId: string): void {\n if (items) {\n items.forEach((item) => {\n item.selected = item.id === selectedId;\n if (item.children && item.children.length > 0) {\n this.updateSelection(item.children, selectedId);\n }\n });\n }\n }\n\n private findSelectedItem(items: SelectItem[]): SelectItem | null {\n if (items) {\n for (const item of items) {\n if (item.selected) {\n return item;\n }\n if (item.children && item.children.length > 0) {\n const found = this.findSelectedItem(item.children);\n if (found) {\n return found;\n }\n }\n }\n }\n\n return null;\n }\n\n private selectItem(selected: null | SelectItem): void {\n if (selected?.disabled) {\n return;\n }\n\n this.itemsList = this.getInitialItemsArray();\n\n if (selected) {\n this.updateSelection(this.itemsList, selected.id);\n }\n\n this.selectedItem = this.findSelectedItem(this.itemsList);\n this.emitOptionSelect();\n this.toggleSelectUl();\n if (this.searchString) {\n this.searchString = null;\n }\n }\n\n private flattenTreeItems(items: SelectItem[]): {item: SelectItem; key: number}[] {\n const flatItems: {item: SelectItem; key: number}[] = [];\n let index = 0;\n\n const flatten = (subItems: SelectItem[], disabledAncestor?: boolean): void => {\n subItems.forEach((itm) => {\n const isDisabled = itm.disabled || disabledAncestor;\n flatItems.push({item: {...itm, disabled: isDisabled}, key: index++});\n if (itm.children && itm.children.length > 0) {\n flatten(itm.children, isDisabled);\n }\n });\n };\n\n if (items) {\n flatten(items);\n }\n\n return flatItems;\n }\n\n private arrowsSelectNav(e: KeyboardEvent, idOrReset: string | number): void {\n const showResetIcon = this.resetItem && !!this.selectedItem;\n const arrows = [KeyboardCode.ARROW_DOWN, KeyboardCode.ARROW_UP];\n\n if (!arrows.includes(e.key as KeyboardCode)) {\n return;\n }\n\n e.preventDefault();\n e.stopPropagation();\n\n const flatItems = [...this.flattenedList].filter((f) => !f.item.disabled);\n\n if (this.resetItem && showResetIcon) {\n flatItems.unshift({\n item: {id: \"__RESET_ITEM__\"} as SelectItem,\n key: this.resetKey,\n });\n }\n\n if (!flatItems.length) {\n return;\n }\n\n let currentIndex: number;\n if (typeof idOrReset === \"number\") {\n currentIndex = flatItems.findIndex((f) => f.key === idOrReset);\n } else {\n const k = this.itemIdKeyMap[idOrReset];\n currentIndex = flatItems.findIndex((f) => f.key === k);\n }\n\n if (!this.isOpen) {\n this.toggleSelectUl();\n\n if (currentIndex === -1) {\n currentIndex = -1;\n }\n }\n\n const lastIndex = flatItems.length - 1;\n\n let newIndex = currentIndex;\n\n if (e.key === KeyboardCode.ARROW_DOWN) {\n do {\n newIndex = newIndex === lastIndex ? 0 : newIndex + 1;\n } while (flatItems[newIndex].item.disabled);\n } else {\n do {\n newIndex = newIndex <= 0 ? lastIndex : newIndex - 1;\n } while (flatItems[newIndex].item.disabled);\n }\n\n this.focusSelectItem(flatItems[newIndex].key);\n }\n\n private focusSelectItem(key: number): void {\n this.host.querySelector<HTMLDivElement>(`#${this.htmlid}_key_${key}`)?.focus();\n }\n\n private toggleSelectUl(selfFocusOnClose = false): void {\n if (this.disabled || this.readonly) {\n return;\n }\n\n if (!this.isOpen) {\n document.addEventListener(\"click\", this.handleSelectFocus);\n document.addEventListener(\"keyup\", this.handleSelectFocus);\n } else {\n document.removeEventListener(\"click\", this.handleSelectFocus);\n document.removeEventListener(\"keyup\", this.handleSelectFocus);\n if (selfFocusOnClose) {\n (this.host.querySelector(`#${this.htmlid}_select_input`) as HTMLInputElement)?.focus();\n }\n\n if (this.selectedItem && this.searchString) {\n this.searchString = null;\n this.filterItems(this.searchString);\n }\n }\n\n this.focusedItemId = \"\";\n this.isOpen = !this.isOpen;\n }\n\n private handleInputClick(e: MouseEvent | KeyboardEvent): void {\n if ((e.target as HTMLElement).closest(\".reset-icon\")) {\n e.stopPropagation();\n\n return;\n }\n\n this.toggleSelectUl();\n }\n\n private handleSelectFocus(e: MouseEvent | KeyboardEvent): void {\n const clickedElement = getClickedElement();\n if (clickedElement?.hasAttribute(\"disabled\")) {\n return;\n }\n\n if (e instanceof KeyboardEvent && e.key === KeyboardCode.ESC) {\n e.stopPropagation();\n\n return this.toggleSelectUl(true);\n }\n\n if (e instanceof KeyboardEvent && (e.key === KeyboardCode.ENTER || e.key !== KeyboardCode.TAB)) {\n return;\n }\n\n if (\n !getElementTree(clickedElement).find(\n (elem: HTMLElement) => elem.nodeName.toLowerCase() === \"z-input\" && elem.id === `${this.htmlid}_input`\n )\n ) {\n this.toggleSelectUl(true);\n }\n }\n\n private scrollToLetter(letter: string): void {\n const foundItem = this.itemsList.findIndex(\n (item: SelectItem) => item.name.toLowerCase().charAt(0) === letter.toLowerCase()\n );\n if (foundItem > -1) {\n this.focusSelectItem(this.itemIdKeyMap[this.itemsList[foundItem].id]);\n }\n }\n\n private renderInput(): HTMLZInputElement {\n return (\n <z-input\n class={{\n \"active-select\": this.isOpen,\n \"cursor-select\": !this.autocomplete,\n }}\n id={`${this.htmlid}_input`}\n htmlid={`${this.htmlid}_select_input`}\n placeholder={this.placeholder}\n value={!this.isOpen && this.selectedItem ? this.selectedItem.name.replace(/<[^>]+>/g, \"\") : null}\n label={this.label}\n autocomplete=\"off\"\n aria-label={this.ariaLabel}\n html-aria-expanded={this.isOpen ? \"true\" : \"false\"}\n html-aria-controls={`${this.htmlid}_list`}\n html-aria-autocomplete={this.hasAutocomplete() ? \"list\" : \"none\"}\n html-aria-activedescendant={this.isOpen ? this.focusedItemId : \"\"}\n icon={this.isOpen ? \"caret-up\" : \"caret-down\"}\n hasclearicon={false}\n message={false}\n name={this.name}\n disabled={this.disabled}\n readonly={this.readonly || (!this.hasAutocomplete() && this.isOpen)}\n status={this.isOpen ? undefined : this.status}\n role=\"combobox\"\n size={this.size}\n onClick={(e: MouseEvent) => {\n this.handleInputClick(e);\n }}\n onKeyUp={(e: KeyboardEvent) => {\n e.preventDefault();\n if (this.hasAutocomplete()) {\n if (!this.isOpen) {\n this.toggleSelectUl();\n }\n }\n }}\n onKeyDown={(e: KeyboardEvent) => {\n const current = this.selectedItem\n ? this.itemIdKeyMap[this.selectedItem.id]\n : this.resetItem\n ? this.resetKey\n : \"\";\n\n return this.arrowsSelectNav(e, current);\n }}\n onInputChange={(e: CustomEvent) => {\n this.handleInputChange(e);\n }}\n onKeyPress={(e: KeyboardEvent) => {\n if (!this.hasAutocomplete()) {\n e.preventDefault();\n this.scrollToLetter(e.key);\n }\n }}\n />\n );\n }\n\n private renderSelectUl(): HTMLDivElement {\n return (\n <div class={this.isOpen ? \"open\" : \"closed\"}>\n <div\n class={{\n \"ul-scroll-wrapper\": true,\n \"fixed\": this.isfixed,\n }}\n >\n <z-list\n role=\"listbox\"\n aria-label={this.ariaLabel || this.label}\n tabindex={this.disabled || this.readonly || !this.isOpen ? -1 : 0}\n id={`${this.htmlid}_list`}\n aria-multiselectable={false}\n size={this.listSizeType()}\n class={{\n \"disabled\": this.disabled,\n \"readonly\": this.readonly,\n [`input-${this.status}`]: !this.isOpen && !!this.status,\n \"z-scrollbar\": true,\n }}\n >\n {this.resetItem && this.renderResetItem()}\n {this.renderSelectUlItems()}\n </z-list>\n </div>\n </div>\n );\n }\n\n private renderResetItem(): HTMLZListElementElement {\n return (\n <z-list-element\n class={{\n \"hide\": !this.selectedItem || !this.resetItem,\n \"reset-item\": true,\n \"reset-item-margin\": !this.hasGroupItems,\n }}\n clickable={true}\n disabled={false}\n dividerType={ListDividerType.ELEMENT}\n role=\"option\"\n html-tabindex={0}\n aria-selected=\"false\"\n id={`${this.htmlid}_key_${this.resetKey}`}\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n onClickItem={() => {\n this.selectedItem = null;\n this.searchString = null;\n this.emitResetSelect();\n }}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, this.resetKey)}\n >\n <div\n class={{\n \"reset-item-content\": true,\n \"tree-list-reset-item\": this.hasTreeItems,\n }}\n >\n <z-icon name=\"multiply-circled\" />\n <span>{this.resetItem}</span>\n </div>\n </z-list-element>\n );\n }\n\n private renderItem(item: SelectItem, lastItem: boolean): HTMLZListElementElement {\n const thisItemKey = this.itemIdKeyMap[item.id];\n\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={item.disabled}\n dividerType={lastItem ? ListDividerType.HEADER : ListDividerType.ELEMENT}\n role=\"option\"\n html-tabindex={item.disabled || !this.isOpen ? -1 : 0}\n aria-selected={item.selected ? \"true\" : \"false\"}\n id={`${this.htmlid}_key_${thisItemKey}`}\n size={this.listSizeType()}\n onClickItem={() => this.selectItem(item)}\n onKeyDown={(e: KeyboardEvent) => this.arrowsSelectNav(e, thisItemKey)}\n >\n <div class=\"list-element-container\">\n <div\n class={{\n \"selected\": !!item.selected,\n \"list-element-content\": true,\n }}\n innerHTML={item.name}\n />\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n </z-list-element>\n );\n }\n\n private listSizeType(): ListSize {\n if (this.hasTreeItems) {\n return ListSize.NONE;\n }\n\n if (this.size === ControlSize.SMALL || this.size === ControlSize.X_SMALL) {\n return ListSize.SMALL;\n }\n\n return ListSize.MEDIUM;\n }\n\n private renderSelectUlItems():\n | HTMLZListElementElement\n | (HTMLZListElementElement | HTMLZListElementElement[])[]\n | HTMLZListGroupElement[] {\n if (!this.itemsList.length) {\n return this.renderNoSearchResults();\n }\n\n if (this.hasGroupItems) {\n if (this.hasTreeItems) {\n return this.renderGroupedTree();\n }\n\n return this.renderSelectGroupItems();\n }\n\n return this.itemsList.map((item: SelectItem, index, array) => {\n const isLastItem = index === array.length - 1;\n const parentHasSiblings = array.length > 1;\n\n if (this.hasTreeItems) {\n return this.renderTreeItems(item, isLastItem, parentHasSiblings, true, item.disabled);\n }\n\n return this.renderItem(item, isLastItem);\n });\n }\n\n private renderTreeItems(\n item: SelectItem,\n isLastChild: boolean,\n parentHasSiblings: boolean,\n isTopLevel?: boolean,\n disabledAncestor?: boolean\n ): HTMLZListElementElement[] {\n const thisItemKey = this.itemIdKeyMap[item.id];\n const isDisabled = item.disabled || disabledAncestor;\n\n const hasDivider = this.hasGroupItems\n ? undefined\n : this.hasGroupItems\n ? isLastChild && !parentHasSiblings\n ? ListDividerType.ELEMENT\n : undefined\n : isTopLevel && parentHasSiblings && !isLastChild\n ? ListDividerType.ELEMENT\n : undefined;\n\n return (\n <z-list-element\n clickable={!item.disabled}\n disabled={isDisabled}\n class={{\n \"grouped-tree-parent-node\": this.hasGroupItems && !!item.children?.length,\n \"tree-search-item\": this.hasGroupItems && isTopLevel && !item.children?.length && !!this.searchString,\n }}\n size={this.listSizeType()}\n dividerType={hasDivider}\n hasTreeItems={this.hasTreeItems}\n html-tabindex={null}\n >\n <div\n id={`${this.htmlid}_key_${thisItemKey}`}\n role=\"option\"\n class=\"list-element\"\n tabIndex={!this.isOpen || isDisabled ? -1 : 0}\n onClick={() => this.selectItem(item)}\n onKeyDown={(e: KeyboardEvent) => {\n this.arrowsSelectNav(e, thisItemKey);\n if (e.key === KeyboardCode.ENTER) {\n this.selectItem(item);\n }\n }}\n >\n <span class=\"item ellipsis\">\n <span\n class={{\n \"item-label\": true,\n \"selected\": !!item.selected,\n }}\n title={item.name}\n innerHTML={item.selected ? `<strong>${item.name}</strong>` : item.name}\n />\n </span>\n {item.icon && <z-tag icon={item.icon}></z-tag>}\n </div>\n {item.children && item.children.length > 0 ? (\n <z-list>\n <div class=\"children-node\">\n {item.children.map((child, index, arr) =>\n this.renderTreeItems(\n child,\n index === arr.length - 1,\n arr.length > 1,\n false, // isTopLevel = false for children\n isDisabled\n )\n )}\n </div>\n </z-list>\n ) : null}\n </z-list-element>\n );\n }\n\n private renderGroupedTree(): HTMLZListGroupElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([category, items], index, entries) => {\n const parentHasSiblings = Object.values(groupedItems).some((groupItems) => groupItems.length > 1);\n // const parentHasSiblings = items.length > 1;\n\n return (\n <z-list-group\n divider-type={index === entries.length - 1 ? undefined : ListDividerType.ELEMENT}\n hasTreeItems={true}\n >\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {category}\n </span>\n <z-list>\n {items.map((item, i, arr) => [\n this.renderTreeItems(item, i === arr.length - 1, parentHasSiblings, true, item.disabled),\n i < arr.length - 1 ? (\n <z-divider\n key={`divider-${i}`}\n style={{zIndex: \"100\", height: \"var(--border-size-small)\"}}\n />\n ) : null,\n ])}\n </z-list>\n {index !== entries.length - 1 && <z-divider style={{zIndex: \"100\", height: \"var(--border-size-small)\"}} />}\n </z-list-group>\n );\n });\n }\n\n private renderSelectGroupItems(): HTMLZListElementElement[] {\n const groupedItems = this.getGroupedItems();\n\n return groupedItems.map(([key, items], index) => {\n const isLastGroup = groupedItems.length === index + 1;\n\n return (\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n <span\n class=\"body-3-sb z-list-group-title\"\n slot=\"header-title\"\n >\n {key}\n </span>\n {items.map((item, subindex) => {\n const isLastItem = items.length === subindex + 1;\n\n return this.renderItem(item, isLastGroup && isLastItem);\n })}\n </z-list-group>\n );\n });\n }\n\n private renderNoSearchResults(): HTMLZListElementElement {\n return (\n <z-list-element\n class=\"no-results\"\n size={this.hasTreeItems ? ListSize.MEDIUM : this.listSizeType()}\n html-tabindex={null}\n >\n {this.noresultslabel}\n </z-list-element>\n );\n }\n\n private renderMessage(): HTMLZInputMessageElement {\n if (boolean(this.message) === false) {\n return;\n }\n\n return (\n <z-input-message\n message={boolean(this.message) === true ? undefined : (this.message as string)}\n status={this.status}\n class={this.size}\n disabled={this.disabled}\n />\n );\n }\n\n render(): HTMLDivElement {\n return (\n <div class=\"select-wrapper\">\n {this.renderInput()}\n {this.renderSelectUl()}\n {this.renderMessage()}\n </div>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as t,c as e,h as i,g as n}from"./p-75c4a726.js";import{e as o,H as a}from"./p-17af7fb2.js";const l=":host{display:block;width:inherit;min-width:300px;height:inherit;min-height:32px;background-color:var(--color-surface01)}:host>div{display:flex;width:100%;height:100%;box-sizing:border-box;align-items:center;justify-content:space-between;padding:var(--z-book-card-app-padding-y, calc(var(--space-unit) * 1.5))\n var(--z-book-card-app-padding-x, var(--space-unit));gap:calc(var(--space-unit) * 2)}:host>div .app{display:flex;flex:1;align-items:center;gap:var(--space-unit)}:host>div .app.z-link{color:inherit;text-decoration:none}:host>div .app.z-link:focus{text-decoration:none}:host>div .app img{width:1.5rem;height:1.5rem;min-height:32px}:host>div .app .name{display:-webkit-box;overflow:hidden;height:1.4rem;-webkit-box-orient:vertical;font-family:var(--font-family-serif);-webkit-line-clamp:1;line-clamp:1;text-overflow:ellipsis;word-break:break-all}:host>div .app .name .laz{color:var(--red500)}:host>div z-info-reveal{--z-info-reveal-panel-width:250px;--trigger-icon-size-x-small:1rem;font-family:var(--font-family-sans);--color-surface05:var(--color-surface01);--color-text-inverse:var(--color-default-text);--color-inverse-icon:var(--color-primary01)}:host z-icon{--z-icon-width:1rem;--z-icon-height:1rem}";const s=l;const r="button.z-link{padding:0;border:0;margin:0;background-color:transparent}a.z-link,button.z-link{display:inline-flex;cursor:pointer;font-family:var(--font-family-sans);line-height:inherit;text-decoration:none}a.z-link.z-link-icon,button.z-link.z-link-icon{--z-icon-width:1.125em;--z-icon-height:1.125em;align-items:center;column-gap:0.5em}a.z-link.z-link-sb,button.z-link.z-link-sb{font-weight:var(--font-sb)}a.z-link.z-link-underline,button.z-link.z-link-underline{text-decoration:underline}a.z-link:hover,button.z-link:hover,a.z-link:focus-visible,button.z-link:focus-visible,a.z-link:active,button.z-link:active{text-decoration:underline}a.z-link:focus-visible,button.z-link:focus-visible{box-shadow:var(--shadow-focus-primary);outline:none}a.z-link.z-link-disabled,button.z-link.z-link-disabled{box-shadow:none;color:var(--color-disabled03);cursor:default;fill:var(--color-disabled03);outline:none;pointer-events:none;text-decoration:none}a.z-link,button.z-link,a.z-link.z-link-active,button.z-link.z-link-active,a.z-link:hover,button.z-link:hover,a.z-link.z-link-active:hover,button.z-link.z-link-active:hover,a.z-link:focus-visible,button.z-link:focus-visible,a.z-link.z-link-active:focus-visible,button.z-link.z-link-active:focus-visible,a.z-link:active,button.z-link:active,a.z-link.z-link-active:active,button.z-link.z-link-active:active,a.z-link:visited,button.z-link:visited,a.z-link.z-link-active:visited,button.z-link.z-link-active:visited{color:var(--color-text-link-default);fill:var(--color-text-link-default)}a.z-link.z-link-blue,button.z-link.z-link-blue,a.z-link.z-link-blue.z-link-active,button.z-link.z-link-blue.z-link-active{color:var(--color-text-link-blue);fill:var(--color-text-link-blue)}a.z-link.z-link-red,button.z-link.z-link-red,a.z-link.z-link-red.z-link-active,button.z-link.z-link-red.z-link-active{color:var(--color-text-link-red);fill:var(--color-text-link-red)}a.z-link.z-link-inverse,button.z-link.z-link-inverse,a.z-link.z-link-inverse.z-link-active,button.z-link.z-link-inverse.z-link-active{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}a.z-link.z-link-blue:hover,button.z-link.z-link-blue:hover{color:var(--color-text-link-blue-hover);fill:var(--color-text-link-blue-hover)}a.z-link.z-link-red:hover,button.z-link.z-link-red:hover{color:var(--color-text-link-red-hover);fill:var(--color-text-link-red-hover)}a.z-link.z-link-inverse:hover,button.z-link.z-link-inverse:hover{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}a.z-link.z-link-blue:active,button.z-link.z-link-blue:active,a.z-link.z-link-blue:focus-visible,button.z-link.z-link-blue:focus-visible{color:var(--color-text-link-blue-active);fill:var(--color-text-link-blue-active)}a.z-link.z-link-red:active,button.z-link.z-link-red:active,a.z-link.z-link-red:focus-visible,button.z-link.z-link-red:focus-visible{color:var(--color-text-link-red-active);fill:var(--color-text-link-red-active)}a.z-link.z-link-inverse:active,button.z-link.z-link-inverse:active,a.z-link.z-link-inverse:focus-visible,button.z-link.z-link-inverse:focus-visible{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}a.z-link.z-link-blue:visited,button.z-link.z-link-blue:visited{color:var(--color-text-link-blue-visited);fill:var(--color-text-link-blue-visited)}a.z-link.z-link-red:visited,button.z-link.z-link-red:visited{color:var(--color-text-link-red-visited);fill:var(--color-text-link-red-visited)}a.z-link.z-link-inverse:visited,button.z-link.z-link-inverse:visited{color:var(--color-text-link-inverse);fill:var(--color-text-link-inverse)}";const f=r;const b=':root{--font-family-sans:"IBM Plex Sans", sans-serif;--font-family-serif:"IBM Plex Serif", serif;--font-lt:300;--font-rg:400;--font-sb:600;--font-bd:700;--font-size-1:0.75rem;--font-size-2:0.875rem;--font-size-3:1rem;--font-size-4:1.125rem;--font-size-5:1.25rem;--font-size-6:1.5rem;--font-size-7:1.75rem;--font-size-8:2rem;--font-size-9:2.25rem;--font-size-10:2.625rem;--font-size-11:3rem;--font-size-12:3.375rem;--font-size-13:3.75rem;--font-size-14:4.25rem;--font-size-15:4.75rem;--font-size-16:5.25rem;--font-size-17:5.75rem;--section-title-1:var(--font-sb) var(--font-size-11) / 0.9166 var(--font-family-serif);--section-title-2:var(--font-sb) var(--font-size-10) / 1.1904 var(--font-family-serif);--section-title-3:var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);--section-title-4:var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);--section-title-5:var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);--section-title-6:var(--font-sb) var(--font-size-6) / 1.333 var(--font-family-serif)}.heading-1,.heading-1-sb,.heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.heading-2,.heading-2-sb,.heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.heading-3,.heading-3-sb,.heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.heading-4,.heading-4-sb,.heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.body-1,.body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.body-2,.body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.body-3,.body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.body-4,.body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.body-5,.body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.interactive-1,.interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.interactive-2,.interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.interactive-3,.interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.helper,.helper-sb{font-size:var(--font-size-1);font-style:italic;font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.section-title-1{font:var(--section-title-1)}.section-title-2{font:var(--section-title-2)}.section-title-3{font:var(--section-title-3)}.section-title-4{font:var(--section-title-4)}.section-title-5{font:var(--section-title-5)}.section-title-6{font:var(--section-title-6)}@media (min-width: 1152px){.heading-1,.heading-1-sb,.heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.heading-2,.heading-2-sb,.heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}}@media (max-width: 767px){.mobile-heading-1,.mobile-heading-1-sb,.mobile-heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.mobile-heading-2,.mobile-heading-2-sb,.mobile-heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.mobile-heading-3,.mobile-heading-3-sb,.mobile-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.mobile-heading-4,.mobile-heading-4-sb,.mobile-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.mobile-body-1,.mobile-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.mobile-body-2,.mobile-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.mobile-body-3,.mobile-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.mobile-body-4,.mobile-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.mobile-body-5,.mobile-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.mobile-interactive-1,.mobile-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.mobile-interactive-2,.mobile-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.mobile-interactive-3,.mobile-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.mobile-section-title-1{font:var(--section-title-1)}.mobile-section-title-2{font:var(--section-title-2)}.mobile-section-title-3{font:var(--section-title-3)}.mobile-section-title-4{font:var(--section-title-4)}.mobile-section-title-5{font:var(--section-title-5)}.mobile-section-title-6{font:var(--section-title-6)}.mobile-heading-1-lt,.mobile-heading-2-lt,.mobile-heading-3-lt,.mobile-heading-4-lt{font-weight:var(--font-lt)}.mobile-heading-1-sb,.mobile-heading-2-sb,.mobile-heading-3-sb,.mobile-heading-4-sb,.mobile-body-1-sb,.mobile-body-2-sb,.mobile-body-3-sb,.mobile-body-4-sb,.mobile-body-5-sb,.mobile-interactive-1-sb,.mobile-interactive-2-sb,.mobile-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 768px) and (max-width: 1151px){.tablet-heading-1,.tablet-heading-1-sb,.tablet-heading-1-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.tablet-heading-2,.tablet-heading-2-sb,.tablet-heading-2-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.tablet-heading-3,.tablet-heading-3-sb,.tablet-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.tablet-heading-4,.tablet-heading-4-sb,.tablet-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.tablet-body-1,.tablet-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.tablet-body-2,.tablet-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.tablet-body-3,.tablet-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.tablet-body-4,.tablet-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.tablet-body-5,.tablet-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.tablet-interactive-1,.tablet-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.tablet-interactive-2,.tablet-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.tablet-interactive-3,.tablet-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.tablet-section-title-1{font:var(--section-title-1)}.tablet-section-title-2{font:var(--section-title-2)}.tablet-section-title-3{font:var(--section-title-3)}.tablet-section-title-4{font:var(--section-title-4)}.tablet-section-title-5{font:var(--section-title-5)}.tablet-section-title-6{font:var(--section-title-6)}.tablet-heading-1-lt,.tablet-heading-2-lt,.tablet-heading-3-lt,.tablet-heading-4-lt{font-weight:var(--font-lt)}.tablet-heading-1-sb,.tablet-heading-2-sb,.tablet-heading-3-sb,.tablet-heading-4-sb,.tablet-body-1-sb,.tablet-body-2-sb,.tablet-body-3-sb,.tablet-body-4-sb,.tablet-body-5-sb,.tablet-interactive-1-sb,.tablet-interactive-2-sb,.tablet-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 1152px) and (max-width: 1365px){.desktop-heading-1,.desktop-heading-1-sb,.desktop-heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.desktop-heading-2,.desktop-heading-2-sb,.desktop-heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.desktop-heading-3,.desktop-heading-3-sb,.desktop-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.desktop-heading-4,.desktop-heading-4-sb,.desktop-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.desktop-body-1,.desktop-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.desktop-body-2,.desktop-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.desktop-body-3,.desktop-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.desktop-body-4,.desktop-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.desktop-body-5,.desktop-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.desktop-interactive-1,.desktop-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.desktop-interactive-2,.desktop-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.desktop-interactive-3,.desktop-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.desktop-section-title-1{font:var(--section-title-1)}.desktop-section-title-2{font:var(--section-title-2)}.desktop-section-title-3{font:var(--section-title-3)}.desktop-section-title-4{font:var(--section-title-4)}.desktop-section-title-5{font:var(--section-title-5)}.desktop-section-title-6{font:var(--section-title-6)}.desktop-heading-1-lt,.desktop-heading-2-lt,.desktop-heading-3-lt,.desktop-heading-4-lt{font-weight:var(--font-lt)}.desktop-heading-1-sb,.desktop-heading-2-sb,.desktop-heading-3-sb,.desktop-heading-4-sb,.desktop-body-1-sb,.desktop-body-2-sb,.desktop-body-3-sb,.desktop-body-4-sb,.desktop-body-5-sb,.desktop-interactive-1-sb,.desktop-interactive-2-sb,.desktop-interactive-3-sb{font-weight:var(--font-sb)}}@media (min-width: 1366px){.wide-heading-1,.wide-heading-1-sb,.wide-heading-1-lt{font-size:var(--font-size-8);font-weight:var(--font-rg);line-height:1.25}.wide-heading-2,.wide-heading-2-sb,.wide-heading-2-lt{font-size:var(--font-size-7);font-weight:var(--font-rg);line-height:1.28}.wide-heading-3,.wide-heading-3-sb,.wide-heading-3-lt{font-size:var(--font-size-6);font-weight:var(--font-rg);line-height:1.333}.wide-heading-4,.wide-heading-4-sb,.wide-heading-4-lt{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.wide-body-1,.wide-body-1-sb{font-size:var(--font-size-5);font-weight:var(--font-rg);line-height:1.4}.wide-body-2,.wide-body-2-sb{font-size:var(--font-size-4);font-weight:var(--font-rg);line-height:1.5}.wide-body-3,.wide-body-3-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.wide-body-4,.wide-body-4-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.wide-body-5,.wide-body-5-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.wide-interactive-1,.wide-interactive-1-sb{font-size:var(--font-size-3);font-weight:var(--font-rg);line-height:1.5}.wide-interactive-2,.wide-interactive-2-sb{font-size:var(--font-size-2);font-weight:var(--font-rg);letter-spacing:0.16px;line-height:1.4}.wide-interactive-3,.wide-interactive-3-sb{font-size:var(--font-size-1);font-weight:var(--font-rg);letter-spacing:0.32px;line-height:1.333}.wide-section-title-1{font:var(--section-title-1)}.wide-section-title-2{font:var(--section-title-2)}.wide-section-title-3{font:var(--section-title-3)}.wide-section-title-4{font:var(--section-title-4)}.wide-section-title-5{font:var(--section-title-5)}.wide-section-title-6{font:var(--section-title-6)}.wide-heading-1-lt,.wide-heading-2-lt,.wide-heading-3-lt,.wide-heading-4-lt{font-weight:var(--font-lt)}.wide-heading-1-sb,.wide-heading-2-sb,.wide-heading-3-sb,.wide-heading-4-sb,.wide-body-1-sb,.wide-body-2-sb,.wide-body-3-sb,.wide-body-4-sb,.wide-body-5-sb,.wide-interactive-1-sb,.wide-interactive-2-sb,.wide-interactive-3-sb{font-weight:var(--font-sb)}}.heading-1-lt,.heading-2-lt,.heading-3-lt,.heading-4-lt{font-weight:var(--font-lt)}.heading-1-sb,.heading-2-sb,.heading-3-sb,.heading-4-sb,.body-1-sb,.body-2-sb,.body-3-sb,.body-4-sb,.body-5-sb,.interactive-1-sb,.interactive-2-sb,.interactive-3-sb,.helper-sb{font-weight:var(--font-sb)}';const d=b;const h=class{constructor(i){t(this,i);this.appClick=e(this,"appClick",7);this.logo=undefined;this.name=undefined;this.link=undefined;this.laz=true;this.info=undefined}emitAppClick(){this.appClick.emit()}renderLaz(){if(this.laz){return i("span",{class:"laz"},"laZ ")}return null}render(){return i("div",{key:"a6e90497110df5b731c4b71ab7c0c377fc3c5532"},i("a",{key:"50ba4a41e2f0bd50b78989b60e8f1a4dfe68ef2c",class:"app z-link",href:this.link,"aria-label":`vai a ${this.laz?"laz":""} ${this.name}`,onClick:()=>this.emitAppClick(),target:"_blank"},this.logo&&i("img",{key:"4c743902416ff0d2822ba9f8689bcf0eceb87b44",src:this.logo,alt:""}),i("div",{key:"c0e84f7a7d964c7bf6c437338ed074c2e02b1112",class:"name body-4-sb"},this.renderLaz(),this.name)),this.info&&i("z-info-reveal",{key:"722c3d99a3865573528739b9ed51b7bfd0a425d6",icon:"info",size:o.X_SMALL,position:a.TOP_RIGHT,class:"info body-5"},i("div",{key:"14a00ee6607d044a04054fc2cdffafe8f76098a2"},this.info)),i("a",{key:"d145887f5110de5c654833a1b4f9bdf3a99a6fef",class:"z-link z-link-icon",href:this.link,"aria-label":`vai a ${this.laz?"laz":""} ${this.name}`,onClick:()=>this.emitAppClick(),target:"_blank"},i("z-icon",{key:"bf032d04ef2a5cfbfbe66133b3b9598df3d3a6c3",name:"chevron-right",fill:"color-primary01-icon"})))}get hostElement(){return n(this)}};h.style=s+(f+d);export{h as z_book_card_app};
2
+ //# sourceMappingURL=p-a0bfe6f8.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["stylesCss","ZBookCardAppStyle0","ZBookCardAppStyle1","typographyCss","ZBookCardAppStyle2","ZBookCardApp","emitAppClick","this","appClick","emit","renderLaz","laz","h","class","render","key","href","link","name","onClick","target","logo","src","alt","info","icon","size","ControlSize","X_SMALL","position","InfoRevealPosition","TOP_RIGHT","fill"],"sources":["src/components/book-card/z-book-card-app/styles.css?tag=z-book-card-app&encapsulation=shadow","src/components/css-components/z-link/styles.css?tag=z-book-card-app&encapsulation=shadow","src/tokens/typography.css?tag=z-book-card-app&encapsulation=shadow","src/components/book-card/z-book-card-app/index.tsx"],"sourcesContent":[":host {\n display: block;\n width: inherit;\n min-width: 300px;\n height: inherit;\n min-height: 32px;\n background-color: var(--color-surface01);\n}\n\n:host > div {\n display: flex;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n align-items: center;\n justify-content: space-between;\n padding: var(--z-book-card-app-padding-y, calc(var(--space-unit) * 1.5))\n var(--z-book-card-app-padding-x, var(--space-unit));\n gap: calc(var(--space-unit) * 2);\n}\n\n:host > div .app {\n display: flex;\n flex: 1;\n align-items: center;\n gap: var(--space-unit);\n}\n\n:host > div .app.z-link {\n color: inherit;\n text-decoration: none;\n}\n\n:host > div .app.z-link:focus {\n text-decoration: none;\n}\n\n:host > div .app img {\n width: 1.5rem;\n height: 1.5rem;\n min-height: 32px;\n}\n\n:host > div .app .name {\n display: -webkit-box;\n overflow: hidden;\n height: 1.4rem;\n -webkit-box-orient: vertical;\n font-family: var(--font-family-serif);\n -webkit-line-clamp: 1;\n line-clamp: 1;\n text-overflow: ellipsis;\n word-break: break-all;\n}\n\n:host > div .app .name .laz {\n color: var(--red500);\n}\n\n:host > div z-info-reveal {\n --z-info-reveal-panel-width: 250px;\n --trigger-icon-size-x-small: 1rem;\n\n font-family: var(--font-family-sans);\n\n --color-surface05: var(--color-surface01);\n --color-text-inverse: var(--color-default-text);\n --color-inverse-icon: var(--color-primary01);\n}\n\n:host z-icon {\n --z-icon-width: 1rem;\n --z-icon-height: 1rem;\n}\n","button.z-link {\n padding: 0;\n border: 0;\n margin: 0;\n background-color: transparent;\n}\n\na.z-link,\nbutton.z-link {\n display: inline-flex;\n cursor: pointer;\n font-family: var(--font-family-sans);\n line-height: inherit;\n text-decoration: none;\n}\n\na.z-link.z-link-icon,\nbutton.z-link.z-link-icon {\n --z-icon-width: 1.125em;\n --z-icon-height: 1.125em;\n\n align-items: center;\n column-gap: 0.5em;\n}\n\na.z-link.z-link-sb,\nbutton.z-link.z-link-sb {\n font-weight: var(--font-sb);\n}\n\na.z-link.z-link-underline,\nbutton.z-link.z-link-underline {\n text-decoration: underline;\n}\n\na.z-link:hover,\nbutton.z-link:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link:active,\nbutton.z-link:active {\n text-decoration: underline;\n}\n\na.z-link:focus-visible,\nbutton.z-link:focus-visible {\n box-shadow: var(--shadow-focus-primary);\n outline: none;\n}\n\na.z-link.z-link-disabled,\nbutton.z-link.z-link-disabled {\n box-shadow: none;\n color: var(--color-disabled03);\n cursor: default;\n fill: var(--color-disabled03);\n outline: none;\n pointer-events: none;\n text-decoration: none;\n}\n\na.z-link,\nbutton.z-link,\na.z-link.z-link-active,\nbutton.z-link.z-link-active,\na.z-link:hover,\nbutton.z-link:hover,\na.z-link.z-link-active:hover,\nbutton.z-link.z-link-active:hover,\na.z-link:focus-visible,\nbutton.z-link:focus-visible,\na.z-link.z-link-active:focus-visible,\nbutton.z-link.z-link-active:focus-visible,\na.z-link:active,\nbutton.z-link:active,\na.z-link.z-link-active:active,\nbutton.z-link.z-link-active:active,\na.z-link:visited,\nbutton.z-link:visited,\na.z-link.z-link-active:visited,\nbutton.z-link.z-link-active:visited {\n color: var(--color-text-link-default);\n fill: var(--color-text-link-default);\n}\n\na.z-link.z-link-blue,\nbutton.z-link.z-link-blue,\na.z-link.z-link-blue.z-link-active,\nbutton.z-link.z-link-blue.z-link-active {\n color: var(--color-text-link-blue);\n fill: var(--color-text-link-blue);\n}\n\na.z-link.z-link-red,\nbutton.z-link.z-link-red,\na.z-link.z-link-red.z-link-active,\nbutton.z-link.z-link-red.z-link-active {\n color: var(--color-text-link-red);\n fill: var(--color-text-link-red);\n}\n\na.z-link.z-link-inverse,\nbutton.z-link.z-link-inverse,\na.z-link.z-link-inverse.z-link-active,\nbutton.z-link.z-link-inverse.z-link-active {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:hover,\nbutton.z-link.z-link-blue:hover {\n color: var(--color-text-link-blue-hover);\n fill: var(--color-text-link-blue-hover);\n}\n\na.z-link.z-link-red:hover,\nbutton.z-link.z-link-red:hover {\n color: var(--color-text-link-red-hover);\n fill: var(--color-text-link-red-hover);\n}\n\na.z-link.z-link-inverse:hover,\nbutton.z-link.z-link-inverse:hover {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:active,\nbutton.z-link.z-link-blue:active,\na.z-link.z-link-blue:focus-visible,\nbutton.z-link.z-link-blue:focus-visible {\n color: var(--color-text-link-blue-active);\n fill: var(--color-text-link-blue-active);\n}\n\na.z-link.z-link-red:active,\nbutton.z-link.z-link-red:active,\na.z-link.z-link-red:focus-visible,\nbutton.z-link.z-link-red:focus-visible {\n color: var(--color-text-link-red-active);\n fill: var(--color-text-link-red-active);\n}\n\na.z-link.z-link-inverse:active,\nbutton.z-link.z-link-inverse:active,\na.z-link.z-link-inverse:focus-visible,\nbutton.z-link.z-link-inverse:focus-visible {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n\na.z-link.z-link-blue:visited,\nbutton.z-link.z-link-blue:visited {\n color: var(--color-text-link-blue-visited);\n fill: var(--color-text-link-blue-visited);\n}\n\na.z-link.z-link-red:visited,\nbutton.z-link.z-link-red:visited {\n color: var(--color-text-link-red-visited);\n fill: var(--color-text-link-red-visited);\n}\n\na.z-link.z-link-inverse:visited,\nbutton.z-link.z-link-inverse:visited {\n color: var(--color-text-link-inverse);\n fill: var(--color-text-link-inverse);\n}\n",":root {\n /* font-family */\n --font-family-sans: \"IBM Plex Sans\", sans-serif;\n --font-family-serif: \"IBM Plex Serif\", serif;\n\n /* font-weight */\n --font-lt: 300;\n --font-rg: 400;\n --font-sb: 600;\n --font-bd: 700;\n\n /* font-size type scale */\n --font-size-1: 0.75rem; /* 12px */\n --font-size-2: 0.875rem; /* 14px */\n --font-size-3: 1rem; /* assuming 16px */\n --font-size-4: 1.125rem; /* 18px */\n --font-size-5: 1.25rem; /* 20px */\n --font-size-6: 1.5rem; /* 24px */\n --font-size-7: 1.75rem; /* 28px */\n --font-size-8: 2rem; /* 32px */\n --font-size-9: 2.25rem; /* 36px */\n --font-size-10: 2.625rem; /* 42px */\n --font-size-11: 3rem; /* 48px */\n --font-size-12: 3.375rem; /* 54px */\n --font-size-13: 3.75rem; /* 60px */\n --font-size-14: 4.25rem; /* 68px */\n --font-size-15: 4.75rem; /* 76px */\n --font-size-16: 5.25rem; /* 84px */\n --font-size-17: 5.75rem; /* 92px */\n\n /* cssprops to use with `font` shorthand property */\n --section-title-1: var(--font-sb) var(--font-size-11) / 0.9166 var(--font-family-serif);\n --section-title-2: var(--font-sb) var(--font-size-10) / 1.1904 var(--font-family-serif);\n --section-title-3: var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);\n --section-title-4: var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);\n --section-title-5: var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);\n --section-title-6: var(--font-sb) var(--font-size-6) / 1.333 var(--font-family-serif);\n}\n\n/* Typography classes */\n.heading-1,\n.heading-1-sb,\n.heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n}\n\n.heading-2,\n.heading-2-sb,\n.heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-3,\n.heading-3-sb,\n.heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n}\n\n.heading-4,\n.heading-4-sb,\n.heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-1,\n.body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n}\n\n.body-2,\n.body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-3,\n.body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.body-4,\n.body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.body-5,\n.body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.interactive-1,\n.interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n}\n\n.interactive-2,\n.interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n}\n\n.interactive-3,\n.interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n.helper,\n.helper-sb {\n font-size: var(--font-size-1);\n font-style: italic;\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n}\n\n/* section title */\n.section-title-1 {\n font: var(--section-title-1);\n}\n\n.section-title-2 {\n font: var(--section-title-2);\n}\n\n.section-title-3 {\n font: var(--section-title-3);\n}\n\n.section-title-4 {\n font: var(--section-title-4);\n}\n\n.section-title-5 {\n font: var(--section-title-5);\n}\n\n.section-title-6 {\n font: var(--section-title-6);\n}\n\n/* heading-1/2 for desktop and wide viewports */\n@media (min-width: 1152px) {\n .heading-1,\n .heading-1-sb,\n .heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .heading-2,\n .heading-2-sb,\n .heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n}\n\n/* viewport classes */\n@media (max-width: 767px) {\n .mobile-heading-1,\n .mobile-heading-1-sb,\n .mobile-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .mobile-heading-2,\n .mobile-heading-2-sb,\n .mobile-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-3,\n .mobile-heading-3-sb,\n .mobile-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .mobile-heading-4,\n .mobile-heading-4-sb,\n .mobile-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-1,\n .mobile-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .mobile-body-2,\n .mobile-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-3,\n .mobile-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-body-4,\n .mobile-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-body-5,\n .mobile-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-interactive-1,\n .mobile-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .mobile-interactive-2,\n .mobile-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .mobile-interactive-3,\n .mobile-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .mobile-section-title-1 {\n font: var(--section-title-1);\n }\n\n .mobile-section-title-2 {\n font: var(--section-title-2);\n }\n\n .mobile-section-title-3 {\n font: var(--section-title-3);\n }\n\n .mobile-section-title-4 {\n font: var(--section-title-4);\n }\n\n .mobile-section-title-5 {\n font: var(--section-title-5);\n }\n\n .mobile-section-title-6 {\n font: var(--section-title-6);\n }\n\n .mobile-heading-1-lt,\n .mobile-heading-2-lt,\n .mobile-heading-3-lt,\n .mobile-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .mobile-heading-1-sb,\n .mobile-heading-2-sb,\n .mobile-heading-3-sb,\n .mobile-heading-4-sb,\n .mobile-body-1-sb,\n .mobile-body-2-sb,\n .mobile-body-3-sb,\n .mobile-body-4-sb,\n .mobile-body-5-sb,\n .mobile-interactive-1-sb,\n .mobile-interactive-2-sb,\n .mobile-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 768px) and (max-width: 1151px) {\n .tablet-heading-1,\n .tablet-heading-1-sb,\n .tablet-heading-1-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .tablet-heading-2,\n .tablet-heading-2-sb,\n .tablet-heading-2-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-3,\n .tablet-heading-3-sb,\n .tablet-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .tablet-heading-4,\n .tablet-heading-4-sb,\n .tablet-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-1,\n .tablet-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .tablet-body-2,\n .tablet-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-3,\n .tablet-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-body-4,\n .tablet-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-body-5,\n .tablet-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-interactive-1,\n .tablet-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .tablet-interactive-2,\n .tablet-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .tablet-interactive-3,\n .tablet-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .tablet-section-title-1 {\n font: var(--section-title-1);\n }\n\n .tablet-section-title-2 {\n font: var(--section-title-2);\n }\n\n .tablet-section-title-3 {\n font: var(--section-title-3);\n }\n\n .tablet-section-title-4 {\n font: var(--section-title-4);\n }\n\n .tablet-section-title-5 {\n font: var(--section-title-5);\n }\n\n .tablet-section-title-6 {\n font: var(--section-title-6);\n }\n\n .tablet-heading-1-lt,\n .tablet-heading-2-lt,\n .tablet-heading-3-lt,\n .tablet-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .tablet-heading-1-sb,\n .tablet-heading-2-sb,\n .tablet-heading-3-sb,\n .tablet-heading-4-sb,\n .tablet-body-1-sb,\n .tablet-body-2-sb,\n .tablet-body-3-sb,\n .tablet-body-4-sb,\n .tablet-body-5-sb,\n .tablet-interactive-1-sb,\n .tablet-interactive-2-sb,\n .tablet-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1152px) and (max-width: 1365px) {\n .desktop-heading-1,\n .desktop-heading-1-sb,\n .desktop-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .desktop-heading-2,\n .desktop-heading-2-sb,\n .desktop-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .desktop-heading-3,\n .desktop-heading-3-sb,\n .desktop-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .desktop-heading-4,\n .desktop-heading-4-sb,\n .desktop-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-1,\n .desktop-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .desktop-body-2,\n .desktop-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-3,\n .desktop-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-body-4,\n .desktop-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-body-5,\n .desktop-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-interactive-1,\n .desktop-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .desktop-interactive-2,\n .desktop-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .desktop-interactive-3,\n .desktop-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .desktop-section-title-1 {\n font: var(--section-title-1);\n }\n\n .desktop-section-title-2 {\n font: var(--section-title-2);\n }\n\n .desktop-section-title-3 {\n font: var(--section-title-3);\n }\n\n .desktop-section-title-4 {\n font: var(--section-title-4);\n }\n\n .desktop-section-title-5 {\n font: var(--section-title-5);\n }\n\n .desktop-section-title-6 {\n font: var(--section-title-6);\n }\n\n .desktop-heading-1-lt,\n .desktop-heading-2-lt,\n .desktop-heading-3-lt,\n .desktop-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .desktop-heading-1-sb,\n .desktop-heading-2-sb,\n .desktop-heading-3-sb,\n .desktop-heading-4-sb,\n .desktop-body-1-sb,\n .desktop-body-2-sb,\n .desktop-body-3-sb,\n .desktop-body-4-sb,\n .desktop-body-5-sb,\n .desktop-interactive-1-sb,\n .desktop-interactive-2-sb,\n .desktop-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n@media (min-width: 1366px) {\n .wide-heading-1,\n .wide-heading-1-sb,\n .wide-heading-1-lt {\n font-size: var(--font-size-8);\n font-weight: var(--font-rg);\n line-height: 1.25;\n }\n\n .wide-heading-2,\n .wide-heading-2-sb,\n .wide-heading-2-lt {\n font-size: var(--font-size-7);\n font-weight: var(--font-rg);\n line-height: 1.28;\n }\n\n .wide-heading-3,\n .wide-heading-3-sb,\n .wide-heading-3-lt {\n font-size: var(--font-size-6);\n font-weight: var(--font-rg);\n line-height: 1.333;\n }\n\n .wide-heading-4,\n .wide-heading-4-sb,\n .wide-heading-4-lt {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-1,\n .wide-body-1-sb {\n font-size: var(--font-size-5);\n font-weight: var(--font-rg);\n line-height: 1.4;\n }\n\n .wide-body-2,\n .wide-body-2-sb {\n font-size: var(--font-size-4);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-3,\n .wide-body-3-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-body-4,\n .wide-body-4-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-body-5,\n .wide-body-5-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-interactive-1,\n .wide-interactive-1-sb {\n font-size: var(--font-size-3);\n font-weight: var(--font-rg);\n line-height: 1.5;\n }\n\n .wide-interactive-2,\n .wide-interactive-2-sb {\n font-size: var(--font-size-2);\n font-weight: var(--font-rg);\n letter-spacing: 0.16px;\n line-height: 1.4;\n }\n\n .wide-interactive-3,\n .wide-interactive-3-sb {\n font-size: var(--font-size-1);\n font-weight: var(--font-rg);\n letter-spacing: 0.32px;\n line-height: 1.333;\n }\n\n .wide-section-title-1 {\n font: var(--section-title-1);\n }\n\n .wide-section-title-2 {\n font: var(--section-title-2);\n }\n\n .wide-section-title-3 {\n font: var(--section-title-3);\n }\n\n .wide-section-title-4 {\n font: var(--section-title-4);\n }\n\n .wide-section-title-5 {\n font: var(--section-title-5);\n }\n\n .wide-section-title-6 {\n font: var(--section-title-6);\n }\n\n .wide-heading-1-lt,\n .wide-heading-2-lt,\n .wide-heading-3-lt,\n .wide-heading-4-lt {\n font-weight: var(--font-lt);\n }\n\n .wide-heading-1-sb,\n .wide-heading-2-sb,\n .wide-heading-3-sb,\n .wide-heading-4-sb,\n .wide-body-1-sb,\n .wide-body-2-sb,\n .wide-body-3-sb,\n .wide-body-4-sb,\n .wide-body-5-sb,\n .wide-interactive-1-sb,\n .wide-interactive-2-sb,\n .wide-interactive-3-sb {\n font-weight: var(--font-sb);\n }\n}\n\n/* font-weight variants */\n.heading-1-lt,\n.heading-2-lt,\n.heading-3-lt,\n.heading-4-lt {\n font-weight: var(--font-lt);\n}\n\n.heading-1-sb,\n.heading-2-sb,\n.heading-3-sb,\n.heading-4-sb,\n.body-1-sb,\n.body-2-sb,\n.body-3-sb,\n.body-4-sb,\n.body-5-sb,\n.interactive-1-sb,\n.interactive-2-sb,\n.interactive-3-sb,\n.helper-sb {\n font-weight: var(--font-sb);\n}\n","import {Component, Element, Event, EventEmitter, Prop, h} from \"@stencil/core\";\nimport {ControlSize, InfoRevealPosition} from \"../../../beans\";\n\n/**\n * ZBookCardApp component\n * @cssprop --z-book-card-app-padding-x - set left and right padding\n * @cssprop --z-book-card-app-padding-y - set top and bottom padding\n */\n@Component({\n tag: \"z-book-card-app\",\n styleUrls: [\"styles.css\", \"../../css-components/z-link/styles.css\", \"../../../tokens/typography.css\"],\n shadow: true,\n})\nexport class ZBookCardApp {\n @Element() hostElement: HTMLZBookCardAppElement;\n\n /**\n * App logo url\n */\n @Prop()\n logo?: string;\n\n /**\n * App name\n */\n @Prop()\n name: string;\n\n /**\n * link to the app website\n */\n @Prop()\n link: string;\n\n /**\n * Show or hide laZ prefix before app name\n */\n @Prop()\n laz? = true;\n\n /**\n * Info text to show as inforeveal\n */\n @Prop()\n info?: string;\n\n /** click on app link */\n @Event()\n appClick: EventEmitter;\n\n private emitAppClick(): void {\n this.appClick.emit();\n }\n\n private renderLaz(): HTMLSpanElement | null {\n if (this.laz) {\n return <span class=\"laz\">laZ </span>;\n }\n\n return null;\n }\n\n render(): HTMLZBookCardAppElement {\n return (\n <div>\n <a\n class=\"app z-link\"\n href={this.link}\n aria-label={`vai a ${this.laz ? \"laz\" : \"\"} ${this.name}`}\n onClick={() => this.emitAppClick()}\n target=\"_blank\"\n >\n {this.logo && (\n <img\n src={this.logo}\n alt=\"\"\n />\n )}\n <div class=\"name body-4-sb\">\n {this.renderLaz()}\n {this.name}\n </div>\n </a>\n {this.info && (\n <z-info-reveal\n icon=\"info\"\n size={ControlSize.X_SMALL}\n position={InfoRevealPosition.TOP_RIGHT}\n class=\"info body-5\"\n >\n <div>{this.info}</div>\n </z-info-reveal>\n )}\n <a\n class=\"z-link z-link-icon\"\n href={this.link}\n aria-label={`vai a ${this.laz ? \"laz\" : \"\"} ${this.name}`}\n onClick={() => this.emitAppClick()}\n target=\"_blank\"\n >\n <z-icon\n name=\"chevron-right\"\n fill=\"color-primary01-icon\"\n ></z-icon>\n </a>\n </div>\n );\n }\n}\n"],"mappings":"oGAAA,MAAMA,EAAY,msCAClB,MAAAC,EAAeD,ECDf,MAAMA,EAAY,0gHAClB,MAAAE,EAAeF,ECDf,MAAMG,EAAgB,o8XACtB,MAAAC,EAAeD,E,MCYFE,EAAY,M,iIAyBhB,K,oBAYC,YAAAC,GACNC,KAAKC,SAASC,M,CAGR,SAAAC,GACN,GAAIH,KAAKI,IAAK,CACZ,OAAOC,EAAA,QAAMC,MAAM,OAAK,O,CAG1B,OAAO,I,CAGT,MAAAC,GACE,OACEF,EAAA,OAAAG,IAAA,4CACEH,EAAA,KAAAG,IAAA,2CACEF,MAAM,aACNG,KAAMT,KAAKU,KAAI,aACH,SAASV,KAAKI,IAAM,MAAQ,MAAMJ,KAAKW,OACnDC,QAAS,IAAMZ,KAAKD,eACpBc,OAAO,UAENb,KAAKc,MACJT,EAAA,OAAAG,IAAA,2CACEO,IAAKf,KAAKc,KACVE,IAAI,KAGRX,EAAA,OAAAG,IAAA,2CAAKF,MAAM,kBACRN,KAAKG,YACLH,KAAKW,OAGTX,KAAKiB,MACJZ,EAAA,iBAAAG,IAAA,2CACEU,KAAK,OACLC,KAAMC,EAAYC,QAClBC,SAAUC,EAAmBC,UAC7BlB,MAAM,eAEND,EAAA,OAAAG,IAAA,4CAAMR,KAAKiB,OAGfZ,EAAA,KAAAG,IAAA,2CACEF,MAAM,qBACNG,KAAMT,KAAKU,KAAI,aACH,SAASV,KAAKI,IAAM,MAAQ,MAAMJ,KAAKW,OACnDC,QAAS,IAAMZ,KAAKD,eACpBc,OAAO,UAEPR,EAAA,UAAAG,IAAA,2CACEG,KAAK,gBACLc,KAAK,0B","ignoreList":[]}
@@ -168,8 +168,8 @@
168
168
  --font-size-17: 5.75rem; /* 92px */
169
169
 
170
170
  /* cssprops to use with `font` shorthand property */
171
- --section-title-1: var(--font-sb) var(--font-size-11) / 1.083 var(--font-family-serif);
172
- --section-title-2: var(--font-sb) var(--font-size-10) / 1.142 var(--font-family-serif);
171
+ --section-title-1: var(--font-sb) var(--font-size-11) / 0.9166 var(--font-family-serif);
172
+ --section-title-2: var(--font-sb) var(--font-size-10) / 1.1904 var(--font-family-serif);
173
173
  --section-title-3: var(--font-sb) var(--font-size-9) / 1.222 var(--font-family-serif);
174
174
  --section-title-4: var(--font-sb) var(--font-size-8) / 1.25 var(--font-family-serif);
175
175
  --section-title-5: var(--font-sb) var(--font-size-7) / 1.2857 var(--font-family-serif);