@paperless/core 0.1.0-alpha.364 → 0.1.0-alpha.366
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 +23 -0
- package/dist/build/{p-49718ade.entry.js → p-a413da29.entry.js} +2 -2
- package/dist/{paperless/p-49718ade.entry.js.map → build/p-a413da29.entry.js.map} +1 -1
- package/dist/build/{p-2bc6b026.entry.js → p-c8027593.entry.js} +2 -2
- package/dist/build/p-c8027593.entry.js.map +1 -0
- package/dist/build/{p-bdaeb7c7.entry.js → p-cd96ed9e.entry.js} +2 -2
- package/dist/build/p-cd96ed9e.entry.js.map +1 -0
- 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-illustration_6.cjs.entry.js +13 -9
- package/dist/cjs/p-illustration_6.cjs.entry.js.map +1 -1
- package/dist/cjs/p-select.cjs.entry.js +3 -1
- package/dist/cjs/p-select.cjs.entry.js.map +1 -1
- package/dist/cjs/p-table.cjs.entry.js +7 -4
- package/dist/cjs/p-table.cjs.entry.js.map +1 -1
- package/dist/cjs/paperless.cjs.js +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/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/modal-body/modal-body.component.css +1 -1
- package/dist/collection/components/atoms/modal-container/modal-container.component.css +1 -1
- package/dist/collection/components/atoms/modal-footer/modal-footer.component.css +1 -1
- package/dist/collection/components/atoms/modal-header/modal-header.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/molecules/dropdown/dropdown.component.css +1 -1
- package/dist/collection/components/molecules/pagination/pagination.component.css +1 -1
- package/dist/collection/components/molecules/select/select.component.css +1 -1
- package/dist/collection/components/molecules/select/select.component.js +3 -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-header/table-header.component.js +53 -9
- package/dist/collection/components/molecules/table-header/table-header.component.js.map +1 -1
- package/dist/collection/components/molecules/table-row/table-row.component.css +1 -1
- package/dist/collection/components/molecules/toast/toast.component.css +1 -1
- package/dist/collection/components/organisms/navbar/navbar.component.css +1 -1
- package/dist/collection/components/organisms/table/table.component.css +1 -1
- package/dist/collection/components/organisms/table/table.component.js +65 -4
- package/dist/collection/components/organisms/table/table.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 +10 -4
- package/dist/components/p-table.js.map +1 -1
- package/dist/components/table-header.component.js +15 -9
- package/dist/components/table-header.component.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/p-illustration_6.entry.js +13 -9
- package/dist/esm/p-illustration_6.entry.js.map +1 -1
- package/dist/esm/p-select.entry.js +3 -1
- package/dist/esm/p-select.entry.js.map +1 -1
- package/dist/esm/p-table.entry.js +7 -4
- package/dist/esm/p-table.entry.js.map +1 -1
- package/dist/esm/paperless.js +1 -1
- package/dist/index.html +1 -1
- package/dist/paperless/{p-49718ade.entry.js → p-a413da29.entry.js} +2 -2
- package/dist/{build/p-49718ade.entry.js.map → paperless/p-a413da29.entry.js.map} +1 -1
- package/dist/paperless/{p-2bc6b026.entry.js → p-c8027593.entry.js} +2 -2
- package/dist/paperless/p-c8027593.entry.js.map +1 -0
- package/dist/paperless/{p-bdaeb7c7.entry.js → p-cd96ed9e.entry.js} +2 -2
- package/dist/paperless/p-cd96ed9e.entry.js.map +1 -0
- 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/table-header/table-header.component.d.ts +9 -0
- package/dist/types/components/organisms/table/table.component.d.ts +13 -0
- package/dist/types/components.d.ts +42 -0
- package/hydrate/index.js +43 -29
- package/package.json +2 -2
- package/dist/build/p-2bc6b026.entry.js.map +0 -1
- package/dist/build/p-bdaeb7c7.entry.js.map +0 -1
- package/dist/paperless/p-2bc6b026.entry.js.map +0 -1
- package/dist/paperless/p-bdaeb7c7.entry.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["illustrations","emptyState","emptyStateSearch","emptyStateOverview","departments","expenses","functions","questions","sickLeave","timeOff","upgradeToHr","email","Illustration","render","illustration","this","variant","h","Host","class","innerHTML","tableCellComponentCss","TableCell","value","data","_a","objectGetByPath","item","definition","path","index","rowIndex","Object","assign","_getColumnClasses","checkbox","useSlot","template","sizes","_getSizes","align","_b","_c","_d","_e","type","_f","classes","size","keys","default","tableContainerComponentCss","TableContainer","tableFooterComponentCss","TableFooter","defaultSize","defaultSizeOptions","componentWillLoad","_setLocales","hidePageSizeSelect","hideOnSinglePage","total","pageSizeOptions","enablePageSize","enablePagination","enableExport","loading","hidden","pageSize","sizeOptions","onSizeChange","detail","_changePageSize","page","onPageChange","pageChange","emit","icon","onClick","export","formatTranslation","_locales","async","getLocaleComponentStrings","_el","s","pageSizeChange","isFunction","createErrorClass","createImpl","_super","instance","Error","call","stack","ctorFunc","prototype","create","constructor","UnsubscriptionError","UnsubscriptionErrorImpl","errors","message","length","map","err","i","toString","join","name","arrRemove","arr","indexOf","splice","Subscription","initialTeardown","closed","_parentage","_finalizers","unsubscribe","Array","isArray","parent","remove","initialFinalizer","e","finalizer","execFinalizer","push","add","teardown","_hasParent","_addParent","includes","_removeParent","EMPTY","empty","EMPTY_SUBSCRIPTION","isSubscription","config","onUnhandledError","onStoppedNotification","Promise","undefined","useDeprecatedSynchronousErrorHandling","useDeprecatedNextContext","timeoutProvider","setTimeout","handler","timeout","args","delegate","clearTimeout","handle","reportUnhandledError","noop","COMPLETE_NOTIFICATION","createNotification","errorNotification","error","nextNotification","kind","errorContext","cb","Subscriber","destination","super","isStopped","EMPTY_OBSERVER","static","next","complete","SafeSubscriber","handleStoppedNotification","_next","_error","_complete","_bind","Function","bind","fn","thisArg","ConsumerObserver","partialObserver","handleUnhandledError","observerOrNext","context","defaultErrorHandler","notification","subscriber","observable","Symbol","identity","x","pipeFromArray","fns","piped","input","reduce","prev","Observable","subscribe","_subscribe","lift","operator","source","isSubscriber","_trySubscribe","sink","forEach","promiseCtor","getPromiseCtor","resolve","reject","Symbol_observable","pipe","operations","toPromise","isObserver","hasLift","operate","init","liftedSource","TypeError","createOperatorSubscriber","onNext","onComplete","onError","onFinalize","OperatorSubscriber","shouldUnsubscribe","ObjectUnsubscribedError","ObjectUnsubscribedErrorImpl","Subject","currentObservers","observers","hasError","thrownError","subject","AnonymousSubject","_throwIfClosed","from","observer","shift","observed","_checkFinalizedStatuses","_innerSubscribe","asObservable","dateTimestampProvider","now","Date","Action","scheduler","work","schedule","state","delay","intervalProvider","setInterval","clearInterval","AsyncAction","pending","id","recycleAsyncId","requestAsyncId","_id","flush","_scheduler","execute","_execute","_delay","errored","errorValue","actions","Scheduler","schedulerActionCtor","AsyncScheduler","SchedulerAction","_active","action","asyncScheduler","debounceTime","dueTime","activeTask","lastValue","lastTime","emitWhenIdle","targetTime","distinctUntilChanged","comparator","keySelector","defaultCompare","previousKey","first","currentKey","a","b","tableHeaderComponentCss","TableHeader","_defaultFilterButtonTemplate","filter","_defaultEditButtonTemplate","amount","edit","edit_single","edit_plural","_queryObserver","componentDidLoad","queryChange","activeQuickFilter","quickFilters","find","f","identifier","activeQuickFilterIdentifier","mobileTotal","selectedFiltersAmount","active","quickFilter","text","count","enableSearch","slot","placeholder","query","onInput","ev","target","enableFilter","filterButtonTemplate","_getLabel","enableEdit","_buttonTemplate","canEdit","mobile","disabled","editButtonTemplate","itemsSelectedAmount","behavior","tableRowComponentCss","TableRow","enableHover"],"sources":["./src/utils/illustrations.ts","./src/components/atoms/illustration/illustration.component.tsx","./src/components/molecules/table-cell/table-cell.component.scss?tag=p-table-cell","./src/components/molecules/table-cell/table-cell.component.tsx","./src/components/atoms/table-container/table-container.component.scss?tag=p-table-container&encapsulation=shadow","./src/components/atoms/table-container/table-container.component.tsx","./src/components/molecules/table-footer/table-footer.component.scss?tag=p-table-footer&encapsulation=shadow","./src/components/molecules/table-footer/table-footer.component.tsx","./node_modules/rxjs/dist/esm/internal/util/isFunction.js","./node_modules/rxjs/dist/esm/internal/util/createErrorClass.js","./node_modules/rxjs/dist/esm/internal/util/UnsubscriptionError.js","./node_modules/rxjs/dist/esm/internal/util/arrRemove.js","./node_modules/rxjs/dist/esm/internal/Subscription.js","./node_modules/rxjs/dist/esm/internal/config.js","./node_modules/rxjs/dist/esm/internal/scheduler/timeoutProvider.js","./node_modules/rxjs/dist/esm/internal/util/reportUnhandledError.js","./node_modules/rxjs/dist/esm/internal/util/noop.js","./node_modules/rxjs/dist/esm/internal/NotificationFactories.js","./node_modules/rxjs/dist/esm/internal/util/errorContext.js","./node_modules/rxjs/dist/esm/internal/Subscriber.js","./node_modules/rxjs/dist/esm/internal/symbol/observable.js","./node_modules/rxjs/dist/esm/internal/util/identity.js","./node_modules/rxjs/dist/esm/internal/util/pipe.js","./node_modules/rxjs/dist/esm/internal/Observable.js","./node_modules/rxjs/dist/esm/internal/util/lift.js","./node_modules/rxjs/dist/esm/internal/operators/OperatorSubscriber.js","./node_modules/rxjs/dist/esm/internal/util/ObjectUnsubscribedError.js","./node_modules/rxjs/dist/esm/internal/Subject.js","./node_modules/rxjs/dist/esm/internal/scheduler/dateTimestampProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/Action.js","./node_modules/rxjs/dist/esm/internal/scheduler/intervalProvider.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncAction.js","./node_modules/rxjs/dist/esm/internal/Scheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/AsyncScheduler.js","./node_modules/rxjs/dist/esm/internal/scheduler/async.js","./node_modules/rxjs/dist/esm/internal/operators/debounceTime.js","./node_modules/rxjs/dist/esm/internal/operators/distinctUntilChanged.js","./src/components/molecules/table-header/table-header.component.scss?tag=p-table-header&encapsulation=shadow","./src/components/molecules/table-header/table-header.component.tsx","./src/components/molecules/table-row/table-row.component.scss?tag=p-table-row&encapsulation=shadow","./src/components/molecules/table-row/table-row.component.tsx"],"sourcesContent":["import emptyState from '../assets/illustrations/default-empty-state.svg';\nimport departments from '../assets/illustrations/departments.svg';\nimport email from '../assets/illustrations/e-mail.svg';\nimport emptyStateOverview from '../assets/illustrations/empty-state-overview.svg';\nimport emptyStateSearch from '../assets/illustrations/empty-state-search.svg';\nimport expenses from '../assets/illustrations/expenses.svg';\nimport functions from '../assets/illustrations/functions.svg';\nimport questions from '../assets/illustrations/questions.svg';\nimport sickLeave from '../assets/illustrations/sick-leave.svg';\nimport timeOff from '../assets/illustrations/time-off.svg';\nimport upgradeToHr from '../assets/illustrations/upgrade-to-hr.svg';\n\nexport default {\n 'empty-state': emptyState,\n 'empty-state-search': emptyStateSearch,\n 'empty-state-overview': emptyStateOverview,\n departments,\n expenses,\n functions,\n questions,\n 'sick-leave': sickLeave,\n 'time-off': timeOff,\n 'upgrade-to-hr': upgradeToHr,\n 'e-mail': email,\n};\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport illustrations from '../../../utils/illustrations';\n\nexport type IllustrationVariant = keyof typeof illustrations;\n\n@Component({\n tag: 'p-illustration',\n // shadow: true,\n})\nexport class Illustration {\n /**\n * The icon the be displayed\n */\n @Prop() variant!: IllustrationVariant;\n\n render() {\n const illustration = illustrations[this.variant];\n\n return <Host class=\"p-illustration block\" innerHTML={illustration}></Host>;\n }\n}\n","p-table-cell {\n @apply flex gap-4 items-center;\n\n // TODO: Remove this\n // @import '../../../style/form/checkbox';\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\nimport {\n TableDefinitionData,\n TableDefinitionTemplateFunc,\n} from '../../../types';\nimport { objectGetByPath } from '../../../utils';\nimport { TableColumn } from '../../helpers/table-column/table-column.component';\n\n@Component({\n tag: 'p-table-cell',\n styleUrl: 'table-cell.component.scss',\n})\nexport class TableCell {\n /**\n * The variant of the column\n */\n @Prop() variant: 'default' | 'loading' | 'header' = 'default';\n\n /**\n * The index of the column\n */\n @Prop() index: number;\n\n /**\n * The index of the row\n */\n @Prop() rowIndex: number;\n\n /**\n * The definition of the table column\n */\n @Prop() definition?: TableColumn;\n\n /**\n * The item in question\n */\n @Prop() item: any;\n\n /**\n * The value of the column\n */\n @Prop() value: any;\n\n /**\n * The checkbox to show\n */\n @Prop() checkbox: any;\n\n /**\n * The template to show\n */\n @Prop() template: TableDefinitionTemplateFunc = ({\n value,\n }: TableDefinitionData) => value;\n\n get data(): TableDefinitionData | { value: string } {\n if (this.variant === 'header') {\n return {\n value: this.value,\n };\n }\n\n return {\n value:\n this.value ?? objectGetByPath(this.item, this.definition.path),\n item: this.item,\n index: this.index,\n rowIndex: this.rowIndex,\n };\n }\n\n render() {\n return (\n <Host\n class={{\n 'p-table-cell': true,\n [`variant-${this.variant}`]: true,\n ...this._getColumnClasses(),\n }}\n >\n {this.checkbox}\n\n {this.variant === 'loading' ? (\n <p-loader\n variant=\"ghost\"\n class=\"rounded flex-1 w-full h-6\"\n />\n ) : (\n <div class=\"flex\">\n {this.variant === 'header' ? (\n this.data.value\n ) : this.definition.useSlot ? (\n <slot />\n ) : (\n this.template(this.data as TableDefinitionData)\n )}\n </div>\n )}\n </Host>\n );\n }\n\n private _getColumnClasses() {\n const sizes = this.definition ? this._getSizes(this.definition) : {};\n return {\n 'justify-start':\n !this.definition?.align || this.definition?.align === 'start',\n 'justify-center': this.definition?.align === 'center',\n 'justify-end': this.definition?.align === 'end',\n 'font-semibold':\n this.variant !== 'header' && this.definition?.type === 'th',\n 'text-storm-dark':\n this.variant !== 'header' && this.definition?.type === 'th',\n ...sizes,\n };\n }\n\n /* \n With this, we shall hack the system in ways no one would ever have thought.\n \n <div class=\"w-1/12 w-2/12 w-3/12 w-4/12 w-5/12 w-6/12 w-7/12 w-8/12 w-9/12 w-10/12 w-11/12 w-12/12\"></div>\n <div class=\"tablet:w-1/12 tablet:w-2/12 tablet:w-3/12 tablet:w-4/12 tablet:w-5/12 tablet:w-6/12 tablet:w-7/12 tablet:w-8/12 tablet:w-9/12 tablet:w-10/12 tablet:w-11/12 tablet:w-12/12\"></div>\n <div class=\"desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12\"></div>\n <div class=\"desktop-xs:w-1/12 desktop-xs:w-2/12 desktop-xs:w-3/12 desktop-xs:w-4/12 desktop-xs:w-5/12 desktop-xs:w-6/12 desktop-xs:w-7/12 desktop-xs:w-8/12 desktop-xs:w-9/12 desktop-xs:w-10/12 desktop-xs:w-11/12 desktop-xs:w-12/12\"></div>\n <div class=\"desktop-sm:w-1/12 desktop-sm:w-2/12 desktop-sm:w-3/12 desktop-sm:w-4/12 desktop-sm:w-5/12 desktop-sm:w-6/12 desktop-sm:w-7/12 desktop-sm:w-8/12 desktop-sm:w-9/12 desktop-sm:w-10/12 desktop-sm:w-11/12 desktop-sm:w-12/12\"></div>\n <div class=\"desktop:w-1/12 desktop:w-2/12 desktop:w-3/12 desktop:w-4/12 desktop:w-5/12 desktop:w-6/12 desktop:w-7/12 desktop:w-8/12 desktop:w-9/12 desktop:w-10/12 desktop:w-11/12 desktop:w-12/12\"></div>\n <div class=\"desktop-lg:w-1/12 desktop-lg:w-2/12 desktop-lg:w-3/12 desktop-lg:w-4/12 desktop-lg:w-5/12 desktop-lg:w-6/12 desktop-lg:w-7/12 desktop-lg:w-8/12 desktop-lg:w-9/12 desktop-lg:w-10/12 desktop-lg:w-11/12 desktop-lg:w-12/12\"></div>\n <div class=\"desktop-xl:w-1/12 desktop-xl:w-2/12 desktop-xl:w-3/12 desktop-xl:w-4/12 desktop-xl:w-5/12 desktop-xl:w-6/12 desktop-xl:w-7/12 desktop-xl:w-8/12 desktop-xl:w-9/12 desktop-xl:w-10/12 desktop-xl:w-11/12 desktop-xl:w-12/12\"></div>\n\n \n ⠀⠀⠀⠀⠀⣠⣴⣶⣿⣿⠿⣷⣶⣤⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣴⣶⣷⠿⣿⣿⣶⣦⣀⠀⠀⠀⠀⠀\n ⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⣿⣿⣶⣦⣬⡉⠒⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠚⢉⣥⣴⣾⣿⣿⣿⣿⣿⣿⣿⣧⠀⠀⠀⠀\n ⠀⠀⠀⡾⠿⠛⠛⠛⠛⠿⢿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⣿⣿⣿⣿⣿⠿⠿⠛⠛⠛⠛⠿⢧⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⠻⣿⣿⣿⣿⣿⡄⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⡿⠟⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⢿⣿⡄⠀⠀⠀⠀⠀⠀⠀⠀⢰⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⣠⣤⠶⠶⠶⠰⠦⣤⣀⠀⠙⣷⠀⠀⠀⠀⠀⠀⠀⢠⡿⠋⢀⣀⣤⢴⠆⠲⠶⠶⣤⣄⠀⠀⠀⠀⠀⠀⠀\n ⠀⠘⣆⠀⠀⢠⣾⣫⣶⣾⣿⣿⣿⣿⣷⣯⣿⣦⠈⠃⡇⠀⠀⠀⠀⢸⠘⢁⣶⣿⣵⣾⣿⣿⣿⣿⣷⣦⣝⣷⡄⠀⠀⡰⠂⠀\n ⠀⠀⣨⣷⣶⣿⣧⣛⣛⠿⠿⣿⢿⣿⣿⣛⣿⡿⠀⠀⡇⠀⠀⠀⠀⢸⠀⠈⢿⣟⣛⠿⢿⡿⢿⢿⢿⣛⣫⣼⡿⣶⣾⣅⡀⠀\n ⢀⡼⠋⠁⠀⠀⠈⠉⠛⠛⠻⠟⠸⠛⠋⠉⠁⠀⠀⢸⡇⠀⠀⠄⠀⢸⡄⠀⠀⠈⠉⠙⠛⠃⠻⠛⠛⠛⠉⠁⠀⠀⠈⠙⢧⡀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣿⡇⢠⠀⠀⠀⢸⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⡇⠀⠀⠀⠀⢸⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠟⠁⣿⠇⠀⠀⠀⠀⢸⡇⠙⢿⣆⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠰⣄⠀⠀⠀⠀⠀⠀⠀⠀⢀⣠⣾⠖⡾⠁⠀⠀⣿⠀⠀⠀⠀⠀⠘⣿⠀⠀⠙⡇⢸⣷⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⣰⠄⠀\n ⠀⠀⢻⣷⡦⣤⣤⣤⡴⠶⠿⠛⠉⠁⠀⢳⠀⢠⡀⢿⣀⠀⠀⠀⠀⣠⡟⢀⣀⢠⠇⠀⠈⠙⠛⠷⠶⢦⣤⣤⣤⢴⣾⡏⠀⠀\n ⠀⠀⠈⣿⣧⠙⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⢊⣙⠛⠒⠒⢛⣋⡚⠛⠉⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡿⠁⣾⡿⠀⠀⠀\n ⠀⠀⠀⠘⣿⣇⠈⢿⣿⣦⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⣿⣿⡿⢿⣿⣿⣿⣆⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⡟⠁⣼⡿⠁⠀⠀⠀\n ⠀⠀⠀⠀⠘⣿⣦⠀⠻⣿⣷⣦⣤⣤⣶⣶⣶⣿⣿⣿⣿⠏⠀⠀⠻⣿⣿⣿⣿⣶⣶⣶⣦⣤⣴⣿⣿⠏⢀⣼⡿⠁⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠘⢿⣷⣄⠙⠻⠿⠿⠿⠿⠿⢿⣿⣿⣿⣁⣀⣀⣀⣀⣙⣿⣿⣿⠿⠿⠿⠿⠿⠿⠟⠁⣠⣿⡿⠁⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠈⠻⣯⠙⢦⣀⠀⠀⠀⠀⠀⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠉⠀⠀⠀⠀⠀⣠⠴⢋⣾⠟⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠙⢧⡀⠈⠉⠒⠀⠀⠀⠀⠀⠀⣀⠀⠀⠀⠀⢀⠀⠀⠀⠀⠀⠐⠒⠉⠁⢀⡾⠃⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠳⣄⠀⠀⠀⠀⠀⠀⠀⠀⠻⣿⣿⣿⣿⠋⠀⠀⠀⠀⠀⠀⠀⠀⣠⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⢦⡀⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⢀⡴⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⡿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠸⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀\n */\n private _getSizes({ sizes }: TableColumn) {\n if (sizes === 'auto' || !sizes) {\n return {\n 'w-auto': true,\n };\n }\n\n if (typeof sizes === 'object') {\n const classes = {};\n for (const size of Object.keys(sizes)) {\n if (size === 'default') {\n classes[`w-${sizes.default}/12`] = true;\n continue;\n }\n\n classes[`${size}:w-${sizes[`${size}`]}/12`] = true;\n }\n\n return classes;\n }\n\n // is a number.\n return {\n [`w-${sizes}/12`]: true,\n };\n }\n}\n",":host {\n @apply flex flex-col w-full;\n @apply bg-white rounded-large;\n @apply shadow-4 #{!important};\n}\n","import { Component, h, Host } from '@stencil/core';\n\n@Component({\n tag: 'p-table-container',\n styleUrl: 'table-container.component.scss',\n shadow: true,\n})\nexport class TableContainer {\n render() {\n return (\n <Host class=\"p-table-container\">\n <slot />\n </Host>\n );\n }\n}\n",":host {\n @apply grid grid-cols-1 gap-4;\n @apply w-full;\n @apply p-6;\n\n > p-pagination {\n @apply flex justify-self-center col-start-1;\n }\n\n > p-loader {\n @apply col-start-1;\n }\n\n @screen desktop-xs {\n @apply grid-cols-3;\n grid-template-areas: 'page-size pagination export';\n\n > p-page-size-select {\n @apply col-start-1;\n }\n\n > p-pagination {\n @apply col-start-2;\n }\n\n > p-loader {\n @apply col-start-2;\n }\n\n > p-button {\n @apply justify-self-end col-start-3;\n }\n }\n}\n\n:host(.page-size-disabled.export-disabled) {\n @apply grid-cols-1;\n\n > p-pagination {\n @apply col-start-1;\n }\n}\n","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 '../page-size-select/constants';\n\n@Component({\n tag: 'p-table-footer',\n styleUrl: 'table-footer.component.scss',\n shadow: true,\n})\nexport class TableFooter {\n /**\n * Wether to enable page size select\n */\n @Prop() enablePageSize: boolean = true;\n\n /**\n * Wether to enable pagination\n */\n @Prop() enablePagination: boolean = true;\n\n /**\n * Wether to enable export\n */\n @Prop() enableExport: boolean = true;\n\n /**\n * Wether we want to show loading state\n */\n @Prop() loading: boolean = false;\n\n /**\n * The current page\n */\n @Prop({ mutable: true, reflect: true }) page: number = 1;\n\n /**\n * The total amount of items\n */\n @Prop() total!: number;\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 = defaultSize;\n\n /**\n * The options for the page size\n */\n @Prop() pageSizeOptions: number[] = defaultSizeOptions;\n\n /**\n * Event whenever the page changes\n */\n @Event() pageSizeChange: EventEmitter<number>;\n\n /**\n * Event whenever the page changes\n */\n @Event() export: EventEmitter<number>;\n\n /**\n * Wether to hide when there is only 1 page available\n */\n @Prop() hideOnSinglePage: boolean = true;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\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 const hidePageSizeSelect =\n this.hideOnSinglePage && this.total < this.pageSizeOptions?.[0];\n return (\n <Host\n class={`p-table-footer ${\n !this.enablePageSize && 'page-size-disabled'\n } ${!this.enablePagination && 'pagination-disabled'} ${\n !this.enableExport && 'export-disabled'\n }`}\n >\n {!this.loading &&\n this.enablePagination &&\n this.enablePageSize && (\n <p-page-size-select\n class={\n !hidePageSizeSelect && 'hidden desktop-xs:flex'\n }\n hidden={hidePageSizeSelect}\n size={this.pageSize}\n sizeOptions={this.pageSizeOptions}\n onSizeChange={({ detail }) =>\n this._changePageSize(detail)\n }\n />\n )}\n\n {this.loading && (\n <p-loader\n variant=\"ghost\"\n class=\"rounded w-full h-8\"\n ></p-loader>\n )}\n\n {!this.loading && this.enablePagination && (\n <p-pagination\n pageSize={this.pageSize}\n total={this.total}\n page={this.page}\n hideOnSinglePage={this.hideOnSinglePage}\n onPageChange={({ detail }) =>\n this.pageChange.emit(detail)\n }\n />\n )}\n {!this.loading && this.enableExport && (\n <p-button\n class=\"hidden desktop-xs:flex\"\n variant=\"secondary\"\n size=\"small\"\n icon=\"download\"\n onClick={() => this.export.emit()}\n >\n {formatTranslation(this._locales.export)}\n </p-button>\n )}\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 _changePageSize(s?: number) {\n if (!s) {\n return;\n }\n\n this.pageSize = s;\n this.pageSizeChange.emit(this.pageSize);\n }\n}\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n const _super = (instance) => {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n const ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport const UnsubscriptionError = createErrorClass((_super) => function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? `${errors.length} errors occurred during unsubscription:\n${errors.map((err, i) => `${i + 1}) ${err.toString()}`).join('\\n ')}`\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n const index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nexport class Subscription {\n constructor(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n unsubscribe() {\n let errors;\n if (!this.closed) {\n this.closed = true;\n const { _parentage } = this;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n for (const parent of _parentage) {\n parent.remove(this);\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n const { initialTeardown: initialFinalizer } = this;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n const { _finalizers } = this;\n if (_finalizers) {\n this._finalizers = null;\n for (const finalizer of _finalizers) {\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = [...errors, ...err.errors];\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n }\n add(teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n }\n _hasParent(parent) {\n const { _parentage } = this;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n }\n _addParent(parent) {\n const { _parentage } = this;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n }\n _removeParent(parent) {\n const { _parentage } = this;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n }\n remove(teardown) {\n const { _finalizers } = this;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n }\n}\nSubscription.EMPTY = (() => {\n const empty = new Subscription();\n empty.closed = true;\n return empty;\n})();\nexport const EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export const config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","export const timeoutProvider = {\n setTimeout(handler, timeout, ...args) {\n const { delegate } = timeoutProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout(handler, timeout, ...args);\n }\n return setTimeout(handler, timeout, ...args);\n },\n clearTimeout(handle) {\n const { delegate } = timeoutProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(() => {\n const { onUnhandledError } = config;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","export const COMPLETE_NOTIFICATION = (() => createNotification('C', undefined, undefined))();\nexport function errorNotification(error) {\n return createNotification('E', undefined, error);\n}\nexport function nextNotification(value) {\n return createNotification('N', value, undefined);\n}\nexport function createNotification(kind, value, error) {\n return {\n kind,\n value,\n error,\n };\n}\n//# sourceMappingURL=NotificationFactories.js.map","import { config } from '../config';\nlet context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n const isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n const { errorThrown, error } = context;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nexport class Subscriber extends Subscription {\n constructor(destination) {\n super();\n this.isStopped = false;\n if (destination) {\n this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(this);\n }\n }\n else {\n this.destination = EMPTY_OBSERVER;\n }\n }\n static create(next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n }\n next(value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n }\n error(err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n }\n complete() {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n }\n unsubscribe() {\n if (!this.closed) {\n this.isStopped = true;\n super.unsubscribe();\n this.destination = null;\n }\n }\n _next(value) {\n this.destination.next(value);\n }\n _error(err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n _complete() {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n }\n}\nconst _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nclass ConsumerObserver {\n constructor(partialObserver) {\n this.partialObserver = partialObserver;\n }\n next(value) {\n const { partialObserver } = this;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n error(err) {\n const { partialObserver } = this;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n }\n complete() {\n const { partialObserver } = this;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n }\n}\nexport class SafeSubscriber extends Subscriber {\n constructor(observerOrNext, error, complete) {\n super();\n let partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n let context;\n if (this && config.useDeprecatedNextContext) {\n context = Object.create(observerOrNext);\n context.unsubscribe = () => this.unsubscribe();\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context),\n error: observerOrNext.error && bind(observerOrNext.error, context),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n this.destination = new ConsumerObserver(partialObserver);\n }\n}\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n const { onStoppedNotification } = config;\n onStoppedNotification && timeoutProvider.setTimeout(() => onStoppedNotification(notification, subscriber));\n}\nexport const EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export const observable = (() => (typeof Symbol === 'function' && Symbol.observable) || '@@observable')();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe(...fns) {\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce((prev, fn) => fn(prev), input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nexport class Observable {\n constructor(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n lift(operator) {\n const observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n }\n subscribe(observerOrNext, error, complete) {\n const subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(() => {\n const { operator, source } = this;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n this._subscribe(subscriber)\n :\n this._trySubscribe(subscriber));\n });\n return subscriber;\n }\n _trySubscribe(sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n }\n forEach(next, promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n const subscriber = new SafeSubscriber({\n next: (value) => {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n this.subscribe(subscriber);\n });\n }\n _subscribe(subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n }\n [Symbol_observable]() {\n return this;\n }\n pipe(...operations) {\n return pipeFromArray(operations)(this);\n }\n toPromise(promiseCtor) {\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor((resolve, reject) => {\n let value;\n this.subscribe((x) => (value = x), (err) => reject(err), () => resolve(value));\n });\n }\n}\nObservable.create = (subscribe) => {\n return new Observable(subscribe);\n};\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return (source) => {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nexport class OperatorSubscriber extends Subscriber {\n constructor(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n super(destination);\n this.onFinalize = onFinalize;\n this.shouldUnsubscribe = shouldUnsubscribe;\n this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : super._next;\n this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._error;\n this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : super._complete;\n }\n unsubscribe() {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n const { closed } = this;\n super.unsubscribe();\n !closed && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n }\n}\n//# sourceMappingURL=OperatorSubscriber.js.map","import { createErrorClass } from './createErrorClass';\nexport const ObjectUnsubscribedError = createErrorClass((_super) => function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nexport class Subject extends Observable {\n constructor() {\n super();\n this.closed = false;\n this.currentObservers = null;\n this.observers = [];\n this.isStopped = false;\n this.hasError = false;\n this.thrownError = null;\n }\n lift(operator) {\n const subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n }\n _throwIfClosed() {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n }\n next(value) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n if (!this.currentObservers) {\n this.currentObservers = Array.from(this.observers);\n }\n for (const observer of this.currentObservers) {\n observer.next(value);\n }\n }\n });\n }\n error(err) {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.hasError = this.isStopped = true;\n this.thrownError = err;\n const { observers } = this;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n }\n complete() {\n errorContext(() => {\n this._throwIfClosed();\n if (!this.isStopped) {\n this.isStopped = true;\n const { observers } = this;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n }\n unsubscribe() {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n }\n get observed() {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n }\n _trySubscribe(subscriber) {\n this._throwIfClosed();\n return super._trySubscribe(subscriber);\n }\n _subscribe(subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n }\n _innerSubscribe(subscriber) {\n const { hasError, isStopped, observers } = this;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(() => {\n this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n }\n _checkFinalizedStatuses(subscriber) {\n const { hasError, thrownError, isStopped } = this;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n }\n asObservable() {\n const observable = new Observable();\n observable.source = this;\n return observable;\n }\n}\nSubject.create = (destination, source) => {\n return new AnonymousSubject(destination, source);\n};\nexport class AnonymousSubject extends Subject {\n constructor(destination, source) {\n super();\n this.destination = destination;\n this.source = source;\n }\n next(value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n }\n error(err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n }\n complete() {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n }\n _subscribe(subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n }\n}\n//# sourceMappingURL=Subject.js.map","export const dateTimestampProvider = {\n now() {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { Subscription } from '../Subscription';\nexport class Action extends Subscription {\n constructor(scheduler, work) {\n super();\n }\n schedule(state, delay = 0) {\n return this;\n }\n}\n//# sourceMappingURL=Action.js.map","export const intervalProvider = {\n setInterval(handler, timeout, ...args) {\n const { delegate } = intervalProvider;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval(handler, timeout, ...args);\n }\n return setInterval(handler, timeout, ...args);\n },\n clearInterval(handle) {\n const { delegate } = intervalProvider;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nexport class AsyncAction extends Action {\n constructor(scheduler, work) {\n super(scheduler, work);\n this.scheduler = scheduler;\n this.work = work;\n this.pending = false;\n }\n schedule(state, delay = 0) {\n var _a;\n if (this.closed) {\n return this;\n }\n this.state = state;\n const id = this.id;\n const scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = (_a = this.id) !== null && _a !== void 0 ? _a : this.requestAsyncId(scheduler, this.id, delay);\n return this;\n }\n requestAsyncId(scheduler, _id, delay = 0) {\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n }\n recycleAsyncId(_scheduler, id, delay = 0) {\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n if (id != null) {\n intervalProvider.clearInterval(id);\n }\n return undefined;\n }\n execute(state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n const error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n }\n _execute(state, _delay) {\n let errored = false;\n let errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n }\n unsubscribe() {\n if (!this.closed) {\n const { id, scheduler } = this;\n const { actions } = scheduler;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n super.unsubscribe();\n }\n }\n}\n//# sourceMappingURL=AsyncAction.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nexport class Scheduler {\n constructor(schedulerActionCtor, now = Scheduler.now) {\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n schedule(work, delay = 0, state) {\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n }\n}\nScheduler.now = dateTimestampProvider.now;\n//# sourceMappingURL=Scheduler.js.map","import { Scheduler } from '../Scheduler';\nexport class AsyncScheduler extends Scheduler {\n constructor(SchedulerAction, now = Scheduler.now) {\n super(SchedulerAction, now);\n this.actions = [];\n this._active = false;\n }\n flush(action) {\n const { actions } = this;\n if (this._active) {\n actions.push(action);\n return;\n }\n let error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n }\n}\n//# sourceMappingURL=AsyncScheduler.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport const asyncScheduler = new AsyncScheduler(AsyncAction);\nexport const async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function debounceTime(dueTime, scheduler = asyncScheduler) {\n return operate((source, subscriber) => {\n let activeTask = null;\n let lastValue = null;\n let lastTime = null;\n const emit = () => {\n if (activeTask) {\n activeTask.unsubscribe();\n activeTask = null;\n const value = lastValue;\n lastValue = null;\n subscriber.next(value);\n }\n };\n function emitWhenIdle() {\n const targetTime = lastTime + dueTime;\n const now = scheduler.now();\n if (now < targetTime) {\n activeTask = this.schedule(undefined, targetTime - now);\n subscriber.add(activeTask);\n return;\n }\n emit();\n }\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n lastValue = value;\n lastTime = scheduler.now();\n if (!activeTask) {\n activeTask = scheduler.schedule(emitWhenIdle, dueTime);\n subscriber.add(activeTask);\n }\n }, () => {\n emit();\n subscriber.complete();\n }, undefined, () => {\n lastValue = activeTask = null;\n }));\n });\n}\n//# sourceMappingURL=debounceTime.js.map","import { identity } from '../util/identity';\nimport { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function distinctUntilChanged(comparator, keySelector = identity) {\n comparator = comparator !== null && comparator !== void 0 ? comparator : defaultCompare;\n return operate((source, subscriber) => {\n let previousKey;\n let first = true;\n source.subscribe(createOperatorSubscriber(subscriber, (value) => {\n const currentKey = keySelector(value);\n if (first || !comparator(previousKey, currentKey)) {\n first = false;\n previousKey = currentKey;\n subscriber.next(value);\n }\n }));\n });\n}\nfunction defaultCompare(a, b) {\n return a === b;\n}\n//# sourceMappingURL=distinctUntilChanged.js.map",":host {\n @apply flex flex-col gap-4;\n @apply w-full;\n @apply p-4 desktop-xs:p-6;\n\n @screen desktop-xs {\n @apply grid grid-cols-2;\n }\n\n p-segment-container {\n @apply justify-self-start col-start-1;\n }\n\n > div {\n @apply col-start-2;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from '@stencil/core';\nimport { debounceTime, distinctUntilChanged, Subject } from 'rxjs';\nimport { QuickFilter } from '../../../types/table';\nimport {\n formatTranslation,\n getLocaleComponentStrings,\n} from '../../../utils/localization';\n\nexport type templateFunc = () => string;\nexport type buttonTemplateFunc = (amount: number) => string;\n\n@Component({\n tag: 'p-table-header',\n styleUrl: 'table-header.component.scss',\n shadow: true,\n})\nexport class TableHeader {\n private _defaultFilterButtonTemplate: templateFunc = () =>\n formatTranslation(this._locales.filter);\n private _defaultEditButtonTemplate: buttonTemplateFunc = (amount: number) =>\n formatTranslation(\n amount === 0\n ? this._locales.edit\n : amount === 1\n ? this._locales.edit_single\n : this._locales.edit_plural,\n { amount }\n );\n\n /**\n * Quick filters to show\n */\n @Prop() quickFilters: QuickFilter[] = [];\n\n /**\n * Active quick filter identifier\n */\n @Prop() activeQuickFilterIdentifier: string;\n\n /**\n * Wether we want to show loading state\n */\n @Prop() loading: boolean = false;\n\n /**\n * Wether to show the search input\n */\n @Prop() enableSearch: boolean = true;\n\n /**\n * The amount of items that are selected\n */\n @Prop() itemsSelectedAmount: number = 0;\n\n /**\n * The query to show in the search bar\n */\n @Prop({ mutable: true }) query: string;\n\n /**\n * Wether to show the filter button\n */\n @Prop() enableFilter: boolean = true;\n\n /**\n * The amount of filters being selected\n */\n @Prop() selectedFiltersAmount: number;\n\n /**\n * The template for the filter button text\n */\n @Prop() filterButtonTemplate: templateFunc =\n this._defaultFilterButtonTemplate;\n\n /**\n * Wether to show the edit button\n */\n @Prop() enableEdit: boolean = true;\n\n /**\n * Wether to enable the edit button\n */\n @Prop({ mutable: true }) canEdit: boolean = false;\n\n /**\n * The template for the edit button text\n */\n @Prop() editButtonTemplate: buttonTemplateFunc =\n this._defaultEditButtonTemplate;\n\n /**\n * Event when one of the quick filters is clicked\n */\n @Event() quickFilter: EventEmitter<QuickFilter>;\n\n /**\n * Event when the query changes\n */\n @Event() queryChange: EventEmitter<string>;\n\n /**\n * Event when the filter button is clicked\n */\n @Event() filter: EventEmitter<null>;\n\n /**\n * Event when the edit button is clicked\n */\n @Event() edit: EventEmitter<null>;\n\n /**\n * The host element\n */\n @Element() private _el: HTMLElement;\n\n /**\n * Locales used for this component\n */\n @State() private _locales: any = {};\n\n private _queryObserver = new Subject<string>();\n\n componentWillLoad() {\n this._setLocales();\n }\n\n componentDidLoad() {\n this._queryObserver\n .pipe(debounceTime(300), distinctUntilChanged())\n .subscribe((value) => this.queryChange.emit(value));\n }\n\n render() {\n const activeQuickFilter = this.quickFilters.find(\n (f) => f.identifier === this.activeQuickFilterIdentifier\n );\n const mobileTotal =\n (this.selectedFiltersAmount || 0) +\n (activeQuickFilter?.default ? 0 : 1);\n\n return (\n <Host class=\"p-table-header\">\n {this.loading && (\n <p-loader\n variant=\"ghost\"\n class=\"hidden desktop-xs:flex rounded w-3/4 h-8\"\n ></p-loader>\n )}\n\n {!this.loading && this.quickFilters.length > 0 && (\n <p-segment-container class=\"hidden desktop-xs:flex\">\n {this.quickFilters.map((item) => (\n <p-segment-item\n active={\n item.identifier ===\n this.activeQuickFilterIdentifier\n }\n onClick={() => this.quickFilter.emit(item)}\n >\n {typeof item.text === 'string'\n ? item.text\n : item.text()}{' '}\n {item?.count >= 0 ? `(${item.count})` : ''}\n </p-segment-item>\n ))}\n </p-segment-container>\n )}\n\n <div class=\"flex flex-col desktop-xs:flex-row gap-4 justify-end justify-self-end\">\n {this.enableSearch && (\n <p-input-group icon=\"search\" size=\"small\">\n <input\n type=\"text\"\n slot=\"input\"\n placeholder=\"Zoeken...\"\n value={this.query}\n onInput={(ev) =>\n this._queryObserver.next(\n (ev.target as HTMLInputElement).value\n )\n }\n />\n </p-input-group>\n )}\n\n {this.enableFilter && (\n <p-button\n icon=\"filter\"\n variant=\"secondary\"\n size=\"small\"\n class=\"w-full desktop-xs:w-auto\"\n onClick={() => this.filter.emit()}\n >\n {this.filterButtonTemplate\n ? this.filterButtonTemplate()\n : this._defaultFilterButtonTemplate()}\n {this.selectedFiltersAmount &&\n this._getLabel(this.selectedFiltersAmount)}\n {mobileTotal > 0 &&\n this._getLabel(mobileTotal, 'mobile')}\n </p-button>\n )}\n\n {this.enableEdit && this._buttonTemplate()}\n </div>\n\n {this.enableEdit && this.canEdit && (\n <div class=\"fixed bottom-0 left-0 w-full p-4 bg-white border border-solid border-transparent border-t-mystic-dark block desktop-xs:hidden\">\n {this._buttonTemplate(true)}\n </div>\n )}\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 _buttonTemplate(mobile = false) {\n return (\n <p-button\n class={mobile ? 'w-full' : 'hidden desktop-xs:flex'}\n icon=\"pencil\"\n size=\"small\"\n disabled={!this.canEdit}\n onClick={() => this.edit.emit()}\n >\n {this.editButtonTemplate\n ? this.editButtonTemplate(\n mobile ? this.itemsSelectedAmount : 0\n )\n : this._defaultEditButtonTemplate(\n mobile ? this.itemsSelectedAmount : 0\n )}\n </p-button>\n );\n }\n\n private _getLabel(amount, variant: 'mobile' | 'default' = 'default') {\n return (\n <p-label\n size=\"small\"\n variant=\"negative\"\n behavior=\"text\"\n class={`ml-1 ${\n variant === 'default'\n ? 'hidden desktop-xs:flex'\n : 'flex desktop-xs:hidden'\n }`}\n >\n {amount}\n </p-label>\n );\n }\n}\n",":host {\n @apply w-full flex flex-col;\n @apply text-sm text-storm-medium;\n @apply px-6;\n\n .content {\n @apply flex flex-nowrap justify-between gap-4 w-full items-center py-6;\n }\n}\n\n:host(.variant-header) {\n @apply bg-mystic-light;\n @apply text-xs font-semibold uppercase text-storm-vague;\n @apply border-y border-x-0 border-solid border-y-mystic-dark #{!important};\n\n .content {\n @apply py-2;\n }\n}\n\n:host(.enable-hover:hover) {\n @apply bg-indigo-light cursor-pointer;\n}\n","import { Component, h, Host, Prop } from '@stencil/core';\n\n@Component({\n tag: 'p-table-row',\n styleUrl: 'table-row.component.scss',\n shadow: true,\n})\nexport class TableRow {\n /**\n * Variant of the header\n */\n @Prop() variant: 'default' | 'header' = 'default';\n\n /**\n * Enable hover\n */\n @Prop() enableHover: boolean = true;\n\n render() {\n return (\n <Host\n class={`p-table-row variant-${this.variant} ${\n this.enableHover &&\n this.variant === 'default' &&\n 'enable-hover'\n }`}\n >\n <div class=\"content\">\n <slot />\n </div>\n\n {this.variant === 'default' && <p-divider class=\"m-0\" />}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
|