@nqlib/nqui 0.4.8 → 0.5.1
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/{button-CJHdCq9I.js → button-BrroJ39H.js} +35 -34
- package/dist/button-CrLihxcE.cjs +1 -0
- package/dist/calendar.cjs.js +1 -1
- package/dist/calendar.es.js +1 -1
- package/dist/{carousel-U7RZhYZj.js → carousel-C976t5jo.js} +1 -1
- package/dist/{carousel-D1FMVglR.cjs → carousel-VldrniuT.cjs} +1 -1
- package/dist/carousel.cjs.js +1 -1
- package/dist/carousel.es.js +1 -1
- package/dist/{command-palette-D_SFxXyQ.js → command-palette-2V1VSlOM.js} +1 -1
- package/dist/{command-palette-DSQYbRiH.cjs → command-palette-4Sv4QjZ2.cjs} +1 -1
- package/dist/command.cjs.js +1 -1
- package/dist/command.es.js +1 -1
- package/dist/components/custom/enhanced-tabs.d.ts +1 -0
- package/dist/components/custom/enhanced-tabs.d.ts.map +1 -1
- package/dist/components/ui/button.d.ts +4 -0
- package/dist/components/ui/button.d.ts.map +1 -1
- package/dist/components/ui/card.d.ts +1 -0
- package/dist/components/ui/card.d.ts.map +1 -1
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/tabs.d.ts +6 -4
- package/dist/components/ui/tabs.d.ts.map +1 -1
- package/dist/{debug-panel-CS_wuYVH.js → debug-panel-BnZDhlaR.js} +1621 -1749
- package/dist/{debug-panel-nDTrIh9s.cjs → debug-panel-R2ZLkucO.cjs} +10 -10
- package/dist/debug.cjs.js +1 -1
- package/dist/debug.es.js +1 -1
- package/dist/{enhanced-calendar-C7EQIr6i.cjs → enhanced-calendar-BEIfybRx.cjs} +1 -1
- package/dist/{enhanced-calendar-BGlsSYJd.js → enhanced-calendar-Cj-4xhqf.js} +1 -1
- package/dist/hooks/use-resolved-theme.d.ts +2 -4
- package/dist/hooks/use-resolved-theme.d.ts.map +1 -1
- package/dist/nqui.cjs.js +3 -23
- package/dist/nqui.es.js +605 -627
- package/dist/{sonner-CpmECDBk.js → sonner-C1ndgVQY.js} +24 -24
- package/dist/sonner-CP8np0BP.cjs +48 -0
- package/dist/sonner.cjs.js +1 -1
- package/dist/sonner.es.js +1 -1
- package/dist/styles.css +79 -84
- package/docs/components/README.md +11 -2
- package/docs/components/nqui-scroll-area.md +74 -0
- package/docs/components/nqui-tooltip.md +17 -2
- package/docs/nqui-skills/COMPONENTS_INDEX.md +48 -0
- package/docs/nqui-skills/HUMAN_GUIDE.md +21 -0
- package/docs/nqui-skills/README.md +20 -0
- package/docs/nqui-skills/SKILL.md +36 -89
- package/docs/nqui-skills/nqui-bundle-size-best-practices/SKILL.md +78 -0
- package/docs/nqui-skills/nqui-components/SKILL.md +101 -0
- package/docs/nqui-skills/{design-system.md → nqui-design-system/SKILL.md} +53 -25
- package/docs/nqui-skills/nqui-install/SKILL.md +65 -0
- package/docs/nqui-skills/nqui-local-published-toggle/SKILL.md +132 -0
- package/docs/nqui-skills/nqui-local-published-toggle/scripts/toggle-nqui.js +203 -0
- package/docs/nqui-skills/nqui-shadcn/SKILL.md +164 -0
- package/docs/nqui-skills/{rules → nqui-shadcn/rules}/forms.md +3 -3
- package/docs/nqui-skills/{rules → nqui-shadcn/rules}/styling.md +1 -1
- package/package.json +1 -1
- package/scripts/download-skills.js +28 -8
- package/scripts/examples/nextjs-layout-sidebar.tsx +3 -2
- package/scripts/examples/nextjs-layout.tsx +3 -2
- package/scripts/examples/vite-main.tsx +7 -1
- package/scripts/init-cursor.js +4 -3
- package/scripts/skill-templates.js +16 -6
- package/dist/button-R304rhsj.cjs +0 -1
- package/dist/sonner-nE9hIalJ.cjs +0 -48
- /package/docs/nqui-skills/{rules → nqui-shadcn/rules}/composition.md +0 -0
- /package/docs/nqui-skills/{rules → nqui-shadcn/rules}/icons.md +0 -0
package/dist/debug.cjs.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./debug-panel-
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./debug-panel-R2ZLkucO.cjs");exports.Crosshair=e.Crosshair;exports.DebugPanel=e.DebugPanel;exports.Magnifier=e.Magnifier;exports.UITester=e.UITester;
|
package/dist/debug.es.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";const p=require("react/jsx-runtime"),B=require("react"),P=require("react-day-picker"),r=require("date-fns"),n=require("./utils-IjLH3w2e.cjs"),W=require("./button-
|
|
1
|
+
"use strict";const p=require("react/jsx-runtime"),B=require("react"),P=require("react-day-picker"),r=require("date-fns"),n=require("./utils-IjLH3w2e.cjs"),W=require("./button-CrLihxcE.cjs"),O=require("@hugeicons/react"),I=require("@hugeicons/core-free-icons");function ee(u){const s=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(u){for(const i in u)if(i!=="default"){const c=Object.getOwnPropertyDescriptor(u,i);Object.defineProperty(s,i,c.get?c:{enumerable:!0,get:()=>u[i]})}}return s.default=u,Object.freeze(s)}const w=ee(B);function U(){const[u,s]=B.useState(!1);return B.useEffect(()=>{const i=()=>{s(!0),c()},c=()=>{document.removeEventListener("touchstart",i)};return document.addEventListener("touchstart",i,{passive:!0}),c},[]),u}function X({className:u,classNames:s,showOutsideDays:i=!0,captionLayout:c="label",buttonVariant:o="ghost",formatters:D,components:x,...E}){const a=P.getDefaultClassNames();return p.jsx(P.DayPicker,{showOutsideDays:i,className:n.cn("p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(6)] bg-background group/calendar [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent",String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,u),captionLayout:c,formatters:{formatMonthDropdown:f=>f.toLocaleString("default",{month:"short"}),...D},classNames:{root:n.cn("w-fit",a.root),months:n.cn("flex gap-4 flex-col md:flex-row relative",a.months),month:n.cn("flex flex-col w-full gap-4",a.month),nav:n.cn("flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between",a.nav),button_previous:n.cn(W.buttonVariants({variant:o}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",a.button_previous),button_next:n.cn(W.buttonVariants({variant:o}),"size-(--cell-size) aria-disabled:opacity-50 p-0 select-none",a.button_next),month_caption:n.cn("flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)",a.month_caption),dropdowns:n.cn("w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5",a.dropdowns),dropdown_root:n.cn("relative cn-calendar-dropdown-root rounded-(--cell-radius)",a.dropdown_root),dropdown:n.cn("absolute bg-popover inset-0 opacity-0",a.dropdown),caption_label:n.cn("select-none font-medium",c==="label"?"text-sm":"cn-calendar-caption-label rounded-(--cell-radius) flex items-center gap-1 text-sm [&>svg]:text-muted-foreground [&>svg]:size-3.5",a.caption_label),table:"w-full border-collapse",weekdays:n.cn("flex",a.weekdays),weekday:n.cn("text-muted-foreground rounded-(--cell-radius) flex-1 font-normal text-[0.8rem] select-none",a.weekday),week:n.cn("flex w-full mt-2",a.week),week_number_header:n.cn("select-none w-(--cell-size)",a.week_number_header),week_number:n.cn("text-[0.8rem] select-none text-muted-foreground",a.week_number),day:n.cn("relative w-full rounded-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-full group/day aspect-square select-none",E.showWeekNumber?"[&:nth-child(2)[data-selected=true]_button]:rounded-l-full":"[&:first-child[data-selected=true]_button]:rounded-l-full",a.day),range_start:n.cn("rounded-l-full bg-muted elative after:bg-muted after:absolute after:inset-y-0 after:w-4 after:right-0 -z-0 isolate",a.range_start),range_middle:n.cn("rounded-none",a.range_middle),range_end:n.cn("rounded-r-full bg-muted relative after:bg-muted-200 after:absolute after:inset-y-0 after:w-4 after:left-0 -z-0 isolate",a.range_end),today:n.cn("bg-muted text-foreground rounded-full data-[selected=true]:rounded-none",a.today),outside:n.cn("text-muted-foreground aria-selected:text-muted-foreground",a.outside),disabled:n.cn("text-muted-foreground opacity-50",a.disabled),hidden:n.cn("invisible",a.hidden),...s},components:{Root:({className:f,rootRef:h,...b})=>p.jsx("div",{"data-slot":"calendar",ref:h,className:n.cn(f),...b}),Chevron:({className:f,orientation:h,...b})=>h==="left"?p.jsx(O.HugeiconsIcon,{icon:I.ArrowLeftIcon,strokeWidth:2,className:n.cn("size-4",f),...b}):h==="right"?p.jsx(O.HugeiconsIcon,{icon:I.ArrowRightIcon,strokeWidth:2,className:n.cn("size-4",f),...b}):p.jsx(O.HugeiconsIcon,{icon:I.ArrowDownIcon,strokeWidth:2,className:n.cn("size-4",f),...b}),DayButton:Y,WeekNumber:({children:f,...h})=>p.jsx("td",{...h,children:p.jsx("div",{className:"flex size-(--cell-size) items-center justify-center text-center",children:f})}),...x},...E})}function Y({className:u,day:s,modifiers:i,...c}){const o=P.getDefaultClassNames(),D=w.useRef(null);return w.useEffect(()=>{i.focused&&D.current?.focus()},[i.focused]),p.jsx(W.Button,{ref:D,variant:"ghost",size:"icon","data-day":s.date.toLocaleDateString(),"data-selected-single":i.selected&&!i.range_start&&!i.range_end&&!i.range_middle,"data-range-start":i.range_start,"data-range-end":i.range_end,"data-range-middle":i.range_middle,className:n.cn("data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] rounded-full data-[range-end=true]:rounded-r-full data-[range-end=true]:rounded-l-none data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-l-full data-[range-start=true]:rounded-r-none hover:rounded-full [&>span]:text-xs [&>span]:opacity-70",o.day,u),...c})}function $({touchDragEnabled:u=!1,...s}){const i=U(),c=w.useRef(null),[o,D]=w.useState(),[x,E]=w.useState(!1),[a,f]=w.useState(null),[h,b]=w.useState(null),T=s.mode==="range",z=T&&s.selected&&typeof s.selected=="object"&&"from"in s.selected?s.selected:null,A=z?.from&&z?.to&&r.isSameDay(z.from,z.to),e=A?{from:z.from,to:void 0}:z,j=w.useMemo(()=>{if(!x||!a||!h)return null;const t=r.startOfDay(a),l=r.startOfDay(h);return t<=l?{from:t,to:l}:{from:l,to:t}},[x,a,h]),_=w.useMemo(()=>x&&j?j.from:!e?.from&&e?.to&&o&&!r.isSameDay(o,e.to)||e?.from&&!e?.to&&o&&r.isBefore(o,e.from)&&!r.isSameDay(o,e.from)?o:e?.from&&!e?.to&&o&&r.isAfter(o,e.from)&&!r.isSameDay(o,e.from)||e?.from?r.startOfDay(e.from):void 0,[x,j,e,o,A]),S=w.useMemo(()=>x&&j?j.to:!e?.from&&e?.to&&o&&!r.isSameDay(o,e.to)?e.to:e?.from&&!e?.to&&o&&r.isBefore(o,e.from)&&!r.isSameDay(o,e.from)?e.from:!e?.to&&e?.from&&o&&r.isAfter(o,e.from)&&!r.isSameDay(o,e.from)?o:e?.to?r.startOfDay(e.to):void 0,[x,j,e,o,A]),V=t=>{if(!_||!S||r.isSameDay(_,S))return!1;const l=r.isSameDay(t,_)&&r.isBefore(t,S);return e?.from&&e?.to&&r.isSameDay(t,e.from)?!1:l},G=t=>!_||!S?!1:r.isAfter(t,_)&&r.isBefore(t,S)?!(e?.from&&e?.to&&r.isAfter(t,e.from)&&r.isBefore(t,e.to)):!1,J=t=>{if(!S||!_||r.isSameDay(_,S))return!1;const l=r.isSameDay(t,S)&&r.isAfter(t,_);return e?.from&&e?.to&&r.isSameDay(t,e.to)?!1:l};w.useEffect(()=>{if(!T||!u||!i||!c.current)return;const t=c.current.querySelector(".rdp");if(!t)return;const l=m=>{const d=m.getAttribute("aria-label"),y=m.getAttribute("name"),N=m.getAttribute("data-date");if(d){const g=d.match(/(?:Choose\s+)?\w+,\s+(\w+)\s+(\d+),?\s+(\d{4})/i);if(g){const[,v,C,L]=g;try{const q=new Date(`${v} 1, ${L}`);if(!isNaN(q.getTime())){const Z=q.getMonth();return new Date(parseInt(L),Z,parseInt(C))}}catch{}}}if(y&&y.startsWith("day-")){const g=y.replace("day-",""),v=new Date(g);if(!isNaN(v.getTime()))return v}if(N){const g=new Date(N);if(!isNaN(g.getTime()))return g}return null},R=m=>{if(!m)return null;let d=m;for(;d&&d!==t;){if(d.classList.contains("rdp-day")&&d.tagName==="BUTTON")return d;d=d.parentElement}return null};let k=null;const F=m=>{const d=R(m.target);if(!d||d.classList.contains("day-disabled")||d.hasAttribute("disabled"))return;const y=l(d);y&&(k=y,E(!0),f(y),b(y),D(void 0),m.preventDefault())},H=m=>{if(!k)return;const d=m.touches[0];if(!d)return;const y=document.elementFromPoint(d.clientX,d.clientY),N=R(y);if(N){const g=l(N);g&&b(g)}m.preventDefault()},M=m=>{if(!k){E(!1),f(null),b(null),k=null;return}const d=m.changedTouches[0];if(!d){E(!1),f(null),b(null);return}const y=document.elementFromPoint(d.clientX,d.clientY),N=R(y);let g=h||k;if(N){const v=l(N);v&&(g=v)}if(k&&g){const v=r.startOfDay(k),C=r.startOfDay(g),L=v<=C?{from:v,to:C}:{from:C,to:v};s.onSelect&&typeof s.onSelect=="function"&&s.onSelect(L,L,{},void 0)}E(!1),f(null),b(null),k=null};return t.addEventListener("touchstart",F,{passive:!1}),t.addEventListener("touchmove",H,{passive:!1}),t.addEventListener("touchend",M,{passive:!0}),t.addEventListener("touchcancel",M,{passive:!0}),()=>{t.removeEventListener("touchstart",F),t.removeEventListener("touchmove",H),t.removeEventListener("touchend",M),t.removeEventListener("touchcancel",M)}},[T,u,i,h,s]);const K={...s.modifiers||{},"range-preview-start":V,"range-preview-middle":G,"range-preview-end":J},Q={...s.modifiersClassNames||{},"range-preview-start":"day-range-preview-start","range-preview-middle":"day-range-preview-middle","range-preview-end":"day-range-preview-end"};return p.jsxs(p.Fragment,{children:[p.jsx("style",{children:`
|
|
2
2
|
/* Remove muted background from range_start when only "from" is selected (no "to" yet) */
|
|
3
3
|
/* The subtle square gray background appears because range_start has bg-muted on the cell */
|
|
4
4
|
/* Note: react-day-picker uses rdp- prefix for modifier classes */
|
|
@@ -4,7 +4,7 @@ import { useState as Z, useEffect as ee } from "react";
|
|
|
4
4
|
import { getDefaultClassNames as O, DayPicker as te } from "react-day-picker";
|
|
5
5
|
import { isSameDay as f, startOfDay as z, isBefore as A, isAfter as I } from "date-fns";
|
|
6
6
|
import { c as r } from "./utils-B6yFEsav.js";
|
|
7
|
-
import { b as U, B as re } from "./button-
|
|
7
|
+
import { b as U, B as re } from "./button-BrroJ39H.js";
|
|
8
8
|
import { HugeiconsIcon as q } from "@hugeicons/react";
|
|
9
9
|
import { ArrowLeftIcon as ae, ArrowRightIcon as ne, ArrowDownIcon as oe } from "@hugeicons/core-free-icons";
|
|
10
10
|
function de() {
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
export type ResolvedTheme = "light" | "dark";
|
|
2
2
|
/**
|
|
3
|
-
* Returns the
|
|
4
|
-
*
|
|
5
|
-
* Use this (not `theme`) whenever you need the current visual mode for
|
|
6
|
-
* color adjustment or theme-aware logic.
|
|
3
|
+
* Returns the visual mode for light-vs-dark logic (e.g. status colors).
|
|
4
|
+
* Non-dark theme ids (`light`, `mid`) resolve to "light"; `dark` resolves to "dark".
|
|
7
5
|
*/
|
|
8
6
|
export declare function useResolvedTheme(): ResolvedTheme;
|
|
9
7
|
//# sourceMappingURL=use-resolved-theme.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-resolved-theme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-resolved-theme.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAE5C
|
|
1
|
+
{"version":3,"file":"use-resolved-theme.d.ts","sourceRoot":"","sources":["../../src/hooks/use-resolved-theme.ts"],"names":[],"mappings":"AAKA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,CAAA;AAE5C;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,aAAa,CAYhD"}
|