@c-rex/components 0.0.6 → 0.0.9
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/autocomplete.cjs.js +215 -0
- package/dist/autocomplete.cjs.js.map +1 -0
- package/dist/autocomplete.d.cts +10 -0
- package/dist/autocomplete.d.ts +10 -0
- package/dist/autocomplete.esm.js +154 -0
- package/dist/autocomplete.esm.js.map +1 -0
- package/dist/blog-card.cjs.js +265 -0
- package/dist/blog-card.cjs.js.map +1 -0
- package/dist/{components/src/blog-card.d.ts → blog-card.d.cts} +5 -3
- package/dist/{src/blog-card.d.ts → blog-card.d.ts} +5 -3
- package/dist/blog-card.esm.js +192 -0
- package/dist/blog-card.esm.js.map +1 -0
- package/dist/blur-image.cjs.js +198 -0
- package/dist/blur-image.cjs.js.map +1 -0
- package/dist/blur-image.d.cts +7 -0
- package/dist/blur-image.d.ts +7 -0
- package/dist/blur-image.esm.js +125 -0
- package/dist/blur-image.esm.js.map +1 -0
- package/dist/breadcrumb.cjs.js +159 -0
- package/dist/breadcrumb.cjs.js.map +1 -0
- package/dist/breadcrumb.d.cts +10 -0
- package/dist/breadcrumb.d.ts +10 -0
- package/dist/breadcrumb.esm.js +98 -0
- package/dist/breadcrumb.esm.js.map +1 -0
- package/dist/empty.cjs.js +79 -0
- package/dist/empty.cjs.js.map +1 -0
- package/dist/empty.d.cts +5 -0
- package/dist/empty.d.ts +5 -0
- package/dist/empty.esm.js +18 -0
- package/dist/empty.esm.js.map +1 -0
- package/dist/navbar.cjs.js +134 -0
- package/dist/navbar.cjs.js.map +1 -0
- package/dist/navbar.d.cts +9 -0
- package/dist/navbar.d.ts +9 -0
- package/dist/navbar.esm.js +61 -0
- package/dist/navbar.esm.js.map +1 -0
- package/dist/providers/search-state-wrapper.cjs.js +113 -0
- package/dist/providers/search-state-wrapper.cjs.js.map +1 -0
- package/dist/{components/src/providers/search-state-wrapper.d.ts → providers/search-state-wrapper.d.cts} +5 -4
- package/dist/{src/providers → providers}/search-state-wrapper.d.ts +5 -4
- package/dist/providers/search-state-wrapper.esm.js +51 -0
- package/dist/providers/search-state-wrapper.esm.js.map +1 -0
- package/dist/result-list.cjs.js +321 -0
- package/dist/result-list.cjs.js.map +1 -0
- package/dist/result-list.d.cts +9 -0
- package/dist/result-list.d.ts +9 -0
- package/dist/result-list.esm.js +247 -0
- package/dist/result-list.esm.js.map +1 -0
- package/dist/result-view/blog-view.stories.cjs.js +372 -0
- package/dist/result-view/blog-view.stories.cjs.js.map +1 -0
- package/dist/result-view/blog-view.stories.d.cts +11 -0
- package/dist/result-view/blog-view.stories.d.ts +11 -0
- package/dist/result-view/blog-view.stories.esm.js +295 -0
- package/dist/result-view/blog-view.stories.esm.js.map +1 -0
- package/dist/result-view/blog.cjs.js +290 -0
- package/dist/result-view/blog.cjs.js.map +1 -0
- package/dist/result-view/blog.d.cts +9 -0
- package/dist/result-view/blog.d.ts +9 -0
- package/dist/result-view/blog.esm.js +220 -0
- package/dist/result-view/blog.esm.js.map +1 -0
- package/dist/result-view/table-view.stories.cjs.js +196 -0
- package/dist/result-view/table-view.stories.cjs.js.map +1 -0
- package/dist/result-view/table-view.stories.d.cts +11 -0
- package/dist/result-view/table-view.stories.d.ts +11 -0
- package/dist/result-view/table-view.stories.esm.js +131 -0
- package/dist/result-view/table-view.stories.esm.js.map +1 -0
- package/dist/result-view/table.cjs.js +116 -0
- package/dist/result-view/table.cjs.js.map +1 -0
- package/dist/result-view/table.d.cts +9 -0
- package/dist/result-view/table.d.ts +9 -0
- package/dist/result-view/table.esm.js +59 -0
- package/dist/result-view/table.esm.js.map +1 -0
- package/dist/sidebar.cjs.js +225 -0
- package/dist/sidebar.cjs.js.map +1 -0
- package/dist/sidebar.d.cts +12 -0
- package/dist/sidebar.d.ts +12 -0
- package/dist/sidebar.esm.js +164 -0
- package/dist/sidebar.esm.js.map +1 -0
- package/dist/stories/blog-card.stories.cjs.js +323 -0
- package/dist/stories/blog-card.stories.cjs.js.map +1 -0
- package/dist/stories/blog-card.stories.d.cts +9 -0
- package/dist/stories/blog-card.stories.d.ts +9 -0
- package/dist/stories/blog-card.stories.esm.js +242 -0
- package/dist/stories/blog-card.stories.esm.js.map +1 -0
- package/dist/stories/blur-image.stories.cjs.js +265 -0
- package/dist/stories/blur-image.stories.cjs.js.map +1 -0
- package/dist/stories/blur-image.stories.d.cts +37 -0
- package/dist/{components/src/stories → stories}/blur-image.stories.d.ts +12 -7
- package/dist/stories/blur-image.stories.esm.js +180 -0
- package/dist/stories/blur-image.stories.esm.js.map +1 -0
- package/dist/stories/breadcrumb.stories.cjs.js +214 -0
- package/dist/stories/breadcrumb.stories.cjs.js.map +1 -0
- package/dist/stories/breadcrumb.stories.d.cts +9 -0
- package/dist/stories/breadcrumb.stories.d.ts +9 -0
- package/dist/stories/breadcrumb.stories.esm.js +145 -0
- package/dist/stories/breadcrumb.stories.esm.js.map +1 -0
- package/dist/stories/empty.stories.cjs.js +93 -0
- package/dist/stories/empty.stories.cjs.js.map +1 -0
- package/dist/stories/empty.stories.d.cts +13 -0
- package/dist/stories/empty.stories.d.ts +13 -0
- package/dist/stories/empty.stories.esm.js +28 -0
- package/dist/stories/empty.stories.esm.js.map +1 -0
- package/dist/stories/navbar.stories.cjs.js +151 -0
- package/dist/stories/navbar.stories.cjs.js.map +1 -0
- package/dist/stories/navbar.stories.d.cts +8 -0
- package/dist/stories/navbar.stories.d.ts +8 -0
- package/dist/stories/navbar.stories.esm.js +74 -0
- package/dist/stories/navbar.stories.esm.js.map +1 -0
- package/dist/stories/sidebar.stories.cjs.js +327 -0
- package/dist/stories/sidebar.stories.cjs.js.map +1 -0
- package/dist/stories/sidebar.stories.d.cts +30 -0
- package/dist/stories/sidebar.stories.d.ts +30 -0
- package/dist/stories/sidebar.stories.esm.js +258 -0
- package/dist/stories/sidebar.stories.esm.js.map +1 -0
- package/package.json +30 -18
- package/dist/components/src/autocomplete.d.ts +0 -8
- package/dist/components/src/autocomplete.d.ts.map +0 -1
- package/dist/components/src/autocomplete.js +0 -36
- package/dist/components/src/blog-card.d.ts.map +0 -1
- package/dist/components/src/blog-card.js +0 -16
- package/dist/components/src/blur-image.d.ts +0 -4
- package/dist/components/src/blur-image.d.ts.map +0 -1
- package/dist/components/src/blur-image.js +0 -16
- package/dist/components/src/breadcrumb.d.ts +0 -9
- package/dist/components/src/breadcrumb.d.ts.map +0 -1
- package/dist/components/src/breadcrumb.js +0 -33
- package/dist/components/src/empty.d.ts +0 -3
- package/dist/components/src/empty.d.ts.map +0 -1
- package/dist/components/src/empty.js +0 -9
- package/dist/components/src/navbar.d.ts +0 -8
- package/dist/components/src/navbar.d.ts.map +0 -1
- package/dist/components/src/navbar.js +0 -14
- package/dist/components/src/providers/search-state-wrapper.d.ts.map +0 -1
- package/dist/components/src/providers/search-state-wrapper.js +0 -10
- package/dist/components/src/result-list.d.ts +0 -8
- package/dist/components/src/result-list.d.ts.map +0 -1
- package/dist/components/src/result-list.js +0 -16
- package/dist/components/src/result-view/blog-view.stories.d.ts +0 -7
- package/dist/components/src/result-view/blog-view.stories.d.ts.map +0 -1
- package/dist/components/src/result-view/blog-view.stories.js +0 -58
- package/dist/components/src/result-view/blog.d.ts +0 -8
- package/dist/components/src/result-view/blog.d.ts.map +0 -1
- package/dist/components/src/result-view/blog.js +0 -22
- package/dist/components/src/result-view/table-view.stories.d.ts +0 -7
- package/dist/components/src/result-view/table-view.stories.d.ts.map +0 -1
- package/dist/components/src/result-view/table-view.stories.js +0 -55
- package/dist/components/src/result-view/table.d.ts +0 -8
- package/dist/components/src/result-view/table.d.ts.map +0 -1
- package/dist/components/src/result-view/table.js +0 -26
- package/dist/components/src/sidebar.d.ts +0 -10
- package/dist/components/src/sidebar.d.ts.map +0 -1
- package/dist/components/src/sidebar.js +0 -10
- package/dist/components/src/stories/blog-card.stories.d.ts +0 -7
- package/dist/components/src/stories/blog-card.stories.d.ts.map +0 -1
- package/dist/components/src/stories/blog-card.stories.js +0 -42
- package/dist/components/src/stories/blur-image.stories.d.ts.map +0 -1
- package/dist/components/src/stories/blur-image.stories.js +0 -47
- package/dist/components/src/stories/breadcrumb.stories.d.ts +0 -7
- package/dist/components/src/stories/breadcrumb.stories.d.ts.map +0 -1
- package/dist/components/src/stories/breadcrumb.stories.js +0 -48
- package/dist/components/src/stories/empty.stories.d.ts +0 -10
- package/dist/components/src/stories/empty.stories.d.ts.map +0 -1
- package/dist/components/src/stories/empty.stories.js +0 -11
- package/dist/components/src/stories/navbar.stories.d.ts +0 -6
- package/dist/components/src/stories/navbar.stories.d.ts.map +0 -1
- package/dist/components/src/stories/navbar.stories.js +0 -14
- package/dist/components/src/stories/sidebar.stories.d.ts +0 -24
- package/dist/components/src/stories/sidebar.stories.d.ts.map +0 -1
- package/dist/components/src/stories/sidebar.stories.js +0 -80
- package/dist/components/tailwind.config.d.ts +0 -2
- package/dist/components/tailwind.config.d.ts.map +0 -1
- package/dist/components/tailwind.config.js +0 -15
- package/dist/config/src/index.d.ts +0 -4
- package/dist/config/src/index.d.ts.map +0 -1
- package/dist/config/src/index.js +0 -67
- package/dist/constants/src/index.d.ts +0 -17
- package/dist/constants/src/index.d.ts.map +0 -1
- package/dist/constants/src/index.js +0 -30
- package/dist/contexts/src/index.d.ts +0 -15
- package/dist/contexts/src/index.d.ts.map +0 -1
- package/dist/contexts/src/index.js +0 -18
- package/dist/interfaces/src/common.d.ts +0 -36
- package/dist/interfaces/src/common.d.ts.map +0 -1
- package/dist/interfaces/src/common.js +0 -2
- package/dist/interfaces/src/config.d.ts +0 -26
- package/dist/interfaces/src/config.d.ts.map +0 -1
- package/dist/interfaces/src/config.js +0 -2
- package/dist/interfaces/src/directoryNodes.d.ts +0 -8
- package/dist/interfaces/src/directoryNodes.d.ts.map +0 -1
- package/dist/interfaces/src/directoryNodes.js +0 -2
- package/dist/interfaces/src/documentTypes.d.ts +0 -7
- package/dist/interfaces/src/documentTypes.d.ts.map +0 -1
- package/dist/interfaces/src/documentTypes.js +0 -2
- package/dist/interfaces/src/index.d.ts +0 -7
- package/dist/interfaces/src/index.d.ts.map +0 -1
- package/dist/interfaces/src/index.js +0 -22
- package/dist/interfaces/src/informationUnits.d.ts +0 -53
- package/dist/interfaces/src/informationUnits.d.ts.map +0 -1
- package/dist/interfaces/src/informationUnits.js +0 -2
- package/dist/interfaces/src/treeOfContent.d.ts +0 -8
- package/dist/interfaces/src/treeOfContent.d.ts.map +0 -1
- package/dist/interfaces/src/treeOfContent.js +0 -2
- package/dist/src/autocomplete.d.ts +0 -8
- package/dist/src/autocomplete.d.ts.map +0 -1
- package/dist/src/blog-card.d.ts.map +0 -1
- package/dist/src/blur-image.d.ts +0 -4
- package/dist/src/blur-image.d.ts.map +0 -1
- package/dist/src/breadcrumb.d.ts +0 -9
- package/dist/src/breadcrumb.d.ts.map +0 -1
- package/dist/src/empty.d.ts +0 -3
- package/dist/src/empty.d.ts.map +0 -1
- package/dist/src/navbar.d.ts +0 -8
- package/dist/src/navbar.d.ts.map +0 -1
- package/dist/src/providers/search-state-wrapper.d.ts.map +0 -1
- package/dist/src/result-list.d.ts +0 -8
- package/dist/src/result-list.d.ts.map +0 -1
- package/dist/src/result-view/blog.d.ts +0 -8
- package/dist/src/result-view/blog.d.ts.map +0 -1
- package/dist/src/result-view/table.d.ts +0 -8
- package/dist/src/result-view/table.d.ts.map +0 -1
- package/dist/src/sidebar.d.ts +0 -10
- package/dist/src/sidebar.d.ts.map +0 -1
- package/dist/tailwind.config.d.ts +0 -2
- package/dist/tailwind.config.d.ts.map +0 -1
- package/dist/types/src/index.d.ts +0 -8
- package/dist/types/src/index.d.ts.map +0 -1
- package/dist/types/src/index.js +0 -2
- package/dist/utils/src/breadcrumbs.d.ts +0 -3
- package/dist/utils/src/breadcrumbs.d.ts.map +0 -1
- package/dist/utils/src/breadcrumbs.js +0 -14
- package/dist/utils/src/classMerge.d.ts +0 -3
- package/dist/utils/src/classMerge.d.ts.map +0 -1
- package/dist/utils/src/classMerge.js +0 -8
- package/dist/utils/src/index.d.ts +0 -5
- package/dist/utils/src/index.d.ts.map +0 -1
- package/dist/utils/src/index.js +0 -20
- package/dist/utils/src/treeOfContent.d.ts +0 -2
- package/dist/utils/src/treeOfContent.d.ts.map +0 -1
- package/dist/utils/src/treeOfContent.js +0 -85
- package/dist/utils/src/utils.d.ts +0 -8
- package/dist/utils/src/utils.d.ts.map +0 -1
- package/dist/utils/src/utils.js +0 -37
- package/src/autocomplete.tsx +0 -113
- package/src/blog-card.tsx +0 -87
- package/src/blur-image.tsx +0 -23
- package/src/breadcrumb.tsx +0 -81
- package/src/empty.tsx +0 -13
- package/src/navbar.tsx +0 -66
- package/src/providers/search-state-wrapper.tsx +0 -21
- package/src/result-list.tsx +0 -16
- package/src/result-view/blog-view.stories.tsx +0 -58
- package/src/result-view/blog.tsx +0 -38
- package/src/result-view/table-view.stories.tsx +0 -55
- package/src/result-view/table.tsx +0 -65
- package/src/sidebar.tsx +0 -76
- package/src/stories/blog-card.stories.tsx +0 -46
- package/src/stories/blur-image.stories.tsx +0 -51
- package/src/stories/breadcrumb.stories.tsx +0 -52
- package/src/stories/empty.stories.tsx +0 -14
- package/src/stories/navbar.stories.tsx +0 -16
- package/src/stories/sidebar.stories.tsx +0 -94
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/result-view/blog-view.stories.cjs.js","../../src/result-view/blog-view.stories.tsx","../../src/blog-card.tsx","../../../utils/src/classMerge.ts","../../src/blur-image.tsx","../../src/result-view/blog.tsx"],"names":["__create","Object","create","__defProp","defineProperty","__getOwnPropDesc","getOwnPropertyDescriptor","__getOwnPropNames","getOwnPropertyNames","__getProtoOf","getPrototypeOf","__hasOwnProp","prototype","hasOwnProperty","__export","target","all","name","get","enumerable","__copyProps","to","from","except","desc","key","call","__toESM","mod","isNodeMode","__esModule","value","__toCommonJS","blog_view_stories_exports","Default","default","blog_view_stories_default","module","exports","import_link","require","import_clsx","import_tailwind_merge","cn","inputs","twMerge","clsx","import_react","import_image","import_jsx_runtime","BlurImage","props","useState","isLoading","setLoading","jsx","Image","alt","className","onLoad","BlogCard","data","priority","horizontal","import_jsx_runtime2","jsxs","children","image","title","blurDataURL","width","height","placeholder","src","sizes","description","authors","date","Link","href","slug","BlogView","items","getTitle","labels","map","item","join","import_jsx_runtime3","index","_id","shortId","blog_default","meta","component","parameters","layout","tags","mockItems","id","language","languages","type","renditions","directoryNodes","args"],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAIA,WAAWC,OAAOC,MAAM;AAC5B,IAAIC,YAAYF,OAAOG,cAAc;AACrC,IAAIC,mBAAmBJ,OAAOK,wBAAwB;AACtD,IAAIC,oBAAoBN,OAAOO,mBAAmB;AAClD,IAAIC,eAAeR,OAAOS,cAAc;AACxC,IAAIC,eAAeV,OAAOW,SAAS,CAACC,cAAc;AAClD,IAAIC,WAAW,SAACC,QAAQC;IACtB,IAAK,IAAIC,QAAQD,IACfb,UAAUY,QAAQE,MAAM;QAAEC,KAAKF,GAAG,CAACC,KAAK;QAAEE,YAAY;IAAK;AAC/D;AACA,IAAIC,cAAc,SAACC,IAAIC,MAAMC,QAAQC;IACnC,IAAIF,QAAQ,CAAA,OAAOA,qCAAP,SAAOA,KAAG,MAAM,YAAY,OAAOA,SAAS,YAAY;YAC7D,kCAAA,2BAAA;;;gBAAA,IAAIG,MAAJ;gBACH,IAAI,CAACd,aAAae,IAAI,CAACL,IAAII,QAAQA,QAAQF,QACzCpB,UAAUkB,IAAII,KAAK;oBAAEP,KAAK;+BAAMI,IAAI,CAACG,IAAI;;oBAAEN,YAAY,CAAEK,CAAAA,OAAOnB,iBAAiBiB,MAAMG,IAAG,KAAMD,KAAKL,UAAU;gBAAC;;YAFpH,QAAK,YAAWZ,kBAAkBe,0BAA7B,SAAA,6BAAA,QAAA,yBAAA;;YAAA;YAAA;;;qBAAA,6BAAA;oBAAA;;;oBAAA;0BAAA;;;;IAGP;IACA,OAAOD;AACT;AACA,IAAIM,UAAU,SAACC,KAAKC,YAAYd;WAAYA,SAASa,OAAO,OAAO5B,SAASS,aAAamB,QAAQ,CAAC,GAAGR,YACnG,sEAAsE;IACtE,iEAAiE;IACjE,sEAAsE;IACtE,qEAAqE;IACrES,cAAc,CAACD,OAAO,CAACA,IAAIE,UAAU,GAAG3B,UAAUY,QAAQ,WAAW;QAAEgB,OAAOH;QAAKT,YAAY;IAAK,KAAKJ,QACzGa;;AAEF,IAAII,eAAe,SAACJ;WAAQR,YAAYjB,UAAU,CAAC,GAAG,cAAc;QAAE4B,OAAO;IAAK,IAAIH;;AAEtF,wCAAwC;AC7BxC,IAAAK,4BAAA,CAAA;AAAAnB,SAAAmB,2BAAA;IAAAC,SAAA;eAAAA;;IAAAC,SAAA;eAAAC;;AAAA;AAAAC,OAAAC,OAAA,GAAAN,aAAAC;ADqCA,oBAAoB;AErCpB,IAAAM,cAAiBZ,QAAAa,QAAA,cAAA;AFwCjB,6BAA6B;AGxC7B,IAAAC,cAAsCD,QAAA;AACtC,IAAAE,wBAAwBF,QAAA;AAEjB,SAASG;IAAA,IAAA,IAAA,OAAA,UAAA,QAAA,AAAMC,SAAN,UAAA,OAAA,OAAA,GAAA,OAAA,MAAA;QAAMA,OAAN,QAAA,SAAA,CAAA,KAAM;;IAClB,OAAA,CAAA,GAAOF,sBAAAG,OAAA,EAAA,CAAA,GAAQJ,YAAAK,IAAA,EAAKF;AACxB;AH0CA,qBAAqB;AI7CrB,IAAAG,eAAyBP,QAAA;AAEzB,IAAAQ,eAAkBrB,QAAAa,QAAA,eAAA;AAOV,IAAAS,qBAAAT,QAAA;AAJD,IAAMU,YAAY,SAACC;IACtB,IAA4B,wBAAA,CAAA,GAAIJ,aAAAK,QAAA,EAAS,WAAlCC,YAAqB,SAAVC,aAAU;IAE5B,OACI,aAAA,GAAA,CAAA,GAAAL,mBAAAM,GAAA,EAACP,aAAAQ,OAAAA,EAAA,wCACOL;QACJM,KAAKN,MAAMM,GAAA;QACXC,WAAWf,GACPQ,MAAMO,SAAA,EACN,4BACAL,YAAY,YAAY;QAE5BM,QAAQ;mBAAML,WAAW;;;AAGrC;AJ8CA,oBAAoB;AE/BA,IAAAL,sBAAAT,QAAA;AAhBb,IAAMoB,WAAW;QACpBC,aAAAA,MACAC,iBAAAA,oCACAC,YAAAA,4CAAa;IAEb,OACI,aAAA,GAAA,CAAA,GAAAC,oBAAAC,IAAA,EAAC,WAAA;QACGP,WAAWf,GACP,kBACAoB,aACM,mDACA;QAGTG,UAAA;YAAAL,KAAKM,KAAA,IACF,aAAA,GAAA,CAAA,GAAAH,oBAAAT,GAAA,EAAC,OAAA;gBAAIG,WAAU;gBACXQ,UAAA,aAAA,GAAA,CAAA,GAAAF,oBAAAT,GAAA,EAACL,WAAA;oBACGO,KAAKI,KAAKO,KAAA;oBACVC,aAAaR,KAAKQ,WAAA;oBAClBX,WAAWf,GACP,wCACAoB,aAAa,YAAY;oBAE7BO,OAAO;oBACPC,QAAQ;oBACRT,UAAAA;oBACAU,aAAY;oBACZC,KAAKZ,KAAKM,KAAA;oBACVO,OAAM;gBAAA;YACV;YAGR,aAAA,GAAA,CAAA,GAAAV,oBAAAC,IAAA,EAAC,OAAA;gBACGP,WAAWf,GACP,wBACAoB,aAAa,mBAAmB;gBAGpCG,UAAA;oBAAA,aAAA,GAAA,CAAA,GAAAF,oBAAAC,IAAA,EAAC,OAAA;wBAAIP,WAAU;wBACXQ,UAAA;4BAAA,aAAA,GAAA,CAAA,GAAAF,oBAAAT,GAAA,EAAC,MAAA;gCAAGG,WAAU;gCACTQ,UAAAL,KAAKO,KAAA;4BAAA;4BAETP,KAAKc,WAAA,IACF,aAAA,GAAA,CAAA,GAAAX,oBAAAT,GAAA,EAAC,KAAA;gCAAEG,WAAU;gCACRQ,UAAAL,KAAKc,WAAA;4BAAA;yBACV;oBAAA;oBAGR,aAAA,GAAA,CAAA,GAAAX,oBAAAC,IAAA,EAAC,OAAA;wBAAIP,WAAU;wBACXQ,UAAA;4BAAA,aAAA,GAAA,CAAA,GAAAF,oBAAAT,GAAA,EAAC,OAAA;gCAAIG,WAAU;gCACVQ,UAAAL,KAAKe,OAAA,IACF,aAAA,GAAA,CAAA,GAAAZ,oBAAAT,GAAA,EAAC,KAAA;oCAAEG,WAAU;oCAAiCQ,UAAAL,KAAKe,OAAA;gCAAA;4BAAQ;4BAIlEf,KAAKgB,IAAA,IACF,aAAA,GAAA,CAAA,GAAAb,oBAAAT,GAAA,EAAC,KAAA;gCAAEG,WAAU;gCAAiCQ,UAAAL,KAAKgB,IAAA;4BAAA;yBAAK;oBAAA;iBAEhE;YAAA;YAEJ,aAAA,GAAA,CAAA,GAAAb,oBAAAT,GAAA,EAAChB,YAAAuC,OAAAA,EAAA;gBAAKC,MAAMlB,KAAKmB,IAAA;gBAAMtB,WAAU;gBAAmB3C,QAAO;gBACvDmD,UAAA,aAAA,GAAA,CAAA,GAAAF,oBAAAT,GAAA,EAAC,QAAA;oBAAKG,WAAU;oBAAUQ,UAAA;gBAAA;YAAY;SAC1C;IAAA;AAGZ;AFuCA,2BAA2B;AK3GP,IAAAjB,sBAAAT,QAAA;AATpB,IAAMyC,WAA8B;QAAGC,cAAAA;IACnC,IAAMC,WAAW,SAACC;QACd,OAAOA,OAAOC,GAAA,CAAI,SAACC;mBAASA,KAAKvD,KAAK;WAAEwD,IAAA;IAC5C;IAEA,OACI,aAAA,GAAA,CAAA,GAAAC,oBAAAjC,GAAA,EAAC,OAAA;QAAIG,WAAU;QACVQ,UAAAgB,MAAMG,GAAA,CAAI,SAACC,MAAMG;YACd,OACI,aAAA,GAAA,CAAA,GAAAD,oBAAAjC,GAAA,EAACK,UAAA;gBAEGC,MAAM;oBACFO,OAAOe,SAASG,KAAKF,MAAM;oBAC3Bf,aAAa;oBACbF,OAAO;oBACPQ,aAAa;oBACbC,SAAS;oBACTc,KAAK;oBACLb,MAAM;oBACNG,MAAM,QAAoB,OAAZM,KAAKK,OAAO;gBAC9B;YAAA,GAVKF;QAajB;IAAC;AAGb;AAEA,IAAOG,eAAQX;ALmHf,wCAAwC;ACrJxC,IAAMY,OAA8B;IAChCzB,OAAO;IACP0B,WAAWF;IACXG,YAAY;QACRC,QAAQ;IACZ;IACAC,MAAM;QAAC;KAAU;AACrB;AAEA,IAAO7D,4BAAQyD;AAGf,IAAMK,YAAY;IACd;QACIC,IAAI;QACJR,SAAS;QACTP,QAAQ;YACJ;gBAAErD,OAAO;gBAA8BqE,UAAU;YAAQ;YACzD;gBAAErE,OAAO;gBAAuBqE,UAAU;YAAQ;SACtD;QACAC,WAAW;YAAC;SAAO;QACnBC,MAAM;QACNC,YAAY,EAAC;QACbC,gBAAgB,EAAC;IACrB;IACA;QACIL,IAAI;QACJR,SAAS;QACTP,QAAQ;YACJ;gBAAErD,OAAO;gBAAgCqE,UAAU;YAAQ;SAC/D;QACAC,WAAW;YAAC;SAAO;QACnBC,MAAM;QACNC,YAAY,EAAC;QACbC,gBAAgB,EAAC;IACrB;IACA;QACIL,IAAI;QACJR,SAAS;QACTP,QAAQ;YACJ;gBAAErD,OAAO;gBAAqBqE,UAAU;YAAQ;YAChD;gBAAErE,OAAO;gBAAqBqE,UAAU;YAAQ;SACpD;QACAC,WAAW;YAAC;SAAO;QACnBC,MAAM;QACNC,YAAY,EAAC;QACbC,gBAAgB,EAAC;IACrB;CACJ;AAEO,IAAMtE,UAAiB;IAC1BuE,MAAM;QACFvB,OAAOgB;IACX;AACJ;ADmJA,6DAA6D;AAC7D,KAAM7D,CAAAA,OAAOC,OAAO,GAAG;IACrBJ,SAAAA;AACF,CAAA","sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\n\n// src/result-view/blog-view.stories.tsx\nvar blog_view_stories_exports = {};\n__export(blog_view_stories_exports, {\n Default: () => Default,\n default: () => blog_view_stories_default\n});\nmodule.exports = __toCommonJS(blog_view_stories_exports);\n\n// src/blog-card.tsx\nvar import_link = __toESM(require(\"next/link\"), 1);\n\n// ../utils/src/classMerge.ts\nvar import_clsx = require(\"clsx\");\nvar import_tailwind_merge = require(\"tailwind-merge\");\nfunction cn(...inputs) {\n return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));\n}\n\n// src/blur-image.tsx\nvar import_react = require(\"react\");\nvar import_image = __toESM(require(\"next/image\"), 1);\nvar import_jsx_runtime = require(\"react/jsx-runtime\");\nvar BlurImage = (props) => {\n const [isLoading, setLoading] = (0, import_react.useState)(true);\n return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(\n import_image.default,\n {\n ...props,\n alt: props.alt,\n className: cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\"\n ),\n onLoad: () => setLoading(false)\n }\n );\n};\n\n// src/blog-card.tsx\nvar import_jsx_runtime2 = require(\"react/jsx-runtime\");\nvar BlogCard = ({\n data,\n priority,\n horizontal = false\n}) => {\n return /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\n \"article\",\n {\n className: cn(\n \"group relative\",\n horizontal ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\" : \"flex flex-col space-y-2\"\n ),\n children: [\n data.image && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"div\", { className: \"w-full overflow-hidden rounded-xl border\", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\n BlurImage,\n {\n alt: data.title,\n blurDataURL: data.blurDataURL,\n className: cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null\n ),\n width: 800,\n height: 400,\n priority,\n placeholder: \"blur\",\n src: data.image,\n sizes: \"(max-width: 768px) 750px, 600px\"\n }\n ) }),\n /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\n \"div\",\n {\n className: cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\"\n ),\n children: [\n /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"h2\", { className: \"my-1.5 line-clamp-2 font-heading text-2xl\", children: data.title }),\n data.description && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"p\", { className: \"line-clamp-2 text-muted-foreground\", children: data.description })\n ] }),\n /* @__PURE__ */ (0, import_jsx_runtime2.jsxs)(\"div\", { className: \"mt-4 flex items-center space-x-3\", children: [\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"div\", { className: \"flex items-center -space-x-2\", children: data.authors && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"p\", { className: \"text-sm text-muted-foreground\", children: data.authors }) }),\n data.date && /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"p\", { className: \"text-sm text-muted-foreground\", children: data.date })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_link.default, { href: data.slug, className: \"absolute inset-0\", target: \"_blank\", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(\"span\", { className: \"sr-only\", children: \"View Article\" }) })\n ]\n }\n );\n};\n\n// src/result-view/blog.tsx\nvar import_jsx_runtime3 = require(\"react/jsx-runtime\");\nvar BlogView = ({ items }) => {\n const getTitle = (labels) => {\n return labels.map((item) => item.value).join();\n };\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\"div\", { className: \"grid gap-8 md:grid-cols-2 md:gap-x-6 md:gap-y-10 xl:grid-cols-3\", children: items.map((item, index) => {\n return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(\n BlogCard,\n {\n data: {\n title: getTitle(item.labels),\n blurDataURL: \"/img/blog-post-1.webp\",\n image: \"/img/blog-post-1.webp\",\n description: \"item.shortDescription\",\n authors: \"item.authors\",\n _id: \"item._id\",\n date: \"item.date\",\n slug: `info/${item.shortId}`\n }\n },\n index\n );\n }) });\n};\nvar blog_default = BlogView;\n\n// src/result-view/blog-view.stories.tsx\nvar meta = {\n title: \"Components/ResultView/Blog\",\n component: blog_default,\n parameters: {\n layout: \"centered\"\n },\n tags: [\"autodocs\"]\n};\nvar blog_view_stories_default = meta;\nvar mockItems = [\n {\n id: \"1\",\n shortId: \"doc-1\",\n labels: [\n { value: \"Getting Started with C-Rex\", language: \"en-US\" },\n { value: \"Come\\xE7ando com C-Rex\", language: \"pt-BR\" }\n ],\n languages: [\"pt-BR\"],\n type: \"document\",\n renditions: [],\n directoryNodes: []\n },\n {\n id: \"2\",\n shortId: \"doc-2\",\n labels: [\n { value: \"Advanced Configuration Guide\", language: \"en-US\" }\n ],\n languages: [\"en-US\"],\n type: \"document\",\n renditions: [],\n directoryNodes: []\n },\n {\n id: \"3\",\n shortId: \"doc-3\",\n labels: [\n { value: \"API Documentation\", language: \"en-US\" },\n { value: \"Documentation API\", language: \"fr-FR\" }\n ],\n languages: [\"fr-FR\"],\n type: \"document\",\n renditions: [],\n directoryNodes: []\n }\n];\nvar Default = {\n args: {\n items: mockItems\n }\n};\n// Annotate the CommonJS export names for ESM import in node:\n0 && (module.exports = {\n Default\n});\n","import type { Meta, StoryObj } from '@storybook/react';\nimport BlogView from '../result-view/blog';\n\nconst meta: Meta<typeof BlogView> = {\n title: 'Components/ResultView/Blog',\n component: BlogView,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BlogView>;\n\nconst mockItems = [\n {\n id: '1',\n shortId: 'doc-1',\n labels: [\n { value: 'Getting Started with C-Rex', language: 'en-US' },\n { value: 'Começando com C-Rex', language: 'pt-BR' }\n ],\n languages: ['pt-BR'],\n type: 'document',\n renditions: [],\n directoryNodes: []\n },\n {\n id: '2',\n shortId: 'doc-2',\n labels: [\n { value: 'Advanced Configuration Guide', language: 'en-US' }\n ],\n languages: ['en-US'],\n type: 'document',\n renditions: [],\n directoryNodes: []\n },\n {\n id: '3',\n shortId: 'doc-3',\n labels: [\n { value: 'API Documentation', language: 'en-US' },\n { value: 'Documentation API', language: 'fr-FR' }\n ],\n languages: ['fr-FR'],\n type: 'document',\n renditions: [],\n directoryNodes: []\n }\n];\n\nexport const Default: Story = {\n args: {\n items: mockItems as any\n }\n};","import Link from \"next/link\";\nimport { cn } from \"@c-rex/utils\";\nimport { BlurImage } from \"./blur-image\";\n\n//import Author from \"./author\";\n\ninterface BlogCardProp {\n data: {\n title: string;\n blurDataURL: string;\n image: string;\n description: string;\n authors: string;\n _id: string;\n date: string;\n slug: string;\n };\n priority?: boolean;\n horizontal?: boolean;\n}\n\nexport const BlogCard = ({\n data,\n priority,\n horizontal = false,\n}: BlogCardProp) => {\n return (\n <article\n className={cn(\n \"group relative\",\n horizontal\n ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\"\n : \"flex flex-col space-y-2\",\n )}\n >\n {data.image && (\n <div className=\"w-full overflow-hidden rounded-xl border\">\n <BlurImage\n alt={data.title}\n blurDataURL={data.blurDataURL}\n className={cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null,\n )}\n width={800}\n height={400}\n priority={priority}\n placeholder=\"blur\"\n src={data.image}\n sizes=\"(max-width: 768px) 750px, 600px\"\n />\n </div>\n )}\n <div\n className={cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\",\n )}\n >\n <div className=\"w-full\">\n <h2 className=\"my-1.5 line-clamp-2 font-heading text-2xl\">\n {data.title}\n </h2>\n {data.description && (\n <p className=\"line-clamp-2 text-muted-foreground\">\n {data.description}\n </p>\n )}\n </div>\n <div className=\"mt-4 flex items-center space-x-3\">\n <div className=\"flex items-center -space-x-2\">\n {data.authors && (\n <p className=\"text-sm text-muted-foreground\">{data.authors}</p>\n )}\n </div>\n\n {data.date && (\n <p className=\"text-sm text-muted-foreground\">{data.date}</p>\n )}\n </div>\n </div>\n <Link href={data.slug} className=\"absolute inset-0\" target=\"_blank\">\n <span className=\"sr-only\">View Article</span>\n </Link>\n </article>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { useState } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport Image from \"next/image\";\nimport { cn } from \"@c-rex/utils\";\n\nexport const BlurImage = (props: ComponentProps<typeof Image>) => {\n const [isLoading, setLoading] = useState(true);\n\n return (\n <Image\n {...props}\n alt={props.alt}\n className={cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\",\n )}\n onLoad={() => setLoading(false)}\n />\n );\n}\n","import { FC } from \"react\";\n\nimport { BlogCard } from \"../blog-card\";\nimport { informationUnitsItems, Labels } from \"@c-rex/interfaces\";\n\ninterface BlogViewProps {\n items: informationUnitsItems[];\n}\n\nconst BlogView: FC<BlogViewProps> = ({ items }) => {\n const getTitle = (labels: Labels[]): string => {\n return labels.map((item) => item.value).join();\n };\n\n return (\n <div className=\"grid gap-8 md:grid-cols-2 md:gap-x-6 md:gap-y-10 xl:grid-cols-3\">\n {items.map((item, index) => {\n return (\n <BlogCard\n key={index}\n data={{\n title: getTitle(item.labels),\n blurDataURL: \"/img/blog-post-1.webp\",\n image: \"/img/blog-post-1.webp\",\n description: \"item.shortDescription\",\n authors: \"item.authors\",\n _id: \"item._id\",\n date: \"item.date\",\n slug: `info/${item.shortId}`,\n }}\n />\n );\n })}\n </div>\n );\n};\n\nexport default BlogView;\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import BlogView from './blog.cjs';
|
|
3
|
+
import 'react';
|
|
4
|
+
import '@c-rex/interfaces';
|
|
5
|
+
|
|
6
|
+
declare const meta: Meta<typeof BlogView>;
|
|
7
|
+
|
|
8
|
+
type Story = StoryObj<typeof BlogView>;
|
|
9
|
+
declare const Default: Story;
|
|
10
|
+
|
|
11
|
+
export { Default, meta as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import BlogView from './blog.js';
|
|
3
|
+
import 'react';
|
|
4
|
+
import '@c-rex/interfaces';
|
|
5
|
+
|
|
6
|
+
declare const meta: Meta<typeof BlogView>;
|
|
7
|
+
|
|
8
|
+
type Story = StoryObj<typeof BlogView>;
|
|
9
|
+
declare const Default: Story;
|
|
10
|
+
|
|
11
|
+
export { Default, meta as default };
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
// src/blog-card.tsx
|
|
2
|
+
function _array_like_to_array(arr, len) {
|
|
3
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
4
|
+
for(var i = 0, arr2 = new Array(len); i < len; i++)arr2[i] = arr[i];
|
|
5
|
+
return arr2;
|
|
6
|
+
}
|
|
7
|
+
function _array_with_holes(arr) {
|
|
8
|
+
if (Array.isArray(arr)) return arr;
|
|
9
|
+
}
|
|
10
|
+
function _define_property(obj, key, value) {
|
|
11
|
+
if (key in obj) {
|
|
12
|
+
Object.defineProperty(obj, key, {
|
|
13
|
+
value: value,
|
|
14
|
+
enumerable: true,
|
|
15
|
+
configurable: true,
|
|
16
|
+
writable: true
|
|
17
|
+
});
|
|
18
|
+
} else {
|
|
19
|
+
obj[key] = value;
|
|
20
|
+
}
|
|
21
|
+
return obj;
|
|
22
|
+
}
|
|
23
|
+
function _iterable_to_array_limit(arr, i) {
|
|
24
|
+
var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"];
|
|
25
|
+
if (_i == null) return;
|
|
26
|
+
var _arr = [];
|
|
27
|
+
var _n = true;
|
|
28
|
+
var _d = false;
|
|
29
|
+
var _s, _e;
|
|
30
|
+
try {
|
|
31
|
+
for(_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true){
|
|
32
|
+
_arr.push(_s.value);
|
|
33
|
+
if (i && _arr.length === i) break;
|
|
34
|
+
}
|
|
35
|
+
} catch (err) {
|
|
36
|
+
_d = true;
|
|
37
|
+
_e = err;
|
|
38
|
+
} finally{
|
|
39
|
+
try {
|
|
40
|
+
if (!_n && _i["return"] != null) _i["return"]();
|
|
41
|
+
} finally{
|
|
42
|
+
if (_d) throw _e;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return _arr;
|
|
46
|
+
}
|
|
47
|
+
function _non_iterable_rest() {
|
|
48
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
49
|
+
}
|
|
50
|
+
function _object_spread(target) {
|
|
51
|
+
for(var i = 1; i < arguments.length; i++){
|
|
52
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
53
|
+
var ownKeys = Object.keys(source);
|
|
54
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
55
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
56
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
57
|
+
}));
|
|
58
|
+
}
|
|
59
|
+
ownKeys.forEach(function(key) {
|
|
60
|
+
_define_property(target, key, source[key]);
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return target;
|
|
64
|
+
}
|
|
65
|
+
function ownKeys(object, enumerableOnly) {
|
|
66
|
+
var keys = Object.keys(object);
|
|
67
|
+
if (Object.getOwnPropertySymbols) {
|
|
68
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
69
|
+
if (enumerableOnly) {
|
|
70
|
+
symbols = symbols.filter(function(sym) {
|
|
71
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
keys.push.apply(keys, symbols);
|
|
75
|
+
}
|
|
76
|
+
return keys;
|
|
77
|
+
}
|
|
78
|
+
function _object_spread_props(target, source) {
|
|
79
|
+
source = source != null ? source : {};
|
|
80
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
81
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
82
|
+
} else {
|
|
83
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
84
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
return target;
|
|
88
|
+
}
|
|
89
|
+
function _sliced_to_array(arr, i) {
|
|
90
|
+
return _array_with_holes(arr) || _iterable_to_array_limit(arr, i) || _unsupported_iterable_to_array(arr, i) || _non_iterable_rest();
|
|
91
|
+
}
|
|
92
|
+
function _unsupported_iterable_to_array(o, minLen) {
|
|
93
|
+
if (!o) return;
|
|
94
|
+
if (typeof o === "string") return _array_like_to_array(o, minLen);
|
|
95
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
96
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
97
|
+
if (n === "Map" || n === "Set") return Array.from(n);
|
|
98
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _array_like_to_array(o, minLen);
|
|
99
|
+
}
|
|
100
|
+
import Link from "next/link";
|
|
101
|
+
// ../utils/src/classMerge.ts
|
|
102
|
+
import { clsx } from "clsx";
|
|
103
|
+
import { twMerge } from "tailwind-merge";
|
|
104
|
+
function cn() {
|
|
105
|
+
for(var _len = arguments.length, inputs = new Array(_len), _key = 0; _key < _len; _key++){
|
|
106
|
+
inputs[_key] = arguments[_key];
|
|
107
|
+
}
|
|
108
|
+
return twMerge(clsx(inputs));
|
|
109
|
+
}
|
|
110
|
+
// src/blur-image.tsx
|
|
111
|
+
import { useState } from "react";
|
|
112
|
+
import Image from "next/image";
|
|
113
|
+
import { jsx } from "react/jsx-runtime";
|
|
114
|
+
var BlurImage = function(props) {
|
|
115
|
+
var _useState = _sliced_to_array(useState(true), 2), isLoading = _useState[0], setLoading = _useState[1];
|
|
116
|
+
return /* @__PURE__ */ jsx(Image, _object_spread_props(_object_spread({}, props), {
|
|
117
|
+
alt: props.alt,
|
|
118
|
+
className: cn(props.className, "duration-500 ease-in-out", isLoading ? "blur-sm" : "blur-0"),
|
|
119
|
+
onLoad: function() {
|
|
120
|
+
return setLoading(false);
|
|
121
|
+
}
|
|
122
|
+
}));
|
|
123
|
+
};
|
|
124
|
+
// src/blog-card.tsx
|
|
125
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
126
|
+
var BlogCard = function(param) {
|
|
127
|
+
var data = param.data, priority = param.priority, _param_horizontal = param.horizontal, horizontal = _param_horizontal === void 0 ? false : _param_horizontal;
|
|
128
|
+
return /* @__PURE__ */ jsxs("article", {
|
|
129
|
+
className: cn("group relative", horizontal ? "grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6" : "flex flex-col space-y-2"),
|
|
130
|
+
children: [
|
|
131
|
+
data.image && /* @__PURE__ */ jsx2("div", {
|
|
132
|
+
className: "w-full overflow-hidden rounded-xl border",
|
|
133
|
+
children: /* @__PURE__ */ jsx2(BlurImage, {
|
|
134
|
+
alt: data.title,
|
|
135
|
+
blurDataURL: data.blurDataURL,
|
|
136
|
+
className: cn("size-full object-cover object-center", horizontal ? "lg:h-72" : null),
|
|
137
|
+
width: 800,
|
|
138
|
+
height: 400,
|
|
139
|
+
priority: priority,
|
|
140
|
+
placeholder: "blur",
|
|
141
|
+
src: data.image,
|
|
142
|
+
sizes: "(max-width: 768px) 750px, 600px"
|
|
143
|
+
})
|
|
144
|
+
}),
|
|
145
|
+
/* @__PURE__ */ jsxs("div", {
|
|
146
|
+
className: cn("flex flex-1 flex-col", horizontal ? "justify-center" : "justify-between"),
|
|
147
|
+
children: [
|
|
148
|
+
/* @__PURE__ */ jsxs("div", {
|
|
149
|
+
className: "w-full",
|
|
150
|
+
children: [
|
|
151
|
+
/* @__PURE__ */ jsx2("h2", {
|
|
152
|
+
className: "my-1.5 line-clamp-2 font-heading text-2xl",
|
|
153
|
+
children: data.title
|
|
154
|
+
}),
|
|
155
|
+
data.description && /* @__PURE__ */ jsx2("p", {
|
|
156
|
+
className: "line-clamp-2 text-muted-foreground",
|
|
157
|
+
children: data.description
|
|
158
|
+
})
|
|
159
|
+
]
|
|
160
|
+
}),
|
|
161
|
+
/* @__PURE__ */ jsxs("div", {
|
|
162
|
+
className: "mt-4 flex items-center space-x-3",
|
|
163
|
+
children: [
|
|
164
|
+
/* @__PURE__ */ jsx2("div", {
|
|
165
|
+
className: "flex items-center -space-x-2",
|
|
166
|
+
children: data.authors && /* @__PURE__ */ jsx2("p", {
|
|
167
|
+
className: "text-sm text-muted-foreground",
|
|
168
|
+
children: data.authors
|
|
169
|
+
})
|
|
170
|
+
}),
|
|
171
|
+
data.date && /* @__PURE__ */ jsx2("p", {
|
|
172
|
+
className: "text-sm text-muted-foreground",
|
|
173
|
+
children: data.date
|
|
174
|
+
})
|
|
175
|
+
]
|
|
176
|
+
})
|
|
177
|
+
]
|
|
178
|
+
}),
|
|
179
|
+
/* @__PURE__ */ jsx2(Link, {
|
|
180
|
+
href: data.slug,
|
|
181
|
+
className: "absolute inset-0",
|
|
182
|
+
target: "_blank",
|
|
183
|
+
children: /* @__PURE__ */ jsx2("span", {
|
|
184
|
+
className: "sr-only",
|
|
185
|
+
children: "View Article"
|
|
186
|
+
})
|
|
187
|
+
})
|
|
188
|
+
]
|
|
189
|
+
});
|
|
190
|
+
};
|
|
191
|
+
// src/result-view/blog.tsx
|
|
192
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
193
|
+
var BlogView = function(param) {
|
|
194
|
+
var items = param.items;
|
|
195
|
+
var getTitle = function(labels) {
|
|
196
|
+
return labels.map(function(item) {
|
|
197
|
+
return item.value;
|
|
198
|
+
}).join();
|
|
199
|
+
};
|
|
200
|
+
return /* @__PURE__ */ jsx3("div", {
|
|
201
|
+
className: "grid gap-8 md:grid-cols-2 md:gap-x-6 md:gap-y-10 xl:grid-cols-3",
|
|
202
|
+
children: items.map(function(item, index) {
|
|
203
|
+
return /* @__PURE__ */ jsx3(BlogCard, {
|
|
204
|
+
data: {
|
|
205
|
+
title: getTitle(item.labels),
|
|
206
|
+
blurDataURL: "/img/blog-post-1.webp",
|
|
207
|
+
image: "/img/blog-post-1.webp",
|
|
208
|
+
description: "item.shortDescription",
|
|
209
|
+
authors: "item.authors",
|
|
210
|
+
_id: "item._id",
|
|
211
|
+
date: "item.date",
|
|
212
|
+
slug: "info/".concat(item.shortId)
|
|
213
|
+
}
|
|
214
|
+
}, index);
|
|
215
|
+
})
|
|
216
|
+
});
|
|
217
|
+
};
|
|
218
|
+
var blog_default = BlogView;
|
|
219
|
+
// src/result-view/blog-view.stories.tsx
|
|
220
|
+
var meta = {
|
|
221
|
+
title: "Components/ResultView/Blog",
|
|
222
|
+
component: blog_default,
|
|
223
|
+
parameters: {
|
|
224
|
+
layout: "centered"
|
|
225
|
+
},
|
|
226
|
+
tags: [
|
|
227
|
+
"autodocs"
|
|
228
|
+
]
|
|
229
|
+
};
|
|
230
|
+
var blog_view_stories_default = meta;
|
|
231
|
+
var mockItems = [
|
|
232
|
+
{
|
|
233
|
+
id: "1",
|
|
234
|
+
shortId: "doc-1",
|
|
235
|
+
labels: [
|
|
236
|
+
{
|
|
237
|
+
value: "Getting Started with C-Rex",
|
|
238
|
+
language: "en-US"
|
|
239
|
+
},
|
|
240
|
+
{
|
|
241
|
+
value: "Come\xE7ando com C-Rex",
|
|
242
|
+
language: "pt-BR"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
languages: [
|
|
246
|
+
"pt-BR"
|
|
247
|
+
],
|
|
248
|
+
type: "document",
|
|
249
|
+
renditions: [],
|
|
250
|
+
directoryNodes: []
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
id: "2",
|
|
254
|
+
shortId: "doc-2",
|
|
255
|
+
labels: [
|
|
256
|
+
{
|
|
257
|
+
value: "Advanced Configuration Guide",
|
|
258
|
+
language: "en-US"
|
|
259
|
+
}
|
|
260
|
+
],
|
|
261
|
+
languages: [
|
|
262
|
+
"en-US"
|
|
263
|
+
],
|
|
264
|
+
type: "document",
|
|
265
|
+
renditions: [],
|
|
266
|
+
directoryNodes: []
|
|
267
|
+
},
|
|
268
|
+
{
|
|
269
|
+
id: "3",
|
|
270
|
+
shortId: "doc-3",
|
|
271
|
+
labels: [
|
|
272
|
+
{
|
|
273
|
+
value: "API Documentation",
|
|
274
|
+
language: "en-US"
|
|
275
|
+
},
|
|
276
|
+
{
|
|
277
|
+
value: "Documentation API",
|
|
278
|
+
language: "fr-FR"
|
|
279
|
+
}
|
|
280
|
+
],
|
|
281
|
+
languages: [
|
|
282
|
+
"fr-FR"
|
|
283
|
+
],
|
|
284
|
+
type: "document",
|
|
285
|
+
renditions: [],
|
|
286
|
+
directoryNodes: []
|
|
287
|
+
}
|
|
288
|
+
];
|
|
289
|
+
var Default = {
|
|
290
|
+
args: {
|
|
291
|
+
items: mockItems
|
|
292
|
+
}
|
|
293
|
+
};
|
|
294
|
+
export { Default, blog_view_stories_default as default };
|
|
295
|
+
//# sourceMappingURL=blog-view.stories.esm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/Users/periotto/Desktop/workspace/c-rex.net-web-client-foundation/packages/components/dist/result-view/blog-view.stories.esm.js","../../src/blog-card.tsx","../../../utils/src/classMerge.ts","../../src/blur-image.tsx","../../src/result-view/blog.tsx","../../src/result-view/blog-view.stories.tsx"],"names":["Link","clsx","twMerge","cn","inputs","useState","Image","jsx","BlurImage","props","isLoading","setLoading","alt","className","onLoad","jsxs","BlogCard","data","priority","horizontal","children","image","title","blurDataURL","width","height","placeholder","src","sizes","description","authors","date","href","slug","target","BlogView","items","getTitle","labels","map","item","value","join","index","_id","shortId","blog_default","meta","component","parameters","layout","tags","blog_view_stories_default","mockItems","id","language","languages","type","renditions","directoryNodes","Default","args","default"],"mappings":"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","sourcesContent":["// src/blog-card.tsx\nimport Link from \"next/link\";\n\n// ../utils/src/classMerge.ts\nimport { clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nfunction cn(...inputs) {\n return twMerge(clsx(inputs));\n}\n\n// src/blur-image.tsx\nimport { useState } from \"react\";\nimport Image from \"next/image\";\nimport { jsx } from \"react/jsx-runtime\";\nvar BlurImage = (props) => {\n const [isLoading, setLoading] = useState(true);\n return /* @__PURE__ */ jsx(\n Image,\n {\n ...props,\n alt: props.alt,\n className: cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\"\n ),\n onLoad: () => setLoading(false)\n }\n );\n};\n\n// src/blog-card.tsx\nimport { jsx as jsx2, jsxs } from \"react/jsx-runtime\";\nvar BlogCard = ({\n data,\n priority,\n horizontal = false\n}) => {\n return /* @__PURE__ */ jsxs(\n \"article\",\n {\n className: cn(\n \"group relative\",\n horizontal ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\" : \"flex flex-col space-y-2\"\n ),\n children: [\n data.image && /* @__PURE__ */ jsx2(\"div\", { className: \"w-full overflow-hidden rounded-xl border\", children: /* @__PURE__ */ jsx2(\n BlurImage,\n {\n alt: data.title,\n blurDataURL: data.blurDataURL,\n className: cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null\n ),\n width: 800,\n height: 400,\n priority,\n placeholder: \"blur\",\n src: data.image,\n sizes: \"(max-width: 768px) 750px, 600px\"\n }\n ) }),\n /* @__PURE__ */ jsxs(\n \"div\",\n {\n className: cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\"\n ),\n children: [\n /* @__PURE__ */ jsxs(\"div\", { className: \"w-full\", children: [\n /* @__PURE__ */ jsx2(\"h2\", { className: \"my-1.5 line-clamp-2 font-heading text-2xl\", children: data.title }),\n data.description && /* @__PURE__ */ jsx2(\"p\", { className: \"line-clamp-2 text-muted-foreground\", children: data.description })\n ] }),\n /* @__PURE__ */ jsxs(\"div\", { className: \"mt-4 flex items-center space-x-3\", children: [\n /* @__PURE__ */ jsx2(\"div\", { className: \"flex items-center -space-x-2\", children: data.authors && /* @__PURE__ */ jsx2(\"p\", { className: \"text-sm text-muted-foreground\", children: data.authors }) }),\n data.date && /* @__PURE__ */ jsx2(\"p\", { className: \"text-sm text-muted-foreground\", children: data.date })\n ] })\n ]\n }\n ),\n /* @__PURE__ */ jsx2(Link, { href: data.slug, className: \"absolute inset-0\", target: \"_blank\", children: /* @__PURE__ */ jsx2(\"span\", { className: \"sr-only\", children: \"View Article\" }) })\n ]\n }\n );\n};\n\n// src/result-view/blog.tsx\nimport { jsx as jsx3 } from \"react/jsx-runtime\";\nvar BlogView = ({ items }) => {\n const getTitle = (labels) => {\n return labels.map((item) => item.value).join();\n };\n return /* @__PURE__ */ jsx3(\"div\", { className: \"grid gap-8 md:grid-cols-2 md:gap-x-6 md:gap-y-10 xl:grid-cols-3\", children: items.map((item, index) => {\n return /* @__PURE__ */ jsx3(\n BlogCard,\n {\n data: {\n title: getTitle(item.labels),\n blurDataURL: \"/img/blog-post-1.webp\",\n image: \"/img/blog-post-1.webp\",\n description: \"item.shortDescription\",\n authors: \"item.authors\",\n _id: \"item._id\",\n date: \"item.date\",\n slug: `info/${item.shortId}`\n }\n },\n index\n );\n }) });\n};\nvar blog_default = BlogView;\n\n// src/result-view/blog-view.stories.tsx\nvar meta = {\n title: \"Components/ResultView/Blog\",\n component: blog_default,\n parameters: {\n layout: \"centered\"\n },\n tags: [\"autodocs\"]\n};\nvar blog_view_stories_default = meta;\nvar mockItems = [\n {\n id: \"1\",\n shortId: \"doc-1\",\n labels: [\n { value: \"Getting Started with C-Rex\", language: \"en-US\" },\n { value: \"Come\\xE7ando com C-Rex\", language: \"pt-BR\" }\n ],\n languages: [\"pt-BR\"],\n type: \"document\",\n renditions: [],\n directoryNodes: []\n },\n {\n id: \"2\",\n shortId: \"doc-2\",\n labels: [\n { value: \"Advanced Configuration Guide\", language: \"en-US\" }\n ],\n languages: [\"en-US\"],\n type: \"document\",\n renditions: [],\n directoryNodes: []\n },\n {\n id: \"3\",\n shortId: \"doc-3\",\n labels: [\n { value: \"API Documentation\", language: \"en-US\" },\n { value: \"Documentation API\", language: \"fr-FR\" }\n ],\n languages: [\"fr-FR\"],\n type: \"document\",\n renditions: [],\n directoryNodes: []\n }\n];\nvar Default = {\n args: {\n items: mockItems\n }\n};\nexport {\n Default,\n blog_view_stories_default as default\n};\n","import Link from \"next/link\";\nimport { cn } from \"@c-rex/utils\";\nimport { BlurImage } from \"./blur-image\";\n\n//import Author from \"./author\";\n\ninterface BlogCardProp {\n data: {\n title: string;\n blurDataURL: string;\n image: string;\n description: string;\n authors: string;\n _id: string;\n date: string;\n slug: string;\n };\n priority?: boolean;\n horizontal?: boolean;\n}\n\nexport const BlogCard = ({\n data,\n priority,\n horizontal = false,\n}: BlogCardProp) => {\n return (\n <article\n className={cn(\n \"group relative\",\n horizontal\n ? \"grid grid-cols-1 gap-3 md:grid-cols-2 md:gap-6\"\n : \"flex flex-col space-y-2\",\n )}\n >\n {data.image && (\n <div className=\"w-full overflow-hidden rounded-xl border\">\n <BlurImage\n alt={data.title}\n blurDataURL={data.blurDataURL}\n className={cn(\n \"size-full object-cover object-center\",\n horizontal ? \"lg:h-72\" : null,\n )}\n width={800}\n height={400}\n priority={priority}\n placeholder=\"blur\"\n src={data.image}\n sizes=\"(max-width: 768px) 750px, 600px\"\n />\n </div>\n )}\n <div\n className={cn(\n \"flex flex-1 flex-col\",\n horizontal ? \"justify-center\" : \"justify-between\",\n )}\n >\n <div className=\"w-full\">\n <h2 className=\"my-1.5 line-clamp-2 font-heading text-2xl\">\n {data.title}\n </h2>\n {data.description && (\n <p className=\"line-clamp-2 text-muted-foreground\">\n {data.description}\n </p>\n )}\n </div>\n <div className=\"mt-4 flex items-center space-x-3\">\n <div className=\"flex items-center -space-x-2\">\n {data.authors && (\n <p className=\"text-sm text-muted-foreground\">{data.authors}</p>\n )}\n </div>\n\n {data.date && (\n <p className=\"text-sm text-muted-foreground\">{data.date}</p>\n )}\n </div>\n </div>\n <Link href={data.slug} className=\"absolute inset-0\" target=\"_blank\">\n <span className=\"sr-only\">View Article</span>\n </Link>\n </article>\n );\n};\n","import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { useState } from \"react\";\nimport type { ComponentProps } from \"react\";\nimport Image from \"next/image\";\nimport { cn } from \"@c-rex/utils\";\n\nexport const BlurImage = (props: ComponentProps<typeof Image>) => {\n const [isLoading, setLoading] = useState(true);\n\n return (\n <Image\n {...props}\n alt={props.alt}\n className={cn(\n props.className,\n \"duration-500 ease-in-out\",\n isLoading ? \"blur-sm\" : \"blur-0\",\n )}\n onLoad={() => setLoading(false)}\n />\n );\n}\n","import { FC } from \"react\";\n\nimport { BlogCard } from \"../blog-card\";\nimport { informationUnitsItems, Labels } from \"@c-rex/interfaces\";\n\ninterface BlogViewProps {\n items: informationUnitsItems[];\n}\n\nconst BlogView: FC<BlogViewProps> = ({ items }) => {\n const getTitle = (labels: Labels[]): string => {\n return labels.map((item) => item.value).join();\n };\n\n return (\n <div className=\"grid gap-8 md:grid-cols-2 md:gap-x-6 md:gap-y-10 xl:grid-cols-3\">\n {items.map((item, index) => {\n return (\n <BlogCard\n key={index}\n data={{\n title: getTitle(item.labels),\n blurDataURL: \"/img/blog-post-1.webp\",\n image: \"/img/blog-post-1.webp\",\n description: \"item.shortDescription\",\n authors: \"item.authors\",\n _id: \"item._id\",\n date: \"item.date\",\n slug: `info/${item.shortId}`,\n }}\n />\n );\n })}\n </div>\n );\n};\n\nexport default BlogView;\n","import type { Meta, StoryObj } from '@storybook/react';\nimport BlogView from '../result-view/blog';\n\nconst meta: Meta<typeof BlogView> = {\n title: 'Components/ResultView/Blog',\n component: BlogView,\n parameters: {\n layout: 'centered',\n },\n tags: ['autodocs'],\n};\n\nexport default meta;\ntype Story = StoryObj<typeof BlogView>;\n\nconst mockItems = [\n {\n id: '1',\n shortId: 'doc-1',\n labels: [\n { value: 'Getting Started with C-Rex', language: 'en-US' },\n { value: 'Começando com C-Rex', language: 'pt-BR' }\n ],\n languages: ['pt-BR'],\n type: 'document',\n renditions: [],\n directoryNodes: []\n },\n {\n id: '2',\n shortId: 'doc-2',\n labels: [\n { value: 'Advanced Configuration Guide', language: 'en-US' }\n ],\n languages: ['en-US'],\n type: 'document',\n renditions: [],\n directoryNodes: []\n },\n {\n id: '3',\n shortId: 'doc-3',\n labels: [\n { value: 'API Documentation', language: 'en-US' },\n { value: 'Documentation API', language: 'fr-FR' }\n ],\n languages: ['fr-FR'],\n type: 'document',\n renditions: [],\n directoryNodes: []\n }\n];\n\nexport const Default: Story = {\n args: {\n items: mockItems as any\n }\n};"]}
|