@haroonwaves/blog-kit-react 0.0.7 → 1.0.0

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/index.cjs CHANGED
@@ -214,12 +214,12 @@ function BlogPlaceholder({ count = 3, className = "" }) {
214
214
 
215
215
  // src/hooks/useBlogs.ts
216
216
  var import_react = require("react");
217
- function useBlogs(blogs) {
218
- const [filteredBlogs, setFilteredBlogs] = (0, import_react.useState)(blogs);
217
+ function useBlogs(blogsMeta) {
218
+ const [filteredBlogs, setFilteredBlogs] = (0, import_react.useState)(blogsMeta);
219
219
  const [searchTerm, setSearchTerm] = (0, import_react.useState)("");
220
220
  const [selectedCategory, setSelectedCategory] = (0, import_react.useState)(null);
221
221
  (0, import_react.useEffect)(() => {
222
- let filtered = blogs;
222
+ let filtered = blogsMeta;
223
223
  if (searchTerm) {
224
224
  filtered = filtered.filter(
225
225
  (blog) => blog.title.toLowerCase().includes(searchTerm.toLowerCase()) || blog.description.toLowerCase().includes(searchTerm.toLowerCase())
@@ -229,12 +229,12 @@ function useBlogs(blogs) {
229
229
  filtered = filtered.filter((blog) => blog.category === selectedCategory);
230
230
  }
231
231
  setFilteredBlogs(filtered);
232
- }, [blogs, searchTerm, selectedCategory]);
232
+ }, [blogsMeta, searchTerm, selectedCategory]);
233
233
  const categories = Array.from(
234
- new Set(blogs.map((blog) => blog.category).filter(Boolean))
234
+ new Set(blogsMeta.map((blog) => blog.category).filter(Boolean))
235
235
  );
236
236
  return {
237
- blogs: filteredBlogs,
237
+ metadata: filteredBlogs,
238
238
  searchTerm,
239
239
  setSearchTerm,
240
240
  selectedCategory,
package/dist/index.d.cts CHANGED
@@ -54,8 +54,8 @@ interface BlogPlaceholderProps {
54
54
  }
55
55
  declare function BlogPlaceholder({ count, className }: BlogPlaceholderProps): react_jsx_runtime.JSX.Element;
56
56
 
57
- declare function useBlogs(blogs: BlogMeta[]): {
58
- blogs: BlogMeta[];
57
+ declare function useBlogs(blogsMeta: BlogMeta[]): {
58
+ metadata: BlogMeta[];
59
59
  searchTerm: string;
60
60
  setSearchTerm: react.Dispatch<react.SetStateAction<string>>;
61
61
  selectedCategory: string | null;
package/dist/index.d.ts CHANGED
@@ -54,8 +54,8 @@ interface BlogPlaceholderProps {
54
54
  }
55
55
  declare function BlogPlaceholder({ count, className }: BlogPlaceholderProps): react_jsx_runtime.JSX.Element;
56
56
 
57
- declare function useBlogs(blogs: BlogMeta[]): {
58
- blogs: BlogMeta[];
57
+ declare function useBlogs(blogsMeta: BlogMeta[]): {
58
+ metadata: BlogMeta[];
59
59
  searchTerm: string;
60
60
  setSearchTerm: react.Dispatch<react.SetStateAction<string>>;
61
61
  selectedCategory: string | null;
package/dist/index.js CHANGED
@@ -174,12 +174,12 @@ function BlogPlaceholder({ count = 3, className = "" }) {
174
174
 
175
175
  // src/hooks/useBlogs.ts
176
176
  import { useState, useEffect } from "react";
177
- function useBlogs(blogs) {
178
- const [filteredBlogs, setFilteredBlogs] = useState(blogs);
177
+ function useBlogs(blogsMeta) {
178
+ const [filteredBlogs, setFilteredBlogs] = useState(blogsMeta);
179
179
  const [searchTerm, setSearchTerm] = useState("");
180
180
  const [selectedCategory, setSelectedCategory] = useState(null);
181
181
  useEffect(() => {
182
- let filtered = blogs;
182
+ let filtered = blogsMeta;
183
183
  if (searchTerm) {
184
184
  filtered = filtered.filter(
185
185
  (blog) => blog.title.toLowerCase().includes(searchTerm.toLowerCase()) || blog.description.toLowerCase().includes(searchTerm.toLowerCase())
@@ -189,12 +189,12 @@ function useBlogs(blogs) {
189
189
  filtered = filtered.filter((blog) => blog.category === selectedCategory);
190
190
  }
191
191
  setFilteredBlogs(filtered);
192
- }, [blogs, searchTerm, selectedCategory]);
192
+ }, [blogsMeta, searchTerm, selectedCategory]);
193
193
  const categories = Array.from(
194
- new Set(blogs.map((blog) => blog.category).filter(Boolean))
194
+ new Set(blogsMeta.map((blog) => blog.category).filter(Boolean))
195
195
  );
196
196
  return {
197
- blogs: filteredBlogs,
197
+ metadata: filteredBlogs,
198
198
  searchTerm,
199
199
  setSearchTerm,
200
200
  selectedCategory,
package/dist/style.css ADDED
@@ -0,0 +1,2 @@
1
+ /*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
2
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-600:oklch(57.7% .245 27.325);--color-orange-100:oklch(95.4% .038 75.164);--color-orange-500:oklch(70.5% .213 47.604);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-blue-700:oklch(48.8% .243 264.376);--color-blue-800:oklch(42.4% .199 265.638);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-200:oklch(92.8% .006 264.531);--color-gray-300:oklch(87.2% .01 258.338);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-gray-700:oklch(37.3% .034 259.733);--color-gray-800:oklch(27.8% .033 256.848);--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-lg:.5rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.my-4{margin-block:calc(var(--spacing)*4)}.my-8{margin-block:calc(var(--spacing)*8)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-8{margin-top:calc(var(--spacing)*8)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.ml-6{margin-left:calc(var(--spacing)*6)}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-auto{height:auto}.w-3\/4{width:75%}.max-w-full{max-width:100%}.max-w-none{max-width:none}.min-w-full{min-width:100%}.animate-pulse{animation:var(--animate-pulse)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-4{border-left-style:var(--tw-border-style);border-left-width:4px}.border-blue-500{border-color:var(--color-blue-500)}.border-gray-200{border-color:var(--color-gray-200)}.border-gray-300{border-color:var(--color-gray-300)}.border-transparent{border-color:#0000}.bg-gray-50{background-color:var(--color-gray-50)}.bg-gray-100{background-color:var(--color-gray-100)}.bg-gray-200{background-color:var(--color-gray-200)}.bg-orange-100{background-color:var(--color-orange-100)}.bg-white{background-color:var(--color-white)}.p-6{padding:calc(var(--spacing)*6)}.px-1\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2\.5{padding-inline:calc(var(--spacing)*2.5)}.px-4{padding-inline:calc(var(--spacing)*4)}.py-0\.5{padding-block:calc(var(--spacing)*.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-12{padding-block:calc(var(--spacing)*12)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-6{--tw-leading:calc(var(--spacing)*6);line-height:calc(var(--spacing)*6)}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-blue-600{color:var(--color-blue-600)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-gray-700{color:var(--color-gray-700)}.text-gray-800{color:var(--color-gray-800)}.text-orange-500{color:var(--color-orange-500)}.text-red-600{color:var(--color-red-600)}.italic{font-style:italic}.line-through{text-decoration-line:line-through}.underline{text-decoration-line:underline}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:border-gray-300:hover{border-color:var(--color-gray-300)}.hover\:text-blue-700:hover{color:var(--color-blue-700)}.hover\:text-blue-800:hover{color:var(--color-blue-800)}.hover\:underline:hover{text-decoration-line:underline}}.\[\&\>code\]\:block>code{display:block}.\[\&\>code\]\:p-4>code{padding:calc(var(--spacing)*4)}}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
package/package.json CHANGED
@@ -1,9 +1,10 @@
1
1
  {
2
2
  "name": "@haroonwaves/blog-kit-react",
3
- "version": "0.0.7",
3
+ "version": "1.0.0",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.ts",
7
+ "style": "dist/styles.css",
7
8
  "type": "module",
8
9
  "files": [
9
10
  "dist"
@@ -13,18 +14,24 @@
13
14
  "react-dom": ">=18"
14
15
  },
15
16
  "dependencies": {
17
+ "prismjs": "^1.30.0",
16
18
  "react-markdown": "^10.1.0",
17
- "remark-gfm": "^4.0.1",
18
19
  "rehype-prism-plus": "^2.0.1",
19
20
  "rehype-raw": "^7.0.0",
20
- "prismjs": "^1.30.0"
21
+ "remark-gfm": "^4.0.1"
21
22
  },
22
23
  "devDependencies": {
24
+ "@tailwindcss/cli": "^4.1.17",
25
+ "@tailwindcss/postcss": "^4.1.17",
26
+ "autoprefixer": "^10.4.22",
27
+ "postcss": "^8.5.6",
28
+ "tailwindcss": "^4.1.17",
23
29
  "tsup": "^7.2.0",
24
30
  "typescript": "^5.5.0"
25
31
  },
26
32
  "scripts": {
27
- "build": "tsup src/index.ts --format cjs,esm --dts",
33
+ "build:css": "pnpm exec tailwindcss -i ./src/tailwind.css -o ./dist/style.css --minify",
34
+ "build": "pnpm build:css && tsup src/index.ts --format cjs,esm --dts --external react --external react-dom",
28
35
  "type-check": "tsc --noEmit"
29
36
  }
30
37
  }