@api-client/ui 0.5.5 → 0.5.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/build/src/elements/highlight/MarkdownStyles.d.ts.map +1 -1
- package/build/src/elements/highlight/MarkdownStyles.js +0 -13
- package/build/src/elements/highlight/MarkdownStyles.js.map +1 -1
- package/build/src/elements/http/BodyEditor.d.ts +0 -13
- package/build/src/elements/http/BodyEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyEditor.js +0 -13
- package/build/src/elements/http/BodyEditor.js.map +1 -1
- package/build/src/elements/http/BodyTextEditor.d.ts +0 -13
- package/build/src/elements/http/BodyTextEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyTextEditor.js +0 -13
- package/build/src/elements/http/BodyTextEditor.js.map +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.d.ts +0 -13
- package/build/src/elements/http/BodyUrlEncodedEditor.d.ts.map +1 -1
- package/build/src/elements/http/BodyUrlEncodedEditor.js +0 -13
- package/build/src/elements/http/BodyUrlEncodedEditor.js.map +1 -1
- package/build/src/elements/http/UrlInput.d.ts +0 -13
- package/build/src/elements/http/UrlInput.d.ts.map +1 -1
- package/build/src/elements/http/UrlInput.js +0 -13
- package/build/src/elements/http/UrlInput.js.map +1 -1
- package/build/src/index.d.ts +2 -0
- package/build/src/index.d.ts.map +1 -1
- package/build/src/index.js +2 -0
- package/build/src/index.js.map +1 -1
- package/build/src/md/button/internals/button.styles.js +1 -1
- package/build/src/md/button/internals/button.styles.js.map +1 -1
- package/build/src/md/date/internals/DateTime.d.ts +0 -13
- package/build/src/md/date/internals/DateTime.d.ts.map +1 -1
- package/build/src/md/date/internals/DateTime.js +0 -13
- package/build/src/md/date/internals/DateTime.js.map +1 -1
- package/build/src/md/date-picker/index.d.ts +13 -0
- package/build/src/md/date-picker/index.d.ts.map +1 -0
- package/build/src/md/date-picker/index.js +13 -0
- package/build/src/md/date-picker/index.js.map +1 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.d.ts +4 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.d.ts.map +1 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.js +336 -0
- package/build/src/md/date-picker/internals/DatePicker.styles.js.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts +159 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.d.ts.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.js +770 -0
- package/build/src/md/date-picker/internals/DatePickerCalendar.js.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.d.ts +93 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.d.ts.map +1 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.js +221 -0
- package/build/src/md/date-picker/internals/DatePickerUtils.js.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-input.d.ts +108 -0
- package/build/src/md/date-picker/ui-date-picker-input.d.ts.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-input.js +397 -0
- package/build/src/md/date-picker/ui-date-picker-input.js.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts +119 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.d.ts.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.js +473 -0
- package/build/src/md/date-picker/ui-date-picker-modal-input.js.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal.d.ts +108 -0
- package/build/src/md/date-picker/ui-date-picker-modal.d.ts.map +1 -0
- package/build/src/md/date-picker/ui-date-picker-modal.js +344 -0
- package/build/src/md/date-picker/ui-date-picker-modal.js.map +1 -0
- package/build/src/md/dialog/internals/Dialog.styles.d.ts.map +1 -1
- package/build/src/md/dialog/internals/Dialog.styles.js +1 -0
- package/build/src/md/dialog/internals/Dialog.styles.js.map +1 -1
- package/demo/elements/har/har2.json +1 -1
- package/demo/md/date-picker/date-picker.ts +301 -0
- package/demo/md/date-picker/index.html +171 -0
- package/demo/md/index.html +2 -0
- package/package.json +1 -1
- package/src/elements/highlight/MarkdownStyles.ts +0 -13
- package/src/elements/http/BodyEditor.ts +0 -13
- package/src/elements/http/BodyTextEditor.ts +0 -13
- package/src/elements/http/BodyUrlEncodedEditor.ts +0 -13
- package/src/elements/http/UrlInput.ts +0 -13
- package/src/index.ts +17 -0
- package/src/md/button/internals/button.styles.ts +1 -1
- package/src/md/date/internals/DateTime.ts +0 -14
- package/src/md/date-picker/README.md +184 -0
- package/src/md/date-picker/index.ts +17 -0
- package/src/md/date-picker/internals/DatePicker.styles.ts +338 -0
- package/src/md/date-picker/internals/DatePickerCalendar.ts +697 -0
- package/src/md/date-picker/internals/DatePickerUtils.ts +288 -0
- package/src/md/date-picker/ui-date-picker-input.ts +272 -0
- package/src/md/date-picker/ui-date-picker-modal-input.ts +371 -0
- package/src/md/date-picker/ui-date-picker-modal.ts +263 -0
- package/src/md/dialog/internals/Dialog.styles.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BodyUrlEncodedEditor.js","sourceRoot":"","sources":["../../../../src/elements/http/BodyUrlEncodedEditor.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n@license\nCopyright 2020 The Advanced REST client authors <arc@mulesoft.com>\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\nhttp://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n*/\nimport { html, TemplateResult, PropertyValues, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { live } from 'lit/directives/live.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { type IProperty, Property } from '@api-client/core/models/Property.js'\nimport { decodeUrlEncoded, encodeUrlEncoded, createViewModel, formArrayToString } from './UrlEncodeUtils.js'\nimport type SwitchElement from '../../md/switch/internals/SwitchElement.js'\nimport type Input from '../../md/input/Input.js'\nimport ApiElement from '../ApiElement.js'\nimport '../../md/icons/ui-icon.js'\nimport '../../md/icon-button/ui-icon-button.js'\nimport '../../md/switch/ui-switch.js'\n\n/**\n * A body editor specializing in URL encoded data.\n */\nexport default class BodyUrlEncodedEditor extends ApiElement {\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * When set it automatically encodes and decodes values.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor autoEncode = false\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) accessor allowFormInfo: boolean | undefined\n\n protected valueInternal = ''\n\n /**\n * The HTTP body.\n */\n get value(): string | undefined {\n return this.valueInternal\n }\n\n @property({ type: String })\n set value(value: string | undefined) {\n const old = this.valueInternal\n if (old === value) {\n return\n }\n this.valueInternal = value || ''\n this.setupModel(value || '')\n }\n\n protected modelInternal: IProperty[] = []\n\n /**\n * Computed data model for the view.\n * Don't set both `value` and `model`. If the model exists then\n * set only it or otherwise the `value` setter override the model.\n */\n get model(): IProperty[] {\n return this.modelInternal\n }\n\n set model(value: IProperty[]) {\n const old = this.modelInternal\n if (old === value) {\n return\n }\n if (Array.isArray(value)) {\n this.modelInternal = value\n } else {\n this.modelInternal = []\n }\n this.valueInternal = this.modelToValue()\n this.requestUpdate()\n }\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('autoEncode')) {\n this.updateValue()\n }\n super.update(cp)\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.model = []\n this.updateValue()\n this.requestUpdate()\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n const items = this.model\n items.splice(index, 1)\n this.updateValue()\n this.requestUpdate()\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n const items = this.model\n const item = items[index]\n item.enabled = enabled\n this.updateValue()\n }\n\n /**\n * Updates name/value of a parameter on a specific index.\n */\n updateProperty(index: number, field: 'name' | 'value', value: string): void {\n const item = this.model[index]\n const old = item[field]\n if (old === value) {\n return\n }\n item[field] = value as string\n this.updateValue()\n }\n\n addParameter(name = '', value = ''): void {\n if (this.readOnly || this.disabled) {\n return\n }\n const prop = Property.String(name, value, true)\n const items = this.model\n items[items.length] = prop.toJSON()\n this.model = items\n this.requestUpdate()\n this.focusLast()\n }\n\n protected updateValue(): void {\n if (this.readOnly) {\n return\n }\n this.valueInternal = this.modelToValue()\n this.notifyChange()\n }\n\n protected modelToValue(): string {\n const { model, autoEncode } = this\n if (autoEncode) {\n const encoded = encodeUrlEncoded(model) as IProperty[]\n return formArrayToString(encoded)\n }\n return formArrayToString(this.model)\n }\n\n /**\n * Called when the `value` property change. It generates the view model\n * for the editor.\n */\n protected setupModel(value: string): void {\n if (!value) {\n this.model = []\n return\n }\n const model = createViewModel(value) as IProperty[]\n if (this.autoEncode) {\n this.modelInternal = decodeUrlEncoded(model) as IProperty[]\n } else {\n this.modelInternal = model\n }\n this.requestUpdate()\n }\n\n async focusLast(): Promise<void> {\n await this.updateComplete\n const row = this.shadowRoot?.querySelector('.param-row:last-of-type')\n if (!row) {\n return\n }\n try {\n const node = row.querySelector('.name-input input') as HTMLInputElement | undefined\n if (node) {\n node.focus()\n }\n } catch {\n // ...\n }\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n encodeParameters(): void {\n const encoded = encodeUrlEncoded(this.model) as IProperty[]\n this.modelInternal = encoded\n this.valueInternal = formArrayToString(encoded)\n this.notifyChange()\n this.requestUpdate()\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n decodeParameters(): void {\n const decoded = decodeUrlEncoded(this.model) as IProperty[]\n this.modelInternal = decoded\n this.valueInternal = formArrayToString(decoded)\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected handleAdd(): void {\n this.addParameter()\n }\n\n protected handleToggle(e: Event): void {\n const node = e.currentTarget as SwitchElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.toggleProperty(index, !!node.checked)\n }\n\n protected handleRemove(e: Event): void {\n const node = e.currentTarget as HTMLElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.removeProperty(index)\n }\n\n protected handleNameChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'name', input.value)\n input.checkValidity()\n }\n\n protected handleValueChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'value', input.value)\n input.checkValidity()\n }\n\n override render(): TemplateResult {\n const items = this.model\n if (!Array.isArray(items) || !items.length) {\n return html`${this.renderEmptyMessage()}${this.renderFormInfo()}`\n }\n return this.renderParams(items)\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. We encourage you to use variables to\n insert sensitive data.\n </p>\n `\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html` <div class=\"empty-message\">No parameters added</div> `\n }\n\n protected renderParams(items: IProperty[]): TemplateResult {\n return html` ${items.map((item, index) => this.renderParam(item, index))} ${this.renderFormInfo()} `\n }\n\n protected renderParam(item: IProperty, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)} ${this.renderNameField(item, index)}\n ${this.renderValueField(item, index)} ${this.renderDeleteParameter(index)}\n </div>\n `\n }\n\n protected renderToggleButton(item: IProperty, index: number): TemplateResult {\n return html`\n <ui-switch\n .checked=\"${!!item.enabled}\"\n @change=\"${this.handleToggle}\"\n title=\"Enable / disable parameter\"\n aria-label=\"Activate to toggle enabled state of this parameter\"\n data-index=\"${index}\"\n ?disabled=\"${this.readOnly}\"\n ></ui-switch>\n `\n }\n\n protected renderDeleteParameter(index: number): TemplateResult {\n return html`\n <ui-icon-button\n title=\"Removes this parameter\"\n aria-label=\"Deletes this parameter\"\n data-index=\"${index}\"\n @click=\"${this.handleRemove}\"\n ?disabled=\"${this.readOnly}\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderNameField(item: IProperty, index: number): TemplateResult {\n const { autoEncode } = this\n const pattern = !autoEncode ? '\\\\S*' : undefined\n return html`\n <div class=\"input-wrapper name-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"name\"\n autocomplete=\"off\"\n .value=\"${live(item.name as string)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter name value\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `\n }\n\n protected renderValueField(item: IProperty, index: number): TemplateResult {\n const { autoEncode } = this\n const pattern = !autoEncode ? '\\\\S*' : undefined\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n .value=\"${live(item.value as string)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"BodyUrlEncodedEditor.js","sourceRoot":"","sources":["../../../../src/elements/http/BodyUrlEncodedEditor.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult, PropertyValues, nothing } from 'lit'\nimport { property } from 'lit/decorators.js'\nimport { live } from 'lit/directives/live.js'\nimport { ifDefined } from 'lit/directives/if-defined.js'\nimport { type IProperty, Property } from '@api-client/core/models/Property.js'\nimport { decodeUrlEncoded, encodeUrlEncoded, createViewModel, formArrayToString } from './UrlEncodeUtils.js'\nimport type SwitchElement from '../../md/switch/internals/SwitchElement.js'\nimport type Input from '../../md/input/Input.js'\nimport ApiElement from '../ApiElement.js'\nimport '../../md/icons/ui-icon.js'\nimport '../../md/icon-button/ui-icon-button.js'\nimport '../../md/switch/ui-switch.js'\n\n/**\n * A body editor specializing in URL encoded data.\n */\nexport default class BodyUrlEncodedEditor extends ApiElement {\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * When set all controls are disabled in the form\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor disabled = false\n\n /**\n * When set it automatically encodes and decodes values.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor autoEncode = false\n\n /**\n * @attribute\n */\n @property({ type: Boolean }) accessor allowFormInfo: boolean | undefined\n\n protected valueInternal = ''\n\n /**\n * The HTTP body.\n */\n get value(): string | undefined {\n return this.valueInternal\n }\n\n @property({ type: String })\n set value(value: string | undefined) {\n const old = this.valueInternal\n if (old === value) {\n return\n }\n this.valueInternal = value || ''\n this.setupModel(value || '')\n }\n\n protected modelInternal: IProperty[] = []\n\n /**\n * Computed data model for the view.\n * Don't set both `value` and `model`. If the model exists then\n * set only it or otherwise the `value` setter override the model.\n */\n get model(): IProperty[] {\n return this.modelInternal\n }\n\n set model(value: IProperty[]) {\n const old = this.modelInternal\n if (old === value) {\n return\n }\n if (Array.isArray(value)) {\n this.modelInternal = value\n } else {\n this.modelInternal = []\n }\n this.valueInternal = this.modelToValue()\n this.requestUpdate()\n }\n\n protected override update(cp: PropertyValues<this>): void {\n if (cp.has('autoEncode')) {\n this.updateValue()\n }\n super.update(cp)\n }\n\n /**\n * Removes all parameters.\n */\n clear(): void {\n this.model = []\n this.updateValue()\n this.requestUpdate()\n }\n\n /**\n * Removes a parameter from an index.\n */\n removeProperty(index: number): void {\n const items = this.model\n items.splice(index, 1)\n this.updateValue()\n this.requestUpdate()\n }\n\n /**\n * Toggles enabled state of a parameter.\n */\n toggleProperty(index: number, enabled: boolean): void {\n const items = this.model\n const item = items[index]\n item.enabled = enabled\n this.updateValue()\n }\n\n /**\n * Updates name/value of a parameter on a specific index.\n */\n updateProperty(index: number, field: 'name' | 'value', value: string): void {\n const item = this.model[index]\n const old = item[field]\n if (old === value) {\n return\n }\n item[field] = value as string\n this.updateValue()\n }\n\n addParameter(name = '', value = ''): void {\n if (this.readOnly || this.disabled) {\n return\n }\n const prop = Property.String(name, value, true)\n const items = this.model\n items[items.length] = prop.toJSON()\n this.model = items\n this.requestUpdate()\n this.focusLast()\n }\n\n protected updateValue(): void {\n if (this.readOnly) {\n return\n }\n this.valueInternal = this.modelToValue()\n this.notifyChange()\n }\n\n protected modelToValue(): string {\n const { model, autoEncode } = this\n if (autoEncode) {\n const encoded = encodeUrlEncoded(model) as IProperty[]\n return formArrayToString(encoded)\n }\n return formArrayToString(this.model)\n }\n\n /**\n * Called when the `value` property change. It generates the view model\n * for the editor.\n */\n protected setupModel(value: string): void {\n if (!value) {\n this.model = []\n return\n }\n const model = createViewModel(value) as IProperty[]\n if (this.autoEncode) {\n this.modelInternal = decodeUrlEncoded(model) as IProperty[]\n } else {\n this.modelInternal = model\n }\n this.requestUpdate()\n }\n\n async focusLast(): Promise<void> {\n await this.updateComplete\n const row = this.shadowRoot?.querySelector('.param-row:last-of-type')\n if (!row) {\n return\n }\n try {\n const node = row.querySelector('.name-input input') as HTMLInputElement | undefined\n if (node) {\n node.focus()\n }\n } catch {\n // ...\n }\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n encodeParameters(): void {\n const encoded = encodeUrlEncoded(this.model) as IProperty[]\n this.modelInternal = encoded\n this.valueInternal = formArrayToString(encoded)\n this.notifyChange()\n this.requestUpdate()\n }\n\n /**\n * Encodes current parameters in the model, updated the value, and notifies the change\n */\n decodeParameters(): void {\n const decoded = decodeUrlEncoded(this.model) as IProperty[]\n this.modelInternal = decoded\n this.valueInternal = formArrayToString(decoded)\n this.notifyChange()\n this.requestUpdate()\n }\n\n protected handleAdd(): void {\n this.addParameter()\n }\n\n protected handleToggle(e: Event): void {\n const node = e.currentTarget as SwitchElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.toggleProperty(index, !!node.checked)\n }\n\n protected handleRemove(e: Event): void {\n const node = e.currentTarget as HTMLElement\n const index = Number(node.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.removeProperty(index)\n }\n\n protected handleNameChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'name', input.value)\n input.checkValidity()\n }\n\n protected handleValueChange(e: Event): void {\n const input = e.target as Input\n const index = Number(input.dataset.index)\n if (Number.isNaN(index)) {\n return\n }\n this.updateProperty(index, 'value', input.value)\n input.checkValidity()\n }\n\n override render(): TemplateResult {\n const items = this.model\n if (!Array.isArray(items) || !items.length) {\n return html`${this.renderEmptyMessage()}${this.renderFormInfo()}`\n }\n return this.renderParams(items)\n }\n\n protected renderFormInfo(): TemplateResult | typeof nothing {\n if (!this.allowFormInfo) {\n return nothing\n }\n return html`\n <p class=\"form-info\">\n Note that the content-type header will be added when the request is sent. We encourage you to use variables to\n insert sensitive data.\n </p>\n `\n }\n\n protected renderEmptyMessage(): TemplateResult {\n return html` <div class=\"empty-message\">No parameters added</div> `\n }\n\n protected renderParams(items: IProperty[]): TemplateResult {\n return html` ${items.map((item, index) => this.renderParam(item, index))} ${this.renderFormInfo()} `\n }\n\n protected renderParam(item: IProperty, index: number): TemplateResult {\n return html`\n <div class=\"param-row\">\n ${this.renderToggleButton(item, index)} ${this.renderNameField(item, index)}\n ${this.renderValueField(item, index)} ${this.renderDeleteParameter(index)}\n </div>\n `\n }\n\n protected renderToggleButton(item: IProperty, index: number): TemplateResult {\n return html`\n <ui-switch\n .checked=\"${!!item.enabled}\"\n @change=\"${this.handleToggle}\"\n title=\"Enable / disable parameter\"\n aria-label=\"Activate to toggle enabled state of this parameter\"\n data-index=\"${index}\"\n ?disabled=\"${this.readOnly}\"\n ></ui-switch>\n `\n }\n\n protected renderDeleteParameter(index: number): TemplateResult {\n return html`\n <ui-icon-button\n title=\"Removes this parameter\"\n aria-label=\"Deletes this parameter\"\n data-index=\"${index}\"\n @click=\"${this.handleRemove}\"\n ?disabled=\"${this.readOnly}\"\n >\n <ui-icon icon=\"deleteOutline\" role=\"presentation\"></ui-icon>\n </ui-icon-button>\n `\n }\n\n protected renderNameField(item: IProperty, index: number): TemplateResult {\n const { autoEncode } = this\n const pattern = !autoEncode ? '\\\\S*' : undefined\n return html`\n <div class=\"input-wrapper name-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"name\"\n autocomplete=\"off\"\n .value=\"${live(item.name as string)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter name value\"\n @change=\"${this.handleNameChange}\"\n />\n </div>\n `\n }\n\n protected renderValueField(item: IProperty, index: number): TemplateResult {\n const { autoEncode } = this\n const pattern = !autoEncode ? '\\\\S*' : undefined\n return html`\n <div class=\"input-wrapper value-input\">\n <div class=\"error\" role=\"presentation\">Invalid character</div>\n <div class=\"state\"></div>\n <input\n type=\"text\"\n name=\"value\"\n .value=\"${live(item.value as string)}\"\n data-index=\"${index}\"\n ?readOnly=\"${this.readOnly}\"\n pattern=\"${ifDefined(pattern)}\"\n aria-label=\"Parameter value\"\n @change=\"${this.handleValueChange}\"\n />\n </div>\n `\n }\n}\n"]}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2018 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
1
|
import { TemplateResult } from 'lit';
|
|
15
2
|
import { StyleInfo } from 'lit/directives/style-map.js';
|
|
16
3
|
import type { IUrl } from '@api-client/core/models/Url.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlInput.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"UrlInput.d.ts","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +1,4 @@
|
|
|
1
1
|
import { __esDecorate, __runInitializers } from "tslib";
|
|
2
|
-
/**
|
|
3
|
-
@license
|
|
4
|
-
Copyright 2018 The Advanced REST client authors <arc@mulesoft.com>
|
|
5
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
6
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
7
|
-
the License at
|
|
8
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
-
Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
11
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
12
|
-
License for the specific language governing permissions and limitations under
|
|
13
|
-
the License.
|
|
14
|
-
*/
|
|
15
2
|
import { html } from 'lit';
|
|
16
3
|
import { classMap } from 'lit/directives/class-map.js';
|
|
17
4
|
import { styleMap } from 'lit/directives/style-map.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UrlInput.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n @license\nCopyright 2018 The Advanced REST client authors <arc@mulesoft.com>\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\nhttp://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n*/\nimport { html, TemplateResult } from 'lit'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { StyleInfo, styleMap } from 'lit/directives/style-map.js'\nimport { eventOptions, property, query, state } from 'lit/decorators.js'\nimport type { IUrl } from '@api-client/core/models/Url.js'\nimport { sortUrls } from '../../lib/http/Url.js'\nimport { Events } from '../../events/Events.js'\nimport { EventTypes } from '../../events/EventTypes.js'\nimport ApiElement from '../ApiElement.js'\nimport { positionOverlay } from '../../lib/ElementPositioning.js'\nimport type UiList from '../../md/list/internals/List.js'\nimport type UiListItem from '../../md/list/internals/ListItem.js'\n\nimport '../../md/listbox/ui-listbox.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/divider/ui-divider.js'\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n Escape: 'Escape',\n Enter: 'Enter',\n Space: ' ',\n}\n\n/**\n * The request URL editor\n *\n * The element renders an editor for a HTTP request editor.\n *\n * @fires change - When the value change through user interaction. This event does not bubble.\n * @fires requeststateurlchange - When the value change through user interaction. This even bubbles and is cancelable.\n * @fires requestsend - A bubbling event when the user pressed Enter to send the request.\n */\nexport default class UrlInput extends ApiElement {\n /**\n * The current URL value.\n * @attribute\n */\n @property({ type: String }) accessor value = 'http://'\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * Whether the URL suggestions are rendered.\n */\n @state() protected accessor suggestionsOpened = false\n\n @state() protected accessor suggestions: IUrl[] | undefined\n\n @state() protected accessor renderedSuggestions: IUrl[] | undefined\n\n protected previousValue?: string\n\n protected isFocused = false\n\n @query('.main-input')\n protected accessor input!: HTMLInputElement\n\n @query('.suggestions')\n protected accessor suggestionsContainer!: HTMLDivElement\n\n @query('ui-listbox.url-autocomplete')\n protected accessor suggestionsList!: UiList\n\n /**\n * Computed positioning styles for the suggestion box.\n */\n protected suggestionStyles?: StyleInfo\n\n constructor() {\n super()\n this.handleUrlChange = this.handleUrlChange.bind(this)\n this.handleHistoryDeleted = this.handleHistoryDeleted.bind(this)\n this.handleHistoryClear = this.handleHistoryClear.bind(this)\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n const { eventsTarget } = this\n eventsTarget.addEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n const { eventsTarget } = this\n eventsTarget.removeEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n /**\n * A handler that is called on input\n */\n override notifyChange(): void {\n Events.Http.Request.State.urlChange(this.value, this)\n super.notifyChange()\n }\n\n /**\n * A handler for the `url-value-changed` event.\n * If this element is not the source of the event then it will update the `value` property.\n * It's to be used besides the Polymer's data binding system.\n */\n protected handleUrlChange(e: Event): void {\n if (e.composedPath()[0] === this || this.readOnly) {\n return\n }\n const { value } = (e as CustomEvent).detail\n if (value !== this.value) {\n this.value = value\n super.notifyChange()\n }\n }\n\n /**\n * Queries the data model for history data and sets the suggestions\n * @param q User query from the input field\n */\n protected async readAutocomplete(q: string): Promise<void> {\n try {\n const value = await Events.HttpClient.Model.UrlHistory.query(q, this)\n this.suggestions = value && value.items.filter((i) => !!i).map((i) => i.doc)\n } catch {\n this.suggestions = undefined\n }\n }\n\n /**\n * Validates the element.\n */\n checkValidity(): boolean {\n const element = this.input\n if (!element) {\n return true\n }\n return element.validity.valid\n }\n\n /**\n * @param e A handler for either main input or the details editor value change\n */\n protected handleInput(e: Event): void {\n if (this.readOnly) {\n return\n }\n const node = e.target as HTMLInputElement\n this.previousValue = this.value\n this.value = node.value\n this.renderSuggestions()\n }\n\n protected handleInputChange(): void {\n if (this.readOnly) {\n return\n }\n this.notifyChange()\n }\n\n protected handlerFocusBlur(e: Event): void {\n this.isFocused = e.type === 'focus'\n // this.requestUpdate();\n if (this.isFocused && !this.suggestionsOpened) {\n this.renderSuggestions()\n } else if (!this.isFocused && this.suggestionsOpened) {\n // requestAnimationFrame(() => {\n // this.suggestionsOpened = false;\n // });\n }\n }\n\n /**\n * Triggers URL suggestions rendering.\n * If there are suggestions to render this will enable the dropdown.\n */\n async renderSuggestions(): Promise<void> {\n const { value = '' } = this\n if (this.previousValue && value.startsWith(this.previousValue || '')) {\n this.filterSuggestions()\n return\n }\n await this.readAutocomplete(value)\n this.filterSuggestions()\n }\n\n /**\n * Performs the query on the current suggestions and, if any, renders them.\n */\n protected async filterSuggestions(): Promise<void> {\n const items = this.suggestions\n if (!Array.isArray(items) || !items.length) {\n this.toggleSuggestions(false)\n return\n }\n const { value = '' } = this\n const q = String(value).toLowerCase()\n const rendered = items.filter((i) => i.key.toLowerCase().includes(q))\n if (!rendered.length) {\n this.toggleSuggestions(false)\n return\n }\n if (rendered.length === 1 && rendered[0].key.toLowerCase() === q) {\n this.toggleSuggestions(false)\n return\n }\n sortUrls(rendered, q)\n this.renderedSuggestions = rendered\n this.toggleSuggestions(true)\n this.requestUpdate()\n }\n\n protected toggleSuggestions(opened: boolean): void {\n if (!opened) {\n this.suggestionsOpened = false\n this.input.focus()\n } else {\n this.suggestionStyles = positionOverlay(this.suggestionsContainer, this.input, {\n vertical: 'top',\n noOverlap: true,\n constrain: true,\n matchAnchorWidth: true,\n })\n this.suggestionsOpened = true\n }\n }\n\n @eventOptions({ capture: true })\n protected handleSuggestionClick(e: Event): void {\n const path = e.composedPath() as HTMLElement[]\n const target = path.find((i) => !!i.classList && i.classList.contains('remove-suggestion'))\n if (!target) {\n return\n }\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n const { key } = target.dataset\n if (!key) {\n return\n }\n\n Events.HttpClient.Model.UrlHistory.delete(key, this)\n }\n\n protected handleSuggestionSelect(e: CustomEvent): void {\n const item = e.detail.item as UiListItem\n const { key } = item.dataset\n if (!key) {\n return\n }\n this.selectSuggestion(key)\n }\n\n protected selectSuggestion(key: string): void {\n this.value = key\n this.toggleSuggestions(false)\n this.notifyChange()\n }\n\n /**\n * Removes all stored history URLs.\n */\n protected clearSuggestionsHandler(e: Event): void {\n e.preventDefault()\n e.stopPropagation()\n Events.HttpClient.Model.UrlHistory.clear(this)\n }\n\n protected handleHistoryDeleted(e: Event): void {\n const items = this.suggestions\n if (!Array.isArray(items)) {\n return\n }\n const url = (e as CustomEvent).detail\n const index = items.findIndex((i) => i.key === url)\n if (index >= 0) {\n items.splice(index, 1)\n }\n if (this.suggestionsOpened && this.renderedSuggestions) {\n const renderedIndex = this.renderedSuggestions.findIndex((i) => i.key === url)\n if (renderedIndex >= 0) {\n this.renderedSuggestions.splice(renderedIndex, 1)\n this.requestUpdate()\n }\n }\n }\n\n protected handleHistoryClear(): void {\n this.suggestions = undefined\n this.renderedSuggestions = undefined\n this.toggleSuggestions(false)\n }\n\n /**\n * We handle key events here as we never focus on the list.\n */\n protected handleKeydown(event: KeyboardEvent): void {\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return\n\n if (event.key === NAVIGATION_KEYS.Escape) {\n this.toggleSuggestions(false)\n } else if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightNext()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightPrevious()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.Home) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightFirst()\n }\n } else if (event.key === NAVIGATION_KEYS.End) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightLast()\n }\n } else if (event.key === NAVIGATION_KEYS.Enter) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n const list = this.suggestionsList\n const item = list.highlightListItem\n if (item) {\n list.notifySelect(item)\n }\n } else {\n Events.Http.Request.send(this)\n }\n }\n }\n\n override render(): TemplateResult {\n const classes = {\n container: true,\n autocomplete: this.suggestionsOpened,\n }\n return html` <div class=\"${classMap(classes)}\">${this.renderInput()} ${this.renderAutocomplete()}</div>`\n }\n\n /**\n * @returns A template for the main input element\n */\n protected renderInput(): TemplateResult {\n const { value } = this\n return html`\n <div class=\"input-wrapper\">\n <input\n .value=\"${value}\"\n class=\"main-input\"\n required\n placeholder=\"Request URL\"\n id=\"mainInput\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"${this.handlerFocusBlur}\"\n @blur=\"${this.handlerFocusBlur}\"\n @input=\"${this.handleInput}\"\n @change=\"${this.handleInputChange}\"\n @keydown=\"${this.handleKeydown}\"\n aria-label=\"The URL value\"\n ?readonly=\"${this.readOnly}\"\n />\n </div>\n `\n }\n\n /**\n * @returns A template for the autocomplete element\n */\n protected renderAutocomplete(): TemplateResult {\n let opened = this.suggestionsOpened\n const items = this.renderedSuggestions\n if (opened && (!items || !items.length)) {\n opened = false\n }\n const classes = {\n suggestions: true,\n opened,\n }\n return html`\n <div class=\"${classMap(classes)}\" style=\"${styleMap(this.suggestionStyles || {})}\">\n <ui-listbox\n class=\"url-autocomplete\"\n role=\"listbox\"\n aria-label=\"Suggested URLs from your history.\"\n tabindex=\"-1\"\n @select=\"${this.handleSuggestionSelect}\"\n @click=\"${this.handleSuggestionClick}\"\n >\n ${this.renderSuggestionList()}\n </ui-listbox>\n <ui-divider></ui-divider>\n <p class=\"clear-all-history\">\n <span class=\"clear-all-history-label\" @click=\"${this.clearSuggestionsHandler}\">Clear all history</span>\n </p>\n </div>\n `\n }\n\n /**\n * @returns The template for the suggestions list.\n */\n protected renderSuggestionList(): TemplateResult[] | string {\n const items = this.renderedSuggestions\n if (!Array.isArray(items) || !items.length) {\n return ''\n }\n return items.map((i) => this.renderSuggestionItem(i))\n }\n\n /**\n * @returns The template for an URL suggestion item.\n */\n protected renderSuggestionItem(item: IUrl): TemplateResult {\n const { key } = item\n return html` <ui-list-item class=\"suggestion-item\" data-key=\"${item.key}\" role=\"option\" aria-selected=\"false\">\n <div>${key}</div>\n <span slot=\"end-text\" class=\"remove-suggestion\" data-key=\"${key}\">Remove</span>\n </ui-list-item>`\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"UrlInput.js","sourceRoot":"","sources":["../../../../src/elements/http/UrlInput.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, TemplateResult } from 'lit'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { StyleInfo, styleMap } from 'lit/directives/style-map.js'\nimport { eventOptions, property, query, state } from 'lit/decorators.js'\nimport type { IUrl } from '@api-client/core/models/Url.js'\nimport { sortUrls } from '../../lib/http/Url.js'\nimport { Events } from '../../events/Events.js'\nimport { EventTypes } from '../../events/EventTypes.js'\nimport ApiElement from '../ApiElement.js'\nimport { positionOverlay } from '../../lib/ElementPositioning.js'\nimport type UiList from '../../md/list/internals/List.js'\nimport type UiListItem from '../../md/list/internals/ListItem.js'\n\nimport '../../md/listbox/ui-listbox.js'\nimport '../../md/list/ui-list-item.js'\nimport '../../md/divider/ui-divider.js'\n\nconst NAVIGATION_KEYS = {\n ArrowDown: 'ArrowDown',\n ArrowUp: 'ArrowUp',\n Home: 'Home',\n End: 'End',\n Escape: 'Escape',\n Enter: 'Enter',\n Space: ' ',\n}\n\n/**\n * The request URL editor\n *\n * The element renders an editor for a HTTP request editor.\n *\n * @fires change - When the value change through user interaction. This event does not bubble.\n * @fires requeststateurlchange - When the value change through user interaction. This even bubbles and is cancelable.\n * @fires requestsend - A bubbling event when the user pressed Enter to send the request.\n */\nexport default class UrlInput extends ApiElement {\n /**\n * The current URL value.\n * @attribute\n */\n @property({ type: String }) accessor value = 'http://'\n\n /**\n * When set the editor is in read only mode.\n * @attribute\n */\n @property({ type: Boolean, reflect: true }) accessor readOnly = false\n\n /**\n * Whether the URL suggestions are rendered.\n */\n @state() protected accessor suggestionsOpened = false\n\n @state() protected accessor suggestions: IUrl[] | undefined\n\n @state() protected accessor renderedSuggestions: IUrl[] | undefined\n\n protected previousValue?: string\n\n protected isFocused = false\n\n @query('.main-input')\n protected accessor input!: HTMLInputElement\n\n @query('.suggestions')\n protected accessor suggestionsContainer!: HTMLDivElement\n\n @query('ui-listbox.url-autocomplete')\n protected accessor suggestionsList!: UiList\n\n /**\n * Computed positioning styles for the suggestion box.\n */\n protected suggestionStyles?: StyleInfo\n\n constructor() {\n super()\n this.handleUrlChange = this.handleUrlChange.bind(this)\n this.handleHistoryDeleted = this.handleHistoryDeleted.bind(this)\n this.handleHistoryClear = this.handleHistoryClear.bind(this)\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n const { eventsTarget } = this\n eventsTarget.addEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.addEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n const { eventsTarget } = this\n eventsTarget.removeEventListener(EventTypes.Http.Request.State.urlChange, this.handleUrlChange)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.delete, this.handleHistoryDeleted)\n eventsTarget.removeEventListener(EventTypes.HttpClient.Model.UrlHistory.State.clear, this.handleHistoryClear)\n }\n\n /**\n * A handler that is called on input\n */\n override notifyChange(): void {\n Events.Http.Request.State.urlChange(this.value, this)\n super.notifyChange()\n }\n\n /**\n * A handler for the `url-value-changed` event.\n * If this element is not the source of the event then it will update the `value` property.\n * It's to be used besides the Polymer's data binding system.\n */\n protected handleUrlChange(e: Event): void {\n if (e.composedPath()[0] === this || this.readOnly) {\n return\n }\n const { value } = (e as CustomEvent).detail\n if (value !== this.value) {\n this.value = value\n super.notifyChange()\n }\n }\n\n /**\n * Queries the data model for history data and sets the suggestions\n * @param q User query from the input field\n */\n protected async readAutocomplete(q: string): Promise<void> {\n try {\n const value = await Events.HttpClient.Model.UrlHistory.query(q, this)\n this.suggestions = value && value.items.filter((i) => !!i).map((i) => i.doc)\n } catch {\n this.suggestions = undefined\n }\n }\n\n /**\n * Validates the element.\n */\n checkValidity(): boolean {\n const element = this.input\n if (!element) {\n return true\n }\n return element.validity.valid\n }\n\n /**\n * @param e A handler for either main input or the details editor value change\n */\n protected handleInput(e: Event): void {\n if (this.readOnly) {\n return\n }\n const node = e.target as HTMLInputElement\n this.previousValue = this.value\n this.value = node.value\n this.renderSuggestions()\n }\n\n protected handleInputChange(): void {\n if (this.readOnly) {\n return\n }\n this.notifyChange()\n }\n\n protected handlerFocusBlur(e: Event): void {\n this.isFocused = e.type === 'focus'\n // this.requestUpdate();\n if (this.isFocused && !this.suggestionsOpened) {\n this.renderSuggestions()\n } else if (!this.isFocused && this.suggestionsOpened) {\n // requestAnimationFrame(() => {\n // this.suggestionsOpened = false;\n // });\n }\n }\n\n /**\n * Triggers URL suggestions rendering.\n * If there are suggestions to render this will enable the dropdown.\n */\n async renderSuggestions(): Promise<void> {\n const { value = '' } = this\n if (this.previousValue && value.startsWith(this.previousValue || '')) {\n this.filterSuggestions()\n return\n }\n await this.readAutocomplete(value)\n this.filterSuggestions()\n }\n\n /**\n * Performs the query on the current suggestions and, if any, renders them.\n */\n protected async filterSuggestions(): Promise<void> {\n const items = this.suggestions\n if (!Array.isArray(items) || !items.length) {\n this.toggleSuggestions(false)\n return\n }\n const { value = '' } = this\n const q = String(value).toLowerCase()\n const rendered = items.filter((i) => i.key.toLowerCase().includes(q))\n if (!rendered.length) {\n this.toggleSuggestions(false)\n return\n }\n if (rendered.length === 1 && rendered[0].key.toLowerCase() === q) {\n this.toggleSuggestions(false)\n return\n }\n sortUrls(rendered, q)\n this.renderedSuggestions = rendered\n this.toggleSuggestions(true)\n this.requestUpdate()\n }\n\n protected toggleSuggestions(opened: boolean): void {\n if (!opened) {\n this.suggestionsOpened = false\n this.input.focus()\n } else {\n this.suggestionStyles = positionOverlay(this.suggestionsContainer, this.input, {\n vertical: 'top',\n noOverlap: true,\n constrain: true,\n matchAnchorWidth: true,\n })\n this.suggestionsOpened = true\n }\n }\n\n @eventOptions({ capture: true })\n protected handleSuggestionClick(e: Event): void {\n const path = e.composedPath() as HTMLElement[]\n const target = path.find((i) => !!i.classList && i.classList.contains('remove-suggestion'))\n if (!target) {\n return\n }\n e.preventDefault()\n e.stopPropagation()\n e.stopImmediatePropagation()\n const { key } = target.dataset\n if (!key) {\n return\n }\n\n Events.HttpClient.Model.UrlHistory.delete(key, this)\n }\n\n protected handleSuggestionSelect(e: CustomEvent): void {\n const item = e.detail.item as UiListItem\n const { key } = item.dataset\n if (!key) {\n return\n }\n this.selectSuggestion(key)\n }\n\n protected selectSuggestion(key: string): void {\n this.value = key\n this.toggleSuggestions(false)\n this.notifyChange()\n }\n\n /**\n * Removes all stored history URLs.\n */\n protected clearSuggestionsHandler(e: Event): void {\n e.preventDefault()\n e.stopPropagation()\n Events.HttpClient.Model.UrlHistory.clear(this)\n }\n\n protected handleHistoryDeleted(e: Event): void {\n const items = this.suggestions\n if (!Array.isArray(items)) {\n return\n }\n const url = (e as CustomEvent).detail\n const index = items.findIndex((i) => i.key === url)\n if (index >= 0) {\n items.splice(index, 1)\n }\n if (this.suggestionsOpened && this.renderedSuggestions) {\n const renderedIndex = this.renderedSuggestions.findIndex((i) => i.key === url)\n if (renderedIndex >= 0) {\n this.renderedSuggestions.splice(renderedIndex, 1)\n this.requestUpdate()\n }\n }\n }\n\n protected handleHistoryClear(): void {\n this.suggestions = undefined\n this.renderedSuggestions = undefined\n this.toggleSuggestions(false)\n }\n\n /**\n * We handle key events here as we never focus on the list.\n */\n protected handleKeydown(event: KeyboardEvent): void {\n if (Object.values(NAVIGATION_KEYS).indexOf(event.key) === -1) return\n\n if (event.key === NAVIGATION_KEYS.Escape) {\n this.toggleSuggestions(false)\n } else if (event.key === NAVIGATION_KEYS.ArrowDown) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightNext()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.ArrowUp) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n this.suggestionsList.highlightPrevious()\n } else {\n this.filterSuggestions()\n }\n } else if (event.key === NAVIGATION_KEYS.Home) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightFirst()\n }\n } else if (event.key === NAVIGATION_KEYS.End) {\n if (this.suggestionsOpened) {\n event.preventDefault()\n this.suggestionsList.highlightLast()\n }\n } else if (event.key === NAVIGATION_KEYS.Enter) {\n event.preventDefault()\n if (this.suggestionsOpened) {\n const list = this.suggestionsList\n const item = list.highlightListItem\n if (item) {\n list.notifySelect(item)\n }\n } else {\n Events.Http.Request.send(this)\n }\n }\n }\n\n override render(): TemplateResult {\n const classes = {\n container: true,\n autocomplete: this.suggestionsOpened,\n }\n return html` <div class=\"${classMap(classes)}\">${this.renderInput()} ${this.renderAutocomplete()}</div>`\n }\n\n /**\n * @returns A template for the main input element\n */\n protected renderInput(): TemplateResult {\n const { value } = this\n return html`\n <div class=\"input-wrapper\">\n <input\n .value=\"${value}\"\n class=\"main-input\"\n required\n placeholder=\"Request URL\"\n id=\"mainInput\"\n autocomplete=\"off\"\n spellcheck=\"false\"\n @focus=\"${this.handlerFocusBlur}\"\n @blur=\"${this.handlerFocusBlur}\"\n @input=\"${this.handleInput}\"\n @change=\"${this.handleInputChange}\"\n @keydown=\"${this.handleKeydown}\"\n aria-label=\"The URL value\"\n ?readonly=\"${this.readOnly}\"\n />\n </div>\n `\n }\n\n /**\n * @returns A template for the autocomplete element\n */\n protected renderAutocomplete(): TemplateResult {\n let opened = this.suggestionsOpened\n const items = this.renderedSuggestions\n if (opened && (!items || !items.length)) {\n opened = false\n }\n const classes = {\n suggestions: true,\n opened,\n }\n return html`\n <div class=\"${classMap(classes)}\" style=\"${styleMap(this.suggestionStyles || {})}\">\n <ui-listbox\n class=\"url-autocomplete\"\n role=\"listbox\"\n aria-label=\"Suggested URLs from your history.\"\n tabindex=\"-1\"\n @select=\"${this.handleSuggestionSelect}\"\n @click=\"${this.handleSuggestionClick}\"\n >\n ${this.renderSuggestionList()}\n </ui-listbox>\n <ui-divider></ui-divider>\n <p class=\"clear-all-history\">\n <span class=\"clear-all-history-label\" @click=\"${this.clearSuggestionsHandler}\">Clear all history</span>\n </p>\n </div>\n `\n }\n\n /**\n * @returns The template for the suggestions list.\n */\n protected renderSuggestionList(): TemplateResult[] | string {\n const items = this.renderedSuggestions\n if (!Array.isArray(items) || !items.length) {\n return ''\n }\n return items.map((i) => this.renderSuggestionItem(i))\n }\n\n /**\n * @returns The template for an URL suggestion item.\n */\n protected renderSuggestionItem(item: IUrl): TemplateResult {\n const { key } = item\n return html` <ui-list-item class=\"suggestion-item\" data-key=\"${item.key}\" role=\"option\" aria-selected=\"false\">\n <div>${key}</div>\n <span slot=\"end-text\" class=\"remove-suggestion\" data-key=\"${key}\">Remove</span>\n </ui-list-item>`\n }\n}\n"]}
|
package/build/src/index.d.ts
CHANGED
|
@@ -4,6 +4,8 @@ export { default as HarViewerElement } from './elements/har/HarViewer.js';
|
|
|
4
4
|
export { default as Menu } from './md/menu/internal/Menu.js';
|
|
5
5
|
export { default as MenuItem } from './md/menu/internal/MenuItem.js';
|
|
6
6
|
export { default as SubMenu } from './md/menu/internal/SubMenu.js';
|
|
7
|
+
export { UiDatePickerCalendar, UiDatePickerInput, UiDatePickerModal, UiDatePickerModalInput, } from './md/date-picker/index.js';
|
|
8
|
+
export type { DateRange, CalendarDay, CalendarMonth, DateSelectEvent, DateRangeSelectEvent, ModalDatePickerChangeEvent, ModalInputDatePickerChangeEvent, } from './md/date-picker/index.js';
|
|
7
9
|
export { DemoPage } from './demo/DemoPage.js';
|
|
8
10
|
export * from './bindings/base/ConfigurationBindings.js';
|
|
9
11
|
export * from './bindings/base/IoThread.js';
|
package/build/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAGzE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAGlE,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAI7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AAInD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,YAAY,EACV,UAAU,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,GACb,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAGjE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAIxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AAGpD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGhD,cAAc,wBAAwB,CAAA;AAGtC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAGzE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAGlE,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,2BAA2B,CAAA;AAClC,YAAY,EACV,SAAS,EACT,WAAW,EACX,aAAa,EACb,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,+BAA+B,GAChC,MAAM,2BAA2B,CAAA;AAGlC,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAI7C,cAAc,0CAA0C,CAAA;AACxD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AAInD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,YAAY,EACV,UAAU,EACV,wBAAwB,EACxB,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,GACb,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAGjE,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAIxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AAGpD,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAGhD,cAAc,wBAAwB,CAAA;AAGtC,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA"}
|
package/build/src/index.js
CHANGED
|
@@ -6,6 +6,8 @@ export { default as HarViewerElement } from './elements/har/HarViewer.js';
|
|
|
6
6
|
export { default as Menu } from './md/menu/internal/Menu.js';
|
|
7
7
|
export { default as MenuItem } from './md/menu/internal/MenuItem.js';
|
|
8
8
|
export { default as SubMenu } from './md/menu/internal/SubMenu.js';
|
|
9
|
+
// Date Picker Components
|
|
10
|
+
export { UiDatePickerCalendar, UiDatePickerInput, UiDatePickerModal, UiDatePickerModalInput, } from './md/date-picker/index.js';
|
|
9
11
|
// Demo
|
|
10
12
|
export { DemoPage } from './demo/DemoPage.js';
|
|
11
13
|
// Bindings
|
package/build/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AAEX,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEzE,kBAAkB;AAClB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAElE,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,WAAW;AAEX,cAAc,0CAA0C,CAAA;AACxD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AAEnD,SAAS;AAET,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAQnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,SAAS;AACT,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO;AAEP,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AAEpD,SAAS;AACT,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAEhD,SAAS;AACT,cAAc,wBAAwB,CAAA;AAEtC,QAAQ;AACR,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA","sourcesContent":["// Elements\n\nexport { default as MarkedHighlightElement } from './elements/highlight/MarkedHighlight.js'\nexport { default as PrismHighlightElement } from './elements/highlight/PrismHighlight.js'\nexport { default as HarViewerElement } from './elements/har/HarViewer.js'\n\n// Menu Components\nexport { default as Menu } from './md/menu/internal/Menu.js'\nexport { default as MenuItem } from './md/menu/internal/MenuItem.js'\nexport { default as SubMenu } from './md/menu/internal/SubMenu.js'\n\n// Demo\nexport { DemoPage } from './demo/DemoPage.js'\n\n// Bindings\n\nexport * from './bindings/base/ConfigurationBindings.js'\nexport * from './bindings/base/IoThread.js'\nexport * from './bindings/base/PlatformBindings.js'\n\n// Events\n\nexport { Events } from './events/Events.js'\nexport { EventTypes } from './events/EventTypes.js'\nexport type {\n INavDetail,\n INavRunHttpProjectDetail,\n INavRunSchemaDesignerDetail,\n INavRunHttpClient,\n NavRunDetail,\n} from './events/NavigationEvents.js'\nexport { AppNavigationEvent } from './events/NavigationEvents.js'\n\n// Router\nexport * as Router from './lib/route.js'\n\n// libs\n\nexport { PrismHighlighter } from './elements/highlight/PrismHighlighter.js'\nexport { default as PrismStyles } from './elements/highlight/Prism.styles.js'\nexport { default as MarkdownStyles } from './elements/highlight/MarkdownStyles.js'\nexport * as PrismAutoDetect from './elements/highlight/PrismAutoDetect.js'\nexport * as RouteMixin from './mixins/RouteMixin.js'\n\n// Monaco\nexport * as MonacoLoader from './monaco/loader.js'\nexport * as MonacoTheme from './monaco/theme.js'\n\n// Config\nexport * from './lib/config/Config.js'\n\n// Other\nexport * as Decorators from './decorators/index.js'\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,WAAW;AAEX,OAAO,EAAE,OAAO,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAA;AAC3F,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAA;AACzF,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAEzE,kBAAkB;AAClB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAC5D,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,gCAAgC,CAAA;AACpE,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAElE,yBAAyB;AACzB,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,iBAAiB,EACjB,sBAAsB,GACvB,MAAM,2BAA2B,CAAA;AAWlC,OAAO;AACP,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAE7C,WAAW;AAEX,cAAc,0CAA0C,CAAA;AACxD,cAAc,6BAA6B,CAAA;AAC3C,cAAc,qCAAqC,CAAA;AAEnD,SAAS;AAET,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAQnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AAEjE,SAAS;AACT,OAAO,KAAK,MAAM,MAAM,gBAAgB,CAAA;AAExC,OAAO;AAEP,OAAO,EAAE,gBAAgB,EAAE,MAAM,0CAA0C,CAAA;AAC3E,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,sCAAsC,CAAA;AAC7E,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAA;AAClF,OAAO,KAAK,eAAe,MAAM,yCAAyC,CAAA;AAC1E,OAAO,KAAK,UAAU,MAAM,wBAAwB,CAAA;AAEpD,SAAS;AACT,OAAO,KAAK,YAAY,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,WAAW,MAAM,mBAAmB,CAAA;AAEhD,SAAS;AACT,cAAc,wBAAwB,CAAA;AAEtC,QAAQ;AACR,OAAO,KAAK,UAAU,MAAM,uBAAuB,CAAA","sourcesContent":["// Elements\n\nexport { default as MarkedHighlightElement } from './elements/highlight/MarkedHighlight.js'\nexport { default as PrismHighlightElement } from './elements/highlight/PrismHighlight.js'\nexport { default as HarViewerElement } from './elements/har/HarViewer.js'\n\n// Menu Components\nexport { default as Menu } from './md/menu/internal/Menu.js'\nexport { default as MenuItem } from './md/menu/internal/MenuItem.js'\nexport { default as SubMenu } from './md/menu/internal/SubMenu.js'\n\n// Date Picker Components\nexport {\n UiDatePickerCalendar,\n UiDatePickerInput,\n UiDatePickerModal,\n UiDatePickerModalInput,\n} from './md/date-picker/index.js'\nexport type {\n DateRange,\n CalendarDay,\n CalendarMonth,\n DateSelectEvent,\n DateRangeSelectEvent,\n ModalDatePickerChangeEvent,\n ModalInputDatePickerChangeEvent,\n} from './md/date-picker/index.js'\n\n// Demo\nexport { DemoPage } from './demo/DemoPage.js'\n\n// Bindings\n\nexport * from './bindings/base/ConfigurationBindings.js'\nexport * from './bindings/base/IoThread.js'\nexport * from './bindings/base/PlatformBindings.js'\n\n// Events\n\nexport { Events } from './events/Events.js'\nexport { EventTypes } from './events/EventTypes.js'\nexport type {\n INavDetail,\n INavRunHttpProjectDetail,\n INavRunSchemaDesignerDetail,\n INavRunHttpClient,\n NavRunDetail,\n} from './events/NavigationEvents.js'\nexport { AppNavigationEvent } from './events/NavigationEvents.js'\n\n// Router\nexport * as Router from './lib/route.js'\n\n// libs\n\nexport { PrismHighlighter } from './elements/highlight/PrismHighlighter.js'\nexport { default as PrismStyles } from './elements/highlight/Prism.styles.js'\nexport { default as MarkdownStyles } from './elements/highlight/MarkdownStyles.js'\nexport * as PrismAutoDetect from './elements/highlight/PrismAutoDetect.js'\nexport * as RouteMixin from './mixins/RouteMixin.js'\n\n// Monaco\nexport * as MonacoLoader from './monaco/loader.js'\nexport * as MonacoTheme from './monaco/theme.js'\n\n// Config\nexport * from './lib/config/Config.js'\n\n// Other\nexport * as Decorators from './decorators/index.js'\n"]}
|
|
@@ -268,7 +268,7 @@ export default css `
|
|
|
268
268
|
|
|
269
269
|
/* Outlined Button */
|
|
270
270
|
:host([color='outlined']) {
|
|
271
|
-
border: 1px var(--md-sys-color-outline-variant) solid;
|
|
271
|
+
border: 1px var(--md-button-outline-color, var(--md-sys-color-outline-variant)) solid;
|
|
272
272
|
--_color: var(--md-sys-color-on-surface-variant);
|
|
273
273
|
}
|
|
274
274
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../../../../src/md/button/internals/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,qEAAqE;AACrE,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2TjB,CAAA","sourcesContent":["import { css } from 'lit'\n\n/* Material Design 3 Expressive Button - CSS-Native Implementation */\nexport default css`\n :host {\n all: unset;\n\n /* Layout and positioning */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n white-space: nowrap;\n\n /* Default sizing */\n min-height: 40px;\n min-width: 64px;\n padding-inline: 16px;\n gap: 8px;\n\n /* Typography from Material 3 tokens */\n font-family: var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, system-ui));\n font-size: var(--md-sys-typescale-label-large-size, 0.875rem);\n font-weight: var(--md-sys-typescale-label-large-weight, 500);\n line-height: var(--md-sys-typescale-label-large-height, 1.25);\n letter-spacing: var(--md-sys-typescale-label-large-tracking, 0.01em);\n\n --md-ripple-hover-state-layer-color: currentColor;\n --md-ripple-focus-state-layer-color: currentColor;\n --md-ripple-pressed-state-layer-color: currentColor;\n\n /* CSS custom property for pill radius - half of the button height */\n --_pill-radius: 20px;\n /* Default icon size */\n --_icon-size: var(--md-button-icon-size, 20px);\n --_background-color: transparent;\n --_color: inherit;\n --_shadow: var(--md-sys-elevation-0);\n\n border-end-end-radius: var(--ui-button-shape-end-end, var(--_pill-radius));\n border-end-start-radius: var(--ui-button-shape-end-start, var(--_pill-radius));\n border-start-end-radius: var(--ui-button-shape-start-end, var(--_pill-radius));\n border-start-start-radius: var(--ui-button-shape-start-start, var(--_pill-radius));\n background-color: var(--_background-color);\n color: var(--_color);\n box-shadow: var(--_shadow);\n\n /* Interaction styles */\n cursor: pointer;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n outline: none;\n\n transition:\n background-color var(--md-sys-motion-duration-short2, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n box-shadow var(--md-sys-motion-duration-short2, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n border-color var(--md-sys-motion-duration-short2, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);\n }\n\n /* Icon styling */\n ::slotted([slot='icon']) {\n flex-shrink: 0;\n width: var(--_icon-size);\n height: var(--_icon-size);\n font-size: var(--_icon-size);\n }\n\n /* Modern CSS: Container queries for responsive sizing */\n @container (min-width: 320px) {\n :host {\n min-width: 80px;\n }\n }\n\n .ripple {\n border-radius: inherit;\n transition: border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);\n }\n\n .ripple.activated {\n z-index: 1;\n }\n\n .focus-ring {\n --md-focus-ring-shape-end-end: var(--ui-button-shape-end-end, var(--_pill-radius));\n --md-focus-ring-shape-end-start: var(--ui-button-shape-end-start, var(--_pill-radius));\n --md-focus-ring-shape-start-end: var(--ui-button-shape-start-end, var(--_pill-radius));\n --md-focus-ring-shape-start-start: var(--ui-button-shape-start-start, var(--_pill-radius));\n transition: border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);\n }\n\n /* Disabled state */\n :host([disabled]) {\n background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent);\n color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n box-shadow: none;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* Size Variations */\n :host([size='xs']) {\n min-height: 32px;\n padding-inline: 12px;\n font-size: var(--md-sys-typescale-label-medium-size, 0.75rem);\n gap: 6px;\n --_icon-size: 20px;\n }\n\n :host([size='s']) {\n min-height: 40px;\n padding-inline: 16px;\n --_icon-size: 20px;\n }\n\n :host([size='m']) {\n min-height: 56px;\n padding-inline: 24px;\n font-size: var(--md-sys-typescale-label-large-size, 1rem);\n gap: 10px;\n --_icon-size: 24px;\n }\n\n :host([size='l']) {\n min-height: 96px;\n padding-inline: 48px;\n font-size: var(--md-sys-typescale-title-medium-size, 1.125rem);\n gap: 12px;\n --_icon-size: 32px;\n }\n\n :host([size='xl']) {\n min-height: 136px;\n padding-inline: 64px;\n font-size: var(--md-sys-typescale-title-large-size, 1.375rem);\n gap: 16px;\n --_icon-size: 40px;\n }\n\n /* Pressed state is the same to all combinations of shape and size */\n :host([size='xs'].pressed),\n :host([size='s'].pressed) {\n --_pill-radius: 8px !important;\n }\n :host([size='m'].pressed) {\n --_pill-radius: 12px !important;\n }\n :host([size='xl'].pressed),\n :host([size='l'].pressed) {\n --_pill-radius: 16px !important;\n }\n\n /* Shape setup */\n /* For the round shape, we can't use the \"--md-sys-shape-corner-full\" value as it has a value of 999px and it would make animations impossible so see. */\n :host([toggle][selected][shape='square'][size='xs']),\n :host([shape='round'][size='xs']) {\n --_pill-radius: 16px; /* Half of 32px height */\n }\n :host([toggle][selected][shape='square'][size='s']),\n :host([shape='round'][size='s']) {\n --_pill-radius: 20px; /* Half of 40px height */\n }\n :host([toggle][selected][shape='square'][size='m']),\n :host([shape='round'][size='m']) {\n --_pill-radius: 28px; /* Half of 56px height */\n }\n :host([toggle][selected][shape='square'][size='l']),\n :host([shape='round'][size='l']) {\n --_pill-radius: 48px; /* Half of 96px height */\n }\n :host([toggle][selected][shape='square'][size='xl']),\n :host([shape='round'][size='xl']) {\n --_pill-radius: 68px; /* Half of 136px height */\n }\n\n :host([shape='square'][size='xs']),\n :host([shape='square'][size='s']) {\n --_pill-radius: var(--md-sys-shape-corner-medium);\n }\n\n :host([shape='square'][size='m']) {\n --_pill-radius: var(--md-sys-shape-corner-large);\n }\n\n :host([shape='square'][size='l']),\n :host([shape='square'][size='xl']) {\n --_pill-radius: var(--md-sys-shape-corner-extra-large);\n }\n\n /* Button Color Variants - Material 3 Expressive */\n\n /* Elevated Button */\n :host([color='elevated']) {\n --_background-color: var(--md-sys-color-surface-container-low);\n --_color: var(--md-sys-color-primary);\n --_shadow: var(--md-sys-elevation-1);\n }\n\n :host([color='elevated'][toggle][selected]) {\n --_background-color: var(--md-sys-color-primary);\n --_color: var(--md-sys-color-on-primary);\n }\n\n :host([color='elevated']:hover:not([disabled])) {\n --_shadow: var(--md-sys-elevation-2);\n }\n\n :host([color='elevated'][disabled]) {\n --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n --_shadow: var(--md-sys-elevation-0);\n }\n\n /* Filled Button */\n :host([color='filled']) {\n --_background-color: var(--md-sys-color-primary);\n --_color: var(--md-sys-color-on-primary);\n }\n\n :host([color='filled'][toggle]) {\n --_background-color: var(--md-sys-color-surface-container);\n --_color: var(--md-sys-color-on-surface-variant);\n }\n\n :host([color='filled'][toggle][selected]) {\n --_background-color: var(--md-sys-color-primary);\n --_color: var(--md-sys-color-on-primary);\n }\n\n :host([color='filled']:hover:not([disabled])) {\n --_shadow: var(--md-sys-elevation-1);\n }\n\n :host([color='filled'][disabled]) {\n --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n /* Filled Tonal Button */\n :host([color='tonal']) {\n --_background-color: var(--md-sys-color-secondary-container);\n --_color: var(--md-sys-color-on-secondary-container);\n }\n\n :host([color='tonal'][toggle]) {\n --_background-color: var(--md-sys-color-secondary-container);\n --_color: var(--md-sys-color-on-secondary-container);\n }\n\n :host([color='tonal'][toggle][selected]) {\n --_background-color: var(--md-sys-color-secondary);\n --_color: var(--md-sys-color-on-secondary);\n }\n\n :host([color='tonal']:hover:not([disabled])) {\n --_shadow: var(--md-sys-elevation-1);\n }\n\n :host([color='tonal'][disabled]) {\n --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n /* Outlined Button */\n :host([color='outlined']) {\n border: 1px var(--md-sys-color-outline-variant) solid;\n --_color: var(--md-sys-color-on-surface-variant);\n }\n\n :host([color='outlined'][toggle][selected]) {\n --_background-color: var(--md-sys-color-inverse-surface);\n --_color: var(--md-sys-color-inverse-on-surface);\n }\n\n :host([color='outlined'][disabled]) {\n border-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n /* Text Button */\n :host([color='text']) {\n --_color: var(--md-sys-color-primary);\n }\n\n :host([color='text'][disabled]) {\n color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n :host([toggle][selected][shape='round']) {\n --_pill-radius: var(--md-sys-shape-corner-medium);\n }\n\n /* Preference-based animations */\n @media (prefers-reduced-motion: reduce) {\n :host {\n transition-duration: 0.01ms;\n animation-duration: 0.01ms;\n }\n }\n\n /* High contrast mode support */\n @media (prefers-contrast: high) {\n :host {\n border-width: 2px;\n }\n\n :host([color='text']),\n :host([color='outlined']) {\n border-width: 2px;\n border-style: solid;\n }\n }\n`\n"]}
|
|
1
|
+
{"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../../../../src/md/button/internals/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAEzB,qEAAqE;AACrE,eAAe,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2TjB,CAAA","sourcesContent":["import { css } from 'lit'\n\n/* Material Design 3 Expressive Button - CSS-Native Implementation */\nexport default css`\n :host {\n all: unset;\n\n /* Layout and positioning */\n display: inline-flex;\n align-items: center;\n justify-content: center;\n position: relative;\n box-sizing: border-box;\n white-space: nowrap;\n\n /* Default sizing */\n min-height: 40px;\n min-width: 64px;\n padding-inline: 16px;\n gap: 8px;\n\n /* Typography from Material 3 tokens */\n font-family: var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, system-ui));\n font-size: var(--md-sys-typescale-label-large-size, 0.875rem);\n font-weight: var(--md-sys-typescale-label-large-weight, 500);\n line-height: var(--md-sys-typescale-label-large-height, 1.25);\n letter-spacing: var(--md-sys-typescale-label-large-tracking, 0.01em);\n\n --md-ripple-hover-state-layer-color: currentColor;\n --md-ripple-focus-state-layer-color: currentColor;\n --md-ripple-pressed-state-layer-color: currentColor;\n\n /* CSS custom property for pill radius - half of the button height */\n --_pill-radius: 20px;\n /* Default icon size */\n --_icon-size: var(--md-button-icon-size, 20px);\n --_background-color: transparent;\n --_color: inherit;\n --_shadow: var(--md-sys-elevation-0);\n\n border-end-end-radius: var(--ui-button-shape-end-end, var(--_pill-radius));\n border-end-start-radius: var(--ui-button-shape-end-start, var(--_pill-radius));\n border-start-end-radius: var(--ui-button-shape-start-end, var(--_pill-radius));\n border-start-start-radius: var(--ui-button-shape-start-start, var(--_pill-radius));\n background-color: var(--_background-color);\n color: var(--_color);\n box-shadow: var(--_shadow);\n\n /* Interaction styles */\n cursor: pointer;\n user-select: none;\n -webkit-tap-highlight-color: transparent;\n outline: none;\n\n transition:\n background-color var(--md-sys-motion-duration-short2, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n color var(--md-sys-motion-duration-short2, 200ms) var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n box-shadow var(--md-sys-motion-duration-short2, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n border-color var(--md-sys-motion-duration-short2, 200ms)\n var(--md-sys-motion-easing-standard, cubic-bezier(0.2, 0, 0, 1)),\n border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);\n }\n\n /* Icon styling */\n ::slotted([slot='icon']) {\n flex-shrink: 0;\n width: var(--_icon-size);\n height: var(--_icon-size);\n font-size: var(--_icon-size);\n }\n\n /* Modern CSS: Container queries for responsive sizing */\n @container (min-width: 320px) {\n :host {\n min-width: 80px;\n }\n }\n\n .ripple {\n border-radius: inherit;\n transition: border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);\n }\n\n .ripple.activated {\n z-index: 1;\n }\n\n .focus-ring {\n --md-focus-ring-shape-end-end: var(--ui-button-shape-end-end, var(--_pill-radius));\n --md-focus-ring-shape-end-start: var(--ui-button-shape-end-start, var(--_pill-radius));\n --md-focus-ring-shape-start-end: var(--ui-button-shape-start-end, var(--_pill-radius));\n --md-focus-ring-shape-start-start: var(--ui-button-shape-start-start, var(--_pill-radius));\n transition: border-radius var(--md-sys-motion-duration-medium1) var(--md-sys-motion-easing-standard);\n }\n\n /* Disabled state */\n :host([disabled]) {\n background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 12%, transparent);\n color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n box-shadow: none;\n cursor: not-allowed;\n pointer-events: none;\n }\n\n /* Size Variations */\n :host([size='xs']) {\n min-height: 32px;\n padding-inline: 12px;\n font-size: var(--md-sys-typescale-label-medium-size, 0.75rem);\n gap: 6px;\n --_icon-size: 20px;\n }\n\n :host([size='s']) {\n min-height: 40px;\n padding-inline: 16px;\n --_icon-size: 20px;\n }\n\n :host([size='m']) {\n min-height: 56px;\n padding-inline: 24px;\n font-size: var(--md-sys-typescale-label-large-size, 1rem);\n gap: 10px;\n --_icon-size: 24px;\n }\n\n :host([size='l']) {\n min-height: 96px;\n padding-inline: 48px;\n font-size: var(--md-sys-typescale-title-medium-size, 1.125rem);\n gap: 12px;\n --_icon-size: 32px;\n }\n\n :host([size='xl']) {\n min-height: 136px;\n padding-inline: 64px;\n font-size: var(--md-sys-typescale-title-large-size, 1.375rem);\n gap: 16px;\n --_icon-size: 40px;\n }\n\n /* Pressed state is the same to all combinations of shape and size */\n :host([size='xs'].pressed),\n :host([size='s'].pressed) {\n --_pill-radius: 8px !important;\n }\n :host([size='m'].pressed) {\n --_pill-radius: 12px !important;\n }\n :host([size='xl'].pressed),\n :host([size='l'].pressed) {\n --_pill-radius: 16px !important;\n }\n\n /* Shape setup */\n /* For the round shape, we can't use the \"--md-sys-shape-corner-full\" value as it has a value of 999px and it would make animations impossible so see. */\n :host([toggle][selected][shape='square'][size='xs']),\n :host([shape='round'][size='xs']) {\n --_pill-radius: 16px; /* Half of 32px height */\n }\n :host([toggle][selected][shape='square'][size='s']),\n :host([shape='round'][size='s']) {\n --_pill-radius: 20px; /* Half of 40px height */\n }\n :host([toggle][selected][shape='square'][size='m']),\n :host([shape='round'][size='m']) {\n --_pill-radius: 28px; /* Half of 56px height */\n }\n :host([toggle][selected][shape='square'][size='l']),\n :host([shape='round'][size='l']) {\n --_pill-radius: 48px; /* Half of 96px height */\n }\n :host([toggle][selected][shape='square'][size='xl']),\n :host([shape='round'][size='xl']) {\n --_pill-radius: 68px; /* Half of 136px height */\n }\n\n :host([shape='square'][size='xs']),\n :host([shape='square'][size='s']) {\n --_pill-radius: var(--md-sys-shape-corner-medium);\n }\n\n :host([shape='square'][size='m']) {\n --_pill-radius: var(--md-sys-shape-corner-large);\n }\n\n :host([shape='square'][size='l']),\n :host([shape='square'][size='xl']) {\n --_pill-radius: var(--md-sys-shape-corner-extra-large);\n }\n\n /* Button Color Variants - Material 3 Expressive */\n\n /* Elevated Button */\n :host([color='elevated']) {\n --_background-color: var(--md-sys-color-surface-container-low);\n --_color: var(--md-sys-color-primary);\n --_shadow: var(--md-sys-elevation-1);\n }\n\n :host([color='elevated'][toggle][selected]) {\n --_background-color: var(--md-sys-color-primary);\n --_color: var(--md-sys-color-on-primary);\n }\n\n :host([color='elevated']:hover:not([disabled])) {\n --_shadow: var(--md-sys-elevation-2);\n }\n\n :host([color='elevated'][disabled]) {\n --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n --_shadow: var(--md-sys-elevation-0);\n }\n\n /* Filled Button */\n :host([color='filled']) {\n --_background-color: var(--md-sys-color-primary);\n --_color: var(--md-sys-color-on-primary);\n }\n\n :host([color='filled'][toggle]) {\n --_background-color: var(--md-sys-color-surface-container);\n --_color: var(--md-sys-color-on-surface-variant);\n }\n\n :host([color='filled'][toggle][selected]) {\n --_background-color: var(--md-sys-color-primary);\n --_color: var(--md-sys-color-on-primary);\n }\n\n :host([color='filled']:hover:not([disabled])) {\n --_shadow: var(--md-sys-elevation-1);\n }\n\n :host([color='filled'][disabled]) {\n --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n /* Filled Tonal Button */\n :host([color='tonal']) {\n --_background-color: var(--md-sys-color-secondary-container);\n --_color: var(--md-sys-color-on-secondary-container);\n }\n\n :host([color='tonal'][toggle]) {\n --_background-color: var(--md-sys-color-secondary-container);\n --_color: var(--md-sys-color-on-secondary-container);\n }\n\n :host([color='tonal'][toggle][selected]) {\n --_background-color: var(--md-sys-color-secondary);\n --_color: var(--md-sys-color-on-secondary);\n }\n\n :host([color='tonal']:hover:not([disabled])) {\n --_shadow: var(--md-sys-elevation-1);\n }\n\n :host([color='tonal'][disabled]) {\n --_background-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n /* Outlined Button */\n :host([color='outlined']) {\n border: 1px var(--md-button-outline-color, var(--md-sys-color-outline-variant)) solid;\n --_color: var(--md-sys-color-on-surface-variant);\n }\n\n :host([color='outlined'][toggle][selected]) {\n --_background-color: var(--md-sys-color-inverse-surface);\n --_color: var(--md-sys-color-inverse-on-surface);\n }\n\n :host([color='outlined'][disabled]) {\n border-color: color-mix(in srgb, var(--md-sys-color-on-surface) 10%, transparent);\n --_color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n /* Text Button */\n :host([color='text']) {\n --_color: var(--md-sys-color-primary);\n }\n\n :host([color='text'][disabled]) {\n color: color-mix(in srgb, var(--md-sys-color-on-surface) 38%, transparent);\n }\n\n :host([toggle][selected][shape='round']) {\n --_pill-radius: var(--md-sys-shape-corner-medium);\n }\n\n /* Preference-based animations */\n @media (prefers-reduced-motion: reduce) {\n :host {\n transition-duration: 0.01ms;\n animation-duration: 0.01ms;\n }\n }\n\n /* High contrast mode support */\n @media (prefers-contrast: high) {\n :host {\n border-width: 2px;\n }\n\n :host([color='text']),\n :host([color='outlined']) {\n border-width: 2px;\n border-style: solid;\n }\n }\n`\n"]}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2016 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
1
|
export type DateTimeTextOptions = 'long' | 'short' | 'narrow';
|
|
15
2
|
export type DateTimeNumberOptions = 'numeric' | '2-digit';
|
|
16
3
|
export type DateTimeTimezoneOptions = 'long' | 'short';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTime.d.ts","sourceRoot":"","sources":["../../../../../src/md/date/internals/DateTime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"DateTime.d.ts","sourceRoot":"","sources":["../../../../../src/md/date/internals/DateTime.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
@license
|
|
3
|
-
Copyright 2016 The Advanced REST client authors <arc@mulesoft.com>
|
|
4
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not
|
|
5
|
-
use this file except in compliance with the License. You may obtain a copy of
|
|
6
|
-
the License at
|
|
7
|
-
http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
Unless required by applicable law or agreed to in writing, software
|
|
9
|
-
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
10
|
-
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
|
|
11
|
-
License for the specific language governing permissions and limitations under
|
|
12
|
-
the License.
|
|
13
|
-
*/
|
|
14
1
|
/**
|
|
15
2
|
* An element to display formatted date and time.
|
|
16
3
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../../../src/md/date/internals/DateTime.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n@license\nCopyright 2016 The Advanced REST client authors <arc@mulesoft.com>\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not\nuse this file except in compliance with the License. You may obtain a copy of\nthe License at\nhttp://www.apache.org/licenses/LICENSE-2.0\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\nWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the\nLicense for the specific language governing permissions and limitations under\nthe License.\n*/\n\nexport type DateTimeTextOptions = 'long' | 'short' | 'narrow'\nexport type DateTimeNumberOptions = 'numeric' | '2-digit'\nexport type DateTimeTimezoneOptions = 'long' | 'short'\nexport type DateTimeTextNumberOptions = DateTimeTextOptions | DateTimeNumberOptions\n\n/**\n * An element to display formatted date and time.\n *\n * The `date` property accepts Date object, Number as a timestamp or string\n * that will be parsed to the Date object.\n *\n * This element uses the `Intl` interface which is available in IE 11+ browsers.\n *\n * To format the date use [Intl.DateTimeFormat]\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat)\n * interface options.\n *\n * The default value for each date-time component property is undefined,\n * but if all component properties are undefined, then year, month, and day\n * are assumed to be \"numeric\" (per spec).\n *\n * ### Example\n *\n * ```html\n * <date-time date=\"2010-12-10T11:50:45Z\" year=\"numeric\" month=\"narrow\" day=\"numeric\"></date-time>\n * ```\n *\n * The element provides accessibility by using the `time` element and setting\n * the `datetime` attribute on it.\n */\nexport default class DateTime extends HTMLElement {\n static get observedAttributes(): string[] {\n return [\n 'locales',\n 'date',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'weekday',\n 'time-zone-name',\n 'era',\n 'time-zone',\n 'hour12',\n 'itemprop',\n ]\n }\n\n protected _observer = new MutationObserver(() => this._mutationHandler())\n\n constructor() {\n super()\n this.attachShadow({ mode: 'open' })\n }\n\n connectedCallback(): void {\n this._observer.observe(this.shadowRoot as ShadowRoot, {\n childList: true,\n characterData: true,\n subtree: true,\n })\n this._updateLabel()\n }\n\n disconnectedCallback(): void {\n this._observer.disconnect()\n }\n\n _mutationHandler(): void {\n this.setAttribute('aria-label', (this.shadowRoot as ShadowRoot).textContent || '')\n }\n\n /**\n * A string with a BCP 47 language tag, or an array of such strings.\n * For the general form and interpretation of the locales argument,\n * see the Intl page.\n * The following Unicode extension keys are allowed:\n * - nu - Numbering system. Possible values include: \"arab\", \"arabext\",\n * \"bali\", \"beng\", \"deva\", \"fullwide\", \"gujr\", \"guru\", \"hanidec\", \"khmr\",\n * \"knda\", \"laoo\", \"latn\", \"limb\", \"mlym\", \"mong\", \"mymr\", \"orya\",\n * \"tamldec\", \"telu\", \"thai\", \"tibt\".\n * - ca - Calendar. Possible values include: \"buddhist\", \"chinese\",\n * \"coptic\", \"ethioaa\", \"ethiopic\", \"gregory\", \"hebrew\", \"indian\",\n * \"islamic\", \"islamicc\", \"iso8601\", \"japanese\", \"persian\", \"roc\".\n * @attribute\n */\n get locales(): string | null {\n return this.getAttribute('locales')\n }\n\n /**\n * A string with a BCP 47 language tag, or an array of such strings.\n * For the general form and interpretation of the locales argument,\n * see the Intl page.\n * The following Unicode extension keys are allowed:\n * - nu - Numbering system. Possible values include: \"arab\", \"arabext\",\n * \"bali\", \"beng\", \"deva\", \"fullwide\", \"gujr\", \"guru\", \"hanidec\", \"khmr\",\n * \"knda\", \"laoo\", \"latn\", \"limb\", \"mlym\", \"mong\", \"mymr\", \"orya\",\n * \"tamldec\", \"telu\", \"thai\", \"tibt\".\n * - ca - Calendar. Possible values include: \"buddhist\", \"chinese\",\n * \"coptic\", \"ethioaa\", \"ethiopic\", \"gregory\", \"hebrew\", \"indian\",\n * \"islamic\", \"islamicc\", \"iso8601\", \"japanese\", \"persian\", \"roc\".\n */\n set locales(v: string | null) {\n if (v) {\n this.setAttribute('locales', v)\n } else {\n this.removeAttribute('locales')\n }\n }\n\n /**\n * The representation of the year.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get year(): DateTimeNumberOptions | null {\n return this.getAttribute('year') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the year.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set year(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('year', v)\n } else {\n this.removeAttribute('year')\n }\n }\n\n /**\n * The representation of the month.\n * Possible values are \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\".\n * @attribute\n */\n get month(): DateTimeTextNumberOptions | null {\n return this.getAttribute('month') as DateTimeTextNumberOptions\n }\n\n /**\n * The representation of the month.\n * @param v Possible values are \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\".\n */\n set month(v: DateTimeTextNumberOptions | null) {\n if (v) {\n this.setAttribute('month', v)\n } else {\n this.removeAttribute('month')\n }\n }\n\n /**\n * The representation of the day.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get day(): DateTimeNumberOptions | null {\n return this.getAttribute('day') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the day.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set day(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('day', v)\n } else {\n this.removeAttribute('day')\n }\n }\n\n /**\n * The representation of the hour.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get hour(): DateTimeNumberOptions | null {\n return this.getAttribute('hour') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the hour.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set hour(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('hour', v)\n } else {\n this.removeAttribute('hour')\n }\n }\n\n /**\n * The representation of the minute.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get minute(): DateTimeNumberOptions | null {\n return this.getAttribute('minute') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the minute.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set minute(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('minute', v)\n } else {\n this.removeAttribute('minute')\n }\n }\n\n /**\n * The representation of the second.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get second(): DateTimeNumberOptions | null {\n return this.getAttribute('second') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the second.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set second(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('second', v)\n } else {\n this.removeAttribute('second')\n }\n }\n\n /**\n * The representation of the weekday.\n * Possible values are \"narrow\", \"short\", \"long\".\n * @attribute\n */\n get weekday(): DateTimeTextOptions | null {\n return this.getAttribute('weekday') as DateTimeTextOptions\n }\n\n /**\n * The representation of the weekday.\n * @param v Possible values are \"narrow\", \"short\", \"long\".\n */\n set weekday(v: DateTimeTextOptions | null) {\n if (v) {\n this.setAttribute('weekday', v)\n } else {\n this.removeAttribute('weekday')\n }\n }\n\n /**\n * The representation of the time zone name.\n *\n * Possible values are \"short\", \"long\".\n * @attribute\n */\n get timeZoneName(): DateTimeTimezoneOptions | null {\n return this.getAttribute('time-zone-name') as DateTimeTimezoneOptions\n }\n\n /**\n * The representation of the time zone name.\n *\n * @param v Possible values are \"short\", \"long\".\n */\n set timeZoneName(v: DateTimeTimezoneOptions | null) {\n if (v) {\n this.setAttribute('time-zone-name', v)\n } else {\n this.removeAttribute('time-zone-name')\n }\n }\n\n /**\n * The time zone to use. The only value implementations must recognize\n * is \"UTC\"; the default is the runtime's default time zone.\n * Implementations may also recognize the time zone names of the IANA\n * time zone database, such as \"Asia/Shanghai\", \"Asia/Kolkata\",\n * \"America/New_York\".\n * @attribute\n */\n get timeZone(): string | null {\n return this.getAttribute('time-zone')\n }\n\n /**\n * The time zone to use. The only value implementations must recognize\n * is \"UTC\"; the default is the runtime's default time zone.\n * Implementations may also recognize the time zone names of the IANA\n * time zone database, such as \"Asia/Shanghai\", \"Asia/Kolkata\",\n * \"America/New_York\".\n */\n set timeZone(v: string | null) {\n if (v) {\n this.setAttribute('time-zone', v)\n } else {\n this.removeAttribute('time-zone')\n }\n }\n\n /**\n * The representation of the era.\n *\n * Possible values are \"narrow\", \"short\", \"long\".\n * @attribute\n */\n get era(): DateTimeTextOptions | null {\n return this.getAttribute('era') as DateTimeTextOptions\n }\n\n /**\n * The representation of the era.\n *\n * @param v Possible values are \"narrow\", \"short\", \"long\".\n */\n set era(v: DateTimeTextOptions | null) {\n if (v) {\n this.setAttribute('era', v)\n } else {\n this.removeAttribute('era')\n }\n }\n\n private __hour12set: boolean | null = null\n\n /**\n * Whether to use 12-hour time (as opposed to 24-hour time).\n * Possible values are `true` and `false`; the default is locale\n * dependent.\n */\n get hour12(): boolean | null {\n if (!this.hasAttribute('hour12') && !this.__hour12set) {\n return null\n }\n return this.hasAttribute('hour12')\n }\n\n /**\n * Whether to use 12-hour time (as opposed to 24-hour time).\n * Possible values are `true` and `false`; the default is locale\n * dependent.\n */\n set hour12(v: boolean | null) {\n this.__hour12set = true\n if (v) {\n this.setAttribute('hour12', '')\n } else {\n this.removeAttribute('hour12')\n }\n }\n\n private __date: Date | string | number | null = null\n\n /**\n * A date object to render.\n * It can be a `Date` object, number representing a timestamp\n * or valid date string. The argument is parsed by `Date` constructor\n * to produce the value.\n * @attribute\n */\n get date(): Date | string | number | null {\n if (this.__date) {\n return this.__date\n }\n return this.getAttribute('date')\n }\n\n /**\n * A date object to render.\n * It can be a `Date` object, number representing a timestamp\n * or valid date string. The argument is parsed by `Date` constructor\n * to produce the value.\n *\n * @param {Date|string|number} v The date to render\n */\n set date(v: Date | string | number | null) {\n this.__date = v\n if (typeof v === 'string') {\n this.setAttribute('date', v)\n } else {\n this._updateLabel()\n }\n }\n\n get itemprop(): string | null {\n return this._getTimeNode().getAttribute('itemprop')\n }\n\n set itemprop(value: string | null) {\n const old = this.itemprop\n if (old === value) {\n return\n }\n if (old && value === null) {\n // This setter moves attribute from this element to \"<time>\" element.\n // When the attribute is removed from this then it becomes null.\n return\n }\n const node = this._getTimeNode()\n if (value) {\n node.setAttribute('itemprop', value)\n this.removeAttribute('itemprop')\n } else {\n node.removeAttribute('itemprop')\n }\n }\n\n attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n if (name === 'itemprop') {\n this[name] = newValue\n return\n }\n this._updateLabel()\n }\n\n /**\n * Parses input `date` to a Date object.\n * @param date A date to parse\n */\n protected _getParsableDate(date: string | number | Date | null): Date {\n if (!date) {\n date = new Date()\n } else if (typeof date === 'string') {\n try {\n date = new Date(date)\n if (Number.isNaN(date.getDate())) {\n date = new Date()\n }\n } catch {\n date = new Date()\n }\n } else if (!Number.isNaN(date)) {\n date = new Date(date)\n } else if (!(date instanceof Date)) {\n date = new Date()\n }\n return date\n }\n\n _getIntlOptions(): Intl.DateTimeFormatOptions {\n const options: Intl.DateTimeFormatOptions = {}\n if (this.year) {\n options.year = this.year\n }\n if (this.month) {\n options.month = this.month\n }\n if (this.day) {\n options.day = this.day\n }\n if (this.hour) {\n options.hour = this.hour\n }\n if (this.minute) {\n options.minute = this.minute\n }\n if (this.second) {\n options.second = this.second\n }\n if (this.weekday) {\n options.weekday = this.weekday\n }\n if (this.era) {\n options.era = this.era\n }\n if (this.timeZoneName) {\n options.timeZoneName = this.timeZoneName\n }\n if (this.timeZone) {\n options.timeZone = this.timeZone\n }\n if (this.hour12 !== undefined && this.hour12 !== null) {\n options.hour12 = this.hour12\n }\n return options\n }\n\n /**\n * @returns A reference to a `<time>` element that is in the shadow DOM of this element.\n */\n _getTimeNode(): HTMLTimeElement {\n const root = this.shadowRoot as ShadowRoot\n let node = root.querySelector('time')\n if (!node) {\n node = document.createElement('time')\n root.appendChild(node)\n }\n return node\n }\n\n _updateLabel(): void {\n if (!this.parentElement) {\n return\n }\n const date = this._getParsableDate(this.date)\n const node = this._getTimeNode()\n node.setAttribute('datetime', date.toISOString())\n /* istanbul ignore if */\n if (typeof Intl === 'undefined') {\n node.innerText = date.toString()\n return\n }\n let locales\n if (this.locales) {\n locales = this.locales\n }\n const options = this._getIntlOptions()\n const value = new Intl.DateTimeFormat(locales, options).format(date)\n node.innerText = value\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"DateTime.js","sourceRoot":"","sources":["../../../../../src/md/date/internals/DateTime.ts"],"names":[],"mappings":"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","sourcesContent":["export type DateTimeTextOptions = 'long' | 'short' | 'narrow'\nexport type DateTimeNumberOptions = 'numeric' | '2-digit'\nexport type DateTimeTimezoneOptions = 'long' | 'short'\nexport type DateTimeTextNumberOptions = DateTimeTextOptions | DateTimeNumberOptions\n\n/**\n * An element to display formatted date and time.\n *\n * The `date` property accepts Date object, Number as a timestamp or string\n * that will be parsed to the Date object.\n *\n * This element uses the `Intl` interface which is available in IE 11+ browsers.\n *\n * To format the date use [Intl.DateTimeFormat]\n * (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/DateTimeFormat)\n * interface options.\n *\n * The default value for each date-time component property is undefined,\n * but if all component properties are undefined, then year, month, and day\n * are assumed to be \"numeric\" (per spec).\n *\n * ### Example\n *\n * ```html\n * <date-time date=\"2010-12-10T11:50:45Z\" year=\"numeric\" month=\"narrow\" day=\"numeric\"></date-time>\n * ```\n *\n * The element provides accessibility by using the `time` element and setting\n * the `datetime` attribute on it.\n */\nexport default class DateTime extends HTMLElement {\n static get observedAttributes(): string[] {\n return [\n 'locales',\n 'date',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'weekday',\n 'time-zone-name',\n 'era',\n 'time-zone',\n 'hour12',\n 'itemprop',\n ]\n }\n\n protected _observer = new MutationObserver(() => this._mutationHandler())\n\n constructor() {\n super()\n this.attachShadow({ mode: 'open' })\n }\n\n connectedCallback(): void {\n this._observer.observe(this.shadowRoot as ShadowRoot, {\n childList: true,\n characterData: true,\n subtree: true,\n })\n this._updateLabel()\n }\n\n disconnectedCallback(): void {\n this._observer.disconnect()\n }\n\n _mutationHandler(): void {\n this.setAttribute('aria-label', (this.shadowRoot as ShadowRoot).textContent || '')\n }\n\n /**\n * A string with a BCP 47 language tag, or an array of such strings.\n * For the general form and interpretation of the locales argument,\n * see the Intl page.\n * The following Unicode extension keys are allowed:\n * - nu - Numbering system. Possible values include: \"arab\", \"arabext\",\n * \"bali\", \"beng\", \"deva\", \"fullwide\", \"gujr\", \"guru\", \"hanidec\", \"khmr\",\n * \"knda\", \"laoo\", \"latn\", \"limb\", \"mlym\", \"mong\", \"mymr\", \"orya\",\n * \"tamldec\", \"telu\", \"thai\", \"tibt\".\n * - ca - Calendar. Possible values include: \"buddhist\", \"chinese\",\n * \"coptic\", \"ethioaa\", \"ethiopic\", \"gregory\", \"hebrew\", \"indian\",\n * \"islamic\", \"islamicc\", \"iso8601\", \"japanese\", \"persian\", \"roc\".\n * @attribute\n */\n get locales(): string | null {\n return this.getAttribute('locales')\n }\n\n /**\n * A string with a BCP 47 language tag, or an array of such strings.\n * For the general form and interpretation of the locales argument,\n * see the Intl page.\n * The following Unicode extension keys are allowed:\n * - nu - Numbering system. Possible values include: \"arab\", \"arabext\",\n * \"bali\", \"beng\", \"deva\", \"fullwide\", \"gujr\", \"guru\", \"hanidec\", \"khmr\",\n * \"knda\", \"laoo\", \"latn\", \"limb\", \"mlym\", \"mong\", \"mymr\", \"orya\",\n * \"tamldec\", \"telu\", \"thai\", \"tibt\".\n * - ca - Calendar. Possible values include: \"buddhist\", \"chinese\",\n * \"coptic\", \"ethioaa\", \"ethiopic\", \"gregory\", \"hebrew\", \"indian\",\n * \"islamic\", \"islamicc\", \"iso8601\", \"japanese\", \"persian\", \"roc\".\n */\n set locales(v: string | null) {\n if (v) {\n this.setAttribute('locales', v)\n } else {\n this.removeAttribute('locales')\n }\n }\n\n /**\n * The representation of the year.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get year(): DateTimeNumberOptions | null {\n return this.getAttribute('year') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the year.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set year(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('year', v)\n } else {\n this.removeAttribute('year')\n }\n }\n\n /**\n * The representation of the month.\n * Possible values are \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\".\n * @attribute\n */\n get month(): DateTimeTextNumberOptions | null {\n return this.getAttribute('month') as DateTimeTextNumberOptions\n }\n\n /**\n * The representation of the month.\n * @param v Possible values are \"numeric\", \"2-digit\", \"narrow\", \"short\", \"long\".\n */\n set month(v: DateTimeTextNumberOptions | null) {\n if (v) {\n this.setAttribute('month', v)\n } else {\n this.removeAttribute('month')\n }\n }\n\n /**\n * The representation of the day.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get day(): DateTimeNumberOptions | null {\n return this.getAttribute('day') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the day.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set day(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('day', v)\n } else {\n this.removeAttribute('day')\n }\n }\n\n /**\n * The representation of the hour.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get hour(): DateTimeNumberOptions | null {\n return this.getAttribute('hour') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the hour.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set hour(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('hour', v)\n } else {\n this.removeAttribute('hour')\n }\n }\n\n /**\n * The representation of the minute.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get minute(): DateTimeNumberOptions | null {\n return this.getAttribute('minute') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the minute.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set minute(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('minute', v)\n } else {\n this.removeAttribute('minute')\n }\n }\n\n /**\n * The representation of the second.\n * Possible values are \"numeric\", \"2-digit\".\n * @attribute\n */\n get second(): DateTimeNumberOptions | null {\n return this.getAttribute('second') as DateTimeNumberOptions\n }\n\n /**\n * The representation of the second.\n * @param v Possible values are \"numeric\", \"2-digit\".\n */\n set second(v: DateTimeNumberOptions | null) {\n if (v) {\n this.setAttribute('second', v)\n } else {\n this.removeAttribute('second')\n }\n }\n\n /**\n * The representation of the weekday.\n * Possible values are \"narrow\", \"short\", \"long\".\n * @attribute\n */\n get weekday(): DateTimeTextOptions | null {\n return this.getAttribute('weekday') as DateTimeTextOptions\n }\n\n /**\n * The representation of the weekday.\n * @param v Possible values are \"narrow\", \"short\", \"long\".\n */\n set weekday(v: DateTimeTextOptions | null) {\n if (v) {\n this.setAttribute('weekday', v)\n } else {\n this.removeAttribute('weekday')\n }\n }\n\n /**\n * The representation of the time zone name.\n *\n * Possible values are \"short\", \"long\".\n * @attribute\n */\n get timeZoneName(): DateTimeTimezoneOptions | null {\n return this.getAttribute('time-zone-name') as DateTimeTimezoneOptions\n }\n\n /**\n * The representation of the time zone name.\n *\n * @param v Possible values are \"short\", \"long\".\n */\n set timeZoneName(v: DateTimeTimezoneOptions | null) {\n if (v) {\n this.setAttribute('time-zone-name', v)\n } else {\n this.removeAttribute('time-zone-name')\n }\n }\n\n /**\n * The time zone to use. The only value implementations must recognize\n * is \"UTC\"; the default is the runtime's default time zone.\n * Implementations may also recognize the time zone names of the IANA\n * time zone database, such as \"Asia/Shanghai\", \"Asia/Kolkata\",\n * \"America/New_York\".\n * @attribute\n */\n get timeZone(): string | null {\n return this.getAttribute('time-zone')\n }\n\n /**\n * The time zone to use. The only value implementations must recognize\n * is \"UTC\"; the default is the runtime's default time zone.\n * Implementations may also recognize the time zone names of the IANA\n * time zone database, such as \"Asia/Shanghai\", \"Asia/Kolkata\",\n * \"America/New_York\".\n */\n set timeZone(v: string | null) {\n if (v) {\n this.setAttribute('time-zone', v)\n } else {\n this.removeAttribute('time-zone')\n }\n }\n\n /**\n * The representation of the era.\n *\n * Possible values are \"narrow\", \"short\", \"long\".\n * @attribute\n */\n get era(): DateTimeTextOptions | null {\n return this.getAttribute('era') as DateTimeTextOptions\n }\n\n /**\n * The representation of the era.\n *\n * @param v Possible values are \"narrow\", \"short\", \"long\".\n */\n set era(v: DateTimeTextOptions | null) {\n if (v) {\n this.setAttribute('era', v)\n } else {\n this.removeAttribute('era')\n }\n }\n\n private __hour12set: boolean | null = null\n\n /**\n * Whether to use 12-hour time (as opposed to 24-hour time).\n * Possible values are `true` and `false`; the default is locale\n * dependent.\n */\n get hour12(): boolean | null {\n if (!this.hasAttribute('hour12') && !this.__hour12set) {\n return null\n }\n return this.hasAttribute('hour12')\n }\n\n /**\n * Whether to use 12-hour time (as opposed to 24-hour time).\n * Possible values are `true` and `false`; the default is locale\n * dependent.\n */\n set hour12(v: boolean | null) {\n this.__hour12set = true\n if (v) {\n this.setAttribute('hour12', '')\n } else {\n this.removeAttribute('hour12')\n }\n }\n\n private __date: Date | string | number | null = null\n\n /**\n * A date object to render.\n * It can be a `Date` object, number representing a timestamp\n * or valid date string. The argument is parsed by `Date` constructor\n * to produce the value.\n * @attribute\n */\n get date(): Date | string | number | null {\n if (this.__date) {\n return this.__date\n }\n return this.getAttribute('date')\n }\n\n /**\n * A date object to render.\n * It can be a `Date` object, number representing a timestamp\n * or valid date string. The argument is parsed by `Date` constructor\n * to produce the value.\n *\n * @param {Date|string|number} v The date to render\n */\n set date(v: Date | string | number | null) {\n this.__date = v\n if (typeof v === 'string') {\n this.setAttribute('date', v)\n } else {\n this._updateLabel()\n }\n }\n\n get itemprop(): string | null {\n return this._getTimeNode().getAttribute('itemprop')\n }\n\n set itemprop(value: string | null) {\n const old = this.itemprop\n if (old === value) {\n return\n }\n if (old && value === null) {\n // This setter moves attribute from this element to \"<time>\" element.\n // When the attribute is removed from this then it becomes null.\n return\n }\n const node = this._getTimeNode()\n if (value) {\n node.setAttribute('itemprop', value)\n this.removeAttribute('itemprop')\n } else {\n node.removeAttribute('itemprop')\n }\n }\n\n attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\n if (name === 'itemprop') {\n this[name] = newValue\n return\n }\n this._updateLabel()\n }\n\n /**\n * Parses input `date` to a Date object.\n * @param date A date to parse\n */\n protected _getParsableDate(date: string | number | Date | null): Date {\n if (!date) {\n date = new Date()\n } else if (typeof date === 'string') {\n try {\n date = new Date(date)\n if (Number.isNaN(date.getDate())) {\n date = new Date()\n }\n } catch {\n date = new Date()\n }\n } else if (!Number.isNaN(date)) {\n date = new Date(date)\n } else if (!(date instanceof Date)) {\n date = new Date()\n }\n return date\n }\n\n _getIntlOptions(): Intl.DateTimeFormatOptions {\n const options: Intl.DateTimeFormatOptions = {}\n if (this.year) {\n options.year = this.year\n }\n if (this.month) {\n options.month = this.month\n }\n if (this.day) {\n options.day = this.day\n }\n if (this.hour) {\n options.hour = this.hour\n }\n if (this.minute) {\n options.minute = this.minute\n }\n if (this.second) {\n options.second = this.second\n }\n if (this.weekday) {\n options.weekday = this.weekday\n }\n if (this.era) {\n options.era = this.era\n }\n if (this.timeZoneName) {\n options.timeZoneName = this.timeZoneName\n }\n if (this.timeZone) {\n options.timeZone = this.timeZone\n }\n if (this.hour12 !== undefined && this.hour12 !== null) {\n options.hour12 = this.hour12\n }\n return options\n }\n\n /**\n * @returns A reference to a `<time>` element that is in the shadow DOM of this element.\n */\n _getTimeNode(): HTMLTimeElement {\n const root = this.shadowRoot as ShadowRoot\n let node = root.querySelector('time')\n if (!node) {\n node = document.createElement('time')\n root.appendChild(node)\n }\n return node\n }\n\n _updateLabel(): void {\n if (!this.parentElement) {\n return\n }\n const date = this._getParsableDate(this.date)\n const node = this._getTimeNode()\n node.setAttribute('datetime', date.toISOString())\n /* istanbul ignore if */\n if (typeof Intl === 'undefined') {\n node.innerText = date.toString()\n return\n }\n let locales\n if (this.locales) {\n locales = this.locales\n }\n const options = this._getIntlOptions()\n const value = new Intl.DateTimeFormat(locales, options).format(date)\n node.innerText = value\n }\n}\n"]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export { UiDatePickerCalendar } from './internals/DatePickerCalendar.js';
|
|
2
|
+
export { UiDatePickerInput } from './ui-date-picker-input.js';
|
|
3
|
+
export { UiDatePickerModal } from './ui-date-picker-modal.js';
|
|
4
|
+
export { UiDatePickerModalInput } from './ui-date-picker-modal-input.js';
|
|
5
|
+
export * from './internals/DatePickerUtils.js';
|
|
6
|
+
export type { DateSelectEvent, DateRangeSelectEvent } from './internals/DatePickerCalendar.js';
|
|
7
|
+
export type { ModalDatePickerChangeEvent } from './ui-date-picker-modal.js';
|
|
8
|
+
export type { ModalInputDatePickerChangeEvent } from './ui-date-picker-modal-input.js';
|
|
9
|
+
import './ui-date-picker-input.js';
|
|
10
|
+
import './ui-date-picker-modal.js';
|
|
11
|
+
import './ui-date-picker-modal-input.js';
|
|
12
|
+
import './internals/DatePickerCalendar.js';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/md/date-picker/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,iCAAiC,CAAA;AAGxE,cAAc,gCAAgC,CAAA;AAC9C,YAAY,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,mCAAmC,CAAA;AAC9F,YAAY,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAA;AAC3E,YAAY,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAA;AAGtF,OAAO,2BAA2B,CAAA;AAClC,OAAO,2BAA2B,CAAA;AAClC,OAAO,iCAAiC,CAAA;AACxC,OAAO,mCAAmC,CAAA"}
|