@iyulab/chat-components 0.16.1 → 0.17.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/CHANGELOG.md CHANGED
@@ -1,5 +1,14 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.17.0] - 2026-10-05
4
+
5
+ ### Added
6
+
7
+ - **Press targets follow `--u-target-size`** (the host's minimum target size from `@iyulab/components`).
8
+ When it is set, the reference block header, reference card navigation, table sort buttons, the map
9
+ caption link and the image/file preview close buttons are at least that size. Unset, nothing changes.
10
+ Inline citation markers keep their size — they sit in a line of text.
11
+
3
12
  ## [0.16.1] - 2026-10-03
4
13
 
5
14
  ### Changed
@@ -165,8 +165,9 @@ var styles = css`
165
165
 
166
166
  .preview-close {
167
167
  flex-shrink: 0;
168
- width: 36px;
169
- height: 36px;
168
+ /* 호스트 하한(--u-target-size)이 더 크면 그 값. */
169
+ width: max(36px, var(--u-target-size, 0px));
170
+ height: max(36px, var(--u-target-size, 0px));
170
171
  border: none;
171
172
  border-radius: 12px;
172
173
  background: transparent;
@@ -15,6 +15,9 @@ var styles = css`
15
15
  align-items: center;
16
16
  justify-content: space-between;
17
17
  gap: 0.5em;
18
+ /* 호스트 하한(--u-target-size, 미설정 = 0). */
19
+ box-sizing: border-box;
20
+ min-height: var(--u-target-size, 0px);
18
21
  color: var(--u-txt-color-strong);
19
22
  user-select: none;
20
23
  cursor: pointer;
@@ -99,6 +99,7 @@ var styles = css`
99
99
  align-items: center;
100
100
  inline-size: 100%;
101
101
  padding: 8px 12px;
102
+ min-block-size: var(--u-target-size, 0px);
102
103
  font: inherit;
103
104
  color: inherit;
104
105
  cursor: pointer;
@@ -36,8 +36,8 @@ var styles = css`
36
36
  /* WCAG 2.2 SC 2.5.8 — 실측 16x16 이라 포인터 타깃이 모자랐다. 배경도 테두리도 없는
37
37
  아이콘 버튼이라 상자를 키워도 **보이는 것은 그대로**다: 아이콘 치수는 위 font-size 가
38
38
  정하고 여기서 늘어나는 것은 잡히는 영역뿐이다. */
39
- min-inline-size: 24px;
40
- min-block-size: 24px;
39
+ min-inline-size: max(24px, var(--u-target-size, 0px));
40
+ min-block-size: max(24px, var(--u-target-size, 0px));
41
41
  }
42
42
  .nav-button:hover u-icon {
43
43
  opacity: 0.6;
@@ -103,8 +103,9 @@ var styles = css`
103
103
  right: 16px;
104
104
  top: 50%;
105
105
  transform: translateY(-50%);
106
- width: 36px;
107
- height: 36px;
106
+ /* 호스트 하한(--u-target-size)이 더 크면 그 값. */
107
+ width: max(36px, var(--u-target-size, 0px));
108
+ height: max(36px, var(--u-target-size, 0px));
108
109
  border: none;
109
110
  border-radius: 12px;
110
111
  background: transparent;
@@ -37,6 +37,10 @@ var styles = css`
37
37
  flex-direction: column;
38
38
  gap: 0.25em;
39
39
  padding: 0.25em 0.5em;
40
+ /* 호스트 하한(--u-target-size, 미설정 = 0) — 상자는 border-box(기반 스타일)라 여백을 포함한다. */
41
+ min-height: var(--u-target-size, 0px);
42
+ min-width: var(--u-target-size, 0px);
43
+ justify-content: center;
40
44
  color: #fff;
41
45
  background: rgba(0, 0, 0, 0.6);
42
46
  border-radius: 6px;
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UCodeBlock as UCodeBlockElement } from '@iyulab/chat-components/dist/components/blocks/UCodeBlock.js';
3
3
 
4
+ type UCodeBlockOwnProps = Omit<UCodeBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UCodeBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UCodeBlockElement>, keyof React.HTMLAttributes<UCodeBlockElement>>
6
- & Omit<React.HTMLAttributes<UCodeBlockElement>, never>
7
+ Partial<Omit<UCodeBlockElement, Exclude<keyof React.HTMLAttributes<UCodeBlockElement>, keyof UCodeBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UCodeBlockElement>, keyof UCodeBlockOwnProps | never>
7
9
  & React.RefAttributes<UCodeBlockElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UElementBlock as UElementBlockElement } from '@iyulab/chat-components/dist/components/blocks/UElementBlock.js';
3
3
 
4
+ type UElementBlockOwnProps = Omit<UElementBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UElementBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UElementBlockElement>, keyof React.HTMLAttributes<UElementBlockElement>>
6
- & Omit<React.HTMLAttributes<UElementBlockElement>, never>
7
+ Partial<Omit<UElementBlockElement, Exclude<keyof React.HTMLAttributes<UElementBlockElement>, keyof UElementBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UElementBlockElement>, keyof UElementBlockOwnProps | never>
7
9
  & React.RefAttributes<UElementBlockElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UFileBlock as UFileBlockElement } from '@iyulab/chat-components/dist/components/blocks/UFileBlock.js';
3
3
 
4
+ type UFileBlockOwnProps = Omit<UFileBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UFileBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UFileBlockElement>, keyof React.HTMLAttributes<UFileBlockElement>>
6
- & Omit<React.HTMLAttributes<UFileBlockElement>, 'onRemove'>
7
+ Partial<Omit<UFileBlockElement, Exclude<keyof React.HTMLAttributes<UFileBlockElement>, keyof UFileBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UFileBlockElement>, keyof UFileBlockOwnProps | 'onRemove'>
7
9
  & React.RefAttributes<UFileBlockElement>
8
10
  & {
9
11
  onRemove?: (event: CustomEvent<RemoveEventDetail>) => void;
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UImagesBlock as UImagesBlockElement } from '@iyulab/chat-components/dist/components-extra/UImagesBlock.js';
3
3
 
4
+ type UImagesBlockOwnProps = Omit<UImagesBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UImagesBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UImagesBlockElement>, keyof React.HTMLAttributes<UImagesBlockElement>>
6
- & Omit<React.HTMLAttributes<UImagesBlockElement>, never>
7
+ Partial<Omit<UImagesBlockElement, Exclude<keyof React.HTMLAttributes<UImagesBlockElement>, keyof UImagesBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UImagesBlockElement>, keyof UImagesBlockOwnProps | never>
7
9
  & React.RefAttributes<UImagesBlockElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UMapBlock as UMapBlockElement } from '@iyulab/chat-components/dist/components-extra/UMapBlock.js';
3
3
 
4
+ type UMapBlockOwnProps = Omit<UMapBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UMapBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UMapBlockElement>, keyof React.HTMLAttributes<UMapBlockElement>>
6
- & Omit<React.HTMLAttributes<UMapBlockElement>, never>
7
+ Partial<Omit<UMapBlockElement, Exclude<keyof React.HTMLAttributes<UMapBlockElement>, keyof UMapBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UMapBlockElement>, keyof UMapBlockOwnProps | never>
7
9
  & React.RefAttributes<UMapBlockElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UMarkedBlock as UMarkedBlockElement } from '@iyulab/chat-components/dist/components/blocks/UMarkedBlock.js';
3
3
 
4
+ type UMarkedBlockOwnProps = Omit<UMarkedBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UMarkedBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UMarkedBlockElement>, keyof React.HTMLAttributes<UMarkedBlockElement>>
6
- & Omit<React.HTMLAttributes<UMarkedBlockElement>, never>
7
+ Partial<Omit<UMarkedBlockElement, Exclude<keyof React.HTMLAttributes<UMarkedBlockElement>, keyof UMarkedBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UMarkedBlockElement>, keyof UMarkedBlockOwnProps | never>
7
9
  & React.RefAttributes<UMarkedBlockElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UMessage as UMessageElement } from '@iyulab/chat-components/dist/components/message/UMessage.js';
3
3
 
4
+ type UMessageOwnProps = Omit<UMessageElement, keyof HTMLElement>;
5
+
4
6
  export declare const UMessage: React.ForwardRefExoticComponent<
5
- Omit<Partial<UMessageElement>, keyof React.HTMLAttributes<UMessageElement>>
6
- & Omit<React.HTMLAttributes<UMessageElement>, never>
7
+ Partial<Omit<UMessageElement, Exclude<keyof React.HTMLAttributes<UMessageElement>, keyof UMessageOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UMessageElement>, keyof UMessageOwnProps | never>
7
9
  & React.RefAttributes<UMessageElement>
8
10
  & {
9
11
  }
@@ -3,9 +3,11 @@ import { UPrompt as UPromptElement } from '@iyulab/chat-components/dist/componen
3
3
  import { type StopEventDetail } from '@iyulab/chat-components/dist/events/StopEvent.js';
4
4
  import { type SendEventDetail } from '@iyulab/chat-components/dist/events/SendEvent.js';
5
5
 
6
+ type UPromptOwnProps = Omit<UPromptElement, keyof HTMLElement>;
7
+
6
8
  export declare const UPrompt: React.ForwardRefExoticComponent<
7
- Omit<Partial<UPromptElement>, keyof React.HTMLAttributes<UPromptElement>>
8
- & Omit<React.HTMLAttributes<UPromptElement>, 'onStop' | 'onSend'>
9
+ Partial<Omit<UPromptElement, Exclude<keyof React.HTMLAttributes<UPromptElement>, keyof UPromptOwnProps>>>
10
+ & Omit<React.HTMLAttributes<UPromptElement>, keyof UPromptOwnProps | 'onStop' | 'onSend'>
9
11
  & React.RefAttributes<UPromptElement>
10
12
  & {
11
13
  onStop?: (event: CustomEvent<StopEventDetail>) => void;
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { URefBlock as URefBlockElement } from '@iyulab/chat-components/dist/components/blocks/URefBlock.js';
3
3
 
4
+ type URefBlockOwnProps = Omit<URefBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const URefBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<URefBlockElement>, keyof React.HTMLAttributes<URefBlockElement>>
6
- & Omit<React.HTMLAttributes<URefBlockElement>, never>
7
+ Partial<Omit<URefBlockElement, Exclude<keyof React.HTMLAttributes<URefBlockElement>, keyof URefBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<URefBlockElement>, keyof URefBlockOwnProps | never>
7
9
  & React.RefAttributes<URefBlockElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { URefCard as URefCardElement } from '@iyulab/chat-components/dist/components/references/URefCard.js';
3
3
 
4
+ type URefCardOwnProps = Omit<URefCardElement, keyof HTMLElement>;
5
+
4
6
  export declare const URefCard: React.ForwardRefExoticComponent<
5
- Omit<Partial<URefCardElement>, keyof React.HTMLAttributes<URefCardElement>>
6
- & Omit<React.HTMLAttributes<URefCardElement>, never>
7
+ Partial<Omit<URefCardElement, Exclude<keyof React.HTMLAttributes<URefCardElement>, keyof URefCardOwnProps>>>
8
+ & Omit<React.HTMLAttributes<URefCardElement>, keyof URefCardOwnProps | never>
7
9
  & React.RefAttributes<URefCardElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { URefCardGroup as URefCardGroupElement } from '@iyulab/chat-components/dist/components/references/URefCardGroup.js';
3
3
 
4
+ type URefCardGroupOwnProps = Omit<URefCardGroupElement, keyof HTMLElement>;
5
+
4
6
  export declare const URefCardGroup: React.ForwardRefExoticComponent<
5
- Omit<Partial<URefCardGroupElement>, keyof React.HTMLAttributes<URefCardGroupElement>>
6
- & Omit<React.HTMLAttributes<URefCardGroupElement>, never>
7
+ Partial<Omit<URefCardGroupElement, Exclude<keyof React.HTMLAttributes<URefCardGroupElement>, keyof URefCardGroupOwnProps>>>
8
+ & Omit<React.HTMLAttributes<URefCardGroupElement>, keyof URefCardGroupOwnProps | never>
7
9
  & React.RefAttributes<URefCardGroupElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { URefTag as URefTagElement } from '@iyulab/chat-components/dist/components/references/URefTag.js';
3
3
 
4
+ type URefTagOwnProps = Omit<URefTagElement, keyof HTMLElement>;
5
+
4
6
  export declare const URefTag: React.ForwardRefExoticComponent<
5
- Omit<Partial<URefTagElement>, keyof React.HTMLAttributes<URefTagElement>>
6
- & Omit<React.HTMLAttributes<URefTagElement>, never>
7
+ Partial<Omit<URefTagElement, Exclude<keyof React.HTMLAttributes<URefTagElement>, keyof URefTagOwnProps>>>
8
+ & Omit<React.HTMLAttributes<URefTagElement>, keyof URefTagOwnProps | never>
7
9
  & React.RefAttributes<URefTagElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UTableBlock as UTableBlockElement } from '@iyulab/chat-components/dist/components/blocks/UTableBlock.js';
3
3
 
4
+ type UTableBlockOwnProps = Omit<UTableBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UTableBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UTableBlockElement>, keyof React.HTMLAttributes<UTableBlockElement>>
6
- & Omit<React.HTMLAttributes<UTableBlockElement>, never>
7
+ Partial<Omit<UTableBlockElement, Exclude<keyof React.HTMLAttributes<UTableBlockElement>, keyof UTableBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UTableBlockElement>, keyof UTableBlockOwnProps | never>
7
9
  & React.RefAttributes<UTableBlockElement>
8
10
  & {
9
11
  }
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UTextBlock as UTextBlockElement } from '@iyulab/chat-components/dist/components/blocks/UTextBlock.js';
3
3
 
4
+ type UTextBlockOwnProps = Omit<UTextBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UTextBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UTextBlockElement>, keyof React.HTMLAttributes<UTextBlockElement>>
6
- & Omit<React.HTMLAttributes<UTextBlockElement>, 'onInput'>
7
+ Partial<Omit<UTextBlockElement, Exclude<keyof React.HTMLAttributes<UTextBlockElement>, keyof UTextBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UTextBlockElement>, keyof UTextBlockOwnProps | 'onInput'>
7
9
  & React.RefAttributes<UTextBlockElement>
8
10
  & {
9
11
  onInput?: (event: CustomEvent) => void;
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
2
  import { UVideoBlock as UVideoBlockElement } from '@iyulab/chat-components/dist/components-extra/UVideoBlock.js';
3
3
 
4
+ type UVideoBlockOwnProps = Omit<UVideoBlockElement, keyof HTMLElement>;
5
+
4
6
  export declare const UVideoBlock: React.ForwardRefExoticComponent<
5
- Omit<Partial<UVideoBlockElement>, keyof React.HTMLAttributes<UVideoBlockElement>>
6
- & Omit<React.HTMLAttributes<UVideoBlockElement>, never>
7
+ Partial<Omit<UVideoBlockElement, Exclude<keyof React.HTMLAttributes<UVideoBlockElement>, keyof UVideoBlockOwnProps>>>
8
+ & Omit<React.HTMLAttributes<UVideoBlockElement>, keyof UVideoBlockOwnProps | never>
7
9
  & React.RefAttributes<UVideoBlockElement>
8
10
  & {
9
11
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@iyulab/chat-components",
3
3
  "description": "llm chat components for building chat interfaces",
4
- "version": "0.16.1",
4
+ "version": "0.17.0",
5
5
  "author": "iyulab",
6
6
  "license": "MIT",
7
7
  "keywords": [
@@ -4,7 +4,6 @@ description: LLM chat UI component library. Covers all u-* custom elements for b
4
4
  license: MIT
5
5
  metadata:
6
6
  author: iyulab
7
- version: "0.7.0"
8
7
  ---
9
8
 
10
9
  # @iyulab/chat-components