@civicactions/cmsds-open-data-components 1.10.0-alpha.2 → 1.11.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,15 +17,17 @@
17
17
  }
18
18
 
19
19
  .dc-c-resize-handle {
20
- height: 61px;
21
- background-color: $color-primary-darkest;
20
+ height: auto;
21
+ background-color: $color-gray-light;
22
22
  width: 10px;
23
23
  min-width: 10px;
24
24
  display: block;
25
25
  margin-left: -10px;
26
+ border-bottom: 2px solid #323a45;
27
+ border-top: 2px solid #323a45;
26
28
  z-index: 1;
27
29
  &.isResizing,
28
30
  &:hover {
29
- background-color: $color-primary-darker;
31
+ background-color: $color-primary;
30
32
  }
31
33
  }
@@ -4,3 +4,4 @@
4
4
  @import './filtered-resource.scss';
5
5
  @import './dataset.scss';
6
6
  @import './swagger.scss';
7
+ @import './query-builder.scss';
@@ -0,0 +1,15 @@
1
+ .dc-query-builder .ds-c-accordion__content {
2
+ padding-bottom: 0 !important;
3
+ max-height: 24rem;
4
+ }
5
+ .dc-query-builder form {
6
+ position: relative;
7
+ }
8
+
9
+ .dc-query-bulder--form-buttons {
10
+ position: sticky;
11
+ position: -webkit-sticky;
12
+ width: 100%;
13
+ bottom: 0;
14
+ background-color: white;
15
+ }
@@ -1,69 +1,22 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.frequencyMap = void 0;
7
- var frequencyMap = {
8
- 'R/P10Y': {
9
- name: 'Decennial'
10
- },
11
- 'R/P4Y': {
12
- name: 'Quadrennial'
13
- },
14
- 'R/P1Y': {
15
- name: 'Annual'
16
- },
17
- 'R/P2M': {
18
- name: 'Bimonthly'
19
- },
20
- 'R/P3.5D': {
21
- name: 'Semiweekly'
22
- },
23
- 'R/P1D': {
24
- name: 'Daily'
25
- },
26
- 'R/P2W': {
27
- name: 'Biweekly'
28
- },
29
- 'R/P6M': {
30
- name: 'Semiannual'
31
- },
32
- 'R/P2Y': {
33
- name: 'Biennial'
34
- },
35
- 'R/P3Y': {
36
- name: 'Triennial'
37
- },
38
- 'R/P0.33W': {
39
- name: 'Three times a week'
40
- },
41
- 'R/P0.33M': {
42
- name: 'Three times a month'
43
- },
44
- 'R/PT1S': {
45
- name: 'Continuously updated'
46
- },
47
- 'R/P1M': {
48
- name: 'Monthly'
49
- },
50
- 'R/P3M': {
51
- name: 'Quarterly'
52
- },
53
- 'R/P0.5M': {
54
- name: 'Semimonthly'
55
- },
56
- 'R/P4M': {
57
- name: 'Three times a year'
58
- },
59
- 'R/P1W': {
60
- name: 'Weekly'
61
- },
62
- 'R/PT1H': {
63
- name: 'Hourly'
64
- },
65
- irregular: {
66
- name: 'Irregular'
67
- }
1
+ export const frequencyMap = {
2
+ 'R/P10Y': { name: 'Decennial' },
3
+ 'R/P4Y': { name: 'Quadrennial' },
4
+ 'R/P1Y': { name: 'Annual' },
5
+ 'R/P2M': { name: 'Bimonthly' },
6
+ 'R/P3.5D': { name: 'Semiweekly' },
7
+ 'R/P1D': { name: 'Daily' },
8
+ 'R/P2W': { name: 'Biweekly' },
9
+ 'R/P6M': { name: 'Semiannual' },
10
+ 'R/P2Y': { name: 'Biennial' },
11
+ 'R/P3Y': { name: 'Triennial' },
12
+ 'R/P0.33W': { name: 'Three times a week' },
13
+ 'R/P0.33M': { name: 'Three times a month' },
14
+ 'R/PT1S': { name: 'Continuously updated' },
15
+ 'R/P1M': { name: 'Monthly' },
16
+ 'R/P3M': { name: 'Quarterly' },
17
+ 'R/P0.5M': { name: 'Semimonthly' },
18
+ 'R/P4M': { name: 'Three times a year' },
19
+ 'R/P1W': { name: 'Weekly' },
20
+ 'R/PT1H': { name: 'Hourly' },
21
+ irregular: { name: 'Irregular' },
68
22
  };
69
- exports.frequencyMap = frequencyMap;
@@ -27,7 +27,7 @@ var CloseIcon = function CloseIcon() {
27
27
  d: "M14.6467778,11.2126037 C14.8818403,11.4476661 15,11.7342663 15,12.0711472 C15,12.4080282 14.8818403,12.6946283 14.6467778,12.9296908 L12.9296908,14.6467778 C12.6933713,14.8830973 12.4067711,15.001257 12.0698902,15.001257 C11.7342663,15.001257 11.4476661,14.8830973 11.2126037,14.6467778 L7.49937149,10.9348026 L3.7873963,14.6467778 C3.55233386,14.8830973 3.26573368,15.001257 2.92885276,15.001257 C2.59197184,15.001257 2.30662868,14.8830973 2.07030923,14.6467778 L0.353222157,12.9296908 C0.116902707,12.6946283 0,12.4080282 0,12.0711472 C0,11.7342663 0.116902707,11.4476661 0.353222157,11.2126037 L4.06519735,7.50062851 L0.353222157,3.78865331 C0.116902707,3.55233386 0,3.2669907 0,2.92885276 C0,2.59322886 0.116902707,2.30662868 0.353222157,2.07156624 L2.07030923,0.353222157 C2.30662868,0.118159725 2.59197184,0 2.92885276,0 C3.26573368,0 3.55233386,0.118159725 3.7873963,0.353222157 L7.49937149,4.06519735 L11.2126037,0.353222157 C11.4476661,0.118159725 11.7342663,0 12.0698902,0 C12.4067711,0 12.6933713,0.118159725 12.9296908,0.353222157 L14.6467778,2.07156624 C14.8818403,2.30662868 15,2.59322886 15,2.92885276 C15,3.2669907 14.8818403,3.55233386 14.6467778,3.78865331 L10.9348026,7.50062851 L14.6467778,11.2126037 Z",
28
28
  id: "Path",
29
29
  fill: "#000000",
30
- "fill-rule": "nonzero"
30
+ fillRule: "nonzero"
31
31
  })));
32
32
  };
33
33
 
@@ -16,7 +16,7 @@ const CloseIcon = () => (
16
16
  d="M14.6467778,11.2126037 C14.8818403,11.4476661 15,11.7342663 15,12.0711472 C15,12.4080282 14.8818403,12.6946283 14.6467778,12.9296908 L12.9296908,14.6467778 C12.6933713,14.8830973 12.4067711,15.001257 12.0698902,15.001257 C11.7342663,15.001257 11.4476661,14.8830973 11.2126037,14.6467778 L7.49937149,10.9348026 L3.7873963,14.6467778 C3.55233386,14.8830973 3.26573368,15.001257 2.92885276,15.001257 C2.59197184,15.001257 2.30662868,14.8830973 2.07030923,14.6467778 L0.353222157,12.9296908 C0.116902707,12.6946283 0,12.4080282 0,12.0711472 C0,11.7342663 0.116902707,11.4476661 0.353222157,11.2126037 L4.06519735,7.50062851 L0.353222157,3.78865331 C0.116902707,3.55233386 0,3.2669907 0,2.92885276 C0,2.59322886 0.116902707,2.30662868 0.353222157,2.07156624 L2.07030923,0.353222157 C2.30662868,0.118159725 2.59197184,0 2.92885276,0 C3.26573368,0 3.55233386,0.118159725 3.7873963,0.353222157 L7.49937149,4.06519735 L11.2126037,0.353222157 C11.4476661,0.118159725 11.7342663,0 12.0698902,0 C12.4067711,0 12.6933713,0.118159725 12.9296908,0.353222157 L14.6467778,2.07156624 C14.8818403,2.30662868 15,2.59322886 15,2.92885276 C15,3.2669907 14.8818403,3.55233386 14.6467778,3.78865331 L10.9348026,7.50062851 L14.6467778,11.2126037 Z"
17
17
  id="Path"
18
18
  fill="#000000"
19
- fill-rule="nonzero"
19
+ fillRule="nonzero"
20
20
  ></path>
21
21
  </g>
22
22
  </svg>
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var CopyIcon = function CopyIcon() {
13
+ return /*#__PURE__*/_react["default"].createElement("svg", {
14
+ width: "15px",
15
+ height: "15px",
16
+ viewBox: "0 0 512 512",
17
+ version: "1.1",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ xmlnsXlink: "http://www.w3.org/1999/xlink"
20
+ }, /*#__PURE__*/_react["default"].createElement("g", {
21
+ id: "Artboard",
22
+ stroke: "none",
23
+ strokeWidth: "1",
24
+ fill: "none",
25
+ fillRule: "evenodd"
26
+ }, /*#__PURE__*/_react["default"].createElement("path", {
27
+ id: "Path",
28
+ fill: "#112E51",
29
+ fillRule: "nonzero",
30
+ d: "M384 96L384 0h-112c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48H464c26.51 0 48-21.49 48-48V128h-95.1C398.4 128 384 113.6 384 96zM416 0v96h96L416 0zM192 352V128h-144c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h192c26.51 0 48-21.49 48-48L288 416h-32C220.7 416 192 387.3 192 352z"
31
+ })));
32
+ };
33
+
34
+ var _default = CopyIcon;
35
+ exports["default"] = _default;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+
3
+ const CopyIcon = () => (
4
+ <svg
5
+ width="15px"
6
+ height="15px"
7
+ viewBox="0 0 512 512"
8
+ version="1.1"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlnsXlink="http://www.w3.org/1999/xlink"
11
+ >
12
+ <g id="Artboard" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
13
+ <path
14
+ id="Path"
15
+ fill="#112E51"
16
+ fillRule="nonzero"
17
+ d="M384 96L384 0h-112c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48H464c26.51 0 48-21.49 48-48V128h-95.1C398.4 128 384 113.6 384 96zM416 0v96h96L416 0zM192 352V128h-144c-26.51 0-48 21.49-48 48v288c0 26.51 21.49 48 48 48h192c26.51 0 48-21.49 48-48L288 416h-32C220.7 416 192 387.3 192 352z"
18
+ />
19
+ </g>
20
+ </svg>
21
+ );
22
+
23
+ export default CopyIcon;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var DownloadIcon = function DownloadIcon() {
13
+ return /*#__PURE__*/_react["default"].createElement("svg", {
14
+ width: "15px",
15
+ height: "15px",
16
+ viewBox: "0 0 384 512",
17
+ version: "1.1",
18
+ xmlns: "http://www.w3.org/2000/svg",
19
+ xmlnsXlink: "http://www.w3.org/1999/xlink"
20
+ }, /*#__PURE__*/_react["default"].createElement("g", {
21
+ id: "Artboard",
22
+ stroke: "none",
23
+ strokeWidth: "1",
24
+ fill: "none",
25
+ fillRule: "evenodd"
26
+ }, /*#__PURE__*/_react["default"].createElement("path", {
27
+ id: "Path",
28
+ fill: "#112E51",
29
+ fillRule: "nonzero",
30
+ d: "M384 128h-128V0L384 128zM256 160H384v304c0 26.51-21.49 48-48 48h-288C21.49 512 0 490.5 0 464v-416C0 21.49 21.49 0 48 0H224l.0039 128C224 145.7 238.3 160 256 160zM255 295L216 334.1V232c0-13.25-10.75-24-24-24S168 218.8 168 232v102.1L128.1 295C124.3 290.3 118.2 288 112 288S99.72 290.3 95.03 295c-9.375 9.375-9.375 24.56 0 33.94l80 80c9.375 9.375 24.56 9.375 33.94 0l80-80c9.375-9.375 9.375-24.56 0-33.94S264.4 285.7 255 295z"
31
+ })));
32
+ };
33
+
34
+ var _default = DownloadIcon;
35
+ exports["default"] = _default;
@@ -0,0 +1,23 @@
1
+ import React from 'react';
2
+
3
+ const DownloadIcon = () => (
4
+ <svg
5
+ width="15px"
6
+ height="15px"
7
+ viewBox="0 0 384 512"
8
+ version="1.1"
9
+ xmlns="http://www.w3.org/2000/svg"
10
+ xmlnsXlink="http://www.w3.org/1999/xlink"
11
+ >
12
+ <g id="Artboard" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
13
+ <path
14
+ id="Path"
15
+ fill="#112E51"
16
+ fillRule="nonzero"
17
+ d="M384 128h-128V0L384 128zM256 160H384v304c0 26.51-21.49 48-48 48h-288C21.49 512 0 490.5 0 464v-416C0 21.49 21.49 0 48 0H224l.0039 128C224 145.7 238.3 160 256 160zM255 295L216 334.1V232c0-13.25-10.75-24-24-24S168 218.8 168 232v102.1L128.1 295C124.3 290.3 118.2 288 112 288S99.72 290.3 95.03 295c-9.375 9.375-9.375 24.56 0 33.94l80 80c9.375 9.375 24.56 9.375 33.94 0l80-80c9.375-9.375 9.375-24.56 0-33.94S264.4 285.7 255 295z"
18
+ />
19
+ </g>
20
+ </svg>
21
+ );
22
+
23
+ export default DownloadIcon;
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _react = _interopRequireDefault(require("react"));
11
+
12
+ var SettingsIcon = function SettingsIcon() {
13
+ return /*#__PURE__*/_react["default"].createElement("svg", {
14
+ width: "15px",
15
+ height: "15px" // viewBox="0 0 15 15"
16
+ ,
17
+ viewBox: "0 0 512 512",
18
+ version: "1.1",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ xmlnsXlink: "http://www.w3.org/1999/xlink"
21
+ }, /*#__PURE__*/_react["default"].createElement("g", {
22
+ id: "Artboard",
23
+ stroke: "none",
24
+ strokeWidth: "1",
25
+ fill: "none",
26
+ fillRule: "evenodd"
27
+ }, /*#__PURE__*/_react["default"].createElement("path", {
28
+ id: "Path",
29
+ fill: "#112E51",
30
+ fillRule: "nonzero",
31
+ d: "M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"
32
+ })));
33
+ };
34
+
35
+ var _default = SettingsIcon;
36
+ exports["default"] = _default;
@@ -0,0 +1,24 @@
1
+ import React from 'react';
2
+
3
+ const SettingsIcon = () => (
4
+ <svg
5
+ width="15px"
6
+ height="15px"
7
+ // viewBox="0 0 15 15"
8
+ viewBox="0 0 512 512"
9
+ version="1.1"
10
+ xmlns="http://www.w3.org/2000/svg"
11
+ xmlnsXlink="http://www.w3.org/1999/xlink"
12
+ >
13
+ <g id="Artboard" stroke="none" strokeWidth="1" fill="none" fillRule="evenodd">
14
+ <path
15
+ id="Path"
16
+ fill="#112E51"
17
+ fillRule="nonzero"
18
+ d="M495.9 166.6C499.2 175.2 496.4 184.9 489.6 191.2L446.3 230.6C447.4 238.9 448 247.4 448 256C448 264.6 447.4 273.1 446.3 281.4L489.6 320.8C496.4 327.1 499.2 336.8 495.9 345.4C491.5 357.3 486.2 368.8 480.2 379.7L475.5 387.8C468.9 398.8 461.5 409.2 453.4 419.1C447.4 426.2 437.7 428.7 428.9 425.9L373.2 408.1C359.8 418.4 344.1 427 329.2 433.6L316.7 490.7C314.7 499.7 307.7 506.1 298.5 508.5C284.7 510.8 270.5 512 255.1 512C241.5 512 227.3 510.8 213.5 508.5C204.3 506.1 197.3 499.7 195.3 490.7L182.8 433.6C167 427 152.2 418.4 138.8 408.1L83.14 425.9C74.3 428.7 64.55 426.2 58.63 419.1C50.52 409.2 43.12 398.8 36.52 387.8L31.84 379.7C25.77 368.8 20.49 357.3 16.06 345.4C12.82 336.8 15.55 327.1 22.41 320.8L65.67 281.4C64.57 273.1 64 264.6 64 256C64 247.4 64.57 238.9 65.67 230.6L22.41 191.2C15.55 184.9 12.82 175.3 16.06 166.6C20.49 154.7 25.78 143.2 31.84 132.3L36.51 124.2C43.12 113.2 50.52 102.8 58.63 92.95C64.55 85.8 74.3 83.32 83.14 86.14L138.8 103.9C152.2 93.56 167 84.96 182.8 78.43L195.3 21.33C197.3 12.25 204.3 5.04 213.5 3.51C227.3 1.201 241.5 0 256 0C270.5 0 284.7 1.201 298.5 3.51C307.7 5.04 314.7 12.25 316.7 21.33L329.2 78.43C344.1 84.96 359.8 93.56 373.2 103.9L428.9 86.14C437.7 83.32 447.4 85.8 453.4 92.95C461.5 102.8 468.9 113.2 475.5 124.2L480.2 132.3C486.2 143.2 491.5 154.7 495.9 166.6V166.6zM256 336C300.2 336 336 300.2 336 255.1C336 211.8 300.2 175.1 256 175.1C211.8 175.1 176 211.8 176 255.1C176 300.2 211.8 336 256 336z"
19
+ />
20
+ </g>
21
+ </svg>
22
+ );
23
+
24
+ export default SettingsIcon;
@@ -16,34 +16,28 @@ var _designSystem = require("@cmsgov/design-system");
16
16
  var DataTableDensity = function DataTableDensity(_ref) {
17
17
  var setTablePadding = _ref.setTablePadding,
18
18
  tablePadding = _ref.tablePadding;
19
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", null, "Display density:"), /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
20
- onClick: function onClick() {
21
- return setTablePadding('ds-u-padding-y--0');
22
- },
23
- size: "small",
24
- variation: "transparent",
25
- className: tablePadding === 'ds-u-padding-y--0' ? 'ds-u-font-weight--bold' : ''
26
- }, /*#__PURE__*/_react["default"].createElement("span", {
27
- className: "ds-u-visibility--screen-reader"
28
- }, "Table padding"), " Tight"), /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
29
- onClick: function onClick() {
30
- return setTablePadding('ds-u-padding-y--1');
31
- },
19
+ return /*#__PURE__*/_react["default"].createElement("div", {
20
+ className: "ds-u-display--flex"
21
+ }, /*#__PURE__*/_react["default"].createElement(_designSystem.Dropdown, {
22
+ options: [{
23
+ label: 'Tight',
24
+ value: 'ds-u-padding-y--0'
25
+ }, {
26
+ label: 'Normal',
27
+ value: 'ds-u-padding-y--1'
28
+ }, {
29
+ label: 'Expanded',
30
+ value: 'ds-u-padding-y--2'
31
+ }],
32
32
  size: "small",
33
- variation: "transparent",
34
- className: tablePadding === 'ds-u-padding-y--1' ? 'ds-u-font-weight--bold' : ''
35
- }, /*#__PURE__*/_react["default"].createElement("span", {
36
- className: "ds-u-visibility--screen-reader"
37
- }, "Table padding"), " Normal"), /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
38
- onClick: function onClick() {
39
- return setTablePadding('ds-u-padding-y--2');
33
+ label: "Display density:",
34
+ labelClassName: "ds-u-margin-top--0",
35
+ name: "datatable_display_density",
36
+ onChange: function onChange(e) {
37
+ return setLimit(e.target.value);
40
38
  },
41
- size: "small",
42
- variation: "transparent",
43
- className: tablePadding === 'ds-u-padding-y--2' ? 'ds-u-font-weight--bold' : ''
44
- }, /*#__PURE__*/_react["default"].createElement("span", {
45
- className: "ds-u-visibility--screen-reader"
46
- }, "Table padding"), " Expanded"));
39
+ defaultValue: 'ds-u-padding-y--1'
40
+ }));
47
41
  };
48
42
 
49
43
  DataTableDensity.propTypes = {
@@ -17,22 +17,21 @@ var DataTableRowChanger = function DataTableRowChanger(_ref) {
17
17
  var setLimit = _ref.setLimit,
18
18
  rowOptions = _ref.rowOptions,
19
19
  limit = _ref.limit;
20
- return /*#__PURE__*/_react["default"].createElement("div", {
21
- className: "ds-u-text-align--right"
22
- }, /*#__PURE__*/_react["default"].createElement("span", {
23
- className: "ds-u-margin-right--2"
24
- }, "Rows per page:"), rowOptions.map(function (r) {
25
- return /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
26
- key: "buttonFor".concat(r),
27
- onClick: function onClick() {
28
- return setLimit(r);
29
- },
30
- size: "small",
31
- variation: "transparent",
32
- className: "".concat(limit === r ? 'ds-u-font-weight--bold ds-u-border-bottom--2' : '', " ds-u-text-decoration--none ds-u-padding--0 ds-u-margin-right--1")
33
- }, r, " ", /*#__PURE__*/_react["default"].createElement("span", {
34
- className: "ds-u-visibility--screen-reader"
35
- }, "rows per page"));
20
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_designSystem.Dropdown, {
21
+ options: rowOptions.map(function (row) {
22
+ return {
23
+ label: row,
24
+ value: row
25
+ };
26
+ }),
27
+ size: "small",
28
+ label: "Rows per page:",
29
+ labelClassName: "ds-u-margin-top--0",
30
+ name: "datatable_rows_per_page",
31
+ onChange: function onChange(e) {
32
+ return setLimit(e.target.value);
33
+ },
34
+ defaultValue: limit
36
35
  }));
37
36
  };
38
37
 
@@ -21,7 +21,8 @@ var DatasetDownloads = function DatasetDownloads(_ref) {
21
21
  }, "Downloads"), /*#__PURE__*/_react["default"].createElement("p", {
22
22
  className: "ds-u-margin-bottom--1 ds-u-color--gray"
23
23
  }, "Resource"), /*#__PURE__*/_react["default"].createElement("a", {
24
- href: downloadURL
24
+ href: downloadURL,
25
+ className: "ds-u-word-break"
25
26
  }, "Download this resource (", type, ")"));
26
27
  };
27
28
 
@@ -2,15 +2,25 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
8
10
  exports["default"] = void 0;
9
11
 
10
- var _react = _interopRequireDefault(require("react"));
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _react = _interopRequireWildcard(require("react"));
11
15
 
12
16
  var _reactRouterDom = require("react-router-dom");
13
17
 
18
+ var _reactResponsive = require("react-responsive");
19
+
20
+ var _reactPopper = require("react-popper");
21
+
22
+ var _designSystem = require("@cmsgov/design-system");
23
+
14
24
  var _dataCatalogComponents = require("@civicactions/data-catalog-components");
15
25
 
16
26
  var _DataTableDensity = _interopRequireDefault(require("../../components/DataTableDensity"));
@@ -19,6 +29,16 @@ var _ManageColumns = _interopRequireDefault(require("../../components/ManageColu
19
29
 
20
30
  var _DataTableRowChanger = _interopRequireDefault(require("../../components/DataTableRowChanger"));
21
31
 
32
+ var _download = _interopRequireDefault(require("../../assets/icons/download"));
33
+
34
+ var _copy = _interopRequireDefault(require("../../assets/icons/copy"));
35
+
36
+ var _settings = _interopRequireDefault(require("../../assets/icons/settings"));
37
+
38
+ 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); }
39
+
40
+ 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; }
41
+
22
42
  var ResourceHeader = function ResourceHeader(_ref) {
23
43
  var setTablePadding = _ref.setTablePadding,
24
44
  id = _ref.id,
@@ -26,40 +46,100 @@ var ResourceHeader = function ResourceHeader(_ref) {
26
46
  includeFiltered = _ref.includeFiltered,
27
47
  includeDensity = _ref.includeDensity,
28
48
  resource = _ref.resource,
29
- tablePadding = _ref.tablePadding;
49
+ tablePadding = _ref.tablePadding,
50
+ downloadUrl = _ref.downloadUrl;
51
+ var md = (0, _reactResponsive.useMediaQuery)({
52
+ minWidth: 0,
53
+ maxWidth: 768
54
+ });
30
55
  var limit = resource.limit,
31
56
  offset = resource.offset,
32
57
  count = resource.count,
33
58
  setLimit = resource.setLimit,
34
59
  setOffset = resource.setOffset;
35
60
  var intCount = count ? parseInt(count) : 0;
36
- return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
61
+
62
+ var _useState = (0, _react.useState)(null),
63
+ _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
64
+ referenceElement = _useState2[0],
65
+ setReferenceElement = _useState2[1];
66
+
67
+ var _useState3 = (0, _react.useState)(null),
68
+ _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
69
+ popperElement = _useState4[0],
70
+ setPopperElement = _useState4[1];
71
+
72
+ var _useState5 = (0, _react.useState)(null),
73
+ _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
74
+ arrowElement = _useState6[0],
75
+ setArrowElement = _useState6[1];
76
+
77
+ var _usePopper = (0, _reactPopper.usePopper)(referenceElement, popperElement, {
78
+ modifiers: [{
79
+ name: 'arrow',
80
+ options: {
81
+ element: arrowElement
82
+ }
83
+ }]
84
+ }),
85
+ styles = _usePopper.styles,
86
+ attributes = _usePopper.attributes;
87
+
88
+ return /*#__PURE__*/_react["default"].createElement("div", {
89
+ className: "dc-c-resource-header"
90
+ }, /*#__PURE__*/_react["default"].createElement("div", {
37
91
  className: "ds-l-row"
38
92
  }, /*#__PURE__*/_react["default"].createElement("div", {
39
93
  className: "ds-l-col--12"
40
94
  }, includeFiltered && /*#__PURE__*/_react["default"].createElement(_reactRouterDom.Link, {
41
95
  className: "ds-c-button ds-c-button--primary",
42
96
  to: "/dataset/".concat(id, "/data")
43
- }, "View and filter data")), includeDensity && /*#__PURE__*/_react["default"].createElement("div", {
44
- className: "ds-u-text-align--right ds-u-margin-left--auto ds-l-col--6"
45
- }, /*#__PURE__*/_react["default"].createElement(_DataTableDensity["default"], {
46
- setTablePadding: setTablePadding,
47
- tablePadding: tablePadding
48
- }))), /*#__PURE__*/_react["default"].createElement("div", {
97
+ }, "View and filter data"))), /*#__PURE__*/_react["default"].createElement("div", {
49
98
  className: "ds-l-row ds-u-align-items--center"
50
99
  }, /*#__PURE__*/_react["default"].createElement("div", {
51
- className: "ds-l-col--6"
100
+ className: "ds-l-col--12 ds-u-display--flex ds-u-justify-content--between ds-u-align-items--center"
101
+ }, /*#__PURE__*/_react["default"].createElement("div", {
102
+ className: "ds-u-font-weight--bold"
52
103
  }, /*#__PURE__*/_react["default"].createElement(_dataCatalogComponents.DataTablePageResults, {
53
104
  totalRows: intCount,
54
105
  limit: limit,
55
106
  offset: offset
56
- })), /*#__PURE__*/_react["default"].createElement("div", {
57
- className: "ds-l-col--6"
58
- }, /*#__PURE__*/_react["default"].createElement(_DataTableRowChanger["default"], {
59
- limit: limit,
60
- setLimit: setLimit,
61
- setOffset: setOffset
62
- }))));
107
+ })), /*#__PURE__*/_react["default"].createElement("div", null, !includeFiltered && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_designSystem.Button, {
108
+ size: "small",
109
+ className: "ds-u-text-align--left ds-u-font-weight--normal ds-u-font-size--base ds-u-margin-right--1",
110
+ href: downloadUrl,
111
+ "aria-label": "Download filtered data as CSV"
112
+ }, /*#__PURE__*/_react["default"].createElement(_download["default"], null), !md && /*#__PURE__*/_react["default"].createElement("span", {
113
+ className: "ds-u-font-weight--semibold ds-u-margin-left--1"
114
+ }, "Download filtered data (CSV)")), /*#__PURE__*/_react["default"].createElement(_designSystem.Tooltip, {
115
+ onOpen: function onOpen() {
116
+ navigator.clipboard.writeText(window.location.href);
117
+ },
118
+ className: "ds-c-button ds-c-button--small ds-u-text-align--left ds-u-margin-right--1",
119
+ placement: "bottom",
120
+ dialog: true,
121
+ ariaLabel: "Copy link to filtered data",
122
+ title: "Link copied to clipboard"
123
+ }, /*#__PURE__*/_react["default"].createElement(_copy["default"], null), !md && /*#__PURE__*/_react["default"].createElement("span", {
124
+ className: "ds-u-font-weight--semibold ds-u-margin-left--1"
125
+ }, "Copy link to filtered data"))), /*#__PURE__*/_react["default"].createElement(_designSystem.Tooltip, {
126
+ className: "ds-c-button ds-c-button--small ds-u-text-align--left",
127
+ placement: "bottom",
128
+ dialog: true,
129
+ ariaLabel: "Display settings",
130
+ title: /*#__PURE__*/_react["default"].createElement("div", {
131
+ className: "dc-c-display-settings"
132
+ }, /*#__PURE__*/_react["default"].createElement(_DataTableRowChanger["default"], {
133
+ limit: limit,
134
+ setLimit: setLimit,
135
+ setOffset: setOffset
136
+ }), includeDensity && /*#__PURE__*/_react["default"].createElement(_DataTableDensity["default"], {
137
+ setTablePadding: setTablePadding,
138
+ tablePadding: tablePadding
139
+ }))
140
+ }, /*#__PURE__*/_react["default"].createElement(_settings["default"], null), !md && /*#__PURE__*/_react["default"].createElement("span", {
141
+ className: "ds-u-font-weight--semibold ds-u-margin-left--1"
142
+ }, "Display settings"))))));
63
143
  };
64
144
 
65
145
  var _default = ResourceHeader;
package/lib/index.js CHANGED
@@ -174,8 +174,6 @@ Object.defineProperty(exports, "useAddLoginLink", {
174
174
  }
175
175
  });
176
176
 
177
- var _array = require("core-js/fn/array");
178
-
179
177
  var _NavLink = _interopRequireDefault(require("./components/NavLink"));
180
178
 
181
179
  var _DatasetTags = _interopRequireDefault(require("./components/DatasetTags"));