@situaction/traq-ui-ste 1.1.11 → 1.1.12

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 N, jsx as o } from "react/jsx-runtime";
2
+ import { useRef as l, useState as _, useEffect as D } from "react";
3
+ import '../../styles/ButtonControlledScroll.css';const k = "_wrapper_r0cby_6", E = "_container_r0cby_16", U = "_btn_r0cby_27", X = "_grab_r0cby_44", j = "_grabbing_r0cby_48", B = "_btnLeft_r0cby_54", O = "_btnRight_r0cby_59", n = {
4
+ wrapper: k,
5
+ container: E,
6
+ btn: U,
7
+ grab: X,
8
+ grabbing: j,
9
+ btnLeft: B,
10
+ btnRight: O
11
+ }, T = ({ items: h, iconLeft: p, iconRight: L, scrollAmount: m = 150, grabSpeed: v = 1.5, grabbable: c = !0 }) => {
12
+ const i = m, r = l(null), [M, S] = _(!1), [y, R] = _(!1), s = l(!1), f = l(0), u = l(0), w = (t) => {
13
+ if (c) {
14
+ const e = r.current;
15
+ if (!e) return;
16
+ s.current = !0, f.current = t.pageX - e.offsetLeft, u.current = e.scrollLeft, e.classList.add(n.grabbing);
17
+ }
18
+ }, x = (t) => {
19
+ if (c) {
20
+ const e = r.current;
21
+ if (!e || !s.current) return;
22
+ t.preventDefault();
23
+ const C = (t.pageX - e.offsetLeft - f.current) * v;
24
+ e.scrollLeft = u.current + C;
25
+ }
26
+ }, b = () => {
27
+ if (c) {
28
+ const t = r.current;
29
+ s.current = !1, t == null || t.classList.remove(n.grabbing);
30
+ }
31
+ }, $ = () => {
32
+ s.current && c && b();
33
+ }, a = () => {
34
+ const t = r.current;
35
+ t && (S(t.scrollLeft > 0), R(t.scrollLeft + t.clientWidth < t.scrollWidth));
36
+ }, d = (t) => {
37
+ const e = r.current;
38
+ if (!e) return;
39
+ const g = t === "left" ? -i : i;
40
+ e.scrollBy({ left: g, behavior: "smooth" });
18
41
  };
19
- return p(() => {
20
- const t = e.current;
42
+ return D(() => {
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__ */ N("div", { className: `${n.wrapper}`, children: [
47
+ M && /* @__PURE__ */ o("button", { className: `${n.btn} ${n.btnLeft} padding-xs-5`, onClick: () => d("left"), children: p }),
48
+ /* @__PURE__ */ o("div", { onMouseDown: w, onMouseLeave: $, onMouseMove: x, onMouseUp: b, className: `${n.container} ${c && n.grab}`, ref: r, children: h.map((t, e) => /* @__PURE__ */ o("div", { className: n.item, children: t }, e)) }),
49
+ y && /* @__PURE__ */ o("button", { className: `${n.btn} ${n.btnRight} padding-xs-5`, onClick: () => d("right"), children: L })
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_r0cby_6{position:relative;display:flex;align-items:center;width:100%;-webkit-user-select:none;user-select:none}._wrapper_r0cby_6 label{-webkit-user-select:none;user-select:none}._wrapper_r0cby_6 ._container_r0cby_16{display:flex;overflow-x:auto;gap:10px;padding:10px;width:100%;scroll-behavior:smooth}._wrapper_r0cby_6 ._container_r0cby_16::-webkit-scrollbar{display:none}._wrapper_r0cby_6 ._btn_r0cby_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_r0cby_6 ._btn_r0cby_27 *{z-index:2}._wrapper_r0cby_6 ._grab_r0cby_44{cursor:grab;scroll-behavior:initial}._wrapper_r0cby_6 ._grabbing_r0cby_48{cursor:grabbing}._wrapper_r0cby_6 ._btn_r0cby_27:hover{background-color:var(--background-tooltip)}._wrapper_r0cby_6 ._btnLeft_r0cby_54{left:0;top:50%;transform:translateY(-50%)}._wrapper_r0cby_6 ._btnRight_r0cby_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.12",
4
4
  "description": "library react component Situaction",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",