@frame-ui-ng/components 0.5.0-beta.0 → 0.6.0-beta.0

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 (106) hide show
  1. package/accordion/src/styles/_vars.css +2 -5
  2. package/accordion/src/styles/accordion.css +44 -30
  3. package/breadcrumb/src/styles/breadcrumb.css +12 -2
  4. package/button/src/styles/button.css +20 -66
  5. package/button-group/src/styles/button-group.css +0 -38
  6. package/calendar/src/styles/_vars.css +4 -0
  7. package/calendar/src/styles/calendar.css +26 -18
  8. package/carousel/src/styles/carousel.css +103 -89
  9. package/checkbox/src/styles/checkbox.css +14 -5
  10. package/collapsible/src/styles/_vars.css +1 -0
  11. package/collapsible/src/styles/collapsible.css +15 -11
  12. package/combobox/src/styles/combobox.css +11 -2
  13. package/confirm-popover/src/styles/confirm-popover.css +0 -1
  14. package/date-picker/src/styles/date-picker.css +15 -10
  15. package/dropdown-menu/src/styles/dropdown-menu-item.css +6 -2
  16. package/fesm2022/frame-ui-ng-components-accordion.mjs +201 -147
  17. package/fesm2022/frame-ui-ng-components-accordion.mjs.map +1 -1
  18. package/fesm2022/frame-ui-ng-components-alert.mjs +2 -2
  19. package/fesm2022/frame-ui-ng-components-alert.mjs.map +1 -1
  20. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs +10 -2
  21. package/fesm2022/frame-ui-ng-components-breadcrumb.mjs.map +1 -1
  22. package/fesm2022/frame-ui-ng-components-button-group.mjs +2 -2
  23. package/fesm2022/frame-ui-ng-components-button-group.mjs.map +1 -1
  24. package/fesm2022/frame-ui-ng-components-button.mjs +2 -2
  25. package/fesm2022/frame-ui-ng-components-button.mjs.map +1 -1
  26. package/fesm2022/frame-ui-ng-components-calendar.mjs +202 -50
  27. package/fesm2022/frame-ui-ng-components-calendar.mjs.map +1 -1
  28. package/fesm2022/frame-ui-ng-components-card.mjs +2 -2
  29. package/fesm2022/frame-ui-ng-components-card.mjs.map +1 -1
  30. package/fesm2022/frame-ui-ng-components-carousel.mjs +2 -2
  31. package/fesm2022/frame-ui-ng-components-carousel.mjs.map +1 -1
  32. package/fesm2022/frame-ui-ng-components-collapsible.mjs +80 -22
  33. package/fesm2022/frame-ui-ng-components-collapsible.mjs.map +1 -1
  34. package/fesm2022/frame-ui-ng-components-combobox.mjs +61 -6
  35. package/fesm2022/frame-ui-ng-components-combobox.mjs.map +1 -1
  36. package/fesm2022/frame-ui-ng-components-command.mjs +2 -2
  37. package/fesm2022/frame-ui-ng-components-command.mjs.map +1 -1
  38. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs +6 -6
  39. package/fesm2022/frame-ui-ng-components-confirm-popover.mjs.map +1 -1
  40. package/fesm2022/frame-ui-ng-components-date-picker.mjs +75 -37
  41. package/fesm2022/frame-ui-ng-components-date-picker.mjs.map +1 -1
  42. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs +2 -2
  43. package/fesm2022/frame-ui-ng-components-dropdown-menu.mjs.map +1 -1
  44. package/fesm2022/frame-ui-ng-components-empty.mjs +2 -2
  45. package/fesm2022/frame-ui-ng-components-empty.mjs.map +1 -1
  46. package/fesm2022/frame-ui-ng-components-hover-card.mjs +2 -2
  47. package/fesm2022/frame-ui-ng-components-hover-card.mjs.map +1 -1
  48. package/fesm2022/frame-ui-ng-components-input-otp.mjs +2 -2
  49. package/fesm2022/frame-ui-ng-components-input-otp.mjs.map +1 -1
  50. package/fesm2022/frame-ui-ng-components-input.mjs +2 -2
  51. package/fesm2022/frame-ui-ng-components-input.mjs.map +1 -1
  52. package/fesm2022/frame-ui-ng-components-item.mjs +2 -2
  53. package/fesm2022/frame-ui-ng-components-item.mjs.map +1 -1
  54. package/fesm2022/frame-ui-ng-components-menubar.mjs +2 -2
  55. package/fesm2022/frame-ui-ng-components-menubar.mjs.map +1 -1
  56. package/fesm2022/frame-ui-ng-components-modal.mjs +10 -4
  57. package/fesm2022/frame-ui-ng-components-modal.mjs.map +1 -1
  58. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs +4 -4
  59. package/fesm2022/frame-ui-ng-components-navigation-menu.mjs.map +1 -1
  60. package/fesm2022/frame-ui-ng-components-pagination.mjs +20 -4
  61. package/fesm2022/frame-ui-ng-components-pagination.mjs.map +1 -1
  62. package/fesm2022/frame-ui-ng-components-popover.mjs +2 -2
  63. package/fesm2022/frame-ui-ng-components-popover.mjs.map +1 -1
  64. package/fesm2022/frame-ui-ng-components-radio-group.mjs +2 -2
  65. package/fesm2022/frame-ui-ng-components-radio-group.mjs.map +1 -1
  66. package/fesm2022/frame-ui-ng-components-resizable.mjs +2 -2
  67. package/fesm2022/frame-ui-ng-components-resizable.mjs.map +1 -1
  68. package/fesm2022/frame-ui-ng-components-sheet.mjs +90 -65
  69. package/fesm2022/frame-ui-ng-components-sheet.mjs.map +1 -1
  70. package/fesm2022/frame-ui-ng-components-table.mjs +6 -5
  71. package/fesm2022/frame-ui-ng-components-table.mjs.map +1 -1
  72. package/fesm2022/frame-ui-ng-components-tabs.mjs +2 -2
  73. package/fesm2022/frame-ui-ng-components-tabs.mjs.map +1 -1
  74. package/fesm2022/frame-ui-ng-components-toast.mjs +6 -6
  75. package/fesm2022/frame-ui-ng-components-toast.mjs.map +1 -1
  76. package/fesm2022/frame-ui-ng-components-tooltip.mjs +6 -6
  77. package/fesm2022/frame-ui-ng-components-tooltip.mjs.map +1 -1
  78. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs +4 -4
  79. package/fesm2022/frame-ui-ng-components-virtual-scroll.mjs.map +1 -1
  80. package/fesm2022/frame-ui-ng-components.mjs +850 -420
  81. package/fesm2022/frame-ui-ng-components.mjs.map +1 -1
  82. package/input/src/styles/input-group.css +0 -7
  83. package/input/src/styles/input.css +0 -23
  84. package/modal/src/styles/modal.css +5 -19
  85. package/package.json +6 -6
  86. package/pagination/src/styles/pagination.css +6 -2
  87. package/popover/src/styles/popover.css +3 -3
  88. package/select/src/styles/select-item.css +67 -68
  89. package/sheet/src/styles/sheet.css +32 -19
  90. package/src/styles/components.css +2 -2
  91. package/src/styles/corner-handles.css +217 -0
  92. package/styles/components.css +2 -2
  93. package/styles/corner-handles.css +217 -0
  94. package/styles.css +2 -2
  95. package/toggle/src/styles/toggle.css +6 -1
  96. package/tooltip/src/styles/_vars.css +1 -1
  97. package/tooltip/src/styles/tooltip.css +13 -14
  98. package/types/frame-ui-ng-components-accordion.d.ts +69 -61
  99. package/types/frame-ui-ng-components-calendar.d.ts +7 -7
  100. package/types/frame-ui-ng-components-collapsible.d.ts +12 -4
  101. package/types/frame-ui-ng-components-combobox.d.ts +8 -0
  102. package/types/frame-ui-ng-components-date-picker.d.ts +2 -4
  103. package/types/frame-ui-ng-components-sheet.d.ts +6 -2
  104. package/types/frame-ui-ng-components.d.ts +172 -135
  105. package/src/styles/blueprint.css +0 -707
  106. package/styles/blueprint.css +0 -707
@@ -37,15 +37,20 @@
37
37
  border-color 150ms ease,
38
38
  box-shadow 150ms ease,
39
39
  color 150ms ease,
40
- opacity 150ms ease;
40
+ opacity 150ms ease,
41
+ transform 150ms ease;
41
42
  }
42
43
 
43
44
  [frCheckbox]::before {
44
45
  content: '';
45
46
  inline-size: var(--frame-checkbox-indicator-size, 0.625rem);
46
47
  block-size: var(--frame-checkbox-indicator-size, 0.625rem);
47
- transform: scale(0);
48
- transition: transform 120ms ease;
48
+ opacity: 0;
49
+ transform: scale(0.65) rotate(-8deg);
50
+ transform-origin: center;
51
+ transition:
52
+ opacity 120ms ease,
53
+ transform 120ms ease;
49
54
  clip-path: polygon(14% 44%, 0 59%, 43% 100%, 100% 18%, 84% 4%, 43% 62%);
50
55
  box-shadow: inset 1rem 1rem currentColor;
51
56
  }
@@ -53,6 +58,8 @@
53
58
  [frCheckbox]:where(:not(:disabled)):hover {
54
59
  background: var(--frame-checkbox-root-hover-bg, var(--frame-checkbox-root-bg, var(--frame-surface)));
55
60
  border-color: var(--frame-checkbox-root-hover-border, var(--frame-checkbox-root-border, var(--frame-border)));
61
+ transform: translate(-1px, -1px);
62
+ box-shadow: 2px 2px 0 color-mix(in srgb, var(--frame-frame-line-muted, var(--frame-border)) 82%, transparent);
56
63
  }
57
64
 
58
65
  [frCheckbox]:focus-visible {
@@ -72,13 +79,15 @@
72
79
  }
73
80
 
74
81
  [frCheckbox]:checked::before {
75
- transform: scale(1);
82
+ opacity: 1;
83
+ transform: scale(1) rotate(0deg);
76
84
  }
77
85
 
78
86
  [frCheckbox]:indeterminate::before {
79
87
  inline-size: var(--frame-checkbox-indeterminate-width, 0.5rem);
80
88
  block-size: var(--frame-checkbox-indeterminate-height, 0.125rem);
81
- transform: scale(1);
89
+ opacity: 1;
90
+ transform: scale(1) rotate(0deg);
82
91
  border-radius: var(--frame-radius-full);
83
92
  clip-path: none;
84
93
  box-shadow: none;
@@ -1,6 +1,7 @@
1
1
  :where(:root) {
2
2
  --frame-collapsible-trigger-gap: var(--frame-density-gap-md);
3
3
  --frame-collapsible-trigger-color: var(--frame-foreground);
4
+ --frame-collapsible-trigger-open-color: var(--frame-foreground);
4
5
  --frame-collapsible-trigger-disabled-opacity: 0.55;
5
6
  --frame-collapsible-content-color: var(--frame-muted-foreground);
6
7
  --frame-collapsible-content-font-size: 0.875rem;
@@ -11,16 +11,16 @@ frame-collapsible {
11
11
  color: var(--frame-collapsible-trigger-color, var(--frame-foreground));
12
12
  transition:
13
13
  color 160ms ease,
14
- transform 160ms ease,
15
14
  box-shadow 160ms ease;
16
15
  }
17
16
 
18
- [frCollapsibleTrigger]:where(:not(:disabled, [data-disabled])):hover,
19
- [frCollapsibleTrigger]:focus-visible,
20
17
  [frCollapsibleTrigger][data-state='open'] {
21
- outline: none;
22
- transform: translateX(0.25rem);
23
- box-shadow: none;
18
+ color: var(--frame-collapsible-trigger-open-color, var(--frame-collapsible-trigger-color, var(--frame-foreground)));
19
+ }
20
+
21
+ [frCollapsibleTrigger]:focus-visible {
22
+ outline: 1px solid var(--frame-ring);
23
+ outline-offset: 2px;
24
24
  }
25
25
 
26
26
  [frCollapsibleTrigger]:where(:disabled, [data-disabled]) {
@@ -29,27 +29,31 @@ frame-collapsible {
29
29
  }
30
30
 
31
31
  [frCollapsibleContent] {
32
+ box-sizing: border-box;
32
33
  color: var(--frame-collapsible-content-color, var(--frame-muted-foreground));
34
+ display: flow-root;
33
35
  font-size: var(--frame-collapsible-content-font-size, 0.875rem);
34
36
  line-height: var(--frame-collapsible-content-line-height, 1.6);
35
- overflow: clip;
37
+ overflow: hidden;
36
38
  padding-block-start: 0;
37
39
  transition:
38
40
  height var(--frame-collapsible-content-transition-duration, 220ms)
39
41
  var(--frame-collapsible-content-transition-timing, ease),
40
42
  opacity var(--frame-collapsible-content-transition-duration, 220ms)
41
- var(--frame-collapsible-content-transition-timing, ease),
42
- padding-block-start var(--frame-collapsible-content-transition-duration, 220ms)
43
43
  var(--frame-collapsible-content-transition-timing, ease);
44
44
  will-change: height, opacity;
45
45
  }
46
46
 
47
+ [frCollapsibleContent]::after {
48
+ content: '';
49
+ display: block;
50
+ height: var(--frame-collapsible-content-padding-block-start, 0.75rem);
51
+ }
52
+
47
53
  [frCollapsibleContent][data-state='closed'] {
48
54
  opacity: var(--frame-collapsible-content-opacity-closed, 0);
49
- padding-block-start: 0;
50
55
  }
51
56
 
52
57
  [frCollapsibleContent][data-state='open'] {
53
58
  opacity: var(--frame-collapsible-content-opacity-open, 1);
54
- padding-block-start: var(--frame-collapsible-content-padding-block-start, 0.75rem);
55
59
  }
@@ -163,7 +163,6 @@ frame-combobox[data-disabled] .frame-combobox__chips {
163
163
  .frame-combobox__item:hover {
164
164
  background: var(--frame-accent);
165
165
  color: var(--frame-accent-foreground);
166
- transform: translateX(0.25rem);
167
166
  }
168
167
 
169
168
  .frame-combobox__item[disabled] {
@@ -172,9 +171,14 @@ frame-combobox[data-disabled] .frame-combobox__chips {
172
171
  }
173
172
 
174
173
  .frame-combobox__item:not(:has([frComboboxItemIndicator], .frame-combobox__item-indicator))::before {
175
- content: '';
174
+ content: '';
176
175
  position: absolute;
177
176
  inset-inline-start: var(--frame-combobox-item-indicator-offset);
177
+ inline-size: 1rem;
178
+ block-size: 1rem;
179
+ background: currentColor;
180
+ mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%206%209%2017l-5-5%27/%3E%3C/svg%3E") center / contain no-repeat;
181
+ -webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272.5%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M20%206%209%2017l-5-5%27/%3E%3C/svg%3E") center / contain no-repeat;
178
182
  opacity: 0;
179
183
  }
180
184
 
@@ -264,6 +268,11 @@ frame-combobox[data-disabled] .frame-combobox__chips {
264
268
  background: var(--frame-combobox-chip-remove-hover-bg);
265
269
  }
266
270
 
271
+ .frame-combobox__chip-remove-icon {
272
+ inline-size: 1em;
273
+ block-size: 1em;
274
+ }
275
+
267
276
  .frame-combobox__chips-input {
268
277
  flex: 1 1 var(--frame-combobox-chips-input-min-width);
269
278
  min-inline-size: var(--frame-combobox-chips-input-min-width);
@@ -3,7 +3,6 @@
3
3
  }
4
4
 
5
5
  .frame-confirm-popover__content {
6
- --frame-blueprint-radius: var(--frame-popover-content-radius);
7
6
  gap: var(--frame-confirm-popover-gap, var(--frame-popover-content-gap));
8
7
  }
9
8
 
@@ -60,10 +60,17 @@
60
60
  .frame-date-picker__icon {
61
61
  display: inline-flex;
62
62
  flex: 0 0 auto;
63
+ align-items: center;
64
+ justify-content: center;
63
65
  color: var(--frame-date-picker-trigger-placeholder-color);
64
66
  line-height: 1;
65
67
  }
66
68
 
69
+ .frame-date-picker__icon svg {
70
+ inline-size: 1rem;
71
+ block-size: 1rem;
72
+ }
73
+
67
74
  .frame-date-picker__trigger-label {
68
75
  min-width: 0;
69
76
  flex: 1 1 auto;
@@ -147,19 +154,16 @@
147
154
  inline-size: calc(var(--frame-calendar-cell-size) * 7);
148
155
  }
149
156
 
150
- .frame-date-picker__content .frame-calendar__day {
151
- inline-size: var(--frame-calendar-cell-size);
152
- block-size: var(--frame-calendar-cell-size);
153
- }
154
-
155
157
  .frame-date-picker__presets {
156
- display: grid;
157
- gap: 0.125rem;
158
- border-block-end: 1px solid var(--frame-date-picker-presets-border);
158
+ display: flex;
159
+ gap: 0.25rem;
160
+ border-block-start: 1px solid var(--frame-date-picker-presets-border);
161
+ overflow-x: auto;
159
162
  padding: 0.25rem;
160
163
  }
161
164
 
162
165
  .frame-date-picker__preset {
166
+ flex: 1 0 max-content;
163
167
  min-block-size: var(--frame-date-picker-preset-height);
164
168
  border: 1px solid transparent;
165
169
  border-radius: var(--frame-date-picker-preset-radius);
@@ -168,7 +172,8 @@
168
172
  cursor: pointer;
169
173
  font: inherit;
170
174
  padding-inline: 0.5rem;
171
- text-align: start;
175
+ text-align: center;
176
+ white-space: nowrap;
172
177
  transition:
173
178
  background-color 140ms ease,
174
179
  border-color 140ms ease,
@@ -181,7 +186,7 @@
181
186
  background: var(--frame-date-picker-preset-hover-bg);
182
187
  border-color: var(--frame-frame-line-muted, var(--frame-border));
183
188
  outline: none;
184
- transform: translateX(0.25rem);
189
+ transform: translateY(-1px);
185
190
  box-shadow: none;
186
191
  }
187
192
 
@@ -80,8 +80,12 @@
80
80
  }
81
81
 
82
82
  .frame-dropdown-menu__sub-trigger::after {
83
- content: '';
83
+ content: '';
84
+ inline-size: 1rem;
85
+ block-size: 1rem;
84
86
  margin-left: auto;
85
87
  padding-left: var(--frame-dropdown-menu-shortcut-gap);
86
- color: var(--frame-dropdown-menu-shortcut-color);
88
+ background: var(--frame-dropdown-menu-shortcut-color);
89
+ mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%2018%206-6-6-6%27/%3E%3C/svg%3E") center / 1rem 1rem no-repeat;
90
+ -webkit-mask: url("data:image/svg+xml,%3Csvg%20viewBox%3D%270%200%2024%2024%27%20xmlns%3D%27http%3A//www.w3.org/2000/svg%27%20fill%3D%27none%27%20stroke%3D%27black%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m9%2018%206-6-6-6%27/%3E%3C/svg%3E") center / 1rem 1rem no-repeat;
87
91
  }