@pismo/marola 0.0.1-alpha.5 → 0.0.1-alpha.7

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.
Files changed (108) hide show
  1. package/README.md +13 -2
  2. package/dist/{Button-D--uN90N.js → Button-B1umG8kJ.js} +3 -3
  3. package/dist/ClickAwayListener-BKznXF1d.js +106 -0
  4. package/dist/Dialog.module-CGVM5V_D.js +15 -0
  5. package/dist/Portal-BcdMtRGF.js +73 -0
  6. package/dist/{Tabs.module-BKlNuSPH.js → Tabs.module-BA-PC7fA.js} +13 -13
  7. package/dist/_commonjsHelpers-CT_km90n.js +30 -0
  8. package/dist/assets/Advice.css +1 -0
  9. package/dist/assets/Button.css +1 -1
  10. package/dist/assets/Checkbox.css +1 -0
  11. package/dist/assets/Dialog.css +1 -1
  12. package/dist/assets/IconButton.css +1 -1
  13. package/dist/assets/Input.css +1 -0
  14. package/dist/assets/Pagination.css +1 -1
  15. package/dist/assets/Skeleton.css +1 -0
  16. package/dist/assets/Snackbar.css +1 -0
  17. package/dist/assets/SortTooltip.css +1 -0
  18. package/dist/assets/Stepper.css +1 -0
  19. package/dist/assets/Table.css +1 -0
  20. package/dist/assets/Tabs.css +1 -1
  21. package/dist/assets/Toggle.css +1 -0
  22. package/dist/assets/Tooltip.css +1 -0
  23. package/dist/assets/Typography.css +1 -1
  24. package/dist/assets/{main.css → global.css} +1 -1
  25. package/dist/components/Advice/Advice.d.ts +16 -0
  26. package/dist/components/Advice/Advice.js +25 -0
  27. package/dist/components/Button/Button.d.ts +9 -1
  28. package/dist/components/Button/Button.js +54 -38
  29. package/dist/components/Button/Button.stories.d.ts +60 -0
  30. package/dist/components/Button/Button.stories.js +40 -0
  31. package/dist/components/Checkbox/Checkbox.d.ts +17 -0
  32. package/dist/components/Checkbox/Checkbox.js +48 -0
  33. package/dist/components/Dialog/Actions.js +1 -1
  34. package/dist/components/Dialog/Backdrop.d.ts +1 -1
  35. package/dist/components/Dialog/Backdrop.js +1 -1
  36. package/dist/components/Dialog/CloseIconButton.js +12 -124
  37. package/dist/components/Dialog/Dialog.d.ts +3 -2
  38. package/dist/components/Dialog/Dialog.js +418 -20072
  39. package/dist/components/Dialog/Dialog.stories.d.ts +343 -0
  40. package/dist/components/Dialog/Dialog.stories.js +59 -0
  41. package/dist/components/Dialog/Title.js +1 -1
  42. package/dist/components/Icon/Icon.d.ts +18 -0
  43. package/dist/components/Icon/Icon.js +95 -0
  44. package/dist/components/IconButton/IconButton.d.ts +3 -3
  45. package/dist/components/IconButton/IconButton.js +54 -65
  46. package/dist/components/Input/Input.d.ts +44 -0
  47. package/dist/components/Input/Input.js +497 -0
  48. package/dist/components/Input/Input.stories.d.ts +43 -0
  49. package/dist/components/Input/Input.stories.js +106 -0
  50. package/dist/components/LoadingSpinner/LoadingSpinner.d.ts +2 -0
  51. package/dist/components/LoadingSpinner/LoadingSpinner.stories.d.ts +14 -0
  52. package/dist/components/LoadingSpinner/LoadingSpinner.stories.js +38 -0
  53. package/dist/components/PageHeader/PageHeader.d.ts +25 -15
  54. package/dist/components/PageHeader/PageHeader.js +32 -50
  55. package/dist/components/PageHeader/PageHeader.stories.d.ts +43 -0
  56. package/dist/components/PageHeader/PageHeader.stories.js +49 -0
  57. package/dist/components/Pagination/Pagination.d.ts +1 -1
  58. package/dist/components/Pagination/Pagination.js +47 -47
  59. package/dist/components/Skeleton/Skeleton.d.ts +18 -0
  60. package/dist/components/Skeleton/Skeleton.js +26 -0
  61. package/dist/components/Snackbar/Snackbar.d.ts +13 -0
  62. package/dist/components/Snackbar/Snackbar.js +622 -0
  63. package/dist/components/SortTooltip/SortTooltip.d.ts +26 -0
  64. package/dist/components/SortTooltip/SortTooltip.js +67 -1
  65. package/dist/components/Stepper/Stepper.d.ts +16 -0
  66. package/dist/components/Stepper/Stepper.js +33 -0
  67. package/dist/components/Table/Table.d.ts +39 -0
  68. package/dist/components/Table/Table.js +122 -1
  69. package/dist/components/Table/TableContext.d.ts +19 -0
  70. package/dist/components/Table/TableContext.js +21 -1
  71. package/dist/components/Tabs/Tab.d.ts +1 -1
  72. package/dist/components/Tabs/Tab.js +5 -5
  73. package/dist/components/Tabs/TabPanel.d.ts +1 -1
  74. package/dist/components/Tabs/TabPanel.js +4 -4
  75. package/dist/components/Tabs/Tabs.d.ts +1 -1
  76. package/dist/components/Tabs/Tabs.js +3 -3
  77. package/dist/components/Toggle/Toggle.d.ts +14 -0
  78. package/dist/components/Toggle/Toggle.js +256 -0
  79. package/dist/components/Tooltip/Tooltip.d.ts +17 -0
  80. package/dist/components/Tooltip/Tooltip.js +1366 -1
  81. package/dist/components/Typography/Typography.d.ts +14 -5
  82. package/dist/components/Typography/Typography.js +76 -59
  83. package/dist/components/Typography/Typography.stories.d.ts +31 -0
  84. package/dist/components/Typography/Typography.stories.js +30 -0
  85. package/dist/components/Typography/typography.test.d.ts +1 -0
  86. package/dist/components/Typography/typography.test.js +11357 -0
  87. package/dist/index-BNWbc5Kh.js +19628 -0
  88. package/dist/{index-BvA1HyDs.js → index-CqjC7P5Y.js} +91 -95
  89. package/dist/magic-string.es-O_8lTkE3.js +738 -0
  90. package/dist/main.d.ts +16 -7
  91. package/dist/main.js +50 -28
  92. package/dist/objectWithoutPropertiesLoose-D7Cp0Pg_.js +26 -0
  93. package/dist/test-utils/assertStyles.d.ts +1 -0
  94. package/dist/test-utils/assertStyles.js +11 -0
  95. package/dist/types/helpers.d.ts +8 -0
  96. package/dist/useButton-Bc8IAgyk.js +106 -0
  97. package/dist/{useCompoundItem-wTwXbURC.js → useCompoundItem-CTYi5M_E.js} +1 -1
  98. package/dist/useIsFocusVisible-BH4IAdcw.js +69 -0
  99. package/dist/useTimeout-DxF9kiZL.js +36 -0
  100. package/dist/utils/styleStrings.d.ts +6 -0
  101. package/dist/utils/styleStrings.js +10 -0
  102. package/dist/utils/styleStrings.test.d.ts +1 -0
  103. package/dist/utils/styleStrings.test.js +41 -0
  104. package/dist/vi.Y_w82WR8-Df0JUamG.js +9860 -0
  105. package/package.json +30 -9
  106. package/dist/Dialog.module-BKWFakxu.js +0 -15
  107. package/dist/objectWithoutPropertiesLoose-ClNcje2_.js +0 -22
  108. package/dist/useButton-abQpo0za.js +0 -187
package/dist/main.d.ts CHANGED
@@ -1,11 +1,20 @@
1
1
 
2
+ export * from './components/Advice/Advice';
3
+ export * from './components/Button/Button';
4
+ export * from './components/Checkbox/Checkbox';
2
5
  export * from './components/Dialog/Dialog';
3
- export * from './components/Typography/Typography';
6
+ export * from './components/Icon/Icon';
7
+ export * from './components/IconButton/IconButton';
8
+ export * from './components/Input/Input';
4
9
  export * from './components/LoadingSpinner/LoadingSpinner';
5
- export * from './components/Tabs/Tabs';
6
- export * from './components/Tabs/Tab';
7
- export * from './components/Tabs/TabPanel';
8
- export * from './components/Pagination/Pagination';
9
10
  export * from './components/PageHeader/PageHeader';
10
- export * from './components/Button/Button';
11
- export * from './components/IconButton/IconButton';
11
+ export * from './components/Pagination/Pagination';
12
+ export * from './components/Skeleton/Skeleton';
13
+ export * from './components/Snackbar/Snackbar';
14
+ export * from './components/SortTooltip/SortTooltip';
15
+ export * from './components/Stepper/Stepper';
16
+ export * from './components/Table/Table';
17
+ export * from './components/Tabs/Tabs';
18
+ export * from './components/Toggle/Toggle';
19
+ export * from './components/Tooltip/Tooltip';
20
+ export * from './components/Typography/Typography';
package/dist/main.js CHANGED
@@ -1,30 +1,52 @@
1
- import './assets/main.css';
2
- import { Dialog as t } from "./components/Dialog/Dialog.js";
3
- import { Typography as a } from "./components/Typography/Typography.js";
4
- import { LoadingSpinner as p } from "./components/LoadingSpinner/LoadingSpinner.js";
5
- import { Tabs as m } from "./components/Tabs/Tabs.js";
6
- import { Tab as i } from "./components/Tabs/Tab.js";
7
- import { TabPanel as s } from "./components/Tabs/TabPanel.js";
8
- import { Pagination as g, defaultTranslations as u } from "./components/Pagination/Pagination.js";
9
- import { PageHeader as b } from "./components/PageHeader/PageHeader.js";
10
- import { Button as c } from "./components/Button/Button.js";
11
- import { IconButton as B } from "./components/IconButton/IconButton.js";
12
- import { default as h } from "./components/Dialog/Title.js";
13
- import { default as C } from "./components/Dialog/Content.js";
14
- import { default as I } from "./components/Dialog/Actions.js";
1
+ import './assets/global.css';
2
+ /* empty css */
3
+ import { Advice as p } from "./components/Advice/Advice.js";
4
+ import { Button as f } from "./components/Button/Button.js";
5
+ import { Checkbox as m } from "./components/Checkbox/Checkbox.js";
6
+ import { Dialog as i } from "./components/Dialog/Dialog.js";
7
+ import { FamilyAndIcons as s, Icon as T } from "./components/Icon/Icon.js";
8
+ import { IconButton as c } from "./components/IconButton/IconButton.js";
9
+ import { Input as d } from "./components/Input/Input.js";
10
+ import { LoadingSpinner as k } from "./components/LoadingSpinner/LoadingSpinner.js";
11
+ import { PageHeader as D } from "./components/PageHeader/PageHeader.js";
12
+ import { Pagination as y, paginationDefaultTranslations as A } from "./components/Pagination/Pagination.js";
13
+ import { Skeleton as h, SkeletonCircle as B, SkeletonTable as P } from "./components/Skeleton/Skeleton.js";
14
+ import { Snackbar as F } from "./components/Snackbar/Snackbar.js";
15
+ import { SortTooltip as L, sortTooltipDefaultTranslations as j } from "./components/SortTooltip/SortTooltip.js";
16
+ import { Stepper as w } from "./components/Stepper/Stepper.js";
17
+ import "./components/Table/Table.js";
18
+ import { Tabs as E } from "./components/Tabs/Tabs.js";
19
+ import { Toggle as J } from "./components/Toggle/Toggle.js";
20
+ import { Tooltip as M } from "./components/Tooltip/Tooltip.js";
21
+ import { Typography as O } from "./components/Typography/Typography.js";
22
+ import { default as R } from "./components/Dialog/Title.js";
23
+ import { default as V } from "./components/Dialog/Content.js";
24
+ import { default as X } from "./components/Dialog/Actions.js";
15
25
  export {
16
- I as Actions,
17
- c as Button,
18
- C as Content,
19
- t as Dialog,
20
- h as DialogTitle,
21
- B as IconButton,
22
- p as LoadingSpinner,
23
- b as PageHeader,
24
- g as Pagination,
25
- i as Tab,
26
- s as TabPanel,
27
- m as Tabs,
28
- a as Typography,
29
- u as defaultTranslations
26
+ X as Actions,
27
+ p as Advice,
28
+ f as Button,
29
+ m as Checkbox,
30
+ V as Content,
31
+ i as Dialog,
32
+ R as DialogTitle,
33
+ s as FamilyAndIcons,
34
+ T as Icon,
35
+ c as IconButton,
36
+ d as Input,
37
+ k as LoadingSpinner,
38
+ D as PageHeader,
39
+ y as Pagination,
40
+ h as Skeleton,
41
+ B as SkeletonCircle,
42
+ P as SkeletonTable,
43
+ F as Snackbar,
44
+ L as SortTooltip,
45
+ w as Stepper,
46
+ E as Tabs,
47
+ J as Toggle,
48
+ M as Tooltip,
49
+ O as Typography,
50
+ A as paginationDefaultTranslations,
51
+ j as sortTooltipDefaultTranslations
30
52
  };
@@ -0,0 +1,26 @@
1
+ function e() {
2
+ return e = Object.assign ? Object.assign.bind() : function(n) {
3
+ for (var a = 1; a < arguments.length; a++) {
4
+ var r = arguments[a];
5
+ for (var t in r)
6
+ Object.prototype.hasOwnProperty.call(r, t) && (n[t] = r[t]);
7
+ }
8
+ return n;
9
+ }, e.apply(this, arguments);
10
+ }
11
+ function i(n, a) {
12
+ if (n == null)
13
+ return {};
14
+ var r = {};
15
+ for (var t in n)
16
+ if (Object.prototype.hasOwnProperty.call(n, t)) {
17
+ if (a.indexOf(t) >= 0)
18
+ continue;
19
+ r[t] = n[t];
20
+ }
21
+ return r;
22
+ }
23
+ export {
24
+ i as _,
25
+ e as a
26
+ };
@@ -0,0 +1 @@
1
+ export declare const assertClassesApplied: (expectedClasses: string[] | null, component: HTMLElement) => void;
@@ -0,0 +1,11 @@
1
+ const i = (h, r) => {
2
+ h == null || h.forEach((a) => {
3
+ if (!r.className.split(" ").some((t) => t.startsWith(`_${a}_`)))
4
+ throw new Error(`
5
+ Received: ${r.className}
6
+ Expected: _${a}_{x}, (where {x} = random hash)`);
7
+ });
8
+ };
9
+ export {
10
+ i as assertClassesApplied
11
+ };
@@ -17,3 +17,11 @@ type RequireAllOrNone<T, U extends keyof T = never> = (
17
17
  | Partial<Record<U, never>> // Require none
18
18
  ) &
19
19
  Omit<T, U>; // remaining keys not listed in U
20
+
21
+ // S = string, D = delimiter to split by. Then split S by D and return array of strings. "foo-bar-baz" = ["foo","bar","baz"]
22
+ // Fallback if no '-' return [s] which is an array of the input string e.g. foo = [foo]
23
+ type Split<S extends string, D extends string> = string extends S
24
+ ? string[]
25
+ : S extends `${infer T}${D}${infer Rest}`
26
+ ? [T, ...Split<Rest, D>]
27
+ : [S];
@@ -0,0 +1,106 @@
1
+ import { a as D } from "./objectWithoutPropertiesLoose-D7Cp0Pg_.js";
2
+ import * as i from "react";
3
+ import { u as S, e as k } from "./index-CqjC7P5Y.js";
4
+ import { u as _ } from "./useIsFocusVisible-BH4IAdcw.js";
5
+ function v(p) {
6
+ const {
7
+ rootElementName: n = "",
8
+ componentName: l
9
+ } = p, [c, y] = i.useState(n.toUpperCase());
10
+ process.env.NODE_ENV !== "production" && i.useEffect(() => {
11
+ n && c !== n.toUpperCase() && console.error(`useRootElementName: the \`rootElementName\` prop of ${l ? `the ${l} component` : "a component"} expected the '${n}' element, but a '${c.toLowerCase()}' was rendered instead`, "This may cause hydration issues in an SSR context, for example in a Next.js app");
12
+ }, [n, c, l]);
13
+ const u = i.useCallback((m) => {
14
+ var s;
15
+ y((s = m == null ? void 0 : m.tagName) != null ? s : "");
16
+ }, []);
17
+ return [c, u];
18
+ }
19
+ function h(p = {}) {
20
+ const {
21
+ disabled: n = !1,
22
+ focusableWhenDisabled: l,
23
+ href: c,
24
+ rootRef: y,
25
+ tabIndex: u,
26
+ to: m,
27
+ type: s,
28
+ rootElementName: T
29
+ } = p, b = i.useRef(), [B, N] = i.useState(!1), {
30
+ isFocusVisibleRef: E,
31
+ onFocus: F,
32
+ onBlur: M,
33
+ ref: U
34
+ } = _(), [d, R] = i.useState(!1);
35
+ n && !l && d && R(!1), i.useEffect(() => {
36
+ E.current = d;
37
+ }, [d, E]);
38
+ const [f, V] = v({
39
+ rootElementName: T ?? (c || m ? "a" : void 0),
40
+ componentName: "Button"
41
+ }), w = (t) => (e) => {
42
+ var o;
43
+ d && e.preventDefault(), (o = t.onMouseLeave) == null || o.call(t, e);
44
+ }, K = (t) => (e) => {
45
+ var o;
46
+ M(e), E.current === !1 && R(!1), (o = t.onBlur) == null || o.call(t, e);
47
+ }, P = (t) => (e) => {
48
+ var o;
49
+ if (b.current || (b.current = e.currentTarget), F(e), E.current === !0) {
50
+ var r;
51
+ R(!0), (r = t.onFocusVisible) == null || r.call(t, e);
52
+ }
53
+ (o = t.onFocus) == null || o.call(t, e);
54
+ }, g = () => {
55
+ const t = b.current;
56
+ return f === "BUTTON" || f === "INPUT" && ["button", "submit", "reset"].includes(t == null ? void 0 : t.type) || f === "A" && (t == null ? void 0 : t.href);
57
+ }, I = (t) => (e) => {
58
+ if (!n) {
59
+ var o;
60
+ (o = t.onClick) == null || o.call(t, e);
61
+ }
62
+ }, $ = (t) => (e) => {
63
+ var o;
64
+ n || (N(!0), document.addEventListener("mouseup", () => {
65
+ N(!1);
66
+ }, {
67
+ once: !0
68
+ })), (o = t.onMouseDown) == null || o.call(t, e);
69
+ }, C = (t) => (e) => {
70
+ var o;
71
+ if ((o = t.onKeyDown) == null || o.call(t, e), !e.defaultMuiPrevented && (e.target === e.currentTarget && !g() && e.key === " " && e.preventDefault(), e.target === e.currentTarget && e.key === " " && !n && N(!0), e.target === e.currentTarget && !g() && e.key === "Enter" && !n)) {
72
+ var r;
73
+ (r = t.onClick) == null || r.call(t, e), e.preventDefault();
74
+ }
75
+ }, L = (t) => (e) => {
76
+ var o;
77
+ if (e.target === e.currentTarget && N(!1), (o = t.onKeyUp) == null || o.call(t, e), e.target === e.currentTarget && !g() && !n && e.key === " " && !e.defaultMuiPrevented) {
78
+ var r;
79
+ (r = t.onClick) == null || r.call(t, e);
80
+ }
81
+ }, x = S(V, y, U, b), a = {};
82
+ return u !== void 0 && (a.tabIndex = u), f === "BUTTON" ? (a.type = s ?? "button", l ? a["aria-disabled"] = n : a.disabled = n) : f === "INPUT" ? s && ["button", "submit", "reset"].includes(s) && (l ? a["aria-disabled"] = n : a.disabled = n) : f !== "" && (!c && !m && (a.role = "button", a.tabIndex = u ?? 0), n && (a["aria-disabled"] = n, a.tabIndex = l ? u ?? 0 : -1)), {
83
+ getRootProps: (t = {}) => {
84
+ const e = D({}, k(p), k(t)), o = D({
85
+ type: s
86
+ }, e, a, t, {
87
+ onBlur: K(e),
88
+ onClick: I(e),
89
+ onFocus: P(e),
90
+ onKeyDown: C(e),
91
+ onKeyUp: L(e),
92
+ onMouseDown: $(e),
93
+ onMouseLeave: w(e),
94
+ ref: x
95
+ });
96
+ return delete o.onFocusVisible, o;
97
+ },
98
+ focusVisible: d,
99
+ setFocusVisible: R,
100
+ active: B,
101
+ rootRef: x
102
+ };
103
+ }
104
+ export {
105
+ h as u
106
+ };
@@ -1,5 +1,5 @@
1
1
  import * as o from "react";
2
- import { C as a } from "./Tabs.module-BKlNuSPH.js";
2
+ import { C as a } from "./Tabs.module-BA-PC7fA.js";
3
3
  import { u as I } from "./useEnhancedEffect-CJGo-L3B.js";
4
4
  let r = 0;
5
5
  function i(t) {
@@ -0,0 +1,69 @@
1
+ import * as a from "react";
2
+ import { T as o } from "./useTimeout-DxF9kiZL.js";
3
+ let n = !0, s = !1;
4
+ const c = new o(), f = {
5
+ text: !0,
6
+ search: !0,
7
+ url: !0,
8
+ tel: !0,
9
+ email: !0,
10
+ password: !0,
11
+ number: !0,
12
+ date: !0,
13
+ month: !0,
14
+ week: !0,
15
+ time: !0,
16
+ datetime: !0,
17
+ "datetime-local": !0
18
+ };
19
+ function d(e) {
20
+ const {
21
+ type: t,
22
+ tagName: r
23
+ } = e;
24
+ return !!(r === "INPUT" && f[t] && !e.readOnly || r === "TEXTAREA" && !e.readOnly || e.isContentEditable);
25
+ }
26
+ function h(e) {
27
+ e.metaKey || e.altKey || e.ctrlKey || (n = !0);
28
+ }
29
+ function i() {
30
+ n = !1;
31
+ }
32
+ function y() {
33
+ this.visibilityState === "hidden" && s && (n = !0);
34
+ }
35
+ function m(e) {
36
+ e.addEventListener("keydown", h, !0), e.addEventListener("mousedown", i, !0), e.addEventListener("pointerdown", i, !0), e.addEventListener("touchstart", i, !0), e.addEventListener("visibilitychange", y, !0);
37
+ }
38
+ function b(e) {
39
+ const {
40
+ target: t
41
+ } = e;
42
+ try {
43
+ return t.matches(":focus-visible");
44
+ } catch {
45
+ }
46
+ return n || d(t);
47
+ }
48
+ function w() {
49
+ const e = a.useCallback((u) => {
50
+ u != null && m(u.ownerDocument);
51
+ }, []), t = a.useRef(!1);
52
+ function r() {
53
+ return t.current ? (s = !0, c.start(100, () => {
54
+ s = !1;
55
+ }), t.current = !1, !0) : !1;
56
+ }
57
+ function l(u) {
58
+ return b(u) ? (t.current = !0, !0) : !1;
59
+ }
60
+ return {
61
+ isFocusVisibleRef: t,
62
+ onFocus: l,
63
+ onBlur: r,
64
+ ref: e
65
+ };
66
+ }
67
+ export {
68
+ w as u
69
+ };
@@ -0,0 +1,36 @@
1
+ import * as n from "react";
2
+ const u = {};
3
+ function c(t, r) {
4
+ const e = n.useRef(u);
5
+ return e.current === u && (e.current = t(r)), e;
6
+ }
7
+ const i = [];
8
+ function o(t) {
9
+ n.useEffect(t, i);
10
+ }
11
+ class s {
12
+ constructor() {
13
+ this.currentId = null, this.clear = () => {
14
+ this.currentId !== null && (clearTimeout(this.currentId), this.currentId = null);
15
+ }, this.disposeEffect = () => this.clear;
16
+ }
17
+ static create() {
18
+ return new s();
19
+ }
20
+ /**
21
+ * Executes `fn` after `delay`, clearing any previously scheduled call.
22
+ */
23
+ start(r, e) {
24
+ this.clear(), this.currentId = setTimeout(() => {
25
+ this.currentId = null, e();
26
+ }, r);
27
+ }
28
+ }
29
+ function f() {
30
+ const t = c(s.create).current;
31
+ return o(t.disposeEffect), t;
32
+ }
33
+ export {
34
+ s as T,
35
+ f as u
36
+ };
@@ -0,0 +1,6 @@
1
+ import { Split } from '../types/helpers';
2
+
3
+ export type BlockType<T extends string> = Split<T, '-'>[0];
4
+ export declare const bemify: <T extends string>(variant: T, blocksWithElements: BlockType<T>[]) => string;
5
+ export declare const getBEMBase: (variant: string) => string;
6
+ export declare const getBEMBlock: (variant: string) => string;
@@ -0,0 +1,10 @@
1
+ const s = (e, n) => {
2
+ const r = new RegExp(`^([${n.join("|")}]*)-`);
3
+ let t = e.replace(r, "$1__");
4
+ return t = t.replace(new RegExp("(?<!-)-(?!-)", "g"), "--"), t;
5
+ }, c = (e) => e.split("--")[0], l = (e) => e.split(/--|__/)[0];
6
+ export {
7
+ s as bemify,
8
+ c as getBEMBase,
9
+ l as getBEMBlock
10
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,41 @@
1
+ import { bemify as a, getBEMBase as e, getBEMBlock as r } from "./styleStrings.js";
2
+ import { d as s, i as o, g as t } from "../vi.Y_w82WR8-Df0JUamG.js";
3
+ s("styleStrings", () => {
4
+ s("bemify", () => {
5
+ o("returns just a block if a block was only given", () => {
6
+ t(a("foo", ["bar"])).toEqual("foo");
7
+ }), o("returns just a block and modifier if no elements for that block", () => {
8
+ t(a("foo-baz", ["bar"])).toEqual("foo--baz");
9
+ }), o("returns just block and element if it is a block with elements", () => {
10
+ t(a("bar-baz", ["bar"])).toEqual("bar__baz");
11
+ }), o("returns block, element and modifier if it has all three parts", () => {
12
+ t(a("bar-baz-qux", ["bar"])).toEqual("bar__baz--qux");
13
+ }), o("accepts alternative types for the generic variants type", () => {
14
+ t(a("abc-def", ["abc"])).toEqual("abc__def");
15
+ });
16
+ }), s("getBEMBase", () => {
17
+ o("returns the base BEM of a Block with no elements or modifiers", () => {
18
+ t(e("foo")).toEqual("foo");
19
+ }), o("returns the base BEM of a Block with an element but no modifiers", () => {
20
+ t(e("foo__bar")).toEqual("foo__bar");
21
+ }), o("returns the base BEM of a Block with no elements but a modifier", () => {
22
+ t(e("foo--baz")).toEqual("foo");
23
+ }), o("returns the base BEM of a Block with an element and a modifier", () => {
24
+ t(e("foo__bar--baz")).toEqual("foo__bar");
25
+ }), o("returns empty if given nothing", () => {
26
+ t(e("")).toEqual("");
27
+ });
28
+ }), s("getBEMBlock", () => {
29
+ o("returns the block part of a full BEM style string", () => {
30
+ t(r("foo__bar--baz")).toEqual("foo");
31
+ }), o("returns the block part of a BEM style string that has just block and element", () => {
32
+ t(r("foo__bar")).toEqual("foo");
33
+ }), o("returns the block part of a BEM style string that has just block and modifier", () => {
34
+ t(r("foo--baz")).toEqual("foo");
35
+ }), o("returns the block part of a BEM style string that has just a block", () => {
36
+ t(r("foo")).toEqual("foo");
37
+ }), o("returns nothing if nothing passed in", () => {
38
+ t(r("")).toEqual("");
39
+ });
40
+ });
41
+ });