@mezzanine-ui/core 1.0.0-beta.2 → 1.0.0-beta.4

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 (98) hide show
  1. package/_styles.scss +5 -2
  2. package/anchor/_anchor-styles.scss +58 -18
  3. package/anchor/anchor.d.ts +6 -3
  4. package/anchor/anchor.js +6 -3
  5. package/autocomplete/_autocomplete-styles.scss +22 -0
  6. package/autocomplete/_autocomplete.scss +2 -0
  7. package/autocomplete/_index.scss +2 -0
  8. package/autocomplete/autocomplete.d.ts +11 -0
  9. package/autocomplete/autocomplete.js +8 -0
  10. package/autocomplete/index.d.ts +1 -0
  11. package/autocomplete/index.js +1 -0
  12. package/breadcrumb/_breadcrumb-styles.scss +97 -20
  13. package/breadcrumb/breadcrumb.d.ts +11 -1
  14. package/breadcrumb/breadcrumb.js +12 -2
  15. package/breadcrumb/index.js +1 -1
  16. package/button/_button-styles.scss +7 -1
  17. package/button/button.d.ts +1 -6
  18. package/checkbox/_checkbox-styles.scss +1 -1
  19. package/content-header/_content-header-styles.scss +56 -0
  20. package/content-header/_content-header.scss +1 -0
  21. package/content-header/_index.scss +1 -0
  22. package/content-header/contentHeader.d.ts +12 -0
  23. package/content-header/contentHeader.js +12 -0
  24. package/content-header/index.d.ts +1 -0
  25. package/content-header/index.js +1 -0
  26. package/dropdown/_dropdown-styles.scss +38 -10
  27. package/dropdown/dropdown.d.ts +3 -1
  28. package/dropdown/dropdown.js +2 -0
  29. package/empty/_empty-styles.scss +9 -4
  30. package/filter-area/_filter-area-styles.scss +154 -0
  31. package/filter-area/_filter-area.scss +2 -0
  32. package/filter-area/_index.scss +2 -0
  33. package/filter-area/filter-area.d.ts +17 -0
  34. package/filter-area/filter-area.js +15 -0
  35. package/filter-area/index.d.ts +1 -0
  36. package/filter-area/index.js +1 -0
  37. package/form/_form-field-styles.scss +39 -28
  38. package/input/_input-styles.scss +6 -4
  39. package/modal/_modal-styles.scss +380 -150
  40. package/modal/index.js +1 -1
  41. package/modal/modal.d.ts +39 -12
  42. package/modal/modal.js +43 -16
  43. package/navigation/_navigation-styles.scss +192 -32
  44. package/navigation/_navigation.scss +4 -1
  45. package/navigation/index.d.ts +0 -6
  46. package/navigation/index.js +1 -7
  47. package/navigation/navigation.d.ts +66 -2
  48. package/navigation/navigation.js +67 -1
  49. package/notification-center/_index.scss +1 -0
  50. package/notification-center/_notification-center-styles.scss +316 -0
  51. package/{notification/_notification.scss → notification-center/_notification-center.scss} +1 -2
  52. package/notification-center/index.d.ts +1 -0
  53. package/{notification → notification-center}/index.js +1 -1
  54. package/notification-center/notificationCenter.d.ts +44 -0
  55. package/notification-center/notificationCenter.js +45 -0
  56. package/package.json +3 -3
  57. package/page-header/_page-header-styles.scss +0 -21
  58. package/page-header/pageHeader.d.ts +0 -4
  59. package/page-header/pageHeader.js +0 -4
  60. package/scrollbar/_index.scss +1 -0
  61. package/scrollbar/_scrollbar-styles.scss +45 -0
  62. package/scrollbar/_scrollbar.scss +1 -0
  63. package/scrollbar/index.d.ts +1 -0
  64. package/scrollbar/index.js +1 -0
  65. package/scrollbar/scrollbar.d.ts +4 -0
  66. package/scrollbar/scrollbar.js +6 -0
  67. package/select/_select-styles.scss +1 -0
  68. package/selection/_selection-styles.scss +97 -11
  69. package/selection/selection.d.ts +1 -0
  70. package/selection/selection.js +1 -0
  71. package/table/_table-styles.scss +54 -35
  72. package/table/index.js +1 -1
  73. package/table/table.d.ts +97 -11
  74. package/table/table.js +15 -8
  75. package/navigation/navigationFooter.d.ts +0 -6
  76. package/navigation/navigationFooter.js +0 -10
  77. package/navigation/navigationHeader.d.ts +0 -7
  78. package/navigation/navigationHeader.js +0 -11
  79. package/navigation/navigationIconButton.d.ts +0 -4
  80. package/navigation/navigationIconButton.js +0 -8
  81. package/navigation/navigationOption.d.ts +0 -16
  82. package/navigation/navigationOption.js +0 -20
  83. package/navigation/navigationOptionCategory.d.ts +0 -5
  84. package/navigation/navigationOptionCategory.js +0 -9
  85. package/navigation/navigationUserMenu.d.ts +0 -8
  86. package/navigation/navigationUserMenu.js +0 -12
  87. package/notification/_index.scss +0 -1
  88. package/notification/_notification-styles.scss +0 -93
  89. package/notification/index.d.ts +0 -1
  90. package/notification/notification.d.ts +0 -25
  91. package/notification/notification.js +0 -27
  92. package/page-toolbar/_index.scss +0 -1
  93. package/page-toolbar/_page-toolbar-styles.scss +0 -16
  94. package/page-toolbar/_page-toolbar.scss +0 -1
  95. package/page-toolbar/index.d.ts +0 -1
  96. package/page-toolbar/index.js +0 -1
  97. package/page-toolbar/pageToolbar.d.ts +0 -7
  98. package/page-toolbar/pageToolbar.js +0 -7
package/_styles.scss CHANGED
@@ -22,6 +22,7 @@
22
22
  @include _load-styles($options, button);
23
23
 
24
24
  // Internal
25
+ @include _load-styles($options, scrollbar);
25
26
  @include _load-styles($options, clear-actions);
26
27
  @include _load-styles($options, overflow-tooltip);
27
28
 
@@ -51,7 +52,7 @@
51
52
  @include _load-styles($options, app-bar);
52
53
  @include _load-styles($options, page-footer);
53
54
  @include _load-styles($options, page-header);
54
- @include _load-styles($options, page-toolbar);
55
+ @include _load-styles($options, content-header);
55
56
  @include _load-styles($options, stepper);
56
57
 
57
58
  // Data Display
@@ -70,6 +71,7 @@
70
71
  @include _load-styles($options, input);
71
72
  @include _load-styles($options, radio);
72
73
  @include _load-styles($options, select);
74
+ @include _load-styles($options, autocomplete);
73
75
  @include _load-styles($options, selection);
74
76
  @include _load-styles($options, textarea);
75
77
  @include _load-styles($options, toggle);
@@ -85,13 +87,14 @@
85
87
 
86
88
  // Data Entry Form
87
89
  @include _load-styles($options, form, form-field);
90
+ @include _load-styles($options, filter-area);
88
91
 
89
92
  // Feedback
90
93
  @include _load-styles($options, alert);
91
94
  @include _load-styles($options, alert-banner);
92
95
  @include _load-styles($options, message);
93
96
  @include _load-styles($options, modal);
94
- @include _load-styles($options, notification);
97
+ @include _load-styles($options, notification-center);
95
98
  @include _load-styles($options, popconfirm);
96
99
  @include _load-styles($options, progress);
97
100
  @include _load-styles($options, spin);
@@ -1,48 +1,88 @@
1
- @use '~@mezzanine-ui/system/palette';
2
- @use '~@mezzanine-ui/system/transition';
1
+ @use '~@mezzanine-ui/system/palette' as palette;
2
+ @use '~@mezzanine-ui/system/spacing' as spacing;
3
+ @use '~@mezzanine-ui/system/transition' as transition;
4
+ @use '~@mezzanine-ui/system/effect' as effect;
3
5
  @use '../button/utils' as btn-utils;
4
6
  @use './anchor' as *;
5
7
 
6
- $bar-width: 1px !default;
7
- $anchor-left-padding: 12px !default;
8
+ $bar-width: 2px !default;
8
9
 
9
10
  .#{$prefix} {
11
+ position: relative;
10
12
  width: 100%;
11
13
  display: grid;
12
14
  grid-template-columns: 1fr;
13
- gap: 8px;
14
- position: relative;
15
15
 
16
- &__bar {
16
+ &::before {
17
+ content: '';
17
18
  position: absolute;
18
19
  left: 0;
19
20
  top: 0;
20
- z-index: 0;
21
+ bottom: 0;
21
22
  width: $bar-width;
22
- height: 100%;
23
- background-color: palette.color(border);
23
+ background-color: palette.semantic-variable('border', neutral-faint);
24
+ pointer-events: none;
24
25
  }
25
26
 
26
- &__anchor {
27
+ &__anchorItem {
27
28
  @include btn-utils.reset();
28
29
 
29
30
  display: inline-grid;
30
31
  position: relative;
31
- z-index: 1;
32
32
  width: 100%;
33
- border-left: $bar-width solid palette.color(border);
34
- padding-left: $anchor-left-padding;
33
+ padding-left: calc(spacing.semantic-variable(gap, base) + $bar-width);
34
+ padding-top: spacing.semantic-variable(padding, vertical, calm);
35
+ padding-bottom: spacing.semantic-variable(padding, vertical, calm);
35
36
  text-align: left;
36
- color: palette.color(action-inactive);
37
+ color: palette.semantic-variable(text, neutral);
37
38
  transition: transition.standard(border-left), transition.standard(color);
38
39
 
40
+ &::before {
41
+ content: '';
42
+ position: absolute;
43
+ left: 0;
44
+ top: spacing.semantic-variable(gap, tight);
45
+ width: $bar-width;
46
+ height: calc(100% - 2 * spacing.semantic-variable(gap, tight));
47
+ background-color: palette.semantic-variable('border', neutral-faint);
48
+ transition: transition.standard(background-color);
49
+ }
50
+
39
51
  &:hover {
40
- color: palette.color(primary);
52
+ color: palette.semantic-variable(text, neutral-solid);
41
53
  }
42
54
 
43
55
  &--active {
44
- color: palette.color(primary);
45
- border-left: $bar-width solid palette.color(primary);
56
+ color: palette.semantic-variable(text, brand);
57
+ position: relative;
58
+
59
+ &::before {
60
+ background-color: palette.semantic-variable(text, brand);
61
+ }
62
+ }
63
+
64
+ &--disabled {
65
+ color: palette.semantic-variable(text, neutral-light);
66
+ cursor: not-allowed;
67
+ pointer-events: none;
68
+ }
69
+
70
+ &:focus-visible {
71
+ background-color: palette.semantic-variable(background, base);
72
+ box-shadow: effect.variable(focus, primary);
73
+ }
74
+ }
75
+
76
+ &__nested {
77
+ display: grid;
78
+ grid-template-columns: 1fr;
79
+
80
+ &--level-1 {
81
+ padding-left: spacing.semantic-variable(gap, spacious);
82
+ }
83
+
84
+ &--level-2 {
85
+ padding-left: spacing.semantic-variable(gap, loose);
46
86
  }
47
87
  }
48
88
  }
@@ -1,7 +1,10 @@
1
1
  export declare const anchorPrefix = "mzn-anchor";
2
2
  export declare const anchorClasses: {
3
+ readonly anchorItem: "mzn-anchor__anchorItem";
4
+ readonly anchorItemActive: "mzn-anchor__anchorItem--active";
5
+ readonly anchorItemDisabled: "mzn-anchor__anchorItem--disabled";
3
6
  readonly host: "mzn-anchor";
4
- readonly bar: "mzn-anchor__bar";
5
- readonly anchor: "mzn-anchor__anchor";
6
- readonly anchorActive: "mzn-anchor__anchor--active";
7
+ readonly nested: "mzn-anchor__nested";
8
+ readonly nestedLevel1: "mzn-anchor__nested--level-1";
9
+ readonly nestedLevel2: "mzn-anchor__nested--level-2";
7
10
  };
package/anchor/anchor.js CHANGED
@@ -1,9 +1,12 @@
1
1
  const anchorPrefix = 'mzn-anchor';
2
2
  const anchorClasses = {
3
+ anchorItem: `${anchorPrefix}__anchorItem`,
4
+ anchorItemActive: `${anchorPrefix}__anchorItem--active`,
5
+ anchorItemDisabled: `${anchorPrefix}__anchorItem--disabled`,
3
6
  host: anchorPrefix,
4
- bar: `${anchorPrefix}__bar`,
5
- anchor: `${anchorPrefix}__anchor`,
6
- anchorActive: `${anchorPrefix}__anchor--active`,
7
+ nested: `${anchorPrefix}__nested`,
8
+ nestedLevel1: `${anchorPrefix}__nested--level-1`,
9
+ nestedLevel2: `${anchorPrefix}__nested--level-2`,
7
10
  };
8
11
 
9
12
  export { anchorClasses, anchorPrefix };
@@ -0,0 +1,22 @@
1
+ @use '../select/select' as select;
2
+ @use './autocomplete' as *;
3
+
4
+ .#{$prefix} {
5
+ position: relative;
6
+
7
+ &--full-width {
8
+ width: 100%;
9
+ }
10
+
11
+ &--inside-closed {
12
+ .#{select.$trigger-prefix} {
13
+ opacity: 0;
14
+ pointer-events: none;
15
+ }
16
+ }
17
+
18
+ .#{select.$trigger-prefix}__input {
19
+ padding: 0;
20
+ }
21
+ }
22
+
@@ -0,0 +1,2 @@
1
+ $prefix: mzn-autocomplete;
2
+
@@ -0,0 +1,2 @@
1
+ @forward './autocomplete';
2
+
@@ -0,0 +1,11 @@
1
+ import { Size } from '@mezzanine-ui/system/size';
2
+ export type AutoCompleteInputSize = Size;
3
+ export type AutoCompleteMode = 'single' | 'multiple';
4
+ export type AutoCompleteTriggerType = 'default' | 'error';
5
+ export type AutoCompleteSelector = 'input' | 'selection';
6
+ export declare const autocompletePrefix = "mzn-autocomplete";
7
+ export declare const autocompleteClasses: {
8
+ readonly host: "mzn-autocomplete";
9
+ readonly hostFullWidth: "mzn-autocomplete--full-width";
10
+ readonly hostInsideClosed: "mzn-autocomplete--inside-closed";
11
+ };
@@ -0,0 +1,8 @@
1
+ const autocompletePrefix = 'mzn-autocomplete';
2
+ const autocompleteClasses = {
3
+ host: autocompletePrefix,
4
+ hostFullWidth: `${autocompletePrefix}--full-width`,
5
+ hostInsideClosed: `${autocompletePrefix}--inside-closed`,
6
+ };
7
+
8
+ export { autocompleteClasses, autocompletePrefix };
@@ -0,0 +1 @@
1
+ export * from './autocomplete';
@@ -0,0 +1 @@
1
+ export { autocompleteClasses, autocompletePrefix } from './autocomplete.js';
@@ -14,45 +14,122 @@
14
14
  display: flex;
15
15
  flex-wrap: nowrap;
16
16
  gap: spacing.semantic-variable(gap, tiny);
17
+ position: relative;
18
+
19
+ &__icon-button {
20
+ @include button.reset();
21
+
22
+ border-radius: radius.variable(tiny);
23
+ position: relative;
24
+
25
+ & > :first-child {
26
+ color: palette.semantic-variable(icon, neutral);
27
+ transition: transition.standard(color, fast);
28
+ }
29
+
30
+ &:focus-visible {
31
+ box-shadow: effect.variable(focus, primary);
32
+ }
33
+ }
34
+
35
+ &__menu {
36
+ z-index: 1;
37
+ background-color: palette.semantic-variable('background', base);
38
+ border-radius: radius.variable(roomy);
39
+ box-shadow: effect.variable(shadow, raised);
40
+ display: flex;
41
+ height: fit-content;
42
+ margin-top: spacing.semantic-variable(padding, vertical, tight);
43
+ padding: spacing.semantic-variable(padding, vertical, tight) spacing.semantic-variable(padding, horizontal, tight);
44
+ position: relative;
45
+ width: spacing.semantic-variable(size, container, tight);
46
+
47
+ &__content {
48
+ margin: spacing.semantic-variable(padding, vertical, tight) 0;
49
+ background-color: palette.semantic-variable('background', base);
50
+ padding: 0 spacing.semantic-variable(padding, horizontal, tight);
51
+ width: 100%;
52
+ display: grid;
53
+ }
54
+ }
17
55
  }
18
56
 
19
57
  .#{$prefix}__item {
20
- @include button.reset();
58
+ position: relative;
21
59
 
22
- align-items: center;
23
- border-radius: radius.variable(tiny);
24
- color: palette.semantic-variable(text, neutral);
25
- display: flex;
26
- gap: spacing.semantic-variable(gap, tiny);
27
- transition: transition.standard(color, fast), transition.standard(background-color, fast), transition.standard(box-shadow, fast);
28
- white-space: nowrap;
60
+ &__trigger {
61
+ @include button.reset();
62
+
63
+ align-items: center;
64
+ border-radius: radius.variable(tiny);
65
+ color: palette.semantic-variable(text, neutral);
66
+ display: flex;
67
+ gap: spacing.semantic-variable(gap, tiny);
68
+ transition: transition.standard(color, fast), transition.standard(background-color, fast), transition.standard(box-shadow, fast);
69
+ white-space: nowrap;
70
+
71
+ &:focus-visible {
72
+ box-shadow: effect.variable(focus, primary);
73
+ }
74
+ }
29
75
 
30
76
  &__icon {
31
77
  color: palette.semantic-variable(icon, neutral);
32
78
  transition: transition.standard(color, fast);
33
79
  }
34
80
 
35
- &__menu {
36
- inset-block-start: calc(100% + spacing.semantic-variable(gap, tight-fixed));
37
- inset-inline-start: 0;
38
- position: absolute;
39
- }
40
-
41
81
  &--current {
42
- color: palette.semantic-variable(text, neutral-solid);
82
+ .#{$prefix}__item__trigger {
83
+ color: palette.semantic-variable(text, neutral-solid);
84
+ }
43
85
  }
44
86
 
45
87
  &--expanded {
88
+ .#{$prefix}__item__trigger {
89
+ color: palette.semantic-variable(text, neutral-solid);
90
+
91
+ .#{$prefix}__item__icon {
92
+ color: palette.semantic-variable(icon, neutral-solid);
93
+ }
94
+ }
95
+ }
96
+ }
97
+
98
+ .#{$prefix}__overflow-menu-item {
99
+ display: grid;
100
+
101
+ > :first-child {
102
+ display: grid;
103
+ }
104
+
105
+ &__trigger {
106
+ @include button.reset();
107
+
108
+ align-items: center;
46
109
  color: palette.semantic-variable(text, neutral-solid);
110
+ display: flex;
111
+ gap: spacing.semantic-variable(gap, tiny);
112
+ justify-content: space-between;
113
+ transition: transition.standard(color, fast), transition.standard(background-color, fast), transition.standard(box-shadow, fast);
114
+ white-space: nowrap;
115
+ padding: spacing.semantic-variable(padding, vertical, base) spacing.semantic-variable(padding, horizontal, base);
116
+ background-color: palette.semantic-variable('background', base);
117
+ border-radius: radius.variable(base);
47
118
 
48
- .#{$prefix}__item__icon {
49
- color: palette.semantic-variable(icon, neutral-solid);
119
+ &:focus-visible {
120
+ box-shadow: effect.variable(focus, primary);
50
121
  }
51
122
  }
52
123
 
53
- &:focus-visible {
54
- background-color: palette.semantic-variable(background, white);
55
- box-shadow: effect.variable(focus, primary);
124
+ &__icon {
125
+ color: palette.semantic-variable(icon, neutral);
126
+ transition: transition.standard(color, fast);
127
+ }
128
+
129
+ &--expanded {
130
+ .#{$prefix}__overflow-menu-item__trigger {
131
+ background-color: palette.semantic-variable('background', neutral-subtle);
132
+ }
56
133
  }
57
134
  }
58
135
 
@@ -1,11 +1,21 @@
1
1
  export declare const breadcrumbPrefix = "mzn-breadcrumb";
2
2
  export declare const breadcrumbClasses: {
3
3
  readonly host: "mzn-breadcrumb";
4
+ readonly iconButton: "mzn-breadcrumb__icon-button";
5
+ readonly menu: "mzn-breadcrumb__menu";
6
+ readonly menuContent: "mzn-breadcrumb__menu__content";
7
+ readonly menuItem: "mzn-breadcrumb__menu-item";
4
8
  };
5
9
  export declare const breadcrumbItemClasses: {
6
10
  readonly host: "mzn-breadcrumb__item";
11
+ readonly trigger: "mzn-breadcrumb__item__trigger";
7
12
  readonly current: "mzn-breadcrumb__item--current";
8
13
  readonly expanded: "mzn-breadcrumb__item--expanded";
9
14
  readonly icon: "mzn-breadcrumb__item__icon";
10
- readonly menu: "mzn-breadcrumb__item__menu";
15
+ };
16
+ export declare const breadcrumbOverflowMenuItemClasses: {
17
+ readonly host: "mzn-breadcrumb__overflow-menu-item";
18
+ readonly trigger: "mzn-breadcrumb__overflow-menu-item__trigger";
19
+ readonly expanded: "mzn-breadcrumb__overflow-menu-item--expanded";
20
+ readonly icon: "mzn-breadcrumb__overflow-menu-item__icon";
11
21
  };
@@ -1,13 +1,23 @@
1
1
  const breadcrumbPrefix = 'mzn-breadcrumb';
2
2
  const breadcrumbClasses = {
3
3
  host: breadcrumbPrefix,
4
+ iconButton: `${breadcrumbPrefix}__icon-button`,
5
+ menu: `${breadcrumbPrefix}__menu`,
6
+ menuContent: `${breadcrumbPrefix}__menu__content`,
7
+ menuItem: `${breadcrumbPrefix}__menu-item`,
4
8
  };
5
9
  const breadcrumbItemClasses = {
6
10
  host: `${breadcrumbPrefix}__item`,
11
+ trigger: `${breadcrumbPrefix}__item__trigger`,
7
12
  current: `${breadcrumbPrefix}__item--current`,
8
13
  expanded: `${breadcrumbPrefix}__item--expanded`,
9
14
  icon: `${breadcrumbPrefix}__item__icon`,
10
- menu: `${breadcrumbPrefix}__item__menu`,
15
+ };
16
+ const breadcrumbOverflowMenuItemClasses = {
17
+ host: `${breadcrumbPrefix}__overflow-menu-item`,
18
+ trigger: `${breadcrumbPrefix}__overflow-menu-item__trigger`,
19
+ expanded: `${breadcrumbPrefix}__overflow-menu-item--expanded`,
20
+ icon: `${breadcrumbPrefix}__overflow-menu-item__icon`,
11
21
  };
12
22
 
13
- export { breadcrumbClasses, breadcrumbItemClasses, breadcrumbPrefix };
23
+ export { breadcrumbClasses, breadcrumbItemClasses, breadcrumbOverflowMenuItemClasses, breadcrumbPrefix };
@@ -1 +1 @@
1
- export { breadcrumbClasses, breadcrumbItemClasses, breadcrumbPrefix } from './breadcrumb.js';
1
+ export { breadcrumbClasses, breadcrumbItemClasses, breadcrumbOverflowMenuItemClasses, breadcrumbPrefix } from './breadcrumb.js';
@@ -477,7 +477,7 @@ $inverse: (
477
477
  text-color: palette.semantic-variable(text, fixed-light),
478
478
  icon-color: palette.semantic-variable(icon, fixed-light),
479
479
  background-color: none,
480
- border-color: palette.semantic-variable(surface, subtle),
480
+ border-color: palette.semantic-variable(border, fixed-light-alpha),
481
481
  focus-color: none,
482
482
  ),
483
483
  hover: (
@@ -636,6 +636,7 @@ $size-sub-configs: (
636
636
  $size-minor-configs: (
637
637
  // 無 icon
638
638
  default: (
639
+ min-width: spacing.semantic-variable(size, element, extra-wide),
639
640
  padding-y: spacing.semantic-variable(padding, vertical, tiny),
640
641
  padding-x: spacing.semantic-variable(padding, horizontal, tight),
641
642
  ),
@@ -759,6 +760,10 @@ $size-configs: (
759
760
  // 非對稱 padding (leading 和 trailing)
760
761
  padding: map.get($padding-config, padding-y) map.get($padding-config, padding-right) map.get($padding-config, padding-y) map.get($padding-config, padding-left);
761
762
  }
763
+
764
+ @if map.has-key($padding-config, min-width) {
765
+ min-width: map.get($padding-config, min-width);
766
+ }
762
767
  }
763
768
 
764
769
  // 套用 size 配置
@@ -801,6 +806,7 @@ $size-configs: (
801
806
 
802
807
  width: fit-content;
803
808
  aspect-ratio: 1;
809
+ min-width: unset;
804
810
  }
805
811
  }
806
812
  }
@@ -1,12 +1,7 @@
1
1
  import { GeneralSize } from '@mezzanine-ui/system/size';
2
- import { IconDefinition } from '@mezzanine-ui/icons';
3
2
  export type ButtonVariant = 'base-primary' | 'base-secondary' | 'base-tertiary' | 'base-ghost' | 'base-dashed' | 'base-text-link' | 'destructive-primary' | 'destructive-secondary' | 'destructive-ghost' | 'destructive-text-link' | 'inverse' | 'inverse-ghost';
4
3
  export type ButtonSize = GeneralSize;
5
- export type ButtonIconPosition = 'leading' | 'trailing' | 'icon-only';
6
- export interface ButtonIcon {
7
- position: ButtonIconPosition;
8
- src: IconDefinition;
9
- }
4
+ export type ButtonIconType = 'leading' | 'trailing' | 'icon-only';
10
5
  export declare const buttonPrefix = "mzn-button";
11
6
  export declare const buttonClasses: {
12
7
  host: string;
@@ -581,7 +581,7 @@ $checked-states: (
581
581
  width: 1px;
582
582
  height: spacing.semantic-variable(size, element, gentle);
583
583
  margin-inline: 1px;
584
- background-color: palette.semantic-variable(border, neutral-faint);
584
+ background-color: palette.semantic-variable(separator, neutral-faint);
585
585
  }
586
586
 
587
587
  &--nested {
@@ -0,0 +1,56 @@
1
+
2
+ @use '~@mezzanine-ui/system/palette' as palette;
3
+ @use '~@mezzanine-ui/system/spacing';
4
+ @use './content-header' as *;
5
+
6
+ .#{$prefix} {
7
+ display: flex;
8
+ width: 100%;
9
+ justify-content: space-between;
10
+ align-items: flex-start;
11
+ gap: spacing.semantic-variable(gap, calm);
12
+
13
+ &__title-area {
14
+ align-items: flex-start;
15
+ display: flex;
16
+ flex-grow: 1;
17
+ gap: spacing.semantic-variable(gap, tiny);
18
+ max-width: spacing.semantic-variable(size, container, balanced);
19
+ width: 100%;
20
+ }
21
+
22
+ &__action-area {
23
+ display: flex;
24
+ align-items: center;
25
+ gap: spacing.semantic-variable(gap, calm);
26
+ width: fit-content;
27
+
28
+ .#{$prefix}__utilities {
29
+ display: flex;
30
+ align-items: center;
31
+ gap: spacing.semantic-variable(gap, base);
32
+ width: fit-content;
33
+ }
34
+ }
35
+
36
+
37
+ &--main {
38
+ .#{$prefix}__title-area {
39
+ gap: spacing.semantic-variable(gap, tiny);
40
+
41
+ .#{$prefix}__text-group {
42
+ padding: spacing.semantic-variable(gap, tiny) 0 spacing.semantic-variable(gap, tiny);
43
+ }
44
+ }
45
+
46
+ .#{$prefix}__action-area {
47
+ gap: spacing.semantic-variable(gap, calm);
48
+ }
49
+ }
50
+
51
+ &--sub {
52
+ .#{$prefix}__action-area {
53
+ gap: spacing.semantic-variable(gap, base);
54
+ }
55
+ }
56
+ }
@@ -0,0 +1 @@
1
+ $prefix: mzn-content-header;
@@ -0,0 +1 @@
1
+ @forward './content-header';
@@ -0,0 +1,12 @@
1
+ export declare const contentHeaderPrefix = "mzn-content-header";
2
+ type ContentHeaderSize = 'main' | 'sub';
3
+ export declare const contentHeaderClasses: {
4
+ readonly host: "mzn-content-header";
5
+ readonly size: (size: ContentHeaderSize) => string;
6
+ readonly titleArea: "mzn-content-header__title-area";
7
+ readonly textGroup: "mzn-content-header__text-group";
8
+ readonly actionArea: "mzn-content-header__action-area";
9
+ readonly utilities: "mzn-content-header__utilities";
10
+ readonly backButton: "mzn-content-header__back-button";
11
+ };
12
+ export {};
@@ -0,0 +1,12 @@
1
+ const contentHeaderPrefix = 'mzn-content-header';
2
+ const contentHeaderClasses = {
3
+ host: contentHeaderPrefix,
4
+ size: (size) => `${contentHeaderPrefix}--${size}`,
5
+ titleArea: `${contentHeaderPrefix}__title-area`,
6
+ textGroup: `${contentHeaderPrefix}__text-group`,
7
+ actionArea: `${contentHeaderPrefix}__action-area`,
8
+ utilities: `${contentHeaderPrefix}__utilities`,
9
+ backButton: `${contentHeaderPrefix}__back-button`,
10
+ };
11
+
12
+ export { contentHeaderClasses, contentHeaderPrefix };
@@ -0,0 +1 @@
1
+ export * from './contentHeader';
@@ -0,0 +1 @@
1
+ export { contentHeaderClasses, contentHeaderPrefix } from './contentHeader.js';