diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts index 007aa9e0e6..ffed7a48de 100644 --- a/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/index.ts @@ -25,6 +25,7 @@ export * from './input-number-range/index.js'; export * from './input-radio-button-list/index.js'; export * from './input-section/index.js'; export * from './input-slider/index.js'; +export * from './input-start-node/index.js'; export * from './input-toggle/index.js'; export * from './input-tree/index.js'; export * from './input-upload-field/index.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-start-node/index.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-start-node/index.ts new file mode 100644 index 0000000000..a712befd6d --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-start-node/index.ts @@ -0,0 +1 @@ +export * from './input-start-node.element.js'; diff --git a/src/Umbraco.Web.UI.Client/src/packages/core/components/input-start-node/input-start-node.element.ts b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-start-node/input-start-node.element.ts new file mode 100644 index 0000000000..5f10765103 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/src/packages/core/components/input-start-node/input-start-node.element.ts @@ -0,0 +1,156 @@ +import { UmbInputDocumentElement } from '@umbraco-cms/backoffice/document'; +import { html, customElement, property, state, css, ifDefined, query } from '@umbraco-cms/backoffice/external/lit'; +import { FormControlMixin, UUIInputElement, UUIInputEvent, UUISelectEvent } from '@umbraco-cms/backoffice/external/uui'; +import { UmbLitElement } from '@umbraco-cms/internal/lit-element'; +import { UmbInputMediaElement } from '@umbraco-cms/backoffice/media'; +import { StartNode } from '@umbraco-cms/backoffice/components'; + +@customElement('umb-input-start-node') +export class UmbInputStartNodeElement extends FormControlMixin(UmbLitElement) { + protected getFormElement() { + return undefined; + } + private _startNodeQuery = ''; + + @state() + private queryTyping?: boolean; + + @property() + startNodeType?: StartNode['type']; + + @property({ attribute: 'start-node-id' }) + startNodeId?: string; + + @property() + public get startNodeQuery(): string { + return this._startNodeQuery; + } + public set startNodeQuery(query: string) { + this._startNodeQuery = query; + query ? (this.queryTyping = true) : (this.queryTyping = false); + } + + @property({ type: Array }) + options: Array