@dgshahr/ui-kit 1.6.0 → 1.7.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.mjs CHANGED
@@ -15,19 +15,20 @@ import { I as R } from "./index-ChP5zdaB.js";
15
15
  import { default as w } from "./Form/OtpInput/index.mjs";
16
16
  import { default as v } from "./Form/RadioButton/index.mjs";
17
17
  import { default as G } from "./Form/RangeInput/index.mjs";
18
- import { default as U } from "./Form/Select/index.mjs";
19
- import { default as q } from "./Form/Switch/index.mjs";
20
- import { default as E } from "./Form/Textarea/index.mjs";
21
- import { default as K } from "./Pagination/index.mjs";
22
- import { default as M } from "./Progress/Bar/index.mjs";
18
+ import { default as O } from "./Form/Select/index.mjs";
19
+ import { default as j } from "./Form/Switch/index.mjs";
20
+ import { default as y } from "./Form/Textarea/index.mjs";
21
+ import { default as J } from "./Pagination/index.mjs";
22
+ import { default as L } from "./Progress/Bar/index.mjs";
23
23
  import { default as Q } from "./Progress/Doughnut/index.mjs";
24
24
  import { default as W } from "./Rate/index.mjs";
25
25
  import { default as Y } from "./Sidebar/index.mjs";
26
- import { a as _, S as $ } from "./Slide-Cg1SjpFn.js";
27
- import { a as er, H as ar } from "./Step-DB73tIkY.js";
28
- import { default as tr } from "./Table/index.mjs";
29
- import { default as pr } from "./Tabs/index.mjs";
30
- import { default as dr } from "./Tooltip/index.mjs";
26
+ import { default as _ } from "./Menu/index.mjs";
27
+ import { a as rr, S as er } from "./Slide-Cg1SjpFn.js";
28
+ import { a as or, H as tr } from "./Step-DB73tIkY.js";
29
+ import { default as pr } from "./Table/index.mjs";
30
+ import { default as dr } from "./Tabs/index.mjs";
31
+ import { default as ur } from "./Tooltip/index.mjs";
31
32
  export {
32
33
  o as AccordionGroup,
33
34
  t as AccordionItem,
@@ -42,23 +43,24 @@ export {
42
43
  b as Divider,
43
44
  I as Drawer,
44
45
  H as FileUploader,
45
- er as HorizontalStep,
46
- ar as HorizontalStepper,
46
+ or as HorizontalStep,
47
+ tr as HorizontalStepper,
47
48
  R as Input,
49
+ _ as Menu,
48
50
  w as OtpInput,
49
- K as Pagination,
50
- M as ProgressBar,
51
+ J as Pagination,
52
+ L as ProgressBar,
51
53
  Q as ProgressDoughnut,
52
54
  v as RadioButton,
53
55
  G as RangeInput,
54
56
  W as Rate,
55
- U as Select,
57
+ O as Select,
56
58
  Y as Sidebar,
57
- _ as Slide,
58
- $ as Slider,
59
- q as Switch,
60
- tr as Table,
61
- pr as Tabs,
62
- E as Textarea,
63
- dr as Tooltip
59
+ rr as Slide,
60
+ er as Slider,
61
+ j as Switch,
62
+ pr as Table,
63
+ dr as Tabs,
64
+ y as Textarea,
65
+ ur as Tooltip
64
66
  };
@@ -0,0 +1 @@
1
+ "use strict";const r=require("react"),u=t=>{const e=r.useRef(null);return r.useEffect(()=>{const n=c=>{e.current&&!e.current.contains(c.target)&&t()};return document.addEventListener("click",n,!0),()=>{document.removeEventListener("click",n,!0)}},[e,t]),e};exports.useOutsideClick=u;
@@ -0,0 +1,15 @@
1
+ import { useRef as u, useEffect as c } from "react";
2
+ const i = (t) => {
3
+ const e = u(null);
4
+ return c(() => {
5
+ const r = (n) => {
6
+ e.current && !e.current.contains(n.target) && t();
7
+ };
8
+ return document.addEventListener("click", r, !0), () => {
9
+ document.removeEventListener("click", r, !0);
10
+ };
11
+ }, [e, t]), e;
12
+ };
13
+ export {
14
+ i as u
15
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dgshahr/ui-kit",
3
- "version": "1.6.0",
3
+ "version": "1.7.0",
4
4
  "description": "A modern, accessible, and customizable React component library",
5
5
  "author": "dgshahr",
6
6
  "contributes": [
@@ -154,6 +154,11 @@
154
154
  "import": "./dist/Form/Textarea/index.mjs",
155
155
  "require": "./dist/Form/Textarea/index.cjs"
156
156
  },
157
+ "./Menu": {
158
+ "types": "./dist/Menu/index.d.ts",
159
+ "import": "./dist/Menu/index.mjs",
160
+ "require": "./dist/Menu/index.cjs"
161
+ },
157
162
  "./Pagination": {
158
163
  "types": "./dist/Pagination/index.d.ts",
159
164
  "import": "./dist/Pagination/index.mjs",
@@ -1 +0,0 @@
1
- "use client";"use strict";require('./assets/styles.css');const t=require("react/jsx-runtime"),i=require("./clsx-C11secjj.cjs"),n=require("react"),S=require("./Drawer/index.cjs"),E=require("./useFlipPosition-CWhLgzoz.cjs"),D=require("./IconArrowDown2-C1dLVveG.cjs"),A=require("./index-DmSuyV3m.cjs");;/* empty css */const I=n.createContext({toggleWrapperVisibility:()=>{}}),O=()=>n.useContext(I),F=a=>{const e=n.useRef(null);return n.useEffect(()=>{const s=o=>{e.current&&!e.current.contains(o.target)&&a()};return document.addEventListener("click",s,!0),()=>{document.removeEventListener("click",s,!0)}},[e,a]),e},v="dgsuikit:duration-300",b=400,L=a=>{const{dropdownType:e="popover",disabled:s,isLoading:o,wrapperClassName:N,customInput:g,children:k,drawerProps:m,inputProps:P,popoverClassName:y,popoverPosition:T}=a,f=T==="top"?"top-left":"bottom-left",[u,c]=n.useState(!1),[x,d]=n.useState(!1),[h,W]=n.useState(f);let r;const{anchorRef:j,popperRef:R}=E.useFlipPosition({initialPosition:f,minVisible:180,onPositionChange(l){W(C=>C===l?C:l)}}),q=F(()=>{e==="popover"&&u&&(c(!1),r&&clearTimeout(r),r=setTimeout(()=>{d(!1)},b))});function w(){if(s||o)return;const l=!x;r&&clearTimeout(r),l?(d(!0),r=setTimeout(()=>{c(!0)},0)):(c(!1),r=setTimeout(()=>{d(!1)},b))}const p=i.clsx({"dgsuikit:!cursor-not-allowed":s,"dgsuikit:!cursor-wait":o,"dgsuikit:!cursor-pointer":!o&&!s});return t.jsxs("div",{ref:q,className:i.clsx("dgsuikit:relative",N),children:[t.jsx("button",{ref:j,type:"button",className:i.clsx("dgsuikit:w-full",p),onClick:w,children:g?g(u):t.jsx(A.Input,{leftIcon:o?t.jsx("div",{className:"dot-flashing dgsuikit:mr-2"}):t.jsx(D.IconArrowDown2,{width:20,height:20,className:i.clsx("dgsuikit:transition",v,{"dgsuikit:rotate-180":u})}),containerClassName:i.clsx(p,{"dgsuikit:items-baseline":o}),className:i.clsx("dgsuikit:caret-transparent",p),disabled:s,...P})}),t.jsx(I.Provider,{value:{toggleWrapperVisibility:w},children:x&&t.jsx(t.Fragment,{children:e==="popover"?t.jsx("div",{ref:R,className:i.clsx("dgsuikit:absolute dgsuikit:min-w-[300px] dgsuikit:right-0 dgsuikit:overflow-y-auto dgsuikit:overflow-x-hidden dgsuikit:shadow-lg dgsuikit:w-full dgsuikit:max-h-[360px] dgsuikit:transition-all dgsuikit:bg-white dgsuikit:z-50 dgsuikit:rounded-lg dgsuikit:border dgsuikit:border-solid dgsuikit:border-gray-200 dgsuikit:pb-3",v,u?"dgsuikit:opacity-100":"dgsuikit:opacity-0 dgsuikit:max-h-0 dgsuikit:overflow-y-hidden",{"dgsuikit:bottom-0 dgsuikit:translate-y-[calc(100%+8px)]":h.includes("bottom"),"dgsuikit:top-0 dgsuikit:translate-y-[calc(-100%-8px)]":h.includes("top")},y),children:k}):t.jsx(S,{...m,open:u,onClose:()=>c(!1),containerClassName:i.clsx("dgsuikit:!pb-3 dgsuikit:!px-0",m?.containerClassName),children:k})})})]})};exports.PickerWrapper=L;exports.usePickerWrapperContext=O;
@@ -1,142 +0,0 @@
1
- "use client";
2
- import { jsxs as D, jsx as i, Fragment as O } from "react/jsx-runtime";
3
- import { c as t } from "./clsx-OuTLNxxd.js";
4
- import { createContext as A, useContext as L, useRef as V, useEffect as _, useState as p } from "react";
5
- import j from "./Drawer/index.mjs";
6
- import { u as F } from "./useFlipPosition-BWxiBDQ_.js";
7
- import { I as M } from "./IconArrowDown2-7ddwV5IE.js";
8
- import { I as U } from "./index-ChP5zdaB.js";
9
- import './assets/styles.css';/* empty css */
10
- const I = A({
11
- toggleWrapperVisibility: () => {
12
- }
13
- }), Y = () => L(I), z = (a) => {
14
- const e = V(null);
15
- return _(() => {
16
- const s = (o) => {
17
- e.current && !e.current.contains(o.target) && a();
18
- };
19
- return document.addEventListener("click", s, !0), () => {
20
- document.removeEventListener("click", s, !0);
21
- };
22
- }, [e, a]), e;
23
- }, b = "dgsuikit:duration-300", x = 400, Z = (a) => {
24
- const {
25
- dropdownType: e = "popover",
26
- disabled: s,
27
- isLoading: o,
28
- wrapperClassName: N,
29
- customInput: g,
30
- children: m,
31
- drawerProps: k,
32
- inputProps: y,
33
- popoverClassName: P,
34
- popoverPosition: T
35
- } = a, f = T === "top" ? "top-left" : "bottom-left", [n, u] = p(!1), [h, l] = p(!1), [w, W] = p(f);
36
- let r;
37
- const { anchorRef: E, popperRef: R } = F({
38
- initialPosition: f,
39
- minVisible: 180,
40
- onPositionChange(d) {
41
- W((C) => C === d ? C : d);
42
- }
43
- }), S = z(() => {
44
- e === "popover" && n && (u(!1), r && clearTimeout(r), r = setTimeout(() => {
45
- l(!1);
46
- }, x));
47
- });
48
- function v() {
49
- if (s || o) return;
50
- const d = !h;
51
- r && clearTimeout(r), d ? (l(!0), r = setTimeout(() => {
52
- u(!0);
53
- }, 0)) : (u(!1), r = setTimeout(() => {
54
- l(!1);
55
- }, x));
56
- }
57
- const c = t({
58
- "dgsuikit:!cursor-not-allowed": s,
59
- "dgsuikit:!cursor-wait": o,
60
- "dgsuikit:!cursor-pointer": !o && !s
61
- });
62
- return /* @__PURE__ */ D(
63
- "div",
64
- {
65
- ref: S,
66
- className: t("dgsuikit:relative", N),
67
- children: [
68
- /* @__PURE__ */ i(
69
- "button",
70
- {
71
- ref: E,
72
- type: "button",
73
- className: t("dgsuikit:w-full", c),
74
- onClick: v,
75
- children: g ? g(n) : /* @__PURE__ */ i(
76
- U,
77
- {
78
- leftIcon: o ? /* @__PURE__ */ i("div", { className: "dot-flashing dgsuikit:mr-2" }) : /* @__PURE__ */ i(
79
- M,
80
- {
81
- width: 20,
82
- height: 20,
83
- className: t("dgsuikit:transition", b, {
84
- "dgsuikit:rotate-180": n
85
- })
86
- }
87
- ),
88
- containerClassName: t(c, {
89
- "dgsuikit:items-baseline": o
90
- }),
91
- className: t("dgsuikit:caret-transparent", c),
92
- disabled: s,
93
- ...y
94
- }
95
- )
96
- }
97
- ),
98
- /* @__PURE__ */ i(
99
- I.Provider,
100
- {
101
- value: {
102
- toggleWrapperVisibility: v
103
- },
104
- children: h && /* @__PURE__ */ i(O, { children: e === "popover" ? /* @__PURE__ */ i(
105
- "div",
106
- {
107
- ref: R,
108
- className: t(
109
- "dgsuikit:absolute dgsuikit:min-w-[300px] dgsuikit:right-0 dgsuikit:overflow-y-auto dgsuikit:overflow-x-hidden dgsuikit:shadow-lg dgsuikit:w-full dgsuikit:max-h-[360px] dgsuikit:transition-all dgsuikit:bg-white dgsuikit:z-50 dgsuikit:rounded-lg dgsuikit:border dgsuikit:border-solid dgsuikit:border-gray-200 dgsuikit:pb-3",
110
- b,
111
- n ? "dgsuikit:opacity-100" : "dgsuikit:opacity-0 dgsuikit:max-h-0 dgsuikit:overflow-y-hidden",
112
- {
113
- "dgsuikit:bottom-0 dgsuikit:translate-y-[calc(100%+8px)]": w.includes("bottom"),
114
- "dgsuikit:top-0 dgsuikit:translate-y-[calc(-100%-8px)]": w.includes("top")
115
- },
116
- P
117
- ),
118
- children: m
119
- }
120
- ) : /* @__PURE__ */ i(
121
- j,
122
- {
123
- ...k,
124
- open: n,
125
- onClose: () => u(!1),
126
- containerClassName: t(
127
- "dgsuikit:!pb-3 dgsuikit:!px-0",
128
- k?.containerClassName
129
- ),
130
- children: m
131
- }
132
- ) })
133
- }
134
- )
135
- ]
136
- }
137
- );
138
- };
139
- export {
140
- Z as P,
141
- Y as u
142
- };