chop-logic-components 3.7.3 → 4.0.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/README.md +5 -4
- package/dist/components/atoms/button/Button.css +1 -0
- package/dist/components/atoms/button/Button.js +66 -0
- package/dist/components/atoms/button/icon-button/IconButton.css +1 -0
- package/dist/components/atoms/button/icon-button/IconButton.js +15 -0
- package/dist/components/atoms/button/icon-button/index.js +3 -0
- package/dist/components/atoms/button/index.js +3 -0
- package/dist/components/atoms/button/inner-button/InnerButton.css +1 -0
- package/dist/components/atoms/button/inner-button/InnerButton.js +28 -0
- package/dist/components/atoms/button/inner-button/index.js +3 -0
- package/dist/components/atoms/button/primary-button/PrimaryButton.css +1 -0
- package/dist/components/atoms/button/primary-button/PrimaryButton.js +18 -0
- package/dist/components/atoms/button/primary-button/index.js +3 -0
- package/dist/components/atoms/button/secondary-button/SecondaryButton.css +1 -0
- package/dist/components/atoms/button/secondary-button/SecondaryButton.js +18 -0
- package/dist/components/atoms/button/secondary-button/index.js +3 -0
- package/dist/components/atoms/editable-text/EditView.js +37 -0
- package/dist/components/atoms/editable-text/EditableText.css +1 -0
- package/dist/components/atoms/editable-text/EditableText.js +71 -0
- package/dist/components/atoms/editable-text/ReadView.js +25 -0
- package/dist/components/atoms/editable-text/index.js +3 -0
- package/dist/components/atoms/editable-text/useEditModeState.js +17 -0
- package/dist/components/atoms/editable-text/useInputFocus.js +9 -0
- package/dist/components/atoms/editable-text/useValueState.js +21 -0
- package/dist/components/atoms/error-message/ErrorMessage.css +1 -0
- package/dist/components/atoms/error-message/ErrorMessage.js +30 -0
- package/dist/components/atoms/error-message/index.js +3 -0
- package/dist/components/atoms/header/Header.css +1 -0
- package/dist/components/atoms/header/Header.js +22 -0
- package/dist/components/atoms/header/index.js +3 -0
- package/dist/components/atoms/icon/Icon.css +1 -0
- package/dist/components/atoms/icon/Icon.js +31 -0
- package/dist/components/atoms/icon/index.js +3 -0
- package/dist/components/atoms/image/BasicImage.js +27 -0
- package/dist/components/atoms/image/FallBackImage.js +10 -0
- package/dist/components/atoms/image/Image.css +1 -0
- package/dist/components/atoms/image/Image.js +24 -0
- package/dist/components/atoms/image/ResponsivePicture.js +17 -0
- package/dist/components/atoms/image/index.js +3 -0
- package/dist/components/atoms/input/Input.css +1 -0
- package/dist/components/atoms/input/Input.js +10 -0
- package/dist/components/atoms/input/index.js +3 -0
- package/dist/components/atoms/label/Label.css +1 -0
- package/dist/components/atoms/label/Label.js +30 -0
- package/dist/components/atoms/label/index.js +3 -0
- package/dist/components/atoms/link/Link.css +1 -0
- package/dist/components/atoms/link/Link.js +39 -0
- package/dist/components/atoms/link/index.js +3 -0
- package/dist/components/atoms/portal/Portal.js +11 -0
- package/dist/components/atoms/portal/index.js +2 -0
- package/dist/components/atoms/tooltip/Tooltip.controller.js +35 -0
- package/dist/components/atoms/tooltip/Tooltip.css +1 -0
- package/dist/components/atoms/tooltip/Tooltip.js +70 -0
- package/dist/components/atoms/tooltip/index.js +3 -0
- package/dist/components/contexts/form/FormContext.js +5 -0
- package/dist/components/contexts/theme/ThemeContext.js +11 -0
- package/dist/components/contexts/theme/ThemeProvider.js +21 -0
- package/dist/components/hocs/with-figure-caption/Figure.css +1 -0
- package/dist/components/hocs/with-figure-caption/index.js +2 -0
- package/dist/components/hocs/with-figure-caption/with-figure-caption.js +11 -0
- package/dist/components/hocs/with-tooltip/index.js +2 -0
- package/dist/components/hocs/with-tooltip/with-tooltip.js +8 -0
- package/dist/components/molecules/accordion/Accordion.css +1 -0
- package/dist/components/molecules/accordion/Accordion.js +11 -0
- package/dist/components/molecules/accordion/AccordionItem.css +1 -0
- package/dist/components/molecules/accordion/AccordionItem.js +24 -0
- package/dist/components/molecules/accordion/index.js +3 -0
- package/dist/components/molecules/alert/Alert.css +1 -0
- package/dist/components/molecules/alert/Alert.helpers.js +41 -0
- package/dist/components/molecules/alert/Alert.js +60 -0
- package/dist/components/molecules/alert/AlertProgressBar.js +13 -0
- package/dist/components/molecules/alert/index.js +3 -0
- package/dist/components/molecules/breadcrumbs/BreadcrumbItem.js +27 -0
- package/dist/components/molecules/breadcrumbs/BreadcrumbList.js +6 -0
- package/dist/components/molecules/breadcrumbs/Breadcrumbs.css +1 -0
- package/dist/components/molecules/breadcrumbs/Breadcrumbs.js +31 -0
- package/dist/components/molecules/breadcrumbs/index.js +3 -0
- package/dist/components/molecules/checkbox/Checkbox.controller.js +25 -0
- package/dist/components/molecules/checkbox/Checkbox.css +1 -0
- package/dist/components/molecules/checkbox/Checkbox.helpers.js +10 -0
- package/dist/components/molecules/checkbox/Checkbox.js +7 -0
- package/dist/components/molecules/checkbox/CheckboxStateful.js +61 -0
- package/dist/components/molecules/checkbox/CheckboxStateless.js +59 -0
- package/dist/components/molecules/checkbox/index.js +3 -0
- package/dist/components/molecules/multi-select/MultiSelect.Combobox.js +47 -0
- package/dist/components/molecules/multi-select/MultiSelect.Dropdown.js +31 -0
- package/dist/components/molecules/multi-select/MultiSelect.controller.js +37 -0
- package/dist/components/molecules/multi-select/MultiSelect.helpers.js +22 -0
- package/dist/components/molecules/multi-select/MultiSelect.js +61 -0
- package/dist/components/molecules/multi-select/MultiSelectComboboxSelectedValues.js +8 -0
- package/dist/components/molecules/multi-select/Option.js +40 -0
- package/dist/components/molecules/multi-select/index.js +2 -0
- package/dist/components/molecules/numeric-input/NumericInput.controller.js +45 -0
- package/dist/components/molecules/numeric-input/NumericInput.css +1 -0
- package/dist/components/molecules/numeric-input/NumericInput.helpers.js +20 -0
- package/dist/components/molecules/numeric-input/NumericInput.js +7 -0
- package/dist/components/molecules/numeric-input/NumericInputStateful.js +108 -0
- package/dist/components/molecules/numeric-input/NumericInputStateless.js +96 -0
- package/dist/components/molecules/numeric-input/index.js +3 -0
- package/dist/components/molecules/search/Search.controller.js +42 -0
- package/dist/components/molecules/search/Search.css +1 -0
- package/dist/components/molecules/search/Search.js +112 -0
- package/dist/components/molecules/search/index.js +3 -0
- package/dist/components/molecules/select/Select.controller.js +32 -0
- package/dist/components/molecules/select/Select.css +1 -0
- package/dist/components/molecules/select/Select.helpers.js +16 -0
- package/dist/components/molecules/select/Select.js +64 -0
- package/dist/components/molecules/select/combobox/Combobox.css +1 -0
- package/dist/components/molecules/select/combobox/Combobox.js +46 -0
- package/dist/components/molecules/select/combobox/index.js +3 -0
- package/dist/components/molecules/select/dropdown/Dropdown.css +1 -0
- package/dist/components/molecules/select/dropdown/Dropdown.js +46 -0
- package/dist/components/molecules/select/dropdown/index.js +3 -0
- package/dist/components/molecules/select/index.js +3 -0
- package/dist/components/molecules/select/option/Option.css +1 -0
- package/dist/components/molecules/select/option/Option.js +38 -0
- package/dist/components/molecules/select/option/index.js +3 -0
- package/dist/components/molecules/switch/Switch.controller.js +33 -0
- package/dist/components/molecules/switch/Switch.css +1 -0
- package/dist/components/molecules/switch/Switch.helpers.js +10 -0
- package/dist/components/molecules/switch/Switch.js +68 -0
- package/dist/components/molecules/switch/index.js +3 -0
- package/dist/components/molecules/text-input/TextInput.controller.js +36 -0
- package/dist/components/molecules/text-input/TextInput.css +1 -0
- package/dist/components/molecules/text-input/TextInput.helpers.js +18 -0
- package/dist/components/molecules/text-input/TextInput.js +7 -0
- package/dist/components/molecules/text-input/TextInputButtons.js +37 -0
- package/dist/components/molecules/text-input/TextInputStateful.js +92 -0
- package/dist/components/molecules/text-input/TextInputStateless.js +89 -0
- package/dist/components/molecules/text-input/index.js +3 -0
- package/dist/components/organisms/dialog/Dialog.css +1 -0
- package/dist/components/organisms/dialog/Dialog.js +32 -0
- package/dist/components/organisms/dialog/index.js +3 -0
- package/dist/components/organisms/form/Form.controller.js +29 -0
- package/dist/components/organisms/form/Form.css +1 -0
- package/dist/components/organisms/form/Form.helpers.js +14 -0
- package/dist/components/organisms/form/Form.js +48 -0
- package/dist/components/organisms/form/index.js +3 -0
- package/dist/components/organisms/grid/Grid.controller.js +34 -0
- package/dist/components/organisms/grid/Grid.css +1 -0
- package/dist/components/organisms/grid/Grid.helpers.js +15 -0
- package/dist/components/organisms/grid/Grid.js +60 -0
- package/dist/components/organisms/grid/body/GridBody.css +1 -0
- package/dist/components/organisms/grid/body/GridBody.js +31 -0
- package/dist/components/organisms/grid/checkbox/GridCheckbox.css +1 -0
- package/dist/components/organisms/grid/checkbox/GridCheckbox.js +52 -0
- package/dist/components/organisms/grid/column-group/GridColumnGroup.css +1 -0
- package/dist/components/organisms/grid/column-group/GridColumnGroup.js +26 -0
- package/dist/components/organisms/grid/data-cell/GridDataCell.js +5 -0
- package/dist/components/organisms/grid/grid-row/GridRow.css +1 -0
- package/dist/components/organisms/grid/grid-row/GridRow.js +35 -0
- package/dist/components/organisms/grid/grid-row/index.js +3 -0
- package/dist/components/organisms/grid/head/GridHead.css +1 -0
- package/dist/components/organisms/grid/head/GridHead.js +35 -0
- package/dist/components/organisms/grid/header-cell/HeaderCell.js +8 -0
- package/dist/components/organisms/grid/header-cell/index.js +2 -0
- package/dist/components/organisms/grid/index.js +3 -0
- package/dist/components/organisms/grid/select-all-grid-rows-cell/SelectAllGridRowsCell.js +24 -0
- package/dist/components/organisms/grid/select-all-grid-rows-cell/index.js +2 -0
- package/dist/components/organisms/grid/select-grid-row-cell/SelectGridRowCell.js +24 -0
- package/dist/components/organisms/grid/select-grid-row-cell/index.js +2 -0
- package/dist/components/organisms/menu/Menu.css +1 -0
- package/dist/components/organisms/menu/Menu.js +22 -0
- package/dist/components/organisms/menu/index.js +3 -0
- package/dist/components/organisms/menu/leaf/MenuLeaf.css +1 -0
- package/dist/components/organisms/menu/leaf/MenuLeaf.js +28 -0
- package/dist/components/organisms/menu/list-item/MenuListItem.css +1 -0
- package/dist/components/organisms/menu/list-item/MenuListItem.js +35 -0
- package/dist/components/organisms/menu/sub-menu/SubMenu.css +1 -0
- package/dist/components/organisms/menu/sub-menu/SubMenu.js +67 -0
- package/dist/components/organisms/menu/sub-menu/index.js +3 -0
- package/dist/components/organisms/tabs/Tabs.css +1 -0
- package/dist/components/organisms/tabs/Tabs.js +80 -0
- package/dist/components/organisms/tabs/button/TabButton.css +1 -0
- package/dist/components/organisms/tabs/button/TabButton.js +111 -0
- package/dist/components/organisms/tabs/content/TabContent.css +1 -0
- package/dist/components/organisms/tabs/content/TabContent.js +19 -0
- package/dist/components/organisms/tabs/edit-input/TabEditInput.css +1 -0
- package/dist/components/organisms/tabs/edit-input/TabEditInput.js +64 -0
- package/dist/components/organisms/tabs/index.js +3 -0
- package/dist/components/organisms/tabs/list/TabList.css +1 -0
- package/dist/components/organisms/tabs/list/TabList.js +67 -0
- package/dist/enums/alert-mode.js +4 -0
- package/dist/enums/button-view.js +4 -0
- package/dist/enums/element-size.js +4 -0
- package/dist/enums/icon-name.js +4 -0
- package/dist/enums/index.js +8 -0
- package/dist/enums/loader-view.js +4 -0
- package/dist/enums/orientation-mode.js +4 -0
- package/dist/enums/semantic-color.js +4 -0
- package/dist/enums/tooltip-container.js +4 -0
- package/dist/hooks/index.js +15 -0
- package/dist/hooks/use-auto-close/index.js +2 -0
- package/dist/hooks/use-auto-close/use-auto-close.js +18 -0
- package/dist/hooks/use-click-outside/index.js +2 -0
- package/dist/hooks/use-click-outside/use-click-outside.js +19 -0
- package/dist/hooks/use-container-dimensions/index.js +2 -0
- package/dist/hooks/use-container-dimensions/use-container-dimensions.js +16 -0
- package/dist/hooks/use-debounce/index.js +2 -0
- package/dist/hooks/use-debounce/use-debounce.js +15 -0
- package/dist/hooks/use-element-ids/index.js +2 -0
- package/dist/hooks/use-element-ids/use-element-ids.js +12 -0
- package/dist/hooks/use-is-hovered/index.js +2 -0
- package/dist/hooks/use-is-hovered/use-is-hovered.js +15 -0
- package/dist/hooks/use-is-mounted/index.js +2 -0
- package/dist/hooks/use-is-mounted/use-is-mounted.js +15 -0
- package/dist/hooks/use-is-overflow/index.js +2 -0
- package/dist/hooks/use-is-overflow/use-is-overflow.js +27 -0
- package/dist/hooks/use-key-press/index.js +2 -0
- package/dist/hooks/use-key-press/use-key-press.js +14 -0
- package/dist/hooks/use-modal-focus-trap/index.js +2 -0
- package/dist/hooks/use-modal-focus-trap/use-modal-focus-trap.js +20 -0
- package/dist/hooks/use-remaining-timer/index.js +2 -0
- package/dist/hooks/use-remaining-timer/use-remaining-timer.js +38 -0
- package/dist/hooks/use-reset-form-input/index.js +2 -0
- package/dist/hooks/use-reset-form-input/use-reset-form-input.js +11 -0
- package/dist/hooks/use-theme/index.js +2 -0
- package/dist/hooks/use-theme/use-theme.js +6 -0
- package/dist/hooks/use-tooltip-position/index.js +2 -0
- package/dist/hooks/use-tooltip-position/use-tooltip-position.js +31 -0
- package/dist/hooks/use-window-dimensions/index.js +2 -0
- package/dist/hooks/use-window-dimensions/use-window-dimensions.js +17 -0
- package/dist/index.d.ts +327 -70
- package/dist/index.es.js +109 -4591
- package/dist/styles/icons.css +1 -0
- package/dist/styles/main.css +1 -0
- package/dist/utils/get-class-name.js +16 -0
- package/dist/utils/handle-dropdown-list-key-press.js +32 -0
- package/dist/utils/index.js +3 -0
- package/dist/utils/move-focus-on-element-by-id.js +7 -0
- package/package.json +75 -22
- package/dist/favicon.ico +0 -0
- package/dist/index.cjs.js +0 -7
- package/dist/index.cjs.js.map +0 -1
- package/dist/index.css +0 -1
- package/dist/index.es.js.map +0 -1
- package/dist/logo.jpeg +0 -0
- package/dist/logo.png +0 -0
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { jsxs as a, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import n from "../../atoms/button/Button.js";
|
|
3
|
+
import { IconName as o } from "../../../enums/icon-name.js";
|
|
4
|
+
import { ButtonView as r } from "../../../enums/button-view.js";
|
|
5
|
+
const I = ({
|
|
6
|
+
clearable: i,
|
|
7
|
+
isPasswordButtonVisible: l,
|
|
8
|
+
handleClear: m,
|
|
9
|
+
togglePassword: p,
|
|
10
|
+
passwordShown: s,
|
|
11
|
+
label: f,
|
|
12
|
+
disabled: e
|
|
13
|
+
}) => /* @__PURE__ */ a("span", { children: [
|
|
14
|
+
i && /* @__PURE__ */ t(
|
|
15
|
+
n,
|
|
16
|
+
{
|
|
17
|
+
view: r.Inner,
|
|
18
|
+
onClick: m,
|
|
19
|
+
label: `Clear input for ${f}`,
|
|
20
|
+
icon: o.Delete,
|
|
21
|
+
disabled: e
|
|
22
|
+
}
|
|
23
|
+
),
|
|
24
|
+
l && /* @__PURE__ */ t(
|
|
25
|
+
n,
|
|
26
|
+
{
|
|
27
|
+
onClick: p,
|
|
28
|
+
view: r.Inner,
|
|
29
|
+
label: "Toggle password visibility",
|
|
30
|
+
icon: s ? o.EyeOff : o.Eye,
|
|
31
|
+
disabled: e
|
|
32
|
+
}
|
|
33
|
+
)
|
|
34
|
+
] });
|
|
35
|
+
export {
|
|
36
|
+
I as default
|
|
37
|
+
};
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { jsxs as f, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as M } from "../../../utils/get-class-name.js";
|
|
3
|
+
import { useTextInputController as V } from "./TextInput.controller.js";
|
|
4
|
+
import './TextInput.css';/* empty css */
|
|
5
|
+
import k from "./TextInputButtons.js";
|
|
6
|
+
import { useElementIds as z } from "../../../hooks/use-element-ids/use-element-ids.js";
|
|
7
|
+
import A from "../../atoms/label/Label.js";
|
|
8
|
+
import D from "../../atoms/input/Input.js";
|
|
9
|
+
import F from "../../atoms/error-message/ErrorMessage.js";
|
|
10
|
+
const Y = ({
|
|
11
|
+
name: r,
|
|
12
|
+
label: s,
|
|
13
|
+
errorMessage: u,
|
|
14
|
+
defaultValue: d,
|
|
15
|
+
onChange: c,
|
|
16
|
+
onBlur: x,
|
|
17
|
+
onFocus: g,
|
|
18
|
+
onClear: h,
|
|
19
|
+
validator: I,
|
|
20
|
+
maxLength: C,
|
|
21
|
+
id: v,
|
|
22
|
+
tabIndex: w,
|
|
23
|
+
placeholder: T = "Type here...",
|
|
24
|
+
disabled: o = !1,
|
|
25
|
+
required: t = !1,
|
|
26
|
+
clearable: N = !0,
|
|
27
|
+
readOnly: a = !1,
|
|
28
|
+
autoComplete: j = "off",
|
|
29
|
+
type: n = "text",
|
|
30
|
+
className: B,
|
|
31
|
+
style: E
|
|
32
|
+
}) => {
|
|
33
|
+
const { value: P, valid: i, handleChange: S, handleClear: _, passwordShown: l, togglePassword: b } = V({
|
|
34
|
+
defaultValue: d,
|
|
35
|
+
name: r,
|
|
36
|
+
onChange: c,
|
|
37
|
+
onClear: h,
|
|
38
|
+
required: t,
|
|
39
|
+
validator: I
|
|
40
|
+
}), { elementId: m, errorId: p } = z(v), y = n === "password", L = M(["cl-text-input", B]);
|
|
41
|
+
return /* @__PURE__ */ f("div", { style: E, className: L, children: [
|
|
42
|
+
/* @__PURE__ */ e(A, { label: s, required: t, inputId: m }),
|
|
43
|
+
/* @__PURE__ */ f(
|
|
44
|
+
D,
|
|
45
|
+
{
|
|
46
|
+
id: m,
|
|
47
|
+
name: r,
|
|
48
|
+
type: l ? "text" : n,
|
|
49
|
+
disabled: o,
|
|
50
|
+
placeholder: T,
|
|
51
|
+
required: t,
|
|
52
|
+
readOnly: a,
|
|
53
|
+
autoComplete: j,
|
|
54
|
+
"aria-invalid": !i,
|
|
55
|
+
"aria-errormessage": p,
|
|
56
|
+
"aria-readonly": a,
|
|
57
|
+
value: P,
|
|
58
|
+
onChange: S,
|
|
59
|
+
maxLength: C,
|
|
60
|
+
onBlur: x,
|
|
61
|
+
onFocus: g,
|
|
62
|
+
tabIndex: w,
|
|
63
|
+
children: [
|
|
64
|
+
/* @__PURE__ */ e(
|
|
65
|
+
k,
|
|
66
|
+
{
|
|
67
|
+
clearable: N,
|
|
68
|
+
isPasswordButtonVisible: y,
|
|
69
|
+
handleClear: _,
|
|
70
|
+
togglePassword: b,
|
|
71
|
+
passwordShown: l,
|
|
72
|
+
label: s,
|
|
73
|
+
disabled: o
|
|
74
|
+
}
|
|
75
|
+
),
|
|
76
|
+
/* @__PURE__ */ e(
|
|
77
|
+
F,
|
|
78
|
+
{
|
|
79
|
+
errorId: p,
|
|
80
|
+
message: u,
|
|
81
|
+
visible: !i,
|
|
82
|
+
className: "cl-text-input__error-message"
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
)
|
|
88
|
+
] });
|
|
89
|
+
};
|
|
90
|
+
export {
|
|
91
|
+
Y as default
|
|
92
|
+
};
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { jsxs as u, jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as $ } from "../../../utils/get-class-name.js";
|
|
3
|
+
import { useState as b } from "react";
|
|
4
|
+
import './TextInput.css';/* empty css */
|
|
5
|
+
import y from "./TextInputButtons.js";
|
|
6
|
+
import E from "../../atoms/label/Label.js";
|
|
7
|
+
import L from "../../atoms/input/Input.js";
|
|
8
|
+
import V from "../../atoms/error-message/ErrorMessage.js";
|
|
9
|
+
const R = ({
|
|
10
|
+
name: t,
|
|
11
|
+
label: a,
|
|
12
|
+
errorMessage: s,
|
|
13
|
+
value: c,
|
|
14
|
+
onChange: e,
|
|
15
|
+
onBlur: d,
|
|
16
|
+
onFocus: x,
|
|
17
|
+
onClear: w,
|
|
18
|
+
maxLength: g,
|
|
19
|
+
id: I,
|
|
20
|
+
tabIndex: h,
|
|
21
|
+
placeholder: v = "Type here...",
|
|
22
|
+
disabled: i = !1,
|
|
23
|
+
required: l = !1,
|
|
24
|
+
clearable: P = !0,
|
|
25
|
+
readOnly: n = !1,
|
|
26
|
+
autoComplete: S = "off",
|
|
27
|
+
type: m = "text",
|
|
28
|
+
className: N,
|
|
29
|
+
style: T,
|
|
30
|
+
defaultValue: j
|
|
31
|
+
}) => {
|
|
32
|
+
const p = I ?? `text-input-${t}`, f = `${t}-error`, [r, B] = b(!1), C = m === "password", _ = $(["cl-text-input", N]);
|
|
33
|
+
return /* @__PURE__ */ u("div", { style: T, className: _, children: [
|
|
34
|
+
/* @__PURE__ */ o(E, { label: a, required: l, inputId: p }),
|
|
35
|
+
/* @__PURE__ */ u(
|
|
36
|
+
L,
|
|
37
|
+
{
|
|
38
|
+
id: p,
|
|
39
|
+
name: t,
|
|
40
|
+
type: r ? "text" : m,
|
|
41
|
+
disabled: i,
|
|
42
|
+
placeholder: v,
|
|
43
|
+
required: l,
|
|
44
|
+
readOnly: n,
|
|
45
|
+
defaultValue: j,
|
|
46
|
+
autoComplete: S,
|
|
47
|
+
"aria-invalid": !!s,
|
|
48
|
+
"aria-errormessage": f,
|
|
49
|
+
"aria-readonly": n,
|
|
50
|
+
value: c ?? "",
|
|
51
|
+
onChange: e,
|
|
52
|
+
maxLength: g,
|
|
53
|
+
onBlur: d,
|
|
54
|
+
onFocus: x,
|
|
55
|
+
tabIndex: h,
|
|
56
|
+
children: [
|
|
57
|
+
/* @__PURE__ */ o(
|
|
58
|
+
y,
|
|
59
|
+
{
|
|
60
|
+
clearable: P,
|
|
61
|
+
isPasswordButtonVisible: C,
|
|
62
|
+
handleClear: () => {
|
|
63
|
+
e && e({ target: { value: "" } }), w?.();
|
|
64
|
+
},
|
|
65
|
+
togglePassword: () => {
|
|
66
|
+
B(!r);
|
|
67
|
+
},
|
|
68
|
+
passwordShown: r,
|
|
69
|
+
label: a,
|
|
70
|
+
disabled: i
|
|
71
|
+
}
|
|
72
|
+
),
|
|
73
|
+
/* @__PURE__ */ o(
|
|
74
|
+
V,
|
|
75
|
+
{
|
|
76
|
+
errorId: f,
|
|
77
|
+
message: s,
|
|
78
|
+
visible: !!s,
|
|
79
|
+
className: "cl-text-input__error-message"
|
|
80
|
+
}
|
|
81
|
+
)
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
] });
|
|
86
|
+
};
|
|
87
|
+
export {
|
|
88
|
+
R as default
|
|
89
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-dialog{animation:cl-fade-in ease .4s;position:fixed;top:0;left:0;width:100%;height:100%;z-index:inherit;display:flex;justify-content:center;align-items:center;background-color:#0000004d}.cl-dialog__layout{z-index:var(--cl-z-index-modal);background-color:var(--cl-base-background-color);box-shadow:var(--cl-box-shadow);color:var(--cl-base-font-color);padding:var(--cl-l-gap);height:90%;position:absolute;bottom:0;left:0;border-top-left-radius:var(--cl-border-radius);border-top-right-radius:var(--cl-border-radius);font-family:var(--cl-core-font);font-size:var(--cl-typography-base-mobile);font-weight:400;line-height:1.5;letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cl-dialog__button{position:absolute;right:var(--cl-s-gap);top:var(--cl-s-gap)}@media(min-width:640px){.cl-dialog__layout{font-size:var(--cl-typography-base-tablet)}.cl-dialog__button{right:var(--cl-m-gap);top:var(--cl-m-gap)}}@media(min-width:1024px){.cl-dialog__layout{font-size:var(--cl-typography-base-desktop);padding:var(--cl-xl-gap)}.cl-dialog__button{right:var(--cl-l-gap);top:var(--cl-l-gap)}}@media screen and (min-width:640px){.cl-dialog__layout{width:fit-content;height:fit-content;position:relative;min-width:40%;max-width:90%;max-height:90%;border-bottom-left-radius:var(--cl-border-radius);border-bottom-right-radius:var(--cl-border-radius)}}.cl-dialog_closing{animation:cl-fade-out ease .4s}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsx as o, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as d } from "../../../utils/get-class-name.js";
|
|
3
|
+
import { useRef as f } from "react";
|
|
4
|
+
import './Dialog.css';/* empty css */
|
|
5
|
+
import { useIsMounted as u } from "../../../hooks/use-is-mounted/use-is-mounted.js";
|
|
6
|
+
import { useModalFocusTrap as p } from "../../../hooks/use-modal-focus-trap/use-modal-focus-trap.js";
|
|
7
|
+
import { useKeyPress as g } from "../../../hooks/use-key-press/use-key-press.js";
|
|
8
|
+
import h from "../../atoms/portal/Portal.js";
|
|
9
|
+
import N from "../../atoms/button/Button.js";
|
|
10
|
+
import { ButtonView as _ } from "../../../enums/button-view.js";
|
|
11
|
+
import { IconName as v } from "../../../enums/icon-name.js";
|
|
12
|
+
import w from "../../atoms/header/Header.js";
|
|
13
|
+
const D = ({ isOpened: r, onClose: l, title: t, children: a, icon: m, ...s }) => {
|
|
14
|
+
const i = u(r), c = i && !r, e = f(null);
|
|
15
|
+
return p({ modalRef: e, isOpened: r }), g({ keyCode: "Escape", ref: e, onKeyPress: l }), i ? /* @__PURE__ */ o(h, { children: /* @__PURE__ */ o("div", { className: d(["cl-dialog", { "cl-dialog_closing": c }]), children: /* @__PURE__ */ n("div", { ref: e, role: "dialog", "aria-modal": "true", ...s, className: "cl-dialog__layout", children: [
|
|
16
|
+
/* @__PURE__ */ o(
|
|
17
|
+
N,
|
|
18
|
+
{
|
|
19
|
+
icon: v.X,
|
|
20
|
+
view: _.Icon,
|
|
21
|
+
label: "Close modal window",
|
|
22
|
+
onClick: l,
|
|
23
|
+
className: "cl-dialog__button"
|
|
24
|
+
}
|
|
25
|
+
),
|
|
26
|
+
/* @__PURE__ */ o("header", { children: /* @__PURE__ */ o(w, { as: "h3", icon: m, children: t }) }),
|
|
27
|
+
/* @__PURE__ */ o("div", { children: a })
|
|
28
|
+
] }) }) }) : null;
|
|
29
|
+
};
|
|
30
|
+
export {
|
|
31
|
+
D as default
|
|
32
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { useState as e } from "react";
|
|
2
|
+
import { getInitialValidationState as S, isFormDataValid as h, updateValidationState as f } from "./Form.helpers.js";
|
|
3
|
+
function I({
|
|
4
|
+
initialValues: a,
|
|
5
|
+
onReset: d,
|
|
6
|
+
onSubmit: i,
|
|
7
|
+
onClickSubmit: c
|
|
8
|
+
}) {
|
|
9
|
+
const [n, o] = e(a), [l, u] = e(S(a)), [r, m] = e(0);
|
|
10
|
+
return {
|
|
11
|
+
handleInputChange: (t) => {
|
|
12
|
+
const s = { ...n, [t.name]: t.value };
|
|
13
|
+
o(s), u(f(l, t));
|
|
14
|
+
},
|
|
15
|
+
handleSubmit: (t) => {
|
|
16
|
+
t.preventDefault();
|
|
17
|
+
const D = { ...Object.fromEntries(new FormData(t.target)), ...n };
|
|
18
|
+
i?.(t), c?.(D);
|
|
19
|
+
},
|
|
20
|
+
handleReset: (t) => {
|
|
21
|
+
d?.(t), o(a), m(r + 1);
|
|
22
|
+
},
|
|
23
|
+
resetSignal: r,
|
|
24
|
+
valid: h(l)
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
I as useFormController
|
|
29
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-form{display:grid;align-items:end;gap:var(--cl-l-gap);grid-template-columns:auto;grid-template-rows:auto}@media screen and (min-width:640px){.cl-form{grid-template-columns:repeat(2,1fr)}}@media screen and (min-width:1024px){.cl-form{grid-template-columns:repeat(3,1fr)}}@media screen and (min-width:1280px){.cl-form{grid-template-columns:repeat(4,1fr)}}.cl-form__buttons{display:flex;align-items:center;justify-content:space-between;padding-top:var(--cl-l-gap);grid-column:1 / -1}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
function e(t) {
|
|
2
|
+
return t ? Object.keys(t).map((n) => [n, !0]) : [];
|
|
3
|
+
}
|
|
4
|
+
function i(t, n) {
|
|
5
|
+
return n?.valid === void 0 ? t : t.map((r) => r[0] !== n.name ? r : [r[0], !!n?.valid]);
|
|
6
|
+
}
|
|
7
|
+
function u(t) {
|
|
8
|
+
return t.every((n) => n[1]);
|
|
9
|
+
}
|
|
10
|
+
export {
|
|
11
|
+
e as getInitialValidationState,
|
|
12
|
+
u as isFormDataValid,
|
|
13
|
+
i as updateValidationState
|
|
14
|
+
};
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as g } from "../../../utils/get-class-name.js";
|
|
3
|
+
import { useMemo as v } from "react";
|
|
4
|
+
import { useFormController as S } from "./Form.controller.js";
|
|
5
|
+
import './Form.css';/* empty css */
|
|
6
|
+
import { FormContext as F } from "../../contexts/form/FormContext.js";
|
|
7
|
+
import s from "../../atoms/button/Button.js";
|
|
8
|
+
import { ButtonView as N } from "../../../enums/button-view.js";
|
|
9
|
+
import { IconName as i } from "../../../enums/icon-name.js";
|
|
10
|
+
const M = ({
|
|
11
|
+
children: l,
|
|
12
|
+
initialValues: o,
|
|
13
|
+
onReset: a,
|
|
14
|
+
onSubmit: c,
|
|
15
|
+
onClickSubmit: d,
|
|
16
|
+
hasReset: t = !0,
|
|
17
|
+
className: p,
|
|
18
|
+
...u
|
|
19
|
+
}) => {
|
|
20
|
+
const { handleInputChange: r, handleSubmit: f, handleReset: h, resetSignal: m, valid: x } = S({
|
|
21
|
+
initialValues: o,
|
|
22
|
+
onReset: a,
|
|
23
|
+
onSubmit: c,
|
|
24
|
+
onClickSubmit: d
|
|
25
|
+
}), b = g(["cl-form", p]), C = v(
|
|
26
|
+
() => ({ onChangeFormInput: r, initialValues: o, resetSignal: m }),
|
|
27
|
+
[r, o, m]
|
|
28
|
+
);
|
|
29
|
+
return /* @__PURE__ */ e("form", { onSubmit: f, onReset: h, ...u, className: b, children: /* @__PURE__ */ n(F.Provider, { value: C, children: [
|
|
30
|
+
l,
|
|
31
|
+
/* @__PURE__ */ n("div", { className: "cl-form__buttons", children: [
|
|
32
|
+
t && /* @__PURE__ */ e(s, { type: "reset", text: "Reset", icon: i.Delete, view: N.Secondary }),
|
|
33
|
+
/* @__PURE__ */ e(
|
|
34
|
+
s,
|
|
35
|
+
{
|
|
36
|
+
type: "submit",
|
|
37
|
+
text: "Submit",
|
|
38
|
+
icon: i.ArrowRight,
|
|
39
|
+
extended: !t,
|
|
40
|
+
disabled: !x
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
] })
|
|
44
|
+
] }) });
|
|
45
|
+
};
|
|
46
|
+
export {
|
|
47
|
+
M as default
|
|
48
|
+
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useState as m } from "react";
|
|
2
|
+
import { useElementIds as S } from "../../../hooks/use-element-ids/use-element-ids.js";
|
|
3
|
+
const B = ({
|
|
4
|
+
data: n,
|
|
5
|
+
id: d,
|
|
6
|
+
onSelect: o
|
|
7
|
+
}) => {
|
|
8
|
+
const { elementId: a } = S(d), [l, h] = m([]), c = n.map((e) => e.id), r = c.length === l.length, I = n.some((e) => e?.disabled), t = (e) => {
|
|
9
|
+
h(e), o?.(e);
|
|
10
|
+
};
|
|
11
|
+
return {
|
|
12
|
+
elementId: a,
|
|
13
|
+
isAllSelected: r,
|
|
14
|
+
isAllCheckboxDisabled: I,
|
|
15
|
+
selectedIds: l,
|
|
16
|
+
handleSelectAll: () => {
|
|
17
|
+
t(c);
|
|
18
|
+
},
|
|
19
|
+
handleDeselectAll: () => {
|
|
20
|
+
t([]);
|
|
21
|
+
},
|
|
22
|
+
handleSelectRowById: (e) => {
|
|
23
|
+
const s = [...l, e];
|
|
24
|
+
t(s);
|
|
25
|
+
},
|
|
26
|
+
handleDeselectRowById: (e) => {
|
|
27
|
+
const s = l.filter((i) => i !== e);
|
|
28
|
+
t(s);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
};
|
|
32
|
+
export {
|
|
33
|
+
B as useGridController
|
|
34
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-grid{border-collapse:collapse}.cl-grid__caption{color:var(--cl-base-font-color);padding:var(--cl-m-gap);font-family:var(--cl-core-font);font-size:var(--cl-typography-base-mobile);font-weight:700;line-height:1.5;letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(min-width:640px){.cl-grid__caption{font-size:var(--cl-typography-base-tablet)}}@media(min-width:1024px){.cl-grid__caption{font-size:var(--cl-typography-base-desktop)}}.cl-grid__wrapper{overflow-x:auto}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function u({
|
|
2
|
+
item: e,
|
|
3
|
+
columns: s,
|
|
4
|
+
renderDataItem: o
|
|
5
|
+
}) {
|
|
6
|
+
const i = [];
|
|
7
|
+
for (const l of s) {
|
|
8
|
+
let f;
|
|
9
|
+
o && e[l.field] ? f = o(e, l.field) : e[l.field] ? f = e[l.field].toString() : f = "", i.push({ field: l.field, value: f });
|
|
10
|
+
}
|
|
11
|
+
return i;
|
|
12
|
+
}
|
|
13
|
+
export {
|
|
14
|
+
u as getGridRowValues
|
|
15
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx as e, jsxs as g } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as w } from "../../../utils/get-class-name.js";
|
|
3
|
+
import './Grid.css';/* empty css */
|
|
4
|
+
import { GridBody as y } from "./body/GridBody.js";
|
|
5
|
+
import { GridColumnGroup as B } from "./column-group/GridColumnGroup.js";
|
|
6
|
+
import { useGridController as x } from "./Grid.controller.js";
|
|
7
|
+
import { GridHead as C } from "./head/GridHead.js";
|
|
8
|
+
const b = ({
|
|
9
|
+
columns: l,
|
|
10
|
+
data: d,
|
|
11
|
+
id: i,
|
|
12
|
+
onSelect: t,
|
|
13
|
+
renderDataItem: s,
|
|
14
|
+
caption: o,
|
|
15
|
+
selectable: r = !1,
|
|
16
|
+
className: c,
|
|
17
|
+
...m
|
|
18
|
+
}) => {
|
|
19
|
+
const {
|
|
20
|
+
elementId: a,
|
|
21
|
+
handleSelectAll: n,
|
|
22
|
+
handleDeselectAll: p,
|
|
23
|
+
isAllCheckboxDisabled: f,
|
|
24
|
+
isAllSelected: h,
|
|
25
|
+
handleDeselectRowById: I,
|
|
26
|
+
handleSelectRowById: A,
|
|
27
|
+
selectedIds: G
|
|
28
|
+
} = x({ id: i, data: d, onSelect: t });
|
|
29
|
+
return /* @__PURE__ */ e("div", { className: "cl-grid__wrapper", children: /* @__PURE__ */ g("table", { ...m, className: w(["cl-grid", c]), children: [
|
|
30
|
+
o && /* @__PURE__ */ e("caption", { className: "cl-grid__caption", children: o }),
|
|
31
|
+
/* @__PURE__ */ e(B, { columns: l, selectable: r }),
|
|
32
|
+
/* @__PURE__ */ e(
|
|
33
|
+
C,
|
|
34
|
+
{
|
|
35
|
+
gridId: a,
|
|
36
|
+
columns: l,
|
|
37
|
+
selectable: r,
|
|
38
|
+
selectAll: n,
|
|
39
|
+
deselectAll: p,
|
|
40
|
+
isAllSelected: h,
|
|
41
|
+
isAllCheckboxDisabled: f
|
|
42
|
+
}
|
|
43
|
+
),
|
|
44
|
+
/* @__PURE__ */ e(
|
|
45
|
+
y,
|
|
46
|
+
{
|
|
47
|
+
columns: l,
|
|
48
|
+
data: d,
|
|
49
|
+
selectable: r,
|
|
50
|
+
selectRowById: A,
|
|
51
|
+
deselectRowById: I,
|
|
52
|
+
selectedIds: G,
|
|
53
|
+
renderDataItem: s
|
|
54
|
+
}
|
|
55
|
+
)
|
|
56
|
+
] }) });
|
|
57
|
+
};
|
|
58
|
+
export {
|
|
59
|
+
b as default
|
|
60
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-grid-body{color:var(--cl-base-font-color);font-family:var(--cl-core-font);font-size:var(--cl-typography-base-mobile);font-weight:400;line-height:1.5;letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cl-grid-body td{padding:var(--cl-xs-gap)}@media(min-width:640px){.cl-grid-body{font-size:var(--cl-typography-base-tablet)}.cl-grid-body td{padding:var(--cl-s-gap)}}@media(min-width:1024px){.cl-grid-body{font-size:var(--cl-typography-base-desktop)}.cl-grid-body td{padding:var(--cl-m-gap)}}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as o } from "react/jsx-runtime";
|
|
2
|
+
import { getGridRowValues as p } from "../Grid.helpers.js";
|
|
3
|
+
import { GridRow as c } from "../grid-row/GridRow.js";
|
|
4
|
+
import './GridBody.css';/* empty css */
|
|
5
|
+
const f = ({
|
|
6
|
+
selectRowById: d,
|
|
7
|
+
deselectRowById: i,
|
|
8
|
+
renderDataItem: s,
|
|
9
|
+
selectedIds: a,
|
|
10
|
+
selectable: e,
|
|
11
|
+
data: l,
|
|
12
|
+
columns: t
|
|
13
|
+
}) => /* @__PURE__ */ o("tbody", { className: "cl-grid-body", children: l.map((r) => {
|
|
14
|
+
const m = p({ item: r, columns: t, renderDataItem: s });
|
|
15
|
+
return /* @__PURE__ */ o(
|
|
16
|
+
c,
|
|
17
|
+
{
|
|
18
|
+
rowId: r.id,
|
|
19
|
+
disabled: r?.disabled,
|
|
20
|
+
selectRowById: d,
|
|
21
|
+
deselectRowById: i,
|
|
22
|
+
selectable: e,
|
|
23
|
+
values: m,
|
|
24
|
+
selectedIds: a
|
|
25
|
+
},
|
|
26
|
+
r.id
|
|
27
|
+
);
|
|
28
|
+
}) });
|
|
29
|
+
export {
|
|
30
|
+
f as GridBody
|
|
31
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-grid-checkbox{display:flex;gap:var(--cl-s-gap);padding:var(--cl-s-gap);position:relative;overflow:hidden;background-position:center}.cl-grid-checkbox label{cursor:pointer;gap:var(--cl-s-gap);font-size:var(--cl-typography-small-mobile)}.cl-grid-checkbox label:hover,.cl-grid-checkbox label:active{text-shadow:var(--cl-text-shadow)}.cl-grid-checkbox__input{position:absolute;z-index:-1;opacity:0;top:4px;left:0;margin:0}.cl-grid-checkbox__input:focus-visible+label{outline:var(--cl-outline-border);outline-offset:var(--cl-xs-gap)}.cl-grid-checkbox_disabled{pointer-events:none;opacity:.5}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsxs as d, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as p } from "../../../../utils/get-class-name.js";
|
|
3
|
+
import './GridCheckbox.css';/* empty css */
|
|
4
|
+
import { useElementIds as x } from "../../../../hooks/use-element-ids/use-element-ids.js";
|
|
5
|
+
import b from "../../../atoms/label/Label.js";
|
|
6
|
+
import { IconName as r } from "../../../../enums/icon-name.js";
|
|
7
|
+
const I = ({
|
|
8
|
+
name: s,
|
|
9
|
+
label: m,
|
|
10
|
+
disabled: o,
|
|
11
|
+
required: c = !1,
|
|
12
|
+
onChange: l,
|
|
13
|
+
checked: e = !1,
|
|
14
|
+
...n
|
|
15
|
+
}) => {
|
|
16
|
+
const { elementId: i } = x(n?.id), a = p([
|
|
17
|
+
"cl-grid-checkbox",
|
|
18
|
+
{
|
|
19
|
+
"cl-grid-checkbox_disabled": !!o,
|
|
20
|
+
"cl-grid-checkbox_checked": !!e
|
|
21
|
+
}
|
|
22
|
+
]);
|
|
23
|
+
return /* @__PURE__ */ d("div", { className: a, children: [
|
|
24
|
+
/* @__PURE__ */ t(
|
|
25
|
+
"input",
|
|
26
|
+
{
|
|
27
|
+
id: i,
|
|
28
|
+
name: s,
|
|
29
|
+
type: "checkbox",
|
|
30
|
+
disabled: o,
|
|
31
|
+
required: c,
|
|
32
|
+
checked: e,
|
|
33
|
+
onChange: l,
|
|
34
|
+
className: "cl-grid-checkbox__input"
|
|
35
|
+
}
|
|
36
|
+
),
|
|
37
|
+
/* @__PURE__ */ t(
|
|
38
|
+
b,
|
|
39
|
+
{
|
|
40
|
+
label: m,
|
|
41
|
+
required: c,
|
|
42
|
+
inputId: i,
|
|
43
|
+
isTextHidden: !0,
|
|
44
|
+
iconPosition: "left",
|
|
45
|
+
icon: e ? r.CheckSquare : r.Square
|
|
46
|
+
}
|
|
47
|
+
)
|
|
48
|
+
] });
|
|
49
|
+
};
|
|
50
|
+
export {
|
|
51
|
+
I as GridCheckbox
|
|
52
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-grid-column{border-right:var(--cl-light-border)}.cl-grid-column_first{border-left:var(--cl-light-border)}.cl-grid-column_highlighted{background-color:var(--cl-surface-tonal-a0)}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs as m, jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as s } from "../../../../utils/get-class-name.js";
|
|
3
|
+
import './GridColumnGroup.css';/* empty css */
|
|
4
|
+
const e = ({
|
|
5
|
+
columns: i,
|
|
6
|
+
selectable: r
|
|
7
|
+
}) => /* @__PURE__ */ m("colgroup", { children: [
|
|
8
|
+
r && /* @__PURE__ */ c("col", { className: "cl-grid-column cl-grid-column_first cl-grid-column_check" }),
|
|
9
|
+
i.map((l, o) => /* @__PURE__ */ c(
|
|
10
|
+
"col",
|
|
11
|
+
{
|
|
12
|
+
className: s([
|
|
13
|
+
"cl-grid-column",
|
|
14
|
+
l?.className,
|
|
15
|
+
{
|
|
16
|
+
"cl-grid-column_first": o === 0 && !r,
|
|
17
|
+
"cl-grid-column_highlighted": !!l?.highlighted
|
|
18
|
+
}
|
|
19
|
+
])
|
|
20
|
+
},
|
|
21
|
+
l?.title
|
|
22
|
+
))
|
|
23
|
+
] });
|
|
24
|
+
export {
|
|
25
|
+
e as GridColumnGroup
|
|
26
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-grid-row{border-bottom:var(--cl-light-border);background-color:var(--cl-base-background-color)}.cl-grid-row_selected{background-color:var(--cl-surface-tonal-a0)}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { jsxs as n, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import { getClassName as p } from "../../../../utils/get-class-name.js";
|
|
3
|
+
import { GridDataCell as f } from "../data-cell/GridDataCell.js";
|
|
4
|
+
import { SelectGridRowCell as u } from "../select-grid-row-cell/SelectGridRowCell.js";
|
|
5
|
+
import './GridRow.css';/* empty css */
|
|
6
|
+
const R = ({
|
|
7
|
+
rowId: e,
|
|
8
|
+
selectRowById: o,
|
|
9
|
+
deselectRowById: i,
|
|
10
|
+
selectable: s,
|
|
11
|
+
values: c,
|
|
12
|
+
selectedIds: m,
|
|
13
|
+
disabled: a
|
|
14
|
+
}) => {
|
|
15
|
+
const r = m.includes(e);
|
|
16
|
+
return /* @__PURE__ */ n("tr", { className: p(["cl-grid-row", { "cl-grid-row_selected": r }]), children: [
|
|
17
|
+
s && /* @__PURE__ */ t(
|
|
18
|
+
u,
|
|
19
|
+
{
|
|
20
|
+
rowId: e,
|
|
21
|
+
selectRowById: o,
|
|
22
|
+
deselectRowById: i,
|
|
23
|
+
isRowSelected: r,
|
|
24
|
+
disabled: a
|
|
25
|
+
}
|
|
26
|
+
),
|
|
27
|
+
c.map((l) => {
|
|
28
|
+
const d = `cell-${e}-${l.field}`;
|
|
29
|
+
return /* @__PURE__ */ t(f, { value: l.value }, d);
|
|
30
|
+
})
|
|
31
|
+
] });
|
|
32
|
+
};
|
|
33
|
+
export {
|
|
34
|
+
R as GridRow
|
|
35
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.cl-grid-head{color:var(--cl-base-font-color);font-family:var(--cl-core-font);font-size:var(--cl-typography-base-mobile);font-weight:700;line-height:1.5;letter-spacing:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cl-grid-head th{padding:var(--cl-xs-gap)}@media(min-width:640px){.cl-grid-head{font-size:var(--cl-typography-base-tablet)}.cl-grid-head th{padding:var(--cl-s-gap)}}@media(min-width:1024px){.cl-grid-head{font-size:var(--cl-typography-base-desktop)}.cl-grid-head th{padding:var(--cl-m-gap)}}.cl-grid-head__row{border-top:var(--cl-light-border);border-bottom:var(--cl-light-border);background-color:var(--cl-accent-background)}
|