@tempots/beatui 0.65.0 → 0.66.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.
package/dist/beatui.css CHANGED
@@ -2333,6 +2333,15 @@ a:focus-visible {
2333
2333
  color: var(--text-normal-dark);
2334
2334
  }
2335
2335
 
2336
+ /* Error state */
2337
+ .bc-input-container--error:has(*.bc-checkbox-input) {
2338
+ outline: none;
2339
+ }
2340
+
2341
+ .bc-input-container--error:focus-within:has(*.bc-checkbox-input) {
2342
+ outline: none;
2343
+ }
2344
+
2336
2345
  .bc-collapse {
2337
2346
  overflow: hidden;
2338
2347
  transition: height
@@ -4333,31 +4342,32 @@ a:focus-visible {
4333
4342
  width: 100%;
4334
4343
  }
4335
4344
 
4336
- /* Horizontal layout variants */
4345
+ /* Horizontal layout variants - use grid for proper error positioning */
4337
4346
  .bc-input-wrapper--horizontal,
4338
4347
  .bc-input-wrapper--horizontal-label-right,
4339
4348
  .bc-input-wrapper--horizontal-fixed {
4340
- flex-direction: row;
4341
- flex-wrap: wrap;
4349
+ display: grid;
4350
+ grid-template-columns: auto 1fr;
4342
4351
  align-items: center;
4343
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
4344
- }
4345
-
4346
- .bc-input-wrapper--horizontal > *,
4347
- .bc-input-wrapper--horizontal-label-right > *,
4348
- .bc-input-wrapper--horizontal-fixed > * {
4349
- min-width: min-content;
4352
+ gap: var(--spacing-sm, calc(var(--spacing-base) * 4));
4350
4353
  }
4351
4354
 
4352
4355
  /* Horizontal with label on right */
4353
4356
  .bc-input-wrapper--horizontal-label-right {
4354
- flex-direction: row-reverse;
4357
+ grid-template-columns: 1fr auto;
4358
+ }
4359
+
4360
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__header {
4361
+ order: 2;
4362
+ }
4363
+
4364
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__content {
4365
+ order: 1;
4355
4366
  }
4356
4367
 
4357
4368
  /* Horizontal with fixed-width label */
4358
- .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__header {
4359
- width: var(--input-wrapper-label-width, 12rem);
4360
- flex-shrink: 0;
4369
+ .bc-input-wrapper--horizontal-fixed {
4370
+ grid-template-columns: var(--input-wrapper-label-width, 12rem) 1fr;
4361
4371
  }
4362
4372
 
4363
4373
  /* Label header container */
@@ -4411,26 +4421,15 @@ a:focus-visible {
4411
4421
  vertical-align: top;
4412
4422
  }
4413
4423
 
4414
- /* Horizontal layout adjustments (all variants) */
4415
- .bc-input-wrapper--horizontal .bc-input-wrapper__header,
4416
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__header {
4417
- flex-shrink: 0;
4418
- min-width: 0;
4419
- /* Allow text to wrap if needed */
4420
- }
4421
-
4422
- .bc-input-wrapper--horizontal .bc-input-wrapper__content,
4423
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__content,
4424
- .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__content {
4425
- flex: 1;
4426
- min-width: 0; /* Prevent overflow issues */
4427
- }
4428
-
4429
- /* Error messages in horizontal mode should always appear on their own line */
4424
+ /* Error messages in horizontal mode span full width on their own row */
4430
4425
  .bc-input-wrapper--horizontal .bc-input-wrapper__error,
4431
4426
  .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error,
4432
4427
  .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__error {
4433
- flex-basis: 100%;
4428
+ grid-column: 1 / -1;
4429
+ }
4430
+
4431
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error {
4432
+ order: 3;
4434
4433
  }
4435
4434
 
4436
4435
  /* Description text */
@@ -2008,6 +2008,15 @@ a:focus-visible {
2008
2008
  color: var(--text-normal-dark);
2009
2009
  }
2010
2010
 
2011
+ /* Error state */
2012
+ .bc-input-container--error:has(*.bc-checkbox-input) {
2013
+ outline: none;
2014
+ }
2015
+
2016
+ .bc-input-container--error:focus-within:has(*.bc-checkbox-input) {
2017
+ outline: none;
2018
+ }
2019
+
2011
2020
  .bc-collapse {
2012
2021
  overflow: hidden;
2013
2022
  transition: height
@@ -4008,31 +4017,32 @@ a:focus-visible {
4008
4017
  width: 100%;
4009
4018
  }
4010
4019
 
4011
- /* Horizontal layout variants */
4020
+ /* Horizontal layout variants - use grid for proper error positioning */
4012
4021
  .bc-input-wrapper--horizontal,
4013
4022
  .bc-input-wrapper--horizontal-label-right,
4014
4023
  .bc-input-wrapper--horizontal-fixed {
4015
- flex-direction: row;
4016
- flex-wrap: wrap;
4024
+ display: grid;
4025
+ grid-template-columns: auto 1fr;
4017
4026
  align-items: center;
4018
- gap: var(--spacing-stack-lg, calc(var(--spacing-base) * 4));
4019
- }
4020
-
4021
- .bc-input-wrapper--horizontal > *,
4022
- .bc-input-wrapper--horizontal-label-right > *,
4023
- .bc-input-wrapper--horizontal-fixed > * {
4024
- min-width: min-content;
4027
+ gap: var(--spacing-sm, calc(var(--spacing-base) * 4));
4025
4028
  }
4026
4029
 
4027
4030
  /* Horizontal with label on right */
4028
4031
  .bc-input-wrapper--horizontal-label-right {
4029
- flex-direction: row-reverse;
4032
+ grid-template-columns: 1fr auto;
4033
+ }
4034
+
4035
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__header {
4036
+ order: 2;
4037
+ }
4038
+
4039
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__content {
4040
+ order: 1;
4030
4041
  }
4031
4042
 
4032
4043
  /* Horizontal with fixed-width label */
4033
- .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__header {
4034
- width: var(--input-wrapper-label-width, 12rem);
4035
- flex-shrink: 0;
4044
+ .bc-input-wrapper--horizontal-fixed {
4045
+ grid-template-columns: var(--input-wrapper-label-width, 12rem) 1fr;
4036
4046
  }
4037
4047
 
4038
4048
  /* Label header container */
@@ -4086,26 +4096,15 @@ a:focus-visible {
4086
4096
  vertical-align: top;
4087
4097
  }
4088
4098
 
4089
- /* Horizontal layout adjustments (all variants) */
4090
- .bc-input-wrapper--horizontal .bc-input-wrapper__header,
4091
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__header {
4092
- flex-shrink: 0;
4093
- min-width: 0;
4094
- /* Allow text to wrap if needed */
4095
- }
4096
-
4097
- .bc-input-wrapper--horizontal .bc-input-wrapper__content,
4098
- .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__content,
4099
- .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__content {
4100
- flex: 1;
4101
- min-width: 0; /* Prevent overflow issues */
4102
- }
4103
-
4104
- /* Error messages in horizontal mode should always appear on their own line */
4099
+ /* Error messages in horizontal mode span full width on their own row */
4105
4100
  .bc-input-wrapper--horizontal .bc-input-wrapper__error,
4106
4101
  .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error,
4107
4102
  .bc-input-wrapper--horizontal-fixed .bc-input-wrapper__error {
4108
- flex-basis: 100%;
4103
+ grid-column: 1 / -1;
4104
+ }
4105
+
4106
+ .bc-input-wrapper--horizontal-label-right .bc-input-wrapper__error {
4107
+ order: 3;
4109
4108
  }
4110
4109
 
4111
4110
  /* Description text */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tempots/beatui",
3
- "version": "0.65.0",
3
+ "version": "0.66.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.umd.js",
6
6
  "module": "dist/index.es.js",