@digigov/ui 0.26.7 → 0.27.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.
Files changed (155) hide show
  1. package/CHANGELOG.md +16 -1
  2. package/admin/AutoComplete/__stories__/Default.js +2 -2
  3. package/admin/AutoComplete/__stories__/WithAutoSelect.js +2 -2
  4. package/admin/AutoComplete/__stories__/WithDefaultValue.js +2 -2
  5. package/admin/AutoComplete/__stories__/WithInLine.js +2 -2
  6. package/admin/AutoComplete/__stories__/WithMinLength.js +2 -2
  7. package/admin/AutoComplete/__stories__/WithPlaceHolder.js +2 -2
  8. package/admin/AutoComplete/__stories__/WithShowAllValues.js +2 -2
  9. package/admin/AutoComplete/__stories__/utils.d.ts +0 -2
  10. package/admin/AutoComplete/__stories__/utils.js +1 -15
  11. package/admin/AutoComplete/index.mdx +0 -1
  12. package/admin/AutoComplete/utils.d.ts +2 -0
  13. package/admin/AutoComplete/utils.js +15 -2
  14. package/admin/Modal/__stories__/AlertDialog.js +11 -24
  15. package/admin/Modal/__stories__/Default.js +7 -26
  16. package/admin/Modal/index.d.ts +13 -1
  17. package/admin/Modal/index.js +104 -3
  18. package/core/Breadcrumbs/Breadcrumbs.stories.playwright.json +2 -2
  19. package/core/Breadcrumbs/__stories__/Default.js +1 -1
  20. package/core/Button/Button.stories.d.ts +1 -0
  21. package/core/Button/Button.stories.js +14 -0
  22. package/core/Button/Button.stories.playwright.json +22 -0
  23. package/core/Button/ThemeToggleButton.d.ts +4 -0
  24. package/core/Button/ThemeToggleButton.js +54 -0
  25. package/core/Button/__stories__/ThemeToggle.d.ts +2 -0
  26. package/core/Button/__stories__/ThemeToggle.js +22 -0
  27. package/core/Button/index.d.ts +1 -0
  28. package/core/Button/index.js +14 -0
  29. package/core/Link/Link.stories.d.ts +6 -5
  30. package/core/Link/Link.stories.js +19 -5
  31. package/core/Link/__stories__/ExternalLink.d.ts +2 -0
  32. package/core/Link/__stories__/ExternalLink.js +28 -0
  33. package/core/SummaryList/SummaryList.stories.d.ts +1 -0
  34. package/core/SummaryList/SummaryList.stories.js +14 -0
  35. package/core/SummaryList/__stories__/RowVariations.d.ts +2 -0
  36. package/core/SummaryList/__stories__/RowVariations.js +58 -0
  37. package/core/Table/Table.stories.d.ts +1 -0
  38. package/core/Table/Table.stories.js +14 -0
  39. package/core/Table/__stories__/DarkVariant.js +3 -3
  40. package/core/Table/__stories__/DarkVariantWithVerticalHeaders.js +3 -3
  41. package/core/Table/__stories__/Default.js +2 -2
  42. package/core/Table/__stories__/DefinedWidth.js +5 -5
  43. package/core/Table/__stories__/Densed.js +4 -4
  44. package/core/Table/__stories__/Full.d.ts +2 -0
  45. package/core/Table/__stories__/Full.js +27 -0
  46. package/core/Table/__stories__/MultipleProps.js +18 -18
  47. package/core/Table/__stories__/NoData.js +2 -2
  48. package/core/Table/__stories__/NumericDataType.js +13 -13
  49. package/core/Table/__stories__/TableCaptions.js +5 -5
  50. package/core/Table/__stories__/VerticalBorders.js +3 -3
  51. package/core/Table/__stories__/VerticalHeaders.js +2 -2
  52. package/core/Table/__stories__/WithFloatingScroll.js +21 -19
  53. package/core/Table/__stories__/WithLoader.js +10 -8
  54. package/core/Table/__stories__/ZebraProp.js +3 -3
  55. package/core/Table/index.mdx +10 -1
  56. package/es/admin/AutoComplete/__stories__/Default.js +1 -1
  57. package/es/admin/AutoComplete/__stories__/WithAutoSelect.js +1 -1
  58. package/es/admin/AutoComplete/__stories__/WithDefaultValue.js +1 -1
  59. package/es/admin/AutoComplete/__stories__/WithInLine.js +1 -1
  60. package/es/admin/AutoComplete/__stories__/WithMinLength.js +1 -1
  61. package/es/admin/AutoComplete/__stories__/WithPlaceHolder.js +1 -1
  62. package/es/admin/AutoComplete/__stories__/WithShowAllValues.js +1 -1
  63. package/es/admin/AutoComplete/__stories__/utils.js +0 -6
  64. package/es/admin/AutoComplete/index.mdx +0 -1
  65. package/es/admin/AutoComplete/utils.js +10 -1
  66. package/es/admin/Modal/__stories__/AlertDialog.js +13 -26
  67. package/es/admin/Modal/__stories__/Default.js +10 -29
  68. package/es/admin/Modal/index.js +83 -1
  69. package/es/core/Breadcrumbs/Breadcrumbs.stories.playwright.json +2 -2
  70. package/es/core/Breadcrumbs/__stories__/Default.js +1 -1
  71. package/es/core/Button/Button.stories.js +2 -1
  72. package/es/core/Button/Button.stories.playwright.json +22 -0
  73. package/es/core/Button/ThemeToggleButton.js +33 -0
  74. package/es/core/Button/__stories__/ThemeToggle.js +9 -0
  75. package/es/core/Button/index.js +1 -0
  76. package/es/core/Link/Link.stories.js +7 -6
  77. package/es/core/Link/__stories__/ExternalLink.js +14 -0
  78. package/es/core/SummaryList/SummaryList.stories.js +2 -1
  79. package/es/core/SummaryList/__stories__/RowVariations.js +37 -0
  80. package/es/core/Table/Table.stories.js +2 -1
  81. package/es/core/Table/__stories__/DarkVariant.js +1 -1
  82. package/es/core/Table/__stories__/DarkVariantWithVerticalHeaders.js +1 -1
  83. package/es/core/Table/__stories__/Default.js +1 -1
  84. package/es/core/Table/__stories__/DefinedWidth.js +1 -1
  85. package/es/core/Table/__stories__/Densed.js +1 -1
  86. package/es/core/Table/__stories__/Full.js +14 -0
  87. package/es/core/Table/__stories__/MultipleProps.js +1 -1
  88. package/es/core/Table/__stories__/NoData.js +1 -1
  89. package/es/core/Table/__stories__/NumericDataType.js +1 -1
  90. package/es/core/Table/__stories__/TableCaptions.js +1 -1
  91. package/es/core/Table/__stories__/VerticalBorders.js +1 -1
  92. package/es/core/Table/__stories__/VerticalHeaders.js +1 -1
  93. package/es/core/Table/__stories__/WithFloatingScroll.js +2 -1
  94. package/es/core/Table/__stories__/WithLoader.js +2 -1
  95. package/es/core/Table/__stories__/ZebraProp.js +1 -1
  96. package/es/core/Table/index.mdx +10 -1
  97. package/es/govgr/images/govgr-logo-blue-base64.js +1 -0
  98. package/es/govgr/images/index.js +1 -0
  99. package/es/hooks/useKeypress.js +20 -0
  100. package/es/registry.js +6 -0
  101. package/esm/admin/AutoComplete/__stories__/Default.js +1 -1
  102. package/esm/admin/AutoComplete/__stories__/WithAutoSelect.js +1 -1
  103. package/esm/admin/AutoComplete/__stories__/WithDefaultValue.js +1 -1
  104. package/esm/admin/AutoComplete/__stories__/WithInLine.js +1 -1
  105. package/esm/admin/AutoComplete/__stories__/WithMinLength.js +1 -1
  106. package/esm/admin/AutoComplete/__stories__/WithPlaceHolder.js +1 -1
  107. package/esm/admin/AutoComplete/__stories__/WithShowAllValues.js +1 -1
  108. package/esm/admin/AutoComplete/__stories__/utils.js +0 -6
  109. package/esm/admin/AutoComplete/index.mdx +0 -1
  110. package/esm/admin/AutoComplete/utils.js +10 -1
  111. package/esm/admin/Modal/__stories__/AlertDialog.js +13 -26
  112. package/esm/admin/Modal/__stories__/Default.js +10 -29
  113. package/esm/admin/Modal/index.js +83 -1
  114. package/esm/core/Breadcrumbs/Breadcrumbs.stories.playwright.json +2 -2
  115. package/esm/core/Breadcrumbs/__stories__/Default.js +1 -1
  116. package/esm/core/Button/Button.stories.js +2 -1
  117. package/esm/core/Button/Button.stories.playwright.json +22 -0
  118. package/esm/core/Button/ThemeToggleButton.js +33 -0
  119. package/esm/core/Button/__stories__/ThemeToggle.js +9 -0
  120. package/esm/core/Button/index.js +1 -0
  121. package/esm/core/Link/Link.stories.js +7 -6
  122. package/esm/core/Link/__stories__/ExternalLink.js +14 -0
  123. package/esm/core/SummaryList/SummaryList.stories.js +2 -1
  124. package/esm/core/SummaryList/__stories__/RowVariations.js +37 -0
  125. package/esm/core/Table/Table.stories.js +2 -1
  126. package/esm/core/Table/__stories__/DarkVariant.js +1 -1
  127. package/esm/core/Table/__stories__/DarkVariantWithVerticalHeaders.js +1 -1
  128. package/esm/core/Table/__stories__/Default.js +1 -1
  129. package/esm/core/Table/__stories__/DefinedWidth.js +1 -1
  130. package/esm/core/Table/__stories__/Densed.js +1 -1
  131. package/esm/core/Table/__stories__/Full.js +14 -0
  132. package/esm/core/Table/__stories__/MultipleProps.js +1 -1
  133. package/esm/core/Table/__stories__/NoData.js +1 -1
  134. package/esm/core/Table/__stories__/NumericDataType.js +1 -1
  135. package/esm/core/Table/__stories__/TableCaptions.js +1 -1
  136. package/esm/core/Table/__stories__/VerticalBorders.js +1 -1
  137. package/esm/core/Table/__stories__/VerticalHeaders.js +1 -1
  138. package/esm/core/Table/__stories__/WithFloatingScroll.js +2 -1
  139. package/esm/core/Table/__stories__/WithLoader.js +2 -1
  140. package/esm/core/Table/__stories__/ZebraProp.js +1 -1
  141. package/esm/core/Table/index.mdx +10 -1
  142. package/esm/govgr/images/govgr-logo-blue-base64.js +1 -0
  143. package/esm/govgr/images/index.js +1 -0
  144. package/esm/hooks/useKeypress.js +20 -0
  145. package/esm/index.js +1 -1
  146. package/esm/registry.js +6 -0
  147. package/govgr/images/govgr-logo-blue-base64.d.ts +2 -0
  148. package/govgr/images/govgr-logo-blue-base64.js +8 -0
  149. package/govgr/images/index.d.ts +1 -0
  150. package/govgr/images/index.js +13 -0
  151. package/hooks/useKeypress.d.ts +2 -0
  152. package/hooks/useKeypress.js +31 -0
  153. package/package.json +3 -3
  154. package/registry.d.ts +3 -0
  155. package/registry.js +9 -0
package/CHANGELOG.md CHANGED
@@ -1,6 +1,21 @@
1
1
  # Change Log - @digigov/ui
2
2
 
3
- This log was last generated on Fri, 30 Sep 2022 10:47:58 GMT and should not be manually modified.
3
+ This log was last generated on Fri, 14 Oct 2022 14:14:00 GMT and should not be manually modified.
4
+
5
+ ## 0.27.0
6
+ Fri, 14 Oct 2022 14:14:00 GMT
7
+
8
+ ### Minor changes
9
+
10
+ - update storybook example for Breadcrumb
11
+ - Add ThemeToggleButton component
12
+
13
+ ### Patches
14
+
15
+ - Hide buttons by default on print. Add inverted logo at govgr/images. Add extra stories at some components.
16
+ - Add SummaryList story with row variations
17
+ - add keyboard logic for modal component
18
+ - Move Autocomplete stories utils to Autocomplete utils for simpler library integration in the Storybook examples
4
19
 
5
20
  ## 0.26.7
6
21
  Fri, 30 Sep 2022 10:47:58 GMT
@@ -13,10 +13,10 @@ var _AutoComplete = _interopRequireDefault(require("@digigov/ui/admin/AutoComple
13
13
 
14
14
  var _Field = _interopRequireDefault(require("@digigov/ui/core/Field"));
15
15
 
16
- var _utils = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/__stories__/utils"));
16
+ var _utils = require("@digigov/ui/admin/AutoComplete/utils");
17
17
 
18
18
  var _ref = /*#__PURE__*/_react["default"].createElement(_Field["default"], null, /*#__PURE__*/_react["default"].createElement(_AutoComplete["default"], {
19
- source: _utils["default"],
19
+ source: _utils.suggest,
20
20
  cellWidth: "one-third",
21
21
  id: "govgr"
22
22
  }));
@@ -13,7 +13,7 @@ var _AutoComplete = _interopRequireDefault(require("@digigov/ui/admin/AutoComple
13
13
 
14
14
  var _Field = _interopRequireDefault(require("@digigov/ui/core/Field"));
15
15
 
16
- var _utils = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/__stories__/utils"));
16
+ var _utils = require("@digigov/ui/admin/AutoComplete/utils");
17
17
 
18
18
  var _ref = /*#__PURE__*/_react["default"].createElement("div", {
19
19
  className: "govgr-btn govgr-btn-primary"
@@ -21,7 +21,7 @@ var _ref = /*#__PURE__*/_react["default"].createElement("div", {
21
21
 
22
22
  var WithAutoSelect = function WithAutoSelect() {
23
23
  return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Field["default"], null, /*#__PURE__*/_react["default"].createElement(_AutoComplete["default"], {
24
- source: _utils["default"],
24
+ source: _utils.suggest,
25
25
  autoselect: true,
26
26
  id: "govgr" // tStatusResults={(x, y) => {
27
27
  // return `Results x: ${x} y: ${y}`;
@@ -13,10 +13,10 @@ var _AutoComplete = _interopRequireDefault(require("@digigov/ui/admin/AutoComple
13
13
 
14
14
  var _Field = _interopRequireDefault(require("@digigov/ui/core/Field"));
15
15
 
16
- var _utils = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/__stories__/utils"));
16
+ var _utils = require("@digigov/ui/admin/AutoComplete/utils");
17
17
 
18
18
  var _ref = /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Field["default"], null, /*#__PURE__*/_react["default"].createElement(_AutoComplete["default"], {
19
- source: _utils["default"],
19
+ source: _utils.suggest,
20
20
  autoselect: true,
21
21
  defaultValue: "Germany",
22
22
  id: "govgr"
@@ -13,10 +13,10 @@ var _AutoComplete = _interopRequireDefault(require("@digigov/ui/admin/AutoComple
13
13
 
14
14
  var _Field = _interopRequireDefault(require("@digigov/ui/core/Field"));
15
15
 
16
- var _utils = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/__stories__/utils"));
16
+ var _utils = require("@digigov/ui/admin/AutoComplete/utils");
17
17
 
18
18
  var _ref = /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Field["default"], null, /*#__PURE__*/_react["default"].createElement(_AutoComplete["default"], {
19
- source: _utils["default"],
19
+ source: _utils.suggest,
20
20
  autoselect: true,
21
21
  displayMenu: "inline",
22
22
  id: "govgr"
@@ -15,10 +15,10 @@ var _Field = _interopRequireDefault(require("@digigov/ui/core/Field"));
15
15
 
16
16
  var _Paragraph = _interopRequireDefault(require("@digigov/ui/typography/Paragraph"));
17
17
 
18
- var _utils = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/__stories__/utils"));
18
+ var _utils = require("@digigov/ui/admin/AutoComplete/utils");
19
19
 
20
20
  var _ref = /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Paragraph["default"], null, "This is the minimum number of characters that should be entered before the autocomplete will attempt to suggest options(in above example is 2)"), /*#__PURE__*/_react["default"].createElement(_Field["default"], null, /*#__PURE__*/_react["default"].createElement(_AutoComplete["default"], {
21
- source: _utils["default"],
21
+ source: _utils.suggest,
22
22
  autoselect: true,
23
23
  minLength: 2,
24
24
  id: "govgr"
@@ -13,10 +13,10 @@ var _AutoComplete = _interopRequireDefault(require("@digigov/ui/admin/AutoComple
13
13
 
14
14
  var _Field = _interopRequireDefault(require("@digigov/ui/core/Field"));
15
15
 
16
- var _utils = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/__stories__/utils"));
16
+ var _utils = require("@digigov/ui/admin/AutoComplete/utils");
17
17
 
18
18
  var _ref = /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Field["default"], null, /*#__PURE__*/_react["default"].createElement(_AutoComplete["default"], {
19
- source: _utils["default"],
19
+ source: _utils.suggest,
20
20
  autoselect: true,
21
21
  placeholder: "Search for a country",
22
22
  id: "govgr"
@@ -13,10 +13,10 @@ var _AutoComplete = _interopRequireDefault(require("@digigov/ui/admin/AutoComple
13
13
 
14
14
  var _Field = _interopRequireDefault(require("@digigov/ui/core/Field"));
15
15
 
16
- var _utils = _interopRequireDefault(require("@digigov/ui/admin/AutoComplete/__stories__/utils"));
16
+ var _utils = require("@digigov/ui/admin/AutoComplete/utils");
17
17
 
18
18
  var _ref = /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_Field["default"], null, /*#__PURE__*/_react["default"].createElement(_AutoComplete["default"], {
19
- source: _utils["default"],
19
+ source: _utils.suggest,
20
20
  autoselect: true,
21
21
  showAllValues: true,
22
22
  id: "govgr"
@@ -1,2 +0,0 @@
1
- export declare const results: string[];
2
- export default function suggest(query: string, syncResults: (options: string[]) => void): void;
@@ -1,15 +1 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = suggest;
7
- exports.results = void 0;
8
- var results = ['Afghanistan', 'Akrotiri', 'Albania', 'Algeria', 'American Samoa', 'Andorra', 'Angola', 'Anguilla', 'Antarctica', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Ashmore and Cartier Islands', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas, The', 'Bahrain', 'Bangladesh', 'Barbados', 'Bassas da India', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Bouvet Island', 'Brazil', 'British Indian Ocean Territory', 'British Virgin Islands', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burma', 'Burundi', 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', 'China', 'Christmas Island', 'Clipperton Island', 'Cocos (Keeling) Islands', 'Colombia', 'Comoros', 'Congo', 'Cook Islands', 'Coral Sea Islands', 'Costa Rica', "Cote d'Ivoire", 'Croatia', 'Cuba', 'Cyprus', 'Czech Republic', 'Denmark', 'Dhekelia', 'Djibouti', 'Dominica', 'Dominican Republic', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Ethiopia', 'Europa Island', 'Falkland Islands', 'Faroe Islands', 'Fiji', 'Finland', 'France', 'French Guiana', 'French Polynesia', 'French Southern and Antarctic Lands', 'Gabon', 'Gambia,', 'Gaza Strip', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Glorioso Islands', 'Greece', 'Greenland', 'Grenada', 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Heard Island and McDonald Islands', 'Holy See (Vatican City)', 'Honduras', 'Hong Kong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Isle of Man', 'Israel', 'Italy', 'Jamaica', 'Jan Mayen', 'Japan', 'Jersey', 'Jordan', 'Juan de Nova Island', 'Kazakhstan', 'Kenya', 'Kiribati', 'Korea, North', 'Korea, South', 'Kuwait', 'Kyrgyzstan', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macau', 'Macedonia', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Martinique', 'Mauritania', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia, Federated States of', 'Moldova', 'Monaco', 'Mongolia', 'Montserrat', 'Morocco', 'Mozambique', 'Namibia', 'Nauru', 'Navassa Island', 'Nepal', 'Netherlands', 'Netherlands Antilles', 'New Caledonia', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk Island', 'Northern Mariana Islands', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Panama', 'Papua New Guinea', 'Paracel Islands', 'Paraguay', 'Peru', 'Philippines', 'Pitcairn Islands', 'Poland', 'Portugal', 'Puerto Rico', 'Qatar', 'Reunion', 'Romania', 'Russia', 'Rwanda', 'Saint Helena', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Pierre and Miquelon', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia and Montenegro', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Georgia and the South Sandwich Islands', 'Spain', 'Spratly Islands', 'Sri Lanka', 'Sudan', 'Suriname', 'Svalbard', 'Swaziland', 'Sweden', 'Switzerland', 'Syria', 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', 'Timor-Leste', 'Togo', 'Tokelau', 'Tonga', 'Trinidad and Tobago', 'Tromelin Island', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos Islands', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Venezuela', 'Vietnam', 'Virgin Islands', 'Wake Island', 'Wallis and Futuna', 'West Bank', 'Western Sahara', 'Yemen', 'Zambia', 'Zimbabwe'];
9
- exports.results = results;
10
-
11
- function suggest(query, syncResults) {
12
- syncResults(query ? results.filter(function (result) {
13
- return result.toLowerCase().indexOf(query.toLowerCase()) !== -1;
14
- }) : []);
15
- }
1
+ "use strict";
@@ -3,7 +3,6 @@ id: autocomplete
3
3
  title: AutoComplete
4
4
  ---
5
5
 
6
-
7
6
  Autocomplete is a feature in which an input field suggests a word based on user input. This allows users to quickly search
8
7
  through, select from large collections of options and help services get more consistent data.
9
8
 
@@ -7,3 +7,5 @@ export declare const keyCodes: {
7
7
  };
8
8
  export declare function isIosDevice(): boolean | undefined;
9
9
  export declare function isPrintableKeyCode(keyCode: number): boolean;
10
+ export declare const results: string[];
11
+ export declare function suggest(query: string, syncResults: (options: string[]) => void): void;
@@ -5,7 +5,8 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.isIosDevice = isIosDevice;
7
7
  exports.isPrintableKeyCode = isPrintableKeyCode;
8
- exports.keyCodes = void 0;
8
+ exports.results = exports.keyCodes = void 0;
9
+ exports.suggest = suggest;
9
10
  var keyCodes = {
10
11
  13: 'enter',
11
12
  27: 'escape',
@@ -27,4 +28,16 @@ function isPrintableKeyCode(keyCode) {
27
28
  keyCode > 185 && keyCode < 193 || // ;=,-./` (in order)
28
29
  keyCode > 218 && keyCode < 223 // [\]' (in order)
29
30
  ;
30
- }
31
+ }
32
+ /* Helper Utils for __stories__ */
33
+
34
+
35
+ var results = ['Afghanistan', 'Akrotiri', 'Albania', 'Algeria', 'American Samoa', 'Andorra', 'Angola', 'Anguilla', 'Antarctica', 'Antigua and Barbuda', 'Argentina', 'Armenia', 'Aruba', 'Ashmore and Cartier Islands', 'Australia', 'Austria', 'Azerbaijan', 'Bahamas, The', 'Bahrain', 'Bangladesh', 'Barbados', 'Bassas da India', 'Belarus', 'Belgium', 'Belize', 'Benin', 'Bermuda', 'Bhutan', 'Bolivia', 'Bosnia and Herzegovina', 'Botswana', 'Bouvet Island', 'Brazil', 'British Indian Ocean Territory', 'British Virgin Islands', 'Brunei', 'Bulgaria', 'Burkina Faso', 'Burma', 'Burundi', 'Cambodia', 'Cameroon', 'Canada', 'Cape Verde', 'Cayman Islands', 'Central African Republic', 'Chad', 'Chile', 'China', 'Christmas Island', 'Clipperton Island', 'Cocos (Keeling) Islands', 'Colombia', 'Comoros', 'Congo', 'Cook Islands', 'Coral Sea Islands', 'Costa Rica', "Cote d'Ivoire", 'Croatia', 'Cuba', 'Cyprus', 'Czech Republic', 'Denmark', 'Dhekelia', 'Djibouti', 'Dominica', 'Dominican Republic', 'Ecuador', 'Egypt', 'El Salvador', 'Equatorial Guinea', 'Eritrea', 'Estonia', 'Ethiopia', 'Europa Island', 'Falkland Islands', 'Faroe Islands', 'Fiji', 'Finland', 'France', 'French Guiana', 'French Polynesia', 'French Southern and Antarctic Lands', 'Gabon', 'Gambia,', 'Gaza Strip', 'Georgia', 'Germany', 'Ghana', 'Gibraltar', 'Glorioso Islands', 'Greece', 'Greenland', 'Grenada', 'Guadeloupe', 'Guam', 'Guatemala', 'Guernsey', 'Guinea', 'Guinea-Bissau', 'Guyana', 'Haiti', 'Heard Island and McDonald Islands', 'Holy See (Vatican City)', 'Honduras', 'Hong Kong', 'Hungary', 'Iceland', 'India', 'Indonesia', 'Iran', 'Iraq', 'Ireland', 'Isle of Man', 'Israel', 'Italy', 'Jamaica', 'Jan Mayen', 'Japan', 'Jersey', 'Jordan', 'Juan de Nova Island', 'Kazakhstan', 'Kenya', 'Kiribati', 'Korea, North', 'Korea, South', 'Kuwait', 'Kyrgyzstan', 'Laos', 'Latvia', 'Lebanon', 'Lesotho', 'Liberia', 'Libya', 'Liechtenstein', 'Lithuania', 'Luxembourg', 'Macau', 'Macedonia', 'Madagascar', 'Malawi', 'Malaysia', 'Maldives', 'Mali', 'Malta', 'Marshall Islands', 'Martinique', 'Mauritania', 'Mauritius', 'Mayotte', 'Mexico', 'Micronesia, Federated States of', 'Moldova', 'Monaco', 'Mongolia', 'Montserrat', 'Morocco', 'Mozambique', 'Namibia', 'Nauru', 'Navassa Island', 'Nepal', 'Netherlands', 'Netherlands Antilles', 'New Caledonia', 'New Zealand', 'Nicaragua', 'Niger', 'Nigeria', 'Niue', 'Norfolk Island', 'Northern Mariana Islands', 'Norway', 'Oman', 'Pakistan', 'Palau', 'Panama', 'Papua New Guinea', 'Paracel Islands', 'Paraguay', 'Peru', 'Philippines', 'Pitcairn Islands', 'Poland', 'Portugal', 'Puerto Rico', 'Qatar', 'Reunion', 'Romania', 'Russia', 'Rwanda', 'Saint Helena', 'Saint Kitts and Nevis', 'Saint Lucia', 'Saint Pierre and Miquelon', 'Saint Vincent and the Grenadines', 'Samoa', 'San Marino', 'Sao Tome and Principe', 'Saudi Arabia', 'Senegal', 'Serbia and Montenegro', 'Seychelles', 'Sierra Leone', 'Singapore', 'Slovakia', 'Slovenia', 'Solomon Islands', 'Somalia', 'South Africa', 'South Georgia and the South Sandwich Islands', 'Spain', 'Spratly Islands', 'Sri Lanka', 'Sudan', 'Suriname', 'Svalbard', 'Swaziland', 'Sweden', 'Switzerland', 'Syria', 'Taiwan', 'Tajikistan', 'Tanzania', 'Thailand', 'Timor-Leste', 'Togo', 'Tokelau', 'Tonga', 'Trinidad and Tobago', 'Tromelin Island', 'Tunisia', 'Turkey', 'Turkmenistan', 'Turks and Caicos Islands', 'Tuvalu', 'Uganda', 'Ukraine', 'United Arab Emirates', 'United Kingdom', 'United States', 'Uruguay', 'Uzbekistan', 'Vanuatu', 'Venezuela', 'Vietnam', 'Virgin Islands', 'Wake Island', 'Wallis and Futuna', 'West Bank', 'Western Sahara', 'Yemen', 'Zambia', 'Zimbabwe'];
36
+ exports.results = results;
37
+
38
+ function suggest(query, syncResults) {
39
+ syncResults(query ? results.filter(function (result) {
40
+ return result.toLowerCase().indexOf(query.toLowerCase()) !== -1;
41
+ }) : []);
42
+ }
43
+ /* end Helpers Utils __stories__ */
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = exports.AlertDialog = void 0;
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _react = _interopRequireWildcard(require("react"));
14
+ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _Modal = _interopRequireWildcard(require("@digigov/ui/admin/Modal"));
17
17
 
@@ -23,22 +23,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
23
23
 
24
24
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
25
25
 
26
- function useModal() {
27
- var _useState = (0, _react.useState)(false),
28
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
29
- open = _useState2[0],
30
- setOpen = _useState2[1];
31
-
32
- function toggleModal() {
33
- setOpen(!open);
34
- }
35
-
36
- return {
37
- open: open,
38
- toggleModal: toggleModal
39
- };
40
- }
41
-
42
26
  var _ref = /*#__PURE__*/_react["default"].createElement(_Modal.ModalHeading, {
43
27
  id: "modal-label"
44
28
  }, "\u0395\u03C0\u03B9\u03B2\u03B5\u03B2\u03B1\u03AF\u03C9\u03C3\u03B7");
@@ -48,8 +32,8 @@ var _ref2 = /*#__PURE__*/_react["default"].createElement(_Modal.ModalContent, {
48
32
  }, /*#__PURE__*/_react["default"].createElement(_typography.Paragraph, null, "\u0395\u03AF\u03C3\u03C4\u03B5 \u03C3\u03AF\u03B3\u03BF\u03C5\u03C1\u03BF\u03B9 \u03CC\u03C4\u03B9 \u03B8\u03AD\u03BB\u03B5\u03C4\u03B5 \u03BD\u03B1 \u03B4\u03B9\u03B1\u03B3\u03C1\u03AC\u03C8\u03B5\u03C4\u03B5 \u03C4\u03B7\u03BD \u03B5\u03B3\u03B3\u03C1\u03B1\u03C6\u03AE;"));
49
33
 
50
34
  var AlertDialog = function AlertDialog() {
51
- var _useModal = useModal(),
52
- open = _useModal.open,
35
+ var _useModal = (0, _Modal.useModal)(),
36
+ modalProps = _useModal.modalProps,
53
37
  toggleModal = _useModal.toggleModal;
54
38
 
55
39
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
@@ -57,13 +41,16 @@ var AlertDialog = function AlertDialog() {
57
41
  onClick: function onClick() {
58
42
  return toggleModal();
59
43
  }
60
- }, "\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
61
- open: open,
44
+ }, "\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE"), /*#__PURE__*/_react["default"].createElement(_core.Button, {
45
+ color: "warning",
46
+ onClick: function onClick() {
47
+ return toggleModal();
48
+ }
49
+ }, "\u0394\u03B9\u03B1\u03B3\u03C1\u03B1\u03C6\u03AE"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], (0, _extends2["default"])({}, modalProps, {
62
50
  role: "alertdialog",
63
- "aria-modal": "true",
64
51
  "aria-labelledby": "modal-label",
65
52
  "aria-describedby": "modal-content"
66
- }, _ref, _ref2, /*#__PURE__*/_react["default"].createElement(_Modal.ModalAction, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
53
+ }), _ref, _ref2, /*#__PURE__*/_react["default"].createElement(_Modal.ModalAction, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
67
54
  onClick: function onClick() {
68
55
  return toggleModal();
69
56
  }
@@ -9,9 +9,9 @@ Object.defineProperty(exports, "__esModule", {
9
9
  });
10
10
  exports["default"] = exports.Default = void 0;
11
11
 
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
13
 
14
- var _react = _interopRequireWildcard(require("react"));
14
+ var _react = _interopRequireDefault(require("react"));
15
15
 
16
16
  var _Modal = _interopRequireWildcard(require("@digigov/ui/admin/Modal"));
17
17
 
@@ -25,22 +25,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
25
25
 
26
26
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
27
 
28
- function useModal() {
29
- var _useState = (0, _react.useState)(false),
30
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
31
- open = _useState2[0],
32
- setOpen = _useState2[1];
33
-
34
- function toggleModal() {
35
- setOpen(!open);
36
- }
37
-
38
- return {
39
- open: open,
40
- toggleModal: toggleModal
41
- };
42
- }
43
-
44
28
  var _ref = /*#__PURE__*/_react["default"].createElement(_Modal.ModalHeading, {
45
29
  id: "modal-label"
46
30
  }, "\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C4\u03B7\u03BB\u03B5\u03C6\u03CE\u03BD\u03BF\u03C5");
@@ -53,20 +37,17 @@ var _ref2 = /*#__PURE__*/_react["default"].createElement(_Modal.ModalContent, nu
53
37
  var _ref3 = /*#__PURE__*/_react["default"].createElement(_core.Button, null, "\u03A5\u03C0\u03BF\u03B2\u03BF\u03BB\u03AE");
54
38
 
55
39
  var Default = function Default() {
56
- var _useModal = useModal(),
57
- open = _useModal.open,
58
- toggleModal = _useModal.toggleModal;
40
+ var _useModal = (0, _Modal.useModal)(),
41
+ toggleModal = _useModal.toggleModal,
42
+ modalProps = _useModal.modalProps;
59
43
 
60
44
  return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_core.Button, {
61
45
  onClick: function onClick() {
62
46
  return toggleModal();
63
47
  }
64
- }, "\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C4\u03B7\u03BB\u03B5\u03C6\u03CE\u03BD\u03BF\u03C5"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], {
65
- open: open,
66
- role: "dialog",
67
- "aria-modal": "true",
48
+ }, "\u03A0\u03C1\u03BF\u03C3\u03B8\u03AE\u03BA\u03B7 \u03C4\u03B7\u03BB\u03B5\u03C6\u03CE\u03BD\u03BF\u03C5"), /*#__PURE__*/_react["default"].createElement(_Modal["default"], (0, _extends2["default"])({}, modalProps, {
68
49
  "aria-labelledby": "modal-label"
69
- }, _ref, _ref2, /*#__PURE__*/_react["default"].createElement(_Modal.ModalAction, null, _ref3, /*#__PURE__*/_react["default"].createElement(_core.Button, {
50
+ }), _ref, _ref2, /*#__PURE__*/_react["default"].createElement(_Modal.ModalAction, null, _ref3, /*#__PURE__*/_react["default"].createElement(_core.Button, {
70
51
  variant: "link",
71
52
  onClick: function onClick() {
72
53
  return toggleModal();
@@ -2,5 +2,17 @@ export * from '@digigov/react-extensions/admin/Modal';
2
2
  export * from '@digigov/react-extensions/admin/ModalHeading';
3
3
  export * from '@digigov/react-extensions/admin/ModalContent';
4
4
  export * from '@digigov/react-extensions/admin/ModalAction';
5
- import Modal from '@digigov/react-extensions/admin/Modal';
5
+ import React from 'react';
6
+ import { ModalProps as ModalContainerProps } from '@digigov/react-extensions/admin/Modal';
7
+ export interface ModalProps extends ModalContainerProps {
8
+ onEscape?: () => void;
9
+ }
10
+ export declare const useModal: () => {
11
+ toggleModal: (x?: any) => void;
12
+ closeModal: () => void;
13
+ modalProps: ModalProps;
14
+ modalData: any;
15
+ };
16
+ export declare const Modal: (props: ModalProps) => React.ReactElement | null;
17
+ export declare const ModalBase: ({ open, children, onEscape, ...props }: ModalProps) => React.ReactElement;
6
18
  export default Modal;
@@ -1,12 +1,24 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
3
5
  var _typeof = require("@babel/runtime/helpers/typeof");
4
6
 
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
- var _exportNames = {};
9
- exports["default"] = void 0;
10
+ var _exportNames = {
11
+ useModal: true,
12
+ Modal: true,
13
+ ModalBase: true
14
+ };
15
+ exports.useModal = exports["default"] = exports.ModalBase = exports.Modal = void 0;
16
+
17
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
18
+
19
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
20
+
21
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
10
22
 
11
23
  var _Modal = _interopRequireWildcard(require("@digigov/react-extensions/admin/Modal"));
12
24
 
@@ -64,9 +76,98 @@ Object.keys(_ModalAction).forEach(function (key) {
64
76
  });
65
77
  });
66
78
 
79
+ var _react = _interopRequireWildcard(require("react"));
80
+
81
+ var _useKeypress = _interopRequireDefault(require("@digigov/ui/hooks/useKeypress"));
82
+
83
+ var _excluded = ["open", "children", "onEscape"];
84
+
67
85
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
68
86
 
69
87
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
70
88
 
71
- var _default = _Modal["default"];
89
+ var useModal = function useModal() {
90
+ var _useState = (0, _react.useState)(false),
91
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
92
+ open = _useState2[0],
93
+ setOpen = _useState2[1];
94
+
95
+ var _useState3 = (0, _react.useState)(false),
96
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
97
+ modalData = _useState4[0],
98
+ setModalData = _useState4[1];
99
+
100
+ function toggleModal(data) {
101
+ setOpen(!open);
102
+
103
+ if (data) {
104
+ setModalData(data);
105
+ }
106
+ }
107
+
108
+ var closeModal = (0, _react.useCallback)(function closeModal() {
109
+ setOpen(false);
110
+ }, []);
111
+ return {
112
+ toggleModal: toggleModal,
113
+ closeModal: closeModal,
114
+ modalData: modalData,
115
+ modalProps: {
116
+ onEscape: closeModal,
117
+ open: open,
118
+ role: 'dialog',
119
+ 'aria-modal': 'true'
120
+ }
121
+ };
122
+ };
123
+
124
+ exports.useModal = useModal;
125
+
126
+ var Modal = function Modal(props) {
127
+ if (props.open) {
128
+ return /*#__PURE__*/_react["default"].createElement(ModalBase, props);
129
+ } else {
130
+ return null;
131
+ }
132
+ };
133
+
134
+ exports.Modal = Modal;
135
+
136
+ var ModalBase = function ModalBase(_ref) {
137
+ var open = _ref.open,
138
+ children = _ref.children,
139
+ onEscape = _ref.onEscape,
140
+ props = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
141
+ var firstModalElement = (0, _react.useRef)();
142
+ var lastModalElement = (0, _react.useRef)();
143
+ var handleFocus = (0, _react.useCallback)(function () {
144
+ firstModalElement.current.focus();
145
+ }, []);
146
+ (0, _useKeypress["default"])('Escape', onEscape);
147
+ (0, _react.useEffect)(function () {
148
+ handleFocus();
149
+ lastModalElement.current.addEventListener('focus', handleFocus);
150
+ return function () {
151
+ lastModalElement.current.removeEventListener('focus', handleFocus);
152
+ };
153
+ }, [open]);
154
+ return /*#__PURE__*/_react["default"].createElement(_Modal["default"], (0, _extends2["default"])({
155
+ open: open,
156
+ role: "dialog"
157
+ }, props, {
158
+ "aria-hidden": "false",
159
+ "aria-modal": "true"
160
+ }), /*#__PURE__*/_react["default"].createElement("span", {
161
+ tabIndex: -1,
162
+ ref: firstModalElement,
163
+ "aria-hidden": "true"
164
+ }), open && children, /*#__PURE__*/_react["default"].createElement("span", {
165
+ tabIndex: 0,
166
+ ref: lastModalElement,
167
+ "aria-hidden": "true"
168
+ }));
169
+ };
170
+
171
+ exports.ModalBase = ModalBase;
172
+ var _default = Modal;
72
173
  exports["default"] = _default;
@@ -8,13 +8,13 @@
8
8
  {
9
9
  "name": "hover",
10
10
  "args": {
11
- "selector": "html>body>div:nth-child(5)>div>ol>li:nth-child(1)>a"
11
+ "selector": "html>body>div:nth-child(5)>nav>ol>li:nth-child(1)>a"
12
12
  }
13
13
  },
14
14
  {
15
15
  "name": "click",
16
16
  "args": {
17
- "selector": "html>body>div:nth-child(5)>div>ol>li:nth-child(1)>a"
17
+ "selector": "html>body>div:nth-child(5)>nav>ol>li:nth-child(1)>a"
18
18
  }
19
19
  },
20
20
  {
@@ -19,7 +19,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
 
20
20
  var _ref = /*#__PURE__*/_react["default"].createElement(_Breadcrumbs["default"], {
21
21
  role: "navigation",
22
- "aria-label": "navigation"
22
+ "aria-label": "Breadcrumb"
23
23
  }, /*#__PURE__*/_react["default"].createElement(_Breadcrumbs.BreadcrumbsList, null, /*#__PURE__*/_react["default"].createElement(_Breadcrumbs.BreadcrumbsListItem, {
24
24
  href: "#"
25
25
  }, "\u0391\u03C1\u03C7\u03B9\u03BA\u03AE"), /*#__PURE__*/_react["default"].createElement(_Breadcrumbs.BreadcrumbsListItem, {
@@ -13,4 +13,5 @@ export * from "./__stories__/Disabled";
13
13
  export * from "./__stories__/ButtonLinkButton";
14
14
  export * from "./__stories__/Back";
15
15
  export * from "./__stories__/WithVariantLink";
16
+ export * from "./__stories__/ThemeToggle";
16
17
  import Button from "@digigov/ui/core/Button";
@@ -150,6 +150,20 @@ Object.keys(_WithVariantLink).forEach(function (key) {
150
150
  });
151
151
  });
152
152
 
153
+ var _ThemeToggle = require("./__stories__/ThemeToggle");
154
+
155
+ Object.keys(_ThemeToggle).forEach(function (key) {
156
+ if (key === "default" || key === "__esModule") return;
157
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
158
+ if (key in exports && exports[key] === _ThemeToggle[key]) return;
159
+ Object.defineProperty(exports, key, {
160
+ enumerable: true,
161
+ get: function get() {
162
+ return _ThemeToggle[key];
163
+ }
164
+ });
165
+ });
166
+
153
167
  /* eslint-disable digigov/no-relative-imports */
154
168
  var _default = {
155
169
  title: 'Digigov UI/Core/Button',
@@ -88,6 +88,28 @@
88
88
  "title": "Keyboard navigation"
89
89
  }
90
90
  ]
91
+ },
92
+ "digigov-ui-core-button--theme-toggle": {
93
+ "actionSets": [
94
+ {
95
+ "actions": [
96
+ {
97
+ "name": "click",
98
+ "args": {
99
+ "selector": "html>body>div:nth-child(5)>button"
100
+ }
101
+ },
102
+ {
103
+ "name": "click",
104
+ "args": {
105
+ "selector": "html"
106
+ }
107
+ }
108
+ ],
109
+ "id": "wPoD1odPNvOc",
110
+ "title": "change theme"
111
+ }
112
+ ]
91
113
  }
92
114
  }
93
115
  }
@@ -0,0 +1,4 @@
1
+ import { ButtonProps as CoreButtonProps } from '@digigov/react-core/Button';
2
+ export declare type ButtonProps = CoreButtonProps;
3
+ export declare const ThemeToggleButton: () => JSX.Element;
4
+ export default ThemeToggleButton;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = exports.ThemeToggleButton = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
15
+
16
+ var _Button = _interopRequireDefault(require("@digigov/react-core/Button"));
17
+
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
20
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
21
+
22
+ var ThemeToggleButton = function ThemeToggleButton() {
23
+ var _useState = (0, _react.useState)(function () {
24
+ var currentTheme = localStorage.getItem('theme');
25
+ var prefersScheme = window.matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
26
+ return currentTheme || prefersScheme || 'light';
27
+ }),
28
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
29
+ theme = _useState2[0],
30
+ setTheme = _useState2[1];
31
+
32
+ function toggleTheme() {
33
+ if (theme === 'light') {
34
+ setTheme('dark');
35
+ } else {
36
+ setTheme('light');
37
+ }
38
+ }
39
+
40
+ (0, _react.useEffect)(function () {
41
+ localStorage.setItem('theme', theme);
42
+ document.documentElement.className = theme;
43
+ }, [theme]);
44
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
45
+ onClick: toggleTheme,
46
+ variant: "link",
47
+ role: "button",
48
+ "aria-label": "\u0391\u03BD\u03C4\u03B9\u03C3\u03C4\u03C1\u03BF\u03C6\u03AE \u03C7\u03C1\u03C9\u03BC\u03AC\u03C4\u03C9\u03BD"
49
+ }, "\u0391\u03BD\u03C4\u03B9\u03C3\u03C4\u03C1\u03BF\u03C6\u03AE \u03C7\u03C1\u03C9\u03BC\u03AC\u03C4\u03C9\u03BD");
50
+ };
51
+
52
+ exports.ThemeToggleButton = ThemeToggleButton;
53
+ var _default = ThemeToggleButton;
54
+ exports["default"] = _default;