sakana-element 2.1.5 → 2.2.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 (82) hide show
  1. package/README.md +9 -6
  2. package/dist/es/Avatar-CxsRW-wl.js +9 -0
  3. package/dist/es/Badge-CoFWwBwv.js +14 -0
  4. package/dist/es/Breadcrumb-BtrwTVKW.js +15 -0
  5. package/dist/es/{Button-fW_ZOLmT.js → Button-S_31-UWJ.js} +3 -3
  6. package/dist/es/Card-DcW6nHYD.js +16 -0
  7. package/dist/es/Collapse-DsS7M-m3.js +53 -0
  8. package/dist/es/ConfigProvider-BgIewHXP.js +44 -0
  9. package/dist/es/{Dropdown-49nf6F8P.js → Dropdown-GcomGMAI.js} +10 -10
  10. package/dist/es/FileInput-BQ59woas.js +33 -0
  11. package/dist/es/Form-j90EzLXU.js +122 -0
  12. package/dist/es/{Input-DBPpvf0Y.js → Input-CiE4bPJN.js} +4 -4
  13. package/dist/es/Link-B9B2APZq.js +11 -0
  14. package/dist/es/Loading-BW99pE5N.js +92 -0
  15. package/dist/es/Message-DCNnTUje.js +123 -0
  16. package/dist/es/{Notification-D4RYHV9o.js → Notification-CBzY5904.js} +14 -14
  17. package/dist/es/Popconfirm-DF6d2ORS.js +23 -0
  18. package/dist/es/Select-Dwqv8isB.js +133 -0
  19. package/dist/es/Switch-B1Gnv1tB.js +34 -0
  20. package/dist/es/{Tooltip-HWx_i2FA.js → Tooltip-k6gKnMyt.js} +3 -3
  21. package/dist/es/hooks-BaG7l8K5.js +116 -0
  22. package/dist/es/index.js +73 -63
  23. package/dist/index.css +1 -1
  24. package/dist/theme/Alert.css +1 -1
  25. package/dist/theme/Avatar.css +116 -0
  26. package/dist/theme/Badge.css +36 -30
  27. package/dist/theme/Breadcrumb.css +150 -0
  28. package/dist/theme/Button.css +216 -216
  29. package/dist/theme/Card.css +170 -19
  30. package/dist/theme/Collapse.css +214 -54
  31. package/dist/theme/FileInput.css +365 -0
  32. package/dist/theme/Form.css +65 -34
  33. package/dist/theme/Link.css +50 -0
  34. package/dist/theme/Loading.css +154 -4
  35. package/dist/theme/Message.css +7 -4
  36. package/dist/theme/Notification.css +21 -21
  37. package/dist/theme/Popconfirm.css +5 -5
  38. package/dist/theme/Select.css +78 -78
  39. package/dist/types/components/Avatar/index.d.ts +30 -0
  40. package/dist/types/components/Avatar/types.d.ts +10 -0
  41. package/dist/types/components/Badge/types.d.ts +1 -0
  42. package/dist/types/components/Breadcrumb/constants.d.ts +3 -0
  43. package/dist/types/components/Breadcrumb/index.d.ts +45 -0
  44. package/dist/types/components/Breadcrumb/types.d.ts +13 -0
  45. package/dist/types/components/Card/types.d.ts +6 -0
  46. package/dist/types/components/Collapse/constants.d.ts +3 -0
  47. package/dist/types/components/Collapse/index.d.ts +9 -3
  48. package/dist/types/components/Collapse/types.d.ts +12 -0
  49. package/dist/types/components/FileInput/constants.d.ts +3 -0
  50. package/dist/types/components/FileInput/index.d.ts +58 -0
  51. package/dist/types/components/FileInput/types.d.ts +24 -0
  52. package/dist/types/components/Form/types.d.ts +17 -7
  53. package/dist/types/components/Input/index.d.ts +5 -5
  54. package/dist/types/components/Link/index.d.ts +34 -0
  55. package/dist/types/components/Link/types.d.ts +10 -0
  56. package/dist/types/components/Loading/index.d.ts +25 -0
  57. package/dist/types/components/Loading/types.d.ts +9 -0
  58. package/dist/types/components/Message/types.d.ts +2 -2
  59. package/dist/types/components/MessageBox/types.d.ts +2 -2
  60. package/dist/types/components/Notification/index.d.ts +1 -1
  61. package/dist/types/components/Notification/methods.d.ts +3 -1
  62. package/dist/types/components/Notification/types.d.ts +2 -2
  63. package/dist/types/components/Select/constants.d.ts +2 -1
  64. package/dist/types/components/Select/index.d.ts +11 -11
  65. package/dist/types/components/index.d.ts +4 -0
  66. package/dist/types/hooks/vitest.setup.d.ts +4 -0
  67. package/dist/umd/index.css +1 -1
  68. package/dist/umd/index.css.gz +0 -0
  69. package/dist/umd/index.umd.cjs +5 -14
  70. package/dist/umd/index.umd.cjs.gz +0 -0
  71. package/package.json +59 -60
  72. package/dist/es/Badge-BG-vYP8Y.js +0 -13
  73. package/dist/es/Card-BCBnlVi_.js +0 -12
  74. package/dist/es/Collapse-B08VhCVq.js +0 -38
  75. package/dist/es/ConfigProvider-DZO1d5Eq.js +0 -44
  76. package/dist/es/Form-CGiTDSGI.js +0 -108
  77. package/dist/es/Loading-DlygqGOv.js +0 -88
  78. package/dist/es/Message-ganFfLeU.js +0 -123
  79. package/dist/es/Popconfirm-Cop44KwQ.js +0 -22
  80. package/dist/es/Select-Blw_iO2r.js +0 -133
  81. package/dist/es/Switch-CHjcLtHs.js +0 -34
  82. package/dist/es/hooks-CYdEHUVd.js +0 -105
@@ -178,7 +178,7 @@
178
178
  }
179
179
  .px-alert-fade-enter-active[data-v-772da9f8],
180
180
  .px-alert-fade-leave-active[data-v-772da9f8] {
181
- transition: opacity 0.15s, transform 0.15s;
181
+ transition: opacity 0.15s steps(3), transform 0.15s steps(3);
182
182
  }
183
183
  /* Type variants - Light theme */
184
184
  .px-alert__success.px-alert__light[data-v-772da9f8] {
@@ -0,0 +1,116 @@
1
+ /* Avatar Variables */
2
+ .px-avatar[data-v-47da9c60] {
3
+ --px-avatar-size: 48px;
4
+ --px-avatar-bg-color: var(--px-fill-color);
5
+ --px-avatar-text-color: var(--px-text-color-primary);
6
+ --px-avatar-border-color: var(--px-border-color);
7
+ --px-avatar-shadow-color: var(--px-shadow-color);
8
+ --px-avatar-font-size: var(--px-font-size-base);
9
+ }
10
+ /* Base Avatar Styles - Pixel Game Aesthetic */
11
+ .px-avatar[data-v-47da9c60] {
12
+ display: inline-flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ width: var(--px-avatar-size);
16
+ height: var(--px-avatar-size);
17
+ font-size: var(--px-avatar-font-size);
18
+ font-family: var(--px-font-family);
19
+ font-weight: 600;
20
+ color: var(--px-avatar-text-color);
21
+ line-height: 1;
22
+ white-space: nowrap;
23
+ box-sizing: border-box;
24
+ position: relative;
25
+ background: transparent;
26
+ vertical-align: middle;
27
+ user-select: none;
28
+ border: none;
29
+
30
+ /* Pixel shadow via drop-shadow */
31
+ filter: drop-shadow(2px 2px 0px var(--px-avatar-shadow-color));
32
+ }
33
+ /* Circle shape (default) — 4-step staircase pixel circle */
34
+ .px-avatar[data-v-47da9c60]::before,
35
+ .px-avatar[data-v-47da9c60]::after {
36
+ content: '';
37
+ position: absolute;
38
+ background: var(--px-avatar-bg-color);
39
+ z-index: -1;
40
+ clip-path: polygon(
41
+ 0 10px, 2px 10px, 2px 6px, 4px 6px, 4px 4px, 6px 4px, 6px 2px, 10px 2px, 10px 0,
42
+ calc(100% - 10px) 0, calc(100% - 10px) 2px, calc(100% - 6px) 2px, calc(100% - 6px) 4px, calc(100% - 4px) 4px, calc(100% - 4px) 6px, calc(100% - 2px) 6px, calc(100% - 2px) 10px, 100% 10px,
43
+ 100% calc(100% - 10px), calc(100% - 2px) calc(100% - 10px), calc(100% - 2px) calc(100% - 6px), calc(100% - 4px) calc(100% - 6px), calc(100% - 4px) calc(100% - 4px), calc(100% - 6px) calc(100% - 4px), calc(100% - 6px) calc(100% - 2px), calc(100% - 10px) calc(100% - 2px), calc(100% - 10px) 100%,
44
+ 10px 100%, 10px calc(100% - 2px), 6px calc(100% - 2px), 6px calc(100% - 4px), 4px calc(100% - 4px), 4px calc(100% - 6px), 2px calc(100% - 6px), 2px calc(100% - 10px), 0 calc(100% - 10px)
45
+ );
46
+ }
47
+ /* Border layer — hidden by default, shown with is-border */
48
+ .px-avatar[data-v-47da9c60]::before {
49
+ inset: 0;
50
+ background: var(--px-avatar-border-color);
51
+ display: none;
52
+ }
53
+ /* Fill layer */
54
+ .px-avatar[data-v-47da9c60]::after {
55
+ inset: 0;
56
+ }
57
+ /* Border visible */
58
+ .px-avatar.is-border[data-v-47da9c60]::before {
59
+ display: block;
60
+ }
61
+ .px-avatar.is-border[data-v-47da9c60]::after {
62
+ inset: 2px;
63
+ }
64
+ /* Square shape — 2px chamfered pixel rectangle */
65
+ .px-avatar.is-square[data-v-47da9c60]::before,
66
+ .px-avatar.is-square[data-v-47da9c60]::after {
67
+ clip-path: polygon(
68
+ 0 2px, 2px 2px, 2px 0,
69
+ calc(100% - 2px) 0, calc(100% - 2px) 2px, 100% 2px,
70
+ 100% calc(100% - 2px), calc(100% - 2px) calc(100% - 2px), calc(100% - 2px) 100%,
71
+ 2px 100%, 2px calc(100% - 2px), 0 calc(100% - 2px)
72
+ );
73
+ }
74
+ .px-avatar + .px-avatar[data-v-47da9c60] {
75
+ margin-left: 8px;
76
+ }
77
+ /* Size variants */
78
+ .px-avatar--large[data-v-47da9c60] {
79
+ --px-avatar-size: 64px;
80
+ --px-avatar-font-size: var(--px-font-size-large);
81
+ }
82
+ .px-avatar--small[data-v-47da9c60] {
83
+ --px-avatar-size: 32px;
84
+ --px-avatar-font-size: var(--px-font-size-small);
85
+ filter: drop-shadow(1px 1px 0px var(--px-avatar-shadow-color));
86
+ }
87
+ /* Online/Offline indicator dot */
88
+ .px-avatar__indicator[data-v-47da9c60] {
89
+ --px-avatar-indicator-size: 10px;
90
+
91
+ position: absolute;
92
+ top: 2px;
93
+ right: 2px;
94
+ width: var(--px-avatar-indicator-size);
95
+ height: var(--px-avatar-indicator-size);
96
+ border: 2px solid var(--px-bg-color, #ffffff);
97
+ border-radius: 50%;
98
+ z-index: 1;
99
+ }
100
+ .px-avatar__indicator.is-online[data-v-47da9c60] {
101
+ background-color: var(--px-color-success);
102
+ }
103
+ .px-avatar__indicator.is-offline[data-v-47da9c60] {
104
+ background-color: var(--px-color-info);
105
+ }
106
+ .px-avatar--large .px-avatar__indicator[data-v-47da9c60] {
107
+ --px-avatar-indicator-size: 12px;
108
+ top: 4px;
109
+ right: 4px;
110
+ }
111
+ .px-avatar--small .px-avatar__indicator[data-v-47da9c60] {
112
+ --px-avatar-indicator-size: 8px;
113
+ top: 0;
114
+ right: 0;
115
+ border-width: 1px;
116
+ }
@@ -1,5 +1,5 @@
1
1
  /* Badge Variables */
2
- .px-badge[data-v-c5a490ec] {
2
+ .px-badge[data-v-b16297ef] {
3
3
  --px-badge-text-color: var(--px-color-white);
4
4
  --px-badge-bg-color: var(--px-color-primary);
5
5
  --px-badge-border-color: var(--px-color-primary-dark);
@@ -9,10 +9,11 @@
9
9
  --px-badge-padding: 0 8px;
10
10
  }
11
11
  /* Base Badge Styles - Pixel Game Aesthetic */
12
- .px-badge[data-v-c5a490ec] {
12
+ .px-badge[data-v-b16297ef] {
13
13
  display: inline-flex;
14
14
  justify-content: center;
15
15
  align-items: center;
16
+ gap: 4px;
16
17
  height: var(--px-badge-height);
17
18
  padding: var(--px-badge-padding);
18
19
  font-size: var(--px-badge-font-size);
@@ -35,7 +36,7 @@
35
36
  transition: none;
36
37
  }
37
38
  /* Border layer — filled with border color, clipped to pixel shape */
38
- .px-badge[data-v-c5a490ec]::before {
39
+ .px-badge[data-v-b16297ef]::before {
39
40
  content: '';
40
41
  position: absolute;
41
42
  inset: 0;
@@ -49,7 +50,7 @@
49
50
  z-index: -1;
50
51
  }
51
52
  /* Fill layer — inset by border width, filled with bg color */
52
- .px-badge[data-v-c5a490ec]::after {
53
+ .px-badge[data-v-b16297ef]::after {
53
54
  content: '';
54
55
  position: absolute;
55
56
  inset: 2px;
@@ -62,40 +63,40 @@
62
63
  );
63
64
  z-index: -1;
64
65
  }
65
- .px-badge + .px-badge[data-v-c5a490ec] {
66
+ .px-badge + .px-badge[data-v-b16297ef] {
66
67
  margin-left: 8px;
67
68
  }
68
69
  /* Outline variant */
69
- .px-badge.is-outline[data-v-c5a490ec] {
70
+ .px-badge.is-outline[data-v-b16297ef] {
70
71
  border: 2px solid var(--px-badge-border-color);
71
72
  filter: none;
72
73
  }
73
- .px-badge.is-outline[data-v-c5a490ec]::before {
74
+ .px-badge.is-outline[data-v-b16297ef]::before {
74
75
  display: none;
75
76
  }
76
- .px-badge.is-outline[data-v-c5a490ec]::after {
77
+ .px-badge.is-outline[data-v-b16297ef]::after {
77
78
  clip-path: none;
78
79
  inset: 0;
79
80
  background: var(--px-badge-bg-color);
80
81
  }
81
82
  /* Dash variant */
82
- .px-badge.is-dash[data-v-c5a490ec] {
83
+ .px-badge.is-dash[data-v-b16297ef] {
83
84
  border: 2px dashed var(--px-badge-border-color);
84
85
  filter: none;
85
86
  }
86
- .px-badge.is-dash[data-v-c5a490ec]::before {
87
+ .px-badge.is-dash[data-v-b16297ef]::before {
87
88
  display: none;
88
89
  }
89
- .px-badge.is-dash[data-v-c5a490ec]::after {
90
+ .px-badge.is-dash[data-v-b16297ef]::after {
90
91
  clip-path: none;
91
92
  inset: 0;
92
93
  background: var(--px-badge-bg-color);
93
94
  }
94
95
  /* Round - Pixel-style rounded corners */
95
- .px-badge.is-round[data-v-c5a490ec] {
96
+ .px-badge.is-round[data-v-b16297ef] {
96
97
  padding: 0 10px;
97
98
  }
98
- .px-badge.is-round[data-v-c5a490ec]::before, .px-badge.is-round[data-v-c5a490ec]::after {
99
+ .px-badge.is-round[data-v-b16297ef]::before, .px-badge.is-round[data-v-b16297ef]::after {
99
100
  clip-path: polygon(
100
101
  0 4px, 2px 4px, 2px 2px, 4px 2px, 4px 0,
101
102
  calc(100% - 4px) 0, calc(100% - 4px) 2px, calc(100% - 2px) 2px, calc(100% - 2px) 4px, 100% 4px,
@@ -103,104 +104,109 @@
103
104
  4px 100%, 4px calc(100% - 2px), 2px calc(100% - 2px), 2px calc(100% - 4px), 0 calc(100% - 4px)
104
105
  );
105
106
  }
107
+ /* Empty badge - dot indicator */
108
+ .px-badge.is-empty[data-v-b16297ef] {
109
+ width: var(--px-badge-height);
110
+ padding: 0;
111
+ }
106
112
  /* Type variants */
107
- .px-badge--primary[data-v-c5a490ec] {
113
+ .px-badge--primary[data-v-b16297ef] {
108
114
  --px-badge-text-color: var(--px-color-white);
109
115
  --px-badge-bg-color: var(--px-color-primary);
110
116
  --px-badge-border-color: var(--px-color-primary-dark);
111
117
  --px-badge-shadow-color: var(--px-color-primary-dark);
112
118
  }
113
119
  /* Outline variant for type */
114
- .px-badge--primary.is-outline[data-v-c5a490ec] {
120
+ .px-badge--primary.is-outline[data-v-b16297ef] {
115
121
  --px-badge-text-color: var(--px-color-primary);
116
122
  --px-badge-bg-color: transparent;
117
123
  --px-badge-border-color: var(--px-color-primary);
118
124
  }
119
125
  /* Dash variant for type */
120
- .px-badge--primary.is-dash[data-v-c5a490ec] {
126
+ .px-badge--primary.is-dash[data-v-b16297ef] {
121
127
  --px-badge-text-color: var(--px-color-primary);
122
128
  --px-badge-bg-color: var(--px-color-primary-light-9);
123
129
  --px-badge-border-color: var(--px-color-primary);
124
130
  }
125
- .px-badge--success[data-v-c5a490ec] {
131
+ .px-badge--success[data-v-b16297ef] {
126
132
  --px-badge-text-color: var(--px-color-white);
127
133
  --px-badge-bg-color: var(--px-color-success);
128
134
  --px-badge-border-color: var(--px-color-success-dark);
129
135
  --px-badge-shadow-color: var(--px-color-success-dark);
130
136
  }
131
137
  /* Outline variant for type */
132
- .px-badge--success.is-outline[data-v-c5a490ec] {
138
+ .px-badge--success.is-outline[data-v-b16297ef] {
133
139
  --px-badge-text-color: var(--px-color-success);
134
140
  --px-badge-bg-color: transparent;
135
141
  --px-badge-border-color: var(--px-color-success);
136
142
  }
137
143
  /* Dash variant for type */
138
- .px-badge--success.is-dash[data-v-c5a490ec] {
144
+ .px-badge--success.is-dash[data-v-b16297ef] {
139
145
  --px-badge-text-color: var(--px-color-success);
140
146
  --px-badge-bg-color: var(--px-color-success-light-9);
141
147
  --px-badge-border-color: var(--px-color-success);
142
148
  }
143
- .px-badge--info[data-v-c5a490ec] {
149
+ .px-badge--info[data-v-b16297ef] {
144
150
  --px-badge-text-color: var(--px-color-white);
145
151
  --px-badge-bg-color: var(--px-color-info);
146
152
  --px-badge-border-color: var(--px-color-info-dark);
147
153
  --px-badge-shadow-color: var(--px-color-info-dark);
148
154
  }
149
155
  /* Outline variant for type */
150
- .px-badge--info.is-outline[data-v-c5a490ec] {
156
+ .px-badge--info.is-outline[data-v-b16297ef] {
151
157
  --px-badge-text-color: var(--px-color-info);
152
158
  --px-badge-bg-color: transparent;
153
159
  --px-badge-border-color: var(--px-color-info);
154
160
  }
155
161
  /* Dash variant for type */
156
- .px-badge--info.is-dash[data-v-c5a490ec] {
162
+ .px-badge--info.is-dash[data-v-b16297ef] {
157
163
  --px-badge-text-color: var(--px-color-info);
158
164
  --px-badge-bg-color: var(--px-color-info-light-9);
159
165
  --px-badge-border-color: var(--px-color-info);
160
166
  }
161
- .px-badge--warning[data-v-c5a490ec] {
167
+ .px-badge--warning[data-v-b16297ef] {
162
168
  --px-badge-text-color: var(--px-color-white);
163
169
  --px-badge-bg-color: var(--px-color-warning);
164
170
  --px-badge-border-color: var(--px-color-warning-dark);
165
171
  --px-badge-shadow-color: var(--px-color-warning-dark);
166
172
  }
167
173
  /* Outline variant for type */
168
- .px-badge--warning.is-outline[data-v-c5a490ec] {
174
+ .px-badge--warning.is-outline[data-v-b16297ef] {
169
175
  --px-badge-text-color: var(--px-color-warning);
170
176
  --px-badge-bg-color: transparent;
171
177
  --px-badge-border-color: var(--px-color-warning);
172
178
  }
173
179
  /* Dash variant for type */
174
- .px-badge--warning.is-dash[data-v-c5a490ec] {
180
+ .px-badge--warning.is-dash[data-v-b16297ef] {
175
181
  --px-badge-text-color: var(--px-color-warning);
176
182
  --px-badge-bg-color: var(--px-color-warning-light-9);
177
183
  --px-badge-border-color: var(--px-color-warning);
178
184
  }
179
- .px-badge--danger[data-v-c5a490ec] {
185
+ .px-badge--danger[data-v-b16297ef] {
180
186
  --px-badge-text-color: var(--px-color-white);
181
187
  --px-badge-bg-color: var(--px-color-danger);
182
188
  --px-badge-border-color: var(--px-color-danger-dark);
183
189
  --px-badge-shadow-color: var(--px-color-danger-dark);
184
190
  }
185
191
  /* Outline variant for type */
186
- .px-badge--danger.is-outline[data-v-c5a490ec] {
192
+ .px-badge--danger.is-outline[data-v-b16297ef] {
187
193
  --px-badge-text-color: var(--px-color-danger);
188
194
  --px-badge-bg-color: transparent;
189
195
  --px-badge-border-color: var(--px-color-danger);
190
196
  }
191
197
  /* Dash variant for type */
192
- .px-badge--danger.is-dash[data-v-c5a490ec] {
198
+ .px-badge--danger.is-dash[data-v-b16297ef] {
193
199
  --px-badge-text-color: var(--px-color-danger);
194
200
  --px-badge-bg-color: var(--px-color-danger-light-9);
195
201
  --px-badge-border-color: var(--px-color-danger);
196
202
  }
197
203
  /* Size variants */
198
- .px-badge--large[data-v-c5a490ec] {
204
+ .px-badge--large[data-v-b16297ef] {
199
205
  --px-badge-height: 28px;
200
206
  --px-badge-padding: 0 12px;
201
207
  --px-badge-font-size: var(--px-font-size-small);
202
208
  }
203
- .px-badge--small[data-v-c5a490ec] {
209
+ .px-badge--small[data-v-b16297ef] {
204
210
  --px-badge-height: 18px;
205
211
  --px-badge-padding: 0 6px;
206
212
  --px-badge-font-size: 10px;
@@ -0,0 +1,150 @@
1
+ /* Breadcrumb Variables */
2
+ .px-breadcrumb[data-v-a0927948] {
3
+ --px-breadcrumb-text-color: var(--px-text-color-primary);
4
+ --px-breadcrumb-link-color: var(--px-color-primary);
5
+ --px-breadcrumb-separator-color: var(--px-text-color-secondary);
6
+
7
+ font-family: var(--px-font-family);
8
+ font-size: var(--px-font-size-base);
9
+ line-height: 1;
10
+ }
11
+ /* Breadcrumb List */
12
+ .px-breadcrumb__list[data-v-a0927948] {
13
+ display: flex;
14
+ flex-wrap: wrap;
15
+ align-items: center;
16
+ margin: 0;
17
+ padding: 0;
18
+ list-style: none;
19
+ gap: 0;
20
+ }
21
+ /* Breadcrumb Item */
22
+ .px-breadcrumb__item[data-v-a0927948] {
23
+ display: inline-flex;
24
+ align-items: center;
25
+ margin: 0;
26
+ padding: 0;
27
+ line-height: 1;
28
+ }
29
+ /* Last item separator is hidden via CSS */
30
+ .px-breadcrumb__item:last-child .px-breadcrumb__separator[data-v-a0927948] {
31
+ display: none;
32
+ }
33
+ /* Breadcrumb Link */
34
+ .px-breadcrumb__link[data-v-a0927948] {
35
+ display: inline-flex;
36
+ align-items: center;
37
+ gap: 4px;
38
+ color: var(--px-breadcrumb-link-color);
39
+ text-decoration: none;
40
+ font-weight: 500;
41
+ transition: none;
42
+ }
43
+ a.px-breadcrumb__link[data-v-a0927948] {
44
+ cursor: pointer;
45
+ border-bottom: 2px solid transparent;
46
+ }
47
+ a.px-breadcrumb__link[data-v-a0927948]:hover:not(.is-disabled) {
48
+ border-bottom: 2px solid var(--px-breadcrumb-link-color);
49
+ }
50
+ /* Current (last) item — plain text, no link styling */
51
+ .px-breadcrumb__link.is-current[data-v-a0927948] {
52
+ color: var(--px-breadcrumb-text-color);
53
+ font-weight: 700;
54
+ cursor: default;
55
+ }
56
+ /* Disabled state */
57
+ .px-breadcrumb__item.is-disabled[data-v-a0927948] {
58
+ opacity: 0.6;
59
+ }
60
+ .px-breadcrumb__link.is-disabled[data-v-a0927948] {
61
+ cursor: not-allowed;
62
+ color: var(--px-breadcrumb-text-color);
63
+ }
64
+ /* Breadcrumb Icon */
65
+ .px-breadcrumb__icon[data-v-a0927948] {
66
+ font-size: 14px;
67
+ }
68
+ /* Breadcrumb Separator */
69
+ .px-breadcrumb__separator[data-v-a0927948] {
70
+ display: inline-flex;
71
+ align-items: center;
72
+ margin: 0 8px;
73
+ color: var(--px-breadcrumb-separator-color);
74
+ font-weight: 400;
75
+ }
76
+ /* Breadcrumb Variables */
77
+ .px-breadcrumb[data-v-8be388ff] {
78
+ --px-breadcrumb-text-color: var(--px-text-color-primary);
79
+ --px-breadcrumb-link-color: var(--px-color-primary);
80
+ --px-breadcrumb-separator-color: var(--px-text-color-secondary);
81
+
82
+ font-family: var(--px-font-family);
83
+ font-size: var(--px-font-size-base);
84
+ line-height: 1;
85
+ }
86
+ /* Breadcrumb List */
87
+ .px-breadcrumb__list[data-v-8be388ff] {
88
+ display: flex;
89
+ flex-wrap: wrap;
90
+ align-items: center;
91
+ margin: 0;
92
+ padding: 0;
93
+ list-style: none;
94
+ gap: 0;
95
+ }
96
+ /* Breadcrumb Item */
97
+ .px-breadcrumb__item[data-v-8be388ff] {
98
+ display: inline-flex;
99
+ align-items: center;
100
+ margin: 0;
101
+ padding: 0;
102
+ line-height: 1;
103
+ }
104
+ /* Last item separator is hidden via CSS */
105
+ .px-breadcrumb__item:last-child .px-breadcrumb__separator[data-v-8be388ff] {
106
+ display: none;
107
+ }
108
+ /* Breadcrumb Link */
109
+ .px-breadcrumb__link[data-v-8be388ff] {
110
+ display: inline-flex;
111
+ align-items: center;
112
+ gap: 4px;
113
+ color: var(--px-breadcrumb-link-color);
114
+ text-decoration: none;
115
+ font-weight: 500;
116
+ transition: none;
117
+ }
118
+ a.px-breadcrumb__link[data-v-8be388ff] {
119
+ cursor: pointer;
120
+ border-bottom: 2px solid transparent;
121
+ }
122
+ a.px-breadcrumb__link[data-v-8be388ff]:hover:not(.is-disabled) {
123
+ border-bottom: 2px solid var(--px-breadcrumb-link-color);
124
+ }
125
+ /* Current (last) item — plain text, no link styling */
126
+ .px-breadcrumb__link.is-current[data-v-8be388ff] {
127
+ color: var(--px-breadcrumb-text-color);
128
+ font-weight: 700;
129
+ cursor: default;
130
+ }
131
+ /* Disabled state */
132
+ .px-breadcrumb__item.is-disabled[data-v-8be388ff] {
133
+ opacity: 0.6;
134
+ }
135
+ .px-breadcrumb__link.is-disabled[data-v-8be388ff] {
136
+ cursor: not-allowed;
137
+ color: var(--px-breadcrumb-text-color);
138
+ }
139
+ /* Breadcrumb Icon */
140
+ .px-breadcrumb__icon[data-v-8be388ff] {
141
+ font-size: 14px;
142
+ }
143
+ /* Breadcrumb Separator */
144
+ .px-breadcrumb__separator[data-v-8be388ff] {
145
+ display: inline-flex;
146
+ align-items: center;
147
+ margin: 0 8px;
148
+ color: var(--px-breadcrumb-separator-color);
149
+ font-weight: 400;
150
+ }