@esri/calcite-components 5.2.0-next.21 → 5.2.0-next.23
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/cdn/{3XNKB4LT.js → 26NLIAOY.js} +1 -1
- package/dist/cdn/{VZY2QL4T.js → 2JBFUIQH.js} +1 -1
- package/dist/cdn/2OHOVQMB.js +2 -0
- package/dist/cdn/{GXD243NQ.js → 2PFID3W6.js} +1 -1
- package/dist/cdn/{JZVDDOLT.js → 2RJOFMZ3.js} +1 -1
- package/dist/cdn/{PKH35RAY.js → 32RBXVF4.js} +1 -1
- package/dist/cdn/{GEJMEJ3S.js → 3JVMYXOC.js} +1 -1
- package/dist/cdn/{VYLHCMIN.js → 3O74FQRX.js} +1 -1
- package/dist/cdn/{AWWSYSFZ.js → 3RRQA2FI.js} +1 -1
- package/dist/cdn/{V6IGQUSK.js → 3TUJGRZ2.js} +1 -1
- package/dist/cdn/{272JE4T2.js → 44BCM4WD.js} +1 -1
- package/dist/cdn/{UVN2552D.js → 4A4AQLXS.js} +1 -1
- package/dist/cdn/{AKQOSNJ4.js → 4CTX7AWR.js} +1 -1
- package/dist/cdn/{K42J27GZ.js → 4MRGSEQH.js} +1 -1
- package/dist/cdn/{5EOX7NEX.js → 4YCUPVHB.js} +1 -1
- package/dist/cdn/{P5E4K2YU.js → 53PNWBFM.js} +1 -1
- package/dist/cdn/{SGHQJIEB.js → 56DNJRTH.js} +1 -1
- package/dist/cdn/{TUFMKQOT.js → 5E34F2H7.js} +1 -1
- package/dist/cdn/{OIO5CL6R.js → 5EBGPCB7.js} +1 -1
- package/dist/cdn/{426HUAXX.js → 5S2UFHFC.js} +1 -1
- package/dist/cdn/{2JGUT2QI.js → 66ZAZMZH.js} +1 -1
- package/dist/cdn/{EAVZBUUO.js → 6AWM3III.js} +1 -1
- package/dist/cdn/7FDY66P2.js +2 -0
- package/dist/cdn/{5U52USCL.js → 7KEQRK7M.js} +1 -1
- package/dist/cdn/{ECA6D3BY.js → 7NI3U4HX.js} +1 -1
- package/dist/cdn/{4HBUNZIM.js → 7XW3S3DN.js} +1 -1
- package/dist/cdn/{RXB5QVOF.js → ADGSWGZE.js} +1 -1
- package/dist/cdn/{YWS6ADXE.js → AOSWHTDQ.js} +1 -1
- package/dist/cdn/{WPHP6PNQ.js → ASNTOIAQ.js} +1 -1
- package/dist/cdn/{SAQXF3O4.js → ATKSPCQC.js} +1 -1
- package/dist/cdn/{2F4MPSIU.js → C6VPC36M.js} +1 -1
- package/dist/cdn/{4KLGMAQB.js → CKDOITAW.js} +1 -1
- package/dist/cdn/{7A2PNBBN.js → CKU3WVI5.js} +1 -1
- package/dist/cdn/CQHOIB7Q.js +2 -0
- package/dist/cdn/{SVIKF2RJ.js → CW75VNTM.js} +1 -1
- package/dist/cdn/{3ES6MC2M.js → DD6HKLEH.js} +1 -1
- package/dist/cdn/{TJHEX4FQ.js → DHAK5MVE.js} +1 -1
- package/dist/cdn/{IRMP3YN4.js → DMBFYRBO.js} +1 -1
- package/dist/cdn/{M4FNVXZ2.js → DP7TXQLL.js} +1 -1
- package/dist/cdn/{3JCYJQN7.js → E3HA6ARS.js} +1 -1
- package/dist/cdn/{UGQ7QEUT.js → E7YSE7PA.js} +1 -1
- package/dist/cdn/EAYVGI7U.js +2 -0
- package/dist/cdn/{SOLXBNIY.js → EDDCKZDB.js} +1 -1
- package/dist/cdn/{JRIHW6MN.js → EDJC2HTH.js} +1 -1
- package/dist/cdn/{ZBZNZWOA.js → ETSNIYVJ.js} +1 -1
- package/dist/cdn/{ZJMGR5TI.js → F73XHF2M.js} +1 -1
- package/dist/cdn/{2JILEOJW.js → FPCQ5FII.js} +1 -1
- package/dist/cdn/{UUBGEQCK.js → FWIPONLY.js} +1 -1
- package/dist/cdn/{56NWOB2H.js → GA5ZHZLZ.js} +1 -1
- package/dist/cdn/{GP3JS5Z3.js → GNQ7HT6N.js} +1 -1
- package/dist/cdn/{WGYDUGAX.js → GQFOAB5T.js} +1 -1
- package/dist/cdn/{EBUGQXPB.js → GWNGI6C4.js} +1 -1
- package/dist/cdn/{O5RU3VB7.js → GYHJQTDE.js} +1 -1
- package/dist/cdn/{KGBTQAAG.js → HL5J554X.js} +1 -1
- package/dist/cdn/{C6IQSTJA.js → HPCNE2D3.js} +1 -1
- package/dist/cdn/{HCCW2HVH.js → HPWZD6ES.js} +1 -1
- package/dist/cdn/{WM43COV2.js → IDGW2P7Y.js} +1 -1
- package/dist/cdn/{OUCV3THM.js → IE6SKFME.js} +1 -1
- package/dist/cdn/II3HZQGY.js +2 -0
- package/dist/cdn/{MV6B53QB.js → J2WA3W5U.js} +1 -1
- package/dist/cdn/{F7DR7O35.js → J7OTKRVL.js} +1 -1
- package/dist/cdn/{O442DH6W.js → JEE2673Z.js} +1 -1
- package/dist/cdn/{AIYTOT7G.js → JZSJTLPL.js} +1 -1
- package/dist/cdn/{4LZCIWN2.js → KLUVMIWX.js} +1 -1
- package/dist/cdn/{UDEXLFZX.js → L6CCUDY4.js} +1 -1
- package/dist/cdn/{XUWMJEUC.js → LSYCKJVH.js} +1 -1
- package/dist/cdn/{VJPWPUVR.js → LVCHWMHH.js} +1 -1
- package/dist/cdn/{UISSIQ32.js → M6IGUW4G.js} +1 -1
- package/dist/cdn/{WTRCWKFF.js → M7X4MZ4X.js} +1 -1
- package/dist/cdn/{SAX2IWNQ.js → MB2RASRM.js} +1 -1
- package/dist/cdn/{B3LFVY3M.js → MCHEB6JH.js} +1 -1
- package/dist/cdn/{5FZL7744.js → MPUIKIV2.js} +1 -1
- package/dist/cdn/{L6DQTGEQ.js → MR3JPLGQ.js} +1 -1
- package/dist/cdn/{YPDRWI4Z.js → N24IIHGN.js} +1 -1
- package/dist/cdn/{RNVT5N2K.js → N4VAVTXN.js} +1 -1
- package/dist/cdn/{4WVXINWO.js → NCZEPH5R.js} +1 -1
- package/dist/cdn/O2XJCEO6.js +2 -0
- package/dist/cdn/{NQRE6JP2.js → OCLWYV7X.js} +1 -1
- package/dist/cdn/{FBIHAO55.js → OF3NKVWJ.js} +1 -1
- package/dist/cdn/{X4KXT3UH.js → OKQBN2MY.js} +1 -1
- package/dist/cdn/OQ7IXAQT.js +2 -0
- package/dist/cdn/OX7WKNVG.js +2 -0
- package/dist/cdn/{NBFB52UI.js → OY3Z7S4F.js} +1 -1
- package/dist/cdn/{TXVTI6LX.js → P2M56OT6.js} +1 -1
- package/dist/cdn/{R6GL2MQY.js → PB33ZFMH.js} +1 -1
- package/dist/cdn/{VESLJKC6.js → PE6HZSXG.js} +1 -1
- package/dist/cdn/{7F62KAGK.js → PHZDEOBE.js} +1 -1
- package/dist/cdn/{JTQM2TTD.js → PJS3MBW2.js} +1 -1
- package/dist/cdn/{QQDQTFWB.js → PM5LDKID.js} +1 -1
- package/dist/cdn/{ICC77N4O.js → PV4J5OMF.js} +1 -1
- package/dist/cdn/{3RWXOX6F.js → PXHOVMKD.js} +1 -1
- package/dist/cdn/{IFNI622P.js → Q2XCENUN.js} +1 -1
- package/dist/cdn/{3XFDNORV.js → Q4YMF7OQ.js} +1 -1
- package/dist/cdn/QAVBQFIM.js +2 -0
- package/dist/cdn/{GBRXDUNR.js → QB7DF7HL.js} +1 -1
- package/dist/cdn/{7UKOH7BP.js → QBKW557S.js} +1 -1
- package/dist/cdn/{QW6A2JKZ.js → QDGKS7LE.js} +1 -1
- package/dist/cdn/{F3LAVUQV.js → QJ4X6JEF.js} +1 -1
- package/dist/cdn/{EHSCOSXB.js → QR2UFQCP.js} +1 -1
- package/dist/cdn/R3DCDJ4K.js +2 -0
- package/dist/cdn/{XYWGIRGB.js → RG2RKIDH.js} +1 -1
- package/dist/cdn/{PN34TX2Y.js → RP3AR4AB.js} +1 -1
- package/dist/cdn/{CJ7YLUIT.js → RPHF57ID.js} +1 -1
- package/dist/cdn/{WQPTKDSB.js → RV2VGY5Y.js} +1 -1
- package/dist/cdn/{DLRZL6VP.js → SGBGFWSI.js} +1 -1
- package/dist/cdn/{HWXH6W2L.js → SHQXC5KI.js} +1 -1
- package/dist/cdn/{Q4NJGVJB.js → SLXOGLQG.js} +1 -1
- package/dist/cdn/{FHOVIOY2.js → SPDOAEZW.js} +1 -1
- package/dist/cdn/{W6TKTKZ2.js → SQIK6UYZ.js} +1 -1
- package/dist/cdn/{N5YHLBDH.js → SSTWHVRD.js} +1 -1
- package/dist/cdn/{56JRN55F.js → TU2IDUJN.js} +1 -1
- package/dist/cdn/{HMBUAJ3C.js → UFBPVUSS.js} +1 -1
- package/dist/cdn/{AL7MCNIT.js → UINO3MUN.js} +1 -1
- package/dist/cdn/{Q2IZW7BR.js → UKFONMST.js} +1 -1
- package/dist/cdn/{7MK2ZF4L.js → UO7DMOAA.js} +1 -1
- package/dist/cdn/{XDZYR57Z.js → UQAL22P6.js} +1 -1
- package/dist/cdn/{PO4IIXQB.js → UTFIFRAB.js} +1 -1
- package/dist/cdn/{KX4TG57C.js → UVHXLQFS.js} +1 -1
- package/dist/cdn/{E42FZREV.js → V22TQ7PZ.js} +1 -1
- package/dist/cdn/{VFRHRLG4.js → V4PSJEH7.js} +1 -1
- package/dist/cdn/{HPX2NCMW.js → VA6P67UG.js} +1 -1
- package/dist/cdn/{WHODE5V4.js → VNDV5V2E.js} +1 -1
- package/dist/cdn/{GHDKS4TD.js → VOCKM3G2.js} +1 -1
- package/dist/cdn/{FYTLOVRA.js → VVDB4JOU.js} +1 -1
- package/dist/cdn/{Q5VG5AQG.js → W3EDPW5C.js} +1 -1
- package/dist/cdn/{U5VEPYIN.js → W5QVWKA4.js} +1 -1
- package/dist/cdn/{JMNMINM4.js → W6WPGWK4.js} +1 -1
- package/dist/cdn/{7BYI7SPD.js → WEQLYKHQ.js} +1 -1
- package/dist/cdn/{WOT3ORF2.js → WI7WTRBR.js} +1 -1
- package/dist/cdn/{KV7UW3YJ.js → WU7GZ3ZT.js} +1 -1
- package/dist/cdn/{47XLG5YV.js → WZS5WOVS.js} +1 -1
- package/dist/cdn/{LL2AKBZL.js → X2Y3U24F.js} +1 -1
- package/dist/cdn/{SBLTFKZU.js → XBNPHSQR.js} +1 -1
- package/dist/cdn/{WCIWAXVM.js → XEDH2KRM.js} +1 -1
- package/dist/cdn/{TOGTOADC.js → XEKJUQX2.js} +1 -1
- package/dist/cdn/{OPEIRYVW.js → XKENPJIG.js} +1 -1
- package/dist/cdn/{LSUIVEP3.js → XP7XYKMD.js} +1 -1
- package/dist/cdn/{HR2CVDVP.js → Y3K3KZ7C.js} +1 -1
- package/dist/cdn/{3I2BUVSG.js → YAFFQQRB.js} +1 -1
- package/dist/cdn/{5VCUPUNM.js → YDN74HYW.js} +1 -1
- package/dist/cdn/{UJQCS2W7.js → YGCQA6I2.js} +1 -1
- package/dist/cdn/{XGVUKAR6.js → YQYSA6GQ.js} +1 -1
- package/dist/cdn/{WETW5UXF.js → YURDXUY6.js} +1 -1
- package/dist/cdn/{IX4C6Q7V.js → Z7YWEK6A.js} +1 -1
- package/dist/cdn/{J5V74PPK.js → ZIHHVT6X.js} +1 -1
- package/dist/cdn/{TD2CYHOH.js → ZLY4AI4O.js} +1 -1
- package/dist/cdn/ZSMB7MEM.js +2 -0
- package/dist/cdn/{2YUN7R23.js → ZTOH6K4N.js} +1 -1
- package/dist/cdn/{ZM2ZOPHJ.js → ZYUCFWLH.js} +1 -1
- package/dist/cdn/index.js +1 -1
- package/dist/chunks/runtime.js +3 -3
- package/dist/chunks/useInlineEditable.js +53 -0
- package/dist/components/calcite-accordion-item/customElement.js +1 -1
- package/dist/components/calcite-autocomplete-item/customElement.js +1 -1
- package/dist/components/calcite-combobox-item/customElement.js +1 -1
- package/dist/components/calcite-dropdown/customElement.js +1 -1
- package/dist/components/calcite-inline-editable/customElement.d.ts +10 -6
- package/dist/components/calcite-inline-editable/customElement.js +27 -9
- package/dist/components/calcite-inline-editable/index.js +1 -1
- package/dist/components/calcite-input/customElement.d.ts +31 -0
- package/dist/components/calcite-input/customElement.js +92 -9
- package/dist/components/calcite-input-number/customElement.d.ts +31 -0
- package/dist/components/calcite-input-number/customElement.js +82 -6
- package/dist/components/calcite-input-text/customElement.d.ts +31 -0
- package/dist/components/calcite-input-text/customElement.js +80 -9
- package/dist/components/calcite-input-time-zone/customElement.d.ts +6 -0
- package/dist/components/calcite-input-time-zone/customElement.js +2 -2
- package/dist/components/calcite-tile/customElement.js +1 -1
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.json +1 -1
- package/dist/docs/supported-browsers.json +1 -1
- package/dist/docs/vscode.css-custom-data.json +1 -1
- package/dist/docs/vscode.html-custom-data.json +1 -1
- package/dist/docs/web-types.json +1 -1
- package/dist/loader.js +4 -4
- package/dist/types/lumina.d.ts +13 -4
- package/dist/types/preact.d.ts +13 -4
- package/dist/types/react.d.ts +13 -4
- package/dist/types/stencil.d.ts +13 -4
- package/package.json +2 -2
- package/dist/cdn/7DG2R3OP.js +0 -2
- package/dist/cdn/A66UUYDP.js +0 -2
- package/dist/cdn/CABYCECQ.js +0 -2
- package/dist/cdn/CNKLVNBN.js +0 -2
- package/dist/cdn/CUPOES2M.js +0 -2
- package/dist/cdn/DFB6ZYV7.js +0 -2
- package/dist/cdn/DNYCTXXF.js +0 -2
- package/dist/cdn/P5VEJH27.js +0 -2
- package/dist/cdn/SVKMC3IH.js +0 -2
- package/dist/cdn/YNAVDDAP.js +0 -2
|
@@ -8,7 +8,7 @@ import { a as slotChangeGetAssignedElements } from "../../chunks/dom.js";
|
|
|
8
8
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
9
9
|
import { u as useSetFocus } from "../../chunks/useSetFocus.js";
|
|
10
10
|
import { u as useInteractive } from "../../chunks/useInteractive.js";
|
|
11
|
-
const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block}:host([scale=s]) .controls-wrapper{block-size:1.5rem}:host([scale=m]) .controls-wrapper{block-size:2rem}:host([scale=l]) .controls-wrapper{block-size:2.75rem}.wrapper{box-sizing:border-box;display:flex;justify-content:space-between;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-inline-editable-background-color, var(--calcite-color-foreground-1))}.wrapper .input-wrapper{flex:1 1 0%}:host(:not([editing-enabled]):not([disabled])) .wrapper:hover{background-color:var(--calcite-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}.controls-wrapper{display:flex}.
|
|
11
|
+
const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block}:host([scale=s]) .controls-wrapper{block-size:1.5rem}:host([scale=m]) .controls-wrapper{block-size:2rem}:host([scale=l]) .controls-wrapper{block-size:2.75rem}.wrapper{box-sizing:border-box;display:flex;justify-content:space-between;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-inline-editable-background-color, var(--calcite-color-foreground-1))}.wrapper .input-wrapper{flex:1 1 0%}:host(:not([editing-enabled]):not([disabled])) .wrapper:hover{background-color:var(--calcite-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}.controls-wrapper{display:flex}.enable-editing-button--hidden{pointer-events:none;opacity:0;inline-size:0}.enable-editing-button{--calcite-action-text-color: var(--calcite-inline-editable-button-text-color, var(--calcite-color-text-1))}.enable-editing-button,.confirm-changes-button,.cancel-editing-button{margin-inline-start:var(--calcite-space-2xs)}calcite-action{--calcite-action-background-color: var(--calcite-inline-editable-button-background-color);--calcite-action-corner-radius: var(--calcite-inline-editable-button-corner-radius);--calcite-action-loader-color: var(--calcite-inline-editable-button-loader-color);--calcite-action-text-color: var(--calcite-inline-editable-button-text-color)}calcite-action:hover{--calcite-action-background-color-hover: var( --calcite-inline-editable-button-background-color-hover, var(--calcite-inline-editable-button-background-color) );--calcite-action-text-color-press: var( --calcite-inline-editable-button-text-color-press, var(--calcite-inline-editable-button-text-color) )}calcite-action:active{--calcite-action-background-color-press: var( --calcite-inline-editable-button-background-color-press, var(--calcite-inline-editable-button-background-color) );--calcite-action-text-color-press: var( --calcite-inline-editable-button-text-color-press, var(--calcite-inline-editable-button-text-color) )}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}:host([hidden]){display:none}[hidden]{display:none}`;
|
|
12
12
|
const CSS = {
|
|
13
13
|
wrapper: "wrapper",
|
|
14
14
|
confirmChangesButton: "confirm-changes-button",
|
|
@@ -28,6 +28,7 @@ class InlineEditable extends LitElement {
|
|
|
28
28
|
constructor() {
|
|
29
29
|
super();
|
|
30
30
|
this.cancelEditingButtonRef = createRef();
|
|
31
|
+
this.confirmChangesButtonRef = createRef();
|
|
31
32
|
this._editingEnabled = false;
|
|
32
33
|
this.enableEditingButtonRef = createRef();
|
|
33
34
|
this.shouldEmitCancel = false;
|
|
@@ -43,6 +44,9 @@ class InlineEditable extends LitElement {
|
|
|
43
44
|
this.calciteInlineEditableEditConfirm = createEvent({ cancelable: false });
|
|
44
45
|
this.calciteInternalInlineEditableEnableEditingChange = createEvent({ cancelable: false });
|
|
45
46
|
this.listen("calciteInternalInputBlur", this.blurHandler);
|
|
47
|
+
this.listen("calciteInternalInputNumberBlur", this.blurHandler);
|
|
48
|
+
this.listen("calciteInternalInputTextBlur", this.blurHandler);
|
|
49
|
+
this.listen("keydown", this.escapeKeyHandler);
|
|
46
50
|
}
|
|
47
51
|
static {
|
|
48
52
|
this.properties = { afterConfirm: [0, {}, { attribute: false }], controls: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], loading: [7, {}, { reflect: true, type: Boolean }], messageOverrides: [0, {}, { attribute: false }], scale: [3, {}, { reflect: true }] };
|
|
@@ -91,7 +95,7 @@ class InlineEditable extends LitElement {
|
|
|
91
95
|
}
|
|
92
96
|
}
|
|
93
97
|
async handleDefaultSlotChange(event) {
|
|
94
|
-
const inputElement = slotChangeGetAssignedElements(event).filter((el) => el.matches("calcite-input"))[0];
|
|
98
|
+
const inputElement = slotChangeGetAssignedElements(event).filter((el) => el.matches("calcite-input, calcite-input-number, calcite-input-text"))[0];
|
|
95
99
|
this.inputEl = inputElement;
|
|
96
100
|
if (!inputElement) {
|
|
97
101
|
return;
|
|
@@ -131,11 +135,25 @@ class InlineEditable extends LitElement {
|
|
|
131
135
|
this.cancelEditing();
|
|
132
136
|
}
|
|
133
137
|
if (event.key === "Tab" && this.shouldShowControls) {
|
|
134
|
-
|
|
138
|
+
const confirmChangesButton = this.confirmChangesButtonRef.value;
|
|
139
|
+
const cancelEditingButton = this.cancelEditingButtonRef.value;
|
|
140
|
+
const composedPath = event.composedPath();
|
|
141
|
+
const tabFromInput = this.inputEl ? composedPath.includes(this.inputEl) : false;
|
|
142
|
+
const tabFromConfirm = confirmChangesButton ? composedPath.includes(confirmChangesButton) : false;
|
|
143
|
+
const tabFromCancel = cancelEditingButton ? composedPath.includes(cancelEditingButton) : false;
|
|
144
|
+
if (!event.shiftKey && tabFromConfirm) {
|
|
135
145
|
event.preventDefault();
|
|
136
|
-
|
|
146
|
+
cancelEditingButton?.setFocus();
|
|
137
147
|
}
|
|
138
|
-
if (
|
|
148
|
+
if (!event.shiftKey && (tabFromInput || !tabFromConfirm && !tabFromCancel)) {
|
|
149
|
+
event.preventDefault();
|
|
150
|
+
confirmChangesButton?.setFocus();
|
|
151
|
+
}
|
|
152
|
+
if (!!event.shiftKey && tabFromCancel) {
|
|
153
|
+
event.preventDefault();
|
|
154
|
+
confirmChangesButton?.setFocus();
|
|
155
|
+
}
|
|
156
|
+
if (!!event.shiftKey && tabFromConfirm) {
|
|
139
157
|
event.preventDefault();
|
|
140
158
|
this.inputEl?.setFocus();
|
|
141
159
|
}
|
|
@@ -170,12 +188,12 @@ class InlineEditable extends LitElement {
|
|
|
170
188
|
}
|
|
171
189
|
}
|
|
172
190
|
render() {
|
|
173
|
-
return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap(CSS.wrapper)} @click=${this.enableEditingHandler}
|
|
191
|
+
return this.interactiveContainer({ disabled: this.disabled, children: html`<div class=${safeClassMap(CSS.wrapper)} @click=${this.enableEditingHandler}><div class=${safeClassMap(CSS.inputWrapper)}><slot @slotchange=${this.handleDefaultSlotChange}></slot></div><div class=${safeClassMap(CSS.controlsWrapper)}><calcite-action .ariaLabel=${this.messages.enableEditing} class=${safeClassMap({
|
|
174
192
|
[CSS.enableEditingButton]: true,
|
|
175
193
|
[CSS.enableEditingButtonHidden]: this.editingEnabled
|
|
176
|
-
})} .
|
|
177
|
-
html`<
|
|
178
|
-
html`<
|
|
194
|
+
})} .icon=${ICONS.pencil} @click=${this.enableEditingHandler} .scale=${this.scale} .text=${this.messages.enableEditing} title=${this.messages.enableEditing ?? nothing} type=button ${ref(this.enableEditingButtonRef)}></calcite-action>${this.shouldShowControls && [
|
|
195
|
+
html`<calcite-action .ariaLabel=${this.messages.confirmChanges} class=${safeClassMap(CSS.confirmChangesButton)} .icon=${ICONS.check} .loading=${this.loading} @click=${this.confirmChangesHandler} .scale=${this.scale} .text=${this.messages.confirmChanges} title=${this.messages.confirmChanges ?? nothing} type=button ${ref(this.confirmChangesButtonRef)}></calcite-action>`,
|
|
196
|
+
html`<div class=${safeClassMap(CSS.cancelEditingButtonWrapper)}><calcite-action .ariaLabel=${this.messages.cancelEditing} class=${safeClassMap(CSS.cancelEditingButton)} .icon=${ICONS.close} @click=${this.cancelEditingHandler} .scale=${this.scale} .text=${this.messages.cancelEditing} title=${this.messages.cancelEditing ?? nothing} type=button ${ref(this.cancelEditingButtonRef)}></calcite-action></div>`
|
|
179
197
|
] || ""}</div></div>` });
|
|
180
198
|
}
|
|
181
199
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import "../calcite-
|
|
1
|
+
import "../calcite-action/index.js";
|
|
2
2
|
export * from "./customElement.js";
|
|
@@ -25,6 +25,14 @@ import type { InputPlacement } from "./interfaces.js";
|
|
|
25
25
|
* @cssproperty [--calcite-input-actions-icon-color-press] - Specifies the icon color of the component's `clearable` and `number-button-type` elements when pressed.
|
|
26
26
|
* @cssproperty [--calcite-input-loading-background-color] - When `loading`, specifies the background color of the component's `loading` element.
|
|
27
27
|
* @cssproperty [--calcite-input-loading-fill-color] - When `loading`, specifies the fill color of the component's `loading` element.
|
|
28
|
+
* @cssproperty [--calcite-input-inline-editable-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component, its inline editable elements and slotted `calcite-action` wrappers, when hovered.
|
|
29
|
+
* @cssproperty [--calcite-input-inline-editable-control-background-color] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls.
|
|
30
|
+
* @cssproperty [--calcite-input-inline-editable-control-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when hovered.
|
|
31
|
+
* @cssproperty [--calcite-input-inline-editable-control-background-color-press] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when pressed.
|
|
32
|
+
* @cssproperty [--calcite-input-inline-editable-control-corner-radius] - When `inline-editable` is enabled, specifies the corner radius of the component's inline editable controls.
|
|
33
|
+
* @cssproperty [--calcite-input-inline-editable-control-loader-color] - When `inline-editable` is enabled, specifies the loader color of the component's inline editable controls.
|
|
34
|
+
* @cssproperty [--calcite-input-inline-editable-control-text-color] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls.
|
|
35
|
+
* @cssproperty [--calcite-input-inline-editable-control-text-color-press] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls, when pressed or hovered.
|
|
28
36
|
* @slot [action] - A slot for positioning a `calcite-action` or other interactive content adjacent to the component.
|
|
29
37
|
* @slot [label-content] - A slot for rendering content next to the component's `labelText`.
|
|
30
38
|
*/
|
|
@@ -84,6 +92,20 @@ export abstract class Input extends LitElement {
|
|
|
84
92
|
* @default false
|
|
85
93
|
*/
|
|
86
94
|
accessor iconFlipRtl: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* When `true`, enables the component's built-in inline editable behavior.
|
|
97
|
+
*
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
accessor inlineEditable: boolean;
|
|
101
|
+
/** Specifies a callback to be executed when saving inline editable changes */
|
|
102
|
+
accessor inlineEditableAfterConfirm: () => Promise<void>;
|
|
103
|
+
/**
|
|
104
|
+
* When `true` and `inlineEditable` is `true`, displays the component's built-in inline editable save and cancel controls.
|
|
105
|
+
*
|
|
106
|
+
* @default false
|
|
107
|
+
*/
|
|
108
|
+
accessor inlineEditableControls: boolean;
|
|
87
109
|
/** Specifies an accessible label for the component. */
|
|
88
110
|
accessor label: string | undefined;
|
|
89
111
|
/** Specifies the component's label text. */
|
|
@@ -236,10 +258,19 @@ export abstract class Input extends LitElement {
|
|
|
236
258
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
237
259
|
/** Fires each time a new `value` is typed and committed. */
|
|
238
260
|
readonly calciteInputChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
261
|
+
/** Fires when built-in inline editable is cancelled. */
|
|
262
|
+
readonly calciteInputInlineEditableCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
263
|
+
/** Fires when built-in inline editable is enabled. */
|
|
264
|
+
readonly calciteInputInlineEditableChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
265
|
+
/** Fires when built-in inline editable is confirmed. */
|
|
266
|
+
readonly calciteInputInlineEditableConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
239
267
|
/** Fires each time a new `value` is typed. */
|
|
240
268
|
readonly calciteInputInput: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
241
269
|
readonly "@eventTypes": {
|
|
242
270
|
calciteInputChange: Input["calciteInputChange"]["detail"];
|
|
271
|
+
calciteInputInlineEditableCancel: Input["calciteInputInlineEditableCancel"]["detail"];
|
|
272
|
+
calciteInputInlineEditableChange: Input["calciteInputInlineEditableChange"]["detail"];
|
|
273
|
+
calciteInputInlineEditableConfirm: Input["calciteInputInlineEditableConfirm"]["detail"];
|
|
243
274
|
calciteInputInput: Input["calciteInputInput"]["detail"];
|
|
244
275
|
};
|
|
245
276
|
}
|
|
@@ -12,6 +12,7 @@ import { c as connectLabel, d as disconnectLabel, g as getLabelText } from "../.
|
|
|
12
12
|
import { i as isValidNumber, B as BigDecimal, n as numberStringFormatter, p as parseNumberString, s as sanitizeNumberString, a as addLocalizedTrailingDecimalZeros } from "../../chunks/locale.js";
|
|
13
13
|
import { g as getIconScale } from "../../chunks/component.js";
|
|
14
14
|
import { I as InternalLabel } from "../../chunks/InternalLabel.js";
|
|
15
|
+
import { U as UseInlineEditable, C as CSS$1, I as InlineEditableControls } from "../../chunks/useInlineEditable.js";
|
|
15
16
|
import { V as Validation } from "../../chunks/Validation.js";
|
|
16
17
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
17
18
|
import { u as useSetFocus } from "../../chunks/useSetFocus.js";
|
|
@@ -23,6 +24,9 @@ const CSS = {
|
|
|
23
24
|
clearButton: "clear-button",
|
|
24
25
|
editingEnabled: "editing-enabled",
|
|
25
26
|
inlineChild: "inline-child",
|
|
27
|
+
inlineEditableChild: "inline-editable-child",
|
|
28
|
+
// `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
|
|
29
|
+
inlineEditable: "inline-editable",
|
|
26
30
|
inputIcon: "icon",
|
|
27
31
|
prefix: "prefix",
|
|
28
32
|
suffix: "suffix",
|
|
@@ -58,7 +62,7 @@ const ICONS = {
|
|
|
58
62
|
chevronDown: "chevron-down"
|
|
59
63
|
};
|
|
60
64
|
const NUDGE_DELAY_IN_MS = 150;
|
|
61
|
-
const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block;--calcite-internal-input-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) );--calcite-internal-input-number-button-item-height: auto}:host([scale=s]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-sm)}:host([scale=s]) input,:host([scale=s]) .prefix,:host([scale=s]) .suffix{block-size:1.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) input{padding-inline:var(--calcite-spacing-sm)}:host([scale=s]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=s]) .prefix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s]) .suffix{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s]) input[type=file]{min-block-size:1.5rem}:host([scale=s]) .number-button-wrapper,:host([scale=s]) .action-wrapper{block-size:1.5rem}:host([scale=s]) .clear-button{block-size:var(--calcite-spacing-xxl)}:host([scale=s]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs)}:host([scale=s]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 8px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs);--calcite-internal-input-number-button-item-vertical-padding: 3px}:host([scale=m]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-md)}:host([scale=m]) input,:host([scale=m]) .prefix,:host([scale=m]) .suffix{block-size:2rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) input{padding-inline:var(--calcite-spacing-md)}:host([scale=m]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xs)}:host([scale=m]) .prefix{padding-inline:var(--calcite-spacing-md) var(--calcite-spacing-xs)}:host([scale=m]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xs)}:host([scale=m]) .suffix{padding-inline:var(--calcite-spacing-xs) var(--calcite-spacing-md)}:host([scale=m]) input[type=file]{min-block-size:2rem}:host([scale=m]) .number-button-wrapper,:host([scale=m]) .action-wrapper{block-size:2rem}:host([scale=m]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm)}:host([scale=m]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 11px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm);--calcite-internal-input-number-button-item-vertical-padding: var(--calcite-space-2xs)}:host([scale=l]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-lg)}:host([scale=l]) input,:host([scale=l]) .prefix,:host([scale=l]) .suffix{block-size:2.75rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) input{padding-inline:var(--calcite-spacing-lg)}:host([scale=l]) .has-prefix input{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .prefix{padding-inline:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=l]) .has-suffix input{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=l]) .suffix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-lg)}:host([scale=l]) input[type=file]{min-block-size:2.75rem}:host([scale=l]) .number-button-wrapper,:host([scale=l]) .action-wrapper{block-size:2.75rem}:host([scale=l]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus)}:host([scale=l]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 16px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus);--calcite-internal-input-number-button-item-vertical-padding: 5px}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{position:relative;margin:0;box-sizing:border-box;display:flex;max-block-size:100%;inline-size:100%;max-inline-size:100%;flex:1 1 0%;text-overflow:ellipsis;border-width:1px;border-style:solid;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-color, var(--calcite-color-text-1));transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-prefix input,.element-wrapper:has(.icon) input{border-start-start-radius:0;border-end-start-radius:0}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) input,.has-prefix input,.element-wrapper:has(.icon) input{border-inline-start-width:0}.element-wrapper:has(.clear-button) input,.has-suffix input,.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) input,.element-wrapper:has(.number-button-item) input{border-inline-end-width:0}.has-suffix input,.element-wrapper:has(.clear-button) input,:host([number-button-type=vertical][type=number]) input,:host([number-button-type=horizontal]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .clear-button,:host([number-button-type=horizontal][type=number]) .clear-button{border-start-end-radius:0;border-end-end-radius:0}:host([number-button-type=horizontal]) input{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:0;border-end-end-radius:0}.has-prefix :is(.prefix:first-child,.loader+.prefix),:host([number-button-type=horizontal]) .number-button-item[data-adjustment=down],.element-wrapper:has(.icon) :is(.icon:first-child,.loader+.icon){border-start-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-suffix .suffix,:host([number-button-type=vertical][type=number][read-only]) .has-suffix .suffix,:host([clearable]) .clear-button,:host([number-button-type=horizontal]) .number-button-item[data-adjustment=up]{border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}:host([clearable]) .has-suffix .clear-button{border-end-end-radius:0;border-start-end-radius:0}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-text-color, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-text-color, var(--calcite-color-text-1))}:host([read-only]) .prefix,:host([read-only]) .icon,:host([read-only]) .clear-button,:host([read-only]) .suffix{background-color:var(--calcite-input-background-color, var(--calcite-color-background))}.element-wrapper{position:relative;display:inline-flex;flex:1 1 0%;align-items:center;order:3;isolation:isolate}.element-wrapper:has(input:focus){outline:var(--calcite-border-width-md) solid var(--calcite-internal-input-focus-outline-color);outline-offset:calc(var(--calcite-border-width-sm) * -2)}.element-wrapper:has(input:focus) input{z-index:calc(var(--calcite-z-index) * -1)}:host([status=invalid]) .prefix,:host([status=invalid]) .icon,:host([status=invalid]) input,:host([status=invalid]) .clear-button,:host([status=invalid]) .suffix,:host([status=invalid]) .number-button-item{border-color:var(--calcite-color-status-danger)}:host([status=invalid]){--calcite-internal-input-focus-outline-color: var(--calcite-color-status-danger)}.icon{box-sizing:border-box;display:flex;align-self:stretch;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));border-inline-end-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-icon-color, var(--calcite-color-text-3));align-items:center;padding-inline-start:var(--calcite-internal-input-icon-padding-inline)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .icon,.has-prefix .icon{border-inline-start-width:0}input[type=text]::-ms-clear,input[type=text]::-ms-reveal{display:none;block-size:0px;inline-size:0px}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration,input[type=date]::-webkit-clear-button,input[type=time]::-webkit-clear-button{display:none}.clear-button{box-sizing:border-box;display:flex;align-self:stretch;order:4;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1))}.has-suffix .clear-button,.element-wrapper:has(.number-button-item.number-button-item--horizontal[data-adjustment=up]) .clear-button,.element-wrapper:has(.number-button-item) .clear-button{border-inline-end-width:0}.loader{inset-block-start:1px;inset-inline:1px;pointer-events:none;position:absolute;display:block;--calcite-progress-background-color: var(--calcite-input-loading-background-color);--calcite-progress-fill-color: var(--calcite-input-loading-fill-color)}.action-wrapper{order:7;display:flex}.prefix,.suffix{box-sizing:border-box;display:flex;block-size:auto;min-block-size:100%;-webkit-user-select:none;user-select:none;align-content:center;align-items:center;overflow-wrap:break-word;border-width:1px;border-style:solid;line-height:1;font-weight:var(--calcite-font-weight-regular);border-color:var(--calcite-input-border-color, var(--calcite-color-border-input))}.prefix{order:0;border-inline-end-width:0px;inline-size:var(--calcite-input-prefix-size, auto);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-prefix-text-color, var(--calcite-color-text-2))}.suffix{order:5;border-inline-start-width:0px;inline-size:var(--calcite-input-suffix-size, auto);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-suffix-text-color, var(--calcite-color-text-2))}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .prefix{border-inline-start-width:var(--calcite-border-width-none)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) .suffix,.element-wrapper:has(.number-button-item) .suffix{border-inline-end-width:var(--calcite-border-width-none)}:host([alignment=start]) input{text-align:start}:host([alignment=end]) input{text-align:end}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield;margin:0}.number-button-wrapper{pointer-events:none;box-sizing:border-box;display:flex;flex-direction:column;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;order:6}:host([number-button-type=vertical]) .wrapper{flex-direction:row;display:flex}:host([number-button-type=vertical]) input{order:2}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=down] calcite-action{transform:rotate(-90deg)}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=up] calcite-action{transform:rotate(-90deg)}.number-button-item.number-button-item--horizontal{border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));max-block-size:100%;min-block-size:100%;align-self:stretch;border-width:1px;border-style:solid}.number-button-item.number-button-item--horizontal[data-adjustment=down] calcite-action,.number-button-item.number-button-item--horizontal[data-adjustment=up] calcite-action{transform:rotate(90deg)}.number-button-item.number-button-item--horizontal[data-adjustment=down]{border-inline-end-width:0px;order:0;padding-inline-start:var(--calcite-internal-input-number-button-item-horizontal-padding)}.number-button-item.number-button-item--horizontal[data-adjustment=up]{border-inline-start-width:0px;order:5;padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item{padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-block-end-width:var(--calcite-border-width-none);padding-block-start:var(--calcite-internal-input-number-button-item-vertical-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=down]{border-block-start-width:0px;border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));padding-block-end:var(--calcite-internal-input-number-button-item-vertical-padding)}.number-button-item{max-block-size:50%;min-block-size:50%;pointer-events:initial;box-sizing:border-box;display:flex;cursor:pointer;align-items:center;align-self:center;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));border-inline-start-width:var(--calcite-border-width-none)}.number-button-item:hover calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-hover, var(--calcite-color-foreground-2) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.number-button-item:active calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-press, var(--calcite-color-foreground-3) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.number-button-item calcite-action{--calcite-internal-action-height: var(--calcite-internal-input-number-button-item-height);--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color);--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.number-button-item calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.number-button-item calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}.wrapper{position:relative;display:flex;flex-direction:row;align-items:center;border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));box-shadow:var(--calcite-input-shadow, var(--calcite-shadow-none))}input[type=date]::-webkit-input-placeholder{visibility:hidden!important}:host([type=color]) input{padding:.25rem}:host([type=file]) input{cursor:pointer;border-width:1px;border-style:dashed;background-color:var(--calcite-color-foreground-1);text-align:center;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));block-size:initial}:host([type=file][scale=s]) input{padding-block:1px;padding-inline:.5rem}:host([type=file][scale=m]) input{padding-block:.25rem;padding-inline:.75rem}:host([type=file][scale=l]) input{padding-block:.5rem;padding-inline:1rem}:host(.no-bottom-border) input{border-block-end-width:0px}:host(.border-top-color-one) input{border-block-start-color:var(--calcite-color-border-1)}input.inline-child{background-color:transparent;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}input.inline-child .editing-enabled{background-color:inherit}input.inline-child:not(.editing-enabled){display:flex;cursor:pointer;text-overflow:ellipsis;border-color:transparent;padding-inline-start:0}:host([type=datetime-local]) .element-wrapper{inline-size:100%}:host([type=datetime-local]) .element-wrapper input{display:inline-block;min-inline-size:0}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-placeholder-text-color, var(--calcite-color-text-3))}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-spacing-xxs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-spacing-sm-plus)}`;
|
|
65
|
+
const styles = css`:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}:host{display:block;--calcite-internal-input-focus-outline-color: var( --calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)) );--calcite-internal-input-number-button-item-height: auto}:host([scale=s]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-sm)}:host([scale=s]) input,:host([scale=s]) .prefix,:host([scale=s]) .suffix{block-size:1.5rem;font-size:var(--calcite-font-size-relative-sm);line-height:var(--calcite-font-line-height-sm)}:host([scale=s]) input{padding-inline:var(--calcite-spacing-sm)}:host([scale=s]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xxs)}:host([scale=s]) .prefix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-xxs)}:host([scale=s]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xxs)}:host([scale=s]) .suffix{padding-inline:var(--calcite-spacing-xxs) var(--calcite-spacing-sm)}:host([scale=s]) input[type=file]{min-block-size:1.5rem}:host([scale=s]) .number-button-wrapper,:host([scale=s]) .action-wrapper{block-size:1.5rem}:host([scale=s]) .clear-button{block-size:var(--calcite-spacing-xxl)}:host([scale=s]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs)}:host([scale=s]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 8px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-xxs);--calcite-internal-input-number-button-item-vertical-padding: 3px}:host([scale=m]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-md)}:host([scale=m]) input,:host([scale=m]) .prefix,:host([scale=m]) .suffix{block-size:2rem;font-size:var(--calcite-font-size-relative-base);line-height:var(--calcite-font-line-height-base)}:host([scale=m]) input{padding-inline:var(--calcite-spacing-md)}:host([scale=m]) .has-prefix input{padding-inline-start:var(--calcite-spacing-xs)}:host([scale=m]) .prefix{padding-inline:var(--calcite-spacing-md) var(--calcite-spacing-xs)}:host([scale=m]) .has-suffix input{padding-inline-end:var(--calcite-spacing-xs)}:host([scale=m]) .suffix{padding-inline:var(--calcite-spacing-xs) var(--calcite-spacing-md)}:host([scale=m]) input[type=file]{min-block-size:2rem}:host([scale=m]) .number-button-wrapper,:host([scale=m]) .action-wrapper{block-size:2rem}:host([scale=m]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm)}:host([scale=m]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 11px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-space-sm);--calcite-internal-input-number-button-item-vertical-padding: var(--calcite-space-2xs)}:host([scale=l]){--calcite-internal-input-icon-padding-inline: var(--calcite-spacing-fixed-lg)}:host([scale=l]) input,:host([scale=l]) .prefix,:host([scale=l]) .suffix{block-size:2.75rem;font-size:var(--calcite-font-size-relative-md);line-height:var(--calcite-font-line-height-md)}:host([scale=l]) input{padding-inline:var(--calcite-spacing-lg)}:host([scale=l]) .has-prefix input{padding-inline-start:var(--calcite-spacing-sm)}:host([scale=l]) .prefix{padding-inline:var(--calcite-spacing-lg) var(--calcite-spacing-sm)}:host([scale=l]) .has-suffix input{padding-inline-end:var(--calcite-spacing-sm)}:host([scale=l]) .suffix{padding-inline:var(--calcite-spacing-sm) var(--calcite-spacing-lg)}:host([scale=l]) input[type=file]{min-block-size:2.75rem}:host([scale=l]) .number-button-wrapper,:host([scale=l]) .action-wrapper{block-size:2.75rem}:host([scale=l]):host([number-button-type=horizontal]){--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus)}:host([scale=l]):host([number-button-type=vertical]){--calcite-internal-input-number-button-item-height: 16px;--calcite-internal-input-number-button-item-horizontal-padding: var(--calcite-spacing-sm-plus);--calcite-internal-input-number-button-item-vertical-padding: 5px}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}input{position:relative;margin:0;box-sizing:border-box;display:flex;max-block-size:100%;inline-size:100%;max-inline-size:100%;flex:1 1 0%;text-overflow:ellipsis;border-width:1px;border-style:solid;font-family:inherit;font-weight:var(--calcite-font-weight-normal);outline:none;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-text-color, var(--calcite-color-text-1));transition:var(--calcite-animation-timing),block-size 0,outline-offset 0s;-webkit-appearance:none}input:placeholder-shown{text-overflow:ellipsis}.element-wrapper,input{border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-prefix input,.element-wrapper:has(.icon) input{border-start-start-radius:0;border-end-start-radius:0}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) input,.has-prefix input,.element-wrapper:has(.icon) input{border-inline-start-width:0}.element-wrapper:has(.clear-button) input,.has-suffix input,.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) input,.element-wrapper:has(.number-button-item) input{border-inline-end-width:0}.has-suffix input,.element-wrapper:has(.clear-button) input,:host([number-button-type=vertical][type=number]) input,:host([number-button-type=horizontal]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .has-suffix .suffix,:host([number-button-type=vertical][type=number]) .clear-button,:host([number-button-type=horizontal][type=number]) .clear-button{border-start-end-radius:0;border-end-end-radius:0}:host([number-button-type=horizontal]) input{border-start-start-radius:0;border-start-end-radius:0;border-end-start-radius:0;border-end-end-radius:0}.has-prefix :is(.prefix:first-child,.loader+.prefix),:host([number-button-type=horizontal]) .number-button-item[data-adjustment=down],.element-wrapper:has(.icon) :is(.icon:first-child,.loader+.icon){border-start-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-end-start-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}.has-suffix .suffix,:host([number-button-type=vertical][type=number][read-only]) .has-suffix .suffix,:host([clearable]) .clear-button,:host([number-button-type=horizontal]) .number-button-item[data-adjustment=up]{border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp))}:host([clearable]) .has-suffix .clear-button{border-end-end-radius:0;border-start-end-radius:0}input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:focus{border-color:var(--calcite-color-brand);color:var(--calcite-input-text-color, var(--calcite-color-text-1))}input[readonly]{font-weight:var(--calcite-font-weight-medium);background-color:var(--calcite-input-background-color, var(--calcite-color-background))}input[readonly]:focus{color:var(--calcite-input-text-color, var(--calcite-color-text-1))}:host([read-only]) .prefix,:host([read-only]) .icon,:host([read-only]) .clear-button,:host([read-only]) .suffix{background-color:var(--calcite-input-background-color, var(--calcite-color-background))}.element-wrapper{position:relative;display:inline-flex;flex:1 1 0%;align-items:center;order:3;isolation:isolate}.element-wrapper:has(input:focus){outline:var(--calcite-border-width-md) solid var(--calcite-internal-input-focus-outline-color);outline-offset:calc(var(--calcite-border-width-sm) * -2)}.element-wrapper:has(input:focus) input{z-index:calc(var(--calcite-z-index) * -1)}:host([status=invalid]) .prefix,:host([status=invalid]) .icon,:host([status=invalid]) input,:host([status=invalid]) .clear-button,:host([status=invalid]) .suffix,:host([status=invalid]) .number-button-item{border-color:var(--calcite-color-status-danger)}:host([status=invalid]){--calcite-internal-input-focus-outline-color: var(--calcite-color-status-danger)}.icon{box-sizing:border-box;display:flex;align-self:stretch;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));border-inline-end-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-icon-color, var(--calcite-color-text-3));align-items:center;padding-inline-start:var(--calcite-internal-input-icon-padding-inline)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .icon,.has-prefix .icon{border-inline-start-width:0}input[type=text]::-ms-clear,input[type=text]::-ms-reveal{display:none;block-size:0px;inline-size:0px}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration,input[type=date]::-webkit-clear-button,input[type=time]::-webkit-clear-button{display:none}.clear-button{box-sizing:border-box;display:flex;align-self:stretch;order:4;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));border-inline-start-width:var(--calcite-border-width-none);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1))}.has-suffix .clear-button,.element-wrapper:has(.number-button-item.number-button-item--horizontal[data-adjustment=up]) .clear-button,.element-wrapper:has(.number-button-item) .clear-button{border-inline-end-width:0}.loader{inset-block-start:1px;inset-inline:1px;pointer-events:none;position:absolute;display:block;--calcite-progress-background-color: var(--calcite-input-loading-background-color);--calcite-progress-fill-color: var(--calcite-input-loading-fill-color)}.inline-editable{order:7}.action-wrapper{order:8;display:flex}.prefix,.suffix{box-sizing:border-box;display:flex;block-size:auto;min-block-size:100%;-webkit-user-select:none;user-select:none;align-content:center;align-items:center;overflow-wrap:break-word;border-width:1px;border-style:solid;line-height:1;font-weight:var(--calcite-font-weight-regular);border-color:var(--calcite-input-border-color, var(--calcite-color-border-input))}.prefix{order:0;border-inline-end-width:0px;inline-size:var(--calcite-input-prefix-size, auto);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-prefix-text-color, var(--calcite-color-text-2))}.suffix{order:5;border-inline-start-width:0px;inline-size:var(--calcite-input-suffix-size, auto);background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));color:var(--calcite-input-suffix-text-color, var(--calcite-color-text-2))}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=down]) .prefix{border-inline-start-width:var(--calcite-border-width-none)}.element-wrapper:has(.number-button-item--horizontal[data-adjustment=up]) .suffix,.element-wrapper:has(.number-button-item) .suffix{border-inline-end-width:var(--calcite-border-width-none)}:host([alignment=start]) input{text-align:start}:host([alignment=end]) input{text-align:end}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:textfield;margin:0}.number-button-wrapper{pointer-events:none;box-sizing:border-box;display:flex;flex-direction:column;transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;order:6}:host([number-button-type=vertical]) .wrapper{flex-direction:row;display:flex}:host([number-button-type=vertical]) input{order:2}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=down] calcite-action{transform:rotate(-90deg)}:host([number-button-type=horizontal]) .calcite--rtl .number-button-item[data-adjustment=up] calcite-action{transform:rotate(-90deg)}.number-button-item.number-button-item--horizontal{border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));max-block-size:100%;min-block-size:100%;align-self:stretch;border-width:1px;border-style:solid}.number-button-item.number-button-item--horizontal[data-adjustment=down] calcite-action,.number-button-item.number-button-item--horizontal[data-adjustment=up] calcite-action{transform:rotate(90deg)}.number-button-item.number-button-item--horizontal[data-adjustment=down]{border-inline-end-width:0px;order:0;padding-inline-start:var(--calcite-internal-input-number-button-item-horizontal-padding)}.number-button-item.number-button-item--horizontal[data-adjustment=up]{border-inline-start-width:0px;order:5;padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item{padding-inline-end:var(--calcite-internal-input-number-button-item-horizontal-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=up]{border-start-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));border-block-end-width:var(--calcite-border-width-none);padding-block-start:var(--calcite-internal-input-number-button-item-vertical-padding)}:host([number-button-type=vertical]) .number-button-item[data-adjustment=down]{border-block-start-width:0px;border-end-end-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));padding-block-end:var(--calcite-internal-input-number-button-item-vertical-padding)}.number-button-item{max-block-size:50%;min-block-size:50%;pointer-events:initial;box-sizing:border-box;display:flex;cursor:pointer;align-items:center;align-self:center;border-width:var(--calcite-border-width-sm);border-style:solid;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1));border-inline-start-width:var(--calcite-border-width-none)}.number-button-item:hover calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-hover, var(--calcite-color-foreground-2) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.number-button-item:active calcite-action{--calcite-action-background-color: var( --calcite-input-actions-background-color-press, var(--calcite-color-foreground-3) );--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.number-button-item calcite-action{--calcite-internal-action-height: var(--calcite-internal-input-number-button-item-height);--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color);--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.number-button-item calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.number-button-item calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press);--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}.wrapper{position:relative;display:flex;flex-direction:row;align-items:center;border-radius:var(--calcite-input-corner-radius, var(--calcite-corner-radius-sharp));box-shadow:var(--calcite-input-shadow, var(--calcite-shadow-none))}input[type=date]::-webkit-input-placeholder{visibility:hidden!important}:host([type=color]) input{padding:.25rem}:host([type=file]) input{cursor:pointer;border-width:1px;border-style:dashed;background-color:var(--calcite-color-foreground-1);text-align:center;border-color:var(--calcite-input-border-color, var(--calcite-color-border-input));block-size:initial}:host([type=file][scale=s]) input{padding-block:1px;padding-inline:.5rem}:host([type=file][scale=m]) input{padding-block:.25rem;padding-inline:.75rem}:host([type=file][scale=l]) input{padding-block:.5rem;padding-inline:1rem}:host(.no-bottom-border) input{border-block-end-width:0px}:host(.border-top-color-one) input{border-block-start-color:var(--calcite-color-border-1)}input.inline-child{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out}input.inline-child.inline-editable-child{background-color:transparent}input.inline-child .editing-enabled{background-color:inherit}input.inline-child:not(.editing-enabled){display:flex;cursor:pointer;text-overflow:ellipsis;border-color:transparent;padding-inline-start:0}.element-wrapper:has(input.inline-child:not(.editing-enabled)) .loader,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .number-button-item,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .prefix,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .icon,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .clear-button,.element-wrapper:has(input.inline-child:not(.editing-enabled)) .suffix{display:none}:host([inline-editable]:not([editing-enabled])) .wrapper:hover input,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .inline-editable,:host([inline-editable]:not([editing-enabled])) .wrapper:hover .action-wrapper,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover input,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .inline-editable,:host:has(input.inline-child:not(.inline-editable-child):not(.editing-enabled)) .wrapper:hover .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-inline-editable-background-color-hover, var(--calcite-color-foreground-2))}:host([inline-editable]) .inline-editable,:host([inline-editable]) .action-wrapper{transition-property:background-color,block-size,border-color,box-shadow,color,inset-block-end,inset-block-start,inset-inline-end,inset-inline-start,inset-size,opacity,outline-color,transform;transition-duration:var(--calcite-animation-timing);transition-timing-function:ease-in-out;background-color:var(--calcite-input-background-color, var(--calcite-color-foreground-1))}:host([type=datetime-local]) .element-wrapper{inline-size:100%}:host([type=datetime-local]) .element-wrapper input{display:inline-block;min-inline-size:0}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-spacing-base)}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-xxs)}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-sm)}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-spacing-sm)}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-spacing-md)}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-spacing-md)}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}::slotted(input[slot=hidden-form-input]){margin:0!important;opacity:0!important;outline:none!important;padding:0!important;position:absolute!important;inset:0!important;transform:none!important;-webkit-appearance:none!important;z-index:-1!important}:host([hidden]){display:none}[hidden]{display:none}::placeholder{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-input-placeholder-text-color, var(--calcite-color-text-3))}.clear-button--container{display:flex;cursor:pointer;align-items:center}.clear-button--container:hover calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color: var(--calcite-input-actions-icon-color-hover, var(--calcite-color-text-1))}.clear-button--container:active calcite-action{--calcite-action-background-color: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color-press, var(--calcite-color-text-1))}.clear-button--container calcite-action{--calcite-internal-action-height: 100%;--calcite-internal-action-padding-inline: var(--calcite-spacing-none);--calcite-internal-action-padding-block: var(--calcite-spacing-none);--calcite-action-background-color: var(--calcite-input-actions-background-color, var(--calcite-color-foreground-2));--calcite-action-text-color: var(--calcite-input-actions-icon-color)}.clear-button--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-actions-background-color-hover, var(--calcite-color-foreground-3));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-hover)}.clear-button--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-actions-background-color-press, var(--calcite-color-border-2));--calcite-action-text-color-press: var(--calcite-input-actions-icon-color-press)}:host([scale=s]) .clear-button--container{padding:var(--calcite-spacing-xxs)}:host([scale=m]) .clear-button--container{padding:var(--calcite-spacing-xxs);padding-inline-end:var(--calcite-space-sm)}:host([scale=l]) .clear-button--container{padding-inline-end:var(--calcite-spacing-sm-plus)}.inline-editable--container{display:flex;cursor:pointer;align-items:center}.inline-editable--container .enable-editing,.inline-editable--container .confirm-changes,.inline-editable--container .cancel-editing{margin-inline-start:var(--calcite-space-2xs)}.inline-editable--container .enable-editing{--calcite-action-text-color: var(--calcite-input-inline-editable-control-text-color, var(--calcite-color-text-1))}.inline-editable--container calcite-action{--calcite-action-background-color: var(--calcite-input-inline-editable-control-background-color);--calcite-action-corner-radius: var(--calcite-input-inline-editable-control-corner-radius);--calcite-action-loader-color: var(--calcite-input-inline-editable-control-loader-color);--calcite-action-text-color: var(--calcite-input-inline-editable-control-text-color)}.inline-editable--container calcite-action:hover{--calcite-action-background-color-hover: var(--calcite-input-inline-editable-control-background-color-hover, var(--calcite-input-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-inline-editable-control-text-color-press, var(--calcite-input-inline-editable-control-text-color))}.inline-editable--container calcite-action:active{--calcite-action-background-color-press: var(--calcite-input-inline-editable-control-background-color-press, var(--calcite-input-inline-editable-control-background-color));--calcite-action-text-color-press: var(--calcite-input-inline-editable-control-text-color-press, var(--calcite-input-inline-editable-control-text-color))}`;
|
|
62
66
|
class Input extends LitElement {
|
|
63
67
|
constructor() {
|
|
64
68
|
super();
|
|
@@ -66,6 +70,7 @@ class Input extends LitElement {
|
|
|
66
70
|
this.attributeWatch = useWatchAttributes(["autofocus", "enterkeyhint", "inputmode", "spellcheck"], this.handleGlobalAttributesChanged);
|
|
67
71
|
this.childRef = createRef();
|
|
68
72
|
this.childNumberRef = createRef();
|
|
73
|
+
this.enableInlineEditingButtonRef = createRef();
|
|
69
74
|
this.direction = useDirection();
|
|
70
75
|
this.formSupport = useForm({
|
|
71
76
|
inputType: "text",
|
|
@@ -78,11 +83,36 @@ class Input extends LitElement {
|
|
|
78
83
|
this.messages = useT9n({ blocking: true });
|
|
79
84
|
this.focusSetter = useSetFocus()(this);
|
|
80
85
|
this.interactiveContainer = useInteractive(this);
|
|
86
|
+
this.useInlineEditable = new UseInlineEditable({
|
|
87
|
+
getEditingEnabled: () => this.editingEnabled,
|
|
88
|
+
setEditingEnabled: (editingEnabled) => {
|
|
89
|
+
this.editingEnabled = editingEnabled;
|
|
90
|
+
},
|
|
91
|
+
getValue: () => this.value,
|
|
92
|
+
setValue: (value) => {
|
|
93
|
+
this.setValue({ origin: "direct", value });
|
|
94
|
+
},
|
|
95
|
+
setFocus: () => {
|
|
96
|
+
void this.setFocus();
|
|
97
|
+
},
|
|
98
|
+
emitCancel: () => {
|
|
99
|
+
this.calciteInputInlineEditableCancel.emit();
|
|
100
|
+
},
|
|
101
|
+
emitConfirm: () => {
|
|
102
|
+
this.calciteInputInlineEditableConfirm.emit();
|
|
103
|
+
},
|
|
104
|
+
emitEnableEditingChange: () => {
|
|
105
|
+
this.calciteInputInlineEditableChange.emit();
|
|
106
|
+
}
|
|
107
|
+
});
|
|
108
|
+
this.inlineEditableLoading = false;
|
|
81
109
|
this.slottedActionElDisabledInternally = false;
|
|
82
110
|
this.alignment = "start";
|
|
83
111
|
this.clearable = false;
|
|
84
112
|
this.disabled = false;
|
|
85
113
|
this.editingEnabled = false;
|
|
114
|
+
this.inlineEditable = false;
|
|
115
|
+
this.inlineEditableControls = false;
|
|
86
116
|
this.groupSeparator = false;
|
|
87
117
|
this.iconFlipRtl = false;
|
|
88
118
|
this.loading = false;
|
|
@@ -98,11 +128,14 @@ class Input extends LitElement {
|
|
|
98
128
|
this.calciteInputInput = createEvent();
|
|
99
129
|
this.calciteInternalInputBlur = createEvent({ cancelable: false });
|
|
100
130
|
this.calciteInternalInputFocus = createEvent({ cancelable: false });
|
|
131
|
+
this.calciteInputInlineEditableCancel = createEvent({ cancelable: false });
|
|
132
|
+
this.calciteInputInlineEditableConfirm = createEvent({ cancelable: false });
|
|
133
|
+
this.calciteInputInlineEditableChange = createEvent({ cancelable: false });
|
|
101
134
|
this.listen("click", this.clickHandler);
|
|
102
135
|
this.listen("keydown", this.keyDownHandler);
|
|
103
136
|
}
|
|
104
137
|
static {
|
|
105
|
-
this.properties = { displayedValue: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], accept: 1, alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], files: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], localeFormat: [5, {}, { type: Boolean }], max: [11, {}, { reflect: true, type: Number }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], min: [11, {}, { reflect: true, type: Number }], minLength: [11, {}, { reflect: true, type: Number }], multiple: [5, {}, { type: Boolean }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [3, {}, { reflect: true }], pattern: 1, placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], step: [3, {}, { reflect: true }], suffixText: 1, type: [3, {}, { reflect: true }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
|
|
138
|
+
this.properties = { displayedValue: [16, {}, { state: true }], inlineEditableLoading: [16, {}, { state: true }], slottedActionElDisabledInternally: [16, {}, { state: true }], accept: 1, alignment: [3, {}, { reflect: true }], autocomplete: 1, clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], editingEnabled: [7, {}, { reflect: true, type: Boolean }], inlineEditable: [7, {}, { reflect: true, type: Boolean }], inlineEditableControls: [7, {}, { reflect: true, type: Boolean }], inlineEditableAfterConfirm: [0, {}, { attribute: false }], files: [0, {}, { attribute: false }], form: [3, {}, { reflect: true }], groupSeparator: [7, {}, { reflect: true, type: Boolean }], icon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], iconFlipRtl: [7, {}, { reflect: true, type: Boolean }], label: 1, labelText: 1, loading: [7, {}, { reflect: true, type: Boolean }], localeFormat: [5, {}, { type: Boolean }], max: [11, {}, { reflect: true, type: Number }], maxLength: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], min: [11, {}, { reflect: true, type: Number }], minLength: [11, {}, { reflect: true, type: Number }], multiple: [5, {}, { type: Boolean }], name: [3, {}, { reflect: true }], numberButtonType: [3, {}, { reflect: true }], numberingSystem: [3, {}, { reflect: true }], pattern: 1, placeholder: 1, prefixText: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], step: [3, {}, { reflect: true }], suffixText: 1, type: [3, {}, { reflect: true }], validationIcon: [3, { converter: stringOrBoolean, type: String }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
|
|
106
139
|
}
|
|
107
140
|
static {
|
|
108
141
|
this.formAssociated = true;
|
|
@@ -110,6 +143,12 @@ class Input extends LitElement {
|
|
|
110
143
|
static {
|
|
111
144
|
this.styles = styles;
|
|
112
145
|
}
|
|
146
|
+
get selfManagedInlineEditable() {
|
|
147
|
+
return this.inlineEditable && !this.inlineEditableEl;
|
|
148
|
+
}
|
|
149
|
+
get hasInlineEditableContext() {
|
|
150
|
+
return this.inlineEditable || !!this.inlineEditableEl;
|
|
151
|
+
}
|
|
113
152
|
get isClearable() {
|
|
114
153
|
return (this.clearable || this.type === "search") && this.value?.length > 0;
|
|
115
154
|
}
|
|
@@ -211,7 +250,19 @@ class Input extends LitElement {
|
|
|
211
250
|
if (this.readOnly || this.disabled || event.defaultPrevented) {
|
|
212
251
|
return;
|
|
213
252
|
}
|
|
214
|
-
if (this.
|
|
253
|
+
if (this.selfManagedInlineEditable && this.editingEnabled && event.key === "Escape") {
|
|
254
|
+
event.preventDefault();
|
|
255
|
+
if (this.clearable && this.value?.length > 0) {
|
|
256
|
+
this.clearInputValue(event);
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
this.useInlineEditable.cancelEditing();
|
|
260
|
+
requestAnimationFrame(() => {
|
|
261
|
+
this.enableInlineEditingButtonRef.value?.setFocus();
|
|
262
|
+
});
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
if (this.isClearable && event.key === "Escape" && (!this.hasInlineEditableContext || this.editingEnabled)) {
|
|
215
266
|
this.clearInputValue(event);
|
|
216
267
|
event.preventDefault();
|
|
217
268
|
}
|
|
@@ -221,6 +272,10 @@ class Input extends LitElement {
|
|
|
221
272
|
}
|
|
222
273
|
}
|
|
223
274
|
onLabelClick() {
|
|
275
|
+
if (this.selfManagedInlineEditable && !this.editingEnabled) {
|
|
276
|
+
this.useInlineEditable.enable();
|
|
277
|
+
return;
|
|
278
|
+
}
|
|
224
279
|
this.setFocus();
|
|
225
280
|
}
|
|
226
281
|
incrementOrDecrementNumberValue(direction, inputMax, inputMin, nativeEvent) {
|
|
@@ -250,6 +305,16 @@ class Input extends LitElement {
|
|
|
250
305
|
value: ""
|
|
251
306
|
});
|
|
252
307
|
}
|
|
308
|
+
clearButtonPointerDownHandler(event) {
|
|
309
|
+
event.preventDefault();
|
|
310
|
+
}
|
|
311
|
+
clearButtonClickHandler(event) {
|
|
312
|
+
event.preventDefault();
|
|
313
|
+
event.stopPropagation();
|
|
314
|
+
this.clearInputValue(event);
|
|
315
|
+
const target = this.type === "number" ? this.childNumberRef.value : this.childRef.value;
|
|
316
|
+
target?.focus();
|
|
317
|
+
}
|
|
253
318
|
emitChangeIfUserModified() {
|
|
254
319
|
if (this.previousValueOrigin === "user" && this.value !== this.previousEmittedValue) {
|
|
255
320
|
this.calciteInputChange.emit();
|
|
@@ -259,6 +324,9 @@ class Input extends LitElement {
|
|
|
259
324
|
inputBlurHandler() {
|
|
260
325
|
this.stopNudging();
|
|
261
326
|
this.calciteInternalInputBlur.emit();
|
|
327
|
+
if (this.selfManagedInlineEditable && this.editingEnabled && !this.inlineEditableControls) {
|
|
328
|
+
this.useInlineEditable.disable();
|
|
329
|
+
}
|
|
262
330
|
this.emitChangeIfUserModified();
|
|
263
331
|
}
|
|
264
332
|
clickHandler(event) {
|
|
@@ -266,7 +334,13 @@ class Input extends LitElement {
|
|
|
266
334
|
return;
|
|
267
335
|
}
|
|
268
336
|
const composedPath = event.composedPath();
|
|
269
|
-
|
|
337
|
+
const clickedInlineEditableControls = composedPath.some((element) => element instanceof HTMLElement && element.classList.contains(CSS$1.container));
|
|
338
|
+
if (!composedPath.includes(this.inputWrapperRef.value) || composedPath.includes(this.actionWrapperRef.value) || clickedInlineEditableControls) {
|
|
339
|
+
return;
|
|
340
|
+
}
|
|
341
|
+
if (this.selfManagedInlineEditable && !this.editingEnabled) {
|
|
342
|
+
event.preventDefault();
|
|
343
|
+
this.useInlineEditable.enable();
|
|
270
344
|
return;
|
|
271
345
|
}
|
|
272
346
|
this.setFocus();
|
|
@@ -497,7 +571,7 @@ class Input extends LitElement {
|
|
|
497
571
|
render() {
|
|
498
572
|
const dir = this.direction;
|
|
499
573
|
const loader = html`<div class=${safeClassMap(CSS.loader)}><calcite-progress .label=${this.messages.loading} type=indeterminate></calcite-progress></div>`;
|
|
500
|
-
const clearButton = html`<div class=${safeClassMap(CSS.clearButton)} @click=${this.disabled || this.readOnly ? void 0 : this.
|
|
574
|
+
const clearButton = html`<div class=${safeClassMap(CSS.clearButton)} @click=${this.disabled || this.readOnly ? void 0 : this.clearButtonClickHandler} @pointerdown=${this.disabled || this.readOnly ? void 0 : this.clearButtonPointerDownHandler}>${ClearButton({ ariaLabel: this.messages.clear, disabled: this.disabled || this.readOnly, scale: this.scale, title: this.messages.clear })}</div>`;
|
|
501
575
|
const iconEl = html`<div class=${safeClassMap(CSS.inputIcon)}><calcite-icon .flipRtl=${this.iconFlipRtl} .icon=${this.requestedIcon} .scale=${getIconScale(this.scale)}></calcite-icon></div>`;
|
|
502
576
|
const isHorizontalNumberButton = this.numberButtonType === "horizontal";
|
|
503
577
|
const numberButtonsHorizontalUp = html`<div aria-hidden=true class=${safeClassMap({
|
|
@@ -514,17 +588,26 @@ class Input extends LitElement {
|
|
|
514
588
|
const autofocus = this.el.autofocus;
|
|
515
589
|
const enterKeyHint = this.el.enterKeyHint;
|
|
516
590
|
const inputMode = this.el.inputMode;
|
|
517
|
-
const localeNumberInput = this.type === "number" ? keyed("localized-input", html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus}
|
|
591
|
+
const localeNumberInput = this.type === "number" ? keyed("localized-input", html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} class=${safeClassMap({
|
|
592
|
+
[CSS.editingEnabled]: this.editingEnabled,
|
|
593
|
+
[CSS.inlineChild]: this.hasInlineEditableContext,
|
|
594
|
+
[CSS.inlineEditableChild]: !!this.inlineEditableEl
|
|
595
|
+
// `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
|
|
596
|
+
})} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} maxlength=${this.maxLength ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputNumberInputHandler} @keydown=${this.inputNumberKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} tabindex=${(this.disabled || this.hasInlineEditableContext && !this.editingEnabled ? -1 : void 0) ?? nothing} type=text .value=${live(this.displayedValue ?? "")} ${ref(this.childNumberRef)}>`) : null;
|
|
518
597
|
const childEl = this.type !== "number" ? html`<input accept=${this.accept ?? nothing} aria-errormessage=${IDS.validationMessage} .ariaInvalid=${this.status === "invalid"} .ariaLabel=${getLabelText(this)} autocomplete=${this.autocomplete ?? nothing} .autofocus=${autofocus} class=${safeClassMap({
|
|
519
598
|
[CSS.editingEnabled]: this.editingEnabled,
|
|
520
|
-
[CSS.inlineChild]:
|
|
521
|
-
|
|
599
|
+
[CSS.inlineChild]: this.hasInlineEditableContext,
|
|
600
|
+
[CSS.inlineEditableChild]: !!this.inlineEditableEl
|
|
601
|
+
// `calcite-inline-editable` deprecated in v5.2.0, removal target v7.0.0
|
|
602
|
+
})} value=${this.defaultValue ?? nothing} .disabled=${this.disabled} enterkeyhint=${enterKeyHint ?? nothing} inputmode=${inputMode ?? nothing} max=${this.maxString ?? nothing} maxlength=${this.maxLength ?? nothing} min=${this.minString ?? nothing} minlength=${this.minLength ?? nothing} .multiple=${this.multiple} name=${this.name ?? nothing} @blur=${this.inputBlurHandler} @focus=${this.inputFocusHandler} @input=${this.inputInputHandler} @keydown=${this.inputKeyDownHandler} @keyup=${this.inputKeyUpHandler} pattern=${this.pattern ?? nothing} placeholder=${(this.placeholder || "") ?? nothing} .readOnly=${this.readOnly} .required=${this.required} spellcheck=${this.el.spellcheck ?? nothing} step=${this.step ?? nothing} tabindex=${(this.disabled || this.hasInlineEditableContext && !this.editingEnabled ? -1 : void 0) ?? nothing} type=${this.type ?? nothing} .value=${live(this.value ?? "")} ${ref(this.childRef)}>` : null;
|
|
522
603
|
return this.interactiveContainer({ disabled: this.disabled, children: html`${this.labelText && InternalLabel({ labelText: this.labelText, onClick: this.onLabelClick, required: this.required, tooltipText: this.messages.required }) || ""}<div class=${safeClassMap({
|
|
523
604
|
[CSS.inputWrapper]: true,
|
|
524
605
|
[CSS_UTILITY.rtl]: dir === "rtl",
|
|
525
606
|
[CSS.hasSuffix]: this.suffixText,
|
|
526
607
|
[CSS.hasPrefix]: this.prefixText
|
|
527
|
-
})} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${localeNumberInput}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.type === "number" && this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}</div
|
|
608
|
+
})} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${localeNumberInput}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.type === "number" && this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.type === "number" && this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}</div>${this.selfManagedInlineEditable && html`<div class=${safeClassMap(CSS.inlineEditable)}>${InlineEditableControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, editingEnabled: this.editingEnabled, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, loading: this.inlineEditableLoading, onCancelEditing: () => this.useInlineEditable.cancelEditing(), onConfirmChanges: () => this.useInlineEditable.confirm(this.inlineEditableAfterConfirm, (loading) => {
|
|
609
|
+
this.inlineEditableLoading = loading;
|
|
610
|
+
}), onEnableEditing: () => this.useInlineEditable.enable(), scale: this.scale, showControls: this.editingEnabled && this.inlineEditableControls })}</div>` || ""}<div class=${safeClassMap(CSS.actionWrapper)} ${ref(this.actionWrapperRef)}><slot name=${SLOTS.action}></slot></div></div>${this.validationMessage && this.status === "invalid" ? Validation({ icon: this.validationIcon, id: IDS.validationMessage, message: this.validationMessage, scale: this.scale, status: this.status }) : null}` });
|
|
528
611
|
}
|
|
529
612
|
}
|
|
530
613
|
customElement("calcite-input", Input);
|
|
@@ -26,6 +26,14 @@ import type { IconName } from "../calcite-icon/interfaces.js";
|
|
|
26
26
|
* @cssproperty [--calcite-input-prefix-text-color] - When `prefixText` is provided, specifies the text color of the component's prefix element.
|
|
27
27
|
* @cssproperty [--calcite-input-suffix-size] - When `suffixText` is provided, specifies the width of the component's suffix element.
|
|
28
28
|
* @cssproperty [--calcite-input-suffix-text-color] - When `suffixText` is provided, specifies the text color of the component's suffix element.
|
|
29
|
+
* @cssproperty [--calcite-input-number-inline-editable-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component, its inline editable elements and slotted `calcite-action` wrappers, when hovered.
|
|
30
|
+
* @cssproperty [--calcite-input-number-inline-editable-control-background-color] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls.
|
|
31
|
+
* @cssproperty [--calcite-input-number-inline-editable-control-background-color-hover] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when hovered.
|
|
32
|
+
* @cssproperty [--calcite-input-number-inline-editable-control-background-color-press] - When `inline-editable` is enabled, specifies the background color of the component's inline editable controls, when pressed.
|
|
33
|
+
* @cssproperty [--calcite-input-number-inline-editable-control-corner-radius] - When `inline-editable` is enabled, specifies the corner radius of the component's inline editable controls.
|
|
34
|
+
* @cssproperty [--calcite-input-number-inline-editable-control-loader-color] - When `inline-editable` is enabled, specifies the loader color of the component's inline editable controls.
|
|
35
|
+
* @cssproperty [--calcite-input-number-inline-editable-control-text-color] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls.
|
|
36
|
+
* @cssproperty [--calcite-input-number-inline-editable-control-text-color-press] - When `inline-editable` is enabled, specifies the text color of the component's inline editable controls, when pressed or hovered.
|
|
29
37
|
* @slot [action] - A slot for positioning a `calcite-action` or other interactive content adjacent to the component.
|
|
30
38
|
* @slot [label-content] - A slot for rendering content next to the component's `labelText`.
|
|
31
39
|
*/
|
|
@@ -76,6 +84,20 @@ export abstract class InputNumber extends LitElement {
|
|
|
76
84
|
* @default false
|
|
77
85
|
*/
|
|
78
86
|
accessor iconFlipRtl: boolean;
|
|
87
|
+
/**
|
|
88
|
+
* When `true`, enables the component's built-in inline editable behavior.
|
|
89
|
+
*
|
|
90
|
+
* @default false
|
|
91
|
+
*/
|
|
92
|
+
accessor inlineEditable: boolean;
|
|
93
|
+
/** Specifies a callback to be executed when saving inline editable changes */
|
|
94
|
+
accessor inlineEditableAfterConfirm: () => Promise<void>;
|
|
95
|
+
/**
|
|
96
|
+
* When `true` and `inlineEditable` is `true`, displays the component's built-in inline editable save and cancel controls.
|
|
97
|
+
*
|
|
98
|
+
* @default false
|
|
99
|
+
*/
|
|
100
|
+
accessor inlineEditableControls: boolean;
|
|
79
101
|
/**
|
|
80
102
|
* When `true`, restricts the component to integer numbers only and disables exponential notation.
|
|
81
103
|
*
|
|
@@ -210,10 +232,19 @@ export abstract class InputNumber extends LitElement {
|
|
|
210
232
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
211
233
|
/** Fires each time a new `value` is typed and committed. */
|
|
212
234
|
readonly calciteInputNumberChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
235
|
+
/** Fires when built-in inline editable is cancelled. */
|
|
236
|
+
readonly calciteInputNumberInlineEditableCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
237
|
+
/** Fires when built-in inline editable is enabled. */
|
|
238
|
+
readonly calciteInputNumberInlineEditableChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
239
|
+
/** Fires when built-in inline editable is confirmed. */
|
|
240
|
+
readonly calciteInputNumberInlineEditableConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
213
241
|
/** Fires each time a new `value` is typed. */
|
|
214
242
|
readonly calciteInputNumberInput: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
215
243
|
readonly "@eventTypes": {
|
|
216
244
|
calciteInputNumberChange: InputNumber["calciteInputNumberChange"]["detail"];
|
|
245
|
+
calciteInputNumberInlineEditableCancel: InputNumber["calciteInputNumberInlineEditableCancel"]["detail"];
|
|
246
|
+
calciteInputNumberInlineEditableChange: InputNumber["calciteInputNumberInlineEditableChange"]["detail"];
|
|
247
|
+
calciteInputNumberInlineEditableConfirm: InputNumber["calciteInputNumberInlineEditableConfirm"]["detail"];
|
|
217
248
|
calciteInputNumberInput: InputNumber["calciteInputNumberInput"]["detail"];
|
|
218
249
|
};
|
|
219
250
|
}
|