@esri/calcite-components 5.2.0-next.99 → 5.2.1-next.0
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/README.md +1 -1
- package/dist/cdn/{UBVNE3FR.js → 26432722.js} +1 -1
- package/dist/cdn/{C2QTVMRZ.js → 2OVSYJAH.js} +1 -1
- package/dist/cdn/{CNEQCIJB.js → 2U77MGGA.js} +1 -1
- package/dist/cdn/{FLUGGEF5.js → 334JQBPO.js} +1 -1
- package/dist/cdn/{HZ2KFK3C.js → 33GDXJUX.js} +1 -1
- package/dist/cdn/{BPYFGYV6.js → 346YZ7VY.js} +1 -1
- package/dist/cdn/{SX33HSBC.js → 3B7QPJAS.js} +1 -1
- package/dist/cdn/3LM2LYNU.js +2 -0
- package/dist/cdn/3M6UKCCZ.js +2 -0
- package/dist/cdn/{GST32DAL.js → 3PTLQPY2.js} +1 -1
- package/dist/cdn/{ZKJVOU5M.js → 3U3X7DLG.js} +1 -1
- package/dist/cdn/{BANKSP32.js → 3VUB4NDR.js} +1 -1
- package/dist/cdn/{MW42632J.js → 3WMWTT7B.js} +1 -1
- package/dist/cdn/{4ZQAGLEN.js → 3ZHTQAFF.js} +1 -1
- package/dist/cdn/{OMZBU3IU.js → 3ZWBXTN2.js} +1 -1
- package/dist/cdn/{RVZ6FKKI.js → 42EK35NT.js} +1 -1
- package/dist/cdn/{DOVDZVPJ.js → 4AD2R7R5.js} +1 -1
- package/dist/cdn/{263AU5BP.js → 4DOP2ASQ.js} +1 -1
- package/dist/cdn/{XXWNYX3N.js → 4GNETAHI.js} +1 -1
- package/dist/cdn/{JAYFX3Q2.js → 56TWON4B.js} +1 -1
- package/dist/cdn/{MWXZ2MTK.js → 56XHFT5Y.js} +1 -1
- package/dist/cdn/{JFWDUC4M.js → 5HWWM56V.js} +1 -1
- package/dist/cdn/{73HUIP6T.js → 5NG5BQPF.js} +1 -1
- package/dist/cdn/{4HAPFKXF.js → 5RN2OKGO.js} +1 -1
- package/dist/cdn/{3Q2QX2LR.js → 6RUY5LCM.js} +1 -1
- package/dist/cdn/{5UAOUCGT.js → 6XRDQELB.js} +1 -1
- package/dist/cdn/{GDFZZ5E5.js → 72IWCFRM.js} +1 -1
- package/dist/cdn/{ETTFRHP7.js → 772CBSF6.js} +1 -1
- package/dist/cdn/{2TZMS7HF.js → 775IYAS6.js} +1 -1
- package/dist/cdn/{DS4P2F36.js → 7CDECM5P.js} +1 -1
- package/dist/cdn/{662PF6RJ.js → 7F5EEUNN.js} +1 -1
- package/dist/cdn/7HUVP2XV.js +2 -0
- package/dist/cdn/{J7CPCGSH.js → 7LYFIBL7.js} +1 -1
- package/dist/cdn/{NT5YKL2Y.js → 7PTYPMMV.js} +1 -1
- package/dist/cdn/A453LDV3.js +2 -0
- package/dist/cdn/{BRCQSLJQ.js → ADY7PQCS.js} +1 -1
- package/dist/cdn/{6ZPCDJMS.js → ADYGXA2N.js} +1 -1
- package/dist/cdn/ALZDXZUC.js +2 -0
- package/dist/cdn/{QYD7C2FO.js → B6OGNK6U.js} +1 -1
- package/dist/cdn/{44XJ3KOL.js → BMAI46HX.js} +1 -1
- package/dist/cdn/BOXFB3MP.js +2 -0
- package/dist/cdn/BOZAHMWY.js +2 -0
- package/dist/cdn/{CZX4YKQD.js → BQJ7QAYE.js} +1 -1
- package/dist/cdn/{52VPEAZH.js → C32EZMZW.js} +1 -1
- package/dist/cdn/C7LNM3HL.js +2 -0
- package/dist/cdn/{UKC7IODK.js → CDL5BNMN.js} +1 -1
- package/dist/cdn/{RXMQKTJR.js → CGH75CRF.js} +1 -1
- package/dist/cdn/{VFG4QJAL.js → CIYHSKF7.js} +1 -1
- package/dist/cdn/{BWNRKMS3.js → CTOCYTTR.js} +1 -1
- package/dist/cdn/{RJD35A5I.js → CTU5B3KC.js} +1 -1
- package/dist/cdn/{O2MNYT36.js → D4LLO72M.js} +1 -1
- package/dist/cdn/{REPXCTLA.js → D5HDV7HK.js} +1 -1
- package/dist/cdn/{ZEMJW5ZS.js → D7TWWF44.js} +1 -1
- package/dist/cdn/{RF3IKZ6O.js → DAP2VPDF.js} +1 -1
- package/dist/cdn/DHIYO6UH.js +2 -0
- package/dist/cdn/{DUNEDDAA.js → DJ65KHTT.js} +1 -1
- package/dist/cdn/{7FW2RVVH.js → DJD3CC5A.js} +1 -1
- package/dist/cdn/{3ANAA5WY.js → DJYRMK2C.js} +1 -1
- package/dist/cdn/{ILBDCXZZ.js → DL6SAQV4.js} +1 -1
- package/dist/cdn/{W4GTBLDU.js → DUDIVZGQ.js} +1 -1
- package/dist/cdn/{CSEY77KQ.js → EDXHLHEK.js} +1 -1
- package/dist/cdn/{D3AIPJFM.js → EIN7DQT3.js} +1 -1
- package/dist/cdn/{LCOU5YFI.js → EPJ7IFKU.js} +1 -1
- package/dist/cdn/{EOMTBPAM.js → EPKTJSSB.js} +1 -1
- package/dist/cdn/{X5QYKRNO.js → ERCK54DE.js} +1 -1
- package/dist/cdn/{SAZM37N6.js → FK326MY2.js} +1 -1
- package/dist/cdn/{YK6HNEMU.js → FNUTZYME.js} +1 -1
- package/dist/cdn/{BDRS3Y7M.js → FX5TGPAH.js} +1 -1
- package/dist/cdn/{XDANG4JV.js → FY7WEDQN.js} +1 -1
- package/dist/cdn/{M4XG6CGT.js → GMW5MPTM.js} +1 -1
- package/dist/cdn/GPD7HV23.js +2 -0
- package/dist/cdn/{QMRRNFHH.js → GZB75XBH.js} +1 -1
- package/dist/cdn/{IWH5NWUU.js → H7MGP25S.js} +1 -1
- package/dist/cdn/{Y6NAKDFA.js → HLIFWDQP.js} +1 -1
- package/dist/cdn/{RYMSHLIL.js → HZD5H23F.js} +1 -1
- package/dist/cdn/{TJBZHXEN.js → IJCFTYMJ.js} +1 -1
- package/dist/cdn/{PQ32Y6ZL.js → IOW5Z3SU.js} +1 -1
- package/dist/cdn/{DA4JUDJU.js → IWJQSMI4.js} +1 -1
- package/dist/cdn/{IHEH67LY.js → IYBRY24I.js} +1 -1
- package/dist/cdn/{I64YUHND.js → J6B5W6HH.js} +1 -1
- package/dist/cdn/{MTE46QCF.js → JI6NSKEV.js} +1 -1
- package/dist/cdn/{Y5J3BTH5.js → JJBJM2OJ.js} +1 -1
- package/dist/cdn/{RF2E4GRH.js → JNAEVEX5.js} +1 -1
- package/dist/cdn/{VW7FW6X2.js → JREPH2VL.js} +1 -1
- package/dist/cdn/{F2L2ICEF.js → K5XFENR7.js} +1 -1
- package/dist/cdn/{ELUBDVXJ.js → KCZJNER5.js} +1 -1
- package/dist/cdn/{J2FCKTAY.js → KQ4OCUO5.js} +1 -1
- package/dist/cdn/{Q2QSOF52.js → KSEF3TLS.js} +1 -1
- package/dist/cdn/{SHDRKD4O.js → KT6KY52P.js} +1 -1
- package/dist/cdn/{RCMSIMRP.js → KWN4MM3A.js} +1 -1
- package/dist/cdn/{HKZCFBV6.js → L7HFUK3G.js} +1 -1
- package/dist/cdn/{U53QKA4H.js → LIVPCPCA.js} +1 -1
- package/dist/cdn/{OZ4ROR63.js → MYUTWQWX.js} +1 -1
- package/dist/cdn/N6YOEFSV.js +2 -0
- package/dist/cdn/{Y6WHZAVU.js → N7N4MLB5.js} +1 -1
- package/dist/cdn/{5IFCTQIP.js → NDMUDXOZ.js} +1 -1
- package/dist/cdn/{QHYM366B.js → OJF5T5XY.js} +1 -1
- package/dist/cdn/{4SNLHQMJ.js → OW3U6T5J.js} +1 -1
- package/dist/cdn/{TPNBE2KI.js → OZOFR2GG.js} +1 -1
- package/dist/cdn/{DS7YC5ST.js → P6COGUMV.js} +1 -1
- package/dist/cdn/{A7S6MND4.js → PENOU5TN.js} +1 -1
- package/dist/cdn/{SC5XD7BD.js → PK2LDDBD.js} +1 -1
- package/dist/cdn/{3EL6KHB5.js → PMNFYSIR.js} +1 -1
- package/dist/cdn/{XZAMAONP.js → Q7WVCTBI.js} +1 -1
- package/dist/cdn/{2CNPC3OB.js → Q7Y5B4LB.js} +1 -1
- package/dist/cdn/{W3AEBEFX.js → QN6HNGLX.js} +1 -1
- package/dist/cdn/{5GISDVW5.js → QY7SDLEE.js} +1 -1
- package/dist/cdn/{WBHWBQHC.js → QYPTOYKS.js} +1 -1
- package/dist/cdn/{WFDVIUN7.js → RBPNU6ST.js} +1 -1
- package/dist/cdn/{JPDFANDQ.js → RCYZC42B.js} +1 -1
- package/dist/cdn/{PCI32ZDN.js → RDQHRWAK.js} +1 -1
- package/dist/cdn/{VB7JSUGB.js → RLUYZW3I.js} +1 -1
- package/dist/cdn/{4EHMEDLA.js → RW3VK62K.js} +1 -1
- package/dist/cdn/{UTSMZR73.js → RZRNVNLI.js} +1 -1
- package/dist/cdn/S4RYGITQ.js +2 -0
- package/dist/cdn/{TEOM4B4H.js → SAJGDBME.js} +1 -1
- package/dist/cdn/{44TFJRAK.js → SDPL45JE.js} +1 -1
- package/dist/cdn/{NAAFIXAF.js → SHV2W3BT.js} +1 -1
- package/dist/cdn/{N7LHYCP2.js → SKIVG43Z.js} +1 -1
- package/dist/cdn/{ZW6MT5KC.js → SR3EXOYY.js} +1 -1
- package/dist/cdn/{EES3BYY6.js → SU6QY5JA.js} +1 -1
- package/dist/cdn/{G5STALAI.js → SXAKRLPD.js} +1 -1
- package/dist/cdn/{KAVQKU3G.js → TBASJIIB.js} +1 -1
- package/dist/cdn/{7TYZDEGX.js → THP73LXL.js} +1 -1
- package/dist/cdn/{4VWHZFWR.js → TMJ22U5Z.js} +1 -1
- package/dist/cdn/TRBOVZT3.js +2 -0
- package/dist/cdn/{FRBCEYOV.js → UDQVMJ3S.js} +1 -1
- package/dist/cdn/{QQJJAYFU.js → UHIKZXRW.js} +1 -1
- package/dist/cdn/{GBRMQ3Q7.js → UV7KRWJF.js} +1 -1
- package/dist/cdn/UVCV5QVD.js +2 -0
- package/dist/cdn/{LQXCFNQS.js → UW77EV26.js} +1 -1
- package/dist/cdn/{ZL33K4C6.js → V5PEJNTB.js} +1 -1
- package/dist/cdn/{WDWHQGW6.js → VNA3UADR.js} +1 -1
- package/dist/cdn/VRVEOLT7.js +2 -0
- package/dist/cdn/{7FGFRTEF.js → VVVZYRRF.js} +1 -1
- package/dist/cdn/{WL3SJO7Q.js → WGPN42CN.js} +1 -1
- package/dist/cdn/{C65CLC4T.js → WI4ZFF5B.js} +1 -1
- package/dist/cdn/{V4PS7I6J.js → X6P74FM4.js} +1 -1
- package/dist/cdn/{3VHU2XEB.js → XYYLHYLL.js} +1 -1
- package/dist/cdn/{U6EJO5OV.js → YPAZP7GT.js} +1 -1
- package/dist/cdn/{ZKQDDLKK.js → YUHXCHM2.js} +1 -1
- package/dist/cdn/{HOOKFRJ5.js → ZJNPO53J.js} +1 -1
- package/dist/cdn/{BAXRS5AA.js → ZJU6M5HF.js} +1 -1
- package/dist/cdn/{TWOJRSW4.js → ZLBIDSOY.js} +1 -1
- package/dist/cdn/{ZYDS4IYB.js → ZNTPEW2R.js} +1 -1
- package/dist/cdn/{ZMIPEDSX.js → ZPUQDWIV.js} +1 -1
- package/dist/cdn/{J4ESZ24C.js → ZU3ZHGYC.js} +1 -1
- package/dist/cdn/index.js +2 -2
- package/dist/cdn/main.css +2 -2
- package/dist/chunks/dom.js +7 -1
- package/dist/chunks/resources25.js +0 -1
- package/dist/chunks/runtime.js +4 -4
- package/dist/chunks/useInlineEdit.js +16 -3
- package/dist/components/calcite-action/customElement.d.ts +0 -4
- package/dist/components/calcite-action-bar/customElement.js +0 -6
- package/dist/components/calcite-block-group/customElement.d.ts +4 -4
- package/dist/components/calcite-date-picker/customElement.js +9 -6
- package/dist/components/calcite-input/customElement.d.ts +18 -16
- package/dist/components/calcite-input/customElement.js +9 -4
- package/dist/components/calcite-input-number/customElement.d.ts +18 -16
- package/dist/components/calcite-input-number/customElement.js +8 -4
- package/dist/components/calcite-input-text/customElement.d.ts +18 -16
- package/dist/components/calcite-input-text/customElement.js +8 -4
- package/dist/components/calcite-input-time-zone/customElement.d.ts +2 -0
- package/dist/components/calcite-input-time-zone/customElement.js +2 -2
- package/dist/components/calcite-loader/customElement.js +2 -1
- package/dist/components/calcite-menu-item/customElement.js +1 -1
- package/dist/components/calcite-shell/customElement.js +3 -56
- package/dist/components/calcite-shell-panel/customElement.d.ts +0 -2
- package/dist/components/calcite-shell-panel/customElement.js +13 -88
- package/dist/components/calcite-slider/customElement.js +1 -1
- package/dist/components/calcite-text/customElement.d.ts +19 -0
- package/dist/components/calcite-text/customElement.js +174 -0
- package/dist/components/calcite-text/index.d.ts +1 -0
- package/dist/components/calcite-text/index.js +1 -0
- package/dist/docs/api.json +1 -1
- package/dist/docs/docs.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/index.d.ts +4 -0
- package/dist/loader.js +3 -2
- package/dist/types/lumina.d.ts +7 -2
- package/dist/types/preact.d.ts +8 -2
- package/dist/types/react.d.ts +9 -2
- package/dist/types/stencil.d.ts +7 -2
- package/package.json +8 -8
- package/dist/cdn/2AZPDNN5.js +0 -2
- package/dist/cdn/2WGPIXZA.js +0 -2
- package/dist/cdn/CGZCRVLV.js +0 -2
- package/dist/cdn/EFKVMB36.js +0 -2
- package/dist/cdn/FAAQEW6G.js +0 -2
- package/dist/cdn/MOTVD3GS.js +0 -2
- package/dist/cdn/OORHTUDV.js +0 -2
- package/dist/cdn/QHQOBCL5.js +0 -2
- package/dist/cdn/SIBUXQXU.js +0 -2
- package/dist/cdn/SYTC5OFS.js +0 -2
- package/dist/cdn/UK4JBUQZ.js +0 -2
- package/dist/cdn/WTI76WPS.js +0 -2
- package/dist/cdn/ZEYKF5ZX.js +0 -2
- package/dist/cdn/ZLGAOOX7.js +0 -2
|
@@ -12,19 +12,31 @@ const InlineEditControls = ({ cancelEditingLabel, confirmChangesLabel, inlineEdi
|
|
|
12
12
|
html`<calcite-action .ariaLabel=${confirmChangesLabel} class=${safeClassMap(CSS.confirmChanges)} .disabled=${loading} icon=check .loading=${loading} @click=${onConfirmChanges} .scale=${scale} .text=${confirmChangesLabel} title=${confirmChangesLabel ?? nothing} type=button></calcite-action>`,
|
|
13
13
|
html`<calcite-action .ariaLabel=${cancelEditingLabel} class=${safeClassMap(CSS.cancelEditing)} .disabled=${loading} icon=x @click=${onCancelEditing} .scale=${scale} .text=${cancelEditingLabel} title=${cancelEditingLabel ?? nothing} type=button></calcite-action>`
|
|
14
14
|
] || ""}</div>`;
|
|
15
|
+
const INLINE_EDIT_ACTIVATION_SOURCE = {
|
|
16
|
+
editButton: "edit-button",
|
|
17
|
+
input: "input"
|
|
18
|
+
};
|
|
15
19
|
class UseInlineEdit {
|
|
16
20
|
constructor(options) {
|
|
17
21
|
this.options = options;
|
|
18
22
|
this.valuePriorToEditing = "";
|
|
19
23
|
}
|
|
20
|
-
enable() {
|
|
21
|
-
this.
|
|
24
|
+
enable(source = INLINE_EDIT_ACTIVATION_SOURCE.input) {
|
|
25
|
+
this.captureValuePriorToEditing();
|
|
22
26
|
this.options.setInlineEditing(true);
|
|
23
27
|
requestAnimationFrame(() => {
|
|
24
|
-
this.options.setFocus();
|
|
28
|
+
this.options.setFocus(source);
|
|
25
29
|
});
|
|
26
30
|
this.options.emitEnableEditingChange();
|
|
27
31
|
}
|
|
32
|
+
setCaretPosition(input, source) {
|
|
33
|
+
if (source === INLINE_EDIT_ACTIVATION_SOURCE.editButton && input && input.selectionStart !== null) {
|
|
34
|
+
input.setSelectionRange(input.value.length, input.value.length);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
captureValuePriorToEditing() {
|
|
38
|
+
this.valuePriorToEditing = this.options.getValue();
|
|
39
|
+
}
|
|
28
40
|
disable() {
|
|
29
41
|
this.options.setInlineEditing(false);
|
|
30
42
|
}
|
|
@@ -61,5 +73,6 @@ export {
|
|
|
61
73
|
CSS as C,
|
|
62
74
|
InlineEditControls as I,
|
|
63
75
|
UseInlineEdit as U,
|
|
76
|
+
INLINE_EDIT_ACTIVATION_SOURCE as a,
|
|
64
77
|
inlineEditConverter as i
|
|
65
78
|
};
|
|
@@ -73,10 +73,6 @@ export abstract class Action extends LitElement {
|
|
|
73
73
|
/**
|
|
74
74
|
* Specifies the appearance of the component.
|
|
75
75
|
*
|
|
76
|
-
* @deprecated
|
|
77
|
-
* in v5.0.0, removal target v7.0.0 - No longer necessary for `"transparent"`.
|
|
78
|
-
*
|
|
79
|
-
* For a `"solid"` appearance, use the component's background color tokens instead.
|
|
80
76
|
* @default "transparent"
|
|
81
77
|
*/
|
|
82
78
|
accessor appearance: Extract<"solid" | "transparent", Appearance>;
|
|
@@ -190,12 +190,6 @@ class ActionBar extends LitElement {
|
|
|
190
190
|
return;
|
|
191
191
|
}
|
|
192
192
|
const { width, height } = entry.contentRect;
|
|
193
|
-
const axis = this.layout === "horizontal" ? "width" : "height";
|
|
194
|
-
const size = axis === "width" ? width : height;
|
|
195
|
-
if (this.lastOverflowAxisSize?.axis === axis && this.lastOverflowAxisSize.size === size) {
|
|
196
|
-
return;
|
|
197
|
-
}
|
|
198
|
-
this.lastOverflowAxisSize = { axis, size };
|
|
199
193
|
this.resize({ width, height });
|
|
200
194
|
};
|
|
201
195
|
this.resizeObserver = createObserver("resize", (entries) => this.resizeHandlerEntries(entries));
|
|
@@ -22,13 +22,13 @@ export abstract class BlockGroup extends LitElement {
|
|
|
22
22
|
*/
|
|
23
23
|
accessor dragEnabled: boolean;
|
|
24
24
|
/**
|
|
25
|
-
* Specifies the
|
|
25
|
+
* Specifies the expansion mode of the component, where:
|
|
26
26
|
*
|
|
27
|
-
* `"multiple"` allows any number of
|
|
27
|
+
* `"multiple"` allows any number of `calcite-block`s to be expanded,
|
|
28
28
|
*
|
|
29
|
-
* `"single"` allows only one
|
|
29
|
+
* `"single"` allows only one `calcite-block` to be expanded, and
|
|
30
30
|
*
|
|
31
|
-
* `"single-persist"` allows one
|
|
31
|
+
* `"single-persist"` allows one `calcite-block` to be expanded and prevents collapsing.
|
|
32
32
|
*
|
|
33
33
|
* @default "multiple"
|
|
34
34
|
*/
|
|
@@ -3,7 +3,7 @@ import { l as logger, c as customElement } from "../../chunks/runtime.js";
|
|
|
3
3
|
import { css, isServer, html } from "lit";
|
|
4
4
|
import { isEqual } from "es-toolkit";
|
|
5
5
|
import { LitElement, createEvent, safeClassMap } from "@arcgis/lumina";
|
|
6
|
-
import { d as dateFromISO, a as dateToISO, n as nextMonth, p as prevMonth, k as getDaysDiff, b as dateFromRange, s as sameDate, j as getFirstValidDateInMonth, i as inRange } from "../../chunks/date.js";
|
|
6
|
+
import { d as dateFromISO, a as dateToISO, n as nextMonth, p as prevMonth, k as getDaysDiff, b as dateFromRange, s as sameDate, j as getFirstValidDateInMonth, i as inRange, h as hasSameMonthAndYear } from "../../chunks/date.js";
|
|
7
7
|
import { n as numberStringFormatter, g as getDateTimeFormat } from "../../chunks/locale.js";
|
|
8
8
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
9
9
|
import { u as useFocusable } from "../../chunks/useFocusable.js";
|
|
@@ -380,12 +380,15 @@ class DatePicker extends LitElement {
|
|
|
380
380
|
this.activeStartDate = this.getActiveDate(startDate, this.minAsDate, this.maxAsDate);
|
|
381
381
|
this.activeEndDate = this.getActiveEndDate(endDate, this.minAsDate, this.maxAsDate);
|
|
382
382
|
if (sameDate(this.activeStartDate, this.activeEndDate)) {
|
|
383
|
-
const
|
|
384
|
-
const nextMonthActiveDate = this.
|
|
385
|
-
if (inRange(
|
|
386
|
-
this.activeStartDate = previousMonthActiveDate;
|
|
387
|
-
} else if (inRange(nextMonthActiveDate, this.minAsDate, this.maxAsDate)) {
|
|
383
|
+
const nextMonthDate = this.activeEndDate ? nextMonth(this.activeEndDate) : void 0;
|
|
384
|
+
const nextMonthActiveDate = inRange(nextMonthDate, this.minAsDate, this.maxAsDate) ? nextMonthDate : getFirstValidDateInMonth(nextMonthDate, this.minAsDate, this.maxAsDate);
|
|
385
|
+
if (hasSameMonthAndYear(nextMonthActiveDate, nextMonthDate) && inRange(nextMonthActiveDate, this.minAsDate, this.maxAsDate)) {
|
|
388
386
|
this.activeEndDate = nextMonthActiveDate;
|
|
387
|
+
} else if (this.calendars === 2) {
|
|
388
|
+
const previousMonthActiveDate = getFirstValidDateInMonth(this.activeStartDate ? prevMonth(this.activeStartDate) : void 0, this.minAsDate, this.maxAsDate);
|
|
389
|
+
if (inRange(previousMonthActiveDate, this.minAsDate, this.maxAsDate)) {
|
|
390
|
+
this.activeStartDate = previousMonthActiveDate;
|
|
391
|
+
}
|
|
389
392
|
}
|
|
390
393
|
}
|
|
391
394
|
}
|
|
@@ -45,21 +45,21 @@ export interface DeclareCssProperties {
|
|
|
45
45
|
"--calcite-input-loading-background-color": "*";
|
|
46
46
|
/** When `loading`, specifies the fill color of the component's `loading` element. */
|
|
47
47
|
"--calcite-input-loading-fill-color": "*";
|
|
48
|
-
/** When `
|
|
48
|
+
/** When `inlineEdit` is defined and `inlineEditing` is not set, specifies the component's background color when hovered. */
|
|
49
49
|
"--calcite-input-inline-edit-background-color-hover": "*";
|
|
50
|
-
/** When `
|
|
50
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls. */
|
|
51
51
|
"--calcite-input-inline-edit-control-background-color": "*";
|
|
52
|
-
/** When `
|
|
52
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls when hovered. */
|
|
53
53
|
"--calcite-input-inline-edit-control-background-color-hover": "*";
|
|
54
|
-
/** When `
|
|
54
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls when pressed. */
|
|
55
55
|
"--calcite-input-inline-edit-control-background-color-press": "*";
|
|
56
|
-
/** When `
|
|
56
|
+
/** When `inlineEdit` is defined, specifies the corner radius of the component's editing controls. */
|
|
57
57
|
"--calcite-input-inline-edit-control-corner-radius": "*";
|
|
58
|
-
/** When `
|
|
58
|
+
/** When `inlineEdit` is `true`, specifies the loader color of the component's confirm control. */
|
|
59
59
|
"--calcite-input-inline-edit-control-loader-color": "*";
|
|
60
|
-
/** When `
|
|
60
|
+
/** When `inlineEdit` is defined, specifies the text color of the component's editing controls. */
|
|
61
61
|
"--calcite-input-inline-edit-control-text-color": "*";
|
|
62
|
-
/** When `
|
|
62
|
+
/** When `inlineEdit` is defined, specifies the text color of the component's editing controls when pressed or hovered. */
|
|
63
63
|
"--calcite-input-inline-edit-control-text-color-press": "*";
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -125,18 +125,20 @@ export abstract class Input extends LitElement {
|
|
|
125
125
|
*/
|
|
126
126
|
accessor iconFlipRtl: boolean;
|
|
127
127
|
/**
|
|
128
|
-
* Enables
|
|
128
|
+
* Enables inline editing. When not editing, the component displays without a border.
|
|
129
|
+
* When `true`, edits must be saved or cancelled via controls.
|
|
130
|
+
* When `"controls-disabled"` is specified, edits are saved on blur.
|
|
129
131
|
*
|
|
130
132
|
* @default false
|
|
131
133
|
*/
|
|
132
134
|
accessor inlineEdit: boolean | "controls-disabled";
|
|
133
135
|
/**
|
|
134
|
-
* When `true
|
|
136
|
+
* When `true` and `inlineEdit` is defined, the component is editable.
|
|
135
137
|
*
|
|
136
138
|
* @default false
|
|
137
139
|
*/
|
|
138
140
|
accessor inlineEditing: boolean;
|
|
139
|
-
/**
|
|
141
|
+
/** When `inlineEdit` is `true`, specifies a callback to be run when changes are saved. */
|
|
140
142
|
accessor inlineEditingBeforeConfirm: (() => Promise<void>) | undefined;
|
|
141
143
|
/** Specifies an accessible label for the component. */
|
|
142
144
|
accessor label: string | undefined;
|
|
@@ -292,15 +294,15 @@ export abstract class Input extends LitElement {
|
|
|
292
294
|
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
293
295
|
*/
|
|
294
296
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
295
|
-
/** Fires each time a new `value` is
|
|
297
|
+
/** Fires each time a new `value` is committed. */
|
|
296
298
|
readonly calciteInputChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
297
|
-
/**
|
|
299
|
+
/** When `inlineEdit` is defined, fires when editing is cancelled. */
|
|
298
300
|
readonly calciteInputInlineEditingCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
299
|
-
/**
|
|
301
|
+
/** When `inlineEdit` is defined, fires when `inlineEditing` is enabled or disabled. */
|
|
300
302
|
readonly calciteInputInlineEditingChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
301
|
-
/**
|
|
303
|
+
/** When `inlineEdit` is `true`, fires after editing is confirmed. */
|
|
302
304
|
readonly calciteInputInlineEditingConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
303
|
-
/**
|
|
305
|
+
/** When `inlineEdit` is `false`, fires each time a new `value` is typed. */
|
|
304
306
|
readonly calciteInputInput: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
305
307
|
readonly "@eventTypes": {
|
|
306
308
|
calciteInputChange: Input["calciteInputChange"]["detail"];
|
|
@@ -13,7 +13,7 @@ import { i as isValidNumber, B as BigDecimal, n as numberStringFormatter, p as p
|
|
|
13
13
|
import { u as useLabel } from "../../chunks/useLabel.js";
|
|
14
14
|
import { g as getIconScale } from "../../chunks/component.js";
|
|
15
15
|
import { I as InternalLabel } from "../../chunks/InternalLabel.js";
|
|
16
|
-
import { U as UseInlineEdit, i as inlineEditConverter, C as CSS$1, I as InlineEditControls } from "../../chunks/useInlineEdit.js";
|
|
16
|
+
import { U as UseInlineEdit, i as inlineEditConverter, C as CSS$1, I as InlineEditControls, a as INLINE_EDIT_ACTIVATION_SOURCE } from "../../chunks/useInlineEdit.js";
|
|
17
17
|
import { V as Validation } from "../../chunks/Validation.js";
|
|
18
18
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
19
19
|
import { u as useFocusable } from "../../chunks/useFocusable.js";
|
|
@@ -94,8 +94,10 @@ class Input extends LitElement {
|
|
|
94
94
|
this.restoreInlineEditingValue(value);
|
|
95
95
|
},
|
|
96
96
|
commitValue: () => this.commitInlineEditingValue(),
|
|
97
|
-
setFocus: () => {
|
|
98
|
-
|
|
97
|
+
setFocus: async (source) => {
|
|
98
|
+
await this.setFocus();
|
|
99
|
+
const input = this.type === "number" ? this.childNumberRef.value : this.childRef.value;
|
|
100
|
+
this.inlineEditManager.setCaretPosition(input, source);
|
|
99
101
|
},
|
|
100
102
|
emitCancel: () => {
|
|
101
103
|
this.calciteInputInlineEditingCancel.emit();
|
|
@@ -213,6 +215,9 @@ class Input extends LitElement {
|
|
|
213
215
|
}
|
|
214
216
|
}
|
|
215
217
|
willUpdate(changes) {
|
|
218
|
+
if (changes.has("inlineEditing") && this.inlineEditing) {
|
|
219
|
+
this.inlineEditManager.captureValuePriorToEditing();
|
|
220
|
+
}
|
|
216
221
|
if (changes.has("max")) {
|
|
217
222
|
this.maxString = this.max?.toString() ?? void 0;
|
|
218
223
|
}
|
|
@@ -695,7 +700,7 @@ class Input extends LitElement {
|
|
|
695
700
|
[CSS_UTILITY.rtl]: dir === "rtl",
|
|
696
701
|
[CSS.hasSuffix]: this.suffixText,
|
|
697
702
|
[CSS.hasPrefix]: this.prefixText
|
|
698
|
-
})} ${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.selfManagedInlineEdit && html`<div class=${safeClassMap(CSS.inlineEdit)}>${InlineEditControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, inlineEditing: this.inlineEditing, loading: this.inlineEditingLoading, onCancelEditing: this.inlineEditCancelEditingHandler, onConfirmChanges: this.inlineEditConfirmChangesHandler, onEnableEditing: () => this.inlineEditManager.enable(), scale: this.scale, showControls: this.inlineEditing && !this.inlineEditControlsDisabled })}</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}` });
|
|
703
|
+
})} ${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.selfManagedInlineEdit && html`<div class=${safeClassMap(CSS.inlineEdit)}>${InlineEditControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, inlineEditing: this.inlineEditing, loading: this.inlineEditingLoading, onCancelEditing: this.inlineEditCancelEditingHandler, onConfirmChanges: this.inlineEditConfirmChangesHandler, onEnableEditing: () => this.inlineEditManager.enable(INLINE_EDIT_ACTIVATION_SOURCE.editButton), scale: this.scale, showControls: this.inlineEditing && !this.inlineEditControlsDisabled })}</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}` });
|
|
699
704
|
}
|
|
700
705
|
}
|
|
701
706
|
customElement("calcite-input", Input);
|
|
@@ -47,21 +47,21 @@ export interface DeclareCssProperties {
|
|
|
47
47
|
"--calcite-input-suffix-size": "*";
|
|
48
48
|
/** When `suffixText` is provided, specifies the text color of the component's suffix element. */
|
|
49
49
|
"--calcite-input-suffix-text-color": "*";
|
|
50
|
-
/** When `
|
|
50
|
+
/** When `inlineEdit` is defined and `inlineEditing` is not set, specifies the component's background color when hovered. */
|
|
51
51
|
"--calcite-input-number-inline-edit-background-color-hover": "*";
|
|
52
|
-
/** When `
|
|
52
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls. */
|
|
53
53
|
"--calcite-input-number-inline-edit-control-background-color": "*";
|
|
54
|
-
/** When `
|
|
54
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls when hovered. */
|
|
55
55
|
"--calcite-input-number-inline-edit-control-background-color-hover": "*";
|
|
56
|
-
/** When `
|
|
56
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls when pressed. */
|
|
57
57
|
"--calcite-input-number-inline-edit-control-background-color-press": "*";
|
|
58
|
-
/** When `
|
|
58
|
+
/** When `inlineEdit` is defined, specifies the corner radius of the component's editing controls. */
|
|
59
59
|
"--calcite-input-number-inline-edit-control-corner-radius": "*";
|
|
60
|
-
/** When `
|
|
60
|
+
/** When `inlineEdit` is `true`, specifies the loader color of the component's confirm control. */
|
|
61
61
|
"--calcite-input-number-inline-edit-control-loader-color": "*";
|
|
62
|
-
/** When `
|
|
62
|
+
/** When `inlineEdit` is defined, specifies the text color of the component's editing controls. */
|
|
63
63
|
"--calcite-input-number-inline-edit-control-text-color": "*";
|
|
64
|
-
/** When `
|
|
64
|
+
/** When `inlineEdit` is defined, specifies the text color of the component's editing controls when pressed or hovered. */
|
|
65
65
|
"--calcite-input-number-inline-edit-control-text-color-press": "*";
|
|
66
66
|
}
|
|
67
67
|
}
|
|
@@ -118,18 +118,20 @@ export abstract class InputNumber extends LitElement {
|
|
|
118
118
|
*/
|
|
119
119
|
accessor iconFlipRtl: boolean;
|
|
120
120
|
/**
|
|
121
|
-
* Enables
|
|
121
|
+
* Enables inline editing. When not editing, the component displays without a border.
|
|
122
|
+
* When `true`, edits must be saved or cancelled via controls.
|
|
123
|
+
* When `"controls-disabled"` is specified, edits are saved on blur.
|
|
122
124
|
*
|
|
123
125
|
* @default false
|
|
124
126
|
*/
|
|
125
127
|
accessor inlineEdit: boolean | "controls-disabled";
|
|
126
128
|
/**
|
|
127
|
-
* When `true
|
|
129
|
+
* When `true` and `inlineEdit` is defined, the component is editable.
|
|
128
130
|
*
|
|
129
131
|
* @default false
|
|
130
132
|
*/
|
|
131
133
|
accessor inlineEditing: boolean;
|
|
132
|
-
/**
|
|
134
|
+
/** When `inlineEdit` is `true`, specifies a callback to be run when changes are saved. */
|
|
133
135
|
accessor inlineEditingBeforeConfirm: (() => Promise<void>) | undefined;
|
|
134
136
|
/**
|
|
135
137
|
* When `true`, restricts the component to integer numbers only and disables exponential notation.
|
|
@@ -269,15 +271,15 @@ export abstract class InputNumber extends LitElement {
|
|
|
269
271
|
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
270
272
|
*/
|
|
271
273
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
272
|
-
/** Fires each time a new `value` is
|
|
274
|
+
/** Fires each time a new `value` is committed. */
|
|
273
275
|
readonly calciteInputNumberChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
274
|
-
/**
|
|
276
|
+
/** When `inlineEdit` is defined, fires when editing is cancelled. */
|
|
275
277
|
readonly calciteInputNumberInlineEditingCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
276
|
-
/**
|
|
278
|
+
/** When `inlineEdit` is defined, fires when `inlineEditing` is enabled or disabled. */
|
|
277
279
|
readonly calciteInputNumberInlineEditingChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
278
|
-
/**
|
|
280
|
+
/** When `inlineEdit` is `true`, fires after editing is confirmed. */
|
|
279
281
|
readonly calciteInputNumberInlineEditingConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
280
|
-
/**
|
|
282
|
+
/** When `inlineEdit` is `false`, fires each time a new `value` is typed. */
|
|
281
283
|
readonly calciteInputNumberInput: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
282
284
|
readonly "@eventTypes": {
|
|
283
285
|
calciteInputNumberChange: InputNumber["calciteInputNumberChange"]["detail"];
|
|
@@ -14,7 +14,7 @@ import { i as isValidNumber, n as numberStringFormatter, B as BigDecimal, p as p
|
|
|
14
14
|
import { g as getIconScale } from "../../chunks/component.js";
|
|
15
15
|
import { C as ClearButton } from "../../chunks/ClearButton.js";
|
|
16
16
|
import { I as InternalLabel } from "../../chunks/InternalLabel.js";
|
|
17
|
-
import { U as UseInlineEdit, i as inlineEditConverter, C as CSS$1, I as InlineEditControls } from "../../chunks/useInlineEdit.js";
|
|
17
|
+
import { U as UseInlineEdit, i as inlineEditConverter, C as CSS$1, I as InlineEditControls, a as INLINE_EDIT_ACTIVATION_SOURCE } from "../../chunks/useInlineEdit.js";
|
|
18
18
|
import { V as Validation } from "../../chunks/Validation.js";
|
|
19
19
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
20
20
|
import { u as useFocusable } from "../../chunks/useFocusable.js";
|
|
@@ -85,8 +85,9 @@ class InputNumber extends LitElement {
|
|
|
85
85
|
this.restoreInlineEditingValue(value);
|
|
86
86
|
},
|
|
87
87
|
commitValue: () => this.commitInlineEditingValue(),
|
|
88
|
-
setFocus: () => {
|
|
89
|
-
|
|
88
|
+
setFocus: async (source) => {
|
|
89
|
+
await this.setFocus();
|
|
90
|
+
this.inlineEditManager.setCaretPosition(this.childNumberRef.value, source);
|
|
90
91
|
},
|
|
91
92
|
emitCancel: () => {
|
|
92
93
|
this.calciteInputNumberInlineEditingCancel.emit();
|
|
@@ -200,6 +201,9 @@ class InputNumber extends LitElement {
|
|
|
200
201
|
}
|
|
201
202
|
}
|
|
202
203
|
willUpdate(changes) {
|
|
204
|
+
if (changes.has("inlineEditing") && this.inlineEditing) {
|
|
205
|
+
this.inlineEditManager.captureValuePriorToEditing();
|
|
206
|
+
}
|
|
203
207
|
if (changes.has("max")) {
|
|
204
208
|
this.maxString = this.max?.toString() || void 0;
|
|
205
209
|
}
|
|
@@ -661,7 +665,7 @@ class InputNumber extends LitElement {
|
|
|
661
665
|
[CSS.hasSuffix]: this.suffixText,
|
|
662
666
|
[CSS.hasPrefix]: this.prefixText,
|
|
663
667
|
[CSS.clearable]: this.isClearable
|
|
664
|
-
})} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}</div>${this.selfManagedInlineEdit && html`<div class=${safeClassMap(CSS.inlineEdit)}>${InlineEditControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, inlineEditing: this.inlineEditing, loading: this.inlineEditingLoading, onCancelEditing: this.inlineEditCancelEditingHandler, onConfirmChanges: this.inlineEditConfirmChangesHandler, onEnableEditing: () => this.inlineEditManager.enable(), scale: this.scale, showControls: this.inlineEditing && !this.inlineEditControlsDisabled })}</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}` });
|
|
668
|
+
})} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalDown : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}${this.numberButtonType === "horizontal" && !this.readOnly ? numberButtonsHorizontalUp : null}${this.numberButtonType === "vertical" && !this.readOnly ? numberButtonsVertical : null}</div>${this.selfManagedInlineEdit && html`<div class=${safeClassMap(CSS.inlineEdit)}>${InlineEditControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, inlineEditing: this.inlineEditing, loading: this.inlineEditingLoading, onCancelEditing: this.inlineEditCancelEditingHandler, onConfirmChanges: this.inlineEditConfirmChangesHandler, onEnableEditing: () => this.inlineEditManager.enable(INLINE_EDIT_ACTIVATION_SOURCE.editButton), scale: this.scale, showControls: this.inlineEditing && !this.inlineEditControlsDisabled })}</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}` });
|
|
665
669
|
}
|
|
666
670
|
}
|
|
667
671
|
customElement("calcite-input-number", InputNumber);
|
|
@@ -21,21 +21,21 @@ export interface DeclareCssProperties {
|
|
|
21
21
|
"--calcite-input-loading-background-color": "*";
|
|
22
22
|
/** When `loading`, specifies the fill color of the component`s `loading` element. */
|
|
23
23
|
"--calcite-input-loading-fill-color": "*";
|
|
24
|
-
/** When `
|
|
24
|
+
/** When `inlineEdit` is defined and `inlineEditing` is not set, specifies the component's background color when hovered. */
|
|
25
25
|
"--calcite-input-text-inline-edit-background-color-hover": "*";
|
|
26
|
-
/** When `
|
|
26
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls. */
|
|
27
27
|
"--calcite-input-text-inline-edit-control-background-color": "*";
|
|
28
|
-
/** When `
|
|
28
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls when hovered. */
|
|
29
29
|
"--calcite-input-text-inline-edit-control-background-color-hover": "*";
|
|
30
|
-
/** When `
|
|
30
|
+
/** When `inlineEdit` is defined, specifies the background color of the component's editing controls when pressed. */
|
|
31
31
|
"--calcite-input-text-inline-edit-control-background-color-press": "*";
|
|
32
|
-
/** When `
|
|
32
|
+
/** When `inlineEdit` is defined, specifies the corner radius of the component's editing controls. */
|
|
33
33
|
"--calcite-input-text-inline-edit-control-corner-radius": "*";
|
|
34
|
-
/** When `
|
|
34
|
+
/** When `inlineEdit` is `true`, specifies the loader color of the component's confirm control. */
|
|
35
35
|
"--calcite-input-text-inline-edit-control-loader-color": "*";
|
|
36
|
-
/** When `
|
|
36
|
+
/** When `inlineEdit` is defined, specifies the text color of the component's editing controls. */
|
|
37
37
|
"--calcite-input-text-inline-edit-control-text-color": "*";
|
|
38
|
-
/** When `
|
|
38
|
+
/** When `inlineEdit` is defined, specifies the text color of the component's editing controls when pressed or hovered. */
|
|
39
39
|
"--calcite-input-text-inline-edit-control-text-color-press": "*";
|
|
40
40
|
/** When `prefixText` is provided, specifies the width of the component's prefix element. */
|
|
41
41
|
"--calcite-input-prefix-size-x": "*";
|
|
@@ -108,18 +108,20 @@ export abstract class InputText extends LitElement {
|
|
|
108
108
|
*/
|
|
109
109
|
accessor iconFlipRtl: boolean;
|
|
110
110
|
/**
|
|
111
|
-
* Enables
|
|
111
|
+
* Enables inline editing. When not editing, the component displays without a border.
|
|
112
|
+
* When `true`, edits must be saved or cancelled via controls.
|
|
113
|
+
* When `"controls-disabled"` is specified, edits are saved on blur.
|
|
112
114
|
*
|
|
113
115
|
* @default false
|
|
114
116
|
*/
|
|
115
117
|
accessor inlineEdit: boolean | "controls-disabled";
|
|
116
118
|
/**
|
|
117
|
-
* When `true
|
|
119
|
+
* When `true` and `inlineEdit` is defined, the component is editable.
|
|
118
120
|
*
|
|
119
121
|
* @default false
|
|
120
122
|
*/
|
|
121
123
|
accessor inlineEditing: boolean;
|
|
122
|
-
/**
|
|
124
|
+
/** When `inlineEdit` is `true`, specifies a callback to be run when changes are saved. */
|
|
123
125
|
accessor inlineEditingBeforeConfirm: (() => Promise<void>) | undefined;
|
|
124
126
|
/** Specifies an accessible label for the component. */
|
|
125
127
|
accessor label: string | undefined;
|
|
@@ -231,15 +233,15 @@ export abstract class InputText extends LitElement {
|
|
|
231
233
|
* @see [MDN - focus(options)](https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/focus#options)
|
|
232
234
|
*/
|
|
233
235
|
setFocus(options?: FocusOptions): Promise<void>;
|
|
234
|
-
/** Fires each time a new `value` is
|
|
236
|
+
/** Fires each time a new `value` is committed. */
|
|
235
237
|
readonly calciteInputTextChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
236
|
-
/**
|
|
238
|
+
/** When `inlineEdit` is defined, fires when editing is cancelled. */
|
|
237
239
|
readonly calciteInputTextInlineEditingCancel: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
238
|
-
/**
|
|
240
|
+
/** When `inlineEdit` is defined, fires when `inlineEditing` is enabled or disabled. */
|
|
239
241
|
readonly calciteInputTextInlineEditingChange: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
240
|
-
/**
|
|
242
|
+
/** When `inlineEdit` is `true`, fires after editing is confirmed. */
|
|
241
243
|
readonly calciteInputTextInlineEditingConfirm: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
242
|
-
/**
|
|
244
|
+
/** When `inlineEdit` is `false`, fires each time a new `value` is typed. */
|
|
243
245
|
readonly calciteInputTextInput: import("@arcgis/lumina").TargetedEvent<this, void>;
|
|
244
246
|
readonly "@eventTypes": {
|
|
245
247
|
calciteInputTextChange: InputText["calciteInputTextChange"]["detail"];
|
|
@@ -12,7 +12,7 @@ import { u as useLabel } from "../../chunks/useLabel.js";
|
|
|
12
12
|
import { g as getIconScale } from "../../chunks/component.js";
|
|
13
13
|
import { C as ClearButton } from "../../chunks/ClearButton.js";
|
|
14
14
|
import { I as InternalLabel } from "../../chunks/InternalLabel.js";
|
|
15
|
-
import { U as UseInlineEdit, i as inlineEditConverter, C as CSS$1, I as InlineEditControls } from "../../chunks/useInlineEdit.js";
|
|
15
|
+
import { U as UseInlineEdit, i as inlineEditConverter, C as CSS$1, I as InlineEditControls, a as INLINE_EDIT_ACTIVATION_SOURCE } from "../../chunks/useInlineEdit.js";
|
|
16
16
|
import { V as Validation } from "../../chunks/Validation.js";
|
|
17
17
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
18
18
|
import { u as useFocusable } from "../../chunks/useFocusable.js";
|
|
@@ -70,8 +70,9 @@ class InputText extends LitElement {
|
|
|
70
70
|
this.restoreInlineEditingValue(value);
|
|
71
71
|
},
|
|
72
72
|
commitValue: () => this.commitInlineEditingValue(),
|
|
73
|
-
setFocus: () => {
|
|
74
|
-
|
|
73
|
+
setFocus: async (source) => {
|
|
74
|
+
await this.setFocus();
|
|
75
|
+
this.inlineEditManager.setCaretPosition(this.childRef.value, source);
|
|
75
76
|
},
|
|
76
77
|
emitCancel: () => {
|
|
77
78
|
this.calciteInputTextInlineEditingCancel.emit();
|
|
@@ -163,6 +164,9 @@ class InputText extends LitElement {
|
|
|
163
164
|
this.setPreviousValue(this.value);
|
|
164
165
|
}
|
|
165
166
|
willUpdate(changes) {
|
|
167
|
+
if (changes.has("inlineEditing") && this.inlineEditing) {
|
|
168
|
+
this.inlineEditManager.captureValuePriorToEditing();
|
|
169
|
+
}
|
|
166
170
|
if (changes.has("icon")) {
|
|
167
171
|
this.requestedIcon = setRequestedIcon({}, this.icon, "text");
|
|
168
172
|
}
|
|
@@ -392,7 +396,7 @@ class InputText extends LitElement {
|
|
|
392
396
|
[CSS.clearable]: this.isClearable,
|
|
393
397
|
[CSS.hasSuffix]: this.suffixText,
|
|
394
398
|
[CSS.hasPrefix]: this.prefixText
|
|
395
|
-
})} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}</div>${this.selfManagedInlineEdit && html`<div class=${safeClassMap(CSS.inlineEdit)}>${InlineEditControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, inlineEditing: this.inlineEditing, loading: this.inlineEditingLoading, onCancelEditing: this.inlineEditCancelEditingHandler, onConfirmChanges: this.inlineEditConfirmChangesHandler, onEnableEditing: () => this.inlineEditManager.enable(), scale: this.scale, showControls: this.inlineEditing && !this.inlineEditControlsDisabled })}</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}` });
|
|
399
|
+
})} ${ref(this.inputWrapperRef)}><div class=${safeClassMap(CSS.wrapper)}>${this.loading ? loader : null}${this.prefixText ? prefixText : null}${this.requestedIcon ? iconEl : null}${childEl}${this.isClearable ? clearButton : null}${this.suffixText ? suffixText : null}</div>${this.selfManagedInlineEdit && html`<div class=${safeClassMap(CSS.inlineEdit)}>${InlineEditControls({ cancelEditingLabel: this.messages.cancelInlineEditing, confirmChangesLabel: this.messages.confirmInlineEditingChanges, enableEditingButtonRef: this.enableInlineEditingButtonRef, enableEditingLabel: this.messages.enableInlineEditing, inlineEditing: this.inlineEditing, loading: this.inlineEditingLoading, onCancelEditing: this.inlineEditCancelEditingHandler, onConfirmChanges: this.inlineEditConfirmChangesHandler, onEnableEditing: () => this.inlineEditManager.enable(INLINE_EDIT_ACTIVATION_SOURCE.editButton), scale: this.scale, showControls: this.inlineEditing && !this.inlineEditControlsDisabled })}</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}` });
|
|
396
400
|
}
|
|
397
401
|
}
|
|
398
402
|
customElement("calcite-input-text", InputText);
|
|
@@ -30,6 +30,8 @@ export abstract class InputTimeZone extends LitElement {
|
|
|
30
30
|
accessor disabled: boolean;
|
|
31
31
|
/** Specifies the `id` of the component's associated form. When not set, the component is associated with its ancestor form element, if one exists. */
|
|
32
32
|
accessor form: string | undefined;
|
|
33
|
+
/** Specifies an accessible label for the component. */
|
|
34
|
+
accessor label: string | undefined;
|
|
33
35
|
/** Specifies the component's label text. */
|
|
34
36
|
accessor labelText: string | undefined;
|
|
35
37
|
/**
|
|
@@ -233,7 +233,7 @@ class InputTimeZone extends LitElement {
|
|
|
233
233
|
useLabel(this);
|
|
234
234
|
}
|
|
235
235
|
static {
|
|
236
|
-
this.properties = { selectedTimeZoneItem: [16, {}, { state: true }], timeZoneItems: [16, {}, { state: true }], clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], mode: [3, {}, { reflect: true }], name: [3, {}, { reflect: true }], offsetStyle: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], referenceDate: 1, required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
|
|
236
|
+
this.properties = { selectedTimeZoneItem: [16, {}, { state: true }], timeZoneItems: [16, {}, { state: true }], clearable: [7, {}, { reflect: true, type: Boolean }], disabled: [7, {}, { reflect: true, type: Boolean }], form: [3, {}, { reflect: true }], label: 1, labelText: 1, maxItems: [11, {}, { reflect: true, type: Number }], messageOverrides: [0, {}, { attribute: false }], mode: [3, {}, { reflect: true }], name: [3, {}, { reflect: true }], offsetStyle: [3, {}, { reflect: true }], open: [7, {}, { reflect: true, type: Boolean }], overlayPositioning: [3, {}, { reflect: true }], placeholder: 1, readOnly: [7, {}, { reflect: true, type: Boolean }], referenceDate: 1, required: [7, {}, { reflect: true, type: Boolean }], scale: [3, {}, { reflect: true }], status: [3, {}, { reflect: true }], topLayerDisabled: [7, {}, { reflect: true, type: Boolean }], validationIcon: [3, { converter: stringOrBoolean }, { reflect: true }], validationMessage: 1, validity: [32, {}, { readOnly: true, attribute: false }], value: 1 };
|
|
237
237
|
}
|
|
238
238
|
static {
|
|
239
239
|
this.formAssociated = true;
|
|
@@ -404,7 +404,7 @@ class InputTimeZone extends LitElement {
|
|
|
404
404
|
return !metadata.country || open || !selected ? label : getSelectedRegionTimeZoneLabel(label, metadata.country, this.messages);
|
|
405
405
|
}
|
|
406
406
|
render() {
|
|
407
|
-
return this.interactiveContainer({ disabled: this.disabled, children: html`<calcite-combobox .clearDisabled=${!this.clearable} .disabled=${this.disabled} .label=${this.messages.chooseTimeZone} .labelText=${this.labelText} lang=${this.messages._lang ?? nothing} .maxItems=${this.maxItems} @calciteComboboxBeforeClose=${this.onComboboxBeforeClose} @calciteComboboxBeforeOpen=${this.onComboboxBeforeOpen} @calciteComboboxChange=${this.onComboboxChange} @calciteComboboxClose=${this.onComboboxClose} @calciteComboboxOpen=${this.onComboboxOpen} .overlayPositioning=${this.overlayPositioning} .placeholder=${this.placeholder || this.messages[`${this.mode}Placeholder`]} placeholder-icon=search .readOnly=${this.readOnly} .required=${this.required} .scale=${this.scale} .selectionMode=${this.clearable ? "single" : "single-persist"} .status=${this.status} .topLayerDisabled=${this.topLayerDisabled} .validationIcon=${this.validationIcon} .validationMessage=${this.validationMessage} ${ref(this.comboboxRef)}>${this.renderItems()}<slot name=${SLOTS.labelContent} slot=${SLOTS$1.labelContent}></slot></calcite-combobox>` });
|
|
407
|
+
return this.interactiveContainer({ disabled: this.disabled, children: html`<calcite-combobox .clearDisabled=${!this.clearable} .disabled=${this.disabled} .label=${this.label || this.messages.chooseTimeZone} .labelText=${this.labelText} lang=${this.messages._lang ?? nothing} .maxItems=${this.maxItems} @calciteComboboxBeforeClose=${this.onComboboxBeforeClose} @calciteComboboxBeforeOpen=${this.onComboboxBeforeOpen} @calciteComboboxChange=${this.onComboboxChange} @calciteComboboxClose=${this.onComboboxClose} @calciteComboboxOpen=${this.onComboboxOpen} .overlayPositioning=${this.overlayPositioning} .placeholder=${this.placeholder || this.messages[`${this.mode}Placeholder`]} placeholder-icon=search .readOnly=${this.readOnly} .required=${this.required} .scale=${this.scale} .selectionMode=${this.clearable ? "single" : "single-persist"} .status=${this.status} .topLayerDisabled=${this.topLayerDisabled} .validationIcon=${this.validationIcon} .validationMessage=${this.validationMessage} ${ref(this.comboboxRef)}>${this.renderItems()}<slot name=${SLOTS.labelContent} slot=${SLOTS$1.labelContent}></slot></calcite-combobox>` });
|
|
408
408
|
}
|
|
409
409
|
renderItems() {
|
|
410
410
|
if (this.mode === "region") {
|
|
@@ -80,6 +80,7 @@ class Loader extends LitElement {
|
|
|
80
80
|
const { el, inline, label, text, type, value } = this;
|
|
81
81
|
const id = el.id || guid();
|
|
82
82
|
const isDeterminate = type !== "indeterminate";
|
|
83
|
+
const hasValueLabel = type === "determinate-value";
|
|
83
84
|
const valueNow = Math.floor(value);
|
|
84
85
|
this.el.ariaLabel = label;
|
|
85
86
|
this.el.ariaValueMax = isDeterminate ? "100" : null;
|
|
@@ -87,7 +88,7 @@ class Loader extends LitElement {
|
|
|
87
88
|
this.el.ariaValueNow = isDeterminate ? valueNow.toString() : null;
|
|
88
89
|
setAttribute(this.el, "id", id);
|
|
89
90
|
this.el.role = "progressbar";
|
|
90
|
-
return html`<div class=${safeClassMap(CSS.rings)}>${this.renderRing("track")}${this.renderRing("progress")}${!inline &&
|
|
91
|
+
return html`<div class=${safeClassMap(CSS.rings)}>${this.renderRing("track")}${this.renderRing("progress")}${!inline && hasValueLabel && html`<div class=${safeClassMap(CSS.percentage)}>${this.formatValue()}</div>` || ""}</div>${!inline && text && html`<div class=${safeClassMap(CSS.text)}>${text}</div>` || ""}`;
|
|
91
92
|
}
|
|
92
93
|
renderRing(type) {
|
|
93
94
|
const { inline, scale, value } = this;
|