bonkers-ui 1.0.53 → 1.0.55
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/.eslintrc.js +82 -41
- package/package.json +25 -24
- package/src/components/ui-alert/ui-alert.vue +1 -1
- package/src/components/ui-badge/ui-badge.stories.ts +0 -5
- package/src/components/ui-badge/ui-badge.vue +4 -19
- package/src/components/ui-ber-rank/ui-ber-rank.vue +2 -2
- package/src/components/ui-button/ui-button.test.ts +1 -1
- package/src/components/ui-button/ui-button.vue +35 -13
- package/src/components/ui-card-cta/ui-card-cta.vue +6 -6
- package/src/components/ui-card-result/ui-card-result.stories.ts +29 -29
- package/src/components/ui-card-result/ui-card-result.vue +20 -7
- package/src/components/ui-card-simple/ui-card-simple.vue +1 -1
- package/src/components/ui-checkbox/ui-checkbox.vue +15 -3
- package/src/components/ui-icon-wrapper/ui-icon-wrapper.vue +8 -8
- package/src/components/ui-input/ui-input.vue +14 -5
- package/src/components/ui-input-range/ui-input-range.vue +26 -13
- package/src/components/ui-list-item/ui-list-item.vue +14 -3
- package/src/components/ui-modal/ui-backdrop/ui-backdrop.vue +2 -2
- package/src/components/ui-modal/ui-modal.vue +12 -12
- package/src/components/ui-notification-badge/ui-notification-badge.vue +17 -3
- package/src/components/ui-order-card/ui-order-card.vue +4 -4
- package/src/components/ui-plain-radio/ui-plain-radio.vue +22 -23
- package/src/components/ui-progress/_types.ts +0 -0
- package/src/components/ui-progress/index.ts +1 -0
- package/src/components/ui-progress/ui-progress.stories.ts +34 -0
- package/src/components/ui-progress/ui-progress.vue +43 -0
- package/src/components/ui-radio/ui-radio.vue +14 -14
- package/src/components/ui-radio-fancy/ui-radio-fancy.vue +22 -21
- package/src/components/ui-result-card-range/ui-result-card-range.vue +4 -4
- package/src/components/ui-select/ui-select.vue +15 -4
- package/src/components/ui-snackbar/ui-snackbar.vue +1 -1
- package/src/components/ui-table/_types.ts +5 -0
- package/src/components/ui-table/index.ts +2 -0
- package/src/components/ui-table/ui-table.stories.ts +10 -9
- package/src/components/ui-table/ui-table.vue +31 -0
- package/src/components/ui-tabs/ui-tabs.vue +3 -3
- package/src/components/ui-toggle/ui-toggle.vue +7 -8
- package/src/stories/colors/ui-colors.vue +2 -2
package/.eslintrc.js
CHANGED
|
@@ -1,51 +1,92 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
root: true,
|
|
3
|
+
env: {
|
|
4
|
+
browser: true,
|
|
5
|
+
es2021: true,
|
|
6
|
+
node: true,
|
|
7
7
|
},
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
"
|
|
8
|
+
extends: [
|
|
9
|
+
"plugin:vue/vue3-recommended",
|
|
10
|
+
"eslint:recommended",
|
|
11
|
+
"@vue/typescript/recommended",
|
|
12
|
+
"plugin:storybook/recommended",
|
|
13
|
+
"plugin:tailwindcss/recommended"
|
|
14
|
+
],
|
|
15
|
+
parserOptions: {
|
|
16
|
+
ecmaVersion: 2021,
|
|
11
17
|
},
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
"
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
parser: "vue-eslint-parser",
|
|
19
|
+
plugins: [
|
|
20
|
+
"tailwindcss",
|
|
21
|
+
],
|
|
22
|
+
overrides: [
|
|
23
|
+
{
|
|
24
|
+
files: ["*.vue"],
|
|
25
|
+
rules: {
|
|
26
|
+
indent: "off",
|
|
27
|
+
},
|
|
28
|
+
},
|
|
29
|
+
],
|
|
30
|
+
rules: {
|
|
31
|
+
indent: [
|
|
32
|
+
"error",
|
|
33
|
+
"tab",
|
|
34
|
+
{
|
|
35
|
+
VariableDeclarator: "first",
|
|
36
|
+
MemberExpression: 1,
|
|
37
|
+
ObjectExpression: 1,
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
"vue/html-indent": [
|
|
41
|
+
"error",
|
|
42
|
+
"tab",
|
|
43
|
+
{
|
|
44
|
+
attribute: 1,
|
|
45
|
+
baseIndent: 1,
|
|
46
|
+
closeBracket: 0,
|
|
47
|
+
alignAttributesVertically: true,
|
|
48
|
+
},
|
|
49
|
+
],
|
|
50
|
+
"vue/script-indent": [
|
|
51
|
+
"error",
|
|
52
|
+
"tab",
|
|
53
|
+
{
|
|
54
|
+
baseIndent: 1,
|
|
55
|
+
switchCase: 1,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
36
58
|
"eol-last": ["error", "always"],
|
|
37
59
|
"no-console": "warn",
|
|
38
60
|
"no-debugger": "warn",
|
|
39
61
|
"vue/multi-word-component-names": 0,
|
|
40
62
|
"object-curly-spacing": ["error", "always"],
|
|
41
|
-
|
|
42
|
-
"
|
|
43
|
-
"
|
|
63
|
+
quotes: [
|
|
64
|
+
"error",
|
|
65
|
+
"double",
|
|
66
|
+
{
|
|
67
|
+
avoidEscape: true,
|
|
68
|
+
allowTemplateLiterals: true,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
"no-multiple-empty-lines": [
|
|
72
|
+
"error",
|
|
73
|
+
{
|
|
74
|
+
max: 1,
|
|
75
|
+
maxEOF: 0,
|
|
76
|
+
},
|
|
77
|
+
],
|
|
78
|
+
semi: ["error", "always"],
|
|
79
|
+
"max-len": ["error", {
|
|
80
|
+
"code": 120,
|
|
81
|
+
"tabWidth": 4,
|
|
82
|
+
"ignoreStrings": true,
|
|
83
|
+
"ignoreTemplateLiterals": true,
|
|
84
|
+
"ignoreRegExpLiterals": true,
|
|
85
|
+
"ignoreUrls": true,
|
|
86
|
+
"ignoreComments": true,
|
|
87
|
+
"ignoreTrailingComments": true,
|
|
88
|
+
ignorePattern: 'd="([\\s\\S]*?)"',
|
|
44
89
|
}],
|
|
45
|
-
"no-
|
|
46
|
-
|
|
47
|
-
"maxEOF": 0
|
|
48
|
-
}],
|
|
49
|
-
semi: ["error", "always"]
|
|
50
|
-
}
|
|
90
|
+
"tailwindcss/no-custom-classname": "off",
|
|
91
|
+
},
|
|
51
92
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bonkers-ui",
|
|
3
|
-
"version": "v1.0.
|
|
3
|
+
"version": "v1.0.55",
|
|
4
4
|
"private": false,
|
|
5
5
|
"scripts": {
|
|
6
6
|
"storybook": "storybook dev -p 6006",
|
|
@@ -19,50 +19,51 @@
|
|
|
19
19
|
"@fortawesome/free-regular-svg-icons": "^6.4.0",
|
|
20
20
|
"@fortawesome/free-solid-svg-icons": "^6.4.0",
|
|
21
21
|
"@fortawesome/vue-fontawesome": "^3.0.3",
|
|
22
|
+
"eslint-plugin-tailwindcss": "^3.13.0",
|
|
22
23
|
"storybook-addon-designs": "^6.3.1",
|
|
23
24
|
"vue": "^3.3.4",
|
|
24
|
-
"vue-router": "^4.2.
|
|
25
|
+
"vue-router": "^4.2.4"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
|
-
"@storybook/addon-essentials": "^7.0.
|
|
28
|
-
"@storybook/addon-links": "^7.0.
|
|
29
|
-
"@storybook/addon-mdx-gfm": "^7.0.
|
|
30
|
-
"@storybook/vue3": "^7.0.
|
|
31
|
-
"@storybook/vue3-vite": "^7.0.
|
|
28
|
+
"@storybook/addon-essentials": "^7.0.27",
|
|
29
|
+
"@storybook/addon-links": "^7.0.27",
|
|
30
|
+
"@storybook/addon-mdx-gfm": "^7.0.27",
|
|
31
|
+
"@storybook/vue3": "^7.0.27",
|
|
32
|
+
"@storybook/vue3-vite": "^7.0.27",
|
|
32
33
|
"@typescript-eslint/eslint-plugin": "^5.59.9",
|
|
33
34
|
"@typescript-eslint/parser": "^5.59.9",
|
|
34
35
|
"@vitejs/plugin-vue": "^4.2.3",
|
|
35
36
|
"@vue/eslint-config-typescript": "^11.0.3",
|
|
36
|
-
"@vue/test-utils": "^2.
|
|
37
|
-
"eslint": "8.
|
|
37
|
+
"@vue/test-utils": "^2.4.0",
|
|
38
|
+
"eslint": "8.44.0",
|
|
38
39
|
"eslint-plugin-storybook": "^0.6.12",
|
|
39
|
-
"eslint-plugin-vue": "^9.
|
|
40
|
+
"eslint-plugin-vue": "^9.15.1",
|
|
40
41
|
"gh-pages": "^5.0.0",
|
|
41
42
|
"husky": "4.3.8",
|
|
42
43
|
"jsdom": "^22.1.0",
|
|
43
|
-
"lint-staged": "^13.2.
|
|
44
|
-
"postcss": "^8.4.
|
|
44
|
+
"lint-staged": "^13.2.3",
|
|
45
|
+
"postcss": "^8.4.26",
|
|
45
46
|
"postcss-html": "^1.4.1",
|
|
46
47
|
"react": "^18.2.0",
|
|
47
48
|
"react-dom": "^18.2.0",
|
|
48
|
-
"storybook": "^7.0.
|
|
49
|
+
"storybook": "^7.0.27",
|
|
49
50
|
"storybook-tailwind-dark-mode": "^1.0.22",
|
|
50
|
-
"stylelint": "^15.
|
|
51
|
-
"stylelint-config-recommended": "^
|
|
52
|
-
"stylelint-config-recommended-vue": "^1.
|
|
53
|
-
"stylelint-config-standard": "^
|
|
54
|
-
"tailwindcss": "^3.3.
|
|
51
|
+
"stylelint": "^15.10.1",
|
|
52
|
+
"stylelint-config-recommended": "^13.0.0",
|
|
53
|
+
"stylelint-config-recommended-vue": "^1.5.0",
|
|
54
|
+
"stylelint-config-standard": "^34.0.0",
|
|
55
|
+
"tailwindcss": "^3.3.3",
|
|
55
56
|
"ts-node": "^10.9.1",
|
|
56
|
-
"typescript": "^5.1.
|
|
57
|
-
"vite": "^4.
|
|
58
|
-
"vitest": "^0.
|
|
59
|
-
"vue-eslint-parser": "^9.3.
|
|
57
|
+
"typescript": "^5.1.6",
|
|
58
|
+
"vite": "^4.4.4",
|
|
59
|
+
"vitest": "^0.33.0",
|
|
60
|
+
"vue-eslint-parser": "^9.3.1",
|
|
60
61
|
"vue-loader": "^17.2.2",
|
|
61
|
-
"vue-tsc": "^1.
|
|
62
|
+
"vue-tsc": "^1.8.4"
|
|
62
63
|
},
|
|
63
64
|
"lint-staged": {
|
|
64
65
|
"*.{ts,tsx,vue}": [
|
|
65
|
-
"eslint --fix",
|
|
66
|
+
"yarn eslint --fix",
|
|
66
67
|
"bash -c 'yarn typecheck'"
|
|
67
68
|
],
|
|
68
69
|
"*.{css,vue,tsx}": "stylelint --fix"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="ui-alert flex gap-sm
|
|
3
|
+
class="ui-alert flex gap-sm rounded-lg border bg-white p-sm"
|
|
4
4
|
:class="[
|
|
5
5
|
(!kind || kind === EAlertTypes.PRIMARY) && 'border-primary',
|
|
6
6
|
kind === EAlertTypes.WARNING && 'border-warning',
|
|
@@ -16,16 +16,11 @@ export default {
|
|
|
16
16
|
options: Object.values(EBadgeSize),
|
|
17
17
|
description: "The Element size",
|
|
18
18
|
},
|
|
19
|
-
more: {
|
|
20
|
-
control: { type: "boolean" },
|
|
21
|
-
description: "The Element more",
|
|
22
|
-
}
|
|
23
19
|
},
|
|
24
20
|
args: {
|
|
25
21
|
slot: "default text",
|
|
26
22
|
kind: EBadgeKind.PRIMARY,
|
|
27
23
|
size: EBadgeSize.SMALL,
|
|
28
|
-
more: false,
|
|
29
24
|
},
|
|
30
25
|
};
|
|
31
26
|
|
|
@@ -1,11 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="ui-badge relative text-white
|
|
4
|
-
:class="[
|
|
5
|
-
more && 'mr-sm',
|
|
6
|
-
]"
|
|
3
|
+
class="ui-badge relative overflow-hidden text-white"
|
|
7
4
|
>
|
|
8
|
-
<div class="relative z-[1] flex
|
|
5
|
+
<div class="relative z-[1] flex content-center items-center gap-xxs px-xs py-xxs">
|
|
9
6
|
<ui-icon
|
|
10
7
|
v-if="icon"
|
|
11
8
|
:size="ESize.XS"
|
|
@@ -19,7 +16,7 @@
|
|
|
19
16
|
class="whitespace-nowrap"
|
|
20
17
|
line-height
|
|
21
18
|
:class="[
|
|
22
|
-
elipsis && 'overflow-hidden
|
|
19
|
+
elipsis && 'overflow-hidden text-ellipsis',
|
|
23
20
|
]"
|
|
24
21
|
>
|
|
25
22
|
<slot />
|
|
@@ -27,24 +24,13 @@
|
|
|
27
24
|
</div>
|
|
28
25
|
|
|
29
26
|
<div
|
|
30
|
-
|
|
31
|
-
class="absolute top-0 left-[15px] w-full h-full bg-primary-300 rounded-full border border-white"
|
|
32
|
-
/>
|
|
33
|
-
|
|
34
|
-
<div
|
|
35
|
-
v-if="more"
|
|
36
|
-
class="absolute top-0 left-xs w-full h-full bg-primary-400 rounded-full border border-white"
|
|
37
|
-
/>
|
|
38
|
-
|
|
39
|
-
<div
|
|
40
|
-
class="absolute rounded-full top-0 left-0 w-full h-full"
|
|
27
|
+
class="absolute left-0 top-0 h-full w-full rounded-full"
|
|
41
28
|
:class="[
|
|
42
29
|
(!kind || kind === EBadgeKind.PRIMARY) && 'bg-primary-600',
|
|
43
30
|
|
|
44
31
|
kind === EBadgeKind.ERROR && 'bg-error-600',
|
|
45
32
|
kind === EBadgeKind.ACCENT && 'bg-accent-600',
|
|
46
33
|
elipsis && 'max-w-full',
|
|
47
|
-
more && 'border border-white',
|
|
48
34
|
]"
|
|
49
35
|
/>
|
|
50
36
|
</div>
|
|
@@ -62,7 +48,6 @@
|
|
|
62
48
|
kind?: EBadgeKind;
|
|
63
49
|
icon?: TIconName;
|
|
64
50
|
elipsis?: boolean;
|
|
65
|
-
more?: boolean;
|
|
66
51
|
}>();
|
|
67
52
|
|
|
68
53
|
const slots = useSlots();
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
:weight="ETextWeight.BOLD"
|
|
23
23
|
:size="textSize"
|
|
24
24
|
:text-transform="ETextTransform.UPPERCASE"
|
|
25
|
-
class="absolute
|
|
25
|
+
class="absolute left-0 top-0 flex h-full w-full items-center justify-center"
|
|
26
26
|
>
|
|
27
27
|
ber
|
|
28
28
|
</ui-typography>
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
:weight="ETextWeight.BOLD"
|
|
53
53
|
:size="textSize"
|
|
54
54
|
:text-transform="ETextTransform.UPPERCASE"
|
|
55
|
-
class="absolute
|
|
55
|
+
class="absolute left-0 top-0 flex h-full w-full items-center justify-center"
|
|
56
56
|
>
|
|
57
57
|
{{ berRankDictionary[+rank]?.text || berRankDictionary[0].text }}
|
|
58
58
|
</ui-typography>
|
|
@@ -1,26 +1,48 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<button
|
|
3
|
-
class="ui-button
|
|
3
|
+
class="ui-button
|
|
4
|
+
text-base
|
|
5
|
+
grid
|
|
6
|
+
touch-manipulation
|
|
7
|
+
grid-flow-col
|
|
8
|
+
items-center
|
|
9
|
+
justify-center
|
|
10
|
+
whitespace-nowrap
|
|
11
|
+
rounded-lg
|
|
12
|
+
font-bold
|
|
13
|
+
leading-none
|
|
14
|
+
"
|
|
4
15
|
:disabled="disabled"
|
|
5
16
|
:class="[
|
|
6
17
|
(!kind || kind === EButtonTypes.PRIMARY) && [primaryColor, primaryColorHover, primaryColorActive].join(' '),
|
|
7
18
|
kind === EButtonTypes.SECONDARY
|
|
8
|
-
&& 'text-white
|
|
9
|
-
kind === EButtonTypes.WARNING
|
|
10
|
-
|
|
19
|
+
&& 'bg-secondary text-white hover:bg-secondary-600 active:bg-secondary-700 disabled:bg-secondary-300',
|
|
20
|
+
kind === EButtonTypes.WARNING
|
|
21
|
+
&& 'bg-warning text-white hover:bg-warning-600 active:bg-warning-700 disabled:bg-warning-300',
|
|
22
|
+
kind === EButtonTypes.ERROR
|
|
23
|
+
&& 'bg-error text-white hover:bg-error-600 active:bg-error-700 disabled:bg-error-300',
|
|
11
24
|
kind === EButtonTypes.PRIMARY_OVERLAY
|
|
12
|
-
&& '
|
|
25
|
+
&& 'border border-primary text-primary hover:border-transparent hover:bg-primary-600'
|
|
26
|
+
+ 'hover:text-white active:border-transparent active:bg-primary-700'
|
|
27
|
+
+ 'active:text-white disabled:border-primary-300 disabled:text-primary-300',
|
|
13
28
|
kind === EButtonTypes.SECONDARY_OVERLAY
|
|
14
|
-
&& '
|
|
29
|
+
&& 'border border-secondary text-secondary hover:border-transparent hover:bg-secondary-600'
|
|
30
|
+
+ 'hover:text-white active:border-transparent active:bg-secondary-700'
|
|
31
|
+
+ 'active:text-white disabled:border-secondary-300 disabled:text-secondary-300',
|
|
15
32
|
kind === EButtonTypes.WARNING_OVERLAY
|
|
16
|
-
&& '
|
|
33
|
+
&& 'border border-warning text-warning hover:border-transparent hover:bg-warning-600'
|
|
34
|
+
+ 'hover:text-white active:border-transparent active:bg-warning-700'
|
|
35
|
+
+ 'active:text-white disabled:border-warning-300 disabled:text-warning-300',
|
|
17
36
|
kind === EButtonTypes.ERROR_OVERLAY
|
|
18
|
-
&& '
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
size === EButtonSizes.
|
|
37
|
+
&& 'border border-error text-error hover:border-transparent hover:bg-error-600'
|
|
38
|
+
+'hover:text-white active:border-transparent active:bg-error-700'
|
|
39
|
+
+'active:text-white disabled:border-error-300 disabled:text-error-300',
|
|
40
|
+
kind === EButtonTypes.LINK && 'hover:text-accent-alt-600 active:text-accent-alt-700'
|
|
41
|
+
+'disabled:text-accent-alt-300 text-accent-alt',
|
|
42
|
+
(!size || size === EButtonSizes.DEFAULT) && 'px-md py-sm',
|
|
43
|
+
size === EButtonSizes.SMALL && 'px-md py-xs',
|
|
44
|
+
size === EButtonSizes.MEDIUM && 'p-sm',
|
|
45
|
+
size === EButtonSizes.LARGE && 'p-md',
|
|
24
46
|
($slots.default || $slots.postfix) && 'gap-sm',
|
|
25
47
|
fullWidth && 'w-full',
|
|
26
48
|
disabled && 'pointer-events-none',
|
|
@@ -3,22 +3,22 @@
|
|
|
3
3
|
class="
|
|
4
4
|
ui-card-cta
|
|
5
5
|
w-full
|
|
6
|
-
|
|
6
|
+
rounded-2xl
|
|
7
7
|
border
|
|
8
8
|
border-secondary-alt-500
|
|
9
|
-
|
|
9
|
+
bg-white
|
|
10
10
|
p-sm
|
|
11
11
|
shadow-md
|
|
12
|
-
|
|
12
|
+
outline-0
|
|
13
13
|
hover:border-secondary-700
|
|
14
14
|
focus:shadow-border-primary
|
|
15
15
|
active:bg-secondary-alt-200
|
|
16
|
-
disabled:
|
|
17
|
-
disabled:
|
|
16
|
+
disabled:pointer-events-none
|
|
17
|
+
disabled:bg-secondary-alt-200"
|
|
18
18
|
:disabled="disabled"
|
|
19
19
|
>
|
|
20
20
|
<span
|
|
21
|
-
class="ui-card-cta__wrapper w-full
|
|
21
|
+
class="ui-card-cta__wrapper grid w-full items-center gap-sm"
|
|
22
22
|
:class="[
|
|
23
23
|
invertOrder && 'ui-card-cta_inverted',
|
|
24
24
|
]"
|
|
@@ -60,6 +60,29 @@ const Template: Story<TComponentProps> = (args) => ({
|
|
|
60
60
|
</template>
|
|
61
61
|
|
|
62
62
|
<template #default>
|
|
63
|
+
|
|
64
|
+
<div
|
|
65
|
+
class="flex gap-xs items-center mb-xs"
|
|
66
|
+
>
|
|
67
|
+
<ui-icon
|
|
68
|
+
class="text-primary"
|
|
69
|
+
:size="ESize.SM"
|
|
70
|
+
:icon-name="['far', 'face-smile']"
|
|
71
|
+
/>
|
|
72
|
+
|
|
73
|
+
<ui-icon
|
|
74
|
+
class="text-primary"
|
|
75
|
+
:size="ESize.SM"
|
|
76
|
+
:icon-name="['far', 'face-smile']"
|
|
77
|
+
/>
|
|
78
|
+
|
|
79
|
+
<ui-icon
|
|
80
|
+
class="text-secondary-alt-300"
|
|
81
|
+
:size="ESize.SM"
|
|
82
|
+
:icon-name="['far', 'face-smile']"
|
|
83
|
+
/>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
63
86
|
<div class="flex flex-wrap gap-xs mb-sm">
|
|
64
87
|
<ui-badge
|
|
65
88
|
v-for="item in ['Free bank tranfers']"
|
|
@@ -75,29 +98,6 @@ const Template: Story<TComponentProps> = (args) => ({
|
|
|
75
98
|
>
|
|
76
99
|
more...
|
|
77
100
|
</ui-badge>
|
|
78
|
-
|
|
79
|
-
<div
|
|
80
|
-
class="flex gap-xs items-center justify-center"
|
|
81
|
-
:style="{marginLeft: 'auto'}"
|
|
82
|
-
>
|
|
83
|
-
<ui-icon
|
|
84
|
-
class="text-primary"
|
|
85
|
-
:size="ESize.SM"
|
|
86
|
-
:icon-name="['far', 'face-smile']"
|
|
87
|
-
/>
|
|
88
|
-
|
|
89
|
-
<ui-icon
|
|
90
|
-
class="text-primary"
|
|
91
|
-
:size="ESize.SM"
|
|
92
|
-
:icon-name="['far', 'face-smile']"
|
|
93
|
-
/>
|
|
94
|
-
|
|
95
|
-
<ui-icon
|
|
96
|
-
class="text-secondary-alt-300"
|
|
97
|
-
:size="ESize.SM"
|
|
98
|
-
:icon-name="['far', 'face-smile']"
|
|
99
|
-
/>
|
|
100
|
-
</div>
|
|
101
101
|
</div>
|
|
102
102
|
|
|
103
103
|
<ul>
|
|
@@ -118,12 +118,13 @@ const Template: Story<TComponentProps> = (args) => ({
|
|
|
118
118
|
</ui-list-item>
|
|
119
119
|
</ul>
|
|
120
120
|
|
|
121
|
-
<
|
|
122
|
-
|
|
123
|
-
|
|
121
|
+
<div :style="{display: 'grid', gridTemplateColumns: '1fr 1fr'}" class="items-center gap-sm mb-sm">
|
|
122
|
+
<ui-typography underline :size="ETypographySizes.SM" :kind="EColors.ACCENT">
|
|
123
|
+
Full Details
|
|
124
|
+
</ui-typography>
|
|
124
125
|
|
|
125
|
-
<div :style="{display: 'grid', gridTemplateColumns: '1fr 1fr'}" class="items-center gap-sm">
|
|
126
126
|
<ui-typography
|
|
127
|
+
class="text-right"
|
|
127
128
|
:weight="ETextWeight.BOLD"
|
|
128
129
|
:size="ETypographySizes.XL"
|
|
129
130
|
:kind="EColors.SECONDARY"
|
|
@@ -136,9 +137,8 @@ const Template: Story<TComponentProps> = (args) => ({
|
|
|
136
137
|
Monthly fee
|
|
137
138
|
</ui-typography>
|
|
138
139
|
</ui-typography>
|
|
139
|
-
|
|
140
|
-
<ui-button full-width>Some text</ui-button>
|
|
141
140
|
</div>
|
|
141
|
+
<ui-button full-width>Some text</ui-button>
|
|
142
142
|
</template>
|
|
143
143
|
</ui-card-result>
|
|
144
144
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<div class="ui-card-result">
|
|
3
3
|
<div
|
|
4
4
|
v-if="exclusiveText"
|
|
5
|
-
class="
|
|
5
|
+
class="-mb-lg rounded-2xl bg-primary px-sm pb-lg"
|
|
6
6
|
@click="exclusiveClickAction"
|
|
7
7
|
>
|
|
8
8
|
<ui-typography
|
|
@@ -11,18 +11,31 @@
|
|
|
11
11
|
:size="ETypographySizes.XXS"
|
|
12
12
|
:kind="EColors.WHITE"
|
|
13
13
|
:align="ETextAlign.CENTER"
|
|
14
|
-
:weight="ETextWeight.
|
|
14
|
+
:weight="ETextWeight.BOLD"
|
|
15
15
|
>
|
|
16
16
|
{{ exclusiveText }}
|
|
17
17
|
</ui-typography>
|
|
18
18
|
</div>
|
|
19
19
|
|
|
20
|
-
<div class="grid
|
|
21
|
-
<div
|
|
20
|
+
<div class="relative grid overflow-hidden rounded-2xl border border-secondary-alt-400 bg-white">
|
|
21
|
+
<div
|
|
22
|
+
class="
|
|
23
|
+
ui-card-result__header
|
|
24
|
+
m-xs
|
|
25
|
+
mb-sm
|
|
26
|
+
grid
|
|
27
|
+
items-center
|
|
28
|
+
justify-between
|
|
29
|
+
gap-xs
|
|
30
|
+
rounded-lg
|
|
31
|
+
bg-secondary-alt-200
|
|
32
|
+
p-xs
|
|
33
|
+
"
|
|
34
|
+
>
|
|
22
35
|
<ui-typography
|
|
23
36
|
v-if="header"
|
|
24
37
|
line-height
|
|
25
|
-
class="flex-1
|
|
38
|
+
class="line-clamp flex-1"
|
|
26
39
|
:size="ETypographySizes.SM"
|
|
27
40
|
:weight="ETextWeight.SEMI_BOLD"
|
|
28
41
|
:kind="EColors.SECONDARY"
|
|
@@ -33,14 +46,14 @@
|
|
|
33
46
|
<slot name="sidebar" />
|
|
34
47
|
</div>
|
|
35
48
|
|
|
36
|
-
<main class="
|
|
49
|
+
<main class="w-full overflow-hidden bg-white p-sm pt-0">
|
|
37
50
|
<slot />
|
|
38
51
|
</main>
|
|
39
52
|
</div>
|
|
40
53
|
|
|
41
54
|
<div
|
|
42
55
|
v-if="exclusiveTextBottom"
|
|
43
|
-
class="
|
|
56
|
+
class="-mt-lg rounded-2xl border border-secondary-alt-400 bg-secondary-alt-200 px-sm pt-lg"
|
|
44
57
|
@click="exclusiveBottomClickAction"
|
|
45
58
|
>
|
|
46
59
|
<ui-typography
|
|
@@ -14,13 +14,25 @@
|
|
|
14
14
|
>
|
|
15
15
|
<input
|
|
16
16
|
v-model="checkboxModel"
|
|
17
|
-
class="appearance-none
|
|
17
|
+
class="absolute appearance-none"
|
|
18
18
|
type="checkbox"
|
|
19
19
|
:value="value"
|
|
20
20
|
:disabled="disabled"
|
|
21
21
|
>
|
|
22
22
|
<span
|
|
23
|
-
class="
|
|
23
|
+
class="
|
|
24
|
+
ui-checkbox_custom
|
|
25
|
+
relative
|
|
26
|
+
flex
|
|
27
|
+
h-md
|
|
28
|
+
w-md
|
|
29
|
+
items-center
|
|
30
|
+
justify-center
|
|
31
|
+
rounded
|
|
32
|
+
border
|
|
33
|
+
border-secondary-alt-500
|
|
34
|
+
hover:border-secondary-alt-700
|
|
35
|
+
"
|
|
24
36
|
:class="invertOrder && 'order-last'"
|
|
25
37
|
>
|
|
26
38
|
<svg
|
|
@@ -64,7 +76,7 @@
|
|
|
64
76
|
}>();
|
|
65
77
|
|
|
66
78
|
const emit = defineEmits<{
|
|
67
|
-
(e: "update:modelValue", state:
|
|
79
|
+
(e: "update:modelValue", state: typeof props.modelValue): void
|
|
68
80
|
}>();
|
|
69
81
|
|
|
70
82
|
const checkboxModel = computed({
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
<template>
|
|
2
2
|
<div
|
|
3
|
-
class="icon-wrapper
|
|
3
|
+
class="icon-wrapper relative grid h-fit w-fit place-items-center rounded-2xl"
|
|
4
4
|
:class="[
|
|
5
|
-
kind === EIconWrapperTypes.PRIMARY && 'text-white
|
|
6
|
-
kind === EIconWrapperTypes.SECONDARY && '
|
|
7
|
-
kind === EIconWrapperTypes.DEFAULT && '
|
|
5
|
+
kind === EIconWrapperTypes.PRIMARY && 'bg-primary text-white',
|
|
6
|
+
kind === EIconWrapperTypes.SECONDARY && 'bg-secondary-alt-200 text-black',
|
|
7
|
+
kind === EIconWrapperTypes.DEFAULT && 'border-2 border-primary bg-white text-primary ',
|
|
8
8
|
|
|
9
|
-
size === EIconWrapperSizes.DEFAULT && '
|
|
10
|
-
size === EIconWrapperSizes.SMALL && '
|
|
11
|
-
size === EIconWrapperSizes.MEDIUM && '
|
|
12
|
-
size === EIconWrapperSizes.LARGE && '
|
|
9
|
+
size === EIconWrapperSizes.DEFAULT && 'p-sm',
|
|
10
|
+
size === EIconWrapperSizes.SMALL && 'p-xs',
|
|
11
|
+
size === EIconWrapperSizes.MEDIUM && 'icon-wrapper_offset-md p-md',
|
|
12
|
+
size === EIconWrapperSizes.LARGE && 'icon-wrapper_offset-lg p-lg',
|
|
13
13
|
]"
|
|
14
14
|
>
|
|
15
15
|
<slot />
|