@dktunited-techoff/techoff-suite-ui 1.11.6 → 1.11.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm/layouts/TsSearchHeader/TsSearchHeader.css +6 -0
- package/esm/layouts/TsSearchHeader/TsSearchHeader.d.ts +1 -1
- package/esm/layouts/TsSearchHeader/TsSearchHeader.js +19 -2
- package/esm/layouts/TsSearchHeader/TsSearchHeader.js.map +1 -1
- package/esm/layouts/TsSearchHeader/TsSearchHeader.types.d.ts +1 -0
- package/lib/layouts/TsSearchHeader/TsSearchHeader.css +6 -0
- package/lib/layouts/TsSearchHeader/TsSearchHeader.d.ts +1 -1
- package/lib/layouts/TsSearchHeader/TsSearchHeader.js +19 -2
- package/lib/layouts/TsSearchHeader/TsSearchHeader.js.map +1 -1
- package/lib/layouts/TsSearchHeader/TsSearchHeader.types.d.ts +1 -0
- package/package.json +1 -1
- package/src/layouts/TsSearchHeader/TsSearchHeader.css +6 -0
- package/src/layouts/TsSearchHeader/TsSearchHeader.tsx +20 -2
- package/src/layouts/TsSearchHeader/TsSearchHeader.types.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TsSearchHeaderProps, TsSearchHeaderItemProps } from './TsSearchHeader.types';
|
|
3
3
|
import './TsSearchHeader.css';
|
|
4
|
-
export declare const TsSearchHeaderItem: ({ id, label, onClick }: TsSearchHeaderItemProps) => React.JSX.Element;
|
|
4
|
+
export declare const TsSearchHeaderItem: ({ id, label, value, onClick }: TsSearchHeaderItemProps) => React.JSX.Element;
|
|
5
5
|
export declare const TsSearchHeader: ({ placeholder, noItemMessage, isLoading, value, items, onChange, }: TsSearchHeaderProps) => React.JSX.Element;
|
|
@@ -2,10 +2,27 @@ import * as React from 'react';
|
|
|
2
2
|
import { TsIcon } from '../../components/TsIcon/TsIcon';
|
|
3
3
|
import { TsLoader } from '../../components/TsLoader/TsLoader';
|
|
4
4
|
import './TsSearchHeader.css';
|
|
5
|
-
export const TsSearchHeaderItem = ({ id, label, onClick }) => {
|
|
5
|
+
export const TsSearchHeaderItem = ({ id, label, value, onClick }) => {
|
|
6
|
+
const getBeforeMatch = (label) => {
|
|
7
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
8
|
+
return label.substring(0, matchStartIndex);
|
|
9
|
+
};
|
|
10
|
+
const getMatch = (label) => {
|
|
11
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
12
|
+
const matchEndIndex = matchStartIndex + value.length;
|
|
13
|
+
return label.substring(matchStartIndex, matchEndIndex);
|
|
14
|
+
};
|
|
15
|
+
const getAfterMatch = (label) => {
|
|
16
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
17
|
+
const matchEndIndex = matchStartIndex + value.length;
|
|
18
|
+
return label.substring(matchEndIndex);
|
|
19
|
+
};
|
|
6
20
|
// Rendering
|
|
7
21
|
return (React.createElement("button", { className: "ts-search-header-item", id: id, onClick: onClick },
|
|
8
|
-
React.createElement("div", { className: "ts-search-header-item-label" },
|
|
22
|
+
React.createElement("div", { className: "ts-search-header-item-label" },
|
|
23
|
+
getBeforeMatch(label),
|
|
24
|
+
React.createElement("span", { className: "ts-header-search-item--match" }, getMatch(label)),
|
|
25
|
+
getAfterMatch(label))));
|
|
9
26
|
};
|
|
10
27
|
export const TsSearchHeader = ({ placeholder, noItemMessage, isLoading, value, items, onChange, }) => {
|
|
11
28
|
// Rendering
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TsSearchHeader.js","sourceRoot":"","sources":["../../../src/layouts/TsSearchHeader/TsSearchHeader.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,OAAO,sBAAsB,CAAC;AAE9B,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAA2B,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"TsSearchHeader.js","sourceRoot":"","sources":["../../../src/layouts/TsSearchHeader/TsSearchHeader.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { TsSearchHeaderProps, TsSearchHeaderItemProps } from './TsSearchHeader.types';
|
|
3
3
|
import './TsSearchHeader.css';
|
|
4
|
-
export declare const TsSearchHeaderItem: ({ id, label, onClick }: TsSearchHeaderItemProps) => React.JSX.Element;
|
|
4
|
+
export declare const TsSearchHeaderItem: ({ id, label, value, onClick }: TsSearchHeaderItemProps) => React.JSX.Element;
|
|
5
5
|
export declare const TsSearchHeader: ({ placeholder, noItemMessage, isLoading, value, items, onChange, }: TsSearchHeaderProps) => React.JSX.Element;
|
|
@@ -5,10 +5,27 @@ const React = require("react");
|
|
|
5
5
|
const TsIcon_1 = require("../../components/TsIcon/TsIcon");
|
|
6
6
|
const TsLoader_1 = require("../../components/TsLoader/TsLoader");
|
|
7
7
|
require("./TsSearchHeader.css");
|
|
8
|
-
const TsSearchHeaderItem = ({ id, label, onClick }) => {
|
|
8
|
+
const TsSearchHeaderItem = ({ id, label, value, onClick }) => {
|
|
9
|
+
const getBeforeMatch = (label) => {
|
|
10
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
11
|
+
return label.substring(0, matchStartIndex);
|
|
12
|
+
};
|
|
13
|
+
const getMatch = (label) => {
|
|
14
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
15
|
+
const matchEndIndex = matchStartIndex + value.length;
|
|
16
|
+
return label.substring(matchStartIndex, matchEndIndex);
|
|
17
|
+
};
|
|
18
|
+
const getAfterMatch = (label) => {
|
|
19
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
20
|
+
const matchEndIndex = matchStartIndex + value.length;
|
|
21
|
+
return label.substring(matchEndIndex);
|
|
22
|
+
};
|
|
9
23
|
// Rendering
|
|
10
24
|
return (React.createElement("button", { className: "ts-search-header-item", id: id, onClick: onClick },
|
|
11
|
-
React.createElement("div", { className: "ts-search-header-item-label" },
|
|
25
|
+
React.createElement("div", { className: "ts-search-header-item-label" },
|
|
26
|
+
getBeforeMatch(label),
|
|
27
|
+
React.createElement("span", { className: "ts-header-search-item--match" }, getMatch(label)),
|
|
28
|
+
getAfterMatch(label))));
|
|
12
29
|
};
|
|
13
30
|
exports.TsSearchHeaderItem = TsSearchHeaderItem;
|
|
14
31
|
const TsSearchHeader = ({ placeholder, noItemMessage, isLoading, value, items, onChange, }) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TsSearchHeader.js","sourceRoot":"","sources":["../../../src/layouts/TsSearchHeader/TsSearchHeader.tsx"],"names":[],"mappings":";;;AAAA,+BAA+B;AAE/B,2DAAwD;AACxD,iEAA8D;AAC9D,gCAA8B;AAEvB,MAAM,kBAAkB,GAAG,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAA2B,EAAE,EAAE;
|
|
1
|
+
{"version":3,"file":"TsSearchHeader.js","sourceRoot":"","sources":["../../../src/layouts/TsSearchHeader/TsSearchHeader.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -4,11 +4,29 @@ import { TsIcon } from '../../components/TsIcon/TsIcon';
|
|
|
4
4
|
import { TsLoader } from '../../components/TsLoader/TsLoader';
|
|
5
5
|
import './TsSearchHeader.css';
|
|
6
6
|
|
|
7
|
-
export const TsSearchHeaderItem = ({ id, label, onClick }: TsSearchHeaderItemProps) => {
|
|
7
|
+
export const TsSearchHeaderItem = ({ id, label, value, onClick }: TsSearchHeaderItemProps) => {
|
|
8
|
+
const getBeforeMatch = (label: any) => {
|
|
9
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
10
|
+
return label.substring(0, matchStartIndex);
|
|
11
|
+
};
|
|
12
|
+
const getMatch = (label: any) => {
|
|
13
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
14
|
+
const matchEndIndex = matchStartIndex + value.length;
|
|
15
|
+
return label.substring(matchStartIndex, matchEndIndex);
|
|
16
|
+
};
|
|
17
|
+
const getAfterMatch = (label: any) => {
|
|
18
|
+
const matchStartIndex = label.toLowerCase().indexOf(value.toLowerCase());
|
|
19
|
+
const matchEndIndex = matchStartIndex + value.length;
|
|
20
|
+
return label.substring(matchEndIndex);
|
|
21
|
+
};
|
|
8
22
|
// Rendering
|
|
9
23
|
return (
|
|
10
24
|
<button className="ts-search-header-item" id={id} onClick={onClick}>
|
|
11
|
-
<div className="ts-search-header-item-label">
|
|
25
|
+
<div className="ts-search-header-item-label">
|
|
26
|
+
{getBeforeMatch(label)}
|
|
27
|
+
<span className="ts-header-search-item--match">{getMatch(label)}</span>
|
|
28
|
+
{getAfterMatch(label)}
|
|
29
|
+
</div>
|
|
12
30
|
</button>
|
|
13
31
|
);
|
|
14
32
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
2
|
|
|
3
|
-
export type TsSearchHeaderItemProps = { id: string; label: string; onClick?: () => void };
|
|
3
|
+
export type TsSearchHeaderItemProps = { id: string; label: string; value: string, onClick?: () => void };
|
|
4
4
|
export type TsSearchHeaderProps = {
|
|
5
5
|
placeholder?: string;
|
|
6
6
|
noItemMessage?: string;
|