@duskmoon-dev/core 1.13.0 → 1.14.1

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.
@@ -2112,7 +2112,7 @@
2112
2112
  /* Pagination Info */
2113
2113
  .pagination-info {
2114
2114
  display: flex;
2115
- flex-direction: column;
2115
+ flex-direction: row;
2116
2116
  align-items: center;
2117
2117
  gap: 0.5rem;
2118
2118
  }
@@ -13008,57 +13008,90 @@
13008
13008
  /**
13009
13009
  * Divider Component Styles
13010
13010
  * DuskMoonUI - Material Design 3 inspired divider system
13011
+ *
13012
+ * Usage:
13013
+ * <div class="divider"></div> — plain horizontal line
13014
+ * <div class="divider">OR</div> — text centered between lines
13015
+ * <div class="divider divider-start">Title</div> — text at start
13011
13016
  */
13012
13017
 
13013
13018
  @layer components {
13014
- /* Base Divider (Horizontal) */
13019
+ /* ── Base Divider (Horizontal) ──────────────────────────────────── */
13015
13020
  .divider {
13021
+ display: flex;
13022
+ flex-direction: row;
13023
+ align-items: center;
13024
+ gap: 0;
13016
13025
  width: 100%;
13017
- height: 1px;
13018
13026
  margin: 1rem 0;
13027
+ white-space: nowrap;
13028
+ }
13029
+
13030
+ /* Only add gap when content is present so an empty divider renders as one continuous line */
13031
+ .divider:not(:empty) {
13032
+ gap: 1rem;
13033
+ }
13034
+
13035
+ /* The two line segments flanking any content */
13036
+ .divider::before,
13037
+ .divider::after {
13038
+ content: '';
13039
+ flex: 1;
13040
+ height: 1px;
13019
13041
  background-color: var(--color-outline-variant);
13020
- border: none;
13021
13042
  }
13022
13043
 
13023
- /* Vertical Divider */
13044
+ /* ── Vertical Divider ───────────────────────────────────────────── */
13024
13045
  .divider-vertical {
13025
- width: 1px;
13026
- height: auto;
13027
- min-height: 1rem;
13046
+ flex-direction: column;
13047
+ width: auto;
13028
13048
  margin: 0 1rem;
13029
13049
  align-self: stretch;
13030
13050
  }
13031
13051
 
13032
- /* Divider Thickness */
13033
- .divider-thin {
13052
+ .divider-vertical::before,
13053
+ .divider-vertical::after {
13054
+ width: 1px;
13055
+ height: unset; /* let flex: 1 control the length */
13056
+ }
13057
+
13058
+ /* ── Thickness ──────────────────────────────────────────────────── */
13059
+ .divider-thin::before,
13060
+ .divider-thin::after {
13034
13061
  height: 1px;
13035
13062
  }
13036
13063
 
13037
- .divider-thin.divider-vertical {
13064
+ .divider-thin.divider-vertical::before,
13065
+ .divider-thin.divider-vertical::after {
13038
13066
  width: 1px;
13039
- height: auto;
13067
+ height: unset;
13040
13068
  }
13041
13069
 
13042
- .divider-medium {
13070
+ .divider-medium::before,
13071
+ .divider-medium::after {
13043
13072
  height: 2px;
13044
13073
  }
13045
13074
 
13046
- .divider-medium.divider-vertical {
13075
+ .divider-medium.divider-vertical::before,
13076
+ .divider-medium.divider-vertical::after {
13047
13077
  width: 2px;
13048
- height: auto;
13078
+ height: unset;
13049
13079
  }
13050
13080
 
13051
- .divider-thick {
13081
+ .divider-thick::before,
13082
+ .divider-thick::after {
13052
13083
  height: 4px;
13053
13084
  }
13054
13085
 
13055
- .divider-thick.divider-vertical {
13086
+ .divider-thick.divider-vertical::before,
13087
+ .divider-thick.divider-vertical::after {
13056
13088
  width: 4px;
13057
- height: auto;
13089
+ height: unset;
13058
13090
  }
13059
13091
 
13060
- /* Divider Styles */
13061
- .divider-dashed {
13092
+ /* ── Line Styles ────────────────────────────────────────────────── */
13093
+ .divider-dashed::before,
13094
+ .divider-dashed::after {
13062
13095
  background-color: transparent;
13063
13096
  background-image: linear-gradient(
13064
13097
  to right,
@@ -13069,7 +13102,8 @@
13069
13102
  background-repeat: repeat-x;
13070
13103
  }
13071
13104
 
13072
- .divider-dashed.divider-vertical {
13105
+ .divider-dashed.divider-vertical::before,
13106
+ .divider-dashed.divider-vertical::after {
13073
13107
  background-image: linear-gradient(
13074
13108
  to bottom,
13075
13109
  var(--color-outline-variant) 50%,
@@ -13079,7 +13113,8 @@
13079
13113
  background-repeat: repeat-y;
13080
13114
  }
13081
13115
 
13082
- .divider-dotted {
13116
+ .divider-dotted::before,
13117
+ .divider-dotted::after {
13083
13118
  background-color: transparent;
13084
13119
  background-image: linear-gradient(
13085
13120
  to right,
@@ -13090,7 +13125,8 @@
13090
13125
  background-repeat: repeat-x;
13091
13126
  }
13092
13127
 
13093
- .divider-dotted.divider-vertical {
13128
+ .divider-dotted.divider-vertical::before,
13129
+ .divider-dotted.divider-vertical::after {
13094
13130
  background-image: linear-gradient(
13095
13131
  to bottom,
13096
13132
  var(--color-outline-variant) 25%,
@@ -13100,12 +13136,14 @@
13100
13136
  background-repeat: repeat-y;
13101
13137
  }
13102
13138
 
13103
- /* Color Variants */
13104
- .divider-primary {
13139
+ /* ── Color Variants ─────────────────────────────────────────────── */
13140
+ .divider-primary::before,
13141
+ .divider-primary::after {
13105
13142
  background-color: var(--color-primary);
13106
13143
  }
13107
13144
 
13108
- .divider-primary.divider-dashed {
13145
+ .divider-primary.divider-dashed::before,
13146
+ .divider-primary.divider-dashed::after {
13109
13147
  background-image: linear-gradient(
13110
13148
  to right,
13111
13149
  var(--color-primary) 50%,
@@ -13113,7 +13151,8 @@
13113
13151
  );
13114
13152
  }
13115
13153
 
13116
- .divider-primary.divider-dashed.divider-vertical {
13154
+ .divider-primary.divider-dashed.divider-vertical::before,
13155
+ .divider-primary.divider-dashed.divider-vertical::after {
13117
13156
  background-image: linear-gradient(
13118
13157
  to bottom,
13119
13158
  var(--color-primary) 50%,
@@ -13121,20 +13160,114 @@
13121
13160
  );
13122
13161
  }
13123
13162
 
13124
- .divider-secondary {
13163
+ .divider-secondary::before,
13164
+ .divider-secondary::after {
13125
13165
  background-color: var(--color-secondary);
13126
13166
  }
13127
13167
 
13128
- .divider-light {
13129
- background-color: var(--color-outline-variant);
13130
- opacity: 0.5;
13168
+ .divider-tertiary::before,
13169
+ .divider-tertiary::after {
13170
+ background-color: var(--color-tertiary);
13131
13171
  }
13132
13172
 
13133
- .divider-dark {
13134
- background-color: var(--color-outline);
13173
+ .divider-info::before,
13174
+ .divider-info::after {
13175
+ background-color: var(--color-info);
13176
+ }
13177
+
13178
+ .divider-success::before,
13179
+ .divider-success::after {
13180
+ background-color: var(--color-success);
13181
+ }
13182
+
13183
+ .divider-warning::before,
13184
+ .divider-warning::after {
13185
+ background-color: var(--color-warning);
13186
+ }
13187
+
13188
+ .divider-error::before,
13189
+ .divider-error::after {
13190
+ background-color: var(--color-error);
13191
+ }
13192
+
13193
+ /* ── Gradient Lines ─────────────────────────────────────────────── */
13194
+ .divider-gradient::before,
13195
+ .divider-gradient::after {
13196
+ background: linear-gradient(
13197
+ to right,
13198
+ transparent,
13199
+ var(--color-outline-variant) 20%,
13200
+ var(--color-outline-variant) 80%,
13201
+ transparent
13202
+ );
13203
+ }
13204
+
13205
+ .divider-gradient.divider-vertical::before,
13206
+ .divider-gradient.divider-vertical::after {
13207
+ background: linear-gradient(
13208
+ to bottom,
13209
+ transparent,
13210
+ var(--color-outline-variant) 20%,
13211
+ var(--color-outline-variant) 80%,
13212
+ transparent
13213
+ );
13214
+ }
13215
+
13216
+ /* ── Content Positioning ────────────────────────────────────────── */
13217
+
13218
+ /* Push content to start: shrink the leading line segment */
13219
+ .divider-start::before {
13220
+ flex: 0 0 2rem;
13221
+ }
13222
+
13223
+ /* Push content to end: shrink the trailing line segment */
13224
+ .divider-end::after {
13225
+ flex: 0 0 2rem;
13226
+ }
13227
+
13228
+ /* Vertical equivalents */
13229
+ .divider-vertical.divider-start::before {
13230
+ flex: 0 0 2rem;
13231
+ }
13232
+
13233
+ .divider-vertical.divider-end::after {
13234
+ flex: 0 0 2rem;
13235
+ }
13236
+
13237
+ /* ── Spacing Variants ───────────────────────────────────────────── */
13238
+ .divider-compact {
13239
+ margin: 0.25rem 0;
13240
+ }
13241
+
13242
+ .divider-compact:not(:empty) {
13243
+ gap: 0.5rem;
13244
+ }
13245
+
13246
+ .divider-compact.divider-vertical {
13247
+ margin: 0 0.25rem;
13248
+ }
13249
+
13250
+ .divider-comfortable {
13251
+ margin: 1.5rem 0;
13252
+ }
13253
+
13254
+ .divider-comfortable.divider-vertical {
13255
+ margin: 0 1.5rem;
13256
+ }
13257
+
13258
+ .divider-spacious {
13259
+ margin: 2rem 0;
13260
+ }
13261
+
13262
+ .divider-spacious:not(:empty) {
13263
+ gap: 1.5rem;
13264
+ }
13265
+
13266
+ .divider-spacious.divider-vertical {
13267
+ margin: 0 2rem;
13135
13268
  }
13136
13269
 
13137
- /* Spacing Variants */
13270
+ /* Legacy spacing aliases */
13138
13271
  .divider-none {
13139
13272
  margin: 0;
13140
13273
  }
@@ -13171,122 +13304,64 @@
13171
13304
  margin: 0 2rem;
13172
13305
  }
13173
13306
 
13174
- /* Divider with Text (Horizontal) */
13175
- .divider-text {
13176
- display: flex;
13177
- align-items: center;
13178
- gap: 1rem;
13179
- height: auto;
13180
- background-color: transparent;
13181
- }
13182
-
13183
- .divider-text::before,
13184
- .divider-text::after {
13185
- content: '';
13186
- flex: 1;
13187
- height: 1px;
13188
- background-color: var(--color-outline-variant);
13189
- }
13190
-
13191
- .divider-text-content {
13192
- font-size: 0.75rem;
13193
- font-weight: 500;
13194
- color: var(--color-on-surface-variant);
13195
- text-transform: uppercase;
13196
- letter-spacing: 0.025em;
13197
- white-space: nowrap;
13198
- }
13199
-
13200
- /* Text Position */
13201
- .divider-text-left::before {
13202
- flex: 0 0 2rem;
13203
- }
13204
-
13205
- .divider-text-right::after {
13206
- flex: 0 0 2rem;
13207
- }
13208
-
13209
- /* Inset Divider */
13307
+ /* ── Inset Divider ──────────────────────────────────────────────── */
13210
13308
  .divider-inset {
13211
- margin-left: 4rem;
13212
- width: calc(100% - 4rem);
13309
+ padding-left: 4rem;
13213
13310
  }
13214
13311
 
13215
13312
  .divider-inset-right {
13216
- margin-right: 4rem;
13217
- width: calc(100% - 4rem);
13313
+ padding-right: 4rem;
13218
13314
  }
13219
13315
 
13220
13316
  .divider-inset-both {
13221
- margin-left: 4rem;
13222
- margin-right: 4rem;
13223
- width: calc(100% - 8rem);
13317
+ padding-left: 4rem;
13318
+ padding-right: 4rem;
13224
13319
  }
13225
13320
 
13226
- /* List Divider (for use between list items) */
13321
+ /* ── List / Card Helpers ────────────────────────────────────────── */
13227
13322
  .divider-list {
13228
13323
  margin: 0;
13229
- margin-left: 1rem;
13230
- width: calc(100% - 1rem);
13324
+ padding-left: 1rem;
13231
13325
  }
13232
13326
 
13233
- /* Card Divider */
13234
13327
  .divider-card {
13235
13328
  margin: 0;
13236
13329
  margin-left: -1rem;
13237
13330
  margin-right: -1rem;
13238
- width: calc(100% + 2rem);
13239
- }
13240
-
13241
- /* Gradient Divider */
13242
- .divider-gradient {
13243
- background: linear-gradient(
13244
- to right,
13245
- transparent,
13246
- var(--color-outline-variant) 20%,
13247
- var(--color-outline-variant) 80%,
13248
- transparent
13249
- );
13250
13331
  }
13251
13332
 
13252
- .divider-gradient.divider-vertical {
13253
- background: linear-gradient(
13254
- to bottom,
13255
- transparent,
13256
- var(--color-outline-variant) 20%,
13257
- var(--color-outline-variant) 80%,
13258
- transparent
13259
- );
13333
+ /* ── Legacy: divider-text aliases ──────────────────────────────── */
13334
+ /* divider-text is now just .divider — kept for backwards compat */
13335
+ .divider-text {
13336
+ display: flex;
13337
+ flex-direction: row;
13338
+ align-items: center;
13339
+ gap: 0;
13340
+ width: 100%;
13341
+ margin: 1rem 0;
13342
+ white-space: nowrap;
13260
13343
  }
13261
13344
 
13262
- /* Decorative Divider */
13263
- .divider-decorative {
13264
- position: relative;
13265
- height: auto;
13266
- padding: 1rem 0;
13267
- background-color: transparent;
13268
- text-align: center;
13345
+ .divider-text:not(:empty) {
13346
+ gap: 1rem;
13269
13347
  }
13270
13348
 
13271
- .divider-decorative::before {
13349
+ .divider-text::before,
13350
+ .divider-text::after {
13272
13351
  content: '';
13273
- position: absolute;
13274
- top: 50%;
13275
- left: 0;
13276
- right: 0;
13352
+ flex: 1;
13277
13353
  height: 1px;
13278
13354
  background-color: var(--color-outline-variant);
13279
13355
  }
13280
13356
 
13281
- .divider-decorative-icon {
13282
- position: relative;
13283
- display: inline-flex;
13284
- align-items: center;
13285
- justify-content: center;
13286
- width: 2rem;
13287
- height: 2rem;
13288
- background-color: var(--color-surface);
13289
- color: var(--color-on-surface-variant);
13357
+ .divider-text-left::before,
13358
+ .divider-text-left.divider-text::before {
13359
+ flex: 0 0 2rem;
13360
+ }
13361
+
13362
+ .divider-text-right::after,
13363
+ .divider-text-right.divider-text::after {
13364
+ flex: 0 0 2rem;
13290
13365
  }
13291
13366
  }
13292
13367
 
@@ -630,7 +630,7 @@
630
630
  /* Pagination Info */
631
631
  .pagination-info {
632
632
  display: flex;
633
- flex-direction: column;
633
+ flex-direction: row;
634
634
  align-items: center;
635
635
  gap: 0.5rem;
636
636
  }