@itfin/components 1.5.2 → 1.5.3

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 (57) hide show
  1. package/package.json +12 -1
  2. package/src/ITFSettings.js +0 -6
  3. package/src/components/button/Button.vue +1 -3
  4. package/src/components/button/NativeButton.js +0 -4
  5. package/src/components/button/index.stories.js +2 -2
  6. package/src/components/card/BentoGrid.vue +0 -2
  7. package/src/components/customize/PropertiesList.vue +2 -0
  8. package/src/components/customize/PropertiesPopupMenu.vue +1 -1
  9. package/src/components/customize/PropertyItem.vue +24 -6
  10. package/src/components/datepicker/DatePicker.vue +1 -1
  11. package/src/components/datepicker/MonthPicker.vue +21 -1
  12. package/src/components/dropdown/Dropdown.vue +1 -1
  13. package/src/components/dropdown/DropdownMenu.vue +1 -1
  14. package/src/components/editable/EditButton.vue +1 -1
  15. package/src/components/filter/FilterBadge.vue +5 -4
  16. package/src/components/filter/FilterFacetsList.vue +3 -2
  17. package/src/components/filter/FilterPanel.vue +20 -6
  18. package/src/components/icon/components/nomi-calendar-view.vue +4 -0
  19. package/src/components/icon/components/nomi-help.vue +3 -2
  20. package/src/components/icon/components/nomi-kanban-view.vue +6 -0
  21. package/src/components/icon/components/nomi-list-view.vue +7 -0
  22. package/src/components/icon/components/nomi-lock.vue +1 -1
  23. package/src/components/icon/components/nomi-project.vue +2 -2
  24. package/src/components/icon/components/nomi-scissors.vue +1 -1
  25. package/src/components/icon/components/nomi-table-config.vue +9 -0
  26. package/src/components/icon/components/nomi-table-view.vue +4 -1
  27. package/src/components/icon/components/nomi-user.vue +3 -3
  28. package/src/components/icon/convert-icons.js +0 -3
  29. package/src/components/icon/icons.js +402 -397
  30. package/src/components/icon/new-icons/calendar-view.svg +3 -0
  31. package/src/components/icon/new-icons/help.svg +3 -2
  32. package/src/components/icon/new-icons/kanban-view.svg +5 -0
  33. package/src/components/icon/new-icons/list-view.svg +6 -0
  34. package/src/components/icon/new-icons/lock.svg +1 -1
  35. package/src/components/icon/new-icons/project.svg +2 -2
  36. package/src/components/icon/new-icons/scissors.svg +1 -1
  37. package/src/components/icon/new-icons/table-config.svg +8 -0
  38. package/src/components/icon/new-icons/table-view.svg +4 -1
  39. package/src/components/icon/new-icons/user.svg +3 -3
  40. package/src/components/kanban/BoardCard.vue +1 -1
  41. package/src/components/kanban/BoardCardTimer.vue +1 -1
  42. package/src/components/overlay/SensitiveOverlay.vue +4 -2
  43. package/src/components/panels/Panel.vue +21 -0
  44. package/src/components/panels/PanelList.vue +14 -3
  45. package/src/components/table/Table2.vue +65 -60
  46. package/src/components/table/TableBody.vue +6 -0
  47. package/src/components/table/TableGroup.vue +13 -4
  48. package/src/components/table/TableHeader.vue +77 -76
  49. package/src/components/table/TableRowToggle.vue +9 -1
  50. package/src/components/table/TableRows.vue +54 -30
  51. package/src/components/table/table2.scss +15 -34
  52. package/src/components/tree/TreeEditor.vue +2 -3
  53. package/src/components/view/View.vue +214 -59
  54. package/src/helpers/validators.js +35 -9
  55. package/src/helpers/validators.spec.js +48 -11
  56. package/src/locales/en.js +1 -1
  57. package/src/locales/uk.js +4 -9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itfin/components",
3
- "version": "1.5.2",
3
+ "version": "1.5.3",
4
4
  "author": "Vitalii Savchuk <esvit666@gmail.com>",
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
@@ -59,7 +59,11 @@
59
59
  },
60
60
  "devDependencies": {
61
61
  "@babel/eslint-parser": "^7.19.1",
62
+ "@babel/plugin-proposal-class-properties": "^7.18.6",
63
+ "@babel/plugin-proposal-decorators": "^7.29.0",
62
64
  "@babel/plugin-proposal-numeric-separator": "^7.18.6",
65
+ "@babel/plugin-proposal-optional-chaining": "^7.21.0",
66
+ "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
63
67
  "@babel/plugin-syntax-numeric-separator": "^7.10.4",
64
68
  "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4",
65
69
  "@vue/cli-plugin-babel": "^5.0.8",
@@ -81,6 +85,7 @@
81
85
  "vue-class-component": "^7.2.6",
82
86
  "vue-eslint-parser": "^9.1.0",
83
87
  "vue-jest": "^3.0.7",
88
+ "vue-loader": "^15.11.1",
84
89
  "vue-template-compiler": "=2.6.14"
85
90
  },
86
91
  "eslintConfig": {
@@ -130,5 +135,11 @@
130
135
  "lcov"
131
136
  ]
132
137
  },
138
+ "overrides": {
139
+ "@vue/vue-loader-v15": {
140
+ ".": "npm:vue-loader@^15.11.1",
141
+ "webpack": "^5.88.0"
142
+ }
143
+ },
133
144
  "license": "ISC"
134
145
  }
@@ -1,9 +1,3 @@
1
- if (typeof CSS !== 'undefined' && 'paintWorklet' in CSS) {
2
- CSS.paintWorklet.addModule(
3
- "https://www.unpkg.com/css-houdini-squircle@0.1.3/squircle.min.js"
4
- );
5
- }
6
-
7
1
  class ITFSettings {
8
2
  options = {
9
3
  firstDayOfWeek: 'Monday',
@@ -17,7 +17,6 @@ class itfButton extends Vue {
17
17
  @Prop(Boolean) large;
18
18
  @Prop(Boolean) icon;
19
19
  @Prop(Boolean) block;
20
- @Prop(Boolean) squircle;
21
20
  @Prop(String) loadingText;
22
21
  @Prop(String) color;
23
22
  @Prop(Boolean) disabled;
@@ -28,7 +27,7 @@ class itfButton extends Vue {
28
27
 
29
28
  render (createElement, { data, slots, children, props }) {
30
29
  const {
31
- to, href, target, disabled, color, block, loading, labeled, secondary, primary, small, large, icon, loadingText, squircle, default: defaultStyle,
30
+ to, href, target, disabled, color, block, loading, labeled, secondary, primary, small, large, icon, loadingText, default: defaultStyle,
32
31
  class: classNames
33
32
  } = props;
34
33
  const component = to ? 'nuxt-link' : (props.href ? 'a' : 'button');
@@ -48,7 +47,6 @@ class itfButton extends Vue {
48
47
  'btn-default': defaultStyle,
49
48
  'btn-basic': !primary && !secondary && !color && !defaultStyle,
50
49
  'btn-secondary': secondary,
51
- // 'btn-squircle': squircle,
52
50
  'btn-sm': small,
53
51
  'btn-lg': large,
54
52
  // 'px-3': small && !icon,
@@ -7,7 +7,6 @@ const CSS_CLASSES = {
7
7
  small: ['btn-sm'],
8
8
  block: ['itf-button__block'],
9
9
  labeled: ['labeled'],
10
- squircle: ['btn-squircle'],
11
10
  icon: ['btn-icon'],
12
11
  loading: ['loading'],
13
12
  spinner: ['itf-spinner'],
@@ -36,9 +35,6 @@ class Button extends HTMLElement {
36
35
  if (this.hasAttribute('labeled')) {
37
36
  styles.push(CSS_CLASSES.labeled);
38
37
  }
39
- if (this.hasAttribute('squircle')) {
40
- styles.push(CSS_CLASSES.squircle);
41
- }
42
38
  if (this.hasAttribute('icon')) {
43
39
  styles.push(CSS_CLASSES.icon);
44
40
  }
@@ -66,7 +66,7 @@ storiesOf('Common', module)
66
66
 
67
67
  <h3>Standart button</h3>
68
68
 
69
- <itf-button squircle primary>Primary button</itf-button>
69
+ <itf-button primary>Primary button</itf-button>
70
70
  <itf-button secondary>Secondary button</itf-button>
71
71
  <itf-button>Basic button</itf-button>
72
72
  <itf-button icon>
@@ -92,7 +92,7 @@ storiesOf('Common', module)
92
92
 
93
93
  <h3>Large button</h3>
94
94
 
95
- <itf-button squircle large primary>Primary button</itf-button>
95
+ <itf-button large primary>Primary button</itf-button>
96
96
  <itf-button large secondary>Secondary button</itf-button>
97
97
  <itf-button large>Basic button</itf-button>
98
98
  <itf-button large icon>
@@ -1,7 +1,6 @@
1
1
  <template>
2
2
  <grid-layout
3
3
  :layout="layout"
4
- :responsive-layouts="responsiveLayouts"
5
4
  @update:layout="onUpdateLayout"
6
5
  class="itf-bento-grid"
7
6
  :col-num="4"
@@ -57,7 +56,6 @@ export default @Component({
57
56
  })
58
57
  class itfBentoGrid extends Vue {
59
58
  @Prop() layout;
60
- @Prop() responsiveLayouts;
61
59
  @Prop() components;
62
60
  @Prop({ type: Boolean, default: true }) enabled;
63
61
 
@@ -15,6 +15,7 @@
15
15
  :field="field"
16
16
  :editable="editable"
17
17
  :lock-fields="lockFields"
18
+ :full-name="fullName"
18
19
  :value="value[field.Id]"
19
20
  @input="$emit('input', { ...value, [field.Id]: $event })"
20
21
  @delete="onDelete(field)"
@@ -104,6 +105,7 @@ class itfPropertiesList extends Vue {
104
105
  @Prop({ type: Boolean, default: false }) loading;
105
106
  @Prop({ type: Boolean, default: false }) editable;
106
107
  @Prop({ type: Boolean, default: false }) lockFields;
108
+ @Prop({ type: Boolean, default: false }) fullName;
107
109
 
108
110
  isShowAll = false;
109
111
 
@@ -27,7 +27,7 @@
27
27
  </div>
28
28
  </template>
29
29
  <script>
30
- import { Vue, Component, Prop, Watch } from 'vue-property-decorator';
30
+ import { Vue, Component, Prop } from 'vue-property-decorator';
31
31
  import itfTextField from '../text-field/TextField.vue';
32
32
  import itfIcon from '../icon/Icon';
33
33
  import itfButton from '../button/Button';
@@ -9,10 +9,10 @@
9
9
 
10
10
  <itf-dropdown text :disabled="!editable || lockFields" ref="editDd" autoclose="outside" class="flex-grow-1 mw-100 editable-field" shadow @close="onClose">
11
11
  <div slot="button">
12
- <div class="d-flex align-items-center">
12
+ <div class="d-flex align-items-center" :class="{ 'b-properties-list__title-text': lockFields }">
13
13
  <!-- <itf-icon :name="field.Icon" :size="16" class="me-1" />-->
14
14
 
15
- <div style="white-space: nowrap; overflow: hidden; text-overflow: ellipsis;" v-text="field.Name" />
15
+ <div :class="`b-properties-list__title-text-${fullName ? 'full' : 'short'}`" v-text="field.Name" />
16
16
  </div>
17
17
  </div>
18
18
  <properties-edit-menu
@@ -35,11 +35,11 @@
35
35
  />
36
36
  </itf-dropdown>
37
37
  </div>
38
- <div class="b-properties-list__value rounded-2" :class="{'editable': editable, 'active shadow rounded-2 bg-body': focusId === field.Id}" sortable-skip>
38
+ <div class="bg-light b-properties-list__value rounded-2" :class="{'editable': editable, 'active shadow rounded-2 bg-body': focusId === field.Id}" sortable-skip>
39
39
  <property-inline-edit
40
40
  @focus="onFocus(field.Id)"
41
41
  @blur="onBlur(field.Id)"
42
- class="flex-grow-1 b-properties-list__inline-editor editable-field"
42
+ class="flex-grow-1 b-properties-list__inline-editor editable-field rounded-2"
43
43
  :field="field"
44
44
  :value="value"
45
45
  :editable="editable"
@@ -62,6 +62,11 @@
62
62
  background: rgba(0, 0, 0, 0.05);
63
63
  }
64
64
  }
65
+ &__inline-editor {
66
+ min-height: 44px;
67
+ padding-right: 10px;
68
+ padding-left: 10px;
69
+ }
65
70
  &__draghandler {
66
71
  user-select: none;
67
72
  transition: opacity 150ms ease-in 0s;
@@ -80,7 +85,7 @@
80
85
  }
81
86
  &__inner {
82
87
  display: flex;
83
- padding-bottom: 4px;
88
+ padding-bottom: 8px;
84
89
  width: 100%;
85
90
  }
86
91
  &__name, &__value {
@@ -98,7 +103,7 @@
98
103
  &__name {
99
104
  display: flex;
100
105
  align-items: center;
101
- height: 34px;
106
+ min-height: 44px;
102
107
  width: 250px;
103
108
  flex: 0 0 auto;
104
109
  }
@@ -119,6 +124,18 @@
119
124
  background-color: rgba(55, 53, 47, 0.08);
120
125
  }
121
126
  }
127
+ &__title-text {
128
+ min-height: 44px;
129
+ }
130
+ &__title-text-short {
131
+ white-space: nowrap;
132
+ overflow: hidden;
133
+ text-overflow: ellipsis;
134
+ }
135
+ &__title-text-full {
136
+ white-space: normal;
137
+ word-break: break-word;
138
+ }
122
139
  }
123
140
  </style>
124
141
  <script>
@@ -154,6 +171,7 @@ class itfPropertyItem extends Vue {
154
171
  @Prop({ type: Boolean, default: false }) loading;
155
172
  @Prop({ type: Boolean, default: false }) editable;
156
173
  @Prop({ type: Boolean, default: false }) lockFields;
174
+ @Prop({ type: Boolean, default: false }) fullName;
157
175
 
158
176
  isEditMode = false;
159
177
  focusId = null;
@@ -24,7 +24,7 @@
24
24
  :disabled="disabled"
25
25
  />
26
26
 
27
- <div class="addon-end" v-if="clearable && value">
27
+ <div class="addon-end" v-if="clearable && value && !isInvalid()">
28
28
  <slot name="clear">
29
29
  <itf-button
30
30
  icon
@@ -1,5 +1,5 @@
1
1
  <template>
2
- <div class="itf-monthpicker" :class="{'with-addon addon-start': prependIcon}">
2
+ <div class="itf-monthpicker" :class="{'with-addon addon-start': prependIcon, 'with-addon addon-end': clearable}">
3
3
  <div class="addon" v-if="prependIcon">
4
4
  <slot name="addon">
5
5
  <itf-icon :name="prependIcon" />
@@ -16,6 +16,18 @@
16
16
  :value="displayValue"
17
17
  :placeholder="placeholder"
18
18
  />
19
+ <div class="addon-end" v-if="clearable && value && !isInvalid()">
20
+ <slot name="clear">
21
+ <itf-button
22
+ icon
23
+ small
24
+ @click="$emit('input', '')"
25
+ >
26
+ <itf-icon name="close" />
27
+ </itf-button>
28
+ </slot>
29
+ </div>
30
+
19
31
  <div style="display: none">
20
32
  <div ref="dropdown" class="itf-monthpicker__dropdown border rounded">
21
33
  <div>
@@ -36,16 +48,23 @@
36
48
  </div>
37
49
  </div>
38
50
  </template>
51
+ <style>
52
+ .itf-monthpicker .addon-end {
53
+ top: 0
54
+ }
55
+ </style>
39
56
  <script>
40
57
  import { Vue, Component, Prop, Inject } from 'vue-property-decorator';
41
58
  import { DateTime } from 'luxon';
42
59
  import tippy from 'tippy.js';
43
60
  import itfIcon from '../icon/Icon';
44
61
  import itfDatePickerInline from './DatePickerInline.vue';
62
+ import itfButton from "@itfin/components/src/components/button/Button.vue";
45
63
 
46
64
  export default @Component({
47
65
  name: 'itfMonthPicker',
48
66
  components: {
67
+ itfButton,
49
68
  itfIcon,
50
69
  itfDatePickerInline
51
70
  },
@@ -63,6 +82,7 @@ class itfMonthPicker extends Vue {
63
82
  @Prop({ type: String, default: '' }) placeholder;
64
83
  @Prop({ type: String, default: '' }) prependIcon;
65
84
  @Prop({ type: String, default: 'bottom-start' }) placement;
85
+ @Prop(Boolean) clearable;
66
86
 
67
87
  focused = false;
68
88
 
@@ -1,5 +1,5 @@
1
1
  <script>
2
- import { Vue, Component, Prop, Watch, PropSync } from 'vue-property-decorator';
2
+ import { Vue, Component, Prop, PropSync } from 'vue-property-decorator';
3
3
  import itfButton from '../button/Button';
4
4
  import itfDropdownMenu from './DropdownMenu';
5
5
 
@@ -4,7 +4,7 @@
4
4
  </div>
5
5
  </template>
6
6
  <script>
7
- import { Vue, Component, Prop, Watch, PropSync } from 'vue-property-decorator';
7
+ import { Vue, Component, Prop, PropSync } from 'vue-property-decorator';
8
8
 
9
9
  let globalModalIndex = 0; // base modal z-index
10
10
 
@@ -24,7 +24,7 @@
24
24
  }
25
25
  </style>
26
26
  <script>
27
- import { Component, Prop, Vue, Watch } from 'vue-property-decorator';
27
+ import { Component, Prop, Vue } from 'vue-property-decorator';
28
28
  import itfIcon from '../icon/Icon';
29
29
  import itfButton from '../button/Button';
30
30
 
@@ -12,7 +12,7 @@
12
12
  </div>
13
13
  </template>
14
14
 
15
- <div>
15
+ <div class="px-2">
16
16
  <template v-if="type === 'list'">
17
17
  <a
18
18
  v-for="(item, n) in options.items"
@@ -24,7 +24,7 @@
24
24
  </template>
25
25
  <template v-else-if="type === 'period'">
26
26
  <itf-date-range-picker-inline
27
- style="margin: -.5rem 0"
27
+ style="margin: -.5rem"
28
28
  :value="value.value"
29
29
  @input="onFilterChange({ value: $event })"
30
30
  />
@@ -48,12 +48,13 @@
48
48
  </template>
49
49
  <template v-else-if="type === 'date'">
50
50
  <itf-date-picker-inline
51
- style="margin: -.5rem 0"
51
+ style="margin: -.5rem"
52
52
  :value="value.value"
53
53
  :only-calendar="options.calendarOptions && options.calendarOptions.onlyCalendar"
54
54
  :max-date="options.calendarOptions && options.calendarOptions.maxDate"
55
55
  :min-date="options.calendarOptions && options.calendarOptions.minDate"
56
- value-format="yyyy-MM-dd"
56
+ :start-view="options.calendarOptions && options.calendarOptions.startView"
57
+ :min-view="options.calendarOptions && options.calendarOptions.minView"
57
58
  @input="onFilterChange({ value: $event })"
58
59
  />
59
60
  </template>
@@ -41,6 +41,7 @@
41
41
  </div>
42
42
  </div>
43
43
  </div>
44
+ </div>
44
45
 
45
46
  <itf-button default class="mt-1" v-if="hasMore" small block @click="toggleMore">
46
47
  <span v-if="showMore">{{ $t('components.filter.hideMore', { count: visibleList.length }) }}</span>
@@ -86,7 +87,7 @@
86
87
  margin: 1px 0;
87
88
  &.active {
88
89
  .facet-bar-progress {
89
- background-color: var(--bs-blue);
90
+ background-color: var(--bs-primary);
90
91
  }
91
92
  }
92
93
  .facet-name {
@@ -115,7 +116,7 @@
115
116
  width: var(--bar-width);
116
117
  min-width: 5px;
117
118
  height: 10px;
118
- background-color: rgba(var(--bs-blue-rgb), 50%);
119
+ background-color: rgba(var(--bs-primary-rgb), 50%);
119
120
  transition: width 0.3s ease 0s;
120
121
  }
121
122
  }
@@ -35,8 +35,8 @@
35
35
  class="itf-filter-panel__badge"
36
36
  :ref="'item-' + n"
37
37
  v-model="filter[facet.name]"
38
- :is-default="filter[facet.name].isDefault"
39
- :text="filter[facet.name].label"
38
+ :is-default="filter[facet.name] && filter[facet.name].isDefault"
39
+ :text="filter[facet.name] && filter[facet.name].label"
40
40
  :type="facet.type"
41
41
  :icon="facet.icon"
42
42
  :options="facet.options"
@@ -377,11 +377,25 @@ class FilterPanel extends Vue {
377
377
  }
378
378
  } else if (facet.type === 'date') {
379
379
  const date = DateTime.fromISO(value.value);
380
- value.label = (date.isValid ? date : DateTime.fromISO(facet.options.defaultValue.value)).toFormat('dd MMM yyyy');
381
- value.isDefault = facet.options.defaultValue ? value.value === facet.options.defaultValue.value : false;
382
- if (value.isDefault && facet.options.defaultValue.label) {
383
- value.label = facet.options.defaultValue.label;
380
+ const effectiveDate = (date.isValid ? date : DateTime.fromISO(facet.options.defaultValue.value ?? DateTime.now().toISO()));
381
+ // Якщо календарь в режимі вибору місяця (startView/minView === 'month'),
382
+ // відображаємо весь місяць, наприклад: "01 - 31 Mar 2026"
383
+ if (
384
+ facet.options?.calendarOptions &&
385
+ facet.options.calendarOptions.startView === 'months' &&
386
+ facet.options.calendarOptions.minView === 'months'
387
+ ) {
388
+ const startOfMonth = effectiveDate.startOf('month');
389
+ const endOfMonth = effectiveDate.endOf('month');
390
+ const startLabel = startOfMonth.toFormat('dd');
391
+ const endLabel = endOfMonth.toFormat('dd MMM yyyy');
392
+ value.label = `${startLabel} - ${endLabel}`;
393
+ } else {
394
+ // Стандартний сценарій: одиночна дата
395
+ value.label = effectiveDate.toFormat('dd MMM yyyy');
384
396
  }
397
+
398
+ value.isDefault = facet.options.defaultValue ? value.value === facet.options.defaultValue.value : false;
385
399
  } else if (facet.type === 'month') {
386
400
  const date = DateTime.fromISO(value.value);
387
401
  value.label = capitalizeFirstLetter((date.isValid ? date : DateTime.fromISO(facet.options.defaultValue.value)).toFormat('LLLL yyyy'));
@@ -0,0 +1,4 @@
1
+ <template><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M8.60039 5.00039C8.60039 4.66902 8.33176 4.40039 8.00039 4.40039C7.66902 4.40039 7.40039 4.66902 7.40039 5.00039V6.44556C7.35748 6.45011 7.31553 6.45512 7.27454 6.46063C6.79953 6.52449 6.3652 6.6657 6.01547 7.01544C5.66574 7.36517 5.52452 7.7995 5.46066 8.2745C5.40035 8.72311 5.40037 9.28719 5.40039 9.95917V9.9592L5.40039 10.0004V15.0004L5.40039 15.0415V15.0416C5.40037 15.7135 5.40035 16.2776 5.46066 16.7262C5.52452 17.2012 5.66574 17.6356 6.01547 17.9853C6.3652 18.335 6.79953 18.4762 7.27454 18.5401C7.72314 18.6004 8.28721 18.6004 8.95917 18.6004H8.95923L9.00039 18.6004H15.0004L15.0416 18.6004H15.0416C15.7136 18.6004 16.2776 18.6004 16.7263 18.5401C17.2013 18.4762 17.6356 18.335 17.9853 17.9853C18.335 17.6356 18.4763 17.2012 18.5401 16.7262C18.6004 16.2776 18.6004 15.7135 18.6004 15.0416V15.0415L18.6004 15.0004V10.0004L18.6004 9.9592V9.95917C18.6004 9.28719 18.6004 8.72311 18.5401 8.2745C18.4763 7.7995 18.335 7.36517 17.9853 7.01544C17.6356 6.6657 17.2013 6.52449 16.7263 6.46063C16.6853 6.45512 16.6433 6.45011 16.6004 6.44556L16.6004 5.00039C16.6004 4.66902 16.3318 4.40039 16.0004 4.40039C15.669 4.40039 15.4004 4.66902 15.4004 5.00039V6.40072C15.2845 6.40035 15.1649 6.40035 15.0417 6.40036H15.0416L15.0004 6.40036H9.00039L8.95923 6.40036H8.9591H8.95908H8.95907H8.95905C8.83586 6.40035 8.71629 6.40035 8.60039 6.40072L8.60039 5.00039ZM17.3987 9.40036C17.3952 8.99258 17.3843 8.68374 17.3508 8.4344C17.3049 8.09246 17.2264 7.95357 17.1368 7.86396C17.0472 7.77436 16.9083 7.6959 16.5664 7.64993C16.2072 7.60163 15.7245 7.60036 15.0004 7.60036H9.00039C8.27632 7.60036 7.79363 7.60163 7.43443 7.64993C7.0925 7.6959 6.95361 7.77436 6.864 7.86396C6.77439 7.95357 6.69593 8.09246 6.64996 8.4344C6.61644 8.68374 6.60557 8.99258 6.60206 9.40036L17.3987 9.40036ZM6.60039 10.6004L17.4004 10.6004V15.0004C17.4004 15.7244 17.3991 16.2071 17.3508 16.5663C17.3049 16.9083 17.2264 17.0471 17.1368 17.1368C17.0472 17.2264 16.9083 17.3048 16.5664 17.3508C16.2072 17.3991 15.7245 17.4004 15.0004 17.4004H9.00039C8.27632 17.4004 7.79363 17.3991 7.43443 17.3508C7.0925 17.3048 6.95361 17.2264 6.864 17.1368C6.77439 17.0471 6.69593 16.9083 6.64996 16.5663C6.60167 16.2071 6.60039 15.7244 6.60039 15.0004V10.6004ZM7.90039 12.5004C7.90039 12.169 8.16902 11.9004 8.50039 11.9004L13.5004 11.9004C13.8318 11.9004 14.1004 12.169 14.1004 12.5004C14.1004 12.8318 13.8318 13.1004 13.5004 13.1004H8.50039C8.16902 13.1004 7.90039 12.8318 7.90039 12.5004ZM8.50039 15.6004H11.5004C11.8318 15.6004 12.1004 15.3318 12.1004 15.0004C12.1004 14.669 11.8318 14.4004 11.5004 14.4004H8.50039C8.16902 14.4004 7.90039 14.669 7.90039 15.0004C7.90039 15.3318 8.16902 15.6004 8.50039 15.6004Z" fill="currentColor"/>
3
+ </svg>
4
+ </template>
@@ -1,4 +1,5 @@
1
- <template><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M11.965 16.2C12.21 16.2 12.4172 16.1153 12.5866 15.9459C12.756 15.7765 12.8405 15.5695 12.84 15.325C12.8395 15.0805 12.7551 14.8733 12.5866 14.7034C12.4181 14.5335 12.2109 14.4491 11.965 14.45C11.7191 14.4509 11.5121 14.5356 11.3441 14.7041C11.1761 14.8726 11.0914 15.0795 11.09 15.325C11.0886 15.5705 11.1733 15.7777 11.3441 15.9466C11.5149 16.1155 11.7219 16.2 11.965 16.2ZM12 19C11.0317 19 10.1217 18.8161 9.27001 18.4484C8.41834 18.0807 7.67751 17.582 7.04751 16.9525C6.41751 16.323 5.91888 15.5821 5.55162 14.73C5.18435 13.8779 5.00048 12.9679 5.00002 12C4.99955 11.0321 5.18342 10.1221 5.55162 9.27C5.91981 8.41787 6.41845 7.67704 7.04751 7.04751C7.67658 6.41798 8.41741 5.91934 9.27001 5.55161C10.1226 5.18388 11.0326 5.00001 12 5.00001C12.9674 5.00001 13.8774 5.18388 14.73 5.55161C15.5826 5.91934 16.3234 6.41798 16.9525 7.04751C17.5816 7.67704 18.0804 8.41787 18.4491 9.27C18.8178 10.1221 19.0014 11.0321 19 12C18.9986 12.9679 18.8147 13.8779 18.4484 14.73C18.0821 15.5821 17.5834 16.323 16.9525 16.9525C16.3216 17.582 15.5807 18.0809 14.73 18.4491C13.8793 18.8173 12.9693 19.0009 12 19ZM12.07 8.99C12.3617 8.99 12.6155 9.08334 12.8316 9.27C13.0477 9.45667 13.1555 9.69 13.155 9.97C13.155 10.2267 13.0764 10.4542 12.9191 10.6525C12.7618 10.8508 12.5838 11.0375 12.385 11.2125C12.1167 11.4458 11.8805 11.7025 11.6766 11.9825C11.4727 12.2625 11.3705 12.5775 11.37 12.9275C11.37 13.0908 11.4314 13.228 11.5541 13.3391C11.6768 13.4502 11.8196 13.5055 11.9825 13.505C12.1575 13.505 12.3064 13.4467 12.4291 13.33C12.5518 13.2133 12.6305 13.0675 12.665 12.8925C12.7117 12.6475 12.8167 12.4289 12.98 12.2366C13.1433 12.0443 13.3183 11.8605 13.505 11.685C13.7733 11.4283 14.0039 11.1483 14.1966 10.845C14.3893 10.5417 14.4855 10.2033 14.485 9.83C14.485 9.235 14.243 8.74804 13.7591 8.36911C13.2752 7.99017 12.7121 7.80047 12.07 7.80001C11.6267 7.80001 11.2039 7.89334 10.8016 8.08001C10.3993 8.26667 10.093 8.55251 9.88251 8.93751C9.80084 9.0775 9.77471 9.22637 9.80411 9.3841C9.83351 9.54184 9.91214 9.6613 10.04 9.7425C10.2033 9.83584 10.3725 9.865 10.5475 9.83C10.7225 9.795 10.8683 9.69584 10.985 9.5325C11.1133 9.3575 11.2739 9.22334 11.4666 9.13C11.6593 9.03667 11.8605 8.99 12.07 8.99Z" fill="currentColor"/>
1
+ <template><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-info-circle" viewBox="0 0 16 16">
2
+ <path d="M8 15A7 7 0 1 1 8 1a7 7 0 0 1 0 14m0 1A8 8 0 1 0 8 0a8 8 0 0 0 0 16"/>
3
+ <path d="m8.93 6.588-2.29.287-.082.38.45.083c.294.07.352.176.288.469l-.738 3.468c-.194.897.105 1.319.808 1.319.545 0 1.178-.252 1.465-.598l.088-.416c-.2.176-.492.246-.686.246-.275 0-.375-.193-.304-.533zM9 4.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0"/>
3
4
  </svg>
4
5
  </template>
@@ -0,0 +1,6 @@
1
+ <template><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M14 18L10 18C8.11438 18 7.17157 18 6.58579 17.4142C6 16.8284 6 15.8856 6 14L6 10C6 8.11438 6 7.17157 6.58579 6.58579C7.17157 6 8.11438 6 10 6L14 6C15.8856 6 16.8284 6 17.4142 6.58579C18 7.17157 18 8.11438 18 10L18 14C18 15.8856 18 16.8284 17.4142 17.4142C16.8284 18 15.8856 18 14 18Z" stroke="currentColor" stroke-width="1.2"/>
3
+ <path d="M10 6V18" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M14 6V18" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
5
+ </svg>
6
+ </template>
@@ -0,0 +1,7 @@
1
+ <template><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M14 18L10 18C8.11438 18 7.17157 18 6.58579 17.4142C6 16.8284 6 15.8856 6 14L6 10C6 8.11438 6 7.17157 6.58579 6.58579C7.17157 6 8.11438 6 10 6L14 6C15.8856 6 16.8284 6 17.4142 6.58579C18 7.17157 18 8.11438 18 10L18 14C18 15.8856 18 16.8284 17.4142 17.4142C16.8284 18 15.8856 18 14 18Z" stroke="currentColor" stroke-width="1.2"/>
3
+ <path d="M13 15L8.5 15" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M12 9H8.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <path d="M15 12H8.5" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
6
+ </svg>
7
+ </template>
@@ -1,4 +1,4 @@
1
1
  <template><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M12 4.3999C13.9882 4.3999 15.6 6.01168 15.6 7.9999V10.0489C16.033 10.1018 16.3329 10.2114 16.5607 10.4392C17 10.8786 17 11.5857 17 12.9999V14.9999C17 16.4141 17 17.1212 16.5607 17.5606C16.1213 17.9999 15.4142 17.9999 14 17.9999H10C8.58579 17.9999 7.87868 17.9999 7.43934 17.5606C7 17.1212 7 16.4141 7 14.9999V12.9999C7 11.5857 7 10.8786 7.43934 10.4392C7.66715 10.2114 7.96695 10.1018 8.4 10.0489L8.4 7.9999C8.4 6.01168 10.0118 4.3999 12 4.3999ZM14.4 7.9999V10.0003C14.2733 9.99991 14.1401 9.99991 14 9.99991H10C9.85987 9.99991 9.72668 9.99991 9.6 10.0003L9.6 7.9999C9.6 6.67442 10.6745 5.5999 12 5.5999C13.3255 5.5999 14.4 6.67442 14.4 7.9999ZM12.6 12.9999C12.6 12.6685 12.3314 12.3999 12 12.3999C11.6686 12.3999 11.4 12.6685 11.4 12.9999V14.9999C11.4 15.3313 11.6686 15.5999 12 15.5999C12.3314 15.5999 12.6 15.3313 12.6 14.9999V12.9999Z" fill="currentColor"/>
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M12 4.40002C13.9882 4.40002 15.6 6.0118 15.6 8.00002V10.0491C16.033 10.1019 16.3329 10.2116 16.5607 10.4394C17 10.8787 17 11.5858 17 13V15C17 16.4142 17 17.1214 16.5607 17.5607C16.1213 18 15.4142 18 14 18H10C8.58579 18 7.87868 18 7.43934 17.5607C7 17.1214 7 16.4142 7 15V13C7 11.5858 7 10.8787 7.43934 10.4394C7.66715 10.2116 7.96695 10.1019 8.4 10.0491L8.4 8.00002C8.4 6.0118 10.0118 4.40002 12 4.40002ZM14.4 8.00002V10.0005C14.2733 10 14.1401 10 14 10H10C9.85987 10 9.72668 10 9.6 10.0005L9.6 8.00002C9.6 6.67454 10.6745 5.60002 12 5.60002C13.3255 5.60002 14.4 6.67454 14.4 8.00002ZM12.6 13C12.6 12.6687 12.3314 12.4 12 12.4C11.6686 12.4 11.4 12.6687 11.4 13V15C11.4 15.3314 11.6686 15.6 12 15.6C12.3314 15.6 12.6 15.3314 12.6 15V13Z" fill="currentColor"/>
3
3
  </svg>
4
4
  </template>
@@ -1,4 +1,4 @@
1
- <template><svg width="24" height="24" viewBox="-3 -3 30 30" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M8.53589 6C8.70919 5.69981 8.92222 5.42092 9.17157 5.17157C9.92172 4.42143 10.9391 4 12 4C13.0609 4 14.0783 4.42143 14.8284 5.17157C15.0778 5.42092 15.2908 5.69981 15.4641 6H8.53589ZM7.41742 6C7.66505 5.4326 8.01823 4.9107 8.46447 4.46447C9.40215 3.52678 10.6739 3 12 3C13.3261 3 14.5979 3.52678 15.5355 4.46447C15.9818 4.9107 16.3349 5.4326 16.5826 6H20C20.5523 6 21 6.44772 21 7V13C21 13.5523 20.5523 14 20 14H4C3.44772 14 3 13.5523 3 13V7C3 6.44772 3.44772 6 4 6H7.41742ZM3 14.7324V19C3 19.5523 3.44772 20 4 20H20C20.5523 20 21 19.5523 21 19V14.7324C20.7058 14.9026 20.3643 15 20 15H4C3.63571 15 3.29417 14.9026 3 14.7324ZM10 11.5C10 11.2239 10.2239 11 10.5 11H13.5C13.7761 11 14 11.2239 14 11.5C14 11.7761 13.7761 12 13.5 12H10.5C10.2239 12 10 11.7761 10 11.5Z" fill="currentColor"/>
1
+ <template><svg width="24" height="24" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path fill-rule="evenodd" clip-rule="evenodd" d="M10.0003 15.8337C13.222 15.8337 15.8337 13.222 15.8337 10.0003C15.8337 6.77866 13.222 4.16699 10.0003 4.16699C6.77866 4.16699 4.16699 6.77866 4.16699 10.0003C4.16699 13.222 6.77866 15.8337 10.0003 15.8337ZM7.91697 10.0003C7.91697 8.84973 8.84971 7.91699 10.0003 7.91699C11.1509 7.91699 12.0836 8.84973 12.0836 10.0003C12.0836 11.1509 11.1509 12.0837 10.0003 12.0837C8.84971 12.0837 7.91697 11.1509 7.91697 10.0003ZM10.0003 6.25032C7.92924 6.25032 6.25031 7.92925 6.25031 10.0003C6.25031 12.0714 7.92924 13.7503 10.0003 13.7503C12.0714 13.7503 13.7503 12.0714 13.7503 10.0003C13.7503 7.92925 12.0714 6.25032 10.0003 6.25032Z" fill="currentColor"/>
3
3
  </svg>
4
4
  </template>
@@ -1,4 +1,4 @@
1
1
  <template><svg style="transform: rotate(-90deg);" xmlns="http://www.w3.org/2000/svg" width="24" height="24" fill="currentColor" viewBox="-1 -1 19 19">
2
- <path fill="currentColor" d="M3.5 3.5c-.614-.884-.074-1.962.858-2.5L8 7.226 11.642 1c.932.538 1.472 1.616.858 2.5L8.81 8.61l1.556 2.661a2.5 2.5 0 1 1-.794.637L8 9.73l-1.572 2.177a2.5 2.5 0 1 1-.794-.637L7.19 8.61zm2.5 10a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0m7 0a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0"/>
2
+ <path d="M3.5 3.5c-.614-.884-.074-1.962.858-2.5L8 7.226 11.642 1c.932.538 1.472 1.616.858 2.5L8.81 8.61l1.556 2.661a2.5 2.5 0 1 1-.794.637L8 9.73l-1.572 2.177a2.5 2.5 0 1 1-.794-.637L7.19 8.61zm2.5 10a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0m7 0a1.5 1.5 0 1 0-3 0 1.5 1.5 0 0 0 3 0"/>
3
3
  </svg>
4
4
  </template>
@@ -0,0 +1,9 @@
1
+ <template><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <path d="M14 18L10 18C8.11438 18 7.17157 18 6.58579 17.4142C6 16.8284 6 15.8856 6 14L6 10C6 8.11438 6 7.17157 6.58579 6.58579C7.17157 6 8.11438 6 10 6L14 6C15.8856 6 16.8284 6 17.4142 6.58579C18 7.17157 18 8.11438 18 10L18 14C18 15.8856 18 16.8284 17.4142 17.4142C16.8284 18 15.8856 18 14 18Z" stroke="currentColor" stroke-width="1.2"/>
3
+ <path d="M6 14L18 14" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M6 10L18 10" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <path d="M10 6L10 18" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
6
+ <path d="M20.1384 16.7558C20.4109 16.2888 20.4109 15.7112 20.1384 15.2442L18.9718 13.2442C18.703 12.7834 18.2096 12.5 17.6761 12.5L15.3248 12.5C14.7913 12.5 14.298 12.7834 14.0292 13.2442L12.8625 15.2442C12.5901 15.7112 12.5901 16.2888 12.8625 16.7558L14.0292 18.7558C14.298 19.2166 14.7913 19.5 15.3248 19.5L17.6761 19.5C18.2096 19.5 18.703 19.2166 18.9718 18.7558L20.1384 16.7558Z" fill="currentColor" stroke="white"/>
7
+ <circle cx="16.5" cy="16" r="1" fill="white"/>
8
+ </svg>
9
+ </template>
@@ -1,4 +1,7 @@
1
1
  <template><svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path fill-rule="evenodd" clip-rule="evenodd" d="M5.43934 6.43934C5 6.87868 5 7.58579 5 9V9.4L8.4 9.4L8.4 6H8C6.58579 6 5.87868 6 5.43934 6.43934ZM5 10.6L8.4 10.6L8.4 13.4H5V10.6ZM5 14.6V15C5 16.4142 5 17.1213 5.43934 17.5607C5.87868 18 6.58579 18 8 18H8.4L8.4 14.6H5ZM9.6 14.6V18H16C17.4142 18 18.1213 18 18.5607 17.5607C19 17.1213 19 16.4142 19 15V14.6L9.6 14.6ZM19 13.4V10.6L9.6 10.6V13.4L19 13.4ZM9.6 6V9.4L19 9.4V9C19 7.58579 19 6.87868 18.5607 6.43934C18.1213 6 17.4142 6 16 6H9.6Z" fill="currentColor"/>
2
+ <path d="M14 18L10 18C8.11438 18 7.17157 18 6.58579 17.4142C6 16.8284 6 15.8856 6 14L6 10C6 8.11438 6 7.17157 6.58579 6.58579C7.17157 6 8.11438 6 10 6L14 6C15.8856 6 16.8284 6 17.4142 6.58579C18 7.17157 18 8.11438 18 10L18 14C18 15.8856 18 16.8284 17.4142 17.4142C16.8284 18 15.8856 18 14 18Z" stroke="currentColor" stroke-width="1.2"/>
3
+ <path d="M6 14L18 14" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
4
+ <path d="M6 10L18 10" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
5
+ <path d="M10 6L10 18" stroke="currentColor" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"/>
3
6
  </svg>
4
7
  </template>
@@ -1,5 +1,5 @@
1
- <template><svg width="32" height="32" viewBox="0 0 32 32" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <circle cx="15.9998" cy="11.3333" r="3.33333" fill="currentColor"/>
3
- <path d="M10.6054 24C9.29221 24 8.63561 24 8.23231 23.44C7.82902 22.88 8.00385 22.3808 8.35352 21.3824C8.40585 21.233 8.46271 21.085 8.52407 20.9385C8.93073 19.9679 9.52677 19.086 10.2782 18.3431C11.0296 17.6003 11.9216 17.011 12.9034 16.609C13.8851 16.2069 14.9374 16 16 16C17.0626 16 18.1149 16.2069 19.0966 16.609C20.0784 17.011 20.9704 17.6003 21.7218 18.3431C22.4732 19.086 23.0693 19.9679 23.4759 20.9385C23.5373 21.085 23.5941 21.233 23.6465 21.3824C23.9961 22.3808 24.171 22.88 23.7677 23.44C23.3644 24 22.7078 24 21.3946 24L10.6054 24Z" fill="currentColor"/>
1
+ <template><svg width="24" height="24" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
+ <circle cx="10.0003" cy="7.08333" r="2.08333" fill="currentColor"/>
3
+ <path d="M6.62838 15C5.80763 15 5.39726 15 5.1452 14.65C4.89314 14.3 5.00241 13.988 5.22095 13.364C5.25366 13.2706 5.2892 13.1781 5.32754 13.0866C5.5817 12.48 5.95423 11.9288 6.42386 11.4645C6.89348 11.0002 7.45101 10.6319 8.06461 10.3806C8.6782 10.1293 9.33585 10 10 10C10.6642 10 11.3218 10.1293 11.9354 10.3806C12.549 10.6319 13.1065 11.0002 13.5761 11.4645C14.0458 11.9288 14.4183 12.48 14.6725 13.0866C14.7108 13.1781 14.7463 13.2706 14.779 13.364C14.9976 13.988 15.1069 14.3 14.8548 14.65C14.6027 15 14.1924 15 13.3716 15L6.62838 15Z" fill="currentColor"/>
4
4
  </svg>
5
5
  </template>
@@ -17,9 +17,6 @@ async function bootstrap() {
17
17
  });
18
18
  }));
19
19
  await Promise.all(fs.readdirSync(fromNewFolder).map((file) => {
20
- if (file.includes('.DS_Store')) {
21
- return;
22
- }
23
20
  return new Promise((resolve) => {
24
21
  fs.readFile(`${fromNewFolder}/${file}`, { encoding: 'utf-8' }, (err, data) => {
25
22
  fs.writeFile(`${toFolder}/nomi-${file.replace('.svg', '.vue')}`, `<template>${data}</template>`, (err) => {