@jobber/components 9.6.0 → 9.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/ActivityIndicator-cjs.js +1 -0
- package/dist/ActivityIndicator-es.js +1 -0
- package/dist/Autocomplete-cjs.js +1 -0
- package/dist/Autocomplete-es.js +1 -0
- package/dist/Banner-cjs.js +1 -0
- package/dist/Banner-es.js +1 -0
- package/dist/Chip-cjs.js +1 -0
- package/dist/Chip-es.js +1 -0
- package/dist/ConfirmationModal-cjs.js +1 -0
- package/dist/ConfirmationModal-es.js +1 -0
- package/dist/DataDump-cjs.js +1 -0
- package/dist/DataDump-es.js +1 -0
- package/dist/DataTable-cjs.js +1 -0
- package/dist/DataTable-es.js +1 -0
- package/dist/DatePicker-cjs.js +3 -3
- package/dist/DatePicker-es.js +4 -4
- package/dist/DrawerGrid-cjs.js +1 -0
- package/dist/DrawerGrid-es.js +1 -0
- package/dist/FeatureSwitch-cjs.js +1 -0
- package/dist/FeatureSwitch-es.js +1 -0
- package/dist/FormFieldWrapper-cjs.js +1 -0
- package/dist/FormFieldWrapper-es.js +1 -0
- package/dist/FormatFile-cjs.js +1 -0
- package/dist/FormatFile-es.js +1 -0
- package/dist/InputAvatar-cjs.js +1 -0
- package/dist/InputAvatar-es.js +1 -0
- package/dist/InputDate-cjs.js +1 -0
- package/dist/InputDate-es.js +1 -0
- package/dist/InternalChipDismissible-cjs.js +1 -0
- package/dist/InternalChipDismissible-es.js +1 -0
- package/dist/LightBox-cjs.js +1 -0
- package/dist/LightBox-es.js +1 -0
- package/dist/Menu-cjs.js +1 -0
- package/dist/Menu-es.js +1 -0
- package/dist/Modal/index.cjs +1 -1
- package/dist/Modal/index.mjs +1 -1
- package/dist/Page-cjs.js +1 -0
- package/dist/Page-es.js +1 -0
- package/dist/Popover-cjs.js +1 -0
- package/dist/Popover-es.js +1 -0
- package/dist/ProgressBar-cjs.js +1 -0
- package/dist/ProgressBar-es.js +1 -0
- package/dist/SideDrawer-cjs.js +1 -0
- package/dist/SideDrawer-es.js +1 -0
- package/dist/Spinner-cjs.js +1 -0
- package/dist/Spinner-es.js +1 -0
- package/dist/sharedHelpers/i18n/index.cjs +1 -0
- package/dist/sharedHelpers/i18n/index.d.ts +1 -0
- package/dist/sharedHelpers/i18n/index.mjs +1 -1
- package/dist/sharedHelpers/i18n/releasedLanguages.d.ts +12 -0
- package/dist/sharedHelpers/i18n/useReleasedLocale.d.ts +6 -0
- package/dist/showToast-cjs.js +1 -1
- package/dist/showToast-es.js +1 -1
- package/dist/testUtils/releasedLanguages.d.ts +16 -0
- package/dist/useAtlantisI18n-cjs.js +44 -11
- package/dist/useAtlantisI18n-es.js +44 -12
- package/package.json +2 -2
|
@@ -4,6 +4,7 @@ var React = require('react');
|
|
|
4
4
|
var classnames = require('classnames');
|
|
5
5
|
var common_messages = require('./common.messages-cjs.js');
|
|
6
6
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
7
|
+
require('./AtlantisContext-cjs.js');
|
|
7
8
|
|
|
8
9
|
var styles = {"indicator":"YST686vLR3c-","screenReaderOnly":"MmNHh-oCyxc-","small":"_888S5Y2IeZ8-","svg":"Av9z-aLocss-","indicatorLinearRotate":"WvHFS--Nm80-","track":"VDTWabJptKI-","arc":"_9XO0290QNCY-","indicatorRotateArc":"SHHICknKvqA-","indicatorExpandArc":"_0m0Nzc5awnA-","indicatorReducedPulse":"_4dXQsbprq3s-","spinning":"IZCteJUCKio-"};
|
|
9
10
|
|
|
@@ -2,6 +2,7 @@ import React__default from 'react';
|
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { c as commonMessages } from './common.messages-es.js';
|
|
4
4
|
import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
5
|
+
import './AtlantisContext-es.js';
|
|
5
6
|
|
|
6
7
|
var styles = {"indicator":"YST686vLR3c-","screenReaderOnly":"MmNHh-oCyxc-","small":"_888S5Y2IeZ8-","svg":"Av9z-aLocss-","indicatorLinearRotate":"WvHFS--Nm80-","track":"VDTWabJptKI-","arc":"_9XO0290QNCY-","indicatorRotateArc":"SHHICknKvqA-","indicatorExpandArc":"_0m0Nzc5awnA-","indicatorReducedPulse":"_4dXQsbprq3s-","spinning":"IZCteJUCKio-"};
|
|
7
8
|
|
package/dist/Autocomplete-cjs.js
CHANGED
|
@@ -11,6 +11,7 @@ var Text = require('./Text-cjs.js');
|
|
|
11
11
|
var Typography = require('./Typography-cjs.js');
|
|
12
12
|
var Icon = require('./Icon-cjs.js');
|
|
13
13
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
14
|
+
require('./AtlantisContext-cjs.js');
|
|
14
15
|
var Glimmer = require('./Glimmer-cjs.js');
|
|
15
16
|
var InputText = require('./InputText-cjs.js');
|
|
16
17
|
var FormFieldWrapper = require('./FormFieldWrapper-cjs.js');
|
package/dist/Autocomplete-es.js
CHANGED
|
@@ -9,6 +9,7 @@ import { T as Text } from './Text-es.js';
|
|
|
9
9
|
import { T as Typography } from './Typography-es.js';
|
|
10
10
|
import { I as Icon } from './Icon-es.js';
|
|
11
11
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
12
|
+
import './AtlantisContext-es.js';
|
|
12
13
|
import { G as Glimmer } from './Glimmer-es.js';
|
|
13
14
|
import { I as InputText } from './InputText-es.js';
|
|
14
15
|
import { c as FormFieldWrapper } from './FormFieldWrapper-es.js';
|
package/dist/Banner-cjs.js
CHANGED
|
@@ -5,6 +5,7 @@ var React = require('react');
|
|
|
5
5
|
var classnames = require('classnames');
|
|
6
6
|
var jobberHooks = require('@jobber/hooks');
|
|
7
7
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
8
|
+
require('./AtlantisContext-cjs.js');
|
|
8
9
|
var Icon = require('./Icon-cjs.js');
|
|
9
10
|
var ButtonDismiss = require('./ButtonDismiss-cjs.js');
|
|
10
11
|
var Button = require('./Button-cjs.js');
|
package/dist/Banner-es.js
CHANGED
|
@@ -3,6 +3,7 @@ import React__default, { createContext, useContext, useState } from 'react';
|
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { useResizeObserver } from '@jobber/hooks';
|
|
5
5
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
6
|
+
import './AtlantisContext-es.js';
|
|
6
7
|
import { I as Icon } from './Icon-es.js';
|
|
7
8
|
import { B as ButtonDismiss } from './ButtonDismiss-es.js';
|
|
8
9
|
import { B as Button } from './Button-es.js';
|
package/dist/Chip-cjs.js
CHANGED
|
@@ -8,6 +8,7 @@ var Avatar = require('./Avatar-cjs.js');
|
|
|
8
8
|
var Icon = require('./Icon-cjs.js');
|
|
9
9
|
var useChildComponent = require('./useChildComponent-cjs.js');
|
|
10
10
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
11
|
+
require('./AtlantisContext-cjs.js');
|
|
11
12
|
var Typography = require('./Typography-cjs.js');
|
|
12
13
|
var Tooltip = require('./Tooltip-cjs.js');
|
|
13
14
|
|
package/dist/Chip-es.js
CHANGED
|
@@ -6,6 +6,7 @@ import { A as Avatar } from './Avatar-es.js';
|
|
|
6
6
|
import { I as Icon } from './Icon-es.js';
|
|
7
7
|
import { u as useChildComponent } from './useChildComponent-es.js';
|
|
8
8
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
9
|
+
import './AtlantisContext-es.js';
|
|
9
10
|
import { T as Typography } from './Typography-es.js';
|
|
10
11
|
import { T as Tooltip } from './Tooltip-es.js';
|
|
11
12
|
|
|
@@ -7,6 +7,7 @@ var Content = require('./Content-cjs.js');
|
|
|
7
7
|
var Markdown = require('./Markdown-cjs.js');
|
|
8
8
|
var common_messages = require('./common.messages-cjs.js');
|
|
9
9
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
10
|
+
require('./AtlantisContext-cjs.js');
|
|
10
11
|
|
|
11
12
|
function confirmationModalReducer(state, action) {
|
|
12
13
|
switch (action.type) {
|
|
@@ -5,6 +5,7 @@ import { C as Content } from './Content-es.js';
|
|
|
5
5
|
import { M as Markdown } from './Markdown-es.js';
|
|
6
6
|
import { c as commonMessages } from './common.messages-es.js';
|
|
7
7
|
import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
8
|
+
import './AtlantisContext-es.js';
|
|
8
9
|
|
|
9
10
|
function confirmationModalReducer(state, action) {
|
|
10
11
|
switch (action.type) {
|
package/dist/DataDump-cjs.js
CHANGED
package/dist/DataDump-es.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
3
|
+
import './AtlantisContext-es.js';
|
|
3
4
|
import { C as Card } from './Card-es.js';
|
|
4
5
|
import { C as Content } from './Content-es.js';
|
|
5
6
|
import { E as Emphasis } from './Emphasis-es.js';
|
package/dist/DataTable-cjs.js
CHANGED
|
@@ -7,6 +7,7 @@ var jobberHooks = require('@jobber/hooks');
|
|
|
7
7
|
var Glimmer = require('./Glimmer-cjs.js');
|
|
8
8
|
var tslib_es6 = require('./tslib.es6-cjs.js');
|
|
9
9
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
10
|
+
require('./AtlantisContext-cjs.js');
|
|
10
11
|
var LegacySelect = require('./LegacySelect-cjs.js');
|
|
11
12
|
var Button = require('./Button-cjs.js');
|
|
12
13
|
var Text = require('./Text-cjs.js');
|
package/dist/DataTable-es.js
CHANGED
|
@@ -5,6 +5,7 @@ import { useResizeObserver, Breakpoints } from '@jobber/hooks';
|
|
|
5
5
|
import { G as Glimmer } from './Glimmer-es.js';
|
|
6
6
|
import { _ as __rest } from './tslib.es6-es.js';
|
|
7
7
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
8
|
+
import './AtlantisContext-es.js';
|
|
8
9
|
import { L as LegacySelect, S as SelectOption } from './LegacySelect-es.js';
|
|
9
10
|
import { B as Button } from './Button-es.js';
|
|
10
11
|
import { T as Text } from './Text-es.js';
|
package/dist/DatePicker-cjs.js
CHANGED
|
@@ -6,9 +6,9 @@ var floatingUi_react = require('./floating-ui.react-cjs.js');
|
|
|
6
6
|
var ReactDOM = require('react-dom');
|
|
7
7
|
var jobberHooks = require('@jobber/hooks');
|
|
8
8
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
9
|
+
var AtlantisContext = require('./AtlantisContext-cjs.js');
|
|
9
10
|
var Typography = require('./Typography-cjs.js');
|
|
10
11
|
var Button = require('./Button-cjs.js');
|
|
11
|
-
var AtlantisContext = require('./AtlantisContext-cjs.js');
|
|
12
12
|
var _commonjsHelpers = require('./_commonjsHelpers-cjs.js');
|
|
13
13
|
var _getAllKeys = require('./_getAllKeys-cjs.js');
|
|
14
14
|
var identity = require('./identity-cjs.js');
|
|
@@ -12680,12 +12680,12 @@ const datePickerMessages = useAtlantisI18n.defineMessages({
|
|
|
12680
12680
|
});
|
|
12681
12681
|
|
|
12682
12682
|
function DatePickerCustomHeader({ monthDate, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) {
|
|
12683
|
-
const
|
|
12683
|
+
const locale = useAtlantisI18n.useReleasedLocale();
|
|
12684
12684
|
const { t } = useAtlantisI18n.useAtlantisI18n(datePickerMessages);
|
|
12685
12685
|
return (React.createElement("div", { className: styles.header },
|
|
12686
12686
|
React.createElement(Button.Button, { onClick: decreaseMonth, disabled: prevMonthButtonDisabled, icon: "arrowLeft", ariaLabel: t("previousMonth"), variation: "work", type: "tertiary" }),
|
|
12687
12687
|
React.createElement("div", { className: styles.month },
|
|
12688
|
-
React.createElement(Typography.Typography, { element: "span", fontFamily: "display", size: "large" }, monthDate.toLocaleString(locale
|
|
12688
|
+
React.createElement(Typography.Typography, { element: "span", fontFamily: "display", size: "large" }, monthDate.toLocaleString(locale, {
|
|
12689
12689
|
month: "long",
|
|
12690
12690
|
year: "numeric",
|
|
12691
12691
|
}))),
|
package/dist/DatePicker-es.js
CHANGED
|
@@ -3,10 +3,10 @@ import classnames from 'classnames';
|
|
|
3
3
|
import { u as useFloating, b as autoUpdate, f as flip, o as offset, a as arrow, w as FloatingArrow, d as useFloatingNodeId, c as useFloatingParentNodeId, i as FloatingTree, j as FloatingNode, F as FloatingPortal } from './floating-ui.react-es.js';
|
|
4
4
|
import ReactDOM__default from 'react-dom';
|
|
5
5
|
import { useRefocusOnActivator } from '@jobber/hooks';
|
|
6
|
-
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
6
|
+
import { d as defineMessages, a as useReleasedLocale, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
7
|
+
import { u as useAtlantisContext } from './AtlantisContext-es.js';
|
|
7
8
|
import { T as Typography } from './Typography-es.js';
|
|
8
9
|
import { B as Button } from './Button-es.js';
|
|
9
|
-
import { u as useAtlantisContext } from './AtlantisContext-es.js';
|
|
10
10
|
import { g as getDefaultExportFromCjs } from './_commonjsHelpers-es.js';
|
|
11
11
|
import { k as keys_1, g as _getSymbols, _ as _arrayPush, s as stubArray_1, h as _baseGetAllKeys, c as _getAllKeys, b as _baseGet, d as _castPath, e as _toKey, a as _arrayMap } from './_getAllKeys-es.js';
|
|
12
12
|
import { c as _Stack } from './identity-es.js';
|
|
@@ -12678,12 +12678,12 @@ const datePickerMessages = defineMessages({
|
|
|
12678
12678
|
});
|
|
12679
12679
|
|
|
12680
12680
|
function DatePickerCustomHeader({ monthDate, decreaseMonth, increaseMonth, prevMonthButtonDisabled, nextMonthButtonDisabled, }) {
|
|
12681
|
-
const
|
|
12681
|
+
const locale = useReleasedLocale();
|
|
12682
12682
|
const { t } = useAtlantisI18n(datePickerMessages);
|
|
12683
12683
|
return (React__default.createElement("div", { className: styles.header },
|
|
12684
12684
|
React__default.createElement(Button, { onClick: decreaseMonth, disabled: prevMonthButtonDisabled, icon: "arrowLeft", ariaLabel: t("previousMonth"), variation: "work", type: "tertiary" }),
|
|
12685
12685
|
React__default.createElement("div", { className: styles.month },
|
|
12686
|
-
React__default.createElement(Typography, { element: "span", fontFamily: "display", size: "large" }, monthDate.toLocaleString(locale
|
|
12686
|
+
React__default.createElement(Typography, { element: "span", fontFamily: "display", size: "large" }, monthDate.toLocaleString(locale, {
|
|
12687
12687
|
month: "long",
|
|
12688
12688
|
year: "numeric",
|
|
12689
12689
|
}))),
|
package/dist/DrawerGrid-cjs.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var classnames = require('classnames');
|
|
5
5
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
6
|
+
require('./AtlantisContext-cjs.js');
|
|
6
7
|
var Heading = require('./Heading-cjs.js');
|
|
7
8
|
var ButtonDismiss = require('./ButtonDismiss-cjs.js');
|
|
8
9
|
|
package/dist/DrawerGrid-es.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
4
|
+
import './AtlantisContext-es.js';
|
|
4
5
|
import { H as Heading } from './Heading-es.js';
|
|
5
6
|
import { B as ButtonDismiss } from './ButtonDismiss-es.js';
|
|
6
7
|
|
|
@@ -4,6 +4,7 @@ var React = require('react');
|
|
|
4
4
|
var framerMotion = require('framer-motion');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
6
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
7
|
+
require('./AtlantisContext-cjs.js');
|
|
7
8
|
var Heading = require('./Heading-cjs.js');
|
|
8
9
|
var Text = require('./Text-cjs.js');
|
|
9
10
|
var Content = require('./Content-cjs.js');
|
package/dist/FeatureSwitch-es.js
CHANGED
|
@@ -2,6 +2,7 @@ import React__default, { useState, useEffect } from 'react';
|
|
|
2
2
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
5
|
+
import './AtlantisContext-es.js';
|
|
5
6
|
import { H as Heading } from './Heading-es.js';
|
|
6
7
|
import { T as Text } from './Text-es.js';
|
|
7
8
|
import { C as Content } from './Content-es.js';
|
|
@@ -9,6 +9,7 @@ var Button = require('./Button-cjs.js');
|
|
|
9
9
|
var Icon = require('./Icon-cjs.js');
|
|
10
10
|
var Text = require('./Text-cjs.js');
|
|
11
11
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
12
|
+
require('./AtlantisContext-cjs.js');
|
|
12
13
|
var useFormFieldFocus = require('./useFormFieldFocus-cjs.js');
|
|
13
14
|
var InputValidation = require('./InputValidation-cjs.js');
|
|
14
15
|
|
|
@@ -7,6 +7,7 @@ import { B as Button } from './Button-es.js';
|
|
|
7
7
|
import { I as Icon } from './Icon-es.js';
|
|
8
8
|
import { T as Text } from './Text-es.js';
|
|
9
9
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
10
|
+
import './AtlantisContext-es.js';
|
|
10
11
|
import { u as useFormFieldFocus } from './useFormFieldFocus-es.js';
|
|
11
12
|
import { I as InputValidation } from './InputValidation-es.js';
|
|
12
13
|
|
package/dist/FormatFile-cjs.js
CHANGED
|
@@ -4,6 +4,7 @@ var React = require('react');
|
|
|
4
4
|
var getHumanReadableFileSize = require('filesize');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
6
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
7
|
+
require('./AtlantisContext-cjs.js');
|
|
7
8
|
var Thumbnail = require('./Thumbnail-cjs.js');
|
|
8
9
|
var Text = require('./Text-cjs.js');
|
|
9
10
|
var ProgressBar = require('./ProgressBar-cjs.js');
|
package/dist/FormatFile-es.js
CHANGED
|
@@ -2,6 +2,7 @@ import React__default, { useState } from 'react';
|
|
|
2
2
|
import getHumanReadableFileSize from 'filesize';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
5
|
+
import './AtlantisContext-es.js';
|
|
5
6
|
import { T as Thumbnail } from './Thumbnail-es.js';
|
|
6
7
|
import { T as Text } from './Text-es.js';
|
|
7
8
|
import { P as ProgressBar } from './ProgressBar-es.js';
|
package/dist/InputAvatar-cjs.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var tslib_es6 = require('./tslib.es6-cjs.js');
|
|
4
4
|
var React = require('react');
|
|
5
5
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
6
|
+
require('./AtlantisContext-cjs.js');
|
|
6
7
|
var Avatar = require('./Avatar-cjs.js');
|
|
7
8
|
var InputFile = require('./InputFile-cjs.js');
|
|
8
9
|
var ProgressBar = require('./ProgressBar-cjs.js');
|
package/dist/InputAvatar-es.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { _ as __rest, a as __awaiter } from './tslib.es6-es.js';
|
|
2
2
|
import React__default, { useState } from 'react';
|
|
3
3
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
4
|
+
import './AtlantisContext-es.js';
|
|
4
5
|
import { A as Avatar } from './Avatar-es.js';
|
|
5
6
|
import { I as InputFile } from './InputFile-es.js';
|
|
6
7
|
import { P as ProgressBar } from './ProgressBar-es.js';
|
package/dist/InputDate-cjs.js
CHANGED
package/dist/InputDate-es.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React__default, { useState, forwardRef, useRef } from 'react';
|
|
2
2
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
3
|
+
import './AtlantisContext-es.js';
|
|
3
4
|
import { D as DatePicker } from './DatePicker-es.js';
|
|
4
5
|
import { I as InputText } from './InputText-es.js';
|
|
5
6
|
|
|
@@ -11,6 +11,7 @@ var Text = require('./Text-cjs.js');
|
|
|
11
11
|
var Button = require('./Button-cjs.js');
|
|
12
12
|
var Spinner = require('./Spinner-cjs.js');
|
|
13
13
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
14
|
+
require('./AtlantisContext-cjs.js');
|
|
14
15
|
var Chip = require('./Chip-cjs.js');
|
|
15
16
|
require('./tslib.es6-cjs.js');
|
|
16
17
|
|
|
@@ -9,6 +9,7 @@ import { T as Text } from './Text-es.js';
|
|
|
9
9
|
import { B as Button } from './Button-es.js';
|
|
10
10
|
import { S as Spinner } from './Spinner-es.js';
|
|
11
11
|
import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
12
|
+
import './AtlantisContext-es.js';
|
|
12
13
|
import { C as Chip, c as chipsMessages, I as InternalChipButton } from './Chip-es.js';
|
|
13
14
|
import './tslib.es6-es.js';
|
|
14
15
|
|
package/dist/LightBox-cjs.js
CHANGED
|
@@ -7,6 +7,7 @@ var jobberHooks = require('@jobber/hooks');
|
|
|
7
7
|
var classnames = require('classnames');
|
|
8
8
|
var noop = require('./noop-cjs.js');
|
|
9
9
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
10
|
+
require('./AtlantisContext-cjs.js');
|
|
10
11
|
var ButtonDismiss = require('./ButtonDismiss-cjs.js');
|
|
11
12
|
var Text = require('./Text-cjs.js');
|
|
12
13
|
var Button = require('./Button-cjs.js');
|
package/dist/LightBox-es.js
CHANGED
|
@@ -5,6 +5,7 @@ import { useFocusTrap, useDebounce, useIsMounted, useRefocusOnActivator, useOnKe
|
|
|
5
5
|
import classnames from 'classnames';
|
|
6
6
|
import { n as noop } from './noop-es.js';
|
|
7
7
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
8
|
+
import './AtlantisContext-es.js';
|
|
8
9
|
import { B as ButtonDismiss } from './ButtonDismiss-es.js';
|
|
9
10
|
import { T as Text } from './Text-es.js';
|
|
10
11
|
import { B as Button } from './Button-es.js';
|
package/dist/Menu-cjs.js
CHANGED
|
@@ -6,6 +6,7 @@ var classnames = require('classnames');
|
|
|
6
6
|
var framerMotion = require('framer-motion');
|
|
7
7
|
var floatingUi_react = require('./floating-ui.react-cjs.js');
|
|
8
8
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
9
|
+
require('./AtlantisContext-cjs.js');
|
|
9
10
|
var Button = require('./Button-cjs.js');
|
|
10
11
|
var Typography = require('./Typography-cjs.js');
|
|
11
12
|
var Icon = require('./Icon-cjs.js');
|
package/dist/Menu-es.js
CHANGED
|
@@ -4,6 +4,7 @@ import classnames from 'classnames';
|
|
|
4
4
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
5
5
|
import { o as offset, f as flip, m as size, u as useFloating, b as autoUpdate, e as useDismiss, n as useListNavigation, g as useInteractions, F as FloatingPortal } from './floating-ui.react-es.js';
|
|
6
6
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
7
|
+
import './AtlantisContext-es.js';
|
|
7
8
|
import { B as Button } from './Button-es.js';
|
|
8
9
|
import { T as Typography } from './Typography-es.js';
|
|
9
10
|
import { I as Icon } from './Icon-es.js';
|
package/dist/Modal/index.cjs
CHANGED
|
@@ -7,6 +7,7 @@ var framerMotion = require('framer-motion');
|
|
|
7
7
|
var jobberHooks = require('@jobber/hooks');
|
|
8
8
|
var nestedEscape = require('../nestedEscape-cjs.js');
|
|
9
9
|
var useAtlantisI18n = require('../useAtlantisI18n-cjs.js');
|
|
10
|
+
require('../AtlantisContext-cjs.js');
|
|
10
11
|
var Heading = require('../Heading-cjs.js');
|
|
11
12
|
var Button = require('../Button-cjs.js');
|
|
12
13
|
var ButtonDismiss = require('../ButtonDismiss-cjs.js');
|
|
@@ -14,7 +15,6 @@ var noop = require('../noop-cjs.js');
|
|
|
14
15
|
var floatingUi_react = require('../floating-ui.react-cjs.js');
|
|
15
16
|
var identity = require('../identity-cjs.js');
|
|
16
17
|
var AtlantisPortalContent = require('../AtlantisPortalContent-cjs.js');
|
|
17
|
-
require('../AtlantisContext-cjs.js');
|
|
18
18
|
require('../Typography-cjs.js');
|
|
19
19
|
require('../tslib.es6-cjs.js');
|
|
20
20
|
require('react-router-dom');
|
package/dist/Modal/index.mjs
CHANGED
|
@@ -5,6 +5,7 @@ import { AnimatePresence, motion } from 'framer-motion';
|
|
|
5
5
|
import { useRefocusOnActivator, useFocusTrap } from '@jobber/hooks';
|
|
6
6
|
import { a as addModalEscapeContainment } from '../nestedEscape-es.js';
|
|
7
7
|
import { d as defineMessages, u as useAtlantisI18n } from '../useAtlantisI18n-es.js';
|
|
8
|
+
import '../AtlantisContext-es.js';
|
|
8
9
|
import { H as Heading } from '../Heading-es.js';
|
|
9
10
|
import { B as Button } from '../Button-es.js';
|
|
10
11
|
import { B as ButtonDismiss } from '../ButtonDismiss-es.js';
|
|
@@ -12,7 +13,6 @@ import { n as noop } from '../noop-es.js';
|
|
|
12
13
|
import { d as useFloatingNodeId, u as useFloating, e as useDismiss, p as useRole, g as useInteractions, c as useFloatingParentNodeId, i as FloatingTree, j as FloatingNode, F as FloatingPortal, q as FloatingFocusManager, r as FloatingOverlay } from '../floating-ui.react-es.js';
|
|
13
14
|
import { b as identity } from '../identity-es.js';
|
|
14
15
|
import { A as AtlantisPortalContent } from '../AtlantisPortalContent-es.js';
|
|
15
|
-
import '../AtlantisContext-es.js';
|
|
16
16
|
import '../Typography-es.js';
|
|
17
17
|
import '../tslib.es6-es.js';
|
|
18
18
|
import 'react-router-dom';
|
package/dist/Page-cjs.js
CHANGED
|
@@ -13,6 +13,7 @@ var Button = require('./Button-cjs.js');
|
|
|
13
13
|
var Emphasis = require('./Emphasis-cjs.js');
|
|
14
14
|
var filterDataAttributes = require('./filterDataAttributes-cjs.js');
|
|
15
15
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
16
|
+
require('./AtlantisContext-cjs.js');
|
|
16
17
|
|
|
17
18
|
var styles = {"page":"BLYnKItuM3c-","fill":"n5WRRhMkoLs-","standard":"WziKEWW9nA8-","narrow":"qgGzgDyS2NY-","titleBar":"lbmoDvdtQO4-","titleRow":"k9y5NuqTcks-","actionGroup":"_7t53-bnzh98-","large":"SH0aNOLVhE8-","medium":"Lc7Z0FsBa6w-","small":"iF5IA1SYKoA-","primaryAction":"g-H7CKkX-LA-","actionButton":"RSP7jHjP-mw-","subtitle":"EqsNMrZVL-8-","spinning":"MJZVhEmx6h4-"};
|
|
18
19
|
|
package/dist/Page-es.js
CHANGED
|
@@ -11,6 +11,7 @@ import { B as Button } from './Button-es.js';
|
|
|
11
11
|
import { E as Emphasis } from './Emphasis-es.js';
|
|
12
12
|
import { f as filterDataAttributes } from './filterDataAttributes-es.js';
|
|
13
13
|
import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
14
|
+
import './AtlantisContext-es.js';
|
|
14
15
|
|
|
15
16
|
var styles = {"page":"BLYnKItuM3c-","fill":"n5WRRhMkoLs-","standard":"WziKEWW9nA8-","narrow":"qgGzgDyS2NY-","titleBar":"lbmoDvdtQO4-","titleRow":"k9y5NuqTcks-","actionGroup":"_7t53-bnzh98-","large":"SH0aNOLVhE8-","medium":"Lc7Z0FsBa6w-","small":"iF5IA1SYKoA-","primaryAction":"g-H7CKkX-LA-","actionButton":"RSP7jHjP-mw-","subtitle":"EqsNMrZVL-8-","spinning":"MJZVhEmx6h4-"};
|
|
16
17
|
|
package/dist/Popover-cjs.js
CHANGED
|
@@ -7,6 +7,7 @@ var floatingUi_react = require('./floating-ui.react-cjs.js');
|
|
|
7
7
|
var jobberHooks = require('@jobber/hooks');
|
|
8
8
|
var AtlantisPortalContent = require('./AtlantisPortalContent-cjs.js');
|
|
9
9
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
10
|
+
require('./AtlantisContext-cjs.js');
|
|
10
11
|
var ButtonDismiss = require('./ButtonDismiss-cjs.js');
|
|
11
12
|
|
|
12
13
|
const POPOVER_OFFSET = 10;
|
package/dist/Popover-es.js
CHANGED
|
@@ -5,6 +5,7 @@ import { a as arrow, u as useFloating, b as autoUpdate, o as offset, s as shift,
|
|
|
5
5
|
import { useRefocusOnActivator } from '@jobber/hooks';
|
|
6
6
|
import { A as AtlantisPortalContent } from './AtlantisPortalContent-es.js';
|
|
7
7
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
8
|
+
import './AtlantisContext-es.js';
|
|
8
9
|
import { B as ButtonDismiss } from './ButtonDismiss-es.js';
|
|
9
10
|
|
|
10
11
|
const POPOVER_OFFSET = 10;
|
package/dist/ProgressBar-cjs.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var classnames = require('classnames');
|
|
5
5
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
6
|
+
require('./AtlantisContext-cjs.js');
|
|
6
7
|
|
|
7
8
|
var styles = {"ProgressBar":"p9AgTzIbTwY-","SteppedProgressBar":"w8NAw4ZMB6g-","wrapper":"d4oS-DGtcKA-","spinning":"f58JiDXlkHA-"};
|
|
8
9
|
|
package/dist/ProgressBar-es.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
4
|
+
import './AtlantisContext-es.js';
|
|
4
5
|
|
|
5
6
|
var styles = {"ProgressBar":"p9AgTzIbTwY-","SteppedProgressBar":"w8NAw4ZMB6g-","wrapper":"d4oS-DGtcKA-","spinning":"f58JiDXlkHA-"};
|
|
6
7
|
|
package/dist/SideDrawer-cjs.js
CHANGED
|
@@ -8,6 +8,7 @@ var classnames = require('classnames');
|
|
|
8
8
|
var design = require('@jobber/design');
|
|
9
9
|
var Heading = require('./Heading-cjs.js');
|
|
10
10
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
11
|
+
require('./AtlantisContext-cjs.js');
|
|
11
12
|
var Button = require('./Button-cjs.js');
|
|
12
13
|
var Flex = require('./Flex-cjs.js');
|
|
13
14
|
|
package/dist/SideDrawer-es.js
CHANGED
|
@@ -6,6 +6,7 @@ import classnames from 'classnames';
|
|
|
6
6
|
import { tokens } from '@jobber/design';
|
|
7
7
|
import { H as Heading } from './Heading-es.js';
|
|
8
8
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
9
|
+
import './AtlantisContext-es.js';
|
|
9
10
|
import { B as Button } from './Button-es.js';
|
|
10
11
|
import { F as Flex } from './Flex-es.js';
|
|
11
12
|
|
package/dist/Spinner-cjs.js
CHANGED
|
@@ -4,6 +4,7 @@ var React = require('react');
|
|
|
4
4
|
var classnames = require('classnames');
|
|
5
5
|
var common_messages = require('./common.messages-cjs.js');
|
|
6
6
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
7
|
+
require('./AtlantisContext-cjs.js');
|
|
7
8
|
|
|
8
9
|
var styles = {"spinner":"_6hfmGZoXNyg-","animationSpin":"aT3CETCJ4hQ-","small":"bMfynkzmlL4-","inline":"NA68eWblbLo-","spinning":"aCBq1WrkI4M-"};
|
|
9
10
|
|
package/dist/Spinner-es.js
CHANGED
|
@@ -2,6 +2,7 @@ import React__default from 'react';
|
|
|
2
2
|
import classnames from 'classnames';
|
|
3
3
|
import { c as commonMessages } from './common.messages-es.js';
|
|
4
4
|
import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
5
|
+
import './AtlantisContext-es.js';
|
|
5
6
|
|
|
6
7
|
var styles = {"spinner":"_6hfmGZoXNyg-","animationSpin":"aT3CETCJ4hQ-","small":"bMfynkzmlL4-","inline":"NA68eWblbLo-","spinning":"aCBq1WrkI4M-"};
|
|
7
8
|
|
|
@@ -10,3 +10,4 @@ require('../../AtlantisContext-cjs.js');
|
|
|
10
10
|
exports.commonMessages = common_messages.commonMessages;
|
|
11
11
|
exports.defineMessages = useAtlantisI18n.defineMessages;
|
|
12
12
|
exports.useAtlantisI18n = useAtlantisI18n.useAtlantisI18n;
|
|
13
|
+
exports.useReleasedLocale = useAtlantisI18n.useReleasedLocale;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { c as commonMessages } from '../../common.messages-es.js';
|
|
2
|
-
export { d as defineMessages, u as useAtlantisI18n } from '../../useAtlantisI18n-es.js';
|
|
2
|
+
export { d as defineMessages, u as useAtlantisI18n, a as useReleasedLocale } from '../../useAtlantisI18n-es.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import '../../AtlantisContext-es.js';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Returns the locale to use based on what has been released. Matches on the
|
|
3
|
+
* language part of the locale (before the "-") so that regional variants like
|
|
4
|
+
* "en-ca" or "es-us" resolve correctly:
|
|
5
|
+
*
|
|
6
|
+
* - "en-ca" → "en-ca" (language "en" is released; full locale preserved)
|
|
7
|
+
* - "es-us" → "en" (language "es" not yet released; falls back to "en")
|
|
8
|
+
* - "fr" → "en" (language "fr" not released; falls back to "en")
|
|
9
|
+
*
|
|
10
|
+
* Note: expects a normalized locale (lower-case, hyphens not underscores).
|
|
11
|
+
*/
|
|
12
|
+
export declare function getReleasedLocale(locale: string): string;
|
package/dist/showToast-cjs.js
CHANGED
|
@@ -5,11 +5,11 @@ var React = require('react');
|
|
|
5
5
|
var client = require('react-dom/client');
|
|
6
6
|
var framerMotion = require('framer-motion');
|
|
7
7
|
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
8
|
+
var AtlantisContext = require('./AtlantisContext-cjs.js');
|
|
8
9
|
var Icon = require('./Icon-cjs.js');
|
|
9
10
|
var Button = require('./Button-cjs.js');
|
|
10
11
|
require('classnames');
|
|
11
12
|
var Typography = require('./Typography-cjs.js');
|
|
12
|
-
var AtlantisContext = require('./AtlantisContext-cjs.js');
|
|
13
13
|
|
|
14
14
|
var styles = {"wrapper":"_0Tvq24WjeX8-","container":"GznHKPkdb1s-","toast":"W8zgWZqmIlk-","slice":"ol3srk7PviM-","button":"ibhpdUt9YLo-","spinning":"_5Wy5Wra20Vk-"};
|
|
15
15
|
|
package/dist/showToast-es.js
CHANGED
|
@@ -3,11 +3,11 @@ import React__default, { useState, useEffect, forwardRef, useImperativeHandle, u
|
|
|
3
3
|
import { createRoot } from 'react-dom/client';
|
|
4
4
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
5
5
|
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
6
|
+
import { A as AtlantisContext, a as atlantisContextDefaultValues } from './AtlantisContext-es.js';
|
|
6
7
|
import { I as Icon } from './Icon-es.js';
|
|
7
8
|
import { B as Button } from './Button-es.js';
|
|
8
9
|
import 'classnames';
|
|
9
10
|
import { T as Typography } from './Typography-es.js';
|
|
10
|
-
import { A as AtlantisContext, a as atlantisContextDefaultValues } from './AtlantisContext-es.js';
|
|
11
11
|
|
|
12
12
|
var styles = {"wrapper":"_0Tvq24WjeX8-","container":"GznHKPkdb1s-","toast":"W8zgWZqmIlk-","slice":"ol3srk7PviM-","button":"ibhpdUt9YLo-","spinning":"_5Wy5Wra20Vk-"};
|
|
13
13
|
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bypasses the RELEASED_LANGUAGES gate for every test in the enclosing
|
|
3
|
+
* describe block. Call this at the top of any i18n describe block that asserts
|
|
4
|
+
* Spanish (or other unreleased-language) string correctness before that
|
|
5
|
+
* language is officially released.
|
|
6
|
+
*
|
|
7
|
+
* The global jest.mock for releasedLanguages is registered in
|
|
8
|
+
* jestWebSetupConfig.js, so no per-file jest.mock() call is needed.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* describe("Component i18n", () => {
|
|
12
|
+
* bypassReleasedLocaleGate();
|
|
13
|
+
* it("shows Spanish", () => { ... });
|
|
14
|
+
* });
|
|
15
|
+
*/
|
|
16
|
+
export declare function bypassReleasedLocaleGate(): void;
|
|
@@ -3,24 +3,56 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var AtlantisContext = require('./AtlantisContext-cjs.js');
|
|
5
5
|
|
|
6
|
+
/**
|
|
7
|
+
* Languages that have been fully released and are safe to surface to users.
|
|
8
|
+
* Any locale whose language tag is not in this list will fall back to "en".
|
|
9
|
+
*
|
|
10
|
+
* To release a new language, add its BCP 47 language tag here (e.g. "es").
|
|
11
|
+
*/
|
|
12
|
+
const RELEASED_LANGUAGES = ["en"];
|
|
13
|
+
/**
|
|
14
|
+
* Returns the locale to use based on what has been released. Matches on the
|
|
15
|
+
* language part of the locale (before the "-") so that regional variants like
|
|
16
|
+
* "en-ca" or "es-us" resolve correctly:
|
|
17
|
+
*
|
|
18
|
+
* - "en-ca" → "en-ca" (language "en" is released; full locale preserved)
|
|
19
|
+
* - "es-us" → "en" (language "es" not yet released; falls back to "en")
|
|
20
|
+
* - "fr" → "en" (language "fr" not released; falls back to "en")
|
|
21
|
+
*
|
|
22
|
+
* Note: expects a normalized locale (lower-case, hyphens not underscores).
|
|
23
|
+
*/
|
|
24
|
+
function getReleasedLocale(locale) {
|
|
25
|
+
const language = locale.split("-")[0];
|
|
26
|
+
return RELEASED_LANGUAGES.includes(language) ? locale : "en";
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Returns the effective locale from AtlantisContext, normalised (lower-case,
|
|
31
|
+
* underscores replaced with hyphens) and gated against RELEASED_LANGUAGES.
|
|
32
|
+
* Unreleased languages fall back to "en".
|
|
33
|
+
*/
|
|
34
|
+
function useReleasedLocale() {
|
|
35
|
+
const { locale } = AtlantisContext.useAtlantisContext();
|
|
36
|
+
return getReleasedLocale(normalizeLocale(locale));
|
|
37
|
+
}
|
|
38
|
+
function normalizeLocale(locale) {
|
|
39
|
+
return locale.trim().replace(/_/g, "-").toLowerCase();
|
|
40
|
+
}
|
|
41
|
+
|
|
6
42
|
function defineMessages(messages) {
|
|
7
43
|
return messages;
|
|
8
44
|
}
|
|
9
45
|
function useAtlantisI18n(messages) {
|
|
10
|
-
const
|
|
11
|
-
const normalizedLocale = normalizeLocale(locale);
|
|
46
|
+
const locale = useReleasedLocale();
|
|
12
47
|
const t = React.useCallback((messageKey, values) => {
|
|
13
|
-
return interpolateMessage(resolveMessage(messages[messageKey],
|
|
14
|
-
}, [
|
|
15
|
-
return { locale
|
|
48
|
+
return interpolateMessage(resolveMessage(messages[messageKey], locale), values);
|
|
49
|
+
}, [locale, messages]);
|
|
50
|
+
return { locale, t };
|
|
16
51
|
}
|
|
17
|
-
function resolveMessage(message,
|
|
52
|
+
function resolveMessage(message, locale) {
|
|
18
53
|
var _a, _b;
|
|
19
|
-
const baseLocale =
|
|
20
|
-
return (_b = (_a = message[
|
|
21
|
-
}
|
|
22
|
-
function normalizeLocale(locale) {
|
|
23
|
-
return locale.trim().replace(/_/g, "-").toLowerCase();
|
|
54
|
+
const baseLocale = locale.split("-")[0];
|
|
55
|
+
return (_b = (_a = message[locale]) !== null && _a !== void 0 ? _a : message[baseLocale]) !== null && _b !== void 0 ? _b : message.en;
|
|
24
56
|
}
|
|
25
57
|
function interpolateMessage(message, values) {
|
|
26
58
|
if (!values)
|
|
@@ -33,3 +65,4 @@ function interpolateMessage(message, values) {
|
|
|
33
65
|
|
|
34
66
|
exports.defineMessages = defineMessages;
|
|
35
67
|
exports.useAtlantisI18n = useAtlantisI18n;
|
|
68
|
+
exports.useReleasedLocale = useReleasedLocale;
|
|
@@ -1,24 +1,56 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import { u as useAtlantisContext } from './AtlantisContext-es.js';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* Languages that have been fully released and are safe to surface to users.
|
|
6
|
+
* Any locale whose language tag is not in this list will fall back to "en".
|
|
7
|
+
*
|
|
8
|
+
* To release a new language, add its BCP 47 language tag here (e.g. "es").
|
|
9
|
+
*/
|
|
10
|
+
const RELEASED_LANGUAGES = ["en"];
|
|
11
|
+
/**
|
|
12
|
+
* Returns the locale to use based on what has been released. Matches on the
|
|
13
|
+
* language part of the locale (before the "-") so that regional variants like
|
|
14
|
+
* "en-ca" or "es-us" resolve correctly:
|
|
15
|
+
*
|
|
16
|
+
* - "en-ca" → "en-ca" (language "en" is released; full locale preserved)
|
|
17
|
+
* - "es-us" → "en" (language "es" not yet released; falls back to "en")
|
|
18
|
+
* - "fr" → "en" (language "fr" not released; falls back to "en")
|
|
19
|
+
*
|
|
20
|
+
* Note: expects a normalized locale (lower-case, hyphens not underscores).
|
|
21
|
+
*/
|
|
22
|
+
function getReleasedLocale(locale) {
|
|
23
|
+
const language = locale.split("-")[0];
|
|
24
|
+
return RELEASED_LANGUAGES.includes(language) ? locale : "en";
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Returns the effective locale from AtlantisContext, normalised (lower-case,
|
|
29
|
+
* underscores replaced with hyphens) and gated against RELEASED_LANGUAGES.
|
|
30
|
+
* Unreleased languages fall back to "en".
|
|
31
|
+
*/
|
|
32
|
+
function useReleasedLocale() {
|
|
33
|
+
const { locale } = useAtlantisContext();
|
|
34
|
+
return getReleasedLocale(normalizeLocale(locale));
|
|
35
|
+
}
|
|
36
|
+
function normalizeLocale(locale) {
|
|
37
|
+
return locale.trim().replace(/_/g, "-").toLowerCase();
|
|
38
|
+
}
|
|
39
|
+
|
|
4
40
|
function defineMessages(messages) {
|
|
5
41
|
return messages;
|
|
6
42
|
}
|
|
7
43
|
function useAtlantisI18n(messages) {
|
|
8
|
-
const
|
|
9
|
-
const normalizedLocale = normalizeLocale(locale);
|
|
44
|
+
const locale = useReleasedLocale();
|
|
10
45
|
const t = useCallback((messageKey, values) => {
|
|
11
|
-
return interpolateMessage(resolveMessage(messages[messageKey],
|
|
12
|
-
}, [
|
|
13
|
-
return { locale
|
|
46
|
+
return interpolateMessage(resolveMessage(messages[messageKey], locale), values);
|
|
47
|
+
}, [locale, messages]);
|
|
48
|
+
return { locale, t };
|
|
14
49
|
}
|
|
15
|
-
function resolveMessage(message,
|
|
50
|
+
function resolveMessage(message, locale) {
|
|
16
51
|
var _a, _b;
|
|
17
|
-
const baseLocale =
|
|
18
|
-
return (_b = (_a = message[
|
|
19
|
-
}
|
|
20
|
-
function normalizeLocale(locale) {
|
|
21
|
-
return locale.trim().replace(/_/g, "-").toLowerCase();
|
|
52
|
+
const baseLocale = locale.split("-")[0];
|
|
53
|
+
return (_b = (_a = message[locale]) !== null && _a !== void 0 ? _a : message[baseLocale]) !== null && _b !== void 0 ? _b : message.en;
|
|
22
54
|
}
|
|
23
55
|
function interpolateMessage(message, values) {
|
|
24
56
|
if (!values)
|
|
@@ -29,4 +61,4 @@ function interpolateMessage(message, values) {
|
|
|
29
61
|
});
|
|
30
62
|
}
|
|
31
63
|
|
|
32
|
-
export { defineMessages as d, useAtlantisI18n as u };
|
|
64
|
+
export { useReleasedLocale as a, defineMessages as d, useAtlantisI18n as u };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "9.6.
|
|
3
|
+
"version": "9.6.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -549,5 +549,5 @@
|
|
|
549
549
|
"> 1%",
|
|
550
550
|
"IE 10"
|
|
551
551
|
],
|
|
552
|
-
"gitHead": "
|
|
552
|
+
"gitHead": "25cd8815738e86b9f49311096e7d4ffd02d843b5"
|
|
553
553
|
}
|