@jobber/components 9.14.2 → 9.14.4

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.
Files changed (60) hide show
  1. package/dist/ActivityIndicator-cjs.js +1 -1
  2. package/dist/ActivityIndicator-es.js +1 -1
  3. package/dist/ConfirmationModal-cjs.js +1 -1
  4. package/dist/ConfirmationModal-es.js +1 -1
  5. package/dist/DataList/components/DataListFilters/components/DataListSort/index.cjs +3 -2
  6. package/dist/DataList/components/DataListFilters/components/DataListSort/index.mjs +3 -2
  7. package/dist/DataList/components/DataListFilters/index.cjs +3 -2
  8. package/dist/DataList/components/DataListFilters/index.mjs +3 -2
  9. package/dist/DataList/components/DataListTotalCount/DataListTotalCount.messages.d.ts +9 -7
  10. package/dist/DataList/index.cjs +1 -0
  11. package/dist/DataList/index.mjs +1 -0
  12. package/dist/DataListTotalCount-cjs.js +11 -9
  13. package/dist/DataListTotalCount-es.js +11 -9
  14. package/dist/DatePicker/index.cjs +2 -1
  15. package/dist/DatePicker/index.mjs +2 -1
  16. package/dist/DatePicker-cjs.js +70 -708
  17. package/dist/DatePicker-es.js +68 -706
  18. package/dist/FilterPicker/FilterPicker.messages.d.ts +51 -0
  19. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentHeader/index.cjs +3 -0
  20. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentHeader/index.mjs +3 -0
  21. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentList/index.cjs +1 -0
  22. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentList/index.mjs +1 -0
  23. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentSearch/index.cjs +3 -0
  24. package/dist/FilterPicker/components/FilterPickerContent/FilterPickerContentSearch/index.mjs +3 -0
  25. package/dist/FilterPicker/components/FilterPickerContent/index.cjs +3 -2
  26. package/dist/FilterPicker/components/FilterPickerContent/index.mjs +3 -2
  27. package/dist/FilterPicker/components/FilterPickerTrigger/index.cjs +1 -0
  28. package/dist/FilterPicker/components/FilterPickerTrigger/index.mjs +1 -0
  29. package/dist/FilterPicker/index.cjs +3 -2
  30. package/dist/FilterPicker/index.mjs +3 -2
  31. package/dist/FilterPicker.messages-cjs.js +58 -0
  32. package/dist/FilterPicker.messages-es.js +56 -0
  33. package/dist/FilterPickerContentHeader-cjs.js +12 -8
  34. package/dist/FilterPickerContentHeader-es.js +12 -8
  35. package/dist/FilterPickerContentList-cjs.js +10 -10
  36. package/dist/FilterPickerContentList-es.js +10 -10
  37. package/dist/FilterPickerContentSearch-cjs.js +8 -2
  38. package/dist/FilterPickerContentSearch-es.js +8 -2
  39. package/dist/FilterPickerTrigger-cjs.js +7 -2
  40. package/dist/FilterPickerTrigger-es.js +7 -2
  41. package/dist/InputDate/index.cjs +1 -0
  42. package/dist/InputDate/index.mjs +1 -0
  43. package/dist/Spinner-cjs.js +1 -1
  44. package/dist/Spinner-es.js +1 -1
  45. package/dist/dateLocale-cjs.js +1146 -0
  46. package/dist/dateLocale-es.js +1142 -0
  47. package/dist/docs/AtlantisThemeContext/AtlantisThemeContext.md +24 -9
  48. package/dist/docs/FilterPicker/FilterPicker.md +9 -4
  49. package/dist/docs/Icon/Icon.md +1 -0
  50. package/dist/index.cjs +2 -0
  51. package/dist/index.mjs +2 -0
  52. package/dist/sharedHelpers/i18n/dateLocale.d.ts +2 -0
  53. package/dist/sharedHelpers/i18n/index.cjs +3 -0
  54. package/dist/sharedHelpers/i18n/index.d.ts +1 -0
  55. package/dist/sharedHelpers/i18n/index.mjs +1 -0
  56. package/dist/sharedHelpers/i18n/releasedLanguages.d.ts +7 -0
  57. package/dist/sharedHelpers/i18n/useAtlantisI18n.d.ts +17 -6
  58. package/dist/useAtlantisI18n-cjs.js +23 -1
  59. package/dist/useAtlantisI18n-es.js +23 -1
  60. package/package.json +4 -3
@@ -0,0 +1,51 @@
1
+ export declare const filterPickerMessages: {
2
+ search: {
3
+ en: string;
4
+ es: string;
5
+ };
6
+ searchSubject: {
7
+ en: string;
8
+ es: string;
9
+ };
10
+ clearSearch: {
11
+ en: string;
12
+ es: string;
13
+ };
14
+ clear: {
15
+ en: string;
16
+ es: string;
17
+ };
18
+ selectAll: {
19
+ en: string;
20
+ es: string;
21
+ };
22
+ selected: {
23
+ en: {
24
+ other: string;
25
+ };
26
+ es: {
27
+ one: string;
28
+ other: string;
29
+ };
30
+ };
31
+ select: {
32
+ en: string;
33
+ es: string;
34
+ };
35
+ selectSubject: {
36
+ en: string;
37
+ es: string;
38
+ };
39
+ noResultsFor: {
40
+ en: string;
41
+ es: string;
42
+ };
43
+ noSubjectOptionsYet: {
44
+ en: string;
45
+ es: string;
46
+ };
47
+ noOptionsYet: {
48
+ en: string;
49
+ es: string;
50
+ };
51
+ };
@@ -9,6 +9,9 @@ require('../../../../tslib.es6-cjs.js');
9
9
  require('react-router-dom');
10
10
  require('../../../../Icon-cjs.js');
11
11
  require('@jobber/design');
12
+ require('../../../../FilterPicker.messages-cjs.js');
13
+ require('../../../../useAtlantisI18n-cjs.js');
14
+ require('../../../../AtlantisContext-cjs.js');
12
15
 
13
16
 
14
17
 
@@ -7,3 +7,6 @@ import '../../../../tslib.es6-es.js';
7
7
  import 'react-router-dom';
8
8
  import '../../../../Icon-es.js';
9
9
  import '@jobber/design';
10
+ import '../../../../FilterPicker.messages-es.js';
11
+ import '../../../../useAtlantisI18n-es.js';
12
+ import '../../../../AtlantisContext-es.js';
@@ -30,6 +30,7 @@ require('../../../../Flex-cjs.js');
30
30
  require('../../../../FilterPickerProvider-cjs.js');
31
31
  require('../../../../FilterPickerLoadMore-cjs.js');
32
32
  require('@jobber/hooks');
33
+ require('../../../../FilterPicker.messages-cjs.js');
33
34
 
34
35
 
35
36
 
@@ -28,3 +28,4 @@ import '../../../../Flex-es.js';
28
28
  import '../../../../FilterPickerProvider-es.js';
29
29
  import '../../../../FilterPickerLoadMore-es.js';
30
30
  import '@jobber/hooks';
31
+ import '../../../../FilterPicker.messages-es.js';
@@ -4,6 +4,9 @@ var FilterPickerContentSearch = require('../../../../FilterPickerContentSearch-c
4
4
  require('react');
5
5
  require('../../../../Icon-cjs.js');
6
6
  require('@jobber/design');
7
+ require('../../../../FilterPicker.messages-cjs.js');
8
+ require('../../../../useAtlantisI18n-cjs.js');
9
+ require('../../../../AtlantisContext-cjs.js');
7
10
 
8
11
 
9
12
 
@@ -2,3 +2,6 @@ export { F as FilterPickerContentSearch } from '../../../../FilterPickerContentS
2
2
  import 'react';
3
3
  import '../../../../Icon-es.js';
4
4
  import '@jobber/design';
5
+ import '../../../../FilterPicker.messages-es.js';
6
+ import '../../../../useAtlantisI18n-es.js';
7
+ import '../../../../AtlantisContext-es.js';
@@ -9,6 +9,9 @@ require('react-dom');
9
9
  require('../../../FilterPickerContentSearch-cjs.js');
10
10
  require('../../../Icon-cjs.js');
11
11
  require('@jobber/design');
12
+ require('../../../FilterPicker.messages-cjs.js');
13
+ require('../../../useAtlantisI18n-cjs.js');
14
+ require('../../../AtlantisContext-cjs.js');
12
15
  require('../../../FilterPickerContentList-cjs.js');
13
16
  require('framer-motion');
14
17
  require('../../../Text-cjs.js');
@@ -18,8 +21,6 @@ require('../../../tslib.es6-cjs.js');
18
21
  require('../../../Content-cjs.js');
19
22
  require('../../../Spinner-cjs.js');
20
23
  require('../../../common.messages-cjs.js');
21
- require('../../../useAtlantisI18n-cjs.js');
22
- require('../../../AtlantisContext-cjs.js');
23
24
  require('../../../AtlantisThemeContext-cjs.js');
24
25
  require('../../../_commonjsHelpers-cjs.js');
25
26
  require('../../../identity-cjs.js');
@@ -7,6 +7,9 @@ import 'react-dom';
7
7
  import '../../../FilterPickerContentSearch-es.js';
8
8
  import '../../../Icon-es.js';
9
9
  import '@jobber/design';
10
+ import '../../../FilterPicker.messages-es.js';
11
+ import '../../../useAtlantisI18n-es.js';
12
+ import '../../../AtlantisContext-es.js';
10
13
  import '../../../FilterPickerContentList-es.js';
11
14
  import 'framer-motion';
12
15
  import '../../../Text-es.js';
@@ -16,8 +19,6 @@ import '../../../tslib.es6-es.js';
16
19
  import '../../../Content-es.js';
17
20
  import '../../../Spinner-es.js';
18
21
  import '../../../common.messages-es.js';
19
- import '../../../useAtlantisI18n-es.js';
20
- import '../../../AtlantisContext-es.js';
21
22
  import '../../../AtlantisThemeContext-es.js';
22
23
  import '../../../_commonjsHelpers-es.js';
23
24
  import '../../../identity-es.js';
@@ -20,6 +20,7 @@ require('react/jsx-runtime');
20
20
  require('react-dom');
21
21
  require('framer-motion');
22
22
  require('../../../FilterPickerProvider-cjs.js');
23
+ require('../../../FilterPicker.messages-cjs.js');
23
24
 
24
25
 
25
26
 
@@ -18,3 +18,4 @@ import 'react/jsx-runtime';
18
18
  import 'react-dom';
19
19
  import 'framer-motion';
20
20
  import '../../../FilterPickerProvider-es.js';
21
+ import '../../../FilterPicker.messages-es.js';
@@ -11,6 +11,9 @@ require('react-dom');
11
11
  require('../FilterPickerContentSearch-cjs.js');
12
12
  require('../Icon-cjs.js');
13
13
  require('@jobber/design');
14
+ require('../FilterPicker.messages-cjs.js');
15
+ require('../useAtlantisI18n-cjs.js');
16
+ require('../AtlantisContext-cjs.js');
14
17
  require('../FilterPickerContentList-cjs.js');
15
18
  require('framer-motion');
16
19
  require('../Text-cjs.js');
@@ -20,8 +23,6 @@ require('../tslib.es6-cjs.js');
20
23
  require('../Content-cjs.js');
21
24
  require('../Spinner-cjs.js');
22
25
  require('../common.messages-cjs.js');
23
- require('../useAtlantisI18n-cjs.js');
24
- require('../AtlantisContext-cjs.js');
25
26
  require('../AtlantisThemeContext-cjs.js');
26
27
  require('../_commonjsHelpers-cjs.js');
27
28
  require('../identity-cjs.js');
@@ -9,6 +9,9 @@ import 'react-dom';
9
9
  import '../FilterPickerContentSearch-es.js';
10
10
  import '../Icon-es.js';
11
11
  import '@jobber/design';
12
+ import '../FilterPicker.messages-es.js';
13
+ import '../useAtlantisI18n-es.js';
14
+ import '../AtlantisContext-es.js';
12
15
  import '../FilterPickerContentList-es.js';
13
16
  import 'framer-motion';
14
17
  import '../Text-es.js';
@@ -18,8 +21,6 @@ import '../tslib.es6-es.js';
18
21
  import '../Content-es.js';
19
22
  import '../Spinner-es.js';
20
23
  import '../common.messages-es.js';
21
- import '../useAtlantisI18n-es.js';
22
- import '../AtlantisContext-es.js';
23
24
  import '../AtlantisThemeContext-es.js';
24
25
  import '../_commonjsHelpers-es.js';
25
26
  import '../identity-es.js';
@@ -0,0 +1,58 @@
1
+ 'use strict';
2
+
3
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
4
+ require('./AtlantisContext-cjs.js');
5
+
6
+ const filterPickerMessages = useAtlantisI18n.defineMessages({
7
+ search: {
8
+ en: "Search",
9
+ es: "Buscar",
10
+ },
11
+ searchSubject: {
12
+ en: "Search {subjectNoun}",
13
+ es: "Buscar {subjectNoun}",
14
+ },
15
+ clearSearch: {
16
+ en: "Clear search",
17
+ es: "Borrar búsqueda",
18
+ },
19
+ clear: {
20
+ en: "Clear",
21
+ es: "Borrar",
22
+ },
23
+ selectAll: {
24
+ en: "Select all",
25
+ es: "Seleccionar todo",
26
+ },
27
+ selected: {
28
+ en: {
29
+ other: "{count} selected",
30
+ },
31
+ es: {
32
+ one: "{count} seleccionado",
33
+ other: "{count} seleccionados",
34
+ },
35
+ },
36
+ select: {
37
+ en: "Select",
38
+ es: "Seleccionar",
39
+ },
40
+ selectSubject: {
41
+ en: "Select {subjectNoun}",
42
+ es: "Seleccionar {subjectNoun}",
43
+ },
44
+ noResultsFor: {
45
+ en: "No results for “{searchValue}”",
46
+ es: "No hay resultados para “{searchValue}”",
47
+ },
48
+ noSubjectOptionsYet: {
49
+ en: "You don't have any {subjectNoun} yet",
50
+ es: "Aún no tienes {subjectNoun}",
51
+ },
52
+ noOptionsYet: {
53
+ en: "No options yet",
54
+ es: "Aún no hay opciones",
55
+ },
56
+ });
57
+
58
+ exports.filterPickerMessages = filterPickerMessages;
@@ -0,0 +1,56 @@
1
+ import { d as defineMessages } from './useAtlantisI18n-es.js';
2
+ import './AtlantisContext-es.js';
3
+
4
+ const filterPickerMessages = defineMessages({
5
+ search: {
6
+ en: "Search",
7
+ es: "Buscar",
8
+ },
9
+ searchSubject: {
10
+ en: "Search {subjectNoun}",
11
+ es: "Buscar {subjectNoun}",
12
+ },
13
+ clearSearch: {
14
+ en: "Clear search",
15
+ es: "Borrar búsqueda",
16
+ },
17
+ clear: {
18
+ en: "Clear",
19
+ es: "Borrar",
20
+ },
21
+ selectAll: {
22
+ en: "Select all",
23
+ es: "Seleccionar todo",
24
+ },
25
+ selected: {
26
+ en: {
27
+ other: "{count} selected",
28
+ },
29
+ es: {
30
+ one: "{count} seleccionado",
31
+ other: "{count} seleccionados",
32
+ },
33
+ },
34
+ select: {
35
+ en: "Select",
36
+ es: "Seleccionar",
37
+ },
38
+ selectSubject: {
39
+ en: "Select {subjectNoun}",
40
+ es: "Seleccionar {subjectNoun}",
41
+ },
42
+ noResultsFor: {
43
+ en: "No results for “{searchValue}”",
44
+ es: "No hay resultados para “{searchValue}”",
45
+ },
46
+ noSubjectOptionsYet: {
47
+ en: "You don't have any {subjectNoun} yet",
48
+ es: "Aún no tienes {subjectNoun}",
49
+ },
50
+ noOptionsYet: {
51
+ en: "No options yet",
52
+ es: "Aún no hay opciones",
53
+ },
54
+ });
55
+
56
+ export { filterPickerMessages as f };
@@ -4,27 +4,31 @@ var React = require('react');
4
4
  var Typography = require('./Typography-cjs.js');
5
5
  var Button = require('./Button-cjs.js');
6
6
  require('classnames');
7
+ var FilterPicker_messages = require('./FilterPicker.messages-cjs.js');
8
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
9
+ require('./AtlantisContext-cjs.js');
7
10
 
8
11
  var styles = {"header":"qsCrV9XnUYQ-","spinning":"cDKMYcrIogE-"};
9
12
 
10
13
  function FilterPickerContentHeader(props) {
14
+ const { plural, t } = useAtlantisI18n.useAtlantisI18n(FilterPicker_messages.filterPickerMessages);
11
15
  const hasSelected = props.selectedCount > 0;
12
- const actionLabel = hasSelected ? "Clear" : "Select all";
13
- const label = getLabel(hasSelected, props.selectedCount, props.subjectNoun);
16
+ const actionLabel = hasSelected ? t("clear") : t("selectAll");
17
+ const label = getLabel(props, { plural, t });
14
18
  const handleSelectAll = hasSelected ? props.onClearAll : props.onSelectAll;
15
19
  const showAction = hasSelected || props.hasOptionsVisible;
16
20
  return (React.createElement("div", { className: styles.header, "data-testid": "ATL-FilterPicker-Header" },
17
21
  React.createElement(Typography.Typography, { textColor: "heading", fontWeight: "semiBold" }, label),
18
22
  showAction && (React.createElement(Button.Button, { size: "small", label: actionLabel, type: "tertiary", onClick: handleSelectAll }))));
19
23
  }
20
- function getLabel(hasSelected, count, subjectNoun) {
21
- if (hasSelected) {
22
- return `${count} selected`;
24
+ function getLabel(props, { plural, t }) {
25
+ if (props.selectedCount > 0) {
26
+ return plural("selected", props.selectedCount);
23
27
  }
24
- if (subjectNoun) {
25
- return `Select ${subjectNoun}`;
28
+ if (props.subjectNoun) {
29
+ return t("selectSubject", { subjectNoun: props.subjectNoun });
26
30
  }
27
- return "Select";
31
+ return t("select");
28
32
  }
29
33
 
30
34
  exports.FilterPickerContentHeader = FilterPickerContentHeader;
@@ -2,27 +2,31 @@ import React__default from 'react';
2
2
  import { T as Typography } from './Typography-es.js';
3
3
  import { B as Button } from './Button-es.js';
4
4
  import 'classnames';
5
+ import { f as filterPickerMessages } from './FilterPicker.messages-es.js';
6
+ import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
7
+ import './AtlantisContext-es.js';
5
8
 
6
9
  var styles = {"header":"qsCrV9XnUYQ-","spinning":"cDKMYcrIogE-"};
7
10
 
8
11
  function FilterPickerContentHeader(props) {
12
+ const { plural, t } = useAtlantisI18n(filterPickerMessages);
9
13
  const hasSelected = props.selectedCount > 0;
10
- const actionLabel = hasSelected ? "Clear" : "Select all";
11
- const label = getLabel(hasSelected, props.selectedCount, props.subjectNoun);
14
+ const actionLabel = hasSelected ? t("clear") : t("selectAll");
15
+ const label = getLabel(props, { plural, t });
12
16
  const handleSelectAll = hasSelected ? props.onClearAll : props.onSelectAll;
13
17
  const showAction = hasSelected || props.hasOptionsVisible;
14
18
  return (React__default.createElement("div", { className: styles.header, "data-testid": "ATL-FilterPicker-Header" },
15
19
  React__default.createElement(Typography, { textColor: "heading", fontWeight: "semiBold" }, label),
16
20
  showAction && (React__default.createElement(Button, { size: "small", label: actionLabel, type: "tertiary", onClick: handleSelectAll }))));
17
21
  }
18
- function getLabel(hasSelected, count, subjectNoun) {
19
- if (hasSelected) {
20
- return `${count} selected`;
22
+ function getLabel(props, { plural, t }) {
23
+ if (props.selectedCount > 0) {
24
+ return plural("selected", props.selectedCount);
21
25
  }
22
- if (subjectNoun) {
23
- return `Select ${subjectNoun}`;
26
+ if (props.subjectNoun) {
27
+ return t("selectSubject", { subjectNoun: props.subjectNoun });
24
28
  }
25
- return "Select";
29
+ return t("select");
26
30
  }
27
31
 
28
32
  export { FilterPickerContentHeader as F };
@@ -9,11 +9,15 @@ var Spinner = require('./Spinner-cjs.js');
9
9
  var AtlantisThemeContext = require('./AtlantisThemeContext-cjs.js');
10
10
  var FilterPickerOption = require('./FilterPickerOption-cjs.js');
11
11
  var FilterPickerLoadMore = require('./FilterPickerLoadMore-cjs.js');
12
+ var FilterPicker_messages = require('./FilterPicker.messages-cjs.js');
13
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
14
+ require('./AtlantisContext-cjs.js');
12
15
 
13
16
  var styles = {"container":"d-JzbXbz3vI-","optionsList":"_9sPZShzetbo-","filterMessage":"_7iUzJFaZYDs-","emptyStateMessage":"I3lJfMgm-Io-","scrollTop":"VNhhUhatkmw-","scrollNone":"w8LsXerWI7I-","scrollBottom":"-Bk1T-RD-tA-","loadingContainer":"czPVeCUK2Zc-","hasOptions":"_9IwiWJBxJxQ-","spinning":"BrOPnXbFiHU-"};
14
17
 
15
18
  function FilterPickerContentList(props) {
16
19
  const { tokens } = AtlantisThemeContext.useAtlantisTheme();
20
+ const { t } = useAtlantisI18n.useAtlantisI18n(FilterPicker_messages.filterPickerMessages);
17
21
  const optionsExist = props.options.length > 0;
18
22
  const hasSearchTerm = props.searchValue.length > 0;
19
23
  const { listScrollState } = useScrollState(props.optionsListRef, props.options);
@@ -29,17 +33,13 @@ function FilterPickerContentList(props) {
29
33
  props.loading && !optionsExist && (React.createElement(React.Fragment, null, Array.from({ length: 5 }).map((_, index) => (React.createElement("div", { className: styles.loadingContainer, key: index },
30
34
  React.createElement(Glimmer.Glimmer, { shape: "rectangle", size: "small" })))))),
31
35
  hasSearchTerm && !props.loading && !optionsExist && (React.createElement("div", { className: styles.filterMessage },
32
- React.createElement(Text.Text, { variation: "subdued" },
33
- "No results for ",
34
- `“${props.searchValue}”`))),
36
+ React.createElement(Text.Text, { variation: "subdued" }, t("noResultsFor", { searchValue: props.searchValue })))),
35
37
  !hasSearchTerm && !props.loading && !optionsExist && (React.createElement("div", { className: styles.emptyStateMessage },
36
- React.createElement(Text.Text, { variation: "subdued" }, getZeroIndexStateText(props.subjectNoun))))));
37
- }
38
- function getZeroIndexStateText(subjectNoun) {
39
- if (subjectNoun) {
40
- return `You don't have any ${subjectNoun} yet`;
41
- }
42
- return "No options yet";
38
+ React.createElement(Text.Text, { variation: "subdued" }, props.subjectNoun
39
+ ? t("noSubjectOptionsYet", {
40
+ subjectNoun: props.subjectNoun,
41
+ })
42
+ : t("noOptionsYet"))))));
43
43
  }
44
44
  function useScrollState(optionsListRef, options) {
45
45
  const [listScrollState, setlistScrollState] = React.useState("");
@@ -7,11 +7,15 @@ import { S as Spinner } from './Spinner-es.js';
7
7
  import { u as useAtlantisTheme } from './AtlantisThemeContext-es.js';
8
8
  import { F as FilterPickerOption } from './FilterPickerOption-es.js';
9
9
  import { F as FilterPickerLoadMore } from './FilterPickerLoadMore-es.js';
10
+ import { f as filterPickerMessages } from './FilterPicker.messages-es.js';
11
+ import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
12
+ import './AtlantisContext-es.js';
10
13
 
11
14
  var styles = {"container":"d-JzbXbz3vI-","optionsList":"_9sPZShzetbo-","filterMessage":"_7iUzJFaZYDs-","emptyStateMessage":"I3lJfMgm-Io-","scrollTop":"VNhhUhatkmw-","scrollNone":"w8LsXerWI7I-","scrollBottom":"-Bk1T-RD-tA-","loadingContainer":"czPVeCUK2Zc-","hasOptions":"_9IwiWJBxJxQ-","spinning":"BrOPnXbFiHU-"};
12
15
 
13
16
  function FilterPickerContentList(props) {
14
17
  const { tokens } = useAtlantisTheme();
18
+ const { t } = useAtlantisI18n(filterPickerMessages);
15
19
  const optionsExist = props.options.length > 0;
16
20
  const hasSearchTerm = props.searchValue.length > 0;
17
21
  const { listScrollState } = useScrollState(props.optionsListRef, props.options);
@@ -27,17 +31,13 @@ function FilterPickerContentList(props) {
27
31
  props.loading && !optionsExist && (React__default.createElement(React__default.Fragment, null, Array.from({ length: 5 }).map((_, index) => (React__default.createElement("div", { className: styles.loadingContainer, key: index },
28
32
  React__default.createElement(Glimmer, { shape: "rectangle", size: "small" })))))),
29
33
  hasSearchTerm && !props.loading && !optionsExist && (React__default.createElement("div", { className: styles.filterMessage },
30
- React__default.createElement(Text, { variation: "subdued" },
31
- "No results for ",
32
- `“${props.searchValue}”`))),
34
+ React__default.createElement(Text, { variation: "subdued" }, t("noResultsFor", { searchValue: props.searchValue })))),
33
35
  !hasSearchTerm && !props.loading && !optionsExist && (React__default.createElement("div", { className: styles.emptyStateMessage },
34
- React__default.createElement(Text, { variation: "subdued" }, getZeroIndexStateText(props.subjectNoun))))));
35
- }
36
- function getZeroIndexStateText(subjectNoun) {
37
- if (subjectNoun) {
38
- return `You don't have any ${subjectNoun} yet`;
39
- }
40
- return "No options yet";
36
+ React__default.createElement(Text, { variation: "subdued" }, props.subjectNoun
37
+ ? t("noSubjectOptionsYet", {
38
+ subjectNoun: props.subjectNoun,
39
+ })
40
+ : t("noOptionsYet"))))));
41
41
  }
42
42
  function useScrollState(optionsListRef, options) {
43
43
  const [listScrollState, setlistScrollState] = useState("");
@@ -2,11 +2,15 @@
2
2
 
3
3
  var React = require('react');
4
4
  var Icon = require('./Icon-cjs.js');
5
+ var FilterPicker_messages = require('./FilterPicker.messages-cjs.js');
6
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
7
+ require('./AtlantisContext-cjs.js');
5
8
 
6
9
  var styles = {"search":"_74R4ICUNw-M-","searchInput":"icUzhma-GJs-","clearSearch":"ePmiDYZ2boo-","spinning":"_-2bwJZqt-do-"};
7
10
 
8
11
  function FilterPickerContentSearch(props) {
9
12
  const searchRef = React.useRef(null);
13
+ const { t } = useAtlantisI18n.useAtlantisI18n(FilterPicker_messages.filterPickerMessages);
10
14
  React.useEffect(() => {
11
15
  if (props.open) {
12
16
  setTimeout(() => {
@@ -16,8 +20,10 @@ function FilterPickerContentSearch(props) {
16
20
  }
17
21
  }, [props.open]);
18
22
  return (React.createElement("div", { className: styles.search },
19
- React.createElement("input", { type: "search", ref: searchRef, className: styles.searchInput, placeholder: props.placeholder ? `Search ${props.placeholder}` : "Search", onChange: (event) => handleSearch(event), value: props.searchValue }),
20
- props.searchValue && (React.createElement("button", { className: styles.clearSearch, onClick: clearSearch, type: "button", "data-testid": "ATL-FilterPicker-Content-Search-Clear", "aria-label": "Clear search" },
23
+ React.createElement("input", { type: "search", ref: searchRef, className: styles.searchInput, placeholder: props.placeholder
24
+ ? t("searchSubject", { subjectNoun: props.placeholder })
25
+ : t("search"), onChange: (event) => handleSearch(event), value: props.searchValue }),
26
+ props.searchValue && (React.createElement("button", { className: styles.clearSearch, onClick: clearSearch, type: "button", "data-testid": "ATL-FilterPicker-Content-Search-Clear", "aria-label": t("clearSearch") },
21
27
  React.createElement(Icon.Icon, { name: "cross", size: "small" })))));
22
28
  function clearSearch() {
23
29
  var _a;
@@ -1,10 +1,14 @@
1
1
  import React__default, { useRef, useEffect } from 'react';
2
2
  import { I as Icon } from './Icon-es.js';
3
+ import { f as filterPickerMessages } from './FilterPicker.messages-es.js';
4
+ import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
5
+ import './AtlantisContext-es.js';
3
6
 
4
7
  var styles = {"search":"_74R4ICUNw-M-","searchInput":"icUzhma-GJs-","clearSearch":"ePmiDYZ2boo-","spinning":"_-2bwJZqt-do-"};
5
8
 
6
9
  function FilterPickerContentSearch(props) {
7
10
  const searchRef = useRef(null);
11
+ const { t } = useAtlantisI18n(filterPickerMessages);
8
12
  useEffect(() => {
9
13
  if (props.open) {
10
14
  setTimeout(() => {
@@ -14,8 +18,10 @@ function FilterPickerContentSearch(props) {
14
18
  }
15
19
  }, [props.open]);
16
20
  return (React__default.createElement("div", { className: styles.search },
17
- React__default.createElement("input", { type: "search", ref: searchRef, className: styles.searchInput, placeholder: props.placeholder ? `Search ${props.placeholder}` : "Search", onChange: (event) => handleSearch(event), value: props.searchValue }),
18
- props.searchValue && (React__default.createElement("button", { className: styles.clearSearch, onClick: clearSearch, type: "button", "data-testid": "ATL-FilterPicker-Content-Search-Clear", "aria-label": "Clear search" },
21
+ React__default.createElement("input", { type: "search", ref: searchRef, className: styles.searchInput, placeholder: props.placeholder
22
+ ? t("searchSubject", { subjectNoun: props.placeholder })
23
+ : t("search"), onChange: (event) => handleSearch(event), value: props.searchValue }),
24
+ props.searchValue && (React__default.createElement("button", { className: styles.clearSearch, onClick: clearSearch, type: "button", "data-testid": "ATL-FilterPicker-Content-Search-Clear", "aria-label": t("clearSearch") },
19
25
  React__default.createElement(Icon, { name: "cross", size: "small" })))));
20
26
  function clearSearch() {
21
27
  var _a;
@@ -5,12 +5,17 @@ var Chip = require('./Chip-cjs.js');
5
5
  require('./tslib.es6-cjs.js');
6
6
  var Icon = require('./Icon-cjs.js');
7
7
  var FilterPickerProvider = require('./FilterPickerProvider-cjs.js');
8
+ var FilterPicker_messages = require('./FilterPicker.messages-cjs.js');
9
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
10
+ require('./AtlantisContext-cjs.js');
8
11
 
9
- function FilterPickerTrigger({ label = "Select", selected, activatorRef, }) {
12
+ function FilterPickerTrigger({ label, selected, activatorRef, }) {
10
13
  const { handleOpen } = React.useContext(FilterPickerProvider.FilterPickerContext);
14
+ const { t } = useAtlantisI18n.useAtlantisI18n(FilterPicker_messages.filterPickerMessages);
15
+ const localizedLabel = label !== null && label !== void 0 ? label : t("select");
11
16
  const hasSelection = selected.length;
12
17
  const selectedLabel = selected.map(option => option.label).join(", ");
13
- return (React.createElement(Chip.Chip, { variation: hasSelection ? "base" : "subtle", label: hasSelection ? selectedLabel : "", ariaLabel: label, heading: label, onClick: handleOpen, role: "combobox", ref: activatorRef }, !hasSelection && (React.createElement(Chip.Chip.Suffix, null,
18
+ return (React.createElement(Chip.Chip, { variation: hasSelection ? "base" : "subtle", label: hasSelection ? selectedLabel : "", ariaLabel: localizedLabel, heading: localizedLabel, onClick: handleOpen, role: "combobox", ref: activatorRef }, !hasSelection && (React.createElement(Chip.Chip.Suffix, null,
14
19
  React.createElement(Icon.Icon, { name: "add", size: "small" })))));
15
20
  }
16
21
 
@@ -3,12 +3,17 @@ import { C as Chip } from './Chip-es.js';
3
3
  import './tslib.es6-es.js';
4
4
  import { I as Icon } from './Icon-es.js';
5
5
  import { a as FilterPickerContext } from './FilterPickerProvider-es.js';
6
+ import { f as filterPickerMessages } from './FilterPicker.messages-es.js';
7
+ import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
8
+ import './AtlantisContext-es.js';
6
9
 
7
- function FilterPickerTrigger({ label = "Select", selected, activatorRef, }) {
10
+ function FilterPickerTrigger({ label, selected, activatorRef, }) {
8
11
  const { handleOpen } = React__default.useContext(FilterPickerContext);
12
+ const { t } = useAtlantisI18n(filterPickerMessages);
13
+ const localizedLabel = label !== null && label !== void 0 ? label : t("select");
9
14
  const hasSelection = selected.length;
10
15
  const selectedLabel = selected.map(option => option.label).join(", ");
11
- return (React__default.createElement(Chip, { variation: hasSelection ? "base" : "subtle", label: hasSelection ? selectedLabel : "", ariaLabel: label, heading: label, onClick: handleOpen, role: "combobox", ref: activatorRef }, !hasSelection && (React__default.createElement(Chip.Suffix, null,
16
+ return (React__default.createElement(Chip, { variation: hasSelection ? "base" : "subtle", label: hasSelection ? selectedLabel : "", ariaLabel: localizedLabel, heading: localizedLabel, onClick: handleOpen, role: "combobox", ref: activatorRef }, !hasSelection && (React__default.createElement(Chip.Suffix, null,
12
17
  React__default.createElement(Icon, { name: "add", size: "small" })))));
13
18
  }
14
19
 
@@ -9,6 +9,7 @@ require('classnames');
9
9
  require('../floating-ui.react-cjs.js');
10
10
  require('react/jsx-runtime');
11
11
  require('react-dom');
12
+ require('../dateLocale-cjs.js');
12
13
  require('@jobber/hooks');
13
14
  require('../Typography-cjs.js');
14
15
  require('../Button-cjs.js');
@@ -7,6 +7,7 @@ import 'classnames';
7
7
  import '../floating-ui.react-es.js';
8
8
  import 'react/jsx-runtime';
9
9
  import 'react-dom';
10
+ import '../dateLocale-es.js';
10
11
  import '@jobber/hooks';
11
12
  import '../Typography-es.js';
12
13
  import '../Button-es.js';
@@ -3,8 +3,8 @@
3
3
  var React = require('react');
4
4
  var classnames = require('classnames');
5
5
  var common_messages = require('./common.messages-cjs.js');
6
- var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
7
6
  require('./AtlantisContext-cjs.js');
7
+ var useAtlantisI18n = require('./useAtlantisI18n-cjs.js');
8
8
 
9
9
  var styles = {"spinner":"_6hfmGZoXNyg-","animationSpin":"aT3CETCJ4hQ-","small":"bMfynkzmlL4-","inline":"NA68eWblbLo-","spinning":"aCBq1WrkI4M-"};
10
10
 
@@ -1,8 +1,8 @@
1
1
  import React__default from 'react';
2
2
  import classnames from 'classnames';
3
3
  import { c as commonMessages } from './common.messages-es.js';
4
- import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
5
4
  import './AtlantisContext-es.js';
5
+ import { u as useAtlantisI18n } from './useAtlantisI18n-es.js';
6
6
 
7
7
  var styles = {"spinner":"_6hfmGZoXNyg-","animationSpin":"aT3CETCJ4hQ-","small":"bMfynkzmlL4-","inline":"NA68eWblbLo-","spinning":"aCBq1WrkI4M-"};
8
8