@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.
Files changed (202) hide show
  1. package/README.md +1 -1
  2. package/dist/cdn/{UBVNE3FR.js → 26432722.js} +1 -1
  3. package/dist/cdn/{C2QTVMRZ.js → 2OVSYJAH.js} +1 -1
  4. package/dist/cdn/{CNEQCIJB.js → 2U77MGGA.js} +1 -1
  5. package/dist/cdn/{FLUGGEF5.js → 334JQBPO.js} +1 -1
  6. package/dist/cdn/{HZ2KFK3C.js → 33GDXJUX.js} +1 -1
  7. package/dist/cdn/{BPYFGYV6.js → 346YZ7VY.js} +1 -1
  8. package/dist/cdn/{SX33HSBC.js → 3B7QPJAS.js} +1 -1
  9. package/dist/cdn/3LM2LYNU.js +2 -0
  10. package/dist/cdn/3M6UKCCZ.js +2 -0
  11. package/dist/cdn/{GST32DAL.js → 3PTLQPY2.js} +1 -1
  12. package/dist/cdn/{ZKJVOU5M.js → 3U3X7DLG.js} +1 -1
  13. package/dist/cdn/{BANKSP32.js → 3VUB4NDR.js} +1 -1
  14. package/dist/cdn/{MW42632J.js → 3WMWTT7B.js} +1 -1
  15. package/dist/cdn/{4ZQAGLEN.js → 3ZHTQAFF.js} +1 -1
  16. package/dist/cdn/{OMZBU3IU.js → 3ZWBXTN2.js} +1 -1
  17. package/dist/cdn/{RVZ6FKKI.js → 42EK35NT.js} +1 -1
  18. package/dist/cdn/{DOVDZVPJ.js → 4AD2R7R5.js} +1 -1
  19. package/dist/cdn/{263AU5BP.js → 4DOP2ASQ.js} +1 -1
  20. package/dist/cdn/{XXWNYX3N.js → 4GNETAHI.js} +1 -1
  21. package/dist/cdn/{JAYFX3Q2.js → 56TWON4B.js} +1 -1
  22. package/dist/cdn/{MWXZ2MTK.js → 56XHFT5Y.js} +1 -1
  23. package/dist/cdn/{JFWDUC4M.js → 5HWWM56V.js} +1 -1
  24. package/dist/cdn/{73HUIP6T.js → 5NG5BQPF.js} +1 -1
  25. package/dist/cdn/{4HAPFKXF.js → 5RN2OKGO.js} +1 -1
  26. package/dist/cdn/{3Q2QX2LR.js → 6RUY5LCM.js} +1 -1
  27. package/dist/cdn/{5UAOUCGT.js → 6XRDQELB.js} +1 -1
  28. package/dist/cdn/{GDFZZ5E5.js → 72IWCFRM.js} +1 -1
  29. package/dist/cdn/{ETTFRHP7.js → 772CBSF6.js} +1 -1
  30. package/dist/cdn/{2TZMS7HF.js → 775IYAS6.js} +1 -1
  31. package/dist/cdn/{DS4P2F36.js → 7CDECM5P.js} +1 -1
  32. package/dist/cdn/{662PF6RJ.js → 7F5EEUNN.js} +1 -1
  33. package/dist/cdn/7HUVP2XV.js +2 -0
  34. package/dist/cdn/{J7CPCGSH.js → 7LYFIBL7.js} +1 -1
  35. package/dist/cdn/{NT5YKL2Y.js → 7PTYPMMV.js} +1 -1
  36. package/dist/cdn/A453LDV3.js +2 -0
  37. package/dist/cdn/{BRCQSLJQ.js → ADY7PQCS.js} +1 -1
  38. package/dist/cdn/{6ZPCDJMS.js → ADYGXA2N.js} +1 -1
  39. package/dist/cdn/ALZDXZUC.js +2 -0
  40. package/dist/cdn/{QYD7C2FO.js → B6OGNK6U.js} +1 -1
  41. package/dist/cdn/{44XJ3KOL.js → BMAI46HX.js} +1 -1
  42. package/dist/cdn/BOXFB3MP.js +2 -0
  43. package/dist/cdn/BOZAHMWY.js +2 -0
  44. package/dist/cdn/{CZX4YKQD.js → BQJ7QAYE.js} +1 -1
  45. package/dist/cdn/{52VPEAZH.js → C32EZMZW.js} +1 -1
  46. package/dist/cdn/C7LNM3HL.js +2 -0
  47. package/dist/cdn/{UKC7IODK.js → CDL5BNMN.js} +1 -1
  48. package/dist/cdn/{RXMQKTJR.js → CGH75CRF.js} +1 -1
  49. package/dist/cdn/{VFG4QJAL.js → CIYHSKF7.js} +1 -1
  50. package/dist/cdn/{BWNRKMS3.js → CTOCYTTR.js} +1 -1
  51. package/dist/cdn/{RJD35A5I.js → CTU5B3KC.js} +1 -1
  52. package/dist/cdn/{O2MNYT36.js → D4LLO72M.js} +1 -1
  53. package/dist/cdn/{REPXCTLA.js → D5HDV7HK.js} +1 -1
  54. package/dist/cdn/{ZEMJW5ZS.js → D7TWWF44.js} +1 -1
  55. package/dist/cdn/{RF3IKZ6O.js → DAP2VPDF.js} +1 -1
  56. package/dist/cdn/DHIYO6UH.js +2 -0
  57. package/dist/cdn/{DUNEDDAA.js → DJ65KHTT.js} +1 -1
  58. package/dist/cdn/{7FW2RVVH.js → DJD3CC5A.js} +1 -1
  59. package/dist/cdn/{3ANAA5WY.js → DJYRMK2C.js} +1 -1
  60. package/dist/cdn/{ILBDCXZZ.js → DL6SAQV4.js} +1 -1
  61. package/dist/cdn/{W4GTBLDU.js → DUDIVZGQ.js} +1 -1
  62. package/dist/cdn/{CSEY77KQ.js → EDXHLHEK.js} +1 -1
  63. package/dist/cdn/{D3AIPJFM.js → EIN7DQT3.js} +1 -1
  64. package/dist/cdn/{LCOU5YFI.js → EPJ7IFKU.js} +1 -1
  65. package/dist/cdn/{EOMTBPAM.js → EPKTJSSB.js} +1 -1
  66. package/dist/cdn/{X5QYKRNO.js → ERCK54DE.js} +1 -1
  67. package/dist/cdn/{SAZM37N6.js → FK326MY2.js} +1 -1
  68. package/dist/cdn/{YK6HNEMU.js → FNUTZYME.js} +1 -1
  69. package/dist/cdn/{BDRS3Y7M.js → FX5TGPAH.js} +1 -1
  70. package/dist/cdn/{XDANG4JV.js → FY7WEDQN.js} +1 -1
  71. package/dist/cdn/{M4XG6CGT.js → GMW5MPTM.js} +1 -1
  72. package/dist/cdn/GPD7HV23.js +2 -0
  73. package/dist/cdn/{QMRRNFHH.js → GZB75XBH.js} +1 -1
  74. package/dist/cdn/{IWH5NWUU.js → H7MGP25S.js} +1 -1
  75. package/dist/cdn/{Y6NAKDFA.js → HLIFWDQP.js} +1 -1
  76. package/dist/cdn/{RYMSHLIL.js → HZD5H23F.js} +1 -1
  77. package/dist/cdn/{TJBZHXEN.js → IJCFTYMJ.js} +1 -1
  78. package/dist/cdn/{PQ32Y6ZL.js → IOW5Z3SU.js} +1 -1
  79. package/dist/cdn/{DA4JUDJU.js → IWJQSMI4.js} +1 -1
  80. package/dist/cdn/{IHEH67LY.js → IYBRY24I.js} +1 -1
  81. package/dist/cdn/{I64YUHND.js → J6B5W6HH.js} +1 -1
  82. package/dist/cdn/{MTE46QCF.js → JI6NSKEV.js} +1 -1
  83. package/dist/cdn/{Y5J3BTH5.js → JJBJM2OJ.js} +1 -1
  84. package/dist/cdn/{RF2E4GRH.js → JNAEVEX5.js} +1 -1
  85. package/dist/cdn/{VW7FW6X2.js → JREPH2VL.js} +1 -1
  86. package/dist/cdn/{F2L2ICEF.js → K5XFENR7.js} +1 -1
  87. package/dist/cdn/{ELUBDVXJ.js → KCZJNER5.js} +1 -1
  88. package/dist/cdn/{J2FCKTAY.js → KQ4OCUO5.js} +1 -1
  89. package/dist/cdn/{Q2QSOF52.js → KSEF3TLS.js} +1 -1
  90. package/dist/cdn/{SHDRKD4O.js → KT6KY52P.js} +1 -1
  91. package/dist/cdn/{RCMSIMRP.js → KWN4MM3A.js} +1 -1
  92. package/dist/cdn/{HKZCFBV6.js → L7HFUK3G.js} +1 -1
  93. package/dist/cdn/{U53QKA4H.js → LIVPCPCA.js} +1 -1
  94. package/dist/cdn/{OZ4ROR63.js → MYUTWQWX.js} +1 -1
  95. package/dist/cdn/N6YOEFSV.js +2 -0
  96. package/dist/cdn/{Y6WHZAVU.js → N7N4MLB5.js} +1 -1
  97. package/dist/cdn/{5IFCTQIP.js → NDMUDXOZ.js} +1 -1
  98. package/dist/cdn/{QHYM366B.js → OJF5T5XY.js} +1 -1
  99. package/dist/cdn/{4SNLHQMJ.js → OW3U6T5J.js} +1 -1
  100. package/dist/cdn/{TPNBE2KI.js → OZOFR2GG.js} +1 -1
  101. package/dist/cdn/{DS7YC5ST.js → P6COGUMV.js} +1 -1
  102. package/dist/cdn/{A7S6MND4.js → PENOU5TN.js} +1 -1
  103. package/dist/cdn/{SC5XD7BD.js → PK2LDDBD.js} +1 -1
  104. package/dist/cdn/{3EL6KHB5.js → PMNFYSIR.js} +1 -1
  105. package/dist/cdn/{XZAMAONP.js → Q7WVCTBI.js} +1 -1
  106. package/dist/cdn/{2CNPC3OB.js → Q7Y5B4LB.js} +1 -1
  107. package/dist/cdn/{W3AEBEFX.js → QN6HNGLX.js} +1 -1
  108. package/dist/cdn/{5GISDVW5.js → QY7SDLEE.js} +1 -1
  109. package/dist/cdn/{WBHWBQHC.js → QYPTOYKS.js} +1 -1
  110. package/dist/cdn/{WFDVIUN7.js → RBPNU6ST.js} +1 -1
  111. package/dist/cdn/{JPDFANDQ.js → RCYZC42B.js} +1 -1
  112. package/dist/cdn/{PCI32ZDN.js → RDQHRWAK.js} +1 -1
  113. package/dist/cdn/{VB7JSUGB.js → RLUYZW3I.js} +1 -1
  114. package/dist/cdn/{4EHMEDLA.js → RW3VK62K.js} +1 -1
  115. package/dist/cdn/{UTSMZR73.js → RZRNVNLI.js} +1 -1
  116. package/dist/cdn/S4RYGITQ.js +2 -0
  117. package/dist/cdn/{TEOM4B4H.js → SAJGDBME.js} +1 -1
  118. package/dist/cdn/{44TFJRAK.js → SDPL45JE.js} +1 -1
  119. package/dist/cdn/{NAAFIXAF.js → SHV2W3BT.js} +1 -1
  120. package/dist/cdn/{N7LHYCP2.js → SKIVG43Z.js} +1 -1
  121. package/dist/cdn/{ZW6MT5KC.js → SR3EXOYY.js} +1 -1
  122. package/dist/cdn/{EES3BYY6.js → SU6QY5JA.js} +1 -1
  123. package/dist/cdn/{G5STALAI.js → SXAKRLPD.js} +1 -1
  124. package/dist/cdn/{KAVQKU3G.js → TBASJIIB.js} +1 -1
  125. package/dist/cdn/{7TYZDEGX.js → THP73LXL.js} +1 -1
  126. package/dist/cdn/{4VWHZFWR.js → TMJ22U5Z.js} +1 -1
  127. package/dist/cdn/TRBOVZT3.js +2 -0
  128. package/dist/cdn/{FRBCEYOV.js → UDQVMJ3S.js} +1 -1
  129. package/dist/cdn/{QQJJAYFU.js → UHIKZXRW.js} +1 -1
  130. package/dist/cdn/{GBRMQ3Q7.js → UV7KRWJF.js} +1 -1
  131. package/dist/cdn/UVCV5QVD.js +2 -0
  132. package/dist/cdn/{LQXCFNQS.js → UW77EV26.js} +1 -1
  133. package/dist/cdn/{ZL33K4C6.js → V5PEJNTB.js} +1 -1
  134. package/dist/cdn/{WDWHQGW6.js → VNA3UADR.js} +1 -1
  135. package/dist/cdn/VRVEOLT7.js +2 -0
  136. package/dist/cdn/{7FGFRTEF.js → VVVZYRRF.js} +1 -1
  137. package/dist/cdn/{WL3SJO7Q.js → WGPN42CN.js} +1 -1
  138. package/dist/cdn/{C65CLC4T.js → WI4ZFF5B.js} +1 -1
  139. package/dist/cdn/{V4PS7I6J.js → X6P74FM4.js} +1 -1
  140. package/dist/cdn/{3VHU2XEB.js → XYYLHYLL.js} +1 -1
  141. package/dist/cdn/{U6EJO5OV.js → YPAZP7GT.js} +1 -1
  142. package/dist/cdn/{ZKQDDLKK.js → YUHXCHM2.js} +1 -1
  143. package/dist/cdn/{HOOKFRJ5.js → ZJNPO53J.js} +1 -1
  144. package/dist/cdn/{BAXRS5AA.js → ZJU6M5HF.js} +1 -1
  145. package/dist/cdn/{TWOJRSW4.js → ZLBIDSOY.js} +1 -1
  146. package/dist/cdn/{ZYDS4IYB.js → ZNTPEW2R.js} +1 -1
  147. package/dist/cdn/{ZMIPEDSX.js → ZPUQDWIV.js} +1 -1
  148. package/dist/cdn/{J4ESZ24C.js → ZU3ZHGYC.js} +1 -1
  149. package/dist/cdn/index.js +2 -2
  150. package/dist/cdn/main.css +2 -2
  151. package/dist/chunks/dom.js +7 -1
  152. package/dist/chunks/resources25.js +0 -1
  153. package/dist/chunks/runtime.js +4 -4
  154. package/dist/chunks/useInlineEdit.js +16 -3
  155. package/dist/components/calcite-action/customElement.d.ts +0 -4
  156. package/dist/components/calcite-action-bar/customElement.js +0 -6
  157. package/dist/components/calcite-block-group/customElement.d.ts +4 -4
  158. package/dist/components/calcite-date-picker/customElement.js +9 -6
  159. package/dist/components/calcite-input/customElement.d.ts +18 -16
  160. package/dist/components/calcite-input/customElement.js +9 -4
  161. package/dist/components/calcite-input-number/customElement.d.ts +18 -16
  162. package/dist/components/calcite-input-number/customElement.js +8 -4
  163. package/dist/components/calcite-input-text/customElement.d.ts +18 -16
  164. package/dist/components/calcite-input-text/customElement.js +8 -4
  165. package/dist/components/calcite-input-time-zone/customElement.d.ts +2 -0
  166. package/dist/components/calcite-input-time-zone/customElement.js +2 -2
  167. package/dist/components/calcite-loader/customElement.js +2 -1
  168. package/dist/components/calcite-menu-item/customElement.js +1 -1
  169. package/dist/components/calcite-shell/customElement.js +3 -56
  170. package/dist/components/calcite-shell-panel/customElement.d.ts +0 -2
  171. package/dist/components/calcite-shell-panel/customElement.js +13 -88
  172. package/dist/components/calcite-slider/customElement.js +1 -1
  173. package/dist/components/calcite-text/customElement.d.ts +19 -0
  174. package/dist/components/calcite-text/customElement.js +174 -0
  175. package/dist/components/calcite-text/index.d.ts +1 -0
  176. package/dist/components/calcite-text/index.js +1 -0
  177. package/dist/docs/api.json +1 -1
  178. package/dist/docs/docs.json +1 -1
  179. package/dist/docs/vscode.css-custom-data.json +1 -1
  180. package/dist/docs/vscode.html-custom-data.json +1 -1
  181. package/dist/docs/web-types.json +1 -1
  182. package/dist/index.d.ts +4 -0
  183. package/dist/loader.js +3 -2
  184. package/dist/types/lumina.d.ts +7 -2
  185. package/dist/types/preact.d.ts +8 -2
  186. package/dist/types/react.d.ts +9 -2
  187. package/dist/types/stencil.d.ts +7 -2
  188. package/package.json +8 -8
  189. package/dist/cdn/2AZPDNN5.js +0 -2
  190. package/dist/cdn/2WGPIXZA.js +0 -2
  191. package/dist/cdn/CGZCRVLV.js +0 -2
  192. package/dist/cdn/EFKVMB36.js +0 -2
  193. package/dist/cdn/FAAQEW6G.js +0 -2
  194. package/dist/cdn/MOTVD3GS.js +0 -2
  195. package/dist/cdn/OORHTUDV.js +0 -2
  196. package/dist/cdn/QHQOBCL5.js +0 -2
  197. package/dist/cdn/SIBUXQXU.js +0 -2
  198. package/dist/cdn/SYTC5OFS.js +0 -2
  199. package/dist/cdn/UK4JBUQZ.js +0 -2
  200. package/dist/cdn/WTI76WPS.js +0 -2
  201. package/dist/cdn/ZEYKF5ZX.js +0 -2
  202. 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";