@paperless/core 0.1.0-alpha.413 → 0.1.0-alpha.414
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 +11 -0
- package/dist/build/p-02def278.entry.js +2 -0
- package/dist/{paperless/p-ef2eee59.entry.js.map → build/p-02def278.entry.js.map} +1 -1
- package/dist/{paperless/p-82a05991.entry.js → build/p-2b08e371.entry.js} +2 -2
- package/dist/build/{p-82a05991.entry.js.map → p-2b08e371.entry.js.map} +1 -1
- package/dist/build/p-2e9b2f42.entry.js +2 -0
- package/dist/build/{p-c8a39486.entry.js.map → p-2e9b2f42.entry.js.map} +1 -1
- package/dist/build/p-4f53f2af.entry.js +2 -0
- package/dist/{paperless/p-ebd4ba56.entry.js.map → build/p-4f53f2af.entry.js.map} +1 -1
- package/dist/{paperless/p-e167d64f.entry.js → build/p-5f2e2380.entry.js} +2 -2
- package/dist/{paperless/p-e167d64f.entry.js.map → build/p-5f2e2380.entry.js.map} +1 -1
- package/dist/build/{p-6074b58d.entry.js → p-7bf60ad1.entry.js} +2 -2
- package/dist/build/p-7bf60ad1.entry.js.map +1 -0
- package/dist/build/p-ac894168.entry.js +2 -0
- package/dist/build/{p-8959086f.entry.js.map → p-ac894168.entry.js.map} +1 -1
- package/dist/{paperless/p-c5dff26e.entry.js → build/p-b689e15b.entry.js} +2 -2
- package/dist/build/{p-c5dff26e.entry.js.map → p-b689e15b.entry.js.map} +1 -1
- package/dist/{paperless/p-75aa8c67.entry.js → build/p-c518a362.entry.js} +2 -2
- package/dist/{paperless/p-75aa8c67.entry.js.map → build/p-c518a362.entry.js.map} +1 -1
- package/dist/build/{p-c87da93e.entry.js → p-e7d3ee93.entry.js} +2 -2
- package/dist/{paperless/p-c87da93e.entry.js.map → build/p-e7d3ee93.entry.js.map} +1 -1
- package/dist/build/{p-d012d066.entry.js → p-f4610644.entry.js} +2 -2
- package/dist/build/{p-d012d066.entry.js.map → p-f4610644.entry.js.map} +1 -1
- package/dist/build/paperless.esm.js +1 -1
- package/dist/build/paperless.esm.js.map +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/p-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/p-backdrop.cjs.entry.js.map +1 -1
- package/dist/cjs/p-button_3.cjs.entry.js +3 -3
- package/dist/cjs/p-button_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-dropdown-menu-container.cjs.entry.js +1 -1
- package/dist/cjs/p-dropdown-menu-container.cjs.entry.js.map +1 -1
- package/dist/cjs/p-dropdown_2.cjs.entry.js +2 -2
- package/dist/cjs/p-dropdown_2.cjs.entry.js.map +1 -1
- package/dist/cjs/p-helper_3.cjs.entry.js +2 -2
- package/dist/cjs/p-helper_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-illustration_6.cjs.entry.js +5 -5
- package/dist/cjs/p-illustration_6.cjs.entry.js.map +1 -1
- package/dist/cjs/p-label_3.cjs.entry.js +2 -2
- package/dist/cjs/p-label_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-page-size-select_3.cjs.entry.js +2 -2
- package/dist/cjs/p-page-size-select_3.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.cjs.entry.js +2 -1
- package/dist/cjs/p-select.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table.cjs.entry.js +1 -1
- package/dist/cjs/p-table.cjs.entry.js.map +1 -1
- package/dist/cjs/p-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/p-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/paperless.cjs.js +1 -1
- package/dist/collection/components/atoms/backdrop/backdrop.component.css +1 -1
- package/dist/collection/components/atoms/button/button.component.css +1 -1
- package/dist/collection/components/atoms/divider/divider.component.css +1 -1
- package/dist/collection/components/atoms/dropdown-menu-container/dropdown-menu-container.component.css +1 -1
- package/dist/collection/components/atoms/dropdown-menu-item/dropdown-menu-item.component.css +1 -1
- package/dist/collection/components/atoms/helper/helper.component.css +1 -1
- package/dist/collection/components/atoms/icon/icon.component.css +1 -1
- package/dist/collection/components/atoms/label/label.component.css +1 -1
- package/dist/collection/components/atoms/loader/loader.component.css +1 -1
- package/dist/collection/components/atoms/pagination-item/pagination-item.component.css +1 -1
- package/dist/collection/components/atoms/segment-container/segment-container.component.css +1 -1
- package/dist/collection/components/atoms/segment-item/segment-item.component.css +1 -1
- package/dist/collection/components/atoms/table-container/table-container.component.css +1 -1
- package/dist/collection/components/atoms/tooltip/tooltip.component.css +1 -1
- package/dist/collection/components/molecules/dropdown/dropdown.component.css +1 -1
- package/dist/collection/components/molecules/input-group/input-group.component.css +1 -1
- package/dist/collection/components/molecules/pagination/pagination.component.css +1 -1
- package/dist/collection/components/molecules/select/select.component.js +20 -1
- package/dist/collection/components/molecules/select/select.component.js.map +1 -1
- package/dist/collection/components/molecules/table-cell/table-cell.component.css +1 -1
- package/dist/collection/components/molecules/table-footer/table-footer.component.css +1 -1
- package/dist/collection/components/molecules/table-header/table-header.component.css +1 -1
- package/dist/collection/components/molecules/table-row/table-row.component.css +1 -1
- package/dist/collection/components/organisms/table/table.component.css +1 -1
- package/dist/components/backdrop.component.js +1 -1
- package/dist/components/backdrop.component.js.map +1 -1
- package/dist/components/button.component.js +1 -1
- package/dist/components/button.component.js.map +1 -1
- package/dist/components/dropdown-menu-container.component.js +1 -1
- package/dist/components/dropdown-menu-container.component.js.map +1 -1
- package/dist/components/dropdown-menu-item.component.js +1 -1
- package/dist/components/dropdown-menu-item.component.js.map +1 -1
- package/dist/components/dropdown.component.js +1 -1
- package/dist/components/dropdown.component.js.map +1 -1
- package/dist/components/helper.component.js +1 -1
- package/dist/components/helper.component.js.map +1 -1
- package/dist/components/icon.component.js +1 -1
- package/dist/components/icon.component.js.map +1 -1
- package/dist/components/input-group.component.js +1 -1
- package/dist/components/input-group.component.js.map +1 -1
- package/dist/components/loader.component.js +1 -1
- package/dist/components/loader.component.js.map +1 -1
- package/dist/components/p-select.js +3 -1
- package/dist/components/p-select.js.map +1 -1
- package/dist/components/p-table.js +1 -1
- package/dist/components/p-table.js.map +1 -1
- package/dist/components/pagination-item.component.js +1 -1
- package/dist/components/pagination-item.component.js.map +1 -1
- package/dist/components/pagination.component.js +1 -1
- package/dist/components/pagination.component.js.map +1 -1
- package/dist/components/segment-container.component.js +1 -1
- package/dist/components/segment-container.component.js.map +1 -1
- package/dist/components/segment-item.component.js +1 -1
- package/dist/components/segment-item.component.js.map +1 -1
- package/dist/components/table-cell.component.js +1 -1
- package/dist/components/table-cell.component.js.map +1 -1
- package/dist/components/table-container.component.js +1 -1
- package/dist/components/table-container.component.js.map +1 -1
- package/dist/components/table-footer.component.js +1 -1
- package/dist/components/table-footer.component.js.map +1 -1
- package/dist/components/table-header.component.js +1 -1
- package/dist/components/table-header.component.js.map +1 -1
- package/dist/components/table-row.component.js +1 -1
- package/dist/components/table-row.component.js.map +1 -1
- package/dist/components/tooltip.component.js +1 -1
- package/dist/components/tooltip.component.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/p-backdrop.entry.js +1 -1
- package/dist/esm/p-backdrop.entry.js.map +1 -1
- package/dist/esm/p-button_3.entry.js +3 -3
- package/dist/esm/p-button_3.entry.js.map +1 -1
- package/dist/esm/p-dropdown-menu-container.entry.js +1 -1
- package/dist/esm/p-dropdown-menu-container.entry.js.map +1 -1
- package/dist/esm/p-dropdown_2.entry.js +2 -2
- package/dist/esm/p-dropdown_2.entry.js.map +1 -1
- package/dist/esm/p-helper_3.entry.js +2 -2
- package/dist/esm/p-helper_3.entry.js.map +1 -1
- package/dist/esm/p-illustration_6.entry.js +5 -5
- package/dist/esm/p-illustration_6.entry.js.map +1 -1
- package/dist/esm/p-label_3.entry.js +2 -2
- package/dist/esm/p-label_3.entry.js.map +1 -1
- package/dist/esm/p-page-size-select_3.entry.js +2 -2
- package/dist/esm/p-page-size-select_3.entry.js.map +1 -1
- package/dist/esm/p-select.entry.js +2 -1
- package/dist/esm/p-select.entry.js.map +1 -1
- package/dist/esm/p-table.entry.js +1 -1
- package/dist/esm/p-table.entry.js.map +1 -1
- package/dist/esm/p-tooltip.entry.js +1 -1
- package/dist/esm/p-tooltip.entry.js.map +1 -1
- package/dist/esm/paperless.js +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/p-02def278.entry.js +2 -0
- package/dist/{build/p-ef2eee59.entry.js.map → paperless/p-02def278.entry.js.map} +1 -1
- package/dist/{build/p-82a05991.entry.js → paperless/p-2b08e371.entry.js} +2 -2
- package/dist/paperless/{p-82a05991.entry.js.map → p-2b08e371.entry.js.map} +1 -1
- package/dist/paperless/p-2e9b2f42.entry.js +2 -0
- package/dist/paperless/{p-c8a39486.entry.js.map → p-2e9b2f42.entry.js.map} +1 -1
- package/dist/paperless/p-4f53f2af.entry.js +2 -0
- package/dist/{build/p-ebd4ba56.entry.js.map → paperless/p-4f53f2af.entry.js.map} +1 -1
- package/dist/{build/p-e167d64f.entry.js → paperless/p-5f2e2380.entry.js} +2 -2
- package/dist/{build/p-e167d64f.entry.js.map → paperless/p-5f2e2380.entry.js.map} +1 -1
- package/dist/paperless/{p-6074b58d.entry.js → p-7bf60ad1.entry.js} +2 -2
- package/dist/paperless/p-7bf60ad1.entry.js.map +1 -0
- package/dist/paperless/p-ac894168.entry.js +2 -0
- package/dist/paperless/{p-8959086f.entry.js.map → p-ac894168.entry.js.map} +1 -1
- package/dist/{build/p-c5dff26e.entry.js → paperless/p-b689e15b.entry.js} +2 -2
- package/dist/paperless/{p-c5dff26e.entry.js.map → p-b689e15b.entry.js.map} +1 -1
- package/dist/{build/p-75aa8c67.entry.js → paperless/p-c518a362.entry.js} +2 -2
- package/dist/{build/p-75aa8c67.entry.js.map → paperless/p-c518a362.entry.js.map} +1 -1
- package/dist/paperless/{p-c87da93e.entry.js → p-e7d3ee93.entry.js} +2 -2
- package/dist/{build/p-c87da93e.entry.js.map → paperless/p-e7d3ee93.entry.js.map} +1 -1
- package/dist/paperless/{p-d012d066.entry.js → p-f4610644.entry.js} +2 -2
- package/dist/paperless/{p-d012d066.entry.js.map → p-f4610644.entry.js.map} +1 -1
- package/dist/paperless/paperless.esm.js +1 -1
- package/dist/paperless/paperless.esm.js.map +1 -1
- package/dist/sw.js +1 -1
- package/dist/sw.js.map +1 -1
- package/dist/types/components/molecules/select/select.component.d.ts +4 -0
- package/dist/types/components.d.ts +8 -0
- package/hydrate/index.js +25 -23
- package/package.json +1 -1
- package/dist/build/p-6074b58d.entry.js.map +0 -1
- package/dist/build/p-8959086f.entry.js +0 -2
- package/dist/build/p-c8a39486.entry.js +0 -2
- package/dist/build/p-ebd4ba56.entry.js +0 -2
- package/dist/build/p-ef2eee59.entry.js +0 -2
- package/dist/paperless/p-6074b58d.entry.js.map +0 -1
- package/dist/paperless/p-8959086f.entry.js +0 -2
- package/dist/paperless/p-c8a39486.entry.js +0 -2
- package/dist/paperless/p-ebd4ba56.entry.js +0 -2
- package/dist/paperless/p-ef2eee59.entry.js +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["PageSizeSelect","this","_defaultButtonTemplate","size","formatTranslation","_locales","item","_defaultItemTemplate","defaultSize","defaultSizeOptions","componentWillLoad","_setLocales","render","h","Host","class","hidden","placement","chevronPosition","chevronDirection","variant","slot","buttonSize","buttonTemplate","sizeOptions","map","option","active","onClick","_changeSize","itemTemplate","async","getLocaleComponentStrings","_el","s","sizeChange","emit","paginationComponentCss","Pagination","_pages","_set","_nextClick","nextPage","page","length","_changePage","_pageClick","p","_generateSet","range","enableBoundaries","totalPages","start","end","Math","min","set","previous","type","value","rotate","next","push","i","componentWillRender","_generate","hideOnSinglePage","_a","_b","_previousClick","pageChangeHandler","_generatePages","pageChange","previousPage","total","pageSize","pages","ceil","Array","fill","undefined","_","paginationItemComponentCss","PaginationItem"],"sources":["./src/components/molecules/page-size-select/page-size-select.component.tsx","./src/components/molecules/pagination/pagination.component.scss?tag=p-pagination","./src/components/molecules/pagination/pagination.component.tsx","./src/components/atoms/pagination-item/pagination-item.component.scss?tag=p-pagination-item&encapsulation=shadow","./src/components/atoms/pagination-item/pagination-item.component.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport {\n formatTranslation,\n getLocaleComponentStrings,\n} from '../../../utils/localization';\nimport { defaultSize, defaultSizeOptions } from './constants';\n\nexport type templateFunc = (value: number) => string;\n\n@Component({\n tag: 'p-page-size-select',\n shadow: true,\n})\nexport class PageSizeSelect {\n private _defaultButtonTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n private _defaultItemTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) size: number = defaultSize;\n\n /**\n * The available sizes\n */\n @Prop() sizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the size changes\n */\n @Event() sizeChange: EventEmitter<number>;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'start';\n\n /**\n * The size of the button\n */\n @Prop() buttonSize: 'small' | 'medium' = 'small';\n\n /**\n * The template for the data view\n */\n @Prop() buttonTemplate: templateFunc = this._defaultButtonTemplate;\n\n /**\n * The template for the data view\n */\n @Prop() itemTemplate: templateFunc = this._defaultItemTemplate;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hidden: boolean = false;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n componentWillLoad() {\n this._setLocales();\n }\n\n render() {\n return (\n <Host class={`p-page-size-select ${this.hidden && 'hidden'}`}>\n <p-dropdown\n placement=\"top-start\"\n chevronPosition={this.chevronPosition}\n chevronDirection=\"down\"\n >\n <p-button\n variant=\"secondary\"\n slot=\"trigger\"\n size={this.buttonSize}\n >\n {this.buttonTemplate\n ? this.buttonTemplate(this.size)\n : this._defaultButtonTemplate(this.size)}\n </p-button>\n <slot slot=\"items\">\n {this.sizeOptions.map((option) => (\n <p-dropdown-menu-item\n active={option === this.size}\n onClick={() => this._changeSize(option)}\n >\n {this.itemTemplate\n ? this.itemTemplate(this.size)\n : this._defaultItemTemplate(option)}\n </p-dropdown-menu-item>\n ))}\n </slot>\n </p-dropdown>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n private _changeSize(s?: number) {\n if (!s) {\n return;\n }\n\n this.size = s;\n this.sizeChange.emit(this.size);\n }\n}\n","p-pagination {\n @apply flex;\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\n\ntype PaginationSetItem = {\n type: string;\n value?: number | Element | JSX.Element | string;\n};\n\n@Component({\n tag: 'p-pagination',\n styleUrl: 'pagination.component.scss',\n})\nexport class Pagination {\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\n\n /**\n * Event whenever the page changes\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * The amount of items per page\n */\n @Prop() pageSize: number = 12;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = false;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n private _pages: number[] = [];\n private _set: PaginationSetItem[] = [];\n\n componentWillRender() {\n this._generate();\n }\n\n render() {\n return (\n <Host\n class={`p-pagination ${\n this.hideOnSinglePage && this._set?.length === 3 && 'hidden'\n }`}\n >\n {this._set?.map((p) => {\n if (p.type === 'previous' || p.type === 'next') {\n return (\n <p-pagination-item\n onClick={() =>\n p.type === 'previous'\n ? this._previousClick()\n : this._nextClick()\n }\n >\n {p.value}\n </p-pagination-item>\n );\n }\n\n if (p.type === 'ellipsis') {\n return <p-pagination-item>...</p-pagination-item>;\n }\n\n return (\n <p-pagination-item\n active={p.value === this.page}\n onClick={() => this._pageClick(p.value as number)}\n >\n {p.value}\n </p-pagination-item>\n );\n })}\n </Host>\n );\n }\n\n @Watch('page')\n @Watch('pageSize')\n @Watch('total')\n protected pageChangeHandler() {\n this._generate();\n }\n\n private _generate() {\n this._pages = this._generatePages();\n this._set = this._generateSet();\n\n if (this.page > this._pages?.length) {\n this._changePage(this._pages.length);\n }\n }\n\n private _changePage(p?: number) {\n if (!p) {\n return;\n }\n\n this.page = p;\n this.pageChange.emit(this.page);\n }\n\n private _previousClick() {\n const previousPage = this.page - 1;\n if (previousPage < this._pages[0]) {\n return;\n }\n\n this._changePage(previousPage);\n }\n\n private _nextClick = () => {\n const nextPage = this.page + 1;\n if (nextPage > this._pages[this._pages.length - 1]) {\n return;\n }\n\n this._changePage(nextPage);\n };\n\n private _pageClick = (p?: number) => this._changePage(p);\n\n private _generatePages() {\n if (!this.total || !this.pageSize) {\n return [];\n }\n\n const pages = Math.ceil(this.total / this.pageSize);\n return new Array(pages).fill(undefined).map((_, i) => i + 1);\n }\n\n private _generateSet = (\n range: number = 1,\n enableBoundaries: boolean = true\n ): PaginationSetItem[] => {\n const totalPages = this._pages.length;\n\n if (!totalPages) {\n return [];\n }\n\n let start = this.page - range;\n let end = this.page + range;\n\n if (end > totalPages) {\n end = totalPages;\n start = totalPages - range * 2;\n start = start < 1 ? 1 : start;\n }\n\n if (start <= 1) {\n start = 1;\n end = Math.min(range * 2 + 1, totalPages);\n }\n\n const set = [];\n\n const previous = {\n type: 'previous',\n value: <p-icon variant=\"chevron\" rotate={90} />,\n };\n\n const next = {\n type: 'next',\n value: <p-icon variant=\"chevron\" rotate={-90} />,\n };\n\n // Disable page range, display all the pages\n if (range === null) {\n const p = this._pages.map((p) => ({\n type: 'page',\n value: p,\n }));\n\n return enableBoundaries ? [previous, ...p, next] : p;\n }\n\n if (enableBoundaries) {\n set.push(previous);\n }\n\n if (start <= 3) {\n for (let i = 1; i < start; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'page',\n value: 1,\n });\n\n set.push({\n type: 'ellipsis',\n value: 'ellipsis',\n });\n }\n\n for (let i = start; i <= end; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n\n if (end >= totalPages - 2) {\n for (let i = end + 1; i <= totalPages; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'ellipsis',\n });\n\n set.push({\n type: 'page',\n value: this._pages[this._pages.length - 1],\n });\n }\n\n if (enableBoundaries) {\n set.push(next);\n }\n\n return set;\n };\n}\n",":host {\n @apply h-8 w-8;\n @apply flex justify-center items-center;\n @apply font-semibold text-storm-medium text-sm;\n @apply rounded;\n @apply cursor-pointer;\n}\n\n:host(:hover),\n:host(:focus) {\n @apply text-storm;\n}\n\n:host(.active) {\n @apply text-indigo bg-indigo-light;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'p-pagination-item',\n styleUrl: 'pagination-item.component.scss',\n shadow: true,\n})\nexport class PaginationItem {\n /**\n * Wether the pagination item is active\n */\n @Prop() active: boolean = false;\n\n render() {\n return (\n <Host class={`p-pagination-item ${this.active && 'active'}`}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["PageSizeSelect","this","_defaultButtonTemplate","size","formatTranslation","_locales","item","_defaultItemTemplate","defaultSize","defaultSizeOptions","componentWillLoad","_setLocales","render","h","Host","class","hidden","placement","chevronPosition","chevronDirection","variant","slot","buttonSize","buttonTemplate","sizeOptions","map","option","active","onClick","_changeSize","itemTemplate","async","getLocaleComponentStrings","_el","s","sizeChange","emit","paginationComponentCss","Pagination","_pages","_set","_nextClick","nextPage","page","length","_changePage","_pageClick","p","_generateSet","range","enableBoundaries","totalPages","start","end","Math","min","set","previous","type","value","rotate","next","push","i","componentWillRender","_generate","hideOnSinglePage","_a","_b","_previousClick","pageChangeHandler","_generatePages","pageChange","previousPage","total","pageSize","pages","ceil","Array","fill","undefined","_","paginationItemComponentCss","PaginationItem"],"sources":["./src/components/molecules/page-size-select/page-size-select.component.tsx","./src/components/molecules/pagination/pagination.component.scss?tag=p-pagination","./src/components/molecules/pagination/pagination.component.tsx","./src/components/atoms/pagination-item/pagination-item.component.scss?tag=p-pagination-item&encapsulation=shadow","./src/components/atoms/pagination-item/pagination-item.component.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport {\n formatTranslation,\n getLocaleComponentStrings,\n} from '../../../utils/localization';\nimport { defaultSize, defaultSizeOptions } from './constants';\n\nexport type templateFunc = (value: number) => string;\n\n@Component({\n tag: 'p-page-size-select',\n shadow: true,\n})\nexport class PageSizeSelect {\n private _defaultButtonTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n private _defaultItemTemplate: templateFunc = (size) =>\n formatTranslation(this._locales.item, { size });\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) size: number = defaultSize;\n\n /**\n * The available sizes\n */\n @Prop() sizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the size changes\n */\n @Event() sizeChange: EventEmitter<number>;\n\n /**\n * Chevron position\n */\n @Prop() chevronPosition: 'start' | 'end' = 'start';\n\n /**\n * The size of the button\n */\n @Prop() buttonSize: 'small' | 'medium' = 'small';\n\n /**\n * The template for the data view\n */\n @Prop() buttonTemplate: templateFunc = this._defaultButtonTemplate;\n\n /**\n * The template for the data view\n */\n @Prop() itemTemplate: templateFunc = this._defaultItemTemplate;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hidden: boolean = false;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n componentWillLoad() {\n this._setLocales();\n }\n\n render() {\n return (\n <Host class={`p-page-size-select ${this.hidden && 'hidden'}`}>\n <p-dropdown\n placement=\"top-start\"\n chevronPosition={this.chevronPosition}\n chevronDirection=\"down\"\n >\n <p-button\n variant=\"secondary\"\n slot=\"trigger\"\n size={this.buttonSize}\n >\n {this.buttonTemplate\n ? this.buttonTemplate(this.size)\n : this._defaultButtonTemplate(this.size)}\n </p-button>\n <slot slot=\"items\">\n {this.sizeOptions.map((option) => (\n <p-dropdown-menu-item\n active={option === this.size}\n onClick={() => this._changeSize(option)}\n >\n {this.itemTemplate\n ? this.itemTemplate(this.size)\n : this._defaultItemTemplate(option)}\n </p-dropdown-menu-item>\n ))}\n </slot>\n </p-dropdown>\n </Host>\n );\n }\n\n @Listen('localeChanged', { target: 'body' })\n private async _setLocales(): Promise<void> {\n this._locales = await getLocaleComponentStrings(this._el);\n }\n\n private _changeSize(s?: number) {\n if (!s) {\n return;\n }\n\n this.size = s;\n this.sizeChange.emit(this.size);\n }\n}\n","p-pagination {\n @apply flex;\n}\n","import {\n Component,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\n\ntype PaginationSetItem = {\n type: string;\n value?: number | Element | JSX.Element | string;\n};\n\n@Component({\n tag: 'p-pagination',\n styleUrl: 'pagination.component.scss',\n})\nexport class Pagination {\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\n\n /**\n * Event whenever the page changes\n */\n @Event() pageChange: EventEmitter<number>;\n\n /**\n * The amount of items per page\n */\n @Prop() pageSize: number = 12;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = false;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\n\n private _pages: number[] = [];\n private _set: PaginationSetItem[] = [];\n\n componentWillRender() {\n this._generate();\n }\n\n render() {\n return (\n <Host\n class={`p-pagination ${\n this.hideOnSinglePage && this._set?.length === 3 && 'hidden'\n }`}\n >\n {this._set?.map((p) => {\n if (p.type === 'previous' || p.type === 'next') {\n return (\n <p-pagination-item\n onClick={() =>\n p.type === 'previous'\n ? this._previousClick()\n : this._nextClick()\n }\n >\n {p.value}\n </p-pagination-item>\n );\n }\n\n if (p.type === 'ellipsis') {\n return <p-pagination-item>...</p-pagination-item>;\n }\n\n return (\n <p-pagination-item\n active={p.value === this.page}\n onClick={() => this._pageClick(p.value as number)}\n >\n {p.value}\n </p-pagination-item>\n );\n })}\n </Host>\n );\n }\n\n @Watch('page')\n @Watch('pageSize')\n @Watch('total')\n protected pageChangeHandler() {\n this._generate();\n }\n\n private _generate() {\n this._pages = this._generatePages();\n this._set = this._generateSet();\n\n if (this.page > this._pages?.length) {\n this._changePage(this._pages.length);\n }\n }\n\n private _changePage(p?: number) {\n if (!p) {\n return;\n }\n\n this.page = p;\n this.pageChange.emit(this.page);\n }\n\n private _previousClick() {\n const previousPage = this.page - 1;\n if (previousPage < this._pages[0]) {\n return;\n }\n\n this._changePage(previousPage);\n }\n\n private _nextClick = () => {\n const nextPage = this.page + 1;\n if (nextPage > this._pages[this._pages.length - 1]) {\n return;\n }\n\n this._changePage(nextPage);\n };\n\n private _pageClick = (p?: number) => this._changePage(p);\n\n private _generatePages() {\n if (!this.total || !this.pageSize) {\n return [];\n }\n\n const pages = Math.ceil(this.total / this.pageSize);\n return new Array(pages).fill(undefined).map((_, i) => i + 1);\n }\n\n private _generateSet = (\n range: number = 1,\n enableBoundaries: boolean = true\n ): PaginationSetItem[] => {\n const totalPages = this._pages.length;\n\n if (!totalPages) {\n return [];\n }\n\n let start = this.page - range;\n let end = this.page + range;\n\n if (end > totalPages) {\n end = totalPages;\n start = totalPages - range * 2;\n start = start < 1 ? 1 : start;\n }\n\n if (start <= 1) {\n start = 1;\n end = Math.min(range * 2 + 1, totalPages);\n }\n\n const set = [];\n\n const previous = {\n type: 'previous',\n value: <p-icon variant=\"chevron\" rotate={90} />,\n };\n\n const next = {\n type: 'next',\n value: <p-icon variant=\"chevron\" rotate={-90} />,\n };\n\n // Disable page range, display all the pages\n if (range === null) {\n const p = this._pages.map((p) => ({\n type: 'page',\n value: p,\n }));\n\n return enableBoundaries ? [previous, ...p, next] : p;\n }\n\n if (enableBoundaries) {\n set.push(previous);\n }\n\n if (start <= 3) {\n for (let i = 1; i < start; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'page',\n value: 1,\n });\n\n set.push({\n type: 'ellipsis',\n value: 'ellipsis',\n });\n }\n\n for (let i = start; i <= end; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n\n if (end >= totalPages - 2) {\n for (let i = end + 1; i <= totalPages; i++) {\n set.push({\n type: 'page',\n value: this._pages[i - 1],\n });\n }\n } else {\n set.push({\n type: 'ellipsis',\n });\n\n set.push({\n type: 'page',\n value: this._pages[this._pages.length - 1],\n });\n }\n\n if (enableBoundaries) {\n set.push(next);\n }\n\n return set;\n };\n}\n",":host {\n @apply h-8 w-8;\n @apply flex justify-center items-center;\n @apply font-semibold text-storm-medium text-sm;\n @apply rounded;\n @apply cursor-pointer;\n}\n\n:host(:hover),\n:host(:focus) {\n @apply text-storm;\n}\n\n:host(.active) {\n @apply text-indigo bg-indigo-light;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'p-pagination-item',\n styleUrl: 'pagination-item.component.scss',\n shadow: true,\n})\nexport class PaginationItem {\n /**\n * Wether the pagination item is active\n */\n @Prop() active: boolean = false;\n\n render() {\n return (\n <Host class={`p-pagination-item ${this.active && 'active'}`}>\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|