legalesign-document-viewer 1.0.2 → 1.0.3
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/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/ls-add-new-button_20.cjs.entry.js +1 -7
- package/dist/cjs/ls-assignee-select_21.cjs.entry.js +17 -13
- package/dist/cjs/ls-compose-loader_7.cjs.entry.js +1 -1
- package/dist/cjs/ls-document-viewer.cjs.entry.js +6 -2
- package/dist/cjs/ls-document-viewer.cjs.js +1 -1
- package/dist/collection/components/ls-document-options/ls-document-options.js +1 -10
- package/dist/collection/components/ls-document-options/ls-document-options.js.map +1 -1
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js +6 -2
- package/dist/collection/components/ls-document-viewer/ls-document-viewer.js.map +1 -1
- package/dist/collection/components/ls-editor-field/ls-editor-field.js +9 -10
- package/dist/collection/components/ls-editor-field/ls-editor-field.js.map +1 -1
- package/dist/collection/components/ls-field-content/ls-field-content.js +8 -3
- package/dist/collection/components/ls-field-content/ls-field-content.js.map +1 -1
- package/dist/components/ls-document-options.js +1 -1
- package/dist/components/ls-document-viewer.js +22 -18
- package/dist/components/ls-document-viewer.js.map +1 -1
- package/dist/components/ls-editor-field.js +1 -1
- package/dist/components/ls-field-content.js +1 -1
- package/dist/components/ls-field-distribute.js +1 -1
- package/dist/components/ls-field-properties-checkbox.js +1 -1
- package/dist/components/ls-field-properties-date.js +1 -1
- package/dist/components/ls-field-properties-dropdown.js +2 -2
- package/dist/components/ls-field-properties-email.js +1 -1
- package/dist/components/ls-field-properties-file.js +1 -1
- package/dist/components/ls-field-properties-general.js +1 -1
- package/dist/components/ls-field-properties-multiple.js +1 -1
- package/dist/components/ls-field-properties-number.js +1 -1
- package/dist/components/ls-field-properties-signature.js +1 -1
- package/dist/components/ls-field-properties-text.js +1 -1
- package/dist/components/ls-field-properties.js +1 -1
- package/dist/components/ls-left-bar.js +1 -1
- package/dist/components/ls-statusbar.js +1 -1
- package/dist/components/{p-BJ7fvXXf.js → p-BCwakozA.js} +3 -3
- package/dist/components/{p-BJ7fvXXf.js.map → p-BCwakozA.js.map} +1 -1
- package/dist/components/{p-1ayYzye1.js → p-BN_BZ9eU.js} +4 -4
- package/dist/components/{p-1ayYzye1.js.map → p-BN_BZ9eU.js.map} +1 -1
- package/dist/components/{p-fd9JyL4S.js → p-BvZKfSxt.js} +4 -4
- package/dist/components/{p-fd9JyL4S.js.map → p-BvZKfSxt.js.map} +1 -1
- package/dist/components/{p-Dy-dPxzq.js → p-BzEVOvpL.js} +4 -4
- package/dist/components/{p-Dy-dPxzq.js.map → p-BzEVOvpL.js.map} +1 -1
- package/dist/components/{p-CxWGojFs.js → p-CLklwQ7z.js} +3 -11
- package/dist/components/p-CLklwQ7z.js.map +1 -0
- package/dist/components/{p-CvMzUIlC.js → p-CU_v-klT.js} +11 -12
- package/dist/components/{p-CvMzUIlC.js.map → p-CU_v-klT.js.map} +1 -1
- package/dist/components/{p-CbORhuHl.js → p-Ce1yNs3F.js} +14 -14
- package/dist/components/{p-CbORhuHl.js.map → p-Ce1yNs3F.js.map} +1 -1
- package/dist/components/{p-BEhTmCBW.js → p-Cue0UgwB.js} +4 -4
- package/dist/components/{p-BEhTmCBW.js.map → p-Cue0UgwB.js.map} +1 -1
- package/dist/components/{p-C3xBvNXU.js → p-Cwf28UAj.js} +16 -16
- package/dist/components/{p-C3xBvNXU.js.map → p-Cwf28UAj.js.map} +1 -1
- package/dist/components/{p-CmsA9-sZ.js → p-D7o_Ls97.js} +4 -4
- package/dist/components/{p-CmsA9-sZ.js.map → p-D7o_Ls97.js.map} +1 -1
- package/dist/components/{p-D1yC5psL.js → p-DP3FTRHD.js} +4 -4
- package/dist/components/{p-D1yC5psL.js.map → p-DP3FTRHD.js.map} +1 -1
- package/dist/components/{p-CeO915wm.js → p-DVfpfKI7.js} +4 -4
- package/dist/components/{p-CeO915wm.js.map → p-DVfpfKI7.js.map} +1 -1
- package/dist/components/{p-DNx0Ngpa.js → p-VFHHgnl2.js} +11 -6
- package/dist/components/p-VFHHgnl2.js.map +1 -0
- package/dist/components/{p-8hWonZD4.js → p-dLpaJicA.js} +4 -4
- package/dist/components/{p-8hWonZD4.js.map → p-dLpaJicA.js.map} +1 -1
- package/dist/components/{p-BbLFuN1Q.js → p-thlkOeP_.js} +3 -3
- package/dist/components/{p-BbLFuN1Q.js.map → p-thlkOeP_.js.map} +1 -1
- package/dist/components/{p-CgqKV0xf.js → p-xSOFT8uc.js} +4 -4
- package/dist/components/{p-CgqKV0xf.js.map → p-xSOFT8uc.js.map} +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/ls-add-new-button_20.entry.js +1 -7
- package/dist/esm/ls-assignee-select_21.entry.js +17 -13
- package/dist/esm/ls-compose-loader_7.entry.js +1 -1
- package/dist/esm/ls-document-viewer.entry.js +6 -2
- package/dist/esm/ls-document-viewer.entry.js.map +1 -1
- package/dist/esm/ls-document-viewer.js +1 -1
- package/dist/ls-document-viewer/ls-document-viewer.esm.js +1 -1
- package/dist/ls-document-viewer/{p-762b88d0.entry.js → p-0340d8ac.entry.js} +2 -2
- package/dist/ls-document-viewer/{p-762b88d0.entry.js.map → p-0340d8ac.entry.js.map} +1 -1
- package/dist/ls-document-viewer/{p-a27532c9.entry.js → p-af95c17c.entry.js} +2 -2
- package/dist/ls-document-viewer/p-ba48b708.entry.js +2 -0
- package/dist/ls-document-viewer/p-ba48b708.entry.js.map +1 -0
- package/dist/ls-document-viewer/p-d5c42d5f.entry.js +2 -0
- package/dist/ls-document-viewer/p-d5c42d5f.entry.js.map +1 -0
- package/dist/types/components/ls-document-options/ls-document-options.d.ts +0 -1
- package/package.json +1 -1
- package/dist/components/p-CxWGojFs.js.map +0 -1
- package/dist/components/p-DNx0Ngpa.js.map +0 -1
- package/dist/ls-document-viewer/p-3918ae76.entry.js +0 -2
- package/dist/ls-document-viewer/p-3918ae76.entry.js.map +0 -1
- package/dist/ls-document-viewer/p-c56fd5ed.entry.js +0 -2
- package/dist/ls-document-viewer/p-c56fd5ed.entry.js.map +0 -1
- /package/dist/ls-document-viewer/{p-a27532c9.entry.js.map → p-af95c17c.entry.js.map} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as transformTag, p as proxyCustomElement, H, c as createEvent, h, a as Host } from './p-DIvmRYeB.js';
|
|
2
|
-
import { d as defineCustomElement$f, v as validateFieldValue, a as validationTypes, g as getInputType } from './p-
|
|
2
|
+
import { d as defineCustomElement$f, v as validateFieldValue, a as validationTypes, g as getInputType } from './p-CU_v-klT.js';
|
|
3
3
|
import { g as getDefaultValidationForType, a as getFieldPlaceholder, b as getFieldTitleSuggestion } from './p--oiqur2Y.js';
|
|
4
4
|
import { d as dvI18n } from './p-WVWIAGo_.js';
|
|
5
5
|
import { f as forceCloseDatePicker } from './index.js';
|
|
@@ -54,6 +54,11 @@ const LsFieldContent = /*@__PURE__*/ proxyCustomElement(class LsFieldContent ext
|
|
|
54
54
|
if (this.labeltimer) {
|
|
55
55
|
clearTimeout(this.labeltimer);
|
|
56
56
|
this.labeltimer = null;
|
|
57
|
+
// Component is already detached from DOM so events can't bubble.
|
|
58
|
+
// Dispatch on document and let ls-document-viewer pick it up.
|
|
59
|
+
document.dispatchEvent(new CustomEvent('ls-flush-mutate', {
|
|
60
|
+
detail: [{ action: 'update', data: this.dataItem }],
|
|
61
|
+
}));
|
|
57
62
|
}
|
|
58
63
|
}
|
|
59
64
|
mutate;
|
|
@@ -310,7 +315,7 @@ const LsFieldContent = /*@__PURE__*/ proxyCustomElement(class LsFieldContent ext
|
|
|
310
315
|
this.alterImmediate({ validation: newValidation, value: newValue });
|
|
311
316
|
}
|
|
312
317
|
render() {
|
|
313
|
-
return (h(Host, { key: '
|
|
318
|
+
return (h(Host, { key: '77d2477ad29db3342739508eb567e04ad9cd4555' }, this.roles?.length > 0 && (h("ls-props-section", { key: '7770a050e6c78b3643cd0b16d39affbf63272eaf', sectionTitle: dvI18n.t('fieldproperties.assignee'), sectionDescription: dvI18n.t('fieldproperties.assigneedescription') }, h("ls-assignee-select", { key: '3cf7d48eff5b48843d4c3182217c64b84119cb0c', signer: this.dataItem?.signer, roles: this.roles, disabled: this.readonly, disabledSenderReason: this.getSenderDisabledReason(), disabledApproverReason: this.isSignatureType() ? dvI18n.t('fieldproperties.signaturecannotapproversingle') : '', onAssigneeChange: ev => this.handleReassign(ev.detail) }))), h("ls-props-section", { key: '56952bf5cd2b6b4413078bc78b38d15e71eb8c5a', sectionTitle: dvI18n.t('fieldproperties.fieldtype'), sectionDescription: dvI18n.t('fieldproperties.fieldtypedescription') }, h("ls-field-type-select", { key: 'a239160aa3899cf8168011b562ecb6f49b2d1795', fieldType: this.dataItem?.formElementType, assignee: this.dataItem?.signer, roles: this.roles, roleTypes: [this.getRoleType()], disabled: this.readonly, filtertoolbox: this.filtertoolbox, onFieldTypeChange: ev => this.handleFieldTypeChange(ev.detail) })), this.dataItem?.formElementType !== 'signature' && (h("ls-props-section", { key: 'fbe001f3fccbefa4a7f9e1771e81f54eb1b59dd0', sectionTitle: dvI18n.t('fieldproperties.requiredfield'), row: true, sectionDescription: dvI18n.t('fieldproperties.requiredfielddescription') }, h("ls-toggle", { key: '4717bec4884d240cce83bcf4703590f536f8261f', id: "toggle-required", checked: !this.dataItem?.optional, onValueChange: ev => !this.readonly && this.alterImmediate({ optional: !ev.detail }) }))), h("ls-props-section", { key: '4f9cc491f46ca2aed2fc1db000dacaa80d16478a', sectionTitle: dvI18n.t('fieldproperties.fieldlabel'), sectionDescription: dvI18n.t('fieldproperties.fieldlabeldescription') }, h("ls-formfield", { key: '8d22325b9240c019744589e39bf77d5ec01d56df', as: "text", name: "field-label", value: this.dataItem?.label, placeholder: getFieldTitleSuggestion(this.dataItem?.formElementType), disabled: this.readonly, onTextChange: e => this.alter({ label: e.detail.value }) })), this.supportsValue() && (h("ls-props-section", { key: '8dc887afd9d6cfe1f04c4eb73efd23e7b5f6beb3', sectionTitle: dvI18n.t('fieldproperties.value'), sectionDescription: dvI18n.t('fieldproperties.valuedescription') }, this.isDateField() ? (h("div", { class: "ls-dv-date-input-wrapper" }, h("input", { class: "ls-dv-date-display", type: "text", value: this.dataItem?.value, placeholder: this.getDateFormat(), readOnly: true, onClick: () => {
|
|
314
319
|
if (this.readonly)
|
|
315
320
|
return;
|
|
316
321
|
const picker = this.component.shadowRoot.getElementById('ls-date-picker');
|
|
@@ -320,9 +325,9 @@ const LsFieldContent = /*@__PURE__*/ proxyCustomElement(class LsFieldContent ext
|
|
|
320
325
|
const input = e.target;
|
|
321
326
|
this.alter({ value: this.formatDateFromISO(input.value) });
|
|
322
327
|
forceCloseDatePicker(input);
|
|
323
|
-
}, disabled: this.readonly }))) : (h("ls-formfield", { as: "text", name: "field-value", value: this.dataItem?.value, placeholder: getFieldPlaceholder(this.dataItem?.formElementType), valid: !this.valueError, dirty: this.isDirty, errorText: this.valueError, disabled: this.readonly, onTextChange: e => this.handleValueChange(e.detail.value) })))), this.dataItem.validation === 20 && (h("ls-props-section", { key: '
|
|
328
|
+
}, disabled: this.readonly }))) : (h("ls-formfield", { as: "text", name: "field-value", value: this.dataItem?.value, placeholder: getFieldPlaceholder(this.dataItem?.formElementType), valid: !this.valueError, dirty: this.isDirty, errorText: this.valueError, disabled: this.readonly, onTextChange: e => this.handleValueChange(e.detail.value) })))), this.dataItem.validation === 20 && (h("ls-props-section", { key: 'a5a5e24cba2cba332e129f83eb6de145f6327471', sectionTitle: dvI18n.t('fieldproperties.options'), sectionDescription: dvI18n.t('fieldproperties.optionsdescription') }, h("textarea", { key: '800c102d060381f75cbe725864354d8e4a208b19', value: this.dataItem?.options, placeholder: "Option 1\nOption 2\nOption 3", onInput: e => this.alter({ options: e.target.value }), disabled: this.readonly }))), this.showValidationTypes && this.dataItem?.formElementType !== 'drawn field' && this.dataItem?.formElementType !== 'regular expression' && this.dataItem?.formElementType !== 'initials' && (h("ls-props-section", { key: '76cdf0e1f569f226237c0b47ebdc88217e59df49', sectionTitle: dvI18n.t('fieldproperties.contentformat'), sectionDescription: dvI18n.t('fieldproperties.contentformatdescription') }, h("ls-input-wrapper", { key: 'b13ebdaae79d2730548e6cb90a644c145d6c7774', select: true }, h("select", { key: '2ba6462fa988f7b64749dada680cfeae5e6953f9', onChange: ev => !this.readonly && this.handleFormatChange(parseInt(ev.target.value)) }, validationTypes
|
|
324
329
|
.filter(type => type.formType === this.dataItem?.formElementType)
|
|
325
|
-
.map(type => (h("option", { selected: this.dataItem?.validation === type.id, value: type.id }, type.description))))))), this.dataItem?.formElementType === 'checkbox' && this.getCheckboxStates().length === 2 && (h("ls-props-section", { key: '
|
|
330
|
+
.map(type => (h("option", { selected: this.dataItem?.validation === type.id, value: type.id }, type.description))))))), this.dataItem?.formElementType === 'checkbox' && this.getCheckboxStates().length === 2 && (h("ls-props-section", { key: '7f34362c07748a019185f1bc3e563157d1443fd8', sectionTitle: dvI18n.t('fieldproperties.displaystate'), sectionDescription: dvI18n.t('fieldproperties.displaystatedescription') }, h("div", { key: 'db6fe65a48ea67207c67f551cc2602eb378e6261', class: "ls-dv-checkbox-toggle" }, this.getCheckboxStates().map((state, idx) => (h("button", { key: idx, class: { 'ls-dv-checkbox-toggle-btn': true, 'ls-dv-active': idx === 0 ? this.dataItem?.value?.toString() !== 'true' : this.dataItem?.value?.toString() === 'true' }, onClick: () => !this.readonly && this.alterImmediate({ value: idx === 0 ? 'false' : 'true' }), disabled: this.readonly }, state)))))), h("slot", { key: 'bb7e9cbbf3ca90270bb4d2742c5c9de1f4a12a04' })));
|
|
326
331
|
}
|
|
327
332
|
static get watchers() { return {
|
|
328
333
|
"dataItem": ["watchDataItemHandler"]
|
|
@@ -440,6 +445,6 @@ function defineCustomElement() {
|
|
|
440
445
|
defineCustomElement();
|
|
441
446
|
|
|
442
447
|
export { LsFieldContent as L, defineCustomElement as d };
|
|
443
|
-
//# sourceMappingURL=p-
|
|
448
|
+
//# sourceMappingURL=p-VFHHgnl2.js.map
|
|
444
449
|
|
|
445
|
-
//# sourceMappingURL=p-
|
|
450
|
+
//# sourceMappingURL=p-VFHHgnl2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"p-VFHHgnl2.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-field-content/ls-field-content.scss?tag=ls-field-content&encapsulation=shadow","src/components/ls-field-content/ls-field-content.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n}\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.2rem;\n width: 100%;\n}\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\ninput,\nselect,\ntextarea {\n border: 1px solid $gray-40;\n box-shadow: 0 1px 0.125rem rgba(0, 0, 0, 0.05);\n padding: 0.5rem 0.75rem;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n border-radius: 0.625rem;\n color: $gray-100;\n font-weight: 400;\n}\n\ninput::placeholder,\nselect::placeholder,\ntextarea::placeholder {\n color: $gray-60;\n}\n\ninput:hover,\nselect:hover,\ntextarea:hover {\n border-color: $gray-50;\n background-color: $white;\n}\n\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-40;\n border-color: $primary-60;\n background-color: $white;\n}\n\ninput:active,\nselect:active,\ntextarea:active {\n border-color: $primary-50;\n}\n\ninput:disabled,\nselect:disabled,\ntextarea:disabled {\n cursor: not-allowed;\n background-color: $gray-10;\n}\n\ninput[type='checkbox'] {\n appearance: none;\n position: relative;\n height: 1rem;\n width: 1rem;\n padding: 0.25rem;\n border-radius: var(--radius-sm);\n border: 1px solid #d1d5db;\n background-color: #ffffff;\n cursor: pointer;\n}\n\ninput[type='checkbox']:checked,\ninput[type='checkbox'].ls-dv-indeterminate {\n background-color: $primary-60;\n border: none;\n}\n\ninput[type='checkbox']:checked::after {\n content: '';\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-45deg) scale(-1, 1);\n width: 0.5rem;\n height: 0.25rem;\n border-bottom: 0.125rem solid white;\n border-right: 0.125rem solid white;\n}\n\ninput[type='checkbox'].ls-dv-indeterminate::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 0.5rem;\n height: 0.125rem;\n background-color: white;\n}\n\ninput[type='checkbox']:checked:hover,\ninput[type='checkbox'].ls-dv-indeterminate:hover {\n background-color: $primary-70;\n border: none;\n}\n\ninput[type='checkbox']:hover {\n border: 1px solid #9ca3af;\n}\n\ninput[type='checkbox']:focus,\ninput[type='checkbox']:active {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-20;\n background-color: #f0f4f8;\n}\n\ninput[type='checkbox']:disabled {\n background-color: #f3f4f6;\n outline: none;\n cursor: not-allowed;\n}\n\ninput[type='checkbox']:disabled:checked {\n background-color: #e5e7eb;\n border: none;\n outline: none;\n cursor: not-allowed;\n}\n\n.ls-dv-checkbox-container {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.ls-dv-checkbox-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.ls-dv-form-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem;\n}\n\n.ls-dv-form-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n}\n\n.ls-dv-loading-box {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n color: $primary-60;\n}\n\nbutton {\n display: flex;\n gap: 0.5rem;\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: $primary-60;\n color: white;\n font-weight: 500;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.ls-dv-tertiary-grey {\n border: 1px solid $gray-40;\n background-color: white;\n color: $gray-80;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-secondary {\n border: 1px solid $gray-50;\n background: $white;\n color: $gray-90;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.1);\n}\n\nbutton.ls-dv-secondary:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-destructive {\n border: 1px solid $red-60;\n background-color: white;\n color: $red-60;\n}\n\nbutton.ls-dv-destructive:hover {\n border: 1px solid $red-70;\n background: $red-10;\n}\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n\n.ls-dv-date-input-wrapper {\n position: relative;\n width: 100%;\n}\n\n.ls-dv-date-display {\n cursor: pointer;\n width: 100%;\n box-sizing: border-box;\n}\n\n.ls-dv-date-clear {\n position: absolute;\n right: 0.5rem;\n top: 0;\n bottom: 0;\n display: flex;\n align-items: center;\n cursor: pointer;\n color: $gray-80;\n}\n\n.ls-dv-date-picker-hidden {\n position: absolute;\n opacity: 0;\n pointer-events: none;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ls-dv-checkbox-toggle {\n display: flex;\n gap: 0.5rem;\n background: $gray-10;\n padding: 0.25rem;\n border-radius: 0.75rem;\n}\n\n.ls-dv-checkbox-toggle-btn {\n flex: 1;\n padding: 0.25rem;\n border-radius: 0.5rem;\n display: flex;\n justify-content: center;\n align-items: center;\n font-size: 0.875rem;\n color: $gray-80;\n text-transform: capitalize;\n cursor: pointer;\n border: none;\n background: transparent;\n transition: background 0.15s, box-shadow 0.15s;\n\n &:focus-visible {\n outline: 2px solid $gray-40;\n outline-offset: 2px;\n }\n\n &.ls-dv-active {\n background: white;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);\n }\n\n &:disabled {\n cursor: default;\n opacity: 0.5;\n }\n}\n","import { Component, Host, Prop, h, Event, EventEmitter, Element, State, Watch, Listen } from '@stencil/core';\nimport { LSApiElement, LSMutateEvent } from '../../components';\nimport { LSApiRole } from '../../types/LSApiRole';\nimport { validationTypes, getInputType } from '../ls-document-viewer/editorUtils';\nimport { getFieldPlaceholder, getFieldTitleSuggestion } from '../ls-document-viewer/defaultFieldLabels';\nimport { dvI18n } from '../../i18n/i18n';\nimport { validateFieldValue } from '../../utils/fieldValueValidator';\nimport { getDefaultValidationForType } from '../ls-field-type-select/fieldTypeUtils';\nimport { forceCloseDatePicker } from '../../utils/utils';\n\n@Component({\n tag: 'ls-field-content',\n styleUrl: 'ls-field-content.scss',\n shadow: true,\n})\nexport class LsFieldContent {\n @Element() component: HTMLElement;\n @Prop({ mutable: true }) dataItem: LSApiElement;\n @Prop() roles: LSApiRole[] = [];\n @Prop() showValidationTypes: boolean = true;\n @Prop() readonly: boolean = false;\n @Prop() filtertoolbox: string = null;\n\n @State() valueError: string | null = null;\n @State() isDirty: boolean = false;\n\n @Watch('dataItem')\n watchDataItemHandler() {\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n this.isDirty = !!this.dataItem?.value && this.dataItem.value.length > 0;\n }\n\n componentWillLoad() {\n if (this.dataItem?.value) {\n this.isDirty = true;\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n this.dataItem?.value,\n this.dataItem?.options,\n );\n }\n }\n\n disconnectedCallback() {\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n // Component is already detached from DOM so events can't bubble.\n // Dispatch on document and let ls-document-viewer pick it up.\n document.dispatchEvent(\n new CustomEvent('ls-flush-mutate', {\n detail: [{ action: 'update', data: this.dataItem }],\n }),\n );\n }\n }\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n mutate: EventEmitter<LSMutateEvent[]>;\n\n @Event({\n bubbles: true,\n cancelable: true,\n composed: true,\n })\n update: EventEmitter<LSMutateEvent[]>;\n\n // Send one or more mutations up the chain\n // The source of the chain fires the mutation\n // Debounced alter for text inputs (value, label, options)\n alter(diff: object) {\n this.dataItem = { ...this.dataItem, ...diff };\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n this.debounce(this.dataItem, 1500);\n }\n\n // Immediate alter for instant actions (toggles, selects, dropdowns)\n alterImmediate(diff: object) {\n this.dataItem = { ...this.dataItem, ...diff };\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n }\n this.mutate.emit([{ action: 'update', data: this.dataItem }]);\n }\n\n @Listen('keydown')\n handleKeyDown(e: KeyboardEvent) {\n const isMod = e.ctrlKey || e.metaKey;\n if (isMod && (e.key === 'z' || e.key === 'Z' || e.key === 'y' || e.key === 'Y')) {\n e.preventDefault();\n e.stopPropagation();\n // Cancel any pending debounce (discard uncommitted changes)\n if (this.labeltimer) {\n clearTimeout(this.labeltimer);\n this.labeltimer = null;\n }\n // Dispatch to document so our undo/redo handler picks it up\n document.dispatchEvent(new KeyboardEvent('keydown', {\n key: e.key,\n ctrlKey: e.ctrlKey,\n metaKey: e.metaKey,\n shiftKey: e.shiftKey,\n }));\n }\n }\n\n handleValueChange(value: string) {\n this.isDirty = value.length > 0;\n this.valueError = validateFieldValue(\n this.dataItem?.formElementType,\n this.dataItem?.validation,\n value,\n this.dataItem?.options,\n );\n this.alter({ value });\n }\n\n private labeltimer;\n\n debounce(data, delay) {\n if (this.labeltimer) clearTimeout(this.labeltimer);\n\n this.labeltimer = setTimeout(() => {\n const diffs: LSMutateEvent[] = [{ action: 'update', data }];\n this.mutate.emit(diffs);\n }, delay);\n }\n\n supportsValue() {\n const typesWithValue = ['signature', 'initials', 'file', 'signing', 'autosign', 'signing date', 'auto sign', 'dropdown', 'checkbox', 'drawn field'];\n\n return !typesWithValue.includes(this.dataItem?.formElementType);\n }\n\n private getCheckboxStates(): string[] {\n const vType = validationTypes.find(v => v.id === this.dataItem?.validation);\n if (!vType) return [];\n return vType.description.split('/').reverse();\n }\n\n isDateField(): boolean {\n return getInputType(this.dataItem?.validation)?.inputType === 'date';\n }\n\n /**\n * Convert a formatted date value back to ISO (yyyy-mm-dd) for the native date input.\n */\n toISODate(value: string): string {\n if (!value) return '';\n const format = this.getDateFormat();\n if (!format) return value;\n\n const sep = format.match(/[/.-]/)?.[0] || '/';\n const parts = format.split(/[/.-]/);\n const valueParts = value.split(sep);\n if (valueParts.length < 2) return value;\n\n let y = '',\n m = '',\n d = '';\n parts.forEach((p, i) => {\n const v = valueParts[i] || '';\n if (p.startsWith('y')) y = v;\n else if (p.startsWith('m')) m = v;\n else if (p.startsWith('d')) d = v;\n });\n\n if (y.length === 2) y = '20' + y;\n if (!d) d = '01';\n\n return `${y.padStart(4, '0')}-${m.padStart(2, '0')}-${d.padStart(2, '0')}`;\n }\n\n /**\n * Convert an ISO date (yyyy-mm-dd) to the configured format.\n */\n formatDateFromISO(isoValue: string): string {\n if (!isoValue) return '';\n const [y, m, d] = isoValue.split('-');\n const format = this.getDateFormat();\n if (!format) return isoValue;\n\n return format\n .replace('yyyy', y)\n .replace('yy', y.slice(-2))\n .replace('mm', m)\n .replace('dd', d)\n .replace('d', String(parseInt(d)));\n }\n\n private getDateFormat(): string | null {\n const vType = validationTypes.find(v => v.id === this.dataItem?.validation);\n if (!vType || vType.inputType !== 'date') return null;\n return vType.description;\n }\n\n private getDateFormatById(validation: number): string | null {\n const vType = validationTypes.find(v => v.id === validation);\n if (!vType || vType.inputType !== 'date') return null;\n return vType.description;\n }\n\n private isSignatureType(): boolean {\n const fieldType = this.dataItem?.formElementType as string;\n return fieldType === 'signature' || fieldType === 'auto sign';\n }\n\n private getRoleType(): string {\n if (this.dataItem?.signer === 0) return 'SENDER';\n const role = this.roles?.find(r => r.signerIndex === this.dataItem?.signer);\n return role?.roleType || 'SIGNER';\n }\n\n private handleFieldTypeChange(newType: string) {\n const defaultValidation = getDefaultValidationForType(newType);\n const isSender = this.dataItem?.signer === 0;\n\n // Determine elementType based on formElementType\n let elementType: string;\n if (isSender) {\n elementType = 'admin';\n } else if (newType === 'signature') {\n elementType = 'signature';\n } else if (newType === 'initials') {\n elementType = 'initials';\n } else {\n elementType = 'text';\n }\n\n // Field types that don't support a user-editable value\n const noValueTypes = ['signature', 'initials', 'file', 'signing date', 'auto sign', 'date', 'dropdown', 'checkbox', 'drawn field'];\n // Also clear value when leaving a date field (formatted date values aren't valid for other types)\n const currentType = this.dataItem?.formElementType as string;\n const dateTypes = ['date', 'signing date'];\n const shouldClearValue = noValueTypes.includes(newType) || dateTypes.includes(currentType);\n\n const diff: any = {\n formElementType: newType as LSApiElement['formElementType'],\n elementType,\n validation: defaultValidation,\n };\n if (shouldClearValue) {\n diff.value = '';\n }\n\n this.dataItem = { ...this.dataItem, ...diff };\n this.mutate.emit([{ action: 'update', data: this.dataItem }]);\n this.update.emit([{ action: 'update', data: this.dataItem }]);\n }\n\n private getSenderDisabledReason(): string {\n const signerOnlyTypes = ['signing date', 'regular expression', 'image', 'file', 'drawn', 'drawn field'];\n const fieldType = this.dataItem?.formElementType as string;\n if (signerOnlyTypes.includes(fieldType)) {\n const nameMap = {\n 'signing date': dvI18n.t('toolbox.signingdate'),\n 'regular expression': dvI18n.t('toolbox.regex'),\n 'image': dvI18n.t('toolbox.image'),\n 'file': dvI18n.t('toolbox.file'),\n 'drawn': dvI18n.t('toolbox.drawn'),\n 'drawn field': dvI18n.t('toolbox.drawn'),\n };\n return dvI18n.t('fieldproperties.cannotreassignsendersingle', { fieldTypes: nameMap[fieldType] || fieldType });\n }\n return '';\n }\n\n private handleReassign(newSigner: number) {\n const fieldType = this.dataItem?.formElementType as string;\n\n // Auto Sign reassigned away from Sender → becomes Signature\n if (fieldType === 'auto sign' && newSigner !== 0) {\n this.alterImmediate({ signer: newSigner, formElementType: 'signature', elementType: 'signature', validation: 0 });\n return;\n }\n\n // Signature reassigned to Sender → becomes Auto Sign\n if (fieldType === 'signature' && newSigner === 0) {\n this.alterImmediate({ signer: newSigner, formElementType: 'auto sign' as any, elementType: 'admin', validation: 3000 });\n return;\n }\n\n // Any field reassigned to Sender → elementType becomes 'admin'\n // Any field reassigned away from Sender → elementType reverts to its formElementType category\n if (newSigner === 0) {\n this.alterImmediate({ signer: newSigner, elementType: 'admin' });\n } else if (this.dataItem?.signer === 0) {\n const elType = (fieldType === 'initials') ? 'initials' : 'text';\n this.alterImmediate({ signer: newSigner, elementType: elType });\n } else {\n this.alterImmediate({ signer: newSigner });\n }\n }\n\n private handleFormatChange(newValidation: number) {\n const currentValue = this.dataItem?.value;\n if (!currentValue || !this.isDateField()) {\n this.alterImmediate({ validation: newValidation });\n return;\n }\n\n // Parse current value to ISO using the old format\n const oldFormat = this.getDateFormat();\n const newFormat = this.getDateFormatById(newValidation);\n if (!oldFormat || !newFormat) {\n this.alterImmediate({ validation: newValidation });\n return;\n }\n\n const parts = oldFormat.split(/[/.-]/);\n const sep = oldFormat.match(/[/.-]/)?.[0] || '/';\n const valueParts = currentValue.split(sep);\n if (valueParts.length < 2) {\n this.alterImmediate({ validation: newValidation });\n return;\n }\n\n let y = '',\n m = '',\n d = '';\n parts.forEach((p, i) => {\n const v = valueParts[i] || '';\n if (p.startsWith('y')) y = v;\n else if (p.startsWith('m')) m = v;\n else if (p.startsWith('d')) d = v;\n });\n\n if (y.length === 2) y = '20' + y;\n if (!d) d = '01';\n\n const newValue = newFormat\n .replace('yyyy', y.padStart(4, '0'))\n .replace('yy', y.slice(-2))\n .replace('mm', m.padStart(2, '0'))\n .replace('dd', d.padStart(2, '0'))\n .replace('d', String(parseInt(d)));\n\n this.alterImmediate({ validation: newValidation, value: newValue });\n }\n\n render() {\n return (\n <Host>\n {this.roles?.length > 0 && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.assignee')} sectionDescription={dvI18n.t('fieldproperties.assigneedescription')}>\n <ls-assignee-select\n signer={this.dataItem?.signer}\n roles={this.roles}\n disabled={this.readonly}\n disabledSenderReason={this.getSenderDisabledReason()}\n disabledApproverReason={this.isSignatureType() ? dvI18n.t('fieldproperties.signaturecannotapproversingle') : ''}\n onAssigneeChange={ev => this.handleReassign(ev.detail)}\n />\n </ls-props-section>\n )}\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.fieldtype')} sectionDescription={dvI18n.t('fieldproperties.fieldtypedescription')}>\n <ls-field-type-select\n fieldType={this.dataItem?.formElementType}\n assignee={this.dataItem?.signer}\n roles={this.roles}\n roleTypes={[this.getRoleType()]}\n disabled={this.readonly}\n filtertoolbox={this.filtertoolbox}\n onFieldTypeChange={ev => this.handleFieldTypeChange(ev.detail)}\n />\n </ls-props-section>\n {this.dataItem?.formElementType !== 'signature' && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.requiredfield')} row={true} sectionDescription={dvI18n.t('fieldproperties.requiredfielddescription')}>\n <ls-toggle id=\"toggle-required\" checked={!this.dataItem?.optional} onValueChange={ev => !this.readonly && this.alterImmediate({ optional: !ev.detail })} />\n </ls-props-section>\n )}\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.fieldlabel')} sectionDescription={dvI18n.t('fieldproperties.fieldlabeldescription')}>\n <ls-formfield\n as=\"text\"\n name=\"field-label\"\n value={this.dataItem?.label}\n placeholder={getFieldTitleSuggestion(this.dataItem?.formElementType)}\n disabled={this.readonly}\n onTextChange={e => this.alter({ label: e.detail.value })}\n />\n </ls-props-section>\n {this.supportsValue() && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.value')} sectionDescription={dvI18n.t('fieldproperties.valuedescription')}>\n {this.isDateField() ? (\n <div class=\"ls-dv-date-input-wrapper\">\n <input\n class=\"ls-dv-date-display\"\n type=\"text\"\n value={this.dataItem?.value}\n placeholder={this.getDateFormat()}\n readOnly\n onClick={() => {\n if (this.readonly) return;\n const picker = this.component.shadowRoot.getElementById('ls-date-picker') as HTMLInputElement;\n if (picker) picker.showPicker();\n }}\n />\n {this.dataItem?.value && !this.readonly && (\n <div class=\"ls-dv-date-clear\" onClick={() => this.alterImmediate({ value: '' })}>\n <ls-icon name=\"x-icon\" size={20} />\n </div>\n )}\n <input\n id=\"ls-date-picker\"\n class=\"ls-dv-date-picker-hidden\"\n type=\"date\"\n value={this.toISODate(this.dataItem?.value)}\n onInput={e => {\n const input = e.target as HTMLInputElement;\n this.alter({ value: this.formatDateFromISO(input.value) });\n forceCloseDatePicker(input);\n }}\n disabled={this.readonly}\n />\n </div>\n ) : (\n <ls-formfield\n as=\"text\"\n name=\"field-value\"\n value={this.dataItem?.value}\n placeholder={getFieldPlaceholder(this.dataItem?.formElementType)}\n valid={!this.valueError}\n dirty={this.isDirty}\n errorText={this.valueError}\n disabled={this.readonly}\n onTextChange={e => this.handleValueChange(e.detail.value)}\n />\n )}\n </ls-props-section>\n )}\n {this.dataItem.validation === 20 && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.options')} sectionDescription={dvI18n.t('fieldproperties.optionsdescription')}>\n <textarea\n value={this.dataItem?.options}\n placeholder=\"Option 1 Option 2 Option 3\"\n onInput={e => this.alter({ options: (e.target as HTMLTextAreaElement).value })}\n disabled={this.readonly}\n />\n </ls-props-section>\n )}\n\n {this.showValidationTypes && this.dataItem?.formElementType !== 'drawn field' && this.dataItem?.formElementType !== 'regular expression' && this.dataItem?.formElementType !== 'initials' && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.contentformat')} sectionDescription={dvI18n.t('fieldproperties.contentformatdescription')}>\n <ls-input-wrapper select>\n <select onChange={ev => !this.readonly && this.handleFormatChange(parseInt((ev.target as HTMLSelectElement).value))}>\n {validationTypes\n .filter(type => type.formType === this.dataItem?.formElementType)\n .map(type => (\n <option selected={this.dataItem?.validation === type.id} value={type.id}>\n {type.description}\n </option>\n ))}\n </select>\n </ls-input-wrapper>\n </ls-props-section>\n )}\n {this.dataItem?.formElementType === 'checkbox' && this.getCheckboxStates().length === 2 && (\n <ls-props-section sectionTitle={dvI18n.t('fieldproperties.displaystate')} sectionDescription={dvI18n.t('fieldproperties.displaystatedescription')}>\n <div class=\"ls-dv-checkbox-toggle\">\n {this.getCheckboxStates().map((state, idx) => (\n <button\n key={idx}\n class={{ 'ls-dv-checkbox-toggle-btn': true, 'ls-dv-active': idx === 0 ? this.dataItem?.value?.toString() !== 'true' : this.dataItem?.value?.toString() === 'true' }}\n onClick={() => !this.readonly && this.alterImmediate({ value: idx === 0 ? 'false' : 'true' })}\n disabled={this.readonly}\n >\n {state}\n </button>\n ))}\n </div>\n </ls-props-section>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { t as transformTag, p as proxyCustomElement, H, h, a as Host } from './p-DIvmRYeB.js';
|
|
2
2
|
import { d as defineCustomElement$n } from './p-CgoyKNia.js';
|
|
3
3
|
import { d as defineCustomElement$m } from './p-PwhF9_IW.js';
|
|
4
|
-
import { d as defineCustomElement$l } from './p-
|
|
5
|
-
import { d as defineCustomElement$k } from './p-
|
|
4
|
+
import { d as defineCustomElement$l } from './p-CU_v-klT.js';
|
|
5
|
+
import { d as defineCustomElement$k } from './p-VFHHgnl2.js';
|
|
6
6
|
import { d as defineCustomElement$j } from './p-DkV1l_zw.js';
|
|
7
7
|
import { d as defineCustomElement$i } from './p-CSxx3aLG.js';
|
|
8
8
|
import { d as defineCustomElement$h } from './p-Dab8K5mi.js';
|
|
@@ -180,6 +180,6 @@ function defineCustomElement() {
|
|
|
180
180
|
defineCustomElement();
|
|
181
181
|
|
|
182
182
|
export { LsFieldPropertiesSignature as L, defineCustomElement as d };
|
|
183
|
-
//# sourceMappingURL=p-
|
|
183
|
+
//# sourceMappingURL=p-dLpaJicA.js.map
|
|
184
184
|
|
|
185
|
-
//# sourceMappingURL=p-
|
|
185
|
+
//# sourceMappingURL=p-dLpaJicA.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-
|
|
1
|
+
{"file":"p-dLpaJicA.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,6BAA6B,GAAG,MAAM,CAAC,u2JAAu2J,CAAC;;MCSx4J,0BAA0B,iBAAAA,kBAAA,CAAA,MAAA,0BAAA,SAAAC,CAAA,CAAA;;;;;;;;AAC7B,IAAA,QAAQ;IACR,QAAQ,CAAM;IACd,KAAK,GAAgB,EAAE;IACvB,QAAQ,GAAY,KAAK;IACzB,aAAa,GAAW,IAAI;IAEpC,MAAM,GAAA;QACJ,QACE,EAAC,IAAI,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,EACH,CAA+B,CAAA,+BAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,IAAI,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,YAAY,CAAC,EAAA,EACzE,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,SAAS,EAAA,EAC3C,CAAkB,CAAA,kBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,aAAa,EAAE,IAAI,CAAC,aAAa,EAAI,CAAA,EACxJ,CAAA,CAAA,8BAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAA8B,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CAC9E,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,YAAY,EAAA,EAC9C,CAAA,CAAA,qBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAqB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,GAAI,CAC9F,EACN,CAAA,CAAA,KAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAK,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAC,WAAW,EAAA,EAC7C,CAAA,CAAA,oBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAoB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAA,CAAI,CACpE,CACwB,EAChC,CAAA,CAAA,iBAAA,EAAA,EAAA,GAAA,EAAA,0CAAA,EAAiB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAI,CAAA,CAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/ls-field-properties-signature/ls-field-properties-signature.scss?tag=ls-field-properties-signature&encapsulation=shadow","src/components/ls-field-properties-signature/ls-field-properties-signature.tsx"],"sourcesContent":[":host {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n height: 100%;\n position: relative;\n}\n\n* {\n margin: 0;\n}\n\n.ls-dv-field-set {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n width: 100%;\n}\n\n/* Global Styles */\n\np {\n color: $gray-80;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n}\n\na {\n color: $primary-60;\n font-size: var(--text-sm);\n font-style: normal;\n font-weight: 400;\n line-height: var(--text-sm-line-height);\n cursor: pointer;\n}\n\na:hover {\n text-decoration: underline;\n color: $primary-70;\n}\n\n.ls-dv-button-link,\n.ls-dv-button-link:hover {\n all: unset;\n}\n\nselect {\n appearance: none;\n height: 2.25rem;\n width: 100%;\n}\n.ls-dv-has-leading-icon {\n padding-left: 2.5rem;\n}\n\n\ninput,\nselect,\ntextarea {\n border: 1px solid $gray-40;\n box-shadow: 0 1px 0.125rem rgba(0, 0, 0, 0.05);\n padding: 0.5rem 0.75rem;\n font-family: var(--font-family);\n font-size: var(--text-sm);\n border-radius: 0.625rem;\n color: $gray-100;\n font-weight: 400;\n}\n\ninput::placeholder,\nselect::placeholder,\ntextarea::placeholder {\n color: $gray-60;\n}\n\ninput:hover,\nselect:hover,\ntextarea:hover {\n border-color: $gray-50;\n background-color: $white;\n}\n\ninput:focus,\nselect:focus,\ntextarea:focus {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-40;\n border-color: $primary-60;\n background-color: $white;\n}\n\ninput:active,\nselect:active,\ntextarea:active {\n border-color: $primary-50;\n}\n\ninput:disabled,\nselect:disabled,\ntextarea:disabled {\n cursor: not-allowed;\n background-color: $gray-10;\n}\n\ninput[type='checkbox'] {\n appearance: none;\n position: relative;\n height: 1rem;\n width: 1rem;\n padding: 0.25rem;\n border-radius: var(--radius-sm);\n border: 1px solid #d1d5db;\n background-color: #ffffff;\n cursor: pointer;\n}\n\ninput[type='checkbox']:checked,\ninput[type='checkbox'].ls-dv-indeterminate {\n background-color: $primary-60;\n border: none;\n}\n\ninput[type='checkbox']:checked::after {\n content: '';\n position: absolute;\n top: 45%;\n left: 50%;\n transform: translate(-50%, -50%) rotate(-45deg) scale(-1, 1);\n width: 0.5rem;\n height: 0.25rem;\n border-bottom: 0.125rem solid white;\n border-right: 0.125rem solid white;\n}\n\ninput[type='checkbox'].ls-dv-indeterminate::after {\n content: '';\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n width: 0.5rem;\n height: 0.125rem;\n background-color: white;\n}\n\ninput[type='checkbox']:checked:hover,\ninput[type='checkbox'].ls-dv-indeterminate:hover {\n background-color: $primary-70;\n border: none;\n}\n\ninput[type='checkbox']:hover {\n border: 1px solid #9ca3af;\n}\n\ninput[type='checkbox']:focus,\ninput[type='checkbox']:active {\n outline: none;\n box-shadow: 0 0 0 0.25rem $primary-20;\n background-color: #f0f4f8;\n}\n\ninput[type='checkbox']:disabled {\n background-color: #f3f4f6;\n outline: none;\n cursor: not-allowed;\n}\n\ninput[type='checkbox']:disabled:checked {\n background-color: #e5e7eb;\n border: none;\n outline: none;\n cursor: not-allowed;\n}\n\n.ls-dv-checkbox-container {\n display: flex;\n gap: 0.5rem;\n width: 100%;\n}\n\n.ls-dv-checkbox-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 400;\n line-height: 1rem;\n}\n\n.ls-dv-form-label {\n color: $gray-100;\n font-size: 1rem;\n font-style: normal;\n font-weight: 500;\n line-height: 1.5rem;\n}\n\n.ls-dv-form-field {\n display: flex;\n flex-direction: column;\n gap: 0.25rem;\n width: 100%;\n}\n\n.ls-dv-loading-box {\n display: flex;\n justify-content: center;\n align-items: center;\n width: 100%;\n height: 100vh;\n color: $primary-60;\n}\n\nbutton {\n display: flex;\n gap: 0.5rem;\n border: 0;\n appearance: button;\n cursor: pointer;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--radius-lg);\n background-color: $primary-60;\n color: white;\n font-weight: 500;\n text-transform: capitalize;\n min-height: 2.25rem;\n min-width: 2.25rem;\n}\n\nbutton.ls-dv-tertiary-grey {\n border: 1px solid $gray-40;\n background-color: white;\n color: $gray-80;\n}\n\nbutton.ls-dv-tertiary-grey:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-secondary {\n border: 1px solid $gray-50;\n background: $white;\n color: $gray-90;\n box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.06), 0 1px 3px 0 rgba(0, 0, 0, 0.1);\n}\n\nbutton.ls-dv-secondary:hover {\n border: 1px solid $gray-50;\n background: $gray-10;\n}\n\nbutton.ls-dv-destructive {\n border: 1px solid $red-60;\n background-color: white;\n color: $red-60;\n}\n\nbutton.ls-dv-destructive:hover {\n border: 1px solid $red-70;\n background: $red-10;\n}\n\n\n\n.ls-dv-button-group {\n display: flex;\n border-radius: 0.625rem;\n border: 1px solid $gray-30;\n background: $white;\n overflow: clip;\n}\n\n.ls-dv-button-group button {\n display: flex;\n background: transparent;\n border-radius: unset;\n padding: 0.25rem 0.75rem;\n min-width: 2.156rem;\n min-height: unset;\n color: $gray-80;\n}\n\n.ls-dv-button-group button:hover {\n background: $gray-10;\n}\n\n.ls-dv-button-group > :first-child {\n border-radius: 0.625rem 0 0 0.625rem;\n}\n\n.ls-dv-button-group > :last-child {\n border-radius: 0 0.5rem 0.5rem 0;\n}\n\n.ls-dv-button-group > :not(:first-child) {\n border-left: 1px solid $gray-30;\n}\n","import { Component, Host, Prop, h } from '@stencil/core';\nimport { LSApiElement } from '../../components';\nimport { LSApiRole } from '../../types/LSApiRole';\n\n@Component({\n tag: 'ls-field-properties-signature',\n styleUrl: 'ls-field-properties-signature.scss',\n shadow: true,\n})\nexport class LsFieldPropertiesSignature {\n @Prop() dataItem: LSApiElement;\n @Prop() template: any; // LSApiTemplate\n @Prop() roles: LSApiRole[] = [];\n @Prop() readonly: boolean = false;\n @Prop() filtertoolbox: string = null;\n\n render() {\n return (\n <Host>\n <ls-field-properties-container tabs={['content', 'placement', 'dimensions']}>\n <div class={'ls-dv-field-set'} slot=\"content\">\n <ls-field-content dataItem={this.dataItem} roles={this.roles} showValidationTypes={false} readonly={this.readonly} filtertoolbox={this.filtertoolbox} />\n <ls-field-properties-advanced dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n <div class={'ls-dv-field-set'} slot=\"dimensions\">\n <ls-field-dimensions dataItem={this.dataItem} template={this.template} readonly={this.readonly} />\n </div>\n <div class={'ls-dv-field-set'} slot=\"placement\">\n <ls-field-placement dataItem={this.dataItem} readonly={this.readonly} />\n </div>\n </ls-field-properties-container>\n <ls-field-footer dataItem={this.dataItem} readonly={this.readonly} />\n </Host>\n );\n }\n}\n"],"version":3}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { t as transformTag, p as proxyCustomElement, H, c as createEvent, h, a as Host } from './p-DIvmRYeB.js';
|
|
2
2
|
import { d as dvI18n } from './p-WVWIAGo_.js';
|
|
3
|
-
import { f as findDimensions, r as recalculateCoordinates, b as findIn, d as defineCustomElement$3, o as oob } from './p-
|
|
3
|
+
import { f as findDimensions, r as recalculateCoordinates, b as findIn, d as defineCustomElement$3, o as oob } from './p-CU_v-klT.js';
|
|
4
4
|
import { D as DEFAULT_FONT_SIZE, F as FIELD_DEFAULTS, a as DEFAULT_FONT_NAME } from './p-04cXI5GQ.js';
|
|
5
5
|
import { s as snapshotField } from './p-DydgLtEF.js';
|
|
6
6
|
import { d as defaultRolePalette } from './p-BKrsDBDB.js';
|
|
@@ -1417,6 +1417,6 @@ function defineCustomElement() {
|
|
|
1417
1417
|
defineCustomElement();
|
|
1418
1418
|
|
|
1419
1419
|
export { LsFieldDistribute as L, cutSelected as a, mouseDown as b, copySelected as c, defineCustomElement as d, mouseMove as e, mouseUp as f, mouseDoubleClick as g, mouseClick as m, pasteClipboard as p, toolboxDragStart as t, updateSelectionBox as u };
|
|
1420
|
-
//# sourceMappingURL=p-
|
|
1420
|
+
//# sourceMappingURL=p-thlkOeP_.js.map
|
|
1421
1421
|
|
|
1422
|
-
//# sourceMappingURL=p-
|
|
1422
|
+
//# sourceMappingURL=p-thlkOeP_.js.map
|