finsignal-feed-explore 3.2.2 → 3.2.3

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.
@@ -1,39 +1,43 @@
1
- .filter-button {
1
+ /* Base styles for header icon buttons */
2
+ .header-icon {
3
+ display: flex;
2
4
  width: 32px;
3
5
  height: 32px;
4
- display: flex;
5
- align-items: center;
6
+ padding: 6px;
6
7
  justify-content: center;
8
+ align-items: center;
7
9
  gap: 0;
10
+ aspect-ratio: 1/1;
11
+ border-radius: 0;
12
+ opacity: 1;
8
13
  background: none;
9
14
  border: none;
10
- border-radius: 0;
11
- padding: 6px;
12
15
  cursor: pointer;
13
- position: relative;
14
16
  transition: opacity 0.2s ease;
15
- aspect-ratio: 1/1;
16
- opacity: 1;
17
17
  }
18
18
 
19
- .filter-button:hover {
19
+ .header-icon:hover {
20
20
  opacity: 0.7;
21
21
  }
22
22
 
23
- .filter-button:active {
23
+ .header-icon:active {
24
24
  opacity: 0.5;
25
25
  }
26
26
 
27
- .filter-button:focus {
27
+ .header-icon:focus {
28
28
  outline: none;
29
29
  }
30
30
 
31
- .filter-button:focus-visible {
31
+ .header-icon:focus-visible {
32
32
  outline: 2px solid #7863F6;
33
33
  outline-offset: 2px;
34
34
  border-radius: 4px;
35
35
  }
36
36
 
37
+ .filter-button {
38
+ position: relative;
39
+ }
40
+
37
41
  /* Badge styles */
38
42
  .filter-button--with-badge {
39
43
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/FilterButton.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AAGF;AACA;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA","file":"FilterButton.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/components/HeaderIcon.scss","../../src/components/FilterButton.scss"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA;;;AC/BF;EACE;;;AAGF;AACA;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;EACA;EACA;EACA","file":"FilterButton.css"}
@@ -2,12 +2,12 @@ import React from 'react';
2
2
  import { FilterIcon } from './icons';
3
3
  export const FilterButton = ({ isFiltersOpen, filterCount, onClick, className = '', closeIconColor = '#7863F6', filterIconColor = '#242429', badgeBackgroundColor = '#2d3339', badgeTextColor = '#ffffff' }) => {
4
4
  if (isFiltersOpen) {
5
- return (React.createElement("button", { onClick: onClick, className: `filter-button ${className}`, "aria-label": "Close filters" },
5
+ return (React.createElement("button", { onClick: onClick, className: `header-icon filter-button ${className}`, "aria-label": "Close filters" },
6
6
  React.createElement("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", xmlns: "http://www.w3.org/2000/svg" },
7
7
  React.createElement("path", { d: "M15 5L5 15M5 5L15 15", stroke: closeIconColor, strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }))));
8
8
  }
9
9
  if (filterCount > 0) {
10
- return (React.createElement("button", { onClick: onClick, className: `filter-button filter-button--with-badge ${className}`, "aria-label": `Open filters (${filterCount} applied)` },
10
+ return (React.createElement("button", { onClick: onClick, className: `header-icon filter-button filter-button--with-badge ${className}`, "aria-label": `Open filters (${filterCount} applied)` },
11
11
  React.createElement(FilterIcon, { size: 15, color: filterIconColor }),
12
12
  React.createElement("div", { className: "filter-button__badge", style: {
13
13
  backgroundColor: badgeBackgroundColor,
@@ -15,7 +15,7 @@ export const FilterButton = ({ isFiltersOpen, filterCount, onClick, className =
15
15
  } },
16
16
  React.createElement("span", { className: "filter-button__badge-text" }, filterCount))));
17
17
  }
18
- return (React.createElement("button", { onClick: onClick, className: `filter-button ${className}`, "aria-label": "Open filters" },
18
+ return (React.createElement("button", { onClick: onClick, className: `header-icon filter-button ${className}`, "aria-label": "Open filters" },
19
19
  React.createElement(FilterIcon, { size: 15, color: filterIconColor })));
20
20
  };
21
21
  //# sourceMappingURL=FilterButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FilterButton.js","sourceRoot":"","sources":["../../src/components/FilterButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA0ErC,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,GAAG,EAAE,EACd,cAAc,GAAG,SAAS,EAC1B,eAAe,GAAG,SAAS,EAC3B,oBAAoB,GAAG,SAAS,EAChC,cAAc,GAAG,SAAS,EAC3B,EAAE,EAAE;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,iBAAiB,SAAS,EAAE,gBAC5B,eAAe;YAE1B,6BAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;gBAC5F,8BACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,CACE,CACC,CACV,CAAC;IACJ,CAAC;IAGD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,2CAA2C,SAAS,EAAE,gBACrD,iBAAiB,WAAW,WAAW;YAEnD,oBAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,GAAI;YAChD,6BACE,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE;oBACL,eAAe,EAAE,oBAAoB;oBACrC,KAAK,EAAE,cAAc;iBACtB;gBAED,8BAAM,SAAS,EAAC,2BAA2B,IACxC,WAAW,CACP,CACH,CACC,CACV,CAAC;IACJ,CAAC;IAGD,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,iBAAiB,SAAS,EAAE,gBAC5B,cAAc;QAEzB,oBAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,GAAI,CACzC,CACV,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"FilterButton.js","sourceRoot":"","sources":["../../src/components/FilterButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AA0ErC,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,aAAa,EACb,WAAW,EACX,OAAO,EACP,SAAS,GAAG,EAAE,EACd,cAAc,GAAG,SAAS,EAC1B,eAAe,GAAG,SAAS,EAC3B,oBAAoB,GAAG,SAAS,EAChC,cAAc,GAAG,SAAS,EAC3B,EAAE,EAAE;IAEH,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,6BAA6B,SAAS,EAAE,gBACxC,eAAe;YAE1B,6BAAK,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,KAAK,EAAC,4BAA4B;gBAC5F,8BACE,CAAC,EAAC,sBAAsB,EACxB,MAAM,EAAE,cAAc,EACtB,WAAW,EAAC,KAAK,EACjB,aAAa,EAAC,OAAO,EACrB,cAAc,EAAC,OAAO,GACtB,CACE,CACC,CACV,CAAC;IACJ,CAAC;IAGD,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,uDAAuD,SAAS,EAAE,gBACjE,iBAAiB,WAAW,WAAW;YAEnD,oBAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,GAAI;YAChD,6BACE,SAAS,EAAC,sBAAsB,EAChC,KAAK,EAAE;oBACL,eAAe,EAAE,oBAAoB;oBACrC,KAAK,EAAE,cAAc;iBACtB;gBAED,8BAAM,SAAS,EAAC,2BAA2B,IACxC,WAAW,CACP,CACH,CACC,CACV,CAAC;IACJ,CAAC;IAGD,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,6BAA6B,SAAS,EAAE,gBACxC,cAAc;QAEzB,oBAAC,UAAU,IAAC,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,eAAe,GAAI,CACzC,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ /* Base styles for header icon buttons */
2
+ .header-icon {
3
+ display: flex;
4
+ width: 32px;
5
+ height: 32px;
6
+ padding: 6px;
7
+ justify-content: center;
8
+ align-items: center;
9
+ gap: 0;
10
+ aspect-ratio: 1/1;
11
+ border-radius: 0;
12
+ opacity: 1;
13
+ background: none;
14
+ border: none;
15
+ cursor: pointer;
16
+ transition: opacity 0.2s ease;
17
+ }
18
+
19
+ .header-icon:hover {
20
+ opacity: 0.7;
21
+ }
22
+
23
+ .header-icon:active {
24
+ opacity: 0.5;
25
+ }
26
+
27
+ .header-icon:focus {
28
+ outline: none;
29
+ }
30
+
31
+ .header-icon:focus-visible {
32
+ outline: 2px solid #7863F6;
33
+ outline-offset: 2px;
34
+ border-radius: 4px;
35
+ }
36
+
37
+ /*# sourceMappingURL=HeaderIcon.css.map */
@@ -0,0 +1 @@
1
+ {"version":3,"sourceRoot":"","sources":["../../src/components/HeaderIcon.scss"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA","file":"HeaderIcon.css"}
@@ -1,33 +1,34 @@
1
- .search-button {
1
+ /* Base styles for header icon buttons */
2
+ .header-icon {
3
+ display: flex;
2
4
  width: 32px;
3
5
  height: 32px;
4
- display: flex;
5
- align-items: center;
6
+ padding: 6px;
6
7
  justify-content: center;
8
+ align-items: center;
7
9
  gap: 0;
10
+ aspect-ratio: 1/1;
11
+ border-radius: 0;
12
+ opacity: 1;
8
13
  background: none;
9
14
  border: none;
10
- border-radius: 0;
11
- padding: 6px;
12
15
  cursor: pointer;
13
16
  transition: opacity 0.2s ease;
14
- aspect-ratio: 1/1;
15
- opacity: 1;
16
17
  }
17
18
 
18
- .search-button:hover {
19
+ .header-icon:hover {
19
20
  opacity: 0.7;
20
21
  }
21
22
 
22
- .search-button:active {
23
+ .header-icon:active {
23
24
  opacity: 0.5;
24
25
  }
25
26
 
26
- .search-button:focus {
27
+ .header-icon:focus {
27
28
  outline: none;
28
29
  }
29
30
 
30
- .search-button:focus-visible {
31
+ .header-icon:focus-visible {
31
32
  outline: 2px solid #7863F6;
32
33
  outline-offset: 2px;
33
34
  border-radius: 4px;
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../../src/components/SearchButton.scss"],"names":[],"mappings":"AAAA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA","file":"SearchButton.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../../src/components/HeaderIcon.scss"],"names":[],"mappings":"AAAA;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;EACA","file":"SearchButton.css"}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  export const SearchButton = ({ onClick, className = '', iconColor = '#242429' }) => {
3
- return (React.createElement("button", { onClick: onClick, className: `search-button ${className}`, "aria-label": "Search" },
3
+ return (React.createElement("button", { onClick: onClick, className: `header-icon search-button ${className}`, "aria-label": "Search" },
4
4
  React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", width: "15", height: "15", viewBox: "0 0 15 15", fill: "none" },
5
5
  React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M6.375 0C9.89582 0 12.75 2.85418 12.75 6.375C12.75 7.86509 12.237 9.23438 11.3804 10.3198L14.7803 13.7197L14.8315 13.7769C15.0718 14.0714 15.0549 14.5057 14.7803 14.7803C14.5057 15.0549 14.0714 15.0718 13.7769 14.8315L13.7197 14.7803L10.3198 11.3804C9.23438 12.237 7.86509 12.75 6.375 12.75C2.85418 12.75 0 9.89581 0 6.375C0 2.85418 2.85418 0 6.375 0ZM6.375 1.5C3.68261 1.5 1.5 3.68261 1.5 6.375C1.5 9.06739 3.68261 11.25 6.375 11.25C9.06739 11.25 11.25 9.06739 11.25 6.375C11.25 3.68261 9.06739 1.5 6.375 1.5Z", fill: iconColor, fillOpacity: "0.6" }))));
6
6
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SearchButton.js","sourceRoot":"","sources":["../../src/components/SearchButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgC1B,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,OAAO,EACP,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,SAAS,EACtB,EAAE,EAAE;IACH,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,iBAAiB,SAAS,EAAE,gBAC5B,QAAQ;QAEnB,6BAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;YAC5F,8BACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,ggBAAggB,EAClgB,IAAI,EAAE,SAAS,EACf,WAAW,EAAC,KAAK,GACjB,CACE,CACC,CACV,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"SearchButton.js","sourceRoot":"","sources":["../../src/components/SearchButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAgC1B,MAAM,CAAC,MAAM,YAAY,GAAgC,CAAC,EACxD,OAAO,EACP,SAAS,GAAG,EAAE,EACd,SAAS,GAAG,SAAS,EACtB,EAAE,EAAE;IACH,OAAO,CACL,gCACE,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,6BAA6B,SAAS,EAAE,gBACxC,QAAQ;QAEnB,6BAAK,KAAK,EAAC,4BAA4B,EAAC,KAAK,EAAC,IAAI,EAAC,MAAM,EAAC,IAAI,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM;YAC5F,8BACE,QAAQ,EAAC,SAAS,EAClB,QAAQ,EAAC,SAAS,EAClB,CAAC,EAAC,ggBAAggB,EAClgB,IAAI,EAAE,SAAS,EACf,WAAW,EAAC,KAAK,GACjB,CACE,CACC,CACV,CAAC;AACJ,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "finsignal-feed-explore",
3
- "version": "3.2.2",
3
+ "version": "3.2.3",
4
4
  "description": "News feed explorer components for React web applications",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -11,7 +11,7 @@
11
11
  ],
12
12
  "scripts": {
13
13
  "build": "npm run build:scss && tsc && cp dist/FeedList.css dist/newsfeed.css",
14
- "build:scss": "sass src/snippets/NewsSnippet.scss dist/snippets/NewsSnippet.css && sass src/components/NewsSkeleton.scss dist/components/NewsSkeleton.css && sass src/components/Chip.scss dist/components/Chip.css && sass src/components/FilterButton.scss dist/components/FilterButton.css && sass src/components/SearchButton.scss dist/components/SearchButton.css && sass src/components/SearchInput.scss dist/components/SearchInput.css && sass src/components/EmptyState.scss dist/components/EmptyState.css && sass src/filters/FiltersOverlay.scss dist/filters/FiltersOverlay.css && sass src/FeedList.scss dist/FeedList.css",
14
+ "build:scss": "sass src/components/HeaderIcon.scss dist/components/HeaderIcon.css && sass src/snippets/NewsSnippet.scss dist/snippets/NewsSnippet.css && sass src/components/NewsSkeleton.scss dist/components/NewsSkeleton.css && sass src/components/Chip.scss dist/components/Chip.css && sass src/components/FilterButton.scss dist/components/FilterButton.css && sass src/components/SearchButton.scss dist/components/SearchButton.css && sass src/components/SearchInput.scss dist/components/SearchInput.css && sass src/components/EmptyState.scss dist/components/EmptyState.css && sass src/filters/FiltersOverlay.scss dist/filters/FiltersOverlay.css && sass src/FeedList.scss dist/FeedList.css",
15
15
  "prepublishOnly": "npm run build"
16
16
  },
17
17
  "keywords": [