@trackunit/react-form-components 1.18.26 → 1.20.6

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/index.cjs.js CHANGED
@@ -1494,7 +1494,7 @@ const useMultiMeasure = ({ skip = false, onChange } = {}) => {
1494
1494
  refCallbacksRef.current.set(index, callback);
1495
1495
  return callback;
1496
1496
  }, [skip]);
1497
- return { geometries, getRef };
1497
+ return react.useMemo(() => ({ geometries, getRef }), [geometries, getRef]);
1498
1498
  };
1499
1499
 
1500
1500
  const DEFAULT_STATE = {
@@ -3631,35 +3631,51 @@ RadioGroup.displayName = "RadioGroup";
3631
3631
  * @param {RadioItemProps} props - The props for the RadioItem component
3632
3632
  * @returns {ReactElement} RadioItem component
3633
3633
  */
3634
- const RadioItem = ({ label, value, "data-testid": dataTestId, className, description, suffix, tabIndex, ref, ...rest }) => {
3634
+ const RadioItem = ({ label, value, "data-testid": dataTestId, className, description, suffix, tabIndex, ref, checked = undefined, disabled = false, name, onChange, readOnly = undefined, ...rest }) => {
3635
3635
  const groupCtx = react.useContext(RadioGroupContext);
3636
+ const hasGroupContext = groupCtx !== null;
3636
3637
  const isChecked = groupCtx?.value === value;
3638
+ const isRenderedChecked = hasGroupContext ? isChecked : checked === true;
3639
+ const isDisabled = groupCtx?.disabled ?? disabled;
3640
+ const isStandaloneChecked = !hasGroupContext && checked !== undefined;
3641
+ const shouldRenderReadOnly = readOnly ?? (isStandaloneChecked && onChange === undefined);
3637
3642
  // Empty string is treated as "no selection" to allow tabbing into the group when no radio is checked
3638
3643
  const hasGroupValue = groupCtx?.value !== undefined && groupCtx.value !== "";
3639
3644
  const inputRef = react.useRef(null);
3640
- const wasCheckedRef = react.useRef(isChecked);
3645
+ const wasCheckedRef = react.useRef(isRenderedChecked);
3641
3646
  const { ref: labelRef, isTextTruncated: isLabelTruncated } = reactComponents.useIsTextTruncated();
3642
3647
  const { ref: descriptionRef, isTextTruncated: isDescriptionTruncated } = reactComponents.useIsTextTruncated();
3643
- const descriptionId = description ? `${groupCtx?.id}-${value}-description` : undefined;
3644
- const inputId = `${groupCtx?.id}-${value}`;
3648
+ const descriptionId = description && hasGroupContext ? `${groupCtx.id}-${value}-description` : undefined;
3649
+ const inputId = hasGroupContext ? `${groupCtx.id}-${value}` : undefined;
3645
3650
  const hasLabel = label !== undefined && label !== null && label !== "";
3646
3651
  // Restore focus after React re-render when this radio becomes checked via arrow keys
3647
3652
  react.useEffect(() => {
3648
- if (isChecked && !wasCheckedRef.current) {
3653
+ if (isRenderedChecked && !wasCheckedRef.current) {
3649
3654
  inputRef.current?.focus();
3650
3655
  }
3651
- wasCheckedRef.current = isChecked;
3652
- }, [isChecked]);
3656
+ wasCheckedRef.current = isRenderedChecked;
3657
+ }, [isRenderedChecked]);
3653
3658
  return (jsxRuntime.jsxs("label", { className: hasLabel
3654
3659
  ? cvaBinaryControlWrapper({ className })
3655
- : `inline-flex w-fit items-center gap-2 ${className || ""}`.trim(), "data-testid": dataTestId ? `${dataTestId}-Wrapper` : undefined, ref: ref, children: [jsxRuntime.jsx("input", { "aria-describedby": descriptionId, checked: isChecked, className: cvaRadioItem({
3656
- checked: isChecked,
3657
- disabled: groupCtx?.disabled,
3660
+ : `inline-flex w-fit items-center gap-2 ${className || ""}`.trim(), "data-testid": dataTestId ? `${dataTestId}-Wrapper` : undefined, ref: ref, children: [jsxRuntime.jsx("input", { "aria-describedby": descriptionId, checked: isRenderedChecked, className: cvaRadioItem({
3661
+ checked: isRenderedChecked,
3662
+ disabled: isDisabled,
3658
3663
  invalid: groupCtx?.isInvalid,
3659
- }), "data-testid": dataTestId, id: inputId, name: groupCtx?.name, onChange: groupCtx?.onChange, ref: inputRef, tabIndex: tabIndex ?? (groupCtx?.disabled ? -1 : isChecked ? 0 : hasGroupValue ? -1 : 0), type: "radio", value: value, ...rest }), hasLabel ? (jsxRuntime.jsx(reactComponents.Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Label-Tooltip` : undefined, disabled: !isLabelTruncated, label: label, placement: "top", children: jsxRuntime.jsx("span", { className: cvaBinaryControlLabelTooltip(), children: jsxRuntime.jsx("span", { className: cvaLabel({
3664
+ }), "data-testid": dataTestId, disabled: isDisabled, id: inputId, name: groupCtx?.name ?? name, onChange: groupCtx?.onChange ?? onChange, readOnly: shouldRenderReadOnly, ref: inputRef, tabIndex: tabIndex ?? (isDisabled ? -1 : isRenderedChecked ? 0 : hasGroupValue ? -1 : 0), type: "radio", value: value, ...rest }), hasLabel ? (jsxRuntime.jsx(reactComponents.Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Label-Tooltip` : undefined, disabled: !isLabelTruncated, label: label, placement: "top", children: jsxRuntime.jsx("span", { className: cvaBinaryControlLabelTooltip(), children: jsxRuntime.jsx("span", { className: cvaLabel({
3660
3665
  invalid: groupCtx?.isInvalid,
3661
- disabled: groupCtx?.disabled,
3662
- }), "data-testid": dataTestId ? `${dataTestId}-Label` : undefined, ref: labelRef, children: label }) }) }, "tooltip-" + rest.name)) : null, suffix !== undefined && suffix !== null && suffix !== "" ? (jsxRuntime.jsx("div", { className: cvaBinaryControlSuffixContainer(), "data-testid": dataTestId ? `${dataTestId}-suffix-container` : undefined, children: suffix })) : null, description ? (jsxRuntime.jsx(reactComponents.Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Description-Tooltip` : undefined, disabled: !isDescriptionTruncated, label: description, placement: "top", children: jsxRuntime.jsx("span", { className: cvaBinaryControlDescriptionTooltip(), children: jsxRuntime.jsx("span", { className: cvaBinaryControlDescription({ disabled: groupCtx?.disabled }), "data-testid": dataTestId ? `${dataTestId}-Description` : undefined, id: descriptionId, ref: descriptionRef, children: description }) }) }, "description-tooltip-" + rest.name)) : null] }));
3666
+ disabled: isDisabled,
3667
+ }), "data-testid": dataTestId ? `${dataTestId}-Label` : undefined, ref: labelRef, children: label }) }) }, "tooltip-" + (groupCtx?.name ?? name))) : null, suffix !== undefined && suffix !== null && suffix !== "" ? (jsxRuntime.jsx("div", { className: cvaBinaryControlSuffixContainer(), "data-testid": dataTestId ? `${dataTestId}-suffix-container` : undefined, children: suffix })) : null, description ? (jsxRuntime.jsx(reactComponents.Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Description-Tooltip` : undefined, disabled: !isDescriptionTruncated, label: description, placement: "top", children: jsxRuntime.jsx("span", { className: cvaBinaryControlDescriptionTooltip(), children: jsxRuntime.jsx("span", { className: cvaBinaryControlDescription({ disabled: isDisabled }), "data-testid": dataTestId ? `${dataTestId}-Description` : undefined, id: descriptionId, ref: descriptionRef, children: description }) }) }, "description-tooltip-" + (groupCtx?.name ?? name))) : null] }));
3668
+ };
3669
+
3670
+ /**
3671
+ * Returns whether the provided radio value matches the current RadioGroup selection.
3672
+ *
3673
+ * @param {string | number} value - The radio item's value
3674
+ * @returns {boolean} True when the current RadioGroup context is checked for the provided value
3675
+ */
3676
+ const useRadioItemChecked = (value) => {
3677
+ const radioGroupContext = react.useContext(RadioGroupContext);
3678
+ return radioGroupContext?.value === value;
3663
3679
  };
3664
3680
 
3665
3681
  const cvaTimeRange = cssClassVarianceUtilities.cvaMerge([
@@ -4834,7 +4850,7 @@ const useGetPhoneValidationRules = () => {
4834
4850
  }
4835
4851
  : defaultRules;
4836
4852
  }, [t]);
4837
- return { getPhoneNumberValidationRules };
4853
+ return react.useMemo(() => ({ getPhoneNumberValidationRules }), [getPhoneNumberValidationRules]);
4838
4854
  };
4839
4855
 
4840
4856
  /**
@@ -4843,15 +4859,13 @@ const useGetPhoneValidationRules = () => {
4843
4859
  * @property {Function} getPhoneNumber - A function for get formatted phone number with country code and plus sign
4844
4860
  */
4845
4861
  const usePhoneInput = () => {
4846
- const getPhoneNumber = ({ country, phone }) => {
4862
+ const getPhoneNumber = react.useCallback(({ country, phone }) => {
4847
4863
  if (country) {
4848
4864
  return getPhoneNumberWithPlus(`${country}${phone || ""}`);
4849
4865
  }
4850
4866
  return phone || "";
4851
- };
4852
- return {
4853
- getPhoneNumber,
4854
- };
4867
+ }, []);
4868
+ return react.useMemo(() => ({ getPhoneNumber }), [getPhoneNumber]);
4855
4869
  };
4856
4870
 
4857
4871
  /**
@@ -5010,6 +5024,7 @@ exports.useCreatableSelect = useCreatableSelect;
5010
5024
  exports.useCustomComponents = useCustomComponents;
5011
5025
  exports.useGetPhoneValidationRules = useGetPhoneValidationRules;
5012
5026
  exports.usePhoneInput = usePhoneInput;
5027
+ exports.useRadioItemChecked = useRadioItemChecked;
5013
5028
  exports.useSelect = useSelect;
5014
5029
  exports.useZodValidators = useZodValidators;
5015
5030
  exports.validateEmailAddress = validateEmailAddress;
package/index.esm.js CHANGED
@@ -2,7 +2,7 @@ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { registerTranslations, useNamespaceTranslation, NamespaceTrans } from '@trackunit/i18n-library-translation';
3
3
  import { Temporal, toDateUtil, startOfDayUtil } from '@trackunit/date-and-time-utils';
4
4
  import { IconButton, Icon, Tooltip, Popover, PopoverTrigger, PopoverContent, Button, cvaMenu, cvaMenuList, Tag, useIsTextTruncated, ZStack, MenuItem, useMeasure, useDebounce, useMergeRefs, Spinner, useScrollBlock, Text, Heading, useIsFirstRender } from '@trackunit/react-components';
5
- import { useRef, useEffect, useImperativeHandle, useState, useCallback, cloneElement, isValidElement, useLayoutEffect, useReducer, useMemo, createContext, useContext, useId } from 'react';
5
+ import { useRef, useEffect, useImperativeHandle, useState, useCallback, cloneElement, isValidElement, useLayoutEffect, useMemo, useReducer, createContext, useContext, useId } from 'react';
6
6
  import ReactCalendar from 'react-calendar';
7
7
  import { twMerge } from 'tailwind-merge';
8
8
  import { themeSpacing } from '@trackunit/ui-design-tokens';
@@ -1493,7 +1493,7 @@ const useMultiMeasure = ({ skip = false, onChange } = {}) => {
1493
1493
  refCallbacksRef.current.set(index, callback);
1494
1494
  return callback;
1495
1495
  }, [skip]);
1496
- return { geometries, getRef };
1496
+ return useMemo(() => ({ geometries, getRef }), [geometries, getRef]);
1497
1497
  };
1498
1498
 
1499
1499
  const DEFAULT_STATE = {
@@ -3630,35 +3630,51 @@ RadioGroup.displayName = "RadioGroup";
3630
3630
  * @param {RadioItemProps} props - The props for the RadioItem component
3631
3631
  * @returns {ReactElement} RadioItem component
3632
3632
  */
3633
- const RadioItem = ({ label, value, "data-testid": dataTestId, className, description, suffix, tabIndex, ref, ...rest }) => {
3633
+ const RadioItem = ({ label, value, "data-testid": dataTestId, className, description, suffix, tabIndex, ref, checked = undefined, disabled = false, name, onChange, readOnly = undefined, ...rest }) => {
3634
3634
  const groupCtx = useContext(RadioGroupContext);
3635
+ const hasGroupContext = groupCtx !== null;
3635
3636
  const isChecked = groupCtx?.value === value;
3637
+ const isRenderedChecked = hasGroupContext ? isChecked : checked === true;
3638
+ const isDisabled = groupCtx?.disabled ?? disabled;
3639
+ const isStandaloneChecked = !hasGroupContext && checked !== undefined;
3640
+ const shouldRenderReadOnly = readOnly ?? (isStandaloneChecked && onChange === undefined);
3636
3641
  // Empty string is treated as "no selection" to allow tabbing into the group when no radio is checked
3637
3642
  const hasGroupValue = groupCtx?.value !== undefined && groupCtx.value !== "";
3638
3643
  const inputRef = useRef(null);
3639
- const wasCheckedRef = useRef(isChecked);
3644
+ const wasCheckedRef = useRef(isRenderedChecked);
3640
3645
  const { ref: labelRef, isTextTruncated: isLabelTruncated } = useIsTextTruncated();
3641
3646
  const { ref: descriptionRef, isTextTruncated: isDescriptionTruncated } = useIsTextTruncated();
3642
- const descriptionId = description ? `${groupCtx?.id}-${value}-description` : undefined;
3643
- const inputId = `${groupCtx?.id}-${value}`;
3647
+ const descriptionId = description && hasGroupContext ? `${groupCtx.id}-${value}-description` : undefined;
3648
+ const inputId = hasGroupContext ? `${groupCtx.id}-${value}` : undefined;
3644
3649
  const hasLabel = label !== undefined && label !== null && label !== "";
3645
3650
  // Restore focus after React re-render when this radio becomes checked via arrow keys
3646
3651
  useEffect(() => {
3647
- if (isChecked && !wasCheckedRef.current) {
3652
+ if (isRenderedChecked && !wasCheckedRef.current) {
3648
3653
  inputRef.current?.focus();
3649
3654
  }
3650
- wasCheckedRef.current = isChecked;
3651
- }, [isChecked]);
3655
+ wasCheckedRef.current = isRenderedChecked;
3656
+ }, [isRenderedChecked]);
3652
3657
  return (jsxs("label", { className: hasLabel
3653
3658
  ? cvaBinaryControlWrapper({ className })
3654
- : `inline-flex w-fit items-center gap-2 ${className || ""}`.trim(), "data-testid": dataTestId ? `${dataTestId}-Wrapper` : undefined, ref: ref, children: [jsx("input", { "aria-describedby": descriptionId, checked: isChecked, className: cvaRadioItem({
3655
- checked: isChecked,
3656
- disabled: groupCtx?.disabled,
3659
+ : `inline-flex w-fit items-center gap-2 ${className || ""}`.trim(), "data-testid": dataTestId ? `${dataTestId}-Wrapper` : undefined, ref: ref, children: [jsx("input", { "aria-describedby": descriptionId, checked: isRenderedChecked, className: cvaRadioItem({
3660
+ checked: isRenderedChecked,
3661
+ disabled: isDisabled,
3657
3662
  invalid: groupCtx?.isInvalid,
3658
- }), "data-testid": dataTestId, id: inputId, name: groupCtx?.name, onChange: groupCtx?.onChange, ref: inputRef, tabIndex: tabIndex ?? (groupCtx?.disabled ? -1 : isChecked ? 0 : hasGroupValue ? -1 : 0), type: "radio", value: value, ...rest }), hasLabel ? (jsx(Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Label-Tooltip` : undefined, disabled: !isLabelTruncated, label: label, placement: "top", children: jsx("span", { className: cvaBinaryControlLabelTooltip(), children: jsx("span", { className: cvaLabel({
3663
+ }), "data-testid": dataTestId, disabled: isDisabled, id: inputId, name: groupCtx?.name ?? name, onChange: groupCtx?.onChange ?? onChange, readOnly: shouldRenderReadOnly, ref: inputRef, tabIndex: tabIndex ?? (isDisabled ? -1 : isRenderedChecked ? 0 : hasGroupValue ? -1 : 0), type: "radio", value: value, ...rest }), hasLabel ? (jsx(Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Label-Tooltip` : undefined, disabled: !isLabelTruncated, label: label, placement: "top", children: jsx("span", { className: cvaBinaryControlLabelTooltip(), children: jsx("span", { className: cvaLabel({
3659
3664
  invalid: groupCtx?.isInvalid,
3660
- disabled: groupCtx?.disabled,
3661
- }), "data-testid": dataTestId ? `${dataTestId}-Label` : undefined, ref: labelRef, children: label }) }) }, "tooltip-" + rest.name)) : null, suffix !== undefined && suffix !== null && suffix !== "" ? (jsx("div", { className: cvaBinaryControlSuffixContainer(), "data-testid": dataTestId ? `${dataTestId}-suffix-container` : undefined, children: suffix })) : null, description ? (jsx(Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Description-Tooltip` : undefined, disabled: !isDescriptionTruncated, label: description, placement: "top", children: jsx("span", { className: cvaBinaryControlDescriptionTooltip(), children: jsx("span", { className: cvaBinaryControlDescription({ disabled: groupCtx?.disabled }), "data-testid": dataTestId ? `${dataTestId}-Description` : undefined, id: descriptionId, ref: descriptionRef, children: description }) }) }, "description-tooltip-" + rest.name)) : null] }));
3665
+ disabled: isDisabled,
3666
+ }), "data-testid": dataTestId ? `${dataTestId}-Label` : undefined, ref: labelRef, children: label }) }) }, "tooltip-" + (groupCtx?.name ?? name))) : null, suffix !== undefined && suffix !== null && suffix !== "" ? (jsx("div", { className: cvaBinaryControlSuffixContainer(), "data-testid": dataTestId ? `${dataTestId}-suffix-container` : undefined, children: suffix })) : null, description ? (jsx(Tooltip, { "data-testid": dataTestId ? `${dataTestId}-Description-Tooltip` : undefined, disabled: !isDescriptionTruncated, label: description, placement: "top", children: jsx("span", { className: cvaBinaryControlDescriptionTooltip(), children: jsx("span", { className: cvaBinaryControlDescription({ disabled: isDisabled }), "data-testid": dataTestId ? `${dataTestId}-Description` : undefined, id: descriptionId, ref: descriptionRef, children: description }) }) }, "description-tooltip-" + (groupCtx?.name ?? name))) : null] }));
3667
+ };
3668
+
3669
+ /**
3670
+ * Returns whether the provided radio value matches the current RadioGroup selection.
3671
+ *
3672
+ * @param {string | number} value - The radio item's value
3673
+ * @returns {boolean} True when the current RadioGroup context is checked for the provided value
3674
+ */
3675
+ const useRadioItemChecked = (value) => {
3676
+ const radioGroupContext = useContext(RadioGroupContext);
3677
+ return radioGroupContext?.value === value;
3662
3678
  };
3663
3679
 
3664
3680
  const cvaTimeRange = cvaMerge([
@@ -4833,7 +4849,7 @@ const useGetPhoneValidationRules = () => {
4833
4849
  }
4834
4850
  : defaultRules;
4835
4851
  }, [t]);
4836
- return { getPhoneNumberValidationRules };
4852
+ return useMemo(() => ({ getPhoneNumberValidationRules }), [getPhoneNumberValidationRules]);
4837
4853
  };
4838
4854
 
4839
4855
  /**
@@ -4842,15 +4858,13 @@ const useGetPhoneValidationRules = () => {
4842
4858
  * @property {Function} getPhoneNumber - A function for get formatted phone number with country code and plus sign
4843
4859
  */
4844
4860
  const usePhoneInput = () => {
4845
- const getPhoneNumber = ({ country, phone }) => {
4861
+ const getPhoneNumber = useCallback(({ country, phone }) => {
4846
4862
  if (country) {
4847
4863
  return getPhoneNumberWithPlus(`${country}${phone || ""}`);
4848
4864
  }
4849
4865
  return phone || "";
4850
- };
4851
- return {
4852
- getPhoneNumber,
4853
- };
4866
+ }, []);
4867
+ return useMemo(() => ({ getPhoneNumber }), [getPhoneNumber]);
4854
4868
  };
4855
4869
 
4856
4870
  /**
@@ -4916,4 +4930,4 @@ const useZodValidators = () => {
4916
4930
  */
4917
4931
  setupLibraryTranslations();
4918
4932
 
4919
- export { ActionButton, BaseInput, BaseSelect, Checkbox, CheckboxField, ColorField, CreatableSelect, CreatableSelectField, DEFAULT_TIME, DateBaseInput, DateField, DropZone, DropZoneDefaultLabel, EMAIL_REGEX, EmailField, FormFieldSelectAdapter, FormGroup, Label, MultiSelectField, NumberBaseInput, NumberField, OptionCard, PasswordBaseInput, PasswordField, PhoneBaseInput, PhoneField, PhoneFieldWithController, RadioGroup, RadioItem, Schedule, ScheduleVariant, Search, SelectField, TextAreaBaseInput, TextAreaField, TextBaseInput, TextField, TimeRange, TimeRangeField, ToggleSwitch, ToggleSwitchOption, UploadField, UploadInput, UrlField, checkIfPhoneNumberHasPlus, countryCodeToFlagEmoji, cvaAccessoriesContainer, cvaActionButton, cvaActionContainer, cvaInput$1 as cvaInput, cvaInputAddon, cvaInputBase, cvaInputBaseDisabled, cvaInputBaseInvalid, cvaInputBaseReadOnly, cvaInputBaseSize, cvaInputElement, cvaInputGroup, cvaInputItemPlacementManager, cvaInputPrefix, cvaInputSuffix, cvaLabel, cvaRadioItem, cvaSelectClearIndicator, cvaSelectContainer, cvaSelectControl, cvaSelectDropdownIconContainer, cvaSelectDropdownIndicator, cvaSelectIndicatorsContainer, cvaSelectLoadingMessage, cvaSelectMenu, cvaSelectMenuList, cvaSelectMultiValue, cvaSelectNoOptionsMessage, cvaSelectPlaceholder, cvaSelectPrefixSuffix, cvaSelectSingleValue, cvaSelectValueContainer, dateToISODateUTC, getCountryAbbreviation, getPhoneNumberWithPlus, isInvalidCountryCode, isInvalidPhoneNumber, isValidHEXColor, parseDateFieldValue, parseSchedule, phoneErrorMessage, serializeSchedule, toISODateStringUTC, useCreatableSelect, useCustomComponents, useGetPhoneValidationRules, usePhoneInput, useSelect, useZodValidators, validateEmailAddress, validatePhoneNumber, weekDay };
4933
+ export { ActionButton, BaseInput, BaseSelect, Checkbox, CheckboxField, ColorField, CreatableSelect, CreatableSelectField, DEFAULT_TIME, DateBaseInput, DateField, DropZone, DropZoneDefaultLabel, EMAIL_REGEX, EmailField, FormFieldSelectAdapter, FormGroup, Label, MultiSelectField, NumberBaseInput, NumberField, OptionCard, PasswordBaseInput, PasswordField, PhoneBaseInput, PhoneField, PhoneFieldWithController, RadioGroup, RadioItem, Schedule, ScheduleVariant, Search, SelectField, TextAreaBaseInput, TextAreaField, TextBaseInput, TextField, TimeRange, TimeRangeField, ToggleSwitch, ToggleSwitchOption, UploadField, UploadInput, UrlField, checkIfPhoneNumberHasPlus, countryCodeToFlagEmoji, cvaAccessoriesContainer, cvaActionButton, cvaActionContainer, cvaInput$1 as cvaInput, cvaInputAddon, cvaInputBase, cvaInputBaseDisabled, cvaInputBaseInvalid, cvaInputBaseReadOnly, cvaInputBaseSize, cvaInputElement, cvaInputGroup, cvaInputItemPlacementManager, cvaInputPrefix, cvaInputSuffix, cvaLabel, cvaRadioItem, cvaSelectClearIndicator, cvaSelectContainer, cvaSelectControl, cvaSelectDropdownIconContainer, cvaSelectDropdownIndicator, cvaSelectIndicatorsContainer, cvaSelectLoadingMessage, cvaSelectMenu, cvaSelectMenuList, cvaSelectMultiValue, cvaSelectNoOptionsMessage, cvaSelectPlaceholder, cvaSelectPrefixSuffix, cvaSelectSingleValue, cvaSelectValueContainer, dateToISODateUTC, getCountryAbbreviation, getPhoneNumberWithPlus, isInvalidCountryCode, isInvalidPhoneNumber, isValidHEXColor, parseDateFieldValue, parseSchedule, phoneErrorMessage, serializeSchedule, toISODateStringUTC, useCreatableSelect, useCustomComponents, useGetPhoneValidationRules, usePhoneInput, useRadioItemChecked, useSelect, useZodValidators, validateEmailAddress, validatePhoneNumber, weekDay };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-form-components",
3
- "version": "1.18.26",
3
+ "version": "1.20.6",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -9,17 +9,17 @@
9
9
  "dependencies": {
10
10
  "react-calendar": "^6.0.0",
11
11
  "react-select": "^5.10.2",
12
- "@trackunit/date-and-time-utils": "1.11.91",
12
+ "@trackunit/date-and-time-utils": "1.11.93",
13
13
  "usehooks-ts": "^3.1.0",
14
14
  "libphonenumber-js": "^1.12.22",
15
15
  "zod": "^3.23.8",
16
16
  "tailwind-merge": "^2.0.0",
17
- "@trackunit/css-class-variance-utilities": "1.11.89",
18
- "@trackunit/react-components": "1.20.20",
19
- "@trackunit/ui-icons": "1.11.85",
20
- "@trackunit/shared-utils": "1.13.89",
21
- "@trackunit/ui-design-tokens": "1.11.86",
22
- "@trackunit/i18n-library-translation": "1.15.20",
17
+ "@trackunit/css-class-variance-utilities": "1.11.91",
18
+ "@trackunit/react-components": "1.21.4",
19
+ "@trackunit/ui-icons": "1.11.87",
20
+ "@trackunit/shared-utils": "1.13.91",
21
+ "@trackunit/ui-design-tokens": "1.11.88",
22
+ "@trackunit/i18n-library-translation": "1.17.4",
23
23
  "string-ts": "^2.0.0",
24
24
  "es-toolkit": "^1.39.10"
25
25
  },
@@ -25,4 +25,4 @@ export interface RadioItemProps<TValue extends string | number = string> extends
25
25
  * @param {RadioItemProps} props - The props for the RadioItem component
26
26
  * @returns {ReactElement} RadioItem component
27
27
  */
28
- export declare const RadioItem: <TValue extends string | number>({ label, value, "data-testid": dataTestId, className, description, suffix, tabIndex, ref, ...rest }: RadioItemProps<TValue>) => ReactElement;
28
+ export declare const RadioItem: <TValue extends string | number>({ label, value, "data-testid": dataTestId, className, description, suffix, tabIndex, ref, checked, disabled, name, onChange, readOnly, ...rest }: RadioItemProps<TValue>) => ReactElement;
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Returns whether the provided radio value matches the current RadioGroup selection.
3
+ *
4
+ * @param {string | number} value - The radio item's value
5
+ * @returns {boolean} True when the current RadioGroup context is checked for the provided value
6
+ */
7
+ export declare const useRadioItemChecked: (value: string | number) => boolean;
package/src/index.d.ts CHANGED
@@ -36,6 +36,7 @@ export * from "./components/PhoneFieldWithController/PhoneFieldWithController";
36
36
  export * from "./components/RadioGroup/RadioGroup";
37
37
  export * from "./components/RadioGroup/RadioGroup.variants";
38
38
  export * from "./components/RadioGroup/RadioItem";
39
+ export * from "./components/RadioGroup/useRadioItemChecked";
39
40
  export * from "./components/Schedule/Schedule";
40
41
  export * from "./components/Schedule/ScheduleParser";
41
42
  export * from "./components/Search/Search";
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "This field is required",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Anwenden",
10
+ "dateField.actions.cancel": "Abbrechen",
11
+ "dateField.actions.clear": "Löschen",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Dateien per Drag & Drop hinzufügen",
14
14
  "dropzone.label.default": "<clickable>Ordner durchsuchen</clickable> oder Dateien per Drag & Drop einfügen …",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Dieses Feld kann nicht bearbeitet werden",
18
18
  "field.required.asterisk.tooltip": "Dieses Feld ist ein Pflichtfeld",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Bitte geben Sie eine gültige Nummer ein",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "This field is required",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "To pole jest wymagane",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Zastosuj",
10
+ "dateField.actions.cancel": "Anuluj",
11
+ "dateField.actions.clear": "Wyczyść",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Przeciągnij i upuść dane pliku",
14
14
  "dropzone.label.default": "<clickable>Przeglądaj</clickable> lub przeciągnij pliki tutaj...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "To pole nie jest edytowalne",
18
18
  "field.required.asterisk.tooltip": "To pole jest wymagane",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Podaj prawidłowy numer",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "To pole jest wymagane",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Este campo é obrigatório",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
9
+ "dateField.actions.apply": "Aplicar",
10
10
  "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
11
+ "dateField.actions.clear": "Apagar",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Arrastar-e-soltar entrada de ficheiro",
14
14
  "dropzone.label.default": "<clickable>Procure</clickable> ou arraste os ficheiros aqui...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Este campo não é editável",
18
18
  "field.required.asterisk.tooltip": "Este campo é obrigatório",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Introduza um número válido",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Este campo é obrigatório",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Это поле является обязательным",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Применить",
10
+ "dateField.actions.cancel": "Отмена",
11
+ "dateField.actions.clear": "Очистить",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Перетаскивание ввода файла",
14
14
  "dropzone.label.default": "<clickable>Просмотрите</clickable> или перетащите файлы сюда...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Это поле не редактируемое",
18
18
  "field.required.asterisk.tooltip": "Это поле является обязательным",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Введите действительный номер",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Это поле является обязательным",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Acest câmp este obligatoriu",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
9
+ "dateField.actions.apply": "Aplicare",
10
10
  "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
11
+ "dateField.actions.clear": "Ștergere",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Intrare fișier drag-and-drop",
14
14
  "dropzone.label.default": "<clickable>Răsfoiți</clickable> sau trageți fișiere aici...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Acest câmp nu este editabil",
18
18
  "field.required.asterisk.tooltip": "Acest câmp este obligatoriu",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": " rugăm introduceți un număr valabil",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Acest câmp este obligatoriu",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "This field is required",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
9
+ "dateField.actions.apply": "Aplicar",
10
10
  "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
11
+ "dateField.actions.clear": "Restablecer",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Entrada Arrastrar y soltar archivo",
14
14
  "dropzone.label.default": "<clickable>Explore</clickable> o arrastre archivos aquí...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Este campo no es editable",
18
18
  "field.required.asterisk.tooltip": "Este campo es obligatorio",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Introduzca un número válido",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "This field is required",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "This field is required",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Tillämpa",
10
+ "dateField.actions.cancel": "Avbryt",
11
+ "dateField.actions.clear": "Rensa",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Dra och släpp fil",
14
14
  "dropzone.label.default": "<clickable>Bläddra</clickable> bland filerna eller dra dem hit...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Detta fält kan inte redigeras",
18
18
  "field.required.asterisk.tooltip": "Detta fält är obligatoriskt",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Ange ett giltigt nummer",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "This field is required",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "この欄は必須項目です",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "適用",
10
+ "dateField.actions.cancel": "キャンセル",
11
+ "dateField.actions.clear": "クリア",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "ドラッグ&ドロップによるファイル入力",
14
14
  "dropzone.label.default": "<clickable>ファイルを選択</clickable>またはここにファイルをドラッグ",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "This field is required",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "นำไปใช้",
10
+ "dateField.actions.cancel": "ยกเลิก",
11
+ "dateField.actions.clear": "ล้าง",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "ลากและวางอินพุตไฟล์",
14
14
  "dropzone.label.default": "<clickable>เรียกดู</clickable> หรือลากไฟล์มาที่นี่...",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "This field is required",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Anvend",
10
+ "dateField.actions.cancel": "Annuller",
11
+ "dateField.actions.clear": "Ryd",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Filinput via drag-and-drop",
14
14
  "dropzone.label.default": "<clickable>Gennemse</clickable> eller træk filer her...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Dette felt kan ikke redigeres.",
18
18
  "field.required.asterisk.tooltip": "Dette felt er obligatorisk.",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Indtast et gyldigt nummer",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "This field is required",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Toto pole je povinné",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Použít",
10
+ "dateField.actions.cancel": "Zrušit",
11
+ "dateField.actions.clear": "Vymazat",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Přetažení vstupu do souboru",
14
14
  "dropzone.label.default": "<clickable>Procházejte</clickable> nebo přetáhněte soubory zde...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Toto pole nelze upravit",
18
18
  "field.required.asterisk.tooltip": "Toto pole je povinné",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Zadejte prosím platné číslo",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Toto pole je povinné",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Dit is een verplicht veld",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Toepassen",
10
+ "dateField.actions.cancel": "Annuleren",
11
+ "dateField.actions.clear": "Wissen",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Drag-en-drop bestandsinvoer",
14
14
  "dropzone.label.default": "<clickable>Bladeren</clickable> of sleep bestanden hier naartoe...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Dit veld is niet bewerkbaar",
18
18
  "field.required.asterisk.tooltip": "Dit is een verplicht veld",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Vul een geldig nummer in",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Dit is een verplicht veld",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Ce champ est obligatoire",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Appliquer",
10
+ "dateField.actions.cancel": "Annuler",
11
+ "dateField.actions.clear": "Effacer",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Ajout de fichiers par glisser-déposer",
14
14
  "dropzone.label.default": "<clickable>Parcourir</clickable> ou faire glisser les fichiers ici...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Ce champ n’est pas modifiable",
18
18
  "field.required.asterisk.tooltip": "Ce champ est obligatoire",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Veuillez saisir un numéro valide",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Ce champ est obligatoire",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Tämä kenttä on pakollinen",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Käytä",
10
+ "dateField.actions.cancel": "Peruuta",
11
+ "dateField.actions.clear": "Tyhjennä",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Vedä ja pudota tiedostosyöte",
14
14
  "dropzone.label.default": "<clickable>Selaa</clickable> tai vedä tiedostoja täältä...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Tätä kenttää ei voi muokata",
18
18
  "field.required.asterisk.tooltip": "Tämä kenttä on pakollinen",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Anna kelvollinen numero",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Tämä kenttä on pakollinen",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "A mező kitöltése kötelező",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Alkalmaz",
10
+ "dateField.actions.cancel": "Mégse",
11
+ "dateField.actions.clear": "Törlés",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Húzza ide a fájl(oka)t",
14
14
  "dropzone.label.default": "<clickable>Keresse meg</clickable> vagy húza ide a fájlokat…",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Ez a mező nem szerkeszthető",
18
18
  "field.required.asterisk.tooltip": "A mező kitöltése kötelező",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Kérjük, érvényes számot adjon meg",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "A mező kitöltése kötelező",
@@ -6,9 +6,9 @@ var translation = {
6
6
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
7
7
  "colorField.error.REQUIRED": "Questo campo è obbligatorio",
8
8
  "colorField.tooltip": "Select color",
9
- "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.apply": "Applica",
10
+ "dateField.actions.cancel": "Annulla",
11
+ "dateField.actions.clear": "Cancella",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Inserimento di file tramite Trascina e rilascia",
14
14
  "dropzone.label.default": "<clickable>Sfoglia</clickable> o trascina i file qui...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Questo campo non è modificabile",
18
18
  "field.required.asterisk.tooltip": "Questo campo è obbligatorio",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Inserisci un numero valido",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Questo campo è obbligatorio",
@@ -7,8 +7,8 @@ var translation = {
7
7
  "colorField.error.REQUIRED": "Dette feltet er obligatorisk",
8
8
  "colorField.tooltip": "Select color",
9
9
  "dateField.actions.apply": "Apply",
10
- "dateField.actions.cancel": "Cancel",
11
- "dateField.actions.clear": "Clear",
10
+ "dateField.actions.cancel": "Avbryt",
11
+ "dateField.actions.clear": "Tøm",
12
12
  "dateField.placeholder": "yyyy-mm-dd",
13
13
  "dropzone.input.title": "Dra og slipp for å legge inn fil",
14
14
  "dropzone.label.default": "<clickable>Bla gjennom</clickable> eller dra filer hit...",
@@ -17,7 +17,7 @@ var translation = {
17
17
  "field.notEditable.tooltip": "Dette feltet kan ikke redigeres",
18
18
  "field.required.asterisk.tooltip": "Dette feltet er obligatorisk",
19
19
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
20
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
20
+ "numberField.error.INVALID_NUMBER": "Angi et gyldig nummer",
21
21
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
22
22
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
23
23
  "numberField.error.REQUIRED": "Dette feltet er obligatorisk",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "This field is required",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Anwenden",
8
+ "dateField.actions.cancel": "Abbrechen",
9
+ "dateField.actions.clear": "Löschen",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Dateien per Drag & Drop hinzufügen",
12
12
  "dropzone.label.default": "<clickable>Ordner durchsuchen</clickable> oder Dateien per Drag & Drop einfügen …",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Dieses Feld kann nicht bearbeitet werden",
16
16
  "field.required.asterisk.tooltip": "Dieses Feld ist ein Pflichtfeld",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Bitte geben Sie eine gültige Nummer ein",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "This field is required",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "To pole jest wymagane",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Zastosuj",
8
+ "dateField.actions.cancel": "Anuluj",
9
+ "dateField.actions.clear": "Wyczyść",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Przeciągnij i upuść dane pliku",
12
12
  "dropzone.label.default": "<clickable>Przeglądaj</clickable> lub przeciągnij pliki tutaj...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "To pole nie jest edytowalne",
16
16
  "field.required.asterisk.tooltip": "To pole jest wymagane",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Podaj prawidłowy numer",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "To pole jest wymagane",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Este campo é obrigatório",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
7
+ "dateField.actions.apply": "Aplicar",
8
8
  "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.clear": "Apagar",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Arrastar-e-soltar entrada de ficheiro",
12
12
  "dropzone.label.default": "<clickable>Procure</clickable> ou arraste os ficheiros aqui...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Este campo não é editável",
16
16
  "field.required.asterisk.tooltip": "Este campo é obrigatório",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Introduza um número válido",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Este campo é obrigatório",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Это поле является обязательным",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Применить",
8
+ "dateField.actions.cancel": "Отмена",
9
+ "dateField.actions.clear": "Очистить",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Перетаскивание ввода файла",
12
12
  "dropzone.label.default": "<clickable>Просмотрите</clickable> или перетащите файлы сюда...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Это поле не редактируемое",
16
16
  "field.required.asterisk.tooltip": "Это поле является обязательным",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Введите действительный номер",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Это поле является обязательным",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Acest câmp este obligatoriu",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
7
+ "dateField.actions.apply": "Aplicare",
8
8
  "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.clear": "Ștergere",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Intrare fișier drag-and-drop",
12
12
  "dropzone.label.default": "<clickable>Răsfoiți</clickable> sau trageți fișiere aici...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Acest câmp nu este editabil",
16
16
  "field.required.asterisk.tooltip": "Acest câmp este obligatoriu",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": " rugăm introduceți un număr valabil",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Acest câmp este obligatoriu",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "This field is required",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
7
+ "dateField.actions.apply": "Aplicar",
8
8
  "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
9
+ "dateField.actions.clear": "Restablecer",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Entrada Arrastrar y soltar archivo",
12
12
  "dropzone.label.default": "<clickable>Explore</clickable> o arrastre archivos aquí...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Este campo no es editable",
16
16
  "field.required.asterisk.tooltip": "Este campo es obligatorio",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Introduzca un número válido",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "This field is required",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "This field is required",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Tillämpa",
8
+ "dateField.actions.cancel": "Avbryt",
9
+ "dateField.actions.clear": "Rensa",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Dra och släpp fil",
12
12
  "dropzone.label.default": "<clickable>Bläddra</clickable> bland filerna eller dra dem hit...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Detta fält kan inte redigeras",
16
16
  "field.required.asterisk.tooltip": "Detta fält är obligatoriskt",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Ange ett giltigt nummer",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "This field is required",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "この欄は必須項目です",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "適用",
8
+ "dateField.actions.cancel": "キャンセル",
9
+ "dateField.actions.clear": "クリア",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "ドラッグ&ドロップによるファイル入力",
12
12
  "dropzone.label.default": "<clickable>ファイルを選択</clickable>またはここにファイルをドラッグ",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "This field is required",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "นำไปใช้",
8
+ "dateField.actions.cancel": "ยกเลิก",
9
+ "dateField.actions.clear": "ล้าง",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "ลากและวางอินพุตไฟล์",
12
12
  "dropzone.label.default": "<clickable>เรียกดู</clickable> หรือลากไฟล์มาที่นี่...",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "This field is required",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Anvend",
8
+ "dateField.actions.cancel": "Annuller",
9
+ "dateField.actions.clear": "Ryd",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Filinput via drag-and-drop",
12
12
  "dropzone.label.default": "<clickable>Gennemse</clickable> eller træk filer her...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Dette felt kan ikke redigeres.",
16
16
  "field.required.asterisk.tooltip": "Dette felt er obligatorisk.",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Indtast et gyldigt nummer",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "This field is required",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Toto pole je povinné",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Použít",
8
+ "dateField.actions.cancel": "Zrušit",
9
+ "dateField.actions.clear": "Vymazat",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Přetažení vstupu do souboru",
12
12
  "dropzone.label.default": "<clickable>Procházejte</clickable> nebo přetáhněte soubory zde...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Toto pole nelze upravit",
16
16
  "field.required.asterisk.tooltip": "Toto pole je povinné",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Zadejte prosím platné číslo",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Toto pole je povinné",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Dit is een verplicht veld",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Toepassen",
8
+ "dateField.actions.cancel": "Annuleren",
9
+ "dateField.actions.clear": "Wissen",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Drag-en-drop bestandsinvoer",
12
12
  "dropzone.label.default": "<clickable>Bladeren</clickable> of sleep bestanden hier naartoe...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Dit veld is niet bewerkbaar",
16
16
  "field.required.asterisk.tooltip": "Dit is een verplicht veld",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Vul een geldig nummer in",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Dit is een verplicht veld",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Ce champ est obligatoire",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Appliquer",
8
+ "dateField.actions.cancel": "Annuler",
9
+ "dateField.actions.clear": "Effacer",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Ajout de fichiers par glisser-déposer",
12
12
  "dropzone.label.default": "<clickable>Parcourir</clickable> ou faire glisser les fichiers ici...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Ce champ n’est pas modifiable",
16
16
  "field.required.asterisk.tooltip": "Ce champ est obligatoire",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Veuillez saisir un numéro valide",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Ce champ est obligatoire",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Tämä kenttä on pakollinen",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Käytä",
8
+ "dateField.actions.cancel": "Peruuta",
9
+ "dateField.actions.clear": "Tyhjennä",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Vedä ja pudota tiedostosyöte",
12
12
  "dropzone.label.default": "<clickable>Selaa</clickable> tai vedä tiedostoja täältä...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Tätä kenttää ei voi muokata",
16
16
  "field.required.asterisk.tooltip": "Tämä kenttä on pakollinen",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Anna kelvollinen numero",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Tämä kenttä on pakollinen",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "A mező kitöltése kötelező",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Alkalmaz",
8
+ "dateField.actions.cancel": "Mégse",
9
+ "dateField.actions.clear": "Törlés",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Húzza ide a fájl(oka)t",
12
12
  "dropzone.label.default": "<clickable>Keresse meg</clickable> vagy húza ide a fájlokat…",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Ez a mező nem szerkeszthető",
16
16
  "field.required.asterisk.tooltip": "A mező kitöltése kötelező",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Kérjük, érvényes számot adjon meg",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "A mező kitöltése kötelező",
@@ -4,9 +4,9 @@ var translation = {
4
4
  "colorField.error.INVALID_HEX_CODE": "Please enter a valid color before continuing.",
5
5
  "colorField.error.REQUIRED": "Questo campo è obbligatorio",
6
6
  "colorField.tooltip": "Select color",
7
- "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
7
+ "dateField.actions.apply": "Applica",
8
+ "dateField.actions.cancel": "Annulla",
9
+ "dateField.actions.clear": "Cancella",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Inserimento di file tramite Trascina e rilascia",
12
12
  "dropzone.label.default": "<clickable>Sfoglia</clickable> o trascina i file qui...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Questo campo non è modificabile",
16
16
  "field.required.asterisk.tooltip": "Questo campo è obbligatorio",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Inserisci un numero valido",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Questo campo è obbligatorio",
@@ -5,8 +5,8 @@ var translation = {
5
5
  "colorField.error.REQUIRED": "Dette feltet er obligatorisk",
6
6
  "colorField.tooltip": "Select color",
7
7
  "dateField.actions.apply": "Apply",
8
- "dateField.actions.cancel": "Cancel",
9
- "dateField.actions.clear": "Clear",
8
+ "dateField.actions.cancel": "Avbryt",
9
+ "dateField.actions.clear": "Tøm",
10
10
  "dateField.placeholder": "yyyy-mm-dd",
11
11
  "dropzone.input.title": "Dra og slipp for å legge inn fil",
12
12
  "dropzone.label.default": "<clickable>Bla gjennom</clickable> eller dra filer hit...",
@@ -15,7 +15,7 @@ var translation = {
15
15
  "field.notEditable.tooltip": "Dette feltet kan ikke redigeres",
16
16
  "field.required.asterisk.tooltip": "Dette feltet er obligatorisk",
17
17
  "numberField.error.GREATER_THAN": "Value must be greater than or equal to {{min}}",
18
- "numberField.error.INVALID_NUMBER": "Please enter a valid number",
18
+ "numberField.error.INVALID_NUMBER": "Angi et gyldig nummer",
19
19
  "numberField.error.LESS_THAN": "Value must be less than or equal to {{max}}",
20
20
  "numberField.error.NOT_IN_BETWEEN": "Must be between {{min}} and {{max}}",
21
21
  "numberField.error.REQUIRED": "Dette feltet er obligatorisk",