@propelinc/citrus-ui 1.3.1 → 2.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 (71) hide show
  1. package/README.md +3 -1
  2. package/dist/citrus-ui.cdn.css +1 -1
  3. package/dist/citrus-ui.css +1 -1
  4. package/dist/colors/colors.d.ts +12 -0
  5. package/dist/components/CBadge.vue.d.ts +0 -1
  6. package/dist/components/CCard.vue.d.ts +0 -5
  7. package/dist/components/CIconButton.vue.d.ts +0 -6
  8. package/dist/components/CMaskedTextField.vue.d.ts +23 -60
  9. package/dist/components/CPhoneField.vue.d.ts +40 -92
  10. package/dist/components/CProgressRing.vue.d.ts +0 -1
  11. package/dist/components/CSelect.vue.d.ts +0 -4
  12. package/dist/components/CSkeleton.vue.d.ts +5 -1
  13. package/dist/components/CSkeletonLoaderCard.vue.d.ts +3 -0
  14. package/dist/components/CSplitInput.vue.d.ts +1 -5
  15. package/dist/components/CSsnField.vue.d.ts +41 -95
  16. package/dist/components/CSwitchListItem.vue.d.ts +1 -4
  17. package/dist/components/CTextArea.vue.d.ts +3 -8
  18. package/dist/components/CTextField.vue.d.ts +6 -14
  19. package/dist/components/CTextLink.vue.d.ts +0 -3
  20. package/dist/components/CZipcodeField.vue.d.ts +42 -96
  21. package/dist/components/index.d.ts +0 -2
  22. package/dist/composables/colors.d.ts +3 -2
  23. package/dist/composables/input-mask.d.ts +2 -2
  24. package/dist/composables/toast.d.ts +1 -0
  25. package/dist/index.cdn.mjs +4490 -4689
  26. package/dist/index.cdn.mjs.map +1 -1
  27. package/dist/index.mjs +1594 -1657
  28. package/dist/index.mjs.map +1 -1
  29. package/dist/src/assets/fonts/grenette-regular.woff2 +0 -0
  30. package/dist/src/assets/fonts/grenette-semibold.woff2 +0 -0
  31. package/dist/src/assets/fonts/polymath.woff2 +0 -0
  32. package/dist/styles.css +33 -34
  33. package/package.json +6 -4
  34. package/src/colors/colors.ts +44 -0
  35. package/src/colors/util-classes.ts +4 -0
  36. package/src/components/CAppBar.vue +3 -3
  37. package/src/components/CBadge.vue +3 -4
  38. package/src/components/CBottomSheet.vue +2 -2
  39. package/src/components/CCard.vue +3 -8
  40. package/src/components/CIconButton.vue +0 -6
  41. package/src/components/CLoader.vue +3 -3
  42. package/src/components/CMaskedTextField.vue +4 -9
  43. package/src/components/CNotification.vue +1 -0
  44. package/src/components/CProgressRing.vue +3 -4
  45. package/src/components/CSelect.vue +0 -4
  46. package/src/components/CSkeleton.vue +12 -1
  47. package/src/components/CSkeletonLoaderCard.vue +4 -1
  48. package/src/components/CSkeletonLoaderText.vue +3 -3
  49. package/src/components/CSplitInput.vue +1 -5
  50. package/src/components/CSquaredIcon.vue +2 -2
  51. package/src/components/CSsnField.vue +1 -3
  52. package/src/components/CSwitchListItem.vue +1 -4
  53. package/src/components/CTextArea.vue +3 -8
  54. package/src/components/CTextField.vue +3 -11
  55. package/src/components/CTextLink.vue +0 -3
  56. package/src/components/CToast.vue +3 -3
  57. package/src/components/CToastsList.vue +1 -0
  58. package/src/components/CZipcodeField.vue +2 -4
  59. package/src/components/index.ts +0 -2
  60. package/src/composables/colors.ts +12 -4
  61. package/src/composables/input-mask.ts +4 -4
  62. package/src/composables/toast.ts +1 -0
  63. package/src/styles/_core.scss +12 -10
  64. package/src/styles/_typography.scss +4 -0
  65. package/src/styles/layer-order.css +1 -0
  66. package/src/styles/tailwind.css +3 -0
  67. package/src/styles/variables.scss +15 -14
  68. package/dist/components/CCol.vue.d.ts +0 -30
  69. package/dist/components/CRow.vue.d.ts +0 -41
  70. package/src/components/CCol.vue +0 -54
  71. package/src/components/CRow.vue +0 -64
@@ -7,6 +7,7 @@
7
7
  // found in core.scss.
8
8
  // ****************************************************************************
9
9
 
10
+ @use 'sass:map';
10
11
  @import './core';
11
12
 
12
13
  // ****************************************************************************
@@ -54,7 +55,7 @@ $material-light: (
54
55
  // ACCORDION
55
56
  // ****************************************************************************
56
57
  $expansion-panel-active-margin: 0;
57
- $expansion-panel-header-font-size: map-get($subheadline, 'size');
58
+ $expansion-panel-header-font-size: map.get($subheadline, 'size');
58
59
  $expansion-panel-header-padding: 18px 16px 16px;
59
60
  $expansion-panel-content-padding: 0 16px 16px;
60
61
  $expansion-panel-header-min-height: 0;
@@ -69,9 +70,9 @@ $snackbar-top: calc(env(safe-area-inset-top) + 48px);
69
70
  //prevents users on smaller devices from dismissing a Toast
70
71
  $snackbar-wrapper-min-width: 300px;
71
72
  $snackbar-action-margin: 12px;
72
- $snackbar-content-font-size: map-get($body, 'size');
73
+ $snackbar-content-font-size: map.get($body, 'size');
73
74
  $snackbar-content-padding: 12px 16px;
74
- $snackbar-font-size: map-get($body, 'size');
75
+ $snackbar-font-size: map.get($body, 'size');
75
76
 
76
77
  // ****************************************************************************
77
78
  // BUTTON
@@ -95,12 +96,12 @@ $card-actions-padding: 0 $card-h-spacing 12px;
95
96
  $card-border-radius: $border-radius;
96
97
  $card-outlined-border-width: $border-width;
97
98
  $card-subtitle-padding: $card-v-spacing $card-h-spacing;
98
- $card-text-font-size: map-get($body, 'size');
99
- $card-text-line-height: map-get($body, 'line-height');
99
+ $card-text-font-size: map.get($body, 'size');
100
+ $card-text-line-height: map.get($body, 'line-height');
100
101
  $card-text-letter-spacing: normal;
101
- $card-title-font-size: map-get($subheadline, 'size');
102
- $card-title-font-weight: map-get($subheadline, 'weight');
103
- $card-title-letter-spacing: map-get($subheadline, 'letter-spacing');
102
+ $card-title-font-size: map.get($subheadline, 'size');
103
+ $card-title-font-weight: map.get($subheadline, 'weight');
104
+ $card-title-letter-spacing: map.get($subheadline, 'letter-spacing');
104
105
  $card-title-line-height: 100%;
105
106
  $card-title-word-break: break-word;
106
107
  $card-btn-margin-x: 0;
@@ -108,7 +109,7 @@ $card-btn-margin-x: 0;
108
109
  // ****************************************************************************
109
110
  // CHECKBOX
110
111
  // ****************************************************************************
111
- $label-font-size: map-get($body, 'size');
112
+ $label-font-size: map.get($body, 'size');
112
113
 
113
114
  // ****************************************************************************
114
115
  // LISTS
@@ -118,14 +119,14 @@ $list-item-action-margin: 16px 0;
118
119
  $list-item-child-min-width: 0;
119
120
  $list-item-content-padding: 16px 0 12px;
120
121
  $list-item-padding: 0 12px 0 16px;
121
- $list-item-title-subtitle-line-height: map-get($body, 'line-height');
122
+ $list-item-title-subtitle-line-height: map.get($body, 'line-height');
122
123
 
123
124
  // ****************************************************************************
124
125
  // FORM FIELDS
125
126
  // (Text fields, text areas, and selects)
126
127
  // Source: https://github.com/vuetifyjs/vuetify/blob/master/packages/vuetify/src/components/VTextField/_variables.scss
127
128
  // ****************************************************************************
128
- $input-font-size: map-get($body, 'size');
129
+ $input-font-size: map.get($body, 'size');
129
130
 
130
131
  $text-field-border-radius: $border-radius;
131
132
  $text-field-enclosed-details-padding: 0 16px;
@@ -133,9 +134,9 @@ $text-field-enclosed-details-padding: 0 16px;
133
134
  // ****************************************************************************
134
135
  // MODALS
135
136
  // ****************************************************************************
136
- $dialog-card-title-font-size: map-get($headline, 'size');
137
- $dialog-card-title-font-weight: map-get($headline, 'weight');
138
- $dialog-card-title-letter-spacing: map-get($headline, 'letter-spacing');
137
+ $dialog-card-title-font-size: map.get($headline, 'size');
138
+ $dialog-card-title-font-weight: map.get($headline, 'weight');
139
+ $dialog-card-title-letter-spacing: map.get($headline, 'letter-spacing');
139
140
  $dialog-card-text-padding: 0 $card-h-spacing $card-v-spacing;
140
141
  $dialog-card-actions-padding: 0 $card-h-spacing $card-v-spacing;
141
142
  $dialog-card-title-padding: $card-h-spacing $card-h-spacing 10px;
@@ -1,30 +0,0 @@
1
- import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
- type Cols = 'auto' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';
3
- type __VLS_Props = {
4
- /**
5
- * Sets the default number of columns the component extends.
6
- * Available options are: 1 -> 12 and auto.
7
- */
8
- cols?: Cols | null;
9
- };
10
- declare function __VLS_template(): {
11
- attrs: Partial<{}>;
12
- slots: Readonly<{
13
- default?: () => VNode[];
14
- }> & {
15
- default?: () => VNode[];
16
- };
17
- refs: {};
18
- rootEl: HTMLDivElement;
19
- };
20
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
21
- declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
22
- cols: Cols | null;
23
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
24
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
25
- export default _default;
26
- type __VLS_WithTemplateSlots<T, S> = T & {
27
- new (): {
28
- $slots: S;
29
- };
30
- };
@@ -1,41 +0,0 @@
1
- import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
- type __VLS_Props = {
3
- /** Applies the align-items css property.
4
- * Available options are: start, center, end and stretch. */
5
- align?: 'center' | 'start' | 'end' | 'stretch' | null;
6
- /** Applies the align-content css property.
7
- * Available options are: start, center, end, and stretch. */
8
- alignContent?: 'center' | 'start' | 'end' | 'stretch' | null;
9
- /** Reduces the gutter between c-cols. */
10
- dense?: boolean;
11
- /** Removes the gutter between c-cols. */
12
- noGutters?: boolean;
13
- /** Applies the justify-content css property.
14
- * Available options are: start, center, end, space-between and space-around. */
15
- justify?: 'center' | 'start' | 'end' | 'space-between' | 'space-around' | null;
16
- };
17
- declare function __VLS_template(): {
18
- attrs: Partial<{}>;
19
- slots: Readonly<{
20
- default?: () => VNode[];
21
- }> & {
22
- default?: () => VNode[];
23
- };
24
- refs: {};
25
- rootEl: HTMLDivElement;
26
- };
27
- type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
28
- declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
29
- align: "center" | "start" | "end" | "stretch" | null;
30
- alignContent: "center" | "start" | "end" | "stretch" | null;
31
- dense: boolean;
32
- noGutters: boolean;
33
- justify: "center" | "start" | "end" | "space-between" | "space-around" | null;
34
- }, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
35
- declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
36
- export default _default;
37
- type __VLS_WithTemplateSlots<T, S> = T & {
38
- new (): {
39
- $slots: S;
40
- };
41
- };
@@ -1,54 +0,0 @@
1
- <template>
2
- <div class="c-col" :class="{ [`c-col-${cols}`]: cols }">
3
- <slot />
4
- </div>
5
- </template>
6
-
7
- <script setup lang="ts">
8
- import type { VNode } from 'vue';
9
-
10
- type Cols = 'auto' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' | '11' | '12';
11
-
12
- withDefaults(
13
- defineProps<{
14
- /**
15
- * Sets the default number of columns the component extends.
16
- * Available options are: 1 -> 12 and auto.
17
- */
18
- cols?: Cols | null;
19
- }>(),
20
- {
21
- cols: null,
22
- }
23
- );
24
-
25
- defineSlots<{
26
- default?: () => VNode[];
27
- }>();
28
- </script>
29
-
30
- <style lang="scss" scoped>
31
- .c-col {
32
- flex-basis: 0;
33
- flex-grow: 1;
34
- max-width: 100%;
35
-
36
- &:not(.c-col-auto) {
37
- padding: 12px;
38
- width: 100%;
39
- }
40
- }
41
-
42
- .c-col-auto {
43
- flex: 0 0 auto;
44
- max-width: 100%;
45
- width: auto;
46
- }
47
-
48
- @for $i from 1 through 12 {
49
- .c-col-#{$i} {
50
- flex: 0 0 calc(#{$i} / 12 * 100%);
51
- max-width: calc(#{$i} / 12 * 100%);
52
- }
53
- }
54
- </style>
@@ -1,64 +0,0 @@
1
- <template>
2
- <div
3
- class="c-row"
4
- :class="{
5
- 'c-row--dense': dense,
6
- 'c-row--no-gutters': noGutters,
7
- [`align-${align}`]: align,
8
- [`align-content-${alignContent}`]: alignContent,
9
- [`justify-${justify}`]: justify,
10
- }"
11
- >
12
- <slot />
13
- </div>
14
- </template>
15
-
16
- <script setup lang="ts">
17
- import type { VNode } from 'vue';
18
-
19
- withDefaults(
20
- defineProps<{
21
- /** Applies the align-items css property.
22
- * Available options are: start, center, end and stretch. */
23
- align?: 'center' | 'start' | 'end' | 'stretch' | null;
24
- /** Applies the align-content css property.
25
- * Available options are: start, center, end, and stretch. */
26
- alignContent?: 'center' | 'start' | 'end' | 'stretch' | null;
27
- /** Reduces the gutter between c-cols. */
28
- dense?: boolean;
29
- /** Removes the gutter between c-cols. */
30
- noGutters?: boolean;
31
- /** Applies the justify-content css property.
32
- * Available options are: start, center, end, space-between and space-around. */
33
- justify?: 'center' | 'start' | 'end' | 'space-between' | 'space-around' | null;
34
- }>(),
35
- {
36
- align: null,
37
- alignContent: null,
38
- dense: false,
39
- noGutters: false,
40
- justify: null,
41
- }
42
- );
43
-
44
- defineSlots<{
45
- default?: () => VNode[];
46
- }>();
47
- </script>
48
-
49
- <style lang="scss" scoped>
50
- .c-row {
51
- display: flex;
52
- flex: 1 1 auto;
53
- flex-wrap: wrap;
54
- margin: 0 -12px;
55
- }
56
-
57
- .c-row--dense {
58
- margin: 0 -4px;
59
- }
60
-
61
- .c-row--no-gutters {
62
- margin: 0;
63
- }
64
- </style>