@flux-ui/components 3.0.0-next.11 → 3.0.0-next.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@flux-ui/components",
3
3
  "description": "A set of opiniated UI components.",
4
- "version": "3.0.0-next.11",
4
+ "version": "3.0.0-next.13",
5
5
  "type": "module",
6
6
  "license": "MIT",
7
7
  "funding": "https://github.com/sponsors/basmilius",
@@ -51,26 +51,26 @@
51
51
  "typings": "./dist/index.d.ts",
52
52
  "sideEffects": false,
53
53
  "dependencies": {
54
- "@basmilius/utils": "^2.4.1",
55
- "@flux-ui/internals": "3.0.0-next.11",
56
- "@flux-ui/types": "3.0.0-next.11",
57
- "@fortawesome/fontawesome-common-types": "^6.7.2",
54
+ "@basmilius/utils": "^2.5.2",
55
+ "@flux-ui/internals": "3.0.0-next.13",
56
+ "@flux-ui/types": "3.0.0-next.13",
57
+ "@fortawesome/fontawesome-common-types": "^7.0.0",
58
58
  "clsx": "^2.1.1",
59
59
  "imask": "^7.6.1",
60
60
  "lodash-es": "^4.17.21",
61
- "luxon": "^3.6.1",
62
- "vue": "^3.5.17"
61
+ "luxon": "^3.7.1",
62
+ "vue": "^3.5.18"
63
63
  },
64
64
  "devDependencies": {
65
- "@basmilius/vite-preset": "^2.4.1",
65
+ "@basmilius/vite-preset": "^2.5.2",
66
66
  "@types/lodash-es": "^4.17.12",
67
67
  "@types/luxon": "^3.6.2",
68
- "@types/node": "^24.0.7",
68
+ "@types/node": "^24.1.0",
69
69
  "@vitejs/plugin-vue": "^6.0.0",
70
70
  "pinia": "^3.0.3",
71
71
  "sass-embedded": "^1.89.2",
72
72
  "typescript": "^5.8.3",
73
- "vite": "^7.0.0",
74
- "vue-tsc": "^2.2.10"
73
+ "vite": "^7.0.5",
74
+ "vue-tsc": "^3.0.3"
75
75
  }
76
76
  }
@@ -131,7 +131,7 @@
131
131
  import { useCalendar, useCalendarMonthSwitcher, useCalendarYearSwitcher } from '@flux-ui/internals';
132
132
  import { clsx } from 'clsx';
133
133
  import { DateTime } from 'luxon';
134
- import { computed, ref, unref, useId } from 'vue';
134
+ import { computed, ref, unref, useId, watch } from 'vue';
135
135
  import { useTranslate } from '$flux/composable/private';
136
136
  import { FluxFadeTransition, FluxVerticalWindowTransition, FluxWindowTransition } from '$flux/transition';
137
137
  import FluxSecondaryButton from './FluxSecondaryButton.vue';
@@ -198,6 +198,10 @@
198
198
  }
199
199
  });
200
200
 
201
+ watch(modelValue, () => {
202
+ setViewDate(getInitialDate());
203
+ });
204
+
201
205
  function getInitialDate(): DateTime {
202
206
  const value = unref(modelValue);
203
207
  let date: DateTime;
@@ -1,8 +1,8 @@
1
1
  <script lang="ts">
2
2
  import { unrefTemplateElement } from '@flux-ui/internals';
3
3
  import { clsx } from 'clsx';
4
- import { computed, defineComponent, h, ref, unref, watch } from 'vue';
5
- import { useFluxStore } from '$flux/data';
4
+ import { computed, defineComponent, h, provide, ref, unref, watch } from 'vue';
5
+ import { FluxTooltipInjectionKey, useFluxStore } from '$flux/data';
6
6
  import { FluxTooltipTransition } from '$flux/transition';
7
7
  import $style from '$flux/css/component/Tooltip.module.scss';
8
8
 
@@ -60,7 +60,11 @@
60
60
  }
61
61
  }
62
62
 
63
- watch(content, () => requestAnimationFrame(() => calculate()));
63
+ provide(FluxTooltipInjectionKey, {
64
+ calculate
65
+ });
66
+
67
+ watch(content, () => requestAnimationFrame(calculate));
64
68
 
65
69
  return () => h(FluxTooltipTransition, {}, {
66
70
  default: () => {
@@ -7,3 +7,4 @@ export { default as useFilterInjection } from './useFilterInjection';
7
7
  export { default as useFlyoutInjection } from './useFlyoutInjection';
8
8
  export { default as useFormFieldInjection } from './useFormFieldInjection';
9
9
  export { default as useTableInjection } from './useTableInjection';
10
+ export { default as useTooltipInjection } from './useTooltipInjection';
@@ -0,0 +1,8 @@
1
+ import { inject } from 'vue';
2
+ import { FluxTooltipInjectionKey } from '$flux/data';
3
+
4
+ export default function () {
5
+ return inject(FluxTooltipInjectionKey, {
6
+ calculate: () => void 0
7
+ });
8
+ }
@@ -59,11 +59,11 @@
59
59
  .dividerLine {
60
60
  height: 1px;
61
61
  content: '';
62
- background: var(--gray-1);
62
+ background: var(--gray-2);
63
63
  }
64
64
 
65
65
  .separator {
66
- background: var(--gray-1);
66
+ background: var(--gray-2);
67
67
  }
68
68
 
69
69
  .separatorHorizontal {
@@ -6,8 +6,6 @@
6
6
  --dz-height: calc(100% + 2px);
7
7
  --dz-width: calc(100% + 2px);
8
8
 
9
- position: relative;
10
-
11
9
  &:has(.dropZoneContent > .avatar) {
12
10
  --dz-inset: -3px;
13
11
  --dz-radius: 999px;
@@ -22,6 +20,7 @@
22
20
  }
23
21
 
24
22
  .dropZone {
23
+ position: relative;
25
24
  display: grid;
26
25
  align-items: center;
27
26
  gap: 15px 30px;
@@ -59,6 +58,8 @@
59
58
  }
60
59
 
61
60
  .dropZoneContent {
61
+ position: relative;
62
+
62
63
  > :local(.avatar) {
63
64
  display: block;
64
65
  }
@@ -4,6 +4,7 @@
4
4
  flex-shrink: 0;
5
5
  font-size: 20px;
6
6
  line-height: 1;
7
+ overflow: visible;
7
8
  }
8
9
 
9
10
  .fontAwesomeIcon {
@@ -50,11 +50,11 @@
50
50
  text-align: left;
51
51
 
52
52
  @include mixin.hover {
53
- background: var(--gray-1);
53
+ background: var(--gray-2);
54
54
  }
55
55
 
56
56
  &:active {
57
- background: var(--gray-2);
57
+ background: var(--gray-3);
58
58
  }
59
59
  }
60
60
 
@@ -75,8 +75,8 @@
75
75
  display: flex;
76
76
  padding: 21px;
77
77
  gap: 9px;
78
- background: var(--gray-0);
79
- border-top: 1px solid var(--gray-1);
78
+ background: var(--gray-1);
79
+ border-top: 1px solid var(--gray-2);
80
80
  }
81
81
 
82
82
  .paneLoader {
@@ -1,5 +1,5 @@
1
1
  .spinner {
2
- --track: var(--gray-2);
2
+ --track: var(--gray-1);
3
3
  --value: var(--primary-7);
4
4
 
5
5
  display: inline-block;
@@ -8,7 +8,7 @@
8
8
  --tab-padding: 12px;
9
9
 
10
10
  position: relative;
11
- box-shadow: inset 0 -2px var(--gray-1);
11
+ box-shadow: inset 0 -2px var(--gray-2);
12
12
  z-index: 0;
13
13
  }
14
14
 
@@ -41,7 +41,7 @@
41
41
  .tableCell {
42
42
  height: 0;
43
43
  padding: 0;
44
- border: 0 solid var(--gray-1);
44
+ border: 0 solid var(--gray-2);
45
45
 
46
46
  @-moz-document url-prefix() {
47
47
  height: 100%;
@@ -58,7 +58,7 @@
58
58
  .tableHeader {
59
59
  composes: tableCell;
60
60
 
61
- border-bottom: 2px solid var(--gray-1);
61
+ border-bottom: 2px solid var(--gray-2);
62
62
  color: var(--foreground-prominent);
63
63
 
64
64
  &.isShrinking {
@@ -81,13 +81,13 @@
81
81
  }
82
82
 
83
83
  tbody .tableRow:nth-child(even) .tableCell.isStriped {
84
- background: oklch(from var(--gray-1) l c h / .25);
84
+ background: oklch(from var(--gray-1) l c h / .5);
85
85
  }
86
86
 
87
87
  @media (hover: hover) {
88
88
  tbody .tableRow:hover .tableCell.isHoverable,
89
89
  tbody .tableRow:has(:focus-visible) .tableCell.isHoverable {
90
- background: oklch(from var(--gray-1) l c h / .5);
90
+ background: var(--gray-1);
91
91
  }
92
92
  }
93
93
 
@@ -10,6 +10,7 @@
10
10
  backdrop-filter: blur(6px) saturate(180%);
11
11
  border-radius: var(--radius);
12
12
  color: var(--gray-0);
13
+ font-size: 14px;
13
14
  font-variant-numeric: tabular-nums;
14
15
  pointer-events: none;
15
16
  translate: calc(var(--x) * 1px) calc(var(--y) * 1px);
@@ -9,10 +9,10 @@
9
9
 
10
10
  @mixin color-light {
11
11
  --gray-0: oklch(100% 0 270);
12
- --gray-1: oklch(96% 0.012 270);
13
- --gray-2: oklch(92% 0.015 270);
14
- --gray-3: oklch(88% 0.017 270);
15
- --gray-4: oklch(80% 0.02 270);
12
+ --gray-1: oklch(98% 0.005 270);
13
+ --gray-2: oklch(95% 0.008 270);
14
+ --gray-3: oklch(91% 0.012 270);
15
+ --gray-4: oklch(84% 0.015 270);
16
16
  --gray-5: oklch(72% 0.03 270);
17
17
  --gray-6: oklch(64% 0.035 270);
18
18
  --gray-7: oklch(52% 0.04 270);
@@ -88,83 +88,83 @@
88
88
  }
89
89
 
90
90
  @mixin color-dark {
91
- --gray-0: oklch(16% 0.01 240);
92
- --gray-1: oklch(19% 0.012 240);
93
- --gray-2: oklch(23% 0.015 240);
94
- --gray-3: oklch(27% 0.017 240);
95
- --gray-4: oklch(35% 0.02 240);
96
- --gray-5: oklch(43% 0.03 240);
97
- --gray-6: oklch(51% 0.035 240);
98
- --gray-7: oklch(63% 0.04 240);
99
- --gray-8: oklch(75% 0.04 240);
100
- --gray-9: oklch(83% 0.028 240);
101
- --gray-10: oklch(91% 0.028 240);
102
- --gray-11: oklch(99% 0.028 240);
103
-
104
- --primary-0: oklch(16% 0 264);
105
- --primary-1: oklch(19% 0.02 264);
106
- --primary-2: oklch(23% 0.04 264);
107
- --primary-3: oklch(27% 0.06 264);
108
- --primary-4: oklch(35% 0.10 264);
109
- --primary-5: oklch(43% 0.14 264);
110
- --primary-6: oklch(51% 0.18 264);
111
- --primary-7: oklch(63% 0.22 264);
112
- --primary-8: oklch(75% 0.20 264);
113
- --primary-9: oklch(83% 0.18 264);
114
- --primary-10: oklch(91% 0.14 264);
115
- --primary-11: oklch(99% 0.10 264);
91
+ --gray-0: oklch(16% 0.01 270);
92
+ --gray-1: oklch(19% 0.012 270);
93
+ --gray-2: oklch(23% 0.015 270);
94
+ --gray-3: oklch(27% 0.017 270);
95
+ --gray-4: oklch(35% 0.02 270);
96
+ --gray-5: oklch(43% 0.03 270);
97
+ --gray-6: oklch(51% 0.035 270);
98
+ --gray-7: oklch(63% 0.04 270);
99
+ --gray-8: oklch(75% 0.04 270);
100
+ --gray-9: oklch(83% 0.028 270);
101
+ --gray-10: oklch(91% 0.028 270);
102
+ --gray-11: oklch(99% 0.028 270);
103
+
104
+ --primary-0: oklch(26.8% 0.012 264);
105
+ --primary-1: oklch(29.3% 0.025 264);
106
+ --primary-2: oklch(32.4% 0.038 264);
107
+ --primary-3: oklch(36.4% 0.052 264);
108
+ --primary-4: oklch(40.6% 0.068 264);
109
+ --primary-5: oklch(45.3% 0.085 264);
110
+ --primary-6: oklch(49.8% 0.102 264);
111
+ --primary-7: oklch(54.9% 0.118 264);
112
+ --primary-8: oklch(60.9% 0.134 264);
113
+ --primary-9: oklch(68.5% 0.148 264);
114
+ --primary-10: oklch(73.9% 0.158 264);
115
+ --primary-11: oklch(79.5% 0.165 264);
116
116
 
117
117
  --danger-0: oklch(26.1% 0.007 346);
118
- --danger-1: oklch(26.4% 0.034 4);
119
- --danger-2: oklch(28.5% 0.049 2);
120
- --danger-3: oklch(31.5% 0.065 3);
121
- --danger-4: oklch(34.8% 0.079 4);
122
- --danger-5: oklch(38.4% 0.092 4);
123
- --danger-6: oklch(42% 0.106 3);
124
- --danger-7: oklch(45.8% 0.12 2);
125
- --danger-8: oklch(49.9% 0.137 0);
126
- --danger-9: oklch(51.9% 0.146 354);
127
- --danger-10: oklch(55.1% 0.167 352);
128
- --danger-11: oklch(58.8% 0.187 350);
118
+ --danger-1: oklch(29.3% 0.025 4);
119
+ --danger-2: oklch(32.4% 0.038 8);
120
+ --danger-3: oklch(36.4% 0.052 12);
121
+ --danger-4: oklch(40.6% 0.068 15);
122
+ --danger-5: oklch(45.3% 0.085 17);
123
+ --danger-6: oklch(49.8% 0.102 18);
124
+ --danger-7: oklch(54.9% 0.118 19);
125
+ --danger-8: oklch(60.9% 0.134 18);
126
+ --danger-9: oklch(68.5% 0.148 16);
127
+ --danger-10: oklch(73.9% 0.158 14);
128
+ --danger-11: oklch(79.5% 0.165 12);
129
129
 
130
130
  --info-0: oklch(26.8% 0.012 264);
131
- --info-1: oklch(27.3% 0.023 251);
132
- --info-2: oklch(30.9% 0.034 254);
133
- --info-3: oklch(35.3% 0.044 252);
134
- --info-4: oklch(40% 0.058 250);
135
- --info-5: oklch(44.4% 0.073 252);
136
- --info-6: oklch(49% 0.084 252);
137
- --info-7: oklch(53.4% 0.096 254);
138
- --info-8: oklch(57.6% 0.107 255);
139
- --info-9: oklch(62.1% 0.116 256);
140
- --info-10: oklch(66.3% 0.125 258);
141
- --info-11: oklch(71% 0.132 257);
131
+ --info-1: oklch(29.3% 0.025 260);
132
+ --info-2: oklch(32.4% 0.038 258);
133
+ --info-3: oklch(36.4% 0.052 256);
134
+ --info-4: oklch(40.6% 0.068 254);
135
+ --info-5: oklch(45.3% 0.085 253);
136
+ --info-6: oklch(49.8% 0.102 252);
137
+ --info-7: oklch(54.9% 0.118 252);
138
+ --info-8: oklch(60.9% 0.134 253);
139
+ --info-9: oklch(68.5% 0.148 254);
140
+ --info-10: oklch(73.9% 0.158 254);
141
+ --info-11: oklch(79.5% 0.165 254);
142
142
 
143
143
  --success-0: oklch(25.8% 0.017 156);
144
- --success-1: oklch(28.4% 0.02 157);
145
- --success-2: oklch(31% 0.024 160);
146
- --success-3: oklch(36.2% 0.04 156);
147
- --success-4: oklch(41.3% 0.054 154);
148
- --success-5: oklch(46.6% 0.069 153);
149
- --success-6: oklch(51.8% 0.082 152);
150
- --success-7: oklch(57.1% 0.091 152);
151
- --success-8: oklch(62.6% 0.101 150);
152
- --success-9: oklch(68.7% 0.104 147);
153
- --success-10: oklch(73.9% 0.092 145);
154
- --success-11: oklch(78.9% 0.079 145);
144
+ --success-1: oklch(29.3% 0.025 155);
145
+ --success-2: oklch(32.4% 0.038 155);
146
+ --success-3: oklch(36.4% 0.052 155);
147
+ --success-4: oklch(40.6% 0.068 154);
148
+ --success-5: oklch(45.3% 0.085 153);
149
+ --success-6: oklch(49.8% 0.102 152);
150
+ --success-7: oklch(54.9% 0.118 151);
151
+ --success-8: oklch(60.9% 0.134 150);
152
+ --success-9: oklch(68.5% 0.148 149);
153
+ --success-10: oklch(73.9% 0.158 148);
154
+ --success-11: oklch(79.5% 0.165 147);
155
155
 
156
156
  --warning-0: oklch(27% 0.022 88);
157
- --warning-1: oklch(29.3% 0.029 84);
158
- --warning-2: oklch(32.4% 0.036 82);
159
- --warning-3: oklch(36.4% 0.046 83);
160
- --warning-4: oklch(40.6% 0.054 90);
161
- --warning-5: oklch(45.3% 0.064 92);
162
- --warning-6: oklch(49.8% 0.072 87);
163
- --warning-7: oklch(54.9% 0.083 81);
164
- --warning-8: oklch(60.9% 0.096 77);
165
- --warning-9: oklch(68.5% 0.112 77);
166
- --warning-10: oklch(73.9% 0.122 77);
167
- --warning-11: oklch(79.5% 0.132 78);
157
+ --warning-1: oklch(29.3% 0.029 87);
158
+ --warning-2: oklch(32.4% 0.036 86);
159
+ --warning-3: oklch(36.4% 0.046 85);
160
+ --warning-4: oklch(40.6% 0.054 84);
161
+ --warning-5: oklch(45.3% 0.064 82);
162
+ --warning-6: oklch(49.8% 0.072 80);
163
+ --warning-7: oklch(54.9% 0.083 78);
164
+ --warning-8: oklch(60.9% 0.096 76);
165
+ --warning-9: oklch(68.5% 0.112 75);
166
+ --warning-10: oklch(73.9% 0.122 74);
167
+ --warning-11: oklch(79.5% 0.132 73);
168
168
  }
169
169
 
170
170
  @mixin defaults {
package/src/data/di.ts CHANGED
@@ -7,6 +7,7 @@ export const FluxFlyoutInjectionKey: InjectionKey<FluxFlyoutInjection> = Symbol(
7
7
  export const FluxFilterInjectionKey: InjectionKey<FluxFilterInjection> = Symbol();
8
8
  export const FluxFormFieldInjectionKey: InjectionKey<FluxFormFieldInjection> = Symbol();
9
9
  export const FluxTableInjectionKey: InjectionKey<FluxTableInjection> = Symbol();
10
+ export const FluxTooltipInjectionKey: InjectionKey<FluxTooltipInjection> = Symbol();
10
11
 
11
12
  export type FluxExpandableGroupInjection = {
12
13
  closeAll(): void;
@@ -40,3 +41,7 @@ export type FluxTableInjection = {
40
41
  readonly isSeparated: boolean;
41
42
  readonly isStriped: boolean;
42
43
  };
44
+
45
+ export type FluxTooltipInjection = {
46
+ calculate(): void;
47
+ };
package/src/index.ts CHANGED
@@ -20,6 +20,7 @@ export type {
20
20
  FluxFilterInjection,
21
21
  FluxFlyoutInjection,
22
22
  FluxFormFieldInjection,
23
+ FluxTooltipInjection,
23
24
  FluxState,
24
25
  FluxStore
25
26
  } from './data';