@powerhousedao/design-system 6.2.0-dev.4 → 6.2.0-dev.40
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/{command-DK7bdu7x.d.ts → command-B5BuEBfZ.d.ts} +8 -8
- package/dist/{command-DK7bdu7x.d.ts.map → command-B5BuEBfZ.d.ts.map} +1 -1
- package/dist/connect/components/toast/toast.d.ts.map +1 -1
- package/dist/connect/components/toast/toast.js +5 -5
- package/dist/connect/components/toast/toast.js.map +1 -1
- package/dist/connect/index.d.ts +49 -4
- package/dist/connect/index.d.ts.map +1 -1
- package/dist/connect/index.js +810 -612
- package/dist/connect/index.js.map +1 -1
- package/dist/id-autocomplete-list-option-CB5B07Hi.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/json-viewer-DaTgmzkS.d.ts.map +1 -1
- package/dist/{src-BrrPQVce.js → src-CfIIbIOi.js} +11 -11
- package/dist/src-CfIIbIOi.js.map +1 -0
- package/dist/style.css +79 -16
- package/dist/ui/components/button/button.js +1 -1
- package/dist/ui/components/button/button.js.map +1 -1
- package/dist/ui/components/character-counter/character-counter.js +6 -6
- package/dist/ui/components/character-counter/character-counter.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox-base.js +1 -1
- package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox.js +1 -1
- package/dist/ui/components/checkbox/checkbox.js.map +1 -1
- package/dist/ui/components/command/command.d.ts +1 -1
- package/dist/ui/components/command/command.js +5 -5
- package/dist/ui/components/command/command.js.map +1 -1
- package/dist/ui/components/form-description/form-description.js +1 -1
- package/dist/ui/components/form-description/form-description.js.map +1 -1
- package/dist/ui/components/form-label/form-label.js +3 -3
- package/dist/ui/components/form-label/form-label.js.map +1 -1
- package/dist/ui/components/form-message/form-message.js +3 -3
- package/dist/ui/components/form-message/form-message.js.map +1 -1
- package/dist/ui/components/form-message/message-list.js +3 -3
- package/dist/ui/components/form-message/message-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +3 -3
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +10 -10
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
- package/dist/ui/components/index.d.ts +1 -1
- package/dist/ui/components/input/input.js +1 -1
- package/dist/ui/components/input/input.js.map +1 -1
- package/dist/ui/components/input/splitted-input-diff.js +2 -2
- package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.js +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.js +3 -3
- package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
- package/dist/ui/components/json-viewer/json-viewer.js +6 -5
- package/dist/ui/components/json-viewer/json-viewer.js.map +1 -1
- package/dist/ui/components/popover/popover.js +1 -1
- package/dist/ui/components/popover/popover.js.map +1 -1
- package/dist/ui/components/radio-group-field/radio.js +3 -3
- package/dist/ui/components/radio-group-field/radio.js.map +1 -1
- package/dist/ui/components/search-autocomplete/search-autocomplete.js +13 -13
- package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
- package/dist/ui/components/select-field/content.js +8 -8
- package/dist/ui/components/select-field/content.js.map +1 -1
- package/dist/ui/components/select-field/select-field.js +1 -1
- package/dist/ui/components/select-field/select-field.js.map +1 -1
- package/dist/ui/components/select-field/selected-content.js +7 -7
- package/dist/ui/components/select-field/selected-content.js.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js +9 -9
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
- package/dist/ui/components/sidebar/sidebar.js +5 -5
- package/dist/ui/components/sidebar/sidebar.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.js +3 -3
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +7 -7
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js +4 -4
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +5 -5
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/status-icon.js +6 -6
- package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -1
- package/dist/ui/components/tooltip/tooltip.js +1 -1
- package/dist/ui/components/tooltip/tooltip.js.map +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/package.json +23 -8
- package/theme.css +145 -17
- package/dist/src-BrrPQVce.js.map +0 -1
package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-result-counter.js","names":["SearchResultCounter","isSearching","activeIndex","totalResults"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"sourcesContent":["interface SearchResultCounterProps {\n isSearching: boolean;\n activeIndex: number;\n totalResults: number;\n}\n\nexport const SearchResultCounter: React.FC<SearchResultCounterProps> = ({\n isSearching,\n activeIndex,\n totalResults,\n}) => {\n if (isSearching) {\n return
|
|
1
|
+
{"version":3,"file":"search-result-counter.js","names":["SearchResultCounter","isSearching","activeIndex","totalResults"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.tsx"],"sourcesContent":["interface SearchResultCounterProps {\n isSearching: boolean;\n activeIndex: number;\n totalResults: number;\n}\n\nexport const SearchResultCounter: React.FC<SearchResultCounterProps> = ({\n isSearching,\n activeIndex,\n totalResults,\n}) => {\n if (isSearching) {\n return <div className=\"h-4 w-6 animate-pulse rounded-sm bg-secondary\" />;\n }\n\n return (\n <div className=\"text-xs\">\n {totalResults > 0 ? (\n <>\n <span className=\"text-foreground\">{activeIndex + 1}</span>\n <span className=\"text-muted-foreground\">/{totalResults}</span>\n </>\n ) : (\n <span className=\"text-muted-foreground\">0/0</span>\n )}\n </div>\n );\n};\n"],"mappings":";;AAMA,MAAaA,uBAA2D,EACtEC,aACAC,aACAC,mBACI;AACJ,KAAIF,YACF,QAAO,oBAAC,OAAD,EAAK,WAAU,iDAAkD,CAAA;AAG1E,QACE,oBAAC,OAAD;EAAK,WAAU;YACZE,eAAe,IACd,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,QAAD;GAAM,WAAU;aAAmBD,cAAc;GAAQ,CAAA,EACzD,qBAAC,QAAD;GAAM,WAAU;aAAhB,CAAwC,KAAEC,aAAmB;KAC5D,EAAA,CAAA,GAEH,oBAAC,QAAD;GAAM,WAAU;aAAwB;GACzC,CAAA;EACG,CAAA"}
|
|
@@ -15,7 +15,7 @@ const SidebarSearch = ({ showStatusFilter }) => {
|
|
|
15
15
|
if (searchControlsRef.current) setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);
|
|
16
16
|
}, [searchTerm]);
|
|
17
17
|
return /* @__PURE__ */ jsxs("div", {
|
|
18
|
-
className: "flex w-full gap-2 border-t border-
|
|
18
|
+
className: "flex w-full gap-2 border-t border-sidebar-border p-2",
|
|
19
19
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
20
20
|
className: "relative flex-1",
|
|
21
21
|
children: [
|
|
@@ -35,7 +35,7 @@ const SidebarSearch = ({ showStatusFilter }) => {
|
|
|
35
35
|
/* @__PURE__ */ jsx(Search, {
|
|
36
36
|
height: 16,
|
|
37
37
|
width: 16,
|
|
38
|
-
className: "absolute top-1/2 left-2 -translate-y-1/2 text-
|
|
38
|
+
className: "absolute top-1/2 left-2 -translate-y-1/2 text-foreground"
|
|
39
39
|
}),
|
|
40
40
|
searchTerm && /* @__PURE__ */ jsxs("div", {
|
|
41
41
|
ref: searchControlsRef,
|
|
@@ -47,7 +47,7 @@ const SidebarSearch = ({ showStatusFilter }) => {
|
|
|
47
47
|
totalResults: searchResults.length
|
|
48
48
|
}),
|
|
49
49
|
/* @__PURE__ */ jsxs("div", {
|
|
50
|
-
className: "flex flex-col text-
|
|
50
|
+
className: "flex flex-col text-muted-foreground",
|
|
51
51
|
children: [/* @__PURE__ */ jsx(SearchNavigationArrow, {
|
|
52
52
|
direction: "up",
|
|
53
53
|
isDisabled: activeSearchIndex === 0,
|
|
@@ -62,7 +62,7 @@ const SidebarSearch = ({ showStatusFilter }) => {
|
|
|
62
62
|
onClick: () => changeSearchTerm(""),
|
|
63
63
|
height: 16,
|
|
64
64
|
width: 16,
|
|
65
|
-
className: "cursor-pointer text-
|
|
65
|
+
className: "cursor-pointer text-muted-foreground hover:hover-effect active:active-effect"
|
|
66
66
|
})
|
|
67
67
|
]
|
|
68
68
|
})
|
|
@@ -71,7 +71,7 @@ const SidebarSearch = ({ showStatusFilter }) => {
|
|
|
71
71
|
type: "button",
|
|
72
72
|
onClick: toggleStatusFilter,
|
|
73
73
|
tabIndex: 1,
|
|
74
|
-
className: twMerge("rounded-md border border-
|
|
74
|
+
className: twMerge("rounded-md border border-border px-2 py-1 text-sm text-muted-foreground", isStatusFilterEnabled ? "border-info bg-info/10 text-info" : "hover:hover-effect"),
|
|
75
75
|
children: /* @__PURE__ */ jsx(Tabler, {
|
|
76
76
|
height: 16,
|
|
77
77
|
width: 16
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-search.js","names":["useLayoutEffect","useRef","useState","twMerge","Input","CrossCircle","Search","Tabler","useSidebar","SearchNavigationArrow","SearchResultCounter","SidebarSearch","showStatusFilter","searchTerm","isSearching","searchResults","activeSearchIndex","isStatusFilterEnabled","changeSearchTerm","nextSearchResult","previousSearchResult","toggleStatusFilter","searchControlsRef","searchControlsPaddingRight","setSearchControlsPaddingRight","current","clientWidth","e","target","value","key","paddingRight","length"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Input } from \"../../../input/input.js\";\nimport CrossCircle from \"../../../../../powerhouse/components/icon-components/CrossCircle.js\";\nimport Search from \"../../../../../powerhouse/components/icon-components/Search.js\";\nimport Tabler from \"../../../../../powerhouse/components/icon-components/Tabler.js\";\nimport { useSidebar } from \"../sidebar-provider/index.js\";\nimport { SearchNavigationArrow } from \"./search-navigation-arrow.js\";\nimport { SearchResultCounter } from \"./search-result-counter.js\";\n\ninterface SidebarSearchProps {\n showStatusFilter: boolean;\n}\n\nexport const SidebarSearch: React.FC<SidebarSearchProps> = ({\n showStatusFilter,\n}) => {\n const {\n searchTerm,\n isSearching,\n searchResults,\n activeSearchIndex,\n isStatusFilterEnabled,\n changeSearchTerm,\n nextSearchResult,\n previousSearchResult,\n toggleStatusFilter,\n } = useSidebar();\n const searchControlsRef = useRef<HTMLDivElement>(null);\n const [searchControlsPaddingRight, setSearchControlsPaddingRight] =\n useState(16);\n\n useLayoutEffect(() => {\n if (searchControlsRef.current) {\n setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);\n }\n }, [searchTerm]);\n\n return (\n <div className=\"flex w-full gap-2 border-t border-
|
|
1
|
+
{"version":3,"file":"sidebar-search.js","names":["useLayoutEffect","useRef","useState","twMerge","Input","CrossCircle","Search","Tabler","useSidebar","SearchNavigationArrow","SearchResultCounter","SidebarSearch","showStatusFilter","searchTerm","isSearching","searchResults","activeSearchIndex","isStatusFilterEnabled","changeSearchTerm","nextSearchResult","previousSearchResult","toggleStatusFilter","searchControlsRef","searchControlsPaddingRight","setSearchControlsPaddingRight","current","clientWidth","e","target","value","key","paddingRight","length"],"sources":["../../../../../../src/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.tsx"],"sourcesContent":["import { useLayoutEffect, useRef, useState } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { Input } from \"../../../input/input.js\";\nimport CrossCircle from \"../../../../../powerhouse/components/icon-components/CrossCircle.js\";\nimport Search from \"../../../../../powerhouse/components/icon-components/Search.js\";\nimport Tabler from \"../../../../../powerhouse/components/icon-components/Tabler.js\";\nimport { useSidebar } from \"../sidebar-provider/index.js\";\nimport { SearchNavigationArrow } from \"./search-navigation-arrow.js\";\nimport { SearchResultCounter } from \"./search-result-counter.js\";\n\ninterface SidebarSearchProps {\n showStatusFilter: boolean;\n}\n\nexport const SidebarSearch: React.FC<SidebarSearchProps> = ({\n showStatusFilter,\n}) => {\n const {\n searchTerm,\n isSearching,\n searchResults,\n activeSearchIndex,\n isStatusFilterEnabled,\n changeSearchTerm,\n nextSearchResult,\n previousSearchResult,\n toggleStatusFilter,\n } = useSidebar();\n const searchControlsRef = useRef<HTMLDivElement>(null);\n const [searchControlsPaddingRight, setSearchControlsPaddingRight] =\n useState(16);\n\n useLayoutEffect(() => {\n if (searchControlsRef.current) {\n setSearchControlsPaddingRight(searchControlsRef.current.clientWidth + 16);\n }\n }, [searchTerm]);\n\n return (\n <div className=\"flex w-full gap-2 border-t border-sidebar-border p-2\">\n <div className=\"relative flex-1\">\n <Input\n type=\"search\"\n value={searchTerm}\n onChange={(e) => changeSearchTerm(e.target.value)}\n onKeyDown={(e) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\") {\n nextSearchResult();\n } else if (e.key === \"ArrowUp\") {\n previousSearchResult();\n }\n }}\n tabIndex={1}\n placeholder=\"Search\"\n className=\"w-full appearance-none pl-8 [&::-webkit-search-cancel-button]:hidden\"\n style={{ paddingRight: searchControlsPaddingRight }}\n />\n\n <Search\n height={16}\n width={16}\n className=\"absolute top-1/2 left-2 -translate-y-1/2 text-foreground\"\n />\n\n {/* Search controls - only shown when there's a search term */}\n {searchTerm && (\n <div\n ref={searchControlsRef}\n className=\"absolute top-1/2 right-2 flex -translate-y-1/2 items-center gap-2 select-none\"\n >\n <SearchResultCounter\n isSearching={isSearching}\n activeIndex={activeSearchIndex}\n totalResults={searchResults.length}\n />\n\n <div className=\"flex flex-col text-muted-foreground\">\n <SearchNavigationArrow\n direction=\"up\"\n isDisabled={activeSearchIndex === 0}\n onClick={previousSearchResult}\n />\n <SearchNavigationArrow\n direction=\"down\"\n isDisabled={activeSearchIndex === searchResults.length - 1}\n onClick={nextSearchResult}\n />\n </div>\n\n {/* Clear search button */}\n <CrossCircle\n onClick={() => changeSearchTerm(\"\")}\n height={16}\n width={16}\n className=\"cursor-pointer text-muted-foreground hover:hover-effect active:active-effect\"\n />\n </div>\n )}\n </div>\n\n {showStatusFilter && (\n <button\n type=\"button\"\n onClick={toggleStatusFilter}\n tabIndex={1}\n className={twMerge(\n \"rounded-md border border-border px-2 py-1 text-sm text-muted-foreground\",\n isStatusFilterEnabled\n ? \"border-info bg-info/10 text-info\"\n : \"hover:hover-effect\",\n )}\n >\n <Tabler height={16} width={16} />\n </button>\n )}\n </div>\n );\n};\n"],"mappings":";;;;;;;;;AAcA,MAAaW,iBAA+C,EAC1DC,uBACI;CACJ,MAAM,EACJC,YACAC,aACAC,eACAC,mBACAC,uBACAC,kBACAC,kBACAC,sBACAC,uBACEb,YAAY;CAChB,MAAMc,oBAAoBrB,OAAuB,KAAK;CACtD,MAAM,CAACsB,4BAA4BC,iCACjCtB,SAAS,GAAG;AAEdF,uBAAsB;AACpB,MAAIsB,kBAAkBG,QACpBD,+BAA8BF,kBAAkBG,QAAQC,cAAc,GAAG;IAE1E,CAACb,WAAW,CAAC;AAEhB,QACE,qBAAC,OAAD;EAAK,WAAU;YAAf,CACE,qBAAC,OAAD;GAAK,WAAU;aAAf;IACE,oBAAC,OAAD;KACE,MAAK;KACL,OAAOA;KACP,WAAWc,MAAMT,iBAAiBS,EAAEC,OAAOC,MAAM;KACjD,YAAYF,MAAM;AAChB,UAAIA,EAAEG,QAAQ,eAAeH,EAAEG,QAAQ,QACrCX,mBAAkB;eACTQ,EAAEG,QAAQ,UACnBV,uBAAsB;;KAG1B,UAAU;KACV,aAAY;KACZ,WAAU;KACV,OAAO,EAAEW,cAAcR,4BAA4B;KAAC,CAAA;IAGtD,oBAAC,QAAD;KACE,QAAQ;KACR,OAAO;KACP,WAAU;KAA0D,CAAA;IAIrEV,cACC,qBAAC,OAAD;KACE,KAAKS;KACL,WAAU;eAFZ;MAIE,oBAAC,qBAAD;OACeR;OACb,aAAaE;OACb,cAAcD,cAAciB;OAAO,CAAA;MAGrC,qBAAC,OAAD;OAAK,WAAU;iBAAf,CACE,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYhB,sBAAsB;QAClC,SAASI;QAAqB,CAAA,EAEhC,oBAAC,uBAAD;QACE,WAAU;QACV,YAAYJ,sBAAsBD,cAAciB,SAAS;QACzD,SAASb;QAAiB,CAAA,CAEzB;;MAGL,oBAAC,aAAD;OACE,eAAeD,iBAAiB,GAAG;OACnC,QAAQ;OACR,OAAO;OACP,WAAU;OAA8E,CAAA;MAG7F;;IACE;MAEJN,oBACC,oBAAC,UAAD;GACE,MAAK;GACL,SAASS;GACT,UAAU;GACV,WAAWlB,QACT,2EACAc,wBACI,qCACA,qBACL;aAED,oBAAC,QAAD;IAAQ,QAAQ;IAAI,OAAO;IAAG,CAAA;GAEjC,CAAA,CACG"}
|
|
@@ -10,8 +10,8 @@ const SidebarSkeletonItem = ({ depth, textWidth, style }) => {
|
|
|
10
10
|
style: { paddingLeft: depth * 24 + 8 },
|
|
11
11
|
children: [/* @__PURE__ */ jsx("div", {
|
|
12
12
|
className: "flex size-4 min-w-4 items-center justify-center",
|
|
13
|
-
children: /* @__PURE__ */ jsx("div", { className: "size-4 min-w-4 animate-pulse rounded-sm bg-
|
|
14
|
-
}), /* @__PURE__ */ jsx("div", { className: twMerge("h-4 animate-pulse rounded-sm bg-
|
|
13
|
+
children: /* @__PURE__ */ jsx("div", { className: "size-4 min-w-4 animate-pulse rounded-sm bg-secondary" })
|
|
14
|
+
}), /* @__PURE__ */ jsx("div", { className: twMerge("h-4 animate-pulse rounded-sm bg-secondary", textWidth) })]
|
|
15
15
|
})
|
|
16
16
|
});
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar-skeleton-item.js","names":["twMerge","SidebarSkeletonItem","depth","textWidth","style","paddingLeft"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ninterface SidebarSkeletonItemProps {\n depth: number;\n textWidth: string;\n style?: React.CSSProperties;\n}\n\nexport const SidebarSkeletonItem = ({\n depth,\n textWidth,\n style,\n}: SidebarSkeletonItemProps) => {\n const paddingLeft = depth * 24;\n\n return (\n <div style={style} className=\"flex items-center px-2\">\n <div\n className=\"flex h-8 w-full items-center gap-2 px-2 py-1\"\n style={{ paddingLeft: paddingLeft + 8 }}\n >\n {/* Chevron icon skeleton */}\n <div className=\"flex size-4 min-w-4 items-center justify-center\">\n <div className=\"size-4 min-w-4 animate-pulse rounded-sm bg-
|
|
1
|
+
{"version":3,"file":"sidebar-skeleton-item.js","names":["twMerge","SidebarSkeletonItem","depth","textWidth","style","paddingLeft"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/sidebar-skeleton-item.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\n\ninterface SidebarSkeletonItemProps {\n depth: number;\n textWidth: string;\n style?: React.CSSProperties;\n}\n\nexport const SidebarSkeletonItem = ({\n depth,\n textWidth,\n style,\n}: SidebarSkeletonItemProps) => {\n const paddingLeft = depth * 24;\n\n return (\n <div style={style} className=\"flex items-center px-2\">\n <div\n className=\"flex h-8 w-full items-center gap-2 px-2 py-1\"\n style={{ paddingLeft: paddingLeft + 8 }}\n >\n {/* Chevron icon skeleton */}\n <div className=\"flex size-4 min-w-4 items-center justify-center\">\n <div className=\"size-4 min-w-4 animate-pulse rounded-sm bg-secondary\" />\n </div>\n\n {/* Text content skeleton */}\n <div\n className={twMerge(\n \"h-4 animate-pulse rounded-sm bg-secondary\",\n textWidth,\n )}\n />\n </div>\n </div>\n );\n};\n"],"mappings":";;;AAQA,MAAaC,uBAAuB,EAClCC,OACAC,WACAC,YAC8B;AAG9B,QACE,oBAAC,OAAD;EAAYA;EAAO,WAAU;YAC3B,qBAAC,OAAD;GACE,WAAU;GACV,OAAO,EAAEC,aANKH,QAAQ,KAMc,GAAG;aAFzC,CAKE,oBAAC,OAAD;IAAK,WAAU;cACb,oBAAC,OAAD,EAAK,WAAU,wDAAsD,CAAA;IAClE,CAAA,EAGL,oBAAC,OAAD,EACE,WAAWF,QACT,6CACAG,UACD,EAAC,CAAA,CAED;;EACD,CAAA"}
|
|
@@ -6,34 +6,34 @@ const STATUS_ICON_MAP = {
|
|
|
6
6
|
[NodeStatus.CREATED]: { icon: /* @__PURE__ */ jsx(Created, {
|
|
7
7
|
height: 16,
|
|
8
8
|
width: 16,
|
|
9
|
-
className: "text-
|
|
9
|
+
className: "text-success"
|
|
10
10
|
}) },
|
|
11
11
|
[NodeStatus.MODIFIED]: { icon: /* @__PURE__ */ jsx(Modified, {
|
|
12
12
|
height: 16,
|
|
13
13
|
width: 16,
|
|
14
|
-
className: "text-
|
|
14
|
+
className: "text-info"
|
|
15
15
|
}) },
|
|
16
16
|
[NodeStatus.REMOVED]: { icon: /* @__PURE__ */ jsx(Removed, {
|
|
17
17
|
height: 16,
|
|
18
18
|
width: 16,
|
|
19
|
-
className: "text-
|
|
19
|
+
className: "text-destructive"
|
|
20
20
|
}) },
|
|
21
21
|
[NodeStatus.MOVED]: { icon: /* @__PURE__ */ jsx(Moved, {
|
|
22
22
|
height: 16,
|
|
23
23
|
width: 16,
|
|
24
|
-
className: "text-
|
|
24
|
+
className: "text-info"
|
|
25
25
|
}) },
|
|
26
26
|
[NodeStatus.DUPLICATED]: { icon: /* @__PURE__ */ jsx(Duplicated, {
|
|
27
27
|
height: 16,
|
|
28
28
|
width: 16,
|
|
29
|
-
className: "text-
|
|
29
|
+
className: "text-info"
|
|
30
30
|
}) }
|
|
31
31
|
};
|
|
32
32
|
const StatusIcon = ({ status, isDescendenceModified }) => {
|
|
33
33
|
if (status === NodeStatus.UNCHANGED) return isDescendenceModified ? /* @__PURE__ */ jsx(DescendenceModified, {
|
|
34
34
|
height: 16,
|
|
35
35
|
width: 16,
|
|
36
|
-
className: "text-
|
|
36
|
+
className: "text-muted-foreground"
|
|
37
37
|
}) : null;
|
|
38
38
|
return STATUS_ICON_MAP[status].icon;
|
|
39
39
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-icon.js","names":["Created","DescendenceModified","Duplicated","Modified","Moved","Removed","NodeStatus","STATUS_ICON_MAP","CREATED","icon","MODIFIED","REMOVED","MOVED","DUPLICATED","StatusIcon","status","isDescendenceModified","UNCHANGED"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"sourcesContent":["import Created from \"../../../../powerhouse/components/icon-components/Created.js\";\nimport DescendenceModified from \"../../../../powerhouse/components/icon-components/DescendenceModified.js\";\nimport Duplicated from \"../../../../powerhouse/components/icon-components/Duplicated.js\";\nimport Modified from \"../../../../powerhouse/components/icon-components/Modified.js\";\nimport Moved from \"../../../../powerhouse/components/icon-components/Moved.js\";\nimport Removed from \"../../../../powerhouse/components/icon-components/Removed.js\";\nimport { NodeStatus } from \"../types.js\";\n\ninterface StatusIconProps {\n status: NodeStatus;\n isDescendenceModified?: boolean;\n}\n\nconst STATUS_ICON_MAP: Record<\n Exclude<NodeStatus, NodeStatus.UNCHANGED>,\n { icon: React.ReactNode }\n> = {\n [NodeStatus.CREATED]: {\n icon: <Created height={16} width={16} className=\"text-
|
|
1
|
+
{"version":3,"file":"status-icon.js","names":["Created","DescendenceModified","Duplicated","Modified","Moved","Removed","NodeStatus","STATUS_ICON_MAP","CREATED","icon","MODIFIED","REMOVED","MOVED","DUPLICATED","StatusIcon","status","isDescendenceModified","UNCHANGED"],"sources":["../../../../../src/ui/components/sidebar/subcomponents/status-icon.tsx"],"sourcesContent":["import Created from \"../../../../powerhouse/components/icon-components/Created.js\";\nimport DescendenceModified from \"../../../../powerhouse/components/icon-components/DescendenceModified.js\";\nimport Duplicated from \"../../../../powerhouse/components/icon-components/Duplicated.js\";\nimport Modified from \"../../../../powerhouse/components/icon-components/Modified.js\";\nimport Moved from \"../../../../powerhouse/components/icon-components/Moved.js\";\nimport Removed from \"../../../../powerhouse/components/icon-components/Removed.js\";\nimport { NodeStatus } from \"../types.js\";\n\ninterface StatusIconProps {\n status: NodeStatus;\n isDescendenceModified?: boolean;\n}\n\nconst STATUS_ICON_MAP: Record<\n Exclude<NodeStatus, NodeStatus.UNCHANGED>,\n { icon: React.ReactNode }\n> = {\n [NodeStatus.CREATED]: {\n icon: <Created height={16} width={16} className=\"text-success\" />,\n },\n [NodeStatus.MODIFIED]: {\n icon: <Modified height={16} width={16} className=\"text-info\" />,\n },\n [NodeStatus.REMOVED]: {\n icon: <Removed height={16} width={16} className=\"text-destructive\" />,\n },\n [NodeStatus.MOVED]: {\n icon: <Moved height={16} width={16} className=\"text-info\" />,\n },\n [NodeStatus.DUPLICATED]: {\n icon: <Duplicated height={16} width={16} className=\"text-info\" />,\n },\n};\n\nexport const StatusIcon = ({\n status,\n isDescendenceModified,\n}: StatusIconProps) => {\n if (status === NodeStatus.UNCHANGED) {\n return isDescendenceModified ? (\n <DescendenceModified\n height={16}\n width={16}\n className=\"text-muted-foreground\"\n />\n ) : null;\n }\n\n return STATUS_ICON_MAP[status].icon;\n};\n"],"mappings":";;;;AAaA,MAAMO,kBAGF;EACDD,WAAWE,UAAU,EACpBC,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAc,CAAA,EAC/D;EACAH,WAAWI,WAAW,EACrBD,MAAM,oBAAC,UAAD;EAAU,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAW,CAAA,EAC7D;EACAH,WAAWK,UAAU,EACpBF,MAAM,oBAAC,SAAD;EAAS,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAkB,CAAA,EACnE;EACAH,WAAWM,QAAQ,EAClBH,MAAM,oBAAC,OAAD;EAAO,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAW,CAAA,EAC1D;EACAH,WAAWO,aAAa,EACvBJ,MAAM,oBAAC,YAAD;EAAY,QAAQ;EAAI,OAAO;EAAI,WAAU;EAAW,CAAA,EAChE;CACD;AAED,MAAaK,cAAc,EACzBC,QACAC,4BACqB;AACrB,KAAID,WAAWT,WAAWW,UACxB,QAAOD,wBACL,oBAAC,qBAAD;EACE,QAAQ;EACR,OAAO;EACP,WAAU;EACV,CAAA,GACA;AAGN,QAAOT,gBAAgBQ,QAAQN"}
|
|
@@ -7,7 +7,7 @@ const TooltipContent = /* @__PURE__ */ forwardRef(({ children, className, ...pro
|
|
|
7
7
|
return /* @__PURE__ */ jsx(Content, {
|
|
8
8
|
ref,
|
|
9
9
|
...props,
|
|
10
|
-
className: twMerge("z-50 overflow-hidden rounded-md text-sm", "border border-
|
|
10
|
+
className: twMerge("z-50 overflow-hidden rounded-md text-sm", "border border-border bg-popover text-popover-foreground", "px-3 py-1.5 shadow-md", "data-[state=open]:animate-zoom-in", "data-[state=closed]:animate-zoom-out", "data-[side=bottom]:animate-slide-in-from-top", "data-[side=left]:animate-slide-in-from-right", "data-[side=right]:animate-slide-in-from-left", "data-[side=top]:animate-slide-in-from-bottom", className),
|
|
11
11
|
children
|
|
12
12
|
});
|
|
13
13
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","names":["twMerge","Content","Portal","Provider","Root","Trigger","forwardRef","TooltipContent","children","className","props","ref","Tooltip","content","triggerAsChild","delayDuration","open","defaultOpen","onOpenChange","rest","undefined","TooltipProvider","TooltipRoot","TooltipTrigger"],"sources":["../../../../src/ui/components/tooltip/tooltip.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport type {\n TooltipContentProps,\n TooltipProps as TooltipPrimitiveProps,\n} from \"@radix-ui/react-tooltip\";\nimport {\n Content,\n Portal,\n Provider,\n Root,\n Trigger,\n} from \"@radix-ui/react-tooltip\";\nimport { forwardRef } from \"react\";\n\ninterface TooltipProps\n extends TooltipPrimitiveProps, Omit<TooltipContentProps, \"content\"> {\n content: React.ReactNode;\n className?: string;\n triggerAsChild?: boolean;\n}\n\nconst TooltipContent = forwardRef<\n React.ElementRef<typeof Content>,\n TooltipContentProps\n>(({ children, className, ...props }, ref) => {\n return (\n <Content\n ref={ref}\n {...props}\n className={twMerge(\n // Base styles\n \"z-50 overflow-hidden rounded-md text-sm\",\n // Colors & Border\n \"border border-
|
|
1
|
+
{"version":3,"file":"tooltip.js","names":["twMerge","Content","Portal","Provider","Root","Trigger","forwardRef","TooltipContent","children","className","props","ref","Tooltip","content","triggerAsChild","delayDuration","open","defaultOpen","onOpenChange","rest","undefined","TooltipProvider","TooltipRoot","TooltipTrigger"],"sources":["../../../../src/ui/components/tooltip/tooltip.tsx"],"sourcesContent":["import { twMerge } from \"tailwind-merge\";\nimport type {\n TooltipContentProps,\n TooltipProps as TooltipPrimitiveProps,\n} from \"@radix-ui/react-tooltip\";\nimport {\n Content,\n Portal,\n Provider,\n Root,\n Trigger,\n} from \"@radix-ui/react-tooltip\";\nimport { forwardRef } from \"react\";\n\ninterface TooltipProps\n extends TooltipPrimitiveProps, Omit<TooltipContentProps, \"content\"> {\n content: React.ReactNode;\n className?: string;\n triggerAsChild?: boolean;\n}\n\nconst TooltipContent = forwardRef<\n React.ElementRef<typeof Content>,\n TooltipContentProps\n>(({ children, className, ...props }, ref) => {\n return (\n <Content\n ref={ref}\n {...props}\n className={twMerge(\n // Base styles\n \"z-50 overflow-hidden rounded-md text-sm\",\n // Colors & Border\n \"border border-border bg-popover text-popover-foreground\",\n // Padding & Shadow\n \"px-3 py-1.5 shadow-md\",\n // Animations\n \"data-[state=open]:animate-zoom-in\",\n \"data-[state=closed]:animate-zoom-out\",\n // Slide animations based on position\n \"data-[side=bottom]:animate-slide-in-from-top\",\n \"data-[side=left]:animate-slide-in-from-right\",\n \"data-[side=right]:animate-slide-in-from-left\",\n \"data-[side=top]:animate-slide-in-from-bottom\",\n className,\n )}\n >\n {children}\n </Content>\n );\n});\n\nconst Tooltip: React.FC<TooltipProps> = ({\n content,\n children,\n triggerAsChild = false,\n delayDuration = 0,\n ...props\n}) => {\n const { open, defaultOpen, onOpenChange, ...rest } = props;\n\n return (\n <Root\n defaultOpen={defaultOpen}\n delayDuration={delayDuration}\n onOpenChange={onOpenChange}\n open={open}\n >\n <Trigger\n asChild={triggerAsChild}\n type={triggerAsChild ? undefined : \"button\"} // Prevent form submission when default trigger is clicked\n >\n {children}\n </Trigger>\n <Portal>\n <TooltipContent sideOffset={3} {...rest}>\n {content}\n </TooltipContent>\n </Portal>\n </Root>\n );\n};\n\nexport {\n Tooltip,\n TooltipContent,\n Provider as TooltipProvider,\n Root as TooltipRoot,\n Trigger as TooltipTrigger,\n type TooltipProps,\n};\n"],"mappings":";;;;;AAqBA,MAAMO,iBAAiBD,4BAGpB,EAAEE,UAAUC,WAAW,GAAGC,SAASC,QAAQ;AAC5C,QACE,oBAAC,SAAD;EACOA;EACL,GAAID;EACJ,WAAWV,QAET,2CAEA,2DAEA,yBAEA,qCACA,wCAEA,gDACA,gDACA,gDACA,gDACAS,UACD;EAEAD;EACO,CAAA;EAEZ;AAEF,MAAMI,WAAmC,EACvCC,SACAL,UACAM,iBAAiB,OACjBC,gBAAgB,GAChB,GAAGL,YACC;CACJ,MAAM,EAAEM,MAAMC,aAAaC,cAAc,GAAGC,SAAST;AAErD,QACE,qBAAC,MAAD;EACeO;EACEF;EACDG;EACRF;YAJR,CAME,oBAAC,SAAD;GACE,SAASF;GACT,MAAMA,iBAAiBM,KAAAA,IAAY;GAElCZ;GACM,CAAA,EACT,oBAAC,QAAD,EAAA,UACE,oBAAC,gBAAD;GAAgB,YAAY;GAAG,GAAIW;aAChCN;GACa,CAAA,EACV,CAAA,CACH"}
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -4,7 +4,7 @@ import { n as ButtonProps, r as buttonVariants, t as Button } from "../button-C8
|
|
|
4
4
|
import { n as CharacterCounterProps, t as CharacterCounter } from "../character-counter-BWoglM2P.js";
|
|
5
5
|
import { n as CheckboxValue, t as CheckboxBase } from "../checkbox-base-CZo-4eL0.js";
|
|
6
6
|
import { n as CheckboxProps, t as Checkbox } from "../checkbox-CGBtXQnI.js";
|
|
7
|
-
import { a as CommandItem, i as CommandInput, n as CommandEmpty, o as CommandList, r as CommandGroup, s as CommandLoading, t as Command } from "../command-
|
|
7
|
+
import { a as CommandItem, i as CommandInput, n as CommandEmpty, o as CommandList, r as CommandGroup, s as CommandLoading, t as Command } from "../command-B5BuEBfZ.js";
|
|
8
8
|
import { n as RadioGroupFieldProps, t as RadioGroupField } from "../radio-group-field-BN654-SO.js";
|
|
9
9
|
import { n as SelectFieldProps, r as SelectFieldRaw, t as SelectField } from "../select-field-C97QIhUL.js";
|
|
10
10
|
import { n as EnumFieldProps, t as EnumField } from "../enum-field-Cct-i2Uz.js";
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@powerhousedao/design-system",
|
|
3
|
-
"version": "6.2.0-dev.
|
|
4
|
-
"description": "",
|
|
3
|
+
"version": "6.2.0-dev.40",
|
|
4
|
+
"description": "Powerhouse document-engineering design system — GraphQL scalar UI components for building consistent Powerhouse editors.",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist",
|
|
7
7
|
"theme.css"
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"type": "module",
|
|
10
10
|
"repository": {
|
|
11
11
|
"type": "git",
|
|
12
|
-
"url": "https://github.com/powerhouse-inc/powerhouse"
|
|
12
|
+
"url": "https://github.com/powerhouse-inc/powerhouse",
|
|
13
|
+
"directory": "packages/design-system"
|
|
13
14
|
},
|
|
14
15
|
"publishConfig": {
|
|
15
16
|
"access": "public"
|
|
@@ -64,7 +65,7 @@
|
|
|
64
65
|
"bugs": {
|
|
65
66
|
"url": "https://github.com/powerhouse-inc/design-system/issues"
|
|
66
67
|
},
|
|
67
|
-
"homepage": "https://
|
|
68
|
+
"homepage": "https://academy.vetra.io/academy/Reference/EditorsUI/DocumentEngineering",
|
|
68
69
|
"devDependencies": {
|
|
69
70
|
"@babel/core": "^7.29.0",
|
|
70
71
|
"@babel/plugin-transform-react-pure-annotations": "^7.27.1",
|
|
@@ -107,9 +108,9 @@
|
|
|
107
108
|
"tailwindcss": "4.2.2",
|
|
108
109
|
"tsdown": "0.21.1",
|
|
109
110
|
"tsx": "4.21.0",
|
|
110
|
-
"vite": "8.0.
|
|
111
|
+
"vite": "8.0.10",
|
|
111
112
|
"vitest": "4.1.1",
|
|
112
|
-
"@powerhousedao/config": "6.2.0-dev.
|
|
113
|
+
"@powerhousedao/config": "6.2.0-dev.40"
|
|
113
114
|
},
|
|
114
115
|
"peerDependencies": {
|
|
115
116
|
"react": ">=19.0.0",
|
|
@@ -143,9 +144,23 @@
|
|
|
143
144
|
"tailwind-merge": "3.4.0",
|
|
144
145
|
"type-fest": "5.6.0",
|
|
145
146
|
"usehooks-ts": "^3.1.1",
|
|
146
|
-
"@powerhousedao/
|
|
147
|
-
"@powerhousedao/
|
|
147
|
+
"@powerhousedao/shared": "6.2.0-dev.40",
|
|
148
|
+
"@powerhousedao/reactor-browser": "6.2.0-dev.40"
|
|
148
149
|
},
|
|
150
|
+
"keywords": [
|
|
151
|
+
"powerhouse",
|
|
152
|
+
"vetra",
|
|
153
|
+
"document-model",
|
|
154
|
+
"local-first",
|
|
155
|
+
"event-sourcing",
|
|
156
|
+
"design-system",
|
|
157
|
+
"components",
|
|
158
|
+
"react",
|
|
159
|
+
"graphql",
|
|
160
|
+
"scalars",
|
|
161
|
+
"ui",
|
|
162
|
+
"editor"
|
|
163
|
+
],
|
|
149
164
|
"scripts": {
|
|
150
165
|
"tsc": "tsc",
|
|
151
166
|
"lint": "eslint",
|
package/theme.css
CHANGED
|
@@ -15,16 +15,6 @@
|
|
|
15
15
|
--color-gray-700: hsl(189 5% 29%);
|
|
16
16
|
--color-gray-800: hsl(200 4% 26%);
|
|
17
17
|
--color-gray-900: hsl(192 5% 21%);
|
|
18
|
-
--color-gray-50: hsl(0 0% 99%);
|
|
19
|
-
--color-gray-100: hsl(0 0% 96%);
|
|
20
|
-
--color-gray-200: hsl(0 0% 94%);
|
|
21
|
-
--color-gray-300: hsl(210 3% 85%);
|
|
22
|
-
--color-gray-400: hsl(180 2% 78%);
|
|
23
|
-
--color-gray-500: hsl(200 2% 63%);
|
|
24
|
-
--color-gray-600: hsl(200 4% 44%);
|
|
25
|
-
--color-gray-700: hsl(189 5% 29%);
|
|
26
|
-
--color-gray-800: hsl(200 4% 26%);
|
|
27
|
-
--color-gray-900: hsl(192 5% 21%);
|
|
28
18
|
--color-slate-50: hsl(210 20% 99%);
|
|
29
19
|
--color-slate-100: hsl(210 20% 96%);
|
|
30
20
|
--color-slate-200: hsl(210 9% 90%);
|
|
@@ -35,7 +25,8 @@
|
|
|
35
25
|
--color-slate-700: hsl(204 9% 11%);
|
|
36
26
|
--color-slate-800: hsl(195 9% 9%);
|
|
37
27
|
--color-slate-900: hsl(195 6% 6%);
|
|
38
|
-
--color-blue-
|
|
28
|
+
--color-blue-50: hsl(209 100% 96%);
|
|
29
|
+
--color-blue-100: hsl(209 100% 89%);
|
|
39
30
|
--color-blue-200: hsl(209 97% 85%);
|
|
40
31
|
--color-blue-300: hsl(209 100% 80%);
|
|
41
32
|
--color-blue-400: hsl(209 100% 75%);
|
|
@@ -44,7 +35,8 @@
|
|
|
44
35
|
--color-blue-700: hsl(209 100% 60%);
|
|
45
36
|
--color-blue-800: hsl(209 100% 55%);
|
|
46
37
|
--color-blue-900: hsl(209 100% 50%);
|
|
47
|
-
--color-green-
|
|
38
|
+
--color-green-50: hsl(134 51% 96%);
|
|
39
|
+
--color-green-100: hsl(134 51% 89%);
|
|
48
40
|
--color-green-200: hsl(135 52% 83%);
|
|
49
41
|
--color-green-300: hsl(136 52% 77%);
|
|
50
42
|
--color-green-400: hsl(136 53% 72%);
|
|
@@ -53,7 +45,8 @@
|
|
|
53
45
|
--color-green-700: hsl(136 52% 55%);
|
|
54
46
|
--color-green-800: hsl(136 53% 49%);
|
|
55
47
|
--color-green-900: hsl(136 53% 43%);
|
|
56
|
-
--color-purple-
|
|
48
|
+
--color-purple-50: hsl(262 79% 96%);
|
|
49
|
+
--color-purple-100: hsl(262 79% 89%);
|
|
57
50
|
--color-purple-200: hsl(263 79% 89%);
|
|
58
51
|
--color-purple-300: hsl(263 79% 85%);
|
|
59
52
|
--color-purple-400: hsl(264 77% 81%);
|
|
@@ -62,7 +55,8 @@
|
|
|
62
55
|
--color-purple-700: hsl(263 78% 70%);
|
|
63
56
|
--color-purple-800: hsl(263 78% 66%);
|
|
64
57
|
--color-purple-900: hsl(263 78% 63%);
|
|
65
|
-
--color-red-
|
|
58
|
+
--color-red-50: hsl(3 82% 96%);
|
|
59
|
+
--color-red-100: hsl(3 82% 89%);
|
|
66
60
|
--color-red-200: hsl(3 82% 91%);
|
|
67
61
|
--color-red-300: hsl(6 82% 87%);
|
|
68
62
|
--color-red-400: hsl(5 82% 83%);
|
|
@@ -71,7 +65,8 @@
|
|
|
71
65
|
--color-red-700: hsl(4 81% 69%);
|
|
72
66
|
--color-red-800: hsl(5 81% 61%);
|
|
73
67
|
--color-red-900: hsl(5 81% 56%);
|
|
74
|
-
--color-orange-
|
|
68
|
+
--color-orange-50: hsl(33 100% 96%);
|
|
69
|
+
--color-orange-100: hsl(33 100% 89%);
|
|
75
70
|
--color-orange-200: hsl(32 100% 85%);
|
|
76
71
|
--color-orange-300: hsl(32 100% 80%);
|
|
77
72
|
--color-orange-400: hsl(32 100% 75%);
|
|
@@ -80,7 +75,8 @@
|
|
|
80
75
|
--color-orange-700: hsl(32 100% 60%);
|
|
81
76
|
--color-orange-800: hsl(33 100% 55%);
|
|
82
77
|
--color-orange-900: hsl(32 100% 50%);
|
|
83
|
-
--color-yellow-
|
|
78
|
+
--color-yellow-50: hsl(46 100% 96%);
|
|
79
|
+
--color-yellow-100: hsl(46 100% 89%);
|
|
84
80
|
--color-yellow-200: hsl(47 100% 86%);
|
|
85
81
|
--color-yellow-300: hsl(47 100% 79%);
|
|
86
82
|
--color-yellow-400: hsl(47 100% 69%);
|
|
@@ -89,7 +85,8 @@
|
|
|
89
85
|
--color-yellow-700: hsl(47 100% 51%);
|
|
90
86
|
--color-yellow-800: hsl(47 100% 50%);
|
|
91
87
|
--color-yellow-900: hsl(47 100% 49%);
|
|
92
|
-
--color-charcoal-
|
|
88
|
+
--color-charcoal-50: hsl(214 16% 96%);
|
|
89
|
+
--color-charcoal-100: hsl(214 16% 89%);
|
|
93
90
|
--color-charcoal-200: hsl(219 17% 84%);
|
|
94
91
|
--color-charcoal-300: hsl(221 17% 67%);
|
|
95
92
|
--color-charcoal-400: hsl(17 17% 58%);
|
|
@@ -229,3 +226,134 @@
|
|
|
229
226
|
}
|
|
230
227
|
}
|
|
231
228
|
}
|
|
229
|
+
|
|
230
|
+
:root {
|
|
231
|
+
--background: var(--color-gray-50);
|
|
232
|
+
--foreground: var(--color-gray-800);
|
|
233
|
+
--card: var(--color-white);
|
|
234
|
+
--card-foreground: var(--color-gray-800);
|
|
235
|
+
--popover: var(--color-white);
|
|
236
|
+
--popover-foreground: var(--color-gray-800);
|
|
237
|
+
--primary: var(--color-gray-800);
|
|
238
|
+
--primary-foreground: var(--color-white);
|
|
239
|
+
--secondary: var(--color-gray-200);
|
|
240
|
+
--secondary-foreground: var(--color-gray-700);
|
|
241
|
+
--muted: var(--color-gray-100);
|
|
242
|
+
--muted-foreground: var(--color-gray-500);
|
|
243
|
+
--accent: var(--color-gray-100);
|
|
244
|
+
--accent-foreground: var(--color-gray-800);
|
|
245
|
+
--border: var(--color-gray-200);
|
|
246
|
+
--input: var(--color-gray-200);
|
|
247
|
+
--ring: var(--color-blue-500);
|
|
248
|
+
--hover: 0.95;
|
|
249
|
+
--active: 0.9;
|
|
250
|
+
--disabled: 0.5;
|
|
251
|
+
|
|
252
|
+
--destructive: var(--color-red-900);
|
|
253
|
+
--destructive-foreground: var(--color-white);
|
|
254
|
+
--info: var(--color-blue-900);
|
|
255
|
+
--info-foreground: var(--color-white);
|
|
256
|
+
--success: var(--color-green-900);
|
|
257
|
+
--success-foreground: var(--color-white);
|
|
258
|
+
--warning: var(--color-orange-900);
|
|
259
|
+
--warning-foreground: var(--color-white);
|
|
260
|
+
|
|
261
|
+
--chart-1: var(--color-blue-600);
|
|
262
|
+
--chart-2: var(--color-green-600);
|
|
263
|
+
--chart-3: var(--color-orange-600);
|
|
264
|
+
--chart-4: var(--color-purple-600);
|
|
265
|
+
--chart-5: var(--color-red-600);
|
|
266
|
+
|
|
267
|
+
--sidebar: var(--background);
|
|
268
|
+
--sidebar-foreground: var(--foreground);
|
|
269
|
+
--sidebar-primary: var(--primary);
|
|
270
|
+
--sidebar-primary-foreground: var(--primary-foreground);
|
|
271
|
+
--sidebar-accent: var(--accent);
|
|
272
|
+
--sidebar-accent-foreground: var(--accent-foreground);
|
|
273
|
+
--sidebar-border: var(--border);
|
|
274
|
+
--sidebar-ring: var(--ring);
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
.dark {
|
|
278
|
+
--background: var(--color-slate-800);
|
|
279
|
+
--foreground: var(--color-slate-100);
|
|
280
|
+
--card: var(--color-slate-700);
|
|
281
|
+
--card-foreground: var(--color-slate-100);
|
|
282
|
+
--popover: var(--color-slate-700);
|
|
283
|
+
--popover-foreground: var(--color-slate-100);
|
|
284
|
+
--primary: var(--color-slate-100);
|
|
285
|
+
--primary-foreground: var(--color-slate-900);
|
|
286
|
+
--secondary: var(--color-slate-600);
|
|
287
|
+
--secondary-foreground: var(--color-slate-100);
|
|
288
|
+
--muted: var(--color-slate-700);
|
|
289
|
+
--muted-foreground: var(--color-slate-300);
|
|
290
|
+
--accent: var(--color-slate-700);
|
|
291
|
+
--accent-foreground: var(--color-slate-100);
|
|
292
|
+
--border: var(--color-slate-500);
|
|
293
|
+
--input: var(--color-slate-500);
|
|
294
|
+
--hover: 1.25;
|
|
295
|
+
--active: 1.4;
|
|
296
|
+
}
|
|
297
|
+
|
|
298
|
+
@theme inline {
|
|
299
|
+
--color-background: var(--background);
|
|
300
|
+
--color-foreground: var(--foreground);
|
|
301
|
+
--color-card: var(--card);
|
|
302
|
+
--color-card-foreground: var(--card-foreground);
|
|
303
|
+
--color-popover: var(--popover);
|
|
304
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
305
|
+
--color-primary: var(--primary);
|
|
306
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
307
|
+
--color-secondary: var(--secondary);
|
|
308
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
309
|
+
--color-muted: var(--muted);
|
|
310
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
311
|
+
--color-accent: var(--accent);
|
|
312
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
313
|
+
--color-destructive: var(--destructive);
|
|
314
|
+
--color-destructive-foreground: var(--destructive-foreground);
|
|
315
|
+
--color-border: var(--border);
|
|
316
|
+
--color-input: var(--input);
|
|
317
|
+
--color-ring: var(--ring);
|
|
318
|
+
|
|
319
|
+
--color-info: var(--info);
|
|
320
|
+
--color-info-foreground: var(--info-foreground);
|
|
321
|
+
--color-success: var(--success);
|
|
322
|
+
--color-success-foreground: var(--success-foreground);
|
|
323
|
+
--color-warning: var(--warning);
|
|
324
|
+
--color-warning-foreground: var(--warning-foreground);
|
|
325
|
+
|
|
326
|
+
--color-chart-1: var(--chart-1);
|
|
327
|
+
--color-chart-2: var(--chart-2);
|
|
328
|
+
--color-chart-3: var(--chart-3);
|
|
329
|
+
--color-chart-4: var(--chart-4);
|
|
330
|
+
--color-chart-5: var(--chart-5);
|
|
331
|
+
|
|
332
|
+
--color-sidebar: var(--sidebar);
|
|
333
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
334
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
335
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
336
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
337
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
338
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
339
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
@utility hover-effect {
|
|
343
|
+
filter: brightness(var(--hover));
|
|
344
|
+
transition: filter 0.2s ease-in-out;
|
|
345
|
+
cursor: pointer;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
@utility active-effect {
|
|
349
|
+
filter: brightness(var(--active));
|
|
350
|
+
transition: filter 0.1s ease-in-out;
|
|
351
|
+
}
|
|
352
|
+
|
|
353
|
+
@utility disabled-effect {
|
|
354
|
+
cursor: not-allowed;
|
|
355
|
+
opacity: var(--disabled);
|
|
356
|
+
filter: grayscale(1);
|
|
357
|
+
outline: none;
|
|
358
|
+
box-shadow: none;
|
|
359
|
+
}
|