@situaction/traq-ui-ste 1.1.11 → 1.1.13

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.
@@ -4,5 +4,8 @@ export interface ButtonControlledScrollProps {
4
4
  items: React.ReactNode[];
5
5
  iconLeft: ReactNode;
6
6
  iconRight: ReactNode;
7
+ grabSpeed?: number;
8
+ scrollAmount?: number;
9
+ grabbable?: boolean;
7
10
  }
8
11
  export declare const ButtonControlledScroll: FC<ButtonControlledScrollProps>;
@@ -1,31 +1,54 @@
1
- import { jsxs as d, jsx as l } from "react/jsx-runtime";
2
- import { useRef as m, useState as s, useEffect as p } from "react";
3
- import '../../styles/ButtonControlledScroll.css';const R = "_wrapper_wftna_1", S = "_container_wftna_11", w = "_btn_wftna_22", C = "_btnLeft_wftna_39", N = "_btnRight_wftna_44", n = {
4
- wrapper: R,
5
- container: S,
6
- btn: w,
7
- btnLeft: C,
8
- btnRight: N
9
- }, $ = ({ items: a, iconLeft: i, iconRight: f }) => {
10
- const e = m(null), [_, b] = s(!1), [h, u] = s(!1), c = () => {
11
- const t = e.current;
12
- t && (b(t.scrollLeft > 0), u(t.scrollLeft + t.clientWidth < t.scrollWidth));
13
- }, o = (t) => {
14
- const r = e.current;
15
- if (!r) return;
16
- const L = t === "left" ? -100 : 100;
17
- r.scrollBy({ left: L, behavior: "smooth" });
1
+ import { jsxs as D, jsx as c } from "react/jsx-runtime";
2
+ import { useRef as l, useState as h, useEffect as k } from "react";
3
+ import '../../styles/ButtonControlledScroll.css';const E = "_wrapper_30f39_6", U = "_container_30f39_17", X = "_btn_30f39_27", j = "_grab_30f39_44", y = "_grabbing_30f39_48", B = "_btnLeft_30f39_54", O = "_btnRight_30f39_59", n = {
4
+ wrapper: E,
5
+ container: U,
6
+ btn: X,
7
+ grab: j,
8
+ grabbing: y,
9
+ btnLeft: B,
10
+ btnRight: O
11
+ }, T = ({ items: p, iconLeft: L, iconRight: b, scrollAmount: m = 150, grabSpeed: v = 1.5, grabbable: s = !0 }) => {
12
+ const i = m, r = l(null), [M, S] = h(!1), [R, w] = h(!1), o = l(!1), f = l(0), u = l(0), x = (t) => {
13
+ if (s) {
14
+ const e = r.current;
15
+ if (!e) return;
16
+ o.current = !0, f.current = t.pageX - e.offsetLeft, u.current = e.scrollLeft, e.classList.add(n.grabbing);
17
+ }
18
+ }, $ = (t) => {
19
+ if (s) {
20
+ const e = r.current;
21
+ if (!e || !o.current) return;
22
+ t.preventDefault();
23
+ const N = (t.pageX - e.offsetLeft - f.current) * v;
24
+ e.scrollLeft = u.current + N;
25
+ }
26
+ }, d = () => {
27
+ if (s) {
28
+ const t = r.current;
29
+ o.current = !1, t == null || t.classList.remove(n.grabbing);
30
+ }
31
+ }, C = () => {
32
+ o.current && s && d();
33
+ }, a = () => {
34
+ const t = r.current;
35
+ t && (S(t.scrollLeft > 0), w(t.scrollLeft + t.clientWidth < t.scrollWidth));
36
+ }, g = (t) => {
37
+ const e = r.current;
38
+ if (!e) return;
39
+ const _ = t === "left" ? -i : i;
40
+ e.scrollBy({ left: _, behavior: "smooth" });
18
41
  };
19
- return p(() => {
20
- const t = e.current;
42
+ return k(() => {
43
+ const t = r.current;
21
44
  if (t)
22
- return c(), t.addEventListener("scroll", c), () => t.removeEventListener("scroll", c);
23
- }, []), /* @__PURE__ */ d("div", { className: `${n.wrapper}`, children: [
24
- _ && /* @__PURE__ */ l("button", { className: `${n.btn} ${n.btnLeft}`, onClick: () => o("left"), children: i }),
25
- /* @__PURE__ */ l("div", { className: `${n.container}`, ref: e, children: a.map((t, r) => /* @__PURE__ */ l("div", { className: n.item, children: t }, r)) }),
26
- h && /* @__PURE__ */ l("button", { className: `${n.btn} ${n.btnRight}`, onClick: () => o("right"), children: f })
45
+ return a(), t.addEventListener("scroll", a), () => t.removeEventListener("scroll", a);
46
+ }, []), /* @__PURE__ */ D("div", { className: `${n.wrapper}`, children: [
47
+ M && /* @__PURE__ */ c("button", { className: `${n.btn} ${n.btnLeft} padding-xs-5`, onClick: () => g("left"), children: L }),
48
+ /* @__PURE__ */ c("div", { onMouseDown: x, onMouseLeave: C, onMouseMove: $, onMouseUp: d, className: `${n.container} ${s && n.grab}`, ref: r, children: p.map((t, e) => /* @__PURE__ */ c("div", { className: n.item, children: t }, e)) }),
49
+ R && /* @__PURE__ */ c("button", { className: `${n.btn} ${n.btnRight} padding-xs-5`, onClick: () => g("right"), children: b })
27
50
  ] });
28
51
  };
29
52
  export {
30
- $ as ButtonControlledScroll
53
+ T as ButtonControlledScroll
31
54
  };
@@ -1 +1 @@
1
- ._wrapper_wftna_1{position:relative;display:flex;align-items:center;width:300px;-webkit-user-select:none;user-select:none}._wrapper_wftna_1 label{-webkit-user-select:none;user-select:none}._wrapper_wftna_1 ._container_wftna_11{display:flex;overflow-x:auto;scroll-behavior:smooth;gap:10px;padding:10px;width:100%}._wrapper_wftna_1 ._container_wftna_11::-webkit-scrollbar{display:none}._wrapper_wftna_1 ._btn_wftna_22{transition:.3s;display:flex;justify-content:center;align-items:center;width:30px;height:30px;padding:var(--spacing-xs-5);border-radius:50%;border:1px solid var(--button-tertiary-default-border);background-color:var(--button-primary-default-icon);position:absolute;cursor:pointer}._wrapper_wftna_1 ._btn_wftna_22:hover{background-color:var(--background-tooltip)}._wrapper_wftna_1 ._btnLeft_wftna_39{left:3px;top:50%;transform:translateY(-50%)}._wrapper_wftna_1 ._btnRight_wftna_44{right:3px;top:50%;transform:translateY(-50%)}
1
+ ._wrapper_30f39_6{position:relative;display:flex;align-items:center;width:100%;padding:10px;-webkit-user-select:none;user-select:none}._wrapper_30f39_6 label{-webkit-user-select:none;user-select:none}._wrapper_30f39_6 ._container_30f39_17{display:flex;overflow-x:auto;gap:10px;width:100%;scroll-behavior:smooth}._wrapper_30f39_6 ._container_30f39_17::-webkit-scrollbar{display:none}._wrapper_30f39_6 ._btn_30f39_27{transition:.3s;display:flex;justify-content:center;align-items:center;width:30px;height:30px;padding:.375rem;border-radius:50%;border:1px solid var(--button-tertiary-default-border);background-color:var(--background-primary);position:absolute;cursor:pointer}._wrapper_30f39_6 ._btn_30f39_27 *{z-index:2}._wrapper_30f39_6 ._grab_30f39_44{cursor:grab;scroll-behavior:initial}._wrapper_30f39_6 ._grabbing_30f39_48{cursor:grabbing}._wrapper_30f39_6 ._btn_30f39_27:hover{background-color:var(--background-tooltip)}._wrapper_30f39_6 ._btnLeft_30f39_54{left:0;top:50%;transform:translateY(-50%)}._wrapper_30f39_6 ._btnRight_30f39_59{right:0;top:50%;transform:translateY(-50%)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@situaction/traq-ui-ste",
3
- "version": "1.1.11",
3
+ "version": "1.1.13",
4
4
  "description": "library react component Situaction",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",