@jobber/components 9.3.0 → 9.4.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.
- package/dist/DataDump/DataDump.d.ts +1 -1
- package/dist/DataDump/DataDump.messages.d.ts +6 -0
- package/dist/DataDump/index.cjs +2 -2
- package/dist/DataDump/index.mjs +2 -2
- package/dist/DataDump-cjs.js +11 -1
- package/dist/DataDump-es.js +11 -1
- package/dist/DataTable/DataTable.messages.d.ts +22 -0
- package/dist/DataTable/index.cjs +2 -2
- package/dist/DataTable/index.mjs +2 -2
- package/dist/DataTable-cjs.js +34 -5
- package/dist/DataTable-es.js +34 -5
- package/dist/FeatureSwitch/FeatureSwitch.messages.d.ts +10 -0
- package/dist/FeatureSwitch/index.cjs +2 -0
- package/dist/FeatureSwitch/index.mjs +2 -0
- package/dist/FeatureSwitch-cjs.js +15 -2
- package/dist/FeatureSwitch-es.js +15 -2
- package/dist/FormatFile/FormatFile.messages.d.ts +18 -0
- package/dist/FormatFile/index.cjs +2 -2
- package/dist/FormatFile/index.mjs +2 -2
- package/dist/FormatFile-cjs.js +24 -2
- package/dist/FormatFile-es.js +24 -2
- package/dist/Menu-cjs.js +1 -0
- package/dist/Menu-es.js +1 -1
- package/dist/Page/index.cjs +12 -12
- package/dist/Page/index.mjs +12 -12
- package/dist/Page-cjs.js +6 -3
- package/dist/Page-es.js +6 -3
- package/dist/ProgressBar/ProgressBar.messages.d.ts +6 -0
- package/dist/ProgressBar/index.cjs +2 -0
- package/dist/ProgressBar/index.mjs +2 -0
- package/dist/ProgressBar-cjs.js +13 -1
- package/dist/ProgressBar-es.js +13 -1
- package/dist/Toast/Toast.messages.d.ts +6 -0
- package/dist/Toast/index.cjs +3 -1
- package/dist/Toast/index.mjs +3 -1
- package/dist/Toast/showToast.d.ts +12 -1
- package/dist/docs/DataDump/DataDump.md +1 -1
- package/dist/docs/Page/Page.md +1 -1
- package/dist/sharedHelpers/i18n/renderWithLocale.d.ts +11 -0
- package/dist/showToast-cjs.js +20 -6
- package/dist/showToast-es.js +20 -6
- package/package.json +2 -2
|
@@ -17,5 +17,5 @@ interface DataDebuggerProps {
|
|
|
17
17
|
*/
|
|
18
18
|
readonly data: unknown;
|
|
19
19
|
}
|
|
20
|
-
export declare function DataDump({ label, defaultOpen, data, }: DataDebuggerProps): React.JSX.Element;
|
|
20
|
+
export declare function DataDump({ label: labelProp, defaultOpen, data, }: DataDebuggerProps): React.JSX.Element;
|
|
21
21
|
export {};
|
package/dist/DataDump/index.cjs
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
var DataDump = require('../DataDump-cjs.js');
|
|
4
4
|
require('react');
|
|
5
|
+
require('../useAtlantisI18n-cjs.js');
|
|
6
|
+
require('../AtlantisContext-cjs.js');
|
|
5
7
|
require('../Card-cjs.js');
|
|
6
8
|
require('classnames');
|
|
7
9
|
require('../Heading-cjs.js');
|
|
@@ -20,8 +22,6 @@ require('../floating-ui.utils-cjs.js');
|
|
|
20
22
|
require('react/jsx-runtime');
|
|
21
23
|
require('react-dom');
|
|
22
24
|
require('../floating-ui.react-dom-cjs.js');
|
|
23
|
-
require('../useAtlantisI18n-cjs.js');
|
|
24
|
-
require('../AtlantisContext-cjs.js');
|
|
25
25
|
require('../useFormFieldFocus-cjs.js');
|
|
26
26
|
require('../maxHeight-cjs.js');
|
|
27
27
|
require('../useRenderElement-cjs.js');
|
package/dist/DataDump/index.mjs
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
export { D as DataDump } from '../DataDump-es.js';
|
|
2
2
|
import 'react';
|
|
3
|
+
import '../useAtlantisI18n-es.js';
|
|
4
|
+
import '../AtlantisContext-es.js';
|
|
3
5
|
import '../Card-es.js';
|
|
4
6
|
import 'classnames';
|
|
5
7
|
import '../Heading-es.js';
|
|
@@ -18,8 +20,6 @@ import '../floating-ui.utils-es.js';
|
|
|
18
20
|
import 'react/jsx-runtime';
|
|
19
21
|
import 'react-dom';
|
|
20
22
|
import '../floating-ui.react-dom-es.js';
|
|
21
|
-
import '../useAtlantisI18n-es.js';
|
|
22
|
-
import '../AtlantisContext-es.js';
|
|
23
23
|
import '../useFormFieldFocus-es.js';
|
|
24
24
|
import '../maxHeight-es.js';
|
|
25
25
|
import '../useRenderElement-es.js';
|
package/dist/DataDump-cjs.js
CHANGED
|
@@ -1,11 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
|
+
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
4
5
|
var Card = require('./Card-cjs.js');
|
|
5
6
|
var Content = require('./Content-cjs.js');
|
|
6
7
|
var Emphasis = require('./Emphasis-cjs.js');
|
|
7
8
|
|
|
8
|
-
|
|
9
|
+
const dataDumpMessages = useAtlantisI18n.defineMessages({
|
|
10
|
+
rawData: {
|
|
11
|
+
en: "Raw Data",
|
|
12
|
+
es: "Datos en bruto",
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
function DataDump({ label: labelProp, defaultOpen = false, data, }) {
|
|
17
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(dataDumpMessages);
|
|
18
|
+
const label = labelProp !== null && labelProp !== void 0 ? labelProp : t("rawData");
|
|
9
19
|
return (React.createElement(Card.Card, { accent: "yellow" },
|
|
10
20
|
React.createElement(Content.Content, null,
|
|
11
21
|
React.createElement("details", { open: defaultOpen },
|
package/dist/DataDump-es.js
CHANGED
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import React__default from 'react';
|
|
2
|
+
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
2
3
|
import { C as Card } from './Card-es.js';
|
|
3
4
|
import { C as Content } from './Content-es.js';
|
|
4
5
|
import { E as Emphasis } from './Emphasis-es.js';
|
|
5
6
|
|
|
6
|
-
|
|
7
|
+
const dataDumpMessages = defineMessages({
|
|
8
|
+
rawData: {
|
|
9
|
+
en: "Raw Data",
|
|
10
|
+
es: "Datos en bruto",
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
function DataDump({ label: labelProp, defaultOpen = false, data, }) {
|
|
15
|
+
const { t } = useAtlantisI18n(dataDumpMessages);
|
|
16
|
+
const label = labelProp !== null && labelProp !== void 0 ? labelProp : t("rawData");
|
|
7
17
|
return (React__default.createElement(Card, { accent: "yellow" },
|
|
8
18
|
React__default.createElement(Content, null,
|
|
9
19
|
React__default.createElement("details", { open: defaultOpen },
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export declare const dataTableMessages: {
|
|
2
|
+
noItems: {
|
|
3
|
+
en: string;
|
|
4
|
+
es: string;
|
|
5
|
+
};
|
|
6
|
+
"Showing {first}-{last} of {total} items": {
|
|
7
|
+
en: string;
|
|
8
|
+
es: string;
|
|
9
|
+
};
|
|
10
|
+
perPage: {
|
|
11
|
+
en: string;
|
|
12
|
+
es: string;
|
|
13
|
+
};
|
|
14
|
+
previousPage: {
|
|
15
|
+
en: string;
|
|
16
|
+
es: string;
|
|
17
|
+
};
|
|
18
|
+
nextPage: {
|
|
19
|
+
en: string;
|
|
20
|
+
es: string;
|
|
21
|
+
};
|
|
22
|
+
};
|
package/dist/DataTable/index.cjs
CHANGED
|
@@ -10,6 +10,8 @@ require('@jobber/hooks');
|
|
|
10
10
|
require('../Glimmer-cjs.js');
|
|
11
11
|
require('../tslib.es6-cjs.js');
|
|
12
12
|
require('../Content-cjs.js');
|
|
13
|
+
require('../useAtlantisI18n-cjs.js');
|
|
14
|
+
require('../AtlantisContext-cjs.js');
|
|
13
15
|
require('../LegacySelect-cjs.js');
|
|
14
16
|
require('../useAtlantisFormFieldName-cjs.js');
|
|
15
17
|
require('../FormFieldWrapper-cjs.js');
|
|
@@ -20,8 +22,6 @@ require('react-router-dom');
|
|
|
20
22
|
require('../Icon-cjs.js');
|
|
21
23
|
require('../Typography-cjs.js');
|
|
22
24
|
require('../Text-cjs.js');
|
|
23
|
-
require('../useAtlantisI18n-cjs.js');
|
|
24
|
-
require('../AtlantisContext-cjs.js');
|
|
25
25
|
require('../useFormFieldFocus-cjs.js');
|
|
26
26
|
require('../InputValidation-cjs.js');
|
|
27
27
|
require('../FormFieldPostFix-cjs.js');
|
package/dist/DataTable/index.mjs
CHANGED
|
@@ -8,6 +8,8 @@ import '@jobber/hooks';
|
|
|
8
8
|
import '../Glimmer-es.js';
|
|
9
9
|
import '../tslib.es6-es.js';
|
|
10
10
|
import '../Content-es.js';
|
|
11
|
+
import '../useAtlantisI18n-es.js';
|
|
12
|
+
import '../AtlantisContext-es.js';
|
|
11
13
|
import '../LegacySelect-es.js';
|
|
12
14
|
import '../useAtlantisFormFieldName-es.js';
|
|
13
15
|
import '../FormFieldWrapper-es.js';
|
|
@@ -18,8 +20,6 @@ import 'react-router-dom';
|
|
|
18
20
|
import '../Icon-es.js';
|
|
19
21
|
import '../Typography-es.js';
|
|
20
22
|
import '../Text-es.js';
|
|
21
|
-
import '../useAtlantisI18n-es.js';
|
|
22
|
-
import '../AtlantisContext-es.js';
|
|
23
23
|
import '../useFormFieldFocus-es.js';
|
|
24
24
|
import '../InputValidation-es.js';
|
|
25
25
|
import '../FormFieldPostFix-es.js';
|
package/dist/DataTable-cjs.js
CHANGED
|
@@ -6,6 +6,7 @@ var React = require('react');
|
|
|
6
6
|
var jobberHooks = require('@jobber/hooks');
|
|
7
7
|
var Glimmer = require('./Glimmer-cjs.js');
|
|
8
8
|
var tslib_es6 = require('./tslib.es6-cjs.js');
|
|
9
|
+
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
9
10
|
var LegacySelect = require('./LegacySelect-cjs.js');
|
|
10
11
|
var Button = require('./Button-cjs.js');
|
|
11
12
|
var Text = require('./Text-cjs.js');
|
|
@@ -99,28 +100,56 @@ function getSortingSettings(sorting) {
|
|
|
99
100
|
|
|
100
101
|
var styles$1 = {"pagination":"_5TLZRabskzI-","paginationInfo":"k8VFFgHUPZ4-","paginationNav":"SfaHBP7KC3Y-","paginationSelect":"E4zFf5oEm-Y-","paginationSelectLabel":"N4LhT5occ94-","paginationButtons":"HQPsyRjssL0-","spinning":"YHT2Mg0618I-"};
|
|
101
102
|
|
|
103
|
+
const dataTableMessages = useAtlantisI18n.defineMessages({
|
|
104
|
+
noItems: {
|
|
105
|
+
en: "No items",
|
|
106
|
+
es: "Sin elementos",
|
|
107
|
+
},
|
|
108
|
+
"Showing {first}-{last} of {total} items": {
|
|
109
|
+
en: "Showing {first}-{last} of {total} items",
|
|
110
|
+
es: "Mostrando {first}-{last} de {total} elementos",
|
|
111
|
+
},
|
|
112
|
+
perPage: {
|
|
113
|
+
en: "per page",
|
|
114
|
+
es: "por página",
|
|
115
|
+
},
|
|
116
|
+
previousPage: {
|
|
117
|
+
en: "Previous page",
|
|
118
|
+
es: "Página anterior",
|
|
119
|
+
},
|
|
120
|
+
nextPage: {
|
|
121
|
+
en: "Next page",
|
|
122
|
+
es: "Página siguiente",
|
|
123
|
+
},
|
|
124
|
+
});
|
|
125
|
+
|
|
102
126
|
const defaultItemsPerPageOptions = ["10", "20", "30", "40", "50"];
|
|
103
127
|
function Pagination({ table, itemsPerPage, totalItems, loading, onPageChange, }) {
|
|
128
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(dataTableMessages);
|
|
104
129
|
const { pageIndex, pageSize } = table.getState().pagination;
|
|
105
130
|
const totalRows = totalItems;
|
|
106
131
|
const firstPosition = pageIndex * pageSize + 1;
|
|
107
132
|
const secondPosition = Math.min(totalRows, pageSize * (pageIndex + 1));
|
|
108
133
|
const itemsPerPageOptions = React.useMemo(() => { var _a; return (_a = itemsPerPage === null || itemsPerPage === void 0 ? void 0 : itemsPerPage.map(item => String(item))) !== null && _a !== void 0 ? _a : defaultItemsPerPageOptions; }, [itemsPerPage]);
|
|
109
134
|
return secondPosition <= 0 ? (React.createElement("div", { className: styles$1.pagination },
|
|
110
|
-
React.createElement("div", { className: styles$1.paginationInfo }, !loading ? React.createElement(Text.Text, null, "
|
|
111
|
-
React.createElement("div", { className: styles$1.paginationInfo },
|
|
135
|
+
React.createElement("div", { className: styles$1.paginationInfo }, !loading ? React.createElement(Text.Text, null, t("noItems")) : React.createElement(Glimmer.Glimmer, { width: 200 })))) : (React.createElement("div", { className: styles$1.pagination },
|
|
136
|
+
React.createElement("div", { className: styles$1.paginationInfo }, t("Showing {first}-{last} of {total} items", {
|
|
137
|
+
first: firstPosition,
|
|
138
|
+
last: secondPosition,
|
|
139
|
+
total: totalRows,
|
|
140
|
+
})),
|
|
112
141
|
React.createElement("div", { className: styles$1.paginationNav },
|
|
113
142
|
React.createElement("div", { className: styles$1.paginationSelect },
|
|
114
143
|
React.createElement(LegacySelect.LegacySelect, { value: table.getState().pagination.pageSize, onChange: value => {
|
|
115
144
|
table.setPageSize(Number(value));
|
|
116
145
|
}, size: "small" }, itemsPerPageOptions.map(numOfPages => (React.createElement(LegacySelect.SelectOption, { key: numOfPages, value: numOfPages }, numOfPages)))),
|
|
117
|
-
React.createElement("span", { className: styles$1.paginationSelectLabel }, "
|
|
146
|
+
React.createElement("span", { className: styles$1.paginationSelectLabel }, t("perPage"))),
|
|
118
147
|
React.createElement("div", { className: styles$1.paginationButtons },
|
|
119
|
-
React.createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowLeft", ariaLabel: "
|
|
148
|
+
React.createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowLeft", ariaLabel: t("previousPage"), onClick: () => {
|
|
120
149
|
table.previousPage();
|
|
121
150
|
onPageChange();
|
|
122
151
|
}, disabled: !table.getCanPreviousPage() }),
|
|
123
|
-
React.createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: "
|
|
152
|
+
React.createElement(Button.Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: t("nextPage"), onClick: () => {
|
|
124
153
|
table.nextPage();
|
|
125
154
|
onPageChange();
|
|
126
155
|
}, disabled: !table.getCanNextPage() })))));
|
package/dist/DataTable-es.js
CHANGED
|
@@ -4,6 +4,7 @@ import React__default, { useCallback, useMemo } from 'react';
|
|
|
4
4
|
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
|
+
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
7
8
|
import { L as LegacySelect, S as SelectOption } from './LegacySelect-es.js';
|
|
8
9
|
import { B as Button } from './Button-es.js';
|
|
9
10
|
import { T as Text } from './Text-es.js';
|
|
@@ -97,28 +98,56 @@ function getSortingSettings(sorting) {
|
|
|
97
98
|
|
|
98
99
|
var styles$1 = {"pagination":"_5TLZRabskzI-","paginationInfo":"k8VFFgHUPZ4-","paginationNav":"SfaHBP7KC3Y-","paginationSelect":"E4zFf5oEm-Y-","paginationSelectLabel":"N4LhT5occ94-","paginationButtons":"HQPsyRjssL0-","spinning":"YHT2Mg0618I-"};
|
|
99
100
|
|
|
101
|
+
const dataTableMessages = defineMessages({
|
|
102
|
+
noItems: {
|
|
103
|
+
en: "No items",
|
|
104
|
+
es: "Sin elementos",
|
|
105
|
+
},
|
|
106
|
+
"Showing {first}-{last} of {total} items": {
|
|
107
|
+
en: "Showing {first}-{last} of {total} items",
|
|
108
|
+
es: "Mostrando {first}-{last} de {total} elementos",
|
|
109
|
+
},
|
|
110
|
+
perPage: {
|
|
111
|
+
en: "per page",
|
|
112
|
+
es: "por página",
|
|
113
|
+
},
|
|
114
|
+
previousPage: {
|
|
115
|
+
en: "Previous page",
|
|
116
|
+
es: "Página anterior",
|
|
117
|
+
},
|
|
118
|
+
nextPage: {
|
|
119
|
+
en: "Next page",
|
|
120
|
+
es: "Página siguiente",
|
|
121
|
+
},
|
|
122
|
+
});
|
|
123
|
+
|
|
100
124
|
const defaultItemsPerPageOptions = ["10", "20", "30", "40", "50"];
|
|
101
125
|
function Pagination({ table, itemsPerPage, totalItems, loading, onPageChange, }) {
|
|
126
|
+
const { t } = useAtlantisI18n(dataTableMessages);
|
|
102
127
|
const { pageIndex, pageSize } = table.getState().pagination;
|
|
103
128
|
const totalRows = totalItems;
|
|
104
129
|
const firstPosition = pageIndex * pageSize + 1;
|
|
105
130
|
const secondPosition = Math.min(totalRows, pageSize * (pageIndex + 1));
|
|
106
131
|
const itemsPerPageOptions = useMemo(() => { var _a; return (_a = itemsPerPage === null || itemsPerPage === void 0 ? void 0 : itemsPerPage.map(item => String(item))) !== null && _a !== void 0 ? _a : defaultItemsPerPageOptions; }, [itemsPerPage]);
|
|
107
132
|
return secondPosition <= 0 ? (React__default.createElement("div", { className: styles$1.pagination },
|
|
108
|
-
React__default.createElement("div", { className: styles$1.paginationInfo }, !loading ? React__default.createElement(Text, null, "
|
|
109
|
-
React__default.createElement("div", { className: styles$1.paginationInfo },
|
|
133
|
+
React__default.createElement("div", { className: styles$1.paginationInfo }, !loading ? React__default.createElement(Text, null, t("noItems")) : React__default.createElement(Glimmer, { width: 200 })))) : (React__default.createElement("div", { className: styles$1.pagination },
|
|
134
|
+
React__default.createElement("div", { className: styles$1.paginationInfo }, t("Showing {first}-{last} of {total} items", {
|
|
135
|
+
first: firstPosition,
|
|
136
|
+
last: secondPosition,
|
|
137
|
+
total: totalRows,
|
|
138
|
+
})),
|
|
110
139
|
React__default.createElement("div", { className: styles$1.paginationNav },
|
|
111
140
|
React__default.createElement("div", { className: styles$1.paginationSelect },
|
|
112
141
|
React__default.createElement(LegacySelect, { value: table.getState().pagination.pageSize, onChange: value => {
|
|
113
142
|
table.setPageSize(Number(value));
|
|
114
143
|
}, size: "small" }, itemsPerPageOptions.map(numOfPages => (React__default.createElement(SelectOption, { key: numOfPages, value: numOfPages }, numOfPages)))),
|
|
115
|
-
React__default.createElement("span", { className: styles$1.paginationSelectLabel }, "
|
|
144
|
+
React__default.createElement("span", { className: styles$1.paginationSelectLabel }, t("perPage"))),
|
|
116
145
|
React__default.createElement("div", { className: styles$1.paginationButtons },
|
|
117
|
-
React__default.createElement(Button, { type: "secondary", variation: "subtle", icon: "arrowLeft", ariaLabel: "
|
|
146
|
+
React__default.createElement(Button, { type: "secondary", variation: "subtle", icon: "arrowLeft", ariaLabel: t("previousPage"), onClick: () => {
|
|
118
147
|
table.previousPage();
|
|
119
148
|
onPageChange();
|
|
120
149
|
}, disabled: !table.getCanPreviousPage() }),
|
|
121
|
-
React__default.createElement(Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: "
|
|
150
|
+
React__default.createElement(Button, { type: "secondary", variation: "subtle", icon: "arrowRight", ariaLabel: t("nextPage"), onClick: () => {
|
|
122
151
|
table.nextPage();
|
|
123
152
|
onPageChange();
|
|
124
153
|
}, disabled: !table.getCanNextPage() })))));
|
|
@@ -4,6 +4,8 @@ var FeatureSwitch = require('../FeatureSwitch-cjs.js');
|
|
|
4
4
|
require('react');
|
|
5
5
|
require('framer-motion');
|
|
6
6
|
require('classnames');
|
|
7
|
+
require('../useAtlantisI18n-cjs.js');
|
|
8
|
+
require('../AtlantisContext-cjs.js');
|
|
7
9
|
require('../Heading-cjs.js');
|
|
8
10
|
require('../Typography-cjs.js');
|
|
9
11
|
require('../Text-cjs.js');
|
|
@@ -2,6 +2,8 @@ export { F as FeatureSwitch } from '../FeatureSwitch-es.js';
|
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'framer-motion';
|
|
4
4
|
import 'classnames';
|
|
5
|
+
import '../useAtlantisI18n-es.js';
|
|
6
|
+
import '../AtlantisContext-es.js';
|
|
5
7
|
import '../Heading-es.js';
|
|
6
8
|
import '../Typography-es.js';
|
|
7
9
|
import '../Text-es.js';
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var framerMotion = require('framer-motion');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
|
+
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
6
7
|
var Heading = require('./Heading-cjs.js');
|
|
7
8
|
var Text = require('./Text-cjs.js');
|
|
8
9
|
var Content = require('./Content-cjs.js');
|
|
@@ -13,7 +14,19 @@ var Markdown = require('./Markdown-cjs.js');
|
|
|
13
14
|
|
|
14
15
|
var styles = {"container":"o-b2tWQIZvw-","content":"NZtPT-dXFeQ-","action":"tDW-yhISuqQ-","savedIndicator":"Y-aeIDV1dL4-","featureContent":"iXr88Nr7vpk-","enabled":"GSDyu-sASro-","spinning":"gzT5ooqpZG4-"};
|
|
15
16
|
|
|
17
|
+
const featureSwitchMessages = useAtlantisI18n.defineMessages({
|
|
18
|
+
edit: {
|
|
19
|
+
en: "Edit",
|
|
20
|
+
es: "Editar",
|
|
21
|
+
},
|
|
22
|
+
saved: {
|
|
23
|
+
en: "Saved",
|
|
24
|
+
es: "Guardado",
|
|
25
|
+
},
|
|
26
|
+
});
|
|
27
|
+
|
|
16
28
|
function FeatureSwitch({ children, description, disabled = false, enabled, externalLink = false, onEdit, onSwitch, hasSaveIndicator = false, title, }) {
|
|
29
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(featureSwitchMessages);
|
|
17
30
|
const [savedIndicator, setSavedIndicator] = React.useState(false);
|
|
18
31
|
const featureContentClassnames = classnames(styles.featureContent, styles.content, enabled && styles.enabled);
|
|
19
32
|
shouldShowSavedIndicator();
|
|
@@ -33,11 +46,11 @@ function FeatureSwitch({ children, description, disabled = false, enabled, exter
|
|
|
33
46
|
stiffness: 300,
|
|
34
47
|
}, onAnimationComplete: handleAnimationComplete },
|
|
35
48
|
React.createElement(Text.Text, { variation: "success" },
|
|
36
|
-
React.createElement(Emphasis.Emphasis, { variation: "italic" }, "
|
|
49
|
+
React.createElement(Emphasis.Emphasis, { variation: "italic" }, t("saved"))))))))),
|
|
37
50
|
(children || onEdit) && (React.createElement("div", { className: styles.container },
|
|
38
51
|
children && (React.createElement("div", { className: featureContentClassnames }, children)),
|
|
39
52
|
onEdit && (React.createElement("div", { className: styles.action },
|
|
40
|
-
React.createElement(Button.Button, { label: "
|
|
53
|
+
React.createElement(Button.Button, { label: t("edit"), type: "tertiary", onClick: onEdit })))))));
|
|
41
54
|
function shouldShowSavedIndicator() {
|
|
42
55
|
// Check if the component is mounted
|
|
43
56
|
const [didMount, setDidMount] = React.useState(false);
|
package/dist/FeatureSwitch-es.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React__default, { useState, useEffect } from 'react';
|
|
2
2
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
|
+
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
4
5
|
import { H as Heading } from './Heading-es.js';
|
|
5
6
|
import { T as Text } from './Text-es.js';
|
|
6
7
|
import { C as Content } from './Content-es.js';
|
|
@@ -11,7 +12,19 @@ import { M as Markdown } from './Markdown-es.js';
|
|
|
11
12
|
|
|
12
13
|
var styles = {"container":"o-b2tWQIZvw-","content":"NZtPT-dXFeQ-","action":"tDW-yhISuqQ-","savedIndicator":"Y-aeIDV1dL4-","featureContent":"iXr88Nr7vpk-","enabled":"GSDyu-sASro-","spinning":"gzT5ooqpZG4-"};
|
|
13
14
|
|
|
15
|
+
const featureSwitchMessages = defineMessages({
|
|
16
|
+
edit: {
|
|
17
|
+
en: "Edit",
|
|
18
|
+
es: "Editar",
|
|
19
|
+
},
|
|
20
|
+
saved: {
|
|
21
|
+
en: "Saved",
|
|
22
|
+
es: "Guardado",
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
|
|
14
26
|
function FeatureSwitch({ children, description, disabled = false, enabled, externalLink = false, onEdit, onSwitch, hasSaveIndicator = false, title, }) {
|
|
27
|
+
const { t } = useAtlantisI18n(featureSwitchMessages);
|
|
15
28
|
const [savedIndicator, setSavedIndicator] = useState(false);
|
|
16
29
|
const featureContentClassnames = classnames(styles.featureContent, styles.content, enabled && styles.enabled);
|
|
17
30
|
shouldShowSavedIndicator();
|
|
@@ -31,11 +44,11 @@ function FeatureSwitch({ children, description, disabled = false, enabled, exter
|
|
|
31
44
|
stiffness: 300,
|
|
32
45
|
}, onAnimationComplete: handleAnimationComplete },
|
|
33
46
|
React__default.createElement(Text, { variation: "success" },
|
|
34
|
-
React__default.createElement(Emphasis, { variation: "italic" }, "
|
|
47
|
+
React__default.createElement(Emphasis, { variation: "italic" }, t("saved"))))))))),
|
|
35
48
|
(children || onEdit) && (React__default.createElement("div", { className: styles.container },
|
|
36
49
|
children && (React__default.createElement("div", { className: featureContentClassnames }, children)),
|
|
37
50
|
onEdit && (React__default.createElement("div", { className: styles.action },
|
|
38
|
-
React__default.createElement(Button, { label: "
|
|
51
|
+
React__default.createElement(Button, { label: t("edit"), type: "tertiary", onClick: onEdit })))))));
|
|
39
52
|
function shouldShowSavedIndicator() {
|
|
40
53
|
// Check if the component is mounted
|
|
41
54
|
const [didMount, setDidMount] = useState(false);
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const formatFileMessages: {
|
|
2
|
+
deleteFile: {
|
|
3
|
+
en: string;
|
|
4
|
+
es: string;
|
|
5
|
+
};
|
|
6
|
+
confirmDeletion: {
|
|
7
|
+
en: string;
|
|
8
|
+
es: string;
|
|
9
|
+
};
|
|
10
|
+
confirmDeletionMessage: {
|
|
11
|
+
en: string;
|
|
12
|
+
es: string;
|
|
13
|
+
};
|
|
14
|
+
delete: {
|
|
15
|
+
en: string;
|
|
16
|
+
es: string;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
@@ -4,6 +4,8 @@ var FormatFile = require('../FormatFile-cjs.js');
|
|
|
4
4
|
require('react');
|
|
5
5
|
require('filesize');
|
|
6
6
|
require('classnames');
|
|
7
|
+
require('../useAtlantisI18n-cjs.js');
|
|
8
|
+
require('../AtlantisContext-cjs.js');
|
|
7
9
|
require('../Thumbnail-cjs.js');
|
|
8
10
|
require('../Glimmer-cjs.js');
|
|
9
11
|
require('../tslib.es6-cjs.js');
|
|
@@ -21,8 +23,6 @@ require('../Modal/index.cjs');
|
|
|
21
23
|
require('react-dom');
|
|
22
24
|
require('framer-motion');
|
|
23
25
|
require('../nestedEscape-cjs.js');
|
|
24
|
-
require('../useAtlantisI18n-cjs.js');
|
|
25
|
-
require('../AtlantisContext-cjs.js');
|
|
26
26
|
require('../Heading-cjs.js');
|
|
27
27
|
require('../ButtonDismiss-cjs.js');
|
|
28
28
|
require('../noop-cjs.js');
|
|
@@ -2,6 +2,8 @@ export { F as FormatFile, u as useFormatFile, a as useFormatFileStyles } from '.
|
|
|
2
2
|
import 'react';
|
|
3
3
|
import 'filesize';
|
|
4
4
|
import 'classnames';
|
|
5
|
+
import '../useAtlantisI18n-es.js';
|
|
6
|
+
import '../AtlantisContext-es.js';
|
|
5
7
|
import '../Thumbnail-es.js';
|
|
6
8
|
import '../Glimmer-es.js';
|
|
7
9
|
import '../tslib.es6-es.js';
|
|
@@ -19,8 +21,6 @@ import '../Modal/index.mjs';
|
|
|
19
21
|
import 'react-dom';
|
|
20
22
|
import 'framer-motion';
|
|
21
23
|
import '../nestedEscape-es.js';
|
|
22
|
-
import '../useAtlantisI18n-es.js';
|
|
23
|
-
import '../AtlantisContext-es.js';
|
|
24
24
|
import '../Heading-es.js';
|
|
25
25
|
import '../ButtonDismiss-es.js';
|
|
26
26
|
import '../noop-es.js';
|
package/dist/FormatFile-cjs.js
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var getHumanReadableFileSize = require('filesize');
|
|
5
5
|
var classnames = require('classnames');
|
|
6
|
+
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
6
7
|
var Thumbnail = require('./Thumbnail-cjs.js');
|
|
7
8
|
var Text = require('./Text-cjs.js');
|
|
8
9
|
var ProgressBar = require('./ProgressBar-cjs.js');
|
|
@@ -49,8 +50,28 @@ function isHoverable({ display, isComplete, onClick, onDelete, }) {
|
|
|
49
50
|
return false;
|
|
50
51
|
}
|
|
51
52
|
|
|
53
|
+
const formatFileMessages = useAtlantisI18n.defineMessages({
|
|
54
|
+
deleteFile: {
|
|
55
|
+
en: "Delete File",
|
|
56
|
+
es: "Eliminar archivo",
|
|
57
|
+
},
|
|
58
|
+
confirmDeletion: {
|
|
59
|
+
en: "Confirm Deletion",
|
|
60
|
+
es: "Confirmar eliminación",
|
|
61
|
+
},
|
|
62
|
+
confirmDeletionMessage: {
|
|
63
|
+
en: "Are you sure you want to delete this file?",
|
|
64
|
+
es: "¿Estás seguro de que deseas eliminar este archivo?",
|
|
65
|
+
},
|
|
66
|
+
delete: {
|
|
67
|
+
en: "Delete",
|
|
68
|
+
es: "Eliminar",
|
|
69
|
+
},
|
|
70
|
+
});
|
|
71
|
+
|
|
52
72
|
function FormatFile({ file, display = "expanded", displaySize = "base", onDelete, onClick, }) {
|
|
53
73
|
const [deleteConfirmationOpen, setDeleteConfirmationOpen] = React.useState(false);
|
|
74
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(formatFileMessages);
|
|
54
75
|
const { isComplete, fileSize } = useFormatFile({
|
|
55
76
|
file,
|
|
56
77
|
display,
|
|
@@ -76,7 +97,7 @@ function FormatFile({ file, display = "expanded", displaySize = "base", onDelete
|
|
|
76
97
|
React.createElement(FormatFile.DeleteButton, { onDelete: () => {
|
|
77
98
|
setDeleteConfirmationOpen(true);
|
|
78
99
|
} },
|
|
79
|
-
React.createElement(ConfirmationModal.ConfirmationModal, { title: "
|
|
100
|
+
React.createElement(ConfirmationModal.ConfirmationModal, { title: t("confirmDeletion"), message: t("confirmDeletionMessage"), confirmLabel: t("delete"), variation: "destructive", open: deleteConfirmationOpen, onConfirm: () => onDelete === null || onDelete === void 0 ? void 0 : onDelete(), onRequestClose: () => setDeleteConfirmationOpen(false) })))));
|
|
80
101
|
}
|
|
81
102
|
FormatFile.DeleteButtonContainer = function FormatFileDeleteButtonContainer({ children, className, isHidden, }) {
|
|
82
103
|
if (isHidden)
|
|
@@ -106,10 +127,11 @@ FormatFile.Wrapper = function FormatFileWrapper({ children, className, }) {
|
|
|
106
127
|
return React.createElement("div", { className: className }, children);
|
|
107
128
|
};
|
|
108
129
|
FormatFile.DeleteButton = function FormatFileDeleteButton({ onDelete, children, }) {
|
|
130
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(formatFileMessages);
|
|
109
131
|
return (React.createElement(React.Fragment, null,
|
|
110
132
|
React.createElement(Button.Button, { UNSAFE_className: {
|
|
111
133
|
container: styles.customDeleteButton,
|
|
112
|
-
}, onClick: onDelete, variation: "destructive", type: "tertiary", icon: "trash", ariaLabel: "
|
|
134
|
+
}, onClick: onDelete, variation: "destructive", type: "tertiary", icon: "trash", ariaLabel: t("deleteFile"), size: "small" }),
|
|
113
135
|
children));
|
|
114
136
|
};
|
|
115
137
|
|
package/dist/FormatFile-es.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React__default, { useState } from 'react';
|
|
2
2
|
import getHumanReadableFileSize from 'filesize';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
|
+
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
4
5
|
import { T as Thumbnail } from './Thumbnail-es.js';
|
|
5
6
|
import { T as Text } from './Text-es.js';
|
|
6
7
|
import { P as ProgressBar } from './ProgressBar-es.js';
|
|
@@ -47,8 +48,28 @@ function isHoverable({ display, isComplete, onClick, onDelete, }) {
|
|
|
47
48
|
return false;
|
|
48
49
|
}
|
|
49
50
|
|
|
51
|
+
const formatFileMessages = defineMessages({
|
|
52
|
+
deleteFile: {
|
|
53
|
+
en: "Delete File",
|
|
54
|
+
es: "Eliminar archivo",
|
|
55
|
+
},
|
|
56
|
+
confirmDeletion: {
|
|
57
|
+
en: "Confirm Deletion",
|
|
58
|
+
es: "Confirmar eliminación",
|
|
59
|
+
},
|
|
60
|
+
confirmDeletionMessage: {
|
|
61
|
+
en: "Are you sure you want to delete this file?",
|
|
62
|
+
es: "¿Estás seguro de que deseas eliminar este archivo?",
|
|
63
|
+
},
|
|
64
|
+
delete: {
|
|
65
|
+
en: "Delete",
|
|
66
|
+
es: "Eliminar",
|
|
67
|
+
},
|
|
68
|
+
});
|
|
69
|
+
|
|
50
70
|
function FormatFile({ file, display = "expanded", displaySize = "base", onDelete, onClick, }) {
|
|
51
71
|
const [deleteConfirmationOpen, setDeleteConfirmationOpen] = useState(false);
|
|
72
|
+
const { t } = useAtlantisI18n(formatFileMessages);
|
|
52
73
|
const { isComplete, fileSize } = useFormatFile({
|
|
53
74
|
file,
|
|
54
75
|
display,
|
|
@@ -74,7 +95,7 @@ function FormatFile({ file, display = "expanded", displaySize = "base", onDelete
|
|
|
74
95
|
React__default.createElement(FormatFile.DeleteButton, { onDelete: () => {
|
|
75
96
|
setDeleteConfirmationOpen(true);
|
|
76
97
|
} },
|
|
77
|
-
React__default.createElement(ConfirmationModal, { title: "
|
|
98
|
+
React__default.createElement(ConfirmationModal, { title: t("confirmDeletion"), message: t("confirmDeletionMessage"), confirmLabel: t("delete"), variation: "destructive", open: deleteConfirmationOpen, onConfirm: () => onDelete === null || onDelete === void 0 ? void 0 : onDelete(), onRequestClose: () => setDeleteConfirmationOpen(false) })))));
|
|
78
99
|
}
|
|
79
100
|
FormatFile.DeleteButtonContainer = function FormatFileDeleteButtonContainer({ children, className, isHidden, }) {
|
|
80
101
|
if (isHidden)
|
|
@@ -104,10 +125,11 @@ FormatFile.Wrapper = function FormatFileWrapper({ children, className, }) {
|
|
|
104
125
|
return React__default.createElement("div", { className: className }, children);
|
|
105
126
|
};
|
|
106
127
|
FormatFile.DeleteButton = function FormatFileDeleteButton({ onDelete, children, }) {
|
|
128
|
+
const { t } = useAtlantisI18n(formatFileMessages);
|
|
107
129
|
return (React__default.createElement(React__default.Fragment, null,
|
|
108
130
|
React__default.createElement(Button, { UNSAFE_className: {
|
|
109
131
|
container: styles.customDeleteButton,
|
|
110
|
-
}, onClick: onDelete, variation: "destructive", type: "tertiary", icon: "trash", ariaLabel: "
|
|
132
|
+
}, onClick: onDelete, variation: "destructive", type: "tertiary", icon: "trash", ariaLabel: t("deleteFile"), size: "small" }),
|
|
111
133
|
children));
|
|
112
134
|
};
|
|
113
135
|
|
package/dist/Menu-cjs.js
CHANGED
package/dist/Menu-es.js
CHANGED
package/dist/Page/index.cjs
CHANGED
|
@@ -5,27 +5,21 @@ require('../tslib.es6-cjs.js');
|
|
|
5
5
|
require('react');
|
|
6
6
|
require('classnames');
|
|
7
7
|
require('@jobber/hooks');
|
|
8
|
-
require('../Heading-cjs.js');
|
|
9
|
-
require('../Typography-cjs.js');
|
|
10
|
-
require('../Text-cjs.js');
|
|
11
|
-
require('../Content-cjs.js');
|
|
12
|
-
require('../Markdown-cjs.js');
|
|
13
|
-
require('../Emphasis-cjs.js');
|
|
14
|
-
require('react/jsx-runtime');
|
|
15
|
-
require('../_commonjsHelpers-cjs.js');
|
|
16
|
-
require('../Button-cjs.js');
|
|
17
|
-
require('react-router-dom');
|
|
18
|
-
require('../Icon-cjs.js');
|
|
19
|
-
require('@jobber/design');
|
|
20
8
|
require('../Menu-cjs.js');
|
|
21
9
|
require('framer-motion');
|
|
22
10
|
require('../floating-ui.react-cjs.js');
|
|
23
11
|
require('../floating-ui.utils.dom-cjs.js');
|
|
24
12
|
require('../floating-ui.utils-cjs.js');
|
|
13
|
+
require('react/jsx-runtime');
|
|
25
14
|
require('react-dom');
|
|
26
15
|
require('../floating-ui.react-dom-cjs.js');
|
|
27
16
|
require('../useAtlantisI18n-cjs.js');
|
|
28
17
|
require('../AtlantisContext-cjs.js');
|
|
18
|
+
require('../Button-cjs.js');
|
|
19
|
+
require('react-router-dom');
|
|
20
|
+
require('../Icon-cjs.js');
|
|
21
|
+
require('@jobber/design');
|
|
22
|
+
require('../Typography-cjs.js');
|
|
29
23
|
require('../useFormFieldFocus-cjs.js');
|
|
30
24
|
require('../maxHeight-cjs.js');
|
|
31
25
|
require('../useRenderElement-cjs.js');
|
|
@@ -42,6 +36,12 @@ require('../DrawerTitle-cjs.js');
|
|
|
42
36
|
require('../MenuSubmenuTrigger-cjs.js');
|
|
43
37
|
require('../useCompositeListItem-cjs.js');
|
|
44
38
|
require('../isElementDisabled-cjs.js');
|
|
39
|
+
require('../Heading-cjs.js');
|
|
40
|
+
require('../Text-cjs.js');
|
|
41
|
+
require('../Content-cjs.js');
|
|
42
|
+
require('../Markdown-cjs.js');
|
|
43
|
+
require('../Emphasis-cjs.js');
|
|
44
|
+
require('../_commonjsHelpers-cjs.js');
|
|
45
45
|
require('../filterDataAttributes-cjs.js');
|
|
46
46
|
|
|
47
47
|
|
package/dist/Page/index.mjs
CHANGED
|
@@ -3,27 +3,21 @@ import '../tslib.es6-es.js';
|
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'classnames';
|
|
5
5
|
import '@jobber/hooks';
|
|
6
|
-
import '../Heading-es.js';
|
|
7
|
-
import '../Typography-es.js';
|
|
8
|
-
import '../Text-es.js';
|
|
9
|
-
import '../Content-es.js';
|
|
10
|
-
import '../Markdown-es.js';
|
|
11
|
-
import '../Emphasis-es.js';
|
|
12
|
-
import 'react/jsx-runtime';
|
|
13
|
-
import '../_commonjsHelpers-es.js';
|
|
14
|
-
import '../Button-es.js';
|
|
15
|
-
import 'react-router-dom';
|
|
16
|
-
import '../Icon-es.js';
|
|
17
|
-
import '@jobber/design';
|
|
18
6
|
import '../Menu-es.js';
|
|
19
7
|
import 'framer-motion';
|
|
20
8
|
import '../floating-ui.react-es.js';
|
|
21
9
|
import '../floating-ui.utils.dom-es.js';
|
|
22
10
|
import '../floating-ui.utils-es.js';
|
|
11
|
+
import 'react/jsx-runtime';
|
|
23
12
|
import 'react-dom';
|
|
24
13
|
import '../floating-ui.react-dom-es.js';
|
|
25
14
|
import '../useAtlantisI18n-es.js';
|
|
26
15
|
import '../AtlantisContext-es.js';
|
|
16
|
+
import '../Button-es.js';
|
|
17
|
+
import 'react-router-dom';
|
|
18
|
+
import '../Icon-es.js';
|
|
19
|
+
import '@jobber/design';
|
|
20
|
+
import '../Typography-es.js';
|
|
27
21
|
import '../useFormFieldFocus-es.js';
|
|
28
22
|
import '../maxHeight-es.js';
|
|
29
23
|
import '../useRenderElement-es.js';
|
|
@@ -40,4 +34,10 @@ import '../DrawerTitle-es.js';
|
|
|
40
34
|
import '../MenuSubmenuTrigger-es.js';
|
|
41
35
|
import '../useCompositeListItem-es.js';
|
|
42
36
|
import '../isElementDisabled-es.js';
|
|
37
|
+
import '../Heading-es.js';
|
|
38
|
+
import '../Text-es.js';
|
|
39
|
+
import '../Content-es.js';
|
|
40
|
+
import '../Markdown-es.js';
|
|
41
|
+
import '../Emphasis-es.js';
|
|
42
|
+
import '../_commonjsHelpers-es.js';
|
|
43
43
|
import '../filterDataAttributes-es.js';
|
package/dist/Page-cjs.js
CHANGED
|
@@ -4,14 +4,15 @@ 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 Menu = require('./Menu-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');
|
|
10
11
|
var Markdown = require('./Markdown-cjs.js');
|
|
11
12
|
var Button = require('./Button-cjs.js');
|
|
12
|
-
var Menu = require('./Menu-cjs.js');
|
|
13
13
|
var Emphasis = require('./Emphasis-cjs.js');
|
|
14
14
|
var filterDataAttributes = require('./filterDataAttributes-cjs.js');
|
|
15
|
+
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
15
16
|
|
|
16
17
|
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-"};
|
|
17
18
|
|
|
@@ -167,14 +168,16 @@ function PageSecondaryButton(_a) {
|
|
|
167
168
|
* e.g. wrapping Menu.Item with createLink() from TanStack Router).
|
|
168
169
|
*/
|
|
169
170
|
function PageMenu(_a) {
|
|
170
|
-
var { children, triggerLabel
|
|
171
|
+
var { children, triggerLabel } = _a, rest = tslib_es6.__rest(_a, ["children", "triggerLabel"]);
|
|
172
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(Menu.menuMessages);
|
|
171
173
|
const dataAttrs = filterDataAttributes.filterDataAttributes(rest);
|
|
172
174
|
const { width } = usePageContext();
|
|
173
175
|
const preferredPlacement = width === "fill" ? "bottom end" : undefined;
|
|
176
|
+
const resolvedTriggerLabel = triggerLabel !== null && triggerLabel !== void 0 ? triggerLabel : t("moreActions");
|
|
174
177
|
return (React.createElement("div", Object.assign({}, dataAttrs),
|
|
175
178
|
React.createElement(Menu.Menu, null,
|
|
176
179
|
React.createElement(Menu.Menu.Trigger, null,
|
|
177
|
-
React.createElement(Button.Button, { icon: "more", label:
|
|
180
|
+
React.createElement(Button.Button, { icon: "more", label: resolvedTriggerLabel, type: "secondary", fullWidth: true })),
|
|
178
181
|
React.createElement(Menu.Menu.Content, { preferredPlacement: preferredPlacement }, children))));
|
|
179
182
|
}
|
|
180
183
|
/** Main content area of the page. */
|
package/dist/Page-es.js
CHANGED
|
@@ -2,14 +2,15 @@ import { _ as __rest } from './tslib.es6-es.js';
|
|
|
2
2
|
import React__default, { createContext, useContext } from 'react';
|
|
3
3
|
import classnames from 'classnames';
|
|
4
4
|
import { useResizeObserver, Breakpoints } from '@jobber/hooks';
|
|
5
|
+
import { M as Menu, m as menuMessages } from './Menu-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';
|
|
8
9
|
import { M as Markdown } from './Markdown-es.js';
|
|
9
10
|
import { B as Button } from './Button-es.js';
|
|
10
|
-
import { M as Menu } from './Menu-es.js';
|
|
11
11
|
import { E as Emphasis } from './Emphasis-es.js';
|
|
12
12
|
import { f as filterDataAttributes } from './filterDataAttributes-es.js';
|
|
13
|
+
import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
13
14
|
|
|
14
15
|
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-"};
|
|
15
16
|
|
|
@@ -165,14 +166,16 @@ function PageSecondaryButton(_a) {
|
|
|
165
166
|
* e.g. wrapping Menu.Item with createLink() from TanStack Router).
|
|
166
167
|
*/
|
|
167
168
|
function PageMenu(_a) {
|
|
168
|
-
var { children, triggerLabel
|
|
169
|
+
var { children, triggerLabel } = _a, rest = __rest(_a, ["children", "triggerLabel"]);
|
|
170
|
+
const { t } = useAtlantisI18n(menuMessages);
|
|
169
171
|
const dataAttrs = filterDataAttributes(rest);
|
|
170
172
|
const { width } = usePageContext();
|
|
171
173
|
const preferredPlacement = width === "fill" ? "bottom end" : undefined;
|
|
174
|
+
const resolvedTriggerLabel = triggerLabel !== null && triggerLabel !== void 0 ? triggerLabel : t("moreActions");
|
|
172
175
|
return (React__default.createElement("div", Object.assign({}, dataAttrs),
|
|
173
176
|
React__default.createElement(Menu, null,
|
|
174
177
|
React__default.createElement(Menu.Trigger, null,
|
|
175
|
-
React__default.createElement(Button, { icon: "more", label:
|
|
178
|
+
React__default.createElement(Button, { icon: "more", label: resolvedTriggerLabel, type: "secondary", fullWidth: true })),
|
|
176
179
|
React__default.createElement(Menu.Content, { preferredPlacement: preferredPlacement }, children))));
|
|
177
180
|
}
|
|
178
181
|
/** Main content area of the page. */
|
package/dist/ProgressBar-cjs.js
CHANGED
|
@@ -2,14 +2,26 @@
|
|
|
2
2
|
|
|
3
3
|
var React = require('react');
|
|
4
4
|
var classnames = require('classnames');
|
|
5
|
+
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
5
6
|
|
|
6
7
|
var styles = {"ProgressBar":"p9AgTzIbTwY-","SteppedProgressBar":"w8NAw4ZMB6g-","wrapper":"d4oS-DGtcKA-","spinning":"f58JiDXlkHA-"};
|
|
7
8
|
|
|
8
9
|
var sizes = {"smaller":"dylWWgubHwM-","small":"z92YJQrscvI-","base":"DKfNM1to61A-","spinning":"GHfs7cB4nQQ-"};
|
|
9
10
|
|
|
11
|
+
const progressBarMessages = useAtlantisI18n.defineMessages({
|
|
12
|
+
steppedProgress: {
|
|
13
|
+
en: "progress, {current} out of {total}",
|
|
14
|
+
es: "progreso, {current} de {total}",
|
|
15
|
+
},
|
|
16
|
+
});
|
|
17
|
+
|
|
10
18
|
function ProgressBarStepped({ currentStep, totalSteps, percentage, size = "base", UNSAFE_className, UNSAFE_style, }) {
|
|
19
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(progressBarMessages);
|
|
11
20
|
const steppedProgressBarClassName = classnames(styles.ProgressBar, styles.SteppedProgressBar, sizes[size]);
|
|
12
|
-
const ariaLabel =
|
|
21
|
+
const ariaLabel = t("steppedProgress", {
|
|
22
|
+
current: currentStep,
|
|
23
|
+
total: totalSteps,
|
|
24
|
+
});
|
|
13
25
|
return (React.createElement("div", { role: "progressbar", className: classnames(styles.wrapper, UNSAFE_className), "data-testid": "progressbar-wrapper", style: UNSAFE_style, "aria-valuenow": percentage, "aria-valuetext": ariaLabel }, Array.from({ length: totalSteps }).map((_, index) => {
|
|
14
26
|
const step = index + 1;
|
|
15
27
|
const value = step <= currentStep ? 100 : 0;
|
package/dist/ProgressBar-es.js
CHANGED
|
@@ -1,13 +1,25 @@
|
|
|
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
|
|
|
4
5
|
var styles = {"ProgressBar":"p9AgTzIbTwY-","SteppedProgressBar":"w8NAw4ZMB6g-","wrapper":"d4oS-DGtcKA-","spinning":"f58JiDXlkHA-"};
|
|
5
6
|
|
|
6
7
|
var sizes = {"smaller":"dylWWgubHwM-","small":"z92YJQrscvI-","base":"DKfNM1to61A-","spinning":"GHfs7cB4nQQ-"};
|
|
7
8
|
|
|
9
|
+
const progressBarMessages = defineMessages({
|
|
10
|
+
steppedProgress: {
|
|
11
|
+
en: "progress, {current} out of {total}",
|
|
12
|
+
es: "progreso, {current} de {total}",
|
|
13
|
+
},
|
|
14
|
+
});
|
|
15
|
+
|
|
8
16
|
function ProgressBarStepped({ currentStep, totalSteps, percentage, size = "base", UNSAFE_className, UNSAFE_style, }) {
|
|
17
|
+
const { t } = useAtlantisI18n(progressBarMessages);
|
|
9
18
|
const steppedProgressBarClassName = classnames(styles.ProgressBar, styles.SteppedProgressBar, sizes[size]);
|
|
10
|
-
const ariaLabel =
|
|
19
|
+
const ariaLabel = t("steppedProgress", {
|
|
20
|
+
current: currentStep,
|
|
21
|
+
total: totalSteps,
|
|
22
|
+
});
|
|
11
23
|
return (React__default.createElement("div", { role: "progressbar", className: classnames(styles.wrapper, UNSAFE_className), "data-testid": "progressbar-wrapper", style: UNSAFE_style, "aria-valuenow": percentage, "aria-valuetext": ariaLabel }, Array.from({ length: totalSteps }).map((_, index) => {
|
|
12
24
|
const step = index + 1;
|
|
13
25
|
const value = step <= currentStep ? 100 : 0;
|
package/dist/Toast/index.cjs
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var showToast = require('../showToast-cjs.js');
|
|
4
|
+
require('../tslib.es6-cjs.js');
|
|
4
5
|
require('react');
|
|
5
6
|
require('react-dom/client');
|
|
6
7
|
require('framer-motion');
|
|
8
|
+
require('../useAtlantisI18n-cjs.js');
|
|
9
|
+
require('../AtlantisContext-cjs.js');
|
|
7
10
|
require('../Icon-cjs.js');
|
|
8
11
|
require('@jobber/design');
|
|
9
12
|
require('../Button-cjs.js');
|
|
10
|
-
require('../tslib.es6-cjs.js');
|
|
11
13
|
require('react-router-dom');
|
|
12
14
|
require('classnames');
|
|
13
15
|
require('../Typography-cjs.js');
|
package/dist/Toast/index.mjs
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export { T as Toast, s as showToast } from '../showToast-es.js';
|
|
2
|
+
import '../tslib.es6-es.js';
|
|
2
3
|
import 'react';
|
|
3
4
|
import 'react-dom/client';
|
|
4
5
|
import 'framer-motion';
|
|
6
|
+
import '../useAtlantisI18n-es.js';
|
|
7
|
+
import '../AtlantisContext-es.js';
|
|
5
8
|
import '../Icon-es.js';
|
|
6
9
|
import '@jobber/design';
|
|
7
10
|
import '../Button-es.js';
|
|
8
|
-
import '../tslib.es6-es.js';
|
|
9
11
|
import 'react-router-dom';
|
|
10
12
|
import 'classnames';
|
|
11
13
|
import '../Typography-es.js';
|
|
@@ -1,2 +1,13 @@
|
|
|
1
1
|
import type { ToastProps } from "./Toast";
|
|
2
|
-
|
|
2
|
+
interface ShowToastOptions {
|
|
3
|
+
/**
|
|
4
|
+
* The locale to use for translated strings inside the toast (e.g. the
|
|
5
|
+
* dismiss button aria-label). Defaults to `"en"`.
|
|
6
|
+
*
|
|
7
|
+
* Pass the same locale you provide to `AtlantisContext.Provider` in your
|
|
8
|
+
* app so that toast strings stay consistent with the rest of the UI.
|
|
9
|
+
*/
|
|
10
|
+
readonly locale?: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function showToast(props: ToastProps, options?: ShowToastOptions): void;
|
|
13
|
+
export {};
|
|
@@ -17,4 +17,4 @@ users.
|
|
|
17
17
|
|------|------|----------|---------|-------------|
|
|
18
18
|
| `data` | `unknown` | Yes | — | Data to display. |
|
|
19
19
|
| `defaultOpen` | `boolean` | No | `false` | Should the `DataDump` default to open? |
|
|
20
|
-
| `label` | `string` | No | `Raw Data` | Label for the DataDump |
|
|
20
|
+
| `label` | `string` | No | `"Raw Data"` | Label for the DataDump |
|
package/dist/docs/Page/Page.md
CHANGED
|
@@ -337,7 +337,7 @@ composable actions, this is the simplest way to use Page:
|
|
|
337
337
|
|
|
338
338
|
| Prop | Type | Required | Default | Description |
|
|
339
339
|
|------|------|----------|---------|-------------|
|
|
340
|
-
| `triggerLabel` | `string` | No |
|
|
340
|
+
| `triggerLabel` | `string` | No | — | |
|
|
341
341
|
|
|
342
342
|
#### Page.PrimaryButton
|
|
343
343
|
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import type { RenderResult } from "@testing-library/react";
|
|
3
|
+
/**
|
|
4
|
+
* Test utility that renders a component wrapped in `AtlantisContext.Provider`
|
|
5
|
+
* with the given locale. Use this in i18n tests instead of manually wrapping
|
|
6
|
+
* in the provider.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* renderWithLocale(<MyComponent />, "es");
|
|
10
|
+
*/
|
|
11
|
+
export declare function renderWithLocale(ui: React.ReactElement, locale: string): RenderResult;
|
package/dist/showToast-cjs.js
CHANGED
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var tslib_es6 = require('./tslib.es6-cjs.js');
|
|
3
4
|
var React = require('react');
|
|
4
5
|
var client = require('react-dom/client');
|
|
5
6
|
var framerMotion = require('framer-motion');
|
|
7
|
+
var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
|
|
6
8
|
var Icon = require('./Icon-cjs.js');
|
|
7
9
|
var Button = require('./Button-cjs.js');
|
|
8
10
|
require('classnames');
|
|
9
11
|
var Typography = require('./Typography-cjs.js');
|
|
12
|
+
var AtlantisContext = require('./AtlantisContext-cjs.js');
|
|
10
13
|
|
|
11
14
|
var styles = {"wrapper":"_0Tvq24WjeX8-","container":"GznHKPkdb1s-","toast":"W8zgWZqmIlk-","slice":"ol3srk7PviM-","button":"ibhpdUt9YLo-","spinning":"_5Wy5Wra20Vk-"};
|
|
12
15
|
|
|
16
|
+
const toastMessages = useAtlantisI18n.defineMessages({
|
|
17
|
+
hideNotification: {
|
|
18
|
+
en: "Hide Notification",
|
|
19
|
+
es: "Ocultar notificación",
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
|
|
13
23
|
function Toast({ message, variation = "success", action, actionLabel, }) {
|
|
14
24
|
const [visible, setVisible] = React.useState(true);
|
|
25
|
+
const { t } = useAtlantisI18n.useAtlantisI18n(toastMessages);
|
|
15
26
|
const icon = getIcon();
|
|
16
27
|
let timer;
|
|
17
28
|
React.useEffect(() => startTimer(), []);
|
|
@@ -26,7 +37,7 @@ function Toast({ message, variation = "success", action, actionLabel, }) {
|
|
|
26
37
|
React.createElement(Typography.Typography, { element: "span", size: "large" }, message),
|
|
27
38
|
action && (React.createElement(Button.Button, { label: `${actionLabel}`, onClick: action, type: "tertiary" })),
|
|
28
39
|
React.createElement("div", { className: styles.button },
|
|
29
|
-
React.createElement(Button.Button, { icon: "cross", ariaLabel: "
|
|
40
|
+
React.createElement(Button.Button, { icon: "cross", ariaLabel: t("hideNotification"), onClick: handleToastClose, type: "tertiary", variation: "subtle" })))))));
|
|
30
41
|
function startTimer() {
|
|
31
42
|
timer = setTimeout(() => handleToastClose(), getTimeout());
|
|
32
43
|
}
|
|
@@ -62,7 +73,8 @@ function Toast({ message, variation = "success", action, actionLabel, }) {
|
|
|
62
73
|
|
|
63
74
|
const targetId = "atlantis-toast-element";
|
|
64
75
|
let root;
|
|
65
|
-
function showToast(props) {
|
|
76
|
+
function showToast(props, options = {}) {
|
|
77
|
+
const { locale = "en" } = options;
|
|
66
78
|
// Ensure target and body is still there when rendering the toast. This is due
|
|
67
79
|
// to an issue with ReactDOM createRoot assuming document is always there and
|
|
68
80
|
// Jest taking the document down.
|
|
@@ -79,14 +91,16 @@ function showToast(props) {
|
|
|
79
91
|
root = client.createRoot(target);
|
|
80
92
|
}
|
|
81
93
|
if (root && target && globalThis.document.body.contains(target)) {
|
|
82
|
-
root.render(React.createElement(ToasterOven, Object.assign({}, props)));
|
|
94
|
+
root.render(React.createElement(ToasterOven, Object.assign({ locale: locale }, props)));
|
|
83
95
|
}
|
|
84
96
|
}
|
|
85
97
|
const ToastContainer = React.forwardRef(ToastInternal);
|
|
86
|
-
function ToasterOven(
|
|
98
|
+
function ToasterOven(_a) {
|
|
99
|
+
var { locale } = _a, toastProps = tslib_es6.__rest(_a, ["locale"]);
|
|
87
100
|
const toastRef = React.useRef(null);
|
|
88
|
-
React.useEffect(() => { var _a; return (_a = toastRef.current) === null || _a === void 0 ? void 0 : _a.add(
|
|
89
|
-
return React.createElement(
|
|
101
|
+
React.useEffect(() => { var _a; return (_a = toastRef.current) === null || _a === void 0 ? void 0 : _a.add(toastProps); });
|
|
102
|
+
return (React.createElement(AtlantisContext.AtlantisContext.Provider, { value: Object.assign(Object.assign({}, AtlantisContext.atlantisContextDefaultValues), { locale }) },
|
|
103
|
+
React.createElement(ToastContainer, { ref: toastRef })));
|
|
90
104
|
}
|
|
91
105
|
function ToastInternal(_, ref) {
|
|
92
106
|
const [toastKey, setToastKey] = React.useState(0);
|
package/dist/showToast-es.js
CHANGED
|
@@ -1,15 +1,26 @@
|
|
|
1
|
+
import { _ as __rest } from './tslib.es6-es.js';
|
|
1
2
|
import React__default, { useState, useEffect, forwardRef, useImperativeHandle, useRef } from 'react';
|
|
2
3
|
import { createRoot } from 'react-dom/client';
|
|
3
4
|
import { AnimatePresence, motion } from 'framer-motion';
|
|
5
|
+
import { d as defineMessages, u as useAtlantisI18n } from './useAtlantisI18n-es.js';
|
|
4
6
|
import { I as Icon } from './Icon-es.js';
|
|
5
7
|
import { B as Button } from './Button-es.js';
|
|
6
8
|
import 'classnames';
|
|
7
9
|
import { T as Typography } from './Typography-es.js';
|
|
10
|
+
import { A as AtlantisContext, a as atlantisContextDefaultValues } from './AtlantisContext-es.js';
|
|
8
11
|
|
|
9
12
|
var styles = {"wrapper":"_0Tvq24WjeX8-","container":"GznHKPkdb1s-","toast":"W8zgWZqmIlk-","slice":"ol3srk7PviM-","button":"ibhpdUt9YLo-","spinning":"_5Wy5Wra20Vk-"};
|
|
10
13
|
|
|
14
|
+
const toastMessages = defineMessages({
|
|
15
|
+
hideNotification: {
|
|
16
|
+
en: "Hide Notification",
|
|
17
|
+
es: "Ocultar notificación",
|
|
18
|
+
},
|
|
19
|
+
});
|
|
20
|
+
|
|
11
21
|
function Toast({ message, variation = "success", action, actionLabel, }) {
|
|
12
22
|
const [visible, setVisible] = useState(true);
|
|
23
|
+
const { t } = useAtlantisI18n(toastMessages);
|
|
13
24
|
const icon = getIcon();
|
|
14
25
|
let timer;
|
|
15
26
|
useEffect(() => startTimer(), []);
|
|
@@ -24,7 +35,7 @@ function Toast({ message, variation = "success", action, actionLabel, }) {
|
|
|
24
35
|
React__default.createElement(Typography, { element: "span", size: "large" }, message),
|
|
25
36
|
action && (React__default.createElement(Button, { label: `${actionLabel}`, onClick: action, type: "tertiary" })),
|
|
26
37
|
React__default.createElement("div", { className: styles.button },
|
|
27
|
-
React__default.createElement(Button, { icon: "cross", ariaLabel: "
|
|
38
|
+
React__default.createElement(Button, { icon: "cross", ariaLabel: t("hideNotification"), onClick: handleToastClose, type: "tertiary", variation: "subtle" })))))));
|
|
28
39
|
function startTimer() {
|
|
29
40
|
timer = setTimeout(() => handleToastClose(), getTimeout());
|
|
30
41
|
}
|
|
@@ -60,7 +71,8 @@ function Toast({ message, variation = "success", action, actionLabel, }) {
|
|
|
60
71
|
|
|
61
72
|
const targetId = "atlantis-toast-element";
|
|
62
73
|
let root;
|
|
63
|
-
function showToast(props) {
|
|
74
|
+
function showToast(props, options = {}) {
|
|
75
|
+
const { locale = "en" } = options;
|
|
64
76
|
// Ensure target and body is still there when rendering the toast. This is due
|
|
65
77
|
// to an issue with ReactDOM createRoot assuming document is always there and
|
|
66
78
|
// Jest taking the document down.
|
|
@@ -77,14 +89,16 @@ function showToast(props) {
|
|
|
77
89
|
root = createRoot(target);
|
|
78
90
|
}
|
|
79
91
|
if (root && target && globalThis.document.body.contains(target)) {
|
|
80
|
-
root.render(React__default.createElement(ToasterOven, Object.assign({}, props)));
|
|
92
|
+
root.render(React__default.createElement(ToasterOven, Object.assign({ locale: locale }, props)));
|
|
81
93
|
}
|
|
82
94
|
}
|
|
83
95
|
const ToastContainer = forwardRef(ToastInternal);
|
|
84
|
-
function ToasterOven(
|
|
96
|
+
function ToasterOven(_a) {
|
|
97
|
+
var { locale } = _a, toastProps = __rest(_a, ["locale"]);
|
|
85
98
|
const toastRef = useRef(null);
|
|
86
|
-
useEffect(() => { var _a; return (_a = toastRef.current) === null || _a === void 0 ? void 0 : _a.add(
|
|
87
|
-
return React__default.createElement(
|
|
99
|
+
useEffect(() => { var _a; return (_a = toastRef.current) === null || _a === void 0 ? void 0 : _a.add(toastProps); });
|
|
100
|
+
return (React__default.createElement(AtlantisContext.Provider, { value: Object.assign(Object.assign({}, atlantisContextDefaultValues), { locale }) },
|
|
101
|
+
React__default.createElement(ToastContainer, { ref: toastRef })));
|
|
88
102
|
}
|
|
89
103
|
function ToastInternal(_, ref) {
|
|
90
104
|
const [toastKey, setToastKey] = useState(0);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jobber/components",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.cjs",
|
|
@@ -545,5 +545,5 @@
|
|
|
545
545
|
"> 1%",
|
|
546
546
|
"IE 10"
|
|
547
547
|
],
|
|
548
|
-
"gitHead": "
|
|
548
|
+
"gitHead": "bd5837d81e26f7413b9377c415bc6e03ca199580"
|
|
549
549
|
}
|