@situaction/traq-ui-ste 1.1.30 → 1.1.31

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.
@@ -1,4 +1,4 @@
1
- import { ButtonHTMLAttributes, FC, ReactNode, MouseEvent } from 'react';
1
+ import { ButtonHTMLAttributes, ReactNode, MouseEvent } from 'react';
2
2
  import { Size } from '../interface';
3
3
 
4
4
  export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
@@ -22,4 +22,4 @@ export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
22
22
  /**
23
23
  * Primary UI component for user interaction
24
24
  */
25
- export declare const Button: FC<ButtonProps>;
25
+ export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -1,7 +1,7 @@
1
- import { jsxs as l, jsx as n } from "react/jsx-runtime";
2
- import '../../styles/index.css';import '../../styles/Button.css';/* empty css */
3
- const i = "_button_mzv5s_30", p = "_flexHorizontalCenter_mzv5s_191", t = {
4
- button: i,
1
+ import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
+ import { forwardRef as p } from "react";
3
+ import '../../styles/Button.css';const v = "_button_mzv5s_30", x = "_flexHorizontalCenter_mzv5s_191", t = {
4
+ button: v,
5
5
  "button-primary": "_button-primary_mzv5s_54",
6
6
  "button-secondary": "_button-secondary_mzv5s_68",
7
7
  "button-tertiary": "_button-tertiary_mzv5s_84",
@@ -19,39 +19,42 @@ const i = "_button_mzv5s_30", p = "_flexHorizontalCenter_mzv5s_191", t = {
19
19
  "button-gap-l": "_button-gap-l_mzv5s_184",
20
20
  "button-gap-m": "_button-gap-m_mzv5s_178",
21
21
  "button-gap-s": "_button-gap-s_mzv5s_187",
22
- flexHorizontalCenter: p
23
- }, c = ({
24
- mode: o = "primary",
25
- size: e = "m",
26
- label: u,
27
- error: b,
28
- selected: r,
29
- childrenLeft: s,
30
- childrenRight: _,
31
- ...m
32
- }) => {
33
- const a = () => b ? "error" : o, z = [
34
- t.button,
35
- t[`button-${a()}`],
36
- t[`button-size-${e}`],
37
- t[`button-gap-${e}`],
38
- r && o === "text" && t["button-text-selected"],
39
- t.flexHorizontalCenter
40
- ].filter(Boolean).join(" ");
41
- return /* @__PURE__ */ l(
42
- "button",
43
- {
44
- type: "button",
45
- className: z,
46
- ...m,
47
- children: [
48
- s && /* @__PURE__ */ n("span", { className: t.flexHorizontalCenter, children: s }),
49
- /* @__PURE__ */ n("span", { children: u }),
50
- _ && /* @__PURE__ */ n("span", { className: t.flexHorizontalCenter, children: _ })
51
- ]
52
- }
53
- );
54
- };
22
+ flexHorizontalCenter: x
23
+ }, f = p(
24
+ ({
25
+ mode: n = "primary",
26
+ size: e = "m",
27
+ label: u,
28
+ error: b,
29
+ selected: r,
30
+ childrenLeft: s,
31
+ childrenRight: _,
32
+ ...m
33
+ }, a) => {
34
+ const z = () => b ? "error" : n, l = [
35
+ t.button,
36
+ t[`button-${z()}`],
37
+ t[`button-size-${e}`],
38
+ t[`button-gap-${e}`],
39
+ r && n === "text" && t["button-text-selected"],
40
+ t.flexHorizontalCenter
41
+ ].filter(Boolean).join(" ");
42
+ return /* @__PURE__ */ i(
43
+ "button",
44
+ {
45
+ ref: a,
46
+ type: "button",
47
+ className: l,
48
+ ...m,
49
+ children: [
50
+ s && /* @__PURE__ */ o("span", { className: t.flexHorizontalCenter, children: s }),
51
+ /* @__PURE__ */ o("span", { children: u }),
52
+ _ && /* @__PURE__ */ o("span", { className: t.flexHorizontalCenter, children: _ })
53
+ ]
54
+ }
55
+ );
56
+ }
57
+ );
55
58
  export {
56
- c as Button
59
+ f as Button
57
60
  };
@@ -1,9 +1,9 @@
1
1
  import { jsx as t, jsxs as n } from "react/jsx-runtime";
2
2
  import { InputLabel as c } from "../input-label/InputLabel.js";
3
- import '../../styles/EditableField.css';const m = "_editableField_1lhi9_30", o = "_statiqueField_1lhi9_39", l = {
3
+ import '../../styles/EditableField.css';const m = "_editableField_12vkl_30", o = "_statiqueField_12vkl_40", l = {
4
4
  editableField: m,
5
5
  statiqueField: o
6
- }, h = ({
6
+ }, p = ({
7
7
  label: i,
8
8
  value: e,
9
9
  placeholder: d,
@@ -26,5 +26,5 @@ import '../../styles/EditableField.css';const m = "_editableField_1lhi9_30", o =
26
26
  /* @__PURE__ */ t("div", { className: `${l.statiqueField} textSmall`, children: (e == null ? void 0 : e.trim()) || " " })
27
27
  ] });
28
28
  export {
29
- h as EditableField
29
+ p as EditableField
30
30
  };
@@ -0,0 +1,14 @@
1
+ import { SelectItem } from '../select/Select';
2
+
3
+ interface EditableSelectProps {
4
+ label: string;
5
+ listItems: SelectItem[];
6
+ value?: string;
7
+ placeholder?: string;
8
+ edit: boolean;
9
+ onSelect?: (selected: SelectItem) => void;
10
+ selected?: SelectItem;
11
+ autoCloseCondition: boolean;
12
+ }
13
+ export declare const EditableSelect: ({ label, listItems, value, placeholder, edit, onSelect, selected, autoCloseCondition }: EditableSelectProps) => import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,26 @@
1
+ import { jsxs as i, Fragment as o, jsx as e } from "react/jsx-runtime";
2
+ import { Select as S } from "../select/Select.js";
3
+ import '../../styles/EditableSelect.css';const x = "_editableSelect_6vsm4_30", p = "_statiqueField_6vsm4_40", l = {
4
+ editableSelect: x,
5
+ statiqueField: p
6
+ }, F = ({ label: s, listItems: a, value: t, placeholder: c, edit: d, onSelect: m, selected: r, autoCloseCondition: n }) => d ? /* @__PURE__ */ i(o, { children: [
7
+ /* @__PURE__ */ e("span", { className: "textSmall", children: s }),
8
+ /* @__PURE__ */ e(
9
+ S,
10
+ {
11
+ size: "s",
12
+ listItem: a,
13
+ placeholder: c,
14
+ modeDisplay: "text",
15
+ onSelect: m,
16
+ selected: r,
17
+ autoCloseCondition: n
18
+ }
19
+ )
20
+ ] }) : /* @__PURE__ */ i("div", { className: l.editableSelect, children: [
21
+ /* @__PURE__ */ e("span", { className: "textSmall", children: s }),
22
+ /* @__PURE__ */ e("div", { className: `${l.statiqueField} textSmall`, children: (t == null ? void 0 : t.trim()) || "-" })
23
+ ] });
24
+ export {
25
+ F as EditableSelect
26
+ };
@@ -1,4 +1,4 @@
1
- import { ButtonHTMLAttributes, FC, MouseEvent, ReactElement } from 'react';
1
+ import { ButtonHTMLAttributes, MouseEvent, ReactElement } from 'react';
2
2
  import { Size } from '../interface';
3
3
 
4
4
  export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
@@ -24,4 +24,4 @@ export interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>
24
24
  * It supports customization such as size, style mode, and error state.
25
25
  * The button can also be disabled or selected based on props.
26
26
  */
27
- export declare const IconButton: FC<IconButtonProps>;
27
+ export declare const IconButton: import('react').ForwardRefExoticComponent<IconButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
@@ -1,6 +1,7 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import '../../styles/IconButton.css';const c = "_button_kvvl4_30", a = "_flexHorizontalCenter_kvvl4_184", t = {
3
- button: c,
1
+ import { jsx as a } from "react/jsx-runtime";
2
+ import { forwardRef as k } from "react";
3
+ import '../../styles/IconButton.css';const z = "_button_kvvl4_30", m = "_flexHorizontalCenter_kvvl4_184", t = {
4
+ button: z,
4
5
  "button-round": "_button-round_kvvl4_58",
5
6
  "button-primary": "_button-primary_kvvl4_61",
6
7
  "button-secondary": "_button-secondary_kvvl4_75",
@@ -14,35 +15,40 @@ import '../../styles/IconButton.css';const c = "_button_kvvl4_30", a = "_flexHor
14
15
  "button-size-m": "_button-size-m_kvvl4_167",
15
16
  "button-size-s": "_button-size-s_kvvl4_172",
16
17
  "button-size-menu": "_button-size-menu_kvvl4_177",
17
- flexHorizontalCenter: a
18
- }, z = ({
19
- mode: o = "primary",
20
- size: n = "m",
21
- error: e,
22
- selected: _,
23
- round: u,
24
- disabled: r,
25
- children: b,
26
- onClick: l
27
- }) => {
28
- const s = () => e ? "error" : o, v = [
29
- t.button,
30
- t[`button-${s()}`],
31
- u && t["button-round"],
32
- t[`button-size-${n}`],
33
- _ && o === "icon" && t["button-icon-selected"],
34
- t.flexHorizontalCenter
35
- ].filter(Boolean).join(" ");
36
- return /* @__PURE__ */ i(
37
- "button",
38
- {
39
- className: v,
40
- onClick: l,
41
- disabled: r,
42
- children: b
43
- }
44
- );
45
- };
18
+ flexHorizontalCenter: m
19
+ }, d = k(
20
+ ({
21
+ mode: o = "primary",
22
+ size: n = "m",
23
+ error: e,
24
+ selected: _,
25
+ round: u,
26
+ disabled: r,
27
+ children: b,
28
+ onClick: l,
29
+ ...s
30
+ }, i) => {
31
+ const v = () => e ? "error" : o, c = [
32
+ t.button,
33
+ t[`button-${v()}`],
34
+ u && t["button-round"],
35
+ t[`button-size-${n}`],
36
+ _ && o === "icon" && t["button-icon-selected"],
37
+ t.flexHorizontalCenter
38
+ ].filter(Boolean).join(" ");
39
+ return /* @__PURE__ */ a(
40
+ "button",
41
+ {
42
+ ref: i,
43
+ className: c,
44
+ onClick: l,
45
+ disabled: r,
46
+ ...s,
47
+ children: b
48
+ }
49
+ );
50
+ }
51
+ );
46
52
  export {
47
- z as IconButton
53
+ d as IconButton
48
54
  };
@@ -1,12 +1,12 @@
1
1
  import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
2
  import { Button as p } from "../../button/Button.js";
3
3
  import "react";
4
- import '../../../styles/Size.css';import '../../../styles/index.css';import '../../../styles/ListControls.css';/* empty css */
4
+ import "../../icon-button/IconButton.js";
5
5
  import { Checkbox as _ } from "../../checkbox/Checkbox.js";
6
6
  import { Icon as a } from "../../icon/Icon.js";
7
7
  import "../../modal/Modal.js";
8
8
  import "../../theme/ThemeContext.js";
9
- /* empty css */
9
+ import '../../../styles/Size.css';import '../../../styles/ListControls.css';/* empty css */
10
10
  const u = "_list_1nihg_6", f = "_children_1nihg_29", g = "_selected_1nihg_43", k = "_reset_1nihg_47", i = {
11
11
  list: u,
12
12
  children: f,
@@ -2,11 +2,11 @@ import { jsxs as l, jsx as t } from "react/jsx-runtime";
2
2
  import { NestedListItem as c } from "./item/NestedListItem.js";
3
3
  import { Button as p } from "../../button/Button.js";
4
4
  import "react";
5
- import '../../../styles/Size.css';import '../../../styles/index.css';import '../../../styles/NestedList.css';/* empty css */
5
+ import "../../icon-button/IconButton.js";
6
6
  import { Icon as a } from "../../icon/Icon.js";
7
7
  import "../../modal/Modal.js";
8
8
  import "../../theme/ThemeContext.js";
9
- /* empty css */
9
+ import '../../../styles/Size.css';import '../../../styles/NestedList.css';/* empty css */
10
10
  const h = "_nestedlist_7rnd3_6", _ = "_reset_7rnd3_18", r = {
11
11
  nestedlist: h,
12
12
  reset: _
@@ -1,17 +1,18 @@
1
- import { jsxs as r, Fragment as w, jsx as t } from "react/jsx-runtime";
1
+ import { jsxs as n, Fragment as w, jsx as t } from "react/jsx-runtime";
2
2
  import { useState as g, useRef as u, useLayoutEffect as z } from "react";
3
- import '../../../../styles/Size.css';import '../../../../styles/index.css';import '../../../../styles/NestedListItem.css';/* empty css */
3
+ import "../../../button/Button.js";
4
+ import "../../../icon-button/IconButton.js";
4
5
  import { TagCounter as B } from "../../../tag-counter/TagCounter.js";
5
6
  import { Icon as l } from "../../../icon/Icon.js";
6
7
  import { Modal as L } from "../../../modal/Modal.js";
7
8
  import "../../../theme/ThemeContext.js";
8
- /* empty css */
9
+ import '../../../../styles/Size.css';import '../../../../styles/NestedListItem.css';/* empty css */
9
10
  const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28", v = "_modal_2r2ga_34", s = {
10
11
  nestedlist: S,
11
12
  items: $,
12
13
  textSmall: j,
13
14
  modal: v
14
- }, T = ({
15
+ }, W = ({
15
16
  icon: a,
16
17
  title: h,
17
18
  numberSelect: i,
@@ -19,13 +20,13 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
19
20
  onClick: m,
20
21
  align: e = "right"
21
22
  }) => {
22
- const [c, d] = g(!1), n = u(null), o = u(null), [x, C] = g({
23
+ const [c, d] = g(!1), r = u(null), o = u(null), [x, C] = g({
23
24
  top: "0px"
24
25
  });
25
26
  z(() => {
26
27
  var p;
27
- if (n.current && o.current) {
28
- const N = o.current.getBoundingClientRect(), f = n.current.getBoundingClientRect().width, M = ((p = o.current.parentElement) == null ? void 0 : p.getBoundingClientRect().top) || 0;
28
+ if (r.current && o.current) {
29
+ const N = o.current.getBoundingClientRect(), f = r.current.getBoundingClientRect().width, M = ((p = o.current.parentElement) == null ? void 0 : p.getBoundingClientRect().top) || 0;
29
30
  C({
30
31
  top: `${N.top - M}px`,
31
32
  ...e === "right" ? { right: `-${f + 6}px` } : { left: `-${f + 6}px` }
@@ -35,8 +36,8 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
35
36
  const R = () => {
36
37
  d(!0), m && m();
37
38
  };
38
- return /* @__PURE__ */ r(w, { children: [
39
- /* @__PURE__ */ r(
39
+ return /* @__PURE__ */ n(w, { children: [
40
+ /* @__PURE__ */ n(
40
41
  "div",
41
42
  {
42
43
  ref: o,
@@ -44,7 +45,7 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
44
45
  onClick: R,
45
46
  children: [
46
47
  e === "left" && /* @__PURE__ */ t(l, { icon: "CaretLeft", size: 14, weight: "regular" }),
47
- /* @__PURE__ */ r("div", { className: s.items, children: [
48
+ /* @__PURE__ */ n("div", { className: s.items, children: [
48
49
  a && /* @__PURE__ */ t(l, { icon: a }),
49
50
  /* @__PURE__ */ t("span", { className: s.textSmall, children: h }),
50
51
  i && i > 0 && /* @__PURE__ */ t(B, { size: "s", label: i ?? 0 })
@@ -56,7 +57,7 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
56
57
  /* @__PURE__ */ t(
57
58
  L,
58
59
  {
59
- ref: n,
60
+ ref: r,
60
61
  className: s.modal,
61
62
  open: c,
62
63
  onClose: () => d(!1),
@@ -67,5 +68,5 @@ const S = "_nestedlist_2r2ga_6", $ = "_items_2r2ga_21", j = "_textSmall_2r2ga_28
67
68
  ] });
68
69
  };
69
70
  export {
70
- T as NestedListItem
71
+ W as NestedListItem
71
72
  };
@@ -1,12 +1,11 @@
1
1
  import { jsx as l, jsxs as f } from "react/jsx-runtime";
2
2
  import { useState as c, useRef as M, useEffect as $ } from "react";
3
3
  import { Button as b } from "../button/Button.js";
4
- import '../../styles/Size.css';import '../../styles/index.css';import '../../styles/Menu.css';/* empty css */
5
4
  import { IconButton as u } from "../icon-button/IconButton.js";
6
5
  import { Icon as w } from "../icon/Icon.js";
7
6
  import { Modal as W } from "../modal/Modal.js";
8
7
  import "../theme/ThemeContext.js";
9
- /* empty css */
8
+ import '../../styles/Size.css';import '../../styles/Menu.css';/* empty css */
10
9
  const y = "_fullHeight_o2xi7_15", O = "_fullWidth_o2xi7_18", j = "_open_o2xi7_21", D = "_close_o2xi7_25", q = "_menuButton_o2xi7_29", A = "_closeIcon_o2xi7_37", F = "_label_o2xi7_42", G = "_textEllipsis_o2xi7_46", J = "_pointer_o2xi7_51", K = "_fullImg_o2xi7_54", Q = "_menuParams_o2xi7_60", T = "_line_o2xi7_66", U = "_borderRadiusM_o2xi7_73", X = "_menuItem_o2xi7_77", Y = "_flexVerticalBetweenStart_o2xi7_86", Z = "_flexHorizontalBetween_o2xi7_93", ee = "_flexVertical_o2xi7_86", oe = "_flexVerticalBetweenCenter_o2xi7_107", e = {
11
10
  fullHeight: y,
12
11
  fullWidth: O,
@@ -26,7 +25,7 @@ const y = "_fullHeight_o2xi7_15", O = "_fullWidth_o2xi7_18", j = "_open_o2xi7_21
26
25
  flexHorizontalBetween: Z,
27
26
  flexVertical: ee,
28
27
  flexVerticalBetweenCenter: oe
29
- }, fe = ({ menuItems: s = [], menuParams: r = [], shortLogo: x, logo: m, isOpen: h, defaultOpen: N = !1, selectedId: d }) => {
28
+ }, de = ({ menuItems: s = [], menuParams: r = [], shortLogo: x, logo: m, isOpen: h, defaultOpen: N = !1, selectedId: d }) => {
30
29
  const [t, p] = c(N ?? !1), [g, B] = c(d ?? (s.length > 0 ? s[0].id : null)), I = M(null), [V, _] = c(!1), [H, C] = c(!1), [k, E] = c(null), [z, R] = c({}), L = M(null);
31
30
  $(() => {
32
31
  d != null && B(d);
@@ -117,5 +116,5 @@ const y = "_fullHeight_o2xi7_15", O = "_fullWidth_o2xi7_18", j = "_open_o2xi7_21
117
116
  ] }) });
118
117
  };
119
118
  export {
120
- fe as Menu
119
+ de as Menu
121
120
  };
@@ -1,4 +1,4 @@
1
- import { default as React, ReactNode } from 'react';
1
+ import { ReactNode, RefObject } from 'react';
2
2
 
3
3
  export interface ModalProps {
4
4
  /** Determines whether the modal is open or closed.
@@ -23,10 +23,13 @@ export interface ModalProps {
23
23
  className?: string;
24
24
  /** Option to disable the overlay and the blocking of events outside the modal */
25
25
  disableOverlay?: boolean;
26
+ /** Condition to close the modal */
27
+ autoCloseCondition?: boolean;
28
+ anchorRef?: RefObject<HTMLElement>;
26
29
  }
27
30
  /**
28
31
  * Modal component that renders content in a floating layer above the main UI.
29
32
  * It supports custom positioning and closes when clicking outside of its content area.
30
33
  * The component uses a ref to detect clicks outside the modal.
31
34
  */
32
- export declare const Modal: React.ForwardRefExoticComponent<ModalProps & React.RefAttributes<HTMLDivElement>>;
35
+ export declare const Modal: import('react').ForwardRefExoticComponent<ModalProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -1,24 +1,54 @@
1
- import { jsxs as v, Fragment as y, jsx as a } from "react/jsx-runtime";
2
- import { forwardRef as f, useEffect as _ } from "react";
3
- import '../../styles/Modal.css';const g = "_overlay_lv2n7_2", C = "_modalContent_lv2n7_12", s = {
4
- overlay: g,
5
- modalContent: C
6
- }, x = f(
7
- ({ open: e, onClose: n, children: c, position: d, className: m, disableOverlay: i = !1 }, t) => (_(() => {
8
- const o = (l) => {
9
- if (t && t.current && e) {
10
- const r = t.current;
11
- r && !r.contains(l.target) && ![...document.querySelectorAll(".dialog")].some((u) => u.contains(l.target)) && n();
1
+ import { jsxs as N, Fragment as S, jsx as v } from "react/jsx-runtime";
2
+ import { forwardRef as W, useRef as k, useState as w, useEffect as g, useLayoutEffect as n } from "react";
3
+ import '../../styles/Modal.css';const q = "_overlay_lv2n7_2", A = "_modalContent_lv2n7_12", y = {
4
+ overlay: q,
5
+ modalContent: A
6
+ }, D = W(
7
+ ({ open: l, onClose: a, children: x, position: e, className: _, disableOverlay: b = !1, autoCloseCondition: m, anchorRef: d }, E) => {
8
+ const $ = k(null), c = E || $, [r, h] = w(), [L, j] = w();
9
+ return g(() => {
10
+ !m && m !== void 0 && l && a();
11
+ }, [m, l, a]), n(() => {
12
+ if (d != null && d.current && l && !e) {
13
+ const t = d.current.getBoundingClientRect();
14
+ h({
15
+ top: `${t.bottom + window.scrollY}px`,
16
+ left: `${t.left + window.scrollX}px`
17
+ }), j(`${t.width}px`);
12
18
  }
13
- };
14
- return document.addEventListener("mousedown", o), () => {
15
- document.removeEventListener("mousedown", o);
16
- };
17
- }, [n, e, t]), e ? /* @__PURE__ */ v(y, { children: [
18
- i && /* @__PURE__ */ a("div", { className: s.overlay, onClick: n }),
19
- /* @__PURE__ */ a("div", { ref: t, className: `${s.modalContent} ${m}`, style: d, children: c })
20
- ] }) : null)
19
+ }, [d, l, e]), g(() => {
20
+ const t = (u) => {
21
+ const f = c.current;
22
+ f && !f.contains(u.target) && l && ![...document.querySelectorAll(".dialog")].some(
23
+ (M) => M.contains(u.target)
24
+ ) && a();
25
+ };
26
+ return document.addEventListener("mousedown", t), () => {
27
+ document.removeEventListener("mousedown", t);
28
+ };
29
+ }, [a, l, c]), l ? /* @__PURE__ */ N(S, { children: [
30
+ !b && /* @__PURE__ */ v("div", { className: y.overlay }),
31
+ /* @__PURE__ */ v(
32
+ "div",
33
+ {
34
+ ref: c,
35
+ className: `${y.modalContent} ${_ || ""}`,
36
+ onMouseDown: (t) => t.stopPropagation(),
37
+ style: {
38
+ position: "absolute",
39
+ top: (e == null ? void 0 : e.top) ?? (r == null ? void 0 : r.top) ?? "50%",
40
+ left: (e == null ? void 0 : e.left) ?? (r == null ? void 0 : r.left) ?? "50%",
41
+ right: e == null ? void 0 : e.right,
42
+ bottom: e == null ? void 0 : e.bottom,
43
+ width: (e == null ? void 0 : e.width) ?? L ?? "auto",
44
+ transform: !(e != null && e.top) && !(e != null && e.left) && !r ? "translate(-50%, -50%)" : void 0
45
+ },
46
+ children: x
47
+ }
48
+ )
49
+ ] }) : null;
50
+ }
21
51
  );
22
52
  export {
23
- x as Modal
53
+ D as Modal
24
54
  };
@@ -1,11 +1,11 @@
1
1
  import { jsxs as C, jsx as e } from "react/jsx-runtime";
2
- import '../../../styles/Size.css';import '../../../styles/index.css';import '../../../styles/SidePanelHeader.css';/* empty css */
2
+ import "../../button/Button.js";
3
3
  import "react";
4
4
  import { IconButton as i } from "../../icon-button/IconButton.js";
5
5
  import { Icon as t } from "../../icon/Icon.js";
6
6
  import "../../modal/Modal.js";
7
7
  import "../../theme/ThemeContext.js";
8
- /* empty css */
8
+ import '../../../styles/Size.css';import '../../../styles/SidePanelHeader.css';/* empty css */
9
9
  const c = "_sidePanelHeader_72g7b_6", m = "_buttonArrow_72g7b_13", h = "_title_72g7b_20", r = {
10
10
  sidePanelHeader: c,
11
11
  buttonArrow: m,
@@ -1,10 +1,9 @@
1
- import { FC } from 'react';
2
1
  import { Size } from '../interface';
3
2
 
4
3
  import * as PhosphorIcons from "@phosphor-icons/react";
5
4
  export type SelectItem = {
6
5
  label?: string;
7
- icon?: keyof typeof PhosphorIcons;
6
+ icon?: keyof typeof PhosphorIcons | null;
8
7
  value: string;
9
8
  };
10
9
  export interface SelectProps {
@@ -29,11 +28,16 @@ export interface SelectProps {
29
28
  left?: string;
30
29
  right?: string;
31
30
  bottom?: string;
31
+ width?: string;
32
32
  };
33
+ /** Text displayed when no item is selected */
34
+ placeholder?: string;
35
+ /** Condition to close the modal */
36
+ autoCloseCondition: boolean;
33
37
  }
34
38
  /**
35
39
  * Select component that allows users to choose an option from a list.
36
40
  * It supports three display modes: 'all' (icon + text), 'icon' (only icon), and 'text' (only text).
37
41
  * The selected value is displayed in a button, and a modal opens to show the list of options.
38
42
  */
39
- export declare const Select: FC<SelectProps>;
43
+ export declare const Select: ({ selected, size, listItem, modeDisplay, onSelect, positionOverride, placeholder, autoCloseCondition }: SelectProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,79 +1,171 @@
1
- import { jsxs as u, jsx as o } from "react/jsx-runtime";
2
- import { useState as f, useRef as N, useEffect as w } from "react";
3
- import { Button as _ } from "../button/Button.js";
4
- import '../../styles/Size.css';import '../../styles/index.css';import '../../styles/Select.css';/* empty css */
5
- import { IconButton as S } from "../icon-button/IconButton.js";
6
- import { Icon as i } from "../icon/Icon.js";
7
- import { Modal as g } from "../modal/Modal.js";
1
+ import { jsxs as K, jsx as r } from "react/jsx-runtime";
2
+ import { useState as k, useRef as h, useEffect as w } from "react";
3
+ import { Button as E } from "../button/Button.js";
4
+ import { IconButton as I } from "../icon-button/IconButton.js";
5
+ import { Icon as p } from "../icon/Icon.js";
6
+ import { Modal as M } from "../modal/Modal.js";
8
7
  import "../theme/ThemeContext.js";
9
- /* empty css */
10
- const R = "_selectContainer_1o5wx_54", y = "_selected_1o5wx_57", z = "_children_1o5wx_61", B = "_active_1o5wx_78", F = "_selectList_1o5wx_82", j = "_modal_1o5wx_91", U = "_dropdownFadeIn_1o5wx_1", $ = "_itemLabel_1o5wx_98", c = {
11
- selectContainer: R,
8
+ import '../../styles/Size.css';import '../../styles/Select.css';/* empty css */
9
+ const O = "_selectContainer_1o5wx_54", q = "_selected_1o5wx_57", A = "_children_1o5wx_61", D = "_active_1o5wx_78", G = "_selectList_1o5wx_82", H = "_modal_1o5wx_91", J = "_dropdownFadeIn_1o5wx_1", Q = "_itemLabel_1o5wx_98", m = {
10
+ selectContainer: O,
11
+ selected: q,
12
+ children: A,
13
+ active: D,
14
+ selectList: G,
15
+ modal: H,
16
+ dropdownFadeIn: J,
17
+ itemLabel: Q
18
+ }, re = ({
12
19
  selected: y,
13
- children: z,
14
- active: B,
15
- selectList: F,
16
- modal: j,
17
- dropdownFadeIn: U,
18
- itemLabel: $
19
- }, K = ({ selected: a, size: s = "m", listItem: h, modeDisplay: r = "all", onSelect: p, positionOverride: d }) => {
20
- const [n, l] = f(!1), C = N(null), [x, L] = f({ top: "calc(100% + 6px)" }), v = a ?? h[0], [t, b] = f(v);
20
+ size: _ = "m",
21
+ listItem: a,
22
+ modeDisplay: x = "all",
23
+ onSelect: S,
24
+ positionOverride: g,
25
+ placeholder: N = "Sélectionner",
26
+ autoCloseCondition: W
27
+ }) => {
28
+ const [t, u] = k(!1), $ = h(null), [j, B] = k({
29
+ top: "calc(100% + 6px)",
30
+ left: "0px",
31
+ width: "100%"
32
+ }), [c, P] = k(y ?? null);
21
33
  w(() => {
22
- a && b(a);
23
- }, [a]), w(() => {
24
- d && L(d);
25
- }, [d]);
26
- const I = (e) => {
27
- b(e), l(!1), p && p(e);
28
- }, k = () => {
29
- const e = !!t.icon, m = !!t.label;
30
- return t.icon && r === "icon" && e ? /* @__PURE__ */ o(S, { mode: "tertiary", size: s ?? "m", onClick: () => l(!n), children: /* @__PURE__ */ o(i, { icon: t.icon }) }) : t.label && r === "text" && m ? /* @__PURE__ */ o(
31
- _,
34
+ P(y ?? null);
35
+ }, [y]), w(() => {
36
+ g && B(g);
37
+ }, [g]);
38
+ const U = (e) => {
39
+ P(e), u(!1), S && S(e);
40
+ }, V = () => {
41
+ const e = c == null ? void 0 : c.icon, o = (c == null ? void 0 : c.label) || N || "Sélectionner";
42
+ return x === "icon" && e ? /* @__PURE__ */ r(I, { ref: d, mode: "tertiary", size: _, onClick: () => u(!t), children: /* @__PURE__ */ r(p, { icon: c.icon }) }) : x === "text" ? /* @__PURE__ */ r(
43
+ E,
32
44
  {
45
+ ref: d,
33
46
  mode: "tertiary",
34
- label: t.label,
35
- childrenRight: /* @__PURE__ */ o(i, { icon: n ? "CaretUp" : "CaretDown", size: 14, weight: "bold" }),
36
- size: s ?? "m",
37
- onClick: () => l(!n)
47
+ label: o,
48
+ childrenRight: /* @__PURE__ */ r(p, { icon: t ? "CaretUp" : "CaretDown", size: 14, weight: "bold" }),
49
+ size: _,
50
+ onClick: () => u(!t)
38
51
  }
39
- ) : t.label && t.icon && r === "all" && (e || m) ? /* @__PURE__ */ o(
40
- _,
52
+ ) : x === "all" ? /* @__PURE__ */ r(
53
+ E,
41
54
  {
55
+ ref: d,
42
56
  mode: "tertiary",
43
- label: m ? t.label : "",
44
- size: s ?? "m",
45
- childrenLeft: e && /* @__PURE__ */ o(i, { icon: t.icon }),
46
- childrenRight: /* @__PURE__ */ o(i, { icon: n ? "CaretUp" : "CaretDown", size: 14, weight: "bold" }),
47
- onClick: () => l(!n)
57
+ label: o,
58
+ size: _,
59
+ childrenLeft: e && /* @__PURE__ */ r(p, { icon: c.icon }),
60
+ childrenRight: /* @__PURE__ */ r(p, { icon: t ? "CaretUp" : "CaretDown", size: 14, weight: "bold" }),
61
+ onClick: () => u(!t)
48
62
  }
49
- ) : /* @__PURE__ */ o(
50
- _,
63
+ ) : /* @__PURE__ */ r(
64
+ E,
51
65
  {
66
+ ref: d,
52
67
  mode: "tertiary",
53
- label: "Sélectionner",
54
- size: s ?? "m",
55
- onClick: () => l(!n)
68
+ label: N ?? "Sélectionner",
69
+ size: _,
70
+ onClick: () => u(!t)
56
71
  }
57
72
  );
73
+ }, R = h(null), b = h({}), [L, v] = k(""), f = h(null), F = h({}), T = (e) => {
74
+ if (!t) return;
75
+ const o = e.key.length === 1 ? e.key.toLowerCase() : "";
76
+ if (!o) return;
77
+ const i = L + o;
78
+ v(i);
79
+ const l = a.find((n) => {
80
+ var s;
81
+ return (s = n.label) == null ? void 0 : s.toLowerCase().startsWith(i);
82
+ });
83
+ if (l) {
84
+ const n = b.current[l.value];
85
+ n == null || n.scrollIntoView({ behavior: "smooth", block: "nearest" });
86
+ }
87
+ f.current && clearTimeout(f.current), f.current = setTimeout(() => {
88
+ v("");
89
+ }, 500);
58
90
  };
59
- return /* @__PURE__ */ u("div", { className: c.selectContainer, children: [
60
- k(),
61
- /* @__PURE__ */ o(
62
- g,
91
+ w(() => (t ? window.addEventListener("keydown", T) : (window.removeEventListener("keydown", T), v("")), () => {
92
+ window.removeEventListener("keydown", T);
93
+ }), [t, L, a]), w(() => {
94
+ const e = (o) => {
95
+ if (!t) return;
96
+ const i = o.key.length === 1 ? o.key.toLowerCase() : "";
97
+ if (!i) return;
98
+ const l = L + i;
99
+ v(l);
100
+ const n = a.find(
101
+ (s) => {
102
+ var C;
103
+ return (C = s.label) == null ? void 0 : C.toLowerCase().startsWith(l);
104
+ }
105
+ );
106
+ if (n && R.current && n.value in b.current && b.current[n.value]) {
107
+ const s = R.current, C = b.current[n.value];
108
+ s.scrollTo({
109
+ top: C.offsetTop - s.offsetTop,
110
+ behavior: "smooth"
111
+ });
112
+ }
113
+ f.current && clearTimeout(f.current), f.current = setTimeout(() => {
114
+ v("");
115
+ }, 700);
116
+ };
117
+ return window.addEventListener("keydown", e), () => window.removeEventListener("keydown", e);
118
+ }, [t, a, L]), w(() => {
119
+ if (!t) return;
120
+ const e = (o) => {
121
+ const i = o.key.toLowerCase();
122
+ if (i.length === 1) {
123
+ const l = a.find(
124
+ (n) => {
125
+ var s;
126
+ return (s = n.label) == null ? void 0 : s.toLowerCase().startsWith(i);
127
+ }
128
+ );
129
+ if (l) {
130
+ const n = F.current[l.value];
131
+ n && n.scrollIntoView({ block: "start", behavior: "smooth" });
132
+ }
133
+ }
134
+ };
135
+ return document.addEventListener("keydown", e), () => document.removeEventListener("keydown", e);
136
+ }, [t, a]);
137
+ const d = h(null);
138
+ return w(() => {
139
+ if (t && d.current) {
140
+ const e = d.current.getBoundingClientRect().height;
141
+ B({
142
+ top: `${e + 6}px`,
143
+ left: "0px",
144
+ width: "100%"
145
+ });
146
+ }
147
+ }, [t]), /* @__PURE__ */ K("div", { className: m.selectContainer, children: [
148
+ V(),
149
+ /* @__PURE__ */ r(
150
+ M,
63
151
  {
64
- ref: C,
65
- open: n,
66
- onClose: () => l(!1),
67
- className: c.modal,
68
- position: x,
69
- children: /* @__PURE__ */ o("div", { className: c.selectList, children: h.map((e) => /* @__PURE__ */ u(
152
+ ref: $,
153
+ anchorRef: d,
154
+ open: t,
155
+ onClose: () => u(!1),
156
+ position: j,
157
+ disableOverlay: !0,
158
+ className: m.modal,
159
+ autoCloseCondition: W,
160
+ children: /* @__PURE__ */ r("div", { className: m.selectList, ref: R, children: a.map((e) => /* @__PURE__ */ K(
70
161
  "div",
71
162
  {
72
- className: `${c.children} ${e.value === t.value ? c.active : ""}`,
73
- onClick: () => I(e),
163
+ ref: (o) => F.current[e.value] = o,
164
+ className: `${m.children} ${(c == null ? void 0 : c.value) === e.value ? m.active : ""}`,
165
+ onClick: () => U(e),
74
166
  children: [
75
- e.icon && /* @__PURE__ */ o(i, { icon: e.icon }),
76
- e.label && /* @__PURE__ */ o("div", { className: c.itemLabel, children: e.label })
167
+ e.icon && /* @__PURE__ */ r(p, { icon: e.icon }),
168
+ e.label && /* @__PURE__ */ r("div", { className: m.itemLabel, children: e.label })
77
169
  ]
78
170
  },
79
171
  e.value
@@ -83,5 +175,5 @@ const R = "_selectContainer_1o5wx_54", y = "_selected_1o5wx_57", z = "_children_
83
175
  ] });
84
176
  };
85
177
  export {
86
- K as Select
178
+ re as Select
87
179
  };
@@ -1,20 +1,21 @@
1
1
  import { jsx as e, jsxs as r } from "react/jsx-runtime";
2
- import '../../styles/Size.css';import '../../styles/index.css';import '../../styles/SelectFilterInputTags.css';/* empty css */
2
+ import "../button/Button.js";
3
3
  import "react";
4
4
  import { Input as c } from "../input/Input.js";
5
+ import "../icon-button/IconButton.js";
5
6
  import "../modal/Modal.js";
6
7
  import "../theme/ThemeContext.js";
7
- /* empty css */
8
- const a = "_listTagSelect_2v3fb_6", u = "_flexAutoSize_2v3fb_24", n = {
8
+ import '../../styles/Size.css';import '../../styles/SelectFilterInputTags.css';/* empty css */
9
+ const a = "_listTagSelect_2v3fb_6", p = "_flexAutoSize_2v3fb_24", u = {
9
10
  listTagSelect: a,
10
- flexAutoSize: u
11
- }, v = ({ children: l, inputValue: o, handleInputChange: s, handleKeyDown: i }) => /* @__PURE__ */ e("div", { className: n.listTagSelect, children: /* @__PURE__ */ r("div", { children: [
12
- l,
11
+ flexAutoSize: p
12
+ }, _ = ({ children: o, inputValue: l, handleInputChange: s, handleKeyDown: i }) => /* @__PURE__ */ e("div", { className: u.listTagSelect, children: /* @__PURE__ */ r("div", { children: [
13
+ o,
13
14
  /* @__PURE__ */ e("div", { className: "flexAutoSize", children: /* @__PURE__ */ e(
14
15
  c,
15
16
  {
16
17
  type: "text",
17
- value: o,
18
+ value: l,
18
19
  onKeyDown: (t) => {
19
20
  t.key === "Enter" && i && i(t);
20
21
  },
@@ -27,5 +28,5 @@ const a = "_listTagSelect_2v3fb_6", u = "_flexAutoSize_2v3fb_24", n = {
27
28
  ) })
28
29
  ] }) });
29
30
  export {
30
- v as SelectFilterInputTags
31
+ _ as SelectFilterInputTags
31
32
  };
@@ -2,11 +2,11 @@ import { jsxs as i, jsx as o } from "react/jsx-runtime";
2
2
  import { useState as _, useRef as h } from "react";
3
3
  import { R as v, I as C, D as x } from "../../X-Bd1VjKAF.mjs";
4
4
  import { Button as M } from "../button/Button.js";
5
- import '../../styles/Size.css';import '../../styles/index.css';import '../../styles/SelectMultiItems.css';/* empty css */
5
+ import "../icon-button/IconButton.js";
6
6
  import { TagCounter as R } from "../tag-counter/TagCounter.js";
7
7
  import { Modal as w } from "../modal/Modal.js";
8
8
  import "../theme/ThemeContext.js";
9
- /* empty css */
9
+ import '../../styles/Size.css';import '../../styles/SelectMultiItems.css';/* empty css */
10
10
  const y = "_relative_w7e9a_6", I = "_tagCounter_w7e9a_10", N = "_modal_w7e9a_18", r = {
11
11
  relative: y,
12
12
  tagCounter: I,
@@ -1,11 +1,11 @@
1
1
  import { jsxs as m, jsx as c } from "react/jsx-runtime";
2
2
  import { useState as $, useEffect as b } from "react";
3
- import '../../styles/Size.css';import '../../styles/index.css';import '../../styles/Switch.css';/* empty css */
3
+ import "../button/Button.js";
4
4
  import { IconButton as k } from "../icon-button/IconButton.js";
5
5
  import { Icon as g } from "../icon/Icon.js";
6
6
  import "../modal/Modal.js";
7
7
  import "../theme/ThemeContext.js";
8
- /* empty css */
8
+ import '../../styles/Size.css';import '../../styles/Switch.css';/* empty css */
9
9
  const y = "_slider_1mxgk_21", I = "_s_1mxgk_6", N = "_m_1mxgk_58", S = "_l_1mxgk_75", j = "_xl_1mxgk_92", B = "_disabled_1mxgk_110", E = "_wrapper_1mxgk_121", R = "_button_1mxgk_136", T = "_active_1mxgk_145", t = {
10
10
  switch: "_switch_1mxgk_6",
11
11
  slider: y,
@@ -1,9 +1,8 @@
1
- import { jsxs as p, jsx as l } from "react/jsx-runtime";
2
- import { useState as f, useRef as u, useLayoutEffect as w } from "react";
3
- import '../../styles/index.css';import '../../styles/Tabs.css';/* empty css */
4
- import { Button as B } from "../button/Button.js";
1
+ import { jsxs as w, jsx as l } from "react/jsx-runtime";
2
+ import { useState as f, useRef as u, useLayoutEffect as B } from "react";
3
+ import { Button as p } from "../button/Button.js";
5
4
  import { IconButton as S } from "../icon-button/IconButton.js";
6
- const j = "_underline_6o3gh_70", e = {
5
+ import '../../styles/Tabs.css';const j = "_underline_6o3gh_70", e = {
7
6
  "tab-container": "_tab-container_6o3gh_30",
8
7
  "tab-container-button": "_tab-container-button_6o3gh_34",
9
8
  "tab-container-icon": "_tab-container-icon_6o3gh_39",
@@ -17,17 +16,17 @@ const j = "_underline_6o3gh_70", e = {
17
16
  "flexHorizontal-center": "_flexHorizontal-center_6o3gh_78",
18
17
  "flexHorizontal-left": "_flexHorizontal-left_6o3gh_84",
19
18
  "flexHorizontal-right": "_flexHorizontal-right_6o3gh_90"
20
- }, y = ({
19
+ }, q = ({
21
20
  listItems: c,
22
21
  type: o,
23
22
  onTabSelect: h,
24
- defaultActiveTab: m = 0,
25
- position: g = "left",
23
+ defaultActiveTab: g = 0,
24
+ position: m = "left",
26
25
  fullWidth: x = !1,
27
26
  disabledTabs: b = []
28
27
  // ✅ par défaut vide
29
28
  }) => {
30
- const [s, v] = f(m), [z, $] = f({}), r = u(null), R = u(null), _ = u([]), d = (t) => {
29
+ const [s, v] = f(g), [z, $] = f({}), r = u(null), R = u(null), _ = u([]), d = (t) => {
31
30
  b.includes(t) || (v(t), h(c[t]));
32
31
  }, H = (t) => {
33
32
  if (r.current && t) {
@@ -38,15 +37,15 @@ const j = "_underline_6o3gh_70", e = {
38
37
  });
39
38
  }
40
39
  }, C = [
41
- e[`flexHorizontal-${g}`],
40
+ e[`flexHorizontal-${m}`],
42
41
  o === "button" ? e["tab-items-button"] : e["tab-items"]
43
42
  ].filter(Boolean).join(" ");
44
- return w(() => {
43
+ return B(() => {
45
44
  const t = _.current[s];
46
45
  t && requestAnimationFrame(() => {
47
46
  H(t);
48
47
  });
49
- }, [s, c.length]), /* @__PURE__ */ p(
48
+ }, [s, c.length]), /* @__PURE__ */ w(
50
49
  "div",
51
50
  {
52
51
  className: `tab ${e["tab-container"]} ${e[`tab-container-${o}`]} ${x && e["tab-full-width"]}`,
@@ -73,7 +72,7 @@ const j = "_underline_6o3gh_70", e = {
73
72
  children: t
74
73
  }
75
74
  ) : /* @__PURE__ */ l("div", { className: a ? e["selected-text"] : void 0, children: /* @__PURE__ */ l(
76
- B,
75
+ p,
77
76
  {
78
77
  size: "s",
79
78
  label: t,
@@ -93,5 +92,5 @@ const j = "_underline_6o3gh_70", e = {
93
92
  );
94
93
  };
95
94
  export {
96
- y as Tabs
95
+ q as Tabs
97
96
  };
package/dist/main.d.ts CHANGED
@@ -27,4 +27,5 @@ export { SidePanel } from './components/panel/side-panel/SidePanel';
27
27
  export { SidePanelHeader } from './components/panel/side-panel-header/SidePanelHeader';
28
28
  export { InputLabel } from './components/input-label/InputLabel';
29
29
  export { EditableField } from './components/editable-field/EditableField';
30
+ export { EditableSelect } from './components/editable-select/EditableSelect';
30
31
  export { ThemeProvider, useTheme } from './components/theme/ThemeContext';
package/dist/main.js CHANGED
@@ -1,63 +1,64 @@
1
- import { Button as m } from "./components/button/Button.js";
2
- import { ButtonControlledScroll as x } from "./components/buttonControledScroll/ButtonControlledScroll.js";
3
- import { Input as l } from "./components/input/Input.js";
4
- import { Tabs as n } from "./components/tabs/Tabs.js";
5
- import { IconButton as a } from "./components/icon-button/IconButton.js";
6
- import { Tag as s } from "./components/tag/Tag.js";
7
- import { Title as I } from "./components/title/Title.js";
1
+ import { Button as t } from "./components/button/Button.js";
2
+ import { ButtonControlledScroll as p } from "./components/buttonControledScroll/ButtonControlledScroll.js";
3
+ import { Input as f } from "./components/input/Input.js";
4
+ import { Tabs as i } from "./components/tabs/Tabs.js";
5
+ import { IconButton as d } from "./components/icon-button/IconButton.js";
6
+ import { Tag as c } from "./components/tag/Tag.js";
7
+ import { Title as u } from "./components/title/Title.js";
8
8
  import { TagCounter as S } from "./components/tag-counter/TagCounter.js";
9
- import { Checkbox as b } from "./components/checkbox/Checkbox.js";
10
- import { Tooltip as L } from "./components/tooltip/Tooltip.js";
11
- import { Select as B } from "./components/select/Select.js";
12
- import { Calendar as P } from "./components/calendar/Calendar.js";
13
- import { Accordion as F } from "./components/accordion/Accordion.js";
14
- import { AccordionItem as k } from "./components/accordion/item/AccordionItem.js";
15
- import { Card as w } from "./components/card/Card.js";
16
- import { Icon as H } from "./components/icon/Icon.js";
17
- import { Menu as q } from "./components/menu/Menu.js";
18
- import { Modal as z } from "./components/modal/Modal.js";
19
- import { SelectMultiItems as G } from "./components/select-multi-items/SelectMultiItems.js";
20
- import { SelectFilterInputTags as K } from "./components/select-filter-input-tags/SelectFilterInputTags.js";
21
- import { ListControls as Q } from "./components/list/list-controls/ListControls.js";
22
- import { NestedList as U } from "./components/list/nested-list/NestedList.js";
23
- import { NestedListItem as W } from "./components/list/nested-list/item/NestedListItem.js";
24
- import { Switch as Y } from "./components/switch/Switch.js";
25
- import { SidePanel as _ } from "./components/panel/side-panel/SidePanel.js";
26
- import { SidePanelHeader as oo } from "./components/panel/side-panel-header/SidePanelHeader.js";
27
- import { InputLabel as eo } from "./components/input-label/InputLabel.js";
28
- import { EditableField as mo } from "./components/editable-field/EditableField.js";
29
- import { ThemeProvider as xo, useTheme as fo } from "./components/theme/ThemeContext.js";
30
- import './styles/Size.css';import './styles/index.css';/* empty css */
31
- /* empty css */
9
+ import { Checkbox as C } from "./components/checkbox/Checkbox.js";
10
+ import { Tooltip as h } from "./components/tooltip/Tooltip.js";
11
+ import { Select as g } from "./components/select/Select.js";
12
+ import { Calendar as M } from "./components/calendar/Calendar.js";
13
+ import { Accordion as A } from "./components/accordion/Accordion.js";
14
+ import { AccordionItem as F } from "./components/accordion/item/AccordionItem.js";
15
+ import { Card as k } from "./components/card/Card.js";
16
+ import { Icon as w } from "./components/icon/Icon.js";
17
+ import { Menu as j } from "./components/menu/Menu.js";
18
+ import { Modal as y } from "./components/modal/Modal.js";
19
+ import { SelectMultiItems as D } from "./components/select-multi-items/SelectMultiItems.js";
20
+ import { SelectFilterInputTags as J } from "./components/select-filter-input-tags/SelectFilterInputTags.js";
21
+ import { ListControls as O } from "./components/list/list-controls/ListControls.js";
22
+ import { NestedList as R } from "./components/list/nested-list/NestedList.js";
23
+ import { NestedListItem as V } from "./components/list/nested-list/item/NestedListItem.js";
24
+ import { Switch as X } from "./components/switch/Switch.js";
25
+ import { SidePanel as Z } from "./components/panel/side-panel/SidePanel.js";
26
+ import { SidePanelHeader as $ } from "./components/panel/side-panel-header/SidePanelHeader.js";
27
+ import { InputLabel as ro } from "./components/input-label/InputLabel.js";
28
+ import { EditableField as to } from "./components/editable-field/EditableField.js";
29
+ import { EditableSelect as po } from "./components/editable-select/EditableSelect.js";
30
+ import { ThemeProvider as fo, useTheme as lo } from "./components/theme/ThemeContext.js";
31
+ import './styles/Size.css';/* empty css */
32
32
  export {
33
- F as Accordion,
34
- k as AccordionItem,
35
- m as Button,
36
- x as ButtonControlledScroll,
37
- P as Calendar,
38
- w as Card,
39
- b as Checkbox,
40
- mo as EditableField,
41
- H as Icon,
42
- a as IconButton,
43
- l as Input,
44
- eo as InputLabel,
45
- Q as ListControls,
46
- q as Menu,
47
- z as Modal,
48
- U as NestedList,
49
- W as NestedListItem,
50
- B as Select,
51
- K as SelectFilterInputTags,
52
- G as SelectMultiItems,
53
- _ as SidePanel,
54
- oo as SidePanelHeader,
55
- Y as Switch,
56
- n as Tabs,
57
- s as Tag,
33
+ A as Accordion,
34
+ F as AccordionItem,
35
+ t as Button,
36
+ p as ButtonControlledScroll,
37
+ M as Calendar,
38
+ k as Card,
39
+ C as Checkbox,
40
+ to as EditableField,
41
+ po as EditableSelect,
42
+ w as Icon,
43
+ d as IconButton,
44
+ f as Input,
45
+ ro as InputLabel,
46
+ O as ListControls,
47
+ j as Menu,
48
+ y as Modal,
49
+ R as NestedList,
50
+ V as NestedListItem,
51
+ g as Select,
52
+ J as SelectFilterInputTags,
53
+ D as SelectMultiItems,
54
+ Z as SidePanel,
55
+ $ as SidePanelHeader,
56
+ X as Switch,
57
+ i as Tabs,
58
+ c as Tag,
58
59
  S as TagCounter,
59
- xo as ThemeProvider,
60
- I as Title,
61
- L as Tooltip,
62
- fo as useTheme
60
+ fo as ThemeProvider,
61
+ u as Title,
62
+ h as Tooltip,
63
+ lo as useTheme
63
64
  };
@@ -1 +1 @@
1
- ._button_mzv5s_30{font-family:var(--font-family);font-weight:500;font-style:normal;line-height:1.25rem;border:0;cursor:pointer;width:fit-content}._button_mzv5s_30:focus-visible{outline:2px solid var(--button-focus-mode);outline-offset:2px}._button_mzv5s_30:disabled{background:var(--button-primary-disabled-background);color:var(--button-primary-disabled-text);border:1px solid var(--button-primary-disabled-border);cursor:initial;pointer-events:none}._button_mzv5s_30:disabled *{fill:var(--button-primary-disabled-text)}._button-primary_mzv5s_54{color:var(--button-primary-default-text);background:var(--button-primary-default-background)}._button-primary_mzv5s_54:hover{background:var(--button-primary-hover-background)}._button-primary_mzv5s_54:active{background:var(--button-primary-pressed-background);outline:none}._button-primary_mzv5s_54 *{fill:var(--button-primary-default-text)}._button-secondary_mzv5s_68{color:var(--button-secondary-default-text);border:1px solid var(--button-secondary-default-border);background:var(--button-secondary-default-background)}._button-secondary_mzv5s_68:hover{border:1px solid var(--button-secondary-hover-border);background:var(--button-secondary-hover-background)}._button-secondary_mzv5s_68:active{border:1px solid var(--button-secondary-pressed-border);background:var(--button-secondary-pressed-background)}._button-secondary_mzv5s_68 *{fill:var(--button-secondary-default-text)}._button-tertiary_mzv5s_84{color:var(--button-tertiary-default-text);background-color:transparent;border:1px solid var(--button-tertiary-default-border)}._button-tertiary_mzv5s_84:hover{border:1px solid var(--button-tertiary-hover-border);background:var(--button-tertiary-hover-background)}._button-tertiary_mzv5s_84:active{border:1px solid var(--button-tertiary-pressed-border);background:var(--button-tertiary-pressed-background)}._button-tertiary_mzv5s_84 *{fill:var(--button-tertiary-default-text)}._button-ghost_mzv5s_100{color:var(--button-ghost-default-text);background-color:transparent}._button-ghost_mzv5s_100:hover{background:var(--button-ghost-hover-background)}._button-ghost_mzv5s_100:active{background-color:var(--button-ghost-pressed-background)}._button-ghost_mzv5s_100:disabled{border:none}._button-ghost_mzv5s_100 *{fill:var(--button-ghost-default-text)}._button-text_mzv5s_116{color:var(--text-button-inactive-text);background-color:transparent;padding:0!important}._button-text_mzv5s_116:hover{color:var(--text-button-inactive-hover-text)}._button-text_mzv5s_116:disabled{border:none;background-color:transparent;color:var(--text-button-disabled-text)}._button-text-selected_mzv5s_129,._button-text-selected_mzv5s_129:hover{color:var(--text-button-active-text)}._button-error_mzv5s_135{color:var(--button-destructive-default-text);background:var(--button-destructive-default-background)}._button-error_mzv5s_135:hover{background:var(--button-destructive-hover-background)}._button-error_mzv5s_135:active{background:var(--button-destructive-pressed-background)}._button-error_mzv5s_135 *{fill:var(--button-destructive-default-text)}._button-size-xl_mzv5s_148{padding:1rem 2rem;font-size:1.125em;line-height:28px;border-radius:8px}._button-size-l_mzv5s_154{padding:.75rem 1.5rem;font-size:1em;line-height:24px;border-radius:8px}._button-size-m_mzv5s_160{padding:.5rem 1rem;font-size:.875em;line-height:22px;border-radius:4px}._button-size-s_mzv5s_166{padding:.375rem .75rem;font-size:.875em;line-height:16px;border-radius:4px}._button-size-menu_mzv5s_172{padding:.5rem;font-size:1em;line-height:24px;border-radius:4px}._button-gap-menu_mzv5s_178{gap:.5rem}._button-gap-xl_mzv5s_181{gap:12px}._button-gap-l_mzv5s_184{gap:8px}._button-gap-m_mzv5s_178,._button-gap-s_mzv5s_187{gap:4px}._flexHorizontalCenter_mzv5s_191{display:flex;justify-content:center;align-items:center;flex-direction:row}
1
+ @font-face{font-family:Urbanist-Thin;src:url(../fonts/Urbanist-Thin.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:Urbanist-Extra-Light;src:url(../fonts/Urbanist-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal}@font-face{font-family:Urbanist-Light;src:url(../fonts/Urbanist-Light.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Urbanist-Regular;src:url(../fonts/Urbanist-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Urbanist;src:url(../fonts/Urbanist-Medium.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Urbanist-Back;src:url(../fonts/Urbanist-Black.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Urbanist-Semi-Bold;src:url(../fonts/Urbanist-SemiBold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Urbanist-Bold;src:url(../fonts/Urbanist-Bold.ttf) format("truetype");font-weight:800;font-style:normal}@font-face{font-family:Urbanist-Extra-Bold;src:url(../fonts/Urbanist-ExtraBold.ttf) format("truetype");font-weight:900;font-style:normal}:root,body{font-family:Urbanist,sans-serif;line-height:1;width:100vw;height:100vh}h1{font-size:1.875em;font-style:normal;font-weight:700;line-height:2.25rem}h2{font-size:1.5em;font-style:normal;font-weight:700;line-height:2rem;margin:0}h3{font-size:1.25em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h4{font-size:1.125em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h5{font-size:1em;font-style:normal;font-weight:700;line-height:1.5rem;margin:0}h6{font-size:.875em;font-style:normal;font-weight:700;line-height:1.25rem;margin:0}.textExtraLarge{font-size:1.25em;font-style:normal;line-height:2rem}.textLarge{font-size:1.125em;font-style:normal;line-height:1.75rem}.textMedium{font-size:1em;font-style:normal;line-height:1.5rem}.textSmall{font-size:.875em;font-style:normal;line-height:1.25rem}.textSmaller{font-size:.75em;font-style:normal;line-height:1rem}.labelExtraLarge{font-size:1.25em;font-style:normal;line-height:normal;letter-spacing:1.2px}.labelLarge{font-size:1.125em;font-style:normal;line-height:normal;letter-spacing:1.08px}.labelMedium{font-size:1em;font-style:normal;line-height:normal;letter-spacing:.96px}.labelSmall{font-size:.875em;font-style:normal;line-height:normal;letter-spacing:.84px}.labelSmaller{font-size:.75em;font-style:normal;line-height:normal;letter-spacing:.72px}.labelSmallest{font-size:.625em;font-style:normal;line-height:normal;letter-spacing:.6px}.fontWeight-100{font-weight:100}.fontWeight-200{font-weight:200}.fontWeight-300{font-weight:300}.fontWeight-400{font-weight:400}.fontWeight-500{font-weight:500}.fontWeight-600{font-weight:600}.fontWeight-700{font-weight:700}.fontWeight-800{font-weight:800}.fontWeight-900{font-weight:900}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-background);border-radius:.5rem;transition:all .3s ease;margin:.625rem;background-clip:padding-box}::-webkit-scrollbar:hover{cursor:pointer}::-webkit-scrollbar-corner{background:var(--scrollbar-background)}._button_mzv5s_30{font-family:var(--font-family);font-weight:500;font-style:normal;line-height:1.25rem;border:0;cursor:pointer;width:fit-content}._button_mzv5s_30:focus-visible{outline:2px solid var(--button-focus-mode);outline-offset:2px}._button_mzv5s_30:disabled{background:var(--button-primary-disabled-background);color:var(--button-primary-disabled-text);border:1px solid var(--button-primary-disabled-border);cursor:initial;pointer-events:none}._button_mzv5s_30:disabled *{fill:var(--button-primary-disabled-text)}._button-primary_mzv5s_54{color:var(--button-primary-default-text);background:var(--button-primary-default-background)}._button-primary_mzv5s_54:hover{background:var(--button-primary-hover-background)}._button-primary_mzv5s_54:active{background:var(--button-primary-pressed-background);outline:none}._button-primary_mzv5s_54 *{fill:var(--button-primary-default-text)}._button-secondary_mzv5s_68{color:var(--button-secondary-default-text);border:1px solid var(--button-secondary-default-border);background:var(--button-secondary-default-background)}._button-secondary_mzv5s_68:hover{border:1px solid var(--button-secondary-hover-border);background:var(--button-secondary-hover-background)}._button-secondary_mzv5s_68:active{border:1px solid var(--button-secondary-pressed-border);background:var(--button-secondary-pressed-background)}._button-secondary_mzv5s_68 *{fill:var(--button-secondary-default-text)}._button-tertiary_mzv5s_84{color:var(--button-tertiary-default-text);background-color:transparent;border:1px solid var(--button-tertiary-default-border)}._button-tertiary_mzv5s_84:hover{border:1px solid var(--button-tertiary-hover-border);background:var(--button-tertiary-hover-background)}._button-tertiary_mzv5s_84:active{border:1px solid var(--button-tertiary-pressed-border);background:var(--button-tertiary-pressed-background)}._button-tertiary_mzv5s_84 *{fill:var(--button-tertiary-default-text)}._button-ghost_mzv5s_100{color:var(--button-ghost-default-text);background-color:transparent}._button-ghost_mzv5s_100:hover{background:var(--button-ghost-hover-background)}._button-ghost_mzv5s_100:active{background-color:var(--button-ghost-pressed-background)}._button-ghost_mzv5s_100:disabled{border:none}._button-ghost_mzv5s_100 *{fill:var(--button-ghost-default-text)}._button-text_mzv5s_116{color:var(--text-button-inactive-text);background-color:transparent;padding:0!important}._button-text_mzv5s_116:hover{color:var(--text-button-inactive-hover-text)}._button-text_mzv5s_116:disabled{border:none;background-color:transparent;color:var(--text-button-disabled-text)}._button-text-selected_mzv5s_129,._button-text-selected_mzv5s_129:hover{color:var(--text-button-active-text)}._button-error_mzv5s_135{color:var(--button-destructive-default-text);background:var(--button-destructive-default-background)}._button-error_mzv5s_135:hover{background:var(--button-destructive-hover-background)}._button-error_mzv5s_135:active{background:var(--button-destructive-pressed-background)}._button-error_mzv5s_135 *{fill:var(--button-destructive-default-text)}._button-size-xl_mzv5s_148{padding:1rem 2rem;font-size:1.125em;line-height:28px;border-radius:8px}._button-size-l_mzv5s_154{padding:.75rem 1.5rem;font-size:1em;line-height:24px;border-radius:8px}._button-size-m_mzv5s_160{padding:.5rem 1rem;font-size:.875em;line-height:22px;border-radius:4px}._button-size-s_mzv5s_166{padding:.375rem .75rem;font-size:.875em;line-height:16px;border-radius:4px}._button-size-menu_mzv5s_172{padding:.5rem;font-size:1em;line-height:24px;border-radius:4px}._button-gap-menu_mzv5s_178{gap:.5rem}._button-gap-xl_mzv5s_181{gap:12px}._button-gap-l_mzv5s_184{gap:8px}._button-gap-m_mzv5s_178,._button-gap-s_mzv5s_187{gap:4px}._flexHorizontalCenter_mzv5s_191{display:flex;justify-content:center;align-items:center;flex-direction:row}
@@ -1 +1 @@
1
- ._editableField_1lhi9_30{width:100%;display:flex;justify-content:flex-start;align-items:start;flex-direction:column;gap:.25rem}._statiqueField_1lhi9_39{width:100%;border-radius:4px;border:1px solid var(--input-primary-default-border);padding:.5rem}
1
+ ._editableField_12vkl_30{width:100%;display:flex;justify-content:flex-start;align-items:start;flex-direction:column;gap:.25rem;cursor:default}._statiqueField_12vkl_40{width:100%;border-radius:4px;border:1px solid var(--input-primary-default-border);padding:.5rem}
@@ -0,0 +1 @@
1
+ ._editableSelect_6vsm4_30{width:100%;gap:.25rem;display:flex;justify-content:flex-start;align-items:start;flex-direction:column;cursor:default}._statiqueField_6vsm4_40{width:100%;border-radius:4px;border:1px solid var(--input-primary-default-border);padding:.5rem}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@situaction/traq-ui-ste",
3
- "version": "1.1.30",
3
+ "version": "1.1.31",
4
4
  "description": "library react component Situaction",
5
5
  "main": "dist/main.js",
6
6
  "types": "dist/main.d.ts",
@@ -1 +0,0 @@
1
- @font-face{font-family:Urbanist-Thin;src:url(../fonts/Urbanist-Thin.ttf) format("truetype");font-weight:100;font-style:normal}@font-face{font-family:Urbanist-Extra-Light;src:url(../fonts/Urbanist-ExtraLight.ttf) format("truetype");font-weight:200;font-style:normal}@font-face{font-family:Urbanist-Light;src:url(../fonts/Urbanist-Light.ttf) format("truetype");font-weight:300;font-style:normal}@font-face{font-family:Urbanist-Regular;src:url(../fonts/Urbanist-Regular.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Urbanist;src:url(../fonts/Urbanist-Medium.ttf) format("truetype");font-weight:500;font-style:normal}@font-face{font-family:Urbanist-Back;src:url(../fonts/Urbanist-Black.ttf) format("truetype");font-weight:600;font-style:normal}@font-face{font-family:Urbanist-Semi-Bold;src:url(../fonts/Urbanist-SemiBold.ttf) format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Urbanist-Bold;src:url(../fonts/Urbanist-Bold.ttf) format("truetype");font-weight:800;font-style:normal}@font-face{font-family:Urbanist-Extra-Bold;src:url(../fonts/Urbanist-ExtraBold.ttf) format("truetype");font-weight:900;font-style:normal}:root,body{font-family:Urbanist,sans-serif;line-height:1;width:100vw;height:100vh}h1{font-size:1.875em;font-style:normal;font-weight:700;line-height:2.25rem}h2{font-size:1.5em;font-style:normal;font-weight:700;line-height:2rem;margin:0}h3{font-size:1.25em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h4{font-size:1.125em;font-style:normal;font-weight:700;line-height:1.75rem;margin:0}h5{font-size:1em;font-style:normal;font-weight:700;line-height:1.5rem;margin:0}h6{font-size:.875em;font-style:normal;font-weight:700;line-height:1.25rem;margin:0}.textExtraLarge{font-size:1.25em;font-style:normal;line-height:2rem}.textLarge{font-size:1.125em;font-style:normal;line-height:1.75rem}.textMedium{font-size:1em;font-style:normal;line-height:1.5rem}.textSmall{font-size:.875em;font-style:normal;line-height:1.25rem}.textSmaller{font-size:.75em;font-style:normal;line-height:1rem}.labelExtraLarge{font-size:1.25em;font-style:normal;line-height:normal;letter-spacing:1.2px}.labelLarge{font-size:1.125em;font-style:normal;line-height:normal;letter-spacing:1.08px}.labelMedium{font-size:1em;font-style:normal;line-height:normal;letter-spacing:.96px}.labelSmall{font-size:.875em;font-style:normal;line-height:normal;letter-spacing:.84px}.labelSmaller{font-size:.75em;font-style:normal;line-height:normal;letter-spacing:.72px}.labelSmallest{font-size:.625em;font-style:normal;line-height:normal;letter-spacing:.6px}.fontWeight-100{font-weight:100}.fontWeight-200{font-weight:200}.fontWeight-300{font-weight:300}.fontWeight-400{font-weight:400}.fontWeight-500{font-weight:500}.fontWeight-600{font-weight:600}.fontWeight-700{font-weight:700}.fontWeight-800{font-weight:800}.fontWeight-900{font-weight:900}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-thumb{background-color:var(--scrollbar-background);border-radius:.5rem;transition:all .3s ease;margin:.625rem;background-clip:padding-box}::-webkit-scrollbar:hover{cursor:pointer}::-webkit-scrollbar-corner{background:var(--scrollbar-background)}