@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
|
@@ -54,7 +54,7 @@ const IDS = {
|
|
|
54
54
|
host: (id) => `${idPrefix}-${id}`
|
|
55
55
|
};
|
|
56
56
|
const maxTickElementThreshold = 250;
|
|
57
|
-
const styles = css`@charset "UTF-8";:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}.scale--s{--calcite-slider-handle-size: var(--calcite-space-sm-plus);--calcite-slider-handle-extension-height: .4rem;--calcite-slider-container-font-size: var(--calcite-font-size--3)}.scale--s .handle__label,.scale--s .tick__label{line-height:.75rem}.scale--m{--calcite-slider-handle-size: .875rem;--calcite-slider-handle-extension-height: .5rem;--calcite-slider-container-font-size: var(--calcite-font-size--2)}.scale--m .handle__label,.scale--m .tick__label{line-height:1rem}.scale--l{--calcite-slider-handle-size: 1rem;--calcite-slider-handle-extension-height: .65rem;--calcite-slider-container-font-size: var(--calcite-font-size--1)}.scale--l .handle__label,.scale--l .tick__label{line-height:1rem}.handle__label,.tick__label{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-slider-text-color, var(--calcite-color-text-2));font-size:var(--calcite-slider-container-font-size)}:host{display:block}:host .validation-container{padding-block-start:0!important}.container{position:relative;display:block;overflow-wrap:normal;word-break:normal;padding-inline:calc(var(--calcite-slider-handle-size) * .5);padding-block:calc(var(--calcite-slider-handle-size) * .5);margin-block:calc(var(--calcite-slider-handle-size) * .5);margin-inline:0;--calcite-slider-full-handle-height: calc( var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height) );touch-action:none;-webkit-user-select:none;user-select:none}:host([disabled]) .track__range,:host([disabled]) .tick--active{background-color:var(--calcite-color-text-3)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -.375rem}.scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -.5rem}.scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -.55rem}:host([precise]:not([has-histogram])) .container .thumb--value{--calcite-slider-thumb-y-offset: calc(var(--calcite-slider-full-handle-height) * -1)}.thumb-container{position:relative;max-inline-size:100%}.thumb{--calcite-slider-thumb-x-offset: calc(var(--calcite-slider-handle-size) * .5);position:absolute;margin:0;display:flex;cursor:pointer;flex-direction:column;align-items:center;border-style:none;background-color:transparent;padding:0;font-family:inherit;outline:2px solid transparent;outline-offset:2px;transform:translate(var(--calcite-slider-thumb-x-offset),var(--calcite-slider-thumb-y-offset))}.thumb .handle__label{white-space:nowrap}.thumb .handle__label.static,.thumb .handle__label.transformed{position:absolute;inset-block:0px;opacity:0}.thumb .handle__label.hyphen:after{content:"—";display:inline-block;inline-size:1em}.thumb .handle__label.hyphen--wrap{display:flex}.thumb .handle{box-sizing:border-box;border-radius:9999px;outline-color:transparent;background-color:var(--calcite-slider-handle-fill-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1)));block-size:var(--calcite-slider-handle-size);inline-size:var(--calcite-slider-handle-size);box-shadow:0 0 0 2px var(--calcite-color-text-3) inset;transition:border var(--calcite-internal-animation-timing-medium) ease,background-color var(--calcite-internal-animation-timing-medium) ease,box-shadow var(--calcite-animation-timing) ease}.thumb .handle-extension{inline-size:.125rem;block-size:var(--calcite-slider-handle-extension-height);background-color:var(--calcite-slider-handle-extension-color, var(--calcite-color-text-3))}.thumb:hover .handle{box-shadow:0 0 0 3px var(--calcite-color-brand) inset}.thumb:hover .handle-extension{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand))}.thumb:focus .handle{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(var(--calcite-spacing-base) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.thumb:focus .handle-extension{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand))}.thumb.thumb--minValue{transform:translate(calc(var(--calcite-slider-thumb-x-offset) * -1),var(--calcite-slider-thumb-y-offset))}.thumb.thumb--precise{--calcite-slider-thumb-y-offset: -.125rem}:host([label-handles]) .thumb{--calcite-slider-thumb-x-offset: 50%}:host([label-handles]):host(:not([has-histogram])) .scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -1.4375rem}:host([label-handles]):host(:not([has-histogram])) .scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -1.875rem}:host([label-handles]):host(:not([has-histogram])) .scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -2rem}:host([has-histogram][label-handles]) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--minValue.thumb--precise .handle__label{margin-block-start:.5em}:host(:not([has-histogram]):not([precise])) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--value .handle__label{margin-block-end:.5em}:host([label-handles][precise]):host(:not([has-histogram])) .scale--s .thumb--value{--calcite-slider-thumb-y-offset: -2.075rem}:host([label-handles][precise]):host(:not([has-histogram])) .scale--m .thumb--value{--calcite-slider-thumb-y-offset: -2.75rem}:host([label-handles][precise]):host(:not([has-histogram])) .scale--l .thumb--value{--calcite-slider-thumb-y-offset: -3.0625rem}.thumb:focus .handle,.thumb--active .handle{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand));box-shadow:0 0 8px #00000029}.thumb:hover.thumb--precise:after,.thumb:focus.thumb--precise:after,.thumb--active.thumb--precise:after{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand))}.track{position:relative;block-size:.125rem;background-color:var(--calcite-slider-track-color, var(--calcite-color-border-2));transition:all var(--calcite-internal-animation-timing-medium) ease-in;border-radius:var(--calcite-corner-radius)}.track__range{position:absolute;inset-block-start:0px;block-size:.125rem;background-color:var(--calcite-slider-track-fill-color, var(--calcite-color-brand));border-radius:var(--calcite-corner-radius)}.container--range .track__range:hover{cursor:ew-resize}.container--range .track__range:after{position:absolute;inline-size:100%;content:"";inset-block-start:calc(var(--calcite-slider-full-handle-height) * .5 * -1);block-size:calc(var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height))}@media(forced-colors:active){.thumb{outline-width:0;outline-offset:0}.handle{outline:2px solid transparent;outline-offset:2px}.thumb:focus .handle,.thumb .handle-extension,.thumb:hover .handle-extension,.thumb:focus .handle-extension,.thumb:active .handle-extension{background-color:canvasText}.track{background-color:canvasText}.track__range{background-color:highlight}}.tick{position:absolute;block-size:.25rem;inline-size:.125rem;border-width:1px;border-style:solid;background-color:var(--calcite-slider-tick-color, var(--calcite-color-border-input));border-color:var(--calcite-slider-tick-border-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1)));inset-block-start:-2px;pointer-events:none;margin-inline-start:-.125rem}.tick--active{background-color:var(--calcite-slider-tick-selected-color, var(--calcite-color-brand))}.tick__label{pointer-events:none;margin-block-start:.875rem;display:flex;justify-content:center}.tick__label--min{transition:opacity var(--calcite-animation-timing)}.tick__label--max{transition:opacity var(--calcite-internal-animation-timing-fast)}:host([has-histogram][label-handles]) .tick__label--min,:host([has-histogram][label-handles]) .tick__label--max,:host([has-histogram][precise]) .tick__label--min,:host([has-histogram][precise]) .tick__label--max{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-3)}.graph{color:var(--calcite-slider-graph-color, var(--calcite-theme-color-surface-4, var(--calcite-color-foreground-3)));block-size:48px}:host([label-ticks][ticks]) .container{padding-block-end:calc(.875rem + var(--calcite-slider-container-font-size))}:host([has-histogram]):host([precise][label-handles]) .container{padding-block-end:calc(var(--calcite-slider-full-handle-height) + 1em)}:host([has-histogram]):host([label-handles]:not([precise])) .container{padding-block-end:calc(var(--calcite-slider-handle-size) * .5 + 1em)}:host([has-histogram]):host([precise]:not([label-handles])) .container{padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container{padding-block-start:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container--range{padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([label-handles]:not([precise])) .container{padding-block-start:calc(var(--calcite-slider-full-handle-height) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container{padding-block-start:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container--range{padding-block-end:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-theme-space-base, var(--calcite-spacing-base))}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs))}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-theme-space-md, var(--calcite-spacing-md))}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-theme-space-md, var(--calcite-spacing-md))}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}:host([hidden]){display:none}[hidden]{display:none}`;
|
|
57
|
+
const styles = css`@charset "UTF-8";:host([disabled]){cursor:default;-webkit-user-select:none;user-select:none;opacity:var(--calcite-opacity-disabled)}:host([disabled]) *,:host([disabled]) ::slotted(*){pointer-events:none}.scale--s{--calcite-slider-handle-size: var(--calcite-space-sm-plus);--calcite-slider-handle-extension-height: .4rem;--calcite-slider-container-font-size: var(--calcite-font-size--3)}.scale--s .handle__label,.scale--s .tick__label{line-height:.75rem}.scale--m{--calcite-slider-handle-size: .875rem;--calcite-slider-handle-extension-height: .5rem;--calcite-slider-container-font-size: var(--calcite-font-size--2)}.scale--m .handle__label,.scale--m .tick__label{line-height:1rem}.scale--l{--calcite-slider-handle-size: 1rem;--calcite-slider-handle-extension-height: .65rem;--calcite-slider-container-font-size: var(--calcite-font-size--1)}.scale--l .handle__label,.scale--l .tick__label{line-height:1rem}.handle__label,.tick__label{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-slider-text-color, var(--calcite-color-text-2));font-size:var(--calcite-slider-container-font-size)}:host{display:block;inline-size:100%;min-inline-size:0}:host .validation-container{padding-block-start:0!important}.container{position:relative;display:block;overflow-wrap:normal;word-break:normal;padding-inline:calc(var(--calcite-slider-handle-size) * .5);padding-block:calc(var(--calcite-slider-handle-size) * .5);margin-block:calc(var(--calcite-slider-handle-size) * .5);margin-inline:0;--calcite-slider-full-handle-height: calc( var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height) );touch-action:none;-webkit-user-select:none;user-select:none}:host([disabled]) .track__range,:host([disabled]) .tick--active{background-color:var(--calcite-color-text-3)}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}.interaction-container{display:contents}.scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -.375rem}.scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -.5rem}.scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -.55rem}:host([precise]:not([has-histogram])) .container .thumb--value{--calcite-slider-thumb-y-offset: calc(var(--calcite-slider-full-handle-height) * -1)}.thumb-container{position:relative;max-inline-size:100%}.thumb{--calcite-slider-thumb-x-offset: calc(var(--calcite-slider-handle-size) * .5);position:absolute;margin:0;display:flex;cursor:pointer;flex-direction:column;align-items:center;border-style:none;background-color:transparent;padding:0;font-family:inherit;outline:2px solid transparent;outline-offset:2px;transform:translate(var(--calcite-slider-thumb-x-offset),var(--calcite-slider-thumb-y-offset))}.thumb .handle__label{white-space:nowrap}.thumb .handle__label.static,.thumb .handle__label.transformed{position:absolute;inset-block:0px;opacity:0}.thumb .handle__label.hyphen:after{content:"—";display:inline-block;inline-size:1em}.thumb .handle__label.hyphen--wrap{display:flex}.thumb .handle{box-sizing:border-box;border-radius:9999px;outline-color:transparent;background-color:var(--calcite-slider-handle-fill-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1)));block-size:var(--calcite-slider-handle-size);inline-size:var(--calcite-slider-handle-size);box-shadow:0 0 0 2px var(--calcite-color-text-3) inset;transition:border var(--calcite-internal-animation-timing-medium) ease,background-color var(--calcite-internal-animation-timing-medium) ease,box-shadow var(--calcite-animation-timing) ease}.thumb .handle-extension{inline-size:.125rem;block-size:var(--calcite-slider-handle-extension-height);background-color:var(--calcite-slider-handle-extension-color, var(--calcite-color-text-3))}.thumb:hover .handle{box-shadow:0 0 0 3px var(--calcite-color-brand) inset}.thumb:hover .handle-extension{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand))}.thumb:focus .handle{outline:var(--calcite-border-width-md) solid var(--calcite-color-focus, var(--calcite-ui-focus-color, var(--calcite-color-brand)));outline-offset:calc(var(--calcite-spacing-base) * calc(1 - (2*clamp(0,var(--calcite-offset-invert-focus),1))))}.thumb:focus .handle-extension{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand))}.thumb.thumb--minValue{transform:translate(calc(var(--calcite-slider-thumb-x-offset) * -1),var(--calcite-slider-thumb-y-offset))}.thumb.thumb--precise{--calcite-slider-thumb-y-offset: -.125rem}:host([label-handles]) .thumb{--calcite-slider-thumb-x-offset: 50%}:host([label-handles]):host(:not([has-histogram])) .scale--s .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -1.4375rem}:host([label-handles]):host(:not([has-histogram])) .scale--m .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -1.875rem}:host([label-handles]):host(:not([has-histogram])) .scale--l .thumb:not(.thumb--precise){--calcite-slider-thumb-y-offset: -2rem}:host([has-histogram][label-handles]) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--minValue.thumb--precise .handle__label{margin-block-start:.5em}:host(:not([has-histogram]):not([precise])) .handle__label,:host([label-handles]:not([has-histogram])) .thumb--value .handle__label{margin-block-end:.5em}:host([label-handles][precise]):host(:not([has-histogram])) .scale--s .thumb--value{--calcite-slider-thumb-y-offset: -2.075rem}:host([label-handles][precise]):host(:not([has-histogram])) .scale--m .thumb--value{--calcite-slider-thumb-y-offset: -2.75rem}:host([label-handles][precise]):host(:not([has-histogram])) .scale--l .thumb--value{--calcite-slider-thumb-y-offset: -3.0625rem}.thumb:focus .handle,.thumb--active .handle{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand));box-shadow:0 0 8px #00000029}.thumb:hover.thumb--precise:after,.thumb:focus.thumb--precise:after,.thumb--active.thumb--precise:after{background-color:var(--calcite-slider-accent-color, var(--calcite-color-brand))}.track{position:relative;block-size:.125rem;background-color:var(--calcite-slider-track-color, var(--calcite-color-border-2));transition:all var(--calcite-internal-animation-timing-medium) ease-in;border-radius:var(--calcite-corner-radius)}.track__range{position:absolute;inset-block-start:0px;block-size:.125rem;background-color:var(--calcite-slider-track-fill-color, var(--calcite-color-brand));border-radius:var(--calcite-corner-radius)}.container--range .track__range:hover{cursor:ew-resize}.container--range .track__range:after{position:absolute;inline-size:100%;content:"";inset-block-start:calc(var(--calcite-slider-full-handle-height) * .5 * -1);block-size:calc(var(--calcite-slider-handle-size) + var(--calcite-slider-handle-extension-height))}@media(forced-colors:active){.thumb{outline-width:0;outline-offset:0}.handle{outline:2px solid transparent;outline-offset:2px}.thumb:focus .handle,.thumb .handle-extension,.thumb:hover .handle-extension,.thumb:focus .handle-extension,.thumb:active .handle-extension{background-color:canvasText}.track{background-color:canvasText}.track__range{background-color:highlight}}.tick{position:absolute;block-size:.25rem;inline-size:.125rem;border-width:1px;border-style:solid;background-color:var(--calcite-slider-tick-color, var(--calcite-color-border-input));border-color:var(--calcite-slider-tick-border-color, var(--calcite-theme-color-surface-2, var(--calcite-color-foreground-1)));inset-block-start:-2px;pointer-events:none;margin-inline-start:-.125rem}.tick--active{background-color:var(--calcite-slider-tick-selected-color, var(--calcite-color-brand))}.tick__label{pointer-events:none;margin-block-start:.875rem;display:flex;justify-content:center}.tick__label--min{transition:opacity var(--calcite-animation-timing)}.tick__label--max{transition:opacity var(--calcite-internal-animation-timing-fast)}:host([has-histogram][label-handles]) .tick__label--min,:host([has-histogram][label-handles]) .tick__label--max,:host([has-histogram][precise]) .tick__label--min,:host([has-histogram][precise]) .tick__label--max{font-weight:var(--calcite-font-weight-normal);color:var(--calcite-color-text-3)}.graph{color:var(--calcite-slider-graph-color, var(--calcite-theme-color-surface-4, var(--calcite-color-foreground-3)));block-size:48px}:host([label-ticks][ticks]) .container{padding-block-end:calc(.875rem + var(--calcite-slider-container-font-size))}:host([has-histogram]):host([precise][label-handles]) .container{padding-block-end:calc(var(--calcite-slider-full-handle-height) + 1em)}:host([has-histogram]):host([label-handles]:not([precise])) .container{padding-block-end:calc(var(--calcite-slider-handle-size) * .5 + 1em)}:host([has-histogram]):host([precise]:not([label-handles])) .container{padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container{padding-block-start:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([precise]:not([label-handles])) .container--range{padding-block-end:var(--calcite-slider-full-handle-height)}:host(:not([has-histogram])):host([label-handles]:not([precise])) .container{padding-block-start:calc(var(--calcite-slider-full-handle-height) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container{padding-block-start:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}:host(:not([has-histogram])):host([label-handles][precise]) .container--range{padding-block-end:calc(var(--calcite-slider-full-handle-height) + var(--calcite-slider-container-font-size) + 4px)}.internal-label-alignment--center{align-items:center}.internal-label-alignment--end{align-items:end}.internal-label--container{display:flex;justify-content:space-between;color:var(--calcite-color-text-1)}.internal-label-required--indicator{font-weight:var(--calcite-font-weight-medium);color:var(--calcite-color-status-danger);padding-inline:var(--calcite-theme-space-base, var(--calcite-spacing-base))}.internal-label-required--indicator:hover{cursor:help}.internal-label--text{line-height:1}:host([scale=s]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-theme-space-2xs, var(--calcite-spacing-xxs))}:host([scale=s]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=s]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=s]) .internal-label--text{font-size:var(--calcite-font-size--2)}:host([scale=m]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=m]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=m]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=m]) .internal-label--text{font-size:var(--calcite-font-size--1)}:host([scale=l]) .internal-label-spacing--bottom{margin-block-end:var(--calcite-theme-space-sm, var(--calcite-spacing-sm))}:host([scale=l]) .internal-label-spacing-inline--end{margin-inline-end:var(--calcite-theme-space-md, var(--calcite-spacing-md))}:host([scale=l]) .internal-label-spacing-inline--start{margin-inline-start:var(--calcite-theme-space-md, var(--calcite-spacing-md))}:host([scale=l]) .internal-label--text{font-size:var(--calcite-font-size-0)}.validation-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch}:host([scale=m]) .validation-container,:host([scale=l]) .validation-container{padding-block-start:.5rem}:host([scale=s]) .validation-container{padding-block-start:.25rem}:host([hidden]){display:none}[hidden]{display:none}`;
|
|
58
58
|
function isRange(value) {
|
|
59
59
|
return Array.isArray(value);
|
|
60
60
|
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/// <reference path="../../index.d.ts" />
|
|
2
|
+
import type { PublicLitElement as LitElement } from "@arcgis/lumina";
|
|
3
|
+
|
|
4
|
+
/** @slot - A slot for adding text. */
|
|
5
|
+
export abstract class Text extends LitElement {
|
|
6
|
+
/**
|
|
7
|
+
* Specifies the maximum number of lines to display before truncating the text with an ellipsis.
|
|
8
|
+
*
|
|
9
|
+
* @mdn [maxLines](https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/line-clamp)
|
|
10
|
+
*/
|
|
11
|
+
accessor maxLines: number | undefined;
|
|
12
|
+
/**
|
|
13
|
+
* Specifies the position of truncation ellipsis when text overflows.
|
|
14
|
+
* `truncatePosition` is ignored when `maxLines` is configured, as multi-line truncation always occurs at the end.
|
|
15
|
+
*/
|
|
16
|
+
accessor truncatePosition: TruncatePosition | undefined;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export type TruncatePosition = "middle" | "end";
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
/* COPYRIGHT Esri - https://js.arcgis.com/5.2/LICENSE.txt */
|
|
2
|
+
import { c as customElement } from "../../chunks/runtime.js";
|
|
3
|
+
import { LitElement, safeClassMap } from "@arcgis/lumina";
|
|
4
|
+
import { createRef, ref } from "lit/directives/ref.js";
|
|
5
|
+
import { D as getAssignedTextNodesFromSlotEl, k as getTextWidth, E as slotChangeGetTextContent } from "../../chunks/dom.js";
|
|
6
|
+
import { c as createObserver, u as updateRefObserver } from "../../chunks/observers.js";
|
|
7
|
+
import { css, html } from "lit";
|
|
8
|
+
const styles = css`:host{display:block;overflow-wrap:break-word;overflow:hidden;white-space:normal}:host([truncate-position=end]){text-overflow:ellipsis;white-space:nowrap}:host([truncate-position=middle]){white-space:nowrap}.text-container{overflow:inherit;text-overflow:inherit}:host([truncate-position=middle]:not([max-lines])) slot{display:none}:host(:not([truncate-position=middle])) .middle-truncated-text,:host([max-lines]) .middle-truncated-text{display:none}:host([max-lines]) .text-container{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--calcite-internal-text-max-lines, none);white-space:normal}:host([hidden]){display:none}[hidden]{display:none}.assistive-text{position:absolute;inline-size:1px;block-size:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}`;
|
|
9
|
+
const ELLIPSIS_CHAR = "…";
|
|
10
|
+
const CSS = {
|
|
11
|
+
middleTruncatedText: "middle-truncated-text",
|
|
12
|
+
textContainer: "text-container",
|
|
13
|
+
assistiveText: "assistive-text"
|
|
14
|
+
};
|
|
15
|
+
class Text extends LitElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.assistiveTextSpanRef = createRef();
|
|
19
|
+
this.defaultSlotRef = createRef();
|
|
20
|
+
this.middleTruncatedSpanRef = createRef();
|
|
21
|
+
this.mutationObserver = createObserver("mutation", (mutations) => {
|
|
22
|
+
const assignedTextNodes = getAssignedTextNodesFromSlotEl(this.defaultSlotRef.value);
|
|
23
|
+
if (mutations.some(({ target }) => assignedTextNodes.includes(target))) {
|
|
24
|
+
this.setValue(assignedTextNodes.map((node) => node.textContent).join("").trim());
|
|
25
|
+
}
|
|
26
|
+
});
|
|
27
|
+
this.resizeObserver = createObserver("resize", () => {
|
|
28
|
+
this.handleTruncation();
|
|
29
|
+
});
|
|
30
|
+
this.renderedText = "";
|
|
31
|
+
}
|
|
32
|
+
static {
|
|
33
|
+
this.properties = { maxLines: [11, {}, { type: Number, reflect: true }], truncatePosition: [3, {}, { reflect: true }] };
|
|
34
|
+
}
|
|
35
|
+
static {
|
|
36
|
+
this.styles = styles;
|
|
37
|
+
}
|
|
38
|
+
connectedCallback() {
|
|
39
|
+
super.connectedCallback();
|
|
40
|
+
this.mutationObserver?.observe(this.el, {
|
|
41
|
+
characterData: true,
|
|
42
|
+
subtree: true
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
willUpdate(changes) {
|
|
46
|
+
if (changes.has("maxLines") && this.hasUpdated) {
|
|
47
|
+
if (!this.maxLines) {
|
|
48
|
+
this.clearTooltipTitle();
|
|
49
|
+
}
|
|
50
|
+
this.updateMaxLinesToken();
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
updated(changes) {
|
|
54
|
+
if (changes.has("truncatePosition") && !this.maxLines) {
|
|
55
|
+
this.handleTruncatePositionChange(changes.get("truncatePosition"));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
disconnectedCallback() {
|
|
59
|
+
super.disconnectedCallback();
|
|
60
|
+
this.resizeObserver?.disconnect();
|
|
61
|
+
this.mutationObserver?.disconnect();
|
|
62
|
+
}
|
|
63
|
+
clearTooltipTitle() {
|
|
64
|
+
this.textContainerEl.title = "";
|
|
65
|
+
}
|
|
66
|
+
getTruncatedText(text, maxWidth, font, letterSpacing) {
|
|
67
|
+
let startIndex = 0;
|
|
68
|
+
let endIndex = text.length;
|
|
69
|
+
const truncatedString = (index) => {
|
|
70
|
+
const leftCount = Math.ceil(index / 2);
|
|
71
|
+
const rightCount = Math.floor(index / 2);
|
|
72
|
+
return text.slice(0, leftCount) + ELLIPSIS_CHAR + text.slice(text.length - rightCount);
|
|
73
|
+
};
|
|
74
|
+
while (startIndex < endIndex) {
|
|
75
|
+
const mid = Math.ceil((startIndex + endIndex) / 2);
|
|
76
|
+
const optimalText = truncatedString(mid);
|
|
77
|
+
if (getTextWidth(optimalText, font, letterSpacing) <= maxWidth) {
|
|
78
|
+
startIndex = mid;
|
|
79
|
+
} else {
|
|
80
|
+
endIndex = mid - 1;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
const optimalIndex = Math.max(0, startIndex);
|
|
84
|
+
if (optimalIndex <= 1) {
|
|
85
|
+
return ELLIPSIS_CHAR;
|
|
86
|
+
}
|
|
87
|
+
return truncatedString(optimalIndex);
|
|
88
|
+
}
|
|
89
|
+
handleDefaultSlotChange(event) {
|
|
90
|
+
this.setValue(slotChangeGetTextContent(event));
|
|
91
|
+
}
|
|
92
|
+
setValue(value) {
|
|
93
|
+
this.value = value;
|
|
94
|
+
this.renderedText = value;
|
|
95
|
+
this.handleTruncation();
|
|
96
|
+
}
|
|
97
|
+
handleTruncation() {
|
|
98
|
+
if (!this.textContainerEl) {
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const { truncatePosition, maxLines } = this;
|
|
102
|
+
if (this.isTruncatePositionMiddle()) {
|
|
103
|
+
this.truncateMiddleText();
|
|
104
|
+
this.assistiveTextSpanRef.value.textContent = this.value || "";
|
|
105
|
+
} else if (truncatePosition === "end" || maxLines && maxLines >= 1) {
|
|
106
|
+
this.syncTooltipState();
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
hasOverflow() {
|
|
110
|
+
return this.textContainerEl.scrollWidth > this.textContainerEl.clientWidth || this.textContainerEl.scrollHeight > this.textContainerEl.clientHeight;
|
|
111
|
+
}
|
|
112
|
+
syncTooltipState() {
|
|
113
|
+
if (this.hasOverflow()) {
|
|
114
|
+
this.setTooltipTitle();
|
|
115
|
+
} else {
|
|
116
|
+
this.clearTooltipTitle();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
handleTruncatePositionChange(oldValue) {
|
|
120
|
+
const newValue = this.truncatePosition;
|
|
121
|
+
if (oldValue && !newValue) {
|
|
122
|
+
this.clearTooltipTitle();
|
|
123
|
+
} else {
|
|
124
|
+
this.handleTruncation();
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
setTooltipTitle() {
|
|
128
|
+
this.textContainerEl.title = this.value || "";
|
|
129
|
+
}
|
|
130
|
+
setMiddleTruncatedText(value) {
|
|
131
|
+
const middleTruncatedTextEl = this.middleTruncatedSpanRef.value;
|
|
132
|
+
if (!middleTruncatedTextEl) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
middleTruncatedTextEl.textContent = value || "";
|
|
136
|
+
}
|
|
137
|
+
truncateMiddleText() {
|
|
138
|
+
requestAnimationFrame(() => {
|
|
139
|
+
if (!this.textContainerEl || !this.textContainerEl.clientWidth || this.maxLines || this.truncatePosition !== "middle") {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
const clientWidth = this.textContainerEl.clientWidth;
|
|
143
|
+
const computedStyle = getComputedStyle(this.el);
|
|
144
|
+
const font = computedStyle.font || `${computedStyle.fontSize} ${computedStyle.fontFamily}`;
|
|
145
|
+
const textWidth = getTextWidth(this.value, font, computedStyle.letterSpacing);
|
|
146
|
+
if (textWidth <= clientWidth) {
|
|
147
|
+
this.setMiddleTruncatedText(this.value);
|
|
148
|
+
this.clearTooltipTitle();
|
|
149
|
+
} else {
|
|
150
|
+
const middleTruncatedText = this.getTruncatedText(this.renderedText, clientWidth, font, computedStyle.letterSpacing);
|
|
151
|
+
this.setMiddleTruncatedText(middleTruncatedText);
|
|
152
|
+
this.setTooltipTitle();
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
}
|
|
156
|
+
updateMaxLinesToken() {
|
|
157
|
+
this.textContainerEl?.style.setProperty("--calcite-internal-text-max-lines", this.maxLines?.toString() || null);
|
|
158
|
+
}
|
|
159
|
+
setTextContainerRef(el) {
|
|
160
|
+
updateRefObserver(this.resizeObserver, this.textContainerEl, el);
|
|
161
|
+
this.textContainerEl = el;
|
|
162
|
+
this.updateMaxLinesToken();
|
|
163
|
+
}
|
|
164
|
+
isTruncatePositionMiddle() {
|
|
165
|
+
return this.truncatePosition === "middle" && !this.maxLines;
|
|
166
|
+
}
|
|
167
|
+
render() {
|
|
168
|
+
return html`<div class=${safeClassMap(CSS.textContainer)} ${ref(this.setTextContainerRef)}><slot @slotchange=${this.handleDefaultSlotChange} ${ref(this.defaultSlotRef)}></slot><span aria-hidden=true class=${safeClassMap(CSS.middleTruncatedText)} ${ref(this.middleTruncatedSpanRef)}></span>${this.isTruncatePositionMiddle() && html`<span aria-live=polite class=${safeClassMap(CSS.assistiveText)} ${ref(this.assistiveTextSpanRef)}></span>` || ""}</div>`;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
customElement("calcite-text", Text);
|
|
172
|
+
export {
|
|
173
|
+
Text
|
|
174
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./customElement.js";
|