@usecapsule/core-components 2.0.10 → 3.0.1-dev.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (306) hide show
  1. package/css/capsule-core.css +134 -30
  2. package/css/capsule-core.css.map +1 -1
  3. package/dist/capsule/capsule.esm.js +1 -1
  4. package/dist/capsule/capsule.esm.js.map +1 -1
  5. package/dist/capsule/index.esm.js +1 -1
  6. package/dist/capsule/index.esm.js.map +1 -1
  7. package/dist/capsule/{p-415384b7.entry.js → p-127ac658.entry.js} +2 -2
  8. package/dist/capsule/{p-415384b7.entry.js.map → p-127ac658.entry.js.map} +1 -1
  9. package/dist/capsule/p-39584a7b.entry.js +2 -0
  10. package/dist/capsule/p-39584a7b.entry.js.map +1 -0
  11. package/dist/capsule/{p-b76350fd.entry.js → p-69756614.entry.js} +2 -2
  12. package/dist/capsule/{p-b76350fd.entry.js.map → p-69756614.entry.js.map} +1 -1
  13. package/dist/capsule/p-73398222.entry.js +2 -0
  14. package/dist/capsule/{p-fa4e3c14.entry.js.map → p-73398222.entry.js.map} +1 -1
  15. package/dist/capsule/p-8de15b15.entry.js +29 -0
  16. package/dist/capsule/p-8de15b15.entry.js.map +1 -0
  17. package/dist/capsule/p-97c33636.js +3 -0
  18. package/dist/capsule/p-97c33636.js.map +1 -0
  19. package/dist/capsule/p-f2393be6.js +2 -0
  20. package/dist/capsule/p-f2393be6.js.map +1 -0
  21. package/dist/capsule/p-f72482c3.entry.js +2 -0
  22. package/dist/capsule/{p-6b02ea8d.entry.js.map → p-f72482c3.entry.js.map} +1 -1
  23. package/dist/capsule/{p-4d957466.entry.js → p-fd26ce6e.entry.js} +2 -2
  24. package/dist/capsule/{p-4d957466.entry.js.map → p-fd26ce6e.entry.js.map} +1 -1
  25. package/dist/cjs/capsule.cjs.js +10 -10
  26. package/dist/cjs/capsule.cjs.js.map +1 -1
  27. package/dist/cjs/constants-9b1b01bb.js +29 -0
  28. package/dist/cjs/constants-9b1b01bb.js.map +1 -0
  29. package/dist/cjs/{cpsl-alert_18.cjs.entry.js → cpsl-alert_33.cjs.entry.js} +1136 -232
  30. package/dist/cjs/cpsl-alert_33.cjs.entry.js.map +1 -0
  31. package/dist/cjs/cpsl-animation.cjs.entry.js +1 -1
  32. package/dist/cjs/cpsl-col.cjs.entry.js +2 -2
  33. package/dist/cjs/cpsl-grid.cjs.entry.js +3 -3
  34. package/dist/cjs/cpsl-info-box.cjs.entry.js +3 -3
  35. package/dist/cjs/cpsl-info-box.cjs.entry.js.map +1 -1
  36. package/dist/cjs/cpsl-modal-v2.cjs.entry.js +55 -0
  37. package/dist/cjs/cpsl-modal-v2.cjs.entry.js.map +1 -0
  38. package/dist/cjs/cpsl-row.cjs.entry.js +2 -2
  39. package/dist/cjs/index-5293d431.js +1414 -0
  40. package/dist/cjs/index-5293d431.js.map +1 -0
  41. package/dist/cjs/index.cjs.js +65 -24
  42. package/dist/cjs/index.cjs.js.map +1 -1
  43. package/dist/cjs/loader.cjs.js +2 -2
  44. package/dist/collection/assets/icons/brush.svg +3 -0
  45. package/dist/collection/assets/icons/check-circle.svg +3 -0
  46. package/dist/collection/assets/icons/chevron-up.svg +2 -2
  47. package/dist/collection/assets/icons/close.svg +3 -4
  48. package/dist/collection/assets/icons/cube.svg +3 -0
  49. package/dist/collection/assets/icons/file.svg +3 -0
  50. package/dist/collection/assets/icons/home.svg +3 -0
  51. package/dist/collection/assets/icons/image.svg +3 -0
  52. package/dist/collection/assets/icons/index.js +13 -3
  53. package/dist/collection/assets/icons/index.js.map +1 -1
  54. package/dist/collection/assets/icons/lightning-01.svg +3 -0
  55. package/dist/collection/assets/icons/lightning.svg +2 -2
  56. package/dist/collection/assets/icons/menu.svg +3 -0
  57. package/dist/collection/assets/icons/refresh.svg +3 -0
  58. package/dist/collection/assets/icons/settings.svg +4 -0
  59. package/dist/collection/assets/icons/stars.svg +4 -0
  60. package/dist/collection/assets/icons/x.svg +3 -0
  61. package/dist/collection/collection-manifest.json +18 -2
  62. package/dist/collection/components/cpsl-alert/cpsl-alert.css +21 -11
  63. package/dist/collection/components/cpsl-alert/cpsl-alert.js +34 -26
  64. package/dist/collection/components/cpsl-alert/cpsl-alert.js.map +1 -1
  65. package/dist/collection/components/cpsl-app-bar/cpsl-app-bar.css +67 -0
  66. package/dist/collection/components/cpsl-app-bar/cpsl-app-bar.js +85 -0
  67. package/dist/collection/components/cpsl-app-bar/cpsl-app-bar.js.map +1 -0
  68. package/dist/collection/components/cpsl-app-bar/test/cpsl-app-bar.e2e.js +29 -0
  69. package/dist/collection/components/cpsl-app-bar/test/cpsl-app-bar.e2e.js.map +1 -0
  70. package/dist/collection/components/cpsl-app-bar/test/cpsl-app-bar.spec.js +37 -0
  71. package/dist/collection/components/cpsl-app-bar/test/cpsl-app-bar.spec.js.map +1 -0
  72. package/dist/collection/components/cpsl-avatar/cpsl-avatar.css +31 -0
  73. package/dist/collection/components/cpsl-avatar/cpsl-avatar.js +81 -0
  74. package/dist/collection/components/cpsl-avatar/cpsl-avatar.js.map +1 -0
  75. package/dist/collection/components/cpsl-avatar/test/cpsl-avatar.e2e.js +29 -0
  76. package/dist/collection/components/cpsl-avatar/test/cpsl-avatar.e2e.js.map +1 -0
  77. package/dist/collection/components/cpsl-avatar/test/cpsl-avatar.spec.js +37 -0
  78. package/dist/collection/components/cpsl-avatar/test/cpsl-avatar.spec.js.map +1 -0
  79. package/dist/collection/components/cpsl-button/cpsl-button.css +276 -56
  80. package/dist/collection/components/cpsl-button/cpsl-button.js +104 -7
  81. package/dist/collection/components/cpsl-button/cpsl-button.js.map +1 -1
  82. package/dist/collection/components/cpsl-button-group/cpsl-button-group.css +89 -0
  83. package/dist/collection/components/cpsl-button-group/cpsl-button-group.js +78 -0
  84. package/dist/collection/components/cpsl-button-group/cpsl-button-group.js.map +1 -0
  85. package/dist/collection/components/cpsl-button-group/test/cpsl-button-group.e2e.js +29 -0
  86. package/dist/collection/components/cpsl-button-group/test/cpsl-button-group.e2e.js.map +1 -0
  87. package/dist/collection/components/cpsl-button-group/test/cpsl-button-group.spec.js +37 -0
  88. package/dist/collection/components/cpsl-button-group/test/cpsl-button-group.spec.js.map +1 -0
  89. package/dist/collection/components/cpsl-card/cpsl-card.css +81 -0
  90. package/dist/collection/components/cpsl-card/cpsl-card.js +19 -0
  91. package/dist/collection/components/cpsl-card/cpsl-card.js.map +1 -0
  92. package/dist/collection/components/cpsl-card/test/cpsl-card.e2e.js +29 -0
  93. package/dist/collection/components/cpsl-card/test/cpsl-card.e2e.js.map +1 -0
  94. package/dist/collection/components/cpsl-card/test/cpsl-card.spec.js +37 -0
  95. package/dist/collection/components/cpsl-card/test/cpsl-card.spec.js.map +1 -0
  96. package/dist/collection/components/cpsl-checkbox/cpsl-checkbox.css +110 -0
  97. package/dist/collection/components/cpsl-checkbox/cpsl-checkbox.js +64 -0
  98. package/dist/collection/components/cpsl-checkbox/cpsl-checkbox.js.map +1 -0
  99. package/dist/collection/components/cpsl-checkbox/test/cpsl-checkbox.e2e.js +29 -0
  100. package/dist/collection/components/cpsl-checkbox/test/cpsl-checkbox.e2e.js.map +1 -0
  101. package/dist/collection/components/cpsl-checkbox/test/cpsl-checkbox.spec.js +37 -0
  102. package/dist/collection/components/cpsl-checkbox/test/cpsl-checkbox.spec.js.map +1 -0
  103. package/dist/collection/components/cpsl-code-input/cpsl-code-input.css +1 -1
  104. package/dist/collection/components/cpsl-code-input/cpsl-code-input.js +2 -2
  105. package/dist/collection/components/cpsl-code-input/cpsl-code-input.js.map +1 -1
  106. package/dist/collection/components/cpsl-col/cpsl-col.js +1 -1
  107. package/dist/collection/components/cpsl-divider/cpsl-divider.css +1 -1
  108. package/dist/collection/components/cpsl-divider/cpsl-divider.js +1 -1
  109. package/dist/collection/components/cpsl-drawer/cpsl-drawer.css +90 -0
  110. package/dist/collection/components/cpsl-drawer/cpsl-drawer.js +222 -0
  111. package/dist/collection/components/cpsl-drawer/cpsl-drawer.js.map +1 -0
  112. package/dist/collection/components/cpsl-drawer/test/cpsl-drawer.e2e.js +29 -0
  113. package/dist/collection/components/cpsl-drawer/test/cpsl-drawer.e2e.js.map +1 -0
  114. package/dist/collection/components/cpsl-drawer/test/cpsl-drawer.spec.js +37 -0
  115. package/dist/collection/components/cpsl-drawer/test/cpsl-drawer.spec.js.map +1 -0
  116. package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js +1 -1
  117. package/dist/collection/components/cpsl-dropdown/cpsl-dropdown.js.map +1 -1
  118. package/dist/collection/components/cpsl-file-upload/cpsl-file-upload.css +210 -0
  119. package/dist/collection/components/cpsl-file-upload/cpsl-file-upload.js +406 -0
  120. package/dist/collection/components/cpsl-file-upload/cpsl-file-upload.js.map +1 -0
  121. package/dist/collection/components/cpsl-file-upload/test/cpsl-file-upload.e2e.js +29 -0
  122. package/dist/collection/components/cpsl-file-upload/test/cpsl-file-upload.e2e.js.map +1 -0
  123. package/dist/collection/components/cpsl-file-upload/test/cpsl-file-upload.spec.js +37 -0
  124. package/dist/collection/components/cpsl-file-upload/test/cpsl-file-upload.spec.js.map +1 -0
  125. package/dist/collection/components/cpsl-grid/cpsl-grid.js +2 -2
  126. package/dist/collection/components/cpsl-icon/cpsl-icon.js +2 -2
  127. package/dist/collection/components/cpsl-info-box/cpsl-info-box.css +1 -1
  128. package/dist/collection/components/cpsl-info-box/cpsl-info-box.js +1 -1
  129. package/dist/collection/components/cpsl-input/cpsl-input.css +39 -22
  130. package/dist/collection/components/cpsl-input/cpsl-input.js +47 -11
  131. package/dist/collection/components/cpsl-input/cpsl-input.js.map +1 -1
  132. package/dist/collection/components/cpsl-modal/cpsl-modal.css +16 -6
  133. package/dist/collection/components/cpsl-modal/cpsl-modal.js +21 -2
  134. package/dist/collection/components/cpsl-modal/cpsl-modal.js.map +1 -1
  135. package/dist/collection/components/cpsl-modal-v2/cpsl-modal-v2.css +91 -0
  136. package/dist/collection/components/cpsl-modal-v2/cpsl-modal-v2.js +224 -0
  137. package/dist/collection/components/cpsl-modal-v2/cpsl-modal-v2.js.map +1 -0
  138. package/dist/collection/components/cpsl-modal-v2/test/cpsl-modal-v2.e2e.js +29 -0
  139. package/dist/collection/components/cpsl-modal-v2/test/cpsl-modal-v2.e2e.js.map +1 -0
  140. package/dist/collection/components/cpsl-modal-v2/test/cpsl-modal-v2.spec.js +37 -0
  141. package/dist/collection/components/cpsl-modal-v2/test/cpsl-modal-v2.spec.js.map +1 -0
  142. package/dist/collection/components/cpsl-nav-button-group/cpsl-nav-button-group.css +50 -0
  143. package/dist/collection/components/cpsl-nav-button-group/cpsl-nav-button-group.js +78 -0
  144. package/dist/collection/components/cpsl-nav-button-group/cpsl-nav-button-group.js.map +1 -0
  145. package/dist/collection/components/cpsl-nav-button-group/test/cpsl-nav-button-group.e2e.js +29 -0
  146. package/dist/collection/components/cpsl-nav-button-group/test/cpsl-nav-button-group.e2e.js.map +1 -0
  147. package/dist/collection/components/cpsl-nav-button-group/test/cpsl-nav-button-group.spec.js +37 -0
  148. package/dist/collection/components/cpsl-nav-button-group/test/cpsl-nav-button-group.spec.js.map +1 -0
  149. package/dist/collection/components/cpsl-overlay/cpsl-overlay.css +62 -4
  150. package/dist/collection/components/cpsl-overlay/cpsl-overlay.js +35 -17
  151. package/dist/collection/components/cpsl-overlay/cpsl-overlay.js.map +1 -1
  152. package/dist/collection/components/cpsl-pagination/cpsl-pagination.css +67 -0
  153. package/dist/collection/components/cpsl-pagination/cpsl-pagination.js +174 -0
  154. package/dist/collection/components/cpsl-pagination/cpsl-pagination.js.map +1 -0
  155. package/dist/collection/components/cpsl-pagination/test/cpsl-pagination.e2e.js +29 -0
  156. package/dist/collection/components/cpsl-pagination/test/cpsl-pagination.e2e.js.map +1 -0
  157. package/dist/collection/components/cpsl-pagination/test/cpsl-pagination.spec.js +37 -0
  158. package/dist/collection/components/cpsl-pagination/test/cpsl-pagination.spec.js.map +1 -0
  159. package/dist/collection/components/cpsl-pill/cpsl-pill.css +1 -1
  160. package/dist/collection/components/cpsl-pill/cpsl-pill.js +1 -1
  161. package/dist/collection/components/cpsl-popover/cpsl-popover.css +98 -0
  162. package/dist/collection/components/cpsl-popover/cpsl-popover.js +470 -0
  163. package/dist/collection/components/cpsl-popover/cpsl-popover.js.map +1 -0
  164. package/dist/collection/components/cpsl-popover/test/cpsl-popover.e2e.js +29 -0
  165. package/dist/collection/components/cpsl-popover/test/cpsl-popover.e2e.js.map +1 -0
  166. package/dist/collection/components/cpsl-popover/test/cpsl-popover.spec.js +37 -0
  167. package/dist/collection/components/cpsl-popover/test/cpsl-popover.spec.js.map +1 -0
  168. package/dist/collection/components/cpsl-progress-indicator/cpsl-progress-indicator.css +3 -3
  169. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.css +1 -1
  170. package/dist/collection/components/cpsl-qr-code/cpsl-qr-code.js +1 -1
  171. package/dist/collection/components/cpsl-radio/cpsl-radio.css +97 -0
  172. package/dist/collection/components/cpsl-radio/cpsl-radio.js +66 -0
  173. package/dist/collection/components/cpsl-radio/cpsl-radio.js.map +1 -0
  174. package/dist/collection/components/cpsl-radio/test/cpsl-radio.e2e.js +29 -0
  175. package/dist/collection/components/cpsl-radio/test/cpsl-radio.e2e.js.map +1 -0
  176. package/dist/collection/components/cpsl-radio/test/cpsl-radio.spec.js +37 -0
  177. package/dist/collection/components/cpsl-radio/test/cpsl-radio.spec.js.map +1 -0
  178. package/dist/collection/components/cpsl-row/cpsl-row.js +1 -1
  179. package/dist/collection/components/cpsl-select/cpsl-select.css +227 -0
  180. package/dist/collection/components/cpsl-select/cpsl-select.js +393 -0
  181. package/dist/collection/components/cpsl-select/cpsl-select.js.map +1 -0
  182. package/dist/collection/components/cpsl-select/test/cpsl-select.e2e.js +29 -0
  183. package/dist/collection/components/cpsl-select/test/cpsl-select.e2e.js.map +1 -0
  184. package/dist/collection/components/cpsl-select/test/cpsl-select.spec.js +37 -0
  185. package/dist/collection/components/cpsl-select/test/cpsl-select.spec.js.map +1 -0
  186. package/dist/collection/components/cpsl-select-item/cpsl-select-item.css +104 -0
  187. package/dist/collection/components/cpsl-select-item/cpsl-select-item.js +85 -0
  188. package/dist/collection/components/cpsl-select-item/cpsl-select-item.js.map +1 -0
  189. package/dist/collection/components/cpsl-select-item/test/cpsl-select-item.e2e.js +29 -0
  190. package/dist/collection/components/cpsl-select-item/test/cpsl-select-item.e2e.js.map +1 -0
  191. package/dist/collection/components/cpsl-select-item/test/cpsl-select-item.spec.js +37 -0
  192. package/dist/collection/components/cpsl-select-item/test/cpsl-select-item.spec.js.map +1 -0
  193. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.css +3 -3
  194. package/dist/collection/components/cpsl-slide-button/cpsl-slide-button.js +3 -3
  195. package/dist/collection/components/cpsl-spinner/cpsl-spinner.js +2 -2
  196. package/dist/collection/components/cpsl-switch/cpsl-switch.css +115 -0
  197. package/dist/collection/components/cpsl-switch/cpsl-switch.js +64 -0
  198. package/dist/collection/components/cpsl-switch/cpsl-switch.js.map +1 -0
  199. package/dist/collection/components/cpsl-switch/test/cpsl-switch.e2e.js +29 -0
  200. package/dist/collection/components/cpsl-switch/test/cpsl-switch.e2e.js.map +1 -0
  201. package/dist/collection/components/cpsl-switch/test/cpsl-switch.spec.js +37 -0
  202. package/dist/collection/components/cpsl-switch/test/cpsl-switch.spec.js.map +1 -0
  203. package/dist/collection/components/cpsl-tab/cpsl-tab.js +1 -1
  204. package/dist/collection/components/cpsl-table/cpsl-table.css +140 -0
  205. package/dist/collection/components/cpsl-table/cpsl-table.js +26 -0
  206. package/dist/collection/components/cpsl-table/cpsl-table.js.map +1 -0
  207. package/dist/collection/components/cpsl-table/test/cpsl-table.e2e.js +29 -0
  208. package/dist/collection/components/cpsl-table/test/cpsl-table.e2e.js.map +1 -0
  209. package/dist/collection/components/cpsl-table/test/cpsl-table.spec.js +37 -0
  210. package/dist/collection/components/cpsl-table/test/cpsl-table.spec.js.map +1 -0
  211. package/dist/collection/components/cpsl-tabs/cpsl-tabs.css +2 -2
  212. package/dist/collection/components/cpsl-tabs/cpsl-tabs.js +1 -1
  213. package/dist/collection/components/cpsl-text/cpsl-text.css +4 -0
  214. package/dist/collection/components/cpsl-text/cpsl-text.js +5 -4
  215. package/dist/collection/components/cpsl-text/cpsl-text.js.map +1 -1
  216. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.css +1 -1
  217. package/dist/collection/components/cpsl-tile-button/cpsl-tile-button.js +2 -2
  218. package/dist/collection/constants.js +14 -0
  219. package/dist/collection/constants.js.map +1 -1
  220. package/dist/collection/index.js.map +1 -1
  221. package/dist/collection/interface.js.map +1 -1
  222. package/dist/collection/utils/theme/generateBorderRadii.js +28 -7
  223. package/dist/collection/utils/theme/generateBorderRadii.js.map +1 -1
  224. package/dist/collection/utils/theme/generatePalette.js +30 -18
  225. package/dist/collection/utils/theme/generatePalette.js.map +1 -1
  226. package/dist/collection/utils/theme/utils.js +8 -0
  227. package/dist/collection/utils/theme/utils.js.map +1 -1
  228. package/dist/esm/capsule.js +11 -11
  229. package/dist/esm/capsule.js.map +1 -1
  230. package/dist/esm/constants-fce138fa.js +23 -0
  231. package/dist/esm/constants-fce138fa.js.map +1 -0
  232. package/dist/esm/{cpsl-alert_18.entry.js → cpsl-alert_33.entry.js} +1122 -233
  233. package/dist/esm/cpsl-alert_33.entry.js.map +1 -0
  234. package/dist/esm/cpsl-animation.entry.js +1 -1
  235. package/dist/esm/cpsl-col.entry.js +2 -2
  236. package/dist/esm/cpsl-grid.entry.js +3 -3
  237. package/dist/esm/cpsl-info-box.entry.js +3 -3
  238. package/dist/esm/cpsl-info-box.entry.js.map +1 -1
  239. package/dist/esm/cpsl-modal-v2.entry.js +51 -0
  240. package/dist/esm/cpsl-modal-v2.entry.js.map +1 -0
  241. package/dist/esm/cpsl-row.entry.js +2 -2
  242. package/dist/esm/index-97ed6ec1.js +1383 -0
  243. package/dist/esm/index-97ed6ec1.js.map +1 -0
  244. package/dist/esm/index.js +65 -24
  245. package/dist/esm/index.js.map +1 -1
  246. package/dist/esm/loader.js +3 -3
  247. package/dist/loader/cdn.js +1 -3
  248. package/dist/loader/index.cjs.js +1 -3
  249. package/dist/loader/index.es2017.js +1 -3
  250. package/dist/loader/index.js +1 -3
  251. package/dist/types/assets/icons/index.d.ts +12 -2
  252. package/dist/types/components/cpsl-alert/cpsl-alert.d.ts +2 -2
  253. package/dist/types/components/cpsl-app-bar/cpsl-app-bar.d.ts +6 -0
  254. package/dist/types/components/cpsl-avatar/cpsl-avatar.d.ts +6 -0
  255. package/dist/types/components/cpsl-button/cpsl-button.d.ts +6 -1
  256. package/dist/types/components/cpsl-button-group/cpsl-button-group.d.ts +9 -0
  257. package/dist/types/components/cpsl-card/cpsl-card.d.ts +3 -0
  258. package/dist/types/components/cpsl-checkbox/cpsl-checkbox.d.ts +7 -0
  259. package/dist/types/components/cpsl-drawer/cpsl-drawer.d.ts +18 -0
  260. package/dist/types/components/cpsl-file-upload/cpsl-file-upload.d.ts +34 -0
  261. package/dist/types/components/cpsl-input/cpsl-input.d.ts +5 -1
  262. package/dist/types/components/cpsl-modal/cpsl-modal.d.ts +1 -0
  263. package/dist/types/components/cpsl-modal-v2/cpsl-modal-v2.d.ts +17 -0
  264. package/dist/types/components/cpsl-nav-button-group/cpsl-nav-button-group.d.ts +9 -0
  265. package/dist/types/components/cpsl-overlay/cpsl-overlay.d.ts +2 -1
  266. package/dist/types/components/cpsl-pagination/cpsl-pagination.d.ts +14 -0
  267. package/dist/types/components/cpsl-popover/cpsl-popover.d.ts +33 -0
  268. package/dist/types/components/cpsl-radio/cpsl-radio.d.ts +7 -0
  269. package/dist/types/components/cpsl-select/cpsl-select.d.ts +35 -0
  270. package/dist/types/components/cpsl-select-item/cpsl-select-item.d.ts +8 -0
  271. package/dist/types/components/cpsl-switch/cpsl-switch.d.ts +7 -0
  272. package/dist/types/components/cpsl-table/cpsl-table.d.ts +6 -0
  273. package/dist/types/components/cpsl-text/cpsl-text.d.ts +1 -1
  274. package/dist/types/components.d.ts +993 -12
  275. package/dist/types/constants.d.ts +14 -0
  276. package/dist/types/index.d.ts +1 -1
  277. package/dist/types/interface.d.ts +79 -0
  278. package/dist/types/stencil-public-runtime.d.ts +3 -8
  279. package/dist/types/utils/theme/utils.d.ts +1 -0
  280. package/package.json +3 -3
  281. package/dist/capsule/p-6b02ea8d.entry.js +0 -2
  282. package/dist/capsule/p-92b0d902.entry.js +0 -29
  283. package/dist/capsule/p-92b0d902.entry.js.map +0 -1
  284. package/dist/capsule/p-b2997f3c.js +0 -3
  285. package/dist/capsule/p-b2997f3c.js.map +0 -1
  286. package/dist/capsule/p-c2bf050b.js +0 -2
  287. package/dist/capsule/p-c2bf050b.js.map +0 -1
  288. package/dist/capsule/p-fa4e3c14.entry.js +0 -2
  289. package/dist/cjs/constants-4bb85cc5.js +0 -12
  290. package/dist/cjs/constants-4bb85cc5.js.map +0 -1
  291. package/dist/cjs/cpsl-alert_18.cjs.entry.js.map +0 -1
  292. package/dist/cjs/index-87ba56f9.js +0 -2017
  293. package/dist/cjs/index-87ba56f9.js.map +0 -1
  294. package/dist/collection/assets/icons/farcaster-brand.svg +0 -10
  295. package/dist/collection/assets/icons/farcaster.svg +0 -10
  296. package/dist/esm/constants-7b49abd5.js +0 -9
  297. package/dist/esm/constants-7b49abd5.js.map +0 -1
  298. package/dist/esm/cpsl-alert_18.entry.js.map +0 -1
  299. package/dist/esm/index-fd970ca2.js +0 -1987
  300. package/dist/esm/index-fd970ca2.js.map +0 -1
  301. package/dist/esm/polyfills/core-js.js +0 -11
  302. package/dist/esm/polyfills/dom.js +0 -79
  303. package/dist/esm/polyfills/es5-html-element.js +0 -1
  304. package/dist/esm/polyfills/index.js +0 -34
  305. package/dist/esm/polyfills/system.js +0 -6
  306. /package/dist/types/Users/{vinay → taylorbosch}/Documents/GitHub/Capsule/component-library/core/.stencil/scripts/buildIconLibrary.d.ts +0 -0
@@ -0,0 +1,210 @@
1
+ /**
2
+ * Convert a font size to a dynamic font size.
3
+ * Fonts that participate in Dynamic Type should use
4
+ * dynamic font sizes.
5
+ * @param size - The initial font size including the unit (i.e. px or pt)
6
+ * @param unit (optional) - The unit to convert to. Use this if you want to
7
+ * convert to a unit other than $baselineUnit.
8
+ */
9
+ /**
10
+ * Convert a font size to a dynamic font size but impose
11
+ * a maximum font size.
12
+ * @param size - The initial font size including the unit (i.e. px or pt)
13
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
14
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
15
+ * convert to a unit other than $baselineUnit.
16
+ */
17
+ /**
18
+ * Convert a font size to a dynamic font size but impose
19
+ * a minimum font size.
20
+ * @param size - The initial font size including the unit (i.e. px or pt)
21
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
22
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
23
+ * convert to a unit other than $baselineUnit.
24
+ */
25
+ /**
26
+ * Convert a font size to a dynamic font size but impose
27
+ * maximum and minimum font sizes.
28
+ * @param size - The initial font size including the unit (i.e. px or pt)
29
+ * @param minScale - The minimum scale of the font (i.e. 0.8 for a minimum 80% scale).
30
+ * @param maxScale - The maximum scale of the font (i.e. 2.5 for a maximum 250% scale).
31
+ * @param unit (optional) - The unit to convert the initial font size to. Use this if you want to
32
+ * convert to a unit other than $baselineUnit.
33
+ */
34
+ /**
35
+ * A heuristic that applies CSS to tablet
36
+ * viewports.
37
+ *
38
+ * Usage:
39
+ * @include tablet-viewport() {
40
+ * :host {
41
+ * background-color: green;
42
+ * }
43
+ * }
44
+ */
45
+ /**
46
+ * A heuristic that applies CSS to mobile
47
+ * viewports (i.e. phones, not tablets).
48
+ *
49
+ * Usage:
50
+ * @include mobile-viewport() {
51
+ * :host {
52
+ * background-color: blue;
53
+ * }
54
+ * }
55
+ */
56
+ :host {
57
+ --container-box-shadow: none;
58
+ --container-box-shadow-color: var(--cpsl-color-file-border-placeholder);
59
+ --container-border-color: var(--cpsl-color-file-border-placeholder);
60
+ --container-border-color-error: var(--cpsl-color-file-border-error);
61
+ --container-background-color: var(--cpsl-color-file-surface-default);
62
+ --container-background-color-disabled: var(--cpsl-color-file-surface-disabled);
63
+ --container-background-color-drag: var(--cpsl-color-file-surface-drag);
64
+ --container-border-width: 1px;
65
+ --container-border-radius: var(--cpsl-border-radius-file);
66
+ --container-padding-top: 12px;
67
+ --container-padding-bottom: 12px;
68
+ --container-padding-end: 12px;
69
+ --container-padding-start: 12px;
70
+ --container-height: 48px;
71
+ --container-gap: 8px;
72
+ --optional-label-color: var(--cpsl-color-text-secondary);
73
+ --label-color: var(--cpsl-color-text-primary);
74
+ --label-font-size: var(--cpsl-font-size-body-s);
75
+ --label-margin-bottom: 0px;
76
+ --helper-text-color: var(--cpsl-color-text-secondary);
77
+ --helper-text-error-color: var(--cpsl-color-text-error);
78
+ --helper-text-icon-color: var(--cpsl-color-text-secondary);
79
+ --helper-text-icon-error-color: var(--cpsl-color-text-error);
80
+ --helper-text-icon-size: 16px;
81
+ --helper-text-font-size: var(--cpsl-font-size-body-xs);
82
+ --helper-text-margin-top: 0px;
83
+ --sample-img-height: 40px;
84
+ --sample-img-width: 40px;
85
+ --sample-img-border-radius: 8px;
86
+ display: flex;
87
+ flex-direction: column;
88
+ gap: 4px;
89
+ font-family: var(--cpsl-font-family, inherit);
90
+ }
91
+
92
+ .container {
93
+ -webkit-padding-start: var(--container-padding-start);
94
+ padding-inline-start: var(--container-padding-start);
95
+ -webkit-padding-end: var(--container-padding-end);
96
+ padding-inline-end: var(--container-padding-end);
97
+ padding-top: var(--container-padding-top);
98
+ padding-bottom: var(--container-padding-bottom);
99
+ display: flex;
100
+ align-items: center;
101
+ box-sizing: border-box;
102
+ flex-wrap: wrap;
103
+ width: 100%;
104
+ gap: var(--container-gap);
105
+ cursor: pointer;
106
+ position: relative;
107
+ border-style: solid;
108
+ border-width: var(--container-border-width);
109
+ border-color: var(--container-border-color);
110
+ border-radius: var(--container-border-radius);
111
+ background: var(--container-background-color);
112
+ box-shadow: var(--container-box-shadow);
113
+ }
114
+ .container.drag, .container:active {
115
+ background: var(--container-background-color-drag);
116
+ }
117
+ .container.drag-error {
118
+ cursor: no-drop;
119
+ }
120
+ .container.error {
121
+ border-color: var(--container-border-color-error);
122
+ }
123
+
124
+ input {
125
+ position: absolute;
126
+ width: 100%;
127
+ height: 100%;
128
+ top: 0;
129
+ left: 0;
130
+ margin: 0px;
131
+ opacity: 0;
132
+ cursor: pointer;
133
+ }
134
+
135
+ .sample-img {
136
+ height: var(--sample-img-height);
137
+ width: var(--sample-img-width);
138
+ border-radius: var(--sample-img-border-radius);
139
+ object-fit: contain;
140
+ }
141
+
142
+ .sample-image-name-container {
143
+ display: flex;
144
+ gap: 4px;
145
+ align-items: center;
146
+ }
147
+ .sample-image-name-container cpsl-icon {
148
+ z-index: 10000;
149
+ --height: 16px;
150
+ --width: 16px;
151
+ }
152
+
153
+ .inline-text {
154
+ display: inline-block;
155
+ }
156
+
157
+ .sample-image-name {
158
+ display: inline-block;
159
+ color: var(--cpsl-color-text-tertiary);
160
+ }
161
+
162
+ .label-container {
163
+ flex: 1;
164
+ }
165
+
166
+ .file-container {
167
+ display: flex;
168
+ flex-direction: column;
169
+ flex: 1;
170
+ gap: 8px;
171
+ justify-content: center;
172
+ align-items: center;
173
+ }
174
+
175
+ .label {
176
+ display: inline-block;
177
+ color: var(--label-color);
178
+ font-size: var(--label-font-size);
179
+ font-weight: 500;
180
+ margin-bottom: var(--label-margin-bottom);
181
+ }
182
+
183
+ .optional-label {
184
+ display: inline-block;
185
+ color: var(--optional-label-color);
186
+ font-size: var(--label-font-size);
187
+ font-weight: 500;
188
+ }
189
+
190
+ .helper-text-container {
191
+ display: flex;
192
+ align-items: center;
193
+ gap: 4px;
194
+ color: var(--helper-text-color);
195
+ font-size: var(--helper-text-font-size);
196
+ font-weight: 500;
197
+ margin-top: var(--helper-text-margin-top);
198
+ }
199
+ .helper-text-container cpsl-icon {
200
+ --height: var(--helper-text-icon-size);
201
+ --width: var(--helper-text-icon-size);
202
+ --icon-color: var(--helper-text-icon-color);
203
+ }
204
+
205
+ .error-text {
206
+ color: var(--helper-text-error-color);
207
+ }
208
+ .error-text cpsl-icon {
209
+ --icon-color: var(--helper-text-icon-error-color);
210
+ }
@@ -0,0 +1,406 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try {
5
+ step(generator.next(value));
6
+ }
7
+ catch (e) {
8
+ reject(e);
9
+ } }
10
+ function rejected(value) { try {
11
+ step(generator["throw"](value));
12
+ }
13
+ catch (e) {
14
+ reject(e);
15
+ } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ import { Host, h, Fragment } from "@stencil/core";
21
+ export class CpslFileUpload {
22
+ constructor() {
23
+ this.inputId = `cpsl-file-upload-${inputIds++}`;
24
+ this.handleDrop = (ev) => __awaiter(this, void 0, void 0, function* () {
25
+ var _a;
26
+ ev.preventDefault();
27
+ const item = (_a = Array.from(ev.dataTransfer.items)) === null || _a === void 0 ? void 0 : _a[0];
28
+ if (item && this.isValidFile(item.type)) {
29
+ const file = item.getAsFile();
30
+ yield this.addFile(file);
31
+ }
32
+ this.dragOver = false;
33
+ this.dragError = false;
34
+ this.cpslOnDrop.emit(ev);
35
+ });
36
+ this.handleDragEnter = (ev) => {
37
+ var _a;
38
+ ev.preventDefault();
39
+ this.dragOver = true;
40
+ const item = (_a = Array.from(ev.dataTransfer.items)) === null || _a === void 0 ? void 0 : _a[0];
41
+ if (item && this.isValidFile(item.type)) {
42
+ this.dragError = true;
43
+ }
44
+ this.cpslOnDragEnter.emit(ev);
45
+ };
46
+ this.handleDragLeave = (ev) => {
47
+ ev.preventDefault();
48
+ this.dragOver = false;
49
+ this.dragError = false;
50
+ this.cpslOnDragLeave.emit(ev);
51
+ };
52
+ this.handleInputChange = (ev) => __awaiter(this, void 0, void 0, function* () {
53
+ ev.preventDefault();
54
+ const input = this.inputEl;
55
+ if (Boolean(input.files.length)) {
56
+ const file = input.files[0];
57
+ if (this.isValidFile(file.type)) {
58
+ yield this.addFile(file);
59
+ }
60
+ }
61
+ });
62
+ this.isValidFile = (type) => {
63
+ var _a;
64
+ if (Boolean((_a = this.fileTypes) === null || _a === void 0 ? void 0 : _a.length) ? !this.fileTypes.includes(type) : false) {
65
+ return false;
66
+ }
67
+ return true;
68
+ };
69
+ this.addFile = (file) => __awaiter(this, void 0, void 0, function* () {
70
+ this.file = file;
71
+ this.cpslFileChange.emit(file);
72
+ this.uploadError = false;
73
+ this.isUploading = true;
74
+ const uploadSuccess = Boolean(this.uploadFile) ? yield this.uploadFile(file) : true;
75
+ if (!uploadSuccess) {
76
+ this.uploadError = true;
77
+ const input = this.inputEl;
78
+ input.value = '';
79
+ }
80
+ this.isUploading = false;
81
+ });
82
+ this.removeFile = (e) => {
83
+ e.preventDefault();
84
+ this.file = undefined;
85
+ const input = this.inputEl;
86
+ input.value = '';
87
+ this.cpslFileRemoved.emit();
88
+ };
89
+ this.file = undefined;
90
+ this.dragOver = undefined;
91
+ this.dragError = undefined;
92
+ this.isUploading = undefined;
93
+ this.uploadError = undefined;
94
+ this.errorText = undefined;
95
+ this.externalFilename = undefined;
96
+ this.externalSrc = undefined;
97
+ this.fileTypes = undefined;
98
+ this.helperText = undefined;
99
+ this.label = undefined;
100
+ this.required = false;
101
+ this.showOptionalLabel = false;
102
+ this.uploadFile = undefined;
103
+ }
104
+ get inputEl() {
105
+ return this.el.shadowRoot.getElementById(this.inputId);
106
+ }
107
+ get FileContent() {
108
+ var _a;
109
+ const hasFile = Boolean(this.file) || Boolean(this.externalSrc);
110
+ const isUploading = this.isUploading;
111
+ const error = this.uploadError;
112
+ const text = !hasFile ? (h(Fragment, null, 'Drag file here or ', h("cpsl-text", { class: "inline-text", variant: "bodyXS" }, "upload file"))) : isUploading ? (`${this.file.name} is uploading`) : error ? ('Upload Failed') : (((_a = this.file) === null || _a === void 0 ? void 0 : _a.name) || this.externalFilename || '');
113
+ const TopElement = !hasFile ? (h("cpsl-icon", { icon: "image" })) : isUploading ? (h("cpsl-spinner", null)) : error ? (h("cpsl-icon", { icon: "close" })) : (h("img", { class: "sample-img", src: Boolean(this.file) ? URL.createObjectURL(this.file) : this.externalSrc, alt: "Sample Image" }));
114
+ return (h(Fragment, null, TopElement, h("span", { class: "sample-image-name-container" }, h("cpsl-text", { class: "sample-image-name", variant: "bodyXS" }, text), hasFile && !error && !isUploading && h("cpsl-icon", { icon: "close", onClick: this.removeFile }))));
115
+ }
116
+ render() {
117
+ var _a, _b, _c;
118
+ return (h(Host, { key: '762561d4a888f40c6ef7914d44d3b5d29952c6eb' }, this.label && (h("label", { key: 'ca7847701395b4334d14e34cf065f943bec0d1af', class: "label", htmlFor: this.inputId }, this.label, this.required ? '*' : ' ', !this.required && this.showOptionalLabel ? h("span", { class: "optional-label" }, "(optional)") : '')), h("slot", { key: '370ca2d812f44f13b20383f303ca7d6daefdfd84', name: "label" }), h("div", { key: 'bece00a4a0a32bb37c4573775cbbe5c89ae3030e', class: { 'container': true, 'error': Boolean(this.errorText), 'drag': this.dragOver, 'drag-error': this.dragError } }, h("div", { key: '32220f003406b15f94c68337ab321b6b07151be0', class: { 'label-container': true } }, h("slot", { key: '88a46b859592b1dbbea964d871ef36d77760da78', name: "left-content" })), h("div", { key: 'd4cbd5c095c8ba522c51a451d749d20c0fd7a5ab', class: { 'file-container': true } }, this.FileContent), h("input", { key: '3798b69f5670e18e9fa4dc34ae7ca661cd6f9294', id: this.inputId, type: "file", accept: (_b = (_a = this.fileTypes) === null || _a === void 0 ? void 0 : _a.join(', ')) !== null && _b !== void 0 ? _b : '*', files: Boolean(this.file) ? [this.file] : undefined, onDrop: this.handleDrop, onDragEnter: this.handleDragEnter, onDragLeave: this.handleDragLeave, onChange: this.handleInputChange })), (this.errorText || this.helperText) && (h("div", { key: '9217cfba0fabd2d8cad86ba34fd69f15cf0186a0', class: { 'helper-text-container': true, 'error-text': Boolean(this.errorText) } }, h("span", { key: '0e6f9be6e2042f72b0438cc5d979b21eb9f47356' }, (_c = this.errorText) !== null && _c !== void 0 ? _c : this.helperText)))));
119
+ }
120
+ static get is() { return "cpsl-file-upload"; }
121
+ static get encapsulation() { return "shadow"; }
122
+ static get originalStyleUrls() {
123
+ return {
124
+ "$": ["cpsl-file-upload.scss"]
125
+ };
126
+ }
127
+ static get styleUrls() {
128
+ return {
129
+ "$": ["cpsl-file-upload.css"]
130
+ };
131
+ }
132
+ static get properties() {
133
+ return {
134
+ "errorText": {
135
+ "type": "string",
136
+ "mutable": false,
137
+ "complexType": {
138
+ "original": "string",
139
+ "resolved": "string",
140
+ "references": {}
141
+ },
142
+ "required": false,
143
+ "optional": true,
144
+ "docs": {
145
+ "tags": [],
146
+ "text": "Error text to show below the input. If this is provided the input will enter an error state."
147
+ },
148
+ "attribute": "error-text",
149
+ "reflect": false
150
+ },
151
+ "externalFilename": {
152
+ "type": "string",
153
+ "mutable": false,
154
+ "complexType": {
155
+ "original": "string",
156
+ "resolved": "string",
157
+ "references": {}
158
+ },
159
+ "required": false,
160
+ "optional": true,
161
+ "docs": {
162
+ "tags": [],
163
+ "text": "Filename for the external source of the selected file."
164
+ },
165
+ "attribute": "external-filename",
166
+ "reflect": false
167
+ },
168
+ "externalSrc": {
169
+ "type": "string",
170
+ "mutable": false,
171
+ "complexType": {
172
+ "original": "string",
173
+ "resolved": "string",
174
+ "references": {}
175
+ },
176
+ "required": false,
177
+ "optional": true,
178
+ "docs": {
179
+ "tags": [],
180
+ "text": "External source for the selected file."
181
+ },
182
+ "attribute": "external-src",
183
+ "reflect": false
184
+ },
185
+ "fileTypes": {
186
+ "type": "unknown",
187
+ "mutable": false,
188
+ "complexType": {
189
+ "original": "string[]",
190
+ "resolved": "string[]",
191
+ "references": {}
192
+ },
193
+ "required": false,
194
+ "optional": true,
195
+ "docs": {
196
+ "tags": [],
197
+ "text": "Valid file types."
198
+ }
199
+ },
200
+ "helperText": {
201
+ "type": "string",
202
+ "mutable": false,
203
+ "complexType": {
204
+ "original": "string",
205
+ "resolved": "string",
206
+ "references": {}
207
+ },
208
+ "required": false,
209
+ "optional": true,
210
+ "docs": {
211
+ "tags": [],
212
+ "text": "Helper text to show below the input. If `\"errorText\"` is provided that will take precedence."
213
+ },
214
+ "attribute": "helper-text",
215
+ "reflect": false
216
+ },
217
+ "label": {
218
+ "type": "string",
219
+ "mutable": false,
220
+ "complexType": {
221
+ "original": "string",
222
+ "resolved": "string",
223
+ "references": {}
224
+ },
225
+ "required": false,
226
+ "optional": true,
227
+ "docs": {
228
+ "tags": [],
229
+ "text": "The label for the input."
230
+ },
231
+ "attribute": "label",
232
+ "reflect": false
233
+ },
234
+ "required": {
235
+ "type": "boolean",
236
+ "mutable": false,
237
+ "complexType": {
238
+ "original": "boolean",
239
+ "resolved": "boolean",
240
+ "references": {}
241
+ },
242
+ "required": false,
243
+ "optional": false,
244
+ "docs": {
245
+ "tags": [],
246
+ "text": "If `true`, the user must fill in a value before submitting a form."
247
+ },
248
+ "attribute": "required",
249
+ "reflect": false,
250
+ "defaultValue": "false"
251
+ },
252
+ "showOptionalLabel": {
253
+ "type": "boolean",
254
+ "mutable": false,
255
+ "complexType": {
256
+ "original": "boolean",
257
+ "resolved": "boolean",
258
+ "references": {}
259
+ },
260
+ "required": false,
261
+ "optional": false,
262
+ "docs": {
263
+ "tags": [],
264
+ "text": "If `true`, the label will display an \"optional\" tag."
265
+ },
266
+ "attribute": "show-optional-label",
267
+ "reflect": false,
268
+ "defaultValue": "false"
269
+ },
270
+ "uploadFile": {
271
+ "type": "unknown",
272
+ "mutable": false,
273
+ "complexType": {
274
+ "original": "(file: File) => Promise<boolean>",
275
+ "resolved": "(file: File) => Promise<boolean>",
276
+ "references": {
277
+ "File": {
278
+ "location": "global",
279
+ "id": "global::File"
280
+ },
281
+ "Promise": {
282
+ "location": "global",
283
+ "id": "global::Promise"
284
+ }
285
+ }
286
+ },
287
+ "required": false,
288
+ "optional": true,
289
+ "docs": {
290
+ "tags": [],
291
+ "text": "Function to trigger file upload to server.\nReturns: boolean indicating success or failure."
292
+ }
293
+ }
294
+ };
295
+ }
296
+ static get states() {
297
+ return {
298
+ "file": {},
299
+ "dragOver": {},
300
+ "dragError": {},
301
+ "isUploading": {},
302
+ "uploadError": {}
303
+ };
304
+ }
305
+ static get events() {
306
+ return [{
307
+ "method": "cpslOnDrop",
308
+ "name": "cpslOnDrop",
309
+ "bubbles": true,
310
+ "cancelable": true,
311
+ "composed": true,
312
+ "docs": {
313
+ "tags": [],
314
+ "text": "Emitted when the file is dropped in the input."
315
+ },
316
+ "complexType": {
317
+ "original": "DragEvent",
318
+ "resolved": "DragEvent",
319
+ "references": {
320
+ "DragEvent": {
321
+ "location": "global",
322
+ "id": "global::DragEvent"
323
+ }
324
+ }
325
+ }
326
+ }, {
327
+ "method": "cpslOnDragEnter",
328
+ "name": "cpslOnDragEnter",
329
+ "bubbles": true,
330
+ "cancelable": true,
331
+ "composed": true,
332
+ "docs": {
333
+ "tags": [],
334
+ "text": "Emitted when the file drag enters the input."
335
+ },
336
+ "complexType": {
337
+ "original": "DragEvent",
338
+ "resolved": "DragEvent",
339
+ "references": {
340
+ "DragEvent": {
341
+ "location": "global",
342
+ "id": "global::DragEvent"
343
+ }
344
+ }
345
+ }
346
+ }, {
347
+ "method": "cpslOnDragLeave",
348
+ "name": "cpslOnDragLeave",
349
+ "bubbles": true,
350
+ "cancelable": true,
351
+ "composed": true,
352
+ "docs": {
353
+ "tags": [],
354
+ "text": "Emitted when the file drag leaves the input."
355
+ },
356
+ "complexType": {
357
+ "original": "DragEvent",
358
+ "resolved": "DragEvent",
359
+ "references": {
360
+ "DragEvent": {
361
+ "location": "global",
362
+ "id": "global::DragEvent"
363
+ }
364
+ }
365
+ }
366
+ }, {
367
+ "method": "cpslFileChange",
368
+ "name": "cpslFileChange",
369
+ "bubbles": true,
370
+ "cancelable": true,
371
+ "composed": true,
372
+ "docs": {
373
+ "tags": [],
374
+ "text": "Emitted when the file changes."
375
+ },
376
+ "complexType": {
377
+ "original": "File",
378
+ "resolved": "File",
379
+ "references": {
380
+ "File": {
381
+ "location": "global",
382
+ "id": "global::File"
383
+ }
384
+ }
385
+ }
386
+ }, {
387
+ "method": "cpslFileRemoved",
388
+ "name": "cpslFileRemoved",
389
+ "bubbles": true,
390
+ "cancelable": true,
391
+ "composed": true,
392
+ "docs": {
393
+ "tags": [],
394
+ "text": "Emitted when the file is removed."
395
+ },
396
+ "complexType": {
397
+ "original": "void",
398
+ "resolved": "void",
399
+ "references": {}
400
+ }
401
+ }];
402
+ }
403
+ static get elementRef() { return "el"; }
404
+ }
405
+ let inputIds = 0;
406
+ //# sourceMappingURL=cpsl-file-upload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpsl-file-upload.js","sourceRoot":"","sources":["../../../../src/components/cpsl-file-upload/cpsl-file-upload.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Host, Prop, Event, h, EventEmitter, State, Fragment, Element } from '@stencil/core';\n\n@Component({\n tag: 'cpsl-file-upload',\n styleUrl: 'cpsl-file-upload.scss',\n shadow: true,\n})\nexport class CpslFileUpload {\n @Element() el!: HTMLCpslFileUploadElement;\n\n private inputId = `cpsl-file-upload-${inputIds++}`;\n\n @State() file?: File;\n @State() dragOver?: boolean;\n @State() dragError?: boolean;\n @State() isUploading?: boolean;\n @State() uploadError?: boolean;\n\n /**\n * Error text to show below the input. If this is provided the input will enter an error state.\n */\n @Prop() errorText?: string;\n\n /**\n * Filename for the external source of the selected file.\n */\n @Prop() externalFilename?: string;\n\n /**\n * External source for the selected file.\n */\n @Prop() externalSrc?: string;\n\n /**\n * Valid file types.\n */\n @Prop() fileTypes?: string[];\n\n /**\n * Helper text to show below the input. If `\"errorText\"` is provided that will take precedence.\n */\n @Prop() helperText?: string;\n\n /**\n * The label for the input.\n */\n @Prop() label?: string;\n\n /**\n * If `true`, the user must fill in a value before submitting a form.\n */\n @Prop() required = false;\n\n /**\n * If `true`, the label will display an \"optional\" tag.\n */\n @Prop() showOptionalLabel = false;\n\n /**\n * Function to trigger file upload to server.\n * Returns: boolean indicating success or failure.\n */\n @Prop() uploadFile?: (file: File) => Promise<boolean>;\n\n /**\n * Emitted when the file is dropped in the input.\n */\n @Event() cpslOnDrop!: EventEmitter<DragEvent>;\n\n /**\n * Emitted when the file drag enters the input.\n */\n @Event() cpslOnDragEnter!: EventEmitter<DragEvent>;\n\n /**\n * Emitted when the file drag leaves the input.\n */\n @Event() cpslOnDragLeave!: EventEmitter<DragEvent>;\n\n /**\n * Emitted when the file changes.\n */\n @Event() cpslFileChange!: EventEmitter<File>;\n\n /**\n * Emitted when the file is removed.\n */\n @Event() cpslFileRemoved!: EventEmitter<void>;\n\n private handleDrop = async (ev: DragEvent) => {\n ev.preventDefault();\n\n const item = Array.from(ev.dataTransfer.items)?.[0];\n\n if (item && this.isValidFile(item.type)) {\n const file = item.getAsFile();\n await this.addFile(file);\n }\n\n this.dragOver = false;\n this.dragError = false;\n\n this.cpslOnDrop.emit(ev);\n };\n\n private handleDragEnter = (ev: DragEvent) => {\n ev.preventDefault();\n\n this.dragOver = true;\n\n const item = Array.from(ev.dataTransfer.items)?.[0];\n\n if (item && this.isValidFile(item.type)) {\n this.dragError = true;\n }\n\n this.cpslOnDragEnter.emit(ev);\n };\n\n private handleDragLeave = (ev: DragEvent) => {\n ev.preventDefault();\n\n this.dragOver = false;\n this.dragError = false;\n\n this.cpslOnDragLeave.emit(ev);\n };\n\n private handleInputChange = async (ev: Event) => {\n ev.preventDefault();\n\n const input = this.inputEl;\n\n if (Boolean(input.files.length)) {\n const file = input.files[0];\n\n if (this.isValidFile(file.type)) {\n await this.addFile(file);\n }\n }\n };\n\n private isValidFile = (type: string) => {\n if (Boolean(this.fileTypes?.length) ? !this.fileTypes.includes(type) : false) {\n return false;\n }\n\n return true;\n };\n\n private addFile = async (file: File) => {\n this.file = file;\n this.cpslFileChange.emit(file);\n this.uploadError = false;\n this.isUploading = true;\n const uploadSuccess = Boolean(this.uploadFile) ? await this.uploadFile(file) : true;\n if (!uploadSuccess) {\n this.uploadError = true;\n const input = this.inputEl;\n input.value = '';\n }\n this.isUploading = false;\n };\n\n private removeFile = (e: MouseEvent) => {\n e.preventDefault();\n\n this.file = undefined;\n\n const input = this.inputEl;\n input.value = '';\n\n this.cpslFileRemoved.emit();\n };\n\n get inputEl() {\n return this.el.shadowRoot.getElementById(this.inputId) as HTMLInputElement;\n }\n\n get FileContent() {\n const hasFile = Boolean(this.file) || Boolean(this.externalSrc);\n const isUploading = this.isUploading;\n const error = this.uploadError;\n\n const text = !hasFile ? (\n <Fragment>\n {'Drag file here or '}\n <cpsl-text class=\"inline-text\" variant=\"bodyXS\">\n upload file\n </cpsl-text>\n </Fragment>\n ) : isUploading ? (\n `${this.file.name} is uploading`\n ) : error ? (\n 'Upload Failed'\n ) : (\n this.file?.name || this.externalFilename || ''\n );\n const TopElement = !hasFile ? (\n <cpsl-icon icon=\"image\" />\n ) : isUploading ? (\n <cpsl-spinner />\n ) : error ? (\n <cpsl-icon icon=\"close\" />\n ) : (\n <img class=\"sample-img\" src={Boolean(this.file) ? URL.createObjectURL(this.file) : this.externalSrc} alt=\"Sample Image\" />\n );\n\n return (\n <Fragment>\n {TopElement}\n <span class=\"sample-image-name-container\">\n <cpsl-text class=\"sample-image-name\" variant=\"bodyXS\">\n {text}\n </cpsl-text>\n {hasFile && !error && !isUploading && <cpsl-icon icon=\"close\" onClick={this.removeFile} />}\n </span>\n </Fragment>\n );\n }\n\n render() {\n return (\n <Host>\n {this.label && (\n <label class=\"label\" htmlFor={this.inputId}>\n {this.label}\n {this.required ? '*' : ' '}\n {!this.required && this.showOptionalLabel ? <span class=\"optional-label\">(optional)</span> : ''}\n </label>\n )}\n <slot name=\"label\"></slot>\n <div class={{ 'container': true, 'error': Boolean(this.errorText), 'drag': this.dragOver, 'drag-error': this.dragError }}>\n <div class={{ 'label-container': true }}>\n <slot name=\"left-content\"></slot>\n </div>\n <div class={{ 'file-container': true }}>{this.FileContent}</div>\n <input\n id={this.inputId}\n type=\"file\"\n accept={this.fileTypes?.join(', ') ?? '*'}\n files={Boolean(this.file) ? [this.file] : undefined}\n onDrop={this.handleDrop}\n onDragEnter={this.handleDragEnter}\n onDragLeave={this.handleDragLeave}\n onChange={this.handleInputChange}\n />\n </div>\n {(this.errorText || this.helperText) && (\n <div class={{ 'helper-text-container': true, 'error-text': Boolean(this.errorText) }}>\n <span>{this.errorText ?? this.helperText}</span>\n </div>\n )}\n </Host>\n );\n }\n}\n\nlet inputIds = 0;\n"]}
@@ -0,0 +1,29 @@
1
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
+ return new (P || (P = Promise))(function (resolve, reject) {
4
+ function fulfilled(value) { try {
5
+ step(generator.next(value));
6
+ }
7
+ catch (e) {
8
+ reject(e);
9
+ } }
10
+ function rejected(value) { try {
11
+ step(generator["throw"](value));
12
+ }
13
+ catch (e) {
14
+ reject(e);
15
+ } }
16
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
17
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
18
+ });
19
+ };
20
+ import { newE2EPage } from "@stencil/core/testing";
21
+ describe('cpsl-file-upload', () => {
22
+ it('renders', () => __awaiter(void 0, void 0, void 0, function* () {
23
+ const page = yield newE2EPage();
24
+ yield page.setContent('<cpsl-file-upload></cpsl-file-upload>');
25
+ const element = yield page.find('cpsl-file-upload');
26
+ expect(element).toHaveClass('hydrated');
27
+ }));
28
+ });
29
+ //# sourceMappingURL=cpsl-file-upload.e2e.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cpsl-file-upload.e2e.js","sourceRoot":"","sources":["../../../../../src/components/cpsl-file-upload/test/cpsl-file-upload.e2e.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,SAAS,EAAE,GAAS,EAAE;QACvB,MAAM,IAAI,GAAG,MAAM,UAAU,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,UAAU,CAAC,uCAAuC,CAAC,CAAC;QAE/D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAA,CAAC,CAAC;AACL,CAAC,CAAC,CAAC","sourcesContent":["import { newE2EPage } from '@stencil/core/testing';\n\ndescribe('cpsl-file-upload', () => {\n it('renders', async () => {\n const page = await newE2EPage();\n await page.setContent('<cpsl-file-upload></cpsl-file-upload>');\n\n const element = await page.find('cpsl-file-upload');\n expect(element).toHaveClass('hydrated');\n });\n});\n"]}