@frollo/frollo-web-ui 8.5.4 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/cjs/index.js +29798 -28754
  2. package/esm/{_rollupPluginBabelHelpers-DpC_oIQV.js → _rollupPluginBabelHelpers-DODWUb5N.js} +307 -345
  3. package/esm/fw-accordion.js +59 -56
  4. package/esm/fw-alert.js +68 -0
  5. package/esm/fw-bar-chart.js +4 -4
  6. package/esm/fw-button-YMoW4x4c.js +296 -0
  7. package/esm/fw-button.js +2 -4
  8. package/esm/{fw-card-bsYbpPmW.js → fw-card-D45R4kN-.js} +33 -9
  9. package/esm/fw-card.js +3 -1
  10. package/esm/fw-checkbox.js +39 -20
  11. package/esm/fw-date-picker.js +110 -78
  12. package/esm/fw-drawer.js +119 -83
  13. package/esm/{fw-dropdown-CbgOvgOt.js → fw-dropdown-58wyuzsW.js} +80 -61
  14. package/esm/fw-dropdown.js +5 -5
  15. package/esm/fw-icons.js +34 -0
  16. package/esm/{fw-image-Dl96Dc27.js → fw-image-D-OHafdw.js} +30 -13
  17. package/esm/fw-image.js +4 -4
  18. package/esm/{fw-input-XeI-IKly.js → fw-input-C2-cZ-BY.js} +65 -43
  19. package/esm/fw-input.js +2 -2
  20. package/esm/fw-loading-bar-DecYSBC_.js +45 -0
  21. package/esm/fw-loading.js +34 -15
  22. package/esm/fw-media-picker.js +43 -31
  23. package/esm/fw-modal.js +102 -48
  24. package/esm/fw-navigation-menu.js +180 -52
  25. package/esm/fw-popover-B4bsfuxm.js +620 -0
  26. package/esm/fw-popover.js +6 -293
  27. package/esm/fw-progress-bar.js +3 -2
  28. package/esm/fw-provider-list.js +59 -35
  29. package/esm/fw-sidebar-menu.js +22 -13
  30. package/esm/fw-slider.js +4 -4
  31. package/esm/fw-switch.js +147 -0
  32. package/esm/{fw-table-row-Db7951fr.js → fw-table-row-Cgi8871h.js} +57 -55
  33. package/esm/fw-table.js +8 -7
  34. package/esm/fw-tabs.js +7 -7
  35. package/esm/{fw-tag-V0jMl-It.js → fw-tag-fDo50Nw7.js} +37 -26
  36. package/esm/fw-tag.js +4 -6
  37. package/esm/fw-toast.js +14 -15
  38. package/esm/fw-transactions-card.js +8 -8
  39. package/esm/get-root-colours-DCjlYelc.js +62 -0
  40. package/esm/{index-CzZMBMV_.js → index-BsEH8YYr.js} +433 -130
  41. package/esm/index.js +76 -68
  42. package/esm/{uniqueId-DK6xzFd8.js → uniqueId-DZdGzBh8.js} +1 -1
  43. package/frollo-web-ui.esm.js +30113 -29019
  44. package/icons/arrow-connect.svg +3 -0
  45. package/icons/arrow-left.svg +3 -0
  46. package/icons/arrow-out-square.svg +3 -0
  47. package/icons/arrow-right.svg +3 -0
  48. package/icons/circle-exclamation.svg +5 -0
  49. package/icons/clock.svg +10 -0
  50. package/icons/default-provider.svg +5 -0
  51. package/icons/desktop.svg +8 -0
  52. package/icons/error.svg +3 -0
  53. package/icons/folder-arrow-down.svg +3 -0
  54. package/icons/index.ts +35 -3
  55. package/icons/loading.svg +0 -1
  56. package/icons/manual-account.svg +3 -0
  57. package/icons/mobile.svg +3 -0
  58. package/icons/paper-plane.svg +3 -0
  59. package/icons/pending.svg +10 -0
  60. package/icons/success-hill.svg +5 -0
  61. package/icons/user-plus.svg +3 -0
  62. package/index.d.ts +807 -571
  63. package/package.json +24 -30
  64. package/styles/tailwind.css +52 -0
  65. package/styles/typography.scss +24 -7
  66. package/styles/web-components.scss +85 -2
  67. package/tailwind.config.js +128 -22
  68. package/types/components/fw-accordion/fw-accordion.vue.d.ts +20 -20
  69. package/types/components/fw-alert/fw-alert.vue.d.ts +43 -0
  70. package/types/components/fw-alert/index.d.ts +2 -0
  71. package/types/components/fw-alert/index.types.d.ts +4 -0
  72. package/types/components/fw-bar-chart/fw-bar-chart.vue.d.ts +8 -8
  73. package/types/components/fw-button/fw-button.vue.d.ts +15 -17
  74. package/types/components/fw-button/index.d.ts +2 -0
  75. package/types/components/fw-button/index.types.d.ts +1 -3
  76. package/types/components/fw-card/fw-card.vue.d.ts +3 -2
  77. package/types/components/fw-checkbox/fw-checkbox.vue.d.ts +8 -5
  78. package/types/components/fw-date-picker/fw-date-picker.vue.d.ts +14 -19
  79. package/types/components/fw-date-picker/index.types.d.ts +5 -4
  80. package/types/components/fw-drawer/fw-drawer.vue.d.ts +26 -10
  81. package/types/components/fw-drawer/index.types.d.ts +1 -1
  82. package/types/components/fw-dropdown/fw-dropdown.vue.d.ts +11 -9
  83. package/types/components/fw-icons/index.d.ts +2 -0
  84. package/types/components/fw-image/fw-image.vue.d.ts +7 -5
  85. package/types/components/fw-input/fw-input.vue.d.ts +11 -17
  86. package/types/components/fw-input/index.types.d.ts +1 -1
  87. package/types/components/fw-loading/fw-loading-bar.vue.d.ts +5 -2
  88. package/types/components/fw-loading/fw-loading-dots.vue.d.ts +2 -0
  89. package/types/components/fw-loading/index.d.ts +2 -1
  90. package/types/components/fw-modal/fw-modal.vue.d.ts +51 -11
  91. package/types/components/fw-modal/index.types.d.ts +1 -1
  92. package/types/components/fw-navigation-menu/fw-navigation-menu.vue.d.ts +77 -6
  93. package/types/components/fw-navigation-menu/index.types.d.ts +11 -0
  94. package/types/components/fw-popover/fw-popover.vue.d.ts +10 -5
  95. package/types/components/fw-provider-list/fw-provider-list.vue.d.ts +8 -5
  96. package/types/components/fw-sidebar-menu/fw-sidebar-menu.vue.d.ts +20 -3
  97. package/types/components/fw-sidebar-menu/index.types.d.ts +9 -0
  98. package/types/components/fw-switch/fw-switch.vue.d.ts +101 -0
  99. package/types/components/fw-switch/index.d.ts +2 -0
  100. package/types/components/fw-switch/index.types.d.ts +8 -0
  101. package/types/components/fw-table/fw-table.vue.d.ts +7 -7
  102. package/types/components/fw-table/index.types.d.ts +0 -3
  103. package/types/components/fw-tabs/fw-tabs.vue.d.ts +1 -1
  104. package/types/components/fw-tabs/index.types.d.ts +1 -1
  105. package/types/components/fw-tag/fw-tag.vue.d.ts +2 -2
  106. package/types/components/fw-tag/index.types.d.ts +3 -3
  107. package/types/components/fw-toast/fw-toast.vue.d.ts +2 -2
  108. package/types/components/index.d.ts +4 -3
  109. package/types/components/index.types.d.ts +1 -0
  110. package/types/helpers/get-root-colours.d.ts +3 -0
  111. package/types/helpers/index.d.ts +2 -0
  112. package/types/helpers/vue-component-to-html.d.ts +2 -0
  113. package/types/icons/index.d.ts +18 -2
  114. package/types/index-types.esm.d.ts +1 -0
  115. package/types/index.d.ts +1 -0
  116. package/types/index.esm.d.ts +1 -0
  117. package/types/services/toast.d.ts +1 -1
  118. package/web-components/index.js +30112 -29026
  119. package/esm/check--YD4Ts6g.js +0 -17
  120. package/esm/fw-animations.js +0 -123
  121. package/esm/fw-button-DNozvo7B.js +0 -286
  122. package/esm/fw-loading-bar-DThRjdw1.js +0 -22
  123. package/esm/fw-loading-spinner-BFpFFRJm.js +0 -20
  124. package/esm/fw-period-selector.js +0 -90
  125. package/esm/get-root-colours-DYEoJPEb.js +0 -37
  126. package/icons/icons.stories.ts +0 -28
  127. package/styles/tailwind.scss +0 -68
  128. package/types/components/fw-animations/fw-email-pulse.vue.d.ts +0 -24
  129. package/types/components/fw-animations/fw-success-pulse.vue.d.ts +0 -24
  130. package/types/components/fw-animations/index.d.ts +0 -4
  131. package/types/components/fw-period-selector/fw-period-selector.vue.d.ts +0 -56
  132. package/types/components/fw-period-selector/index.d.ts +0 -2
  133. package/types/components/fw-period-selector/index.types.d.ts +0 -1
  134. /package/icons/{arrows-rotate.svg → arrow-rotate.svg} +0 -0
  135. /package/types/components/{fw-animations/fw-loading-spinner.vue.d.ts → fw-icons/fw-success-animation.vue.d.ts} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@frollo/frollo-web-ui",
3
- "version": "8.5.4",
3
+ "version": "9.0.1",
4
4
  "description": "Frollo's UI library for components, utilities and configs",
5
5
  "exports": {
6
6
  "./icons": "./icons/index.ts",
@@ -20,8 +20,8 @@
20
20
  "build:lib": "bin/build-lib.sh",
21
21
  "deploy": "bin/publish.sh",
22
22
  "release": "bin/release.sh",
23
- "test:unit": "jest --config jest.config.ts --coverage --runInBand",
24
- "test:single": "jest --config jest.config.ts --coverage --watchAll",
23
+ "test:unit": "vitest run --coverage",
24
+ "test:single": "vitest watch",
25
25
  "lint": "eslint --cache ./src",
26
26
  "lint:fix": "eslint --cache ./src --fix",
27
27
  "tw-config-export": "mkdir -p ./dist && tailwind-config-viewer export ./dist/twconfig-viewer && rimraf ./dist/twconfig-viewer/favicon.ico",
@@ -45,25 +45,19 @@
45
45
  "@rollup/plugin-replace": "^5.0.5",
46
46
  "@rollup/plugin-url": "^8.0.2",
47
47
  "@rollup/pluginutils": "^5.1.0",
48
- "@storybook/addon-a11y": "^8.1.0",
49
- "@storybook/addon-designs": "^8.0.1",
50
- "@storybook/addon-essentials": "^8.1.0",
51
- "@storybook/addon-interactions": "^8.1.0",
52
- "@storybook/addon-links": "^8.1.0",
53
- "@storybook/addon-themes": "^8.1.0",
54
- "@storybook/blocks": "^8.1.0",
55
- "@storybook/manager-api": "^8.1.0",
56
- "@storybook/test": "^8.1.0",
57
- "@storybook/theming": "^8.1.0",
58
- "@storybook/vue3": "^8.1.0",
59
- "@storybook/vue3-vite": "^8.1.0",
60
- "@types/jest": "^29.5.12",
48
+ "@storybook/addon-a11y": "^10.1.2",
49
+ "@storybook/addon-designs": "^11.0.3",
50
+ "@storybook/addon-docs": "^10.1.2",
51
+ "@storybook/addon-themes": "^10.1.2",
52
+ "@storybook/builder-vite": "^10.1.2",
53
+ "@storybook/vue3-vite": "^10.1.2",
54
+ "@tsconfig/node22": "^22.0.2",
61
55
  "@types/lodash-es": "^4.17.12",
62
- "@vitejs/plugin-vue": "^5.0.4",
56
+ "@vitejs/plugin-vue": "^6.0.1",
57
+ "@vitejs/plugin-vue-jsx": "^5.1.1",
58
+ "@vitest/coverage-istanbul": "^4.0.14",
63
59
  "@vue/test-utils": "^2.4.6",
64
- "@vue/vue3-jest": "^29.2.6",
65
60
  "autoprefixer": "^10.4.19",
66
- "babel-jest": "^29.7.0",
67
61
  "chart.js": "^4.4.2",
68
62
  "cross-env": "^7.0.3",
69
63
  "eslint": "^9.2.0",
@@ -72,11 +66,8 @@
72
66
  "eslint-plugin-vue": "^9.26.0",
73
67
  "globals": "^15.2.0",
74
68
  "hash-sum": "^2.0.0",
75
- "jest": "^29.7.0",
76
- "jest-environment-jsdom": "^29.7.0",
77
69
  "jsdom": "^24.0.0",
78
70
  "lodash-es": "^4.17.21",
79
- "node-sass": "^9.0.0",
80
71
  "postcss": "^8.4.38",
81
72
  "prettier": "^3.3.1",
82
73
  "rimraf": "^5.0.7",
@@ -86,23 +77,26 @@
86
77
  "rollup-plugin-typescript2": "^0.36.0",
87
78
  "rollup-plugin-vue": "^6.0.0",
88
79
  "sass": "^1.77.1",
89
- "storybook": "^8.1.0",
80
+ "storybook": "^10.1.2",
90
81
  "svgo": "^3.3.2",
91
82
  "tailwindcss": "^3.4.3",
92
- "ts-jest": "^29.1.2",
93
83
  "ts-node": "^10.9.2",
94
84
  "tslib": "^2.6.2",
95
85
  "typescript": "^5.4.5",
96
- "typescript-eslint": "^8.0.0-alpha.13",
86
+ "typescript-eslint": "^8.48.0",
97
87
  "v-calendar": "^3.1.2",
98
88
  "vee-validate": "^4.12.8",
99
- "vite": "^5.2.0",
89
+ "vite": "^7.2.2",
90
+ "vite-plugin-checker": "^0.11.0",
91
+ "vite-plugin-vue-devtools": "^8.0.3",
100
92
  "vite-svg-loader": "^5.1.0",
93
+ "vitest": "^4.0.8",
101
94
  "vue-chartjs": "^5.3.1",
102
95
  "vue-eslint-parser": "^9.4.2",
103
- "vue-tsc": "^2.0.6",
96
+ "vue-tsc": "^3.1.4",
104
97
  "vue3-webcomponent-wrapper": "^0.2.0",
105
- "yup": "^1.4.0"
98
+ "yup": "^1.4.0",
99
+ "eslint-plugin-storybook": "10.1.2"
106
100
  },
107
101
  "license": "Apache-2.0",
108
102
  "sideEffects": false,
@@ -110,8 +104,8 @@
110
104
  "access": "public"
111
105
  },
112
106
  "engines": {
113
- "node": ">=20.12.2",
114
- "npm": ">=10.5.0"
107
+ "node": ">=22.18.0",
108
+ "npm": ">=10.9.3"
115
109
  },
116
110
  "keywords": [
117
111
  "frollo web ui",
@@ -0,0 +1,52 @@
1
+ /* Tailwind */
2
+ @tailwind base;
3
+ @tailwind components;
4
+ @tailwind utilities;
5
+
6
+ /** Typography */
7
+
8
+ @layer base {
9
+ html {
10
+ @apply bg-brand-appBg;
11
+ }
12
+ p {
13
+ @apply text-p mb-1;
14
+ letter-spacing: 0.4px;
15
+ }
16
+
17
+ h1, .h1 {
18
+ @apply text-3xl mb-1;
19
+ letter-spacing: 0.84px;
20
+ }
21
+
22
+ h2, .h2 {
23
+ @apply text-2xl mb-1;
24
+ letter-spacing: 0.4px;
25
+ }
26
+
27
+ h3, .h3 {
28
+ @apply text-xl mb-1;
29
+ letter-spacing: 0.4px;
30
+ }
31
+
32
+ h4, .h4 {
33
+ @apply text-p mb-1;
34
+ letter-spacing: 0.4px;
35
+ }
36
+
37
+ h5, .h5 {
38
+ @apply text-p mb-1;
39
+ letter-spacing: 0.4px;
40
+ }
41
+ h6, .h6 {
42
+ @apply text-p-small mb-1;
43
+ letter-spacing: 0.4px;
44
+ }
45
+
46
+ input, textarea {
47
+ &::placeholder {
48
+ @apply text-grey-light;
49
+ letter-spacing: 0.4px;
50
+ }
51
+ }
52
+ }
@@ -1,30 +1,47 @@
1
1
  /** Typography */
2
2
 
3
3
  @layer base {
4
+ html {
5
+ @apply bg-brand-appBg;
6
+ }
4
7
  p {
5
- @apply text-lg font-normal mb-1;
8
+ @apply text-p mb-1;
9
+ letter-spacing: 0.4px;
6
10
  }
7
11
 
8
12
  h1, .h1 {
9
- @apply text-2xl font-bold mb-1 lg:text-3xl;
13
+ @apply text-3xl mb-1;
14
+ letter-spacing: 0.84px;
10
15
  }
11
16
 
12
17
  h2, .h2 {
13
- @apply text-2xl font-bold mb-1;
18
+ @apply text-2xl mb-1;
19
+ letter-spacing: 0.4px;
14
20
  }
15
21
 
16
22
  h3, .h3 {
17
- @apply text-xl font-bold mb-1;
23
+ @apply text-xl mb-1;
24
+ letter-spacing: 0.4px;
18
25
  }
19
26
 
20
27
  h4, .h4 {
21
- @apply text-lg font-bold mb-1;
28
+ @apply text-p mb-1;
29
+ letter-spacing: 0.4px;
22
30
  }
23
31
 
24
32
  h5, .h5 {
25
- @apply text-base font-bold mb-1;
33
+ @apply text-p mb-1;
34
+ letter-spacing: 0.4px;
26
35
  }
27
36
  h6, .h6 {
28
- @apply text-base font-bold mb-1;
37
+ @apply text-p-small mb-1;
38
+ letter-spacing: 0.4px;
39
+ }
40
+
41
+ input, textarea {
42
+ &::placeholder {
43
+ @apply text-grey-light;
44
+ letter-spacing: 0.4px;
45
+ }
29
46
  }
30
47
  }
@@ -1,8 +1,91 @@
1
- @import './tailwind.scss';
1
+ @use './tailwind.css';
2
+
3
+ @font-face {
4
+ font-family: 'Forma DJR Text';
5
+ src: local('Forma DJR Text'), local('FormaDJRText-Regular'),
6
+ url("https://content.frollo.us/fonts/FormaDJRText-Regular.otf") format('opentype');
7
+ font-weight: 400;
8
+ font-style: normal;
9
+ font-display: swap;
10
+ }
11
+
12
+ @font-face {
13
+ font-family: 'Forma DJR Text';
14
+ src: local('Forma DJR Text Italic'),
15
+ url('https://content.frollo.us/fonts/FormaDJRText-Regular.otf') format('opentype');
16
+ font-weight: 400;
17
+ font-style: italic;
18
+ font-display: swap;
19
+ }
20
+
21
+ @font-face {
22
+ font-family: 'Forma DJR Text';
23
+ src: local('Forma DJR Text Bold'),
24
+ url('https://content.frollo.us/fonts/FormaDJRText-Medium.otf') format('opentype');
25
+ font-weight: 500 600;
26
+ font-style: normal;
27
+ font-display: swap;
28
+ }
29
+
30
+ @font-face {
31
+ font-family: 'Forma DJR Text';
32
+ src: local('Forma DJR Text Bold'),
33
+ url('https://content.frollo.us/fonts/FormaDJRText-Medium.otf') format('opentype');
34
+ font-weight: 700;
35
+ font-style: normal;
36
+ font-display: swap;
37
+ }
38
+
39
+
40
+ /*
41
+ * Default theme variables - Frollo branding
42
+ */
43
+ :root {
44
+ --colorPrimary: #512ABD;
45
+ --colorSecondary: #141414;
46
+ --colorTertiary: #fff;
47
+ --fontFamily: Forma DJR Text;
48
+ --fontUrl: local-font;
49
+ --colorLink: #512ABD;
50
+ --colorBody: #141414;
51
+ --colorButtonPrimary: #512ABD;
52
+ --colorButtonPrimaryText: #ffffff;
53
+ --colorButtonPrimaryFade: #854cff;
54
+ --colorButtonSecondary: #E6E1FF;
55
+ --colorButtonSecondaryText: #141414;
56
+ --colorButtonSecondaryFade: #CDC3FF;
57
+ --colorButtonTertiary: #512ABD;
58
+ --colorButtonTertiaryText: #512ABD;
59
+ --colorButtonTertiaryFade: #f5f3ff;
60
+ --colorButtonQuaternary: #CDC3FF;
61
+ --colorButtonQuaternaryText: #292B3D;
62
+ --colorButtonQuaternaryFade: transparent;
63
+ --colorAppBg: #F7F7F7;
64
+ --colorSuccessBg: #D8FFF6;
65
+ --colorSuccessText: #00C696;
66
+ --colorSuccessNew: #4bf0c8;
67
+ --colorErrorBg: #FEE0D9;
68
+ --colorErrorText: #E74C4C;
69
+ --colorWarningBg: #FB6340;
70
+ --colorWarningText: #FB6340;
71
+ --colorText1: #393C56;
72
+ --colorText2: #5F6489;
73
+ --colorText3: #8B8FAC;
74
+ --colorText4: #CDC3FF;
75
+ --colorBg1: #292B3D;
76
+ --colorBg2: #FDDBFD;
77
+ --colorBg3: #FEE0D9;
78
+ --colorBg4: #D4EDF7;
79
+ --colorBorder1: #AFB2C7;
80
+ --colorBorder2: #CDC3FF;
81
+ --colorBorder3: #8E7DFF;
82
+ --colorButtonGradient: linear-gradient(87.77deg, #d327e7, #512abd 23.8%, #512abd 42.37%, #00d19f);
83
+ --colorButtonGradientText: #f7f7f7;
84
+ }
2
85
 
3
86
  body {
4
87
  font-family: var(--fontFamily);
5
- @apply text-base text-body;
88
+ @apply text-base text-body bg-brand-appBg relative;
6
89
  -webkit-font-smoothing: antialiased;
7
90
  -moz-osx-font-smoothing: grayscale;
8
91
  }
@@ -1,14 +1,15 @@
1
1
  module.exports = {
2
2
  theme: {
3
3
  colors: {
4
+ white: '#ffffff',
5
+ 'off-white': '#F7F7F7',
6
+ black: '#000000',
7
+ transparent: 'transparent',
4
8
  primary: 'var(--colorPrimary)',
5
9
  secondary: 'var(--colorSecondary)',
6
10
  tertiary: 'var(--colorTertiary)',
7
11
  link: 'var(--colorLink)',
8
12
  body: 'var(--colorBody)',
9
- white: '#ffffff',
10
- black: '#000000',
11
- transparent: 'transparent',
12
13
  button: {
13
14
  primary: {
14
15
  bg: 'var(--colorButtonPrimary)',
@@ -17,15 +18,18 @@ module.exports = {
17
18
  },
18
19
  secondary: {
19
20
  bg: 'var(--colorButtonSecondary)',
20
- text: 'var(--colorButtonSecondaryText)'
21
+ text: 'var(--colorButtonSecondaryText)',
22
+ fade: 'var(--colorButtonSecondaryFade)'
21
23
  },
22
24
  tertiary: {
23
25
  bg: 'var(--colorButtonTertiary)',
24
- text: 'var(--colorButtonTertiaryText)'
26
+ text: 'var(--colorButtonTertiaryText)',
27
+ fade: 'var(--colorButtonTertiaryFade)'
25
28
  },
26
- disabled: {
27
- bg: 'var(--colorButtonDisabled)',
28
- text: 'var(--colorButtonDisabledText)'
29
+ quaternary: {
30
+ bg: 'var(--colorButtonQuaternary)',
31
+ text: 'var(--colorButtonQuaternaryText)',
32
+ fade: 'var(--colorButtonQuaternaryFade)'
29
33
  }
30
34
  },
31
35
  grey: {
@@ -34,24 +38,123 @@ module.exports = {
34
38
  lightest: '#f5f5f5',
35
39
  10: '#f8f8f8',
36
40
  20: '#f2f2f2',
41
+ 30: '#EEEFF1',
37
42
  40: '#E4E4E4',
38
- 60: '#D7D7D7',
39
- 80: '#C9C9C9'
43
+ 60: '#DEE0E3',
44
+ 80: '#C9C9C9',
45
+ 100: '#C8CBD0'
40
46
  },
41
- error: '#D83837',
42
- success: '#00855F',
43
- alert: '#e46f04'
47
+ brand: {
48
+ appBg: 'var(--colorAppBg)', // '#F7F7F7' off-white
49
+ success: {
50
+ bg: 'var(--colorSuccessBg)', //#D8FFF6', // mint-20
51
+ text: 'var(--colorSuccessText)', //'#00C696'
52
+ new: 'var(--colorSuccessNew)' // '#4bf0c8' // mint-100
53
+ },
54
+ error: {
55
+ bg: 'var(--colorErrorBg)', //'#FEE0D9', // coral-20
56
+ text: 'var(--colorErrorText)' //'#E74C4C'
57
+ },
58
+ warning: {
59
+ bg: 'var(--colorWarningBg)', //'#FB6340',
60
+ text: 'var(--colorWarningText)' //'#FB6340'
61
+ },
62
+ text1: 'var(--colorText1)', //'#393C56', // midnight-90
63
+ text2: 'var(--colorText2)', //'#5F6489', // midnight-70
64
+ text3: 'var(--colorText3)', //'#8B8FAC', // midnight-50
65
+ text4: 'var(--colorText4)', //'#CDC3FF', // lilac-100
66
+
67
+ bg1: 'var(--colorBg1)', //'#292B3D', // midnight-100
68
+ bg2: 'var(--colorBg2)', //'#FDDBFD', // pink-20
69
+ bg3: 'var(--colorBg3)', //'#FEE0D9', // coral-20 yodlee-bg
70
+ bg4: 'var(--colorBg4)', //'#D4EDF7', // sky-20 cdr-bg
71
+
72
+ border1: 'var(--colorBorder1)', //'#AFB2C7', // midnight-30
73
+ border2: 'var(--colorBorder2)', //'#CDC3FF', // lilac-100
74
+ border3: 'var(--colorBorder3)' //'#8E7DFF' // bg nav menu lavender
75
+ }
44
76
  },
45
77
  fontSize: {
46
- xs: ['12px', '1.5'],
47
- sm: ['14px', '1.5'],
48
- base: ['16px', '1.5'],
78
+ xs: [
79
+ '12px',
80
+ {
81
+ lineHeight: '19px',
82
+ letterSpacing: '0.4px',
83
+ fontWeight: '100'
84
+ }
85
+ ],
86
+ sm: [
87
+ '14px',
88
+ {
89
+ lineHeight: '19px',
90
+ letterSpacing: '0.45px',
91
+ fontWeight: '100'
92
+ }
93
+ ],
94
+ base: [
95
+ '16px',
96
+ {
97
+ lineHeight: '19px',
98
+ letterSpacing: '0.45px',
99
+ fontWeight: '400'
100
+ }
101
+ ],
49
102
  lg: ['18px', '1.5'],
50
- xl: ['22px', '1.5'],
51
- '2xl': ['26px', '1.3'],
52
- '3xl': ['42px', '1.2'],
53
- p2: ['16px', '1.5'],
54
- 'p-small': ['14px', '1.5']
103
+ xl: [
104
+ '20px',
105
+ {
106
+ lineHeight: '26px',
107
+ letterSpacing: '0.4px',
108
+ fontWeight: '500'
109
+ }
110
+ ],
111
+ '2xl': [
112
+ '20px',
113
+ {
114
+ lineHeight: '26px',
115
+ letterSpacing: '0.4px',
116
+ fontWeight: '500'
117
+ }
118
+ ],
119
+ '3xl': [
120
+ '42px',
121
+ {
122
+ lineHeight: '46px',
123
+ letterSpacing: '0.84px',
124
+ fontWeight: '400'
125
+ }
126
+ ],
127
+ p: [
128
+ '20px',
129
+ {
130
+ lineHeight: '26px',
131
+ letterSpacing: '0.4px',
132
+ fontWeight: '400'
133
+ }
134
+ ],
135
+ 'p-small': [
136
+ '15px',
137
+ {
138
+ lineHeight: '19px',
139
+ letterSpacing: '0.45px',
140
+ fontWeight: '400'
141
+ }
142
+ ],
143
+ p2: [
144
+ '14px',
145
+ {
146
+ lineHeight: '19px',
147
+ letterSpacing: '0.45px',
148
+ fontWeight: '400'
149
+ }
150
+ ]
151
+ },
152
+ listStyleType: {
153
+ none: 'none',
154
+ disc: 'disc',
155
+ decimal: 'decimal',
156
+ square: 'square',
157
+ roman: 'upper-roman'
55
158
  },
56
159
  screens: {
57
160
  // @media (min-width: 640px) { ... }
@@ -67,7 +170,10 @@ module.exports = {
67
170
  banner: '420px'
68
171
  },
69
172
  boxShadow: {
70
- card: '0px 1px 7px rgba(0, 0, 0, 0.1714)'
173
+ card: '0px 4px 4px rgba(0, 0, 0, 0.1714)',
174
+ top: '0 -1px 0 0 rgba(20, 20, 20, 0.25);',
175
+ bottom: '0px 1px 0px rgba(20, 20, 20, 0.25)',
176
+ dropdown: '0 4px 4px 0 rgba(0, 0, 0, 0.25)'
71
177
  }
72
178
  }
73
179
  }
@@ -33,16 +33,9 @@ declare const __default__: import("vue").DefineComponent<{
33
33
  default: boolean;
34
34
  };
35
35
  /**
36
- * Icon type (arrow or plus)
36
+ * Header className for the accordion button
37
37
  */
38
- isArrow: {
39
- type: BooleanConstructor;
40
- default: boolean;
41
- };
42
- /**
43
- * Padding className for the accordion button
44
- */
45
- buttonPadding: {
38
+ headerClass: {
46
39
  type: StringConstructor;
47
40
  default: string;
48
41
  };
@@ -53,6 +46,13 @@ declare const __default__: import("vue").DefineComponent<{
53
46
  type: StringConstructor;
54
47
  default: string;
55
48
  };
49
+ /**
50
+ * Secondary appearance of the accordion
51
+ */
52
+ secondary: {
53
+ type: BooleanConstructor;
54
+ default: boolean;
55
+ };
56
56
  }, {
57
57
  isOpen: import("vue").Ref<boolean>;
58
58
  beforeEnter: (el: Element) => void;
@@ -95,16 +95,9 @@ declare const __default__: import("vue").DefineComponent<{
95
95
  default: boolean;
96
96
  };
97
97
  /**
98
- * Icon type (arrow or plus)
98
+ * Header className for the accordion button
99
99
  */
100
- isArrow: {
101
- type: BooleanConstructor;
102
- default: boolean;
103
- };
104
- /**
105
- * Padding className for the accordion button
106
- */
107
- buttonPadding: {
100
+ headerClass: {
108
101
  type: StringConstructor;
109
102
  default: string;
110
103
  };
@@ -115,14 +108,21 @@ declare const __default__: import("vue").DefineComponent<{
115
108
  type: StringConstructor;
116
109
  default: string;
117
110
  };
111
+ /**
112
+ * Secondary appearance of the accordion
113
+ */
114
+ secondary: {
115
+ type: BooleanConstructor;
116
+ default: boolean;
117
+ };
118
118
  }>> & {
119
119
  onToggled?: ((...args: any[]) => any) | undefined;
120
120
  }, {
121
121
  titleClass: string;
122
122
  isOpened: boolean;
123
123
  iconPositionStart: boolean;
124
- isArrow: boolean;
125
- buttonPadding: string;
124
+ headerClass: string;
126
125
  borderStyle: string;
126
+ secondary: boolean;
127
127
  }, {}>;
128
128
  export default __default__;
@@ -0,0 +1,43 @@
1
+ import { type PropType } from 'vue';
2
+ import type { AlertVariantName } from './index.types';
3
+ declare const _default: import("vue").DefineComponent<{
4
+ /**
5
+ * The colour variant of the alert element.
6
+ * Accepts 'success', 'error'
7
+ */
8
+ variant: {
9
+ type: PropType<AlertVariantName>;
10
+ required: true;
11
+ validator: (value: string) => boolean;
12
+ };
13
+ /**
14
+ * Disables the icon element.
15
+ */
16
+ disableIcon: {
17
+ type: BooleanConstructor;
18
+ default: boolean;
19
+ };
20
+ }, {
21
+ bgClass: import("vue").ComputedRef<"bg-brand-error-bg" | "bg-brand-success-bg">;
22
+ defaultScale: import("vue").Ref<string>;
23
+ }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
24
+ /**
25
+ * The colour variant of the alert element.
26
+ * Accepts 'success', 'error'
27
+ */
28
+ variant: {
29
+ type: PropType<AlertVariantName>;
30
+ required: true;
31
+ validator: (value: string) => boolean;
32
+ };
33
+ /**
34
+ * Disables the icon element.
35
+ */
36
+ disableIcon: {
37
+ type: BooleanConstructor;
38
+ default: boolean;
39
+ };
40
+ }>>, {
41
+ disableIcon: boolean;
42
+ }, {}>;
43
+ export default _default;
@@ -0,0 +1,2 @@
1
+ import FwAlert from './fw-alert.vue';
2
+ export { FwAlert };
@@ -0,0 +1,4 @@
1
+ export type AlertVariantName = 'success' | 'error';
2
+ export declare interface FwAlertProps {
3
+ variant?: AlertVariantName;
4
+ }