@nswds/app 1.25.0 → 1.26.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/index.cjs +96 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +24 -1
- package/dist/index.d.ts +24 -1
- package/dist/index.js +89 -2
- package/dist/index.js.map +1 -1
- package/package.json +9 -6
package/dist/index.cjs
CHANGED
|
@@ -38,6 +38,7 @@ var DialogPrimitive = require('@radix-ui/react-dialog');
|
|
|
38
38
|
var ContextMenuPrimitive = require('@radix-ui/react-context-menu');
|
|
39
39
|
var vaul = require('vaul');
|
|
40
40
|
var SeparatorPrimitive = require('@radix-ui/react-separator');
|
|
41
|
+
var reactHookForm = require('react-hook-form');
|
|
41
42
|
var ToggleGroupPrimitive = require('@radix-ui/react-toggle-group');
|
|
42
43
|
var TogglePrimitive = require('@radix-ui/react-toggle');
|
|
43
44
|
var MenubarPrimitive = require('@radix-ui/react-menubar');
|
|
@@ -7164,6 +7165,92 @@ function Footer({
|
|
|
7164
7165
|
/* @__PURE__ */ jsxRuntime.jsx(FooterSmallPrint, { department, socialLinks })
|
|
7165
7166
|
] });
|
|
7166
7167
|
}
|
|
7168
|
+
var Form = reactHookForm.FormProvider;
|
|
7169
|
+
var FormFieldContext = React6__namespace.createContext({});
|
|
7170
|
+
var FormField = ({
|
|
7171
|
+
...props
|
|
7172
|
+
}) => {
|
|
7173
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormFieldContext.Provider, { value: { name: props.name }, children: /* @__PURE__ */ jsxRuntime.jsx(reactHookForm.Controller, { ...props }) });
|
|
7174
|
+
};
|
|
7175
|
+
var useFormField = () => {
|
|
7176
|
+
const fieldContext = React6__namespace.useContext(FormFieldContext);
|
|
7177
|
+
const itemContext = React6__namespace.useContext(FormItemContext);
|
|
7178
|
+
const { getFieldState } = reactHookForm.useFormContext();
|
|
7179
|
+
const formState = reactHookForm.useFormState({ name: fieldContext.name });
|
|
7180
|
+
const fieldState = getFieldState(fieldContext.name, formState);
|
|
7181
|
+
if (!fieldContext) {
|
|
7182
|
+
throw new Error("useFormField should be used within <FormField>");
|
|
7183
|
+
}
|
|
7184
|
+
const { id } = itemContext;
|
|
7185
|
+
return {
|
|
7186
|
+
id,
|
|
7187
|
+
name: fieldContext.name,
|
|
7188
|
+
formItemId: `${id}-form-item`,
|
|
7189
|
+
formDescriptionId: `${id}-form-item-description`,
|
|
7190
|
+
formMessageId: `${id}-form-item-message`,
|
|
7191
|
+
...fieldState
|
|
7192
|
+
};
|
|
7193
|
+
};
|
|
7194
|
+
var FormItemContext = React6__namespace.createContext({});
|
|
7195
|
+
function FormItem({ className, ...props }) {
|
|
7196
|
+
const id = React6__namespace.useId();
|
|
7197
|
+
return /* @__PURE__ */ jsxRuntime.jsx(FormItemContext.Provider, { value: { id }, children: /* @__PURE__ */ jsxRuntime.jsx("div", { "data-slot": "form-item", className: cn("grid gap-2", className), ...props }) });
|
|
7198
|
+
}
|
|
7199
|
+
function FormLabel({ className, ...props }) {
|
|
7200
|
+
const { error, formItemId } = useFormField();
|
|
7201
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7202
|
+
Label3,
|
|
7203
|
+
{
|
|
7204
|
+
"data-slot": "form-label",
|
|
7205
|
+
"data-error": !!error,
|
|
7206
|
+
className: cn("data-[error=true]:text-destructive", className),
|
|
7207
|
+
htmlFor: formItemId,
|
|
7208
|
+
...props
|
|
7209
|
+
}
|
|
7210
|
+
);
|
|
7211
|
+
}
|
|
7212
|
+
function FormControl({ ...props }) {
|
|
7213
|
+
const { error, formItemId, formDescriptionId, formMessageId } = useFormField();
|
|
7214
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7215
|
+
reactSlot.Slot,
|
|
7216
|
+
{
|
|
7217
|
+
"data-slot": "form-control",
|
|
7218
|
+
id: formItemId,
|
|
7219
|
+
"aria-describedby": !error ? `${formDescriptionId}` : `${formDescriptionId} ${formMessageId}`,
|
|
7220
|
+
"aria-invalid": !!error,
|
|
7221
|
+
...props
|
|
7222
|
+
}
|
|
7223
|
+
);
|
|
7224
|
+
}
|
|
7225
|
+
function FormDescription({ className, ...props }) {
|
|
7226
|
+
const { formDescriptionId } = useFormField();
|
|
7227
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7228
|
+
"p",
|
|
7229
|
+
{
|
|
7230
|
+
"data-slot": "form-description",
|
|
7231
|
+
id: formDescriptionId,
|
|
7232
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
7233
|
+
...props
|
|
7234
|
+
}
|
|
7235
|
+
);
|
|
7236
|
+
}
|
|
7237
|
+
function FormMessage({ className, ...props }) {
|
|
7238
|
+
const { error, formMessageId } = useFormField();
|
|
7239
|
+
const body = error ? String(error?.message ?? "") : props.children;
|
|
7240
|
+
if (!body) {
|
|
7241
|
+
return null;
|
|
7242
|
+
}
|
|
7243
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
7244
|
+
"p",
|
|
7245
|
+
{
|
|
7246
|
+
"data-slot": "form-message",
|
|
7247
|
+
id: formMessageId,
|
|
7248
|
+
className: cn("text-destructive text-sm", className),
|
|
7249
|
+
...props,
|
|
7250
|
+
children: body
|
|
7251
|
+
}
|
|
7252
|
+
);
|
|
7253
|
+
}
|
|
7167
7254
|
var styles3 = {
|
|
7168
7255
|
base: [
|
|
7169
7256
|
// Base
|
|
@@ -7365,7 +7452,7 @@ function Heading({
|
|
|
7365
7452
|
|
|
7366
7453
|
// package.json
|
|
7367
7454
|
var package_default = {
|
|
7368
|
-
version: "1.
|
|
7455
|
+
version: "1.25.0"};
|
|
7369
7456
|
function Logo(props) {
|
|
7370
7457
|
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
7371
7458
|
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "sr-only", children: "NSW Government" }),
|
|
@@ -9234,6 +9321,13 @@ exports.FooterAcknowledgement = FooterAcknowledgement;
|
|
|
9234
9321
|
exports.FooterLegalLinks = FooterLegalLinks;
|
|
9235
9322
|
exports.FooterSmallPrint = FooterSmallPrint;
|
|
9236
9323
|
exports.FooterSocialLink = FooterSocialLink;
|
|
9324
|
+
exports.Form = Form;
|
|
9325
|
+
exports.FormControl = FormControl;
|
|
9326
|
+
exports.FormDescription = FormDescription;
|
|
9327
|
+
exports.FormField = FormField;
|
|
9328
|
+
exports.FormItem = FormItem;
|
|
9329
|
+
exports.FormLabel = FormLabel;
|
|
9330
|
+
exports.FormMessage = FormMessage;
|
|
9237
9331
|
exports.FormatToggle = FormatToggle;
|
|
9238
9332
|
exports.GenerateInterpolatedColors = GenerateInterpolatedColors;
|
|
9239
9333
|
exports.Header = Header2;
|
|
@@ -9388,6 +9482,7 @@ exports.themeIndices = themeIndices;
|
|
|
9388
9482
|
exports.themeTokens = themeTokens;
|
|
9389
9483
|
exports.toggleVariants = toggleVariants;
|
|
9390
9484
|
exports.truncate = truncate;
|
|
9485
|
+
exports.useFormField = useFormField;
|
|
9391
9486
|
exports.useToc = useToc;
|
|
9392
9487
|
//# sourceMappingURL=index.cjs.map
|
|
9393
9488
|
//# sourceMappingURL=index.cjs.map
|