@propelinc/citrus-ui 0.5.1 → 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.
- package/README.md +56 -86
- package/dist/colors/colors.d.ts +31 -0
- package/dist/colors/theme.d.ts +2 -11
- package/dist/colors/util-classes.d.ts +11 -0
- package/dist/components/CAccordion.vue.d.ts +21 -0
- package/dist/components/CAccordionItem.vue.d.ts +41 -0
- package/dist/components/CAppBar.vue.d.ts +156 -0
- package/dist/components/CBadge.vue.d.ts +52 -0
- package/dist/components/CBottomSheet.vue.d.ts +226 -0
- package/dist/components/CButton/CButton.vue.d.ts +231 -0
- package/dist/components/CButton/types.d.ts +5 -0
- package/dist/components/CButtonStack.vue.d.ts +24 -0
- package/dist/components/CCard.vue.d.ts +107 -0
- package/dist/components/CCardFooter.vue.d.ts +26 -0
- package/dist/components/CCardHeader.vue.d.ts +3 -0
- package/dist/components/CCardSection.vue.d.ts +17 -0
- package/dist/components/CCheckbox.vue.d.ts +145 -0
- package/dist/components/CCol.vue.d.ts +21 -0
- package/dist/components/CDivider.vue.d.ts +17 -0
- package/dist/components/CDobField.vue.d.ts +2109 -0
- package/dist/components/CDobSelect.vue.d.ts +398 -0
- package/dist/components/CEmailField.vue.d.ts +699 -0
- package/dist/components/CExpandTransition.vue.d.ts +19 -0
- package/dist/components/CFadeTransition.vue.d.ts +3 -0
- package/dist/components/CFileInput.vue.d.ts +98 -0
- package/dist/components/CFixedPageFooter.vue.d.ts +106 -0
- package/dist/components/CForm.vue.d.ts +29 -0
- package/dist/components/CFormFieldCounter.vue.d.ts +42 -0
- package/dist/components/CIconButton.vue.d.ts +390 -0
- package/dist/components/CLabel.vue.d.ts +32 -0
- package/dist/components/CListItem.vue.d.ts +208 -0
- package/dist/components/CListItemContent.vue.d.ts +27 -0
- package/dist/components/CListItemIcon.vue.d.ts +54 -0
- package/dist/components/CLoader.vue.d.ts +73 -0
- package/dist/components/CLogo.vue.d.ts +19 -0
- package/dist/components/CMaskedTextField.vue.d.ts +2012 -0
- package/dist/components/CMenu.vue.d.ts +6 -0
- package/dist/components/CMenuItem.vue.d.ts +170 -0
- package/dist/components/CMenuLabel.vue.d.ts +3 -0
- package/dist/components/CModal.vue.d.ts +206 -0
- package/dist/components/CModalLoading.vue.d.ts +230 -0
- package/dist/components/CNotification.vue.d.ts +589 -0
- package/dist/components/CPhoneField.vue.d.ts +2088 -0
- package/dist/components/CPill.vue.d.ts +42 -0
- package/dist/components/CPillGroup.vue.d.ts +70 -0
- package/dist/components/CPopup.vue.d.ts +21 -0
- package/dist/components/CProgressLinear.vue.d.ts +61 -0
- package/dist/components/CProgressRing.vue.d.ts +103 -0
- package/dist/components/CRadio.vue.d.ts +73 -0
- package/dist/components/CRadioGroup.vue.d.ts +123 -0
- package/dist/components/CRebrand.vue.d.ts +28 -0
- package/dist/components/CRow.vue.d.ts +67 -0
- package/dist/components/CSafeArea.vue.d.ts +18 -0
- package/dist/components/CSectionHeader.vue.d.ts +28 -0
- package/dist/components/CSelect.vue.d.ts +293 -0
- package/dist/components/CSkeleton.vue.d.ts +3 -0
- package/dist/components/CSkeletonLoaderCard.vue.d.ts +21 -0
- package/dist/components/CSkeletonLoaderCircle.vue.d.ts +5 -0
- package/dist/components/CSkeletonLoaderText.vue.d.ts +44 -0
- package/dist/components/CSlideFadeTransition.vue.d.ts +58 -0
- package/dist/components/CSplitInput.vue.d.ts +2131 -0
- package/dist/components/CSquaredIcon.vue.d.ts +47 -0
- package/dist/components/CSsnField.vue.d.ts +2083 -0
- package/dist/components/CStatusDot.vue.d.ts +27 -0
- package/dist/components/CSwitch.vue.d.ts +54 -0
- package/dist/components/CSwitchListItem.vue.d.ts +392 -0
- package/dist/components/CTextArea.vue.d.ts +240 -0
- package/dist/components/CTextField.vue.d.ts +647 -0
- package/dist/components/CTextLink.vue.d.ts +55 -0
- package/dist/components/CThirdPartyLogo.vue.d.ts +128 -0
- package/dist/components/CTimeago.vue.d.ts +12 -0
- package/dist/components/CToast.vue.d.ts +458 -0
- package/dist/components/CToastsList.vue.d.ts +430 -0
- package/dist/components/CValidationMessage.vue.d.ts +45 -0
- package/dist/components/CZipcodeField.vue.d.ts +2080 -0
- package/dist/components/index.d.ts +66 -25
- package/dist/components/internal/CCloseButton.vue.d.ts +14 -0
- package/dist/composables/accessibility.d.ts +1 -0
- package/dist/composables/animation.d.ts +12 -0
- package/dist/composables/binding.d.ts +19 -0
- package/dist/composables/colors.d.ts +13 -0
- package/dist/composables/elements.d.ts +3 -0
- package/dist/composables/fields.d.ts +9 -0
- package/dist/composables/gestures.d.ts +53 -0
- package/dist/composables/i18n.d.ts +3 -0
- package/dist/composables/id.d.ts +11 -0
- package/dist/composables/input-mask.d.ts +18 -0
- package/dist/composables/router.d.ts +30 -0
- package/dist/composables/slots.d.ts +2 -0
- package/dist/composables/toast.d.ts +21 -0
- package/dist/composables/validations.d.ts +77 -0
- package/dist/index.css +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.mjs +11738 -0
- package/dist/index.mjs.map +1 -0
- package/dist/plugin.d.ts +2 -2
- package/dist/services/animation.d.ts +17 -0
- package/dist/services/directives/index.d.ts +2 -0
- package/dist/services/directives/scroll-into-view.d.ts +7 -0
- package/dist/services/directives/tap-animation.d.ts +6 -0
- package/dist/services/id.d.ts +22 -0
- package/dist/services/injections/accordions.d.ts +3 -0
- package/dist/services/injections/animations.d.ts +2 -0
- package/dist/services/injections/buttons.d.ts +4 -0
- package/dist/services/injections/forms.d.ts +6 -0
- package/dist/services/injections/icon-buttons.d.ts +3 -0
- package/dist/services/injections/pills.d.ts +4 -0
- package/dist/services/injections/radio.d.ts +10 -0
- package/dist/styles/main.css +3002 -0
- package/dist/styles/utils.css +2319 -0
- package/dist/theme/icons.d.ts +35 -2
- package/dist/types/CForm.d.ts +12 -0
- package/dist/types/font-awesome.d.ts +5 -0
- package/dist/types.d.ts +12 -0
- package/index.ts +2 -0
- package/package.json +63 -77
- package/src/assets/fonts/grenette-regular.woff2 +0 -0
- package/src/assets/fonts/grenette-semibold.woff2 +0 -0
- package/src/assets/fonts/polymath.woff2 +0 -0
- package/src/assets/logos/propel/icon.svg +15 -0
- package/src/assets/logos/propel/lockup.svg +11 -0
- package/src/colors/colors.ts +173 -0
- package/src/colors/theme.ts +8 -14
- package/src/colors/util-classes.ts +49 -0
- package/src/componentResolver.js +33 -0
- package/src/components/CAccordion.vue +32 -7
- package/src/components/CAccordionItem.vue +109 -36
- package/src/components/CAppBar.vue +237 -0
- package/src/components/CBadge.vue +74 -0
- package/src/components/CBottomSheet.vue +430 -0
- package/src/components/CButton/CButton.vue +347 -0
- package/src/components/CButton/types.ts +5 -0
- package/src/components/CButtonStack.vue +36 -0
- package/src/components/CCard.vue +149 -41
- package/src/components/CCardFooter.vue +11 -27
- package/src/components/CCardHeader.vue +30 -21
- package/src/components/CCardSection.vue +23 -12
- package/src/components/CCheckbox.vue +191 -21
- package/src/components/CCol.vue +55 -0
- package/src/components/CDivider.vue +46 -0
- package/src/components/CDobField.vue +153 -0
- package/src/components/CDobSelect.vue +274 -0
- package/src/components/CEmailField.vue +61 -0
- package/src/components/CExpandTransition.vue +55 -0
- package/src/components/CFadeTransition.vue +23 -0
- package/src/components/CFileInput.vue +186 -0
- package/src/components/CFixedPageFooter.vue +76 -0
- package/src/components/CForm.vue +86 -0
- package/src/components/CFormFieldCounter.vue +40 -0
- package/src/components/CIconButton.vue +175 -59
- package/src/components/CLabel.vue +52 -0
- package/src/components/CListItem.vue +149 -45
- package/src/components/CListItemContent.vue +60 -0
- package/src/components/CListItemIcon.vue +27 -31
- package/src/components/CLoader.vue +156 -0
- package/src/components/CLogo.vue +23 -0
- package/src/components/CMaskedTextField.vue +118 -0
- package/src/components/CMenu.vue +24 -0
- package/src/components/CMenuItem.vue +106 -0
- package/src/components/CMenuLabel.vue +26 -0
- package/src/components/CModal.vue +198 -79
- package/src/components/CModalLoading.vue +27 -9
- package/src/components/CNotification.vue +86 -53
- package/src/components/CPhoneField.vue +69 -0
- package/src/components/CPill.vue +162 -0
- package/src/components/CPillGroup.vue +73 -0
- package/src/components/CPopup.vue +66 -0
- package/src/components/CProgressLinear.vue +52 -0
- package/src/components/CProgressRing.vue +126 -0
- package/src/components/CRadio.vue +138 -0
- package/src/components/CRadioGroup.vue +142 -0
- package/src/components/CRebrand.vue +28 -0
- package/src/components/CRow.vue +62 -0
- package/src/components/CSafeArea.vue +23 -0
- package/src/components/CSectionHeader.vue +50 -0
- package/src/components/CSelect.vue +223 -74
- package/src/components/CSkeleton.vue +65 -0
- package/src/components/CSkeletonLoaderCard.vue +29 -0
- package/src/components/CSkeletonLoaderCircle.vue +18 -14
- package/src/components/CSkeletonLoaderText.vue +127 -17
- package/src/components/CSlideFadeTransition.vue +100 -0
- package/src/components/CSplitInput.vue +111 -0
- package/src/components/CSquaredIcon.vue +83 -0
- package/src/components/CSsnField.vue +86 -0
- package/src/components/CStatusDot.vue +70 -0
- package/src/components/CSwitch.vue +125 -0
- package/src/components/CSwitchListItem.vue +110 -0
- package/src/components/CTextArea.vue +193 -47
- package/src/components/CTextField.vue +450 -93
- package/src/components/CTextLink.vue +48 -38
- package/src/components/CThirdPartyLogo.vue +127 -0
- package/src/components/CTimeago.vue +63 -0
- package/src/components/CToast.vue +259 -0
- package/src/components/CToastsList.vue +32 -0
- package/src/components/CValidationMessage.vue +70 -0
- package/src/components/CZipcodeField.vue +69 -0
- package/src/components/index.ts +66 -25
- package/src/components/internal/CCloseButton.vue +57 -0
- package/src/composables/accessibility.ts +29 -0
- package/src/composables/animation.ts +95 -0
- package/src/composables/binding.ts +34 -0
- package/src/composables/colors.ts +59 -0
- package/src/composables/elements.ts +72 -0
- package/src/composables/fields.ts +19 -0
- package/src/composables/gestures.ts +197 -0
- package/src/composables/i18n.ts +13 -0
- package/src/composables/id.ts +23 -0
- package/src/composables/input-mask.ts +139 -0
- package/src/composables/router.ts +64 -0
- package/src/composables/slots.ts +57 -0
- package/src/composables/toast.ts +64 -0
- package/src/composables/validations.ts +214 -0
- package/src/index.ts +7 -7
- package/src/plugin.ts +13 -6
- package/src/services/animation.ts +101 -0
- package/src/services/directives/index.ts +2 -0
- package/src/services/directives/scroll-into-view.ts +86 -0
- package/src/services/directives/tap-animation.ts +71 -0
- package/src/services/id.ts +31 -0
- package/src/services/injections/accordions.ts +4 -0
- package/src/services/injections/animations.ts +3 -0
- package/src/services/injections/buttons.ts +5 -0
- package/src/services/injections/forms.ts +8 -0
- package/src/services/injections/icon-buttons.ts +4 -0
- package/src/services/injections/pills.ts +7 -0
- package/src/services/injections/radio.ts +12 -0
- package/src/shims-vue.d.ts +6 -3
- package/src/styles/_animation.scss +19 -0
- package/src/styles/_button.scss +61 -0
- package/src/styles/_colors.scss +58 -11
- package/src/styles/_core.scss +280 -119
- package/src/styles/_form-fields.scss +69 -16
- package/src/styles/_grenette.scss +13 -0
- package/src/styles/_polymath.scss +14 -0
- package/src/styles/_reset.scss +105 -0
- package/src/styles/_shoelace.scss +46 -0
- package/src/styles/_typography.scss +39 -10
- package/src/styles/main.scss +6 -3
- package/src/styles/utils/a11y.scss +18 -0
- package/src/styles/utils/typography.scss +13 -0
- package/src/styles/utils.scss +560 -0
- package/src/styles/variables.scss +57 -45
- package/src/theme/icons.ts +16 -5
- package/src/types/CForm.ts +15 -0
- package/src/types/font-awesome.ts +6 -0
- package/src/types.ts +15 -0
- package/.browserslistrc +0 -3
- package/.eslintrc.js +0 -4
- package/.nvmrc +0 -1
- package/.stylelintrc.js +0 -3
- package/babel.config.js +0 -3
- package/dist/citrus-ui.common.js +0 -42228
- package/dist/citrus-ui.common.js.map +0 -1
- package/dist/citrus-ui.css +0 -1
- package/dist/citrus-ui.umd.js +0 -42238
- package/dist/citrus-ui.umd.js.map +0 -1
- package/dist/citrus-ui.umd.min.js +0 -27
- package/dist/citrus-ui.umd.min.js.map +0 -1
- package/dist/demo.html +0 -10
- package/dist/fonts/Blitz-Script.85ed9abe.woff2 +0 -0
- package/dist/fonts/ObjectSans-Bold.5492f3d5.woff2 +0 -0
- package/dist/fonts/ObjectSans-BoldSlanted.29e2a87e.woff2 +0 -0
- package/dist/fonts/ObjectSans-Heavy.d0b2f035.woff2 +0 -0
- package/dist/fonts/ObjectSans-HeavySlanted.45e9c063.woff2 +0 -0
- package/dist/fonts/ObjectSans-Light.f885dec3.woff2 +0 -0
- package/dist/fonts/ObjectSans-LightSlanted.b8eb7c12.woff2 +0 -0
- package/dist/fonts/ObjectSans-Regular.e4ea0b90.woff2 +0 -0
- package/dist/fonts/ObjectSans-Slanted.57a90be9.woff2 +0 -0
- package/dist/fonts/ObjectSans-Thin.86d44227.woff2 +0 -0
- package/dist/fonts/ObjectSans-ThinSlanted.20342160.woff2 +0 -0
- package/jest.config.js +0 -9
- package/plopfile.js +0 -67
- package/postcss.config.js +0 -5
- package/src/assets/fonts/Blitz-Script.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-Bold.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-BoldSlanted.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-Heavy.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-HeavySlanted.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-Light.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-LightSlanted.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-Regular.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-Slanted.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-Thin.woff2 +0 -0
- package/src/assets/fonts/ObjectSans-ThinSlanted.woff2 +0 -0
- package/src/components/CAlert.vue +0 -73
- package/src/components/CBanner.vue +0 -47
- package/src/components/CButton.vue +0 -146
- package/src/components/CListItemAction.vue +0 -29
- package/src/components/CSegmentedButton.vue +0 -47
- package/src/components/CSegmentedButtonOption.vue +0 -42
- package/src/components/helpers/FormField.vue +0 -48
- package/src/components/helpers/SelectInput.vue +0 -115
- package/src/shims-scss.d.ts +0 -4
- package/src/shims-vuetify.d.ts +0 -4
- package/src/styles/_blitz.scss +0 -8
- package/src/styles/_object-sans.scss +0 -23
- package/tsconfig.dist.json +0 -9
- package/tsconfig.json +0 -42
- package/vue.config.js +0 -5
package/README.md
CHANGED
|
@@ -4,93 +4,63 @@ Propel's UI component library.
|
|
|
4
4
|
|
|
5
5
|
See what components are currently available in [Storybook](https://storybook.providersapp.com/).
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
##
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
2.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Linting
|
|
58
|
-
|
|
59
|
-
```bash
|
|
60
|
-
npm run lint:js # Runs ESLint + Prettier
|
|
61
|
-
npm run lint:css # Runs Stylelint
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
### Adding a component
|
|
65
|
-
|
|
66
|
-
To add a new component, first generate the component with plop.
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
npm run generate:component # Interactive CLI
|
|
70
|
-
npm run generate:component -- [name] [directory] [document in storybook] # Shortcuts
|
|
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
|
+
|
|
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>
|
|
71
55
|
```
|
|
72
56
|
|
|
73
|
-
|
|
57
|
+
### CDN Challenges
|
|
74
58
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
```bash
|
|
83
|
-
npm run publish:dist
|
|
84
|
-
```
|
|
85
|
-
|
|
86
|
-
Finally, announce the new version in #proj-citrus-design-system.
|
|
87
|
-
|
|
88
|
-
### NPM Access
|
|
89
|
-
|
|
90
|
-
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:
|
|
91
|
-
|
|
92
|
-
```bash
|
|
93
|
-
npm login --scope=@propelinc
|
|
94
|
-
```
|
|
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 |
|
|
95
65
|
|
|
96
|
-
|
|
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;
|
package/dist/colors/theme.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
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;
|