@ouestfrance/sipa-bms-ui 7.14.1

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 (497) hide show
  1. package/README.md +280 -0
  2. package/dist/assets/animated-icons/AnimatedActivityIcon.vue.d.ts +133 -0
  3. package/dist/assets/animated-icons/AnimatedCircleHelpIcon.vue.d.ts +133 -0
  4. package/dist/assets/animated-icons/AnimatedHomeIcon.vue.d.ts +133 -0
  5. package/dist/components/button/BmsButton.spec.d.ts +1 -0
  6. package/dist/components/button/BmsButton.vue.d.ts +24 -0
  7. package/dist/components/button/BmsIconButton.vue.d.ts +23 -0
  8. package/dist/components/button/UiButton.vue.d.ts +26 -0
  9. package/dist/components/button/UiButtonLink.vue.d.ts +20 -0
  10. package/dist/components/feedback/BmsAlert.vue.d.ts +24 -0
  11. package/dist/components/feedback/BmsBadge.vue.d.ts +18 -0
  12. package/dist/components/feedback/BmsCaption.vue.d.ts +6 -0
  13. package/dist/components/feedback/BmsCircularProgress.spec.d.ts +1 -0
  14. package/dist/components/feedback/BmsCircularProgress.vue.d.ts +6 -0
  15. package/dist/components/feedback/BmsLoader.spec.d.ts +1 -0
  16. package/dist/components/feedback/BmsLoader.vue.d.ts +9 -0
  17. package/dist/components/feedback/BmsTooltip.vue.d.ts +28 -0
  18. package/dist/components/feedback/UiTooltip.spec.d.ts +1 -0
  19. package/dist/components/feedback/UiTooltip.vue.d.ts +27 -0
  20. package/dist/components/feedback/tooltip.helper.d.ts +45 -0
  21. package/dist/components/feedback/tooltip.helper.spec.d.ts +1 -0
  22. package/dist/components/form/BmsAutocomplete.vue.d.ts +31 -0
  23. package/dist/components/form/BmsBetweenInput.vue.d.ts +32 -0
  24. package/dist/components/form/BmsChip.vue.d.ts +15 -0
  25. package/dist/components/form/BmsFilePicker.spec.d.ts +1 -0
  26. package/dist/components/form/BmsFilePicker.vue.d.ts +12 -0
  27. package/dist/components/form/BmsInputBooleanCheckbox.vue.d.ts +30 -0
  28. package/dist/components/form/BmsInputCheckboxCaption.spec.d.ts +1 -0
  29. package/dist/components/form/BmsInputCheckboxCaption.vue.d.ts +31 -0
  30. package/dist/components/form/BmsInputCheckboxCaptionGroup.vue.d.ts +25 -0
  31. package/dist/components/form/BmsInputCheckboxGroup.vue.d.ts +24 -0
  32. package/dist/components/form/BmsInputCode.vue.d.ts +27 -0
  33. package/dist/components/form/BmsInputDateTime.vue.d.ts +24 -0
  34. package/dist/components/form/BmsInputFile.spec.d.ts +1 -0
  35. package/dist/components/form/BmsInputFile.vue.d.ts +27 -0
  36. package/dist/components/form/BmsInputNumber.spec.d.ts +1 -0
  37. package/dist/components/form/BmsInputNumber.vue.d.ts +26 -0
  38. package/dist/components/form/BmsInputRadio.vue.d.ts +28 -0
  39. package/dist/components/form/BmsInputRadioCaption.vue.d.ts +30 -0
  40. package/dist/components/form/BmsInputRadioCaptionGroup.vue.d.ts +30 -0
  41. package/dist/components/form/BmsInputRadioGroup.vue.d.ts +30 -0
  42. package/dist/components/form/BmsInputText.spec.d.ts +1 -0
  43. package/dist/components/form/BmsInputText.vue.d.ts +128 -0
  44. package/dist/components/form/BmsInputToggle.vue.d.ts +15 -0
  45. package/dist/components/form/BmsSearch.spec.d.ts +1 -0
  46. package/dist/components/form/BmsSearch.vue.d.ts +187 -0
  47. package/dist/components/form/BmsSelect.spec.d.ts +1 -0
  48. package/dist/components/form/BmsSelect.vue.d.ts +34 -0
  49. package/dist/components/form/BmsTag.vue.d.ts +25 -0
  50. package/dist/components/form/BmsTextArea.spec.d.ts +1 -0
  51. package/dist/components/form/BmsTextArea.vue.d.ts +26 -0
  52. package/dist/components/form/RawAutocomplete.spec.d.ts +1 -0
  53. package/dist/components/form/RawAutocomplete.vue.d.ts +130 -0
  54. package/dist/components/form/RawInputText.vue.d.ts +42 -0
  55. package/dist/components/form/UiBmsInputCheckbox.vue.d.ts +28 -0
  56. package/dist/components/form/UiBmsSwitch.vue.d.ts +14 -0
  57. package/dist/components/layout/BmsCard.vue.d.ts +21 -0
  58. package/dist/components/layout/BmsContentPageLayout.vue.d.ts +17 -0
  59. package/dist/components/layout/BmsForm.vue.d.ts +7 -0
  60. package/dist/components/layout/BmsHeader.vue.d.ts +9 -0
  61. package/dist/components/layout/BmsHeaderTitle.vue.d.ts +22 -0
  62. package/dist/components/layout/BmsModal.spec.d.ts +1 -0
  63. package/dist/components/layout/BmsModal.vue.d.ts +60 -0
  64. package/dist/components/layout/BmsOverlay.vue.d.ts +13 -0
  65. package/dist/components/layout/BmsSection.vue.d.ts +15 -0
  66. package/dist/components/layout/BmsStep.vue.d.ts +27 -0
  67. package/dist/components/layout/BmsStepper.vue.d.ts +13 -0
  68. package/dist/components/layout/UiPopoverMenu.vue.d.ts +23 -0
  69. package/dist/components/navigation/BmsBackButton.vue.d.ts +13 -0
  70. package/dist/components/navigation/BmsBreadcrumb.vue.d.ts +12 -0
  71. package/dist/components/navigation/BmsLink.spec.d.ts +1 -0
  72. package/dist/components/navigation/BmsLink.vue.d.ts +22 -0
  73. package/dist/components/navigation/BmsMenu.spec.d.ts +1 -0
  74. package/dist/components/navigation/BmsMenu.vue.d.ts +21 -0
  75. package/dist/components/navigation/BmsMenuNav.spec.d.ts +1 -0
  76. package/dist/components/navigation/BmsMenuNav.vue.d.ts +23 -0
  77. package/dist/components/navigation/BmsShortLinkMenu.vue.d.ts +20 -0
  78. package/dist/components/navigation/BmsTabs.vue.d.ts +7 -0
  79. package/dist/components/navigation/BmsTenantSwitcher.vue.d.ts +22 -0
  80. package/dist/components/navigation/UiMenuItem.vue.d.ts +11 -0
  81. package/dist/components/navigation/UiTab.vue.d.ts +15 -0
  82. package/dist/components/navigation/UiTenantImage.vue.d.ts +6 -0
  83. package/dist/components/navigation/UiTenantLabel.vue.d.ts +12 -0
  84. package/dist/components/navigation/UiTenantSwitcher.spec.d.ts +1 -0
  85. package/dist/components/navigation/UiTenantSwitcher.vue.d.ts +189 -0
  86. package/dist/components/table/BmsEmptyScreen.vue.d.ts +6 -0
  87. package/dist/components/table/BmsPagination.spec.d.ts +1 -0
  88. package/dist/components/table/BmsPagination.vue.d.ts +35 -0
  89. package/dist/components/table/BmsServerTable.vue.d.ts +74 -0
  90. package/dist/components/table/BmsTable.spec.d.ts +1 -0
  91. package/dist/components/table/BmsTable.vue.d.ts +53 -0
  92. package/dist/components/table/BmsTableFilters.spec.d.ts +1 -0
  93. package/dist/components/table/BmsTableFilters.vue.d.ts +188 -0
  94. package/dist/components/table/DraggableList.vue.d.ts +26 -0
  95. package/dist/components/table/UiBmsTable.spec.d.ts +1 -0
  96. package/dist/components/table/UiBmsTable.vue.d.ts +66 -0
  97. package/dist/components/table/UiFilterButton.vue.d.ts +13 -0
  98. package/dist/components/utils/BmsCocarde.vue.d.ts +11 -0
  99. package/dist/components/utils/BmsProblem.vue.d.ts +9 -0
  100. package/dist/components/utils/BmsRelativeTime.spec.d.ts +1 -0
  101. package/dist/components/utils/BmsRelativeTime.vue.d.ts +11 -0
  102. package/dist/composables/clipboard.composable.d.ts +3 -0
  103. package/dist/composables/index.d.ts +5 -0
  104. package/dist/composables/pagination.composable.d.ts +14 -0
  105. package/dist/composables/pagination.composable.spec.d.ts +1 -0
  106. package/dist/composables/search.composable.d.ts +52 -0
  107. package/dist/composables/search.composable.spec.d.ts +1 -0
  108. package/dist/composables/search.helper.d.ts +7 -0
  109. package/dist/composables/search.helper.spec.d.ts +1 -0
  110. package/dist/composables/sort.composable.d.ts +10 -0
  111. package/dist/composables/sort.composable.spec.d.ts +1 -0
  112. package/dist/composables/userPref.composable.d.ts +6 -0
  113. package/dist/composables/userPref.composable.spec.d.ts +1 -0
  114. package/dist/favicon.ico +0 -0
  115. package/dist/helpers/cocarde.helper.d.ts +1 -0
  116. package/dist/helpers/cocarde.helper.spec.d.ts +1 -0
  117. package/dist/helpers/date.helper.d.ts +26 -0
  118. package/dist/helpers/date.helper.spec.d.ts +1 -0
  119. package/dist/helpers/file.helper.d.ts +5 -0
  120. package/dist/helpers/file.helper.spec.d.ts +1 -0
  121. package/dist/helpers/index.d.ts +6 -0
  122. package/dist/helpers/location.helper.d.ts +10 -0
  123. package/dist/helpers/location.helper.spec.d.ts +1 -0
  124. package/dist/helpers/problem.helper.d.ts +1 -0
  125. package/dist/helpers/problem.helper.spec.d.ts +1 -0
  126. package/dist/helpers/string.helper.d.ts +9 -0
  127. package/dist/helpers/string.helper.spec.d.ts +1 -0
  128. package/dist/helpers/table.helper.d.ts +16 -0
  129. package/dist/helpers/table.helper.spec.d.ts +1 -0
  130. package/dist/index.d.ts +72 -0
  131. package/dist/logo.png +0 -0
  132. package/dist/main.d.ts +0 -0
  133. package/dist/mockServiceWorker.js +344 -0
  134. package/dist/models/breadcrumb.model.d.ts +5 -0
  135. package/dist/models/caption.model.d.ts +6 -0
  136. package/dist/models/chip.model.d.ts +8 -0
  137. package/dist/models/cocarde.model.d.ts +4 -0
  138. package/dist/models/form.model.d.ts +25 -0
  139. package/dist/models/index.d.ts +14 -0
  140. package/dist/models/menu.model.d.ts +18 -0
  141. package/dist/models/modal.model.d.ts +8 -0
  142. package/dist/models/problem.model.d.ts +14 -0
  143. package/dist/models/sort.model.d.ts +11 -0
  144. package/dist/models/status-type.model.d.ts +7 -0
  145. package/dist/models/tab.model.d.ts +7 -0
  146. package/dist/models/table.model.d.ts +53 -0
  147. package/dist/models/tenant.model.d.ts +7 -0
  148. package/dist/models/tooltip.model.d.ts +6 -0
  149. package/dist/plugins/confirm/index.d.ts +9 -0
  150. package/dist/plugins/feature-flipper/FeatureFlipper.vue.d.ts +9 -0
  151. package/dist/plugins/feature-flipper/FeatureFlipperIndicator.vue.d.ts +6 -0
  152. package/dist/plugins/feature-flipper/FeatureFlipperModal.vue.d.ts +16 -0
  153. package/dist/plugins/feature-flipper/featureFlipper.composable.d.ts +10 -0
  154. package/dist/plugins/feature-flipper/featureFlipper.composable.spec.d.ts +1 -0
  155. package/dist/plugins/feature-flipper/featureFlipper.model.d.ts +3 -0
  156. package/dist/plugins/feature-flipper/index.d.ts +4 -0
  157. package/dist/plugins/field/FieldComponent.spec.d.ts +1 -0
  158. package/dist/plugins/field/FieldComponent.vue.d.ts +25 -0
  159. package/dist/plugins/field/FieldDatalist.vue.d.ts +27 -0
  160. package/dist/plugins/field/index.d.ts +2 -0
  161. package/dist/plugins/keycloak-auth-adapter/index.d.ts +20 -0
  162. package/dist/plugins/notifications/NotificationItem.vue.d.ts +12 -0
  163. package/dist/plugins/notifications/NotificationWidget.vue.d.ts +2 -0
  164. package/dist/plugins/notifications/index.d.ts +11 -0
  165. package/dist/plugins/notifications/notification.model.d.ts +20 -0
  166. package/dist/plugins/router-history/index.d.ts +6 -0
  167. package/dist/plugins/router-history/router-history.composable.d.ts +7 -0
  168. package/dist/plugins/router-history/router-history.composable.spec.d.ts +1 -0
  169. package/dist/plugins/runtime-env/index.d.ts +7 -0
  170. package/dist/services/index.d.ts +1 -0
  171. package/dist/services/konami.service.d.ts +2 -0
  172. package/dist/showroom/App.vue.d.ts +2 -0
  173. package/dist/showroom/router.d.ts +8 -0
  174. package/dist/sipa-bms-ui.css +3024 -0
  175. package/dist/sipa-bms-ui.es.js +102694 -0
  176. package/dist/sipa-bms-ui.es.js.map +1 -0
  177. package/dist/sipa-bms-ui.umd.js +102815 -0
  178. package/dist/sipa-bms-ui.umd.js.map +1 -0
  179. package/package.json +126 -0
  180. package/src/assets/animated-icons/AnimatedActivityIcon.vue +77 -0
  181. package/src/assets/animated-icons/AnimatedCircleHelpIcon.vue +67 -0
  182. package/src/assets/animated-icons/AnimatedHomeIcon.vue +69 -0
  183. package/src/assets/empty.svg +1 -0
  184. package/src/assets/scss/_conf.scss +203 -0
  185. package/src/assets/scss/_formkit.scss +353 -0
  186. package/src/assets/scss/app.scss +11 -0
  187. package/src/assets/scss/global-variables.scss +56 -0
  188. package/src/components/button/BmsAllButtons.stories.js +56 -0
  189. package/src/components/button/BmsButton.spec.ts +37 -0
  190. package/src/components/button/BmsButton.stories.js +84 -0
  191. package/src/components/button/BmsButton.vue +50 -0
  192. package/src/components/button/BmsIconButton.stories.js +67 -0
  193. package/src/components/button/BmsIconButton.vue +34 -0
  194. package/src/components/button/UiButton.stories.js +131 -0
  195. package/src/components/button/UiButton.vue +37 -0
  196. package/src/components/button/UiButtonLink.vue +186 -0
  197. package/src/components/feedback/BmsAlert.stories.js +75 -0
  198. package/src/components/feedback/BmsAlert.vue +91 -0
  199. package/src/components/feedback/BmsBadge.stories.js +34 -0
  200. package/src/components/feedback/BmsBadge.vue +76 -0
  201. package/src/components/feedback/BmsCaption.stories.js +59 -0
  202. package/src/components/feedback/BmsCaption.vue +88 -0
  203. package/src/components/feedback/BmsCircularProgress.spec.ts +14 -0
  204. package/src/components/feedback/BmsCircularProgress.stories.js +45 -0
  205. package/src/components/feedback/BmsCircularProgress.vue +64 -0
  206. package/src/components/feedback/BmsLoader.spec.ts +7 -0
  207. package/src/components/feedback/BmsLoader.stories.js +31 -0
  208. package/src/components/feedback/BmsLoader.vue +82 -0
  209. package/src/components/feedback/BmsTooltip.stories.js +65 -0
  210. package/src/components/feedback/BmsTooltip.vue +102 -0
  211. package/src/components/feedback/Notification.stories.js +37 -0
  212. package/src/components/feedback/UiTooltip.spec.ts +62 -0
  213. package/src/components/feedback/UiTooltip.stories.js +71 -0
  214. package/src/components/feedback/UiTooltip.vue +219 -0
  215. package/src/components/feedback/tooltip.helper.spec.ts +92 -0
  216. package/src/components/feedback/tooltip.helper.ts +121 -0
  217. package/src/components/form/BmsAutocomplete.stories.js +90 -0
  218. package/src/components/form/BmsAutocomplete.vue +100 -0
  219. package/src/components/form/BmsBetweenInput.stories.js +69 -0
  220. package/src/components/form/BmsBetweenInput.vue +146 -0
  221. package/src/components/form/BmsChip.stories.js +65 -0
  222. package/src/components/form/BmsChip.vue +92 -0
  223. package/src/components/form/BmsFilePicker.spec.ts +94 -0
  224. package/src/components/form/BmsFilePicker.stories.js +53 -0
  225. package/src/components/form/BmsFilePicker.vue +186 -0
  226. package/src/components/form/BmsInputBooleanCheckbox.stories.js +90 -0
  227. package/src/components/form/BmsInputBooleanCheckbox.vue +70 -0
  228. package/src/components/form/BmsInputCheckboxCaption.spec.ts +45 -0
  229. package/src/components/form/BmsInputCheckboxCaption.stories.js +92 -0
  230. package/src/components/form/BmsInputCheckboxCaption.vue +126 -0
  231. package/src/components/form/BmsInputCheckboxCaptionGroup.stories.js +153 -0
  232. package/src/components/form/BmsInputCheckboxCaptionGroup.vue +81 -0
  233. package/src/components/form/BmsInputCheckboxGroup.stories.js +94 -0
  234. package/src/components/form/BmsInputCheckboxGroup.vue +94 -0
  235. package/src/components/form/BmsInputCode.stories.js +43 -0
  236. package/src/components/form/BmsInputCode.vue +71 -0
  237. package/src/components/form/BmsInputDateTime.stories.js +71 -0
  238. package/src/components/form/BmsInputDateTime.vue +55 -0
  239. package/src/components/form/BmsInputFile.spec.ts +90 -0
  240. package/src/components/form/BmsInputFile.stories.js +156 -0
  241. package/src/components/form/BmsInputFile.vue +310 -0
  242. package/src/components/form/BmsInputNumber.spec.ts +40 -0
  243. package/src/components/form/BmsInputNumber.stories.js +79 -0
  244. package/src/components/form/BmsInputNumber.vue +67 -0
  245. package/src/components/form/BmsInputRadio.stories.js +79 -0
  246. package/src/components/form/BmsInputRadio.vue +121 -0
  247. package/src/components/form/BmsInputRadioCaption.stories.js +98 -0
  248. package/src/components/form/BmsInputRadioCaption.vue +110 -0
  249. package/src/components/form/BmsInputRadioCaptionGroup.stories.js +166 -0
  250. package/src/components/form/BmsInputRadioCaptionGroup.vue +81 -0
  251. package/src/components/form/BmsInputRadioGroup.stories.js +108 -0
  252. package/src/components/form/BmsInputRadioGroup.vue +93 -0
  253. package/src/components/form/BmsInputText.spec.ts +37 -0
  254. package/src/components/form/BmsInputText.stories.js +78 -0
  255. package/src/components/form/BmsInputText.vue +79 -0
  256. package/src/components/form/BmsInputToggle.stories.js +37 -0
  257. package/src/components/form/BmsInputToggle.vue +66 -0
  258. package/src/components/form/BmsSearch.spec.ts +41 -0
  259. package/src/components/form/BmsSearch.stories.js +70 -0
  260. package/src/components/form/BmsSearch.vue +62 -0
  261. package/src/components/form/BmsSelect.spec.ts +57 -0
  262. package/src/components/form/BmsSelect.stories.js +131 -0
  263. package/src/components/form/BmsSelect.vue +225 -0
  264. package/src/components/form/BmsTag.stories.js +64 -0
  265. package/src/components/form/BmsTag.vue +109 -0
  266. package/src/components/form/BmsTextArea.spec.ts +37 -0
  267. package/src/components/form/BmsTextArea.stories.js +74 -0
  268. package/src/components/form/BmsTextArea.vue +112 -0
  269. package/src/components/form/Form.stories.js +35 -0
  270. package/src/components/form/RawAutocomplete.spec.ts +103 -0
  271. package/src/components/form/RawAutocomplete.vue +218 -0
  272. package/src/components/form/RawInputText.vue +173 -0
  273. package/src/components/form/UiBmsInputCheckbox.stories.js +77 -0
  274. package/src/components/form/UiBmsInputCheckbox.vue +126 -0
  275. package/src/components/form/UiBmsSwitch.stories.js +40 -0
  276. package/src/components/form/UiBmsSwitch.vue +80 -0
  277. package/src/components/layout/BmsCard.stories.js +77 -0
  278. package/src/components/layout/BmsCard.vue +133 -0
  279. package/src/components/layout/BmsContentPageLayout.vue +92 -0
  280. package/src/components/layout/BmsForm.stories.js +30 -0
  281. package/src/components/layout/BmsForm.vue +42 -0
  282. package/src/components/layout/BmsHeader.stories.js +29 -0
  283. package/src/components/layout/BmsHeader.vue +16 -0
  284. package/src/components/layout/BmsHeaderTitle.stories.js +68 -0
  285. package/src/components/layout/BmsHeaderTitle.vue +76 -0
  286. package/src/components/layout/BmsModal.spec.ts +174 -0
  287. package/src/components/layout/BmsModal.stories.js +153 -0
  288. package/src/components/layout/BmsModal.vue +359 -0
  289. package/src/components/layout/BmsOverlay.stories.js +34 -0
  290. package/src/components/layout/BmsOverlay.vue +28 -0
  291. package/src/components/layout/BmsSection.stories.js +45 -0
  292. package/src/components/layout/BmsSection.vue +35 -0
  293. package/src/components/layout/BmsStep.stories.js +71 -0
  294. package/src/components/layout/BmsStep.vue +60 -0
  295. package/src/components/layout/BmsStepper.stories.js +57 -0
  296. package/src/components/layout/BmsStepper.vue +195 -0
  297. package/src/components/layout/UiPopoverMenu.vue +167 -0
  298. package/src/components/navigation/BmsBackButton.stories.js +27 -0
  299. package/src/components/navigation/BmsBackButton.vue +38 -0
  300. package/src/components/navigation/BmsBreadcrumb.stories.js +80 -0
  301. package/src/components/navigation/BmsBreadcrumb.vue +45 -0
  302. package/src/components/navigation/BmsLink.spec.ts +45 -0
  303. package/src/components/navigation/BmsLink.vue +59 -0
  304. package/src/components/navigation/BmsMenu.spec.ts +95 -0
  305. package/src/components/navigation/BmsMenu.stories.js +85 -0
  306. package/src/components/navigation/BmsMenu.vue +148 -0
  307. package/src/components/navigation/BmsMenuNav.spec.ts +140 -0
  308. package/src/components/navigation/BmsMenuNav.stories.js +187 -0
  309. package/src/components/navigation/BmsMenuNav.vue +217 -0
  310. package/src/components/navigation/BmsShortLinkMenu.stories.js +55 -0
  311. package/src/components/navigation/BmsShortLinkMenu.vue +59 -0
  312. package/src/components/navigation/BmsTabs.stories.js +30 -0
  313. package/src/components/navigation/BmsTabs.vue +46 -0
  314. package/src/components/navigation/BmsTenantSwitcher.stories.js +89 -0
  315. package/src/components/navigation/BmsTenantSwitcher.vue +135 -0
  316. package/src/components/navigation/UiMenuItem.stories.js +73 -0
  317. package/src/components/navigation/UiMenuItem.vue +116 -0
  318. package/src/components/navigation/UiMenuItemStatus.stories.js +58 -0
  319. package/src/components/navigation/UiTab.stories.js +56 -0
  320. package/src/components/navigation/UiTab.vue +71 -0
  321. package/src/components/navigation/UiTenantImage.vue +22 -0
  322. package/src/components/navigation/UiTenantLabel.vue +94 -0
  323. package/src/components/navigation/UiTenantSwitcher.spec.ts +167 -0
  324. package/src/components/navigation/UiTenantSwitcher.stories.js +70 -0
  325. package/src/components/navigation/UiTenantSwitcher.vue +161 -0
  326. package/src/components/table/BmsEmptyScreen.stories.js +32 -0
  327. package/src/components/table/BmsEmptyScreen.vue +54 -0
  328. package/src/components/table/BmsPagination.spec.ts +73 -0
  329. package/src/components/table/BmsPagination.stories.js +34 -0
  330. package/src/components/table/BmsPagination.vue +154 -0
  331. package/src/components/table/BmsServerTable.stories.js +422 -0
  332. package/src/components/table/BmsServerTable.vue +402 -0
  333. package/src/components/table/BmsTable.spec.ts +309 -0
  334. package/src/components/table/BmsTable.stories.js +930 -0
  335. package/src/components/table/BmsTable.vue +308 -0
  336. package/src/components/table/BmsTableFilters.spec.ts +494 -0
  337. package/src/components/table/BmsTableFilters.stories.js +114 -0
  338. package/src/components/table/BmsTableFilters.vue +268 -0
  339. package/src/components/table/DraggableList.stories.js +29 -0
  340. package/src/components/table/DraggableList.vue +179 -0
  341. package/src/components/table/UiBmsTable.spec.ts +373 -0
  342. package/src/components/table/UiBmsTable.stories.js +563 -0
  343. package/src/components/table/UiBmsTable.vue +617 -0
  344. package/src/components/table/UiFilterButton.stories.js +37 -0
  345. package/src/components/table/UiFilterButton.vue +85 -0
  346. package/src/components/utils/BmsCocarde.stories.js +47 -0
  347. package/src/components/utils/BmsCocarde.vue +66 -0
  348. package/src/components/utils/BmsProblem.stories.js +82 -0
  349. package/src/components/utils/BmsProblem.vue +223 -0
  350. package/src/components/utils/BmsRelativeTime.spec.ts +41 -0
  351. package/src/components/utils/BmsRelativeTime.stories.js +48 -0
  352. package/src/components/utils/BmsRelativeTime.vue +57 -0
  353. package/src/composables/clipboard.composable.ts +14 -0
  354. package/src/composables/index.ts +5 -0
  355. package/src/composables/pagination.composable.spec.ts +258 -0
  356. package/src/composables/pagination.composable.ts +111 -0
  357. package/src/composables/search.composable.spec.ts +1296 -0
  358. package/src/composables/search.composable.ts +316 -0
  359. package/src/composables/search.helper.spec.ts +339 -0
  360. package/src/composables/search.helper.ts +103 -0
  361. package/src/composables/sort.composable.spec.ts +349 -0
  362. package/src/composables/sort.composable.ts +129 -0
  363. package/src/composables/userPref.composable.spec.ts +115 -0
  364. package/src/composables/userPref.composable.ts +43 -0
  365. package/src/documentation/ColorTile.vue +23 -0
  366. package/src/documentation/assets/BmsIcon.png +0 -0
  367. package/src/documentation/assets/CoverBmsUI.png +0 -0
  368. package/src/documentation/assets/button/CoverPrimaryButton.png +0 -0
  369. package/src/documentation/assets/button/CoverSecondaryButton.png +0 -0
  370. package/src/documentation/assets/button/DoButtonLabel.png +0 -0
  371. package/src/documentation/assets/button/DontButtonLabel.png +0 -0
  372. package/src/documentation/assets/button/PrimaryButtonRepresentation.png +0 -0
  373. package/src/documentation/assets/cards/CardRepresentation.png +0 -0
  374. package/src/documentation/assets/cards/CoverCard.png +0 -0
  375. package/src/documentation/assets/chip/ChipRepresentation.png +0 -0
  376. package/src/documentation/assets/chip/CoverChips.png +0 -0
  377. package/src/documentation/assets/fields/Anatomy.png +0 -0
  378. package/src/documentation/assets/fields/CaptionRepresentation.png +0 -0
  379. package/src/documentation/assets/fields/CaptionTextRepresentation.png +0 -0
  380. package/src/documentation/assets/fields/CoverFieldsAnatomy.png +0 -0
  381. package/src/documentation/assets/fields/CoverInputFile.png +0 -0
  382. package/src/documentation/assets/fields/CoverInputText.png +0 -0
  383. package/src/documentation/assets/fields/CoverRadioCaptionGroup.png +0 -0
  384. package/src/documentation/assets/fields/CoverRadioGroup.png +0 -0
  385. package/src/documentation/assets/fields/CoverSearch.png +0 -0
  386. package/src/documentation/assets/fields/CoverSelect.png +0 -0
  387. package/src/documentation/assets/fields/CoverTextArea.png +0 -0
  388. package/src/documentation/assets/fields/FieldLabel.png +0 -0
  389. package/src/documentation/assets/fields/InputMediaRepresentation.png +0 -0
  390. package/src/documentation/assets/fields/InputRepresentation.png +0 -0
  391. package/src/documentation/assets/fields/InputSearchRepresentation.png +0 -0
  392. package/src/documentation/assets/fields/InputText.png +0 -0
  393. package/src/documentation/assets/fields/InputTextAreaRepresentation.png +0 -0
  394. package/src/documentation/assets/fields/LabelDo.png +0 -0
  395. package/src/documentation/assets/fields/LabelDont.png +0 -0
  396. package/src/documentation/assets/fields/LabelRepresentation.png +0 -0
  397. package/src/documentation/assets/fields/RadioCaptionGroupRepresentation.png +0 -0
  398. package/src/documentation/assets/fields/RadioGroupRepresentation.png +0 -0
  399. package/src/documentation/assets/fields/SelectRepresentation.png +0 -0
  400. package/src/documentation/assets/tag/CoverTag.png +0 -0
  401. package/src/documentation/assets/tag/TagRepresentation.png +0 -0
  402. package/src/documentation/button.mdx +24 -0
  403. package/src/documentation/card.mdx +28 -0
  404. package/src/documentation/chip.mdx +28 -0
  405. package/src/documentation/colors.mdx +118 -0
  406. package/src/documentation/fields.mdx +52 -0
  407. package/src/documentation/fields_text.mdx +31 -0
  408. package/src/documentation/icons.mdx +33 -0
  409. package/src/documentation/inputFile.mdx +28 -0
  410. package/src/documentation/primaryButton.mdx +20 -0
  411. package/src/documentation/principles.mdx +23 -0
  412. package/src/documentation/radioCaptionGroup.mdx +34 -0
  413. package/src/documentation/radioGroup.mdx +34 -0
  414. package/src/documentation/search.mdx +28 -0
  415. package/src/documentation/secondaryButton.mdx +17 -0
  416. package/src/documentation/select.mdx +31 -0
  417. package/src/documentation/tag.mdx +28 -0
  418. package/src/documentation/template_field_dependency.mdx +19 -0
  419. package/src/documentation/textArea.mdx +27 -0
  420. package/src/documentation/typography.mdx +93 -0
  421. package/src/documentation/typography.stories.js +26 -0
  422. package/src/helpers/cocarde.helper.spec.ts +14 -0
  423. package/src/helpers/cocarde.helper.ts +22 -0
  424. package/src/helpers/date.helper.spec.ts +91 -0
  425. package/src/helpers/date.helper.ts +105 -0
  426. package/src/helpers/file.helper.spec.ts +60 -0
  427. package/src/helpers/file.helper.ts +24 -0
  428. package/src/helpers/index.ts +6 -0
  429. package/src/helpers/location.helper.spec.ts +195 -0
  430. package/src/helpers/location.helper.ts +53 -0
  431. package/src/helpers/problem.helper.spec.ts +21 -0
  432. package/src/helpers/problem.helper.ts +4 -0
  433. package/src/helpers/string.helper.spec.ts +186 -0
  434. package/src/helpers/string.helper.ts +83 -0
  435. package/src/helpers/table.helper.spec.ts +141 -0
  436. package/src/helpers/table.helper.ts +88 -0
  437. package/src/index.ts +203 -0
  438. package/src/main.ts +25 -0
  439. package/src/models/breadcrumb.model.ts +6 -0
  440. package/src/models/caption.model.ts +7 -0
  441. package/src/models/chip.model.ts +8 -0
  442. package/src/models/cocarde.model.ts +4 -0
  443. package/src/models/form.model.ts +30 -0
  444. package/src/models/index.ts +14 -0
  445. package/src/models/menu.model.ts +20 -0
  446. package/src/models/modal.model.ts +9 -0
  447. package/src/models/problem.model.ts +10 -0
  448. package/src/models/sort.model.ts +13 -0
  449. package/src/models/status-type.model.ts +7 -0
  450. package/src/models/tab.model.ts +7 -0
  451. package/src/models/table.model.ts +58 -0
  452. package/src/models/tenant.model.ts +7 -0
  453. package/src/models/tooltip.model.ts +6 -0
  454. package/src/pages/Form.stories.js +83 -0
  455. package/src/pages/List.stories.js +88 -0
  456. package/src/plugins/confirm/index.ts +109 -0
  457. package/src/plugins/feature-flipper/FeatureFlipper.vue +23 -0
  458. package/src/plugins/feature-flipper/FeatureFlipperIndicator.vue +27 -0
  459. package/src/plugins/feature-flipper/FeatureFlipperModal.vue +68 -0
  460. package/src/plugins/feature-flipper/featureFlipper.composable.spec.ts +107 -0
  461. package/src/plugins/feature-flipper/featureFlipper.composable.ts +68 -0
  462. package/src/plugins/feature-flipper/featureFlipper.model.ts +1 -0
  463. package/src/plugins/feature-flipper/index.ts +15 -0
  464. package/src/plugins/field/FieldComponent.spec.ts +34 -0
  465. package/src/plugins/field/FieldComponent.stories.js +78 -0
  466. package/src/plugins/field/FieldComponent.vue +208 -0
  467. package/src/plugins/field/FieldDatalist.stories.js +35 -0
  468. package/src/plugins/field/FieldDatalist.vue +68 -0
  469. package/src/plugins/field/index.ts +31 -0
  470. package/src/plugins/keycloak-auth-adapter/index.ts +102 -0
  471. package/src/plugins/notifications/NotificationItem.stories.js +60 -0
  472. package/src/plugins/notifications/NotificationItem.vue +116 -0
  473. package/src/plugins/notifications/NotificationWidget.vue +129 -0
  474. package/src/plugins/notifications/index.ts +83 -0
  475. package/src/plugins/notifications/notification.model.ts +24 -0
  476. package/src/plugins/notifications/notifications.spec.js +78 -0
  477. package/src/plugins/router-history/index.ts +23 -0
  478. package/src/plugins/router-history/router-history.composable.spec.ts +323 -0
  479. package/src/plugins/router-history/router-history.composable.ts +47 -0
  480. package/src/plugins/runtime-env/index.ts +19 -0
  481. package/src/services/index.ts +1 -0
  482. package/src/services/konami.service.ts +28 -0
  483. package/src/showroom/App.vue +109 -0
  484. package/src/showroom/db.json +1967 -0
  485. package/src/showroom/pages/autocomplete.vue +54 -0
  486. package/src/showroom/pages/draggable-list.vue +20 -0
  487. package/src/showroom/pages/file-picker.vue +74 -0
  488. package/src/showroom/pages/forms.vue +389 -0
  489. package/src/showroom/pages/index.vue +209 -0
  490. package/src/showroom/pages/paginated-cards.vue +48 -0
  491. package/src/showroom/pages/server-table.vue +160 -0
  492. package/src/showroom/pages/stepper.vue +37 -0
  493. package/src/showroom/pages/table.vue +192 -0
  494. package/src/showroom/pages/tabs/[tabName].vue +28 -0
  495. package/src/showroom/router.ts +15 -0
  496. package/src/showroom/server.js +45 -0
  497. package/src/vite-env.d.ts +9 -0
@@ -0,0 +1,353 @@
1
+ @mixin formkit {
2
+ :root body {
3
+ /* theme name */
4
+ --formkit-theme: genesis;
5
+
6
+ /* typography */
7
+ --fk-font-family: var(--bms-font-family);
8
+ --fk-font-family-input: var(--fk-font-family);
9
+ --fk-font-family-label: var(--fk-font-family);
10
+ --fk-font-family-legend: var(--fk-font-family-label);
11
+ --fk-font-family-option: var(--fk-font-family-input);
12
+ --fk-font-family-help: var(--fk-font-family);
13
+ --fk-font-family-message: var(--fk-font-family);
14
+
15
+ --fk-font-weight: 400;
16
+ --fk-font-weight-input: var(--fk-font-weight);
17
+ --fk-font-weight-label: 700;
18
+ --fk-font-weight-legend: var(--fk-font-weight-label, bold);
19
+ --fk-font-weight-help: var(--fk-font-weight);
20
+ --fk-font-weight-option: var(--fk-font-weight);
21
+ --fk-font-weight-message: var(--fk-font-weight);
22
+
23
+ --fk-line-height: 1.1;
24
+ --fk-line-height-label: var(--fk-line-height);
25
+ --fk-line-height-help: var(--fk-line-height);
26
+ --fk-line-height-option: var(--fk-line-height);
27
+ --fk-line-height-message: var(--fk-line-height);
28
+ --fk-line-height-textarea: var(--fk-line-height);
29
+ --fk-line-height-input: 1.125em; /* Important to ensure equal height inputs. */
30
+ --fk-line-height-button: 1.3;
31
+
32
+ /* Structure */
33
+ --fk-max-width-input: 48em;
34
+ --fk-box-size: 0.875em;
35
+
36
+ /* Colors */
37
+ --fk-color-primary: var(--bms-main-100);
38
+ --fk-color-checked: var(--fk-color-primary);
39
+ --fk-color-input: var(--bms-font-color);
40
+ --fk-color-border: var(--bms-grey-50);
41
+ --fk-color-border-focus: var(--fk-color-primary);
42
+ --fk-color-border-shadow: var(--bms-main-10);
43
+ --fk-color-danger: var(--bms-red-100);
44
+ --fk-color-error: var(--fk-color-danger);
45
+ --fk-color-placeholder: var(--bms-grey-100);
46
+ --fk-color-disabled: var(--bms-disabled-color);
47
+ --fk-color-help: var(--bms-grey-100);
48
+ /* --fk-color-message: inherit; */
49
+ --fk-color-icon: var(--bms-grey-100);
50
+ --fk-color-icon-minor: var(--bms-grey-100);
51
+ --fk-color-button: #fff;
52
+ --fk-color-button-hover: #fff;
53
+ --fk-color-submit: var(--fk-color-button);
54
+ --fk-color-submit-hover: var(--fk-color-button-hover);
55
+ --fk-color-range-track: var(--fk-color-border);
56
+ --fk-color-range-thumb: var(--fk-color-primary);
57
+
58
+ --fk-bg-input: transparent;
59
+ --fk-bg-disabled: var(--bms-disabled-color);
60
+ --fk-bg-decorator: transparent;
61
+
62
+ --fk-bg-button: var(--fk-color-primary);
63
+ --fk-bg-button-hover: var(--fk-bg-button);
64
+ --fk-bg-submit: var(--fk-bg-button);
65
+ --fk-bg-submit-hover: var(--fk-bg-submit);
66
+
67
+ /* Borders */
68
+ --fk-border-width: 1px;
69
+ --fk-border-width-decorator: var(--fk-border-width);
70
+ --fk-border-width-focus: 1px;
71
+ --fk-border-width-checked: 1px;
72
+ --fk-border-width-decorator-checked: 1px;
73
+ --fk-border-width-decorator-focus: var(--fk-border-width-decorator-checked);
74
+ --fk-border-width-decorator-focus-visible: var(--fk-border-width-focus);
75
+ --fk-border-style: solid;
76
+ --fk-border: var(--fk-border-width) var(--fk-border-style)
77
+ var(--fk-color-border);
78
+ --fk-border-focus: var(--fk-border-width-focus) var(--fk-border-style)
79
+ var(--fk-color-border-focus);
80
+ --fk-border-decorator: var(--fk-border-width-decorator)
81
+ var(--fk-border-style) var(--fk-color-border);
82
+ --fk-border-decorator-focus: var(--fk-border-width-focus)
83
+ var(--fk-border-style) var(--fk-color-border-focus);
84
+ --fk-border-decorator-focus-visible: var(
85
+ --fk-border-width-decorator-focus-visible
86
+ )
87
+ var(--fk-border-style) var(--fk-color-border-focus);
88
+ --fk-border-decorator-checked: var(--fk-border-width-checked)
89
+ var(--fk-border-style) var(--fk-color-border-focus);
90
+ --fk-border-box-shadow: 0 0 0 var(--fk-border-width) var(--fk-color-border);
91
+ --fk-border-box-shadow-focus: 0 0 0 var(--fk-border-width-focus)
92
+ var(--fk-color-border-focus),
93
+ 0 0 2px 2px var(--fk-color-border-shadow);
94
+ --fk-border-box-shadow-decorator: 0 0 0 var(--fk-border-width-decorator);
95
+ --fk-border-box-shadow-decorator-focus: 0 0 0
96
+ var(--fk-border-width-decorator-focus) var(--fk-color-border-focus);
97
+ --fk-border-box-shadow-decorator-focus-visible: 0 0 0
98
+ var(--fk-border-width-decorator-focus-visible)
99
+ var(--fk-color-border-focus);
100
+ --fk-border-box-shadow-decorator-checked: 0 0 0
101
+ var(--fk-border-width-decorator-checked) var(--fk-color-border-focus);
102
+ --fk-border-radius-tl: 4px;
103
+ --fk-border-radius-tr: 4px;
104
+ --fk-border-radius-bl: 4px;
105
+ --fk-border-radius-br: 4px;
106
+ --fk-border-radius: var(--fk-border-radius-tl, 4px)
107
+ var(--fk-border-radius-tr, 4px) var(--fk-border-radius-br, 4px)
108
+ var(--fk-border-radius-bl, 4px);
109
+ --fk-border-radius-full: 999em;
110
+
111
+ /* Padding */
112
+ --fk-padding-base: calc(0.25em - 1px / 3);
113
+
114
+ --fk-padding-input-x: calc(var(--fk-padding-base) * 3);
115
+ --fk-padding-input-y: calc(var(--fk-padding-base) * 3);
116
+ --fk-padding-input-t: var(--fk-padding-input-y, 0);
117
+ --fk-padding-input-r: var(--fk-padding-input-x, 0);
118
+ --fk-padding-input-b: var(--fk-padding-input-y, 0);
119
+ --fk-padding-input-l: var(--fk-padding-input-x, 0);
120
+ --fk-padding-input: var(--fk-padding-input-t) var(--fk-padding-input-r)
121
+ var(--fk-padding-input-b) var(--fk-padding-input-l);
122
+
123
+ --fk-padding-label-x: inherit;
124
+ --fk-padding-label-y: inherit;
125
+ --fk-padding-label-t: var(--fk-padding-label-y, 0);
126
+ --fk-padding-label-r: var(--fk-padding-label-x, 0);
127
+ --fk-padding-label-b: var(--fk-padding-label-y, 0.5em);
128
+ --fk-padding-label-l: var(--fk-padding-label-x, 0);
129
+ --fk-padding-label: var(--fk-padding-label-t) var(--fk-padding-label-r)
130
+ var(--fk-padding-label-b) var(--fk-padding-label-l);
131
+
132
+ --fk-padding-help-x: inherit;
133
+ --fk-padding-help-y: var(--fk-padding-base);
134
+ --fk-padding-help-t: var(--fk-padding-help-y, 0);
135
+ --fk-padding-help-r: var(--fk-padding-help-x, 0);
136
+ --fk-padding-help-b: var(--fk-padding-help-y, 0);
137
+ --fk-padding-help-l: var(--fk-padding-help-x, 0);
138
+ --fk-padding-help: var(--fk-padding-help-t) var(--fk-padding-help-r)
139
+ var(--fk-padding-help-b) var(--fk-padding-help-l);
140
+
141
+ --fk-padding-option-x: inherit;
142
+ --fk-padding-option-y: inherit;
143
+ --fk-padding-option-t: var(--fk-padding-option-y, 0);
144
+ --fk-padding-option-r: var(--fk-padding-option-x, 0);
145
+ --fk-padding-option-b: var(--fk-padding-option-y, 0);
146
+ --fk-padding-option-l: var(--fk-padding-option-x, 0);
147
+ --fk-padding-option: var(--fk-padding-option-t) var(--fk-padding-option-r)
148
+ var(--fk-padding-option-b) var(--fk-padding-option-l);
149
+
150
+ --fk-padding-messages-x: inherit;
151
+ --fk-padding-messages-y: inherit;
152
+ --fk-padding-messages-t: var(
153
+ --fk-padding-messages-y,
154
+ var(--fk-padding-base)
155
+ );
156
+ --fk-padding-messages-r: var(--fk-padding-messages-x, 0);
157
+ --fk-padding-messages-b: var(--fk-padding-messages-y, 0);
158
+ --fk-padding-messages-l: var(--fk-padding-messages-x, 0);
159
+ --fk-padding-messages: var(--fk-padding-messages-t)
160
+ var(--fk-padding-messages-r) var(--fk-padding-messages-b)
161
+ var(--fk-padding-messages-l);
162
+
163
+ --fk-padding-message-x: inherit;
164
+ --fk-padding-message-y: var(--fk-padding-base);
165
+ --fk-padding-message-t: var(--fk-padding-message-y, 0);
166
+ --fk-padding-message-r: var(--fk-padding-message-x, 0);
167
+ --fk-padding-message-b: var(--fk-padding-message-y, 0);
168
+ --fk-padding-message-l: var(--fk-padding-message-x, 0);
169
+ --fk-padding-message: var(--fk-padding-message-t)
170
+ var(--fk-padding-message-r) var(--fk-padding-message-b)
171
+ var(--fk-padding-message-l);
172
+
173
+ --fk-padding-legend-x: 0.25em;
174
+ --fk-padding-legend-y: 0.25em;
175
+ --fk-padding-legend-t: var(--fk-padding-legend-y);
176
+ --fk-padding-legend-r: var(--fk-padding-legend-x);
177
+ --fk-padding-legend-b: var(--fk-padding-legend-y);
178
+ --fk-padding-legend-l: var(--fk-padding-legend-x);
179
+ --fk-padding-legend: var(--fk-padding-legend-t) var(--fk-padding-legend-r)
180
+ var(--fk-padding-legend-b) var(--fk-padding-legend-l);
181
+
182
+ --fk-padding-fieldset-x: var(--fk-padding-input-x);
183
+ --fk-padding-fieldset-y: var(--fk-padding-input-y);
184
+ --fk-padding-fieldset-t: var(--fk-padding-fieldset-y);
185
+ --fk-padding-fieldset-r: var(--fk-padding-fieldset-x);
186
+ --fk-padding-fieldset-b: var(--fk-padding-fieldset-y);
187
+ --fk-padding-fieldset-l: var(--fk-padding-fieldset-x);
188
+ --fk-padding-fieldset: var(--fk-padding-fieldset-t)
189
+ var(--fk-padding-fieldset-r) var(--fk-padding-fieldset-b)
190
+ var(--fk-padding-fieldset-l);
191
+
192
+ --fk-padding-decorator-x: inherit;
193
+ --fk-padding-decorator-y: var(--fk-padding-base);
194
+ --fk-padding-decorator-t: var(--fk-padding-decorator-y, 1.25em);
195
+ --fk-padding-decorator-r: var(--fk-padding-decorator-x, 1.25em);
196
+ --fk-padding-decorator-b: var(--fk-padding-decorator-y, 1.25em);
197
+ --fk-padding-decorator-l: var(--fk-padding-decorator-x, 1.25em);
198
+ --fk-padding-decorator: var(--fk-padding-decorator-t)
199
+ var(--fk-padding-decorator-r) var(--fk-padding-decorator-b)
200
+ var(--fk-padding-decorator-l);
201
+
202
+ --fk-padding-button-x: calc(var(--fk-padding-base) * 8);
203
+ --fk-padding-button-y: calc(var(--fk-padding-base) * 3);
204
+ --fk-padding-button-t: var(--fk-padding-button-y);
205
+ --fk-padding-button-r: var(--fk-padding-button-x);
206
+ --fk-padding-button-b: var(--fk-padding-button-y);
207
+ --fk-padding-button-l: var(--fk-padding-button-x);
208
+ --fk-padding-button: var(--fk-padding-button-t) var(--fk-padding-button-r)
209
+ var(--fk-padding-button-b) var(--fk-padding-button-l);
210
+
211
+ /* Margin */
212
+ --fk-margin-base: 0.5em;
213
+
214
+ --fk-margin-outer-x: inherit;
215
+ --fk-margin-outer-y: inherit;
216
+ --fk-margin-outer-t: var(--fk-margin-outer-y, 0);
217
+ --fk-margin-outer-r: var(--fk-margin-outer-x, 0);
218
+ --fk-margin-outer-b: var(
219
+ --fk-margin-outer-y,
220
+ calc(var(--fk-margin-base) * 2)
221
+ );
222
+ --fk-margin-outer-l: var(--fk-margin-outer-x, 0);
223
+ --fk-margin-outer: var(--fk-margin-outer-t) var(--fk-margin-outer-r)
224
+ var(--fk-margin-outer-b) var(--fk-margin-outer-l);
225
+
226
+ --fk-margin-wrapper-x: inherit;
227
+ --fk-margin-wrapper-y: inherit;
228
+ --fk-margin-wrapper-t: var(--fk-margin-wrapper-y, 0);
229
+ --fk-margin-wrapper-r: var(--fk-margin-wrapper-x, 0);
230
+ --fk-margin-wrapper-b: var(--fk-margin-wrapper-y, 0);
231
+ --fk-margin-wrapper-l: var(--fk-margin-wrapper-x, 0);
232
+ --fk-margin-wrapper: var(--fk-margin-wrapper-t) var(--fk-margin-wrapper-r)
233
+ var(--fk-margin-wrapper-b) var(--fk-margin-wrapper-l);
234
+
235
+ --fk-margin-input-x: inherit;
236
+ --fk-margin-input-y: inherit;
237
+ --fk-margin-input-t: var(--fk-margin-input-y, 0);
238
+ --fk-margin-input-r: var(--fk-margin-input-x, 0);
239
+ --fk-margin-input-b: var(--fk-margin-input-y, 0);
240
+ --fk-margin-input-l: var(--fk-margin-input-x, 0);
241
+ --fk-margin-input: var(--fk-margin-input-t) var(--fk-margin-input-r)
242
+ var(--fk-margin-input-b) var(--fk-margin-input-l);
243
+
244
+ --fk-margin-label-x: inherit;
245
+ --fk-margin-label-y: 0;
246
+ --fk-margin-label-t: var(--fk-margin-label-y, 0);
247
+ --fk-margin-label-r: var(--fk-margin-label-x, 0);
248
+ --fk-margin-label-b: var(--fk-margin-label-y, var(--fk-margin-base));
249
+ --fk-margin-label-l: var(--fk-margin-label-x, 0);
250
+ --fk-margin-label: var(--fk-margin-label-t) var(--fk-margin-label-r)
251
+ var(--fk-margin-label-b) var(--fk-margin-label-l);
252
+
253
+ --fk-margin-help-x: inherit;
254
+ --fk-margin-help-y: 0.3em;
255
+ --fk-margin-help-t: var(--fk-margin-help-y, 0);
256
+ --fk-margin-help-r: var(--fk-margin-help-x, 0);
257
+ --fk-margin-help-b: 0;
258
+ --fk-margin-help-l: var(--fk-margin-help-x, 0);
259
+ --fk-margin-help: var(--fk-margin-help-t) var(--fk-margin-help-r)
260
+ var(--fk-margin-help-b) var(--fk-margin-help-l);
261
+
262
+ --fk-margin-option-x: inherit;
263
+ --fk-margin-option-y: inherit;
264
+ --fk-margin-option-t: var(--fk-margin-option-y, 0);
265
+ --fk-margin-option-r: var(--fk-margin-option-x, 0);
266
+ --fk-margin-option-b: var(--fk-margin-option-y, 0.625em);
267
+ --fk-margin-option-l: var(--fk-margin-option-x, 0);
268
+ --fk-margin-option: var(--fk-margin-option-t) var(--fk-margin-option-r)
269
+ var(--fk-margin-option-b) var(--fk-margin-option-l);
270
+
271
+ --fk-margin-message-x: inherit;
272
+ --fk-margin-message-y: inherit;
273
+ --fk-margin-message-t: var(--fk-margin-message-y, 0);
274
+ --fk-margin-message-r: var(--fk-margin-message-x, 0);
275
+ --fk-margin-message-b: var(--fk-margin-message-y, 0);
276
+ --fk-margin-message-l: var(--fk-margin-message-x, 0);
277
+ --fk-margin-message: var(--fk-margin-message-t) var(--fk-margin-message-r)
278
+ var(--fk-margin-message-b) var(--fk-margin-message-l);
279
+
280
+ --fk-margin-legend-x: 0em;
281
+ --fk-margin-legend-y: inherit;
282
+ --fk-margin-legend-t: var(--fk-margin-legend-y, 0);
283
+ --fk-margin-legend-r: var(--fk-margin-legend-x, 0);
284
+ --fk-margin-legend-b: var(--fk-margin-legend-y, 0);
285
+ --fk-margin-legend-l: var(--fk-margin-legend-x, 0);
286
+ --fk-margin-legend: var(--fk-margin-legend-t) var(--fk-margin-legend-r)
287
+ var(--fk-margin-legend-b) var(--fk-margin-legend-l);
288
+
289
+ --fk-margin-fieldset-x: inherit;
290
+ --fk-margin-fieldset-y: inherit;
291
+ --fk-margin-fieldset-t: var(--fk-margin-fieldset-y, 0);
292
+ --fk-margin-fieldset-r: var(--fk-margin-fieldset-x, 0);
293
+ --fk-margin-fieldset-b: var(--fk-margin-fieldset-y, 0);
294
+ --fk-margin-fieldset-l: var(--fk-margin-fieldset-x, 0);
295
+ --fk-margin-fieldset: var(--fk-margin-fieldset-t)
296
+ var(--fk-margin-fieldset-r) var(--fk-margin-fieldset-b)
297
+ var(--fk-margin-fieldset-l);
298
+
299
+ --fk-margin-decorator-x: inherit;
300
+ --fk-margin-decorator-y: inherit;
301
+ --fk-margin-decorator-t: var(--fk-margin-decorator-y, 0);
302
+ --fk-margin-decorator-r: var(--fk-margin-decorator-x, 0.5em);
303
+ --fk-margin-decorator-b: var(--fk-margin-decorator-y, 0);
304
+ --fk-margin-decorator-l: var(--fk-margin-decorator-x, 0);
305
+ --fk-margin-decorator: var(--fk-margin-decorator-t)
306
+ var(--fk-margin-decorator-r) var(--fk-margin-decorator-b)
307
+ var(--fk-margin-decorator-l);
308
+
309
+ --fk-margin-button-x: inherit;
310
+ --fk-margin-button-y: inherit;
311
+ --fk-margin-button-t: var(--fk-margin-button-y, 0);
312
+ --fk-margin-button-r: var(--fk-margin-button-x, 0.5em);
313
+ --fk-margin-button-b: var(--fk-margin-button-y, 0);
314
+ --fk-margin-button-l: var(--fk-margin-button-x, 0);
315
+ --fk-margin-button: var(--fk-margin-button-t) var(--fk-margin-button-r)
316
+ var(--fk-margin-button-b) var(--fk-margin-button-l);
317
+
318
+ /* default icons */
319
+ --fk-icon-close: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxsaW5lIHgxPSIxOCIgeTE9IjYiIHgyPSI2IiB5Mj0iMTgiPjwvbGluZT4KICA8bGluZSB4MT0iNiIgeTE9IjYiIHgyPSIxOCIgeTI9IjE4Ij48L2xpbmU +
320
+ Cjwvc3ZnPg==;
321
+ --fk-icon-down: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwb2x5bGluZSBwb2ludHM9IjYgOSAxMiAxNSAxOCA5Ij48L3BvbHlsaW5lPgo8L3N2Zz4=;
322
+ --fk-icon-fileDoc: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwYXRoIGQ9Ik0xNC41IDJINmEyIDIgMCAwIDAtMiAydjE2YTIgMiAwIDAgMCAyIDJoMTJhMiAyIDAgMCAwIDItMlY3LjVMMTQuNSAyeiI +
323
+ PC9wYXRoPgogIDxwb2x5bGluZSBwb2ludHM9IjE0IDIgMTQgOCAyMCA4Ij48L3BvbHlsaW5lPgogIDxsaW5lIHgxPSIxNiIgeTE9IjEzIiB4Mj0iOCIgeTI9IjEzIj48L2xpbmU +
324
+ CiAgPGxpbmUgeDE9IjE2IiB5MT0iMTciIHgyPSI4IiB5Mj0iMTciPjwvbGluZT4KICA8bGluZSB4MT0iMTAiIHkxPSI5IiB4Mj0iOCIgeTI9IjkiPjwvbGluZT4KPC9zdmc +;
325
+ --fk-icon-check: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPgogIDxwb2x5bGluZSBwb2ludHM9IjIwIDYgOSAxNyA0IDEyIj48L3BvbHlsaW5lPgo8L3N2Zz4=;
326
+ --fk-icon-circle: PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMiAzMiI +
327
+ PGNpcmNsZSBmaWxsPSJjdXJyZW50Q29sb3IiIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIvPjwvc3ZnPg==;
328
+
329
+ /* icons by location name */
330
+ --fk-icon-fileItem: var(--fk-icon-fileDoc);
331
+ --fk-icon-fileRemove: var(--fk-icon-close);
332
+ --fk-icon-noFiles: var(--fk-icon-fileDoc);
333
+ --fk-icon-select: var(--fk-icon-down);
334
+ --fk-icon-checkboxDecorator: var(--fk-icon-check);
335
+ --fk-icon-radioDecorator: var(--fk-icon-circle);
336
+ }
337
+
338
+ [data-type='checkbox'] .formkit-input ~ .formkit-decorator .formkit-icon,
339
+ [data-type='radio'] .formkit-input ~ .formkit-decorator .formkit-icon {
340
+ padding: 2px;
341
+ }
342
+ [data-type='radio'] .formkit-input ~ .formkit-decorator .formkit-icon {
343
+ padding: 3px;
344
+ }
345
+
346
+ [data-invalid] .formkit-inner {
347
+ --fk-color-border-focus: var(--fk-color-danger);
348
+ --fk-color-border-shadow: var(--bms-red-10);
349
+
350
+ box-shadow: 0 0 0 var(--fk-border-width-focus) var(--fk-color-border-focus),
351
+ 0 0 2px 2px var(--fk-color-border-shadow);
352
+ }
353
+ }
@@ -0,0 +1,11 @@
1
+ $customFontFamily: 'Roboto', Arial, Helvetica, sans-serif;
2
+
3
+ @use './conf' as sbu with (
4
+ $fontFamily: $customFontFamily
5
+ );
6
+
7
+ @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap');
8
+
9
+ @include sbu.styles;
10
+ @include sbu.formkit;
11
+ @include sbu.global-variables;
@@ -0,0 +1,56 @@
1
+ @mixin global-variables {
2
+ :root {
3
+ --bms-grey-140: #333333;
4
+ --bms-grey-100: #526476;
5
+ --bms-grey-75: #7c8a97;
6
+ --bms-grey-50: #a7b0b9;
7
+ --bms-grey-25: #d1d6da;
8
+ --bms-grey-10: #ebedef;
9
+ --bms-main-analog-140: #5153ac;
10
+ --bms-main-analog-100: #696ce0;
11
+ --bms-main-analog-75: #8e90e7;
12
+ --bms-main-analog-50: #b2b4ee;
13
+ --bms-main-analog-25: #d7d8f5;
14
+ --bms-main-analog-10: #edeef9;
15
+ --bms-main-140: #3f91d9;
16
+ --bms-main-100: #69a9e1;
17
+ --bms-main-75: #8ebee8;
18
+ --bms-main-50: #b2d2ee;
19
+ --bms-main-25: #d6e7f5;
20
+ --bms-main-10: #edf4f9;
21
+ --bms-green-140: #27731b;
22
+ --bms-green-100: #57b47d;
23
+ --bms-green-75: #80c69d;
24
+ --bms-green-50: #a9d8bc;
25
+ --bms-green-25: #d3eadc;
26
+ --bms-green-10: #eff9ee;
27
+ --bms-orange-140: #90550b;
28
+ --bms-orange-100: #f08e13;
29
+ --bms-orange-75: #f3a94f;
30
+ --bms-orange-50: #f6c788;
31
+ --bms-orange-25: #f9e1c3;
32
+ --bms-orange-10: #fbf1e5;
33
+ --bms-red-140: #7c1212;
34
+ --bms-red-100: #dc474c;
35
+ --bms-red-75: #e47478;
36
+ --bms-red-50: #eca1a4;
37
+ --bms-red-25: #f4cfd0;
38
+ --bms-red-10: #f9eaeb;
39
+
40
+ --bms-white: #fcfcfc;
41
+ --bms-background-color: #f6f6f8;
42
+ --bms-border-radius: 4px;
43
+ --bms-border-radius-large: 8px;
44
+ --bms-border-radius-xlarge: 16px;
45
+ --bms-shadow-color: var(--bms-grey-10);
46
+
47
+ --bms-danger-color: var(--bms-red-100);
48
+ --bms-warning-color: var(--bms-orange-100);
49
+ --bms-default-color: var(--bms-blue-100);
50
+ --bms-success-color: var(--bms-green-100);
51
+ --bms-information-color: var(--bms-grey-100);
52
+
53
+ --bms-disabled-color: var(--bms-grey-50);
54
+ --bms-font-color: var(--bms-grey-100);
55
+ }
56
+ }
@@ -0,0 +1,56 @@
1
+ import BmsButton from '@/components/button/BmsButton.vue';
2
+ import BmsIconButton from '@/components/button/BmsIconButton.vue';
3
+ import { Heart } from 'lucide-vue-next';
4
+
5
+ const types = ['primary', 'secondary', 'tertiary'];
6
+ const modes = ['default', 'danger'];
7
+
8
+ export default {
9
+ title: 'Composants/button',
10
+ component: BmsButton,
11
+ };
12
+
13
+ const AllButtonsTemplate = () => ({
14
+ components: {
15
+ BmsButton,
16
+ BmsIconButton,
17
+ Heart,
18
+ },
19
+ setup() {
20
+ return { types, modes };
21
+ },
22
+ template: `
23
+ <div style="display:grid;grid-template-columns:repeat(3, auto); gap:1em; justify-items: start;">
24
+ <template v-for="mode in modes" :key="mode">
25
+ <template v-for="type in types">
26
+ <template v-for="to in [null,'/path']" :key="to">
27
+ <BmsButton :mode="mode" :type="type" :to="to">
28
+ Button {{ mode }} {{ type }} {{ to ? ' avec une URL ' : '' }}
29
+ </BmsButton>
30
+ <BmsButton :mode="mode" :type="type" class="_hover" :to="to">
31
+ Button {{ mode }} {{ type }} {{ to ? ' avec une URL ' : '' }} hovered
32
+ </BmsButton>
33
+ <BmsButton :mode="mode" :type="type" disabled :to="to">
34
+ Button {{ mode }} {{ type }} {{ to ? ' avec une URL ' : '' }} disabled
35
+ </BmsButton>
36
+ </template>
37
+ </template>
38
+ </template>
39
+
40
+ <BmsIconButton v-bind="args" :to="to">
41
+ <Heart />
42
+ </BmsIconButton>
43
+ <BmsIconButton v-bind="args" class="_hover" :to="to">
44
+ <Heart />
45
+ </BmsIconButton>
46
+ <BmsIconButton v-bind="args" disabled>
47
+ <Heart />
48
+ </BmsIconButton>
49
+ <BmsIconButton v-bind="args" disabled :to="to">
50
+ <Heart />
51
+ </BmsIconButton>
52
+ </div>
53
+ `,
54
+ });
55
+
56
+ export const AllButtons = AllButtonsTemplate.bind({});
@@ -0,0 +1,37 @@
1
+ import BmsButton from '@/components/button/BmsButton.vue';
2
+ import { mount, shallowMount } from '@vue/test-utils';
3
+
4
+ describe('BmsButton', () => {
5
+ it('should mount component correctly', async () => {
6
+ const wrapper = mount(BmsButton, {
7
+ slots: {
8
+ default: 'Hello world!',
9
+ },
10
+ } as any);
11
+
12
+ expect(wrapper.text()).toContain('Hello world!');
13
+ });
14
+
15
+ describe('component tag behavior', () => {
16
+ it('should be a correct link when to pass', () => {
17
+ const wrapper = shallowMount(BmsButton, {
18
+ props: {
19
+ to: '/foo',
20
+ },
21
+ });
22
+
23
+ expect(() => wrapper.get('button[type]')).toThrowError();
24
+ expect(wrapper.find('router-link')).toBeTruthy();
25
+ });
26
+
27
+ it('should have type when its a button', () => {
28
+ const wrapper = mount(BmsButton, {
29
+ props: {
30
+ submit: true,
31
+ },
32
+ });
33
+
34
+ expect(wrapper.get('button[type="submit"]')).toBeTruthy();
35
+ });
36
+ });
37
+ });
@@ -0,0 +1,84 @@
1
+ import BmsButton from '@/components/button/BmsButton.vue';
2
+ import { ArrowLeft, ArrowRight, Camera, Heart, Wand } from 'lucide-vue-next';
3
+ import { StatusType } from '@/models';
4
+
5
+ export default {
6
+ title: 'Composants/button/Button',
7
+ component: BmsButton,
8
+ argTypes: {
9
+ type: {
10
+ control: { type: 'select' },
11
+ options: ['primary', 'secondary', 'tertiary'],
12
+ },
13
+ mode: {
14
+ control: { type: 'select' },
15
+ options: [StatusType.Default, StatusType.Danger],
16
+ },
17
+ submit: {
18
+ control: { type: 'boolean' },
19
+ },
20
+ to: { control: { type: 'text' } },
21
+ },
22
+ };
23
+
24
+ const Template = (args) => ({
25
+ components: {
26
+ BmsButton,
27
+ ArrowRight,
28
+ ArrowLeft,
29
+ Camera,
30
+ Heart,
31
+ Wand,
32
+ },
33
+ setup() {
34
+ return { args };
35
+ },
36
+ template: `
37
+ <BmsButton v-bind="args">Save me</BmsButton>
38
+ <br>
39
+ <br>
40
+ <BmsButton v-bind="args">
41
+ Next page
42
+ <template #end><ArrowRight /></template>
43
+ </BmsButton>
44
+ <br>
45
+ <br>
46
+ <BmsButton v-bind="args">
47
+ <template #start>
48
+ <Heart/>
49
+ </template>
50
+ Icons left & right
51
+ <template #end>
52
+ <Wand/>
53
+ </template>
54
+ </BmsButton>
55
+ <br>
56
+ <br>
57
+ <BmsButton v-bind="args">
58
+ <template #start><ArrowLeft /></template>
59
+ Retour
60
+ </BmsButton>
61
+ <br>
62
+ `,
63
+ });
64
+
65
+ export const Primary = Template.bind({});
66
+ Primary.args = {
67
+ type: 'primary',
68
+ };
69
+
70
+ export const PrimaryDanger = Template.bind({});
71
+ PrimaryDanger.args = {
72
+ type: 'primary',
73
+ mode: StatusType.Danger,
74
+ };
75
+
76
+ export const Secondary = Template.bind({});
77
+ Secondary.args = {
78
+ type: 'secondary',
79
+ };
80
+
81
+ export const Tertiary = Template.bind({});
82
+ Tertiary.args = {
83
+ type: 'tertiary',
84
+ };
@@ -0,0 +1,50 @@
1
+ <template>
2
+ <UiButton
3
+ :mode="uiMode"
4
+ :color="mode"
5
+ :to="to"
6
+ :type="submit ? 'submit' : 'button'"
7
+ >
8
+ <template #start>
9
+ <slot name="start"> </slot>
10
+ </template>
11
+ <slot></slot>
12
+ <template #end>
13
+ <slot name="end"> </slot>
14
+ </template>
15
+ </UiButton>
16
+ </template>
17
+
18
+ <script setup lang="ts">
19
+ import { computed } from 'vue';
20
+ import UiButton from './UiButton.vue';
21
+ import { RouteLocationRaw } from 'vue-router';
22
+ import { StatusType } from '@/models/status-type.model';
23
+
24
+ interface Props {
25
+ type?: 'primary' | 'secondary' | 'tertiary';
26
+ to?: RouteLocationRaw | null;
27
+ mode?: StatusType.Danger | StatusType.Default;
28
+ submit?: boolean;
29
+ }
30
+
31
+ const props = withDefaults(defineProps<Props>(), {
32
+ type: 'primary',
33
+ to: null,
34
+ mode: StatusType.Default,
35
+ submit: false,
36
+ });
37
+
38
+ const uiMode = computed(() => {
39
+ switch (props.type) {
40
+ case 'primary':
41
+ return 'fill';
42
+ case 'secondary':
43
+ return 'outline';
44
+ case 'tertiary':
45
+ return 'ghost';
46
+ default:
47
+ return 'fill';
48
+ }
49
+ });
50
+ </script>