@farm-investimentos/front-mfe-components 9.4.1 → 10.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 (54) hide show
  1. package/dist/front-mfe-components.common.js +4917 -4508
  2. package/dist/front-mfe-components.common.js.map +1 -1
  3. package/dist/front-mfe-components.css +1 -1
  4. package/dist/front-mfe-components.umd.js +4917 -4508
  5. package/dist/front-mfe-components.umd.js.map +1 -1
  6. package/dist/front-mfe-components.umd.min.js +1 -1
  7. package/dist/front-mfe-components.umd.min.js.map +1 -1
  8. package/package.json +5 -5
  9. package/src/components/Card/Card.vue +1 -1
  10. package/src/components/Card/CardContent/CardContent.vue +1 -1
  11. package/src/components/CopyToClipboard/__tests__/CopyToClipboard.spec.js +5 -1
  12. package/src/components/DatePicker/DatePicker.vue +0 -2
  13. package/src/components/Form/Form.stories.js +25 -0
  14. package/src/components/List/List.scss +0 -0
  15. package/src/components/List/List.stories.js +29 -0
  16. package/src/components/List/List.vue +16 -0
  17. package/src/components/List/__tests__/List.spec.js +20 -0
  18. package/src/components/List/index.ts +4 -0
  19. package/src/components/ListItem/ListItem.scss +37 -0
  20. package/src/components/ListItem/ListItem.stories.js +70 -0
  21. package/src/components/ListItem/ListItem.vue +82 -0
  22. package/src/components/ListItem/__tests__/ListItem.spec.js +20 -0
  23. package/src/components/ListItem/index.ts +4 -0
  24. package/src/components/Logger/Logger.vue +5 -7
  25. package/src/components/Modal/Modal.scss +1 -0
  26. package/src/components/ModalPromptUser/ModalPromptUser.scss +3 -0
  27. package/src/components/ModalPromptUser/ModalPromptUser.stories.js +7 -6
  28. package/src/components/ModalPromptUser/ModalPromptUser.vue +18 -17
  29. package/src/components/PromptUserToConfirm/PromptUserToConfirm.vue +2 -2
  30. package/src/components/RadioGroup/RadioGroup.scss +46 -20
  31. package/src/components/RadioGroup/RadioGroup.stories.js +69 -8
  32. package/src/components/RadioGroup/RadioGroup.vue +68 -46
  33. package/src/components/TableContextMenu/TableContextMenu.scss +5 -2
  34. package/src/components/TableContextMenu/TableContextMenu.stories.js +21 -4
  35. package/src/components/TableContextMenu/TableContextMenu.vue +6 -7
  36. package/src/components/TextField/__tests__/{Label.spec.js → TextField.spec.js} +0 -0
  37. package/src/{examples/Container → components/layout}/Basic.stories.js +27 -5
  38. package/src/components/layout/Col/Col.scss +5 -0
  39. package/src/components/layout/Col/Col.stories.js +42 -0
  40. package/src/components/layout/Col/Col.vue +62 -0
  41. package/src/components/layout/Col/__tests__/Col.spec.js +22 -0
  42. package/src/components/layout/Col/index.ts +4 -0
  43. package/src/components/layout/Container/Container.scss +9 -4
  44. package/src/components/layout/Container/Container.stories.js +2 -1
  45. package/src/components/layout/Container/Container.vue +1 -1
  46. package/src/components/layout/ContainerFooter/Container.stories.js +2 -1
  47. package/src/components/layout/ContainerFooter/ContainerFooter.scss +6 -3
  48. package/src/components/layout/DisplayBreakpoints.stories.mdx +100 -0
  49. package/src/components/layout/Row/Row.scss +25 -1
  50. package/src/components/layout/Row/Row.stories.js +48 -3
  51. package/src/components/layout/Row/Row.vue +33 -2
  52. package/src/configurations/_mixins.scss +6 -0
  53. package/src/configurations/_variables.scss +2 -2
  54. package/src/main.ts +4 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@farm-investimentos/front-mfe-components",
3
- "version": "9.4.1",
3
+ "version": "10.0.1",
4
4
  "author": "farm investimentos",
5
5
  "private": false,
6
6
  "main": "./dist/front-mfe-components.common.js",
@@ -29,10 +29,10 @@
29
29
  "devDependencies": {
30
30
  "@farm-investimentos/front-mfe-libs-ts": "^1.0.9",
31
31
  "@socheatsok78/storybook-addon-vuetify": "^0.1.9",
32
- "@storybook/addon-actions": "^6.5.8",
33
- "@storybook/addon-essentials": "^6.5.8",
34
- "@storybook/addon-links": "^6.5.8",
35
- "@storybook/vue": "^6.5.8",
32
+ "@storybook/addon-actions": "6.5.8",
33
+ "@storybook/addon-essentials": "6.5.8",
34
+ "@storybook/addon-links": "6.5.8",
35
+ "@storybook/vue": "6.5.8",
36
36
  "@types/jest": "^24.9.1",
37
37
  "@typescript-eslint/eslint-plugin": "^4.18.0",
38
38
  "@typescript-eslint/parser": "^4.18.0",
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <component class="farm-card" v-bind:is="tag">
2
+ <component class="farm-card" :is="tag">
3
3
  <slot></slot>
4
4
  </component>
5
5
  </template>
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <component v-bind:is="tag" class="farm-card__content" :gutter="gutter">
2
+ <component :is="tag" class="farm-card__content" :gutter="gutter">
3
3
  <slot></slot>
4
4
  </component>
5
5
  </template>
@@ -5,7 +5,11 @@ describe('CopyToClipboard component', () => {
5
5
  let wrapper;
6
6
 
7
7
  beforeEach(() => {
8
- wrapper = shallowMount(CopyToClipboard);
8
+ wrapper = shallowMount(CopyToClipboard, {
9
+ propsData: {
10
+ toCopy: 'test',
11
+ },
12
+ });
9
13
  });
10
14
 
11
15
  test('Created hook', () => {
@@ -136,8 +136,6 @@ export default Vue.extend({
136
136
  timeZone: 'America/Sao_Paulo',
137
137
  });
138
138
 
139
- console.log(this.getUniversalDate(locatedSelectedDate), this.getUniversalDate(locatedMinDate));
140
-
141
139
  return this.min && this.getUniversalDate(locatedSelectedDate) < this.getUniversalDate(locatedMinDate)
142
140
  ? 'A data está fora do período permitido'
143
141
  : true;
@@ -144,3 +144,28 @@ export const InitInvalid = () => ({
144
144
  </farm-form>
145
145
  `,
146
146
  });
147
+
148
+ export const RadioGroupReset = () => ({
149
+ data() {
150
+ return {
151
+ checkedValue: 1,
152
+ buttons: [
153
+ { label: 'Button 1', id: 1 },
154
+ { label: 'Button 2', id: 2 },
155
+ { label: 'Button 3', id: 3 },
156
+ ],
157
+ validForm: false,
158
+ styles,
159
+ };
160
+ },
161
+ template: `
162
+ <farm-form v-model="validForm" :style="[styles.vForm]" ref="form">
163
+ <farm-radio-group v-model="checkedValue" column :buttons="buttons" />
164
+
165
+ <div class="footer" :style="[styles.footer]">
166
+ <farm-btn color="secondary" outlined @click="$refs.form.reset()" class="mr-3">Reset</farm-btn>
167
+ <farm-btn color="secondary" :disabled="!validForm">Salvar</farm-btn>
168
+ </div>
169
+ </farm-form>
170
+ `,
171
+ });
File without changes
@@ -0,0 +1,29 @@
1
+ import { withDesign } from 'storybook-addon-designs';
2
+ import List from './List.vue';
3
+
4
+ export default {
5
+ title: 'Display/List/List',
6
+ component: List,
7
+ decorators: [withDesign],
8
+ parameters: {
9
+ viewMode: 'docs',
10
+
11
+ docs: {
12
+ description: {
13
+ component: `List<br />
14
+ selector: <em>farm-list</em>`,
15
+ },
16
+ },
17
+ },
18
+ };
19
+
20
+ export const Primary = () => ({
21
+ template: `<farm-list>
22
+ <farm-listitem clickable hoverColor="primary">primary</farm-listitem>
23
+ <farm-listitem clickable hoverColor="extra-1" hoverColorVariation="lighten">extra 1 lighten</farm-listitem>
24
+ <farm-listitem clickable hoverColor="error" hoverColorVariation="lighten">
25
+ <farm-icon size="sm" color="error">trash-can</farm-icon>
26
+ <farm-typography color="error" tag="span">Error</farm-typography>
27
+ </farm-listitem>
28
+ </farm-list>`,
29
+ });
@@ -0,0 +1,16 @@
1
+ <template>
2
+ <ul>
3
+ <slot></slot>
4
+ </ul>
5
+ </template>
6
+ <script lang="ts">
7
+ import Vue from 'vue';
8
+
9
+ export default Vue.extend({
10
+ name: 'farm-list',
11
+ setup() {},
12
+ });
13
+ </script>
14
+ <style lang="scss" scoped>
15
+ @import './List';
16
+ </style>
@@ -0,0 +1,20 @@
1
+ import { shallowMount } from '@vue/test-utils';
2
+ import List from '../List';
3
+
4
+ describe('List component', () => {
5
+ let wrapper;
6
+
7
+ beforeEach(() => {
8
+ wrapper = shallowMount(List);
9
+ });
10
+
11
+ test('Created hook', () => {
12
+ expect(wrapper).toBeDefined();
13
+ });
14
+
15
+ describe('mount component', () => {
16
+ it('renders correctly', () => {
17
+ expect(wrapper.element).toMatchSnapshot();
18
+ });
19
+ });
20
+ });
@@ -0,0 +1,4 @@
1
+ import List from './List.vue';
2
+
3
+ export { List };
4
+ export default List;
@@ -0,0 +1,37 @@
1
+ @import '../../configurations/theme-colors';
2
+
3
+ .farm-listitem {
4
+ list-style-type: none;
5
+ transition: background-color 300ms linear;
6
+ padding: 8px;
7
+ height: 36px;
8
+ display: flex;
9
+ align-items: center;
10
+
11
+ &--clickable {
12
+ cursor: pointer;
13
+ }
14
+
15
+ >a {
16
+ text-decoration: none;
17
+ }
18
+
19
+ &:hover {
20
+
21
+ @each $color in $theme-colors-list {
22
+
23
+ &#{'.farm-listitem--' + $color + '-base'} {
24
+ background-color: themeColor($color);
25
+ }
26
+
27
+ &#{'.farm-listitem--' + $color + '-lighten'} {
28
+ background-color: themeColor($color, 'lighten');
29
+ }
30
+
31
+ &#{'.farm-listitem--' + $color + '-darken'} {
32
+ background-color: themeColor($color, 'darken');
33
+ }
34
+ }
35
+ }
36
+
37
+ }
@@ -0,0 +1,70 @@
1
+ import { withDesign } from 'storybook-addon-designs';
2
+ import ListItem from './ListItem.vue';
3
+
4
+ import baseThemeColors from '../../configurations/_theme-colors-base.scss';
5
+
6
+ const colors = Object.keys(baseThemeColors);
7
+ const variations = ['base', 'darken', 'lighten'];
8
+
9
+ export default {
10
+ title: 'Display/List/ListItem',
11
+ component: ListItem,
12
+ decorators: [withDesign],
13
+ parameters: {
14
+ viewMode: 'docs',
15
+
16
+ docs: {
17
+ description: {
18
+ component: `ListItem<br />
19
+ selector: <em>farm-listitem</em>`,
20
+ },
21
+ },
22
+ },
23
+ };
24
+
25
+ export const Primary = () => ({
26
+ template: '<farm-listitem>aaa</farm-listitem>',
27
+ });
28
+
29
+ export const HoverColors = () => ({
30
+ data() {
31
+ return {
32
+ colors,
33
+ variations,
34
+ };
35
+ },
36
+ template: `<div style="display: flex; flex-direction: row; flex-wrap: wrap;">
37
+ <div class="chips-container" v-for="color in colors" :key="color" style="width: 33.3%; margin-bottom: 32px;">
38
+ <h4>{{ color }}</h4>
39
+ <farm-listitem
40
+ v-for="variation in variations"
41
+ :key="color + '_' + variation"
42
+ :hoverColor="color"
43
+ :hoverColorVariation="variation"
44
+ >
45
+ {{ color }} {{ variation }}
46
+ </farm-listitem>
47
+ </div>
48
+ </div>`,
49
+ });
50
+
51
+ export const ClickableCursor = () => ({
52
+ template: '<farm-listitem clickable>Clickable cursor</farm-listitem>',
53
+ });
54
+
55
+ export const ClickListener = () => ({
56
+ methods: {
57
+ onClick() {
58
+ alert('Clicked')
59
+ }
60
+ },
61
+ template:
62
+ `<farm-listitem
63
+ clickable
64
+ hoverColor="error"
65
+ hoverColorVariation="lighten"
66
+ @click="onClick"
67
+ >
68
+ try me
69
+ </farm-listitem>`,
70
+ });
@@ -0,0 +1,82 @@
1
+ <template>
2
+ <li
3
+ @click="onClick"
4
+ :class="{
5
+ 'farm-listitem': true,
6
+ [cssColorWithVariation]: cssColorWithVariation,
7
+ 'farm-listitem--clickable': clickable || to,
8
+ }"
9
+ >
10
+ <router-link :to="to" v-if="to">
11
+ <slot></slot>
12
+ </router-link>
13
+ <template v-else>
14
+ <slot></slot>
15
+ </template>
16
+ </li>
17
+ </template>
18
+ <script lang="ts">
19
+ import Vue, { computed, PropType, toRefs } from 'vue';
20
+
21
+ export default Vue.extend({
22
+ name: 'farm-listitem',
23
+ props: {
24
+ to: {
25
+ type: String,
26
+ default: null,
27
+ },
28
+ /**
29
+ * Color on hover
30
+ */
31
+ hoverColor: {
32
+ type: [String, null] as PropType<
33
+ | 'primary'
34
+ | 'secondary'
35
+ | 'neutral'
36
+ | 'error'
37
+ | 'warning'
38
+ | 'info'
39
+ | 'extra-1'
40
+ | 'extra-2'
41
+ >,
42
+ default: null,
43
+ },
44
+ /**
45
+ * Color variation on hover
46
+ */
47
+ hoverColorVariation: {
48
+ type: [String, null] as PropType<'base' | 'lighten' | 'darken'>,
49
+ default: 'base',
50
+ },
51
+ /**
52
+ * Is clickable
53
+ */
54
+ clickable: {
55
+ type: Boolean,
56
+ default: false,
57
+ },
58
+ },
59
+ setup(props, { emit }) {
60
+ const { hoverColor, hoverColorVariation } = toRefs(props);
61
+
62
+ const cssColorWithVariation = computed((): String => {
63
+ if (!hoverColor.value) {
64
+ return null;
65
+ }
66
+ return `farm-listitem--${hoverColor.value}-${hoverColorVariation.value}`;
67
+ });
68
+
69
+ const onClick = () => {
70
+ emit('click');
71
+ };
72
+
73
+ return {
74
+ cssColorWithVariation,
75
+ onClick,
76
+ };
77
+ },
78
+ });
79
+ </script>
80
+ <style lang="scss" scoped>
81
+ @import './ListItem';
82
+ </style>
@@ -0,0 +1,20 @@
1
+ import { shallowMount } from '@vue/test-utils';
2
+ import ListItem from '../ListItem';
3
+
4
+ describe('ListItem component', () => {
5
+ let wrapper;
6
+
7
+ beforeEach(() => {
8
+ wrapper = shallowMount(ListItem);
9
+ });
10
+
11
+ test('Created hook', () => {
12
+ expect(wrapper).toBeDefined();
13
+ });
14
+
15
+ describe('mount component', () => {
16
+ it('renders correctly', () => {
17
+ expect(wrapper.element).toMatchSnapshot();
18
+ });
19
+ });
20
+ });
@@ -0,0 +1,4 @@
1
+ import ListItem from './ListItem.vue';
2
+
3
+ export { ListItem };
4
+ export default ListItem;
@@ -1,9 +1,11 @@
1
1
  <template>
2
2
  <section class="logger">
3
3
  <template v-for="(item, index) in items">
4
- <LoggerItem :item="item" :key="index" />
4
+ <farm-logger-item :item="item" :key="`logger_item_${index}`" />
5
5
  <div
6
+ v-if="hasDivider(index)"
6
7
  :class="{
8
+ 'logger__divider': true,
7
9
  'logger__divider--success': isPreviousLogAndCurrentLogSuccess(index),
8
10
  'logger__divider--error': isPreviousLogAndCurrentLogError(index),
9
11
  'logger__divider--success-to-error':
@@ -11,8 +13,6 @@
11
13
  'logger__divider--error-to-success':
12
14
  isPreviousLogSuccessAndCurrentLogError(index),
13
15
  }"
14
- v-if="hasDivider(index)"
15
- class="logger__divider"
16
16
  :key="'divider_' + index"
17
17
  ></div>
18
18
  </template>
@@ -21,11 +21,9 @@
21
21
  <script lang="ts">
22
22
  import Vue, { PropType } from 'vue';
23
23
  import ILoggerItem from './LoggerItem/ILoggerItem';
24
- import LoggerItem from './LoggerItem/';
25
24
 
26
25
  export default Vue.extend({
27
26
  name: 'farm-logger',
28
- components: { LoggerItem },
29
27
  props: {
30
28
  /*
31
29
  * List of logger items
@@ -57,6 +55,6 @@ export default Vue.extend({
57
55
  },
58
56
  });
59
57
  </script>
60
- <style lang="sass" scoped>
61
- @import './Logger.scss'
58
+ <style lang="scss" scoped>
59
+ @import './Logger';
62
60
  </style>
@@ -36,6 +36,7 @@
36
36
  max-height: calc(100vh - 64px);
37
37
  overflow-y: auto;
38
38
  width: 100%;
39
+ padding: 0 16px;
39
40
  }
40
41
 
41
42
  &--header {
@@ -0,0 +1,3 @@
1
+ section.modal-content {
2
+ margin: 32px 0 16px;
3
+ }
@@ -10,7 +10,8 @@ export default {
10
10
  docs: {
11
11
  description: {
12
12
  component: `Modal Prompt User to Confirm<br />
13
- selector: <em>farm-prompt-user</em>`,
13
+ selector: <em>farm-prompt-user</em><br />
14
+ <span style="color: green;">ready for use</span>`,
14
15
  },
15
16
  },
16
17
  design: {
@@ -28,10 +29,10 @@ export const Primary = () => ({
28
29
  },
29
30
  template: `<div>
30
31
  <farm-prompt-user match="CONFIRMAR" title="Título" subtitle="Digite CONFIRMAR para habilitar" v-model="showPrompt" />
31
- click:
32
- <v-btn color="secondary" @click="showPrompt = true;">
32
+ click:
33
+ <farm-btn color="primary" @click="showPrompt = true;">
33
34
  reabrir
34
- </v-btn>
35
+ </farm-btn>
35
36
  </div>`,
36
37
  });
37
38
  export const Error = () => ({
@@ -42,8 +43,8 @@ export const Error = () => ({
42
43
  },
43
44
  template: `<div>
44
45
  <farm-prompt-user match="REMOVER" title="Título" subtitle="Digite REMOVER para habilitar" v-model="showPrompt" confirmColor="error" confirmLabel="Remover" />
45
- <v-btn color="secondary" @click="showPrompt = true;">
46
+ <farm-btn color="primary" @click="showPrompt = true;">
46
47
  reabrir
47
- </v-btn>
48
+ </farm-btn>
48
49
  </div>`,
49
50
  });
@@ -1,37 +1,35 @@
1
1
  <template>
2
- <v-dialog content-class="modal-default modal-default-small" v-model="inputVal">
3
- <DialogHeader :title="title" @onClose="close" />
4
-
5
- <v-main>
6
- <section class="mt-9">
7
- <PromptUserToConfirm
2
+ <farm-modal v-model="inputVal" size="sm" :offsetTop="48" :offsetBottom="68">
3
+ <template v-slot:header>
4
+ <DialogHeader :title="title" @onClose="close" />
5
+ </template>
6
+ <template v-slot:content>
7
+ <section class="modal-content">
8
+ <farm-promptusertoconfirm
8
9
  v-if="inputVal"
9
- :match="match"
10
10
  v-model="canConfirm"
11
+ :match="match"
11
12
  :title="subtitle"
12
13
  />
13
14
  </section>
15
+ </template>
16
+
17
+ <template v-slot:footer>
14
18
  <DialogFooter
15
- @onClose="close"
16
19
  :confirmColor="confirmColor"
17
20
  :confirmLabel="confirmLabel"
18
- @onConfirm="confirm"
19
21
  :isConfirmDisabled="!canConfirm"
22
+ @onConfirm="confirm"
23
+ @onClose="close"
20
24
  />
21
- </v-main>
22
- </v-dialog>
25
+ </template>
26
+ </farm-modal>
23
27
  </template>
24
28
  <script lang="ts">
25
29
  import Vue from 'vue';
26
- import { VDialog } from 'vuetify/lib/components/VDialog';
27
- import { VMain } from 'vuetify/lib/components/VMain';
28
30
 
29
31
  export default Vue.extend({
30
32
  name: 'farm-prompt-user',
31
- components: {
32
- VDialog,
33
- VMain,
34
- },
35
33
  props: {
36
34
  /**
37
35
  * Habilita/desabilita o modal
@@ -101,3 +99,6 @@ export default Vue.extend({
101
99
  },
102
100
  });
103
101
  </script>
102
+ <style lang="scss" scoped>
103
+ @import './ModalPromptUser';
104
+ </style>
@@ -1,12 +1,12 @@
1
1
  <template>
2
2
  <v-form v-model="formVal" autocomplete="off">
3
- <div v-html="title"></div>
3
+ <farm-caption v-html="title" color="gray" />
4
4
  <v-row>
5
5
  <v-col cols="12" sm="12" class="mt-3 v-col-fieldset-default">
6
6
  <v-text-field
7
+ v-model="matchInput"
7
8
  id="form-confirm-remove"
8
9
  color="secondary"
9
- v-model="matchInput"
10
10
  outlined
11
11
  dense
12
12
  :rules="[rules.checkRemove]"
@@ -1,35 +1,65 @@
1
+ @import '../../configurations/theme-colors';
2
+
1
3
  .farm-radio-group {
2
4
  border: none;
3
5
  cursor: default;
4
6
  display: flex;
5
7
  width: 100%;
8
+
6
9
  &__item {
7
10
  font-size: 16px;
8
- line-height: 1.1;
11
+ line-height: 18px;
9
12
  cursor: pointer;
10
13
  display: grid;
11
14
  grid-template-columns: 16px auto;
12
- gap: 8px;
13
- color: rgba(0,0,0,.6);
14
- margin-top: 16px;
15
- margin-right: 16px;
15
+ gap: 0;
16
+ color: rgba(0, 0, 0, .6);
17
+ margin-right: 32px;
18
+ }
19
+
20
+ label {
21
+ cursor: pointer;
22
+ }
23
+
24
+ input[type="radio"].checked {
25
+ border: 1.5px solid black;
16
26
  }
17
- }
18
27
 
19
- .farm-radio-group--column {
20
- flex-direction: column;
28
+ &--vertical {
29
+ flex-direction: column;
30
+ .farm-radio-group__item {
31
+ margin-right: 24px;
32
+ margin-top: 16px;
33
+ &:first-of-type {
34
+ margin-top: 0;
35
+ }
36
+ }
37
+ }
38
+
39
+ @each $color in $theme-colors-list {
40
+ &#{'[color=' + $color + ']'} {
41
+ input[type="radio"]::before {
42
+ box-shadow: inset 16px 16px themeColor($color);
43
+ }
44
+
45
+ input[type="radio"].checked {
46
+ border-color: themeColor($color);
47
+ }
48
+ }
49
+ }
21
50
  }
22
51
 
52
+
23
53
  input[type="radio"] {
24
54
  -webkit-appearance: none;
25
55
  appearance: none;
26
56
  background-color: #ffffff;
27
57
  margin: 0;
28
58
  font: inherit;
29
- color: rgba(0,0,0,.6);
59
+ color: rgba(0, 0, 0, .6);
30
60
  width: 18px;
31
61
  height: 18px;
32
- border: 1.5px solid rgba(0,0,0,.6);
62
+ border: 1.5px solid rgba(0, 0, 0, .6);
33
63
  border-radius: 50%;
34
64
  transform: translate(-12px);
35
65
  display: grid;
@@ -44,11 +74,10 @@ input[type="radio"]::before {
44
74
  border-radius: 50%;
45
75
  transform: scale(0);
46
76
  transition: 120ms transform ease-in-out;
47
- box-shadow: inset 16px 16px var(--radio-group-color);
48
77
  background-color: CanvasText;
49
78
  }
50
79
 
51
- input[type="radio"]:checked::before {
80
+ input[type="radio"].checked::before {
52
81
  transform: scale(1);
53
82
  }
54
83
 
@@ -57,13 +86,9 @@ input[type="radio"]:focus {
57
86
  outline-offset: none;
58
87
  }
59
88
 
60
- input[type="radio"]:checked {
61
- border: 1.5px solid var(--radio-group-color);
62
- }
63
-
64
89
  input[type='radio']:hover {
65
- box-shadow: 0px 0px 0px 8px rgba(0, 0, 0, 0.1);
66
- background-color: rgba(0, 0, 0, 0.1);
90
+ box-shadow: 0px 0px 0px 8px rgba(0, 0, 0, 0.1);
91
+ background-color: rgba(0, 0, 0, 0.1);
67
92
  border-radius: 50%;
68
93
  opacity: 1;
69
94
  }
@@ -74,9 +99,10 @@ input[type='radio']:active {
74
99
 
75
100
  @keyframes pulse {
76
101
  from {
77
- box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(0, 0, 0, 0.2);
102
+ box-shadow: 0 0 0 0 rgba(0, 0, 0, 0.2), 0 0 0 0 rgba(0, 0, 0, 0.2);
78
103
  }
104
+
79
105
  to {
80
- box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.2), 0 0 0 8px rgba(0, 0, 0, 0.2);
106
+ box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.2), 0 0 0 8px rgba(0, 0, 0, 0.2);
81
107
  }
82
108
  }