@esri/solutions-components 0.3.6 → 0.3.7

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 (274) hide show
  1. package/dist/cjs/buffer-tools_6.cjs.entry.js +8 -5
  2. package/dist/cjs/calcite-combobox_3.cjs.entry.js +2 -2
  3. package/dist/cjs/calcite-input-message_5.cjs.entry.js +6 -4
  4. package/dist/cjs/calcite-shell-panel_14.cjs.entry.js +2 -2
  5. package/dist/cjs/{csvUtils-83af7ae1.js → csvUtils-34666909.js} +1 -1
  6. package/dist/cjs/{interfaces-772edf61.js → interfaces-17c631bf.js} +1 -1
  7. package/dist/cjs/layer-table.cjs.entry.js +3 -3
  8. package/dist/cjs/map-card.cjs.entry.js +1 -1
  9. package/dist/cjs/{mapViewUtils-55ac76cb.js → mapViewUtils-24d1d859.js} +1 -1
  10. package/dist/cjs/public-notification.cjs.entry.js +16 -10
  11. package/dist/cjs/solution-configuration.cjs.entry.js +2 -2
  12. package/dist/cjs/solution-contents_3.cjs.entry.js +2 -2
  13. package/dist/cjs/{solution-store-39726b81.js → solution-store-2dbab624.js} +1 -1
  14. package/dist/collection/components/buffer-tools/buffer-tools.js +2 -2
  15. package/dist/collection/components/map-draw-tools/map-draw-tools.js +2 -1
  16. package/dist/collection/components/public-notification/public-notification.js +14 -8
  17. package/dist/collection/components/refine-selection/refine-selection.js +4 -2
  18. package/dist/collection/components/refine-selection-tools/refine-selection-tools.css +1 -0
  19. package/dist/collection/components/refine-selection-tools/refine-selection-tools.js +3 -1
  20. package/dist/collection/demos/new-public-notification.html +2 -1
  21. package/dist/collection/utils/interfaces.js +1 -1
  22. package/dist/collection/utils/interfaces.ts +2 -2
  23. package/dist/components/interfaces3.js +1 -1
  24. package/dist/components/map-draw-tools2.js +2 -1
  25. package/dist/components/public-notification.js +14 -8
  26. package/dist/components/refine-selection-tools2.js +4 -2
  27. package/dist/components/refine-selection2.js +4 -2
  28. package/dist/esm/buffer-tools_6.entry.js +8 -5
  29. package/dist/esm/calcite-combobox_3.entry.js +2 -2
  30. package/dist/esm/calcite-input-message_5.entry.js +6 -4
  31. package/dist/esm/calcite-shell-panel_14.entry.js +2 -2
  32. package/dist/esm/{csvUtils-eb231cfb.js → csvUtils-ae3004b9.js} +1 -1
  33. package/dist/esm/{interfaces-3b23a5f9.js → interfaces-d0d83efa.js} +1 -1
  34. package/dist/esm/layer-table.entry.js +3 -3
  35. package/dist/esm/map-card.entry.js +1 -1
  36. package/dist/esm/{mapViewUtils-e5d8a1e1.js → mapViewUtils-541e7a3c.js} +1 -1
  37. package/dist/esm/public-notification.entry.js +16 -10
  38. package/dist/esm/solution-configuration.entry.js +2 -2
  39. package/dist/esm/solution-contents_3.entry.js +2 -2
  40. package/dist/esm/{solution-store-c0bf9200.js → solution-store-41e15f1c.js} +1 -1
  41. package/dist/solutions-components/demos/new-public-notification.html +2 -1
  42. package/dist/solutions-components/p-05e64bd1.js +498 -2
  43. package/dist/solutions-components/p-08a95b33.entry.js +138 -0
  44. package/dist/solutions-components/p-0da5bbdf.entry.js +91 -0
  45. package/dist/solutions-components/p-0ef91144.entry.js +913 -0
  46. package/dist/solutions-components/p-0f523243.entry.js +1916 -0
  47. package/dist/solutions-components/p-11b9510e.entry.js +173 -0
  48. package/dist/solutions-components/p-1b875d94.entry.js +58 -0
  49. package/dist/solutions-components/p-1c567f3a.js +23 -16
  50. package/dist/solutions-components/p-1c883db9.entry.js +43 -0
  51. package/dist/solutions-components/p-1f225056.js +322 -0
  52. package/dist/solutions-components/p-1f499e67.entry.js +72 -0
  53. package/dist/solutions-components/p-20d3d758.entry.js +881 -0
  54. package/dist/solutions-components/p-2274ac9e.entry.js +160 -0
  55. package/dist/solutions-components/p-23ec5ac5.entry.js +93 -0
  56. package/dist/solutions-components/p-2447798c.entry.js +155 -0
  57. package/dist/solutions-components/p-2525e691.entry.js +432 -0
  58. package/dist/solutions-components/p-2561f5b5.js +4092 -0
  59. package/dist/solutions-components/p-29f887c0.entry.js +234 -0
  60. package/dist/solutions-components/p-2a0d8047.entry.js +345 -0
  61. package/dist/solutions-components/p-2c177e6a.entry.js +101 -0
  62. package/dist/solutions-components/p-2e9ed892.js +46 -1
  63. package/dist/solutions-components/p-316f56db.js +219 -2
  64. package/dist/solutions-components/p-327f3ebf.entry.js +98 -0
  65. package/dist/solutions-components/p-356f8b54.entry.js +138 -0
  66. package/dist/solutions-components/p-359c58de.entry.js +172 -0
  67. package/dist/solutions-components/p-37336c0d.entry.js +116 -0
  68. package/dist/solutions-components/p-374a5031.js +105 -2
  69. package/dist/solutions-components/p-39ea6ef4.entry.js +71 -0
  70. package/dist/solutions-components/p-3b010ce1.js +17 -1
  71. package/dist/solutions-components/p-4307dacd.js +194 -1
  72. package/dist/solutions-components/p-44da2507.js +405 -14
  73. package/dist/solutions-components/p-46bdffe8.entry.js +54 -0
  74. package/dist/solutions-components/p-4894bbeb.js +53 -2
  75. package/dist/solutions-components/p-4cd569f1.entry.js +1298 -0
  76. package/dist/solutions-components/p-4d4160f9.entry.js +121 -0
  77. package/dist/solutions-components/p-4e32bf8c.js +482 -1
  78. package/dist/solutions-components/p-4e9cbd32.entry.js +184 -0
  79. package/dist/solutions-components/p-508317b3.js +13 -2
  80. package/dist/solutions-components/p-54697d58.entry.js +198 -0
  81. package/dist/solutions-components/p-55c79103.entry.js +311 -0
  82. package/dist/solutions-components/p-57fd19c0.entry.js +706 -0
  83. package/dist/solutions-components/p-59b48fde.entry.js +443 -0
  84. package/dist/solutions-components/p-60e0e6a0.entry.js +214 -0
  85. package/dist/solutions-components/p-621d0534.entry.js +123 -0
  86. package/dist/solutions-components/p-63f6e8f1.js +14 -1
  87. package/dist/solutions-components/p-66aeec57.entry.js +61 -0
  88. package/dist/solutions-components/p-69834f46.entry.js +618 -0
  89. package/dist/solutions-components/p-6d9da8e5.entry.js +21530 -0
  90. package/dist/solutions-components/p-6e0da576.js +13 -1
  91. package/dist/solutions-components/p-6ec3f294.entry.js +106 -0
  92. package/dist/solutions-components/p-6fe17794.js +9 -1
  93. package/dist/solutions-components/p-7024cb16.entry.js +72 -0
  94. package/dist/solutions-components/p-70535506.entry.js +226 -0
  95. package/dist/solutions-components/p-708a63a8.js +12 -1
  96. package/dist/solutions-components/p-729708a3.js +14 -1
  97. package/dist/solutions-components/p-73e23995.js +6 -1
  98. package/dist/solutions-components/p-74b29d75.entry.js +231 -0
  99. package/dist/solutions-components/p-74b7ee25.entry.js +711 -0
  100. package/dist/solutions-components/p-77182c3a.js +3015 -1
  101. package/dist/solutions-components/p-78b3ef80.entry.js +456 -0
  102. package/dist/solutions-components/p-79709c19.js +60 -3
  103. package/dist/solutions-components/p-7a46ef97.js +181 -2
  104. package/dist/solutions-components/p-7be159e6.entry.js +175 -0
  105. package/dist/solutions-components/p-7d4451c2.entry.js +71 -0
  106. package/dist/solutions-components/p-7daea1df.js +41 -1
  107. package/dist/solutions-components/p-7e39e5ad.entry.js +102 -0
  108. package/dist/solutions-components/p-7fb45059.entry.js +43 -0
  109. package/dist/solutions-components/p-815533de.js +306 -3
  110. package/dist/solutions-components/p-816622ca.entry.js +248 -0
  111. package/dist/solutions-components/p-83166522.js +205 -2
  112. package/dist/solutions-components/p-83bd1991.entry.js +36 -0
  113. package/dist/solutions-components/p-856464d7.entry.js +572 -0
  114. package/dist/solutions-components/p-8c349bad.entry.js +347 -0
  115. package/dist/solutions-components/p-8dccb390.entry.js +1986 -0
  116. package/dist/solutions-components/p-904c185a.entry.js +228 -0
  117. package/dist/solutions-components/p-9092f8b3.entry.js +156 -0
  118. package/dist/solutions-components/p-9371145a.entry.js +477 -0
  119. package/dist/solutions-components/p-93d3119d.js +1948 -1
  120. package/dist/solutions-components/p-95ec8062.entry.js +173 -0
  121. package/dist/solutions-components/p-991ee695.js +109 -1
  122. package/dist/solutions-components/p-9a57dab7.entry.js +213 -0
  123. package/dist/solutions-components/p-9a9955db.js +41 -1
  124. package/dist/solutions-components/p-9c1ebc90.js +35 -16
  125. package/dist/solutions-components/p-9eba5c66.js +399 -3
  126. package/dist/solutions-components/p-a033a507.entry.js +252 -0
  127. package/dist/solutions-components/p-a3773415.entry.js +1132 -0
  128. package/dist/solutions-components/p-a44fe40f.entry.js +94 -0
  129. package/dist/solutions-components/p-a5b1ab03.js +33 -3
  130. package/dist/solutions-components/p-a5b2c13d.entry.js +723 -0
  131. package/dist/solutions-components/p-a6d729b7.entry.js +85 -0
  132. package/dist/solutions-components/p-a8005026.entry.js +565 -0
  133. package/dist/solutions-components/p-a80b3880.js +14 -1
  134. package/dist/solutions-components/p-a89198a3.entry.js +2620 -0
  135. package/dist/solutions-components/p-aa04bd1f.entry.js +95 -0
  136. package/dist/solutions-components/p-aa0a0922.entry.js +80 -0
  137. package/dist/solutions-components/p-ae1fd76b.js +11 -1
  138. package/dist/solutions-components/p-b2cf435e.entry.js +87 -0
  139. package/dist/solutions-components/p-b359dc78.js +41 -1
  140. package/dist/solutions-components/p-b57bc4eb.entry.js +71 -0
  141. package/dist/solutions-components/p-b75cc407.entry.js +145 -0
  142. package/dist/solutions-components/p-b911cb75.entry.js +71 -0
  143. package/dist/solutions-components/p-b965e177.entry.js +335 -0
  144. package/dist/solutions-components/p-b978636e.js +14 -1
  145. package/dist/solutions-components/p-ba10a5c8.entry.js +42 -0
  146. package/dist/solutions-components/p-bd67334c.js +122 -2
  147. package/dist/solutions-components/p-bde20dba.entry.js +212 -0
  148. package/dist/solutions-components/p-be0b5a94.entry.js +248 -0
  149. package/dist/solutions-components/p-c023e6a1.js +2028 -2
  150. package/dist/solutions-components/p-c27b0c2d.entry.js +150 -0
  151. package/dist/solutions-components/p-c579ed60.entry.js +447 -0
  152. package/dist/solutions-components/p-c92bc231.js +101 -2
  153. package/dist/solutions-components/p-cc815aca.js +839 -16
  154. package/dist/solutions-components/p-cc8beabb.entry.js +695 -0
  155. package/dist/solutions-components/p-cdc46c0c.js +1751 -2
  156. package/dist/solutions-components/p-d12e6992.entry.js +118 -0
  157. package/dist/solutions-components/p-d1dfed6b.entry.js +179 -0
  158. package/dist/solutions-components/p-d48a24e6.js +754 -2
  159. package/dist/solutions-components/p-d96ee3ef.entry.js +579 -0
  160. package/dist/solutions-components/p-dbc9a5a8.js +80 -0
  161. package/dist/solutions-components/p-dcdbe712.entry.js +278 -0
  162. package/dist/solutions-components/p-de39206f.entry.js +113 -0
  163. package/dist/solutions-components/p-de5416e8.js +28 -1
  164. package/dist/solutions-components/p-df420d54.entry.js +213 -0
  165. package/dist/solutions-components/p-e3138cf0.entry.js +20 -0
  166. package/dist/solutions-components/p-e4845fec.entry.js +152 -0
  167. package/dist/solutions-components/p-e611d8c8.js +28 -1
  168. package/dist/solutions-components/p-e947d3b0.js +5 -1
  169. package/dist/solutions-components/p-ea534300.js +41 -2
  170. package/dist/solutions-components/p-ec84ee85.entry.js +55 -0
  171. package/dist/solutions-components/p-ed36c637.entry.js +85 -0
  172. package/dist/solutions-components/p-f0add71c.js +74 -0
  173. package/dist/solutions-components/p-f42e014b.js +171 -2
  174. package/dist/solutions-components/p-fc02e7de.entry.js +308 -0
  175. package/dist/solutions-components/p-fc884dd6.js +28 -16
  176. package/dist/solutions-components/p-fcbfa59c.entry.js +181 -0
  177. package/dist/solutions-components/p-fdc5cf5f.entry.js +138 -0
  178. package/dist/solutions-components/solutions-components.esm.js +20 -1
  179. package/dist/solutions-components/utils/interfaces.ts +2 -2
  180. package/dist/types/components/buffer-tools/buffer-tools.d.ts +2 -2
  181. package/dist/types/components/public-notification/public-notification.d.ts +9 -1
  182. package/dist/types/components.d.ts +2 -2
  183. package/package.json +1 -1
  184. package/dist/solutions-components/p-021432b8.entry.js +0 -12
  185. package/dist/solutions-components/p-03440b1e.entry.js +0 -11
  186. package/dist/solutions-components/p-0512635b.entry.js +0 -6
  187. package/dist/solutions-components/p-086ef115.entry.js +0 -29
  188. package/dist/solutions-components/p-0b4bf57f.entry.js +0 -6
  189. package/dist/solutions-components/p-0c088725.entry.js +0 -6
  190. package/dist/solutions-components/p-0f820c08.entry.js +0 -6
  191. package/dist/solutions-components/p-164780a0.entry.js +0 -6
  192. package/dist/solutions-components/p-179a68a0.entry.js +0 -6
  193. package/dist/solutions-components/p-184b5005.entry.js +0 -11
  194. package/dist/solutions-components/p-1d082fee.entry.js +0 -11
  195. package/dist/solutions-components/p-1e6c02a2.entry.js +0 -11
  196. package/dist/solutions-components/p-20a58e62.entry.js +0 -17
  197. package/dist/solutions-components/p-20b2458c.entry.js +0 -11
  198. package/dist/solutions-components/p-245d47c1.entry.js +0 -6
  199. package/dist/solutions-components/p-2cb057a9.entry.js +0 -11
  200. package/dist/solutions-components/p-2cc72806.entry.js +0 -23
  201. package/dist/solutions-components/p-2de1db9c.entry.js +0 -11
  202. package/dist/solutions-components/p-2e9c7055.entry.js +0 -11
  203. package/dist/solutions-components/p-2ed5e6c8.entry.js +0 -11
  204. package/dist/solutions-components/p-3109d940.entry.js +0 -6
  205. package/dist/solutions-components/p-31a8bcfa.entry.js +0 -6
  206. package/dist/solutions-components/p-3649acb3.entry.js +0 -18
  207. package/dist/solutions-components/p-3f88ba73.entry.js +0 -6
  208. package/dist/solutions-components/p-3fa9b3c8.js +0 -36
  209. package/dist/solutions-components/p-40c41709.entry.js +0 -6
  210. package/dist/solutions-components/p-40e963c7.entry.js +0 -11
  211. package/dist/solutions-components/p-40f480da.entry.js +0 -11
  212. package/dist/solutions-components/p-49d5d2d3.entry.js +0 -11
  213. package/dist/solutions-components/p-4f7049a4.entry.js +0 -11
  214. package/dist/solutions-components/p-506e4d78.entry.js +0 -6
  215. package/dist/solutions-components/p-576fdcab.entry.js +0 -6
  216. package/dist/solutions-components/p-5bd0cf34.entry.js +0 -23
  217. package/dist/solutions-components/p-65e177f1.entry.js +0 -6
  218. package/dist/solutions-components/p-67d710c2.entry.js +0 -6
  219. package/dist/solutions-components/p-7268b445.entry.js +0 -11
  220. package/dist/solutions-components/p-75ea4667.entry.js +0 -6
  221. package/dist/solutions-components/p-778c0a36.entry.js +0 -17
  222. package/dist/solutions-components/p-7a22509b.entry.js +0 -12
  223. package/dist/solutions-components/p-7bff51db.entry.js +0 -6
  224. package/dist/solutions-components/p-7d2d0d5d.entry.js +0 -6
  225. package/dist/solutions-components/p-7f0036f1.entry.js +0 -11
  226. package/dist/solutions-components/p-8060fb94.entry.js +0 -6
  227. package/dist/solutions-components/p-80a1b305.entry.js +0 -6
  228. package/dist/solutions-components/p-81eae877.entry.js +0 -12
  229. package/dist/solutions-components/p-84e86b8b.entry.js +0 -6
  230. package/dist/solutions-components/p-851e04ae.entry.js +0 -6
  231. package/dist/solutions-components/p-9106950a.entry.js +0 -11
  232. package/dist/solutions-components/p-979804a4.entry.js +0 -11
  233. package/dist/solutions-components/p-9862baa8.entry.js +0 -11
  234. package/dist/solutions-components/p-9b5a9117.entry.js +0 -12
  235. package/dist/solutions-components/p-9deff0c2.entry.js +0 -6
  236. package/dist/solutions-components/p-9f400eeb.entry.js +0 -6
  237. package/dist/solutions-components/p-a0639ad1.entry.js +0 -11
  238. package/dist/solutions-components/p-a33c044e.entry.js +0 -6
  239. package/dist/solutions-components/p-a516c658.entry.js +0 -6
  240. package/dist/solutions-components/p-aa0ef36d.entry.js +0 -11
  241. package/dist/solutions-components/p-aaccbdf3.entry.js +0 -18
  242. package/dist/solutions-components/p-ab03a5c9.entry.js +0 -11
  243. package/dist/solutions-components/p-ad469b92.entry.js +0 -11
  244. package/dist/solutions-components/p-adc86ac3.entry.js +0 -6
  245. package/dist/solutions-components/p-addc1156.entry.js +0 -11
  246. package/dist/solutions-components/p-ae846934.entry.js +0 -11
  247. package/dist/solutions-components/p-b0572fc4.entry.js +0 -37
  248. package/dist/solutions-components/p-b4e476b7.js +0 -257
  249. package/dist/solutions-components/p-b668daf8.js +0 -21
  250. package/dist/solutions-components/p-b6e6eae1.entry.js +0 -6
  251. package/dist/solutions-components/p-bc317a7f.entry.js +0 -6
  252. package/dist/solutions-components/p-be41429f.js +0 -21
  253. package/dist/solutions-components/p-bf6b6353.entry.js +0 -11
  254. package/dist/solutions-components/p-c2e3dfbb.entry.js +0 -11
  255. package/dist/solutions-components/p-c4afae53.entry.js +0 -12
  256. package/dist/solutions-components/p-c9da1c26.entry.js +0 -6
  257. package/dist/solutions-components/p-cbf8cd49.entry.js +0 -6
  258. package/dist/solutions-components/p-cc1a064a.entry.js +0 -11
  259. package/dist/solutions-components/p-d09a168c.entry.js +0 -6
  260. package/dist/solutions-components/p-d377f913.entry.js +0 -11
  261. package/dist/solutions-components/p-d4cefead.entry.js +0 -37
  262. package/dist/solutions-components/p-d7bc0baf.entry.js +0 -16
  263. package/dist/solutions-components/p-d8968487.entry.js +0 -11
  264. package/dist/solutions-components/p-e00a0b86.entry.js +0 -11
  265. package/dist/solutions-components/p-e9a7ed49.entry.js +0 -11
  266. package/dist/solutions-components/p-ec27e493.entry.js +0 -11
  267. package/dist/solutions-components/p-ed6404eb.entry.js +0 -6
  268. package/dist/solutions-components/p-ef21e195.entry.js +0 -23
  269. package/dist/solutions-components/p-f6068a2d.entry.js +0 -11
  270. package/dist/solutions-components/p-f6c4cff3.entry.js +0 -11
  271. package/dist/solutions-components/p-f847291f.entry.js +0 -6
  272. package/dist/solutions-components/p-f90fd262.entry.js +0 -11
  273. package/dist/solutions-components/p-fc973005.entry.js +0 -6
  274. package/dist/solutions-components/p-ff9fb6bc.entry.js +0 -11
@@ -0,0 +1,101 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './p-c023e6a1.js';
7
+ import { E as EDistressType, a as ESeverity, b as calculateDeductValue } from './p-cc815aca.js';
8
+
9
+ const deductCalculatorCss = ":host{display:block;--calcite-label-margin-bottom:0}.label-display{display:block;padding-bottom:1rem}";
10
+
11
+ const DeductCalculator = class {
12
+ constructor(hostRef) {
13
+ registerInstance(this, hostRef);
14
+ this.deductValueComplete = createEvent(this, "deductValueComplete", 7);
15
+ /**
16
+ * string[]: Array of the distress types
17
+ */
18
+ this._types = Object.keys(EDistressType).filter(k => !isNaN(Number(EDistressType[k])));
19
+ }
20
+ //--------------------------------------------------------------------------
21
+ //
22
+ // Functions (lifecycle)
23
+ //
24
+ //--------------------------------------------------------------------------
25
+ /**
26
+ * Renders the component.
27
+ */
28
+ render() {
29
+ return (h(Host, null, h("div", { class: "label-display" }, h("calcite-label", { class: "label-display" }, "Density %", this._getDensityInput()), h("calcite-label", { class: "label-display" }, "Type", this._getTypeInput()), h("calcite-label", { class: "label-display" }, "Severity", this._getSeverityInput())), h("div", null, this._getCalculateInput())));
30
+ }
31
+ //--------------------------------------------------------------------------
32
+ //
33
+ // Functions (protected)
34
+ //
35
+ //--------------------------------------------------------------------------
36
+ /**
37
+ * Render the density input
38
+ *
39
+ * @returns a node with a control to set the density number (float)
40
+ *
41
+ * @protected
42
+ */
43
+ _getDensityInput() {
44
+ return (h("calcite-input", { max: 100, min: 0, ref: (el) => { this._densityElement = el; }, type: 'number' }));
45
+ }
46
+ /**
47
+ * Render the distress type input
48
+ *
49
+ * @returns a node with a control that shows the distress type name and value
50
+ * for example ALLIGATOR_CRACKING (1)
51
+ *
52
+ * @protected
53
+ */
54
+ _getTypeInput() {
55
+ return (h("calcite-select", { label: '', ref: (el) => { this._typeElement = el; } }, this._types.map((t, i) => h("calcite-option", { value: EDistressType[t].toString() }, `${t} (${i + 1})`))));
56
+ }
57
+ /**
58
+ * Render the distress type input
59
+ *
60
+ * @returns a node with a control that shows the distress type name and value
61
+ * for example ALLIGATOR_CRACKING (1)
62
+ *
63
+ * @protected
64
+ */
65
+ _getSeverityInput() {
66
+ return (h("calcite-select", { label: '', ref: (el) => { this._severityElement = el; } }, h("calcite-option", { value: ESeverity.H }, "High"), h("calcite-option", { value: ESeverity.M }, "Medium"), h("calcite-option", { value: ESeverity.L }, "Low")));
67
+ }
68
+ /**
69
+ * Render calculate deduct value button
70
+ *
71
+ * @returns a node with a control that calculates the deduct value
72
+ *
73
+ * @protected
74
+ */
75
+ _getCalculateInput() {
76
+ return (h("calcite-button", { onClick: () => this._calculateDeduct(parseFloat(this._typeElement.value), this._severityElement.value, parseFloat(this._densityElement.value)) }, "Calculate Deduct Value"));
77
+ }
78
+ /**
79
+ * Calculate the deduct value based on the user inputs using the ASTM methodology
80
+ *
81
+ * @param type distress type 1-19 based on ASTM
82
+ * @param severity "H" | "M" | "L" high, med, low based on ASTM
83
+ * @param density percent density of the distress type and severity based on total sample area
84
+ *
85
+ * @protected
86
+ */
87
+ _calculateDeduct(type, severity, density) {
88
+ if (type && severity && !isNaN(density)) {
89
+ const dv = calculateDeductValue(type.toString(), severity.toString(), density.toString(), true);
90
+ this.deductValueComplete.emit(dv);
91
+ alert(dv);
92
+ }
93
+ else {
94
+ alert("Type, severity, and a density number are required");
95
+ }
96
+ }
97
+ get el() { return getElement(this); }
98
+ };
99
+ DeductCalculator.style = deductCalculatorCss;
100
+
101
+ export { DeductCalculator as deduct_calculator };
@@ -8,4 +8,49 @@
8
8
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
9
9
  * v1.0.0-beta.97
10
10
  */
11
- const t=new WeakMap;function i(t){t.propertyName===this.openTransitionProp&&t.target===this.transitionEl&&(this.open?this.onBeforeOpen():this.onBeforeClose())}function n(t){t.propertyName===this.openTransitionProp&&t.target===this.transitionEl&&(this.open?this.onOpen():this.onClose())}function s(s){if(o(s),s.transitionEl){const o=i.bind(s),a=n.bind(s);t.set(s,[s.transitionEl,o,a]),s.transitionEl.addEventListener("transitionstart",o),s.transitionEl.addEventListener("transitionend",a)}}function o(i){if(!t.has(i))return;const[n,s,o]=t.get(i);n.removeEventListener("transitionstart",s),n.removeEventListener("transitionend",o),t.delete(i)}export{s as c,o as d}
11
+ const componentToTransitionListeners = new WeakMap();
12
+ function transitionStart(event) {
13
+ if (event.propertyName === this.openTransitionProp && event.target === this.transitionEl) {
14
+ this.open ? this.onBeforeOpen() : this.onBeforeClose();
15
+ }
16
+ }
17
+ function transitionEnd(event) {
18
+ if (event.propertyName === this.openTransitionProp && event.target === this.transitionEl) {
19
+ this.open ? this.onOpen() : this.onClose();
20
+ }
21
+ }
22
+ /**
23
+ * Helper to keep track of transition listeners on setTransitionEl and connectedCallback on OpenCloseComponent components.
24
+ *
25
+ * @param component
26
+ */
27
+ function connectOpenCloseComponent(component) {
28
+ disconnectOpenCloseComponent(component);
29
+ if (component.transitionEl) {
30
+ const boundOnTransitionStart = transitionStart.bind(component);
31
+ const boundOnTransitionEnd = transitionEnd.bind(component);
32
+ componentToTransitionListeners.set(component, [
33
+ component.transitionEl,
34
+ boundOnTransitionStart,
35
+ boundOnTransitionEnd
36
+ ]);
37
+ component.transitionEl.addEventListener("transitionstart", boundOnTransitionStart);
38
+ component.transitionEl.addEventListener("transitionend", boundOnTransitionEnd);
39
+ }
40
+ }
41
+ /**
42
+ * Helper to tear down transition listeners on disconnectedCallback on OpenCloseComponent components.
43
+ *
44
+ * @param component
45
+ */
46
+ function disconnectOpenCloseComponent(component) {
47
+ if (!componentToTransitionListeners.has(component)) {
48
+ return;
49
+ }
50
+ const [transitionEl, start, end] = componentToTransitionListeners.get(component);
51
+ transitionEl.removeEventListener("transitionstart", start);
52
+ transitionEl.removeEventListener("transitionend", end);
53
+ componentToTransitionListeners.delete(component);
54
+ }
55
+
56
+ export { connectOpenCloseComponent as c, disconnectOpenCloseComponent as d };
@@ -3,9 +3,226 @@
3
3
  * Licensed under the Apache License, Version 2.0
4
4
  * http://www.apache.org/licenses/LICENSE-2.0
5
5
  */
6
- import{c as n}from"./p-83166522.js";import{h as t}from"./p-c023e6a1.js";
6
+ import { c as closestElementCrossShadowBoundary } from './p-83166522.js';
7
+ import { h } from './p-c023e6a1.js';
8
+
7
9
  /*!
8
10
  * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
9
11
  * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
10
12
  * v1.0.0-beta.97
11
- */const e="hidden-form-input";function o(n){return"checked"in n}const s=new WeakMap,c=new WeakSet;function r(n){const{formEl:t}=n;return!!t&&("requestSubmit"in t?t.requestSubmit():t.submit(),!0)}function i(n){var t;null===(t=n.formEl)||void 0===t||t.reset()}function u(t){const{el:e,value:r}=t,i=n(e,"form");if(!i||function(n,t){const e="calciteInternalFormComponentRegister";let o=!1;return n.addEventListener(e,(n=>{o=n.composedPath().some((n=>c.has(n))),n.stopPropagation()}),{once:!0}),t.dispatchEvent(new CustomEvent(e,{bubbles:!0,composed:!0})),o}(i,e))return;t.formEl=i,t.defaultValue=r,o(t)&&(t.defaultChecked=t.checked);const u=(t.onFormReset||a).bind(t);i.addEventListener("reset",u),s.set(t.el,u),c.add(e)}function a(){o(this)?this.checked=this.defaultChecked:this.value=this.defaultValue}function l(n){const{el:t,formEl:e}=n;if(!e)return;const o=s.get(t);e.removeEventListener("reset",o),s.delete(t),n.formEl=null,c.delete(t)}function f(n,t){n.defaultValue=t}const m=n=>{n.target.dispatchEvent(new CustomEvent("calciteInternalHiddenInputChange",{bubbles:!0}))},d=n=>n.removeEventListener("change",m);function p(n,t,e){var s;const{defaultValue:c,disabled:r,name:i,required:u}=n;t.defaultValue=c,t.disabled=r,t.name=i,t.required=u,t.tabIndex=-1,o(n)?(t.defaultChecked=n.defaultChecked,t.value=n.checked?e||"on":"",r||n.checked||(t.disabled=!0)):t.value=e||"",null===(s=n.syncHiddenFormInput)||void 0===s||s.call(n,t)}const h=({component:n})=>(function(n){const{el:t,formEl:o,name:s,value:c}=n,{ownerDocument:r}=t,i=t.querySelectorAll(`input[slot="${e}"]`);if(!o||!s)return void i.forEach((n=>{d(n),n.remove()}));const u=Array.isArray(c)?c:[c],a=[],l=new Set;let f;i.forEach((t=>{const e=u.find((n=>n==t.value));null!=e?(l.add(e),p(n,t,e)):a.push(t)})),u.forEach((t=>{if(l.has(t))return;let o=a.pop();o||(o=r.createElement("input"),o.slot=e),f||(f=r.createDocumentFragment()),f.append(o),o.addEventListener("change",m),p(n,o,t)})),f&&t.append(f),a.forEach((n=>{d(n),n.remove()}))}(n),t("slot",{name:e}));export{h as H,f as a,u as c,l as d,i as r,r as s}
13
+ */
14
+ /**
15
+ * Exported for testing purposes.
16
+ */
17
+ const hiddenFormInputSlotName = "hidden-form-input";
18
+ function isCheckable(component) {
19
+ return "checked" in component;
20
+ }
21
+ const onFormResetMap = new WeakMap();
22
+ const formComponentSet = new WeakSet();
23
+ function hasRegisteredFormComponentParent(form, formComponentEl) {
24
+ // we use events as a way to test for nested form-associated components across shadow bounds
25
+ const formComponentRegisterEventName = "calciteInternalFormComponentRegister";
26
+ let hasRegisteredFormComponentParent = false;
27
+ form.addEventListener(formComponentRegisterEventName, (event) => {
28
+ hasRegisteredFormComponentParent = event
29
+ .composedPath()
30
+ .some((element) => formComponentSet.has(element));
31
+ event.stopPropagation();
32
+ }, { once: true });
33
+ formComponentEl.dispatchEvent(new CustomEvent(formComponentRegisterEventName, {
34
+ bubbles: true,
35
+ composed: true
36
+ }));
37
+ return hasRegisteredFormComponentParent;
38
+ }
39
+ /**
40
+ * Helper to submit a form.
41
+ *
42
+ * @param component
43
+ * @returns true if its associated form was submitted, false otherwise.
44
+ */
45
+ function submitForm(component) {
46
+ const { formEl } = component;
47
+ if (!formEl) {
48
+ return false;
49
+ }
50
+ "requestSubmit" in formEl ? formEl.requestSubmit() : formEl.submit();
51
+ return true;
52
+ }
53
+ /**
54
+ * Helper to reset a form.
55
+ *
56
+ * @param component
57
+ */
58
+ function resetForm(component) {
59
+ var _a;
60
+ (_a = component.formEl) === null || _a === void 0 ? void 0 : _a.reset();
61
+ }
62
+ /**
63
+ * Helper to set up form interactions on connectedCallback.
64
+ *
65
+ * @param component
66
+ */
67
+ function connectForm(component) {
68
+ const { el, value } = component;
69
+ const form = closestElementCrossShadowBoundary(el, "form");
70
+ if (!form || hasRegisteredFormComponentParent(form, el)) {
71
+ return;
72
+ }
73
+ component.formEl = form;
74
+ component.defaultValue = value;
75
+ if (isCheckable(component)) {
76
+ component.defaultChecked = component.checked;
77
+ }
78
+ const boundOnFormReset = (component.onFormReset || onFormReset).bind(component);
79
+ form.addEventListener("reset", boundOnFormReset);
80
+ onFormResetMap.set(component.el, boundOnFormReset);
81
+ formComponentSet.add(el);
82
+ }
83
+ function onFormReset() {
84
+ if (isCheckable(this)) {
85
+ this.checked = this.defaultChecked;
86
+ return;
87
+ }
88
+ this.value = this.defaultValue;
89
+ }
90
+ /**
91
+ * Helper to tear down form interactions on disconnectedCallback.
92
+ *
93
+ * @param component
94
+ */
95
+ function disconnectForm(component) {
96
+ const { el, formEl } = component;
97
+ if (!formEl) {
98
+ return;
99
+ }
100
+ const boundOnFormReset = onFormResetMap.get(el);
101
+ formEl.removeEventListener("reset", boundOnFormReset);
102
+ onFormResetMap.delete(el);
103
+ component.formEl = null;
104
+ formComponentSet.delete(el);
105
+ }
106
+ /**
107
+ * Helper for setting the default value on initialization after connectedCallback.
108
+ *
109
+ * Note that this is only needed if the default value cannot be determined on connectedCallback.
110
+ *
111
+ * @param component
112
+ * @param value
113
+ */
114
+ function afterConnectDefaultValueSet(component, value) {
115
+ component.defaultValue = value;
116
+ }
117
+ const hiddenInputChangeHandler = (event) => {
118
+ event.target.dispatchEvent(new CustomEvent("calciteInternalHiddenInputChange", { bubbles: true }));
119
+ };
120
+ const removeHiddenInputChangeEventListener = (input) => input.removeEventListener("change", hiddenInputChangeHandler);
121
+ /**
122
+ * Helper for maintaining a form-associated's hidden input in sync with the component.
123
+ *
124
+ * Based on Ionic's approach: https://github.com/ionic-team/ionic-framework/blob/e4bf052794af9aac07f887013b9250d2a045eba3/core/src/utils/helpers.ts#L198
125
+ *
126
+ * @param component
127
+ */
128
+ function syncHiddenFormInput(component) {
129
+ const { el, formEl, name, value } = component;
130
+ const { ownerDocument } = el;
131
+ const inputs = el.querySelectorAll(`input[slot="${hiddenFormInputSlotName}"]`);
132
+ if (!formEl || !name) {
133
+ inputs.forEach((input) => {
134
+ removeHiddenInputChangeEventListener(input);
135
+ input.remove();
136
+ });
137
+ return;
138
+ }
139
+ const values = Array.isArray(value) ? value : [value];
140
+ const extra = [];
141
+ const seen = new Set();
142
+ inputs.forEach((input) => {
143
+ const valueMatch = values.find((val) =>
144
+ /* intentional non-strict equality check */
145
+ val == input.value);
146
+ if (valueMatch != null) {
147
+ seen.add(valueMatch);
148
+ defaultSyncHiddenFormInput(component, input, valueMatch);
149
+ }
150
+ else {
151
+ extra.push(input);
152
+ }
153
+ });
154
+ let docFrag;
155
+ values.forEach((value) => {
156
+ if (seen.has(value)) {
157
+ return;
158
+ }
159
+ let input = extra.pop();
160
+ if (!input) {
161
+ input = ownerDocument.createElement("input");
162
+ input.slot = hiddenFormInputSlotName;
163
+ }
164
+ if (!docFrag) {
165
+ docFrag = ownerDocument.createDocumentFragment();
166
+ }
167
+ docFrag.append(input);
168
+ // emits when hidden input is autofilled
169
+ input.addEventListener("change", hiddenInputChangeHandler);
170
+ defaultSyncHiddenFormInput(component, input, value);
171
+ });
172
+ if (docFrag) {
173
+ el.append(docFrag);
174
+ }
175
+ extra.forEach((input) => {
176
+ removeHiddenInputChangeEventListener(input);
177
+ input.remove();
178
+ });
179
+ }
180
+ function defaultSyncHiddenFormInput(component, input, value) {
181
+ var _a;
182
+ const { defaultValue, disabled, name, required } = component;
183
+ // keep in sync to prevent losing reset value
184
+ input.defaultValue = defaultValue;
185
+ input.disabled = disabled;
186
+ input.name = name;
187
+ input.required = required;
188
+ input.tabIndex = -1;
189
+ if (isCheckable(component)) {
190
+ // keep in sync to prevent losing reset value
191
+ input.defaultChecked = component.defaultChecked;
192
+ // heuristic to support default/on mode from https://html.spec.whatwg.org/multipage/input.html#dom-input-value-default-on
193
+ input.value = component.checked ? value || "on" : "";
194
+ // we disable the component when not checked to avoid having its value submitted
195
+ if (!disabled && !component.checked) {
196
+ input.disabled = true;
197
+ }
198
+ }
199
+ else {
200
+ input.value = value || "";
201
+ }
202
+ (_a = component.syncHiddenFormInput) === null || _a === void 0 ? void 0 : _a.call(component, input);
203
+ }
204
+ /**
205
+ * Helper to render the slot for form-associated component's hidden input.
206
+ *
207
+ * If the component has a default slot, this must be placed at the bottom of the component's root container to ensure it is the last child.
208
+ *
209
+ * render(): VNode {
210
+ * <Host>
211
+ * <div class={CSS.container}>
212
+ * // ...
213
+ * <HiddenFormInputSlot component={this} />
214
+ * </div>
215
+ * </Host>
216
+ * }
217
+ *
218
+ * Note that the hidden-form-input Sass mixin must be added to the component's style to apply specific styles.
219
+ *
220
+ * @param root0
221
+ * @param root0.component
222
+ */
223
+ const HiddenFormInputSlot = ({ component }) => {
224
+ syncHiddenFormInput(component);
225
+ return h("slot", { name: hiddenFormInputSlotName });
226
+ };
227
+
228
+ export { HiddenFormInputSlot as H, afterConnectDefaultValueSet as a, connectForm as c, disconnectForm as d, resetForm as r, submitForm as s };
@@ -0,0 +1,98 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { r as registerInstance, h, g as getElement } from './p-c023e6a1.js';
7
+ import { f as focusElement } from './p-83166522.js';
8
+ import { u as updateHostInteraction } from './p-7daea1df.js';
9
+ import './p-729708a3.js';
10
+ import './p-a80b3880.js';
11
+
12
+ /*!
13
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
14
+ * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
15
+ * v1.0.0-beta.97
16
+ */
17
+ const CSS = {
18
+ button: "button"
19
+ };
20
+ const ICONS = {
21
+ plus: "plus"
22
+ };
23
+
24
+ const fabCss = "@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([disabled]){pointer-events:none;cursor:default;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--calcite-ui-opacity-disabled)}:host{display:flex;background-color:transparent}:host([disabled]) ::slotted([calcite-hydrated][disabled]),:host([disabled]) [calcite-hydrated][disabled]{opacity:1}calcite-button{--tw-shadow:0 6px 20px -4px rgba(0, 0, 0, 0.1), 0 4px 12px -2px rgba(0, 0, 0, 0.08);--tw-shadow-colored:0 6px 20px -4px var(--tw-shadow-color), 0 4px 12px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}calcite-button:hover{--tw-shadow:0 12px 32px -2px rgba(0, 0, 0, 0.1), 0 4px 20px 0 rgba(0, 0, 0, 0.08);--tw-shadow-colored:0 12px 32px -2px var(--tw-shadow-color), 0 4px 20px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}calcite-button:active{--tw-shadow:0 2px 12px -4px rgba(0, 0, 0, 0.2), 0 2px 4px -2px rgba(0, 0, 0, 0.16);--tw-shadow-colored:0 2px 12px -4px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)}";
25
+
26
+ const Fab = class {
27
+ constructor(hostRef) {
28
+ registerInstance(this, hostRef);
29
+ // --------------------------------------------------------------------------
30
+ //
31
+ // Properties
32
+ //
33
+ // --------------------------------------------------------------------------
34
+ /**
35
+ * Used to set the button's appearance. Default is outline.
36
+ */
37
+ this.appearance = "outline";
38
+ /**
39
+ * Used to set the button's color. Default is light.
40
+ */
41
+ this.color = "neutral";
42
+ /**
43
+ * When true, disabled prevents interaction. This state shows items with lower opacity/grayed.
44
+ */
45
+ this.disabled = false;
46
+ /**
47
+ * Specifies an icon to display.
48
+ *
49
+ * @default "plus"
50
+ */
51
+ this.icon = ICONS.plus;
52
+ /**
53
+ * When true, content is waiting to be loaded. This state shows a busy indicator.
54
+ */
55
+ this.loading = false;
56
+ /**
57
+ * Specifies the size of the fab.
58
+ */
59
+ this.scale = "m";
60
+ /**
61
+ * Indicates whether the text is displayed.
62
+ */
63
+ this.textEnabled = false;
64
+ }
65
+ //--------------------------------------------------------------------------
66
+ //
67
+ // Lifecycle
68
+ //
69
+ //--------------------------------------------------------------------------
70
+ componentDidRender() {
71
+ updateHostInteraction(this);
72
+ }
73
+ // --------------------------------------------------------------------------
74
+ //
75
+ // Methods
76
+ //
77
+ // --------------------------------------------------------------------------
78
+ /** Sets focus on the component. */
79
+ async setFocus() {
80
+ focusElement(this.buttonEl);
81
+ }
82
+ // --------------------------------------------------------------------------
83
+ //
84
+ // Render Methods
85
+ //
86
+ // --------------------------------------------------------------------------
87
+ render() {
88
+ const { appearance, color, disabled, loading, scale, textEnabled, icon, label, text } = this;
89
+ const title = !textEnabled ? label || text || null : null;
90
+ return (h("calcite-button", { appearance: appearance === "solid" ? "solid" : "outline", class: CSS.button, color: color, disabled: disabled, iconStart: icon, label: label, loading: loading, ref: (buttonEl) => {
91
+ this.buttonEl = buttonEl;
92
+ }, round: true, scale: scale, title: title, type: "button", width: "auto" }, this.textEnabled ? this.text : null));
93
+ }
94
+ get el() { return getElement(this); }
95
+ };
96
+ Fab.style = fabCss;
97
+
98
+ export { Fab as calcite_fab };
@@ -0,0 +1,138 @@
1
+ /*!
2
+ * Copyright 2022 Esri
3
+ * Licensed under the Apache License, Version 2.0
4
+ * http://www.apache.org/licenses/LICENSE-2.0
5
+ */
6
+ import { r as registerInstance, c as createEvent, h, g as getElement } from './p-c023e6a1.js';
7
+ import { a as getSlotted } from './p-83166522.js';
8
+ import { g as guid } from './p-a80b3880.js';
9
+ import { c as connectConditionalSlotComponent, d as disconnectConditionalSlotComponent } from './p-ea534300.js';
10
+ import './p-729708a3.js';
11
+ import './p-9a9955db.js';
12
+
13
+ /*!
14
+ * All material copyright ESRI, All Rights Reserved, unless otherwise specified.
15
+ * See https://github.com/Esri/calcite-components/blob/master/LICENSE.md for details.
16
+ * v1.0.0-beta.97
17
+ */
18
+ const CSS = {
19
+ title: "title",
20
+ close: "close",
21
+ imageContainer: "image-container",
22
+ chipIcon: "chip-icon",
23
+ closeIcon: "close-icon"
24
+ };
25
+ const TEXT = {
26
+ close: "Close"
27
+ };
28
+ const SLOTS = {
29
+ image: "image"
30
+ };
31
+ const ICONS = {
32
+ close: "x"
33
+ };
34
+
35
+ const chipCss = "@keyframes in{0%{opacity:0}100%{opacity:1}}@keyframes in-down{0%{opacity:0;transform:translate3D(0, -5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-up{0%{opacity:0;transform:translate3D(0, 5px, 0)}100%{opacity:1;transform:translate3D(0, 0, 0)}}@keyframes in-scale{0%{opacity:0;transform:scale3D(0.95, 0.95, 1)}100%{opacity:1;transform:scale3D(1, 1, 1)}}:root{--calcite-animation-timing:calc(150ms * var(--calcite-internal-duration-factor));--calcite-internal-duration-factor:var(--calcite-duration-factor, 1);--calcite-internal-animation-timing-fast:calc(100ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-medium:calc(200ms * var(--calcite-internal-duration-factor));--calcite-internal-animation-timing-slow:calc(300ms * var(--calcite-internal-duration-factor))}.calcite-animate{opacity:0;animation-fill-mode:both;animation-duration:var(--calcite-animation-timing)}.calcite-animate__in{animation-name:in}.calcite-animate__in-down{animation-name:in-down}.calcite-animate__in-up{animation-name:in-up}.calcite-animate__in-scale{animation-name:in-scale}@media (prefers-reduced-motion: reduce){:root{--calcite-internal-duration-factor:0.01}}:root{--calcite-floating-ui-transition:var(--calcite-animation-timing)}:host([hidden]){display:none}:host([scale=s]){block-size:1.5rem;font-size:var(--calcite-font-size--2);--calcite-chip-spacing-unit-l:0.5rem;--calcite-chip-spacing-unit-s:0.25rem}:host([scale=s]) .image-container{block-size:1.25rem;inline-size:1.25rem}:host([scale=m]){block-size:2rem;font-size:var(--calcite-font-size--1);--calcite-chip-spacing-unit-l:0.75rem;--calcite-chip-spacing-unit-s:6px}:host([scale=m]) .image-container{block-size:1.5rem;inline-size:1.5rem;-webkit-padding-start:0.25rem;padding-inline-start:0.25rem}:host([scale=l]){block-size:2.75rem;font-size:var(--calcite-font-size-0);--calcite-chip-spacing-unit-l:1rem;--calcite-chip-spacing-unit-s:0.5rem}:host([scale=l]) .image-container{block-size:2rem;inline-size:2rem;-webkit-padding-start:0.25rem;padding-inline-start:0.25rem}:host{box-sizing:border-box;display:inline-flex;cursor:default;align-items:center;border-radius:9999px;border-width:1px;border-style:solid;border-color:var(--calcite-ui-border-1);font-weight:var(--calcite-font-weight-medium);color:var(--calcite-ui-text-1)}.container{display:inline-flex;block-size:100%;max-inline-size:100%;align-items:center}.title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host span{padding-block:0;padding-inline:var(--calcite-chip-spacing-unit-l)}:host([closable]) span{padding-inline:var(--calcite-chip-spacing-unit-l) var(--calcite-chip-spacing-unit-s)}:host([icon]:not([closable])) span{padding-block:0;padding-inline:var(--calcite-chip-spacing-unit-l)}:host button{margin:0px;display:inline-flex;max-block-size:100%;min-block-size:100%;cursor:pointer;align-items:center;align-self:stretch;border-style:none;background-color:transparent;color:var(--calcite-ui-text-1);outline-color:transparent;transition:all var(--calcite-animation-timing) ease-in-out 0s, outline 0s, outline-offset 0s;-webkit-appearance:none;border-start-start-radius:0;border-start-end-radius:50px;border-end-end-radius:50px;border-end-start-radius:0;padding-block:0;padding-inline:var(--calcite-chip-spacing-unit-s);color:inherit;--calcite-chip-transparent-hover:var(--calcite-button-transparent-hover);--calcite-chip-transparent-press:var(--calcite-button-transparent-press)}:host button:hover{background-color:var(--calcite-chip-transparent-hover)}:host button:focus{background-color:var(--calcite-chip-transparent-hover);outline:2px solid var(--calcite-ui-brand);outline-offset:-2px}:host button:active{background-color:var(--calcite-chip-transparent-press)}.image-container{display:inline-flex;overflow:hidden;border-radius:50%}:host slot[name=image]::slotted(*){display:flex;block-size:100%;inline-size:100%;overflow:hidden;border-radius:50%}.chip-icon{position:relative;margin-block:0px;display:inline-flex;transition-duration:150ms;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:var(--calcite-chip-spacing-unit-l);margin-inline-start:var(--calcite-chip-spacing-unit-l);border-start-start-radius:0;border-start-end-radius:50px;border-end-end-radius:50px;border-end-start-radius:0}:host([color=blue]){border-color:transparent;background-color:var(--calcite-ui-info);color:var(--calcite-ui-text-inverse)}:host([color=red]){border-color:transparent;background-color:var(--calcite-ui-danger);color:var(--calcite-ui-text-inverse)}:host([color=yellow]){border-color:transparent;background-color:var(--calcite-ui-warning);color:#151515}:host([color=green]){border-color:transparent;background-color:var(--calcite-ui-success);color:#151515}:host([color=grey]){border-color:transparent;background-color:var(--calcite-ui-foreground-2);color:var(--calcite-ui-text-1)}:host([color=grey]) button,:host([color=grey]) .close-icon{color:var(--calcite-ui-text-3)}:host([color=grey]) .chip-icon{color:var(--calcite-ui-icon-color, var(--calcite-ui-text-3))}:host([appearance=clear]),:host([appearance=transparent]){background-color:transparent;color:var(--calcite-ui-text-1)}:host([color=blue][appearance=clear]),:host([color=blue][appearance=transparent]){border-color:var(--calcite-ui-info)}:host([color=blue][appearance=clear]) .chip-icon,:host([color=blue][appearance=transparent]) .chip-icon{color:var(--calcite-ui-icon-color, var(--calcite-ui-info))}:host([color=red][appearance=clear]),:host([color=red][appearance=transparent]){border-color:var(--calcite-ui-danger)}:host([color=red][appearance=clear]) .chip-icon,:host([color=red][appearance=transparent]) .chip-icon{color:var(--calcite-ui-icon-color, var(--calcite-ui-danger))}:host([color=yellow][appearance=clear]),:host([color=yellow][appearance=transparent]){border-color:var(--calcite-ui-warning)}:host([color=yellow][appearance=clear]) .chip-icon,:host([color=yellow][appearance=transparent]) .chip-icon{color:var(--calcite-ui-icon-color, var(--calcite-ui-warning))}:host([color=green][appearance=clear]),:host([color=green][appearance=transparent]){border-color:var(--calcite-ui-success)}:host([color=green][appearance=clear]) .chip-icon,:host([color=green][appearance=transparent]) .chip-icon{color:var(--calcite-ui-icon-color, var(--calcite-ui-success))}:host([color=grey][appearance=clear]),:host([color=grey][appearance=transparent]){border-color:var(--calcite-ui-border-1)}:host([color=grey][appearance=clear]) .chip-icon,:host([color=grey][appearance=transparent]) .chip-icon{color:var(--calcite-ui-icon-color, var(--calcite-ui-text-3))}:host([closed]){display:none}";
36
+
37
+ const Chip = class {
38
+ constructor(hostRef) {
39
+ registerInstance(this, hostRef);
40
+ this.calciteChipDismiss = createEvent(this, "calciteChipDismiss", 6);
41
+ //--------------------------------------------------------------------------
42
+ //
43
+ // Public Properties
44
+ //
45
+ //--------------------------------------------------------------------------
46
+ /** Specifies the appearance style of the component. */
47
+ this.appearance = "solid";
48
+ /** Specifies the color for the component. */
49
+ this.color = "grey";
50
+ /**
51
+ * When `true`, a close button is added to the component.
52
+ *
53
+ * @deprecated use `closable` instead.
54
+ */
55
+ this.dismissible = false;
56
+ /** When `true`, a close button is added to the component. */
57
+ this.closable = false;
58
+ /**
59
+ * Accessible name for the component's close button.
60
+ *
61
+ * @default "Close"
62
+ */
63
+ this.dismissLabel = TEXT.close;
64
+ /** When `true`, the icon will be flipped when the element direction is right-to-left (`"rtl"`). */
65
+ this.iconFlipRtl = false;
66
+ /** Specifies the size of the component. */
67
+ this.scale = "m";
68
+ /** When `true`, hides the component. */
69
+ this.closed = false;
70
+ // --------------------------------------------------------------------------
71
+ //
72
+ // Private Methods
73
+ //
74
+ // --------------------------------------------------------------------------
75
+ this.closeClickHandler = (event) => {
76
+ event.preventDefault();
77
+ this.calciteChipDismiss.emit(this.el);
78
+ this.closed = true;
79
+ };
80
+ this.guid = guid();
81
+ }
82
+ handleDismissible(value) {
83
+ this.closable = value;
84
+ }
85
+ handleClosable(value) {
86
+ this.dismissible = value;
87
+ }
88
+ // --------------------------------------------------------------------------
89
+ //
90
+ // Lifecycle
91
+ //
92
+ // --------------------------------------------------------------------------
93
+ connectedCallback() {
94
+ connectConditionalSlotComponent(this);
95
+ if (this.dismissible) {
96
+ this.handleDismissible(this.dismissible);
97
+ }
98
+ if (this.closable) {
99
+ this.handleClosable(this.closable);
100
+ }
101
+ }
102
+ disconnectedCallback() {
103
+ disconnectConditionalSlotComponent(this);
104
+ }
105
+ //--------------------------------------------------------------------------
106
+ //
107
+ // Public Methods
108
+ //
109
+ //--------------------------------------------------------------------------
110
+ /** Sets focus on the component. */
111
+ async setFocus() {
112
+ var _a;
113
+ (_a = this.closeButton) === null || _a === void 0 ? void 0 : _a.focus();
114
+ }
115
+ //--------------------------------------------------------------------------
116
+ //
117
+ // Render Methods
118
+ //
119
+ //--------------------------------------------------------------------------
120
+ renderChipImage() {
121
+ const { el } = this;
122
+ const hasChipImage = getSlotted(el, SLOTS.image);
123
+ return hasChipImage ? (h("div", { class: CSS.imageContainer, key: "image" }, h("slot", { name: SLOTS.image }))) : null;
124
+ }
125
+ render() {
126
+ const iconEl = (h("calcite-icon", { class: CSS.chipIcon, flipRtl: this.iconFlipRtl, icon: this.icon, scale: "s" }));
127
+ const closeButton = (h("button", { "aria-describedby": this.guid, "aria-label": this.dismissLabel, class: CSS.close, onClick: this.closeClickHandler, ref: (el) => (this.closeButton = el) }, h("calcite-icon", { class: CSS.closeIcon, icon: ICONS.close, scale: "s" })));
128
+ return (h("div", { class: "container" }, this.renderChipImage(), this.icon ? iconEl : null, h("span", { class: CSS.title, id: this.guid }, h("slot", null)), this.closable ? closeButton : null));
129
+ }
130
+ get el() { return getElement(this); }
131
+ static get watchers() { return {
132
+ "dismissible": ["handleDismissible"],
133
+ "closable": ["handleClosable"]
134
+ }; }
135
+ };
136
+ Chip.style = chipCss;
137
+
138
+ export { Chip as calcite_chip };