@zanichelli/albe-web-components 16.0.0 → 16.1.0-rc2
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/CHANGELOG.md +2 -0
- package/dist/cjs/{index-5cc0f0ca.js → index-53f82896.js} +7 -3
- package/dist/cjs/index-53f82896.js.map +1 -0
- package/dist/cjs/{index-066b8da0.js → index-597156d1.js} +2 -2
- package/dist/cjs/{index-066b8da0.js.map → index-597156d1.js.map} +1 -1
- package/dist/cjs/{index-98822eac.js → index-9e2052c7.js} +3 -3
- package/dist/cjs/{index-98822eac.js.map → index-9e2052c7.js.map} +1 -1
- package/dist/cjs/index-bab7a651.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/web-components-library.cjs.js +1 -1
- package/dist/cjs/z-app-header_12.cjs.entry.js +4 -5
- package/dist/cjs/z-app-header_12.cjs.entry.js.map +1 -1
- package/dist/cjs/z-card.cjs.entry.js +5 -5
- package/dist/cjs/z-card.cjs.entry.js.map +1 -1
- package/dist/cjs/z-select.cjs.entry.js +4 -4
- package/dist/cjs/z-select.cjs.entry.js.map +1 -1
- package/dist/cjs/z-table.cjs.entry.js +3 -3
- package/dist/cjs/z-td.cjs.entry.js +1 -1
- package/dist/cjs/z-th.cjs.entry.js +1 -1
- package/dist/cjs/z-tr.cjs.entry.js +3 -3
- package/dist/collection/beans/index.js.map +1 -1
- package/dist/collection/components/table/cells/z-td/index.js +30 -2
- package/dist/collection/components/table/cells/z-td/index.js.map +1 -1
- package/dist/collection/components/table/cells/z-td/styles.css +4 -0
- package/dist/collection/components/table/cells/z-th/styles.css +4 -0
- package/dist/collection/components/z-button-sort/test.e2e.js +16 -0
- package/dist/collection/components/z-button-sort/test.e2e.js.map +1 -1
- package/dist/collection/components/z-card/index.js +5 -5
- package/dist/collection/components/z-card/index.js.map +1 -1
- package/dist/collection/components/z-card/index.spec.js +26 -7
- package/dist/collection/components/z-card/index.spec.js.map +1 -1
- package/dist/collection/components/z-card/index.stories.js +17 -6
- package/dist/collection/components/z-card/index.stories.js.map +1 -1
- package/dist/collection/components/z-card/styles.css +10 -2
- package/dist/collection/components/z-chip/test.e2e.js +32 -0
- package/dist/collection/components/z-chip/test.e2e.js.map +1 -0
- package/dist/collection/components/z-combobox/test.e2e.js +45 -0
- package/dist/collection/components/z-combobox/test.e2e.js.map +1 -0
- package/dist/collection/components/z-searchbar/index.js +3 -22
- package/dist/collection/components/z-searchbar/index.js.map +1 -1
- package/dist/collection/components/z-searchbar/index.spec.js +1 -5
- package/dist/collection/components/z-searchbar/index.spec.js.map +1 -1
- package/dist/collection/components/z-searchbar/index.stories.js +131 -4
- package/dist/collection/components/z-searchbar/index.stories.js.map +1 -1
- package/dist/collection/components/z-searchbar/styles.css +94 -11
- package/dist/collection/components/z-searchbar/test.e2e.js +90 -0
- package/dist/collection/components/z-searchbar/test.e2e.js.map +1 -0
- package/dist/collection/components/z-select/index.js +3 -3
- package/dist/collection/components/z-select/index.js.map +1 -1
- package/dist/collection/components/z-select/index.spec.js +71 -0
- package/dist/collection/components/z-select/index.spec.js.map +1 -1
- package/dist/collection/components/z-select/index.stories.js +13 -0
- package/dist/collection/components/z-select/index.stories.js.map +1 -1
- package/dist/collection/components/z-select/styles.css +5 -0
- package/dist/collection/components/z-select/test.e2e.js +121 -0
- package/dist/collection/components/z-select/test.e2e.js.map +1 -0
- package/dist/collection/components/z-tag/styles.css +4 -0
- package/dist/collection/components/z-toggle-button/test.e2e.js +12 -0
- package/dist/collection/components/z-toggle-button/test.e2e.js.map +1 -0
- package/dist/collection/components/z-toggle-switch/test.e2e.js +22 -0
- package/dist/collection/components/z-toggle-switch/test.e2e.js.map +1 -0
- package/dist/components/index2.js.map +1 -1
- package/dist/components/index23.js +3 -5
- package/dist/components/index23.js.map +1 -1
- package/dist/components/index24.js +1 -1
- package/dist/components/index24.js.map +1 -1
- package/dist/components/z-card.js +5 -5
- package/dist/components/z-card.js.map +1 -1
- package/dist/components/z-select.js +24 -18
- package/dist/components/z-select.js.map +1 -1
- package/dist/components/z-td.js +8 -3
- package/dist/components/z-td.js.map +1 -1
- package/dist/components/z-th.js +1 -1
- package/dist/components/z-th.js.map +1 -1
- package/dist/esm/{index-18018bb5.js → index-7a28ff39.js} +2 -2
- package/dist/esm/{index-18018bb5.js.map → index-7a28ff39.js.map} +1 -1
- package/dist/esm/{index-292b4dd2.js → index-a52fd166.js} +8 -4
- package/dist/esm/index-a52fd166.js.map +1 -0
- package/dist/esm/index-b7dbacb4.js.map +1 -1
- package/dist/esm/{index-50bbb22e.js → index-ebb8a94a.js} +3 -3
- package/dist/esm/{index-50bbb22e.js.map → index-ebb8a94a.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/web-components-library.js +1 -1
- package/dist/esm/z-app-header_12.entry.js +4 -5
- package/dist/esm/z-app-header_12.entry.js.map +1 -1
- package/dist/esm/z-card.entry.js +5 -5
- package/dist/esm/z-card.entry.js.map +1 -1
- package/dist/esm/z-select.entry.js +4 -4
- package/dist/esm/z-select.entry.js.map +1 -1
- package/dist/esm/z-table.entry.js +3 -3
- package/dist/esm/z-td.entry.js +1 -1
- package/dist/esm/z-th.entry.js +1 -1
- package/dist/esm/z-tr.entry.js +3 -3
- package/dist/types/beans/index.d.ts +1 -0
- package/dist/types/components/table/cells/z-td/index.d.ts +5 -1
- package/dist/types/components/z-card/index.d.ts +3 -3
- package/dist/types/components/z-card/index.stories.d.ts +6 -1
- package/dist/types/components/z-searchbar/index.d.ts +0 -2
- package/dist/types/components/z-searchbar/index.stories.d.ts +64 -1
- package/dist/types/components.d.ts +10 -10
- package/dist/web-components-library/p-088a31dc.entry.js +2 -0
- package/dist/web-components-library/p-088a31dc.entry.js.map +1 -0
- package/dist/web-components-library/{p-ae94e377.js → p-191168fc.js} +2 -2
- package/dist/web-components-library/p-26b5c84d.js +2 -0
- package/{www/build/p-8de7ea6e.js.map → dist/web-components-library/p-26b5c84d.js.map} +1 -1
- package/dist/web-components-library/p-2a888e7e.entry.js +2 -0
- package/dist/web-components-library/{p-83eff308.entry.js → p-3f745628.entry.js} +2 -2
- package/dist/web-components-library/p-3f745628.entry.js.map +1 -0
- package/dist/web-components-library/p-57ecb5a7.entry.js +2 -0
- package/dist/web-components-library/p-57ecb5a7.entry.js.map +1 -0
- package/dist/web-components-library/p-6037cdf3.js.map +1 -1
- package/dist/web-components-library/p-6e252465.js +2 -0
- package/dist/web-components-library/p-6e252465.js.map +1 -0
- package/dist/web-components-library/p-8c125a3f.entry.js +2 -0
- package/dist/web-components-library/{p-c6b269ce.entry.js → p-a1d52560.entry.js} +2 -2
- package/dist/web-components-library/p-ed2c8484.entry.js +2 -0
- package/dist/web-components-library/web-components-library.esm.js +1 -1
- package/package.json +2 -1
- package/www/build/p-088a31dc.entry.js +2 -0
- package/www/build/p-088a31dc.entry.js.map +1 -0
- package/www/build/{p-ae94e377.js → p-191168fc.js} +2 -2
- package/www/build/p-215344e7.js +2 -0
- package/www/build/p-26b5c84d.js +2 -0
- package/{dist/web-components-library/p-8de7ea6e.js.map → www/build/p-26b5c84d.js.map} +1 -1
- package/www/build/p-2a888e7e.entry.js +2 -0
- package/www/build/{p-83eff308.entry.js → p-3f745628.entry.js} +2 -2
- package/www/build/p-3f745628.entry.js.map +1 -0
- package/www/build/p-57ecb5a7.entry.js +2 -0
- package/www/build/p-57ecb5a7.entry.js.map +1 -0
- package/www/build/p-6037cdf3.js.map +1 -1
- package/www/build/p-6e252465.js +2 -0
- package/www/build/p-6e252465.js.map +1 -0
- package/www/build/p-8c125a3f.entry.js +2 -0
- package/www/build/{p-c6b269ce.entry.js → p-a1d52560.entry.js} +2 -2
- package/www/build/p-ed2c8484.entry.js +2 -0
- package/www/build/web-components-library.esm.js +1 -1
- package/www/index.html +1 -1
- package/dist/cjs/index-5cc0f0ca.js.map +0 -1
- package/dist/collection/components/z-logo/test.e2e.js +0 -32
- package/dist/collection/components/z-logo/test.e2e.js.map +0 -1
- package/dist/collection/snowflakes/myz/list/z-myz-list-item/test.e2e.js +0 -35
- package/dist/collection/snowflakes/myz/list/z-myz-list-item/test.e2e.js.map +0 -1
- package/dist/esm/index-292b4dd2.js.map +0 -1
- package/dist/web-components-library/p-18690383.entry.js +0 -2
- package/dist/web-components-library/p-18690383.entry.js.map +0 -1
- package/dist/web-components-library/p-1edbac5f.entry.js +0 -2
- package/dist/web-components-library/p-5a5481be.entry.js +0 -2
- package/dist/web-components-library/p-5a5481be.entry.js.map +0 -1
- package/dist/web-components-library/p-83eff308.entry.js.map +0 -1
- package/dist/web-components-library/p-8de7ea6e.js +0 -2
- package/dist/web-components-library/p-9f2a7cf0.js +0 -2
- package/dist/web-components-library/p-9f2a7cf0.js.map +0 -1
- package/dist/web-components-library/p-bf2a057d.entry.js +0 -2
- package/dist/web-components-library/p-e0323da3.entry.js +0 -2
- package/www/build/p-18690383.entry.js +0 -2
- package/www/build/p-18690383.entry.js.map +0 -1
- package/www/build/p-1edbac5f.entry.js +0 -2
- package/www/build/p-5a5481be.entry.js +0 -2
- package/www/build/p-5a5481be.entry.js.map +0 -1
- package/www/build/p-774b449d.js +0 -2
- package/www/build/p-83eff308.entry.js.map +0 -1
- package/www/build/p-8de7ea6e.js +0 -2
- package/www/build/p-9f2a7cf0.js +0 -2
- package/www/build/p-9f2a7cf0.js.map +0 -1
- package/www/build/p-bf2a057d.entry.js +0 -2
- package/www/build/p-e0323da3.entry.js +0 -2
- /package/dist/web-components-library/{p-ae94e377.js.map → p-191168fc.js.map} +0 -0
- /package/dist/web-components-library/{p-1edbac5f.entry.js.map → p-2a888e7e.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-bf2a057d.entry.js.map → p-8c125a3f.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-c6b269ce.entry.js.map → p-a1d52560.entry.js.map} +0 -0
- /package/dist/web-components-library/{p-e0323da3.entry.js.map → p-ed2c8484.entry.js.map} +0 -0
- /package/www/build/{p-ae94e377.js.map → p-191168fc.js.map} +0 -0
- /package/www/build/{p-1edbac5f.entry.js.map → p-2a888e7e.entry.js.map} +0 -0
- /package/www/build/{p-bf2a057d.entry.js.map → p-8c125a3f.entry.js.map} +0 -0
- /package/www/build/{p-c6b269ce.entry.js.map → p-a1d52560.entry.js.map} +0 -0
- /package/www/build/{p-e0323da3.entry.js.map → p-ed2c8484.entry.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-searchbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {\n ButtonVariant,\n ControlSize,\n Device,\n ListDividerType,\n SearchbarGroup,\n SearchbarGroupedItem,\n SearchbarItem,\n} from \"../../beans\";\nimport {getDevice, handleEnterKeydSubmit, randomId} from \"../../utils/utils\";\n\n/**\n * @cssprop --z-searchbar-results-height - Max height of the results container (default: 540px)\n * @cssprop --z-searchbar-tag-text-color - Color of tag's text (default --color-primary03);\n * @cssprop --z-searchbar-tag-bg - Color of tag's background (default --color-hover-primary);\n */\n@Component({\n tag: \"z-searchbar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZSearchbar {\n /** the id of the searchbar element */\n @Prop({reflect: true})\n htmlid = `searchbar-${randomId()}`;\n\n /** Prevent submit action */\n @Prop()\n preventSubmit?: boolean = false;\n\n /** Input search string */\n @Prop()\n value?: string;\n\n /** Search input placeholder */\n @Prop()\n placeholder?: string;\n\n /** Show autocomplete results */\n @Prop()\n autocomplete?: boolean = false;\n\n /** Minimun number of characters to dispatch typing event */\n @Prop()\n autocompleteMinChars?: number = 3;\n\n /** Number of results shown - default all */\n @Prop()\n resultsCount?: number;\n\n /** Truncate results to single row */\n @Prop()\n resultsEllipsis?: boolean = true;\n\n /** Search helper text */\n @Prop()\n searchHelperLabel?: string = \"Cerca {searchString}\";\n\n /** Autocomplete results items */\n @Prop()\n resultsItems?: SearchbarItem[] | string;\n\n /** Sort autocomplete results items */\n @Prop()\n sortResultsItems?: boolean = false;\n\n /** Show submit button */\n @Prop()\n showSearchButton?: boolean = false;\n\n /** Set button icon without label*/\n @Prop()\n searchButtonIconOnly?: boolean = false;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n /** Graphical variant: `primary`, `secondary`, `tertiary`. Defaults to `primary`. */\n @Prop()\n variant?: ButtonVariant = ButtonVariant.PRIMARY;\n\n @State()\n searchString = this.value;\n\n @State()\n currResultsCount = 0;\n\n @State()\n showResults = false;\n\n @State()\n isMobile = false;\n\n @Element() element: HTMLZSearchbarElement;\n\n private resultsItemsList: SearchbarItem[] | undefined = null;\n\n private inputRef: HTMLZInputElement;\n\n private resizeObserver: ResizeObserver;\n\n /** Emitted on search submit, return search string */\n @Event()\n searchSubmit: EventEmitter<string>;\n\n private emitSearchSubmit(): void {\n this.searchSubmit.emit(this.inputRef.value);\n }\n\n /** Emitted on search typing, return search string */\n @Event()\n searchTyping: EventEmitter<string>;\n\n private emitSearchTyping(search: string): void {\n this.searchTyping.emit(search);\n }\n\n /** Emitted on search result click, return item */\n @Event()\n searchItemClick: EventEmitter<SearchbarItem>;\n\n private emitSearchItemClick(item: SearchbarItem): void {\n this.searchItemClick.emit(item);\n }\n\n @Watch(\"resultsItems\")\n watchItems(): void {\n this.resultsItemsList = this.getResultsItemsList();\n }\n\n @Watch(\"resultsCount\")\n watchResultsCount(): void {\n this.currResultsCount = this.resultsCount;\n }\n\n @Watch(\"value\")\n watchValue(): void {\n this.searchString = this.value;\n }\n\n @Watch(\"searchString\")\n watchSearchString(): void {\n this.emitSearchTyping(this.searchString);\n if (!this.searchString) {\n this.currResultsCount = this.resultsCount;\n }\n }\n\n disconnectedCallback(): void {\n this.resizeObserver.disconnect();\n }\n\n componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(() => {\n if (getDevice() === Device.MOBILE && !this.isMobile) {\n this.isMobile = true;\n }\n if (getDevice() !== Device.MOBILE && this.isMobile) {\n this.isMobile = false;\n }\n });\n this.resizeObserver.observe(this.element);\n }\n\n componentWillLoad(): void {\n this.resultsItemsList = this.getResultsItemsList();\n this.currResultsCount = this.resultsCount;\n }\n\n private getResultsItemsList(): SearchbarItem[] | undefined {\n return typeof this.resultsItems === \"string\" ? JSON.parse(this.resultsItems) : this.resultsItems;\n }\n\n private getGroupedItems(items: SearchbarItem[]): SearchbarGroupedItem {\n const groupedItems = {};\n items.forEach((item: SearchbarItem) => {\n const key = `${item?.category}${item?.subcategory}`;\n groupedItems[key] = groupedItems[key] ?? {\n category: item?.category,\n subcategory: item?.subcategory,\n items: [],\n };\n groupedItems[key][\"items\"].push(item);\n });\n\n if (this.sortResultsItems) {\n return Object.keys(groupedItems)\n .sort()\n .reduce((obj, key) => {\n obj[key] = {\n ...groupedItems[key],\n items: groupedItems[key][\"items\"].sort((a: SearchbarItem, b: SearchbarItem) => {\n const nameA = a.label.toUpperCase();\n const nameB = b.label.toUpperCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n\n return 0;\n }),\n };\n\n return obj;\n }, {});\n }\n\n return groupedItems;\n }\n\n private checkResultsCount(counter: number): boolean {\n if (!this.currResultsCount || counter < this.currResultsCount) {\n return true;\n }\n\n return false;\n }\n\n private handleStopTyping(e: CustomEvent): void {\n e.stopPropagation();\n this.searchString = e.detail.value;\n }\n\n private handleSubmit(): void {\n if (this.preventSubmit) {\n return;\n }\n\n this.emitSearchSubmit();\n }\n\n @Listen(\"click\", {target: \"document\"})\n private handleOutsideClick(e: MouseEvent): void {\n const cp = e.composedPath();\n\n const searchbar = cp.find((elem: HTMLElement) => elem.nodeName === \"Z-SEARCHBAR\");\n if (!searchbar || (searchbar as HTMLZSearchbarElement).htmlid !== this.htmlid) {\n this.showResults = false;\n\n return;\n }\n\n if (cp.find((elem: HTMLElement) => elem?.nodeName === \"Z-INPUT\" || elem?.classList?.contains(\"results\"))) {\n this.showResults = true;\n\n return;\n }\n\n this.showResults = false;\n }\n\n private renderInput(): HTMLZInputElement {\n return (\n <z-input\n ref={(val) => {\n this.inputRef = val;\n }}\n message={false}\n placeholder={this.placeholder}\n onStopTyping={(e: CustomEvent) => this.handleStopTyping(e)}\n onKeyUp={(e: KeyboardEvent) => handleEnterKeydSubmit(e, () => this.handleSubmit())}\n value={this.value}\n ariaLabel={this.placeholder}\n size={this.size}\n />\n );\n }\n\n private renderButton(): HTMLZButtonElement | null {\n if (!this.showSearchButton) {\n return null;\n }\n\n const iconProp = this.searchButtonIconOnly ? {icon: \"search\"} : null;\n const buttonLabel = this.searchButtonIconOnly ? \"\" : \"CERCA\";\n const defaultProps = {\n disabled: this.preventSubmit,\n variant: this.variant,\n size: this.size,\n onClick: () => this.handleSubmit(),\n ...iconProp,\n };\n\n return <z-button {...defaultProps}>{buttonLabel}</z-button>;\n }\n\n private renderResults(): HTMLDivElement | null {\n if (\n !this.showResults ||\n !this.autocomplete ||\n !this.searchString ||\n this.searchString.length < this.autocompleteMinChars ||\n !this.resultsItemsList\n ) {\n return null;\n }\n\n return (\n <div class=\"results-wrapper\">\n <div class=\"results\">{this.renderResultsList()}</div>\n </div>\n );\n }\n\n private renderResultsList(): HTMLZListElement | HTMLSpanElement {\n if (this.preventSubmit && !this.resultsItemsList?.length) {\n return (\n <span class=\"item item-no-results\">\n Non abbiamo trovato risultati per <b>{this.searchString}</b>\n <br />\n <br />\n Cosa puoi fare?\n <ul>\n <li>Verificare di aver scritto bene</li>\n <li>Provare a cercare un'altra parola</li>\n <li>Provare a cercare qualcosa di più generico</li>\n </ul>\n </span>\n );\n }\n\n return (\n <z-list\n role=\"listbox\"\n id={`list-${this.htmlid}`}\n >\n {this.renderSearchHelper(!!this.resultsItemsList?.length)}\n {this.renderItems()}\n {this.renderShowAllResults()}\n </z-list>\n );\n }\n\n private renderItems(): HTMLZListGroupElement[] {\n if (!this.resultsItemsList?.length) {\n return [];\n }\n\n const groupedItems = this.getGroupedItems(this.resultsItemsList);\n const listGroups: HTMLZListGroupElement[] = [];\n let counter = 0;\n\n Object.values(groupedItems).forEach((groupItem: SearchbarGroup, index: number, array) => {\n if (this.checkResultsCount(counter)) {\n const listGroupsElements: HTMLZListElement[] = [];\n groupItem.items.forEach((item: SearchbarItem, subindex: number, subarray) => {\n if (this.checkResultsCount(counter)) {\n const isLast = index === array.length - 1 && subindex === subarray.length - 1;\n listGroupsElements.push(this.renderItem(item, subindex, !isLast));\n }\n counter++;\n });\n\n if (listGroupsElements.length) {\n listGroups.push(\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n {this.renderItemCategory(groupItem)}\n {listGroupsElements}\n </z-list-group>\n );\n }\n }\n });\n\n return listGroups;\n }\n\n private renderItem(item: SearchbarItem, key: number, divider: boolean): HTMLZListElementElement {\n return (\n <z-list-element\n id={`list-item-${this.htmlid}-${key}`}\n role=\"option\"\n tabindex={0}\n dividerType={divider ? ListDividerType.ELEMENT : undefined}\n clickable\n onClickItem={() => this.emitSearchItemClick(item)}\n >\n <div class=\"list-element\">\n <span class={{\"item\": true, \"ellipsis\": this.resultsEllipsis, \"has-category\": !!item.category}}>\n {item?.icon && (\n <z-icon\n class=\"item-icon\"\n name={item.icon}\n />\n )}\n <span\n class=\"item-label\"\n title={item.label}\n innerHTML={this.renderItemLabel(item.label)}\n />\n </span>\n {item?.tag && <z-tag icon={item.tag.icon}>{!this.isMobile ? item.tag.text : \"\"}</z-tag>}\n </div>\n </z-list-element>\n );\n }\n\n private renderItemLabel(label: string): string {\n if (!this.searchString) {\n return label;\n }\n\n return label.replace(\n new RegExp(this.searchString.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), \"gmi\"),\n (found) => `<mark>${found}</mark>`\n );\n }\n\n private renderItemCategory(groupItem: SearchbarGroup): HTMLSpanElement | null {\n if (!groupItem?.category) {\n return null;\n }\n\n return (\n <span\n class=\"category-heading\"\n slot=\"header-title\"\n >\n <span class=\"category\">{groupItem.category}</span>\n {groupItem?.subcategory && <span class=\"subcategory\">{groupItem.subcategory}</span>}\n </span>\n );\n }\n\n private renderSearchHelper(hasDivider = true): HTMLZListElement | null {\n if (!this.autocomplete || this.preventSubmit || !this.searchString) {\n return null;\n }\n\n return (\n <z-list-element\n role=\"option\"\n tabindex={0}\n dividerType={hasDivider ? ListDividerType.ELEMENT : undefined}\n clickable\n id={`list-item-${this.htmlid}-search`}\n onClickItem={() => this.emitSearchSubmit()}\n >\n <span class=\"item item-search\">\n <z-icon\n class=\"search-icon\"\n name=\"left-magnifying-glass\"\n />\n <span\n class=\"item-label\"\n innerHTML={this.searchHelperLabel.replace(\"{searchString}\", `<mark>${this.searchString}</mark>`)}\n />\n </span>\n </z-list-element>\n );\n }\n\n private renderShowAllResults(): HTMLZListElement | null {\n if (\n !this.currResultsCount ||\n !this.searchString ||\n !this.resultsItemsList?.length ||\n this.currResultsCount >= this.resultsItemsList?.length\n ) {\n return null;\n }\n\n return (\n <z-list-element\n role=\"option\"\n tabindex={0}\n clickable\n id={`list-item-${this.htmlid}-show-all`}\n onClickItem={() => (this.currResultsCount = 0)}\n color=\"color-primary01\"\n >\n <div class=\"item-show-all\">Vedi tutti i risultati</div>\n </z-list-element>\n );\n }\n\n render(): HTMLZSearchbarElement {\n return (\n <Host\n onFocus={() => (this.showResults = true)}\n onClick={(e) => this.handleOutsideClick(e)}\n class={{\"has-submit\": this.showSearchButton, \"has-results\": this.autocomplete}}\n >\n <div class=\"input-container\">\n {this.renderInput()}\n {this.renderResults()}\n </div>\n {this.renderButton()}\n </Host>\n );\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/z-searchbar/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import {Component, Element, Event, EventEmitter, Host, Listen, Prop, State, Watch, h} from \"@stencil/core\";\nimport {\n ButtonVariant,\n ControlSize,\n Device,\n ListDividerType,\n SearchbarGroup,\n SearchbarGroupedItem,\n SearchbarItem,\n} from \"../../beans\";\nimport {getDevice, handleEnterKeydSubmit, randomId} from \"../../utils/utils\";\n\n/**\n * @cssprop --z-searchbar-results-height - Max height of the results container (default: 540px)\n * @cssprop --z-searchbar-tag-text-color - Color of tag's text (default --color-primary03);\n * @cssprop --z-searchbar-tag-bg - Color of tag's background (default --color-hover-primary);\n */\n@Component({\n tag: \"z-searchbar\",\n styleUrl: \"styles.css\",\n shadow: true,\n})\nexport class ZSearchbar {\n /** the id of the searchbar element */\n @Prop({reflect: true})\n htmlid = `searchbar-${randomId()}`;\n\n /** Prevent submit action */\n @Prop()\n preventSubmit?: boolean = false;\n\n /** Input search string */\n @Prop()\n value?: string;\n\n /** Search input placeholder */\n @Prop()\n placeholder?: string;\n\n /** Show autocomplete results */\n @Prop()\n autocomplete?: boolean = false;\n\n /** Minimun number of characters to dispatch typing event */\n @Prop()\n autocompleteMinChars?: number = 3;\n\n /** Number of results shown - default all */\n @Prop()\n resultsCount?: number;\n\n /** Search helper text */\n @Prop()\n searchHelperLabel?: string = \"Cerca {searchString}\";\n\n /** Autocomplete results items */\n @Prop()\n resultsItems?: SearchbarItem[] | string;\n\n /** Sort autocomplete results items */\n @Prop()\n sortResultsItems?: boolean = false;\n\n /** Show submit button */\n @Prop()\n showSearchButton?: boolean = false;\n\n /** Set button icon without label*/\n @Prop()\n searchButtonIconOnly?: boolean = false;\n\n /** Available sizes: `big`, `small` and `x-small`. Defaults to `big`. */\n @Prop()\n size?: ControlSize = ControlSize.BIG;\n\n /** Graphical variant: `primary`, `secondary`, `tertiary`. Defaults to `primary`. */\n @Prop()\n variant?: ButtonVariant = ButtonVariant.PRIMARY;\n\n @State()\n searchString = this.value;\n\n @State()\n currResultsCount = 0;\n\n @State()\n showResults = false;\n\n @State()\n isMobile = false;\n\n @Element() element: HTMLZSearchbarElement;\n\n private resultsItemsList: SearchbarItem[] | undefined = null;\n\n private inputRef: HTMLZInputElement;\n\n private resizeObserver: ResizeObserver;\n\n /** Emitted on search submit, return search string */\n @Event()\n searchSubmit: EventEmitter<string>;\n\n private emitSearchSubmit(): void {\n this.searchSubmit.emit(this.inputRef.value);\n }\n\n /** Emitted on search typing, return search string */\n @Event()\n searchTyping: EventEmitter<string>;\n\n private emitSearchTyping(search: string): void {\n this.searchTyping.emit(search);\n }\n\n /** Emitted on search result click, return item */\n @Event()\n searchItemClick: EventEmitter<SearchbarItem>;\n\n private emitSearchItemClick(item: SearchbarItem): void {\n this.searchItemClick.emit(item);\n }\n\n @Watch(\"resultsItems\")\n watchItems(): void {\n this.resultsItemsList = this.getResultsItemsList();\n }\n\n @Watch(\"resultsCount\")\n watchResultsCount(): void {\n this.currResultsCount = this.resultsCount;\n }\n\n @Watch(\"value\")\n watchValue(): void {\n this.searchString = this.value;\n }\n\n @Watch(\"searchString\")\n watchSearchString(): void {\n this.emitSearchTyping(this.searchString);\n if (!this.searchString) {\n this.currResultsCount = this.resultsCount;\n }\n }\n\n disconnectedCallback(): void {\n this.resizeObserver.disconnect();\n }\n\n componentDidLoad(): void {\n this.resizeObserver = new ResizeObserver(() => {\n if (getDevice() === Device.MOBILE && !this.isMobile) {\n this.isMobile = true;\n }\n if (getDevice() !== Device.MOBILE && this.isMobile) {\n this.isMobile = false;\n }\n });\n this.resizeObserver.observe(this.element);\n }\n\n componentWillLoad(): void {\n this.resultsItemsList = this.getResultsItemsList();\n this.currResultsCount = this.resultsCount;\n }\n\n private getResultsItemsList(): SearchbarItem[] | undefined {\n return typeof this.resultsItems === \"string\" ? JSON.parse(this.resultsItems) : this.resultsItems;\n }\n\n private getGroupedItems(items: SearchbarItem[]): SearchbarGroupedItem {\n const groupedItems = {};\n items.forEach((item: SearchbarItem) => {\n const key = `${item?.category}${item?.subcategory}`;\n groupedItems[key] = groupedItems[key] ?? {\n category: item?.category,\n subcategory: item?.subcategory,\n items: [],\n };\n groupedItems[key][\"items\"].push(item);\n });\n\n if (this.sortResultsItems) {\n return Object.keys(groupedItems)\n .sort()\n .reduce((obj, key) => {\n obj[key] = {\n ...groupedItems[key],\n items: groupedItems[key][\"items\"].sort((a: SearchbarItem, b: SearchbarItem) => {\n const nameA = a.label.toUpperCase();\n const nameB = b.label.toUpperCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n\n return 0;\n }),\n };\n\n return obj;\n }, {});\n }\n\n return groupedItems;\n }\n\n private checkResultsCount(counter: number): boolean {\n if (!this.currResultsCount || counter < this.currResultsCount) {\n return true;\n }\n\n return false;\n }\n\n private handleStopTyping(e: CustomEvent): void {\n e.stopPropagation();\n this.searchString = e.detail.value;\n }\n\n private handleSubmit(): void {\n if (this.preventSubmit) {\n return;\n }\n\n this.emitSearchSubmit();\n }\n\n @Listen(\"click\", {target: \"document\"})\n private handleOutsideClick(e: MouseEvent): void {\n const cp = e.composedPath();\n\n const searchbar = cp.find((elem: HTMLElement) => elem.nodeName === \"Z-SEARCHBAR\");\n if (!searchbar || (searchbar as HTMLZSearchbarElement).htmlid !== this.htmlid) {\n this.showResults = false;\n\n return;\n }\n\n if (cp.find((elem: HTMLElement) => elem?.nodeName === \"Z-INPUT\" || elem?.classList?.contains(\"results\"))) {\n this.showResults = true;\n\n return;\n }\n\n this.showResults = false;\n }\n\n private renderInput(): HTMLZInputElement {\n return (\n <z-input\n ref={(val) => {\n this.inputRef = val;\n }}\n message={false}\n placeholder={this.placeholder}\n onStopTyping={(e: CustomEvent) => this.handleStopTyping(e)}\n onKeyUp={(e: KeyboardEvent) => handleEnterKeydSubmit(e, () => this.handleSubmit())}\n value={this.value}\n ariaLabel={this.placeholder}\n size={this.size}\n />\n );\n }\n\n private renderButton(): HTMLZButtonElement | null {\n if (!this.showSearchButton) {\n return null;\n }\n\n const iconProp = this.searchButtonIconOnly ? {icon: \"search\"} : null;\n const buttonLabel = this.searchButtonIconOnly ? \"\" : \"CERCA\";\n const defaultProps = {\n disabled: this.preventSubmit,\n variant: this.variant,\n size: this.size,\n onClick: () => this.handleSubmit(),\n ...iconProp,\n };\n\n return <z-button {...defaultProps}>{buttonLabel}</z-button>;\n }\n\n private renderResults(): HTMLDivElement | null {\n if (\n !this.showResults ||\n !this.autocomplete ||\n !this.searchString ||\n this.searchString.length < this.autocompleteMinChars ||\n !this.resultsItemsList\n ) {\n return null;\n }\n\n return (\n <div class=\"results-wrapper\">\n <div class=\"results\">{this.renderResultsList()}</div>\n </div>\n );\n }\n\n private renderResultsList(): HTMLZListElement | HTMLSpanElement {\n if (this.preventSubmit && !this.resultsItemsList?.length) {\n return (\n <span class=\"item item-no-results\">\n Non abbiamo trovato risultati per <b>{this.searchString}</b>\n <br />\n <br />\n Cosa puoi fare?\n <ul>\n <li>Verificare di aver scritto bene</li>\n <li>Provare a cercare un'altra parola</li>\n <li>Provare a cercare qualcosa di più generico</li>\n </ul>\n </span>\n );\n }\n\n return (\n <z-list\n role=\"listbox\"\n id={`list-${this.htmlid}`}\n >\n {this.renderSearchHelper(!!this.resultsItemsList?.length)}\n {this.renderItems()}\n {this.renderShowAllResults()}\n </z-list>\n );\n }\n\n private renderItems(): HTMLZListGroupElement[] {\n if (!this.resultsItemsList?.length) {\n return [];\n }\n\n const groupedItems = this.getGroupedItems(this.resultsItemsList);\n const listGroups: HTMLZListGroupElement[] = [];\n let counter = 0;\n\n Object.values(groupedItems).forEach((groupItem: SearchbarGroup, index: number, array) => {\n if (this.checkResultsCount(counter)) {\n const listGroupsElements: HTMLZListElement[] = [];\n groupItem.items.forEach((item: SearchbarItem, subindex: number, subarray) => {\n if (this.checkResultsCount(counter)) {\n const isLast = index === array.length - 1 && subindex === subarray.length - 1;\n listGroupsElements.push(this.renderItem(item, subindex, !isLast));\n }\n counter++;\n });\n\n if (listGroupsElements.length) {\n listGroups.push(\n <z-list-group divider-type={ListDividerType.ELEMENT}>\n {this.renderItemCategory(groupItem)}\n {listGroupsElements}\n </z-list-group>\n );\n }\n }\n });\n\n return listGroups;\n }\n\n private renderItem(item: SearchbarItem, key: number, divider: boolean): HTMLZListElementElement {\n return (\n <z-list-element\n id={`list-item-${this.htmlid}-${key}`}\n role=\"option\"\n tabindex={0}\n dividerType={divider ? ListDividerType.ELEMENT : undefined}\n >\n <div\n class=\"list-element\"\n onClick={() => this.emitSearchItemClick(item)}\n >\n <span class=\"item ellipsis\">\n {item?.icon && (\n <z-icon\n class=\"item-icon\"\n name={item.icon}\n />\n )}\n <span\n class=\"item-label\"\n title={item.label}\n innerHTML={this.renderItemLabel(item.label)}\n />\n </span>\n {item?.tag && <z-tag icon={item.tag.icon}>{!this.isMobile ? item.tag.text : \"\"}</z-tag>}\n </div>\n {item.children && item.children.length > 0 ? (\n <z-list>\n <div class=\"children-node\">{item.children.map((child, index) => this.renderItem(child, index, false))}</div>\n </z-list>\n ) : null}\n </z-list-element>\n );\n }\n\n private renderItemLabel(label: string): string {\n if (!this.searchString) {\n return label;\n }\n\n return label.replace(\n new RegExp(this.searchString.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), \"gmi\"),\n (found) => `<mark>${found}</mark>`\n );\n }\n\n private renderItemCategory(groupItem: SearchbarGroup): HTMLSpanElement | null {\n if (!groupItem?.category) {\n return null;\n }\n\n return (\n <span\n class=\"category-heading\"\n slot=\"header-title\"\n >\n <span class=\"category\">{groupItem.category}</span>\n {groupItem?.subcategory && <span class=\"subcategory\">{groupItem.subcategory}</span>}\n </span>\n );\n }\n\n private renderSearchHelper(hasDivider = true): HTMLZListElement | null {\n if (!this.autocomplete || this.preventSubmit || !this.searchString) {\n return null;\n }\n\n return (\n <z-list-element\n role=\"option\"\n tabindex={0}\n dividerType={hasDivider ? ListDividerType.ELEMENT : undefined}\n clickable\n id={`list-item-${this.htmlid}-search`}\n onClickItem={() => this.emitSearchSubmit()}\n >\n <span class=\"item item-search\">\n <z-icon\n class=\"search-icon\"\n name=\"left-magnifying-glass\"\n />\n <span\n class=\"item-label\"\n innerHTML={this.searchHelperLabel.replace(\"{searchString}\", `<mark>${this.searchString}</mark>`)}\n />\n </span>\n </z-list-element>\n );\n }\n\n private renderShowAllResults(): HTMLZListElement | null {\n if (\n !this.currResultsCount ||\n !this.searchString ||\n !this.resultsItemsList?.length ||\n this.currResultsCount >= this.resultsItemsList?.length\n ) {\n return null;\n }\n\n return (\n <z-list-element\n role=\"option\"\n tabindex={0}\n clickable\n id={`list-item-${this.htmlid}-show-all`}\n onClickItem={() => (this.currResultsCount = 0)}\n color=\"color-primary01\"\n >\n <div class=\"item-show-all\">Vedi tutti i risultati</div>\n </z-list-element>\n );\n }\n\n render(): HTMLZSearchbarElement {\n return (\n <Host\n onFocus={() => (this.showResults = true)}\n onClick={(e) => this.handleOutsideClick(e)}\n class={{\"has-submit\": this.showSearchButton, \"has-results\": this.autocomplete}}\n >\n <div class=\"input-container\">\n {this.renderInput()}\n {this.renderResults()}\n </div>\n {this.renderButton()}\n </Host>\n );\n }\n}\n"]}
|
|
@@ -138,7 +138,6 @@ describe("Suite test ZSearchbar", () => {
|
|
|
138
138
|
role="option"
|
|
139
139
|
tabindex="0"
|
|
140
140
|
dividerType="element"
|
|
141
|
-
clickable
|
|
142
141
|
>
|
|
143
142
|
<div class="list-element">
|
|
144
143
|
<span class="item ellipsis">
|
|
@@ -336,7 +335,6 @@ const resultsItems = () => `
|
|
|
336
335
|
role="option"
|
|
337
336
|
tabindex="0"
|
|
338
337
|
dividerType="element"
|
|
339
|
-
clickable
|
|
340
338
|
>
|
|
341
339
|
<div class="list-element">
|
|
342
340
|
<span class="item ellipsis">
|
|
@@ -350,7 +348,6 @@ const resultsItems = () => `
|
|
|
350
348
|
role="option"
|
|
351
349
|
tabindex="0"
|
|
352
350
|
dividerType="element"
|
|
353
|
-
clickable
|
|
354
351
|
>
|
|
355
352
|
<div class="list-element">
|
|
356
353
|
<span class="item ellipsis">
|
|
@@ -362,7 +359,6 @@ const resultsItems = () => `
|
|
|
362
359
|
id="list-item-my-id-2"
|
|
363
360
|
role="option"
|
|
364
361
|
tabindex="0"
|
|
365
|
-
clickable
|
|
366
362
|
>
|
|
367
363
|
<div class="list-element">
|
|
368
364
|
<span class="item ellipsis">
|
|
@@ -390,8 +386,8 @@ const showAllResults = () => `
|
|
|
390
386
|
role="option"
|
|
391
387
|
tabindex="0"
|
|
392
388
|
id="list-item-my-id-show-all"
|
|
393
|
-
clickable
|
|
394
389
|
color="color-primary01"
|
|
390
|
+
clickable
|
|
395
391
|
>
|
|
396
392
|
<div class="item-show-all">Vedi tutti i risultati</div>
|
|
397
393
|
</z-list-element>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../src/components/z-searchbar/index.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import {newSpecPage} from \"@stencil/core/testing\";\n\nimport {ZSearchbar} from \"./index\";\n\nglobal.ResizeObserver = jest.fn().mockImplementation(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\ndescribe(\"Suite test ZSearchbar\", () => {\n it(\"Simple searchbar\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar without search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" autocomplete=\"true\" prevent-submit=\"true\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-results\" htmlid=\"my-id\" autocomplete=\"true\" prevent-submit=\"true\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and results - no input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper()}\n ${resultsItems()}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and limited results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n results-count=\"1\"\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n results-count=\"1\"\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper()}\n <z-list-group divider-type=\"element\">\n <z-list-element\n id=\"list-item-my-id-0\"\n role=\"option\"\n tabindex=\"0\"\n dividerType=\"element\"\n clickable\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <z-icon class=\"item-icon\" name=\"download\"></z-icon>\n <span class=\"item-label\" title=\"item 1\"><mark>item</mark> 1</span>\n </span>\n </div>\n </z-list-element>\n </z-list-group>\n ${showAllResults()}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and limited results (show all) - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n page.rootInstance.currResultsCount = 0;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper()}\n ${resultsItems()}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar without search and no results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n prevent-submit=\"true\"\n results-items='[]'\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n page.rootInstance.currResultsCount = 0;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n prevent-submit=\"true\"\n results-items=\"[]\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <span class=\"item item-no-results\">\n Non abbiamo trovato risultati per <b>item</b>\n <br /><br />\n Cosa puoi fare?\n <ul>\n <li>Verificare di aver scritto bene</li>\n <li>Provare a cercare un'altra parola</li>\n <li>Provare a cercare qualcosa di più generico</li>\n </ul>\n </span>\n </div>\n </div>\n </div>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and no results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='[]'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n page.rootInstance.currResultsCount = 0;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='[]'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper(false)}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Simple searchbar change size\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\" size=\"small\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\" size=\"small\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"small\"></z-input>\n </div>\n <z-button size=\"small\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Simple searchbar change button variant\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\" variant=\"secondary\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\" variant=\"secondary\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button size=\"big\" variant=\"secondary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Simple searchbar only icon button\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\" search-button-icon-only=\"true\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\" search-button-icon-only=\"true\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button icon=\"search\" size=\"big\" variant=\"primary\"></z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n});\n\nconst getItems = () => [{label: \"item 1\", icon: \"download\"}, {label: \"item 2\"}, {label: \"item 3\"}];\n\nconst resultsItems = () => `\n <z-list-group divider-type=\"element\">\n <z-list-element\n id=\"list-item-my-id-0\"\n role=\"option\"\n tabindex=\"0\"\n dividerType=\"element\"\n clickable\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <z-icon class=\"item-icon\" name=\"download\"></z-icon>\n <span class=\"item-label\" title=\"item 1\"><mark>item</mark> 1</span>\n </span>\n </div>\n </z-list-element>\n <z-list-element\n id=\"list-item-my-id-1\"\n role=\"option\"\n tabindex=\"0\"\n dividerType=\"element\"\n clickable\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <span class=\"item-label\" title=\"item 2\"><mark>item</mark> 2</span>\n </span>\n </div>\n </z-list-element>\n <z-list-element\n id=\"list-item-my-id-2\"\n role=\"option\"\n tabindex=\"0\"\n clickable\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <span class=\"item-label\" title=\"item 3\"><mark>item</mark> 3</span>\n </span>\n </div>\n </z-list-element>\n </z-list-group>`;\n\nconst searchHelper = (divider: boolean = true) => `\n <z-list-element\n role=\"option\"\n tabindex=\"0\"\n ${divider ? `dividerType=\"element\"` : ``}\n id=\"list-item-my-id-search\"\n clickable\n >\n <span class=\"item item-search\">\n <z-icon class=\"search-icon\" name=\"left-magnifying-glass\"></z-icon>\n <span class=\"item-label\">Cerca <mark>item</mark></span>\n </span>\n </z-list-element>\n`;\n\nconst showAllResults = () => `\n <z-list-element\n role=\"option\"\n tabindex=\"0\"\n id=\"list-item-my-id-show-all\"\n clickable\n color=\"color-primary01\"\n >\n <div class=\"item-show-all\">Vedi tutti i risultati</div>\n </z-list-element>\n`;\n"]}
|
|
1
|
+
{"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../src/components/z-searchbar/index.spec.ts"],"names":[],"mappings":"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","sourcesContent":["import {newSpecPage} from \"@stencil/core/testing\";\n\nimport {ZSearchbar} from \"./index\";\n\nglobal.ResizeObserver = jest.fn().mockImplementation(() => ({\n observe: jest.fn(),\n unobserve: jest.fn(),\n disconnect: jest.fn(),\n}));\n\ndescribe(\"Suite test ZSearchbar\", () => {\n it(\"Simple searchbar\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar without search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" autocomplete=\"true\" prevent-submit=\"true\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-results\" htmlid=\"my-id\" autocomplete=\"true\" prevent-submit=\"true\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and results - no input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper()}\n ${resultsItems()}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and limited results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n results-count=\"1\"\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n results-count=\"1\"\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper()}\n <z-list-group divider-type=\"element\">\n <z-list-element\n id=\"list-item-my-id-0\"\n role=\"option\"\n tabindex=\"0\"\n dividerType=\"element\"\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <z-icon class=\"item-icon\" name=\"download\"></z-icon>\n <span class=\"item-label\" title=\"item 1\"><mark>item</mark> 1</span>\n </span>\n </div>\n </z-list-element>\n </z-list-group>\n ${showAllResults()}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and limited results (show all) - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n page.rootInstance.currResultsCount = 0;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='${JSON.stringify(getItems())}'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper()}\n ${resultsItems()}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar without search and no results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n prevent-submit=\"true\"\n results-items='[]'\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n page.rootInstance.currResultsCount = 0;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n prevent-submit=\"true\"\n results-items=\"[]\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <span class=\"item item-no-results\">\n Non abbiamo trovato risultati per <b>item</b>\n <br /><br />\n Cosa puoi fare?\n <ul>\n <li>Verificare di aver scritto bene</li>\n <li>Provare a cercare un'altra parola</li>\n <li>Provare a cercare qualcosa di più generico</li>\n </ul>\n </span>\n </div>\n </div>\n </div>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Autocomplete searchbar with search and no results - with input search\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='[]'\n show-search-button=\"true\"\n ></z-searchbar>`,\n });\n page.rootInstance.searchString = \"item\";\n page.rootInstance.showResults = true;\n page.rootInstance.currResultsCount = 0;\n await page.waitForChanges();\n expect(page.root).toEqualHtml(`\n <z-searchbar\n class=\"has-submit has-results\"\n htmlid=\"my-id\"\n autocomplete=\"true\"\n results-items='[]'\n show-search-button=\"true\"\n >\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n <div class=\"results-wrapper\">\n <div class=\"results\">\n <z-list role=\"listbox\" id=\"list-my-id\">\n ${searchHelper(false)}\n </z-list>\n </div>\n </div>\n </div>\n <z-button size=\"big\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Simple searchbar change size\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\" size=\"small\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\" size=\"small\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"small\"></z-input>\n </div>\n <z-button size=\"small\" variant=\"primary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Simple searchbar change button variant\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\" variant=\"secondary\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\" variant=\"secondary\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button size=\"big\" variant=\"secondary\">CERCA</z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n\n it(\"Simple searchbar only icon button\", async () => {\n const page = await newSpecPage({\n components: [ZSearchbar],\n html: `<z-searchbar htmlid=\"my-id\" show-search-button=\"true\" search-button-icon-only=\"true\"></z-searchbar>`,\n });\n expect(page.root).toEqualHtml(`\n <z-searchbar class=\"has-submit\" htmlid=\"my-id\" show-search-button=\"true\" search-button-icon-only=\"true\">\n <mock:shadow-root>\n <div class=\"input-container\">\n <z-input size=\"big\"></z-input>\n </div>\n <z-button icon=\"search\" size=\"big\" variant=\"primary\"></z-button>\n </mock:shadow-root>\n </z-searchbar>\n `);\n });\n});\n\nconst getItems = () => [{label: \"item 1\", icon: \"download\"}, {label: \"item 2\"}, {label: \"item 3\"}];\n\nconst resultsItems = () => `\n <z-list-group divider-type=\"element\">\n <z-list-element\n id=\"list-item-my-id-0\"\n role=\"option\"\n tabindex=\"0\"\n dividerType=\"element\"\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <z-icon class=\"item-icon\" name=\"download\"></z-icon>\n <span class=\"item-label\" title=\"item 1\"><mark>item</mark> 1</span>\n </span>\n </div>\n </z-list-element>\n <z-list-element\n id=\"list-item-my-id-1\"\n role=\"option\"\n tabindex=\"0\"\n dividerType=\"element\"\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <span class=\"item-label\" title=\"item 2\"><mark>item</mark> 2</span>\n </span>\n </div>\n </z-list-element>\n <z-list-element\n id=\"list-item-my-id-2\"\n role=\"option\"\n tabindex=\"0\"\n >\n <div class=\"list-element\">\n <span class=\"item ellipsis\">\n <span class=\"item-label\" title=\"item 3\"><mark>item</mark> 3</span>\n </span>\n </div>\n </z-list-element>\n </z-list-group>`;\n\nconst searchHelper = (divider: boolean = true) => `\n <z-list-element\n role=\"option\"\n tabindex=\"0\"\n ${divider ? `dividerType=\"element\"` : ``}\n id=\"list-item-my-id-search\"\n clickable\n >\n <span class=\"item item-search\">\n <z-icon class=\"search-icon\" name=\"left-magnifying-glass\"></z-icon>\n <span class=\"item-label\">Cerca <mark>item</mark></span>\n </span>\n </z-list-element>\n`;\n\nconst showAllResults = () => `\n <z-list-element\n role=\"option\"\n tabindex=\"0\"\n id=\"list-item-my-id-show-all\"\n color=\"color-primary01\"\n clickable\n >\n <div class=\"item-show-all\">Vedi tutti i risultati</div>\n </z-list-element>\n`;\n"]}
|
|
@@ -25,7 +25,6 @@ const StoryMeta = {
|
|
|
25
25
|
"autocomplete": false,
|
|
26
26
|
"autocompleteMinChars": 3,
|
|
27
27
|
"resultsCount": null,
|
|
28
|
-
"resultsEllipsis": true,
|
|
29
28
|
"searchHelperLabel": "Cerca {searchString}",
|
|
30
29
|
"resultsItems": [
|
|
31
30
|
{
|
|
@@ -62,7 +61,6 @@ export const Default = {
|
|
|
62
61
|
autocomplete=${args.autocomplete}
|
|
63
62
|
autocomplete-min-chars=${args.autocompleteMinChars}
|
|
64
63
|
results-count=${args.resultsCount}
|
|
65
|
-
results-ellipsis=${args.resultsEllipsis}
|
|
66
64
|
search-helper-label=${args.searchHelperLabel}
|
|
67
65
|
results-items=${JSON.stringify(args.resultsItems)}
|
|
68
66
|
sort-results-items=${JSON.stringify(args.sortResultsItems)}
|
|
@@ -112,7 +110,6 @@ export const Autocomplete = {
|
|
|
112
110
|
autocomplete=${args.autocomplete}
|
|
113
111
|
autocomplete-min-chars=${args.autocompleteMinChars}
|
|
114
112
|
results-count=${args.resultsCount}
|
|
115
|
-
results-ellipsis=${args.resultsEllipsis}
|
|
116
113
|
search-helper-label=${args.searchHelperLabel}
|
|
117
114
|
results-items=${JSON.stringify(args.resultsItems)}
|
|
118
115
|
sort-results-items=${JSON.stringify(args.sortResultsItems)}
|
|
@@ -182,7 +179,137 @@ export const AutocompleteWithComplexItems = {
|
|
|
182
179
|
autocomplete=${args.autocomplete}
|
|
183
180
|
autocomplete-min-chars=${args.autocompleteMinChars}
|
|
184
181
|
results-count=${args.resultsCount}
|
|
185
|
-
|
|
182
|
+
search-helper-label=${args.searchHelperLabel}
|
|
183
|
+
results-items=${JSON.stringify(args.resultsItems)}
|
|
184
|
+
sort-results-items=${JSON.stringify(args.sortResultsItems)}
|
|
185
|
+
value=${args.value}
|
|
186
|
+
placeholder=${args.placeholder}
|
|
187
|
+
htmlid=${args.htmlid}
|
|
188
|
+
style="--z-searchbar-results-height: ${args["--z-searchbar-results-height"]}; --z-searchbar-tag-text-color: ${args["--z-searchbar-tag-text-color"]}; --z-searchbar-tag-bg: ${args["--z-searchbar-tag-bg"]}"
|
|
189
|
+
size=${args.size}
|
|
190
|
+
variant=${args.variant}
|
|
191
|
+
></z-searchbar>
|
|
192
|
+
`,
|
|
193
|
+
};
|
|
194
|
+
export const AutocompleteWithComplexTreeItems = {
|
|
195
|
+
args: {
|
|
196
|
+
autocomplete: true,
|
|
197
|
+
htmlid: "myIdGroupedAutocomplete",
|
|
198
|
+
showSearchButton: false,
|
|
199
|
+
searchButtonIconOnly: false,
|
|
200
|
+
resultsItems: [
|
|
201
|
+
{
|
|
202
|
+
label: "first item",
|
|
203
|
+
icon: "download",
|
|
204
|
+
tag: {
|
|
205
|
+
text: "Riservato all'insegnante",
|
|
206
|
+
icon: "teacher",
|
|
207
|
+
},
|
|
208
|
+
category: "Category A",
|
|
209
|
+
subcategory: "Subcategory A1",
|
|
210
|
+
children: [
|
|
211
|
+
{
|
|
212
|
+
label: "first item - first child",
|
|
213
|
+
icon: "download",
|
|
214
|
+
tag: {
|
|
215
|
+
text: "Riservato all'insegnante",
|
|
216
|
+
icon: "teacher",
|
|
217
|
+
},
|
|
218
|
+
children: [
|
|
219
|
+
{
|
|
220
|
+
label: "first item - first child - first child lunghissssssssssssssss sssssssssssssssssss ssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssssssssssssssssimo",
|
|
221
|
+
icon: "download",
|
|
222
|
+
tag: {
|
|
223
|
+
text: "Riservato all'insegnante",
|
|
224
|
+
icon: "teacher",
|
|
225
|
+
},
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
label: "first item - first child - second child",
|
|
229
|
+
icon: "download",
|
|
230
|
+
tag: {
|
|
231
|
+
text: "Riservato all'insegnante",
|
|
232
|
+
icon: "teacher",
|
|
233
|
+
},
|
|
234
|
+
},
|
|
235
|
+
{
|
|
236
|
+
label: "first item - first child - third child",
|
|
237
|
+
icon: "download",
|
|
238
|
+
tag: {
|
|
239
|
+
text: "Riservato all'insegnante",
|
|
240
|
+
icon: "teacher",
|
|
241
|
+
},
|
|
242
|
+
},
|
|
243
|
+
],
|
|
244
|
+
},
|
|
245
|
+
{
|
|
246
|
+
label: "first item - second child",
|
|
247
|
+
icon: "download",
|
|
248
|
+
tag: {
|
|
249
|
+
text: "Riservato all'insegnante",
|
|
250
|
+
icon: "teacher",
|
|
251
|
+
},
|
|
252
|
+
},
|
|
253
|
+
],
|
|
254
|
+
},
|
|
255
|
+
{
|
|
256
|
+
label: "second item",
|
|
257
|
+
icon: "collezioni",
|
|
258
|
+
category: "Category B",
|
|
259
|
+
subcategory: "Subcategory B1",
|
|
260
|
+
},
|
|
261
|
+
{
|
|
262
|
+
label: "third item",
|
|
263
|
+
icon: "dictonary",
|
|
264
|
+
category: "Category A",
|
|
265
|
+
subcategory: "Subcategory A2",
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
label: "fourth item",
|
|
269
|
+
icon: "exercises-online",
|
|
270
|
+
category: "Category A",
|
|
271
|
+
subcategory: "Subcategory A1",
|
|
272
|
+
},
|
|
273
|
+
{
|
|
274
|
+
label: "fifth item",
|
|
275
|
+
icon: "interactives-maps",
|
|
276
|
+
category: "Category A",
|
|
277
|
+
subcategory: "Subcategory A1",
|
|
278
|
+
children: [
|
|
279
|
+
{
|
|
280
|
+
label: "fifth item - first child",
|
|
281
|
+
icon: "download",
|
|
282
|
+
tag: {
|
|
283
|
+
text: "Riservato all'insegnante",
|
|
284
|
+
icon: "teacher",
|
|
285
|
+
},
|
|
286
|
+
},
|
|
287
|
+
{
|
|
288
|
+
label: "fifth item - second child",
|
|
289
|
+
icon: "download",
|
|
290
|
+
tag: {
|
|
291
|
+
text: "Riservato all'insegnante",
|
|
292
|
+
icon: "teacher",
|
|
293
|
+
},
|
|
294
|
+
},
|
|
295
|
+
],
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
label: "sixth item",
|
|
299
|
+
icon: "textual-analysis",
|
|
300
|
+
category: "Category B",
|
|
301
|
+
subcategory: "Subcategory B1",
|
|
302
|
+
},
|
|
303
|
+
],
|
|
304
|
+
},
|
|
305
|
+
render: (args) => html `
|
|
306
|
+
<z-searchbar
|
|
307
|
+
prevent-submit=${args.preventSubmit}
|
|
308
|
+
show-search-button=${args.showSearchButton}
|
|
309
|
+
search-button-icon-only=${args.searchButtonIconOnly}
|
|
310
|
+
autocomplete=${args.autocomplete}
|
|
311
|
+
autocomplete-min-chars=${args.autocompleteMinChars}
|
|
312
|
+
results-count=${args.resultsCount}
|
|
186
313
|
search-helper-label=${args.searchHelperLabel}
|
|
187
314
|
results-items=${JSON.stringify(args.resultsItems)}
|
|
188
315
|
sort-results-items=${JSON.stringify(args.sortResultsItems)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-searchbar/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {type ZSearchbar} from \".\";\nimport {ButtonVariant, ControlSize} from \"../../beans\";\nimport {CSSVarsArguments} from \"../../utils/storybook-utils\";\nimport \"./index\";\n\ntype ZSearchbarStoriesArgs = ZSearchbar &\n CSSVarsArguments<\"--z-searchbar-results-height\" | \"--z-searchbar-tag-text-color\" | \"--z-searchbar-tag-bg\">;\n\nconst StoryMeta = {\n title: \"ZSearchbar\",\n component: \"z-searchbar\",\n argTypes: {\n size: {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(ControlSize),\n },\n variant: {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(ButtonVariant),\n },\n },\n args: {\n \"preventSubmit\": false,\n \"showSearchButton\": false,\n \"searchButtonIconOnly\": false,\n \"autocomplete\": false,\n \"autocompleteMinChars\": 3,\n \"resultsCount\": null,\n \"resultsEllipsis\": true,\n \"searchHelperLabel\": \"Cerca {searchString}\",\n \"resultsItems\": [\n {\n label: \"first item\",\n },\n {\n label: \"second item\",\n },\n {\n label: \"third item\",\n },\n {\n label: \"fourth item\",\n },\n ],\n \"sortResultsItems\": false,\n \"htmlid\": \"myId\",\n \"placeholder\": \"my placeholder\",\n \"value\": \"\",\n \"--z-searchbar-results-height\": \"\",\n \"--z-searchbar-tag-text-color\": \"var(--color-primary03)\",\n \"--z-searchbar-tag-bg\": \"var(--color-hover-primary)\",\n \"size\": ControlSize.BIG,\n \"variant\": ButtonVariant.PRIMARY,\n },\n} satisfies Meta<ZSearchbarStoriesArgs>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZSearchbarStoriesArgs>;\n\nexport const Default = {\n render: (args) => html`\n <z-searchbar\n prevent-submit=${args.preventSubmit}\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autocomplete=${args.autocomplete}\n autocomplete-min-chars=${args.autocompleteMinChars}\n results-count=${args.resultsCount}\n results-ellipsis=${args.resultsEllipsis}\n search-helper-label=${args.searchHelperLabel}\n results-items=${JSON.stringify(args.resultsItems)}\n sort-results-items=${JSON.stringify(args.sortResultsItems)}\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n style=\"--z-searchbar-results-height: ${args[\"--z-searchbar-results-height\"]}\"\n size=${args.size}\n variant=${args.variant}\n ></z-searchbar>\n `,\n} satisfies Story;\n\nexport const SimpleSearch = {\n parameters: {\n controls: {\n include: [\"value\", \"placeholder\", \"htmlid\", \"size\"],\n },\n },\n args: {\n htmlid: \"myIdSimple\",\n },\n render: (args) => html`\n <z-searchbar\n prevent-submit=\"false\"\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autcomplete=\"false\"\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n size=${args.size}\n ></z-searchbar>\n `,\n} satisfies Story;\n\nexport const Autocomplete = {\n args: {\n autocomplete: true,\n htmlid: \"myIdAutocomplete\",\n showSearchButton: false,\n searchButtonIconOnly: false,\n },\n render: (args) => html`\n <z-searchbar\n prevent-submit=${args.preventSubmit}\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autocomplete=${args.autocomplete}\n autocomplete-min-chars=${args.autocompleteMinChars}\n results-count=${args.resultsCount}\n results-ellipsis=${args.resultsEllipsis}\n search-helper-label=${args.searchHelperLabel}\n results-items=${JSON.stringify(args.resultsItems)}\n sort-results-items=${JSON.stringify(args.sortResultsItems)}\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n style=\"--z-searchbar-results-height: ${args[\"--z-searchbar-results-height\"]}\"\n size=${args.size}\n variant=${args.variant}\n ></z-searchbar>\n `,\n} satisfies Story;\n\nexport const AutocompleteWithComplexItems = {\n args: {\n autocomplete: true,\n htmlid: \"myIdGroupedAutocomplete\",\n showSearchButton: false,\n searchButtonIconOnly: false,\n resultsItems: [\n {\n label: \"first item\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n },\n {\n label: \"second item\",\n icon: \"collezioni\",\n category: \"Category B\",\n subcategory: \"Subcategory B1\",\n },\n {\n label: \"third item\",\n icon: \"dictonary\",\n category: \"Category A\",\n subcategory: \"Subcategory A2\",\n },\n {\n label: \"fourth item\",\n icon: \"exercises-online\",\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n },\n {\n label: \"fifth item\",\n icon: \"interactives-maps\",\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n },\n {\n label: \"sixth item\",\n icon: \"textual-analysis\",\n category: \"Category B\",\n subcategory: \"Subcategory B1\",\n },\n ],\n },\n render: (args) => html`\n <z-searchbar\n prevent-submit=${args.preventSubmit}\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autocomplete=${args.autocomplete}\n autocomplete-min-chars=${args.autocompleteMinChars}\n results-count=${args.resultsCount}\n results-ellipsis=${args.resultsEllipsis}\n search-helper-label=${args.searchHelperLabel}\n results-items=${JSON.stringify(args.resultsItems)}\n sort-results-items=${JSON.stringify(args.sortResultsItems)}\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n style=\"--z-searchbar-results-height: ${args[\n \"--z-searchbar-results-height\"\n ]}; --z-searchbar-tag-text-color: ${args[\"--z-searchbar-tag-text-color\"]}; --z-searchbar-tag-bg: ${args[\n \"--z-searchbar-tag-bg\"\n ]}\"\n size=${args.size}\n variant=${args.variant}\n ></z-searchbar>\n `,\n} satisfies Story;\n"]}
|
|
1
|
+
{"version":3,"file":"index.stories.js","sourceRoot":"","sources":["../../../../src/components/z-searchbar/index.stories.ts"],"names":[],"mappings":"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","sourcesContent":["import {Meta, StoryObj} from \"@storybook/web-components\";\nimport {html} from \"lit\";\nimport {type ZSearchbar} from \".\";\nimport {ButtonVariant, ControlSize} from \"../../beans\";\nimport {CSSVarsArguments} from \"../../utils/storybook-utils\";\nimport \"./index\";\n\ntype ZSearchbarStoriesArgs = ZSearchbar &\n CSSVarsArguments<\"--z-searchbar-results-height\" | \"--z-searchbar-tag-text-color\" | \"--z-searchbar-tag-bg\">;\n\nconst StoryMeta = {\n title: \"ZSearchbar\",\n component: \"z-searchbar\",\n argTypes: {\n size: {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(ControlSize),\n },\n variant: {\n control: {\n type: \"inline-radio\",\n },\n options: Object.values(ButtonVariant),\n },\n },\n args: {\n \"preventSubmit\": false,\n \"showSearchButton\": false,\n \"searchButtonIconOnly\": false,\n \"autocomplete\": false,\n \"autocompleteMinChars\": 3,\n \"resultsCount\": null,\n \"searchHelperLabel\": \"Cerca {searchString}\",\n \"resultsItems\": [\n {\n label: \"first item\",\n },\n {\n label: \"second item\",\n },\n {\n label: \"third item\",\n },\n {\n label: \"fourth item\",\n },\n ],\n \"sortResultsItems\": false,\n \"htmlid\": \"myId\",\n \"placeholder\": \"my placeholder\",\n \"value\": \"\",\n \"--z-searchbar-results-height\": \"\",\n \"--z-searchbar-tag-text-color\": \"var(--color-primary03)\",\n \"--z-searchbar-tag-bg\": \"var(--color-hover-primary)\",\n \"size\": ControlSize.BIG,\n \"variant\": ButtonVariant.PRIMARY,\n },\n} satisfies Meta<ZSearchbarStoriesArgs>;\n\nexport default StoryMeta;\n\ntype Story = StoryObj<ZSearchbarStoriesArgs>;\n\nexport const Default = {\n render: (args) => html`\n <z-searchbar\n prevent-submit=${args.preventSubmit}\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autocomplete=${args.autocomplete}\n autocomplete-min-chars=${args.autocompleteMinChars}\n results-count=${args.resultsCount}\n search-helper-label=${args.searchHelperLabel}\n results-items=${JSON.stringify(args.resultsItems)}\n sort-results-items=${JSON.stringify(args.sortResultsItems)}\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n style=\"--z-searchbar-results-height: ${args[\"--z-searchbar-results-height\"]}\"\n size=${args.size}\n variant=${args.variant}\n ></z-searchbar>\n `,\n} satisfies Story;\n\nexport const SimpleSearch = {\n parameters: {\n controls: {\n include: [\"value\", \"placeholder\", \"htmlid\", \"size\"],\n },\n },\n args: {\n htmlid: \"myIdSimple\",\n },\n render: (args) => html`\n <z-searchbar\n prevent-submit=\"false\"\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autcomplete=\"false\"\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n size=${args.size}\n ></z-searchbar>\n `,\n} satisfies Story;\n\nexport const Autocomplete = {\n args: {\n autocomplete: true,\n htmlid: \"myIdAutocomplete\",\n showSearchButton: false,\n searchButtonIconOnly: false,\n },\n render: (args) => html`\n <z-searchbar\n prevent-submit=${args.preventSubmit}\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autocomplete=${args.autocomplete}\n autocomplete-min-chars=${args.autocompleteMinChars}\n results-count=${args.resultsCount}\n search-helper-label=${args.searchHelperLabel}\n results-items=${JSON.stringify(args.resultsItems)}\n sort-results-items=${JSON.stringify(args.sortResultsItems)}\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n style=\"--z-searchbar-results-height: ${args[\"--z-searchbar-results-height\"]}\"\n size=${args.size}\n variant=${args.variant}\n ></z-searchbar>\n `,\n} satisfies Story;\n\nexport const AutocompleteWithComplexItems = {\n args: {\n autocomplete: true,\n htmlid: \"myIdGroupedAutocomplete\",\n showSearchButton: false,\n searchButtonIconOnly: false,\n resultsItems: [\n {\n label: \"first item\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n },\n {\n label: \"second item\",\n icon: \"collezioni\",\n category: \"Category B\",\n subcategory: \"Subcategory B1\",\n },\n {\n label: \"third item\",\n icon: \"dictonary\",\n category: \"Category A\",\n subcategory: \"Subcategory A2\",\n },\n {\n label: \"fourth item\",\n icon: \"exercises-online\",\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n },\n {\n label: \"fifth item\",\n icon: \"interactives-maps\",\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n },\n {\n label: \"sixth item\",\n icon: \"textual-analysis\",\n category: \"Category B\",\n subcategory: \"Subcategory B1\",\n },\n ],\n },\n render: (args) => html`\n <z-searchbar\n prevent-submit=${args.preventSubmit}\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autocomplete=${args.autocomplete}\n autocomplete-min-chars=${args.autocompleteMinChars}\n results-count=${args.resultsCount}\n search-helper-label=${args.searchHelperLabel}\n results-items=${JSON.stringify(args.resultsItems)}\n sort-results-items=${JSON.stringify(args.sortResultsItems)}\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n style=\"--z-searchbar-results-height: ${args[\n \"--z-searchbar-results-height\"\n ]}; --z-searchbar-tag-text-color: ${args[\"--z-searchbar-tag-text-color\"]}; --z-searchbar-tag-bg: ${args[\n \"--z-searchbar-tag-bg\"\n ]}\"\n size=${args.size}\n variant=${args.variant}\n ></z-searchbar>\n `,\n} satisfies Story;\n\nexport const AutocompleteWithComplexTreeItems = {\n args: {\n autocomplete: true,\n htmlid: \"myIdGroupedAutocomplete\",\n showSearchButton: false,\n searchButtonIconOnly: false,\n resultsItems: [\n {\n label: \"first item\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n children: [\n {\n label: \"first item - first child\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n children: [\n {\n label:\n \"first item - first child - first child lunghissssssssssssssss sssssssssssssssssss ssssssssssssssssssssssssssssss ssssssssssssssssssssssssssssssssssssssssssssssssssssimo\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n },\n {\n label: \"first item - first child - second child\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n },\n {\n label: \"first item - first child - third child\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n },\n ],\n },\n {\n label: \"first item - second child\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n },\n ],\n },\n {\n label: \"second item\",\n icon: \"collezioni\",\n category: \"Category B\",\n subcategory: \"Subcategory B1\",\n },\n {\n label: \"third item\",\n icon: \"dictonary\",\n category: \"Category A\",\n subcategory: \"Subcategory A2\",\n },\n {\n label: \"fourth item\",\n icon: \"exercises-online\",\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n },\n {\n label: \"fifth item\",\n icon: \"interactives-maps\",\n category: \"Category A\",\n subcategory: \"Subcategory A1\",\n children: [\n {\n label: \"fifth item - first child\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n },\n {\n label: \"fifth item - second child\",\n icon: \"download\",\n tag: {\n text: \"Riservato all'insegnante\",\n icon: \"teacher\",\n },\n },\n ],\n },\n {\n label: \"sixth item\",\n icon: \"textual-analysis\",\n category: \"Category B\",\n subcategory: \"Subcategory B1\",\n },\n ],\n },\n render: (args) => html`\n <z-searchbar\n prevent-submit=${args.preventSubmit}\n show-search-button=${args.showSearchButton}\n search-button-icon-only=${args.searchButtonIconOnly}\n autocomplete=${args.autocomplete}\n autocomplete-min-chars=${args.autocompleteMinChars}\n results-count=${args.resultsCount}\n search-helper-label=${args.searchHelperLabel}\n results-items=${JSON.stringify(args.resultsItems)}\n sort-results-items=${JSON.stringify(args.sortResultsItems)}\n value=${args.value}\n placeholder=${args.placeholder}\n htmlid=${args.htmlid}\n style=\"--z-searchbar-results-height: ${args[\n \"--z-searchbar-results-height\"\n ]}; --z-searchbar-tag-text-color: ${args[\"--z-searchbar-tag-text-color\"]}; --z-searchbar-tag-bg: ${args[\n \"--z-searchbar-tag-bg\"\n ]}\"\n size=${args.size}\n variant=${args.variant}\n ></z-searchbar>\n `,\n} satisfies Story;\n"]}
|