@getflip/swirl-components 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (407) hide show
  1. package/dist/cjs/flip-action-list-item.cjs.entry.js +1 -1
  2. package/dist/cjs/flip-action-list-section.cjs.entry.js +1 -1
  3. package/dist/cjs/flip-action-list.cjs.entry.js +1 -1
  4. package/dist/cjs/flip-avatar-group.cjs.entry.js +2 -2
  5. package/dist/cjs/flip-avatar.cjs.entry.js +1 -1
  6. package/dist/cjs/flip-badge.cjs.entry.js +2 -2
  7. package/dist/cjs/flip-banner.cjs.entry.js +1 -1
  8. package/dist/cjs/flip-button-group.cjs.entry.js +24 -0
  9. package/dist/{esm/flip-button_2.entry.js → cjs/flip-button.cjs.entry.js} +10 -23
  10. package/dist/cjs/flip-checkbox.cjs.entry.js +3 -2
  11. package/dist/cjs/flip-chip.cjs.entry.js +1 -1
  12. package/dist/cjs/flip-description-list-item.cjs.entry.js +1 -1
  13. package/dist/cjs/flip-description-list.cjs.entry.js +1 -1
  14. package/dist/cjs/flip-dialog.cjs.entry.js +1 -1
  15. package/dist/cjs/flip-file-uploader.cjs.entry.js +49 -0
  16. package/dist/cjs/flip-icon-add-photo.cjs.entry.js +1 -1
  17. package/dist/cjs/flip-icon-add.cjs.entry.js +1 -1
  18. package/dist/cjs/flip-icon-admin-panel-settings.cjs.entry.js +1 -1
  19. package/dist/cjs/flip-icon-arrow-back.cjs.entry.js +1 -1
  20. package/dist/cjs/flip-icon-arrow-forward.cjs.entry.js +1 -1
  21. package/dist/cjs/flip-icon-arrow-right-small.cjs.entry.js +1 -1
  22. package/dist/cjs/flip-icon-attachment.cjs.entry.js +1 -1
  23. package/dist/cjs/flip-icon-cancel_2.cjs.entry.js +1 -1
  24. package/dist/cjs/flip-icon-chat-bubble.cjs.entry.js +1 -1
  25. package/dist/cjs/flip-icon-check-circle.cjs.entry.js +1 -1
  26. package/dist/cjs/flip-icon-check-small.cjs.entry.js +1 -1
  27. package/dist/cjs/flip-icon-check-strong.cjs.entry.js +1 -1
  28. package/dist/cjs/flip-icon-check.cjs.entry.js +1 -1
  29. package/dist/cjs/flip-icon-chevron-left.cjs.entry.js +1 -1
  30. package/dist/cjs/flip-icon-chevron-right.cjs.entry.js +1 -1
  31. package/dist/cjs/flip-icon-close-small.cjs.entry.js +1 -1
  32. package/dist/cjs/flip-icon-close.cjs.entry.js +1 -1
  33. package/dist/cjs/flip-icon-cloud-upload.cjs.entry.js +20 -0
  34. package/dist/cjs/flip-icon-comment.cjs.entry.js +1 -1
  35. package/dist/cjs/flip-icon-copy.cjs.entry.js +1 -1
  36. package/dist/cjs/flip-icon-date-range.cjs.entry.js +1 -1
  37. package/dist/cjs/flip-icon-delete.cjs.entry.js +1 -1
  38. package/dist/cjs/flip-icon-description.cjs.entry.js +1 -1
  39. package/dist/cjs/flip-icon-download.cjs.entry.js +1 -1
  40. package/dist/cjs/flip-icon-edit.cjs.entry.js +1 -1
  41. package/dist/cjs/flip-icon-emoji-mood.cjs.entry.js +1 -1
  42. package/dist/cjs/flip-icon-emoji-satisfied.cjs.entry.js +1 -1
  43. package/dist/cjs/flip-icon-error.cjs.entry.js +1 -1
  44. package/dist/cjs/flip-icon-expand-less.cjs.entry.js +1 -1
  45. package/dist/cjs/flip-icon-expand-more.cjs.entry.js +1 -1
  46. package/dist/cjs/flip-icon-file.cjs.entry.js +1 -1
  47. package/dist/cjs/flip-icon-folder-shared.cjs.entry.js +1 -1
  48. package/dist/cjs/flip-icon-group-assign.cjs.entry.js +1 -1
  49. package/dist/cjs/flip-icon-groups-custom.cjs.entry.js +1 -1
  50. package/dist/cjs/flip-icon-groups.cjs.entry.js +1 -1
  51. package/dist/cjs/flip-icon-image.cjs.entry.js +1 -1
  52. package/dist/cjs/flip-icon-info.cjs.entry.js +1 -1
  53. package/dist/cjs/flip-icon-inventory.cjs.entry.js +1 -1
  54. package/dist/cjs/flip-icon-like.cjs.entry.js +1 -1
  55. package/dist/cjs/flip-icon-link.cjs.entry.js +1 -1
  56. package/dist/cjs/flip-icon-lock.cjs.entry.js +1 -1
  57. package/dist/cjs/flip-icon-logout.cjs.entry.js +1 -1
  58. package/dist/cjs/flip-icon-mail.cjs.entry.js +1 -1
  59. package/dist/cjs/flip-icon-manage-accounts.cjs.entry.js +1 -1
  60. package/dist/cjs/flip-icon-mention.cjs.entry.js +1 -1
  61. package/dist/cjs/flip-icon-message.cjs.entry.js +1 -1
  62. package/dist/cjs/flip-icon-more-horizontal.cjs.entry.js +1 -1
  63. package/dist/cjs/flip-icon-more-vertikal.cjs.entry.js +1 -1
  64. package/dist/cjs/flip-icon-notifications-active.cjs.entry.js +1 -1
  65. package/dist/cjs/flip-icon-notifications-off.cjs.entry.js +1 -1
  66. package/dist/cjs/flip-icon-notifications.cjs.entry.js +1 -1
  67. package/dist/cjs/flip-icon-people-alt.cjs.entry.js +1 -1
  68. package/dist/cjs/flip-icon-person-off.cjs.entry.js +1 -1
  69. package/dist/cjs/flip-icon-person.cjs.entry.js +1 -1
  70. package/dist/cjs/flip-icon-phone.cjs.entry.js +1 -1
  71. package/dist/cjs/flip-icon-poll.cjs.entry.js +1 -1
  72. package/dist/cjs/flip-icon-recieved.cjs.entry.js +1 -1
  73. package/dist/cjs/flip-icon-search-strong.cjs.entry.js +1 -1
  74. package/dist/cjs/flip-icon-send.cjs.entry.js +1 -1
  75. package/dist/cjs/flip-icon-settings.cjs.entry.js +1 -1
  76. package/dist/cjs/flip-icon-time-filled.cjs.entry.js +1 -1
  77. package/dist/cjs/flip-icon-time-outlined.cjs.entry.js +1 -1
  78. package/dist/cjs/flip-icon-today.cjs.entry.js +1 -1
  79. package/dist/cjs/flip-icon-user-assign.cjs.entry.js +1 -1
  80. package/dist/cjs/flip-icon-video-camera.cjs.entry.js +1 -1
  81. package/dist/cjs/flip-icon-visibility-off.cjs.entry.js +1 -1
  82. package/dist/cjs/flip-icon-visibility.cjs.entry.js +1 -1
  83. package/dist/cjs/flip-icon-warning.cjs.entry.js +1 -1
  84. package/dist/cjs/{flip-spinner.cjs.entry.js → flip-inline-error_2.cjs.entry.js} +17 -1
  85. package/dist/cjs/flip-link.cjs.entry.js +1 -1
  86. package/dist/cjs/flip-popover.cjs.entry.js +6 -1155
  87. package/dist/cjs/flip-radio-group.cjs.entry.js +1 -1
  88. package/dist/cjs/flip-radio.cjs.entry.js +1 -1
  89. package/dist/cjs/flip-resource-list-file-item.cjs.entry.js +30 -0
  90. package/dist/cjs/flip-resource-list-item.cjs.entry.js +73 -0
  91. package/dist/cjs/flip-resource-list.cjs.entry.js +67 -0
  92. package/dist/cjs/flip-search.cjs.entry.js +1 -1
  93. package/dist/cjs/flip-stack.cjs.entry.js +1 -1
  94. package/dist/cjs/flip-switch.cjs.entry.js +1 -1
  95. package/dist/cjs/flip-tab.cjs.entry.js +21 -0
  96. package/dist/cjs/flip-tabs.cjs.entry.js +124 -0
  97. package/dist/cjs/flip-tag.cjs.entry.js +1 -1
  98. package/dist/cjs/flip-theme-provider.cjs.entry.js +1 -1
  99. package/dist/cjs/flip-thumbnail.cjs.entry.js +1 -1
  100. package/dist/cjs/flip-toast-provider.cjs.entry.js +1 -1
  101. package/dist/cjs/flip-toast.cjs.entry.js +1 -1
  102. package/dist/cjs/flip-tooltip.cjs.entry.js +22 -14
  103. package/dist/cjs/flip-visually-hidden.cjs.entry.js +1 -1
  104. package/dist/cjs/floating-ui.dom.esm-75453e4e.js +1228 -0
  105. package/dist/cjs/{index-37fbfe64.js → index-bd89db61.js} +3 -0
  106. package/dist/cjs/loader.cjs.js +2 -2
  107. package/dist/cjs/swirl-components.cjs.js +2 -2
  108. package/dist/collection/collection-manifest.json +7 -0
  109. package/dist/collection/components/flip-avatar-group/flip-avatar-group.css +2 -2
  110. package/dist/collection/components/flip-badge/flip-badge.css +1 -1
  111. package/dist/collection/components/flip-button/flip-button.js +18 -1
  112. package/dist/collection/components/flip-checkbox/flip-checkbox.js +3 -2
  113. package/dist/collection/components/flip-file-uploader/flip-file-uploader.css +86 -0
  114. package/dist/collection/components/flip-file-uploader/flip-file-uploader.js +285 -0
  115. package/dist/collection/components/flip-file-uploader/flip-file-uploader.stories.js +23 -0
  116. package/dist/collection/components/flip-icon/icons/flip-icon-cloud-upload.js +49 -0
  117. package/dist/collection/components/flip-inline-error/flip-inline-error.css +1 -1
  118. package/dist/collection/components/flip-popover/flip-popover.js +1 -1
  119. package/dist/collection/components/flip-resource-list/flip-resource-list.css +8 -0
  120. package/dist/collection/components/flip-resource-list/flip-resource-list.js +85 -0
  121. package/dist/collection/components/flip-resource-list/flip-resource-list.stories.js +36 -0
  122. package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.css +89 -0
  123. package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.js +180 -0
  124. package/dist/collection/components/flip-resource-list-file-item/flip-resource-list-file-item.stories.js +35 -0
  125. package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.css +195 -0
  126. package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.js +303 -0
  127. package/dist/collection/components/flip-resource-list-item/flip-resource-list-item.stories.js +64 -0
  128. package/dist/collection/components/flip-tab/flip-tab.css +18 -0
  129. package/dist/collection/components/flip-tab/flip-tab.js +71 -0
  130. package/dist/collection/components/flip-tab/flip-tab.stories.js +22 -0
  131. package/dist/collection/components/flip-tabs/flip-tabs.css +94 -0
  132. package/dist/collection/components/flip-tabs/flip-tabs.js +220 -0
  133. package/dist/collection/components/flip-tabs/flip-tabs.stories.js +25 -0
  134. package/dist/collection/components/flip-tooltip/flip-tooltip.css +20 -0
  135. package/dist/collection/components/flip-tooltip/flip-tooltip.js +20 -10
  136. package/dist/components/flip-avatar-group.js +1 -1
  137. package/dist/components/flip-badge.js +1 -1
  138. package/dist/components/flip-button2.js +2 -1
  139. package/dist/components/flip-checkbox.js +2 -1
  140. package/dist/components/flip-file-uploader.d.ts +11 -0
  141. package/dist/components/flip-file-uploader.js +88 -0
  142. package/dist/components/flip-icon-cloud-upload.d.ts +11 -0
  143. package/dist/components/flip-icon-cloud-upload.js +6 -0
  144. package/dist/components/flip-icon-cloud-upload2.js +34 -0
  145. package/dist/components/flip-inline-error.js +1 -42
  146. package/dist/components/flip-inline-error2.js +44 -0
  147. package/dist/components/flip-popover.js +2 -1151
  148. package/dist/components/flip-resource-list-file-item.d.ts +11 -0
  149. package/dist/components/flip-resource-list-file-item.js +83 -0
  150. package/dist/components/flip-resource-list-item.d.ts +11 -0
  151. package/dist/components/flip-resource-list-item.js +113 -0
  152. package/dist/components/flip-resource-list.d.ts +11 -0
  153. package/dist/components/flip-resource-list.js +90 -0
  154. package/dist/components/flip-spinner.js +1 -41
  155. package/dist/{esm/flip-spinner.entry.js → components/flip-spinner2.js} +33 -8
  156. package/dist/components/flip-tab.d.ts +11 -0
  157. package/dist/components/flip-tab.js +40 -0
  158. package/dist/components/flip-tabs.d.ts +11 -0
  159. package/dist/components/flip-tabs.js +144 -0
  160. package/dist/components/flip-tooltip.js +21 -13
  161. package/dist/components/floating-ui.dom.esm.js +1222 -0
  162. package/dist/components/index.d.ts +7 -0
  163. package/dist/components/index.js +7 -0
  164. package/dist/esm/flip-action-list-item.entry.js +1 -1
  165. package/dist/esm/flip-action-list-section.entry.js +1 -1
  166. package/dist/esm/flip-action-list.entry.js +1 -1
  167. package/dist/esm/flip-avatar-group.entry.js +2 -2
  168. package/dist/esm/flip-avatar.entry.js +1 -1
  169. package/dist/esm/flip-badge.entry.js +2 -2
  170. package/dist/esm/flip-banner.entry.js +1 -1
  171. package/dist/esm/flip-button-group.entry.js +20 -0
  172. package/dist/{cjs/flip-button_2.cjs.entry.js → esm/flip-button.entry.js} +6 -28
  173. package/dist/esm/flip-checkbox.entry.js +3 -2
  174. package/dist/esm/flip-chip.entry.js +1 -1
  175. package/dist/esm/flip-description-list-item.entry.js +1 -1
  176. package/dist/esm/flip-description-list.entry.js +1 -1
  177. package/dist/esm/flip-dialog.entry.js +1 -1
  178. package/dist/esm/flip-file-uploader.entry.js +45 -0
  179. package/dist/esm/flip-icon-add-photo.entry.js +1 -1
  180. package/dist/esm/flip-icon-add.entry.js +1 -1
  181. package/dist/esm/flip-icon-admin-panel-settings.entry.js +1 -1
  182. package/dist/esm/flip-icon-arrow-back.entry.js +1 -1
  183. package/dist/esm/flip-icon-arrow-forward.entry.js +1 -1
  184. package/dist/esm/flip-icon-arrow-right-small.entry.js +1 -1
  185. package/dist/esm/flip-icon-attachment.entry.js +1 -1
  186. package/dist/esm/flip-icon-cancel_2.entry.js +1 -1
  187. package/dist/esm/flip-icon-chat-bubble.entry.js +1 -1
  188. package/dist/esm/flip-icon-check-circle.entry.js +1 -1
  189. package/dist/esm/flip-icon-check-small.entry.js +1 -1
  190. package/dist/esm/flip-icon-check-strong.entry.js +1 -1
  191. package/dist/esm/flip-icon-check.entry.js +1 -1
  192. package/dist/esm/flip-icon-chevron-left.entry.js +1 -1
  193. package/dist/esm/flip-icon-chevron-right.entry.js +1 -1
  194. package/dist/esm/flip-icon-close-small.entry.js +1 -1
  195. package/dist/esm/flip-icon-close.entry.js +1 -1
  196. package/dist/esm/flip-icon-cloud-upload.entry.js +16 -0
  197. package/dist/esm/flip-icon-comment.entry.js +1 -1
  198. package/dist/esm/flip-icon-copy.entry.js +1 -1
  199. package/dist/esm/flip-icon-date-range.entry.js +1 -1
  200. package/dist/esm/flip-icon-delete.entry.js +1 -1
  201. package/dist/esm/flip-icon-description.entry.js +1 -1
  202. package/dist/esm/flip-icon-download.entry.js +1 -1
  203. package/dist/esm/flip-icon-edit.entry.js +1 -1
  204. package/dist/esm/flip-icon-emoji-mood.entry.js +1 -1
  205. package/dist/esm/flip-icon-emoji-satisfied.entry.js +1 -1
  206. package/dist/esm/flip-icon-error.entry.js +1 -1
  207. package/dist/esm/flip-icon-expand-less.entry.js +1 -1
  208. package/dist/esm/flip-icon-expand-more.entry.js +1 -1
  209. package/dist/esm/flip-icon-file.entry.js +1 -1
  210. package/dist/esm/flip-icon-folder-shared.entry.js +1 -1
  211. package/dist/esm/flip-icon-group-assign.entry.js +1 -1
  212. package/dist/esm/flip-icon-groups-custom.entry.js +1 -1
  213. package/dist/esm/flip-icon-groups.entry.js +1 -1
  214. package/dist/esm/flip-icon-image.entry.js +1 -1
  215. package/dist/esm/flip-icon-info.entry.js +1 -1
  216. package/dist/esm/flip-icon-inventory.entry.js +1 -1
  217. package/dist/esm/flip-icon-like.entry.js +1 -1
  218. package/dist/esm/flip-icon-link.entry.js +1 -1
  219. package/dist/esm/flip-icon-lock.entry.js +1 -1
  220. package/dist/esm/flip-icon-logout.entry.js +1 -1
  221. package/dist/esm/flip-icon-mail.entry.js +1 -1
  222. package/dist/esm/flip-icon-manage-accounts.entry.js +1 -1
  223. package/dist/esm/flip-icon-mention.entry.js +1 -1
  224. package/dist/esm/flip-icon-message.entry.js +1 -1
  225. package/dist/esm/flip-icon-more-horizontal.entry.js +1 -1
  226. package/dist/esm/flip-icon-more-vertikal.entry.js +1 -1
  227. package/dist/esm/flip-icon-notifications-active.entry.js +1 -1
  228. package/dist/esm/flip-icon-notifications-off.entry.js +1 -1
  229. package/dist/esm/flip-icon-notifications.entry.js +1 -1
  230. package/dist/esm/flip-icon-people-alt.entry.js +1 -1
  231. package/dist/esm/flip-icon-person-off.entry.js +1 -1
  232. package/dist/esm/flip-icon-person.entry.js +1 -1
  233. package/dist/esm/flip-icon-phone.entry.js +1 -1
  234. package/dist/esm/flip-icon-poll.entry.js +1 -1
  235. package/dist/esm/flip-icon-recieved.entry.js +1 -1
  236. package/dist/esm/flip-icon-search-strong.entry.js +1 -1
  237. package/dist/esm/flip-icon-send.entry.js +1 -1
  238. package/dist/esm/flip-icon-settings.entry.js +1 -1
  239. package/dist/esm/flip-icon-time-filled.entry.js +1 -1
  240. package/dist/esm/flip-icon-time-outlined.entry.js +1 -1
  241. package/dist/esm/flip-icon-today.entry.js +1 -1
  242. package/dist/esm/flip-icon-user-assign.entry.js +1 -1
  243. package/dist/esm/flip-icon-video-camera.entry.js +1 -1
  244. package/dist/esm/flip-icon-visibility-off.entry.js +1 -1
  245. package/dist/esm/flip-icon-visibility.entry.js +1 -1
  246. package/dist/esm/flip-icon-warning.entry.js +1 -1
  247. package/dist/esm/flip-inline-error_2.entry.js +33 -0
  248. package/dist/esm/flip-link.entry.js +1 -1
  249. package/dist/esm/flip-popover.entry.js +3 -1152
  250. package/dist/esm/flip-radio-group.entry.js +1 -1
  251. package/dist/esm/flip-radio.entry.js +1 -1
  252. package/dist/esm/flip-resource-list-file-item.entry.js +26 -0
  253. package/dist/esm/flip-resource-list-item.entry.js +69 -0
  254. package/dist/esm/flip-resource-list.entry.js +63 -0
  255. package/dist/esm/flip-search.entry.js +1 -1
  256. package/dist/esm/flip-stack.entry.js +1 -1
  257. package/dist/esm/flip-switch.entry.js +1 -1
  258. package/dist/esm/flip-tab.entry.js +17 -0
  259. package/dist/esm/flip-tabs.entry.js +120 -0
  260. package/dist/esm/flip-tag.entry.js +1 -1
  261. package/dist/esm/flip-theme-provider.entry.js +1 -1
  262. package/dist/esm/flip-thumbnail.entry.js +1 -1
  263. package/dist/esm/flip-toast-provider.entry.js +1 -1
  264. package/dist/esm/flip-toast.entry.js +1 -1
  265. package/dist/esm/flip-tooltip.entry.js +22 -14
  266. package/dist/esm/flip-visually-hidden.entry.js +1 -1
  267. package/dist/esm/floating-ui.dom.esm-1a4e8b8a.js +1222 -0
  268. package/dist/esm/{index-36517fab.js → index-64709274.js} +3 -0
  269. package/dist/esm/loader.js +2 -2
  270. package/dist/esm/swirl-components.js +2 -2
  271. package/dist/swirl-components/{p-adbcf0ae.entry.js → p-0b197bc2.entry.js} +1 -1
  272. package/dist/swirl-components/{p-4f3d8490.entry.js → p-0bd72823.entry.js} +1 -1
  273. package/dist/swirl-components/{p-e1554c48.entry.js → p-0f72be83.entry.js} +1 -1
  274. package/dist/swirl-components/p-0fd19b1e.entry.js +1 -0
  275. package/dist/swirl-components/{p-432dd5f1.entry.js → p-118f9dbc.entry.js} +1 -1
  276. package/dist/swirl-components/p-14404622.entry.js +1 -0
  277. package/dist/swirl-components/p-14a71662.entry.js +1 -0
  278. package/dist/swirl-components/{p-5a13d6fe.entry.js → p-150885c6.entry.js} +1 -1
  279. package/dist/swirl-components/p-1b14d1f8.entry.js +1 -0
  280. package/dist/swirl-components/{p-b64b6dc5.entry.js → p-294bc0f5.entry.js} +1 -1
  281. package/dist/swirl-components/{p-b4540264.entry.js → p-29f4348a.entry.js} +1 -1
  282. package/dist/swirl-components/{p-7a6b480c.entry.js → p-2b183dbd.entry.js} +1 -1
  283. package/dist/swirl-components/p-2e39e57a.entry.js +1 -0
  284. package/dist/swirl-components/{p-63e5b5d9.entry.js → p-2fada438.entry.js} +1 -1
  285. package/dist/swirl-components/{p-ff0868ae.entry.js → p-2fc324d2.entry.js} +1 -1
  286. package/dist/swirl-components/{p-f6e77552.entry.js → p-3115dcce.entry.js} +1 -1
  287. package/dist/swirl-components/{p-a1946e3b.entry.js → p-314da0b6.entry.js} +1 -1
  288. package/dist/swirl-components/p-3203d26c.entry.js +1 -0
  289. package/dist/swirl-components/{p-ad434623.entry.js → p-33eeffa4.entry.js} +1 -1
  290. package/dist/swirl-components/{p-1419666f.entry.js → p-340a8594.entry.js} +1 -1
  291. package/dist/swirl-components/p-3a78c66a.entry.js +1 -0
  292. package/dist/swirl-components/{p-6b840e3d.entry.js → p-3fd6dfcc.entry.js} +1 -1
  293. package/dist/swirl-components/{p-e384bd2c.entry.js → p-41b352e3.entry.js} +1 -1
  294. package/dist/swirl-components/{p-3234f836.entry.js → p-428b8a65.entry.js} +1 -1
  295. package/dist/swirl-components/{p-cfef8bdb.entry.js → p-45a0619d.entry.js} +1 -1
  296. package/dist/swirl-components/{p-d1c899ad.entry.js → p-46db6bb6.entry.js} +1 -1
  297. package/dist/swirl-components/{p-1429e47a.entry.js → p-482528d9.entry.js} +1 -1
  298. package/dist/swirl-components/{p-213191cb.entry.js → p-4c846d53.entry.js} +1 -1
  299. package/dist/swirl-components/{p-1a9f0bc1.entry.js → p-4cd180da.entry.js} +1 -1
  300. package/dist/swirl-components/{p-17073db0.entry.js → p-4d5bc933.entry.js} +1 -1
  301. package/dist/swirl-components/{p-e0513b73.entry.js → p-4eda9d6d.entry.js} +1 -1
  302. package/dist/swirl-components/{p-102db76d.entry.js → p-4f209111.entry.js} +1 -1
  303. package/dist/swirl-components/{p-e65d2d81.entry.js → p-562db126.entry.js} +1 -1
  304. package/dist/swirl-components/p-5757b517.entry.js +1 -0
  305. package/dist/swirl-components/{p-94d933b3.entry.js → p-589d6d22.entry.js} +1 -1
  306. package/dist/swirl-components/{p-c5200740.entry.js → p-5cc28450.entry.js} +1 -1
  307. package/dist/swirl-components/{p-b16d4978.entry.js → p-6384f8ba.entry.js} +1 -1
  308. package/dist/swirl-components/{p-545caf4a.entry.js → p-638b96a3.entry.js} +1 -1
  309. package/dist/swirl-components/{p-468d0e9b.entry.js → p-639fe827.entry.js} +1 -1
  310. package/dist/swirl-components/{p-0d619d62.entry.js → p-65231ba1.entry.js} +1 -1
  311. package/dist/swirl-components/{p-5d27a69e.entry.js → p-6966c97a.entry.js} +1 -1
  312. package/dist/swirl-components/{p-1609dbf3.entry.js → p-69b15b39.entry.js} +1 -1
  313. package/dist/swirl-components/p-6ab4b7cf.entry.js +1 -0
  314. package/dist/swirl-components/{p-56bdede5.entry.js → p-6c2b7a96.entry.js} +1 -1
  315. package/dist/swirl-components/{p-cc50d7a7.entry.js → p-70c5764b.entry.js} +1 -1
  316. package/dist/swirl-components/{p-70b255b3.entry.js → p-7272b763.entry.js} +1 -1
  317. package/dist/swirl-components/{p-f45709c0.entry.js → p-73ee554b.entry.js} +1 -1
  318. package/dist/swirl-components/p-7548473c.js +2 -0
  319. package/dist/swirl-components/{p-a71261bc.entry.js → p-75cf42d4.entry.js} +1 -1
  320. package/dist/swirl-components/{p-9c12d1eb.entry.js → p-7740f11b.entry.js} +1 -1
  321. package/dist/swirl-components/{p-fb19d8b9.entry.js → p-77cf9f30.entry.js} +1 -1
  322. package/dist/swirl-components/{p-0fa4c4cf.entry.js → p-84197db5.entry.js} +1 -1
  323. package/dist/swirl-components/p-88d8a3a9.entry.js +1 -0
  324. package/dist/swirl-components/{p-54b9e1b5.entry.js → p-8949fe7a.entry.js} +1 -1
  325. package/dist/swirl-components/{p-47a9a9cb.entry.js → p-8f1f9e78.entry.js} +1 -1
  326. package/dist/swirl-components/p-8fa700a5.entry.js +1 -0
  327. package/dist/swirl-components/{p-db229451.entry.js → p-926857f1.entry.js} +1 -1
  328. package/dist/swirl-components/{p-b624ff23.entry.js → p-97257780.entry.js} +1 -1
  329. package/dist/swirl-components/{p-0fa6b98f.entry.js → p-9b154fa3.entry.js} +1 -1
  330. package/dist/swirl-components/{p-453db2cf.entry.js → p-9c9da0a4.entry.js} +1 -1
  331. package/dist/swirl-components/{p-f8273972.entry.js → p-a133fb9d.entry.js} +1 -1
  332. package/dist/swirl-components/{p-9d07fb5a.entry.js → p-a362f0f9.entry.js} +1 -1
  333. package/dist/swirl-components/p-a6054ed9.entry.js +1 -0
  334. package/dist/swirl-components/p-a81417d9.entry.js +1 -0
  335. package/dist/swirl-components/{p-a6fb93df.entry.js → p-a8f3668a.entry.js} +1 -1
  336. package/dist/swirl-components/{p-1c8b77fe.entry.js → p-a94f114d.entry.js} +1 -1
  337. package/dist/swirl-components/{p-6a6de48d.entry.js → p-a98d70ca.entry.js} +1 -1
  338. package/dist/swirl-components/{p-126ead5f.entry.js → p-aaad68e8.entry.js} +1 -1
  339. package/dist/swirl-components/{p-a605b3d1.entry.js → p-b117edfa.entry.js} +1 -1
  340. package/dist/swirl-components/{p-01857435.entry.js → p-b3a71d9f.entry.js} +1 -1
  341. package/dist/swirl-components/{p-ae504b3e.entry.js → p-b6790219.entry.js} +1 -1
  342. package/dist/swirl-components/{p-24d112d7.entry.js → p-bb2d617e.entry.js} +1 -1
  343. package/dist/swirl-components/{p-0a9f3ada.entry.js → p-be40f14f.entry.js} +1 -1
  344. package/dist/swirl-components/{p-1bd3e7c0.entry.js → p-c3b49fae.entry.js} +1 -1
  345. package/dist/swirl-components/{p-f1774da0.entry.js → p-c69ba478.entry.js} +1 -1
  346. package/dist/swirl-components/{p-1c2e8e09.entry.js → p-c6d26cc3.entry.js} +1 -1
  347. package/dist/swirl-components/{p-fa7cc450.entry.js → p-c7427e54.entry.js} +1 -1
  348. package/dist/swirl-components/{p-cf8be27a.entry.js → p-c76f568b.entry.js} +1 -1
  349. package/dist/swirl-components/{p-a203be4a.entry.js → p-c8ef7c7b.entry.js} +1 -1
  350. package/dist/swirl-components/{p-6b957569.entry.js → p-c9281fc5.entry.js} +1 -1
  351. package/dist/swirl-components/p-cb622b3f.entry.js +1 -0
  352. package/dist/swirl-components/{p-0de885c6.entry.js → p-d34657bb.entry.js} +1 -1
  353. package/dist/swirl-components/{p-db902aec.entry.js → p-d353d8a6.entry.js} +1 -1
  354. package/dist/swirl-components/{p-55aaf1d3.entry.js → p-d437a017.entry.js} +1 -1
  355. package/dist/swirl-components/{p-67deba9e.entry.js → p-daf021ff.entry.js} +1 -1
  356. package/dist/swirl-components/p-db407fe2.entry.js +1 -0
  357. package/dist/swirl-components/{p-30011711.entry.js → p-df779bfc.entry.js} +1 -1
  358. package/dist/swirl-components/{p-95bd2274.entry.js → p-e04eac13.entry.js} +1 -1
  359. package/dist/swirl-components/{p-e89c7891.entry.js → p-e3c228f6.entry.js} +1 -1
  360. package/dist/swirl-components/{p-32a5e2a7.entry.js → p-e4a8a549.entry.js} +1 -1
  361. package/dist/swirl-components/p-e8bb09e8.js +1 -0
  362. package/dist/swirl-components/{p-e4df2658.entry.js → p-e8f32c6d.entry.js} +1 -1
  363. package/dist/swirl-components/{p-37d96123.entry.js → p-ec59a844.entry.js} +1 -1
  364. package/dist/swirl-components/{p-1126e372.entry.js → p-ece8d0a9.entry.js} +1 -1
  365. package/dist/swirl-components/{p-6a9a0e08.entry.js → p-f2bd932c.entry.js} +1 -1
  366. package/dist/swirl-components/{p-46f638cf.entry.js → p-f5bd49b1.entry.js} +1 -1
  367. package/dist/swirl-components/{p-b5cd4041.entry.js → p-f6a1e319.entry.js} +1 -1
  368. package/dist/swirl-components/{p-d41e3a37.entry.js → p-f8eaba53.entry.js} +1 -1
  369. package/dist/swirl-components/{p-437842a2.entry.js → p-f9719283.entry.js} +1 -1
  370. package/dist/swirl-components/{p-f59098f7.entry.js → p-f9a4a60c.entry.js} +1 -1
  371. package/dist/swirl-components/{p-8bf1ad8a.entry.js → p-f9e967e7.entry.js} +1 -1
  372. package/dist/swirl-components/{p-828cc4a3.entry.js → p-fa626f0f.entry.js} +1 -1
  373. package/dist/swirl-components/{p-8423a1b5.entry.js → p-fca2a909.entry.js} +1 -1
  374. package/dist/swirl-components/{p-c35a6610.entry.js → p-fcd09fdc.entry.js} +1 -1
  375. package/dist/swirl-components/{p-67aaf094.entry.js → p-ff23c876.entry.js} +1 -1
  376. package/dist/swirl-components/swirl-components.css +2 -2
  377. package/dist/swirl-components/swirl-components.esm.js +1 -1
  378. package/dist/types/components/flip-button/flip-button.d.ts +1 -0
  379. package/dist/types/components/flip-file-uploader/flip-file-uploader.d.ts +24 -0
  380. package/dist/types/components/flip-file-uploader/flip-file-uploader.stories.d.ts +13 -0
  381. package/dist/types/components/flip-icon/icons/flip-icon-cloud-upload.d.ts +5 -0
  382. package/dist/types/components/flip-resource-list/flip-resource-list.d.ts +13 -0
  383. package/dist/types/components/flip-resource-list/flip-resource-list.stories.d.ts +13 -0
  384. package/dist/types/components/flip-resource-list-file-item/flip-resource-list-file-item.d.ts +12 -0
  385. package/dist/types/components/flip-resource-list-file-item/flip-resource-list-file-item.stories.d.ts +23 -0
  386. package/dist/types/components/flip-resource-list-item/flip-resource-list-item.d.ts +23 -0
  387. package/dist/types/components/flip-resource-list-item/flip-resource-list-item.stories.d.ts +16 -0
  388. package/dist/types/components/flip-tab/flip-tab.d.ts +6 -0
  389. package/dist/types/components/flip-tab/flip-tab.stories.d.ts +13 -0
  390. package/dist/types/components/flip-tabs/flip-tabs.d.ts +27 -0
  391. package/dist/types/components/flip-tabs/flip-tabs.stories.d.ts +13 -0
  392. package/dist/types/components/flip-tooltip/flip-tooltip.d.ts +2 -2
  393. package/dist/types/components.d.ts +196 -0
  394. package/dist/types/utils.d.ts +9 -0
  395. package/package.json +3 -4
  396. package/vscode-data.json +215 -0
  397. package/dist/cjs/flip-inline-error.cjs.entry.js +0 -23
  398. package/dist/esm/flip-inline-error.entry.js +0 -19
  399. package/dist/swirl-components/p-1853aaf0.entry.js +0 -1
  400. package/dist/swirl-components/p-18965b40.entry.js +0 -1
  401. package/dist/swirl-components/p-18a51976.entry.js +0 -1
  402. package/dist/swirl-components/p-3d59d365.entry.js +0 -1
  403. package/dist/swirl-components/p-9b4a9856.entry.js +0 -1
  404. package/dist/swirl-components/p-aada2b77.entry.js +0 -1
  405. package/dist/swirl-components/p-cac72e30.entry.js +0 -1
  406. package/dist/swirl-components/p-d3999b94.entry.js +0 -2
  407. package/dist/swirl-components/p-e12fbb2d.js +0 -2
@@ -0,0 +1,94 @@
1
+ :host {
2
+ display: block;
3
+ width: 100%;
4
+ }
5
+
6
+ :host * {
7
+ box-sizing: border-box;
8
+ }
9
+
10
+ .tabs {
11
+ width: 100%;
12
+ }
13
+
14
+ .tabs__tab-bar {
15
+ position: relative;
16
+ display: flex;
17
+ width: 100%;
18
+ padding-right: var(--s-space-16);
19
+ padding-left: var(--s-space-16);
20
+ justify-content: flex-start;
21
+ border-bottom: var(--s-border-width-default) solid var(--s-border-default);
22
+ }
23
+
24
+ @media (--from-tablet) {
25
+
26
+ .tabs__tab-bar {
27
+ padding-right: 0;
28
+ padding-left: 0
29
+ }
30
+ }
31
+
32
+ .tabs__tab {
33
+ display: block;
34
+ min-width: 0;
35
+ margin: 0;
36
+ padding: var(--s-space-4) 0;
37
+ border: none;
38
+ background-color: transparent;
39
+ font: inherit;
40
+ font-weight: var(--s-font-weight-medium);
41
+ line-height: var(--s-line-height-base);
42
+ cursor: pointer;
43
+ }
44
+
45
+ .tabs__tab:focus-visible {
46
+ outline: none;
47
+ }
48
+
49
+ .tabs__tab:focus-visible .tabs__tab-label {
50
+ border-radius: var(--s-border-radius-s);
51
+ box-shadow: inset 0 0 0 0.125rem var(--s-focus-default);
52
+ }
53
+
54
+ .tabs__tab:not(:first-of-type) {
55
+ padding-left: var(--s-space-8);
56
+ }
57
+
58
+ .tabs__tab:not(:last-of-type) {
59
+ padding-right: var(--s-space-8);
60
+ }
61
+
62
+ .tabs__tab-label {
63
+ display: block;
64
+ overflow: hidden;
65
+ width: 100%;
66
+ padding: var(--s-space-8) var(--s-space-8);
67
+ text-align: center;
68
+ white-space: nowrap;
69
+ text-overflow: ellipsis;
70
+ }
71
+
72
+ .tabs__tab--active {
73
+ color: var(--s-text-highlight);
74
+ }
75
+
76
+ .tabs__indicator {
77
+ position: absolute;
78
+ bottom: 0;
79
+ left: 0;
80
+ width: 0;
81
+ height: 0.125rem;
82
+ border-radius: 0.0625rem;
83
+ background-color: var(--s-border-highlight);
84
+ transition: background-color 0.15s, transform 0.15s, width 0.15s;
85
+ transform: translate3d(0, 0, 0);
86
+ pointer-events: none;
87
+ }
88
+
89
+ @media (prefers-reduced-motion) {
90
+
91
+ .tabs__indicator {
92
+ transition: none
93
+ }
94
+ }
@@ -0,0 +1,220 @@
1
+ import { Component, Element, Event, h, Host, Listen, Method, Prop, State, } from "@stencil/core";
2
+ import classnames from "classnames";
3
+ export class FlipTabs {
4
+ constructor() {
5
+ this.tabs = [];
6
+ this.onKeyDown = (event) => {
7
+ if (event.code === "ArrowLeft") {
8
+ event.preventDefault();
9
+ this.activatePreviousTab();
10
+ }
11
+ else if (event.code === "ArrowRight") {
12
+ event.preventDefault();
13
+ this.activateNextTab();
14
+ }
15
+ };
16
+ this.onMouseEnter = (event, tab) => {
17
+ if (tab.tabId === this.activeTab) {
18
+ this.highlightedTab = undefined;
19
+ return;
20
+ }
21
+ this.highlightedTab =
22
+ event.target.closest(".tabs__tab") || undefined;
23
+ };
24
+ this.onMouseLeave = () => {
25
+ this.highlightedTab = undefined;
26
+ };
27
+ }
28
+ componentWillLoad() {
29
+ this.collectTabs();
30
+ }
31
+ componentDidRender() {
32
+ this.updateIndicatorPosition();
33
+ }
34
+ onWindowResize() {
35
+ this.updateIndicatorPosition();
36
+ }
37
+ /**
38
+ * Activate a tab.
39
+ * @param tabId
40
+ */
41
+ async activateTab(tabId) {
42
+ if (this.activeTab === tabId) {
43
+ return;
44
+ }
45
+ this.activeTab = tabId;
46
+ this.tabs.forEach((tab) => (tab.active = false));
47
+ const tab = this.tabs.find((tab) => tab.tabId === tabId);
48
+ if (!Boolean(tab)) {
49
+ return;
50
+ }
51
+ this.highlightedTab = undefined;
52
+ tab.active = true;
53
+ this.tabActivated.emit(tab);
54
+ }
55
+ activateNextTab() {
56
+ const currentIndex = this.tabs.findIndex((tab) => tab.tabId === this.activeTab);
57
+ const nextIndex = Math.min(this.tabs.length - 1, currentIndex + 1);
58
+ this.activateTab(this.tabs[nextIndex].tabId);
59
+ requestAnimationFrame(() => {
60
+ var _a;
61
+ (_a = this.el.querySelector(".tabs__tab--active")) === null || _a === void 0 ? void 0 : _a.focus();
62
+ });
63
+ }
64
+ activatePreviousTab() {
65
+ const currentIndex = this.tabs.findIndex((tab) => tab.tabId === this.activeTab);
66
+ const previousIndex = Math.max(0, currentIndex - 1);
67
+ this.activateTab(this.tabs[previousIndex].tabId);
68
+ requestAnimationFrame(() => {
69
+ var _a;
70
+ (_a = this.el.querySelector(".tabs__tab--active")) === null || _a === void 0 ? void 0 : _a.focus();
71
+ });
72
+ }
73
+ collectTabs() {
74
+ this.tabs = Array.from(this.el.querySelectorAll("flip-tab"));
75
+ if (this.tabs.length === 0) {
76
+ return;
77
+ }
78
+ const initialTab = this.tabs.find((tab) => tab.tabId === this.initialTab);
79
+ this.activateTab(Boolean(initialTab) ? initialTab.tabId : this.tabs[0].tabId);
80
+ }
81
+ updateIndicatorPosition() {
82
+ const activeTab = this.tabs.find((tab) => tab.tabId === this.activeTab);
83
+ if (!Boolean(activeTab) && !Boolean(this.highlightedTab)) {
84
+ this.indicatorEl.style.width = "";
85
+ this.indicatorEl.style.transform = "";
86
+ this.indicatorEl.style.backgroundColor = "";
87
+ return;
88
+ }
89
+ const activeTabEl = this.highlightedTab ||
90
+ this.el.querySelector(`#tab-${activeTab.tabId}`);
91
+ const activeTabLabelEl = activeTabEl.querySelector(".tabs__tab-label");
92
+ this.indicatorEl.style.width = `${activeTabLabelEl.getBoundingClientRect().width / 16}rem`;
93
+ this.indicatorEl.style.transform = `translate3d(${activeTabLabelEl.offsetLeft / 16}rem, 0, 0)`;
94
+ this.indicatorEl.style.backgroundColor = Boolean(this.highlightedTab)
95
+ ? "var(--s-border-default)"
96
+ : "";
97
+ }
98
+ render() {
99
+ return (h(Host, null,
100
+ h("div", { class: "tabs" },
101
+ h("div", { "aria-label": this.label, class: "tabs__tab-bar", onKeyDown: this.onKeyDown, role: "tablist" },
102
+ this.tabs.map((tab) => {
103
+ const isActive = tab.tabId === this.activeTab;
104
+ const className = classnames("tabs__tab", {
105
+ "tabs__tab--active": isActive,
106
+ });
107
+ return (h("button", { "aria-controls": tab.tabId, "aria-selected": isActive ? "true" : "false", class: className, id: `tab-${tab.tabId}`, key: tab.tabId,
108
+ // eslint-disable-next-line react/jsx-no-bind
109
+ onClick: () => this.activateTab(tab.tabId),
110
+ // eslint-disable-next-line react/jsx-no-bind
111
+ onMouseEnter: (event) => this.onMouseEnter(event, tab), onMouseLeave: this.onMouseLeave, role: "tab", tabIndex: isActive ? 0 : -1, type: "button" },
112
+ h("span", { class: "tabs__tab-label" }, tab.label)));
113
+ }),
114
+ h("span", { class: "tabs__indicator", ref: (el) => (this.indicatorEl = el) })),
115
+ h("slot", null))));
116
+ }
117
+ static get is() { return "flip-tabs"; }
118
+ static get encapsulation() { return "scoped"; }
119
+ static get originalStyleUrls() { return {
120
+ "$": ["flip-tabs.css"]
121
+ }; }
122
+ static get styleUrls() { return {
123
+ "$": ["flip-tabs.css"]
124
+ }; }
125
+ static get properties() { return {
126
+ "initialTab": {
127
+ "type": "string",
128
+ "mutable": false,
129
+ "complexType": {
130
+ "original": "string",
131
+ "resolved": "string",
132
+ "references": {}
133
+ },
134
+ "required": false,
135
+ "optional": true,
136
+ "docs": {
137
+ "tags": [],
138
+ "text": ""
139
+ },
140
+ "attribute": "initial-tab",
141
+ "reflect": false
142
+ },
143
+ "label": {
144
+ "type": "string",
145
+ "mutable": false,
146
+ "complexType": {
147
+ "original": "string",
148
+ "resolved": "string",
149
+ "references": {}
150
+ },
151
+ "required": true,
152
+ "optional": false,
153
+ "docs": {
154
+ "tags": [],
155
+ "text": ""
156
+ },
157
+ "attribute": "label",
158
+ "reflect": false
159
+ }
160
+ }; }
161
+ static get states() { return {
162
+ "activeTab": {},
163
+ "highlightedTab": {}
164
+ }; }
165
+ static get events() { return [{
166
+ "method": "tabActivated",
167
+ "name": "tabActivated",
168
+ "bubbles": true,
169
+ "cancelable": true,
170
+ "composed": true,
171
+ "docs": {
172
+ "tags": [],
173
+ "text": ""
174
+ },
175
+ "complexType": {
176
+ "original": "HTMLFlipTabElement",
177
+ "resolved": "HTMLFlipTabElement",
178
+ "references": {
179
+ "HTMLFlipTabElement": {
180
+ "location": "global"
181
+ }
182
+ }
183
+ }
184
+ }]; }
185
+ static get methods() { return {
186
+ "activateTab": {
187
+ "complexType": {
188
+ "signature": "(tabId: string) => Promise<void>",
189
+ "parameters": [{
190
+ "tags": [{
191
+ "name": "param",
192
+ "text": "tabId"
193
+ }],
194
+ "text": ""
195
+ }],
196
+ "references": {
197
+ "Promise": {
198
+ "location": "global"
199
+ }
200
+ },
201
+ "return": "Promise<void>"
202
+ },
203
+ "docs": {
204
+ "text": "Activate a tab.",
205
+ "tags": [{
206
+ "name": "param",
207
+ "text": "tabId"
208
+ }]
209
+ }
210
+ }
211
+ }; }
212
+ static get elementRef() { return "el"; }
213
+ static get listeners() { return [{
214
+ "name": "resize",
215
+ "method": "onWindowResize",
216
+ "target": "window",
217
+ "capture": false,
218
+ "passive": true
219
+ }]; }
220
+ }
@@ -0,0 +1,25 @@
1
+ import { generateStoryElement } from "../../utils";
2
+ import Docs from "./flip-tabs.mdx";
3
+ export default {
4
+ component: "flip-tabs",
5
+ parameters: {
6
+ docs: {
7
+ page: Docs,
8
+ },
9
+ },
10
+ title: "Components/FlipTabs",
11
+ };
12
+ const Template = (args) => {
13
+ const element = generateStoryElement("flip-tabs", args);
14
+ element.innerHTML = `
15
+ <flip-tab label="Tab #1" tab-id="tab-1">Tab 1</flip-tab>
16
+ <flip-tab label="Tab #2" tab-id="tab-2">Tab 2</flip-tab>
17
+ <flip-tab label="Tab Number 3" tab-id="tab-3">Tab 3</flip-tab>
18
+ `;
19
+ return element;
20
+ };
21
+ export const FlipTabs = Template.bind({});
22
+ FlipTabs.args = {
23
+ initialTab: "tab-2",
24
+ label: "Tabs",
25
+ };
@@ -31,6 +31,8 @@
31
31
  color: var(--s-text-on-status);
32
32
  background-color: var(--s-surface-neutral-default);
33
33
  line-height: var(--s-line-height-base);
34
+ -webkit-animation: tooltip-fade-in 0.1s;
35
+ animation: tooltip-fade-in 0.1s;
34
36
  backgrund-color: red;
35
37
  }
36
38
 
@@ -40,3 +42,21 @@
40
42
  height: 0.5rem;
41
43
  background-color: var(--s-surface-neutral-default);
42
44
  }
45
+
46
+ @-webkit-keyframes tooltip-fade-in {
47
+ from {
48
+ opacity: 0;
49
+ }
50
+ to {
51
+ opacity: 1;
52
+ }
53
+ }
54
+
55
+ @keyframes tooltip-fade-in {
56
+ from {
57
+ opacity: 0;
58
+ }
59
+ to {
60
+ opacity: 1;
61
+ }
62
+ }
@@ -1,5 +1,5 @@
1
+ import { computePosition, flip, offset, shift, } from "@floating-ui/dom";
1
2
  import { Component, h, Host, Listen, Prop, State, Watch } from "@stencil/core";
2
- import { reposition } from "nanopop";
3
3
  export class FlipTooltip {
4
4
  constructor() {
5
5
  this.delay = 300;
@@ -10,11 +10,11 @@ export class FlipTooltip {
10
10
  this.hide();
11
11
  }
12
12
  };
13
- this.reposition = () => {
13
+ this.reposition = async () => {
14
14
  if (!Boolean(this.referenceEl) || !Boolean(this.popperEl)) {
15
15
  return;
16
16
  }
17
- this.actualPosition = reposition(this.referenceEl, this.popperEl, this.options);
17
+ this.actualPosition = await computePosition(this.referenceEl, this.popperEl, this.options);
18
18
  };
19
19
  this.show = () => {
20
20
  this.visible = true;
@@ -43,33 +43,35 @@ export class FlipTooltip {
43
43
  .getPropertyValue("--s-space-12")
44
44
  .replace("rem", "") * 16;
45
45
  this.options = {
46
- margin,
47
- position: this.position,
46
+ middleware: [offset(margin), shift(), flip()],
47
+ placement: this.position,
48
+ strategy: "fixed",
48
49
  };
49
50
  };
50
51
  this.getArrowStyles = () => {
51
- if (this.actualPosition === "tm") {
52
+ var _a, _b, _c, _d;
53
+ if (((_a = this.actualPosition) === null || _a === void 0 ? void 0 : _a.placement) === "top") {
52
54
  return {
53
55
  top: "100%",
54
56
  left: "50%",
55
57
  transform: "translate3d(-50%, -50%, 0) rotate(45deg)",
56
58
  };
57
59
  }
58
- if (this.actualPosition === "bm") {
60
+ if (((_b = this.actualPosition) === null || _b === void 0 ? void 0 : _b.placement) === "bottom") {
59
61
  return {
60
62
  bottom: "100%",
61
63
  left: "50%",
62
64
  transform: "translate3d(-50%, 50%, 0) rotate(45deg)",
63
65
  };
64
66
  }
65
- if (this.actualPosition === "rm") {
67
+ if (((_c = this.actualPosition) === null || _c === void 0 ? void 0 : _c.placement) === "right") {
66
68
  return {
67
69
  top: "50%",
68
70
  right: "100%",
69
71
  transform: "translate3d(50%, -50%, 0) rotate(45deg)",
70
72
  };
71
73
  }
72
- if (this.actualPosition === "lm") {
74
+ if (((_d = this.actualPosition) === null || _d === void 0 ? void 0 : _d.placement) === "left") {
73
75
  return {
74
76
  top: "50%",
75
77
  left: "100%",
@@ -100,12 +102,20 @@ export class FlipTooltip {
100
102
  this.updateOptions();
101
103
  }
102
104
  render() {
105
+ var _a, _b;
103
106
  const arrowStyles = this.getArrowStyles();
104
107
  return (h(Host, { onKeydown: this.onKeydown },
105
108
  h("span", { class: "tooltip" },
106
109
  h("span", { class: "tooltip__reference", "aria-describedby": "tooltip", onBlur: this.hide, onClick: this.hide, onFocus: this.show, ref: (el) => (this.referenceEl = el), tabIndex: 0 },
107
110
  h("slot", null)),
108
- h("span", { class: "tooltip__popper", ref: (el) => (this.popperEl = el) }, this.visible && (h("span", { class: "tooltip__bubble", id: "tooltip", role: "tooltip" },
111
+ h("span", { class: "tooltip__popper", ref: (el) => (this.popperEl = el), style: {
112
+ top: Boolean(this.actualPosition)
113
+ ? `${(_a = this.actualPosition) === null || _a === void 0 ? void 0 : _a.y}px`
114
+ : "",
115
+ left: Boolean(this.actualPosition)
116
+ ? `${(_b = this.actualPosition) === null || _b === void 0 ? void 0 : _b.x}px`
117
+ : "",
118
+ } }, this.visible && (h("span", { class: "tooltip__bubble", id: "tooltip", role: "tooltip" },
109
119
  h("span", { class: "tooltip__content", innerHTML: this.content }),
110
120
  h("span", { class: "tooltip__arrow", style: arrowStyles })))))));
111
121
  }
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as classnames } from './index2.js';
3
3
 
4
- const flipAvatarGroupCss = ":host{display:inline-flex}:host *{box-sizing:border-box}.avatar-group{position:relative;display:inline-grid;grid-template-rows:repeat(8, 1fr);grid-template-columns:repeat(8, 1fr)}.avatar-group ::slotted(*:first-of-type){z-index:1;display:inline-flex;border:0.25rem solid var(--s-background-default);border-radius:50%;grid-column-start:1;grid-column-end:7;grid-row-start:3;grid-row-end:9}.avatar-group ::slotted(*:nth-of-type(2)){z-index:0;display:inline-flex;border:0.25rem solid var(--s-background-default);border-radius:50%;grid-column-start:3;grid-column-end:9;grid-row-start:1;grid-row-end:7}.avatar-group__badge{position:absolute;z-index:2;right:0;bottom:0;display:inline-flex;width:1.5rem;height:1.5rem}";
4
+ const flipAvatarGroupCss = ":host{display:inline-flex}:host *{box-sizing:border-box}.avatar-group{position:relative;display:inline-grid;grid-template-rows:repeat(8, 1fr);grid-template-columns:repeat(8, 1fr)}.avatar-group ::slotted(*:first-of-type){z-index:1;display:inline-flex;border:0.25rem solid var(--flip-avatar-group-border-color);border-radius:50%;grid-column-start:1;grid-column-end:7;grid-row-start:3;grid-row-end:9}.avatar-group ::slotted(*:nth-of-type(2)){z-index:0;display:inline-flex;border:0.25rem solid var(--flip-avatar-group-border-color);border-radius:50%;grid-column-start:3;grid-column-end:9;grid-row-start:1;grid-row-end:7}.avatar-group__badge{position:absolute;z-index:2;right:0;bottom:0;display:inline-flex;width:1.5rem;height:1.5rem}";
5
5
 
6
6
  const FlipAvatarGroup$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -1,7 +1,7 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
2
  import { c as classnames } from './index2.js';
3
3
 
4
- const flipBadgeCss = ":host{display:inline-flex;min-width:0;max-width:100%;justify-content:center;align-items:center}:host *{box-sizing:border-box}.badge{display:inline-flex;max-width:100%;justify-content:center;align-items:center;border:0.25rem solid var(--s-background-default);border-radius:2rem;color:var(--s-text-on-status);font-size:var(--s-font-size-sm);font-weight:var(--s-font-weight-medium)}.badge--size-s{min-width:1.5rem;height:1.5rem;font-size:0.75rem}.badge--size-s .badge__label{padding-right:0.1875rem;padding-left:0.1875rem}.badge--size-s .badge__icon>*::part(icon){width:0.75rem;height:0.75rem}.badge--size-m{min-width:2rem;height:2rem}.badge--size-m .badge__label{padding-right:0.375rem;padding-left:0.375rem}.badge--has-icon{padding-right:0;padding-left:0}.badge--intent-critical{background-color:var(--s-surface-critical-default)}.badge--intent-decorative-1{background-color:var(--s-decorative-1-default)}.badge--intent-decorative-2{background-color:var(--s-decorative-2-default)}.badge--intent-decorative-3{color:var(--s-text-default);background-color:var(--s-decorative-3-default)}.badge--intent-decorative-4{color:var(--s-text-default);background-color:var(--s-decorative-4-default)}.badge--intent-decorative-5{background-color:var(--s-decorative-5-default)}.badge--intent-decorative-6{background-color:var(--s-decorative-6-default)}.badge--intent-decorative-7{background-color:var(--s-decorative-7-default)}.badge--variant-dot{width:1.25rem;min-width:0;height:1.25rem}.badge--variant-dot .badge__label{padding-right:0;padding-left:0}.badge--variant-dot .badge__label,.badge--variant-dot .badge__icon{display:none}.badge__icon{display:inline-flex}.badge__icon>*::part(icon){width:1rem;height:1rem}.badge__label{display:inline-flex;overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}";
4
+ const flipBadgeCss = ":host{display:inline-flex;min-width:0;max-width:100%;justify-content:center;align-items:center}:host *{box-sizing:border-box}.badge{display:inline-flex;max-width:100%;justify-content:center;align-items:center;border:0.25rem solid var(--flip-badge-border-color);border-radius:2rem;color:var(--s-text-on-status);font-size:var(--s-font-size-sm);font-weight:var(--s-font-weight-medium)}.badge--size-s{min-width:1.5rem;height:1.5rem;font-size:0.75rem}.badge--size-s .badge__label{padding-right:0.1875rem;padding-left:0.1875rem}.badge--size-s .badge__icon>*::part(icon){width:0.75rem;height:0.75rem}.badge--size-m{min-width:2rem;height:2rem}.badge--size-m .badge__label{padding-right:0.375rem;padding-left:0.375rem}.badge--has-icon{padding-right:0;padding-left:0}.badge--intent-critical{background-color:var(--s-surface-critical-default)}.badge--intent-decorative-1{background-color:var(--s-decorative-1-default)}.badge--intent-decorative-2{background-color:var(--s-decorative-2-default)}.badge--intent-decorative-3{color:var(--s-text-default);background-color:var(--s-decorative-3-default)}.badge--intent-decorative-4{color:var(--s-text-default);background-color:var(--s-decorative-4-default)}.badge--intent-decorative-5{background-color:var(--s-decorative-5-default)}.badge--intent-decorative-6{background-color:var(--s-decorative-6-default)}.badge--intent-decorative-7{background-color:var(--s-decorative-7-default)}.badge--variant-dot{width:1.25rem;min-width:0;height:1.25rem}.badge--variant-dot .badge__label{padding-right:0;padding-left:0}.badge--variant-dot .badge__label,.badge--variant-dot .badge__icon{display:none}.badge__icon{display:inline-flex}.badge__icon>*::part(icon){width:1rem;height:1rem}.badge__label{display:inline-flex;overflow:hidden;max-width:100%;white-space:nowrap;text-overflow:ellipsis}";
5
5
 
6
6
  const FlipBadge$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
7
7
  constructor() {
@@ -30,12 +30,13 @@ const FlipButton = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
30
30
  "button--icon-only": hideLabel,
31
31
  });
32
32
  const Tag = isLink ? "a" : "button";
33
- return (h(Host, null, h(Tag, { "aria-disabled": this.disabled && !isLink ? "true" : undefined, "aria-label": hideLabel ? this.label : undefined, class: className, disabled: isLink ? undefined : this.disabled, download: isLink ? undefined : this.download, form: isLink ? undefined : this.form, href: this.href, name: isLink ? undefined : this.name, target: isLink ? this.target : undefined, type: isLink ? undefined : this.type, value: isLink ? undefined : this.value }, this.icon && (h("span", { class: "button__left-icon", innerHTML: this.icon, ref: (el) => (this.iconEl = el) })), !hideLabel && h("span", { class: "button__label" }, this.label))));
33
+ return (h(Host, null, h(Tag, { "aria-describedby": this.flipAriaDescribedby, "aria-disabled": this.disabled && !isLink ? "true" : undefined, "aria-label": hideLabel ? this.label : undefined, class: className, disabled: isLink ? undefined : this.disabled, download: isLink ? undefined : this.download, form: isLink ? undefined : this.form, href: this.href, name: isLink ? undefined : this.name, target: isLink ? this.target : undefined, type: isLink ? undefined : this.type, value: isLink ? undefined : this.value }, this.icon && (h("span", { class: "button__left-icon", innerHTML: this.icon, ref: (el) => (this.iconEl = el) })), !hideLabel && h("span", { class: "button__label" }, this.label))));
34
34
  }
35
35
  static get style() { return flipButtonCss; }
36
36
  }, [2, "flip-button", {
37
37
  "disabled": [4],
38
38
  "download": [1],
39
+ "flipAriaDescribedby": [1, "flip-aria-describedby"],
39
40
  "form": [1],
40
41
  "hideLabel": [4, "hide-label"],
41
42
  "href": [1],
@@ -22,6 +22,7 @@ const FlipCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
22
22
  const unchecked = this.checked === false || this.checked === "false";
23
23
  const checked = this.checked === true || this.checked === "true";
24
24
  const indeterminate = this.checked === "indeterminate";
25
+ const showLabelContainer = Boolean(this.label) || Boolean(this.description);
25
26
  const ariaCheckedLabel = checked ? "true" : unchecked ? "false" : "mixed";
26
27
  const ariaInvalid = this.invalid === true
27
28
  ? "true"
@@ -35,7 +36,7 @@ const FlipCheckbox$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElemen
35
36
  "checkbox--invalid": this.invalid,
36
37
  "checkbox--unchecked": unchecked,
37
38
  });
38
- return (h(Host, null, h("label", { class: className, htmlFor: this.inputId }, h("span", { class: "checkbox__control" }, h("flip-visually-hidden", null, h("input", { "aria-checked": ariaCheckedLabel, "aria-invalid": ariaInvalid, checked: checked, class: "checkbox__input", disabled: this.disabled, id: this.inputId, indeterminate: indeterminate, name: this.inputName, onChange: this.onChange, type: "checkbox", value: this.value })), h("span", { "aria-hidden": "true", class: "checkbox__box" }, h("span", { class: "checkbox__icon" }, checked && h("flip-icon-check-strong", null), indeterminate && (h("span", { class: "checkbox__indeterminate-icon" }))))), h("span", { class: "checkbox__label-container" }, this.label && h("span", { class: "checkbox__label" }, this.label), this.description && (h("span", { class: "checkbox__description" }, this.description))))));
39
+ return (h(Host, null, h("label", { class: className, htmlFor: this.inputId }, h("span", { class: "checkbox__control" }, h("flip-visually-hidden", null, h("input", { "aria-checked": ariaCheckedLabel, "aria-invalid": ariaInvalid, checked: checked, class: "checkbox__input", disabled: this.disabled, id: this.inputId, indeterminate: indeterminate, name: this.inputName, onChange: this.onChange, type: "checkbox", value: this.value })), h("span", { "aria-hidden": "true", class: "checkbox__box" }, h("span", { class: "checkbox__icon" }, checked && h("flip-icon-check-strong", null), indeterminate && (h("span", { class: "checkbox__indeterminate-icon" }))))), showLabelContainer && (h("span", { class: "checkbox__label-container" }, this.label && h("span", { class: "checkbox__label" }, this.label), this.description && (h("span", { class: "checkbox__description" }, this.description)))))));
39
40
  }
40
41
  static get style() { return flipCheckboxCss; }
41
42
  }, [2, "flip-checkbox", {
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface FlipFileUploader extends Components.FlipFileUploader, HTMLElement {}
4
+ export const FlipFileUploader: {
5
+ prototype: FlipFileUploader;
6
+ new (): FlipFileUploader;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,88 @@
1
+ import { proxyCustomElement, HTMLElement, createEvent, h, Host } from '@stencil/core/internal/client';
2
+ import { c as classnames } from './index2.js';
3
+ import { d as defineCustomElement$3 } from './flip-button2.js';
4
+ import { d as defineCustomElement$2 } from './flip-icon-cloud-upload2.js';
5
+
6
+ const flipFileUploaderCss = ".sc-flip-file-uploader-h{display:block;width:100%}.sc-flip-file-uploader-h *.sc-flip-file-uploader{box-sizing:border-box}.file-uploader.sc-flip-file-uploader{width:100%}.file-uploader--show-dropzone.sc-flip-file-uploader .file-uploader__dropzone.sc-flip-file-uploader{position:relative;display:flex;width:100%;height:10rem;margin-top:var(--s-space-16);justify-content:center;align-items:center;border:var(--s-border-width-default) dashed var(--s-border-strong);border-radius:var(--s-border-radius-s);flex-direction:column}.file-uploader--show-dropzone.sc-flip-file-uploader .file-uploader__dropzone.sc-flip-file-uploader:focus-within{border-color:var(--s-focus-default);border-width:0.125rem}.file-uploader--show-dropzone.sc-flip-file-uploader .file-uploader__input.sc-flip-file-uploader{position:absolute;display:block;cursor:pointer;opacity:0;inset:0}.file-uploader--disabled.sc-flip-file-uploader .file-uploader__input.sc-flip-file-uploader{cursor:default}.file-uploader--disabled.sc-flip-file-uploader .file-uploader__dropzone-cta.sc-flip-file-uploader,.file-uploader--disabled.sc-flip-file-uploader .file-uploader__drag-drop-label.sc-flip-file-uploader{color:var(--s-text-disabled)}.file-uploader--disabled.sc-flip-file-uploader .file-uploader__dropzone-icon.sc-flip-file-uploader{color:var(--s-text-disabled)}.file-uploader__label.sc-flip-file-uploader{display:block;font-weight:var(--s-font-weight-semibold);line-height:var(--s-line-height-base)}.file-uploader__description.sc-flip-file-uploader{display:block;margin-top:var(--s-space-4);font-size:var(--s-font-size-sm);line-height:var(--s-line-height-sm)}.file-uploader__dropzone-icon.sc-flip-file-uploader{color:var(--s-icon-highlight)}.file-uploader__dropzone-label.sc-flip-file-uploader{margin-top:var(--s-space-16);line-height:var(--s-line-height-base)}.file-uploader__dropzone-cta.sc-flip-file-uploader{color:var(--s-interactive-primary-default);font-weight:var(--s-font-weight-medium)}.file-uploader__upload-button.sc-flip-file-uploader{margin-top:var(--s-space-16)}.file-uploader__input.sc-flip-file-uploader{display:none}";
7
+
8
+ const FlipFileUploader$1 = /*@__PURE__*/ proxyCustomElement(class extends HTMLElement {
9
+ constructor() {
10
+ super();
11
+ this.__registerHost();
12
+ this.valueChange = createEvent(this, "valueChange", 7);
13
+ this.ctaLabel = "Click to upload";
14
+ this.dragDropLabel = "or drag and drop.";
15
+ this.showDropzone = true;
16
+ this.uploadButtonLabel = "Select file";
17
+ this.onChange = (event) => {
18
+ const fileList = event.target.files;
19
+ this.valueChange.emit(fileList);
20
+ };
21
+ this.onUploadButtonClick = () => {
22
+ this.inputEl.click();
23
+ };
24
+ }
25
+ /**
26
+ * Reset the file input.
27
+ */
28
+ async reset() {
29
+ this.inputEl.value = "";
30
+ }
31
+ render() {
32
+ const ariaDescribedby = Boolean(this.description)
33
+ ? `${this.inputId}-description ${this.inputId}-additional-label`
34
+ : `${this.inputId}-additional-label`;
35
+ const tabIndex = this.showDropzone ? 0 : -1;
36
+ const className = classnames("file-uploader", {
37
+ "file-uploader--disabled": this.disabled,
38
+ "file-uploader--show-dropzone": this.showDropzone,
39
+ });
40
+ return (h(Host, null, h("div", { class: className }, h("label", { class: "file-uploader__label", htmlFor: this.inputId, id: `${this.inputEl}-label` }, this.label), this.description && (h("span", { class: "file-uploader__description", id: `${this.inputId}-description` }, this.description)), h("div", { class: "file-uploader__dropzone" }, this.showDropzone ? ([
41
+ h("flip-icon-cloud-upload", { class: "file-uploader__dropzone-icon" }),
42
+ h("div", { class: "file-uploader__dropzone-label", id: `${this.inputId}-additional-label` }, h("span", { class: "file-uploader__dropzone-cta" }, this.ctaLabel), " ", h("span", { class: "file-uploader__drag-drop-label" }, this.dragDropLabel)),
43
+ ]) : (h("flip-button", { class: "file-uploader__upload-button", disabled: this.disabled, flipAriaDescribedby: ariaDescribedby, intent: "primary", label: this.uploadButtonLabel, onClick: this.onUploadButtonClick, variant: "flat" })), h("input", { accept: this.accept, "aria-describedby": ariaDescribedby, "aria-disabled": this.disabled, autoComplete: "off", class: "file-uploader__input", disabled: this.disabled, id: this.inputId, multiple: this.multiple, name: this.inputName, onChange: this.onChange, ref: (el) => (this.inputEl = el), tabIndex: tabIndex, type: "file" })))));
44
+ }
45
+ static get style() { return flipFileUploaderCss; }
46
+ }, [2, "flip-file-uploader", {
47
+ "accept": [1],
48
+ "ctaLabel": [1, "cta-label"],
49
+ "description": [1],
50
+ "disabled": [4],
51
+ "dragDropLabel": [1, "drag-drop-label"],
52
+ "inputId": [1, "input-id"],
53
+ "inputName": [1, "input-name"],
54
+ "label": [1],
55
+ "multiple": [4],
56
+ "showDropzone": [4, "show-dropzone"],
57
+ "uploadButtonLabel": [1, "upload-button-label"],
58
+ "reset": [64]
59
+ }]);
60
+ function defineCustomElement$1() {
61
+ if (typeof customElements === "undefined") {
62
+ return;
63
+ }
64
+ const components = ["flip-file-uploader", "flip-button", "flip-icon-cloud-upload"];
65
+ components.forEach(tagName => { switch (tagName) {
66
+ case "flip-file-uploader":
67
+ if (!customElements.get(tagName)) {
68
+ customElements.define(tagName, FlipFileUploader$1);
69
+ }
70
+ break;
71
+ case "flip-button":
72
+ if (!customElements.get(tagName)) {
73
+ defineCustomElement$3();
74
+ }
75
+ break;
76
+ case "flip-icon-cloud-upload":
77
+ if (!customElements.get(tagName)) {
78
+ defineCustomElement$2();
79
+ }
80
+ break;
81
+ } });
82
+ }
83
+ defineCustomElement$1();
84
+
85
+ const FlipFileUploader = FlipFileUploader$1;
86
+ const defineCustomElement = defineCustomElement$1;
87
+
88
+ export { FlipFileUploader, defineCustomElement };
@@ -0,0 +1,11 @@
1
+ import type { Components, JSX } from "../types/components";
2
+
3
+ interface FlipIconCloudUpload extends Components.FlipIconCloudUpload, HTMLElement {}
4
+ export const FlipIconCloudUpload: {
5
+ prototype: FlipIconCloudUpload;
6
+ new (): FlipIconCloudUpload;
7
+ };
8
+ /**
9
+ * Used to define this component and all nested components recursively.
10
+ */
11
+ export const defineCustomElement: () => void;
@@ -0,0 +1,6 @@
1
+ import { F as FlipIconCloudUpload$1, d as defineCustomElement$1 } from './flip-icon-cloud-upload2.js';
2
+
3
+ const FlipIconCloudUpload = FlipIconCloudUpload$1;
4
+ const defineCustomElement = defineCustomElement$1;
5
+
6
+ export { FlipIconCloudUpload, defineCustomElement };