adjacent-ui 0.1.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 +15 -0
- package/LICENSE +21 -0
- package/README.md +41 -0
- package/dist/button/button.css +177 -0
- package/dist/button/button.d.ts +25 -0
- package/dist/button/button.d.ts.map +1 -0
- package/dist/button/button.js +11 -0
- package/dist/button/button.js.map +1 -0
- package/dist/card/card.css +126 -0
- package/dist/card/card.d.ts +18 -0
- package/dist/card/card.d.ts.map +1 -0
- package/dist/card/card.js +38 -0
- package/dist/card/card.js.map +1 -0
- package/dist/checkbox/checkbox.css +116 -0
- package/dist/checkbox/checkbox.d.ts +13 -0
- package/dist/checkbox/checkbox.d.ts.map +1 -0
- package/dist/checkbox/checkbox.js +32 -0
- package/dist/checkbox/checkbox.js.map +1 -0
- package/dist/data-table/data-table.css +238 -0
- package/dist/data-table/data-table.d.ts +47 -0
- package/dist/data-table/data-table.d.ts.map +1 -0
- package/dist/data-table/data-table.js +58 -0
- package/dist/data-table/data-table.js.map +1 -0
- package/dist/divider/divider.css +35 -0
- package/dist/divider/divider.d.ts +12 -0
- package/dist/divider/divider.d.ts.map +1 -0
- package/dist/divider/divider.js +7 -0
- package/dist/divider/divider.js.map +1 -0
- package/dist/floating-action-button/floating-action-button.css +132 -0
- package/dist/floating-action-button/floating-action-button.d.ts +15 -0
- package/dist/floating-action-button/floating-action-button.d.ts.map +1 -0
- package/dist/floating-action-button/floating-action-button.js +8 -0
- package/dist/floating-action-button/floating-action-button.js.map +1 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/list/list.css +181 -0
- package/dist/list/list.d.ts +56 -0
- package/dist/list/list.d.ts.map +1 -0
- package/dist/list/list.js +33 -0
- package/dist/list/list.js.map +1 -0
- package/dist/menu/menu.css +170 -0
- package/dist/menu/menu.d.ts +70 -0
- package/dist/menu/menu.d.ts.map +1 -0
- package/dist/menu/menu.js +69 -0
- package/dist/menu/menu.js.map +1 -0
- package/dist/navigation/header/header.css +182 -0
- package/dist/navigation/header/header.d.ts +20 -0
- package/dist/navigation/header/header.d.ts.map +1 -0
- package/dist/navigation/header/header.js +23 -0
- package/dist/navigation/header/header.js.map +1 -0
- package/dist/navigation/index.d.ts +5 -0
- package/dist/navigation/index.d.ts.map +1 -0
- package/dist/navigation/index.js +5 -0
- package/dist/navigation/index.js.map +1 -0
- package/dist/navigation/link/link.d.ts +5 -0
- package/dist/navigation/link/link.d.ts.map +1 -0
- package/dist/navigation/link/link.js +6 -0
- package/dist/navigation/link/link.js.map +1 -0
- package/dist/navigation/shell/shell.css +21 -0
- package/dist/navigation/shell/shell.d.ts +22 -0
- package/dist/navigation/shell/shell.d.ts.map +1 -0
- package/dist/navigation/shell/shell.js +15 -0
- package/dist/navigation/shell/shell.js.map +1 -0
- package/dist/navigation/tabs/tabs.css +390 -0
- package/dist/navigation/tabs/tabs.d.ts +37 -0
- package/dist/navigation/tabs/tabs.d.ts.map +1 -0
- package/dist/navigation/tabs/tabs.js +74 -0
- package/dist/navigation/tabs/tabs.js.map +1 -0
- package/dist/page/page.css +15 -0
- package/dist/page/page.d.ts +32 -0
- package/dist/page/page.d.ts.map +1 -0
- package/dist/page/page.js +10 -0
- package/dist/page/page.js.map +1 -0
- package/dist/radio/radio.css +108 -0
- package/dist/radio/radio.d.ts +29 -0
- package/dist/radio/radio.d.ts.map +1 -0
- package/dist/radio/radio.js +23 -0
- package/dist/radio/radio.js.map +1 -0
- package/dist/runtime/use-display-mode.d.ts +9 -0
- package/dist/runtime/use-display-mode.d.ts.map +1 -0
- package/dist/runtime/use-display-mode.js +33 -0
- package/dist/runtime/use-display-mode.js.map +1 -0
- package/dist/runtime/use-keyboard.d.ts +8 -0
- package/dist/runtime/use-keyboard.d.ts.map +1 -0
- package/dist/runtime/use-keyboard.js +34 -0
- package/dist/runtime/use-keyboard.js.map +1 -0
- package/dist/runtime/use-viewport-tier.d.ts +10 -0
- package/dist/runtime/use-viewport-tier.d.ts.map +1 -0
- package/dist/runtime/use-viewport-tier.js +24 -0
- package/dist/runtime/use-viewport-tier.js.map +1 -0
- package/dist/snackbar/snackbar.css +95 -0
- package/dist/snackbar/snackbar.d.ts +15 -0
- package/dist/snackbar/snackbar.d.ts.map +1 -0
- package/dist/snackbar/snackbar.js +36 -0
- package/dist/snackbar/snackbar.js.map +1 -0
- package/dist/switch/switch.css +164 -0
- package/dist/switch/switch.d.ts +11 -0
- package/dist/switch/switch.d.ts.map +1 -0
- package/dist/switch/switch.js +11 -0
- package/dist/switch/switch.js.map +1 -0
- package/dist/tabs/tabs.css +165 -0
- package/dist/tabs/tabs.d.ts +25 -0
- package/dist/tabs/tabs.d.ts.map +1 -0
- package/dist/tabs/tabs.js +81 -0
- package/dist/tabs/tabs.js.map +1 -0
- package/dist/text/text.css +91 -0
- package/dist/text/text.d.ts +12 -0
- package/dist/text/text.d.ts.map +1 -0
- package/dist/text/text.js +17 -0
- package/dist/text/text.js.map +1 -0
- package/dist/text-area/text-area.css +11 -0
- package/dist/text-area/text-area.d.ts +13 -0
- package/dist/text-area/text-area.d.ts.map +1 -0
- package/dist/text-area/text-area.js +35 -0
- package/dist/text-area/text-area.js.map +1 -0
- package/dist/text-field/text-field.css +154 -0
- package/dist/text-field/text-field.d.ts +18 -0
- package/dist/text-field/text-field.d.ts.map +1 -0
- package/dist/text-field/text-field.js +32 -0
- package/dist/text-field/text-field.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
@layer components {
|
|
2
|
+
.adj-text-field {
|
|
3
|
+
display: grid;
|
|
4
|
+
gap: 0.375rem;
|
|
5
|
+
width: 100%;
|
|
6
|
+
min-width: 5.5rem;
|
|
7
|
+
color: var(--adj-text-field-color, var(--foreground, CanvasText));
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.adj-text-field__container {
|
|
11
|
+
position: relative;
|
|
12
|
+
display: flex;
|
|
13
|
+
align-items: center;
|
|
14
|
+
box-sizing: border-box;
|
|
15
|
+
min-height: var(--adj-text-field-height, var(--adj-control-height, 2.5rem));
|
|
16
|
+
color: inherit;
|
|
17
|
+
background: var(--adj-text-field-background, transparent);
|
|
18
|
+
border: 1px solid var(--adj-text-field-outline, var(--border, color-mix(in srgb, currentColor 38%, transparent)));
|
|
19
|
+
border-radius: var(--adj-text-field-radius, var(--radius, 0.625rem));
|
|
20
|
+
transition: border-color 140ms ease, background-color 140ms ease;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
.adj-text-field[data-variant="filled"] .adj-text-field__container {
|
|
24
|
+
background: var(--adj-text-field-filled-background, var(--muted, color-mix(in srgb, currentColor 8%, Canvas)));
|
|
25
|
+
border: 0;
|
|
26
|
+
border-radius: var(--adj-text-field-radius, var(--radius, 0.625rem));
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.adj-text-field__container:focus-within {
|
|
30
|
+
border-color: var(--adj-text-field-focus-color, var(--primary, currentColor));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.adj-text-field[data-variant="filled"] .adj-text-field__container:focus-within {
|
|
34
|
+
border-width: 0;
|
|
35
|
+
outline: 1px solid var(--adj-text-field-focus-color, var(--primary, currentColor));
|
|
36
|
+
outline-offset: -1px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.adj-text-field__input-area {
|
|
40
|
+
position: relative;
|
|
41
|
+
display: flex;
|
|
42
|
+
gap: var(--adj-text-field-affix-gap, 0.5rem);
|
|
43
|
+
align-items: center;
|
|
44
|
+
min-width: 0;
|
|
45
|
+
padding-inline: 0.75rem;
|
|
46
|
+
flex: 1 1 auto;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.adj-text-field__input {
|
|
50
|
+
box-sizing: border-box;
|
|
51
|
+
width: 100%;
|
|
52
|
+
min-width: 0;
|
|
53
|
+
height: calc(var(--adj-text-field-height, var(--adj-control-height, 2.5rem)) - 2px);
|
|
54
|
+
padding: 0;
|
|
55
|
+
color: inherit;
|
|
56
|
+
font: inherit;
|
|
57
|
+
font-size: 1rem;
|
|
58
|
+
line-height: calc(var(--adj-text-field-height, var(--adj-control-height, 2.5rem)) - 2px);
|
|
59
|
+
caret-color: var(--adj-text-field-caret-color, var(--primary, currentColor));
|
|
60
|
+
background: transparent;
|
|
61
|
+
border: 0;
|
|
62
|
+
outline: 0;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.adj-text-field__input::placeholder {
|
|
66
|
+
color: var(--adj-text-field-placeholder-color, var(--muted-foreground, currentColor));
|
|
67
|
+
opacity: 1;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.adj-text-field__label {
|
|
71
|
+
min-width: 0;
|
|
72
|
+
overflow: hidden;
|
|
73
|
+
color: var(--adj-text-field-label-color, var(--muted-foreground, currentColor));
|
|
74
|
+
text-overflow: ellipsis;
|
|
75
|
+
white-space: nowrap;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.adj-text-field__leading-icon,
|
|
79
|
+
.adj-text-field__trailing-icon,
|
|
80
|
+
.adj-text-field__trailing-action {
|
|
81
|
+
display: grid;
|
|
82
|
+
width: 2.5rem;
|
|
83
|
+
height: 2.5rem;
|
|
84
|
+
flex: none;
|
|
85
|
+
color: var(--adj-text-field-icon-color, var(--muted-foreground, currentColor));
|
|
86
|
+
place-items: center;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.adj-text-field__leading-icon > svg,
|
|
90
|
+
.adj-text-field__trailing-icon > svg {
|
|
91
|
+
width: 1.5rem;
|
|
92
|
+
height: 1.5rem;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
.adj-text-field__trailing-action > button {
|
|
96
|
+
max-width: 2.5rem;
|
|
97
|
+
max-height: 2.5rem;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.adj-text-field__prefix,
|
|
101
|
+
.adj-text-field__suffix {
|
|
102
|
+
display: inline-flex;
|
|
103
|
+
align-items: center;
|
|
104
|
+
align-self: stretch;
|
|
105
|
+
flex: none;
|
|
106
|
+
color: var(--adj-text-field-affix-color, var(--muted-foreground, currentColor));
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.adj-text-field__supporting {
|
|
110
|
+
display: grid;
|
|
111
|
+
grid-template-columns: minmax(0, 1fr) auto;
|
|
112
|
+
gap: 1rem;
|
|
113
|
+
min-height: 1.25rem;
|
|
114
|
+
padding: 0.25rem 1rem 0;
|
|
115
|
+
color: var(--adj-text-field-supporting-color, var(--muted-foreground, currentColor));
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.adj-text-field__supporting-text {
|
|
119
|
+
min-width: 0;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.adj-text-field__counter {
|
|
123
|
+
white-space: nowrap;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
.adj-text-field[data-error="true"] .adj-text-field__container {
|
|
127
|
+
border-color: var(--adj-text-field-error-color, var(--destructive, #b3261e));
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
.adj-text-field[data-error="true"] .adj-text-field__label,
|
|
131
|
+
.adj-text-field[data-error="true"] .adj-text-field__supporting,
|
|
132
|
+
.adj-text-field[data-error="true"] .adj-text-field__trailing-icon {
|
|
133
|
+
color: var(--adj-text-field-error-color, var(--destructive, #b3261e));
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
.adj-text-field[data-error="true"] .adj-text-field__input {
|
|
137
|
+
caret-color: var(--adj-text-field-error-color, var(--destructive, #b3261e));
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
.adj-text-field[data-disabled="true"] {
|
|
141
|
+
cursor: default;
|
|
142
|
+
opacity: 0.38;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
.adj-text-field[data-read-only="true"] .adj-text-field__container {
|
|
146
|
+
background: transparent;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
@media (prefers-reduced-motion: reduce) {
|
|
150
|
+
.adj-text-field__container {
|
|
151
|
+
transition: none;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type InputHTMLAttributes, type ReactNode } from "react";
|
|
2
|
+
import "./text-field.css";
|
|
3
|
+
export type TextFieldVariant = "filled" | "outlined";
|
|
4
|
+
export interface TextFieldProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "prefix" | "size"> {
|
|
5
|
+
readonly error?: ReactNode;
|
|
6
|
+
readonly label: ReactNode;
|
|
7
|
+
readonly leadingIcon?: ReactNode;
|
|
8
|
+
readonly prefixText?: ReactNode;
|
|
9
|
+
readonly showCounter?: boolean;
|
|
10
|
+
readonly suffixText?: ReactNode;
|
|
11
|
+
readonly supportingText?: ReactNode;
|
|
12
|
+
readonly trailingAction?: ReactNode;
|
|
13
|
+
readonly trailingIcon?: ReactNode;
|
|
14
|
+
readonly trailingIconLabel?: string;
|
|
15
|
+
readonly variant?: TextFieldVariant;
|
|
16
|
+
}
|
|
17
|
+
export declare function TextField({ "aria-describedby": ariaDescribedBy, className, defaultValue, disabled, error, id, label, leadingIcon, maxLength, onChange, prefixText, placeholder, readOnly, required, showCounter, suffixText, supportingText, trailingAction, trailingIcon, trailingIconLabel, value, variant, ...props }: TextFieldProps): import("react").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=text-field.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-field.d.ts","sourceRoot":"","sources":["../../src/text-field/text-field.tsx"],"names":[],"mappings":"AAEA,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,OAAO,kBAAkB,CAAC;AAE1B,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,UAAU,CAAC;AAErD,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IACpC,QAAQ,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC;IACpC,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,CAAC;IAClC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,OAAO,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAOD,wBAAgB,SAAS,CAAC,EACxB,kBAAkB,EAAE,eAAe,EACnC,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,EAAE,EACF,KAAK,EACL,WAAW,EACX,SAAS,EACT,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAmB,EACnB,UAAU,EACV,cAAc,EACd,cAAc,EACd,YAAY,EACZ,iBAAiB,EACjB,KAAK,EACL,OAAoB,EACpB,GAAG,KAAK,EACT,EAAE,cAAc,+BAgHhB"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { useId, useState, } from "react";
|
|
4
|
+
import { Text } from "../text/text.js";
|
|
5
|
+
import "./text-field.css";
|
|
6
|
+
function valueLength(value) {
|
|
7
|
+
if (value === undefined || value === null)
|
|
8
|
+
return 0;
|
|
9
|
+
return String(value).length;
|
|
10
|
+
}
|
|
11
|
+
export function TextField({ "aria-describedby": ariaDescribedBy, className, defaultValue, disabled, error, id, label, leadingIcon, maxLength, onChange, prefixText, placeholder, readOnly, required, showCounter = false, suffixText, supportingText, trailingAction, trailingIcon, trailingIconLabel, value, variant = "outlined", ...props }) {
|
|
12
|
+
const generatedId = useId();
|
|
13
|
+
const inputId = id ?? `adj-text-field-${generatedId}`;
|
|
14
|
+
const supportingId = `${inputId}-supporting`;
|
|
15
|
+
const [uncontrolledLength, setUncontrolledLength] = useState(valueLength(defaultValue));
|
|
16
|
+
const controlled = value !== undefined;
|
|
17
|
+
const currentLength = controlled ? valueLength(value) : uncontrolledLength;
|
|
18
|
+
const hasError = error !== undefined && error !== null && error !== false;
|
|
19
|
+
const supportingContent = hasError ? error : supportingText;
|
|
20
|
+
const hasSupportingRow = supportingContent !== undefined || showCounter;
|
|
21
|
+
const describedBy = [ariaDescribedBy, hasSupportingRow ? supportingId : undefined]
|
|
22
|
+
.filter(Boolean)
|
|
23
|
+
.join(" ") || undefined;
|
|
24
|
+
const classes = ["adj-text-field", className].filter(Boolean).join(" ");
|
|
25
|
+
function handleChange(event) {
|
|
26
|
+
if (!controlled)
|
|
27
|
+
setUncontrolledLength(event.currentTarget.value.length);
|
|
28
|
+
onChange?.(event);
|
|
29
|
+
}
|
|
30
|
+
return (_jsxs("div", { className: classes, "data-disabled": disabled ? "true" : "false", "data-error": hasError ? "true" : "false", "data-read-only": readOnly ? "true" : "false", "data-variant": variant, children: [_jsxs(Text, { as: "label", className: "adj-text-field__label", htmlFor: inputId, variant: "label-large", children: [label, required ? _jsx("span", { "aria-hidden": "true", children: " *" }) : null] }), _jsxs("div", { className: "adj-text-field__container", children: [leadingIcon !== undefined ? (_jsx("span", { "aria-hidden": "true", className: "adj-text-field__leading-icon", children: leadingIcon })) : null, _jsxs("div", { className: "adj-text-field__input-area", children: [prefixText !== undefined ? (_jsx(Text, { className: "adj-text-field__prefix", variant: "body-large", children: prefixText })) : null, _jsx("input", { "aria-describedby": describedBy, "aria-invalid": hasError || undefined, className: "adj-text-field__input", defaultValue: defaultValue, disabled: disabled, id: inputId, maxLength: maxLength, onChange: handleChange, placeholder: placeholder, readOnly: readOnly, required: required, value: value, ...props }), suffixText !== undefined ? (_jsx(Text, { className: "adj-text-field__suffix", variant: "body-large", children: suffixText })) : null] }), trailingAction !== undefined ? (_jsx("span", { className: "adj-text-field__trailing-action", children: trailingAction })) : trailingIcon !== undefined ? (_jsx("span", { "aria-label": trailingIconLabel, "aria-hidden": trailingIconLabel === undefined ? "true" : undefined, className: "adj-text-field__trailing-icon", role: trailingIconLabel === undefined ? undefined : "img", children: trailingIcon })) : null] }), hasSupportingRow ? (_jsxs("div", { className: "adj-text-field__supporting", id: supportingId, children: [_jsx(Text, { "aria-live": hasError ? "polite" : undefined, className: "adj-text-field__supporting-text", variant: "body-small", children: supportingContent }), showCounter ? (_jsxs(Text, { className: "adj-text-field__counter", variant: "body-small", children: [currentLength, maxLength === undefined ? null : `/${maxLength}`] })) : null] })) : null] }));
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=text-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text-field.js","sourceRoot":"","sources":["../../src/text-field/text-field.tsx"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "adjacent-ui",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "Mobile-first components, navigation, and measurement hooks that theme from your own design tokens.",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"ui",
|
|
7
|
+
"components",
|
|
8
|
+
"mobile-first",
|
|
9
|
+
"react",
|
|
10
|
+
"adjacent"
|
|
11
|
+
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"author": "Eric Kweyunga",
|
|
14
|
+
"homepage": "https://github.com/erickweyunga/adjacent-framework/blob/main/docs/ui.md",
|
|
15
|
+
"repository": {
|
|
16
|
+
"type": "git",
|
|
17
|
+
"url": "git+https://github.com/erickweyunga/adjacent-framework.git",
|
|
18
|
+
"directory": "packages/adjacent-ui"
|
|
19
|
+
},
|
|
20
|
+
"bugs": {
|
|
21
|
+
"url": "https://github.com/erickweyunga/adjacent-framework/issues"
|
|
22
|
+
},
|
|
23
|
+
"type": "module",
|
|
24
|
+
"sideEffects": [
|
|
25
|
+
"./dist/**/*.css"
|
|
26
|
+
],
|
|
27
|
+
"exports": {
|
|
28
|
+
".": {
|
|
29
|
+
"types": "./dist/index.d.ts",
|
|
30
|
+
"import": "./dist/index.js",
|
|
31
|
+
"default": "./dist/index.js"
|
|
32
|
+
},
|
|
33
|
+
"./navigation": {
|
|
34
|
+
"types": "./dist/navigation/index.d.ts",
|
|
35
|
+
"import": "./dist/navigation/index.js",
|
|
36
|
+
"default": "./dist/navigation/index.js"
|
|
37
|
+
},
|
|
38
|
+
"./page.css": "./dist/page/page.css",
|
|
39
|
+
"./*.css": "./dist/*.css",
|
|
40
|
+
"./package.json": "./package.json"
|
|
41
|
+
},
|
|
42
|
+
"files": [
|
|
43
|
+
"dist",
|
|
44
|
+
"README.md",
|
|
45
|
+
"CHANGELOG.md",
|
|
46
|
+
"LICENSE"
|
|
47
|
+
],
|
|
48
|
+
"publishConfig": {
|
|
49
|
+
"access": "public"
|
|
50
|
+
},
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=20.9.0"
|
|
53
|
+
},
|
|
54
|
+
"scripts": {
|
|
55
|
+
"build": "tsc -p tsconfig.build.json && node scripts/copy-css.mjs",
|
|
56
|
+
"test": "bun test",
|
|
57
|
+
"typecheck": "tsc --noEmit",
|
|
58
|
+
"prepublishOnly": "npm run build"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@base-ui/react": "^1.7.0"
|
|
62
|
+
},
|
|
63
|
+
"peerDependencies": {
|
|
64
|
+
"next": ">=16",
|
|
65
|
+
"react": ">=19"
|
|
66
|
+
},
|
|
67
|
+
"devDependencies": {
|
|
68
|
+
"@types/bun": "^1.3.13",
|
|
69
|
+
"@types/react": "^19",
|
|
70
|
+
"@types/react-dom": "^19",
|
|
71
|
+
"next": "16.3.2",
|
|
72
|
+
"react": "^19.2.8",
|
|
73
|
+
"react-dom": "^19.2.8",
|
|
74
|
+
"typescript": "^5"
|
|
75
|
+
},
|
|
76
|
+
"main": "./dist/index.js",
|
|
77
|
+
"types": "./dist/index.d.ts"
|
|
78
|
+
}
|