@devslab/dds-react 0.0.0-stage → 0.21.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/LICENSE +74 -0
- package/README.ko.md +49 -0
- package/README.md +54 -2
- package/dist/console-shell.d.ts +44 -0
- package/dist/console-shell.d.ts.map +1 -0
- package/dist/controls.d.ts +45 -0
- package/dist/controls.d.ts.map +1 -0
- package/dist/date-picker.d.ts +13 -0
- package/dist/date-picker.d.ts.map +1 -0
- package/dist/icon.d.ts +10 -0
- package/dist/icon.d.ts.map +1 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +614 -0
- package/dist/index.js.map +1 -0
- package/dist/overlays.d.ts +36 -0
- package/dist/overlays.d.ts.map +1 -0
- package/dist/selection.d.ts +30 -0
- package/dist/selection.d.ts.map +1 -0
- package/dist/status-pill.d.ts +11 -0
- package/dist/status-pill.d.ts.map +1 -0
- package/dist/toast.d.ts +25 -0
- package/dist/toast.d.ts.map +1 -0
- package/package.json +75 -3
- package/styles.css +38 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
DevsLab Source-Available License 1.0
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 DevsLab. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This license governs the DDS software, design tokens, components, icons,
|
|
6
|
+
documentation, and other materials distributed with this license (the
|
|
7
|
+
"Software").
|
|
8
|
+
|
|
9
|
+
1. Permitted use
|
|
10
|
+
|
|
11
|
+
Subject to this license, DevsLab grants you a limited, worldwide,
|
|
12
|
+
non-exclusive, non-transferable, revocable, royalty-free right to:
|
|
13
|
+
|
|
14
|
+
- download and install unmodified copies of the Software;
|
|
15
|
+
- use and execute the Software for internal or commercial applications;
|
|
16
|
+
- compile, minify, tree-shake, and bundle unmodified Software solely as a
|
|
17
|
+
technical part of building an application; and
|
|
18
|
+
- distribute the resulting object code only as an inseparable part of that
|
|
19
|
+
application and not as a standalone library, design system, component kit,
|
|
20
|
+
template, or asset collection.
|
|
21
|
+
|
|
22
|
+
Normal application configuration through documented public APIs, design-token
|
|
23
|
+
overrides, CSS custom properties, and component properties is permitted and is
|
|
24
|
+
not considered modification of the Software.
|
|
25
|
+
|
|
26
|
+
2. Restrictions
|
|
27
|
+
|
|
28
|
+
Except where applicable law does not allow the restriction, you may not:
|
|
29
|
+
|
|
30
|
+
- modify, adapt, translate, reverse engineer, or create derivative works of the
|
|
31
|
+
Software itself;
|
|
32
|
+
- publish, republish, sublicense, sell, rent, host, or redistribute the
|
|
33
|
+
Software or any modified version as a standalone package or downloadable
|
|
34
|
+
collection;
|
|
35
|
+
- use the Software or a substantial portion of it to create or operate a
|
|
36
|
+
competing general-purpose design system, UI kit, component library, icon
|
|
37
|
+
library, token library, template marketplace, or hosted equivalent;
|
|
38
|
+
- remove or alter copyright, license, attribution, or provenance notices; or
|
|
39
|
+
- use DevsLab names, logos, product marks, or trade dress except to make a
|
|
40
|
+
truthful statement that an application uses the Software.
|
|
41
|
+
|
|
42
|
+
No patent, trademark, design, or branding rights are granted except the
|
|
43
|
+
copyright permissions stated in Section 1.
|
|
44
|
+
|
|
45
|
+
3. Ownership and feedback
|
|
46
|
+
|
|
47
|
+
The Software is licensed, not sold. DevsLab and its licensors retain all
|
|
48
|
+
right, title, and interest in the Software. You grant DevsLab a perpetual,
|
|
49
|
+
worldwide, irrevocable, royalty-free right to use feedback you voluntarily
|
|
50
|
+
provide about the Software.
|
|
51
|
+
|
|
52
|
+
4. Termination
|
|
53
|
+
|
|
54
|
+
This license terminates automatically if you breach it. Upon termination, you
|
|
55
|
+
must stop using and distributing the Software and delete all copies under your
|
|
56
|
+
control. Sections 2, 3, 5, and 6 survive termination.
|
|
57
|
+
|
|
58
|
+
5. Disclaimer and limitation of liability
|
|
59
|
+
|
|
60
|
+
THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
|
|
61
|
+
EXPRESS OR IMPLIED, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
62
|
+
PURPOSE, TITLE, AND NON-INFRINGEMENT. TO THE MAXIMUM EXTENT PERMITTED BY LAW,
|
|
63
|
+
DEVSLAB WILL NOT BE LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL,
|
|
64
|
+
CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES, OR FOR LOSS OF DATA, PROFITS,
|
|
65
|
+
REVENUE, OR BUSINESS, ARISING FROM OR RELATED TO THE SOFTWARE.
|
|
66
|
+
|
|
67
|
+
6. Governing law
|
|
68
|
+
|
|
69
|
+
This license is governed by the laws of the Republic of Korea, excluding
|
|
70
|
+
conflict-of-law rules. The Seoul Central District Court has exclusive
|
|
71
|
+
jurisdiction over disputes arising from this license.
|
|
72
|
+
|
|
73
|
+
This is a source-available license, not an open-source license approved by the
|
|
74
|
+
Open Source Initiative.
|
package/README.ko.md
ADDED
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
# DDS React
|
|
2
|
+
|
|
3
|
+
Ark UI 5.39.3과 DDS 토큰·CSS·아이콘을 사용하는 React 접근성 컴포넌트입니다. React/React DOM 18.3 또는 19를 peer dependency로 사용합니다.
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import '@devslab/dds-react/styles.css';
|
|
7
|
+
import { Button, Field, Select, Dialog } from '@devslab/dds-react';
|
|
8
|
+
|
|
9
|
+
<Field label="국가" helpText="국가를 선택하세요">
|
|
10
|
+
{control => <Select {...control} defaultValue="kr"><option value="kr">한국</option></Select>}
|
|
11
|
+
</Field>
|
|
12
|
+
<Button onClick={() => setOpen(true)}>편집</Button>
|
|
13
|
+
<Dialog open={open} onOpenChange={setOpen} title="국가 편집">
|
|
14
|
+
<Button onClick={() => setOpen(false)}>완료</Button>
|
|
15
|
+
</Dialog>
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
Button, IconButton, Field, Checkbox, Radio, Select, Switch, RadioGroup, Dialog, Tabs/TabList/Tab/TabPanel, Tooltip, Icon, ToastProvider/useToast, ConsoleShell 및 props 타입을 제공합니다. 모든 제품 문구와 접근성 이름은 호출자가 전달합니다.
|
|
19
|
+
|
|
20
|
+
React DOM 속성(`className`, `htmlFor`, `onChange`)과 객체/콜백 ref를 사용합니다. Checkbox/Radio/Switch는 `checked`, `defaultChecked`, `onCheckedChange(boolean)`을 지원하고, Select는 네이티브 value/onChange를 사용합니다. RadioGroup은 label/options와 value/defaultValue/onValueChange(string)을 받습니다. Tabs는 Ark 옵션과 onValueChange(string)을 지원합니다.
|
|
21
|
+
|
|
22
|
+
Dialog는 기본적으로 portal을 사용하며 Ark가 중첩 모달, 포커스 복원, Escape, 스크롤 잠금을 관리합니다. `portal={false}`로 SSR 열린 콘텐츠를 인라인 렌더링할 수 있습니다. `contentProps`, `actions`, `frame`, `initialFocus`, `finalFocus`, `unstyled`와 Ark root 옵션을 제공합니다. Solid의 커스텀 additionalFocusContainers는 모방하지 않습니다. 고급 구성은 ArkDialog/ArkTabs/ArkTooltip/ArkRadioGroup/ArkCheckbox/ArkSwitch/ArkField/ArkToast 네임스페이스를 사용하세요.
|
|
23
|
+
|
|
24
|
+
Tooltip은 하나의 포커스 가능한 요소 또는 trigger props를 받는 render 함수를 사용합니다. ToastProvider의 regionLabel/dismissLabel은 호출자가 지정합니다. dismissLabel이 없으면 닫기 버튼이 없습니다. useToast는 show/dismiss/clear를 반환하며 duration 0은 유지됩니다. 언마운트 때 알림을 정리합니다.
|
|
25
|
+
|
|
26
|
+
ConsoleShell은 brand/nav/header/labels/foot을 받으며 인스턴스별 고유 ID를 사용합니다. 브라우저 전역 없이 import와 SSR이 가능하고, React useId로 hydration 연결을 유지합니다. Solid accessor/ref/render 방식 대신 React JSX/ref와 Ark asChild 요소 구성을 사용합니다. AG Grid는 별도 패키지 `@devslab/dds-table-react`입니다.
|
|
27
|
+
|
|
28
|
+
ESM, 타입 선언 및 명시적 CSS export를 제공합니다. React/React DOM/Ark를 번들에 복제하지 않습니다. 라이선스는 저장소와 동일한 포함 LICENSE를 확인하세요. 상세 API는 영문 README를 참고하세요.
|
|
29
|
+
|
|
30
|
+
## DatePicker
|
|
31
|
+
|
|
32
|
+
```tsx
|
|
33
|
+
import { DatePicker } from "@devslab/dds-react";
|
|
34
|
+
<DatePicker label="시작 날짜" value={date} onChange={setDate} />
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Controlled `value` uses `YYYY-MM-DD` or an empty string. `locale` defaults to `ko-KR`, `timeZone` to `Asia/Seoul`. Optional `min`, `max` and `disabled` constrain selection. Import the package stylesheet. Time selection is a separate field. Ark owns calendar focus, keyboard navigation and popup dismissal.
|
|
38
|
+
|
|
39
|
+
## createStatusPill
|
|
40
|
+
|
|
41
|
+
```tsx
|
|
42
|
+
const StatusPill = createStatusPill({
|
|
43
|
+
tones: { job: { ready: "success" } },
|
|
44
|
+
label: (domain, value, locale) => value === "ready" ? "준비됨" : undefined,
|
|
45
|
+
});
|
|
46
|
+
<StatusPill domain="job" value="ready" locale="ko" />
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Unknown closed-domain status values throw to expose incomplete catalogs. Domains listed in `openDomains` instead show the unknown value as escaped text.
|
package/README.md
CHANGED
|
@@ -1,3 +1,55 @@
|
|
|
1
|
-
#
|
|
1
|
+
# DDS React
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Accessible React primitives using Ark UI 5.39.3 and shared DDS tokens, CSS and icons. React and React DOM are peers (18.3 or 19). Import CSS once in the application:
|
|
4
|
+
|
|
5
|
+
```tsx
|
|
6
|
+
import '@devslab/dds-react/styles.css';
|
|
7
|
+
import { Button, Field, Select, Dialog, Tabs, TabList, Tab, TabPanel } from '@devslab/dds-react';
|
|
8
|
+
|
|
9
|
+
<Field label="Country" helpText="Choose a country">
|
|
10
|
+
{control => <Select {...control} defaultValue="kr"><option value="kr">Korea</option></Select>}
|
|
11
|
+
</Field>
|
|
12
|
+
<Button tone="primary" onClick={() => setOpen(true)}>Edit</Button>
|
|
13
|
+
<Dialog open={open} onOpenChange={setOpen} title="Edit country" description="Changes apply to your profile">
|
|
14
|
+
<Button onClick={() => setOpen(false)}>Done</Button>
|
|
15
|
+
</Dialog>
|
|
16
|
+
<Tabs defaultValue="overview">
|
|
17
|
+
<TabList aria-label="Sections"><Tab value="overview">Overview</Tab></TabList>
|
|
18
|
+
<TabPanel value="overview">Content</TabPanel>
|
|
19
|
+
</Tabs>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
Exports: `Button`, `IconButton`, `Field`, `Checkbox`, `Radio`, `Select`, `Switch`, `RadioGroup`, `Dialog`, `Tabs`, `TabList`, `Tab`, `TabPanel`, `Tooltip`, `Icon`, `ToastProvider`, `useToast`, `ConsoleShell`, and their prop types. Labels, tooltip messages, dialog titles and notification copy come from the caller. There is no translated fallback copy.
|
|
23
|
+
|
|
24
|
+
Native DOM attributes use React spelling (`className`, `htmlFor`, `onChange`). DOM components accept React object or callback refs; Select refs target its select and Dialog refs target content. Button defaults to `type="button"`; loading prevents activation and preserves its name. Checkbox, Radio and Switch accept `checked`/`defaultChecked`, `onCheckedChange(boolean)` and native input attributes. Select uses native `value`/`defaultValue` and `onChange`. RadioGroup takes `label` and `options: { value, label, disabled? }[]`, with `value`/`defaultValue` and `onValueChange(string)`.
|
|
25
|
+
|
|
26
|
+
Tabs extends Ark root options, with `onValueChange(string)`; parts accept normal Ark DOM props including `asChild`. Dialog accepts Ark root options with `onOpenChange(boolean)`, `closeOnOutside`, `initialFocus`, `finalFocus`, `contentProps`, `actions`, `frame(parts)` and `unstyled`. Dialog portals by default; use `portal={false}` for inline markup, including open SSR content. Ark owns nested modal isolation, focus, Escape handling and scroll locking. Additional focus containers from the Solid package are not emulated; use Ark `persistentElements` and `modal`/`trapFocus` according to application needs.
|
|
27
|
+
|
|
28
|
+
Tooltip accepts one element child (Ark `asChild`) or a render function receiving native button trigger props. Use a focusable trigger and preserve the supplied events. `ToastProvider` accepts optional caller `regionLabel` and `dismissLabel` (string or record-to-string function); without `dismissLabel` it renders no close button. `useToast()` returns `show({ message, tone?, duration? })`, `dismiss(id)`, and `clear()`; duration 0 persists. Providers clear their notifications on unmount.
|
|
29
|
+
|
|
30
|
+
Advanced compositional parts are exported as `ArkDialog`, `ArkTabs`, `ArkTooltip`, `ArkRadioGroup`, `ArkCheckbox`, `ArkSwitch`, `ArkField`, and `ArkToast`. They are the pinned upstream Ark namespaces, useful inside convenience component children or for application-owned composition.
|
|
31
|
+
|
|
32
|
+
ConsoleShell accepts caller brand/navigation/header/labels/foot slots and unique per-instance landmark IDs. Its rail uses caller route state; no router or business store is included. Imports and server rendering require no browser globals; client-only effects start after mounting. React `useId` keeps label associations stable through hydration. React JSX, React refs and Ark `asChild` element composition differ from Solid render callbacks/accessors. The grid is a separate dependency: use `@devslab/dds-table-react` for AG Grid.
|
|
33
|
+
|
|
34
|
+
ESM and declarations are shipped; React, React DOM and Ark remain external to the DDS bundle. This package is source-available under the included LICENSE, matching the DDS repository.
|
|
35
|
+
|
|
36
|
+
## DatePicker
|
|
37
|
+
|
|
38
|
+
```tsx
|
|
39
|
+
import { DatePicker } from "@devslab/dds-react";
|
|
40
|
+
<DatePicker label="시작 날짜" value={date} onChange={setDate} />
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Controlled `value` uses `YYYY-MM-DD` or an empty string. `locale` defaults to `ko-KR`, `timeZone` to `Asia/Seoul`. Optional `min`, `max` and `disabled` constrain selection. Import the package stylesheet. Time selection is a separate field. Ark owns calendar focus, keyboard navigation and popup dismissal.
|
|
44
|
+
|
|
45
|
+
## createStatusPill
|
|
46
|
+
|
|
47
|
+
```tsx
|
|
48
|
+
const StatusPill = createStatusPill({
|
|
49
|
+
tones: { job: { ready: "success" } },
|
|
50
|
+
label: (domain, value, locale) => value === "ready" ? "준비됨" : undefined,
|
|
51
|
+
});
|
|
52
|
+
<StatusPill domain="job" value="ready" locale="ko" />
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
Unknown closed-domain status values throw to expose incomplete catalogs. Domains listed in `openDomains` instead show the unknown value as escaped text.
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { type HTMLAttributes, type ReactNode } from "react";
|
|
2
|
+
export interface ConsoleNavItem {
|
|
3
|
+
id: string;
|
|
4
|
+
href: string;
|
|
5
|
+
label: string;
|
|
6
|
+
badge?: number;
|
|
7
|
+
active?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export interface ConsoleNavGroup {
|
|
10
|
+
label: string;
|
|
11
|
+
items: readonly ConsoleNavItem[];
|
|
12
|
+
}
|
|
13
|
+
export interface ConsoleShellLabels {
|
|
14
|
+
skip: string;
|
|
15
|
+
menuOpen: string;
|
|
16
|
+
menuClose: string;
|
|
17
|
+
nav: string;
|
|
18
|
+
badge: string;
|
|
19
|
+
}
|
|
20
|
+
export interface ConsoleHeader {
|
|
21
|
+
eyebrow?: string;
|
|
22
|
+
title: string;
|
|
23
|
+
actions?: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
export interface ConsoleShellProps extends Omit<HTMLAttributes<HTMLDivElement>, "children" | "context"> {
|
|
26
|
+
surface: string;
|
|
27
|
+
activePath: string;
|
|
28
|
+
brand: {
|
|
29
|
+
href: string;
|
|
30
|
+
name: string;
|
|
31
|
+
mark: string;
|
|
32
|
+
};
|
|
33
|
+
context?: readonly {
|
|
34
|
+
label: string;
|
|
35
|
+
value: string;
|
|
36
|
+
}[];
|
|
37
|
+
nav: readonly ConsoleNavGroup[];
|
|
38
|
+
labels: ConsoleShellLabels;
|
|
39
|
+
header: ConsoleHeader;
|
|
40
|
+
foot?: ReactNode;
|
|
41
|
+
children: ReactNode;
|
|
42
|
+
}
|
|
43
|
+
export declare const ConsoleShell: import("react").ForwardRefExoticComponent<ConsoleShellProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
44
|
+
//# sourceMappingURL=console-shell.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"console-shell.d.ts","sourceRoot":"","sources":["../src/console-shell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAEf,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AACD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,SAAS,cAAc,EAAE,CAAC;CAClC;AACD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AACD,MAAM,WAAW,aAAa;IAC5B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,SAAS,CAAC;CACrB;AACD,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,OAAO,CAAC,EAAE,SAAS;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACtD,GAAG,EAAE,SAAS,eAAe,EAAE,CAAC;IAChC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,QAAQ,EAAE,SAAS,CAAC;CACrB;AASD,eAAO,MAAM,YAAY,8GA8IxB,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type ButtonHTMLAttributes, type InputHTMLAttributes, type SelectHTMLAttributes, type HTMLAttributes, type ReactNode } from "react";
|
|
2
|
+
export declare const classes: (...values: (string | false | undefined)[]) => string;
|
|
3
|
+
export type ButtonTone = "primary" | "secondary" | "ghost" | "danger";
|
|
4
|
+
export type ControlSize = "sm" | "md" | "lg";
|
|
5
|
+
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
6
|
+
tone?: ButtonTone;
|
|
7
|
+
size?: ControlSize;
|
|
8
|
+
loading?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const Button: import("react").ForwardRefExoticComponent<ButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
11
|
+
export interface IconButtonProps extends Omit<ButtonProps, "tone"> {
|
|
12
|
+
"aria-label": string;
|
|
13
|
+
tone?: "ghost" | "secondary" | "danger";
|
|
14
|
+
}
|
|
15
|
+
export declare const IconButton: import("react").ForwardRefExoticComponent<IconButtonProps & import("react").RefAttributes<HTMLButtonElement>>;
|
|
16
|
+
export interface FieldControlProps {
|
|
17
|
+
id: string;
|
|
18
|
+
"aria-describedby"?: string;
|
|
19
|
+
"aria-invalid"?: true;
|
|
20
|
+
"aria-required"?: true;
|
|
21
|
+
}
|
|
22
|
+
export interface FieldProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
|
|
23
|
+
label: ReactNode;
|
|
24
|
+
helpText?: ReactNode;
|
|
25
|
+
error?: ReactNode;
|
|
26
|
+
required?: boolean;
|
|
27
|
+
children: ReactNode | ((props: FieldControlProps) => ReactNode);
|
|
28
|
+
}
|
|
29
|
+
export declare const Field: import("react").ForwardRefExoticComponent<FieldProps & import("react").RefAttributes<HTMLDivElement>>;
|
|
30
|
+
export interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
|
|
31
|
+
invalid?: boolean;
|
|
32
|
+
wrapperClassName?: string;
|
|
33
|
+
}
|
|
34
|
+
export declare const Select: import("react").ForwardRefExoticComponent<SelectProps & import("react").RefAttributes<HTMLSelectElement>>;
|
|
35
|
+
export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "children"> {
|
|
36
|
+
label: ReactNode;
|
|
37
|
+
onCheckedChange?: (checked: boolean) => void;
|
|
38
|
+
inputClassName?: string;
|
|
39
|
+
}
|
|
40
|
+
export type RadioProps = CheckboxProps;
|
|
41
|
+
export type SwitchProps = CheckboxProps;
|
|
42
|
+
export declare const Checkbox: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
43
|
+
export declare const Switch: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
44
|
+
export declare const Radio: import("react").ForwardRefExoticComponent<CheckboxProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
45
|
+
//# sourceMappingURL=controls.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controls.d.ts","sourceRoot":"","sources":["../src/controls.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EACzB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,eAAO,MAAM,OAAO,cAAe,CAAC,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC,EAAE,WAC/B,CAAC;AACnC,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AACtE,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAC7C,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,IAAI,CAAC,EAAE,UAAU,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AACD,eAAO,MAAM,MAAM,2GAiClB,CAAC;AACF,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC;IAChE,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC;CACzC;AACD,eAAO,MAAM,UAAU,+GAgCtB,CAAC;AACF,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,eAAe,CAAC,EAAE,IAAI,CAAC;CACxB;AACD,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;IACxD,KAAK,EAAE,SAAS,CAAC;IACjB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC;CACjE;AACD,eAAO,MAAM,KAAK,uGA2DhB,CAAC;AACH,MAAM,WAAW,WAAY,SAAQ,oBAAoB,CAAC,iBAAiB,CAAC;IAC1E,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AACD,eAAO,MAAM,MAAM,2GAkBlB,CAAC;AACF,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACxE,KAAK,EAAE,SAAS,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC7C,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;AACvC,MAAM,MAAM,WAAW,GAAG,aAAa,CAAC;AA0ExC,eAAO,MAAM,QAAQ,4GAEpB,CAAC;AACF,eAAO,MAAM,MAAM,4GAElB,CAAC;AACF,eAAO,MAAM,KAAK,4GAoBhB,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export interface DatePickerProps {
|
|
2
|
+
label: string;
|
|
3
|
+
/** ISO calendar date (YYYY-MM-DD), or an empty string. */
|
|
4
|
+
value: string;
|
|
5
|
+
onChange: (value: string) => void;
|
|
6
|
+
locale?: string;
|
|
7
|
+
timeZone?: string;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
min?: string;
|
|
10
|
+
max?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function DatePicker({ label, value, onChange, locale, timeZone, disabled, min, max }: DatePickerProps): import("react").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=date-picker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.d.ts","sourceRoot":"","sources":["../src/date-picker.tsx"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAC,MAAM,CAAC;IACb,0DAA0D;IAC1D,KAAK,EAAC,MAAM,CAAC;IACb,QAAQ,EAAC,CAAC,KAAK,EAAC,MAAM,KAAG,IAAI,CAAC;IAC9B,MAAM,CAAC,EAAC,MAAM,CAAC;IACf,QAAQ,CAAC,EAAC,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAC,OAAO,CAAC;IAClB,GAAG,CAAC,EAAC,MAAM,CAAC;IACZ,GAAG,CAAC,EAAC,MAAM,CAAC;CACb;AAKD,wBAAgB,UAAU,CAAC,EAAC,KAAK,EAAC,KAAK,EAAC,QAAQ,EAAC,MAAc,EAAC,QAAqB,EAAC,QAAc,EAAC,GAAG,EAAC,GAAG,EAAC,EAAC,eAAe,+BA2B5H"}
|
package/dist/icon.d.ts
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { type SVGProps } from "react";
|
|
2
|
+
import { type DdsIconName } from "@devslab/dds-icons";
|
|
3
|
+
export interface IconProps extends Omit<SVGProps<SVGSVGElement>, "name" | "children"> {
|
|
4
|
+
name: DdsIconName;
|
|
5
|
+
label?: string;
|
|
6
|
+
size?: number | string;
|
|
7
|
+
directional?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare const Icon: import("react").ForwardRefExoticComponent<Omit<IconProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
|
|
10
|
+
//# sourceMappingURL=icon.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon.d.ts","sourceRoot":"","sources":["../src/icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAC;AAClD,OAAO,EAA0B,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAE9E,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAC1D,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AACD,eAAO,MAAM,IAAI,kHA8Bf,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export * from "./controls";
|
|
2
|
+
export * from "./selection";
|
|
3
|
+
export * from "./overlays";
|
|
4
|
+
export * from "./icon";
|
|
5
|
+
export * from "./toast";
|
|
6
|
+
export * from "./console-shell";
|
|
7
|
+
export { Dialog as ArkDialog } from "@ark-ui/react/dialog";
|
|
8
|
+
export { Tabs as ArkTabs } from "@ark-ui/react/tabs";
|
|
9
|
+
export { Tooltip as ArkTooltip } from "@ark-ui/react/tooltip";
|
|
10
|
+
export { RadioGroup as ArkRadioGroup } from "@ark-ui/react/radio-group";
|
|
11
|
+
export { Checkbox as ArkCheckbox } from "@ark-ui/react/checkbox";
|
|
12
|
+
export { Switch as ArkSwitch } from "@ark-ui/react/switch";
|
|
13
|
+
export { Field as ArkField } from "@ark-ui/react/field";
|
|
14
|
+
export { Toast as ArkToast } from "@ark-ui/react/toast";
|
|
15
|
+
export * from "./date-picker";
|
|
16
|
+
export { DatePicker as ArkDatePicker } from "@ark-ui/react/date-picker";
|
|
17
|
+
export * from "./status-pill";
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AACxE,OAAO,EAAE,QAAQ,IAAI,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAExD,cAAc,eAAe,CAAC;AAC9B,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAExE,cAAc,eAAe,CAAC"}
|