@ansible/ansible-ui-framework 0.0.379 → 0.0.381
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/cjs/PageActions/PageDropdownAction.js +3 -6
- package/cjs/PageForm/Inputs/FormGroupSelect.d.ts +1 -1
- package/cjs/PageForm/Inputs/FormGroupSelect.js +1 -1
- package/cjs/PageForm/Inputs/FormGroupSelectOption.d.ts +5 -0
- package/cjs/PageForm/Inputs/FormGroupSelectOption.js +5 -0
- package/cjs/PageForm/Inputs/FormGroupTextArea.d.ts +1 -1
- package/cjs/PageForm/Inputs/FormGroupTextArea.js +14 -2
- package/cjs/PageForm/Inputs/FormGroupTextInput.d.ts +2 -2
- package/cjs/PageForm/Inputs/FormGroupTextInput.js +14 -2
- package/cjs/PageForm/Inputs/PageFormTextInput.js +5 -1
- package/cjs/PageForm/PageFormSchema.d.ts +19 -0
- package/cjs/PageForm/PageFormSchema.js +74 -4
- package/package.json +1 -1
| @@ -56,13 +56,10 @@ function PageDropdownAction(props) { | |
| 56 56 | 
             
                if (actions.length === 0)
         | 
| 57 57 | 
             
                    return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, {});
         | 
| 58 58 | 
             
                var Icon = icon;
         | 
| 59 | 
            -
                var  | 
| 59 | 
            +
                var toggleIcon = Icon ? (0, jsx_runtime_1.jsx)(Icon, {}) : label;
         | 
| 60 60 | 
             
                var isPrimary = hasBulkActions && !!(selectedItems === null || selectedItems === void 0 ? void 0 : selectedItems.length);
         | 
| 61 | 
            -
                var  | 
| 62 | 
            -
             | 
| 63 | 
            -
                                color: 'var(--pf-global--Color--light-100)',
         | 
| 64 | 
            -
                            }
         | 
| 65 | 
            -
                            : {} }, { children: Icon ? (0, jsx_runtime_1.jsx)(Icon, {}) : label })), isOpen: dropdownOpen, isPlain: !label || iconOnly, dropdownItems: actions.map(function (action, index) { return ((0, jsx_runtime_1.jsx)(PageDropdownActionItem, { action: action, selectedItems: selectedItems !== null && selectedItems !== void 0 ? selectedItems : [], selectedItem: selectedItem, hasIcons: hasIcons, index: index }, 'label' in action ? action.label : "action-".concat(index))); }), position: props.position, style: {
         | 
| 61 | 
            +
                var Toggle = label || Icon ? ((0, jsx_runtime_1.jsx)(react_core_1.DropdownToggle, __assign({ id: "toggle-dropdown", isDisabled: isDisabled, onToggle: function () { return setDropdownOpen(!dropdownOpen); }, toggleVariant: isPrimary ? 'primary' : undefined, toggleIndicator: null, style: isPrimary && !label ? { color: 'var(--pf-global--Color--light-100)' } : {} }, { children: toggleIcon }))) : ((0, jsx_runtime_1.jsx)(react_core_1.KebabToggle, __assign({ id: "toggle-kebab", isDisabled: isDisabled, onToggle: function () { return setDropdownOpen(!dropdownOpen); }, toggleVariant: isPrimary ? 'primary' : undefined, style: isPrimary && !label ? { color: 'var(--pf-global--Color--light-100)' } : {} }, { children: toggleIcon })));
         | 
| 62 | 
            +
                var dropdown = ((0, jsx_runtime_1.jsx)(react_core_1.Dropdown, { onSelect: function () { return setDropdownOpen(false); }, toggle: Toggle, isOpen: dropdownOpen, isPlain: !label || iconOnly, dropdownItems: actions.map(function (action, index) { return ((0, jsx_runtime_1.jsx)(PageDropdownActionItem, { action: action, selectedItems: selectedItems !== null && selectedItems !== void 0 ? selectedItems : [], selectedItem: selectedItem, hasIcons: hasIcons, index: index }, 'label' in action ? action.label : "action-".concat(index))); }), position: props.position, style: {
         | 
| 66 63 | 
             
                        zIndex: 201,
         | 
| 67 64 | 
             
                    } }));
         | 
| 68 65 | 
             
                return tooltip && (iconOnly || isDisabled) ? ((0, jsx_runtime_1.jsx)(react_core_1.Tooltip, __assign({ content: tooltip, trigger: tooltip ? undefined : 'manual' }, { children: dropdown }))) : (__assign({}, dropdown));
         | 
| @@ -4,5 +4,5 @@ import { PageFormGroupProps } from './PageFormGroup'; | |
| 4 4 | 
             
            export type FormGroupSelectProps = Pick<SelectProps, 'footer' | 'isCreatable' | 'isGrouped' | 'onSelect' | 'placeholder' | 'value' | 'isDisabled'> & PageFormGroupProps & {
         | 
| 5 5 | 
             
                isReadOnly?: boolean;
         | 
| 6 6 | 
             
            };
         | 
| 7 | 
            -
            /**  | 
| 7 | 
            +
            /** A PatternFly FormGroup with a PatternFly Select */
         | 
| 8 8 | 
             
            export declare function FormGroupSelect(props: FormGroupSelectProps): JSX.Element;
         | 
| @@ -32,7 +32,7 @@ var jsx_runtime_1 = require("react/jsx-runtime"); | |
| 32 32 | 
             
            var react_core_1 = require("@patternfly/react-core");
         | 
| 33 33 | 
             
            var react_1 = require("react");
         | 
| 34 34 | 
             
            var PageFormGroup_1 = require("./PageFormGroup");
         | 
| 35 | 
            -
            /**  | 
| 35 | 
            +
            /** A PatternFly FormGroup with a PatternFly Select */
         | 
| 36 36 | 
             
            function FormGroupSelect(props) {
         | 
| 37 37 | 
             
                var children = props.children, helperTextInvalid = props.helperTextInvalid, isReadOnly = props.isReadOnly, onSelect = props.onSelect, value = props.value;
         | 
| 38 38 | 
             
                var _a = __read((0, react_1.useState)(false), 2), open = _a[0], setOpen = _a[1];
         | 
| @@ -11,4 +11,9 @@ export type FormGroupSelectOptionProps<T> = { | |
| 11 11 | 
             
                onSelect: (value: T | undefined, event: React.MouseEvent<Element, MouseEvent> | ChangeEvent<Element>) => void;
         | 
| 12 12 | 
             
                value: T | undefined;
         | 
| 13 13 | 
             
            } & Omit<FormGroupSelectProps, 'onSelect' | 'value' | 'children'>;
         | 
| 14 | 
            +
            /**
         | 
| 15 | 
            +
             * A PatternFly FormGroup with a PatternFly Select but using IFormGroupSelectOptions for the options.
         | 
| 16 | 
            +
             *
         | 
| 17 | 
            +
             * This supports easy grouping and options that have values that are objects and not just strings.
         | 
| 18 | 
            +
             */
         | 
| 14 19 | 
             
            export declare function FormGroupSelectOption<T>(props: FormGroupSelectOptionProps<T>): JSX.Element;
         | 
| @@ -16,6 +16,11 @@ var jsx_runtime_1 = require("react/jsx-runtime"); | |
| 16 16 | 
             
            var react_core_1 = require("@patternfly/react-core");
         | 
| 17 17 | 
             
            var react_1 = require("react");
         | 
| 18 18 | 
             
            var FormGroupSelect_1 = require("./FormGroupSelect");
         | 
| 19 | 
            +
            /**
         | 
| 20 | 
            +
             * A PatternFly FormGroup with a PatternFly Select but using IFormGroupSelectOptions for the options.
         | 
| 21 | 
            +
             *
         | 
| 22 | 
            +
             * This supports easy grouping and options that have values that are objects and not just strings.
         | 
| 23 | 
            +
             */
         | 
| 19 24 | 
             
            function FormGroupSelectOption(props) {
         | 
| 20 25 | 
             
                var onSelect = props.onSelect, value = props.value;
         | 
| 21 26 | 
             
                var onSelectHandler = (0, react_1.useCallback)(function (event, label) {
         | 
| @@ -2,5 +2,5 @@ | |
| 2 2 | 
             
            import { TextAreaProps } from '@patternfly/react-core';
         | 
| 3 3 | 
             
            import { PageFormGroupProps } from './PageFormGroup';
         | 
| 4 4 | 
             
            export type FormGroupTextAreaProps = Pick<TextAreaProps, 'placeholder' | 'value' | 'isDisabled' | 'isReadOnly' | 'isRequired' | 'validated' | 'onChange' | 'type' | 'aria-label'> & PageFormGroupProps;
         | 
| 5 | 
            -
            /**  | 
| 5 | 
            +
            /** A PatternFly FormGroup with a PatternFly TextArea */
         | 
| 6 6 | 
             
            export declare function FormGroupTextArea(props: FormGroupTextAreaProps): JSX.Element;
         | 
| @@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () { | |
| 10 10 | 
             
                };
         | 
| 11 11 | 
             
                return __assign.apply(this, arguments);
         | 
| 12 12 | 
             
            };
         | 
| 13 | 
            +
            var __rest = (this && this.__rest) || function (s, e) {
         | 
| 14 | 
            +
                var t = {};
         | 
| 15 | 
            +
                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
         | 
| 16 | 
            +
                    t[p] = s[p];
         | 
| 17 | 
            +
                if (s != null && typeof Object.getOwnPropertySymbols === "function")
         | 
| 18 | 
            +
                    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
         | 
| 19 | 
            +
                        if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
         | 
| 20 | 
            +
                            t[p[i]] = s[p[i]];
         | 
| 21 | 
            +
                    }
         | 
| 22 | 
            +
                return t;
         | 
| 23 | 
            +
            };
         | 
| 13 24 | 
             
            var __read = (this && this.__read) || function (o, n) {
         | 
| 14 25 | 
             
                var m = typeof Symbol === "function" && o[Symbol.iterator];
         | 
| 15 26 | 
             
                if (!m) return o;
         | 
| @@ -33,9 +44,10 @@ var react_core_1 = require("@patternfly/react-core"); | |
| 33 44 | 
             
            var react_icons_1 = require("@patternfly/react-icons");
         | 
| 34 45 | 
             
            var react_1 = require("react");
         | 
| 35 46 | 
             
            var PageFormGroup_1 = require("./PageFormGroup");
         | 
| 36 | 
            -
            /**  | 
| 47 | 
            +
            /** A PatternFly FormGroup with a PatternFly TextArea */
         | 
| 37 48 | 
             
            function FormGroupTextArea(props) {
         | 
| 38 49 | 
             
                var _a = __read((0, react_1.useState)(false), 2), showSecret = _a[0], setShowSecret = _a[1];
         | 
| 39 | 
            -
                 | 
| 50 | 
            +
                var _helperTextInvalid = props.helperTextInvalid, textAreaProps = __rest(props, ["helperTextInvalid"]);
         | 
| 51 | 
            +
                return ((0, jsx_runtime_1.jsx)(PageFormGroup_1.PageFormGroup, __assign({}, props, { children: (0, jsx_runtime_1.jsxs)(react_core_1.InputGroup, { children: [(0, jsx_runtime_1.jsx)(react_core_1.TextArea, __assign({}, textAreaProps, { id: props.id, label: undefined, "aria-describedby": "".concat(props.id, "-form-group"), validated: props.helperTextInvalid ? 'error' : undefined })), props.type === 'password' && ((0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "control", onClick: function () { return setShowSecret(!showSecret); }, isDisabled: props.isDisabled || props.isReadOnly }, { children: showSecret ? (0, jsx_runtime_1.jsx)(react_icons_1.EyeIcon, {}) : (0, jsx_runtime_1.jsx)(react_icons_1.EyeSlashIcon, {}) })))] }) })));
         | 
| 40 52 | 
             
            }
         | 
| 41 53 | 
             
            exports.FormGroupTextArea = FormGroupTextArea;
         | 
| @@ -1,6 +1,6 @@ | |
| 1 1 | 
             
            /// <reference types="react" />
         | 
| 2 2 | 
             
            import { TextInputProps } from '@patternfly/react-core';
         | 
| 3 3 | 
             
            import { PageFormGroupProps } from './PageFormGroup';
         | 
| 4 | 
            -
            export type FormGroupTextInputProps = Pick<TextInputProps, 'placeholder' | 'value' | 'isDisabled' | 'isReadOnly' | 'isRequired' | 'validated' | 'onChange' | 'type' | 'aria-label'> & PageFormGroupProps;
         | 
| 5 | 
            -
            /**  | 
| 4 | 
            +
            export type FormGroupTextInputProps = Pick<TextInputProps, 'placeholder' | 'value' | 'isDisabled' | 'isReadOnly' | 'isRequired' | 'validated' | 'onChange' | 'type' | 'aria-label' | 'autoComplete' | 'autoFocus'> & PageFormGroupProps;
         | 
| 5 | 
            +
            /** A PatternFly FormGroup with a PatternFly TextInput */
         | 
| 6 6 | 
             
            export declare function FormGroupTextInput(props: FormGroupTextInputProps): JSX.Element;
         | 
| @@ -10,6 +10,17 @@ var __assign = (this && this.__assign) || function () { | |
| 10 10 | 
             
                };
         | 
| 11 11 | 
             
                return __assign.apply(this, arguments);
         | 
| 12 12 | 
             
            };
         | 
| 13 | 
            +
            var __rest = (this && this.__rest) || function (s, e) {
         | 
| 14 | 
            +
                var t = {};
         | 
| 15 | 
            +
                for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
         | 
| 16 | 
            +
                    t[p] = s[p];
         | 
| 17 | 
            +
                if (s != null && typeof Object.getOwnPropertySymbols === "function")
         | 
| 18 | 
            +
                    for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
         | 
| 19 | 
            +
                        if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
         | 
| 20 | 
            +
                            t[p[i]] = s[p[i]];
         | 
| 21 | 
            +
                    }
         | 
| 22 | 
            +
                return t;
         | 
| 23 | 
            +
            };
         | 
| 13 24 | 
             
            var __read = (this && this.__read) || function (o, n) {
         | 
| 14 25 | 
             
                var m = typeof Symbol === "function" && o[Symbol.iterator];
         | 
| 15 26 | 
             
                if (!m) return o;
         | 
| @@ -33,9 +44,10 @@ var react_core_1 = require("@patternfly/react-core"); | |
| 33 44 | 
             
            var react_icons_1 = require("@patternfly/react-icons");
         | 
| 34 45 | 
             
            var react_1 = require("react");
         | 
| 35 46 | 
             
            var PageFormGroup_1 = require("./PageFormGroup");
         | 
| 36 | 
            -
            /**  | 
| 47 | 
            +
            /** A PatternFly FormGroup with a PatternFly TextInput */
         | 
| 37 48 | 
             
            function FormGroupTextInput(props) {
         | 
| 38 49 | 
             
                var _a = __read((0, react_1.useState)(false), 2), showSecret = _a[0], setShowSecret = _a[1];
         | 
| 39 | 
            -
                 | 
| 50 | 
            +
                var _helperTextInvalid = props.helperTextInvalid, textInputProps = __rest(props, ["helperTextInvalid"]);
         | 
| 51 | 
            +
                return ((0, jsx_runtime_1.jsx)(PageFormGroup_1.PageFormGroup, __assign({}, props, { children: (0, jsx_runtime_1.jsxs)(react_core_1.InputGroup, { children: [(0, jsx_runtime_1.jsx)(react_core_1.TextInput, __assign({}, textInputProps, { id: props.id, label: undefined, "aria-describedby": "".concat(props.id, "-form-group"), validated: props.helperTextInvalid ? 'error' : undefined, type: props.type === 'password' ? (showSecret ? 'text' : 'password') : props.type })), props.type === 'password' && ((0, jsx_runtime_1.jsx)(react_core_1.Button, __assign({ variant: "control", onClick: function () { return setShowSecret(!showSecret); }, isDisabled: props.isDisabled || props.isReadOnly }, { children: showSecret ? (0, jsx_runtime_1.jsx)(react_icons_1.EyeIcon, {}) : (0, jsx_runtime_1.jsx)(react_icons_1.EyeSlashIcon, {}) })))] }) })));
         | 
| 40 52 | 
             
            }
         | 
| 41 53 | 
             
            exports.FormGroupTextInput = FormGroupTextInput;
         | 
| @@ -20,7 +20,11 @@ function PageFormTextInput(props) { | |
| 20 20 | 
             
                var _a = (0, react_hook_form_1.useFormContext)(), control = _a.control, isSubmitting = _a.formState.isSubmitting;
         | 
| 21 21 | 
             
                return ((0, jsx_runtime_1.jsx)(react_hook_form_1.Controller, { name: props.name, control: control, render: function (_a) {
         | 
| 22 22 | 
             
                        var _b = _a.field, onChange = _b.onChange, value = _b.value, error = _a.fieldState.error;
         | 
| 23 | 
            -
                        return ((0, jsx_runtime_1.jsx)(FormGroupTextInput_1.FormGroupTextInput, __assign({}, props, { value: value, onChange: onChange, helperTextInvalid: error === null || error === void 0 ? void 0 : error. | 
| 23 | 
            +
                        return ((0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)(FormGroupTextInput_1.FormGroupTextInput, __assign({}, props, { value: value, onChange: onChange, helperTextInvalid: (error === null || error === void 0 ? void 0 : error.type) === 'required'
         | 
| 24 | 
            +
                                    ? typeof props.label === 'string'
         | 
| 25 | 
            +
                                        ? "".concat(props.label, " is required")
         | 
| 26 | 
            +
                                        : 'Required'
         | 
| 27 | 
            +
                                    : error === null || error === void 0 ? void 0 : error.message, isReadOnly: props.isReadOnly || isSubmitting })) }));
         | 
| 24 28 | 
             
                    } }));
         | 
| 25 29 | 
             
            }
         | 
| 26 30 | 
             
            exports.PageFormTextInput = PageFormTextInput;
         | 
| @@ -1,6 +1,25 @@ | |
| 1 1 | 
             
            /// <reference types="react" />
         | 
| 2 | 
            +
            import { StringOptions } from '@sinclair/typebox';
         | 
| 2 3 | 
             
            import { JSONSchema6 } from 'json-schema';
         | 
| 4 | 
            +
            import { IFormGroupSelectOption } from './Inputs/FormGroupSelectOption';
         | 
| 3 5 | 
             
            export declare function PageFormSchema(props: {
         | 
| 4 6 | 
             
                schema: JSONSchema6;
         | 
| 5 7 | 
             
                base?: string;
         | 
| 6 8 | 
             
            }): JSX.Element;
         | 
| 9 | 
            +
            export type TypeTextInputOptions = StringOptions<string> & {
         | 
| 10 | 
            +
                placeholder?: string;
         | 
| 11 | 
            +
                /** https://www.chromium.org/developers/design-documents/create-amazing-password-forms/ */
         | 
| 12 | 
            +
                autoComplete?: string;
         | 
| 13 | 
            +
            };
         | 
| 14 | 
            +
            export declare function TypeTextInput(options: TypeTextInputOptions): import("@sinclair/typebox").TString<string>;
         | 
| 15 | 
            +
            export type TypeSecretInputOptions = StringOptions<string> & {
         | 
| 16 | 
            +
                placeholder?: string;
         | 
| 17 | 
            +
                /** https://www.chromium.org/developers/design-documents/create-amazing-password-forms/ */
         | 
| 18 | 
            +
                autoComplete: string;
         | 
| 19 | 
            +
            };
         | 
| 20 | 
            +
            export declare function TypeSecretInput(options: TypeSecretInputOptions): import("@sinclair/typebox").TString<string>;
         | 
| 21 | 
            +
            export type TypeSelectOptions<T> = StringOptions<string> & {
         | 
| 22 | 
            +
                placeholder?: string;
         | 
| 23 | 
            +
                options: IFormGroupSelectOption<T>[];
         | 
| 24 | 
            +
            };
         | 
| 25 | 
            +
            export declare function TypeSelect<T extends string | number>(options: TypeSelectOptions<T>): import("@sinclair/typebox").TString<string>;
         | 
| @@ -1,7 +1,19 @@ | |
| 1 1 | 
             
            "use strict";
         | 
| 2 | 
            +
            var __assign = (this && this.__assign) || function () {
         | 
| 3 | 
            +
                __assign = Object.assign || function(t) {
         | 
| 4 | 
            +
                    for (var s, i = 1, n = arguments.length; i < n; i++) {
         | 
| 5 | 
            +
                        s = arguments[i];
         | 
| 6 | 
            +
                        for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
         | 
| 7 | 
            +
                            t[p] = s[p];
         | 
| 8 | 
            +
                    }
         | 
| 9 | 
            +
                    return t;
         | 
| 10 | 
            +
                };
         | 
| 11 | 
            +
                return __assign.apply(this, arguments);
         | 
| 12 | 
            +
            };
         | 
| 2 13 | 
             
            Object.defineProperty(exports, "__esModule", { value: true });
         | 
| 3 | 
            -
            exports.PageFormSchema = void 0;
         | 
| 14 | 
            +
            exports.TypeSelect = exports.TypeSecretInput = exports.TypeTextInput = exports.PageFormSchema = void 0;
         | 
| 4 15 | 
             
            var jsx_runtime_1 = require("react/jsx-runtime");
         | 
| 16 | 
            +
            var typebox_1 = require("@sinclair/typebox");
         | 
| 5 17 | 
             
            var PageFormSelectOption_1 = require("./Inputs/PageFormSelectOption");
         | 
| 6 18 | 
             
            var PageFormSlider_1 = require("./Inputs/PageFormSlider");
         | 
| 7 19 | 
             
            var PageFormSwitch_1 = require("./Inputs/PageFormSwitch");
         | 
| @@ -9,6 +21,7 @@ var PageFormTextArea_1 = require("./Inputs/PageFormTextArea"); | |
| 9 21 | 
             
            var PageFormTextInput_1 = require("./Inputs/PageFormTextInput");
         | 
| 10 22 | 
             
            var PageFormTextSelect_1 = require("./Inputs/PageFormTextSelect");
         | 
| 11 23 | 
             
            function PageFormSchema(props) {
         | 
| 24 | 
            +
                var _a, _b, _c, _d, _e, _f, _g;
         | 
| 12 25 | 
             
                var schema = props.schema;
         | 
| 13 26 | 
             
                var base = props.base ? props.base + '.' : '';
         | 
| 14 27 | 
             
                var p = [];
         | 
| @@ -21,9 +34,48 @@ function PageFormSchema(props) { | |
| 21 34 | 
             
                    }
         | 
| 22 35 | 
             
                    var title = typeof property.title === 'string' ? property.title : propertyName;
         | 
| 23 36 | 
             
                    var description = typeof property.description === 'string' ? property.description : undefined;
         | 
| 37 | 
            +
                    var required = Array.isArray(schema.required) && schema.required.includes(propertyName);
         | 
| 38 | 
            +
                    var prop = property;
         | 
| 39 | 
            +
                    prop.errorMessage = (_a = prop.errorMessage) !== null && _a !== void 0 ? _a : {};
         | 
| 40 | 
            +
                    switch (property.type) {
         | 
| 41 | 
            +
                        case 'string':
         | 
| 42 | 
            +
                            switch (prop.variant) {
         | 
| 43 | 
            +
                                case 'select':
         | 
| 44 | 
            +
                                    {
         | 
| 45 | 
            +
                                        if (!prop.placeholder) {
         | 
| 46 | 
            +
                                            prop.placeholder = "Enter ".concat(((_b = property.title) !== null && _b !== void 0 ? _b : propertyName).toLowerCase());
         | 
| 47 | 
            +
                                        }
         | 
| 48 | 
            +
                                        if (!prop.enum) {
         | 
| 49 | 
            +
                                            prop.enum = (_c = prop.options) === null || _c === void 0 ? void 0 : _c.map(function (option) { return option.value; });
         | 
| 50 | 
            +
                                        }
         | 
| 51 | 
            +
                                    }
         | 
| 52 | 
            +
                                    break;
         | 
| 53 | 
            +
                                default:
         | 
| 54 | 
            +
                                    {
         | 
| 55 | 
            +
                                        if (!prop.placeholder) {
         | 
| 56 | 
            +
                                            prop.placeholder = "Enter ".concat(((_d = property.title) !== null && _d !== void 0 ? _d : propertyName).toLowerCase());
         | 
| 57 | 
            +
                                        }
         | 
| 58 | 
            +
                                        if (property.minLength) {
         | 
| 59 | 
            +
                                            if (!prop.errorMessage.minLength) {
         | 
| 60 | 
            +
                                                prop.errorMessage.minLength = "".concat((_e = property.title) !== null && _e !== void 0 ? _e : propertyName, " must be at least ").concat(property.minLength, " characters.");
         | 
| 61 | 
            +
                                            }
         | 
| 62 | 
            +
                                        }
         | 
| 63 | 
            +
                                        else if (required) {
         | 
| 64 | 
            +
                                            property.minLength = 1;
         | 
| 65 | 
            +
                                            prop.errorMessage.minLength = "".concat((_f = property.title) !== null && _f !== void 0 ? _f : propertyName, " is required");
         | 
| 66 | 
            +
                                        }
         | 
| 67 | 
            +
                                        if (property.maxLength) {
         | 
| 68 | 
            +
                                            if (!prop.errorMessage.maxLength) {
         | 
| 69 | 
            +
                                                prop.errorMessage.maxLength = "".concat((_g = property.title) !== null && _g !== void 0 ? _g : propertyName, " must be less than ").concat(property.maxLength, " characters.");
         | 
| 70 | 
            +
                                            }
         | 
| 71 | 
            +
                                        }
         | 
| 72 | 
            +
                                    }
         | 
| 73 | 
            +
                                    break;
         | 
| 74 | 
            +
                            }
         | 
| 75 | 
            +
                            break;
         | 
| 76 | 
            +
                    }
         | 
| 24 77 | 
             
                    var placeholder = property.placeholder;
         | 
| 25 78 | 
             
                    placeholder = typeof placeholder === 'string' ? placeholder : undefined;
         | 
| 26 | 
            -
                    var required = Array.isArray(schema.required) && schema.required.includes(propertyName);
         | 
| 27 79 | 
             
                    switch (property.type) {
         | 
| 28 80 | 
             
                        case 'string': {
         | 
| 29 81 | 
             
                            switch (property.variant) {
         | 
| @@ -41,10 +93,16 @@ function PageFormSchema(props) { | |
| 41 93 | 
             
                                    p.push((0, jsx_runtime_1.jsx)(PageFormTextArea_1.PageFormTextArea, { id: base + propertyName, name: base + propertyName, label: title, placeholder: placeholder, isRequired: required }, base + propertyName));
         | 
| 42 94 | 
             
                                    break;
         | 
| 43 95 | 
             
                                case 'secret':
         | 
| 44 | 
            -
                                     | 
| 96 | 
            +
                                    {
         | 
| 97 | 
            +
                                        var typeSecretInputOptions = property;
         | 
| 98 | 
            +
                                        p.push((0, jsx_runtime_1.jsx)(PageFormTextInput_1.PageFormTextInput, { id: base + propertyName, name: base + propertyName, label: title, placeholder: placeholder, isRequired: required, type: "password", autoComplete: typeSecretInputOptions.autoComplete }, base + propertyName));
         | 
| 99 | 
            +
                                    }
         | 
| 45 100 | 
             
                                    break;
         | 
| 46 101 | 
             
                                default:
         | 
| 47 | 
            -
                                     | 
| 102 | 
            +
                                    {
         | 
| 103 | 
            +
                                        var typeTextInputOptions = property;
         | 
| 104 | 
            +
                                        p.push((0, jsx_runtime_1.jsx)(PageFormTextInput_1.PageFormTextInput, { id: base + propertyName, name: base + propertyName, label: title, placeholder: placeholder, isRequired: required, autoComplete: typeTextInputOptions.autoComplete }, base + propertyName));
         | 
| 105 | 
            +
                                    }
         | 
| 48 106 | 
             
                                    break;
         | 
| 49 107 | 
             
                            }
         | 
| 50 108 | 
             
                            break;
         | 
| @@ -66,3 +124,15 @@ function PageFormSchema(props) { | |
| 66 124 | 
             
                return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: p });
         | 
| 67 125 | 
             
            }
         | 
| 68 126 | 
             
            exports.PageFormSchema = PageFormSchema;
         | 
| 127 | 
            +
            function TypeTextInput(options) {
         | 
| 128 | 
            +
                return typebox_1.Type.String(__assign({}, options));
         | 
| 129 | 
            +
            }
         | 
| 130 | 
            +
            exports.TypeTextInput = TypeTextInput;
         | 
| 131 | 
            +
            function TypeSecretInput(options) {
         | 
| 132 | 
            +
                return typebox_1.Type.String(__assign(__assign({}, options), { variant: 'secret' }));
         | 
| 133 | 
            +
            }
         | 
| 134 | 
            +
            exports.TypeSecretInput = TypeSecretInput;
         | 
| 135 | 
            +
            function TypeSelect(options) {
         | 
| 136 | 
            +
                return typebox_1.Type.String(__assign(__assign({}, options), { variant: 'select' }));
         | 
| 137 | 
            +
            }
         | 
| 138 | 
            +
            exports.TypeSelect = TypeSelect;
         |