@trackunit/react-date-and-time-components 1.13.24 → 1.13.32

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
@@ -544,7 +544,7 @@ const isTemporalDirection = (direction) => {
544
544
  /**
545
545
  * Day range select component.
546
546
  */
547
- const DayRangeSelect = ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection = undefined, initialDateRangeOptions, showDateRangeSearch = true, showCustomDateRangeOption = true, timezone, maxDaysInRange, size = "medium", fullWidth = false, actionButton, }) => {
547
+ const DayRangeSelect = ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection = undefined, initialDateRangeOptions, showDateRangeSearch = true, showCustomDateRangeOption = true, timezone, maxDaysInRange, size = "medium", fullWidth = false, actionButton, popoverPlacement = "bottom-start", }) => {
548
548
  const [t] = useTranslation();
549
549
  const parseTemporalPeriodFromText = useParseTemporalPeriodFromText();
550
550
  const filterTemporalPeriodsInRange = useFilterTemporalPeriodsInRange();
@@ -638,7 +638,7 @@ const DayRangeSelect = ({ className, "data-testid": dataTestId, disabled, select
638
638
  setSelectedRange(_selectedDateRange);
639
639
  onRangeSelect(_selectedDateRange);
640
640
  }, [onRangeSelect, handleReset]);
641
- return (jsxRuntime.jsxs(reactComponents.Popover, { onOpenStateChange: state => !state && setIsCustomDateRangeOpen(false), placement: "bottom-start", children: [jsxRuntime.jsx(reactComponents.PopoverTrigger, { children: !actionButton ? (jsxRuntime.jsx(reactComponents.Button, { className: cvaTriggerButton({ active: !!selectedDateRange, className }), "data-testid": dataTestId, disabled: disabled, fullWidth: fullWidth, prefix: jsxRuntime.jsx(reactComponents.Icon, { ariaLabel: t("input.icon.tooltip.calendar"), color: disabled ? "neutral" : selectedDateRange ? "primary" : undefined, name: "Calendar", size: size === "large" ? "medium" : "small" }), size: size, variant: "secondary", children: popoverTriggerLabel ?? t("trigger.selectDateRange") })) : (jsxRuntime.jsx("div", { children: actionButton })) }), jsxRuntime.jsx(reactComponents.PopoverContent, { "data-testid": dataTestId ? `${dataTestId}-popover-content` : undefined, children: closeMenu => {
641
+ return (jsxRuntime.jsxs(reactComponents.Popover, { onOpenStateChange: state => !state && setIsCustomDateRangeOpen(false), placement: popoverPlacement, children: [jsxRuntime.jsx(reactComponents.PopoverTrigger, { children: !actionButton ? (jsxRuntime.jsx(reactComponents.Button, { className: cvaTriggerButton({ active: !!selectedDateRange, className }), "data-testid": dataTestId, disabled: disabled, fullWidth: fullWidth, prefix: jsxRuntime.jsx(reactComponents.Icon, { ariaLabel: t("input.icon.tooltip.calendar"), color: disabled ? "neutral" : selectedDateRange ? "primary" : undefined, name: "Calendar", size: size === "large" ? "medium" : "small" }), size: size, variant: "secondary", children: popoverTriggerLabel ?? t("trigger.selectDateRange") })) : (jsxRuntime.jsx("div", { children: actionButton })) }), jsxRuntime.jsx(reactComponents.PopoverContent, { "data-testid": dataTestId ? `${dataTestId}-popover-content` : undefined, children: closeMenu => {
642
642
  return !isCustomDateRangeOpen ? (jsxRuntime.jsxs(reactComponents.MenuList, { className: "min-w-[280px]", children: [jsxRuntime.jsxs("div", { className: "flex flex-col gap-1", children: [showDateRangeSearch ? (jsxRuntime.jsx(reactFormComponents.Search, { className: "w-full", "data-testid": dataTestId ? `${dataTestId}-search-input` : undefined, onChange: event => handleDateRangeSearch(event.target.value), onClear: () => handleDateRangeSearch(""), placeholder: allowedDirection === "last"
643
643
  ? t("input.placeholder.customRange.last")
644
644
  : t("input.placeholder.customRange.next"), value: dateRangeSearchValue })) : null, jsxRuntime.jsx(reactComponents.Button, { className: "ml-auto", "data-testid": dataTestId ? `${dataTestId}-reset-button` : undefined, disabled: !selectedDateRange, onClick: handleReset, size: "small", variant: "ghost", children: t("layout.actions.reset") })] }), jsxRuntime.jsx("hr", { className: "my-1 border-neutral-200", role: "separator" }), jsxRuntime.jsx(DayRangeSelectOptions, { "data-testid": dataTestId ? `${dataTestId}-options` : undefined, onSelect: value => handleOptionsSelect(value, closeMenu), selectedDateRange: currentSelectedRange, temporalPeriods: temporalPeriods }), showCustomDateRangeOption ? (jsxRuntime.jsxs("section", { children: [jsxRuntime.jsx(reactComponents.MenuDivider, {}), jsxRuntime.jsx(reactComponents.MenuItem, { "data-testid": dataTestId ? `${dataTestId}-custom-range` : undefined, label: t("trigger.customRange"), onClick: () => setIsCustomDateRangeOpen(true), selected: isCustomDateRangeSelected, suffix: jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [isCustomDateRangeSelected ? jsxRuntime.jsx(reactComponents.Icon, { color: "primary", name: "Check", size: "small" }) : null, jsxRuntime.jsx(reactComponents.Icon, { name: "ChevronRight", size: "small" })] }) })] })) : null] })) : (jsxRuntime.jsx(reactComponents.Card, { children: jsxRuntime.jsx(DayRangePicker, { cancelButtonLabel: t("layout.actions.back"), disabledDays: customDateRangeDisabledDays, language: "en", onClose: () => setIsCustomDateRangeOpen(false), onRangeSelect: dateRange => handleCustomDateRangeSelect(dateRange
@@ -887,7 +887,7 @@ const renderChildren = (children) => {
887
887
  if (!children) {
888
888
  return null;
889
889
  }
890
- return jsxRuntime.jsx("div", { className: "mt-0.5 content-center text-sm text-neutral-500", children: children });
890
+ return jsxRuntime.jsx("div", { className: "mt-0.5 content-center text-sm", children: children });
891
891
  };
892
892
  const renderActionButton = (actionButton) => {
893
893
  if (!actionButton) {
package/index.esm.js CHANGED
@@ -542,7 +542,7 @@ const isTemporalDirection = (direction) => {
542
542
  /**
543
543
  * Day range select component.
544
544
  */
545
- const DayRangeSelect = ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection = undefined, initialDateRangeOptions, showDateRangeSearch = true, showCustomDateRangeOption = true, timezone, maxDaysInRange, size = "medium", fullWidth = false, actionButton, }) => {
545
+ const DayRangeSelect = ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection = undefined, initialDateRangeOptions, showDateRangeSearch = true, showCustomDateRangeOption = true, timezone, maxDaysInRange, size = "medium", fullWidth = false, actionButton, popoverPlacement = "bottom-start", }) => {
546
546
  const [t] = useTranslation();
547
547
  const parseTemporalPeriodFromText = useParseTemporalPeriodFromText();
548
548
  const filterTemporalPeriodsInRange = useFilterTemporalPeriodsInRange();
@@ -636,7 +636,7 @@ const DayRangeSelect = ({ className, "data-testid": dataTestId, disabled, select
636
636
  setSelectedRange(_selectedDateRange);
637
637
  onRangeSelect(_selectedDateRange);
638
638
  }, [onRangeSelect, handleReset]);
639
- return (jsxs(Popover, { onOpenStateChange: state => !state && setIsCustomDateRangeOpen(false), placement: "bottom-start", children: [jsx(PopoverTrigger, { children: !actionButton ? (jsx(Button, { className: cvaTriggerButton({ active: !!selectedDateRange, className }), "data-testid": dataTestId, disabled: disabled, fullWidth: fullWidth, prefix: jsx(Icon, { ariaLabel: t("input.icon.tooltip.calendar"), color: disabled ? "neutral" : selectedDateRange ? "primary" : undefined, name: "Calendar", size: size === "large" ? "medium" : "small" }), size: size, variant: "secondary", children: popoverTriggerLabel ?? t("trigger.selectDateRange") })) : (jsx("div", { children: actionButton })) }), jsx(PopoverContent, { "data-testid": dataTestId ? `${dataTestId}-popover-content` : undefined, children: closeMenu => {
639
+ return (jsxs(Popover, { onOpenStateChange: state => !state && setIsCustomDateRangeOpen(false), placement: popoverPlacement, children: [jsx(PopoverTrigger, { children: !actionButton ? (jsx(Button, { className: cvaTriggerButton({ active: !!selectedDateRange, className }), "data-testid": dataTestId, disabled: disabled, fullWidth: fullWidth, prefix: jsx(Icon, { ariaLabel: t("input.icon.tooltip.calendar"), color: disabled ? "neutral" : selectedDateRange ? "primary" : undefined, name: "Calendar", size: size === "large" ? "medium" : "small" }), size: size, variant: "secondary", children: popoverTriggerLabel ?? t("trigger.selectDateRange") })) : (jsx("div", { children: actionButton })) }), jsx(PopoverContent, { "data-testid": dataTestId ? `${dataTestId}-popover-content` : undefined, children: closeMenu => {
640
640
  return !isCustomDateRangeOpen ? (jsxs(MenuList, { className: "min-w-[280px]", children: [jsxs("div", { className: "flex flex-col gap-1", children: [showDateRangeSearch ? (jsx(Search, { className: "w-full", "data-testid": dataTestId ? `${dataTestId}-search-input` : undefined, onChange: event => handleDateRangeSearch(event.target.value), onClear: () => handleDateRangeSearch(""), placeholder: allowedDirection === "last"
641
641
  ? t("input.placeholder.customRange.last")
642
642
  : t("input.placeholder.customRange.next"), value: dateRangeSearchValue })) : null, jsx(Button, { className: "ml-auto", "data-testid": dataTestId ? `${dataTestId}-reset-button` : undefined, disabled: !selectedDateRange, onClick: handleReset, size: "small", variant: "ghost", children: t("layout.actions.reset") })] }), jsx("hr", { className: "my-1 border-neutral-200", role: "separator" }), jsx(DayRangeSelectOptions, { "data-testid": dataTestId ? `${dataTestId}-options` : undefined, onSelect: value => handleOptionsSelect(value, closeMenu), selectedDateRange: currentSelectedRange, temporalPeriods: temporalPeriods }), showCustomDateRangeOption ? (jsxs("section", { children: [jsx(MenuDivider, {}), jsx(MenuItem, { "data-testid": dataTestId ? `${dataTestId}-custom-range` : undefined, label: t("trigger.customRange"), onClick: () => setIsCustomDateRangeOpen(true), selected: isCustomDateRangeSelected, suffix: jsxs(Fragment, { children: [isCustomDateRangeSelected ? jsx(Icon, { color: "primary", name: "Check", size: "small" }) : null, jsx(Icon, { name: "ChevronRight", size: "small" })] }) })] })) : null] })) : (jsx(Card, { children: jsx(DayRangePicker, { cancelButtonLabel: t("layout.actions.back"), disabledDays: customDateRangeDisabledDays, language: "en", onClose: () => setIsCustomDateRangeOpen(false), onRangeSelect: dateRange => handleCustomDateRangeSelect(dateRange
@@ -885,7 +885,7 @@ const renderChildren = (children) => {
885
885
  if (!children) {
886
886
  return null;
887
887
  }
888
- return jsx("div", { className: "mt-0.5 content-center text-sm text-neutral-500", children: children });
888
+ return jsx("div", { className: "mt-0.5 content-center text-sm", children: children });
889
889
  };
890
890
  const renderActionButton = (actionButton) => {
891
891
  if (!actionButton) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trackunit/react-date-and-time-components",
3
- "version": "1.13.24",
3
+ "version": "1.13.32",
4
4
  "repository": "https://github.com/Trackunit/manager",
5
5
  "license": "SEE LICENSE IN LICENSE.txt",
6
6
  "engines": {
@@ -8,14 +8,14 @@
8
8
  },
9
9
  "dependencies": {
10
10
  "react": "19.0.0",
11
- "@trackunit/react-components": "1.14.22",
12
- "@trackunit/date-and-time-utils": "1.10.18",
13
- "@trackunit/react-date-and-time-hooks": "1.10.24",
14
- "@trackunit/css-class-variance-utilities": "1.10.18",
15
- "@trackunit/ui-icons": "1.10.18",
16
- "@trackunit/shared-utils": "1.12.18",
17
- "@trackunit/i18n-library-translation": "1.10.19",
18
- "@trackunit/react-form-components": "1.11.22",
11
+ "@trackunit/react-components": "1.14.28",
12
+ "@trackunit/date-and-time-utils": "1.10.22",
13
+ "@trackunit/react-date-and-time-hooks": "1.10.30",
14
+ "@trackunit/css-class-variance-utilities": "1.10.22",
15
+ "@trackunit/ui-icons": "1.10.22",
16
+ "@trackunit/shared-utils": "1.12.22",
17
+ "@trackunit/i18n-library-translation": "1.10.24",
18
+ "@trackunit/react-form-components": "1.11.28",
19
19
  "string-ts": "^2.0.0",
20
20
  "tailwind-merge": "^2.0.0",
21
21
  "react-calendar": "^6.0.0"
@@ -1,5 +1,5 @@
1
1
  import { DateRange } from "@trackunit/date-and-time-utils";
2
- import { CommonProps } from "@trackunit/react-components";
2
+ import { CommonProps, PopoverPlacement } from "@trackunit/react-components";
3
3
  import { Size } from "@trackunit/shared-utils";
4
4
  import { ReactElement } from "react";
5
5
  import { DayRangePickerProps } from "../DayPicker/DayRangePicker";
@@ -56,8 +56,14 @@ export type DayRangeSelectProps = CommonProps & {
56
56
  * If provided, this button replaces the default trigger button of the component.
57
57
  */
58
58
  actionButton?: ReactElement;
59
+ /**
60
+ * The placement of the popover menu relative to the trigger button.
61
+ *
62
+ * @default "bottom-start"
63
+ */
64
+ popoverPlacement?: PopoverPlacement;
59
65
  };
60
66
  /**
61
67
  * Day range select component.
62
68
  */
63
- export declare const DayRangeSelect: ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection, initialDateRangeOptions, showDateRangeSearch, showCustomDateRangeOption, timezone, maxDaysInRange, size, fullWidth, actionButton, }: DayRangeSelectProps) => import("react/jsx-runtime").JSX.Element;
69
+ export declare const DayRangeSelect: ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection, initialDateRangeOptions, showDateRangeSearch, showCustomDateRangeOption, timezone, maxDaysInRange, size, fullWidth, actionButton, popoverPlacement, }: DayRangeSelectProps) => import("react/jsx-runtime").JSX.Element;
@@ -5,7 +5,7 @@ import { DayRangeSelectProps } from "./DayRangeSelect";
5
5
  type Story = StoryObj<typeof meta>;
6
6
  declare const meta: {
7
7
  title: string;
8
- component: ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection, initialDateRangeOptions, showDateRangeSearch, showCustomDateRangeOption, timezone, maxDaysInRange, size, fullWidth, actionButton, }: DayRangeSelectProps) => import("react/jsx-runtime").JSX.Element;
8
+ component: ({ className, "data-testid": dataTestId, disabled, selectedDateRange, onRangeSelect, allowedDirection, initialDateRangeOptions, showDateRangeSearch, showCustomDateRangeOption, timezone, maxDaysInRange, size, fullWidth, actionButton, popoverPlacement, }: DayRangeSelectProps) => import("react/jsx-runtime").JSX.Element;
9
9
  tags: string[];
10
10
  parameters: {
11
11
  docs: {
@@ -30,6 +30,7 @@ declare const meta: {
30
30
  size?: import("@trackunit/shared-utils").Size | undefined;
31
31
  fullWidth?: boolean | undefined;
32
32
  actionButton?: ReactElement | undefined;
33
+ popoverPlacement?: import("@trackunit/react-components").PopoverPlacement | undefined;
33
34
  }>) => import("react/jsx-runtime").JSX.Element)[];
34
35
  };
35
36
  export default meta;
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Heute",
13
13
  "input.unit.day": "Tag",
14
14
  "input.unit.days": "Tage",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "Monat",
16
18
  "input.unit.months": "Monate",
17
19
  "input.unit.week": "Woche",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Dziś",
13
13
  "input.unit.day": "dzień",
14
14
  "input.unit.days": "dni",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "miesiąc",
16
18
  "input.unit.months": "miesiące",
17
19
  "input.unit.week": "tydzień",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Hoje",
13
13
  "input.unit.day": "dia",
14
14
  "input.unit.days": "dias",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "mês",
16
18
  "input.unit.months": "meses",
17
19
  "input.unit.week": "semana",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Сегодня",
13
13
  "input.unit.day": "день",
14
14
  "input.unit.days": "дня (-ей)",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "месяц",
16
18
  "input.unit.months": "месяца",
17
19
  "input.unit.week": "неделя",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Astăzi",
13
13
  "input.unit.day": "zi",
14
14
  "input.unit.days": "zile",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "lună",
16
18
  "input.unit.months": "luni",
17
19
  "input.unit.week": "săptămâna",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Hoy",
13
13
  "input.unit.day": "día",
14
14
  "input.unit.days": "días",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "mes",
16
18
  "input.unit.months": "meses",
17
19
  "input.unit.week": "semana",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Idag",
13
13
  "input.unit.day": "dag",
14
14
  "input.unit.days": "dagar",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "månad",
16
18
  "input.unit.months": "månader",
17
19
  "input.unit.week": "vecka",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "今日",
13
13
  "input.unit.day": "日",
14
14
  "input.unit.days": "日",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "ヶ月",
16
18
  "input.unit.months": "ヶ月",
17
19
  "input.unit.week": "週間",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "วันนี้",
13
13
  "input.unit.day": "วัน",
14
14
  "input.unit.days": "วัน",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "เดือน",
16
18
  "input.unit.months": "เดือน",
17
19
  "input.unit.week": "สัปดาห์",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "I dag",
13
13
  "input.unit.day": "dag",
14
14
  "input.unit.days": "dage",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "måned",
16
18
  "input.unit.months": "måneder",
17
19
  "input.unit.week": "uge",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Dnes",
13
13
  "input.unit.day": "den",
14
14
  "input.unit.days": "dny/dní",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "měsíc",
16
18
  "input.unit.months": "měsíce",
17
19
  "input.unit.week": "týden",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Vandaag",
13
13
  "input.unit.day": "dag",
14
14
  "input.unit.days": "dagen",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "maand",
16
18
  "input.unit.months": "maanden",
17
19
  "input.unit.week": "week",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Aujourd’hui",
13
13
  "input.unit.day": "jour",
14
14
  "input.unit.days": "jours",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "mois",
16
18
  "input.unit.months": "mois",
17
19
  "input.unit.week": "semaine",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Tänään",
13
13
  "input.unit.day": "päivä",
14
14
  "input.unit.days": "päivää",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "kuukausi",
16
18
  "input.unit.months": "kuukautta",
17
19
  "input.unit.week": "viikko",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Ma",
13
13
  "input.unit.day": "nap",
14
14
  "input.unit.days": "nap",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "hónap",
16
18
  "input.unit.months": "hónap",
17
19
  "input.unit.week": "hét",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "Oggi",
13
13
  "input.unit.day": "giorno",
14
14
  "input.unit.days": "giorni",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "mese",
16
18
  "input.unit.months": "mesi",
17
19
  "input.unit.week": "settimana",
@@ -12,6 +12,8 @@ var translation = {
12
12
  "input.today": "I dag",
13
13
  "input.unit.day": "dag",
14
14
  "input.unit.days": "dager",
15
+ "input.unit.hour": "hour",
16
+ "input.unit.hours": "hours",
15
17
  "input.unit.month": "måned",
16
18
  "input.unit.months": "måneder",
17
19
  "input.unit.week": "uke",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Heute",
11
11
  "input.unit.day": "Tag",
12
12
  "input.unit.days": "Tage",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "Monat",
14
16
  "input.unit.months": "Monate",
15
17
  "input.unit.week": "Woche",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Dziś",
11
11
  "input.unit.day": "dzień",
12
12
  "input.unit.days": "dni",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "miesiąc",
14
16
  "input.unit.months": "miesiące",
15
17
  "input.unit.week": "tydzień",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Hoje",
11
11
  "input.unit.day": "dia",
12
12
  "input.unit.days": "dias",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "mês",
14
16
  "input.unit.months": "meses",
15
17
  "input.unit.week": "semana",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Сегодня",
11
11
  "input.unit.day": "день",
12
12
  "input.unit.days": "дня (-ей)",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "месяц",
14
16
  "input.unit.months": "месяца",
15
17
  "input.unit.week": "неделя",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Astăzi",
11
11
  "input.unit.day": "zi",
12
12
  "input.unit.days": "zile",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "lună",
14
16
  "input.unit.months": "luni",
15
17
  "input.unit.week": "săptămâna",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Hoy",
11
11
  "input.unit.day": "día",
12
12
  "input.unit.days": "días",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "mes",
14
16
  "input.unit.months": "meses",
15
17
  "input.unit.week": "semana",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Idag",
11
11
  "input.unit.day": "dag",
12
12
  "input.unit.days": "dagar",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "månad",
14
16
  "input.unit.months": "månader",
15
17
  "input.unit.week": "vecka",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "今日",
11
11
  "input.unit.day": "日",
12
12
  "input.unit.days": "日",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "ヶ月",
14
16
  "input.unit.months": "ヶ月",
15
17
  "input.unit.week": "週間",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "วันนี้",
11
11
  "input.unit.day": "วัน",
12
12
  "input.unit.days": "วัน",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "เดือน",
14
16
  "input.unit.months": "เดือน",
15
17
  "input.unit.week": "สัปดาห์",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "I dag",
11
11
  "input.unit.day": "dag",
12
12
  "input.unit.days": "dage",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "måned",
14
16
  "input.unit.months": "måneder",
15
17
  "input.unit.week": "uge",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Dnes",
11
11
  "input.unit.day": "den",
12
12
  "input.unit.days": "dny/dní",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "měsíc",
14
16
  "input.unit.months": "měsíce",
15
17
  "input.unit.week": "týden",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Vandaag",
11
11
  "input.unit.day": "dag",
12
12
  "input.unit.days": "dagen",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "maand",
14
16
  "input.unit.months": "maanden",
15
17
  "input.unit.week": "week",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Aujourd’hui",
11
11
  "input.unit.day": "jour",
12
12
  "input.unit.days": "jours",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "mois",
14
16
  "input.unit.months": "mois",
15
17
  "input.unit.week": "semaine",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Tänään",
11
11
  "input.unit.day": "päivä",
12
12
  "input.unit.days": "päivää",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "kuukausi",
14
16
  "input.unit.months": "kuukautta",
15
17
  "input.unit.week": "viikko",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Ma",
11
11
  "input.unit.day": "nap",
12
12
  "input.unit.days": "nap",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "hónap",
14
16
  "input.unit.months": "hónap",
15
17
  "input.unit.week": "hét",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "Oggi",
11
11
  "input.unit.day": "giorno",
12
12
  "input.unit.days": "giorni",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "mese",
14
16
  "input.unit.months": "mesi",
15
17
  "input.unit.week": "settimana",
@@ -10,6 +10,8 @@ var translation = {
10
10
  "input.today": "I dag",
11
11
  "input.unit.day": "dag",
12
12
  "input.unit.days": "dager",
13
+ "input.unit.hour": "hour",
14
+ "input.unit.hours": "hours",
13
15
  "input.unit.month": "måned",
14
16
  "input.unit.months": "måneder",
15
17
  "input.unit.week": "uke",