@aquera/nile-elements 0.0.38-5 → 0.0.38-6
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/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.d.ts +1 -0
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.js +8 -2
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-content-editor/nile-content-editor.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js +2 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/src/nile-switcher/nile-switcher.js.map +1 -1
- package/.rollup.cache/opt/atlassian/pipelines/agent/build/packages/nile-elements/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/index.iife.js +4 -3
- package/dist/nile-content-editor/nile-content-editor.cjs.js +1 -1
- package/dist/nile-content-editor/nile-content-editor.cjs.js.map +1 -1
- package/dist/nile-content-editor/nile-content-editor.esm.js +5 -5
- package/dist/nile-switcher/nile-switcher.cjs.js +1 -1
- package/dist/nile-switcher/nile-switcher.cjs.js.map +1 -1
- package/dist/nile-switcher/nile-switcher.esm.js +11 -10
- package/dist/src/nile-content-editor/nile-content-editor.d.ts +1 -0
- package/dist/src/nile-content-editor/nile-content-editor.js +8 -2
- package/dist/src/nile-content-editor/nile-content-editor.js.map +1 -1
- package/dist/src/nile-switcher/nile-switcher.js +2 -1
- package/dist/src/nile-switcher/nile-switcher.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/nile-content-editor/nile-content-editor.ts +7 -2
- package/src/nile-switcher/nile-switcher.ts +11 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-switcher.cjs.js","sources":["../../../src/nile-switcher/nile-switcher.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, TemplateResult } from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-switcher.css';\nimport NileElement from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\nimport { choose } from 'lit/directives/choose.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { watch } from '../internal/watch';\nimport { HasSlotController } from '../internal/slot';\n\n/**\n * @summary Allows you to switch between nile elements\n *\n * @dependency nile-icon\n * @dependency nile-input\n * @dependency nile-checkbox\n * @dependency nile-dropdown\n * @dependency nile-textarea\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-switch - Emitted when the nile component is being switched.\n */\n\nexport interface switchconfig {\n [key: string]: any;\n toggleSwitch: boolean;\n disable?: boolean;\n confirmation?: boolean;\n align: 'block' | 'inline';\n inputs: switchInputType[];\n}\n\nexport interface switchInputType {\n inputType:\n | INPUT_TYPE_NAMES.DROPDOWN\n | INPUT_TYPE_NAMES.TEXT\n | INPUT_TYPE_NAMES.CHECKBOX\n | INPUT_TYPE_NAMES.TEXTAREA\n | INPUT_TYPE_NAMES.RADIO\n | INPUT_TYPE_NAMES.CONTENTEDITOR\n | INPUT_TYPE_NAMES.OBJECT_MAPPER\n | INPUT_TYPE_NAMES.CODE_EDITOR;\n value?: String | boolean;\n label?: String;\n readonly?: boolean;\n type?: string;\n icon: string;\n mode?: string;\n placeholder?: string;\n disabled?: boolean;\n required?: boolean;\n error?: boolean;\n errorMessage?: string;\n options?: Array<any>;\n customAutoCompletions?: any;\n helperText?: string;\n multiple?: boolean;\n noborder?: boolean;\n multiLine?: boolean;\n expand?: boolean;\n updateValue?: false;\n}\n\nexport enum POSITIONS {\n INLINE = 'inline',\n BLOCK = 'block',\n}\n\nexport enum INPUT_TYPE {\n DEFAULT = 'defaultInput',\n SWITCH = 'switchInput',\n}\n\nexport enum INPUT_TYPE_NAMES {\n DROPDOWN = 'dropdown',\n TEXT = 'text',\n CHECKBOX = 'checkbox',\n TEXTAREA = 'text-area',\n RADIO = 'radio',\n CONTENTEDITOR = 'content-editor',\n OBJECT_MAPPER = 'object-mapper',\n CODE_EDITOR = 'code-editor',\n}\n\nexport enum MODE {\n CREATE = 'create',\n EDIT = 'edit',\n}\n\n@customElement('nile-switcher')\nexport class NileSwitcher extends NileElement {\n /**\n * The styles for nile switcher\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'label');\n\n @property({ type: Object }) nileSwitchConfig: switchconfig;\n\n @property({ type: Number }) current: Number = 0;\n\n @property({ type: Object }) currentInput: switchInputType;\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n @watch(['current'], { waitUntilFirstUpdate: true })\n handleSwitcherChange() {\n this.setCurrentInput();\n }\n\n setCurrentInput() {\n if (this.nileSwitchConfig?.inputs) {\n this.currentInput = this.nileSwitchConfig.inputs.filter(\n (input: switchInputType, index: Number) => {\n return index === this.current;\n }\n )[0];\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n renderNileText(Input: switchInputType) {\n const {\n value,\n label,\n placeholder,\n disabled,\n required,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n return html`<nile-input\n class=${classMap({\n 'switcher-input': true,\n 'switcher-input--noborder': !!noborder,\n })}\n .value=${value}\n .label=${label}\n .disabled=${disabled}\n .required=${required}\n .errorMessage=${errorMessage}\n .placeholder=${placeholder}\n .error=${error}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-input>`;\n }\n\n renderDropdown(Input: switchInputType) {\n const {\n options,\n multiple,\n placeholder,\n disabled,\n value,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n\n return html`<nile-select\n part=\"dropdown\"\n class=${classMap({\n 'switcher-dropdown': true,\n 'switcher-dropdown--noborder': !!noborder,\n })}\n .placeholder=${placeholder}\n .disabled=\"${disabled}\"\n .multiple=\"${multiple}\"\n .value=\"${value}\"\n .error=\"${error}\"\n .errorMessage=\"${errorMessage}\"\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options?.map((option: any) => {\n return html`<nile-option .value=\"${option}\">${option} </nile-option>`;\n })}\n </nile-select>`;\n }\n\n renderNileTextArea(Input: switchInputType) {\n const { value, disabled, readonly, errorMessage, error, inputType } = Input;\n\n return html`<nile-textarea\n class=\"switcher-textarea\"\n .value=${value}\n .disabled=${disabled}\n ?readonly=${readonly}\n .error=${error}\n .errorMessage=${errorMessage}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-textarea>`;\n }\n\n renderNileCheckBox(Input: switchInputType) {\n const { value, label, disabled, inputType } = Input;\n\n return html`<nile-checkbox\n class=\"switcher-checkbox\"\n .checked=${value}\n .label=${label}\n .disabled=${disabled}\n @valueChange=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-checkbox\n >; `;\n }\n\n renderNileRadio(Input: switchInputType) {\n const { options, value, disabled, errorMessage, inputType } = Input;\n\n const haserrorMessage = !!errorMessage;\n\n return html`<nile-radio-group\n class=\"switcher-radio-group\"\n .value=${value}\n .disabled=${disabled}\n @change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options &&\n options.map((option: any) => {\n return html`<nile-radio .value=\"${option}\">${option} </nile-radio>`;\n })}\n ${haserrorMessage ? this.renderErrorMessage(errorMessage) : ''}\n </nile-radio-group> `;\n }\n\n renderErrorMessage(errorMessage: string) {\n return html`\n <nile-form-error-message>${errorMessage}</nile-form-error-message>\n `;\n }\n\n renderContentEditor(Input: switchInputType) {\n let { options, inputType, errorMessage, type, readonly, noborder, value } =\n Input;\n return html`<nile-content-editor\n class=\"switcher-content-editor\"\n .value=${value}\n .options=${options}\n .type=${type}\n .readonly=${readonly}\n .noborder=${noborder}\n .errorMessage=${errorMessage}\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n </nile-content-editor>`;\n }\n\n renderObjectMapper(Input: switchInputType) {\n let { options, inputType, error, errorMessage, type, readonly, noborder } =\n Input;\n\n const value =\n this.currentInput.mode === MODE.CREATE\n ? 'Click to Create - Not Mapped'\n : 'Click to Edit';\n\n return html`<nile-input\n class=${classMap({\n 'switcher-object-mapper': true,\n 'switcher-object-mapper--noborder': !!noborder,\n })}\n .value=${value}\n .errorMessage=${errorMessage}\n .error=${error}\n readonly=\"true\"\n @click=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.OBJECT_MAPPER)}\"\n >\n <nile-icon\n class=\"pointer-cursor switcher-object-mapper-icon\"\n slot=\"suffix\"\n name=\"expand-2\"\n color=\"#005EA6\"\n size=\"16\"\n >\n </nile-icon>\n </nile-input>`;\n }\n\n renderCodeEditor(Input: switchInputType) {\n const {\n value,\n multiLine,\n customAutoCompletions,\n disabled,\n readonly,\n errorMessage,\n error,\n inputType,\n noborder,\n expand,\n updateValue,\n } = Input;\n return html`<nile-code-editor\n part=\"switcher-code-editor\"\n class=${classMap({\n 'code-editor': true,\n })}\n @nile-expand=\"${(e: CustomEvent) =>\n this.handleExpand(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n @nile-change=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n .multiline=\"${multiLine}\"\n .value=\"${value}\"\n .readonly=${readonly}\n .expandable=\"${expand}\"\n .error=${error}\n .noborder=${noborder}\n .updateValue=${updateValue}\n .errorMessage=${errorMessage}\n .customAutoCompletions=\"${customAutoCompletions}\"\n ></nile-code-editor> `;\n }\n\n handleExpand(event: CustomEvent, inputType: string) {\n this.currentInput.expand = event.detail.expand;\n this.emit('nile-change', { input: this.currentInput });\n }\n\n handleChange(event: CustomEvent, inputType: string) {\n switch (inputType) {\n case INPUT_TYPE_NAMES.OBJECT_MAPPER:\n this.currentInput.value = 'clicked';\n break;\n case INPUT_TYPE_NAMES.CHECKBOX:\n this.currentInput.value = event.detail.checked;\n break;\n case INPUT_TYPE_NAMES.CODE_EDITOR:\n this.currentInput.value = event.detail.value;\n break;\n default:\n this.currentInput.value = event.detail.value;\n }\n event.stopPropagation();\n this.emit('nile-change', { input: this.currentInput });\n }\n\n renderIcon() {\n const inputs = this.nileSwitchConfig.inputs;\n const toolTipPosition =\n this.nileSwitchConfig.align === POSITIONS.BLOCK ? 'top' : 'bottom';\n\n return html`\n <div part=\"icons-container\" class=\"switcher-icons-container\">\n ${repeat(\n inputs,\n (input: any, index: number) => html` <nile-tooltip\n class=${classMap({\n 'switcher-tooltip-container': true,\n })}\n content=${input.helperText}\n placement=${toolTipPosition}\n >\n <div class=${classMap({\n 'switcher-icon-container': true,\n current: index === this.current,\n })}>\n <nile-icon\n size=\"16\"\n class=${classMap({\n 'pointer-cursor': true,\n 'pointer-cursor-not-allowed': index === this.current,\n })}\n .name=${input.icon}\n color=\"#000000\"\n @click=${() => this.toggleField(input, index)}\n ></nile-icon>\n <div>\n \n </nile-tooltip>`\n )}\n </div>\n `;\n }\n\n isToggleSwitch = (item: any) => {\n return typeof item === 'undefined' || item;\n };\n\n toggleField(currentInput: switchInputType, index: Number) {\n this.emit('nile-switch', {\n inputClicked: index,\n currentInput: currentInput,\n });\n }\n\n singleFieldSwitcher() {\n this.setCurrentInput();\n\n return html`\n ${choose(\n this.currentInput.inputType,\n [\n [INPUT_TYPE_NAMES.TEXT, () => this.renderNileText(this.currentInput)],\n [\n INPUT_TYPE_NAMES.CHECKBOX,\n () => this.renderNileCheckBox(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.TEXTAREA,\n () => this.renderNileTextArea(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.RADIO,\n () => this.renderNileRadio(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.DROPDOWN,\n () => this.renderDropdown(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CONTENTEDITOR,\n () => this.renderContentEditor(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.OBJECT_MAPPER,\n () => this.renderObjectMapper(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CODE_EDITOR,\n () => this.renderCodeEditor(this.currentInput),\n ],\n ],\n () => this.renderNileText(this.currentInput)\n )}\n `;\n }\n\n public render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const align = this.nileSwitchConfig.align;\n const disable = this.nileSwitchConfig.disable;\n return html`<div\n part=\"base\"\n class=${classMap({\n 'switcher-block': align === POSITIONS.BLOCK,\n 'switcher-inline': align === POSITIONS.INLINE,\n 'switcher-container': true,\n })}\n >\n <div class=\"label-container\">\n ${hasLabelSlot\n ? html`\n <label\n part=\"switcher-label\"\n class=\"switcher__label\"\n for=\"input\"\n >\n <slot name=\"label\"></slot>\n </label>\n </div> `\n : ''}\n ${!disable ? html`${this.renderIcon()}` : ''}\n </div>\n ${this.singleFieldSwitcher()}\n </div>`;\n }\n}\n\nexport default NileSwitcher;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-switcher': NileSwitcher;\n }\n}\n"],"names":["POSITIONS","INLINE","BLOCK","INPUT_TYPE","DEFAULT","SWITCH","INPUT_TYPE_NAMES","DROPDOWN","TEXT","CHECKBOX","TEXTAREA","RADIO","CONTENTEDITOR","OBJECT_MAPPER","CODE_EDITOR","MODE","CREATE","EDIT","_export","NileSwitcher","b","this","hasSlotController","HasSlotController","current","isToggleSwitch","item","_this","_createClass","key","value","connectedCallback","super","emit","handleSwitcherChange","setCurrentInput","nileSwitchConfig","inputs","currentInput","filter","input","index","disconnectedCallback","renderNileText","Input","_this3","label","placeholder","disabled","required","error","errorMessage","inputType","noborder","html","_templateObject","_taggedTemplateLiteral","classMap","e","handleChange","renderDropdown","options","multiple","_templateObject2","map","option","_templateObject3","renderNileTextArea","readonly","_templateObject4","renderNileCheckBox","_this6","_templateObject5","renderNileRadio","haserrorMessage","_templateObject6","_templateObject7","renderErrorMessage","_templateObject8","renderContentEditor","_this8","type","_templateObject9","renderObjectMapper","_this9","mode","_templateObject10","renderCodeEditor","_this10","multiLine","customAutoCompletions","expand","updateValue","_templateObject11","handleExpand","event","detail","checked","stopPropagation","renderIcon","toolTipPosition","align","_templateObject12","repeat","_templateObject13","helperText","icon","toggleField","inputClicked","singleFieldSwitcher","_templateObject14","choose","render","hasLabelSlot","test","disable","_templateObject15","_templateObject16","_templateObject17","NileElement","styles","__decorate","property","Object","prototype","Number","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"nile-switcher.cjs.js","sources":["../../../src/nile-switcher/nile-switcher.ts"],"sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, TemplateResult } from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-switcher.css';\nimport NileElement from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\nimport { choose } from 'lit/directives/choose.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { watch } from '../internal/watch';\nimport { HasSlotController } from '../internal/slot';\n\n/**\n * @summary Allows you to switch between nile elements\n *\n * @dependency nile-icon\n * @dependency nile-input\n * @dependency nile-checkbox\n * @dependency nile-dropdown\n * @dependency nile-textarea\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-switch - Emitted when the nile component is being switched.\n */\n\nexport interface switchconfig {\n [key: string]: any;\n toggleSwitch: boolean;\n disable?: boolean;\n confirmation?: boolean;\n align: 'block' | 'inline';\n inputs: switchInputType[];\n}\n\nexport interface switchInputType {\n inputType:\n | INPUT_TYPE_NAMES.DROPDOWN\n | INPUT_TYPE_NAMES.TEXT\n | INPUT_TYPE_NAMES.CHECKBOX\n | INPUT_TYPE_NAMES.TEXTAREA\n | INPUT_TYPE_NAMES.RADIO\n | INPUT_TYPE_NAMES.CONTENTEDITOR\n | INPUT_TYPE_NAMES.OBJECT_MAPPER\n | INPUT_TYPE_NAMES.CODE_EDITOR;\n value?: String | boolean;\n label?: String;\n readonly?: boolean;\n type?: string;\n icon: string;\n mode?: string;\n placeholder?: string;\n disabled?: boolean;\n required?: boolean;\n error?: boolean;\n errorMessage?: string;\n options?: Array<any>;\n customAutoCompletions?: any;\n helperText?: string;\n multiple?: boolean;\n noborder?: boolean;\n multiLine?: boolean;\n expand?: boolean;\n updateValue?: false;\n}\n\nexport enum POSITIONS {\n INLINE = 'inline',\n BLOCK = 'block',\n}\n\nexport enum INPUT_TYPE {\n DEFAULT = 'defaultInput',\n SWITCH = 'switchInput',\n}\n\nexport enum INPUT_TYPE_NAMES {\n DROPDOWN = 'dropdown',\n TEXT = 'text',\n CHECKBOX = 'checkbox',\n TEXTAREA = 'text-area',\n RADIO = 'radio',\n CONTENTEDITOR = 'content-editor',\n OBJECT_MAPPER = 'object-mapper',\n CODE_EDITOR = 'code-editor',\n}\n\nexport enum MODE {\n CREATE = 'create',\n EDIT = 'edit',\n}\n\n@customElement('nile-switcher')\nexport class NileSwitcher extends NileElement {\n /**\n * The styles for nile switcher\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'label');\n\n @property({ type: Object }) nileSwitchConfig: switchconfig;\n\n @property({ type: Number }) current: Number = 0;\n\n @property({ type: Object }) currentInput: switchInputType;\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n @watch(['current'], { waitUntilFirstUpdate: true })\n handleSwitcherChange() {\n this.setCurrentInput();\n }\n\n setCurrentInput() {\n if (this.nileSwitchConfig?.inputs) {\n this.currentInput = this.nileSwitchConfig.inputs.filter(\n (input: switchInputType, index: Number) => {\n return index === this.current;\n }\n )[0];\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n renderNileText(Input: switchInputType) {\n const {\n value,\n label,\n placeholder,\n disabled,\n required,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n return html`<nile-input\n class=${classMap({\n 'switcher-input': true,\n 'switcher-input--noborder': !!noborder,\n })}\n .value=${value}\n .label=${label}\n .disabled=${disabled}\n .required=${required}\n .errorMessage=${errorMessage}\n .placeholder=${placeholder}\n .error=${error}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-input>`;\n }\n\n renderDropdown(Input: switchInputType) {\n const {\n options,\n multiple,\n placeholder,\n disabled,\n value,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n\n return html`<nile-select\n part=\"dropdown\"\n class=${classMap({\n 'switcher-dropdown': true,\n 'switcher-dropdown--noborder': !!noborder,\n })}\n .placeholder=${placeholder}\n .disabled=\"${disabled}\"\n .multiple=\"${multiple}\"\n .value=\"${value}\"\n .error=\"${error}\"\n .errorMessage=\"${errorMessage}\"\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options?.map((option: any) => {\n return html`<nile-option .value=\"${option}\">${option} </nile-option>`;\n })}\n </nile-select>`;\n }\n\n renderNileTextArea(Input: switchInputType) {\n const { value, disabled, readonly, errorMessage, error, inputType } = Input;\n\n return html`<nile-textarea\n class=\"switcher-textarea\"\n .value=${value}\n .disabled=${disabled}\n ?readonly=${readonly}\n .error=${error}\n .errorMessage=${errorMessage}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-textarea>`;\n }\n\n renderNileCheckBox(Input: switchInputType) {\n const { value, label, disabled, inputType } = Input;\n\n return html`<nile-checkbox\n class=\"switcher-checkbox\"\n .checked=${value}\n .label=${label}\n .disabled=${disabled}\n @valueChange=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-checkbox\n >; `;\n }\n\n renderNileRadio(Input: switchInputType) {\n const { options, value, disabled, errorMessage, inputType } = Input;\n\n const haserrorMessage = !!errorMessage;\n\n return html`<nile-radio-group\n class=\"switcher-radio-group\"\n .value=${value}\n .disabled=${disabled}\n @change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options &&\n options.map((option: any) => {\n return html`<nile-radio .value=\"${option}\">${option} </nile-radio>`;\n })}\n ${haserrorMessage ? this.renderErrorMessage(errorMessage) : ''}\n </nile-radio-group> `;\n }\n\n renderErrorMessage(errorMessage: string) {\n return html`\n <nile-form-error-message>${errorMessage}</nile-form-error-message>\n `;\n }\n\n renderContentEditor(Input: switchInputType) {\n let {\n options,\n inputType,\n errorMessage,\n type,\n readonly,\n noborder,\n value,\n updateValue,\n } = Input;\n return html`<nile-content-editor\n class=\"switcher-content-editor\"\n .value=${value}\n .options=${options}\n .type=${type}\n .readonly=${readonly}\n .noborder=${noborder}\n .updateValue=${updateValue}\n .errorMessage=${errorMessage}\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n </nile-content-editor>`;\n }\n\n renderObjectMapper(Input: switchInputType) {\n let { options, inputType, error, errorMessage, type, readonly, noborder } =\n Input;\n\n const value =\n this.currentInput.mode === MODE.CREATE\n ? 'Click to Create - Not Mapped'\n : 'Click to Edit';\n\n return html`<nile-input\n class=${classMap({\n 'switcher-object-mapper': true,\n 'switcher-object-mapper--noborder': !!noborder,\n })}\n .value=${value}\n .errorMessage=${errorMessage}\n .error=${error}\n readonly=\"true\"\n @click=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.OBJECT_MAPPER)}\"\n >\n <nile-icon\n class=\"pointer-cursor switcher-object-mapper-icon\"\n slot=\"suffix\"\n name=\"expand-2\"\n color=\"#005EA6\"\n size=\"16\"\n >\n </nile-icon>\n </nile-input>`;\n }\n\n renderCodeEditor(Input: switchInputType) {\n const {\n value,\n multiLine,\n customAutoCompletions,\n disabled,\n readonly,\n errorMessage,\n error,\n inputType,\n noborder,\n expand,\n updateValue,\n } = Input;\n return html`<nile-code-editor\n part=\"switcher-code-editor\"\n class=${classMap({\n 'code-editor': true,\n })}\n @nile-expand=\"${(e: CustomEvent) =>\n this.handleExpand(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n @nile-change=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n .multiline=\"${multiLine}\"\n .value=\"${value}\"\n .readonly=${readonly}\n .expandable=\"${expand}\"\n .error=${error}\n .noborder=${noborder}\n .updateValue=${updateValue}\n .errorMessage=${errorMessage}\n .customAutoCompletions=\"${customAutoCompletions}\"\n ></nile-code-editor> `;\n }\n\n handleExpand(event: CustomEvent, inputType: string) {\n this.currentInput.expand = event.detail.expand;\n this.emit('nile-change', { input: this.currentInput });\n }\n\n handleChange(event: CustomEvent, inputType: string) {\n switch (inputType) {\n case INPUT_TYPE_NAMES.OBJECT_MAPPER:\n this.currentInput.value = 'clicked';\n break;\n case INPUT_TYPE_NAMES.CHECKBOX:\n this.currentInput.value = event.detail.checked;\n break;\n case INPUT_TYPE_NAMES.CODE_EDITOR:\n this.currentInput.value = event.detail.value;\n break;\n default:\n this.currentInput.value = event.detail.value;\n }\n event.stopPropagation();\n this.emit('nile-change', { input: this.currentInput });\n }\n\n renderIcon() {\n const inputs = this.nileSwitchConfig.inputs;\n const toolTipPosition =\n this.nileSwitchConfig.align === POSITIONS.BLOCK ? 'top' : 'bottom';\n\n return html`\n <div part=\"icons-container\" class=\"switcher-icons-container\">\n ${repeat(\n inputs,\n (input: any, index: number) => html` <nile-tooltip\n class=${classMap({\n 'switcher-tooltip-container': true,\n })}\n content=${input.helperText}\n placement=${toolTipPosition}\n >\n <div class=${classMap({\n 'switcher-icon-container': true,\n current: index === this.current,\n })}>\n <nile-icon\n size=\"16\"\n class=${classMap({\n 'pointer-cursor': true,\n 'pointer-cursor-not-allowed': index === this.current,\n })}\n .name=${input.icon}\n color=\"#000000\"\n @click=${() => this.toggleField(input, index)}\n ></nile-icon>\n <div>\n \n </nile-tooltip>`\n )}\n </div>\n `;\n }\n\n isToggleSwitch = (item: any) => {\n return typeof item === 'undefined' || item;\n };\n\n toggleField(currentInput: switchInputType, index: Number) {\n this.emit('nile-switch', {\n inputClicked: index,\n currentInput: currentInput,\n });\n }\n\n singleFieldSwitcher() {\n this.setCurrentInput();\n\n return html`\n ${choose(\n this.currentInput.inputType,\n [\n [INPUT_TYPE_NAMES.TEXT, () => this.renderNileText(this.currentInput)],\n [\n INPUT_TYPE_NAMES.CHECKBOX,\n () => this.renderNileCheckBox(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.TEXTAREA,\n () => this.renderNileTextArea(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.RADIO,\n () => this.renderNileRadio(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.DROPDOWN,\n () => this.renderDropdown(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CONTENTEDITOR,\n () => this.renderContentEditor(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.OBJECT_MAPPER,\n () => this.renderObjectMapper(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CODE_EDITOR,\n () => this.renderCodeEditor(this.currentInput),\n ],\n ],\n () => this.renderNileText(this.currentInput)\n )}\n `;\n }\n\n public render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const align = this.nileSwitchConfig.align;\n const disable = this.nileSwitchConfig.disable;\n return html`<div\n part=\"base\"\n class=${classMap({\n 'switcher-block': align === POSITIONS.BLOCK,\n 'switcher-inline': align === POSITIONS.INLINE,\n 'switcher-container': true,\n })}\n >\n <div class=\"label-container\">\n ${hasLabelSlot\n ? html`\n <label\n part=\"switcher-label\"\n class=\"switcher__label\"\n for=\"input\"\n >\n <slot name=\"label\"></slot>\n </label>\n </div> `\n : ''}\n ${!disable ? html`${this.renderIcon()}` : ''}\n </div>\n ${this.singleFieldSwitcher()}\n </div>`;\n }\n}\n\nexport default NileSwitcher;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-switcher': NileSwitcher;\n }\n}\n"],"names":["POSITIONS","INLINE","BLOCK","INPUT_TYPE","DEFAULT","SWITCH","INPUT_TYPE_NAMES","DROPDOWN","TEXT","CHECKBOX","TEXTAREA","RADIO","CONTENTEDITOR","OBJECT_MAPPER","CODE_EDITOR","MODE","CREATE","EDIT","_export","NileSwitcher","b","this","hasSlotController","HasSlotController","current","isToggleSwitch","item","_this","_createClass","key","value","connectedCallback","super","emit","handleSwitcherChange","setCurrentInput","nileSwitchConfig","inputs","currentInput","filter","input","index","disconnectedCallback","renderNileText","Input","_this3","label","placeholder","disabled","required","error","errorMessage","inputType","noborder","html","_templateObject","_taggedTemplateLiteral","classMap","e","handleChange","renderDropdown","options","multiple","_templateObject2","map","option","_templateObject3","renderNileTextArea","readonly","_templateObject4","renderNileCheckBox","_this6","_templateObject5","renderNileRadio","haserrorMessage","_templateObject6","_templateObject7","renderErrorMessage","_templateObject8","renderContentEditor","_this8","type","updateValue","_templateObject9","renderObjectMapper","_this9","mode","_templateObject10","renderCodeEditor","_this10","multiLine","customAutoCompletions","expand","_templateObject11","handleExpand","event","detail","checked","stopPropagation","renderIcon","toolTipPosition","align","_templateObject12","repeat","_templateObject13","helperText","icon","toggleField","inputClicked","singleFieldSwitcher","_templateObject14","choose","render","hasLabelSlot","test","disable","_templateObject15","_templateObject16","_templateObject17","NileElement","styles","__decorate","property","Object","prototype","Number","watch","waitUntilFirstUpdate","customElement"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import{__decorate as e}from"tslib";import{x as r}from"../index-cd2f9c12.esm.js";import{customElement as t}from"lit/decorators.js";import{s as i}from"./nile-switcher.css.esm.js";import{N as s}from"../internal/nile-element.esm.js";import{choose as o}from"lit/directives/choose.js";import{classMap as n}from"lit/directives/class-map.js";import{repeat as l}from"lit/directives/repeat.js";import{w as a}from"../internal/watch.esm.js";import{H as c}from"../internal/slot.esm.js";import{n as d}from"../property-09139d3c.esm.js";import"lit";var h,
|
2
|
-
class=${n({"switcher-input":!0,"switcher-input--noborder":!!
|
1
|
+
import{__decorate as e}from"tslib";import{x as r}from"../index-cd2f9c12.esm.js";import{customElement as t}from"lit/decorators.js";import{s as i}from"./nile-switcher.css.esm.js";import{N as s}from"../internal/nile-element.esm.js";import{choose as o}from"lit/directives/choose.js";import{classMap as n}from"lit/directives/class-map.js";import{repeat as l}from"lit/directives/repeat.js";import{w as a}from"../internal/watch.esm.js";import{H as c}from"../internal/slot.esm.js";import{n as d}from"../property-09139d3c.esm.js";import"lit";var p,h,u,$;!function(e){e.INLINE="inline",e.BLOCK="block"}(p||(p={})),function(e){e.DEFAULT="defaultInput",e.SWITCH="switchInput"}(h||(h={})),function(e){e.DROPDOWN="dropdown",e.TEXT="text",e.CHECKBOX="checkbox",e.TEXTAREA="text-area",e.RADIO="radio",e.CONTENTEDITOR="content-editor",e.OBJECT_MAPPER="object-mapper",e.CODE_EDITOR="code-editor"}(u||(u={})),function(e){e.CREATE="create",e.EDIT="edit"}($||($={}));let b=class extends s{constructor(){super(...arguments),this.hasSlotController=new c(this,"label"),this.current=0,this.isToggleSwitch=e=>void 0===e||e}connectedCallback(){super.connectedCallback(),this.emit("nile-init")}handleSwitcherChange(){this.setCurrentInput()}setCurrentInput(){this.nileSwitchConfig?.inputs&&(this.currentInput=this.nileSwitchConfig.inputs.filter(((e,r)=>r===this.current))[0])}disconnectedCallback(){super.disconnectedCallback(),this.emit("nile-destroy")}renderNileText(e){const{value:t,label:i,placeholder:s,disabled:o,required:l,error:a,errorMessage:c,inputType:d,noborder:p}=e;return r`<nile-input
|
2
|
+
class=${n({"switcher-input":!0,"switcher-input--noborder":!!p})}
|
3
3
|
.value=${t}
|
4
4
|
.label=${i}
|
5
5
|
.disabled=${o}
|
@@ -8,9 +8,9 @@ import{__decorate as e}from"tslib";import{x as r}from"../index-cd2f9c12.esm.js";
|
|
8
8
|
.placeholder=${s}
|
9
9
|
.error=${a}
|
10
10
|
@nile-input=${e=>{this.handleChange(e,d)}}
|
11
|
-
></nile-input>`}renderDropdown(e){const{options:t,multiple:i,placeholder:s,disabled:o,value:l,error:a,errorMessage:c,inputType:d,noborder:
|
11
|
+
></nile-input>`}renderDropdown(e){const{options:t,multiple:i,placeholder:s,disabled:o,value:l,error:a,errorMessage:c,inputType:d,noborder:p}=e;return r`<nile-select
|
12
12
|
part="dropdown"
|
13
|
-
class=${n({"switcher-dropdown":!0,"switcher-dropdown--noborder":!!
|
13
|
+
class=${n({"switcher-dropdown":!0,"switcher-dropdown--noborder":!!p})}
|
14
14
|
.placeholder=${s}
|
15
15
|
.disabled="${o}"
|
16
16
|
.multiple="${i}"
|
@@ -45,13 +45,14 @@ import{__decorate as e}from"tslib";import{x as r}from"../index-cd2f9c12.esm.js";
|
|
45
45
|
${l?this.renderErrorMessage(o):""}
|
46
46
|
</nile-radio-group> `}renderErrorMessage(e){return r`
|
47
47
|
<nile-form-error-message>${e}</nile-form-error-message>
|
48
|
-
`}renderContentEditor(e){let{options:t,inputType:i,errorMessage:s,type:o,readonly:n,noborder:l,value:a}=e;return r`<nile-content-editor
|
48
|
+
`}renderContentEditor(e){let{options:t,inputType:i,errorMessage:s,type:o,readonly:n,noborder:l,value:a,updateValue:c}=e;return r`<nile-content-editor
|
49
49
|
class="switcher-content-editor"
|
50
50
|
.value=${a}
|
51
51
|
.options=${t}
|
52
52
|
.type=${o}
|
53
53
|
.readonly=${n}
|
54
54
|
.noborder=${l}
|
55
|
+
.updateValue=${c}
|
55
56
|
.errorMessage=${s}
|
56
57
|
@nile-change=${e=>{this.handleChange(e,i)}}
|
57
58
|
>
|
@@ -71,7 +72,7 @@ import{__decorate as e}from"tslib";import{x as r}from"../index-cd2f9c12.esm.js";
|
|
71
72
|
size="16"
|
72
73
|
>
|
73
74
|
</nile-icon>
|
74
|
-
</nile-input>`}renderCodeEditor(e){const{value:t,multiLine:i,customAutoCompletions:s,disabled:o,readonly:l,errorMessage:a,error:c,inputType:d,noborder:
|
75
|
+
</nile-input>`}renderCodeEditor(e){const{value:t,multiLine:i,customAutoCompletions:s,disabled:o,readonly:l,errorMessage:a,error:c,inputType:d,noborder:p,expand:h,updateValue:$}=e;return r`<nile-code-editor
|
75
76
|
part="switcher-code-editor"
|
76
77
|
class=${n({"code-editor":!0})}
|
77
78
|
@nile-expand="${e=>this.handleExpand(e,u.CODE_EDITOR)}"
|
@@ -79,13 +80,13 @@ import{__decorate as e}from"tslib";import{x as r}from"../index-cd2f9c12.esm.js";
|
|
79
80
|
.multiline="${i}"
|
80
81
|
.value="${t}"
|
81
82
|
.readonly=${l}
|
82
|
-
.expandable="${
|
83
|
+
.expandable="${h}"
|
83
84
|
.error=${c}
|
84
|
-
.noborder=${
|
85
|
+
.noborder=${p}
|
85
86
|
.updateValue=${$}
|
86
87
|
.errorMessage=${a}
|
87
88
|
.customAutoCompletions="${s}"
|
88
|
-
></nile-code-editor> `}handleExpand(e,r){this.currentInput.expand=e.detail.expand,this.emit("nile-change",{input:this.currentInput})}handleChange(e,r){switch(r){case u.OBJECT_MAPPER:this.currentInput.value="clicked";break;case u.CHECKBOX:this.currentInput.value=e.detail.checked;break;case u.CODE_EDITOR:default:this.currentInput.value=e.detail.value}e.stopPropagation(),this.emit("nile-change",{input:this.currentInput})}renderIcon(){const e=this.nileSwitchConfig.inputs,t=this.nileSwitchConfig.align===
|
89
|
+
></nile-code-editor> `}handleExpand(e,r){this.currentInput.expand=e.detail.expand,this.emit("nile-change",{input:this.currentInput})}handleChange(e,r){switch(r){case u.OBJECT_MAPPER:this.currentInput.value="clicked";break;case u.CHECKBOX:this.currentInput.value=e.detail.checked;break;case u.CODE_EDITOR:default:this.currentInput.value=e.detail.value}e.stopPropagation(),this.emit("nile-change",{input:this.currentInput})}renderIcon(){const e=this.nileSwitchConfig.inputs,t=this.nileSwitchConfig.align===p.BLOCK?"top":"bottom";return r`
|
89
90
|
<div part="icons-container" class="switcher-icons-container">
|
90
91
|
${l(e,((e,i)=>r` <nile-tooltip
|
91
92
|
class=${n({"switcher-tooltip-container":!0})}
|
@@ -108,7 +109,7 @@ import{__decorate as e}from"tslib";import{x as r}from"../index-cd2f9c12.esm.js";
|
|
108
109
|
${o(this.currentInput.inputType,[[u.TEXT,()=>this.renderNileText(this.currentInput)],[u.CHECKBOX,()=>this.renderNileCheckBox(this.currentInput)],[u.TEXTAREA,()=>this.renderNileTextArea(this.currentInput)],[u.RADIO,()=>this.renderNileRadio(this.currentInput)],[u.DROPDOWN,()=>this.renderDropdown(this.currentInput)],[u.CONTENTEDITOR,()=>this.renderContentEditor(this.currentInput)],[u.OBJECT_MAPPER,()=>this.renderObjectMapper(this.currentInput)],[u.CODE_EDITOR,()=>this.renderCodeEditor(this.currentInput)]],(()=>this.renderNileText(this.currentInput)))}
|
109
110
|
`}render(){const e=this.hasSlotController.test("label"),t=this.nileSwitchConfig.align,i=this.nileSwitchConfig.disable;return r`<div
|
110
111
|
part="base"
|
111
|
-
class=${n({"switcher-block":t===
|
112
|
+
class=${n({"switcher-block":t===p.BLOCK,"switcher-inline":t===p.INLINE,"switcher-container":!0})}
|
112
113
|
>
|
113
114
|
<div class="label-container">
|
114
115
|
${e?r`
|
@@ -42,6 +42,7 @@ let NileContentEditor = class NileContentEditor extends NileElement {
|
|
42
42
|
this.errorMessage = '';
|
43
43
|
this.error = false;
|
44
44
|
this.noborder = false;
|
45
|
+
this.updateValue = false;
|
45
46
|
this.initialValue = '';
|
46
47
|
this.replaceText = '';
|
47
48
|
}
|
@@ -105,7 +106,9 @@ let NileContentEditor = class NileContentEditor extends NileElement {
|
|
105
106
|
});
|
106
107
|
}
|
107
108
|
handleTypeChange() {
|
108
|
-
|
109
|
+
if (this.updateValue) {
|
110
|
+
this.contentEditor.innerHTML = this.generateHTMLTagsWithValues(this.value);
|
111
|
+
}
|
109
112
|
}
|
110
113
|
disconnectedCallback() {
|
111
114
|
super.disconnectedCallback();
|
@@ -373,11 +376,14 @@ __decorate([
|
|
373
376
|
__decorate([
|
374
377
|
property({ attribute: 'noborder' })
|
375
378
|
], NileContentEditor.prototype, "noborder", void 0);
|
379
|
+
__decorate([
|
380
|
+
property({ type: Boolean })
|
381
|
+
], NileContentEditor.prototype, "updateValue", void 0);
|
376
382
|
__decorate([
|
377
383
|
state()
|
378
384
|
], NileContentEditor.prototype, "initialValue", void 0);
|
379
385
|
__decorate([
|
380
|
-
watch(['type'], { waitUntilFirstUpdate: true })
|
386
|
+
watch(['type', 'value'], { waitUntilFirstUpdate: true })
|
381
387
|
], NileContentEditor.prototype, "handleTypeChange", null);
|
382
388
|
NileContentEditor = __decorate([
|
383
389
|
customElement('nile-content-editor')
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-content-editor.js","sourceRoot":"","sources":["../../../src/nile-content-editor/nile-content-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, TemplateResult } from 'lit-element';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-content-editor.css';\nimport { CSSResultGroup } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { KeyCode } from '../internal/enum';\nimport { live } from 'lit/directives/live.js';\n\n/**\n * Nile icon component.\n *\n * @tag nile-attribute-expression\n *\n */\n@customElement('nile-content-editor')\nexport class NileContentEditor extends NileElement {\n /**\n * @summary Allows you to handle both input and dropdown selection\n\n * @dependency nile-option\n \n * @event nile-change - Emitted when the control's value changes. \n */\n\n @property() value: string = '';\n\n @property() options: Array<any>;\n\n @property() filteredOptions: Array<any>;\n\n @property() showLabel: boolean = true;\n\n @property() labelText = '';\n\n @property() type = 'text|text-area';\n\n @property() required: boolean = true;\n\n @query('.content-editable-input') contentEditor: HTMLInputElement;\n @query('.nile-options-container') autoOptions: HTMLInputElement;\n\n @state() openDropdown = false;\n\n tagIdentifier = '$';\n\n filteredValue = '';\n\n @property({ attribute: 'help-text' }) helpText = '';\n\n @property({ attribute: 'readonly' }) readonly = false;\n\n @property({ attribute: 'error-message' }) errorMessage = '';\n\n @property({ attribute: 'error' }) error = false;\n @property({ attribute: 'noborder' }) noborder = false;\n\n @state() initialValue = '';\n\n static styles: CSSResultGroup = styles;\n\n connectedCallback() {\n this.handleOutsideClick = this.handleOutsideClick.bind(this);\n this.handleClipboardEvent = this.handleClipboardEvent.bind(this);\n super.connectedCallback();\n this.emit('nile-init');\n this.addOpenListeners();\n this.setInitialValues();\n }\n\n addOpenListeners() {\n window.addEventListener('click', this.handleOutsideClick);\n this.addEventListener('cut', this.handleClipboardEvent);\n this.addEventListener('copy', this.handleClipboardEvent);\n this.addEventListener('paste', this.handleClipboardEvent);\n }\n\n removeOpenListeners() {\n this.removeEventListener('click', this.handleOutsideClick);\n this.removeEventListener('cut', this.handleClipboardEvent);\n this.removeEventListener('copy', this.handleClipboardEvent);\n this.removeEventListener('paste', this.handleClipboardEvent);\n }\n\n handleOutsideClick(event: any) {\n if (event && event.target && !this.contains(event.target)) {\n this.toggleDropdown(false);\n }\n }\n\n async handleClipboardEvent(event: Event) {\n const selectedText = window?.getSelection()?.toString();\n switch (event.type) {\n case 'cut':\n case 'copy':\n if (!!selectedText) await navigator.clipboard.writeText(selectedText);\n document.execCommand(event.type);\n break;\n case 'paste':\n event.preventDefault();\n let pastedText = '';\n pastedText = await navigator.clipboard.readText();\n pastedText = pastedText\n .replace(/<(|\\/)(html|body|meta|span)[^>]*?>/gi, '')\n .trim();\n document.execCommand('insertText', false, pastedText);\n break;\n default:\n break;\n }\n setTimeout(() => {\n this.emitInputChange();\n });\n }\n\n toggleDropdown(value: boolean) {\n this.openDropdown = value;\n }\n\n setInitialValues() {\n this.updateComplete.then(res => {\n if (res)\n this.contentEditor.innerHTML = this.generateHTMLTagsWithValues(\n this.value\n );\n });\n }\n\n @watch(['type'], { waitUntilFirstUpdate: true })\n handleTypeChange() {\n this.contentEditor.innerHTML = this.generateHTMLTagsWithValues(this.value);\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeOpenListeners();\n this.emit('nile-destroy');\n }\n\n private handlekeyDown(event: any) {\n if (event.code === KeyCode.ENTER && this.type === 'text') {\n event.preventDefault();\n return;\n }\n if (\n [KeyCode.CUT, KeyCode.COPY, KeyCode.PASTE].includes(event.code) &&\n (event.ctrlKey || event.metaKey)\n ) {\n return;\n }\n\n if (event.code === KeyCode.ESCAPE) {\n event.preventDefault();\n this.toggleDropdown(false);\n return;\n }\n setTimeout(() => {\n const value = this.contentEditor.innerText;\n this.emitInputChange();\n if (value.includes(this.tagIdentifier)) {\n this.insertNodes(this.contentEditor, this.contentEditor.childNodes);\n this.filterOptions();\n this.toggleDropdown(true);\n } else {\n this.toggleDropdown(false);\n }\n }, 10);\n }\n\n filterOptions() {\n this.filteredOptions = this.options;\n this.filteredValue = this.filteredValue.trim();\n if (!!this.options.length && !!this.filteredValue) {\n this.filteredOptions = this.options.filter(item =>\n item.includes(this.filteredValue)\n );\n } else {\n this.filteredOptions = this.options;\n }\n }\n\n generateValuesFromHTMLTags(string: any): string {\n let errorTag =\n /<span class=\"chips chip-error\" contenteditable=\"false\">(.*?)<\\/span>/g;\n this.error = !!string.match(errorTag);\n var pattern =\n /<span class=\"chips(?: chip-error)?\" contenteditable=\"false\">(.*?)<\\/span>/g;\n let result = string.replace(pattern, (match: any, option: any) => {\n return '{{' + option + '}}';\n });\n return result;\n }\n\n generateHTMLTagsWithValues(string: any): string {\n var pattern = /{{(.*?)}}/g;\n var result = string.replace(pattern, (match: any, option: any) => {\n return this.options.includes(option)\n ? '<span class=\"chips\" contenteditable=\"false\">' + option + '</span>'\n : this.setError(option);\n });\n return result;\n }\n\n setError(option: any) {\n this.error = true;\n return (\n '<span class=\"chips chip-error\" contenteditable=\"false\">' +\n option +\n '</span>'\n );\n }\n\n emitInputChange(): void {\n if (this.contentEditor) {\n let fieldValue = this.contentEditor.innerHTML;\n fieldValue = fieldValue.replace(/ /g, ' ');\n fieldValue = fieldValue.replace('<br>', '');\n this.emit('nile-change', {\n value: this.generateValuesFromHTMLTags(fieldValue),\n });\n }\n }\n\n replaceText = '';\n\n insertNodes(\n parentNode: Node,\n childNodes: NodeList,\n autoOptionsTag?: HTMLElement\n ) {\n [...childNodes].forEach((node: Node, index: number) => {\n if (node.hasChildNodes()) {\n if (autoOptionsTag) {\n this.insertNodes(node, node.childNodes, autoOptionsTag);\n } else {\n this.insertNodes(node, node.childNodes);\n }\n } else {\n if (node.nodeValue?.includes(this.tagIdentifier)) {\n if (autoOptionsTag) {\n this.insertAutoOptionsTag(node, autoOptionsTag);\n }\n\n this.setFilterValue(node.nodeValue);\n\n return;\n }\n }\n });\n }\n\n insertAutoOptionsTag(node: any, autoOptionsTag: any) {\n const selection = window.getSelection();\n const range = document.createRange();\n const curssorNodeindex = node.nodeValue.indexOf(this.tagIdentifier);\n range.setStart(node, curssorNodeindex);\n range.insertNode(autoOptionsTag);\n range.setStartAfter(autoOptionsTag);\n range.collapse(true);\n selection?.removeAllRanges();\n selection?.addRange(range);\n\n if (autoOptionsTag.nextSibling?.nodeValue) {\n autoOptionsTag.nextSibling.nodeValue =\n autoOptionsTag.nextSibling?.nodeValue?.replace(\n this.tagIdentifier + this.filteredValue,\n ''\n );\n }\n this.contentEditor.focus();\n }\n\n setFilterValue(value: any) {\n //replace Text - check if text exists after tagidentifier , if exists take account of that too\n if (!this.openDropdown) {\n this.replaceText = value.split(this.tagIdentifier).slice(1).join();\n }\n if (!!value && this.openDropdown) {\n this.filteredValue = value\n ?.split(this.tagIdentifier)\n .slice(1)\n .join()\n .replace(this.replaceText, '');\n } else {\n this.filteredValue = '';\n }\n }\n\n handleOptions(option: any): void {\n this.toggleDropdown(false);\n let autoOptionsTag = document.createElement('span');\n autoOptionsTag.setAttribute('class', 'chips');\n autoOptionsTag.setAttribute('contentEditable', 'false');\n autoOptionsTag.innerText = option;\n this.insertNodes(\n this.contentEditor,\n this.contentEditor.childNodes,\n autoOptionsTag\n );\n this.resetOptions();\n this.emitInputChange();\n }\n\n resetOptions() {\n this.filteredOptions = this.options;\n this.filteredValue = '';\n }\n\n public renderAutoOptions(): TemplateResult {\n return html`<div\n class=\"${classMap({\n 'nile-options-container': true,\n 'dropdown-position': this.type === 'text-area',\n })}\"\n >\n ${this.filteredOptions &&\n this.filteredOptions.map((option: any) => {\n return html` <nile-option\n .value=\"${option}\"\n @click=\"${(event: Event) => {\n this.handleOptions(option);\n }}\"\n >${option}\n </nile-option>`;\n })}\n </div>`;\n }\n\n public render(): TemplateResult {\n const hasHelpText = this.helpText ? true : false;\n const hasError = !!this.error;\n const hasErrorMessage = !!this.errorMessage;\n const readonly = !!this.readonly;\n const noborder = !!this.noborder;\n const type = this.type;\n return html`\n <nile-popup\n .active=\"${live(this.openDropdown)}\"\n sync=\"width\"\n strategy=\"fixed\"\n placement=\"bottom\"\n class=${classMap({\n dropdown: true,\n 'dropdown--open': true,\n popup: true,\n })}\n >\n <div class=\"content-editable-wrapper\" slot=\"anchor\">\n ${this.showLabel && this.labelText\n ? html`<label class=\"ods-label\">${this.labelText} </label> ${this\n .required\n ? html`<span class=\"asterik\">*</span>`\n : ''}`\n : ''}\n <div\n contenteditable=\"${!readonly}\"\n spellcheck=\"false\"\n class=${classMap({\n 'content-editable-input': true,\n error: hasError || hasErrorMessage,\n 'read-only': readonly,\n 'no-border': noborder,\n 'text-area': type === 'text-area' ? true : false,\n })}\n @keydown=${this.handlekeyDown}\n ></div>\n ${hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n </div>\n ${this.filteredOptions && !!this.filteredOptions.length\n ? this.renderAutoOptions()\n : null}\n </nile-popup>\n `;\n }\n}\n\nexport default NileContentEditor;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-content-editor': NileContentEditor;\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"nile-content-editor.js","sourceRoot":"","sources":["../../../src/nile-content-editor/nile-content-editor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, TemplateResult } from 'lit-element';\nimport { customElement, query, state } from 'lit/decorators.js';\nimport { styles } from './nile-content-editor.css';\nimport { CSSResultGroup } from 'lit';\nimport { classMap } from 'lit/directives/class-map.js';\nimport NileElement from '../internal/nile-element';\nimport { watch } from '../internal/watch';\nimport { KeyCode } from '../internal/enum';\nimport { live } from 'lit/directives/live.js';\n\n/**\n * Nile icon component.\n *\n * @tag nile-attribute-expression\n *\n */\n@customElement('nile-content-editor')\nexport class NileContentEditor extends NileElement {\n /**\n * @summary Allows you to handle both input and dropdown selection\n\n * @dependency nile-option\n \n * @event nile-change - Emitted when the control's value changes. \n */\n\n @property() value: string = '';\n\n @property() options: Array<any>;\n\n @property() filteredOptions: Array<any>;\n\n @property() showLabel: boolean = true;\n\n @property() labelText = '';\n\n @property() type = 'text|text-area';\n\n @property() required: boolean = true;\n\n @query('.content-editable-input') contentEditor: HTMLInputElement;\n @query('.nile-options-container') autoOptions: HTMLInputElement;\n\n @state() openDropdown = false;\n\n tagIdentifier = '$';\n\n filteredValue = '';\n\n @property({ attribute: 'help-text' }) helpText = '';\n\n @property({ attribute: 'readonly' }) readonly = false;\n\n @property({ attribute: 'error-message' }) errorMessage = '';\n\n @property({ attribute: 'error' }) error = false;\n @property({ attribute: 'noborder' }) noborder = false;\n @property({ type: Boolean }) updateValue: any = false;\n\n @state() initialValue = '';\n\n static styles: CSSResultGroup = styles;\n\n connectedCallback() {\n this.handleOutsideClick = this.handleOutsideClick.bind(this);\n this.handleClipboardEvent = this.handleClipboardEvent.bind(this);\n super.connectedCallback();\n this.emit('nile-init');\n this.addOpenListeners();\n this.setInitialValues();\n }\n\n addOpenListeners() {\n window.addEventListener('click', this.handleOutsideClick);\n this.addEventListener('cut', this.handleClipboardEvent);\n this.addEventListener('copy', this.handleClipboardEvent);\n this.addEventListener('paste', this.handleClipboardEvent);\n }\n\n removeOpenListeners() {\n this.removeEventListener('click', this.handleOutsideClick);\n this.removeEventListener('cut', this.handleClipboardEvent);\n this.removeEventListener('copy', this.handleClipboardEvent);\n this.removeEventListener('paste', this.handleClipboardEvent);\n }\n\n handleOutsideClick(event: any) {\n if (event && event.target && !this.contains(event.target)) {\n this.toggleDropdown(false);\n }\n }\n\n async handleClipboardEvent(event: Event) {\n const selectedText = window?.getSelection()?.toString();\n switch (event.type) {\n case 'cut':\n case 'copy':\n if (!!selectedText) await navigator.clipboard.writeText(selectedText);\n document.execCommand(event.type);\n break;\n case 'paste':\n event.preventDefault();\n let pastedText = '';\n pastedText = await navigator.clipboard.readText();\n pastedText = pastedText\n .replace(/<(|\\/)(html|body|meta|span)[^>]*?>/gi, '')\n .trim();\n document.execCommand('insertText', false, pastedText);\n break;\n default:\n break;\n }\n setTimeout(() => {\n this.emitInputChange();\n });\n }\n\n toggleDropdown(value: boolean) {\n this.openDropdown = value;\n }\n\n setInitialValues() {\n this.updateComplete.then(res => {\n if (res)\n this.contentEditor.innerHTML = this.generateHTMLTagsWithValues(\n this.value\n );\n });\n }\n\n @watch(['type', 'value'], { waitUntilFirstUpdate: true })\n handleTypeChange() {\n if (this.updateValue) {\n this.contentEditor.innerHTML = this.generateHTMLTagsWithValues(\n this.value\n );\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n this.removeOpenListeners();\n this.emit('nile-destroy');\n }\n\n private handlekeyDown(event: any) {\n if (event.code === KeyCode.ENTER && this.type === 'text') {\n event.preventDefault();\n return;\n }\n if (\n [KeyCode.CUT, KeyCode.COPY, KeyCode.PASTE].includes(event.code) &&\n (event.ctrlKey || event.metaKey)\n ) {\n return;\n }\n\n if (event.code === KeyCode.ESCAPE) {\n event.preventDefault();\n this.toggleDropdown(false);\n return;\n }\n setTimeout(() => {\n const value = this.contentEditor.innerText;\n this.emitInputChange();\n if (value.includes(this.tagIdentifier)) {\n this.insertNodes(this.contentEditor, this.contentEditor.childNodes);\n this.filterOptions();\n this.toggleDropdown(true);\n } else {\n this.toggleDropdown(false);\n }\n }, 10);\n }\n\n filterOptions() {\n this.filteredOptions = this.options;\n this.filteredValue = this.filteredValue.trim();\n if (!!this.options.length && !!this.filteredValue) {\n this.filteredOptions = this.options.filter(item =>\n item.includes(this.filteredValue)\n );\n } else {\n this.filteredOptions = this.options;\n }\n }\n\n generateValuesFromHTMLTags(string: any): string {\n let errorTag =\n /<span class=\"chips chip-error\" contenteditable=\"false\">(.*?)<\\/span>/g;\n this.error = !!string.match(errorTag);\n var pattern =\n /<span class=\"chips(?: chip-error)?\" contenteditable=\"false\">(.*?)<\\/span>/g;\n let result = string.replace(pattern, (match: any, option: any) => {\n return '{{' + option + '}}';\n });\n return result;\n }\n\n generateHTMLTagsWithValues(string: any): string {\n var pattern = /{{(.*?)}}/g;\n var result = string.replace(pattern, (match: any, option: any) => {\n return this.options.includes(option)\n ? '<span class=\"chips\" contenteditable=\"false\">' + option + '</span>'\n : this.setError(option);\n });\n return result;\n }\n\n setError(option: any) {\n this.error = true;\n return (\n '<span class=\"chips chip-error\" contenteditable=\"false\">' +\n option +\n '</span>'\n );\n }\n\n emitInputChange(): void {\n if (this.contentEditor) {\n let fieldValue = this.contentEditor.innerHTML;\n fieldValue = fieldValue.replace(/ /g, ' ');\n fieldValue = fieldValue.replace('<br>', '');\n this.emit('nile-change', {\n value: this.generateValuesFromHTMLTags(fieldValue),\n });\n }\n }\n\n replaceText = '';\n\n insertNodes(\n parentNode: Node,\n childNodes: NodeList,\n autoOptionsTag?: HTMLElement\n ) {\n [...childNodes].forEach((node: Node, index: number) => {\n if (node.hasChildNodes()) {\n if (autoOptionsTag) {\n this.insertNodes(node, node.childNodes, autoOptionsTag);\n } else {\n this.insertNodes(node, node.childNodes);\n }\n } else {\n if (node.nodeValue?.includes(this.tagIdentifier)) {\n if (autoOptionsTag) {\n this.insertAutoOptionsTag(node, autoOptionsTag);\n }\n\n this.setFilterValue(node.nodeValue);\n\n return;\n }\n }\n });\n }\n\n insertAutoOptionsTag(node: any, autoOptionsTag: any) {\n const selection = window.getSelection();\n const range = document.createRange();\n const curssorNodeindex = node.nodeValue.indexOf(this.tagIdentifier);\n range.setStart(node, curssorNodeindex);\n range.insertNode(autoOptionsTag);\n range.setStartAfter(autoOptionsTag);\n range.collapse(true);\n selection?.removeAllRanges();\n selection?.addRange(range);\n\n if (autoOptionsTag.nextSibling?.nodeValue) {\n autoOptionsTag.nextSibling.nodeValue =\n autoOptionsTag.nextSibling?.nodeValue?.replace(\n this.tagIdentifier + this.filteredValue,\n ''\n );\n }\n this.contentEditor.focus();\n }\n\n setFilterValue(value: any) {\n //replace Text - check if text exists after tagidentifier , if exists take account of that too\n if (!this.openDropdown) {\n this.replaceText = value.split(this.tagIdentifier).slice(1).join();\n }\n if (!!value && this.openDropdown) {\n this.filteredValue = value\n ?.split(this.tagIdentifier)\n .slice(1)\n .join()\n .replace(this.replaceText, '');\n } else {\n this.filteredValue = '';\n }\n }\n\n handleOptions(option: any): void {\n this.toggleDropdown(false);\n let autoOptionsTag = document.createElement('span');\n autoOptionsTag.setAttribute('class', 'chips');\n autoOptionsTag.setAttribute('contentEditable', 'false');\n autoOptionsTag.innerText = option;\n this.insertNodes(\n this.contentEditor,\n this.contentEditor.childNodes,\n autoOptionsTag\n );\n this.resetOptions();\n this.emitInputChange();\n }\n\n resetOptions() {\n this.filteredOptions = this.options;\n this.filteredValue = '';\n }\n\n public renderAutoOptions(): TemplateResult {\n return html`<div\n class=\"${classMap({\n 'nile-options-container': true,\n 'dropdown-position': this.type === 'text-area',\n })}\"\n >\n ${this.filteredOptions &&\n this.filteredOptions.map((option: any) => {\n return html` <nile-option\n .value=\"${option}\"\n @click=\"${(event: Event) => {\n this.handleOptions(option);\n }}\"\n >${option}\n </nile-option>`;\n })}\n </div>`;\n }\n\n public render(): TemplateResult {\n const hasHelpText = this.helpText ? true : false;\n const hasError = !!this.error;\n const hasErrorMessage = !!this.errorMessage;\n const readonly = !!this.readonly;\n const noborder = !!this.noborder;\n const type = this.type;\n return html`\n <nile-popup\n .active=\"${live(this.openDropdown)}\"\n sync=\"width\"\n strategy=\"fixed\"\n placement=\"bottom\"\n class=${classMap({\n dropdown: true,\n 'dropdown--open': true,\n popup: true,\n })}\n >\n <div class=\"content-editable-wrapper\" slot=\"anchor\">\n ${this.showLabel && this.labelText\n ? html`<label class=\"ods-label\">${this.labelText} </label> ${this\n .required\n ? html`<span class=\"asterik\">*</span>`\n : ''}`\n : ''}\n <div\n contenteditable=\"${!readonly}\"\n spellcheck=\"false\"\n class=${classMap({\n 'content-editable-input': true,\n error: hasError || hasErrorMessage,\n 'read-only': readonly,\n 'no-border': noborder,\n 'text-area': type === 'text-area' ? true : false,\n })}\n @keydown=${this.handlekeyDown}\n ></div>\n ${hasHelpText\n ? html`\n <nile-form-help-text>${this.helpText}</nile-form-help-text>\n `\n : ``}\n ${hasErrorMessage\n ? html`\n <nile-form-error-message\n >${this.errorMessage}</nile-form-error-message\n >\n `\n : ``}\n </div>\n ${this.filteredOptions && !!this.filteredOptions.length\n ? this.renderAutoOptions()\n : null}\n </nile-popup>\n `;\n }\n}\n\nexport default NileContentEditor;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-content-editor': NileContentEditor;\n }\n}\n"]}
|
@@ -160,7 +160,7 @@ let NileSwitcher = class NileSwitcher extends NileElement {
|
|
160
160
|
`;
|
161
161
|
}
|
162
162
|
renderContentEditor(Input) {
|
163
|
-
let { options, inputType, errorMessage, type, readonly, noborder, value } = Input;
|
163
|
+
let { options, inputType, errorMessage, type, readonly, noborder, value, updateValue, } = Input;
|
164
164
|
return html `<nile-content-editor
|
165
165
|
class="switcher-content-editor"
|
166
166
|
.value=${value}
|
@@ -168,6 +168,7 @@ let NileSwitcher = class NileSwitcher extends NileElement {
|
|
168
168
|
.type=${type}
|
169
169
|
.readonly=${readonly}
|
170
170
|
.noborder=${noborder}
|
171
|
+
.updateValue=${updateValue}
|
171
172
|
.errorMessage=${errorMessage}
|
172
173
|
@nile-change=${(e) => {
|
173
174
|
this.handleChange(e, inputType);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"nile-switcher.js","sourceRoot":"","sources":["../../../src/nile-switcher/nile-switcher.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, TemplateResult } from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-switcher.css';\nimport NileElement from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\nimport { choose } from 'lit/directives/choose.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { watch } from '../internal/watch';\nimport { HasSlotController } from '../internal/slot';\n\n/**\n * @summary Allows you to switch between nile elements\n *\n * @dependency nile-icon\n * @dependency nile-input\n * @dependency nile-checkbox\n * @dependency nile-dropdown\n * @dependency nile-textarea\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-switch - Emitted when the nile component is being switched.\n */\n\nexport interface switchconfig {\n [key: string]: any;\n toggleSwitch: boolean;\n disable?: boolean;\n confirmation?: boolean;\n align: 'block' | 'inline';\n inputs: switchInputType[];\n}\n\nexport interface switchInputType {\n inputType:\n | INPUT_TYPE_NAMES.DROPDOWN\n | INPUT_TYPE_NAMES.TEXT\n | INPUT_TYPE_NAMES.CHECKBOX\n | INPUT_TYPE_NAMES.TEXTAREA\n | INPUT_TYPE_NAMES.RADIO\n | INPUT_TYPE_NAMES.CONTENTEDITOR\n | INPUT_TYPE_NAMES.OBJECT_MAPPER\n | INPUT_TYPE_NAMES.CODE_EDITOR;\n value?: String | boolean;\n label?: String;\n readonly?: boolean;\n type?: string;\n icon: string;\n mode?: string;\n placeholder?: string;\n disabled?: boolean;\n required?: boolean;\n error?: boolean;\n errorMessage?: string;\n options?: Array<any>;\n customAutoCompletions?: any;\n helperText?: string;\n multiple?: boolean;\n noborder?: boolean;\n multiLine?: boolean;\n expand?: boolean;\n updateValue?: false;\n}\n\nexport enum POSITIONS {\n INLINE = 'inline',\n BLOCK = 'block',\n}\n\nexport enum INPUT_TYPE {\n DEFAULT = 'defaultInput',\n SWITCH = 'switchInput',\n}\n\nexport enum INPUT_TYPE_NAMES {\n DROPDOWN = 'dropdown',\n TEXT = 'text',\n CHECKBOX = 'checkbox',\n TEXTAREA = 'text-area',\n RADIO = 'radio',\n CONTENTEDITOR = 'content-editor',\n OBJECT_MAPPER = 'object-mapper',\n CODE_EDITOR = 'code-editor',\n}\n\nexport enum MODE {\n CREATE = 'create',\n EDIT = 'edit',\n}\n\n@customElement('nile-switcher')\nexport class NileSwitcher extends NileElement {\n /**\n * The styles for nile switcher\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'label');\n\n @property({ type: Object }) nileSwitchConfig: switchconfig;\n\n @property({ type: Number }) current: Number = 0;\n\n @property({ type: Object }) currentInput: switchInputType;\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n @watch(['current'], { waitUntilFirstUpdate: true })\n handleSwitcherChange() {\n this.setCurrentInput();\n }\n\n setCurrentInput() {\n if (this.nileSwitchConfig?.inputs) {\n this.currentInput = this.nileSwitchConfig.inputs.filter(\n (input: switchInputType, index: Number) => {\n return index === this.current;\n }\n )[0];\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n renderNileText(Input: switchInputType) {\n const {\n value,\n label,\n placeholder,\n disabled,\n required,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n return html`<nile-input\n class=${classMap({\n 'switcher-input': true,\n 'switcher-input--noborder': !!noborder,\n })}\n .value=${value}\n .label=${label}\n .disabled=${disabled}\n .required=${required}\n .errorMessage=${errorMessage}\n .placeholder=${placeholder}\n .error=${error}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-input>`;\n }\n\n renderDropdown(Input: switchInputType) {\n const {\n options,\n multiple,\n placeholder,\n disabled,\n value,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n\n return html`<nile-select\n part=\"dropdown\"\n class=${classMap({\n 'switcher-dropdown': true,\n 'switcher-dropdown--noborder': !!noborder,\n })}\n .placeholder=${placeholder}\n .disabled=\"${disabled}\"\n .multiple=\"${multiple}\"\n .value=\"${value}\"\n .error=\"${error}\"\n .errorMessage=\"${errorMessage}\"\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options?.map((option: any) => {\n return html`<nile-option .value=\"${option}\">${option} </nile-option>`;\n })}\n </nile-select>`;\n }\n\n renderNileTextArea(Input: switchInputType) {\n const { value, disabled, readonly, errorMessage, error, inputType } = Input;\n\n return html`<nile-textarea\n class=\"switcher-textarea\"\n .value=${value}\n .disabled=${disabled}\n ?readonly=${readonly}\n .error=${error}\n .errorMessage=${errorMessage}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-textarea>`;\n }\n\n renderNileCheckBox(Input: switchInputType) {\n const { value, label, disabled, inputType } = Input;\n\n return html`<nile-checkbox\n class=\"switcher-checkbox\"\n .checked=${value}\n .label=${label}\n .disabled=${disabled}\n @valueChange=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-checkbox\n >; `;\n }\n\n renderNileRadio(Input: switchInputType) {\n const { options, value, disabled, errorMessage, inputType } = Input;\n\n const haserrorMessage = !!errorMessage;\n\n return html`<nile-radio-group\n class=\"switcher-radio-group\"\n .value=${value}\n .disabled=${disabled}\n @change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options &&\n options.map((option: any) => {\n return html`<nile-radio .value=\"${option}\">${option} </nile-radio>`;\n })}\n ${haserrorMessage ? this.renderErrorMessage(errorMessage) : ''}\n </nile-radio-group> `;\n }\n\n renderErrorMessage(errorMessage: string) {\n return html`\n <nile-form-error-message>${errorMessage}</nile-form-error-message>\n `;\n }\n\n renderContentEditor(Input: switchInputType) {\n let { options, inputType, errorMessage, type, readonly, noborder, value } =\n Input;\n return html`<nile-content-editor\n class=\"switcher-content-editor\"\n .value=${value}\n .options=${options}\n .type=${type}\n .readonly=${readonly}\n .noborder=${noborder}\n .errorMessage=${errorMessage}\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n </nile-content-editor>`;\n }\n\n renderObjectMapper(Input: switchInputType) {\n let { options, inputType, error, errorMessage, type, readonly, noborder } =\n Input;\n\n const value =\n this.currentInput.mode === MODE.CREATE\n ? 'Click to Create - Not Mapped'\n : 'Click to Edit';\n\n return html`<nile-input\n class=${classMap({\n 'switcher-object-mapper': true,\n 'switcher-object-mapper--noborder': !!noborder,\n })}\n .value=${value}\n .errorMessage=${errorMessage}\n .error=${error}\n readonly=\"true\"\n @click=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.OBJECT_MAPPER)}\"\n >\n <nile-icon\n class=\"pointer-cursor switcher-object-mapper-icon\"\n slot=\"suffix\"\n name=\"expand-2\"\n color=\"#005EA6\"\n size=\"16\"\n >\n </nile-icon>\n </nile-input>`;\n }\n\n renderCodeEditor(Input: switchInputType) {\n const {\n value,\n multiLine,\n customAutoCompletions,\n disabled,\n readonly,\n errorMessage,\n error,\n inputType,\n noborder,\n expand,\n updateValue,\n } = Input;\n return html`<nile-code-editor\n part=\"switcher-code-editor\"\n class=${classMap({\n 'code-editor': true,\n })}\n @nile-expand=\"${(e: CustomEvent) =>\n this.handleExpand(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n @nile-change=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n .multiline=\"${multiLine}\"\n .value=\"${value}\"\n .readonly=${readonly}\n .expandable=\"${expand}\"\n .error=${error}\n .noborder=${noborder}\n .updateValue=${updateValue}\n .errorMessage=${errorMessage}\n .customAutoCompletions=\"${customAutoCompletions}\"\n ></nile-code-editor> `;\n }\n\n handleExpand(event: CustomEvent, inputType: string) {\n this.currentInput.expand = event.detail.expand;\n this.emit('nile-change', { input: this.currentInput });\n }\n\n handleChange(event: CustomEvent, inputType: string) {\n switch (inputType) {\n case INPUT_TYPE_NAMES.OBJECT_MAPPER:\n this.currentInput.value = 'clicked';\n break;\n case INPUT_TYPE_NAMES.CHECKBOX:\n this.currentInput.value = event.detail.checked;\n break;\n case INPUT_TYPE_NAMES.CODE_EDITOR:\n this.currentInput.value = event.detail.value;\n break;\n default:\n this.currentInput.value = event.detail.value;\n }\n event.stopPropagation();\n this.emit('nile-change', { input: this.currentInput });\n }\n\n renderIcon() {\n const inputs = this.nileSwitchConfig.inputs;\n const toolTipPosition =\n this.nileSwitchConfig.align === POSITIONS.BLOCK ? 'top' : 'bottom';\n\n return html`\n <div part=\"icons-container\" class=\"switcher-icons-container\">\n ${repeat(\n inputs,\n (input: any, index: number) => html` <nile-tooltip\n class=${classMap({\n 'switcher-tooltip-container': true,\n })}\n content=${input.helperText}\n placement=${toolTipPosition}\n >\n <div class=${classMap({\n 'switcher-icon-container': true,\n current: index === this.current,\n })}>\n <nile-icon\n size=\"16\"\n class=${classMap({\n 'pointer-cursor': true,\n 'pointer-cursor-not-allowed': index === this.current,\n })}\n .name=${input.icon}\n color=\"#000000\"\n @click=${() => this.toggleField(input, index)}\n ></nile-icon>\n <div>\n \n </nile-tooltip>`\n )}\n </div>\n `;\n }\n\n isToggleSwitch = (item: any) => {\n return typeof item === 'undefined' || item;\n };\n\n toggleField(currentInput: switchInputType, index: Number) {\n this.emit('nile-switch', {\n inputClicked: index,\n currentInput: currentInput,\n });\n }\n\n singleFieldSwitcher() {\n this.setCurrentInput();\n\n return html`\n ${choose(\n this.currentInput.inputType,\n [\n [INPUT_TYPE_NAMES.TEXT, () => this.renderNileText(this.currentInput)],\n [\n INPUT_TYPE_NAMES.CHECKBOX,\n () => this.renderNileCheckBox(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.TEXTAREA,\n () => this.renderNileTextArea(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.RADIO,\n () => this.renderNileRadio(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.DROPDOWN,\n () => this.renderDropdown(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CONTENTEDITOR,\n () => this.renderContentEditor(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.OBJECT_MAPPER,\n () => this.renderObjectMapper(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CODE_EDITOR,\n () => this.renderCodeEditor(this.currentInput),\n ],\n ],\n () => this.renderNileText(this.currentInput)\n )}\n `;\n }\n\n public render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const align = this.nileSwitchConfig.align;\n const disable = this.nileSwitchConfig.disable;\n return html`<div\n part=\"base\"\n class=${classMap({\n 'switcher-block': align === POSITIONS.BLOCK,\n 'switcher-inline': align === POSITIONS.INLINE,\n 'switcher-container': true,\n })}\n >\n <div class=\"label-container\">\n ${hasLabelSlot\n ? html`\n <label\n part=\"switcher-label\"\n class=\"switcher__label\"\n for=\"input\"\n >\n <slot name=\"label\"></slot>\n </label>\n </div> `\n : ''}\n ${!disable ? html`${this.renderIcon()}` : ''}\n </div>\n ${this.singleFieldSwitcher()}\n </div>`;\n }\n}\n\nexport default NileSwitcher;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-switcher': NileSwitcher;\n }\n}\n"]}
|
1
|
+
{"version":3,"file":"nile-switcher.js","sourceRoot":"","sources":["../../../src/nile-switcher/nile-switcher.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Copyright Aquera Inc 2023\n *\n * This source code is licensed under the BSD-3-Clause license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { html, property, TemplateResult } from 'lit-element';\nimport { customElement } from 'lit/decorators.js';\nimport { styles } from './nile-switcher.css';\nimport NileElement from '../internal/nile-element';\nimport { CSSResultGroup } from 'lit';\nimport { choose } from 'lit/directives/choose.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { repeat } from 'lit/directives/repeat.js';\nimport { watch } from '../internal/watch';\nimport { HasSlotController } from '../internal/slot';\n\n/**\n * @summary Allows you to switch between nile elements\n *\n * @dependency nile-icon\n * @dependency nile-input\n * @dependency nile-checkbox\n * @dependency nile-dropdown\n * @dependency nile-textarea\n *\n * @event nile-change - Emitted when the control's value changes.\n * @event nile-switch - Emitted when the nile component is being switched.\n */\n\nexport interface switchconfig {\n [key: string]: any;\n toggleSwitch: boolean;\n disable?: boolean;\n confirmation?: boolean;\n align: 'block' | 'inline';\n inputs: switchInputType[];\n}\n\nexport interface switchInputType {\n inputType:\n | INPUT_TYPE_NAMES.DROPDOWN\n | INPUT_TYPE_NAMES.TEXT\n | INPUT_TYPE_NAMES.CHECKBOX\n | INPUT_TYPE_NAMES.TEXTAREA\n | INPUT_TYPE_NAMES.RADIO\n | INPUT_TYPE_NAMES.CONTENTEDITOR\n | INPUT_TYPE_NAMES.OBJECT_MAPPER\n | INPUT_TYPE_NAMES.CODE_EDITOR;\n value?: String | boolean;\n label?: String;\n readonly?: boolean;\n type?: string;\n icon: string;\n mode?: string;\n placeholder?: string;\n disabled?: boolean;\n required?: boolean;\n error?: boolean;\n errorMessage?: string;\n options?: Array<any>;\n customAutoCompletions?: any;\n helperText?: string;\n multiple?: boolean;\n noborder?: boolean;\n multiLine?: boolean;\n expand?: boolean;\n updateValue?: false;\n}\n\nexport enum POSITIONS {\n INLINE = 'inline',\n BLOCK = 'block',\n}\n\nexport enum INPUT_TYPE {\n DEFAULT = 'defaultInput',\n SWITCH = 'switchInput',\n}\n\nexport enum INPUT_TYPE_NAMES {\n DROPDOWN = 'dropdown',\n TEXT = 'text',\n CHECKBOX = 'checkbox',\n TEXTAREA = 'text-area',\n RADIO = 'radio',\n CONTENTEDITOR = 'content-editor',\n OBJECT_MAPPER = 'object-mapper',\n CODE_EDITOR = 'code-editor',\n}\n\nexport enum MODE {\n CREATE = 'create',\n EDIT = 'edit',\n}\n\n@customElement('nile-switcher')\nexport class NileSwitcher extends NileElement {\n /**\n * The styles for nile switcher\n * @remarks If you are extending this class you can extend the base styles with super. Eg `return [super(), myCustomStyles]`\n */\n static styles: CSSResultGroup = styles;\n\n private readonly hasSlotController = new HasSlotController(this, 'label');\n\n @property({ type: Object }) nileSwitchConfig: switchconfig;\n\n @property({ type: Number }) current: Number = 0;\n\n @property({ type: Object }) currentInput: switchInputType;\n\n connectedCallback() {\n super.connectedCallback();\n this.emit('nile-init');\n }\n\n @watch(['current'], { waitUntilFirstUpdate: true })\n handleSwitcherChange() {\n this.setCurrentInput();\n }\n\n setCurrentInput() {\n if (this.nileSwitchConfig?.inputs) {\n this.currentInput = this.nileSwitchConfig.inputs.filter(\n (input: switchInputType, index: Number) => {\n return index === this.current;\n }\n )[0];\n }\n }\n disconnectedCallback() {\n super.disconnectedCallback();\n this.emit('nile-destroy');\n }\n\n renderNileText(Input: switchInputType) {\n const {\n value,\n label,\n placeholder,\n disabled,\n required,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n return html`<nile-input\n class=${classMap({\n 'switcher-input': true,\n 'switcher-input--noborder': !!noborder,\n })}\n .value=${value}\n .label=${label}\n .disabled=${disabled}\n .required=${required}\n .errorMessage=${errorMessage}\n .placeholder=${placeholder}\n .error=${error}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-input>`;\n }\n\n renderDropdown(Input: switchInputType) {\n const {\n options,\n multiple,\n placeholder,\n disabled,\n value,\n error,\n errorMessage,\n inputType,\n noborder,\n } = Input;\n\n return html`<nile-select\n part=\"dropdown\"\n class=${classMap({\n 'switcher-dropdown': true,\n 'switcher-dropdown--noborder': !!noborder,\n })}\n .placeholder=${placeholder}\n .disabled=\"${disabled}\"\n .multiple=\"${multiple}\"\n .value=\"${value}\"\n .error=\"${error}\"\n .errorMessage=\"${errorMessage}\"\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options?.map((option: any) => {\n return html`<nile-option .value=\"${option}\">${option} </nile-option>`;\n })}\n </nile-select>`;\n }\n\n renderNileTextArea(Input: switchInputType) {\n const { value, disabled, readonly, errorMessage, error, inputType } = Input;\n\n return html`<nile-textarea\n class=\"switcher-textarea\"\n .value=${value}\n .disabled=${disabled}\n ?readonly=${readonly}\n .error=${error}\n .errorMessage=${errorMessage}\n @nile-input=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-textarea>`;\n }\n\n renderNileCheckBox(Input: switchInputType) {\n const { value, label, disabled, inputType } = Input;\n\n return html`<nile-checkbox\n class=\"switcher-checkbox\"\n .checked=${value}\n .label=${label}\n .disabled=${disabled}\n @valueChange=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n ></nile-checkbox\n >; `;\n }\n\n renderNileRadio(Input: switchInputType) {\n const { options, value, disabled, errorMessage, inputType } = Input;\n\n const haserrorMessage = !!errorMessage;\n\n return html`<nile-radio-group\n class=\"switcher-radio-group\"\n .value=${value}\n .disabled=${disabled}\n @change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n ${options &&\n options.map((option: any) => {\n return html`<nile-radio .value=\"${option}\">${option} </nile-radio>`;\n })}\n ${haserrorMessage ? this.renderErrorMessage(errorMessage) : ''}\n </nile-radio-group> `;\n }\n\n renderErrorMessage(errorMessage: string) {\n return html`\n <nile-form-error-message>${errorMessage}</nile-form-error-message>\n `;\n }\n\n renderContentEditor(Input: switchInputType) {\n let {\n options,\n inputType,\n errorMessage,\n type,\n readonly,\n noborder,\n value,\n updateValue,\n } = Input;\n return html`<nile-content-editor\n class=\"switcher-content-editor\"\n .value=${value}\n .options=${options}\n .type=${type}\n .readonly=${readonly}\n .noborder=${noborder}\n .updateValue=${updateValue}\n .errorMessage=${errorMessage}\n @nile-change=${(e: CustomEvent) => {\n this.handleChange(e, inputType);\n }}\n >\n </nile-content-editor>`;\n }\n\n renderObjectMapper(Input: switchInputType) {\n let { options, inputType, error, errorMessage, type, readonly, noborder } =\n Input;\n\n const value =\n this.currentInput.mode === MODE.CREATE\n ? 'Click to Create - Not Mapped'\n : 'Click to Edit';\n\n return html`<nile-input\n class=${classMap({\n 'switcher-object-mapper': true,\n 'switcher-object-mapper--noborder': !!noborder,\n })}\n .value=${value}\n .errorMessage=${errorMessage}\n .error=${error}\n readonly=\"true\"\n @click=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.OBJECT_MAPPER)}\"\n >\n <nile-icon\n class=\"pointer-cursor switcher-object-mapper-icon\"\n slot=\"suffix\"\n name=\"expand-2\"\n color=\"#005EA6\"\n size=\"16\"\n >\n </nile-icon>\n </nile-input>`;\n }\n\n renderCodeEditor(Input: switchInputType) {\n const {\n value,\n multiLine,\n customAutoCompletions,\n disabled,\n readonly,\n errorMessage,\n error,\n inputType,\n noborder,\n expand,\n updateValue,\n } = Input;\n return html`<nile-code-editor\n part=\"switcher-code-editor\"\n class=${classMap({\n 'code-editor': true,\n })}\n @nile-expand=\"${(e: CustomEvent) =>\n this.handleExpand(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n @nile-change=\"${(e: CustomEvent) =>\n this.handleChange(e, INPUT_TYPE_NAMES.CODE_EDITOR)}\"\n .multiline=\"${multiLine}\"\n .value=\"${value}\"\n .readonly=${readonly}\n .expandable=\"${expand}\"\n .error=${error}\n .noborder=${noborder}\n .updateValue=${updateValue}\n .errorMessage=${errorMessage}\n .customAutoCompletions=\"${customAutoCompletions}\"\n ></nile-code-editor> `;\n }\n\n handleExpand(event: CustomEvent, inputType: string) {\n this.currentInput.expand = event.detail.expand;\n this.emit('nile-change', { input: this.currentInput });\n }\n\n handleChange(event: CustomEvent, inputType: string) {\n switch (inputType) {\n case INPUT_TYPE_NAMES.OBJECT_MAPPER:\n this.currentInput.value = 'clicked';\n break;\n case INPUT_TYPE_NAMES.CHECKBOX:\n this.currentInput.value = event.detail.checked;\n break;\n case INPUT_TYPE_NAMES.CODE_EDITOR:\n this.currentInput.value = event.detail.value;\n break;\n default:\n this.currentInput.value = event.detail.value;\n }\n event.stopPropagation();\n this.emit('nile-change', { input: this.currentInput });\n }\n\n renderIcon() {\n const inputs = this.nileSwitchConfig.inputs;\n const toolTipPosition =\n this.nileSwitchConfig.align === POSITIONS.BLOCK ? 'top' : 'bottom';\n\n return html`\n <div part=\"icons-container\" class=\"switcher-icons-container\">\n ${repeat(\n inputs,\n (input: any, index: number) => html` <nile-tooltip\n class=${classMap({\n 'switcher-tooltip-container': true,\n })}\n content=${input.helperText}\n placement=${toolTipPosition}\n >\n <div class=${classMap({\n 'switcher-icon-container': true,\n current: index === this.current,\n })}>\n <nile-icon\n size=\"16\"\n class=${classMap({\n 'pointer-cursor': true,\n 'pointer-cursor-not-allowed': index === this.current,\n })}\n .name=${input.icon}\n color=\"#000000\"\n @click=${() => this.toggleField(input, index)}\n ></nile-icon>\n <div>\n \n </nile-tooltip>`\n )}\n </div>\n `;\n }\n\n isToggleSwitch = (item: any) => {\n return typeof item === 'undefined' || item;\n };\n\n toggleField(currentInput: switchInputType, index: Number) {\n this.emit('nile-switch', {\n inputClicked: index,\n currentInput: currentInput,\n });\n }\n\n singleFieldSwitcher() {\n this.setCurrentInput();\n\n return html`\n ${choose(\n this.currentInput.inputType,\n [\n [INPUT_TYPE_NAMES.TEXT, () => this.renderNileText(this.currentInput)],\n [\n INPUT_TYPE_NAMES.CHECKBOX,\n () => this.renderNileCheckBox(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.TEXTAREA,\n () => this.renderNileTextArea(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.RADIO,\n () => this.renderNileRadio(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.DROPDOWN,\n () => this.renderDropdown(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CONTENTEDITOR,\n () => this.renderContentEditor(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.OBJECT_MAPPER,\n () => this.renderObjectMapper(this.currentInput),\n ],\n [\n INPUT_TYPE_NAMES.CODE_EDITOR,\n () => this.renderCodeEditor(this.currentInput),\n ],\n ],\n () => this.renderNileText(this.currentInput)\n )}\n `;\n }\n\n public render(): TemplateResult {\n const hasLabelSlot = this.hasSlotController.test('label');\n const align = this.nileSwitchConfig.align;\n const disable = this.nileSwitchConfig.disable;\n return html`<div\n part=\"base\"\n class=${classMap({\n 'switcher-block': align === POSITIONS.BLOCK,\n 'switcher-inline': align === POSITIONS.INLINE,\n 'switcher-container': true,\n })}\n >\n <div class=\"label-container\">\n ${hasLabelSlot\n ? html`\n <label\n part=\"switcher-label\"\n class=\"switcher__label\"\n for=\"input\"\n >\n <slot name=\"label\"></slot>\n </label>\n </div> `\n : ''}\n ${!disable ? html`${this.renderIcon()}` : ''}\n </div>\n ${this.singleFieldSwitcher()}\n </div>`;\n }\n}\n\nexport default NileSwitcher;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'nile-switcher': NileSwitcher;\n }\n}\n"]}
|