@milaboratories/uikit 2.2.48 → 2.2.50

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/CHANGELOG.md +12 -0
  2. package/dist/pl-uikit.js +1826 -1784
  3. package/dist/pl-uikit.js.map +1 -1
  4. package/dist/pl-uikit.umd.cjs +5 -5
  5. package/dist/pl-uikit.umd.cjs.map +1 -1
  6. package/dist/src/components/PlCheckboxGroup/PlCheckboxGroup.vue.d.ts +3 -1
  7. package/dist/src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue.d.ts +16 -1
  8. package/dist/src/components/PlDropdownRef/PlDropdownRef.vue.d.ts +9 -2
  9. package/dist/src/components/PlLogView/PlLogView.vue.d.ts +9 -2
  10. package/dist/style.css +1 -1
  11. package/dist/tsconfig.lib.tsbuildinfo +1 -1
  12. package/package.json +3 -3
  13. package/src/assets/dropdown-list-item.scss +1 -1
  14. package/src/assets/icons/icons-set.scss +3 -3
  15. package/src/assets/icons.scss +1 -1
  16. package/src/assets/masks.scss +1 -1
  17. package/src/assets/mixins.scss +1 -1
  18. package/src/assets/slider.scss +1 -1
  19. package/src/assets/theme-switcher.scss +1 -1
  20. package/src/assets/utils.scss +1 -1
  21. package/src/components/DataTable/assets/data-table-style.scss +1 -1
  22. package/src/components/GridTable/assets/style.scss +1 -1
  23. package/src/components/PlAlert/pl-alert.scss +1 -1
  24. package/src/components/PlBtnAccent/pl-btn-accent.scss +1 -1
  25. package/src/components/PlBtnDanger/pl-btn-danger.scss +1 -1
  26. package/src/components/PlBtnGhost/pl-btn-ghost.scss +1 -1
  27. package/src/components/PlBtnGroup/pl-btn-group.scss +1 -1
  28. package/src/components/PlBtnLink/pl-btn-link.scss +1 -1
  29. package/src/components/PlBtnPrimary/pl-btn-primary.scss +1 -1
  30. package/src/components/PlBtnSecondary/pl-btn-secondary.scss +1 -1
  31. package/src/components/PlCheckbox/pl-checkbox-base.scss +1 -1
  32. package/src/components/PlCheckbox/pl-checkbox.scss +1 -1
  33. package/src/components/PlCheckboxGroup/PlCheckboxGroup.vue +13 -2
  34. package/src/components/PlCheckboxGroup/pl-checkbox-group.scss +5 -4
  35. package/src/components/PlChip/pl-chip.scss +1 -1
  36. package/src/components/PlDialogModal/pl-dialog-modal.scss +1 -1
  37. package/src/components/PlDropdown/pl-dropdown.scss +1 -1
  38. package/src/components/PlDropdownLegacy/pl-dropdown-legacy.scss +1 -1
  39. package/src/components/PlDropdownLine/pl-dropdown-line.scss +1 -1
  40. package/src/components/PlDropdownMulti/pl-dropdown-multi.scss +1 -1
  41. package/src/components/PlDropdownMultiRef/PlDropdownMultiRef.vue +9 -2
  42. package/src/components/PlDropdownRef/PlDropdownRef.vue +9 -2
  43. package/src/components/PlEditableTitle/pl-editable-title.module.scss +1 -1
  44. package/src/components/PlFileDialog/pl-file-dialog.module.scss +1 -1
  45. package/src/components/PlFileInput/pl-file-input.scss +1 -1
  46. package/src/components/PlLogView/PlLogView.vue +11 -2
  47. package/src/components/PlLogView/pl-log-view.scss +1 -1
  48. package/src/components/PlSlideModal/pl-slide-modal.scss +1 -1
  49. package/src/components/PlTabs/pl-tabs.module.scss +1 -1
  50. package/src/components/PlTextArea/pl-textarea.scss +1 -1
  51. package/src/components/PlTextField/pl-text-field.scss +1 -1
  52. package/src/layout/PlBlockPage/pl-block-page.scss +1 -1
  53. package/src/utils/PlCloseModalBtn.vue +1 -1
  54. package/vite.config.ts +7 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/uikit",
3
- "version": "2.2.48",
3
+ "version": "2.2.50",
4
4
  "type": "module",
5
5
  "main": "dist/pl-uikit.umd.js",
6
6
  "module": "dist/pl-uikit.js",
@@ -34,9 +34,9 @@
34
34
  "yarpm": "^1.2.0",
35
35
  "svgo": "^3.3.2",
36
36
  "@types/d3": "^7.4.3",
37
- "@milaboratories/eslint-config": "^1.0.1",
38
37
  "@milaboratories/helpers": "^1.6.11",
39
- "@platforma-sdk/model": "^1.21.20"
38
+ "@platforma-sdk/model": "^1.21.20",
39
+ "@milaboratories/eslint-config": "^1.0.1"
40
40
  },
41
41
  "scripts": {
42
42
  "dev": "vite",
@@ -1,4 +1,4 @@
1
- @import "./mixins";
1
+ @use "./mixins" as *;
2
2
 
3
3
  .dropdown-list-item {
4
4
  padding: 8px 12px;
@@ -1,6 +1,6 @@
1
- @import '../mixins.scss';
2
- @import './icons-16-generated.scss';
3
- @import './icons-24-generated.scss';
1
+ @use '../mixins.scss' as *;
2
+ @use './icons-16-generated.scss' as *;
3
+ @use './icons-24-generated.scss' as *;
4
4
 
5
5
  .icon-16 {
6
6
  --icon-size: 16px;
@@ -1,4 +1,4 @@
1
- @import "./mixins";
1
+ @use "./mixins" as *;
2
2
 
3
3
  .icon {
4
4
  --icon-size: 16px;
@@ -1,4 +1,4 @@
1
- @import "./mixins";
1
+ @use "./mixins" as *;
2
2
 
3
3
  .mask {
4
4
  --mask-size: 16px;
@@ -1,4 +1,4 @@
1
- @import './base-btn';
1
+ @forward './base-btn';
2
2
 
3
3
  @mixin mask-var($bg) {
4
4
  -webkit-mask-image: $bg;
@@ -1,4 +1,4 @@
1
- @import "./mixins";
1
+ @use "./mixins" as *;
2
2
 
3
3
  .ui-slider {
4
4
  --progress-bg: linear-gradient(to right, #A1E59C, #D0F5B0);
@@ -1,4 +1,4 @@
1
- @import "./mixins";
1
+ @use "./mixins" as *;
2
2
 
3
3
  .ui-theme-switcher {
4
4
  $root: &;
@@ -1,4 +1,4 @@
1
- @import "./mixins";
1
+ @use "./mixins" as *;
2
2
 
3
3
  .pl-scrollable {
4
4
  @include scrollbar(true, true);
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins.scss";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .data-table {
4
4
  --cell-font-family: var(--font-family-base);
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins.scss";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .grid-table {
4
4
  --cell-font-family: var(--font-family-base);
@@ -1,4 +1,4 @@
1
- @import '@/assets/mixins.scss';
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-alert {
4
4
  --text-font-family: var(--font-family-base);
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-btn-accent {
4
4
  @include base-btn;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-btn-danger {
4
4
  @include base-btn;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-btn-ghost {
4
4
  @include base-btn;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-btn-group {
4
4
  --pl-btn-group-height: 40px;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .ui-btn-link {
4
4
  display: flex;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-btn-primary {
4
4
  @include base-btn;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-btn-secondary {
4
4
  @include base-btn;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-checkbox-base {
4
4
  --base-icon: url('@/assets/images/24_checkbox-base.svg');
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-checkbox-base {
4
4
  --base-icon: url('@/assets/images/24_checkbox-base.svg');
@@ -11,6 +11,10 @@ export default {
11
11
  import './pl-checkbox-group.scss';
12
12
  import type { SimpleOption } from '@/types';
13
13
  import PlCheckboxBase from '@/components/PlCheckbox/PlCheckboxBase.vue';
14
+ import { PlTooltip } from '../PlTooltip';
15
+ import { useSlots } from 'vue';
16
+
17
+ const slots = useSlots();
14
18
 
15
19
  const emit = defineEmits<{
16
20
  (e: 'update:modelValue', v: M[]): void;
@@ -46,8 +50,15 @@ const updateModel = (value: M) => {
46
50
  </script>
47
51
 
48
52
  <template>
49
- <div class="ui-checkbox-group" :class="{ disabled }">
50
- <label v-if="label">{{ label }}</label>
53
+ <div class="pl-checkbox-group" :class="{ disabled }">
54
+ <label v-if="label">
55
+ <span>{{ label }}</span>
56
+ <PlTooltip v-if="slots.tooltip" class="info" position="top">
57
+ <template #tooltip>
58
+ <slot name="tooltip" />
59
+ </template>
60
+ </PlTooltip>
61
+ </label>
51
62
  <div v-for="(opt, i) in options.map((it) => ({ label: 'label' in it ? it.label : it.text, value: it.value }))" :key="i">
52
63
  <PlCheckboxBase :disabled="disabled" :label="opt.label" :model-value="hasValue(opt.value)" @update:model-value="() => updateModel(opt.value)" />
53
64
  <label @click.stop="() => updateModel(opt.value)">{{ opt.label }}</label>
@@ -1,4 +1,4 @@
1
- .ui-checkbox-group {
1
+ .pl-checkbox-group {
2
2
  --color-label: var(--color-text);
3
3
  --cursor-label: pointer;
4
4
  display: flex;
@@ -9,11 +9,12 @@
9
9
  --cursor-label: default;
10
10
  pointer-events: none;
11
11
  }
12
- label {
12
+ > label {
13
13
  color: var(--color-label);
14
14
  cursor: var(--cursor-label);
15
- }
16
- > label {
15
+ display: flex;
16
+ align-items: center;
17
+ gap: 4px;
17
18
  margin-bottom: 6px;
18
19
  font-size: 14px;
19
20
  font-weight: 600;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-chip-tooltip {
4
4
  display: inline-flex;
@@ -1,4 +1,4 @@
1
- @import '@/assets/mixins';
1
+ @use '@/assets/mixins' as *;
2
2
 
3
3
  .pl-dialog-modal {
4
4
  --padding-top: 24px;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-dropdown__options {
4
4
  --option-hover-bg: var(--btn-sec-hover-grey);
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-dropdown-legacy {
4
4
  $root: &;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-line-dropdown {
4
4
  display: flex;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-dropdown-multi {
4
4
  $root: &;
@@ -1,7 +1,10 @@
1
1
  <script lang="ts" setup>
2
2
  import type { ModelRef, RefOption } from '@/types';
3
3
  import PlDropdownMulti from '../PlDropdownMulti/PlDropdownMulti.vue';
4
- import { computed } from 'vue';
4
+ import { computed, useSlots } from 'vue';
5
+
6
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
+ const slots: any = useSlots();
5
8
 
6
9
  defineEmits<{
7
10
  /**
@@ -70,5 +73,9 @@ const options = computed(() =>
70
73
  v-bind="props"
71
74
  :options="options"
72
75
  @update:model-value="$emit('update:modelValue', $event)"
73
- />
76
+ >
77
+ <template v-if="slots.tooltip" #tooltip>
78
+ <slot name="tooltip" />
79
+ </template>
80
+ </PlDropdownMulti>
74
81
  </template>
@@ -10,7 +10,10 @@ export default {
10
10
  <script lang="ts" setup>
11
11
  import type { ModelRef, RefOption } from '@/types';
12
12
  import { PlDropdown } from '../PlDropdown';
13
- import { computed } from 'vue';
13
+ import { computed, useSlots } from 'vue';
14
+
15
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
16
+ const slots: any = useSlots();
14
17
 
15
18
  defineEmits<{
16
19
  /**
@@ -98,5 +101,9 @@ const arrowIcon = computed(() => (props.disabled ? 'icon-link-disabled' : 'icon-
98
101
  :loading-options-helper="loadingOptionsHelper"
99
102
  :arrow-icon-large="arrowIcon"
100
103
  @update:model-value="$emit('update:modelValue', $event)"
101
- />
104
+ >
105
+ <template v-if="slots.tooltip" #tooltip>
106
+ <slot name="tooltip" />
107
+ </template>
108
+ </PlDropdown>
102
109
  </template>
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins.scss";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .component {
4
4
  position: relative;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .component {
4
4
  .local {
@@ -1,4 +1,4 @@
1
- @import '@/assets/mixins.scss';
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-file-input {
4
4
  $root: &;
@@ -8,7 +8,7 @@ export default {
8
8
  </script>
9
9
 
10
10
  <script lang="ts" setup>
11
- import { computed, ref, watch } from 'vue';
11
+ import { computed, ref, useSlots, watch } from 'vue';
12
12
  import { PlMaskIcon24 } from '../PlMaskIcon24';
13
13
  import './pl-log-view.scss';
14
14
  import { okOptional, tapIf } from '@milaboratories/helpers';
@@ -24,6 +24,8 @@ const getOutputError = <T>(o?: ValueOrErrors<T>) => {
24
24
  }
25
25
  };
26
26
 
27
+ const slots = useSlots();
28
+
27
29
  const props = defineProps<{
28
30
  /**
29
31
  * String contents
@@ -114,7 +116,14 @@ const onContentScroll = (ev: Event) => {
114
116
 
115
117
  <template>
116
118
  <div ref="root" class="pl-log-view" :class="{ 'has-error': computedError }">
117
- <label v-if="label"> {{ label }} </label>
119
+ <label v-if="label">
120
+ <span>{{ label }}</span>
121
+ <PlTooltip v-if="slots.tooltip" class="info" position="top">
122
+ <template #tooltip>
123
+ <slot name="tooltip" />
124
+ </template>
125
+ </PlTooltip>
126
+ </label>
118
127
  <DoubleContour class="pl-log-view__contour" />
119
128
  <div class="pl-log-view__copy">
120
129
  <PlTooltip :close-delay="800" position="top">
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-log-view {
4
4
  --log-background: var(--bg-base-light);
@@ -1,4 +1,4 @@
1
- @import '@/assets/mixins.scss';
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-slide-modal {
4
4
  --padding-top: 24px;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .component {
4
4
  --pl-tabs-height: 40px;
@@ -1,4 +1,4 @@
1
- @import '@/assets/mixins';
1
+ @use '@/assets/mixins' as *;
2
2
 
3
3
  .ui-text-area {
4
4
  $root: &;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-text-field {
4
4
  $root: &;
@@ -1,4 +1,4 @@
1
- @import "@/assets/mixins";
1
+ @use "@/assets/mixins" as *;
2
2
 
3
3
  .pl-block-page {
4
4
  --pl-block-page-body-padding: var(--main-spacing, 24px);
@@ -5,7 +5,7 @@
5
5
  </template>
6
6
 
7
7
  <style lang="scss" module>
8
- @import '@/assets/mixins';
8
+ @use '@/assets/mixins' as *;
9
9
 
10
10
  .component {
11
11
  display: flex;
package/vite.config.ts CHANGED
@@ -58,4 +58,11 @@ export default defineConfig({
58
58
  },
59
59
  },
60
60
  },
61
+ css: {
62
+ preprocessorOptions: {
63
+ scss: {
64
+ api: 'modern-compiler',
65
+ },
66
+ },
67
+ },
61
68
  });