bxs-tools-ui 2.0.7 → 3.0.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 (89) hide show
  1. package/README.md +9 -8
  2. package/es/add-and-take/index.css +1 -0
  3. package/es/add-and-take/index.js +2877 -0
  4. package/es/adjust-baoe/index.css +1 -0
  5. package/es/adjust-baoe/index.js +1717 -0
  6. package/es/business-card/index.css +1 -0
  7. package/es/business-card/index.js +616 -0
  8. package/es/canvas-poster/index.css +1 -0
  9. package/es/canvas-poster/index.js +698 -0
  10. package/es/index.css +1 -0
  11. package/es/index.js +39458 -0
  12. package/es/insure-calculate/index.css +1 -0
  13. package/es/insure-calculate/index.js +31180 -0
  14. package/es/person-info/index.css +1 -0
  15. package/es/person-info/index.js +4240 -0
  16. package/es/product-info/index.css +1 -0
  17. package/es/product-info/index.js +4570 -0
  18. package/es/utils/index.js +3160 -0
  19. package/lib/add-and-take/index.css +1 -702
  20. package/lib/add-and-take/index.js +2641 -25431
  21. package/lib/adjust-baoe/index.css +1 -281
  22. package/lib/adjust-baoe/index.js +1534 -27044
  23. package/lib/business-card/index.css +1 -179
  24. package/lib/business-card/index.js +515 -1361
  25. package/lib/canvas-poster/index.css +1 -84
  26. package/lib/canvas-poster/index.js +594 -1414
  27. package/lib/index.css +1 -2538
  28. package/lib/index.js +36329 -40571
  29. package/lib/insure-calculate/index.css +1 -510
  30. package/lib/insure-calculate/index.js +28980 -25191
  31. package/lib/person-info/index.css +1 -562
  32. package/lib/person-info/index.js +3881 -27346
  33. package/lib/product-info/index.css +1 -510
  34. package/lib/product-info/index.js +4235 -34572
  35. package/lib/utils/index.js +3199 -0
  36. package/package.json +47 -18
  37. package/packages/add-and-take/components/interest-form.css +4 -3
  38. package/packages/add-and-take/components/interest-form.vue +11 -36
  39. package/packages/add-and-take/components/interest-items.css +1 -1
  40. package/packages/add-and-take/components/interest-table.css +46 -93
  41. package/packages/add-and-take/components/interest-table.vue +37 -196
  42. package/packages/add-and-take/demo/index.vue +86 -96
  43. package/packages/add-and-take/handler.ts +9 -8
  44. package/packages/add-and-take/index.css +3 -2
  45. package/packages/add-and-take/index.vue +7 -28
  46. package/packages/add-and-take/readme.md +17 -33
  47. package/packages/adjust-baoe/demo/index.vue +63 -66
  48. package/packages/adjust-baoe/index.css +21 -29
  49. package/packages/adjust-baoe/index.vue +41 -54
  50. package/packages/adjust-baoe/readme.md +52 -87
  51. package/packages/business-card/demo/index.vue +2 -11
  52. package/packages/business-card/index.css +1 -0
  53. package/packages/business-card/readme.md +36 -16
  54. package/packages/bxs-utils/index.ts +7 -0
  55. package/packages/bxs-utils/planbook/insurance.ts +5 -5
  56. package/packages/bxs-utils/planbook/product.ts +2 -1
  57. package/packages/canvas-poster/readme.md +86 -66
  58. package/packages/index.ts +52 -0
  59. package/packages/insure-calculate/demo/index.vue +22 -8
  60. package/packages/insure-calculate/index.css +8 -6
  61. package/packages/insure-calculate/index.vue +189 -146
  62. package/packages/insure-calculate/readme.md +1 -1
  63. package/packages/person-info/{crm-person.vue → crm-popup.vue} +117 -108
  64. package/packages/person-info/demo/index.vue +2 -1
  65. package/packages/person-info/index.vue +117 -130
  66. package/packages/person-info/readme.md +5 -8
  67. package/packages/planbook-input/components/product-table.css +2 -0
  68. package/packages/planbook-input/components/product-table.vue +38 -16
  69. package/packages/planbook-input/index.css +4 -1
  70. package/packages/planbook-input/index.vue +12 -9
  71. package/packages/product-info/demo/index.vue +4 -2
  72. package/packages/product-info/index.css +131 -116
  73. package/packages/product-info/index.vue +130 -145
  74. package/packages/product-info/readme.md +1 -2
  75. package/src/components/common/common-age-birthday.vue +205 -0
  76. package/{packages/components/common-popup/index.vue → src/components/common/common-popup.vue} +40 -25
  77. package/src/components/common/common-radio.vue +175 -0
  78. package/src/components/common/common-select.vue +132 -0
  79. package/{packages/components/form-item/title-item.css → src/components/common/common-title.css} +13 -5
  80. package/{packages/components/form-item/title-item.vue → src/components/common/common-title.vue} +6 -21
  81. package/src/js/request.js +3 -3
  82. package/src/style/apply.css +25 -0
  83. package/src/style/base.css +0 -28
  84. package/packages/components/common-radio.vue +0 -142
  85. package/packages/components/form-item/age-birthday-item.vue +0 -183
  86. package/packages/components/form-item/select-item.vue +0 -110
  87. package/packages/person-info/crm-person.css +0 -57
  88. package/packages/person-info/index.css +0 -51
  89. package/src/index.ts +0 -48
@@ -2,24 +2,24 @@
2
2
  <van-popup
3
3
  v-model="visible"
4
4
  v-bind="$attrs"
5
- class="common_popup"
5
+ class="bxt_common_popup"
6
6
  :style="{
7
- height: '79.8%'
7
+ height: styleHeight
8
8
  }"
9
9
  v-on="$listeners"
10
10
  >
11
- <header class="common_popup_title">
11
+ <header class="bxt_common_popup_title">
12
12
  <slot v-if="$slots.title" name="title" />
13
13
  <span v-else>
14
14
  {{ title }}
15
15
  </span>
16
16
  </header>
17
- <div class="common_popup_main">
17
+ <div class="bxt_common_popup_main">
18
18
  <slot />
19
19
  </div>
20
- <footer v-if="showFooter" class="common_popup_footer">
20
+ <footer v-if="showFooter" class="bxt_common_popup_footer">
21
21
  <slot v-if="$slots.footer" name="footer" />
22
- <div v-else class="common_popup_footer_wrapper">
22
+ <div v-else class="bxt_common_popup_footer_wrapper">
23
23
  <span v-if="showCancel" @click="cancel">取消</span>
24
24
  <span
25
25
  class="primary"
@@ -37,12 +37,14 @@
37
37
 
38
38
  <script>
39
39
  export default {
40
+ name: 'CommonPopup',
40
41
  props: {
41
42
  value: Boolean,
42
43
  title: String,
44
+ height: [Number, String],
43
45
  confirmText: {
44
46
  type: String,
45
- default: '提交'
47
+ default: '确定'
46
48
  },
47
49
  confirmDisabled: Boolean,
48
50
  showFooter: {
@@ -62,11 +64,16 @@ export default {
62
64
  set(v) {
63
65
  this.$emit('input', v);
64
66
  }
67
+ },
68
+ styleHeight() {
69
+ const { height } = this;
70
+ return height ? (typeof height === 'number' ? `${height}px` : height) : '79.8%';
65
71
  }
66
72
  },
67
73
  methods: {
68
74
  cancel() {
69
75
  this.visible = false;
76
+ this.$emit('cancel');
70
77
  this.$emit('click-overlay');
71
78
  },
72
79
  confirm() {
@@ -79,17 +86,24 @@ export default {
79
86
  };
80
87
  </script>
81
88
 
82
- <style>
89
+ <style lang="css">
83
90
  @import 'base.css';
91
+ @import 'apply';
84
92
  @import 'color.css';
85
93
 
86
- .common_popup {
94
+ .bxt_common_popup {
87
95
  display: flex;
88
96
  flex-direction: column;
89
97
 
90
- & .common_popup_title {
98
+ & .van-popup__close-icon {
99
+ position: absolute;
100
+ font-size: 22px;
101
+ }
102
+
103
+ & .bxt_common_popup_title {
91
104
  padding: 11px 16px;
92
105
  font-size: 16px;
106
+ color: var(--color-text-primary);
93
107
  line-height: 24px;
94
108
  font-weight: bold;
95
109
  font-weight: 500;
@@ -102,43 +116,44 @@ export default {
102
116
  padding: 0 2em;
103
117
  white-space: nowrap;
104
118
  box-sizing: border-box;
119
+ vertical-align: middle;
105
120
  }
106
121
  }
107
122
 
108
- & .common_popup_main {
123
+ & .bxt_common_popup_main {
109
124
  position: relative;
110
125
  flex: 1;
111
126
  overflow: auto;
112
127
  min-height: 0;
128
+ background: var(--color-bg-primary);
113
129
  }
114
130
 
115
- & .common_popup_footer {
131
+ & .bxt_common_popup_footer {
116
132
  @apply --safe-area-inset-bottom;
117
133
 
118
- position: relative;
119
- font-size: 16px;
120
- line-height: 16px;
121
- font-weight: bold;
122
- font-weight: 500;
134
+ font-size: 14px;
135
+ line-height: 1.2;
123
136
  text-align: center;
124
- box-shadow: 0 -6px 15px 0 rgba(0, 0, 0, 0.05);
137
+ border-top: 1px solid var(--color-line-split);
138
+ background: var(--color-bg-minor);
125
139
 
126
- & .common_popup_footer_wrapper {
140
+ & .bxt_common_popup_footer_wrapper {
127
141
  display: flex;
128
- padding: 8px 16px;
142
+ padding: 7px 15px;
129
143
 
130
144
  & > span {
131
145
  flex: 1;
132
146
  display: inline;
133
- padding: 15px 16px;
147
+ line-height: 100%;
148
+ padding: 10px 16px;
134
149
  color: var(--color-text-primary);
135
150
  background: white;
136
- border: 1px solid #dcdee0;
151
+ border: 1px solid var(--color-text-assist);
137
152
  border-radius: 6px;
138
153
  }
139
154
 
140
155
  & > span:not(:last-child) {
141
- margin-right: 15px;
156
+ margin-right: 9px;
142
157
  }
143
158
 
144
159
  & > span.primary {
@@ -149,8 +164,8 @@ export default {
149
164
 
150
165
  & > span.disabled {
151
166
  color: white;
152
- background: var(--color-text-assist);
153
- border-color: var(--color-text-assist);
167
+ background: var(--color-text-patch);
168
+ border-color: var(--color-text-patch);
154
169
  }
155
170
  }
156
171
  }
@@ -0,0 +1,175 @@
1
+ <template>
2
+ <van-field :value="value" :class="['bxt_common_field_radio', border ? '' : 'bxt_border']" v-bind="$attrs" autocomplete="off" v-on="listeners">
3
+ <template #input>
4
+ <div
5
+ class="bxt_common_form_radio"
6
+ :class="{
7
+ disabled: $attrs.disabled
8
+ }"
9
+ >
10
+ <template v-if="border">
11
+ <span
12
+ v-for="option in convertOptions"
13
+ :key="option.value"
14
+ class="bxt_common_form_radio_item"
15
+ :class="{
16
+ disabled: option.isDisabled,
17
+ active: option.value === value
18
+ }"
19
+ :data-stat-id="dataStatId"
20
+ @click="onClickItem(option)"
21
+ >
22
+ {{ option.name }}
23
+ </span>
24
+ </template>
25
+ <van-radio-group v-else v-model="cValue" direction="horizontal" input-align="right" :disabled="$attrs.disabled">
26
+ <van-radio v-for="option in convertOptions" :key="option.value" :name="option.value" :disabled="option.isDisabled">
27
+ {{ option.name }}
28
+ </van-radio>
29
+ </van-radio-group>
30
+ </div>
31
+ </template>
32
+ </van-field>
33
+ </template>
34
+
35
+ <script>
36
+ export default {
37
+ name: 'CommonRadio',
38
+ props: {
39
+ value: {
40
+ type: [String, Number],
41
+ default: null
42
+ },
43
+ border: Boolean,
44
+ options: {
45
+ type: Array,
46
+ default: () => []
47
+ },
48
+ dataStatId: {
49
+ type: String,
50
+ default: ''
51
+ }
52
+ },
53
+ computed: {
54
+ cValue: {
55
+ get() {
56
+ return this.value;
57
+ },
58
+ set(v) {
59
+ this.$emit('input', v);
60
+ }
61
+ },
62
+ convertOptions() {
63
+ const { $attrs, options, value } = this;
64
+ return (options || [])
65
+ .map(o => ({
66
+ value: [o.value, o.val].find(v => v !== undefined),
67
+ name: o.name || o.desc
68
+ }))
69
+ .filter(o => o.value === value || !$attrs.disabled);
70
+ },
71
+ listeners() {
72
+ // van-field 的 v-model,会将绑定的值自动转换为 string 类型
73
+ // 所以不取 van-field 的 input 事件
74
+ const listeners = {};
75
+ if (this.$listeners) {
76
+ for (const k in this.$listeners) {
77
+ if (k !== 'input') {
78
+ listeners[k] = this.$listeners[k];
79
+ }
80
+ }
81
+ }
82
+ return listeners;
83
+ }
84
+ },
85
+ methods: {
86
+ onClickItem(option) {
87
+ const { $attrs } = this;
88
+ if ($attrs.disabled || option.isDisabled) {
89
+ return;
90
+ }
91
+ this.$emit('input', option.value);
92
+ }
93
+ }
94
+ };
95
+ </script>
96
+
97
+ <style lang="css">
98
+ @import 'color.css';
99
+
100
+ .bxt_common_field_radio {
101
+ padding-top: 11px;
102
+ padding-bottom: 11px;
103
+
104
+ & .van-field__control--right {
105
+ & .bxt_common_form_radio.disabled {
106
+ & .bxt_common_form_radio_item {
107
+ padding-right: 0;
108
+ }
109
+ }
110
+ }
111
+
112
+ & .bxt_common_form_radio {
113
+ margin-right: -8px;
114
+ margin-bottom: -8px;
115
+ font-size: 13px;
116
+
117
+ & .bxt_common_form_radio_item {
118
+ display: inline-block;
119
+ min-width: 60px;
120
+ margin-bottom: 6px;
121
+ margin-right: 8px;
122
+ padding: 6px 9px;
123
+ text-align: center;
124
+ line-height: 13px;
125
+ font-weight: normal;
126
+ color: var(--color-text-patch);
127
+ border: 1px solid var(--color-bg-primary);
128
+ border-radius: 30px;
129
+ background: var(--color-bg-primary);
130
+ box-sizing: border-box;
131
+ }
132
+
133
+ & .bxt_common_form_radio_item.active {
134
+ font-weight: bold;
135
+ font-weight: 500;
136
+ border-color: var(--color-primary);
137
+ color: var(--color-primary);
138
+ background: rgba(2, 92, 234, 0.1);
139
+ }
140
+
141
+ & .bxt_common_form_radio_item.disabled {
142
+ color: var(--color-text-patch);
143
+ }
144
+
145
+ & .van-radio-group {
146
+ & .van-radio {
147
+ & .van-radio__icon {
148
+ font-size: 16px;
149
+ }
150
+ }
151
+ }
152
+ }
153
+
154
+ & .bxt_common_form_radio.disabled {
155
+ & .bxt_common_form_radio_item {
156
+ padding-right: 0;
157
+ padding-left: 0;
158
+ color: var(--color-text-assist);
159
+ border-color: transparent;
160
+ }
161
+
162
+ & .bxt_common_form_radio_item.active {
163
+ border-color: transparent;
164
+ color: var(--color-text-assist);
165
+ background: 0;
166
+ }
167
+ }
168
+ }
169
+
170
+ .bxt_common_field_radio.bxt_border {
171
+ & .bxt_common_form_radio {
172
+ margin-bottom: 0;
173
+ }
174
+ }
175
+ </style>
@@ -0,0 +1,132 @@
1
+ <template>
2
+ <div
3
+ class="bxt_common_form_select"
4
+ :class="{
5
+ disabled: $attrs.disabled
6
+ }"
7
+ >
8
+ <van-field v-model="valueDesc" v-bind="$attrs" readonly autocomplete="off" v-on="$listeners" :data-stat-id="dataStatId" @click="openPicker" />
9
+ <van-popup v-model="pickerConfig.visible" round position="bottom" get-container="body">
10
+ <van-picker
11
+ :title="pickerConfig.title"
12
+ :columns="pickerConfig.columns"
13
+ :default-index="pickerConfig.defaultIndex"
14
+ value-key="name"
15
+ show-toolbar
16
+ @cancel="onCancelPicker"
17
+ @confirm="onConfirmPicker"
18
+ />
19
+ </van-popup>
20
+ </div>
21
+ </template>
22
+
23
+ <script>
24
+ import { Toast } from 'vant';
25
+
26
+ function initPickerConfig() {
27
+ return {
28
+ visible: false,
29
+ title: '',
30
+ columns: [],
31
+ element: null
32
+ };
33
+ }
34
+
35
+ export default {
36
+ props: {
37
+ value: {
38
+ type: [String, Number],
39
+ default: null
40
+ },
41
+ autoSelectFirstOption: {
42
+ type: Boolean,
43
+ default: false
44
+ },
45
+ options: {
46
+ type: Array,
47
+ default: () => []
48
+ },
49
+ dataStatId: {
50
+ type: String,
51
+ default: ''
52
+ }
53
+ },
54
+ data() {
55
+ return {
56
+ pickerConfig: initPickerConfig()
57
+ };
58
+ },
59
+ computed: {
60
+ convertOptions() {
61
+ return (this.options || []).map(o => ({
62
+ value: [o.value, o.val].find(v => v !== undefined),
63
+ name: o.name || o.desc
64
+ }));
65
+ },
66
+ valueDesc() {
67
+ const option = this.convertOptions.find(o => o.value === this.value);
68
+ return option ? option.name : '';
69
+ }
70
+ },
71
+ watch: {
72
+ convertOptions: {
73
+ immediate: true,
74
+ deep: true,
75
+ handler(list) {
76
+ if (this.autoSelectFirstOption && list && list.length) {
77
+ const option = list.find(o => o.value == this.value);
78
+ const _value = list[0].value;
79
+ if (!option && _value) {
80
+ this.$emit('input', _value);
81
+ this.$emit('change', _value);
82
+ }
83
+ }
84
+ }
85
+ }
86
+ },
87
+ methods: {
88
+ openPicker() {
89
+ const { $attrs, value, convertOptions } = this;
90
+ const { disabled, disabledMessage, placeholder } = $attrs;
91
+ if (disabled) {
92
+ if (disabledMessage) {
93
+ Toast(disabledMessage);
94
+ }
95
+ return;
96
+ }
97
+ this.pickerConfig = {
98
+ visible: true,
99
+ title: placeholder,
100
+ defaultIndex: convertOptions.findIndex(o => o.value == value),
101
+ columns: convertOptions
102
+ };
103
+ },
104
+ onConfirmPicker(item) {
105
+ this.$emit('input', item.value);
106
+ this.$emit('change', item.value);
107
+ this.onCancelPicker();
108
+ },
109
+ onCancelPicker() {
110
+ this.pickerConfig = initPickerConfig();
111
+ }
112
+ }
113
+ };
114
+ </script>
115
+
116
+ <style lang="css">
117
+ @import 'color.css';
118
+
119
+ .bxt_common_form_select {
120
+ font-size: 13px;
121
+
122
+ & .van-field::after {
123
+ display: block;
124
+ }
125
+ }
126
+
127
+ .bxt_common_form_select.with_note {
128
+ & .van-cell::after {
129
+ display: none;
130
+ }
131
+ }
132
+ </style>
@@ -1,4 +1,8 @@
1
- @import 'base.css';
1
+ @import 'color.css';
2
+
3
+ .bxt-item-title-wrapper {
4
+ width: 100%;
5
+ }
2
6
 
3
7
  .bxt-item-title {
4
8
  position: relative;
@@ -7,8 +11,7 @@
7
11
  &::before {
8
12
  position: absolute;
9
13
  left: -15px;
10
- top: 50%;
11
- transform: translateY(-50%);
14
+ top: 9px;
12
15
  display: block;
13
16
  width: 4px;
14
17
  height: 15px;
@@ -16,9 +19,14 @@
16
19
  background: var(--color-primary);
17
20
  }
18
21
 
22
+ & .van-checkbox__icon--checked .van-icon {
23
+ background: var(--color-primary);
24
+ border-color: var(--color-primary);
25
+ }
26
+
19
27
  & .bxt-item-title-label {
20
28
  display: flex;
21
- padding: 15px 0;
29
+ padding: 5px 0;
22
30
  line-height: normal;
23
31
  font-size: 17px;
24
32
  font-weight: bold;
@@ -38,7 +46,7 @@
38
46
  font-size: 12px;
39
47
  transform: scale(0.8334);
40
48
  transform-origin: left center;
41
- vertical-align: 1px;
49
+ vertical-align: middle;
42
50
  }
43
51
 
44
52
  & .bxt-item-title-label-name {
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div>
2
+ <div class="bxt-item-title-wrapper">
3
3
  <div class="bxt-item-title">
4
4
  <div class="bxt-item-title-label">
5
5
  <div v-if="code" class="bxt-item-title-label-item">
@@ -16,12 +16,7 @@
16
16
  }"
17
17
  >{{ label }}</span
18
18
  >
19
- <span
20
- v-if="isShowCrmModifyButton"
21
- class="bxt-title-persion-modify"
22
- :data-stat-id="dataStatId"
23
- @click="$emit('modify')"
24
- >
19
+ <span v-if="isShowCrmModifyButton" class="bxt-title-persion-modify" :data-stat-id="dataStatId" @click="$emit('modify')">
25
20
  修改
26
21
  <i class="iconfont icon-arrows_right"></i>
27
22
  </span>
@@ -30,12 +25,7 @@
30
25
  </span>
31
26
  </div>
32
27
  <div v-if="!(currentValue && disabled)" class="bxt-item-title-label-item">
33
- <bxs-checkbox
34
- class="bxt-item-title-checkbox"
35
- :value="currentValue"
36
- :disabled="disabled"
37
- @click.native="onchange"
38
- />
28
+ <van-checkbox class="bxt-item-title-checkbox" :value="currentValue" :disabled="disabled" @click.native="onchange" />
39
29
  </div>
40
30
  </div>
41
31
  </div>
@@ -45,13 +35,11 @@
45
35
  <script lang="ts">
46
36
  import Vue from 'vue';
47
37
  import { Component, Model, Prop, Watch } from 'vue-property-decorator';
48
- import { Checkbox } from 'bxs-ui-vue';
49
38
  import { convertEleOrderListToObj } from 'packages/bxs-utils/index';
39
+ import './common-title.css';
40
+
50
41
  @Component({
51
- name: 'BxtTitleItem',
52
- components: {
53
- [Checkbox.name]: Checkbox
54
- }
42
+ name: 'BxtTitleItem'
55
43
  })
56
44
  export default class BxtTitleItem extends Vue {
57
45
  currentValue: boolean = false;
@@ -125,6 +113,3 @@ export default class BxtTitleItem extends Vue {
125
113
  }
126
114
  }
127
115
  </script>
128
- <style lang="postcss">
129
- @import 'title-item.css';
130
- </style>
package/src/js/request.js CHANGED
@@ -13,11 +13,11 @@ const service = axios.create({
13
13
 
14
14
  let loadingTimer = null;
15
15
  const loading = show => {
16
- if (window.appBridge && appBridge.showLoading) {
16
+ if (window.appBridge && window.appBridge.showLoading) {
17
17
  if (show) {
18
- appBridge.showLoading();
18
+ window.appBridge.showLoading();
19
19
  } else {
20
- appBridge.hideLoading();
20
+ window.appBridge.hideLoading();
21
21
  }
22
22
  }
23
23
  };
@@ -0,0 +1,25 @@
1
+ :root {
2
+ --zIndex: 100;
3
+ --noWrap: {
4
+ display: inline-block;
5
+ width: 100%;
6
+ white-space: nowrap;
7
+ overflow: hidden;
8
+ text-overflow: ellipsis;
9
+ }
10
+
11
+ --vertical-center: {
12
+ position: absolute;
13
+ top: 50%;
14
+ right: 0;
15
+ transform: translateY(-50%);
16
+ }
17
+ --safe-area-inset-bottom: {
18
+ &::after {
19
+ display: block;
20
+ height: constant(safe-area-inset-bottom);
21
+ height: env(safe-area-inset-bottom);
22
+ content: '';
23
+ }
24
+ }
25
+ }
@@ -1,5 +1,3 @@
1
- @import "./color.css";
2
-
3
1
  * {
4
2
  padding: 0;
5
3
  margin: 0;
@@ -36,29 +34,3 @@ header,
36
34
  footer {
37
35
  display: block;
38
36
  }
39
-
40
- :root {
41
- --zIndex: 100;
42
- --noWrap: {
43
- display: inline-block;
44
- width: 100%;
45
- white-space: nowrap;
46
- overflow: hidden;
47
- text-overflow: ellipsis;
48
- }
49
-
50
- --vertical-center: {
51
- position: absolute;
52
- top: 50%;
53
- right: 0;
54
- transform: translateY(-50%);
55
- }
56
- --safe-area-inset-bottom: {
57
- &::after {
58
- display: block;
59
- height: constant(safe-area-inset-bottom);
60
- height: env(safe-area-inset-bottom);
61
- content: '';
62
- }
63
- }
64
- }