@propelinc/citrus-ui 0.6.0 → 1.0.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 (355) hide show
  1. package/README.md +54 -60
  2. package/dist/colors/colors.d.ts +31 -0
  3. package/dist/colors/theme.d.ts +2 -11
  4. package/dist/colors/util-classes.d.ts +11 -0
  5. package/dist/components/CAccordion.vue.d.ts +21 -0
  6. package/dist/components/CAccordionItem.vue.d.ts +41 -0
  7. package/dist/components/CAppBar.vue.d.ts +156 -0
  8. package/dist/components/CBadge.vue.d.ts +52 -0
  9. package/dist/components/CBottomSheet.vue.d.ts +226 -0
  10. package/dist/components/CButton/CButton.vue.d.ts +231 -0
  11. package/dist/components/CButton/types.d.ts +5 -0
  12. package/dist/components/CButtonStack.vue.d.ts +24 -0
  13. package/dist/components/CCard.vue.d.ts +107 -0
  14. package/dist/components/CCardFooter.vue.d.ts +26 -0
  15. package/dist/components/CCardHeader.vue.d.ts +3 -0
  16. package/dist/components/CCardSection.vue.d.ts +17 -0
  17. package/dist/components/CCheckbox.vue.d.ts +145 -0
  18. package/dist/components/CCol.vue.d.ts +21 -0
  19. package/dist/components/CDivider.vue.d.ts +17 -0
  20. package/dist/components/CDobField.vue.d.ts +2109 -0
  21. package/dist/components/CDobSelect.vue.d.ts +398 -0
  22. package/dist/components/CEmailField.vue.d.ts +699 -0
  23. package/dist/components/CExpandTransition.vue.d.ts +19 -0
  24. package/dist/components/CFadeTransition.vue.d.ts +3 -0
  25. package/dist/components/CFileInput.vue.d.ts +98 -0
  26. package/dist/components/CFixedPageFooter.vue.d.ts +106 -0
  27. package/dist/components/CForm.vue.d.ts +29 -0
  28. package/dist/components/CFormFieldCounter.vue.d.ts +42 -0
  29. package/dist/components/CIconButton.vue.d.ts +390 -0
  30. package/dist/components/CLabel.vue.d.ts +32 -0
  31. package/dist/components/CListItem.vue.d.ts +208 -0
  32. package/dist/components/CListItemContent.vue.d.ts +27 -0
  33. package/dist/components/CListItemIcon.vue.d.ts +54 -0
  34. package/dist/components/CLoader.vue.d.ts +73 -0
  35. package/dist/components/CLogo.vue.d.ts +19 -0
  36. package/dist/components/CMaskedTextField.vue.d.ts +2012 -0
  37. package/dist/components/CMenu.vue.d.ts +6 -0
  38. package/dist/components/CMenuItem.vue.d.ts +170 -0
  39. package/dist/components/CMenuLabel.vue.d.ts +3 -0
  40. package/dist/components/CModal.vue.d.ts +206 -0
  41. package/dist/components/CModalLoading.vue.d.ts +230 -0
  42. package/dist/components/CNotification.vue.d.ts +589 -0
  43. package/dist/components/CPhoneField.vue.d.ts +2088 -0
  44. package/dist/components/CPill.vue.d.ts +42 -0
  45. package/dist/components/CPillGroup.vue.d.ts +70 -0
  46. package/dist/components/CPopup.vue.d.ts +21 -0
  47. package/dist/components/CProgressLinear.vue.d.ts +61 -0
  48. package/dist/components/CProgressRing.vue.d.ts +103 -0
  49. package/dist/components/CRadio.vue.d.ts +73 -0
  50. package/dist/components/CRadioGroup.vue.d.ts +123 -0
  51. package/dist/components/CRebrand.vue.d.ts +28 -0
  52. package/dist/components/CRow.vue.d.ts +67 -0
  53. package/dist/components/CSafeArea.vue.d.ts +18 -0
  54. package/dist/components/CSectionHeader.vue.d.ts +28 -0
  55. package/dist/components/CSelect.vue.d.ts +293 -0
  56. package/dist/components/CSkeleton.vue.d.ts +3 -0
  57. package/dist/components/CSkeletonLoaderCard.vue.d.ts +21 -0
  58. package/dist/components/CSkeletonLoaderCircle.vue.d.ts +5 -0
  59. package/dist/components/CSkeletonLoaderText.vue.d.ts +44 -0
  60. package/dist/components/CSlideFadeTransition.vue.d.ts +58 -0
  61. package/dist/components/CSplitInput.vue.d.ts +2131 -0
  62. package/dist/components/CSquaredIcon.vue.d.ts +47 -0
  63. package/dist/components/CSsnField.vue.d.ts +2083 -0
  64. package/dist/components/CStatusDot.vue.d.ts +27 -0
  65. package/dist/components/CSwitch.vue.d.ts +54 -0
  66. package/dist/components/CSwitchListItem.vue.d.ts +392 -0
  67. package/dist/components/CTextArea.vue.d.ts +240 -0
  68. package/dist/components/CTextField.vue.d.ts +647 -0
  69. package/dist/components/CTextLink.vue.d.ts +55 -0
  70. package/dist/components/CThirdPartyLogo.vue.d.ts +128 -0
  71. package/dist/components/CTimeago.vue.d.ts +12 -0
  72. package/dist/components/CToast.vue.d.ts +458 -0
  73. package/dist/components/CToastsList.vue.d.ts +430 -0
  74. package/dist/components/CValidationMessage.vue.d.ts +45 -0
  75. package/dist/components/CZipcodeField.vue.d.ts +2080 -0
  76. package/dist/components/index.d.ts +66 -25
  77. package/dist/components/internal/CCloseButton.vue.d.ts +14 -0
  78. package/dist/composables/accessibility.d.ts +1 -0
  79. package/dist/composables/animation.d.ts +12 -0
  80. package/dist/composables/binding.d.ts +19 -0
  81. package/dist/composables/colors.d.ts +13 -0
  82. package/dist/composables/elements.d.ts +3 -0
  83. package/dist/composables/fields.d.ts +9 -0
  84. package/dist/composables/gestures.d.ts +53 -0
  85. package/dist/composables/i18n.d.ts +3 -0
  86. package/dist/composables/id.d.ts +11 -0
  87. package/dist/composables/input-mask.d.ts +18 -0
  88. package/dist/composables/router.d.ts +30 -0
  89. package/dist/composables/slots.d.ts +2 -0
  90. package/dist/composables/toast.d.ts +21 -0
  91. package/dist/composables/validations.d.ts +77 -0
  92. package/dist/index.css +1 -0
  93. package/dist/index.d.ts +5 -4
  94. package/dist/index.mjs +11738 -0
  95. package/dist/index.mjs.map +1 -0
  96. package/dist/plugin.d.ts +2 -2
  97. package/dist/services/animation.d.ts +17 -0
  98. package/dist/services/directives/index.d.ts +2 -0
  99. package/dist/services/directives/scroll-into-view.d.ts +7 -0
  100. package/dist/services/directives/tap-animation.d.ts +6 -0
  101. package/dist/services/id.d.ts +22 -0
  102. package/dist/services/injections/accordions.d.ts +3 -0
  103. package/dist/services/injections/animations.d.ts +2 -0
  104. package/dist/services/injections/buttons.d.ts +4 -0
  105. package/dist/services/injections/forms.d.ts +6 -0
  106. package/dist/services/injections/icon-buttons.d.ts +3 -0
  107. package/dist/services/injections/pills.d.ts +4 -0
  108. package/dist/services/injections/radio.d.ts +10 -0
  109. package/dist/styles/main.css +3002 -0
  110. package/dist/styles/utils.css +2319 -0
  111. package/dist/theme/icons.d.ts +35 -2
  112. package/dist/types/CForm.d.ts +12 -0
  113. package/dist/types/font-awesome.d.ts +5 -0
  114. package/dist/types.d.ts +12 -0
  115. package/index.ts +2 -0
  116. package/package.json +60 -45
  117. package/src/assets/fonts/grenette-regular.woff2 +0 -0
  118. package/src/assets/fonts/grenette-semibold.woff2 +0 -0
  119. package/src/assets/fonts/polymath.woff2 +0 -0
  120. package/src/assets/logos/propel/icon.svg +15 -0
  121. package/src/assets/logos/propel/lockup.svg +11 -0
  122. package/src/colors/colors.ts +173 -0
  123. package/src/colors/theme.ts +8 -14
  124. package/src/colors/util-classes.ts +49 -0
  125. package/src/componentResolver.js +33 -0
  126. package/src/components/CAccordion.vue +32 -7
  127. package/src/components/CAccordionItem.vue +109 -36
  128. package/src/components/CAppBar.vue +237 -0
  129. package/src/components/CBadge.vue +74 -0
  130. package/src/components/CBottomSheet.vue +430 -0
  131. package/src/components/CButton/CButton.vue +347 -0
  132. package/src/components/CButton/types.ts +5 -0
  133. package/src/components/CButtonStack.vue +36 -0
  134. package/src/components/CCard.vue +149 -41
  135. package/src/components/CCardFooter.vue +11 -27
  136. package/src/components/CCardHeader.vue +30 -21
  137. package/src/components/CCardSection.vue +23 -12
  138. package/src/components/CCheckbox.vue +191 -21
  139. package/src/components/CCol.vue +55 -0
  140. package/src/components/CDivider.vue +46 -0
  141. package/src/components/CDobField.vue +153 -0
  142. package/src/components/CDobSelect.vue +274 -0
  143. package/src/components/CEmailField.vue +61 -0
  144. package/src/components/CExpandTransition.vue +55 -0
  145. package/src/components/CFadeTransition.vue +23 -0
  146. package/src/components/CFileInput.vue +186 -0
  147. package/src/components/CFixedPageFooter.vue +76 -0
  148. package/src/components/CForm.vue +86 -0
  149. package/src/components/CFormFieldCounter.vue +40 -0
  150. package/src/components/CIconButton.vue +175 -59
  151. package/src/components/CLabel.vue +52 -0
  152. package/src/components/CListItem.vue +149 -45
  153. package/src/components/CListItemContent.vue +60 -0
  154. package/src/components/CListItemIcon.vue +27 -31
  155. package/src/components/CLoader.vue +156 -0
  156. package/src/components/CLogo.vue +23 -0
  157. package/src/components/CMaskedTextField.vue +118 -0
  158. package/src/components/CMenu.vue +24 -0
  159. package/src/components/CMenuItem.vue +106 -0
  160. package/src/components/CMenuLabel.vue +26 -0
  161. package/src/components/CModal.vue +198 -79
  162. package/src/components/CModalLoading.vue +27 -9
  163. package/src/components/CNotification.vue +86 -53
  164. package/src/components/CPhoneField.vue +69 -0
  165. package/src/components/CPill.vue +162 -0
  166. package/src/components/CPillGroup.vue +73 -0
  167. package/src/components/CPopup.vue +66 -0
  168. package/src/components/CProgressLinear.vue +52 -0
  169. package/src/components/CProgressRing.vue +126 -0
  170. package/src/components/CRadio.vue +138 -0
  171. package/src/components/CRadioGroup.vue +142 -0
  172. package/src/components/CRebrand.vue +28 -0
  173. package/src/components/CRow.vue +62 -0
  174. package/src/components/CSafeArea.vue +23 -0
  175. package/src/components/CSectionHeader.vue +50 -0
  176. package/src/components/CSelect.vue +223 -74
  177. package/src/components/CSkeleton.vue +65 -0
  178. package/src/components/CSkeletonLoaderCard.vue +29 -0
  179. package/src/components/CSkeletonLoaderCircle.vue +18 -14
  180. package/src/components/CSkeletonLoaderText.vue +127 -17
  181. package/src/components/CSlideFadeTransition.vue +100 -0
  182. package/src/components/CSplitInput.vue +111 -0
  183. package/src/components/CSquaredIcon.vue +83 -0
  184. package/src/components/CSsnField.vue +86 -0
  185. package/src/components/CStatusDot.vue +70 -0
  186. package/src/components/CSwitch.vue +125 -0
  187. package/src/components/CSwitchListItem.vue +110 -0
  188. package/src/components/CTextArea.vue +193 -47
  189. package/src/components/CTextField.vue +450 -93
  190. package/src/components/CTextLink.vue +48 -38
  191. package/src/components/CThirdPartyLogo.vue +127 -0
  192. package/src/components/CTimeago.vue +63 -0
  193. package/src/components/CToast.vue +259 -0
  194. package/src/components/CToastsList.vue +32 -0
  195. package/src/components/CValidationMessage.vue +70 -0
  196. package/src/components/CZipcodeField.vue +69 -0
  197. package/src/components/index.ts +66 -25
  198. package/src/components/internal/CCloseButton.vue +57 -0
  199. package/src/composables/accessibility.ts +29 -0
  200. package/src/composables/animation.ts +95 -0
  201. package/src/composables/binding.ts +34 -0
  202. package/src/composables/colors.ts +59 -0
  203. package/src/composables/elements.ts +72 -0
  204. package/src/composables/fields.ts +19 -0
  205. package/src/composables/gestures.ts +197 -0
  206. package/src/composables/i18n.ts +13 -0
  207. package/src/composables/id.ts +23 -0
  208. package/src/composables/input-mask.ts +139 -0
  209. package/src/composables/router.ts +64 -0
  210. package/src/composables/slots.ts +57 -0
  211. package/src/composables/toast.ts +64 -0
  212. package/src/composables/validations.ts +214 -0
  213. package/src/index.ts +7 -7
  214. package/src/plugin.ts +13 -6
  215. package/src/services/animation.ts +101 -0
  216. package/src/services/directives/index.ts +2 -0
  217. package/src/services/directives/scroll-into-view.ts +86 -0
  218. package/src/services/directives/tap-animation.ts +71 -0
  219. package/src/services/id.ts +31 -0
  220. package/src/services/injections/accordions.ts +4 -0
  221. package/src/services/injections/animations.ts +3 -0
  222. package/src/services/injections/buttons.ts +5 -0
  223. package/src/services/injections/forms.ts +8 -0
  224. package/src/services/injections/icon-buttons.ts +4 -0
  225. package/src/services/injections/pills.ts +7 -0
  226. package/src/services/injections/radio.ts +12 -0
  227. package/src/shims-vue.d.ts +6 -3
  228. package/src/styles/_animation.scss +19 -0
  229. package/src/styles/_button.scss +61 -0
  230. package/src/styles/_colors.scss +58 -11
  231. package/src/styles/_core.scss +248 -87
  232. package/src/styles/_form-fields.scss +68 -15
  233. package/src/styles/_grenette.scss +13 -0
  234. package/src/styles/_polymath.scss +14 -0
  235. package/src/styles/_reset.scss +105 -0
  236. package/src/styles/_shoelace.scss +46 -0
  237. package/src/styles/_typography.scss +40 -10
  238. package/src/styles/main.scss +6 -3
  239. package/src/styles/utils/a11y.scss +18 -0
  240. package/src/styles/utils/typography.scss +13 -0
  241. package/src/styles/utils.scss +560 -0
  242. package/src/styles/variables.scss +27 -15
  243. package/src/theme/icons.ts +16 -5
  244. package/src/types/CForm.ts +15 -0
  245. package/src/types/font-awesome.ts +6 -0
  246. package/src/types.ts +15 -0
  247. package/.browserslistrc +0 -3
  248. package/.eslintrc.js +0 -4
  249. package/.stylelintrc.js +0 -3
  250. package/babel.config.js +0 -3
  251. package/dist/citrus-ui.common.js +0 -43434
  252. package/dist/citrus-ui.common.js.map +0 -1
  253. package/dist/citrus-ui.css +0 -1
  254. package/dist/citrus-ui.umd.js +0 -43444
  255. package/dist/citrus-ui.umd.js.map +0 -1
  256. package/dist/citrus-ui.umd.min.js +0 -27
  257. package/dist/citrus-ui.umd.min.js.map +0 -1
  258. package/dist/demo.html +0 -10
  259. package/dist/fonts/Blitz-Script.85ed9abe.woff2 +0 -0
  260. package/dist/fonts/ObjectSans-Bold.5492f3d5.woff2 +0 -0
  261. package/dist/fonts/ObjectSans-BoldSlanted.29e2a87e.woff2 +0 -0
  262. package/dist/fonts/ObjectSans-Heavy.d0b2f035.woff2 +0 -0
  263. package/dist/fonts/ObjectSans-HeavySlanted.45e9c063.woff2 +0 -0
  264. package/dist/fonts/ObjectSans-Light.f885dec3.woff2 +0 -0
  265. package/dist/fonts/ObjectSans-LightSlanted.b8eb7c12.woff2 +0 -0
  266. package/dist/fonts/ObjectSans-Regular.e4ea0b90.woff2 +0 -0
  267. package/dist/fonts/ObjectSans-Slanted.57a90be9.woff2 +0 -0
  268. package/dist/fonts/ObjectSans-Thin.86d44227.woff2 +0 -0
  269. package/dist/fonts/ObjectSans-ThinSlanted.20342160.woff2 +0 -0
  270. package/jest.config.js +0 -9
  271. package/plopfile.js +0 -67
  272. package/project.json +0 -69
  273. package/src/assets/fonts/Blitz-Script.woff2 +0 -0
  274. package/src/assets/fonts/ObjectSans-Bold.woff2 +0 -0
  275. package/src/assets/fonts/ObjectSans-BoldSlanted.woff2 +0 -0
  276. package/src/assets/fonts/ObjectSans-Heavy.woff2 +0 -0
  277. package/src/assets/fonts/ObjectSans-HeavySlanted.woff2 +0 -0
  278. package/src/assets/fonts/ObjectSans-Light.woff2 +0 -0
  279. package/src/assets/fonts/ObjectSans-LightSlanted.woff2 +0 -0
  280. package/src/assets/fonts/ObjectSans-Regular.woff2 +0 -0
  281. package/src/assets/fonts/ObjectSans-Slanted.woff2 +0 -0
  282. package/src/assets/fonts/ObjectSans-Thin.woff2 +0 -0
  283. package/src/assets/fonts/ObjectSans-ThinSlanted.woff2 +0 -0
  284. package/src/components/CAlert.vue +0 -78
  285. package/src/components/CBanner.vue +0 -47
  286. package/src/components/CButton.vue +0 -146
  287. package/src/components/CListItemAction.vue +0 -29
  288. package/src/components/CSegmentedButton.vue +0 -47
  289. package/src/components/CSegmentedButtonOption.vue +0 -42
  290. package/src/components/helpers/FormField.vue +0 -48
  291. package/src/components/helpers/SelectInput.vue +0 -115
  292. package/src/shims-scss.d.ts +0 -4
  293. package/src/shims-vuetify.d.ts +0 -4
  294. package/src/styles/_blitz.scss +0 -8
  295. package/src/styles/_object-sans.scss +0 -23
  296. package/storybook-static/0.799c368cbe88266827ba.manager.bundle.js +0 -1
  297. package/storybook-static/0.a9f0a9ad.iframe.bundle.js +0 -3
  298. package/storybook-static/0.a9f0a9ad.iframe.bundle.js.LICENSE.txt +0 -8
  299. package/storybook-static/0.a9f0a9ad.iframe.bundle.js.map +0 -1
  300. package/storybook-static/1.0438fd8d.iframe.bundle.js +0 -3
  301. package/storybook-static/1.0438fd8d.iframe.bundle.js.LICENSE.txt +0 -17
  302. package/storybook-static/1.0438fd8d.iframe.bundle.js.map +0 -1
  303. package/storybook-static/1.9ebd2fb519f6726108de.manager.bundle.js +0 -1
  304. package/storybook-static/10.348d8814.iframe.bundle.js +0 -3
  305. package/storybook-static/10.348d8814.iframe.bundle.js.LICENSE.txt +0 -30
  306. package/storybook-static/10.348d8814.iframe.bundle.js.map +0 -1
  307. package/storybook-static/10.a85ea1a67689be8e19ff.manager.bundle.js +0 -1
  308. package/storybook-static/11.f4e922583ae35da460f3.manager.bundle.js +0 -2
  309. package/storybook-static/11.f4e922583ae35da460f3.manager.bundle.js.LICENSE.txt +0 -12
  310. package/storybook-static/12.1415460941f0bdcb8fa8.manager.bundle.js +0 -1
  311. package/storybook-static/2.75a17459.iframe.bundle.js +0 -3
  312. package/storybook-static/2.75a17459.iframe.bundle.js.LICENSE.txt +0 -26
  313. package/storybook-static/2.75a17459.iframe.bundle.js.map +0 -1
  314. package/storybook-static/5.f459d151315e6780c20f.manager.bundle.js +0 -2
  315. package/storybook-static/5.f459d151315e6780c20f.manager.bundle.js.LICENSE.txt +0 -8
  316. package/storybook-static/6.3bd64d820f3745f262ff.manager.bundle.js +0 -1
  317. package/storybook-static/6.ce8d99b4.iframe.bundle.js +0 -1
  318. package/storybook-static/7.3d04765dbf3f1dcd706c.manager.bundle.js +0 -1
  319. package/storybook-static/7.6633a922.iframe.bundle.js +0 -3
  320. package/storybook-static/7.6633a922.iframe.bundle.js.LICENSE.txt +0 -12
  321. package/storybook-static/7.6633a922.iframe.bundle.js.map +0 -1
  322. package/storybook-static/8.b541eadfcb9164835dfc.manager.bundle.js +0 -1
  323. package/storybook-static/8.fc5e1ebf.iframe.bundle.js +0 -1
  324. package/storybook-static/9.411ac8e451bbb10926c7.manager.bundle.js +0 -1
  325. package/storybook-static/9.724ac3ed.iframe.bundle.js +0 -3
  326. package/storybook-static/9.724ac3ed.iframe.bundle.js.LICENSE.txt +0 -15
  327. package/storybook-static/9.724ac3ed.iframe.bundle.js.map +0 -1
  328. package/storybook-static/css/main.95216119.css +0 -1
  329. package/storybook-static/css/vendors~main.02dc89bf.css +0 -1
  330. package/storybook-static/favicon.ico +0 -0
  331. package/storybook-static/fonts/Blitz-Script.85ed9abe.woff2 +0 -0
  332. package/storybook-static/fonts/ObjectSans-Bold.5492f3d5.woff2 +0 -0
  333. package/storybook-static/fonts/ObjectSans-BoldSlanted.29e2a87e.woff2 +0 -0
  334. package/storybook-static/fonts/ObjectSans-Heavy.d0b2f035.woff2 +0 -0
  335. package/storybook-static/fonts/ObjectSans-HeavySlanted.45e9c063.woff2 +0 -0
  336. package/storybook-static/fonts/ObjectSans-Light.f885dec3.woff2 +0 -0
  337. package/storybook-static/fonts/ObjectSans-LightSlanted.b8eb7c12.woff2 +0 -0
  338. package/storybook-static/fonts/ObjectSans-Regular.e4ea0b90.woff2 +0 -0
  339. package/storybook-static/fonts/ObjectSans-Slanted.57a90be9.woff2 +0 -0
  340. package/storybook-static/fonts/ObjectSans-Thin.86d44227.woff2 +0 -0
  341. package/storybook-static/fonts/ObjectSans-ThinSlanted.20342160.woff2 +0 -0
  342. package/storybook-static/iframe.html +0 -348
  343. package/storybook-static/index.html +0 -51
  344. package/storybook-static/main.7b4aec9c4352d4bb535b.manager.bundle.js +0 -1
  345. package/storybook-static/main.9e8c64c7.iframe.bundle.js +0 -1
  346. package/storybook-static/runtime~main.91a0c7330ab317d35c4a.manager.bundle.js +0 -1
  347. package/storybook-static/runtime~main.e4da100f.iframe.bundle.js +0 -1
  348. package/storybook-static/vendors~main.6660eda6.iframe.bundle.js +0 -7
  349. package/storybook-static/vendors~main.6660eda6.iframe.bundle.js.LICENSE.txt +0 -80
  350. package/storybook-static/vendors~main.6660eda6.iframe.bundle.js.map +0 -1
  351. package/storybook-static/vendors~main.f7f16cebbf3aa96a4f89.manager.bundle.js +0 -2
  352. package/storybook-static/vendors~main.f7f16cebbf3aa96a4f89.manager.bundle.js.LICENSE.txt +0 -110
  353. package/tsconfig.dist.json +0 -7
  354. package/tsconfig.json +0 -24
  355. package/vue.config.js +0 -5
package/README.md CHANGED
@@ -6,67 +6,61 @@ See what components are currently available in [Storybook](https://storybook.pro
6
6
 
7
7
  Questions? Ask for eng help in [#unit-eng-frontend-libraries](https://propel-team.slack.com/archives/C02F363U5RB). Get answers to design or cross-functional questions in [#wg-citrus-design-system](https://propel-team.slack.com/archives/C02004PUH5M).
8
8
 
9
- ### Setup
10
-
11
- 🌲🌲🌲 Make sure you've finished Orchard setup (see: [README](https://github.com/propelinc/orchard)). 🌲🌲🌲
12
-
13
- ## Development
14
-
15
- ### Storybook
16
-
17
- Unlike a normal Vue project, we don't use a dev server to compile an app. Instead, we rely on [Storybook](https://storybook.js.org/) to render and manually test our components.
18
-
19
- ```bash
20
- pnpm nx storybook:serve # Only works in this directory
21
- pnpm nx storybook:serve citrus-ui # From anywhere within Orchard
22
- ```
23
-
24
- ### Testing
25
-
26
- Since there is no app to test, there are no e2e tests. Instead, all tests are written in jest. You can make sure you components render correctly using Storybook.
27
-
28
- ```bash
29
- pnpm nx test:unit # Only works in this directory
30
- pnpm nx test:unit citrus-ui # From anywhere within Orchard
31
- ```
32
-
33
- ### Linting
34
-
35
- We check over js/ts files with ESLint and scss files with Stylelint. The `lint` command runs both.
36
-
37
- ```bash
38
- pnpm nx lint # Only works in this directory
39
- pnpm nx lint citrus-ui # From anywhere within Orchard
9
+ ## Docs
10
+
11
+ | Page | Description |
12
+ | -------------------------------------------------- | --------------------------------------- |
13
+ | [Development](/libs/citrus-ui/docs/DEVELOPMENT.md) | Linting, testing, and adding components |
14
+ | [Style Guide](/libs/citrus-ui/docs/STYLE_GUIDE.md) | Guidelines for code styles |
15
+
16
+ ---
17
+
18
+ ## CDN Usage
19
+
20
+ citrus-ui is published to npm as `@propelinc/citrus-ui` and can be loaded via jsDelivr or unpkg. The following peer dependencies must be loaded separately.
21
+
22
+ > **Note:** `@fortawesome/pro-*` packages require a paid FontAwesome Pro license and are not available on public CDNs. Components that use icons (`CButton`, `CLabel`, `CCheckbox`, `CTextField`, `CSelect`, and others) will not render icons without FontAwesome Pro. See [CDN challenges](#cdn-challenges) below.
23
+
24
+ ```html
25
+ <!-- Shoelace styles + assets -->
26
+ <link
27
+ rel="stylesheet"
28
+ href="https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@2.15.0/cdn/themes/light.css"
29
+ />
30
+ <script type="module">
31
+ import { setBasePath } from 'https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@2.15.0/cdn/shoelace-autoloader.js';
32
+ setBasePath('https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@2.15.0/cdn/');
33
+ </script>
34
+
35
+ <!-- FontAwesome Pro (self-hosted not available on public CDNs) -->
36
+ <script src="YOUR_SELF_HOSTED_FONTAWESOME_PRO_URL"></script>
37
+
38
+ <!-- citrus-ui styles -->
39
+ <link
40
+ rel="stylesheet"
41
+ href="https://cdn.jsdelivr.net/npm/@propelinc/citrus-ui@1.0.0/dist/styles/main.css"
42
+ />
43
+
44
+ <!-- citrus-ui + Vue -->
45
+ <script type="module">
46
+ import { createApp } from 'https://cdn.jsdelivr.net/npm/vue@3/dist/vue.esm-browser.prod.js';
47
+ import CitrusUi from 'https://cdn.jsdelivr.net/npm/@propelinc/citrus-ui@1.0.0/dist/index.mjs';
48
+
49
+ const app = createApp({
50
+ /* ... */
51
+ });
52
+ app.use(CitrusUi);
53
+ app.mount('#app');
54
+ </script>
40
55
  ```
41
56
 
42
- ### Adding a component
57
+ ### CDN Challenges
43
58
 
44
- To add a new component, first generate the component with plop.
45
-
46
- ```bash
47
- pnpm generate:component # Interactive CLI
48
- pnpm generate:component -- [name] [directory] [document in storybook] # Shortcuts
49
- ```
50
-
51
- ❗️ If you want the component to be available to your Vue app, you'll need to add the component to [index.ts](https://github.com/propelinc/citrus-ui/blob/main/src/index.ts) and define the type in [index.d.ts](https://github.com/propelinc/citrus-ui/blob/main/src/index.d.ts).
52
-
53
- ## Publishing
54
-
55
- When publishing a new version, bump the version in the package.json according to [semantic versioning](https://semver.org/)
56
- .
57
-
58
- Then, run:
59
-
60
- ```bash
61
- pnpm nx publish
62
- ```
63
-
64
- ### NPM Access
65
-
66
- Because this package is published to our internal NPM repository, you'll need an [NPM account](https://www.npmjs.com/) and to be part of the [@propelinc organization](https://www.npmjs.com/org/propelinc) to publish. Once you have that set up, you'll have to login:
67
-
68
- ```bash
69
- npm login --scope=@propelinc
70
- ```
59
+ | Dependency | CDN available? | Notes |
60
+ | ------------------------------------------- | -------------- | ----------------------------------------------------- |
61
+ | `vue` | ✅ | jsDelivr / unpkg |
62
+ | `@shoelace-style/shoelace` | ✅ | Requires `setBasePath` to point at CDN assets |
63
+ | `dayjs`, `lodash`, `i18next`, `maska`, etc. | ✅ | All on public npm, available via CDN |
64
+ | `@fortawesome/pro-*` | ❌ | Paid license, not on public npm — must be self-hosted |
71
65
 
72
- Or alternatively, just ask Mohan to publish for you.
66
+ Because FontAwesome Pro cannot be served from a public CDN, components that render icons will require a self-hosted FontAwesome Pro bundle or an alternative delivery mechanism for those packages.
@@ -0,0 +1,31 @@
1
+ export type HexColor = `#${string}`;
2
+ export type RgbaColor = `rgba(${number}, ${number}, ${number}, ${number})`;
3
+ /**
4
+ * CSS color value from the palette (hex or rgba). Use this type when a value
5
+ * may be either format, e.g. gray colors are rgba, others are hex.
6
+ */
7
+ export type CssColor = HexColor | RgbaColor;
8
+ /**
9
+ * Maps a color name to its corresponding CSS color (hex or rgba).
10
+ * Gray neutrals use rgba for transparency; other colors use hex.
11
+ *
12
+ * NOTE: Please write hex codes in lowercase letters
13
+ */
14
+ declare const Colors: Record<string, CssColor>;
15
+ export default Colors;
16
+ /**
17
+ * This is a type predicate that will allow TypeScript to know that the string tested is a
18
+ * HexColor within the scope of the narrowing.
19
+ */
20
+ export declare function isHexColor(color?: string): color is HexColor;
21
+ export declare function isRgbaColor(color?: string): color is RgbaColor;
22
+ export declare function isCssColor(color?: string): color is CssColor;
23
+ /**
24
+ * This is a type predicate that will allow TypeScript to know that the string tested is a
25
+ * key of the Colors object.
26
+ */
27
+ export declare function isColorKey(color?: string): color is keyof typeof Colors;
28
+ /**
29
+ * Validates a string as either a hex color or a color key.
30
+ */
31
+ export declare function isValidColor(value: string): boolean;
@@ -1,12 +1,3 @@
1
- declare const _default: {
2
- [x: string]: import("vuetify/types/services/theme").VuetifyThemeItem;
3
- primary?: import("vuetify/types/services/theme").VuetifyThemeItem;
4
- secondary?: import("vuetify/types/services/theme").VuetifyThemeItem;
5
- accent?: import("vuetify/types/services/theme").VuetifyThemeItem;
6
- info?: import("vuetify/types/services/theme").VuetifyThemeItem;
7
- warning?: import("vuetify/types/services/theme").VuetifyThemeItem;
8
- error?: import("vuetify/types/services/theme").VuetifyThemeItem;
9
- success?: import("vuetify/types/services/theme").VuetifyThemeItem;
10
- anchor?: string | number | undefined;
11
- };
1
+ type Theme = Record<string, string>;
2
+ declare const _default: Theme;
12
3
  export default _default;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Generates utility classes for each Citrus color.
3
+ *
4
+ * For example, for blue-500 it creates:
5
+ * - `.blue-500` - sets background and border
6
+ * - `.blue-500--text` - sets text color
7
+ *
8
+ * This matches the syntax of Vuetify's utils:
9
+ * https://vuetifyjs.com/en/styles/colors/#classes
10
+ */
11
+ export declare function addColorUtils(): void;
@@ -0,0 +1,21 @@
1
+ import { DefineComponent, ExtractPropTypes, Ref, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare const _default: DefineComponent<ExtractPropTypes<{
3
+ /** Removes horizontal padding for all items inside */
4
+ fluid: {
5
+ type: BooleanConstructor;
6
+ default: boolean;
7
+ };
8
+ }>, {
9
+ accordion: Ref<HTMLDivElement | null, HTMLDivElement | null>;
10
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "change"[], "change", PublicProps, Readonly< ExtractPropTypes<{
11
+ /** Removes horizontal padding for all items inside */
12
+ fluid: {
13
+ type: BooleanConstructor;
14
+ default: boolean;
15
+ };
16
+ }>> & Readonly<{
17
+ onChange?: ((...args: any[]) => any) | undefined;
18
+ }>, {
19
+ fluid: boolean;
20
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
21
+ export default _default;
@@ -0,0 +1,41 @@
1
+ import { default as SlDetails } from '@shoelace-style/shoelace/dist/components/details/details';
2
+ import { PropType, DefineComponent, ExtractPropTypes, Ref, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ import { IconDefinition } from '@fortawesome/pro-regular-svg-icons';
4
+ import { FontAwesomeIconProps } from '@fortawesome/vue-fontawesome';
5
+ declare const _default: DefineComponent<ExtractPropTypes<{
6
+ /** Controls whether the item is open */
7
+ value: {
8
+ type: BooleanConstructor;
9
+ default: boolean;
10
+ };
11
+ /** Removes horizontal padding from the content */
12
+ fluid: {
13
+ type: PropType<boolean | null>;
14
+ default: null;
15
+ };
16
+ }>, {
17
+ internalValue: Ref<boolean, boolean>;
18
+ faChevronDown: IconDefinition;
19
+ details: Ref<SlDetails | null, SlDetails | null>;
20
+ injectedOrPropFluid: ComputedRef<boolean>;
21
+ onChange: (value: boolean) => void;
22
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "input"[], "input", PublicProps, Readonly< ExtractPropTypes<{
23
+ /** Controls whether the item is open */
24
+ value: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ /** Removes horizontal padding from the content */
29
+ fluid: {
30
+ type: PropType<boolean | null>;
31
+ default: null;
32
+ };
33
+ }>> & Readonly<{
34
+ onInput?: ((...args: any[]) => any) | undefined;
35
+ }>, {
36
+ fluid: boolean | null;
37
+ value: boolean;
38
+ }, {}, {
39
+ FontAwesomeIcon: DefineComponent<FontAwesomeIconProps>;
40
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
41
+ export default _default;
@@ -0,0 +1,156 @@
1
+ import { PropType, DefineComponent, ExtractPropTypes, Ref, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ import { HexColor, default as Colors, isValidColor, CssColor } from '../colors/colors';
3
+ declare const _default: DefineComponent<ExtractPropTypes<{
4
+ /**
5
+ * Used to set the background color of the app bar. Needs to accept either a hex code or a
6
+ * a valid color key from the Colors object.
7
+ */
8
+ backgroundColor: {
9
+ type: PropType<HexColor | keyof typeof Colors>;
10
+ default: string;
11
+ validator: typeof isValidColor;
12
+ };
13
+ color: {
14
+ type: PropType<HexColor | keyof typeof Colors>;
15
+ default: undefined;
16
+ validator: typeof isValidColor;
17
+ };
18
+ /** If true, the app bar will be fixed to the top of the viewport. */
19
+ fixed: {
20
+ type: BooleanConstructor;
21
+ default: boolean;
22
+ };
23
+ /** If true, the app bar will have a bottom border. */
24
+ border: {
25
+ type: BooleanConstructor;
26
+ default: boolean;
27
+ };
28
+ /** Shows text in the center of the component. Typically used for page names. Overrides the title slot. */
29
+ title: {
30
+ type: StringConstructor;
31
+ default: string;
32
+ };
33
+ /** Shows a loading spinner. Overrides the title slot. */
34
+ loading: {
35
+ type: BooleanConstructor;
36
+ default: boolean;
37
+ };
38
+ /** Adds screen reader only text alternative to loading icon, text should be translated */
39
+ loaderAccessibleText: {
40
+ type: StringConstructor;
41
+ default: string;
42
+ };
43
+ }>, {
44
+ bgCssColor: Ref< CssColor | undefined, CssColor | undefined>;
45
+ textCssColor: ComputedRef<CssColor>;
46
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
47
+ /**
48
+ * Used to set the background color of the app bar. Needs to accept either a hex code or a
49
+ * a valid color key from the Colors object.
50
+ */
51
+ backgroundColor: {
52
+ type: PropType<HexColor | keyof typeof Colors>;
53
+ default: string;
54
+ validator: typeof isValidColor;
55
+ };
56
+ color: {
57
+ type: PropType<HexColor | keyof typeof Colors>;
58
+ default: undefined;
59
+ validator: typeof isValidColor;
60
+ };
61
+ /** If true, the app bar will be fixed to the top of the viewport. */
62
+ fixed: {
63
+ type: BooleanConstructor;
64
+ default: boolean;
65
+ };
66
+ /** If true, the app bar will have a bottom border. */
67
+ border: {
68
+ type: BooleanConstructor;
69
+ default: boolean;
70
+ };
71
+ /** Shows text in the center of the component. Typically used for page names. Overrides the title slot. */
72
+ title: {
73
+ type: StringConstructor;
74
+ default: string;
75
+ };
76
+ /** Shows a loading spinner. Overrides the title slot. */
77
+ loading: {
78
+ type: BooleanConstructor;
79
+ default: boolean;
80
+ };
81
+ /** Adds screen reader only text alternative to loading icon, text should be translated */
82
+ loaderAccessibleText: {
83
+ type: StringConstructor;
84
+ default: string;
85
+ };
86
+ }>> & Readonly<{}>, {
87
+ title: string;
88
+ border: boolean;
89
+ fixed: boolean;
90
+ color: string;
91
+ backgroundColor: string;
92
+ loading: boolean;
93
+ loaderAccessibleText: string;
94
+ }, {}, {
95
+ CLoader: DefineComponent<ExtractPropTypes<{
96
+ accessibleText: {
97
+ type: StringConstructor;
98
+ default: undefined;
99
+ };
100
+ color: {
101
+ type: PropType<HexColor | keyof typeof Colors>;
102
+ default: string;
103
+ validator: typeof isValidColor;
104
+ };
105
+ small: {
106
+ type: BooleanConstructor;
107
+ default: boolean;
108
+ };
109
+ size: {
110
+ type: PropType<"sm" | "lg" | "md">;
111
+ default: string;
112
+ };
113
+ trackColor: {
114
+ type: PropType<HexColor | keyof typeof Colors>;
115
+ default: string;
116
+ validator: typeof isValidColor;
117
+ };
118
+ }>, {
119
+ computedSize: ComputedRef<"sm" | "lg" | "md">;
120
+ indicatorColorCode: Ref< CssColor | undefined, CssColor | undefined>;
121
+ SIZE_TO_FONT_SIZE: Record<"sm" | "lg" | "md", `${number}px`>;
122
+ SIZE_TO_TRACK_WIDTH: Record<"sm" | "lg" | "md", `${number}px`>;
123
+ trackColorCode: Ref< CssColor | undefined, CssColor | undefined>;
124
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
125
+ accessibleText: {
126
+ type: StringConstructor;
127
+ default: undefined;
128
+ };
129
+ color: {
130
+ type: PropType<HexColor | keyof typeof Colors>;
131
+ default: string;
132
+ validator: typeof isValidColor;
133
+ };
134
+ small: {
135
+ type: BooleanConstructor;
136
+ default: boolean;
137
+ };
138
+ size: {
139
+ type: PropType<"sm" | "lg" | "md">;
140
+ default: string;
141
+ };
142
+ trackColor: {
143
+ type: PropType<HexColor | keyof typeof Colors>;
144
+ default: string;
145
+ validator: typeof isValidColor;
146
+ };
147
+ }>> & Readonly<{}>, {
148
+ small: boolean;
149
+ size: "sm" | "lg" | "md";
150
+ accessibleText: string;
151
+ color: string;
152
+ trackColor: string;
153
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
154
+ CFadeTransition: DefineComponent<{}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
155
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
156
+ export default _default;
@@ -0,0 +1,52 @@
1
+ import { DefineComponent, ExtractPropTypes, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ declare const _default: DefineComponent<ExtractPropTypes<{
3
+ /** Sets the text of the badge, can also use default slot */
4
+ text: {
5
+ type: StringConstructor;
6
+ default: undefined;
7
+ };
8
+ /** Adds a unique data-test attribute for testing to the container */
9
+ dataTest: {
10
+ type: StringConstructor;
11
+ default: string;
12
+ };
13
+ /** Sets the background color */
14
+ color: {
15
+ type: StringConstructor;
16
+ default: string;
17
+ };
18
+ /** Sets the text color */
19
+ textColor: {
20
+ type: StringConstructor;
21
+ default: string;
22
+ };
23
+ }>, {
24
+ computedStyle: ComputedRef<Record<string, string>>;
25
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
26
+ /** Sets the text of the badge, can also use default slot */
27
+ text: {
28
+ type: StringConstructor;
29
+ default: undefined;
30
+ };
31
+ /** Adds a unique data-test attribute for testing to the container */
32
+ dataTest: {
33
+ type: StringConstructor;
34
+ default: string;
35
+ };
36
+ /** Sets the background color */
37
+ color: {
38
+ type: StringConstructor;
39
+ default: string;
40
+ };
41
+ /** Sets the text color */
42
+ textColor: {
43
+ type: StringConstructor;
44
+ default: string;
45
+ };
46
+ }>> & Readonly<{}>, {
47
+ text: string;
48
+ dataTest: string;
49
+ color: string;
50
+ textColor: string;
51
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
52
+ export default _default;
@@ -0,0 +1,226 @@
1
+ import { default as SlDrawer } from '@shoelace-style/shoelace/dist/components/drawer/drawer.js';
2
+ import { Ref, DefineComponent, ExtractPropTypes, ComputedRef, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ import { CssColor } from '../colors/colors';
4
+ import { Coordinate } from '../composables/gestures';
5
+ import { IconDefinition } from '@fortawesome/pro-regular-svg-icons';
6
+ declare const _default: DefineComponent<ExtractPropTypes<{
7
+ /** Aria label for the bottom sheet. This is required if title is hidden */
8
+ ariaLabel: {
9
+ type: StringConstructor;
10
+ default: string;
11
+ };
12
+ /** Background color of the bottom sheet */
13
+ backgroundColor: {
14
+ type: StringConstructor;
15
+ default: string;
16
+ };
17
+ /** Prefix for test selectors */
18
+ dataTest: {
19
+ type: StringConstructor;
20
+ default: string;
21
+ };
22
+ /** Disables the dismiss button */
23
+ disableDismiss: {
24
+ type: BooleanConstructor;
25
+ default: boolean;
26
+ };
27
+ /** Divided into header, body, and footer slots */
28
+ divided: {
29
+ type: BooleanConstructor;
30
+ default: boolean;
31
+ };
32
+ /** Fixed size, in CSS units. By default the drawer sizes itself to its contents. */
33
+ fixedSize: {
34
+ type: StringConstructor;
35
+ default: string;
36
+ };
37
+ /** Hides the dismiss 'x' button */
38
+ hideDismiss: {
39
+ type: BooleanConstructor;
40
+ default: boolean;
41
+ };
42
+ /** Allows for hiding the entire title bar, both the title and the dismiss 'x' button */
43
+ hideTitle: {
44
+ type: BooleanConstructor;
45
+ default: boolean;
46
+ };
47
+ /** Toggles the background behind the sheet. If there's no overlay, the sheet
48
+ * stays open as the user interacts with background content.' */
49
+ overlay: {
50
+ type: BooleanConstructor;
51
+ default: boolean;
52
+ };
53
+ /** Prevents the sheet from being dismissed when tapping on the overlay. If
54
+ * there is no overlay then this property is ignored, as the sheet always
55
+ * stays open. */
56
+ persistent: {
57
+ type: BooleanConstructor;
58
+ default: boolean;
59
+ };
60
+ /** If true, the bottom sheet will be contained within the viewport. */
61
+ contained: {
62
+ type: BooleanConstructor;
63
+ default: boolean;
64
+ };
65
+ /** Do not animate in the bottom sheet if it starts open. */
66
+ skipInitialAnimation: {
67
+ type: BooleanConstructor;
68
+ default: boolean;
69
+ };
70
+ /** The title of the bottom sheet */
71
+ title: {
72
+ type: StringConstructor;
73
+ default: string;
74
+ };
75
+ /** Controls whether or not the bottom sheet is showing */
76
+ value: {
77
+ type: BooleanConstructor;
78
+ default: boolean;
79
+ };
80
+ }>, {
81
+ backgroundCssColor: Ref< CssColor | undefined, CssColor | undefined>;
82
+ animatedValue: ComputedRef<boolean>;
83
+ dragDistance: Ref< Coordinate | null, Coordinate | null>;
84
+ faXmark: IconDefinition;
85
+ footerHasContent: Ref<boolean, boolean>;
86
+ getDataTestAttr: (suffix?: string) => string | null;
87
+ handleDismiss: () => void;
88
+ internalValue: Ref<boolean, boolean>;
89
+ isDismissVisible: ComputedRef<boolean>;
90
+ onRequestClose: (event: Event) => void;
91
+ overlayOpacity: ComputedRef<number>;
92
+ panelTransform: ComputedRef<string>;
93
+ onAfterClose: () => void;
94
+ sheet: Ref<SlDrawer | null, SlDrawer | null>;
95
+ transformDistance: Ref<number, number>;
96
+ }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, ("input" | "opened" | "closed")[], "input" | "opened" | "closed", PublicProps, Readonly< ExtractPropTypes<{
97
+ /** Aria label for the bottom sheet. This is required if title is hidden */
98
+ ariaLabel: {
99
+ type: StringConstructor;
100
+ default: string;
101
+ };
102
+ /** Background color of the bottom sheet */
103
+ backgroundColor: {
104
+ type: StringConstructor;
105
+ default: string;
106
+ };
107
+ /** Prefix for test selectors */
108
+ dataTest: {
109
+ type: StringConstructor;
110
+ default: string;
111
+ };
112
+ /** Disables the dismiss button */
113
+ disableDismiss: {
114
+ type: BooleanConstructor;
115
+ default: boolean;
116
+ };
117
+ /** Divided into header, body, and footer slots */
118
+ divided: {
119
+ type: BooleanConstructor;
120
+ default: boolean;
121
+ };
122
+ /** Fixed size, in CSS units. By default the drawer sizes itself to its contents. */
123
+ fixedSize: {
124
+ type: StringConstructor;
125
+ default: string;
126
+ };
127
+ /** Hides the dismiss 'x' button */
128
+ hideDismiss: {
129
+ type: BooleanConstructor;
130
+ default: boolean;
131
+ };
132
+ /** Allows for hiding the entire title bar, both the title and the dismiss 'x' button */
133
+ hideTitle: {
134
+ type: BooleanConstructor;
135
+ default: boolean;
136
+ };
137
+ /** Toggles the background behind the sheet. If there's no overlay, the sheet
138
+ * stays open as the user interacts with background content.' */
139
+ overlay: {
140
+ type: BooleanConstructor;
141
+ default: boolean;
142
+ };
143
+ /** Prevents the sheet from being dismissed when tapping on the overlay. If
144
+ * there is no overlay then this property is ignored, as the sheet always
145
+ * stays open. */
146
+ persistent: {
147
+ type: BooleanConstructor;
148
+ default: boolean;
149
+ };
150
+ /** If true, the bottom sheet will be contained within the viewport. */
151
+ contained: {
152
+ type: BooleanConstructor;
153
+ default: boolean;
154
+ };
155
+ /** Do not animate in the bottom sheet if it starts open. */
156
+ skipInitialAnimation: {
157
+ type: BooleanConstructor;
158
+ default: boolean;
159
+ };
160
+ /** The title of the bottom sheet */
161
+ title: {
162
+ type: StringConstructor;
163
+ default: string;
164
+ };
165
+ /** Controls whether or not the bottom sheet is showing */
166
+ value: {
167
+ type: BooleanConstructor;
168
+ default: boolean;
169
+ };
170
+ }>> & Readonly<{
171
+ onInput?: ((...args: any[]) => any) | undefined;
172
+ onOpened?: ((...args: any[]) => any) | undefined;
173
+ onClosed?: ((...args: any[]) => any) | undefined;
174
+ }>, {
175
+ title: string;
176
+ value: boolean;
177
+ dataTest: string;
178
+ backgroundColor: string;
179
+ ariaLabel: string;
180
+ disableDismiss: boolean;
181
+ divided: boolean;
182
+ fixedSize: string;
183
+ hideDismiss: boolean;
184
+ hideTitle: boolean;
185
+ overlay: boolean;
186
+ persistent: boolean;
187
+ contained: boolean;
188
+ skipInitialAnimation: boolean;
189
+ }, {}, {
190
+ CButtonStack: DefineComponent<ExtractPropTypes<{
191
+ tag: {
192
+ type: StringConstructor;
193
+ default: string;
194
+ };
195
+ large: {
196
+ type: BooleanConstructor;
197
+ default: null;
198
+ };
199
+ }>, void, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly< ExtractPropTypes<{
200
+ tag: {
201
+ type: StringConstructor;
202
+ default: string;
203
+ };
204
+ large: {
205
+ type: BooleanConstructor;
206
+ default: null;
207
+ };
208
+ }>> & Readonly<{}>, {
209
+ large: boolean;
210
+ tag: string;
211
+ }, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
212
+ CCloseButton: DefineComponent<{
213
+ disabled?: boolean;
214
+ }, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
215
+ focus: (...args: any[]) => void;
216
+ blur: (...args: any[]) => void;
217
+ click: (...args: any[]) => void;
218
+ }, string, PublicProps, Readonly<{
219
+ disabled?: boolean;
220
+ }> & Readonly<{
221
+ onFocus?: ((...args: any[]) => any) | undefined;
222
+ onBlur?: ((...args: any[]) => any) | undefined;
223
+ onClick?: ((...args: any[]) => any) | undefined;
224
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLButtonElement>;
225
+ }, {}, string, ComponentProvideOptions, true, {}, any>;
226
+ export default _default;