@jobber/components 8.29.0 → 8.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,6 @@
1
+ export declare const bannerMessages: {
2
+ dismissLabel: {
3
+ en: string;
4
+ es: string;
5
+ };
6
+ };
@@ -5,6 +5,8 @@ require('../tslib.es6-cjs.js');
5
5
  require('react');
6
6
  require('classnames');
7
7
  require('@jobber/hooks');
8
+ require('../useAtlantisI18n-cjs.js');
9
+ require('../AtlantisContext-cjs.js');
8
10
  require('../Icon-cjs.js');
9
11
  require('@jobber/design');
10
12
  require('../ButtonDismiss-cjs.js');
@@ -3,6 +3,8 @@ import '../tslib.es6-es.js';
3
3
  import 'react';
4
4
  import 'classnames';
5
5
  import '@jobber/hooks';
6
+ import '../useAtlantisI18n-es.js';
7
+ import '../AtlantisContext-es.js';
6
8
  import '../Icon-es.js';
7
9
  import '@jobber/design';
8
10
  import '../ButtonDismiss-es.js';
@@ -4,6 +4,7 @@ var tslib_es6 = require('./tslib.es6-cjs.js');
4
4
  var React = require('react');
5
5
  var classnames = require('classnames');
6
6
  var jobberHooks = require('@jobber/hooks');
7
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
7
8
  var Icon = require('./Icon-cjs.js');
8
9
  var ButtonDismiss = require('./ButtonDismiss-cjs.js');
9
10
  var Button = require('./Button-cjs.js');
@@ -23,6 +24,13 @@ function useBanner() {
23
24
  return React.useContext(BannerContext);
24
25
  }
25
26
 
27
+ const bannerMessages = useAtlantisI18n.defineMessages({
28
+ dismissLabel: {
29
+ en: "Dismiss notification",
30
+ es: "Descartar notificación",
31
+ },
32
+ });
33
+
26
34
  function Banner({ children, type, primaryAction, dismissible = true, icon, onDismiss, controlledVisiblity, }) {
27
35
  if (primaryAction != undefined) {
28
36
  primaryAction = Object.assign({
@@ -97,7 +105,8 @@ Banner.Content = function BannerContent(props) {
97
105
  Banner.DismissButton = function DismissButton(props) {
98
106
  var _a, _b, _c, _d;
99
107
  const { setIsVisible } = useBanner();
100
- const ariaLabel = (_a = props.ariaLabel) !== null && _a !== void 0 ? _a : "Dismiss notification";
108
+ const { t } = useAtlantisI18n.useAtlantisI18n(bannerMessages);
109
+ const ariaLabel = (_a = props.ariaLabel) !== null && _a !== void 0 ? _a : t("dismissLabel");
101
110
  const onClick = (_b = props.onClick) !== null && _b !== void 0 ? _b : (() => {
102
111
  setIsVisible(false);
103
112
  });
package/dist/Banner-es.js CHANGED
@@ -2,6 +2,7 @@ import { _ as __rest } from './tslib.es6-es.js';
2
2
  import React__default, { createContext, useContext, useState } from 'react';
3
3
  import classnames from 'classnames';
4
4
  import { useResizeObserver } from '@jobber/hooks';
5
+ import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
5
6
  import { I as Icon } from './Icon-es.js';
6
7
  import { B as ButtonDismiss } from './ButtonDismiss-es.js';
7
8
  import { B as Button } from './Button-es.js';
@@ -21,6 +22,13 @@ function useBanner() {
21
22
  return useContext(BannerContext);
22
23
  }
23
24
 
25
+ const bannerMessages = defineMessages({
26
+ dismissLabel: {
27
+ en: "Dismiss notification",
28
+ es: "Descartar notificación",
29
+ },
30
+ });
31
+
24
32
  function Banner({ children, type, primaryAction, dismissible = true, icon, onDismiss, controlledVisiblity, }) {
25
33
  if (primaryAction != undefined) {
26
34
  primaryAction = Object.assign({
@@ -95,7 +103,8 @@ Banner.Content = function BannerContent(props) {
95
103
  Banner.DismissButton = function DismissButton(props) {
96
104
  var _a, _b, _c, _d;
97
105
  const { setIsVisible } = useBanner();
98
- const ariaLabel = (_a = props.ariaLabel) !== null && _a !== void 0 ? _a : "Dismiss notification";
106
+ const { t } = useAtlantisI18n(bannerMessages);
107
+ const ariaLabel = (_a = props.ariaLabel) !== null && _a !== void 0 ? _a : t("dismissLabel");
99
108
  const onClick = (_b = props.onClick) !== null && _b !== void 0 ? _b : (() => {
100
109
  setIsVisible(false);
101
110
  });
@@ -0,0 +1,6 @@
1
+ export declare const drawerMessages: {
2
+ "Close {title}": {
3
+ en: string;
4
+ es: string;
5
+ };
6
+ };
@@ -3,6 +3,8 @@
3
3
  var DrawerGrid = require('../DrawerGrid-cjs.js');
4
4
  require('react');
5
5
  require('classnames');
6
+ require('../useAtlantisI18n-cjs.js');
7
+ require('../AtlantisContext-cjs.js');
6
8
  require('../Heading-cjs.js');
7
9
  require('../Typography-cjs.js');
8
10
  require('../ButtonDismiss-cjs.js');
@@ -1,6 +1,8 @@
1
1
  export { D as Drawer, a as DrawerGrid } from '../DrawerGrid-es.js';
2
2
  import 'react';
3
3
  import 'classnames';
4
+ import '../useAtlantisI18n-es.js';
5
+ import '../AtlantisContext-es.js';
4
6
  import '../Heading-es.js';
5
7
  import '../Typography-es.js';
6
8
  import '../ButtonDismiss-es.js';
@@ -2,11 +2,19 @@
2
2
 
3
3
  var React = require('react');
4
4
  var classnames = require('classnames');
5
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
5
6
  var Heading = require('./Heading-cjs.js');
6
7
  var ButtonDismiss = require('./ButtonDismiss-cjs.js');
7
8
 
8
9
  var styles$1 = {"container":"LNIwHwCs8gQ-","drawer":"iDSQR4mxUvM-","open":"y9lAhWPltyg-","header":"s830oNhRdZE-","heading":"MZuJ7od4r-o-","contentScroll":"I4XEGwkvw74-","content":"jZzp04L7Gao-","spinning":"dzsdJUdmmt8-"};
9
10
 
11
+ const drawerMessages = useAtlantisI18n.defineMessages({
12
+ "Close {title}": {
13
+ en: "Close {title}",
14
+ es: "Cerrar {title}",
15
+ },
16
+ });
17
+
10
18
  function Drawer({ title, children, open = true, onRequestClose, id, }) {
11
19
  const drawerClassNames = classnames(styles$1.container, open && styles$1.open);
12
20
  return (React.createElement("aside", { className: drawerClassNames, "data-testid": "drawer-container", "aria-label": title, "aria-hidden": !open, id: id },
@@ -16,10 +24,11 @@ function Drawer({ title, children, open = true, onRequestClose, id, }) {
16
24
  React.createElement("div", { className: styles$1.content }, children)))));
17
25
  }
18
26
  function Header({ title, onRequestClose }) {
27
+ const { t } = useAtlantisI18n.useAtlantisI18n(drawerMessages);
19
28
  return (React.createElement("div", { className: styles$1.header, "data-testid": "drawer-header" },
20
29
  React.createElement("div", { className: styles$1.heading },
21
30
  React.createElement(Heading.Heading, { level: 2 }, title)),
22
- React.createElement(ButtonDismiss.ButtonDismiss, { onClick: onRequestClose, ariaLabel: `Close ${title || "drawer"}` })));
31
+ React.createElement(ButtonDismiss.ButtonDismiss, { onClick: onRequestClose, ariaLabel: t("Close {title}", { title }) })));
23
32
  }
24
33
 
25
34
  var styles = {"drawerGrid":"_50Jq09W07gg-","spinning":"GqOdr2k9PX8-"};
@@ -1,10 +1,18 @@
1
1
  import React__default from 'react';
2
2
  import classnames from 'classnames';
3
+ import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
3
4
  import { H as Heading } from './Heading-es.js';
4
5
  import { B as ButtonDismiss } from './ButtonDismiss-es.js';
5
6
 
6
7
  var styles$1 = {"container":"LNIwHwCs8gQ-","drawer":"iDSQR4mxUvM-","open":"y9lAhWPltyg-","header":"s830oNhRdZE-","heading":"MZuJ7od4r-o-","contentScroll":"I4XEGwkvw74-","content":"jZzp04L7Gao-","spinning":"dzsdJUdmmt8-"};
7
8
 
9
+ const drawerMessages = defineMessages({
10
+ "Close {title}": {
11
+ en: "Close {title}",
12
+ es: "Cerrar {title}",
13
+ },
14
+ });
15
+
8
16
  function Drawer({ title, children, open = true, onRequestClose, id, }) {
9
17
  const drawerClassNames = classnames(styles$1.container, open && styles$1.open);
10
18
  return (React__default.createElement("aside", { className: drawerClassNames, "data-testid": "drawer-container", "aria-label": title, "aria-hidden": !open, id: id },
@@ -14,10 +22,11 @@ function Drawer({ title, children, open = true, onRequestClose, id, }) {
14
22
  React__default.createElement("div", { className: styles$1.content }, children)))));
15
23
  }
16
24
  function Header({ title, onRequestClose }) {
25
+ const { t } = useAtlantisI18n(drawerMessages);
17
26
  return (React__default.createElement("div", { className: styles$1.header, "data-testid": "drawer-header" },
18
27
  React__default.createElement("div", { className: styles$1.heading },
19
28
  React__default.createElement(Heading, { level: 2 }, title)),
20
- React__default.createElement(ButtonDismiss, { onClick: onRequestClose, ariaLabel: `Close ${title || "drawer"}` })));
29
+ React__default.createElement(ButtonDismiss, { onClick: onRequestClose, ariaLabel: t("Close {title}", { title }) })));
21
30
  }
22
31
 
23
32
  var styles = {"drawerGrid":"_50Jq09W07gg-","spinning":"GqOdr2k9PX8-"};
@@ -0,0 +1,10 @@
1
+ export declare const sideDrawerMessages: {
2
+ Close: {
3
+ en: string;
4
+ es: string;
5
+ };
6
+ Back: {
7
+ en: string;
8
+ es: string;
9
+ };
10
+ };
@@ -9,6 +9,8 @@ require('classnames');
9
9
  require('@jobber/design');
10
10
  require('../Heading-cjs.js');
11
11
  require('../Typography-cjs.js');
12
+ require('../useAtlantisI18n-cjs.js');
13
+ require('../AtlantisContext-cjs.js');
12
14
  require('../Button-cjs.js');
13
15
  require('../tslib.es6-cjs.js');
14
16
  require('react-router-dom');
@@ -7,6 +7,8 @@ import 'classnames';
7
7
  import '@jobber/design';
8
8
  import '../Heading-es.js';
9
9
  import '../Typography-es.js';
10
+ import '../useAtlantisI18n-es.js';
11
+ import '../AtlantisContext-es.js';
10
12
  import '../Button-es.js';
11
13
  import '../tslib.es6-es.js';
12
14
  import 'react-router-dom';
@@ -7,6 +7,7 @@ var jobberHooks = require('@jobber/hooks');
7
7
  var classnames = require('classnames');
8
8
  var design = require('@jobber/design');
9
9
  var Heading = require('./Heading-cjs.js');
10
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
10
11
  var Button = require('./Button-cjs.js');
11
12
  var Flex = require('./Flex-cjs.js');
12
13
 
@@ -48,8 +49,20 @@ function SideDrawerToolbar({ children }) {
48
49
 
49
50
  var styles = {"drawer":"cCwRgRAz4qk-","inline":"ONUfsWMLKdo-","container":"XipkpXgyzyg-","header":"LuqC0RF-R1U-","content":"vArEcEUxGxQ-","footer":"_4HzuRZKD9u8-","subtle":"v5Db-FCF2kU-","heading":"Eti1JL3rghE-","hasShadow":"PtbV1GtWwzY-","headerActions":"YCdqkhcLHfI-","hideWhenEmpty":"ZH2Mp84HhX8-","overlay":"Ro-pE7hx0wY-","reverseScroll":"gSN5nWDwGm4-","headerShadowListener":"tMeBAjf4vEA-","footerShadowListener":"-lPSZVGIIAs-","backButton":"XOqA4Hw6S6g-","backButtonVisible":"b4VHPS-RG34-","spinning":"McL3-VWXVbs-"};
50
51
 
52
+ const sideDrawerMessages = useAtlantisI18n.defineMessages({
53
+ Close: {
54
+ en: "Close",
55
+ es: "Cerrar",
56
+ },
57
+ Back: {
58
+ en: "Back",
59
+ es: "Atrás",
60
+ },
61
+ });
62
+
51
63
  function SideDrawerBackButton({ onClick, }) {
52
64
  const { backPortal, registerComponent, unRegisterComponent } = useSideDrawerContext();
65
+ const { t } = useAtlantisI18n.useAtlantisI18n(sideDrawerMessages);
53
66
  React.useEffect(() => {
54
67
  registerComponent("backButton");
55
68
  return () => {
@@ -58,7 +71,7 @@ function SideDrawerBackButton({ onClick, }) {
58
71
  }, []);
59
72
  if (!backPortal)
60
73
  return null;
61
- return ReactDOM.createPortal(React.createElement(Button.Button, { ariaLabel: "Back", icon: "longArrowLeft", variation: "subtle", type: "tertiary", onClick: onClick }), backPortal);
74
+ return ReactDOM.createPortal(React.createElement(Button.Button, { ariaLabel: t("Back"), icon: "longArrowLeft", variation: "subtle", type: "tertiary", onClick: onClick }), backPortal);
62
75
  }
63
76
 
64
77
  function SideDrawerFooter({ children }) {
@@ -104,6 +117,7 @@ const useSideDrawerState = (open) => {
104
117
  function SideDrawer({ children, onRequestClose, open, variation = "base", scrollDirection, inline = false, UNSAFE_className, UNSAFE_style, }) {
105
118
  var _a;
106
119
  const { ref, setRef, components, setComponents, slots, sideDrawerRef, headerShadowRef, noHeaderShadow, footerShadowRef, noFooterShadow, } = useSideDrawerState(open);
120
+ const { t } = useAtlantisI18n.useAtlantisI18n(sideDrawerMessages);
107
121
  jobberHooks.useRefocusOnActivator(open);
108
122
  const container = ((_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.body) || null;
109
123
  const isMounted = jobberHooks.useIsMounted();
@@ -119,7 +133,7 @@ function SideDrawer({ children, onRequestClose, open, variation = "base", scroll
119
133
  registerComponent: key => setComponents(prev => (Object.assign(Object.assign({}, prev), { [key]: true }))),
120
134
  unRegisterComponent: key => setComponents(prev => (Object.assign(Object.assign({}, prev), { [key]: false }))),
121
135
  } },
122
- open && !inline && (React.createElement("button", { className: styles.overlay, "aria-label": "Close", onClick: onRequestClose, type: "button" })),
136
+ open && !inline && (React.createElement("button", { className: styles.overlay, "aria-label": t("Close"), onClick: onRequestClose, type: "button" })),
123
137
  React.createElement(framerMotion.AnimatePresence, { initial: false }, open && (React.createElement(framerMotion.motion.div, { className: classnames(styles.drawer, {
124
138
  [styles.reverseScroll]: scrollDirection === "reverse",
125
139
  [styles.inline]: inline,
@@ -140,7 +154,7 @@ function SideDrawer({ children, onRequestClose, open, variation = "base", scroll
140
154
  React.createElement("div", Object.assign({ className: classnames(styles.heading) }, slots.title.attr))),
141
155
  React.createElement("div", { className: styles.headerActions },
142
156
  React.createElement("div", Object.assign({ className: styles.hideWhenEmpty }, slots.actions.attr)),
143
- React.createElement(Button.Button, { ariaLabel: "Close", icon: "cross", onClick: onRequestClose, type: "tertiary", variation: "subtle" }))),
157
+ React.createElement(Button.Button, { ariaLabel: t("Close"), icon: "cross", onClick: onRequestClose, type: "tertiary", variation: "subtle" }))),
144
158
  React.createElement("div", Object.assign({ className: styles.hideWhenEmpty }, slots.toolbar.attr))),
145
159
  React.createElement("div", { className: styles.content },
146
160
  React.createElement("div", { className: styles.headerShadowListener, ref: headerShadowRef }),
@@ -5,6 +5,7 @@ import { useRefocusOnActivator, useIsMounted, useFocusTrap, useInView } from '@j
5
5
  import classnames from 'classnames';
6
6
  import { tokens } from '@jobber/design';
7
7
  import { H as Heading } from './Heading-es.js';
8
+ import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
8
9
  import { B as Button } from './Button-es.js';
9
10
  import { F as Flex } from './Flex-es.js';
10
11
 
@@ -46,8 +47,20 @@ function SideDrawerToolbar({ children }) {
46
47
 
47
48
  var styles = {"drawer":"cCwRgRAz4qk-","inline":"ONUfsWMLKdo-","container":"XipkpXgyzyg-","header":"LuqC0RF-R1U-","content":"vArEcEUxGxQ-","footer":"_4HzuRZKD9u8-","subtle":"v5Db-FCF2kU-","heading":"Eti1JL3rghE-","hasShadow":"PtbV1GtWwzY-","headerActions":"YCdqkhcLHfI-","hideWhenEmpty":"ZH2Mp84HhX8-","overlay":"Ro-pE7hx0wY-","reverseScroll":"gSN5nWDwGm4-","headerShadowListener":"tMeBAjf4vEA-","footerShadowListener":"-lPSZVGIIAs-","backButton":"XOqA4Hw6S6g-","backButtonVisible":"b4VHPS-RG34-","spinning":"McL3-VWXVbs-"};
48
49
 
50
+ const sideDrawerMessages = defineMessages({
51
+ Close: {
52
+ en: "Close",
53
+ es: "Cerrar",
54
+ },
55
+ Back: {
56
+ en: "Back",
57
+ es: "Atrás",
58
+ },
59
+ });
60
+
49
61
  function SideDrawerBackButton({ onClick, }) {
50
62
  const { backPortal, registerComponent, unRegisterComponent } = useSideDrawerContext();
63
+ const { t } = useAtlantisI18n(sideDrawerMessages);
51
64
  useEffect(() => {
52
65
  registerComponent("backButton");
53
66
  return () => {
@@ -56,7 +69,7 @@ function SideDrawerBackButton({ onClick, }) {
56
69
  }, []);
57
70
  if (!backPortal)
58
71
  return null;
59
- return createPortal(React__default.createElement(Button, { ariaLabel: "Back", icon: "longArrowLeft", variation: "subtle", type: "tertiary", onClick: onClick }), backPortal);
72
+ return createPortal(React__default.createElement(Button, { ariaLabel: t("Back"), icon: "longArrowLeft", variation: "subtle", type: "tertiary", onClick: onClick }), backPortal);
60
73
  }
61
74
 
62
75
  function SideDrawerFooter({ children }) {
@@ -102,6 +115,7 @@ const useSideDrawerState = (open) => {
102
115
  function SideDrawer({ children, onRequestClose, open, variation = "base", scrollDirection, inline = false, UNSAFE_className, UNSAFE_style, }) {
103
116
  var _a;
104
117
  const { ref, setRef, components, setComponents, slots, sideDrawerRef, headerShadowRef, noHeaderShadow, footerShadowRef, noFooterShadow, } = useSideDrawerState(open);
118
+ const { t } = useAtlantisI18n(sideDrawerMessages);
105
119
  useRefocusOnActivator(open);
106
120
  const container = ((_a = globalThis.document) === null || _a === void 0 ? void 0 : _a.body) || null;
107
121
  const isMounted = useIsMounted();
@@ -117,7 +131,7 @@ function SideDrawer({ children, onRequestClose, open, variation = "base", scroll
117
131
  registerComponent: key => setComponents(prev => (Object.assign(Object.assign({}, prev), { [key]: true }))),
118
132
  unRegisterComponent: key => setComponents(prev => (Object.assign(Object.assign({}, prev), { [key]: false }))),
119
133
  } },
120
- open && !inline && (React__default.createElement("button", { className: styles.overlay, "aria-label": "Close", onClick: onRequestClose, type: "button" })),
134
+ open && !inline && (React__default.createElement("button", { className: styles.overlay, "aria-label": t("Close"), onClick: onRequestClose, type: "button" })),
121
135
  React__default.createElement(AnimatePresence, { initial: false }, open && (React__default.createElement(motion.div, { className: classnames(styles.drawer, {
122
136
  [styles.reverseScroll]: scrollDirection === "reverse",
123
137
  [styles.inline]: inline,
@@ -138,7 +152,7 @@ function SideDrawer({ children, onRequestClose, open, variation = "base", scroll
138
152
  React__default.createElement("div", Object.assign({ className: classnames(styles.heading) }, slots.title.attr))),
139
153
  React__default.createElement("div", { className: styles.headerActions },
140
154
  React__default.createElement("div", Object.assign({ className: styles.hideWhenEmpty }, slots.actions.attr)),
141
- React__default.createElement(Button, { ariaLabel: "Close", icon: "cross", onClick: onRequestClose, type: "tertiary", variation: "subtle" }))),
155
+ React__default.createElement(Button, { ariaLabel: t("Close"), icon: "cross", onClick: onRequestClose, type: "tertiary", variation: "subtle" }))),
142
156
  React__default.createElement("div", Object.assign({ className: styles.hideWhenEmpty }, slots.toolbar.attr))),
143
157
  React__default.createElement("div", { className: styles.content },
144
158
  React__default.createElement("div", { className: styles.headerShadowListener, ref: headerShadowRef }),
@@ -487,6 +487,7 @@ export function IconSizesExample() {
487
487
  | | `sidebar` |
488
488
  | | `signature` |
489
489
  | | `sneaker` |
490
+ | | `soundwave` |
490
491
  | | `sparkles` |
491
492
  | | `speaker` |
492
493
  | | `sprout` |
package/dist/index.cjs CHANGED
@@ -111,6 +111,7 @@ require('./mergeRefs-cjs.js');
111
111
  require('./filterDataAttributes-cjs.js');
112
112
  require('color');
113
113
  require('./tslib.es6-cjs.js');
114
+ require('./useAtlantisI18n-cjs.js');
114
115
  require('react-router-dom');
115
116
  require('./getMappedAtlantisSpaceToken-cjs.js');
116
117
  require('./useChildComponent-cjs.js');
package/dist/index.mjs CHANGED
@@ -109,6 +109,7 @@ import './mergeRefs-es.js';
109
109
  import './filterDataAttributes-es.js';
110
110
  import 'color';
111
111
  import './tslib.es6-es.js';
112
+ import './useAtlantisI18n-es.js';
112
113
  import 'react-router-dom';
113
114
  import './getMappedAtlantisSpaceToken-es.js';
114
115
  import './useChildComponent-es.js';
@@ -1,37 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var React = require('react');
4
- var AtlantisContext = require('../../AtlantisContext-cjs.js');
3
+ var useAtlantisI18n = require('../../useAtlantisI18n-cjs.js');
4
+ require('react');
5
+ require('../../AtlantisContext-cjs.js');
5
6
 
6
- function defineMessages(messages) {
7
- return messages;
8
- }
9
- function useAtlantisI18n(messages) {
10
- const { locale } = AtlantisContext.useAtlantisContext();
11
- const normalizedLocale = normalizeLocale(locale);
12
- const t = React.useCallback((messageKey, values) => {
13
- return interpolateMessage(resolveMessage(messages[messageKey], normalizedLocale), values);
14
- }, [normalizedLocale, messages]);
15
- return { locale: normalizedLocale, t };
16
- }
17
- function resolveMessage(message, normalizedLocale) {
18
- var _a, _b;
19
- const baseLocale = normalizedLocale.split("-")[0];
20
- return (_b = (_a = message[normalizedLocale]) !== null && _a !== void 0 ? _a : message[baseLocale]) !== null && _b !== void 0 ? _b : message.en;
21
- }
22
- function normalizeLocale(locale) {
23
- return locale.trim().replace(/_/g, "-").toLowerCase();
24
- }
25
- function interpolateMessage(message, values) {
26
- if (!values)
27
- return message;
28
- return message.replace(/\{(\w+)\}/g, (placeholder, key) => {
29
- const value = values[key];
30
- return value === undefined ? placeholder : String(value);
31
- });
32
- }
33
-
34
- const commonMessages = defineMessages({
7
+ const commonMessages = useAtlantisI18n.defineMessages({
35
8
  Loading: {
36
9
  en: "Loading",
37
10
  es: "Cargando",
@@ -46,6 +19,6 @@ const commonMessages = defineMessages({
46
19
  },
47
20
  });
48
21
 
22
+ exports.defineMessages = useAtlantisI18n.defineMessages;
23
+ exports.useAtlantisI18n = useAtlantisI18n.useAtlantisI18n;
49
24
  exports.commonMessages = commonMessages;
50
- exports.defineMessages = defineMessages;
51
- exports.useAtlantisI18n = useAtlantisI18n;
@@ -1,33 +1,7 @@
1
- import { useCallback } from 'react';
2
- import { u as useAtlantisContext } from '../../AtlantisContext-es.js';
3
-
4
- function defineMessages(messages) {
5
- return messages;
6
- }
7
- function useAtlantisI18n(messages) {
8
- const { locale } = useAtlantisContext();
9
- const normalizedLocale = normalizeLocale(locale);
10
- const t = useCallback((messageKey, values) => {
11
- return interpolateMessage(resolveMessage(messages[messageKey], normalizedLocale), values);
12
- }, [normalizedLocale, messages]);
13
- return { locale: normalizedLocale, t };
14
- }
15
- function resolveMessage(message, normalizedLocale) {
16
- var _a, _b;
17
- const baseLocale = normalizedLocale.split("-")[0];
18
- return (_b = (_a = message[normalizedLocale]) !== null && _a !== void 0 ? _a : message[baseLocale]) !== null && _b !== void 0 ? _b : message.en;
19
- }
20
- function normalizeLocale(locale) {
21
- return locale.trim().replace(/_/g, "-").toLowerCase();
22
- }
23
- function interpolateMessage(message, values) {
24
- if (!values)
25
- return message;
26
- return message.replace(/\{(\w+)\}/g, (placeholder, key) => {
27
- const value = values[key];
28
- return value === undefined ? placeholder : String(value);
29
- });
30
- }
1
+ import { d as defineMessages } from '../../useAtlantisI18n-es.js';
2
+ export { u as useAtlantisI18n } from '../../useAtlantisI18n-es.js';
3
+ import 'react';
4
+ import '../../AtlantisContext-es.js';
31
5
 
32
6
  const commonMessages = defineMessages({
33
7
  Loading: {
@@ -44,4 +18,4 @@ const commonMessages = defineMessages({
44
18
  },
45
19
  });
46
20
 
47
- export { commonMessages, defineMessages, useAtlantisI18n };
21
+ export { commonMessages, defineMessages };
@@ -0,0 +1,35 @@
1
+ 'use strict';
2
+
3
+ var React = require('react');
4
+ var AtlantisContext = require('./AtlantisContext-cjs.js');
5
+
6
+ function defineMessages(messages) {
7
+ return messages;
8
+ }
9
+ function useAtlantisI18n(messages) {
10
+ const { locale } = AtlantisContext.useAtlantisContext();
11
+ const normalizedLocale = normalizeLocale(locale);
12
+ const t = React.useCallback((messageKey, values) => {
13
+ return interpolateMessage(resolveMessage(messages[messageKey], normalizedLocale), values);
14
+ }, [normalizedLocale, messages]);
15
+ return { locale: normalizedLocale, t };
16
+ }
17
+ function resolveMessage(message, normalizedLocale) {
18
+ var _a, _b;
19
+ const baseLocale = normalizedLocale.split("-")[0];
20
+ return (_b = (_a = message[normalizedLocale]) !== null && _a !== void 0 ? _a : message[baseLocale]) !== null && _b !== void 0 ? _b : message.en;
21
+ }
22
+ function normalizeLocale(locale) {
23
+ return locale.trim().replace(/_/g, "-").toLowerCase();
24
+ }
25
+ function interpolateMessage(message, values) {
26
+ if (!values)
27
+ return message;
28
+ return message.replace(/\{(\w+)\}/g, (placeholder, key) => {
29
+ const value = values[key];
30
+ return value === undefined ? placeholder : String(value);
31
+ });
32
+ }
33
+
34
+ exports.defineMessages = defineMessages;
35
+ exports.useAtlantisI18n = useAtlantisI18n;
@@ -0,0 +1,32 @@
1
+ import { useCallback } from 'react';
2
+ import { u as useAtlantisContext } from './AtlantisContext-es.js';
3
+
4
+ function defineMessages(messages) {
5
+ return messages;
6
+ }
7
+ function useAtlantisI18n(messages) {
8
+ const { locale } = useAtlantisContext();
9
+ const normalizedLocale = normalizeLocale(locale);
10
+ const t = useCallback((messageKey, values) => {
11
+ return interpolateMessage(resolveMessage(messages[messageKey], normalizedLocale), values);
12
+ }, [normalizedLocale, messages]);
13
+ return { locale: normalizedLocale, t };
14
+ }
15
+ function resolveMessage(message, normalizedLocale) {
16
+ var _a, _b;
17
+ const baseLocale = normalizedLocale.split("-")[0];
18
+ return (_b = (_a = message[normalizedLocale]) !== null && _a !== void 0 ? _a : message[baseLocale]) !== null && _b !== void 0 ? _b : message.en;
19
+ }
20
+ function normalizeLocale(locale) {
21
+ return locale.trim().replace(/_/g, "-").toLowerCase();
22
+ }
23
+ function interpolateMessage(message, values) {
24
+ if (!values)
25
+ return message;
26
+ return message.replace(/\{(\w+)\}/g, (placeholder, key) => {
27
+ const value = values[key];
28
+ return value === undefined ? placeholder : String(value);
29
+ });
30
+ }
31
+
32
+ export { defineMessages as d, useAtlantisI18n as u };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobber/components",
3
- "version": "8.29.0",
3
+ "version": "8.30.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "main": "dist/index.cjs",
@@ -473,7 +473,7 @@
473
473
  "@types/lodash": "^4.14.136",
474
474
  "@types/react-router": "5.1.7",
475
475
  "@types/react-router-dom": "^5.3.3",
476
- "axios": "^1.11.0",
476
+ "axios": "^1.18.0",
477
477
  "classnames": "^2.3.2",
478
478
  "color": "^3.1.2",
479
479
  "filesize": "^6.1.0",
@@ -491,7 +491,7 @@
491
491
  "devDependencies": {
492
492
  "@apollo/client": "^3.7.10",
493
493
  "@csstools/postcss-global-data": "^1.0.3",
494
- "@jobber/design": "0.109.0",
494
+ "@jobber/design": "0.110.0",
495
495
  "@jobber/hooks": "2.21.0",
496
496
  "@rollup/plugin-alias": "^5.1.0",
497
497
  "@rollup/plugin-commonjs": "^25.0.7",
@@ -530,7 +530,7 @@
530
530
  "@jobber/design": "*",
531
531
  "@jobber/hooks": ">=2",
532
532
  "@tanstack/react-table": "^8",
533
- "axios": "^1.11.0",
533
+ "axios": "^1.18.0",
534
534
  "classnames": "^2",
535
535
  "color": "^4",
536
536
  "filesize": "^6",
@@ -545,5 +545,5 @@
545
545
  "> 1%",
546
546
  "IE 10"
547
547
  ],
548
- "gitHead": "c81a2b04748119a1bd84cc39f4f5e7a97c410afb"
548
+ "gitHead": "899477f724a451b575e667d2565080cac5cc10e5"
549
549
  }