{"version":3,"file":"manifests-CqbS9Qoq.js","sources":["../../../src/packages/members/member/search/constants.ts","../../../src/packages/members/member/components/member-picker-modal/member-picker-modal.token.ts","../../../src/packages/members/member/entity.ts","../../../src/packages/members/member/property-dataset-context/member-property-dataset.context-token.ts","../../../src/packages/members/member/collection/repository/manifests.ts","../../../src/packages/members/member/collection/views/manifests.ts","../../../src/packages/members/member/collection/member-collection.context-token.ts","../../../src/packages/members/member/entity-actions/create/member-create-options-modal.token.ts","../../../src/packages/members/member/repository/detail/manifests.ts","../../../src/packages/members/member/repository/detail/member-detail.store.context-token.ts","../../../src/packages/members/member/repository/item/manifests.ts","../../../src/packages/members/member/repository/item/member-item.store.context-token.ts","../../../src/packages/members/member/workspace/member/member-workspace.context-token.ts","../../../src/packages/members/member/workspace/member/manifests.ts","../../../src/packages/members/member/workspace/member-root/constants.ts","../../../src/packages/members/member/components/input-member/input-member.context.ts","../../../src/packages/members/member/components/input-member/input-member.element.ts","../../../src/packages/members/member/repository/member-repository-base.ts","../../../src/packages/members/member/collection/repository/member-collection.server.data-source.ts","../../../src/packages/members/member/collection/repository/member-collection.repository.ts","../../../src/packages/members/member/collection/action/manifests.ts","../../../src/packages/members/member/collection/manifests.ts","../../../src/packages/members/member/components/member-picker-modal/member-picker-modal.element.ts","../../../src/packages/members/member/repository/validation/manifests.ts"],"sourcesContent":["export const UMB_MEMBER_SEARCH_PROVIDER_ALIAS = 'Umb.SearchProvider.Member';\r\n","import type { UmbMemberItemModel } from '../../repository/index.js';\r\nimport { UMB_MEMBER_SEARCH_PROVIDER_ALIAS } from '../../search/constants.js';\r\nimport type { UmbPickerModalSearchConfig } from '@umbraco-cms/backoffice/modal';\r\nimport { UmbModalToken } from '@umbraco-cms/backoffice/modal';\r\n\r\nexport interface UmbMemberPickerModalData {\r\n\tmultiple?: boolean;\r\n\tfilter?: (member: UmbMemberItemModel) => boolean;\r\n\tsearch?: UmbPickerModalSearchConfig;\r\n}\r\n\r\nexport interface UmbMemberPickerModalValue {\r\n\tselection: Array;\r\n}\r\n\r\nexport const UMB_MEMBER_PICKER_MODAL = new UmbModalToken(\r\n\t'Umb.Modal.MemberPicker',\r\n\t{\r\n\t\tmodal: {\r\n\t\t\ttype: 'sidebar',\r\n\t\t\tsize: 'small',\r\n\t\t},\r\n\t\tdata: {\r\n\t\t\tsearch: {\r\n\t\t\t\tproviderAlias: UMB_MEMBER_SEARCH_PROVIDER_ALIAS,\r\n\t\t\t},\r\n\t\t},\r\n\t},\r\n);\r\n","export const UMB_MEMBER_ENTITY_TYPE = 'member';\r\nexport const UMB_MEMBER_ROOT_ENTITY_TYPE = 'member-root';\r\n\r\nexport type UmbMemberEntityType = typeof UMB_MEMBER_ENTITY_TYPE;\r\nexport type UmbMemberRootEntityType = typeof UMB_MEMBER_ROOT_ENTITY_TYPE;\r\n","import { UMB_MEMBER_ENTITY_TYPE } from '../entity.js';\r\nimport type { UmbMemberPropertyDatasetContext } from './member-property-dataset.context.js';\r\nimport type { UmbPropertyDatasetContext } from '@umbraco-cms/backoffice/property';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const IsMemberVariantContext = (\r\n\tcontext: UmbPropertyDatasetContext,\r\n): context is UmbMemberPropertyDatasetContext => context.getEntityType() === UMB_MEMBER_ENTITY_TYPE;\r\n\r\nexport const UMB_MEMBER_VARIANT_CONTEXT = new UmbContextToken<\r\n\tUmbPropertyDatasetContext,\r\n\tUmbMemberPropertyDatasetContext\r\n>('UmbVariantContext', undefined, IsMemberVariantContext);\r\n","export const UMB_MEMBER_COLLECTION_REPOSITORY_ALIAS = 'Umb.Repository.Member.Collection';\r\n\r\nexport const manifests: Array = [\r\n\t{\r\n\t\ttype: 'repository',\r\n\t\talias: UMB_MEMBER_COLLECTION_REPOSITORY_ALIAS,\r\n\t\tname: 'Member Collection Repository',\r\n\t\tapi: () => import('./member-collection.repository.js'),\r\n\t},\r\n];\r\n","import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';\r\n\r\nexport const UMB_MEMBER_TABLE_COLLECTION_VIEW_ALIAS = 'Umb.CollectionView.Member.Table';\r\n\r\nexport const manifests: Array = [\r\n\t{\r\n\t\ttype: 'collectionView',\r\n\t\talias: UMB_MEMBER_TABLE_COLLECTION_VIEW_ALIAS,\r\n\t\tname: 'Member Table Collection View',\r\n\t\telement: () => import('./table/member-table-collection-view.element.js'),\r\n\t\tmeta: {\r\n\t\t\tlabel: 'Table',\r\n\t\t\ticon: 'icon-list',\r\n\t\t\tpathName: 'table',\r\n\t\t},\r\n\t\tconditions: [\r\n\t\t\t{\r\n\t\t\t\talias: UMB_COLLECTION_ALIAS_CONDITION,\r\n\t\t\t\tmatch: 'Umb.Collection.Member',\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n];\r\n","import type { UmbMemberCollectionContext } from './member-collection.context.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_MEMBER_COLLECTION_CONTEXT = new UmbContextToken('UmbCollectionContext');\r\n","import { UmbModalToken } from '@umbraco-cms/backoffice/modal';\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport interface UmbMemberCreateOptionsModalData {}\r\n\r\n// eslint-disable-next-line @typescript-eslint/no-empty-object-type\r\nexport interface UmbMemberCreateOptionsModalValue {}\r\n\r\nexport const UMB_MEMBER_CREATE_OPTIONS_MODAL = new UmbModalToken<\r\n\tUmbMemberCreateOptionsModalData,\r\n\tUmbMemberCreateOptionsModalValue\r\n>('Umb.Modal.Member.CreateOptions', {\r\n\tmodal: {\r\n\t\ttype: 'sidebar',\r\n\t\tsize: 'small',\r\n\t},\r\n});\r\n","export const UMB_MEMBER_DETAIL_REPOSITORY_ALIAS = 'Umb.Repository.Member.Detail';\r\nexport const UMB_MEMBER_DETAIL_STORE_ALIAS = 'Umb.Store.Member.Detail';\r\n\r\nexport const manifests: Array = [\r\n\t{\r\n\t\ttype: 'repository',\r\n\t\talias: UMB_MEMBER_DETAIL_REPOSITORY_ALIAS,\r\n\t\tname: 'Member Detail Repository',\r\n\t\tapi: () => import('./member-detail.repository.js'),\r\n\t},\r\n\t{\r\n\t\ttype: 'store',\r\n\t\talias: UMB_MEMBER_DETAIL_STORE_ALIAS,\r\n\t\tname: 'Member Detail Store',\r\n\t\tapi: () => import('./member-detail.store.js'),\r\n\t},\r\n];\r\n","import type { UmbMemberDetailStore } from './member-detail.store.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_MEMBER_DETAIL_STORE_CONTEXT = new UmbContextToken('UmbMemberDetailStore');\r\n","export const UMB_MEMBER_ITEM_REPOSITORY_ALIAS = 'Umb.Repository.MemberItem';\r\nexport const UMB_MEMBER_STORE_ALIAS = 'Umb.Store.MemberItem';\r\n\r\nexport const manifests: Array = [\r\n\t{\r\n\t\ttype: 'repository',\r\n\t\talias: UMB_MEMBER_ITEM_REPOSITORY_ALIAS,\r\n\t\tname: 'Member Item Repository',\r\n\t\tapi: () => import('./member-item.repository.js'),\r\n\t},\r\n\t{\r\n\t\ttype: 'itemStore',\r\n\t\talias: UMB_MEMBER_STORE_ALIAS,\r\n\t\tname: 'Member Item Store',\r\n\t\tapi: () => import('./member-item.store.js'),\r\n\t},\r\n];\r\n","import type { UmbMemberItemStore } from './member-item.store.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\n\r\nexport const UMB_MEMBER_ITEM_STORE_CONTEXT = new UmbContextToken('UmbMemberItemStore');\r\n","import type { UmbMemberWorkspaceContext } from './member-workspace.context.js';\r\nimport { UmbContextToken } from '@umbraco-cms/backoffice/context-api';\r\nimport type { UmbSubmittableWorkspaceContext } from '@umbraco-cms/backoffice/workspace';\r\n\r\nexport const UMB_MEMBER_WORKSPACE_CONTEXT = new UmbContextToken<\r\n\tUmbSubmittableWorkspaceContext,\r\n\tUmbMemberWorkspaceContext\r\n>(\r\n\t'UmbWorkspaceContext',\r\n\tundefined,\r\n\t(context): context is UmbMemberWorkspaceContext => context.getEntityType?.() === 'member',\r\n);\r\n","import { UMB_MEMBER_ENTITY_TYPE } from '../../entity.js';\r\nimport type {\r\n\tManifestWorkspaces,\r\n\tManifestWorkspaceActions,\r\n\tManifestWorkspaceView,\r\n} from '@umbraco-cms/backoffice/workspace';\r\nimport { UmbSubmitWorkspaceAction, UMB_WORKSPACE_CONDITION_ALIAS } from '@umbraco-cms/backoffice/workspace';\r\nimport { UMB_CONTENT_HAS_PROPERTIES_WORKSPACE_CONDITION } from '@umbraco-cms/backoffice/content';\r\n\r\nexport const UMB_MEMBER_WORKSPACE_ALIAS = 'Umb.Workspace.Member';\r\n\r\nconst workspace: ManifestWorkspaces = {\r\n\ttype: 'workspace',\r\n\tkind: 'routable',\r\n\talias: UMB_MEMBER_WORKSPACE_ALIAS,\r\n\tname: 'Member Workspace',\r\n\tapi: () => import('./member-workspace.context.js'),\r\n\tmeta: {\r\n\t\tentityType: UMB_MEMBER_ENTITY_TYPE,\r\n\t},\r\n};\r\n\r\nconst workspaceActions: Array = [\r\n\t{\r\n\t\ttype: 'workspaceAction',\r\n\t\tkind: 'default',\r\n\t\talias: 'Umb.WorkspaceAction.Member.Save',\r\n\t\tname: 'Save Member Workspace Action',\r\n\t\tapi: UmbSubmitWorkspaceAction,\r\n\t\tmeta: {\r\n\t\t\tlabel: '#buttons_save',\r\n\t\t\tlook: 'primary',\r\n\t\t\tcolor: 'positive',\r\n\t\t},\r\n\t\tconditions: [\r\n\t\t\t{\r\n\t\t\t\talias: UMB_WORKSPACE_CONDITION_ALIAS,\r\n\t\t\t\tmatch: UMB_MEMBER_WORKSPACE_ALIAS,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n];\r\n\r\nexport const workspaceViews: Array = [\r\n\t{\r\n\t\ttype: 'workspaceView',\r\n\t\tkind: 'contentEditor',\r\n\t\talias: 'Umb.WorkspaceView.Member.Content',\r\n\t\tname: 'Member Workspace Content View',\r\n\t\tweight: 1000,\r\n\t\tmeta: {\r\n\t\t\tlabel: '#general_details',\r\n\t\t\tpathname: 'content',\r\n\t\t\ticon: 'icon-document',\r\n\t\t},\r\n\t\tconditions: [\r\n\t\t\t{\r\n\t\t\t\talias: UMB_WORKSPACE_CONDITION_ALIAS,\r\n\t\t\t\tmatch: UMB_MEMBER_WORKSPACE_ALIAS,\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\talias: UMB_CONTENT_HAS_PROPERTIES_WORKSPACE_CONDITION,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n\t{\r\n\t\ttype: 'workspaceView',\r\n\t\talias: 'Umb.WorkspaceView.Member.Member',\r\n\t\tname: 'Member Workspace Member View',\r\n\t\tjs: () => import('./views/member/member-workspace-view-member.element.js'),\r\n\t\tweight: 500,\r\n\t\tmeta: {\r\n\t\t\tlabel: '#apps_umbInfo',\r\n\t\t\tpathname: 'info',\r\n\t\t\ticon: 'icon-user',\r\n\t\t},\r\n\t\tconditions: [\r\n\t\t\t{\r\n\t\t\t\talias: UMB_WORKSPACE_CONDITION_ALIAS,\r\n\t\t\t\tmatch: UMB_MEMBER_WORKSPACE_ALIAS,\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n];\r\n\r\nexport const manifests: Array = [workspace, ...workspaceActions, ...workspaceViews];\r\n","export const UMB_MEMBER_ROOT_WORKSPACE_ALIAS = 'Umb.Workspace.MemberRoot';\r\n","import type { UmbMemberItemModel } from '../../repository/index.js';\r\nimport { UMB_MEMBER_PICKER_MODAL } from '../member-picker-modal/member-picker-modal.token.js';\r\nimport { UMB_MEMBER_ITEM_REPOSITORY_ALIAS } from '../../constants.js';\r\nimport { UmbPickerInputContext } from '@umbraco-cms/backoffice/picker-input';\r\nimport type { UmbControllerHostElement } from '@umbraco-cms/backoffice/controller-api';\r\n\r\nexport class UmbMemberPickerInputContext extends UmbPickerInputContext {\r\n\tconstructor(host: UmbControllerHostElement) {\r\n\t\tsuper(host, UMB_MEMBER_ITEM_REPOSITORY_ALIAS, UMB_MEMBER_PICKER_MODAL);\r\n\t}\r\n}\r\n\r\n/** @deprecated Use `UmbMemberPickerInputContext` instead. This method will be removed in Umbraco 15. */\r\nexport { UmbMemberPickerInputContext as UmbMemberPickerContext };\r\n","import type { UmbMemberItemModel } from '../../repository/index.js';\r\nimport { UmbMemberPickerInputContext } from './input-member.context.js';\r\nimport { css, customElement, html, nothing, property, repeat, state } from '@umbraco-cms/backoffice/external/lit';\r\nimport { splitStringToArray } from '@umbraco-cms/backoffice/utils';\r\nimport { UmbChangeEvent } from '@umbraco-cms/backoffice/event';\r\nimport { UmbLitElement } from '@umbraco-cms/backoffice/lit-element';\r\nimport { UMB_WORKSPACE_MODAL } from '@umbraco-cms/backoffice/workspace';\r\nimport { UmbModalRouteRegistrationController } from '@umbraco-cms/backoffice/router';\r\nimport { UmbSorterController } from '@umbraco-cms/backoffice/sorter';\r\nimport { UmbFormControlMixin } from '@umbraco-cms/backoffice/validation';\r\n\r\nconst elementName = 'umb-input-member';\r\n\r\n@customElement(elementName)\r\nexport class UmbInputMemberElement extends UmbFormControlMixin(\r\n\tUmbLitElement,\r\n) {\r\n\t#sorter = new UmbSorterController(this, {\r\n\t\tgetUniqueOfElement: (element) => {\r\n\t\t\treturn element.id;\r\n\t\t},\r\n\t\tgetUniqueOfModel: (modelEntry) => {\r\n\t\t\treturn modelEntry;\r\n\t\t},\r\n\t\tidentifier: 'Umb.SorterIdentifier.InputMember',\r\n\t\titemSelector: 'uui-ref-node',\r\n\t\tcontainerSelector: 'uui-ref-list',\r\n\t\tonChange: ({ model }) => {\r\n\t\t\tthis.selection = model;\r\n\t\t\tthis.dispatchEvent(new UmbChangeEvent());\r\n\t\t},\r\n\t});\r\n\r\n\t/**\r\n\t * This is a minimum amount of selected items in this input.\r\n\t * @type {number}\r\n\t * @attr\r\n\t * @default\r\n\t */\r\n\t@property({ type: Number })\r\n\tpublic set min(value: number) {\r\n\t\tthis.#pickerContext.min = value;\r\n\t}\r\n\tpublic get min(): number {\r\n\t\treturn this.#pickerContext.min;\r\n\t}\r\n\r\n\t/**\r\n\t * Min validation message.\r\n\t * @type {boolean}\r\n\t * @attr\r\n\t * @default\r\n\t */\r\n\t@property({ type: String, attribute: 'min-message' })\r\n\tminMessage = 'This field need more items';\r\n\r\n\t/**\r\n\t * This is a maximum amount of selected items in this input.\r\n\t * @type {number}\r\n\t * @attr\r\n\t * @default\r\n\t */\r\n\t@property({ type: Number })\r\n\tpublic set max(value: number) {\r\n\t\tthis.#pickerContext.max = value;\r\n\t}\r\n\tpublic get max(): number {\r\n\t\treturn this.#pickerContext.max;\r\n\t}\r\n\r\n\t/**\r\n\t * Max validation message.\r\n\t * @type {boolean}\r\n\t * @attr\r\n\t * @default\r\n\t */\r\n\t@property({ type: String, attribute: 'max-message' })\r\n\tmaxMessage = 'This field exceeds the allowed amount of items';\r\n\r\n\tpublic set selection(ids: Array) {\r\n\t\tthis.#pickerContext.setSelection(ids);\r\n\t\tthis.#sorter.setModel(ids);\r\n\t}\r\n\tpublic get selection(): Array {\r\n\t\treturn this.#pickerContext.getSelection();\r\n\t}\r\n\r\n\t@property({ type: Boolean })\r\n\tshowOpenButton?: boolean;\r\n\r\n\t@property({ type: Array })\r\n\tallowedContentTypeIds?: string[] | undefined;\r\n\r\n\t@property({ type: String })\r\n\tpublic override set value(selectionString: string | undefined) {\r\n\t\tthis.selection = splitStringToArray(selectionString);\r\n\t}\r\n\tpublic override get value(): string | undefined {\r\n\t\treturn this.selection.length > 0 ? this.selection.join(',') : undefined;\r\n\t}\r\n\r\n\t@property({ type: Object, attribute: false })\r\n\tpublic filter: (member: UmbMemberItemModel) => boolean = () => true;\r\n\r\n\t/**\r\n\t * Sets the input to readonly mode, meaning value cannot be changed but still able to read and select its content.\r\n\t * @type {boolean}\r\n\t * @attr\r\n\t * @default\r\n\t */\r\n\t@property({ type: Boolean, reflect: true })\r\n\tpublic get readonly() {\r\n\t\treturn this.#readonly;\r\n\t}\r\n\tpublic set readonly(value) {\r\n\t\tthis.#readonly = value;\r\n\r\n\t\tif (this.#readonly) {\r\n\t\t\tthis.#sorter.disable();\r\n\t\t} else {\r\n\t\t\tthis.#sorter.enable();\r\n\t\t}\r\n\t}\r\n\t#readonly = false;\r\n\r\n\t@state()\r\n\tprivate _editMemberPath = '';\r\n\r\n\t@state()\r\n\tprivate _items?: Array;\r\n\r\n\t#pickerContext = new UmbMemberPickerInputContext(this);\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\r\n\t\tnew UmbModalRouteRegistrationController(this, UMB_WORKSPACE_MODAL)\r\n\t\t\t.addAdditionalPath('member')\r\n\t\t\t.onSetup(() => {\r\n\t\t\t\treturn { data: { entityType: 'member', preset: {} } };\r\n\t\t\t})\r\n\t\t\t.observeRouteBuilder((routeBuilder) => {\r\n\t\t\t\tthis._editMemberPath = routeBuilder({});\r\n\t\t\t});\r\n\r\n\t\tthis.addValidator(\r\n\t\t\t'rangeUnderflow',\r\n\t\t\t() => this.minMessage,\r\n\t\t\t() => !!this.min && this.selection.length < this.min,\r\n\t\t);\r\n\r\n\t\tthis.addValidator(\r\n\t\t\t'rangeOverflow',\r\n\t\t\t() => this.maxMessage,\r\n\t\t\t() => !!this.max && this.selection.length > this.max,\r\n\t\t);\r\n\r\n\t\tthis.observe(this.#pickerContext.selection, (selection) => (this.value = selection.join(',')), '_observeSelection');\r\n\t\tthis.observe(this.#pickerContext.selectedItems, (selectedItems) => (this._items = selectedItems), '_observeItems');\r\n\t}\r\n\r\n\t#pickableFilter = (item: UmbMemberItemModel): boolean => {\r\n\t\tif (this.allowedContentTypeIds && this.allowedContentTypeIds.length > 0) {\r\n\t\t\treturn this.allowedContentTypeIds.includes(item.memberType.unique);\r\n\t\t}\r\n\t\treturn true;\r\n\t};\r\n\r\n\t#openPicker() {\r\n\t\tthis.#pickerContext.openPicker({\r\n\t\t\tfilter: this.filter,\r\n\t\t\tpickableFilter: this.#pickableFilter,\r\n\t\t});\r\n\t}\r\n\r\n\t#onRemove(item: UmbMemberItemModel) {\r\n\t\tthis.#pickerContext.requestRemoveItem(item.unique);\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html`${this.#renderItems()} ${this.#renderAddButton()}`;\r\n\t}\r\n\r\n\t#renderItems() {\r\n\t\tif (!this._items) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${repeat(\r\n\t\t\t\t\tthis._items,\r\n\t\t\t\t\t(item) => item.unique,\r\n\t\t\t\t\t(item) => this.#renderItem(item),\r\n\t\t\t\t)}\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderAddButton() {\r\n\t\tif (this.selection.length >= this.max) return nothing;\r\n\t\tif (this.readonly && this.selection.length > 0) {\r\n\t\t\treturn nothing;\r\n\t\t} else {\r\n\t\t\treturn html`\r\n\t\t\t\t\r\n\t\t\t`;\r\n\t\t}\r\n\t}\r\n\r\n\t#renderItem(item: UmbMemberItemModel) {\r\n\t\tif (!item.unique) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t${this.#renderOpenButton(item)} ${this.#renderRemoveButton(item)}\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderOpenButton(item: UmbMemberItemModel) {\r\n\t\tif (!this.showOpenButton) return nothing;\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t${this.localize.term('general_open')}\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderRemoveButton(item: UmbMemberItemModel) {\r\n\t\tif (this.readonly) return nothing;\r\n\t\treturn html`\r\n\t\t\t this.#onRemove(item)} label=${this.localize.term('general_remove')}>\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [\r\n\t\tcss`\r\n\t\t\t#btn-add {\r\n\t\t\t\tdisplay: block;\r\n\t\t\t}\r\n\r\n\t\t\tuui-ref-node[drag-placeholder] {\r\n\t\t\t\topacity: 0.2;\r\n\t\t\t}\r\n\t\t`,\r\n\t];\r\n}\r\n\r\nexport { UmbInputMemberElement as element };\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t[elementName]: UmbInputMemberElement;\r\n\t}\r\n}\r\n","import type { UmbMemberDetailStore } from './detail/member-detail.store.js';\r\nimport { UMB_MEMBER_DETAIL_STORE_CONTEXT } from './detail/member-detail.store.context-token.js';\r\nimport type { UmbMemberItemStore } from './item/member-item.store.js';\r\nimport { UMB_MEMBER_ITEM_STORE_CONTEXT } from './item/member-item.store.context-token.js';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport type { UmbNotificationContext } from '@umbraco-cms/backoffice/notification';\r\nimport { UMB_NOTIFICATION_CONTEXT } from '@umbraco-cms/backoffice/notification';\r\nimport { UmbRepositoryBase } from '@umbraco-cms/backoffice/repository';\r\n\r\nexport abstract class UmbMemberRepositoryBase extends UmbRepositoryBase {\r\n\tprotected init;\r\n\tprotected detailStore?: UmbMemberDetailStore;\r\n\tprotected itemStore?: UmbMemberItemStore;\r\n\tprotected notificationContext?: UmbNotificationContext;\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host);\r\n\r\n\t\tthis.init = Promise.all([\r\n\t\t\tthis.consumeContext(UMB_MEMBER_DETAIL_STORE_CONTEXT, (instance) => {\r\n\t\t\t\tthis.detailStore = instance;\r\n\t\t\t}).asPromise(),\r\n\r\n\t\t\tthis.consumeContext(UMB_MEMBER_ITEM_STORE_CONTEXT, (instance) => {\r\n\t\t\t\tthis.itemStore = instance;\r\n\t\t\t}).asPromise(),\r\n\r\n\t\t\tthis.consumeContext(UMB_NOTIFICATION_CONTEXT, (instance) => {\r\n\t\t\t\tthis.notificationContext = instance;\r\n\t\t\t}).asPromise(),\r\n\t\t]);\r\n\t}\r\n}\r\n","import type { UmbMemberDetailModel, UmbMemberValueModel } from '../../types.js';\r\nimport { UMB_MEMBER_ENTITY_TYPE } from '../../entity.js';\r\nimport type { UmbMemberCollectionFilterModel } from '../types.js';\r\nimport { tryExecuteAndNotify } from '@umbraco-cms/backoffice/resources';\r\nimport type { UmbCollectionDataSource } from '@umbraco-cms/backoffice/collection';\r\nimport type { MemberResponseModel } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport { MemberService } from '@umbraco-cms/backoffice/external/backend-api';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\nimport type { UmbEntityVariantModel } from '@umbraco-cms/backoffice/variant';\r\n\r\n/**\r\n * A data source that fetches the member collection data from the server.\r\n * @class UmbMemberCollectionServerDataSource\r\n * @implements {UmbCollectionDataSource}\r\n */\r\nexport class UmbMemberCollectionServerDataSource implements UmbCollectionDataSource {\r\n\t#host: UmbControllerHost;\r\n\r\n\t/**\r\n\t * Creates an instance of UmbMemberCollectionServerDataSource.\r\n\t * @param {UmbControllerHost} host - The controller host for this controller to be appended to\r\n\t * @memberof UmbMemberCollectionServerDataSource\r\n\t */\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tthis.#host = host;\r\n\t}\r\n\r\n\t/**\r\n\t * Gets the member collection filtered by the given filter.\r\n\t * @param {UmbMemberCollectionFilterModel} filter\r\n\t * @returns {*}\r\n\t * @memberof UmbMemberCollectionServerDataSource\r\n\t */\r\n\tasync getCollection(filter: UmbMemberCollectionFilterModel) {\r\n\t\tconst { data, error } = await tryExecuteAndNotify(this.#host, MemberService.getFilterMember(filter));\r\n\r\n\t\tif (error) {\r\n\t\t\treturn { error };\r\n\t\t}\r\n\r\n\t\tif (!data) {\r\n\t\t\treturn { data: { items: [], total: 0 } };\r\n\t\t}\r\n\r\n\t\tconst { items, total } = data;\r\n\r\n\t\tconst mappedItems: Array = items.map((item: MemberResponseModel) => {\r\n\t\t\tconst memberDetail: UmbMemberDetailModel = {\r\n\t\t\t\tentityType: UMB_MEMBER_ENTITY_TYPE,\r\n\t\t\t\temail: item.email,\r\n\t\t\t\tvariants: item.variants as UmbEntityVariantModel[],\r\n\t\t\t\tunique: item.id,\r\n\t\t\t\tkind: item.kind,\r\n\t\t\t\tlastLoginDate: item.lastLoginDate || null,\r\n\t\t\t\tlastLockoutDate: item.lastLockoutDate || null,\r\n\t\t\t\tlastPasswordChangeDate: item.lastPasswordChangeDate || null,\r\n\t\t\t\tfailedPasswordAttempts: item.failedPasswordAttempts,\r\n\t\t\t\tisApproved: item.isApproved,\r\n\t\t\t\tisLockedOut: item.isLockedOut,\r\n\t\t\t\tgroups: item.groups,\r\n\t\t\t\tisTwoFactorEnabled: item.isTwoFactorEnabled,\r\n\t\t\t\tmemberType: { unique: item.memberType.id },\r\n\t\t\t\tusername: item.username,\r\n\t\t\t\tvalues: item.values as UmbMemberValueModel[],\r\n\t\t\t};\r\n\r\n\t\t\treturn memberDetail;\r\n\t\t});\r\n\r\n\t\treturn { data: { items: mappedItems, total } };\r\n\t}\r\n}\r\n","import { UmbMemberRepositoryBase } from '../../repository/member-repository-base.js';\r\nimport type { UmbMemberCollectionFilterModel } from '../types.js';\r\nimport { UmbMemberCollectionServerDataSource } from './member-collection.server.data-source.js';\r\nimport type { UmbMemberCollectionDataSource } from './types.js';\r\nimport type { UmbCollectionRepository } from '@umbraco-cms/backoffice/collection';\r\nimport type { UmbControllerHost } from '@umbraco-cms/backoffice/controller-api';\r\n\r\nexport class UmbMemberCollectionRepository extends UmbMemberRepositoryBase implements UmbCollectionRepository {\r\n\t#collectionSource: UmbMemberCollectionDataSource;\r\n\r\n\tconstructor(host: UmbControllerHost) {\r\n\t\tsuper(host);\r\n\t\tthis.#collectionSource = new UmbMemberCollectionServerDataSource(host);\r\n\t}\r\n\r\n\tasync requestCollection(filter: UmbMemberCollectionFilterModel = { skip: 0, take: 100 }) {\r\n\t\tawait this.init;\r\n\r\n\t\tconst { data, error } = await this.#collectionSource.getCollection(filter);\r\n\r\n\t\tif (data) {\r\n\t\t\tthis.detailStore!.appendItems(data.items);\r\n\t\t}\r\n\r\n\t\treturn { data, error, asObservable: () => this.detailStore!.all() };\r\n\t}\r\n}\r\n\r\nexport default UmbMemberCollectionRepository;\r\n","import { UMB_COLLECTION_ALIAS_CONDITION } from '@umbraco-cms/backoffice/collection';\r\n\r\nexport const manifests: Array = [\r\n\t{\r\n\t\ttype: 'collectionAction',\r\n\t\tname: 'Create Member Collection Action',\r\n\t\tkind: 'button',\r\n\t\talias: 'Umb.CollectionAction.Member.Create',\r\n\t\tweight: 200,\r\n\t\tmeta: {\r\n\t\t\tlabel: '#general_create',\r\n\t\t\thref: 'section/member-management/workspace/member/create/member-type-1-id', // TODO: remove hardcoded member type id\r\n\t\t},\r\n\t\telement: () => import('./create-member-collection-action.element.js'),\r\n\t\tconditions: [\r\n\t\t\t{\r\n\t\t\t\talias: UMB_COLLECTION_ALIAS_CONDITION,\r\n\t\t\t\tmatch: 'Umb.Collection.Member',\r\n\t\t\t},\r\n\t\t],\r\n\t},\r\n];\r\n","import { UMB_MEMBER_COLLECTION_REPOSITORY_ALIAS } from './repository/constants.js';\r\nimport { manifests as collectionRepositoryManifests } from './repository/manifests.js';\r\nimport { manifests as collectionViewManifests } from './views/manifests.js';\r\nimport { manifests as collectionActionManifests } from './action/manifests.js';\r\n\r\nexport const UMB_MEMBER_COLLECTION_ALIAS = 'Umb.Collection.Member';\r\n\r\nexport const manifests: Array = [\r\n\t{\r\n\t\ttype: 'collection',\r\n\t\talias: UMB_MEMBER_COLLECTION_ALIAS,\r\n\t\tname: 'Member Collection',\r\n\t\tapi: () => import('./member-collection.context.js'),\r\n\t\telement: () => import('./member-collection.element.js'),\r\n\t\tmeta: {\r\n\t\t\trepositoryAlias: UMB_MEMBER_COLLECTION_REPOSITORY_ALIAS,\r\n\t\t},\r\n\t},\r\n\t...collectionRepositoryManifests,\r\n\t...collectionViewManifests,\r\n\t...collectionActionManifests,\r\n];\r\n","import { UmbMemberCollectionRepository } from '../../collection/index.js';\r\nimport type { UmbMemberDetailModel } from '../../types.js';\r\nimport type { UmbMemberItemModel } from '../../repository/index.js';\r\nimport type { UmbMemberPickerModalValue, UmbMemberPickerModalData } from './member-picker-modal.token.js';\r\nimport type { PropertyValueMap } from '@umbraco-cms/backoffice/external/lit';\r\nimport { customElement, html, nothing, repeat, state } from '@umbraco-cms/backoffice/external/lit';\r\nimport { UmbModalBaseElement } from '@umbraco-cms/backoffice/modal';\r\nimport { UmbTextStyles } from '@umbraco-cms/backoffice/style';\r\nimport { UmbCollectionItemPickerContext } from '@umbraco-cms/backoffice/collection';\r\n\r\n@customElement('umb-member-picker-modal')\r\nexport class UmbMemberPickerModalElement extends UmbModalBaseElement<\r\n\tUmbMemberPickerModalData,\r\n\tUmbMemberPickerModalValue\r\n> {\r\n\t@state()\r\n\tprivate _members: Array = [];\r\n\r\n\t@state()\r\n\tprivate _searchQuery?: string;\r\n\r\n\t#collectionRepository = new UmbMemberCollectionRepository(this);\r\n\t#pickerContext = new UmbCollectionItemPickerContext(this);\r\n\r\n\tconstructor() {\r\n\t\tsuper();\r\n\t\tthis.observe(\r\n\t\t\tthis.#pickerContext.selection.selection,\r\n\t\t\t(selection) => {\r\n\t\t\t\tthis.updateValue({ selection });\r\n\t\t\t\tthis.requestUpdate();\r\n\t\t\t},\r\n\t\t\t'umbSelectionObserver',\r\n\t\t);\r\n\r\n\t\tthis.observe(\r\n\t\t\tthis.#pickerContext.search.query,\r\n\t\t\t(query) => {\r\n\t\t\t\tthis._searchQuery = query?.query;\r\n\t\t\t},\r\n\t\t\t'umbPickerSearchQueryObserver',\r\n\t\t);\r\n\t}\r\n\r\n\tprotected override async updated(_changedProperties: PropertyValueMap | Map) {\r\n\t\tsuper.updated(_changedProperties);\r\n\r\n\t\tif (_changedProperties.has('data')) {\r\n\t\t\tthis.#pickerContext.search.updateConfig({ ...this.data?.search });\r\n\t\t\tthis.#pickerContext.selection.setMultiple(this.data?.multiple ?? false);\r\n\t\t}\r\n\r\n\t\tif (_changedProperties.has('value')) {\r\n\t\t\tthis.#pickerContext.selection.setSelection(this.value?.selection);\r\n\t\t}\r\n\t}\r\n\r\n\toverride async firstUpdated() {\r\n\t\tconst { data } = await this.#collectionRepository.requestCollection({});\r\n\t\tthis._members = data?.items ?? [];\r\n\t}\r\n\r\n\tget #filteredMembers() {\r\n\t\tif (this.data?.filter) {\r\n\t\t\treturn this._members.filter(this.data.filter as any);\r\n\t\t} else {\r\n\t\t\treturn this._members;\r\n\t\t}\r\n\t}\r\n\r\n\toverride render() {\r\n\t\treturn html`\r\n\t\t\t\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t${this.#renderItems()}\r\n\t\t\t\t${this.#renderActions()}\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderItems() {\r\n\t\tif (this._searchQuery) {\r\n\t\t\treturn nothing;\r\n\t\t}\r\n\r\n\t\treturn html`\r\n\t\t\t${repeat(\r\n\t\t\t\tthis.#filteredMembers,\r\n\t\t\t\t(item) => item.unique,\r\n\t\t\t\t(item) => this.#renderMemberItem(item),\r\n\t\t\t)}\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderMemberItem(item: UmbMemberItemModel | UmbMemberDetailModel) {\r\n\t\treturn html`\r\n\t\t\t this.#pickerContext.selection.select(item.unique)}\r\n\t\t\t\t@deselected=${() => this.#pickerContext.selection.deselect(item.unique)}\r\n\t\t\t\t?selected=${this.#pickerContext.selection.isSelected(item.unique)}>\r\n\t\t\t\t\r\n\t\t\t\r\n\t\t`;\r\n\t}\r\n\r\n\t#renderActions() {\r\n\t\treturn html`\r\n\t\t\t
\r\n\t\t\t\t this.modalContext?.reject()}>\r\n\t\t\t\t this.modalContext?.submit()}>\r\n\t\t\t
\r\n\t\t`;\r\n\t}\r\n\r\n\tstatic override styles = [UmbTextStyles];\r\n}\r\n\r\nexport default UmbMemberPickerModalElement;\r\n\r\ndeclare global {\r\n\tinterface HTMLElementTagNameMap {\r\n\t\t'umb-member-picker-modal': UmbMemberPickerModalElement;\r\n\t}\r\n}\r\n","export const UMB_MEMBER_VALIDATION_REPOSITORY_ALIAS = 'Umb.Repository.Member.Validation';\r\n\r\nexport const manifests: Array = [\r\n\t{\r\n\t\ttype: 'repository',\r\n\t\talias: UMB_MEMBER_VALIDATION_REPOSITORY_ALIAS,\r\n\t\tname: 'Member Validation Repository',\r\n\t\tapi: () => import('./member-validation.repository.js'),\r\n\t},\r\n];\r\n"],"names":["UMB_MEMBER_SEARCH_PROVIDER_ALIAS","UMB_MEMBER_PICKER_MODAL","UmbModalToken","UMB_MEMBER_ENTITY_TYPE","UMB_MEMBER_ROOT_ENTITY_TYPE","IsMemberVariantContext","context","UMB_MEMBER_VARIANT_CONTEXT","UmbContextToken","UMB_MEMBER_COLLECTION_REPOSITORY_ALIAS","manifests","memberCollection_repository","UMB_MEMBER_TABLE_COLLECTION_VIEW_ALIAS","UMB_COLLECTION_ALIAS_CONDITION","UMB_MEMBER_COLLECTION_CONTEXT","UMB_MEMBER_CREATE_OPTIONS_MODAL","UMB_MEMBER_DETAIL_REPOSITORY_ALIAS","UMB_MEMBER_DETAIL_STORE_ALIAS","UMB_MEMBER_DETAIL_STORE_CONTEXT","UMB_MEMBER_ITEM_REPOSITORY_ALIAS","UMB_MEMBER_STORE_ALIAS","UMB_MEMBER_ITEM_STORE_CONTEXT","UMB_MEMBER_WORKSPACE_CONTEXT","UMB_MEMBER_WORKSPACE_ALIAS","workspace","workspaceActions","UmbSubmitWorkspaceAction","UMB_WORKSPACE_CONDITION_ALIAS","workspaceViews","UMB_CONTENT_HAS_PROPERTIES_WORKSPACE_CONDITION","UMB_MEMBER_ROOT_WORKSPACE_ALIAS","UmbMemberPickerInputContext","UmbPickerInputContext","host","_sorter","_readonly","_pickerContext","_pickableFilter","_UmbInputMemberElement_instances","openPicker_fn","onRemove_fn","renderItems_fn","renderAddButton_fn","renderItem_fn","renderOpenButton_fn","renderRemoveButton_fn","elementName","UmbInputMemberElement","UmbFormControlMixin","UmbLitElement","__privateAdd","UmbSorterController","element","modelEntry","model","UmbChangeEvent","item","UmbModalRouteRegistrationController","UMB_WORKSPACE_MODAL","routeBuilder","__privateGet","selection","selectedItems","value","ids","selectionString","splitStringToArray","__privateSet","html","__privateMethod","repeat","nothing","css","__decorateClass","property","state","customElement","UmbMemberRepositoryBase","UmbRepositoryBase","instance","UMB_NOTIFICATION_CONTEXT","UmbMemberCollectionServerDataSource","#host","filter","data","error","tryExecuteAndNotify","MemberService","items","total","UmbMemberCollectionRepository","#collectionSource","UMB_MEMBER_COLLECTION_ALIAS","collectionRepositoryManifests","collectionViewManifests","collectionActionManifests","_collectionRepository","_UmbMemberPickerModalElement_instances","filteredMembers_get","renderMemberItem_fn","renderActions_fn","UmbMemberPickerModalElement","UmbModalBaseElement","UmbCollectionItemPickerContext","query","_changedProperties","UmbTextStyles","UmbMemberPickerModalElement$1","UMB_MEMBER_VALIDATION_REPOSITORY_ALIAS"],"mappings":"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"}