@e-llm-studio/requirement-ai 0.0.277 → 0.0.278
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/dist/cjs/features/RequirementAI/components/project-tag-selector/ProjectTagSelector.js +1 -1
- package/dist/features/RequirementAI/components/project-tag-selector/ProjectTagSelector.js +1 -1
- package/dist/types/src/features/RequirementAI/components/project-tag-selector/ProjectTagSelector.d.ts +27 -0
- package/dist/types/src/features/RequirementAI/components/project-tag-selector/ProjectTagSelector.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/features/RequirementAI/components/project-tag-selector/ProjectTagSelector.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),l=require("lucide-react"),s=require("./ProjectTagSelector.module.css.js");exports.default=({selectedProjectTag:a,projectTags:o,isLoading:n=!1,onOpen:c,onProjectTagChange:r,
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react/jsx-runtime"),t=require("react"),l=require("lucide-react"),s=require("./ProjectTagSelector.module.css.js");exports.default=({selectedProjectTag:a,projectTags:o,isLoading:n=!1,onOpen:c,onProjectTagChange:r,triggerPrefix:i="Project : ",title:d="Modify the project tag for this requirement",controlled:u=!1,debounceMs:j=300,visibleItems:h=6,itemHeight:m=52,className:p="",width:v="460px",customStyles:f})=>{const g=t.useRef(null),[x,y]=t.useState(!1),[N,T]=t.useState(""),[b,I]=t.useState(""),[S,C]=t.useState(a);t.useEffect(()=>{C(a)},[a]),t.useEffect(()=>{const e=window.setTimeout(()=>{I(N.trim())},j);return()=>{window.clearTimeout(e)}},[N,j]),t.useEffect(()=>{if(!x)return;const e=e=>{g.current&&!g.current.contains(e.target)&&P()};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[x]);const k=t.useCallback(()=>{y(!0),T(""),I(""),null==c||c()},[c]),P=t.useCallback(()=>{y(!1),T(""),I("")},[]),w=t.useCallback(e=>{u||C(e),null==r||r(e),P()},[u,P,r]),L=u?a:S,B=t.useMemo(()=>{if(!b)return o;const e=b.toLowerCase();return o.filter(t=>t.projectName.toLowerCase().includes(e))},[o,b]),z=h*m;return e.jsxs("div",{ref:g,className:`${s.default.container} ${p}`,style:{width:v,...null==f?void 0:f.container},children:[e.jsxs("div",{className:s.default.trigger,style:null==f?void 0:f.trigger,children:[e.jsx("button",{type:"button",onClick:k,"aria-expanded":x,"aria-haspopup":"listbox",className:s.default.projectTagButton,style:null==f?void 0:f.projectTagButton,children:e.jsxs("span",{className:s.default.truncate,style:null==f?void 0:f.truncate,children:[i,L.projectName]})}),e.jsx("button",{type:"button",onClick:k,"aria-label":"Modify Project Tag",className:s.default.editButton,style:null==f?void 0:f.editButton,children:e.jsx(l.Pencil,{size:20,strokeWidth:1.8,style:null==f?void 0:f.editIcon})})]}),x&&e.jsxs("div",{className:s.default.dropdown,style:{width:v,...null==f?void 0:f.dropdown},children:[e.jsxs("div",{className:s.default.header,style:null==f?void 0:f.header,children:[e.jsx("h3",{className:s.default.title,style:null==f?void 0:f.title,children:d}),e.jsx("button",{type:"button",onClick:P,"aria-label":"Close Project Tag selector",className:s.default.closeButton,style:null==f?void 0:f.closeButton,children:e.jsx(l.X,{size:22,strokeWidth:2,style:null==f?void 0:f.closeIcon})})]}),e.jsx("div",{className:s.default.searchSection,style:null==f?void 0:f.searchSection,children:e.jsxs("div",{className:s.default.searchWrapper,style:null==f?void 0:f.searchWrapper,children:[e.jsx(l.Search,{size:26,strokeWidth:1.7,className:s.default.searchIcon,style:null==f?void 0:f.searchIcon}),e.jsx("input",{type:"text",value:N,onChange:e=>T(e.target.value),placeholder:"Search Project",className:s.default.searchInput,style:null==f?void 0:f.searchInput}),N&&e.jsx("button",{type:"button",onClick:()=>T(""),"aria-label":"Clear Project Tag search",className:s.default.clearSearchButton,style:null==f?void 0:f.clearSearchButton,children:e.jsx(l.X,{size:17,style:null==f?void 0:f.clearSearchIcon})})]})}),e.jsxs("div",{className:s.default.projectTagList,style:{height:`${z}px`,...null==f?void 0:f.projectTagList},role:"listbox","aria-label":"Project Tags",children:[n&&0===o.length&&e.jsx("div",{className:s.default.emptyState,style:null==f?void 0:f.emptyState,children:e.jsxs("div",{className:s.default.loadingContent,style:null==f?void 0:f.loadingContent,children:[e.jsx(l.Loader2,{size:22,className:s.default.loadingIcon,style:null==f?void 0:f.loadingIcon}),e.jsx("span",{className:s.default.loadingText,style:null==f?void 0:f.loadingText,children:"Loading Project Tags..."})]})}),!n&&0===B.length&&e.jsx("div",{className:s.default.emptyState,style:null==f?void 0:f.emptyState,children:e.jsx("span",{className:s.default.noResultsText,style:null==f?void 0:f.noResultsText,children:"No Project Tags found"})}),B.map(t=>{const a=t.projectId===L.projectId;return e.jsxs("button",{type:"button",role:"option","aria-selected":a,onClick:()=>w(t),className:`${s.default.projectTagItem} ${a?s.default.projectTagItemSelected:""}`,style:{...null==f?void 0:f.projectTagItem,...a?null==f?void 0:f.projectTagItemSelected:{}},children:[e.jsx("span",{className:s.default.projectTagName,style:null==f?void 0:f.projectTagName,children:t.projectName}),a&&e.jsx(l.Check,{size:21,strokeWidth:2.5,className:s.default.checkIcon,style:null==f?void 0:f.checkIcon})]},t.projectId)})]})]})]})};
|
|
2
2
|
//# sourceMappingURL=ProjectTagSelector.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as l,useState as o,useEffect as
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{useRef as l,useState as o,useEffect as n,useCallback as a,useMemo as s}from"react";import{Pencil as r,X as c,Search as i,Loader2 as d,Check as u}from"lucide-react";import m from"./ProjectTagSelector.module.css.js";const h=({selectedProjectTag:h,projectTags:p,isLoading:v=!1,onOpen:g,onProjectTagChange:y,triggerPrefix:j="Project : ",title:N="Modify the project tag for this requirement",controlled:T=!1,debounceMs:I=300,visibleItems:b=6,itemHeight:f=52,className:S="",width:w="460px",customStyles:x})=>{const C=l(null),[P,k]=o(!1),[B,L]=o(""),[z,W]=o(""),[$,M]=o(h);n(()=>{M(h)},[h]),n(()=>{const e=window.setTimeout(()=>{W(B.trim())},I);return()=>{window.clearTimeout(e)}},[B,I]),n(()=>{if(!P)return;const e=e=>{C.current&&!C.current.contains(e.target)&&R()};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[P]);const E=a(()=>{k(!0),L(""),W(""),null==g||g()},[g]),R=a(()=>{k(!1),L(""),W("")},[]),q=a(e=>{T||M(e),null==y||y(e),R()},[T,R,y]),H=T?h:$,O=s(()=>{if(!z)return p;const e=z.toLowerCase();return p.filter(t=>t.projectName.toLowerCase().includes(e))},[p,z]),A=b*f;return e("div",{ref:C,className:`${m.container} ${S}`,style:{width:w,...null==x?void 0:x.container},children:[e("div",{className:m.trigger,style:null==x?void 0:x.trigger,children:[t("button",{type:"button",onClick:E,"aria-expanded":P,"aria-haspopup":"listbox",className:m.projectTagButton,style:null==x?void 0:x.projectTagButton,children:e("span",{className:m.truncate,style:null==x?void 0:x.truncate,children:[j,H.projectName]})}),t("button",{type:"button",onClick:E,"aria-label":"Modify Project Tag",className:m.editButton,style:null==x?void 0:x.editButton,children:t(r,{size:20,strokeWidth:1.8,style:null==x?void 0:x.editIcon})})]}),P&&e("div",{className:m.dropdown,style:{width:w,...null==x?void 0:x.dropdown},children:[e("div",{className:m.header,style:null==x?void 0:x.header,children:[t("h3",{className:m.title,style:null==x?void 0:x.title,children:N}),t("button",{type:"button",onClick:R,"aria-label":"Close Project Tag selector",className:m.closeButton,style:null==x?void 0:x.closeButton,children:t(c,{size:22,strokeWidth:2,style:null==x?void 0:x.closeIcon})})]}),t("div",{className:m.searchSection,style:null==x?void 0:x.searchSection,children:e("div",{className:m.searchWrapper,style:null==x?void 0:x.searchWrapper,children:[t(i,{size:26,strokeWidth:1.7,className:m.searchIcon,style:null==x?void 0:x.searchIcon}),t("input",{type:"text",value:B,onChange:e=>L(e.target.value),placeholder:"Search Project",className:m.searchInput,style:null==x?void 0:x.searchInput}),B&&t("button",{type:"button",onClick:()=>L(""),"aria-label":"Clear Project Tag search",className:m.clearSearchButton,style:null==x?void 0:x.clearSearchButton,children:t(c,{size:17,style:null==x?void 0:x.clearSearchIcon})})]})}),e("div",{className:m.projectTagList,style:{height:`${A}px`,...null==x?void 0:x.projectTagList},role:"listbox","aria-label":"Project Tags",children:[v&&0===p.length&&t("div",{className:m.emptyState,style:null==x?void 0:x.emptyState,children:e("div",{className:m.loadingContent,style:null==x?void 0:x.loadingContent,children:[t(d,{size:22,className:m.loadingIcon,style:null==x?void 0:x.loadingIcon}),t("span",{className:m.loadingText,style:null==x?void 0:x.loadingText,children:"Loading Project Tags..."})]})}),!v&&0===O.length&&t("div",{className:m.emptyState,style:null==x?void 0:x.emptyState,children:t("span",{className:m.noResultsText,style:null==x?void 0:x.noResultsText,children:"No Project Tags found"})}),O.map(l=>{const o=l.projectId===H.projectId;return e("button",{type:"button",role:"option","aria-selected":o,onClick:()=>q(l),className:`${m.projectTagItem} ${o?m.projectTagItemSelected:""}`,style:{...null==x?void 0:x.projectTagItem,...o?null==x?void 0:x.projectTagItemSelected:{}},children:[t("span",{className:m.projectTagName,style:null==x?void 0:x.projectTagName,children:l.projectName}),o&&t(u,{size:21,strokeWidth:2.5,className:m.checkIcon,style:null==x?void 0:x.checkIcon})]},l.projectId)})]})]})]})};export{h as default};
|
|
2
2
|
//# sourceMappingURL=ProjectTagSelector.js.map
|
|
@@ -10,15 +10,18 @@ export interface ProjectTagSelectorCustomStyles {
|
|
|
10
10
|
projectTagButton?: React.CSSProperties;
|
|
11
11
|
truncate?: React.CSSProperties;
|
|
12
12
|
editButton?: React.CSSProperties;
|
|
13
|
+
editIcon?: React.CSSProperties;
|
|
13
14
|
dropdown?: React.CSSProperties;
|
|
14
15
|
header?: React.CSSProperties;
|
|
15
16
|
title?: React.CSSProperties;
|
|
16
17
|
closeButton?: React.CSSProperties;
|
|
18
|
+
closeIcon?: React.CSSProperties;
|
|
17
19
|
searchSection?: React.CSSProperties;
|
|
18
20
|
searchWrapper?: React.CSSProperties;
|
|
19
21
|
searchIcon?: React.CSSProperties;
|
|
20
22
|
searchInput?: React.CSSProperties;
|
|
21
23
|
clearSearchButton?: React.CSSProperties;
|
|
24
|
+
clearSearchIcon?: React.CSSProperties;
|
|
22
25
|
projectTagList?: React.CSSProperties;
|
|
23
26
|
emptyState?: React.CSSProperties;
|
|
24
27
|
loadingContent?: React.CSSProperties;
|
|
@@ -52,6 +55,23 @@ export interface ProjectTagSelectorProps {
|
|
|
52
55
|
* Called whenever a Project Tag is selected.
|
|
53
56
|
*/
|
|
54
57
|
onProjectTagChange?: (projectTag: ProjectTagOption) => void;
|
|
58
|
+
/**
|
|
59
|
+
* Text shown before the selected Project Tag name in
|
|
60
|
+
* the trigger. Pass an empty string to show the name
|
|
61
|
+
* on its own.
|
|
62
|
+
*/
|
|
63
|
+
triggerPrefix?: string;
|
|
64
|
+
/**
|
|
65
|
+
* Heading shown at the top of the dropdown.
|
|
66
|
+
*/
|
|
67
|
+
title?: string;
|
|
68
|
+
/**
|
|
69
|
+
* Treat `selectedProjectTag` as the single source of
|
|
70
|
+
* truth. By default the selector also updates itself
|
|
71
|
+
* as soon as an option is clicked, which a parent that
|
|
72
|
+
* confirms (or rejects) the change cannot undo.
|
|
73
|
+
*/
|
|
74
|
+
controlled?: boolean;
|
|
55
75
|
/**
|
|
56
76
|
* Search debounce delay in milliseconds.
|
|
57
77
|
*/
|
|
@@ -60,6 +80,13 @@ export interface ProjectTagSelectorProps {
|
|
|
60
80
|
* Number of Project Tag rows visible before scrolling.
|
|
61
81
|
*/
|
|
62
82
|
visibleItems?: number;
|
|
83
|
+
/**
|
|
84
|
+
* Height of a single Project Tag row, in pixels. Set
|
|
85
|
+
* this when overriding the row height through
|
|
86
|
+
* `customStyles.projectTagItem`, so the list viewport
|
|
87
|
+
* stays in step with it.
|
|
88
|
+
*/
|
|
89
|
+
itemHeight?: number;
|
|
63
90
|
/**
|
|
64
91
|
* Optional additional classes.
|
|
65
92
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProjectTagSelector.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/RequirementAI/components/project-tag-selector/ProjectTagSelector.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAUf,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,8BAA8B;IAC7C,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAChC,OAAO,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC9B,gBAAgB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACvC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,QAAQ,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC/B,MAAM,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,iBAAiB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACxC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,UAAU,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACjC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,WAAW,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAClC,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACpC,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,sBAAsB,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC7C,cAAc,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC;;OAEG;IACH,kBAAkB,EAAE,gBAAgB,CAAC;IAErC;;OAEG;IACH,WAAW,EAAE,gBAAgB,EAAE,CAAC;IAEhC;;OAEG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IAEpB;;OAEG;IACH,kBAAkB,CAAC,EAAE,CACnB,UAAU,EAAE,gBAAgB,KACzB,IAAI,CAAC;IAEV;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,YAAY,CAAC,EAAE,8BAA8B,CAAC;CAC/C;AAID,QAAA,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,uBAAuB,
|
|
1
|
+
{"version":3,"file":"ProjectTagSelector.d.ts","sourceRoot":"","sources":["../../../../../../../src/features/RequirementAI/components/project-tag-selector/ProjectTagSelector.tsx"],"names":[],"mappings":"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"}
|