@iyulab/components 1.2.1 → 1.3.2

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/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.3.2] - 2026-07-02
4
+
5
+ ### Documentation
6
+ - `docs/form-controls.md`: `UCheckbox`의 `label` attribute가 다른 폼 컨트롤과 달리 default slot의 fallback content로 쓰인다는 점(slot이 있으면 attribute보다 우선)을 "Common Properties" 표 아래에 명시.
7
+
8
+ ## [1.3.1] - 2026-07-02
9
+
10
+ ### Added
11
+ - `UInput`: `--u-input-display` CSS 커스텀 프로퍼티 추가(기본값 `inline-block`, 기존과 동일). 폼/그리드 셀에서 전체 폭을 채우려는 소비자는 `u-input { --u-input-display: block; }`로 오버라이드 가능 — 이전에는 전역 `u-input{ display:block; width:100% }` 같은 하드코딩 우회가 필요했다.
12
+
13
+ ## [1.3.0] - 2026-07-02
14
+
15
+ ### Fixed
16
+ - `UFloatingElement.strategy`에 `reflect: true` 누락 수정 — JS로 `.strategy = 'fixed'`를 설정해도 host 속성이 갱신되지 않아 `:host([strategy="fixed"])` CSS 셀렉터가 매치되지 않던 버그.
17
+
18
+ ### Changed
19
+ - `USelect` 내부 `<u-popover>`의 기본 위치 전략을 `strategy="fixed"`로 변경. 기존 `absolute` 기본값은 `UDrawer` body(`overflow:auto`)처럼 스크롤 컨테이너 안에 `u-select`가 놓이면 팝오버가 잘리는 문제가 있었다(흔한 "폼 드로어 + 셀렉트" 조합에서 재현). `fixed`는 뷰포트 기준으로 그려져 조상의 `overflow`에 클리핑되지 않으며, `@floating-ui/dom`의 `autoUpdate`가 스크롤/리사이즈 시 위치를 계속 재계산하므로 기존 동작과 시각적으로 동일하게 보인다.
20
+
3
21
  ## [1.2.1] - 2026-07-02
4
22
 
5
23
  ### Fixed
@@ -220,7 +220,10 @@ __decorate([property({
220
220
  type: String,
221
221
  reflect: true
222
222
  }), __decorateMetadata("design:type", String)], UFloatingElement.prototype, "for", void 0);
223
- __decorate([property({ type: String }), __decorateMetadata("design:type", Object)], UFloatingElement.prototype, "strategy", void 0);
223
+ __decorate([property({
224
+ type: String,
225
+ reflect: true
226
+ }), __decorateMetadata("design:type", Object)], UFloatingElement.prototype, "strategy", void 0);
224
227
  __decorate([property({ type: String }), __decorateMetadata("design:type", Object)], UFloatingElement.prototype, "placement", void 0);
225
228
  __decorate([property({ type: Number }), __decorateMetadata("design:type", Object)], UFloatingElement.prototype, "offset", void 0);
226
229
  __decorate([property({ type: Boolean }), __decorateMetadata("design:type", Boolean)], UFloatingElement.prototype, "shift", void 0);
@@ -10,7 +10,7 @@ var styles = css`
10
10
 
11
11
  :host {
12
12
  position: relative;
13
- display: inline-block;
13
+ display: var(--u-input-display, inline-block);
14
14
  color: var(--u-txt-color);
15
15
  font-size: inherit;
16
16
  font-family: var(--u-font-base);
@@ -180,6 +180,7 @@ var USelect = class USelect extends UFormControlElement {
180
180
  trigger="click"
181
181
  placement="bottom-start"
182
182
  offset="1"
183
+ strategy="fixed"
183
184
  @show=${this.handlePopoverEvent}
184
185
  @hide=${this.handlePopoverEvent}
185
186
  >
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iyulab/components",
3
3
  "description": "web-components library based on lit-element made by iyulab",
4
- "version": "1.2.1",
4
+ "version": "1.3.2",
5
5
  "keywords": [
6
6
  "iyulab",
7
7
  "components",
@@ -42,6 +42,7 @@
42
42
  "dev": "vite --force",
43
43
  "test": "vitest run",
44
44
  "test:watch": "vitest",
45
+ "test:browser": "vitest run --project=browser",
45
46
  "build:plugins": "tsc -p plugins/tsconfig.json",
46
47
  "build": "eslint && vite build && npm run build:plugins"
47
48
  },
@@ -65,6 +66,7 @@
65
66
  "devDependencies": {
66
67
  "@eslint/js": "^9.39.4",
67
68
  "@types/node": "^25.8.0",
69
+ "@vitest/browser-playwright": "^4.1.8",
68
70
  "eslint": "^9.39.4",
69
71
  "eslint-plugin-lit": "^2.3.1",
70
72
  "glob": "^13.0.6",