@esri/calcite-components 5.2.0-next.98 → 5.2.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/{NJWHTLO4.js → 27NSJ3NC.js} +1 -1
- package/dist/cdn/{CB7LBQT3.js → 2MIERRJC.js} +1 -1
- package/dist/cdn/{OA2F2QZD.js → 2UCFIX3M.js} +1 -1
- package/dist/cdn/{ZFHUWYTE.js → 2VDNYLFE.js} +1 -1
- package/dist/cdn/{G2Q54OVF.js → 37KAQ4EV.js} +1 -1
- package/dist/cdn/{CFKBHINS.js → 3TUYJ6X4.js} +1 -1
- package/dist/cdn/{57UKXRWQ.js → 3UUFTFPC.js} +1 -1
- package/dist/cdn/{LMOFSYY3.js → 4CKWPATT.js} +1 -1
- package/dist/cdn/{VM4MUEFU.js → 4WU5FTJY.js} +1 -1
- package/dist/cdn/{NMMOB5LN.js → 53AO6SIJ.js} +1 -1
- package/dist/cdn/{HJJVHKD6.js → 5FTRHJ6W.js} +1 -1
- package/dist/cdn/{YU7CZHUG.js → 5GN63MWE.js} +1 -1
- package/dist/cdn/{4V62T27S.js → 5JRUTA2A.js} +1 -1
- package/dist/cdn/{OZJZY4BD.js → 5OCUJ4C5.js} +1 -1
- package/dist/cdn/{5YPGNRBF.js → 5QO2P6GI.js} +1 -1
- package/dist/cdn/{HBLFGSL3.js → 5VAMNX3B.js} +1 -1
- package/dist/cdn/{2A5EX3YM.js → 62CIR36Q.js} +1 -1
- package/dist/cdn/{WUJB2SSD.js → 6CH35SN4.js} +1 -1
- package/dist/cdn/6RLYKZIV.js +2 -0
- package/dist/cdn/{ITDPHRH5.js → 6S64CJRZ.js} +1 -1
- package/dist/cdn/{2EXBSJGA.js → 6SQTT7Z6.js} +1 -1
- package/dist/cdn/{AYHKYWGP.js → 6WFEQ2Z6.js} +1 -1
- package/dist/cdn/{AWUEMKOH.js → 6XZQRE5F.js} +1 -1
- package/dist/cdn/{7RXDF3B4.js → 6ZBREHXS.js} +1 -1
- package/dist/cdn/{5BCBG6T5.js → 6ZSIHUKO.js} +1 -1
- package/dist/cdn/{X4KWJUYD.js → 75HPA4BR.js} +1 -1
- package/dist/cdn/{4PNLKRIY.js → 7LERFY2L.js} +1 -1
- package/dist/cdn/{PPQE4UKN.js → 7M4TWHXM.js} +1 -1
- package/dist/cdn/{CKCFQ6II.js → 7RILCHYN.js} +1 -1
- package/dist/cdn/{QUK7RWWJ.js → 7WFGQILO.js} +1 -1
- package/dist/cdn/7Y3Z7SXE.js +2 -0
- package/dist/cdn/{CKTA5V2U.js → AJLFAFPK.js} +1 -1
- package/dist/cdn/{DOXK3WVW.js → ATYPU7K3.js} +1 -1
- package/dist/cdn/{QHNHQQ43.js → AYQOJ3VX.js} +1 -1
- package/dist/cdn/{VDEW2F53.js → AYXAUSXM.js} +1 -1
- package/dist/cdn/{JSRTYZXJ.js → BIM2GIKZ.js} +1 -1
- package/dist/cdn/{MI4AXTIU.js → BR6IQ4MI.js} +1 -1
- package/dist/cdn/{FPSKFROG.js → BSJMRW26.js} +1 -1
- package/dist/cdn/{X6HFIETC.js → BSPW6SRO.js} +1 -1
- package/dist/cdn/BSXWJ5BI.js +2 -0
- package/dist/cdn/{LUEXTAYW.js → BXVKMQL6.js} +1 -1
- package/dist/cdn/{3ITKAZS7.js → CJ4MNQVH.js} +1 -1
- package/dist/cdn/{6HDX4I2O.js → CW6MPKMI.js} +1 -1
- package/dist/cdn/{HA7WV73Y.js → CYK6CXXC.js} +1 -1
- package/dist/cdn/{XFLBLAHI.js → D37DWI2Z.js} +1 -1
- package/dist/cdn/{XLKHDOUY.js → DAALP2LM.js} +1 -1
- package/dist/cdn/{BKM63VLU.js → DIPELQOB.js} +1 -1
- package/dist/cdn/{7FW2RVVH.js → DJD3CC5A.js} +1 -1
- package/dist/cdn/{2E2PBGN5.js → DNIMYOKJ.js} +1 -1
- package/dist/cdn/{Q5E5RICU.js → DNKKEOPE.js} +1 -1
- package/dist/cdn/DP22R3BB.js +2 -0
- package/dist/cdn/{ZBFAZKHY.js → DPWIAZNN.js} +1 -1
- package/dist/cdn/{7IJLLQ2G.js → DQSSRRNX.js} +1 -1
- package/dist/cdn/{TLMYIVKK.js → DW7QYPEX.js} +1 -1
- package/dist/cdn/{NALY4WMJ.js → DWAKXY4G.js} +1 -1
- package/dist/cdn/{WGZQFFFM.js → EK2LCVRD.js} +1 -1
- package/dist/cdn/{SQWOPX56.js → ESSQB6HQ.js} +1 -1
- package/dist/cdn/{W2N7KP7H.js → EV7CXLZP.js} +1 -1
- package/dist/cdn/{LE7S5GRA.js → F4BSY6FM.js} +1 -1
- package/dist/cdn/F4LZH6AB.js +2 -0
- package/dist/cdn/{K72CW4S6.js → F5CQDWX2.js} +1 -1
- package/dist/cdn/{B3T24ZHP.js → FFLFQAV5.js} +1 -1
- package/dist/cdn/{TLR7DOKY.js → FHPQEV63.js} +1 -1
- package/dist/cdn/{SAZM37N6.js → FK326MY2.js} +1 -1
- package/dist/cdn/{QI6TVR6G.js → FSIDJITI.js} +1 -1
- package/dist/cdn/{5PKFTEHJ.js → FVZC57ZX.js} +1 -1
- package/dist/cdn/{2MHBNQCR.js → GJPJPHKT.js} +1 -1
- package/dist/cdn/{M4XG6CGT.js → GMW5MPTM.js} +1 -1
- package/dist/cdn/H4T7RAVN.js +2 -0
- package/dist/cdn/{K7RYCT4K.js → HCL47WJY.js} +1 -1
- package/dist/cdn/{A6SEPWPY.js → HJPEJE7P.js} +1 -1
- package/dist/cdn/HJUXNTJR.js +2 -0
- package/dist/cdn/{DA4UVFQR.js → HTW6CG6E.js} +1 -1
- package/dist/cdn/IEN3AQC5.js +2 -0
- package/dist/cdn/{WPATJNZ7.js → IEYQVHI3.js} +1 -1
- package/dist/cdn/{JNQMA57X.js → II7BF275.js} +1 -1
- package/dist/cdn/{4UEORAFN.js → JFBY7PPK.js} +1 -1
- package/dist/cdn/{6UI2URVJ.js → JKXNTLXS.js} +1 -1
- package/dist/cdn/{6DNLGK7K.js → JMZJWX72.js} +1 -1
- package/dist/cdn/{GWBODXKQ.js → JQ42CGMU.js} +1 -1
- package/dist/cdn/{WXRLJFNC.js → JSHH55OX.js} +1 -1
- package/dist/cdn/{KCTATKXI.js → JSKNOXYE.js} +1 -1
- package/dist/cdn/{3QYGMMT2.js → JSMMI2WT.js} +1 -1
- package/dist/cdn/{PRBWW5WZ.js → JXSD5O3H.js} +1 -1
- package/dist/cdn/{DYHN6V7Z.js → JZVY5BQ6.js} +1 -1
- package/dist/cdn/{I4I35OHJ.js → KCUJMVAV.js} +1 -1
- package/dist/cdn/{ULVMDWHR.js → KD7QIPOS.js} +1 -1
- package/dist/cdn/{JXIE2WQV.js → KRRJDCT6.js} +1 -1
- package/dist/cdn/{SBVPQLA5.js → LMOL22ZO.js} +1 -1
- package/dist/cdn/{FRSFEJRE.js → LPAYXBBN.js} +1 -1
- package/dist/cdn/{3GDX3KTW.js → M4RTUV4L.js} +1 -1
- package/dist/cdn/{Z6EYZM7Z.js → ML6YDT4P.js} +1 -1
- package/dist/cdn/{OKQZGS4D.js → NI2VVIMS.js} +1 -1
- package/dist/cdn/{3ZOULS76.js → NJE6XK5W.js} +1 -1
- package/dist/cdn/{LQIFYPWQ.js → NKWC4TEA.js} +1 -1
- package/dist/cdn/{C3DHEC4X.js → NOQO2PQ7.js} +1 -1
- package/dist/cdn/{5BIZBF5D.js → O55BBUQF.js} +1 -1
- package/dist/cdn/{2SGYAQUW.js → O6RLADGU.js} +1 -1
- package/dist/cdn/{3NE4PTY3.js → OFRX34HV.js} +1 -1
- package/dist/cdn/{L5NETQTN.js → OX26NF6A.js} +1 -1
- package/dist/cdn/{PLU3WUOM.js → P27HDJGR.js} +1 -1
- package/dist/cdn/{PKTVVOP3.js → P5SRIE25.js} +1 -1
- package/dist/cdn/{PGJKAA2N.js → PNKRVLX2.js} +1 -1
- package/dist/cdn/{7ZUNRI4T.js → PSCSNJ2D.js} +1 -1
- package/dist/cdn/{HAC57DOQ.js → QLI75LJG.js} +1 -1
- package/dist/cdn/QXAMCDUL.js +2 -0
- package/dist/cdn/{N7T6A3FA.js → RDVEB6BQ.js} +1 -1
- package/dist/cdn/{OVS4YSHC.js → REFFSBJH.js} +1 -1
- package/dist/cdn/{ETUHG3UR.js → RHEMSAUF.js} +1 -1
- package/dist/cdn/{BF4LNFAC.js → RIJMRODS.js} +1 -1
- package/dist/cdn/RLOJO2TT.js +2 -0
- package/dist/cdn/{HVA7XLPC.js → RZ6D42K5.js} +1 -1
- package/dist/cdn/{CLVHKFCN.js → S7DRNDQJ.js} +1 -1
- package/dist/cdn/{NXKY46RO.js → STAXE4JE.js} +1 -1
- package/dist/cdn/{OXIOZB4M.js → SVJWD2WC.js} +1 -1
- package/dist/cdn/{3YWF45H3.js → T3HKGRXT.js} +1 -1
- package/dist/cdn/{6T3JYCE5.js → T3N6MMSQ.js} +1 -1
- package/dist/cdn/{Y7VLGG73.js → TA36XBRX.js} +1 -1
- package/dist/cdn/TA3K6AKE.js +2 -0
- package/dist/cdn/{3LX33BGW.js → TAMVMNFJ.js} +1 -1
- package/dist/cdn/{4M3BJPBE.js → TCKL6JAB.js} +1 -1
- package/dist/cdn/{BYUICW6E.js → TYUFR52E.js} +1 -1
- package/dist/cdn/UND3EP47.js +2 -0
- package/dist/cdn/{2DTAUFUC.js → VBELHK2X.js} +1 -1
- package/dist/cdn/{BX27HCWA.js → VDFLDPGU.js} +1 -1
- package/dist/cdn/{Q2FE3QD4.js → VKP4VTXS.js} +1 -1
- package/dist/cdn/{GKEPBWTN.js → VMROXW3U.js} +1 -1
- package/dist/cdn/VRVEOLT7.js +2 -0
- package/dist/cdn/{FBTGOPHV.js → WITMH6FB.js} +1 -1
- package/dist/cdn/{VEKDLLAG.js → WJ2UOL5B.js} +1 -1
- package/dist/cdn/WONWNOVG.js +2 -0
- package/dist/cdn/{NQDGLOGS.js → WP2M7UMA.js} +1 -1
- package/dist/cdn/{Y7O7L2AF.js → WZNFNYAK.js} +1 -1
- package/dist/cdn/{IYEYKXGV.js → X6J6LR4T.js} +1 -1
- package/dist/cdn/{OXGMPMR6.js → XTMSYMTJ.js} +1 -1
- package/dist/cdn/{G77L5WDE.js → XVP6M4SS.js} +1 -1
- package/dist/cdn/{AXHGEDD6.js → XZXOYNWT.js} +1 -1
- package/dist/cdn/{3VQZ4HSN.js → Y4RR6IVL.js} +1 -1
- package/dist/cdn/{LPVJSAHY.js → YCZHRWNN.js} +1 -1
- package/dist/cdn/{CXOWPK5R.js → YQ3WTV7H.js} +1 -1
- package/dist/cdn/YVBFSYBI.js +2 -0
- package/dist/cdn/{OGBUWUBX.js → ZDYDBL4C.js} +1 -1
- package/dist/cdn/{C7WYI3QO.js → ZHO4PNKX.js} +1 -1
- package/dist/cdn/{CLKNOKXZ.js → ZQ5L5OTW.js} +1 -1
- package/dist/cdn/{QXZ2IFQT.js → ZSQ2QCED.js} +1 -1
- package/dist/cdn/{PPJFM27T.js → ZV4QR6RK.js} +1 -1
- package/dist/cdn/{DF5PO5NR.js → ZXOMX3F4.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/customElement.d.ts +2 -2
- 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-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 +6 -6
- package/dist/cdn/2HJPXQ5B.js +0 -2
- package/dist/cdn/5BCQFAP3.js +0 -2
- package/dist/cdn/5PHZOWLI.js +0 -2
- package/dist/cdn/6LJTJXNN.js +0 -2
- package/dist/cdn/7MXBNMS4.js +0 -2
- package/dist/cdn/BMMFKBDT.js +0 -2
- package/dist/cdn/EFKVMB36.js +0 -2
- package/dist/cdn/K6RS2D4V.js +0 -2
- package/dist/cdn/KKDHUZ5G.js +0 -2
- package/dist/cdn/MOBH63VI.js +0 -2
- package/dist/cdn/RRVVRS2A.js +0 -2
- package/dist/cdn/U7C73IJV.js +0 -2
- package/dist/cdn/W3FCMULY.js +0 -2
- package/dist/cdn/Y5J5HU47.js +0 -2
|
@@ -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") {
|
|
@@ -10,7 +10,7 @@ import { g as getIconScale } from "../../chunks/component.js";
|
|
|
10
10
|
import { u as useT9n } from "../../chunks/useT9n.js";
|
|
11
11
|
import { u as useFocusable } from "../../chunks/useFocusable.js";
|
|
12
12
|
import { C as CSS, I as ICONS, S as SLOTS } from "../../chunks/resources20.js";
|
|
13
|
-
const styles = css`:host{--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: 0;--calcite-internal-menu-item-content-min-block-size: var(--calcite-size-xl);--calcite-internal-menu-item-dropdown-action-block-size: auto;--calcite-internal-menu-item-dropdown-action-divider-inset-block: var( --calcite-theme-space-2xs, var(--calcite-spacing-xxs) );--calcite-internal-menu-item-dropdown-action-flex: initial;--calcite-internal-menu-item-font-size: var(--calcite-font-size-relative-md);--calcite-internal-menu-item-icon-spacing-start: var(--calcite-space-md);--calcite-internal-menu-item-icon-spacing-end: var(--calcite-space-md);--calcite-internal-menu-item-padding-inline: var(--calcite-space-lg);--calcite-internal-menu-item-border: 1px solid var(--calcite-menu-item-sub-menu-border-color, var(--calcite-color-border-3));position:relative;box-sizing:border-box;display:flex;align-items:center;flex-shrink:0}:host .container,:host .item-content,:host .content{min-block-size:var(--calcite-internal-menu-item-content-min-block-size)}:host([layout=vertical]){--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: auto;--calcite-internal-menu-item-padding-block: var(--calcite-space-md);--calcite-internal-menu-item-padding-inline: var(--calcite-space-md);inline-size:100%}:host(:not([layout=vertical])){block-size:100%}.container,.item-content{display:flex;block-size:100%;inline-size:100%;flex-direction:row;align-items:stretch}.item-content{background-color:var(--calcite-menu-background-color, var(--calcite-internal-menu-background-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1))))}.content{position:relative;box-sizing:border-box;display:flex;block-size:100%;inline-size:100%;cursor:pointer;align-items:center;justify-content:center;outline:2px solid transparent;outline-offset:2px;text-decoration:none;padding-block-start:var(--calcite-space-base);border-block-end:var(--calcite-space-base) solid var(--calcite-color-transparent);font-size:var(--calcite-internal-menu-item-font-size);line-height:var(--calcite-internal-menu-item-line-height, inherit);padding-inline:var(--calcite-internal-menu-item-padding-inline);background-color:var(--calcite-menu-background-color, var(--calcite-internal-menu-background-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1))));color:var(--calcite-menu-text-color, var(--calcite-internal-menu-text-color, var(--calcite-color-text-2)))}.content:hover{--calcite-internal-menu-background-color: var(--calcite-theme-color-surface-3, var(--calcite-color-foreground-2))}.content:focus{border-block-end-width:4px;outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))));padding-block-start:var(--calcite-space-2xs);border-block-end-width:var(--calcite-space-2xs)}.content:active{--calcite-internal-menu-background-color: var(--calcite-theme-color-surface-4, var(--calcite-color-foreground-3));--calcite-internal-menu-text-color: var(--calcite-color-text-1)}.content span{display:inline-flex}.content.layout--vertical{display:flex;inline-size:100%;justify-content:flex-start;padding-block:var(--calcite-internal-menu-item-padding-block);border-block-end:0;border-inline-end:var(--calcite-space-2xs) solid var(--calcite-color-transparent)}:host([scale=s]){--calcite-internal-menu-item-content-min-block-size: 2.25rem;--calcite-internal-menu-item-font-size: var(--calcite-font-size);--calcite-internal-menu-item-icon-spacing-start: var(--calcite-space-sm);--calcite-internal-menu-item-icon-spacing-end: var(--calcite-space-sm);--calcite-internal-menu-item-line-height: var(--calcite-space-lg);--calcite-internal-menu-item-padding-inline: var(--calcite-space-md);min-block-size:var(--calcite-internal-menu-item-content-min-block-size)}:host([scale=s]:not([layout=vertical])){--calcite-internal-menu-item-dropdown-action-block-size: var(--calcite-space-2xl);--calcite-internal-menu-item-dropdown-action-divider-inset-block: var(--calcite-space-base)}:host([scale=s]:not([layout=vertical])) .icon--dropdown{padding-inline-start:var(--calcite-space-xs)}:host([scale=s]:not([layout=vertical])) .dropdown-action{padding-block:0;padding-inline:0}:host([scale=s][layout=vertical]){--calcite-internal-menu-item-padding-block: var(--calcite-space-sm);--calcite-internal-menu-item-padding-inline: var(--calcite-space-sm)}:host([scale=s][layout=vertical]) .icon--end~.icon--dropdown{margin-inline-start:var(--calcite-space-sm);padding-inline-start:var(--calcite-space-xs)}:host([breadcrumb][scale=s]){--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: var(--calcite-space-xs)}:host([breadcrumb][scale=s]:not([layout=vertical])) .content{padding-inline-start:var(--calcite-space-md);padding-inline-end:var(--calcite-space-sm)}:host([scale=s][layout=vertical]) .content:not([href]){--calcite-internal-menu-item-content-min-block-size: 2.25rem}:host([scale=s][layout=vertical]):has(.dropdown-action){--calcite-internal-menu-item-dropdown-action-divider-inset-block: var(--calcite-space-base)}:host([scale=s][layout=vertical]) .content:not([href]){padding-inline-end:var(--calcite-space-2xs)}:host([scale=m][layout=vertical]) .content:not([href]){padding-inline-end:var(--calcite-space-sm)}:host([scale=l]){--calcite-internal-menu-item-content-min-block-size: var(--calcite-size-2xl);--calcite-internal-menu-item-font-size: var(--calcite-font-size-lg);--calcite-internal-menu-item-icon-spacing-start: var(--calcite-space-lg);--calcite-internal-menu-item-icon-spacing-end: var(--calcite-space-lg);--calcite-internal-menu-item-line-height: var(--calcite-space-2xl);--calcite-internal-menu-item-padding-inline: var(--calcite-space-xl);min-block-size:var(--calcite-internal-menu-item-content-min-block-size)}:host([scale=l]:not([layout=vertical])){--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: var(--calcite-space-sm-plus)}:host([scale=l]:not([layout=vertical])) .container,:host([scale=l]:not([layout=vertical])) .item-content,:host([scale=l]:not([layout=vertical])) .content{min-block-size:var(--calcite-size-2xl)}:host([scale=l]:not([layout=vertical])) .icon--dropdown{margin-inline-start:var(--calcite-space-sm-plus);padding-inline-start:0}:host([scale=l]:not([layout=vertical])) .dropdown-action{margin-inline-start:var(--calcite-space-xs)}:host([scale=l]:not([layout=vertical])) .dropdown-action:after{inset-inline-start:calc(-1 * var(--calcite-space-xs))}:host([scale=l][layout=vertical]){--calcite-internal-menu-item-padding-block: var(--calcite-space-lg);--calcite-internal-menu-item-padding-inline: var(--calcite-space-lg)}:host([scale=l][layout=vertical]) .content:has(.icon--end):has(.icon--dropdown) .icon--end~.icon--dropdown{margin-inline-start:var(--calcite-space-lg);padding-inline-start:var(--calcite-space-sm-plus)}:host([scale=l][layout=vertical]) .content:not([href]){padding-inline-end:var(--calcite-space-md)}:host([scale=l]:not([layout=vertical])):has(.dropdown-action){--calcite-internal-menu-item-dropdown-action-block-size: var(--calcite-size-lg);--calcite-internal-menu-item-dropdown-action-divider-inset-block: var(--calcite-space-xs)}:host([scale=l]:not([layout=vertical])):has(.dropdown-action) .content{padding-inline-end:var(--calcite-space-xl)}:host([scale=l]:not([layout=vertical])):has(.dropdown-action) .dropdown-action{box-sizing:border-box}:host([breadcrumb][scale=l]:not([layout=vertical])) .content{padding-inline-start:var(--calcite-space-xl);padding-inline-end:var(--calcite-space-lg)}:host([active]) .content{--calcite-internal-menu-text-color: var(--calcite-color-text-1);border-color:var(--calcite-menu-item-accent-color, var(--calcite-color-brand))}:host([active]) .icon{--calcite-internal-menu-item-icon-color: var( --calcite-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-brand)) )}:host([active][scale=l][layout=vertical]) .content{border-inline-end-color:var(--calcite-menu-item-accent-color, var(--calcite-color-brand))}:host([slot=submenu-item][layout=vertical][scale=s]) .parent--vertical{padding-inline-start:var(--calcite-space-xl)}:host([slot=submenu-item][layout=vertical][scale=m]) .parent--vertical{padding-inline-start:var(--calcite-space-2xl)}:host([slot=submenu-item][layout=vertical][scale=l]) .parent--vertical{padding-inline-start:var(--calcite-space-3xl)}:host([layout=vertical]) .text-container{flex:1}:host([scale=m][layout=vertical]) .text-container{flex:0 1 auto}.icon{color:var(--calcite-menu-text-color, var(--calcite-icon-color, var(--calcite-internal-menu-item-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-text-3)))))}.icon--start{margin-inline-end:var(--calcite-internal-menu-item-icon-spacing-start)}.icon--end{margin-inline-start:var(--calcite-internal-menu-item-icon-spacing-end)}:host([layout=vertical]) .icon--end{padding-inline-start:0;--calcite-internal-menu-item-icon-spacing-end: auto}:host([layout=vertical][scale=s]) .icon--end{padding-inline-start:var(--calcite-space-sm)}:host([layout=vertical][scale=m]) .icon--end{padding-inline-start:var(--calcite-space-md)}:host([layout=vertical][scale=l]) .icon--end{padding-inline-start:var(--calcite-space-lg)}.icon--dropdown{position:relative;margin-inline-start:auto;margin-inline-end:0px;padding-inline-start:.5rem}:host([layout=vertical]) .icon--end~.icon--dropdown{margin-inline-start:.75rem}:host([layout=vertical]) .hover-href-icon{padding-inline-start:.5rem}:host([layout=vertical]) .hover-href-icon~.icon--breadcrumb{margin-inline-start:.75rem}.icon--breadcrumb{margin-inline-start:var(--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start);padding-inline-start:0;margin-inline-end:0px}:host([scale=m]) .icon--breadcrumb{padding-inline-start:.5rem}:host([breadcrumb][scale=l][layout=vertical]) .icon--breadcrumb{margin-inline-start:var(--calcite-space-sm-plus)}:host([layout=vertical]) .icon--breadcrumb~.icon--dropdown{margin-inline-start:.5rem}:host([layout=vertical]) .icon--end~.icon--breadcrumb{margin-inline-start:.5rem}:host([breadcrumb]) .content{padding-inline-end:.75rem}.dropdown-action{position:relative;align-self:center;--calcite-action-background-color: var(--calcite-menu-background-color);--calcite-action-text-color: var(--calcite-menu-text-color);block-size:var(--calcite-internal-menu-item-dropdown-action-block-size);flex:var(--calcite-internal-menu-item-dropdown-action-flex);margin-inline-start:var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs))}.dropdown-action:after{position:absolute;display:block;inline-size:1px;content:"";inset-inline-start:calc(-1 * var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs)));inset-block:var(--calcite-internal-menu-item-dropdown-action-divider-inset-block);background-color:var(--calcite-color-border-3)}.dropdown-action:active{--calcite-action-background-color-press: var(--calcite-menu-background-color)}:host([layout=vertical]) .dropdown-action{margin-inline-end:var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs))}:host([scale=l][layout=vertical]) .dropdown-action{margin-inline:var(--calcite-space-xs)}:host([scale=l][layout=vertical]) .dropdown-action:after{inset-inline-start:calc(-1 * var(--calcite-space-xs))}.dropdown-menu-items{position:absolute;display:none;block-size:auto;min-inline-size:100%;flex-direction:column;overflow:visible;box-shadow:var(--calcite-shadow-md);border:var(--calcite-internal-menu-item-border);border-radius:var(--calcite-menu-item-sub-menu-corner-radius, var(--calcite-corner-radius));inset-block-start:100%;z-index:var(--calcite-z-index-dropdown)}.dropdown-menu-items.open{display:block}.dropdown-menu-items.nested{position:absolute;inset-block-start:-1px;transform:translate(calc(100% - 2px))}.parent--vertical{flex-direction:column}.dropdown--vertical.dropdown-menu-items{position:relative;box-shadow:none;inset-block-start:0;transform:none}.dropdown--vertical.dropdown-menu-items:last-of-type{border-inline:0}:host([layout=vertical]:last-of-type) .dropdown-menu-items{border-block-end:0}:host([layout=vertical]) .dropdown--vertical.dropdown-menu-items{border:none}:host([layout=vertical]) .dropdown--vertical.dropdown-menu-items:after{content:"";border-block-start:var(--calcite-internal-menu-item-border);position:absolute;inset-block-start:0;inset-inline:var(--calcite-internal-menu-item-padding-inline) 0}.dropdown-menu-items.nested.calcite--rtl{transform:translate(calc(-100% + 2px))}.dropdown--vertical.dropdown-menu-items.nested.calcite--rtl{transform:none}.hover-href-icon{position:relative;inset-inline-end:.25rem;margin-inline-start:auto;opacity:0;transition:all var(--calcite-internal-animation-timing-medium) ease-in-out}.content:focus .hover-href-icon,.content:hover .hover-href-icon{inset-inline-end:-.25rem;opacity:1}:host([hidden]){display:none}[hidden]{display:none}`;
|
|
13
|
+
const styles = css`:host{--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: 0;--calcite-internal-menu-item-content-min-block-size: var(--calcite-size-xl);--calcite-internal-menu-item-dropdown-action-block-size: auto;--calcite-internal-menu-item-dropdown-action-divider-inset-block: var( --calcite-theme-space-2xs, var(--calcite-spacing-xxs) );--calcite-internal-menu-item-dropdown-action-flex: initial;--calcite-internal-menu-item-font-size: var(--calcite-font-size-relative-md);--calcite-internal-menu-item-icon-spacing-start: var(--calcite-space-md);--calcite-internal-menu-item-icon-spacing-end: var(--calcite-space-md);--calcite-internal-menu-item-padding-inline: var(--calcite-space-lg);--calcite-internal-menu-item-border: 1px solid var(--calcite-menu-item-sub-menu-border-color, var(--calcite-color-border-3));position:relative;box-sizing:border-box;display:flex;align-items:center;flex-shrink:0}:host .container,:host .item-content,:host .content{min-block-size:var(--calcite-internal-menu-item-content-min-block-size)}:host([layout=vertical]){--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: auto;--calcite-internal-menu-item-padding-block: var(--calcite-space-md);--calcite-internal-menu-item-padding-inline: var(--calcite-space-md);inline-size:100%}:host(:not([layout=vertical])){block-size:100%}.container,.item-content{display:flex;block-size:100%;inline-size:100%;flex-direction:row;align-items:stretch}.item-content{background-color:var(--calcite-menu-background-color, var(--calcite-internal-menu-background-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1))))}.content{position:relative;box-sizing:border-box;display:flex;block-size:100%;inline-size:100%;cursor:pointer;align-items:center;justify-content:center;outline:2px solid transparent;outline-offset:2px;text-decoration:none;padding-block-start:var(--calcite-space-base);border-block-end:var(--calcite-space-base) solid var(--calcite-color-transparent);font-size:var(--calcite-internal-menu-item-font-size);line-height:var(--calcite-internal-menu-item-line-height, inherit);padding-inline:var(--calcite-internal-menu-item-padding-inline);background-color:var(--calcite-menu-background-color, var(--calcite-internal-menu-background-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1))));color:var(--calcite-menu-text-color, var(--calcite-internal-menu-text-color, var(--calcite-color-text-2)))}.content:hover{--calcite-internal-menu-background-color: var(--calcite-theme-color-surface-3, var(--calcite-color-foreground-2))}.content:focus{border-block-end-width:4px;outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(calc(-1 * var(--calcite-spacing-base)) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))));padding-block-start:var(--calcite-space-2xs);border-block-end-width:var(--calcite-space-2xs)}.content:active{--calcite-internal-menu-background-color: var(--calcite-theme-color-surface-4, var(--calcite-color-foreground-3));--calcite-internal-menu-text-color: var(--calcite-color-text-1)}.content span{display:inline-flex}.content.layout--vertical{display:flex;inline-size:100%;justify-content:flex-start;padding-block:var(--calcite-internal-menu-item-padding-block);border-block-end:0;border-inline-end:var(--calcite-space-2xs) solid var(--calcite-color-transparent)}:host([scale=s]){--calcite-internal-menu-item-content-min-block-size: 2.25rem;--calcite-internal-menu-item-font-size: var(--calcite-font-size);--calcite-internal-menu-item-icon-spacing-start: var(--calcite-space-sm);--calcite-internal-menu-item-icon-spacing-end: var(--calcite-space-sm);--calcite-internal-menu-item-line-height: var(--calcite-space-lg);--calcite-internal-menu-item-padding-inline: var(--calcite-space-md);min-block-size:var(--calcite-internal-menu-item-content-min-block-size)}:host([scale=s]:not([layout=vertical])){--calcite-internal-menu-item-dropdown-action-block-size: var(--calcite-space-2xl);--calcite-internal-menu-item-dropdown-action-divider-inset-block: var(--calcite-space-base)}:host([scale=s]:not([layout=vertical])) .icon--dropdown{padding-inline-start:var(--calcite-space-xs)}:host([scale=s]:not([layout=vertical])) .dropdown-action{padding-block:0;padding-inline:0}:host([scale=s][layout=vertical]){--calcite-internal-menu-item-padding-block: var(--calcite-space-sm);--calcite-internal-menu-item-padding-inline: var(--calcite-space-sm)}:host([scale=s][layout=vertical]) .icon--end~.icon--dropdown{margin-inline-start:var(--calcite-space-sm);padding-inline-start:var(--calcite-space-xs)}:host([breadcrumb][scale=s]){--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: var(--calcite-space-xs)}:host([breadcrumb][scale=s]:not([layout=vertical])) .content{padding-inline-start:var(--calcite-space-md);padding-inline-end:var(--calcite-space-sm)}:host([scale=s][layout=vertical]) .content:not([href]){--calcite-internal-menu-item-content-min-block-size: 2.25rem}:host([scale=s][layout=vertical]):has(.dropdown-action){--calcite-internal-menu-item-dropdown-action-divider-inset-block: var(--calcite-space-base)}:host([scale=s][layout=vertical]) .content:not([href]){padding-inline-end:var(--calcite-space-2xs)}:host([scale=m][layout=vertical]) .content:not([href]){padding-inline-end:var(--calcite-space-sm)}:host([scale=l]){--calcite-internal-menu-item-content-min-block-size: var(--calcite-size-2xl);--calcite-internal-menu-item-font-size: var(--calcite-font-size-lg);--calcite-internal-menu-item-icon-spacing-start: var(--calcite-space-lg);--calcite-internal-menu-item-icon-spacing-end: var(--calcite-space-lg);--calcite-internal-menu-item-line-height: var(--calcite-space-2xl);--calcite-internal-menu-item-padding-inline: var(--calcite-space-xl);min-block-size:var(--calcite-internal-menu-item-content-min-block-size)}:host([scale=l]:not([layout=vertical])){--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start: var(--calcite-space-sm-plus)}:host([scale=l]:not([layout=vertical])) .container,:host([scale=l]:not([layout=vertical])) .item-content,:host([scale=l]:not([layout=vertical])) .content{min-block-size:var(--calcite-size-2xl)}:host([scale=l]:not([layout=vertical])) .icon--dropdown{margin-inline-start:var(--calcite-space-sm-plus);padding-inline-start:0}:host([scale=l]:not([layout=vertical])) .dropdown-action{margin-inline-start:var(--calcite-space-xs)}:host([scale=l]:not([layout=vertical])) .dropdown-action:after{inset-inline-start:calc(-1 * var(--calcite-space-xs))}:host([scale=l][layout=vertical]){--calcite-internal-menu-item-padding-block: var(--calcite-space-lg);--calcite-internal-menu-item-padding-inline: var(--calcite-space-lg)}:host([scale=l][layout=vertical]) .content:has(.icon--end):has(.icon--dropdown) .icon--end~.icon--dropdown{margin-inline-start:var(--calcite-space-lg);padding-inline-start:var(--calcite-space-sm-plus)}:host([scale=l][layout=vertical]) .content:not([href]){padding-inline-end:var(--calcite-space-md)}:host([scale=l]:not([layout=vertical])):has(.dropdown-action){--calcite-internal-menu-item-dropdown-action-block-size: var(--calcite-size-lg);--calcite-internal-menu-item-dropdown-action-divider-inset-block: var(--calcite-space-xs)}:host([scale=l]:not([layout=vertical])):has(.dropdown-action) .content{padding-inline-end:var(--calcite-space-xl)}:host([scale=l]:not([layout=vertical])):has(.dropdown-action) .dropdown-action{box-sizing:border-box}:host([breadcrumb][scale=l]:not([layout=vertical])) .content{padding-inline-start:var(--calcite-space-xl);padding-inline-end:var(--calcite-space-lg)}:host([active]) .content{--calcite-internal-menu-text-color: var(--calcite-color-text-1);border-color:var(--calcite-menu-item-accent-color, var(--calcite-color-brand))}:host([active]) .icon{--calcite-internal-menu-item-icon-color: var( --calcite-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-brand)) )}:host([active][scale=l][layout=vertical]) .content{border-inline-end-color:var(--calcite-menu-item-accent-color, var(--calcite-color-brand))}:host([slot=submenu-item][layout=vertical][scale=s]) .parent--vertical{padding-inline-start:var(--calcite-space-xl)}:host([slot=submenu-item][layout=vertical][scale=m]) .parent--vertical{padding-inline-start:var(--calcite-space-2xl)}:host([slot=submenu-item][layout=vertical][scale=l]) .parent--vertical{padding-inline-start:var(--calcite-space-3xl)}:host([layout=vertical]) .text-container{flex:1}.icon{color:var(--calcite-menu-text-color, var(--calcite-icon-color, var(--calcite-internal-menu-item-icon-color, var(--calcite-ui-icon-color, var(--calcite-color-text-3)))))}.icon--start{margin-inline-end:var(--calcite-internal-menu-item-icon-spacing-start)}.icon--end{margin-inline-start:var(--calcite-internal-menu-item-icon-spacing-end)}:host([layout=vertical]) .icon--end{padding-inline-start:0;--calcite-internal-menu-item-icon-spacing-end: auto}:host([layout=vertical][scale=s]) .icon--end{padding-inline-start:var(--calcite-space-sm)}:host([layout=vertical][scale=m]) .icon--end{padding-inline-start:var(--calcite-space-md)}:host([layout=vertical][scale=l]) .icon--end{padding-inline-start:var(--calcite-space-lg)}.icon--dropdown{position:relative;margin-inline-start:auto;margin-inline-end:0px;padding-inline-start:.5rem}:host([layout=vertical]) .icon--end~.icon--dropdown{margin-inline-start:.75rem}:host([layout=vertical]) .hover-href-icon{padding-inline-start:.5rem}:host([layout=vertical]) .hover-href-icon~.icon--breadcrumb{margin-inline-start:.75rem}.icon--breadcrumb{margin-inline-start:var(--calcite-internal-menu-item-breadcrumb-icon-margin-inline-start);padding-inline-start:0;margin-inline-end:0px}:host([scale=m]) .icon--breadcrumb{padding-inline-start:.5rem}:host([breadcrumb][scale=l][layout=vertical]) .icon--breadcrumb{margin-inline-start:var(--calcite-space-sm-plus)}:host([layout=vertical]) .icon--breadcrumb~.icon--dropdown{margin-inline-start:.5rem}:host([layout=vertical]) .icon--end~.icon--breadcrumb{margin-inline-start:.5rem}:host([breadcrumb]) .content{padding-inline-end:.75rem}.dropdown-action{position:relative;align-self:center;--calcite-action-background-color: var(--calcite-menu-background-color);--calcite-action-text-color: var(--calcite-menu-text-color);block-size:var(--calcite-internal-menu-item-dropdown-action-block-size);flex:var(--calcite-internal-menu-item-dropdown-action-flex);margin-inline-start:var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs))}.dropdown-action:after{position:absolute;display:block;inline-size:1px;content:"";inset-inline-start:calc(-1 * var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs)));inset-block:var(--calcite-internal-menu-item-dropdown-action-divider-inset-block);background-color:var(--calcite-color-border-3)}.dropdown-action:active{--calcite-action-background-color-press: var(--calcite-menu-background-color)}:host([layout=vertical]) .dropdown-action{margin-inline-end:var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs))}:host([scale=l][layout=vertical]) .dropdown-action{margin-inline:var(--calcite-space-xs)}:host([scale=l][layout=vertical]) .dropdown-action:after{inset-inline-start:calc(-1 * var(--calcite-space-xs))}.dropdown-menu-items{position:absolute;display:none;block-size:auto;min-inline-size:100%;flex-direction:column;overflow:visible;box-shadow:var(--calcite-shadow-md);border:var(--calcite-internal-menu-item-border);border-radius:var(--calcite-menu-item-sub-menu-corner-radius, var(--calcite-corner-radius));inset-block-start:100%;z-index:var(--calcite-z-index-dropdown)}.dropdown-menu-items.open{display:block}.dropdown-menu-items.nested{position:absolute;inset-block-start:-1px;transform:translate(calc(100% - 2px))}.parent--vertical{flex-direction:column}.dropdown--vertical.dropdown-menu-items{position:relative;box-shadow:none;inset-block-start:0;transform:none}.dropdown--vertical.dropdown-menu-items:last-of-type{border-inline:0}:host([layout=vertical]:last-of-type) .dropdown-menu-items{border-block-end:0}:host([layout=vertical]) .dropdown--vertical.dropdown-menu-items{border:none}:host([layout=vertical]) .dropdown--vertical.dropdown-menu-items:after{content:"";border-block-start:var(--calcite-internal-menu-item-border);position:absolute;inset-block-start:0;inset-inline:var(--calcite-internal-menu-item-padding-inline) 0}.dropdown-menu-items.nested.calcite--rtl{transform:translate(calc(-100% + 2px))}.dropdown--vertical.dropdown-menu-items.nested.calcite--rtl{transform:none}.hover-href-icon{position:relative;inset-inline-end:.25rem;margin-inline-start:auto;opacity:0;transition:all var(--calcite-internal-animation-timing-medium) ease-in-out}.content:focus .hover-href-icon,.content:hover .hover-href-icon{inset-inline-end:-.25rem;opacity:1}:host([hidden]){display:none}[hidden]{display:none}`;
|
|
14
14
|
class MenuItem extends LitElement {
|
|
15
15
|
constructor() {
|
|
16
16
|
super();
|