@traefik-labs/faency 12.0.12 → 12.2.0

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 (87) hide show
  1. package/dist/components/AriaTable/AriaTable.cjs.map +1 -1
  2. package/dist/components/AriaTable/AriaTable.js.map +1 -1
  3. package/dist/components/Avatar/Avatar.vanilla.css.cjs +3 -3
  4. package/dist/components/Avatar/Avatar.vanilla.css.js +1 -1
  5. package/dist/components/Badge/Badge.vanilla.css.cjs +3 -3
  6. package/dist/components/Badge/Badge.vanilla.css.js +1 -1
  7. package/dist/components/Blockquote/Blockquote.vanilla.css.cjs +2 -2
  8. package/dist/components/Blockquote/Blockquote.vanilla.css.js +1 -1
  9. package/dist/components/Bubble/Bubble.vanilla.css.cjs +2 -2
  10. package/dist/components/Bubble/Bubble.vanilla.css.js +1 -1
  11. package/dist/components/Button/Button.cjs +2 -1
  12. package/dist/components/Button/Button.cjs.map +1 -1
  13. package/dist/components/Button/Button.js +2 -1
  14. package/dist/components/Button/Button.js.map +1 -1
  15. package/dist/components/Button/Button.vanilla.css.cjs +2 -2
  16. package/dist/components/Button/Button.vanilla.css.js +1 -1
  17. package/dist/components/Card/Card.vanilla.css.cjs +3 -3
  18. package/dist/components/Card/Card.vanilla.css.js +1 -1
  19. package/dist/components/CodeBlock/CodeBlock.cjs +168 -0
  20. package/dist/components/CodeBlock/CodeBlock.cjs.map +1 -0
  21. package/dist/components/CodeBlock/CodeBlock.js +168 -0
  22. package/dist/components/CodeBlock/CodeBlock.js.map +1 -0
  23. package/dist/components/CodeBlock/CodeBlock.themes.cjs +18 -0
  24. package/dist/components/CodeBlock/CodeBlock.themes.cjs.map +1 -0
  25. package/dist/components/CodeBlock/CodeBlock.themes.js +19 -0
  26. package/dist/components/CodeBlock/CodeBlock.themes.js.map +1 -0
  27. package/dist/components/CodeBlock/CodeBlock.vanilla.cjs +158 -0
  28. package/dist/components/CodeBlock/CodeBlock.vanilla.cjs.map +1 -0
  29. package/dist/components/CodeBlock/CodeBlock.vanilla.css.cjs +20 -0
  30. package/dist/components/CodeBlock/CodeBlock.vanilla.css.cjs.map +1 -0
  31. package/dist/components/CodeBlock/CodeBlock.vanilla.css.js +20 -0
  32. package/dist/components/CodeBlock/CodeBlock.vanilla.css.js.map +1 -0
  33. package/dist/components/CodeBlock/CodeBlock.vanilla.js +158 -0
  34. package/dist/components/CodeBlock/CodeBlock.vanilla.js.map +1 -0
  35. package/dist/components/Container/Container.vanilla.css.cjs +2 -2
  36. package/dist/components/Container/Container.vanilla.css.js +1 -1
  37. package/dist/components/DateTimePicker/DateTimePicker.cjs +1 -1
  38. package/dist/components/DateTimePicker/DateTimePicker.js +1 -1
  39. package/dist/components/Elevation/Elevation.vanilla.css.cjs +2 -2
  40. package/dist/components/Elevation/Elevation.vanilla.css.js +1 -1
  41. package/dist/components/FaencyProvider.cjs +2 -1
  42. package/dist/components/FaencyProvider.cjs.map +1 -1
  43. package/dist/components/FaencyProvider.js +2 -1
  44. package/dist/components/FaencyProvider.js.map +1 -1
  45. package/dist/components/Flex/Flex.vanilla.css.cjs +2 -2
  46. package/dist/components/Flex/Flex.vanilla.css.js +1 -1
  47. package/dist/components/Grid/Grid.vanilla.css.cjs +2 -2
  48. package/dist/components/Grid/Grid.vanilla.css.js +1 -1
  49. package/dist/components/IconButton/IconButton.vanilla.css.cjs +2 -2
  50. package/dist/components/IconButton/IconButton.vanilla.css.js +1 -1
  51. package/dist/components/Input/Input.vanilla.css.cjs +4 -4
  52. package/dist/components/Input/Input.vanilla.css.js +1 -1
  53. package/dist/components/Label/Label.vanilla.css.cjs +2 -2
  54. package/dist/components/Label/Label.vanilla.css.js +1 -1
  55. package/dist/components/List/List.cjs +36 -7
  56. package/dist/components/List/List.cjs.map +1 -1
  57. package/dist/components/List/List.js +36 -7
  58. package/dist/components/List/List.js.map +1 -1
  59. package/dist/components/Paragraph/Paragraph.vanilla.css.cjs +2 -2
  60. package/dist/components/Paragraph/Paragraph.vanilla.css.js +1 -1
  61. package/dist/components/Skeleton/Skeleton.vanilla.css.cjs +2 -2
  62. package/dist/components/Skeleton/Skeleton.vanilla.css.js +1 -1
  63. package/dist/components/Textarea/Textarea.vanilla.css.cjs +3 -3
  64. package/dist/components/Textarea/Textarea.vanilla.css.js +1 -1
  65. package/dist/components/colorSchemeContext.cjs +45 -0
  66. package/dist/components/colorSchemeContext.cjs.map +1 -0
  67. package/dist/components/colorSchemeContext.js +45 -0
  68. package/dist/components/colorSchemeContext.js.map +1 -0
  69. package/dist/faency.css +1940 -1886
  70. package/dist/index.cjs +6 -0
  71. package/dist/index.cjs.map +1 -1
  72. package/dist/index.d.ts +486 -0
  73. package/dist/index.js +6 -0
  74. package/dist/index.js.map +1 -1
  75. package/dist/stitches.config.cjs +4 -0
  76. package/dist/stitches.config.cjs.map +1 -1
  77. package/dist/stitches.config.js +19 -15
  78. package/dist/stitches.config.js.map +1 -1
  79. package/dist/styles/themes.css.cjs +1 -0
  80. package/dist/styles/themes.css.cjs.map +1 -1
  81. package/dist/styles/themes.css.js +1 -0
  82. package/dist/styles/themes.css.js.map +1 -1
  83. package/package.json +4 -1
  84. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs +0 -109
  85. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs.map +0 -1
  86. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js +0 -109
  87. package/dist/node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlock.vanilla.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
@@ -0,0 +1,158 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { CheckIcon, CopyIcon } from "@radix-ui/react-icons";
3
+ import { assignInlineVars } from "@vanilla-extract/dynamic";
4
+ import { themes, Highlight, Prism } from "prism-react-renderer";
5
+ import { forwardRef, useState, useRef, useCallback, useLayoutEffect } from "react";
6
+ import { processCSSProp } from "../../styles/cssProps.js";
7
+ import { useVanillaExtractTheme } from "../../styles/themeContext.js";
8
+ import { pre, preNoBorder, codeContent, codeContentBottomPadding, copyButtonWrapperBottomLeft, copyButtonWrapperBottomRight, copyButtonWrapperTopLeft, copyButtonWrapperTop } from "./CodeBlock.vanilla.css.js";
9
+ import { ButtonVanilla } from "../Button/Button.vanilla.js";
10
+ import { AccessibleIcon } from "../AccessibleIcon/AccessibleIcon.js";
11
+ const CodeBlockVanilla = forwardRef(
12
+ ({
13
+ lang = "text",
14
+ code,
15
+ copyable = false,
16
+ copyText,
17
+ copiedText,
18
+ copyButtonAlign = "top right",
19
+ onCopy,
20
+ noBorder,
21
+ wrapText = false,
22
+ colorScheme,
23
+ maxHeight = 424,
24
+ css,
25
+ style,
26
+ className,
27
+ ...props
28
+ }, ref) => {
29
+ const { colors, resolvedTheme } = useVanillaExtractTheme();
30
+ const effectiveScheme = colorScheme ?? resolvedTheme;
31
+ const prismTheme = effectiveScheme === "dark" ? themes.nightOwl : themes.nightOwlLight;
32
+ const { style: cssStyles, vars } = processCSSProp(css, colors);
33
+ const containerStyles = {
34
+ position: "relative",
35
+ ...cssStyles,
36
+ ...assignInlineVars(vars)
37
+ };
38
+ const [copied, setCopied] = useState(false);
39
+ const preRef = useRef(
40
+ null
41
+ );
42
+ const buttonWrapperRef = useRef(null);
43
+ const setPreRef = useCallback(
44
+ (node) => {
45
+ preRef.current = node;
46
+ if (typeof ref === "function") ref(node);
47
+ else if (ref) ref.current = node;
48
+ },
49
+ [ref]
50
+ );
51
+ useLayoutEffect(() => {
52
+ if (!copyable) return;
53
+ const pre2 = preRef.current;
54
+ const wrapper = buttonWrapperRef.current;
55
+ if (!pre2 || !wrapper) return;
56
+ const isLeftAlign = copyButtonAlign.includes("left");
57
+ const isBottomAlign = copyButtonAlign.includes("bottom");
58
+ const borderH = noBorder ? 0 : 2;
59
+ const update = () => {
60
+ if (!isLeftAlign) {
61
+ const vScrollbar = Math.max(0, pre2.offsetWidth - pre2.clientWidth - borderH);
62
+ wrapper.style.right = `${16 + vScrollbar}px`;
63
+ }
64
+ if (isBottomAlign) {
65
+ const hScrollbar = Math.max(0, pre2.offsetHeight - pre2.clientHeight - borderH);
66
+ wrapper.style.bottom = `${8 + hScrollbar}px`;
67
+ }
68
+ };
69
+ update();
70
+ const observer = new ResizeObserver(update);
71
+ observer.observe(pre2);
72
+ return () => observer.disconnect();
73
+ }, [copyable, copyButtonAlign, noBorder]);
74
+ const handleCopy = async () => {
75
+ try {
76
+ await navigator.clipboard.writeText(code);
77
+ setCopied(true);
78
+ onCopy?.();
79
+ setTimeout(() => setCopied(false), 1500);
80
+ } catch {
81
+ }
82
+ };
83
+ const isBottom = copyButtonAlign.includes("bottom");
84
+ const isLeft = copyButtonAlign.includes("left");
85
+ const buttonPositionClass = isBottom ? isLeft ? copyButtonWrapperBottomLeft : copyButtonWrapperBottomRight : isLeft ? copyButtonWrapperTopLeft : copyButtonWrapperTop;
86
+ const copyButton = copyable ? /* @__PURE__ */ jsxs(
87
+ ButtonVanilla,
88
+ {
89
+ variant: "secondary",
90
+ ghost: true,
91
+ size: "small",
92
+ type: "button",
93
+ onClick: handleCopy,
94
+ css: {
95
+ color: "$hiContrast",
96
+ gap: "$1",
97
+ backgroundColor: "$codeBlockCopyButtonBg",
98
+ height: "32px"
99
+ },
100
+ children: [
101
+ /* @__PURE__ */ jsx(AccessibleIcon, { label: copied ? "Copied" : "Copy", children: copied ? /* @__PURE__ */ jsx(CheckIcon, {}) : /* @__PURE__ */ jsx(CopyIcon, {}) }),
102
+ copied ? copiedText : copyText
103
+ ]
104
+ }
105
+ ) : null;
106
+ return /* @__PURE__ */ jsx(
107
+ Highlight,
108
+ {
109
+ theme: prismTheme,
110
+ code,
111
+ language: Prism.languages[lang] != null ? lang : "text",
112
+ children: ({
113
+ className: highlightClass,
114
+ style: highlightStyle,
115
+ tokens,
116
+ getLineProps,
117
+ getTokenProps
118
+ }) => /* @__PURE__ */ jsxs("div", { style: containerStyles, children: [
119
+ /* @__PURE__ */ jsx(
120
+ "pre",
121
+ {
122
+ ref: setPreRef,
123
+ className: [pre, noBorder ? preNoBorder : "", highlightClass, className].filter(Boolean).join(" "),
124
+ style: {
125
+ maxHeight,
126
+ ...highlightStyle,
127
+ backgroundColor: "inherit",
128
+ ...style
129
+ },
130
+ ...props,
131
+ children: /* @__PURE__ */ jsx(
132
+ "div",
133
+ {
134
+ className: [codeContent, copyable && isBottom ? codeContentBottomPadding : ""].filter(Boolean).join(" "),
135
+ children: tokens.map((line, i) => /* @__PURE__ */ jsx(
136
+ "div",
137
+ {
138
+ ...getLineProps({ line }),
139
+ style: wrapText ? { whiteSpace: "pre-wrap", wordBreak: "break-all" } : void 0,
140
+ children: line.map((token, key) => /* @__PURE__ */ jsx("span", { ...getTokenProps({ token }) }, key))
141
+ },
142
+ i
143
+ ))
144
+ }
145
+ )
146
+ }
147
+ ),
148
+ copyButton && /* @__PURE__ */ jsx("div", { ref: buttonWrapperRef, className: buttonPositionClass, children: copyButton })
149
+ ] })
150
+ }
151
+ );
152
+ }
153
+ );
154
+ CodeBlockVanilla.displayName = "CodeBlockVanilla";
155
+ export {
156
+ CodeBlockVanilla
157
+ };
158
+ //# sourceMappingURL=CodeBlock.vanilla.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CodeBlock.vanilla.js","sources":["../../../components/CodeBlock/CodeBlock.vanilla.tsx"],"sourcesContent":["import './prism-extend';\n\nimport { CheckIcon, CopyIcon } from '@radix-ui/react-icons';\nimport { assignInlineVars } from '@vanilla-extract/dynamic';\nimport { Highlight, Language, Prism, themes } from 'prism-react-renderer';\nimport React, {\n forwardRef,\n HTMLAttributes,\n useCallback,\n useLayoutEffect,\n useRef,\n useState,\n} from 'react';\n\nimport { CSSProps, processCSSProp } from '../../styles/cssProps';\nimport { useVanillaExtractTheme } from '../../styles/themeContext';\nimport { AccessibleIcon } from '../AccessibleIcon';\nimport { ButtonVanilla } from '../Button';\nimport {\n codeContent,\n codeContentBottomPadding,\n copyButtonWrapperBottomLeft,\n copyButtonWrapperBottomRight,\n copyButtonWrapperTop,\n copyButtonWrapperTopLeft,\n pre,\n preNoBorder,\n} from './CodeBlock.vanilla.css';\nimport type { CodeBlockCopyButtonAlign, CodeBlockLanguage } from './index';\n\nexport interface CodeBlockVanillaProps\n extends Omit<HTMLAttributes<HTMLPreElement>, 'css'>,\n CSSProps {\n lang?: CodeBlockLanguage;\n code: string;\n copyable?: boolean;\n copyText?: string;\n copiedText?: string;\n copyButtonAlign?: CodeBlockCopyButtonAlign;\n onCopy?: () => void;\n noBorder?: boolean;\n wrapText?: boolean;\n colorScheme?: 'light' | 'dark';\n maxHeight?: number | string;\n}\n\nexport const CodeBlockVanilla = forwardRef<HTMLPreElement, CodeBlockVanillaProps>(\n (\n {\n lang = 'text',\n code,\n copyable = false,\n copyText,\n copiedText,\n copyButtonAlign = 'top right',\n onCopy,\n noBorder,\n wrapText = false,\n colorScheme,\n maxHeight = 424,\n css,\n style,\n className,\n ...props\n },\n ref,\n ) => {\n const { colors, resolvedTheme } = useVanillaExtractTheme();\n const effectiveScheme = colorScheme ?? resolvedTheme;\n const prismTheme = effectiveScheme === 'dark' ? themes.nightOwl : themes.nightOwlLight;\n\n const { style: cssStyles, vars } = processCSSProp(css, colors);\n const containerStyles = {\n position: 'relative' as const,\n ...cssStyles,\n ...assignInlineVars(vars),\n };\n\n const [copied, setCopied] = useState(false);\n\n const preRef = useRef<HTMLPreElement | null>(\n null,\n ) as React.MutableRefObject<HTMLPreElement | null>;\n const buttonWrapperRef = useRef<HTMLDivElement>(null);\n\n const setPreRef = useCallback(\n (node: HTMLPreElement | null) => {\n preRef.current = node;\n if (typeof ref === 'function') ref(node);\n else if (ref) (ref as React.MutableRefObject<HTMLPreElement | null>).current = node;\n },\n [ref],\n );\n\n useLayoutEffect(() => {\n if (!copyable) return;\n const pre = preRef.current;\n const wrapper = buttonWrapperRef.current;\n if (!pre || !wrapper) return;\n\n const isLeftAlign = copyButtonAlign.includes('left');\n const isBottomAlign = copyButtonAlign.includes('bottom');\n const borderH = noBorder ? 0 : 2;\n\n const update = () => {\n if (!isLeftAlign) {\n const vScrollbar = Math.max(0, pre.offsetWidth - pre.clientWidth - borderH);\n wrapper.style.right = `${16 + vScrollbar}px`;\n }\n if (isBottomAlign) {\n const hScrollbar = Math.max(0, pre.offsetHeight - pre.clientHeight - borderH);\n wrapper.style.bottom = `${8 + hScrollbar}px`;\n }\n };\n\n update();\n const observer = new ResizeObserver(update);\n observer.observe(pre);\n return () => observer.disconnect();\n }, [copyable, copyButtonAlign, noBorder]);\n\n const handleCopy = async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n setTimeout(() => setCopied(false), 1500);\n } catch {\n // clipboard write failed (e.g. permission denied) — leave UI unchanged\n }\n };\n\n const isBottom = copyButtonAlign.includes('bottom');\n const isLeft = copyButtonAlign.includes('left');\n const buttonPositionClass = isBottom\n ? isLeft\n ? copyButtonWrapperBottomLeft\n : copyButtonWrapperBottomRight\n : isLeft\n ? copyButtonWrapperTopLeft\n : copyButtonWrapperTop;\n\n const copyButton = copyable ? (\n <ButtonVanilla\n variant=\"secondary\"\n ghost\n size=\"small\"\n type=\"button\"\n onClick={handleCopy}\n css={{\n color: '$hiContrast',\n gap: '$1',\n backgroundColor: '$codeBlockCopyButtonBg',\n height: '32px',\n }}\n >\n <AccessibleIcon label={copied ? 'Copied' : 'Copy'}>\n {copied ? <CheckIcon /> : <CopyIcon />}\n </AccessibleIcon>\n {copied ? copiedText : copyText}\n </ButtonVanilla>\n ) : null;\n\n return (\n <Highlight\n theme={prismTheme}\n code={code}\n language={(Prism.languages[lang] != null ? lang : 'text') as Language}\n >\n {({\n className: highlightClass,\n style: highlightStyle,\n tokens,\n getLineProps,\n getTokenProps,\n }) => (\n <div style={containerStyles}>\n <pre\n ref={setPreRef}\n className={[pre, noBorder ? preNoBorder : '', highlightClass, className]\n .filter(Boolean)\n .join(' ')}\n style={{\n maxHeight,\n ...highlightStyle,\n backgroundColor: 'inherit',\n ...style,\n }}\n {...props}\n >\n <div\n className={[codeContent, copyable && isBottom ? codeContentBottomPadding : '']\n .filter(Boolean)\n .join(' ')}\n >\n {tokens.map((line, i) => (\n <div\n key={i}\n {...getLineProps({ line })}\n style={\n wrapText ? { whiteSpace: 'pre-wrap', wordBreak: 'break-all' } : undefined\n }\n >\n {line.map((token, key) => (\n <span key={key} {...getTokenProps({ token })} />\n ))}\n </div>\n ))}\n </div>\n </pre>\n {copyButton && (\n <div ref={buttonWrapperRef} className={buttonPositionClass}>\n {copyButton}\n </div>\n )}\n </div>\n )}\n </Highlight>\n );\n },\n);\n\nCodeBlockVanilla.displayName = 'CodeBlockVanilla';\n"],"names":["pre"],"mappings":"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"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  ;/* empty css */
4
4
  ;/* empty css */
5
5
  ;/* empty css */
6
- const createRuntimeFn62c9670f_esm = require("../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs");
7
- var containerRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "ayuv8i1 ayuv8i0", variantClassNames: { size: { "1": "ayuv8i2", "2": "ayuv8i3", "3": "ayuv8i4", "4": "ayuv8i5" }, noGutter: { true: "ayuv8i6" } }, defaultVariants: { size: "4" }, compoundVariants: [] });
6
+ const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
7
+ var containerRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "ayuv8i1 ayuv8i0", variantClassNames: { size: { "1": "ayuv8i2", "2": "ayuv8i3", "3": "ayuv8i4", "4": "ayuv8i5" }, noGutter: { true: "ayuv8i6" } }, defaultVariants: { size: "4" }, compoundVariants: [] });
8
8
  exports.containerRecipe = containerRecipe;
9
9
  //# sourceMappingURL=Container.vanilla.css.cjs.map
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { c as createRuntimeFn } from "../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js";
4
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
5
5
  var containerRecipe = createRuntimeFn({ defaultClassName: "ayuv8i1 ayuv8i0", variantClassNames: { size: { "1": "ayuv8i2", "2": "ayuv8i3", "3": "ayuv8i4", "4": "ayuv8i5" }, noGutter: { true: "ayuv8i6" } }, defaultVariants: { size: "4" }, compoundVariants: [] });
6
6
  export {
7
7
  containerRecipe
@@ -7,9 +7,9 @@ const dateFns = require("date-fns");
7
7
  const React = require("react");
8
8
  const stitches_config = require("../../stitches.config.cjs");
9
9
  const Box = require("../Box/Box.cjs");
10
- const Button = require("../Button/Button.cjs");
11
10
  const Flex = require("../Flex/Flex.cjs");
12
11
  const Text = require("../Text/Text.cjs");
12
+ const Button = require("../Button/Button.cjs");
13
13
  const CalendarGrid = stitches_config.styled("div", {
14
14
  display: "grid",
15
15
  alignItems: "center",
@@ -5,9 +5,9 @@ import { addMonths, addYears } from "date-fns";
5
5
  import React, { useState } from "react";
6
6
  import { styled } from "../../stitches.config.js";
7
7
  import { Box } from "../Box/Box.js";
8
- import { Button } from "../Button/Button.js";
9
8
  import { Flex } from "../Flex/Flex.js";
10
9
  import { Text } from "../Text/Text.js";
10
+ import { Button } from "../Button/Button.js";
11
11
  const CalendarGrid = styled("div", {
12
12
  display: "grid",
13
13
  alignItems: "center",
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  ;/* empty css */
4
- const createRuntimeFn62c9670f_esm = require("../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs");
5
- var elevationRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "s9g6zx1 s9g6zx0", variantClassNames: { variant: { "0": "s9g6zx2", "1": "s9g6zx3", "2": "s9g6zx4", "3": "s9g6zx5", "4": "s9g6zx6", "5": "s9g6zx7" } }, defaultVariants: { variant: 1 }, compoundVariants: [] });
4
+ const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
5
+ var elevationRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "s9g6zx1 s9g6zx0", variantClassNames: { variant: { "0": "s9g6zx2", "1": "s9g6zx3", "2": "s9g6zx4", "3": "s9g6zx5", "4": "s9g6zx6", "5": "s9g6zx7" } }, defaultVariants: { variant: 1 }, compoundVariants: [] });
6
6
  exports.elevationRecipe = elevationRecipe;
7
7
  //# sourceMappingURL=Elevation.vanilla.css.cjs.map
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { c as createRuntimeFn } from "../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js";
2
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
3
3
  var elevationRecipe = createRuntimeFn({ defaultClassName: "s9g6zx1 s9g6zx0", variantClassNames: { variant: { "0": "s9g6zx2", "1": "s9g6zx3", "2": "s9g6zx4", "3": "s9g6zx5", "4": "s9g6zx6", "5": "s9g6zx7" } }, defaultVariants: { variant: 1 }, compoundVariants: [] });
4
4
  export {
5
5
  elevationRecipe
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const jsxRuntime = require("react/jsx-runtime");
4
4
  const TooltipPrimitive = require("@radix-ui/react-tooltip");
5
- const FaencyProvider = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive.Provider, { children });
5
+ const colorSchemeContext = require("./colorSchemeContext.cjs");
6
+ const FaencyProvider = ({ children }) => /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive.Provider, { children: /* @__PURE__ */ jsxRuntime.jsx(colorSchemeContext.ColorSchemeProvider, { children }) });
6
7
  exports.FaencyProvider = FaencyProvider;
7
8
  //# sourceMappingURL=FaencyProvider.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"FaencyProvider.cjs","sources":["../../components/FaencyProvider.tsx"],"sourcesContent":["import { Provider as TooltipProvider } from '@radix-ui/react-tooltip';\nimport React from 'react';\n\ninterface FaencyProviderProps {\n children?: React.ReactNode;\n}\n\nexport const FaencyProvider = ({ children }: FaencyProviderProps) => (\n <TooltipProvider>{children}</TooltipProvider>\n);\n"],"names":["jsx","TooltipProvider"],"mappings":";;;;AAOO,MAAM,iBAAiB,CAAC,EAAE,eAC/BA,2BAAAA,IAACC,iBAAAA,YAAiB,SAAA,CAAS;;"}
1
+ {"version":3,"file":"FaencyProvider.cjs","sources":["../../components/FaencyProvider.tsx"],"sourcesContent":["import { Provider as TooltipProvider } from '@radix-ui/react-tooltip';\nimport React from 'react';\n\nimport { ColorSchemeProvider } from './colorSchemeContext';\n\ninterface FaencyProviderProps {\n children?: React.ReactNode;\n}\n\nexport const FaencyProvider = ({ children }: FaencyProviderProps) => (\n <TooltipProvider>\n <ColorSchemeProvider>{children}</ColorSchemeProvider>\n </TooltipProvider>\n);\n"],"names":["TooltipProvider","jsx","ColorSchemeProvider"],"mappings":";;;;;AASO,MAAM,iBAAiB,CAAC,EAAE,SAAA,qCAC9BA,iBAAAA,UAAA,EACC,UAAAC,+BAACC,mBAAAA,qBAAA,EAAqB,SAAA,CAAS,EAAA,CACjC;;"}
@@ -1,6 +1,7 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { Provider } from "@radix-ui/react-tooltip";
3
- const FaencyProvider = ({ children }) => /* @__PURE__ */ jsx(Provider, { children });
3
+ import { ColorSchemeProvider } from "./colorSchemeContext.js";
4
+ const FaencyProvider = ({ children }) => /* @__PURE__ */ jsx(Provider, { children: /* @__PURE__ */ jsx(ColorSchemeProvider, { children }) });
4
5
  export {
5
6
  FaencyProvider
6
7
  };
@@ -1 +1 @@
1
- {"version":3,"file":"FaencyProvider.js","sources":["../../components/FaencyProvider.tsx"],"sourcesContent":["import { Provider as TooltipProvider } from '@radix-ui/react-tooltip';\nimport React from 'react';\n\ninterface FaencyProviderProps {\n children?: React.ReactNode;\n}\n\nexport const FaencyProvider = ({ children }: FaencyProviderProps) => (\n <TooltipProvider>{children}</TooltipProvider>\n);\n"],"names":["TooltipProvider"],"mappings":";;AAOO,MAAM,iBAAiB,CAAC,EAAE,eAC/B,oBAACA,YAAiB,SAAA,CAAS;"}
1
+ {"version":3,"file":"FaencyProvider.js","sources":["../../components/FaencyProvider.tsx"],"sourcesContent":["import { Provider as TooltipProvider } from '@radix-ui/react-tooltip';\nimport React from 'react';\n\nimport { ColorSchemeProvider } from './colorSchemeContext';\n\ninterface FaencyProviderProps {\n children?: React.ReactNode;\n}\n\nexport const FaencyProvider = ({ children }: FaencyProviderProps) => (\n <TooltipProvider>\n <ColorSchemeProvider>{children}</ColorSchemeProvider>\n </TooltipProvider>\n);\n"],"names":["TooltipProvider"],"mappings":";;;AASO,MAAM,iBAAiB,CAAC,EAAE,SAAA,0BAC9BA,UAAA,EACC,UAAA,oBAAC,qBAAA,EAAqB,SAAA,CAAS,EAAA,CACjC;"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  ;/* empty css */
4
4
  ;/* empty css */
5
5
  ;/* empty css */
6
- const createRuntimeFn62c9670f_esm = require("../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs");
7
- var flexRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "qtrdwq1 qtrdwq0", variantClassNames: { direction: { row: "qtrdwq2", column: "qtrdwq3", rowReverse: "qtrdwq4", columnReverse: "qtrdwq5" }, align: { start: "qtrdwq6", center: "qtrdwq7", end: "qtrdwq8", stretch: "qtrdwq9", baseline: "qtrdwqa" }, justify: { start: "qtrdwqb", center: "qtrdwqc", end: "qtrdwqd", "space-evenly": "qtrdwqe", "space-between": "qtrdwqf", "space-around": "qtrdwqg" }, wrap: { noWrap: "qtrdwqh", wrap: "qtrdwqi", wrapReverse: "qtrdwqj" }, gap: { "1": "qtrdwqk", "2": "qtrdwql", "3": "qtrdwqm", "4": "qtrdwqn", "5": "qtrdwqo", "6": "qtrdwqp", "7": "qtrdwqq", "8": "qtrdwqr", "9": "qtrdwqs" } }, defaultVariants: { direction: "row", align: "stretch", justify: "start", wrap: "noWrap" }, compoundVariants: [] });
6
+ const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
7
+ var flexRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "qtrdwq1 qtrdwq0", variantClassNames: { direction: { row: "qtrdwq2", column: "qtrdwq3", rowReverse: "qtrdwq4", columnReverse: "qtrdwq5" }, align: { start: "qtrdwq6", center: "qtrdwq7", end: "qtrdwq8", stretch: "qtrdwq9", baseline: "qtrdwqa" }, justify: { start: "qtrdwqb", center: "qtrdwqc", end: "qtrdwqd", "space-evenly": "qtrdwqe", "space-between": "qtrdwqf", "space-around": "qtrdwqg" }, wrap: { noWrap: "qtrdwqh", wrap: "qtrdwqi", wrapReverse: "qtrdwqj" }, gap: { "1": "qtrdwqk", "2": "qtrdwql", "3": "qtrdwqm", "4": "qtrdwqn", "5": "qtrdwqo", "6": "qtrdwqp", "7": "qtrdwqq", "8": "qtrdwqr", "9": "qtrdwqs" } }, defaultVariants: { direction: "row", align: "stretch", justify: "start", wrap: "noWrap" }, compoundVariants: [] });
8
8
  exports.flexRecipe = flexRecipe;
9
9
  //# sourceMappingURL=Flex.vanilla.css.cjs.map
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { c as createRuntimeFn } from "../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js";
4
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
5
5
  var flexRecipe = createRuntimeFn({ defaultClassName: "qtrdwq1 qtrdwq0", variantClassNames: { direction: { row: "qtrdwq2", column: "qtrdwq3", rowReverse: "qtrdwq4", columnReverse: "qtrdwq5" }, align: { start: "qtrdwq6", center: "qtrdwq7", end: "qtrdwq8", stretch: "qtrdwq9", baseline: "qtrdwqa" }, justify: { start: "qtrdwqb", center: "qtrdwqc", end: "qtrdwqd", "space-evenly": "qtrdwqe", "space-between": "qtrdwqf", "space-around": "qtrdwqg" }, wrap: { noWrap: "qtrdwqh", wrap: "qtrdwqi", wrapReverse: "qtrdwqj" }, gap: { "1": "qtrdwqk", "2": "qtrdwql", "3": "qtrdwqm", "4": "qtrdwqn", "5": "qtrdwqo", "6": "qtrdwqp", "7": "qtrdwqq", "8": "qtrdwqr", "9": "qtrdwqs" } }, defaultVariants: { direction: "row", align: "stretch", justify: "start", wrap: "noWrap" }, compoundVariants: [] });
6
6
  export {
7
7
  flexRecipe
@@ -3,7 +3,7 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  ;/* empty css */
4
4
  ;/* empty css */
5
5
  ;/* empty css */
6
- const createRuntimeFn62c9670f_esm = require("../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs");
7
- var gridRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "_1qwrd2o1 _1qwrd2o0", variantClassNames: { align: { start: "_1qwrd2o2", center: "_1qwrd2o3", end: "_1qwrd2o4", stretch: "_1qwrd2o5", baseline: "_1qwrd2o6" }, justify: { start: "_1qwrd2o7", center: "_1qwrd2o8", end: "_1qwrd2o9", between: "_1qwrd2oa" }, flow: { row: "_1qwrd2ob", column: "_1qwrd2oc", dense: "_1qwrd2od", rowDense: "_1qwrd2oe", columnDense: "_1qwrd2of" }, gap: { "1": "_1qwrd2og", "2": "_1qwrd2oh", "3": "_1qwrd2oi", "4": "_1qwrd2oj", "5": "_1qwrd2ok", "6": "_1qwrd2ol", "7": "_1qwrd2om", "8": "_1qwrd2on", "9": "_1qwrd2oo" }, gapX: { "1": "_1qwrd2op", "2": "_1qwrd2oq", "3": "_1qwrd2or", "4": "_1qwrd2os", "5": "_1qwrd2ot", "6": "_1qwrd2ou", "7": "_1qwrd2ov", "8": "_1qwrd2ow", "9": "_1qwrd2ox" }, gapY: { "1": "_1qwrd2oy", "2": "_1qwrd2oz", "3": "_1qwrd2o10", "4": "_1qwrd2o11", "5": "_1qwrd2o12", "6": "_1qwrd2o13", "7": "_1qwrd2o14", "8": "_1qwrd2o15", "9": "_1qwrd2o16" } }, defaultVariants: {}, compoundVariants: [] });
6
+ const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
7
+ var gridRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "_1qwrd2o1 _1qwrd2o0", variantClassNames: { align: { start: "_1qwrd2o2", center: "_1qwrd2o3", end: "_1qwrd2o4", stretch: "_1qwrd2o5", baseline: "_1qwrd2o6" }, justify: { start: "_1qwrd2o7", center: "_1qwrd2o8", end: "_1qwrd2o9", between: "_1qwrd2oa" }, flow: { row: "_1qwrd2ob", column: "_1qwrd2oc", dense: "_1qwrd2od", rowDense: "_1qwrd2oe", columnDense: "_1qwrd2of" }, gap: { "1": "_1qwrd2og", "2": "_1qwrd2oh", "3": "_1qwrd2oi", "4": "_1qwrd2oj", "5": "_1qwrd2ok", "6": "_1qwrd2ol", "7": "_1qwrd2om", "8": "_1qwrd2on", "9": "_1qwrd2oo" }, gapX: { "1": "_1qwrd2op", "2": "_1qwrd2oq", "3": "_1qwrd2or", "4": "_1qwrd2os", "5": "_1qwrd2ot", "6": "_1qwrd2ou", "7": "_1qwrd2ov", "8": "_1qwrd2ow", "9": "_1qwrd2ox" }, gapY: { "1": "_1qwrd2oy", "2": "_1qwrd2oz", "3": "_1qwrd2o10", "4": "_1qwrd2o11", "5": "_1qwrd2o12", "6": "_1qwrd2o13", "7": "_1qwrd2o14", "8": "_1qwrd2o15", "9": "_1qwrd2o16" } }, defaultVariants: {}, compoundVariants: [] });
8
8
  exports.gridRecipe = gridRecipe;
9
9
  //# sourceMappingURL=Grid.vanilla.css.cjs.map
@@ -1,7 +1,7 @@
1
1
  /* empty css */
2
2
  /* empty css */
3
3
  /* empty css */
4
- import { c as createRuntimeFn } from "../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js";
4
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
5
5
  var gridRecipe = createRuntimeFn({ defaultClassName: "_1qwrd2o1 _1qwrd2o0", variantClassNames: { align: { start: "_1qwrd2o2", center: "_1qwrd2o3", end: "_1qwrd2o4", stretch: "_1qwrd2o5", baseline: "_1qwrd2o6" }, justify: { start: "_1qwrd2o7", center: "_1qwrd2o8", end: "_1qwrd2o9", between: "_1qwrd2oa" }, flow: { row: "_1qwrd2ob", column: "_1qwrd2oc", dense: "_1qwrd2od", rowDense: "_1qwrd2oe", columnDense: "_1qwrd2of" }, gap: { "1": "_1qwrd2og", "2": "_1qwrd2oh", "3": "_1qwrd2oi", "4": "_1qwrd2oj", "5": "_1qwrd2ok", "6": "_1qwrd2ol", "7": "_1qwrd2om", "8": "_1qwrd2on", "9": "_1qwrd2oo" }, gapX: { "1": "_1qwrd2op", "2": "_1qwrd2oq", "3": "_1qwrd2or", "4": "_1qwrd2os", "5": "_1qwrd2ot", "6": "_1qwrd2ou", "7": "_1qwrd2ov", "8": "_1qwrd2ow", "9": "_1qwrd2ox" }, gapY: { "1": "_1qwrd2oy", "2": "_1qwrd2oz", "3": "_1qwrd2o10", "4": "_1qwrd2o11", "5": "_1qwrd2o12", "6": "_1qwrd2o13", "7": "_1qwrd2o14", "8": "_1qwrd2o15", "9": "_1qwrd2o16" } }, defaultVariants: {}, compoundVariants: [] });
6
6
  export {
7
7
  gridRecipe
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  ;/* empty css */
4
- const createRuntimeFn62c9670f_esm = require("../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs");
5
- var iconButtonRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "vdyzvy1 vdyzvy0", variantClassNames: { size: { "1": "vdyzvy2", "2": "vdyzvy3", "3": "vdyzvy4", "4": "vdyzvy5" }, variant: { "default": "vdyzvy6", contrast: "vdyzvy7", primary: "vdyzvy8", red: "vdyzvy9", green: "vdyzvya", orange: "vdyzvyb" } }, defaultVariants: { variant: "default", size: "2" }, compoundVariants: [] });
4
+ const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
5
+ var iconButtonRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "vdyzvy1 vdyzvy0", variantClassNames: { size: { "1": "vdyzvy2", "2": "vdyzvy3", "3": "vdyzvy4", "4": "vdyzvy5" }, variant: { "default": "vdyzvy6", contrast: "vdyzvy7", primary: "vdyzvy8", red: "vdyzvy9", green: "vdyzvya", orange: "vdyzvyb" } }, defaultVariants: { variant: "default", size: "2" }, compoundVariants: [] });
6
6
  exports.iconButtonRecipe = iconButtonRecipe;
7
7
  //# sourceMappingURL=IconButton.vanilla.css.cjs.map
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { c as createRuntimeFn } from "../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js";
2
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
3
3
  var iconButtonRecipe = createRuntimeFn({ defaultClassName: "vdyzvy1 vdyzvy0", variantClassNames: { size: { "1": "vdyzvy2", "2": "vdyzvy3", "3": "vdyzvy4", "4": "vdyzvy5" }, variant: { "default": "vdyzvy6", contrast: "vdyzvy7", primary: "vdyzvy8", red: "vdyzvy9", green: "vdyzvya", orange: "vdyzvyb" } }, defaultVariants: { variant: "default", size: "2" }, compoundVariants: [] });
4
4
  export {
5
5
  iconButtonRecipe
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  ;/* empty css */
4
- const createRuntimeFn62c9670f_esm = require("../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs");
5
- var styledInputRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "_1st6suv1 _1st6suv0", variantClassNames: { size: { small: "_1st6suv2", medium: "_1st6suv3", large: "_1st6suv4" }, variant: { ghost: "_1st6suv5" }, state: { invalid: "_1st6suv6" }, cursor: { "default": "_1st6suv7", text: "_1st6suv8" }, startAdornment: { true: "_1st6suv9" }, endAdornment: { true: "_1st6suva" } }, defaultVariants: { size: "medium", cursor: "default" }, compoundVariants: [[{ variant: "ghost", state: "invalid" }, "_1st6suvb"], [{ startAdornment: true, size: "small" }, "_1st6suvc"], [{ startAdornment: true, size: "medium" }, "_1st6suvd"], [{ startAdornment: true, size: "large" }, "_1st6suve"], [{ endAdornment: true, size: "small" }, "_1st6suvf"], [{ endAdornment: true, size: "medium" }, "_1st6suvg"], [{ endAdornment: true, size: "large" }, "_1st6suvh"], [{ endAdornment: true, size: "small", state: "invalid" }, "_1st6suvi"], [{ endAdornment: true, size: "medium", state: "invalid" }, "_1st6suvj"], [{ endAdornment: true, size: "large", state: "invalid" }, "_1st6suvk"]] });
6
- var inputWrapperRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "_1st6suvm _1st6suvl", variantClassNames: { disabled: { true: "_1st6suvn" }, state: { invalid: "_1st6suvo" }, size: { small: "_1st6suvp", medium: "_1st6suvq", large: "_1st6suvr" } }, defaultVariants: { size: "medium", disabled: false }, compoundVariants: [] });
7
- var adornmentWrapperRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "_1st6suvt _1st6suvs", variantClassNames: { size: { small: "_1st6suvu", medium: "_1st6suvv", large: "_1st6suvw" }, variant: { start: "_1st6suvx", end: "_1st6suvy" } }, defaultVariants: { size: "medium" }, compoundVariants: [] });
4
+ const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
5
+ var styledInputRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "_1st6suv1 _1st6suv0", variantClassNames: { size: { small: "_1st6suv2", medium: "_1st6suv3", large: "_1st6suv4" }, variant: { ghost: "_1st6suv5" }, state: { invalid: "_1st6suv6" }, cursor: { "default": "_1st6suv7", text: "_1st6suv8" }, startAdornment: { true: "_1st6suv9" }, endAdornment: { true: "_1st6suva" } }, defaultVariants: { size: "medium", cursor: "default" }, compoundVariants: [[{ variant: "ghost", state: "invalid" }, "_1st6suvb"], [{ startAdornment: true, size: "small" }, "_1st6suvc"], [{ startAdornment: true, size: "medium" }, "_1st6suvd"], [{ startAdornment: true, size: "large" }, "_1st6suve"], [{ endAdornment: true, size: "small" }, "_1st6suvf"], [{ endAdornment: true, size: "medium" }, "_1st6suvg"], [{ endAdornment: true, size: "large" }, "_1st6suvh"], [{ endAdornment: true, size: "small", state: "invalid" }, "_1st6suvi"], [{ endAdornment: true, size: "medium", state: "invalid" }, "_1st6suvj"], [{ endAdornment: true, size: "large", state: "invalid" }, "_1st6suvk"]] });
6
+ var inputWrapperRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "_1st6suvm _1st6suvl", variantClassNames: { disabled: { true: "_1st6suvn" }, state: { invalid: "_1st6suvo" }, size: { small: "_1st6suvp", medium: "_1st6suvq", large: "_1st6suvr" } }, defaultVariants: { size: "medium", disabled: false }, compoundVariants: [] });
7
+ var adornmentWrapperRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "_1st6suvt _1st6suvs", variantClassNames: { size: { small: "_1st6suvu", medium: "_1st6suvv", large: "_1st6suvw" }, variant: { start: "_1st6suvx", end: "_1st6suvy" } }, defaultVariants: { size: "medium" }, compoundVariants: [] });
8
8
  exports.adornmentWrapperRecipe = adornmentWrapperRecipe;
9
9
  exports.inputWrapperRecipe = inputWrapperRecipe;
10
10
  exports.styledInputRecipe = styledInputRecipe;
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { c as createRuntimeFn } from "../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js";
2
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
3
3
  var styledInputRecipe = createRuntimeFn({ defaultClassName: "_1st6suv1 _1st6suv0", variantClassNames: { size: { small: "_1st6suv2", medium: "_1st6suv3", large: "_1st6suv4" }, variant: { ghost: "_1st6suv5" }, state: { invalid: "_1st6suv6" }, cursor: { "default": "_1st6suv7", text: "_1st6suv8" }, startAdornment: { true: "_1st6suv9" }, endAdornment: { true: "_1st6suva" } }, defaultVariants: { size: "medium", cursor: "default" }, compoundVariants: [[{ variant: "ghost", state: "invalid" }, "_1st6suvb"], [{ startAdornment: true, size: "small" }, "_1st6suvc"], [{ startAdornment: true, size: "medium" }, "_1st6suvd"], [{ startAdornment: true, size: "large" }, "_1st6suve"], [{ endAdornment: true, size: "small" }, "_1st6suvf"], [{ endAdornment: true, size: "medium" }, "_1st6suvg"], [{ endAdornment: true, size: "large" }, "_1st6suvh"], [{ endAdornment: true, size: "small", state: "invalid" }, "_1st6suvi"], [{ endAdornment: true, size: "medium", state: "invalid" }, "_1st6suvj"], [{ endAdornment: true, size: "large", state: "invalid" }, "_1st6suvk"]] });
4
4
  var inputWrapperRecipe = createRuntimeFn({ defaultClassName: "_1st6suvm _1st6suvl", variantClassNames: { disabled: { true: "_1st6suvn" }, state: { invalid: "_1st6suvo" }, size: { small: "_1st6suvp", medium: "_1st6suvq", large: "_1st6suvr" } }, defaultVariants: { size: "medium", disabled: false }, compoundVariants: [] });
5
5
  var adornmentWrapperRecipe = createRuntimeFn({ defaultClassName: "_1st6suvt _1st6suvs", variantClassNames: { size: { small: "_1st6suvu", medium: "_1st6suvv", large: "_1st6suvw" }, variant: { start: "_1st6suvx", end: "_1st6suvy" } }, defaultVariants: { size: "medium" }, compoundVariants: [] });
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  ;/* empty css */
4
- const createRuntimeFn62c9670f_esm = require("../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.cjs");
5
- var labelRecipe = createRuntimeFn62c9670f_esm.c({ defaultClassName: "_14umx1r1 _14umx1r0", variantClassNames: { size: { "0": "_14umx1r2", "1": "_14umx1r3", "2": "_14umx1r4", "3": "_14umx1r5", "4": "_14umx1r6", "5": "_14umx1r7", "6": "_14umx1r8", "7": "_14umx1r9", "8": "_14umx1ra", "9": "_14umx1rb", "10": "_14umx1rc", "11": "_14umx1rd", "12": "_14umx1re", inherit: "_14umx1rf" }, weight: { light: "_14umx1rg", regular: "_14umx1rh", medium: "_14umx1ri", semiBold: "_14umx1rj", bold: "_14umx1rk" }, variant: { red: "_14umx1rl", subtle: "_14umx1rm", "default": "_14umx1rn", contrast: "_14umx1ro", inherit: "_14umx1rp", invalid: "_14umx1rq" }, gradient: { true: "_14umx1rr" }, transform: { uppercase: "_14umx1rs", capitalize: "_14umx1rt", capitalizeWords: "_14umx1ru" }, noWrap: { true: "_14umx1rv" } }, defaultVariants: { size: "0", variant: "subtle", transform: "capitalize" }, compoundVariants: [] });
4
+ const createRuntimeFn = require("@vanilla-extract/recipes/createRuntimeFn");
5
+ var labelRecipe = createRuntimeFn.createRuntimeFn({ defaultClassName: "_14umx1r1 _14umx1r0", variantClassNames: { size: { "0": "_14umx1r2", "1": "_14umx1r3", "2": "_14umx1r4", "3": "_14umx1r5", "4": "_14umx1r6", "5": "_14umx1r7", "6": "_14umx1r8", "7": "_14umx1r9", "8": "_14umx1ra", "9": "_14umx1rb", "10": "_14umx1rc", "11": "_14umx1rd", "12": "_14umx1re", inherit: "_14umx1rf" }, weight: { light: "_14umx1rg", regular: "_14umx1rh", medium: "_14umx1ri", semiBold: "_14umx1rj", bold: "_14umx1rk" }, variant: { red: "_14umx1rl", subtle: "_14umx1rm", "default": "_14umx1rn", contrast: "_14umx1ro", inherit: "_14umx1rp", invalid: "_14umx1rq" }, gradient: { true: "_14umx1rr" }, transform: { uppercase: "_14umx1rs", capitalize: "_14umx1rt", capitalizeWords: "_14umx1ru" }, noWrap: { true: "_14umx1rv" } }, defaultVariants: { size: "0", variant: "subtle", transform: "capitalize" }, compoundVariants: [] });
6
6
  exports.labelRecipe = labelRecipe;
7
7
  //# sourceMappingURL=Label.vanilla.css.cjs.map
@@ -1,5 +1,5 @@
1
1
  /* empty css */
2
- import { c as createRuntimeFn } from "../../node_modules/@vanilla-extract/recipes/dist/createRuntimeFn-62c9670f.esm.js";
2
+ import { createRuntimeFn } from "@vanilla-extract/recipes/createRuntimeFn";
3
3
  var labelRecipe = createRuntimeFn({ defaultClassName: "_14umx1r1 _14umx1r0", variantClassNames: { size: { "0": "_14umx1r2", "1": "_14umx1r3", "2": "_14umx1r4", "3": "_14umx1r5", "4": "_14umx1r6", "5": "_14umx1r7", "6": "_14umx1r8", "7": "_14umx1r9", "8": "_14umx1ra", "9": "_14umx1rb", "10": "_14umx1rc", "11": "_14umx1rd", "12": "_14umx1re", inherit: "_14umx1rf" }, weight: { light: "_14umx1rg", regular: "_14umx1rh", medium: "_14umx1ri", semiBold: "_14umx1rj", bold: "_14umx1rk" }, variant: { red: "_14umx1rl", subtle: "_14umx1rm", "default": "_14umx1rn", contrast: "_14umx1ro", inherit: "_14umx1rp", invalid: "_14umx1rq" }, gradient: { true: "_14umx1rr" }, transform: { uppercase: "_14umx1rs", capitalize: "_14umx1rt", capitalizeWords: "_14umx1ru" }, noWrap: { true: "_14umx1rv" } }, defaultVariants: { size: "0", variant: "subtle", transform: "capitalize" }, compoundVariants: [] });
4
4
  export {
5
5
  labelRecipe
@@ -27,7 +27,9 @@ const StyledListItemButton = stitches_config.styled("button", Flex.Flex, {
27
27
  outline: "none",
28
28
  // CUSTOM
29
29
  flexGrow: 1,
30
+ width: "100%",
30
31
  p: "$2",
32
+ position: "relative",
31
33
  "&::before": {
32
34
  borderRadius: "inherit",
33
35
  boxSizing: "border-box",
@@ -85,17 +87,24 @@ const StyledUl = stitches_config.styled("ul", {
85
87
  m: "0 0 0 8px",
86
88
  p: 0,
87
89
  color: "$textDefault",
88
- '&:has(li > span > input[type="checkbox"])': {
90
+ '&:has(> li > span > input[type="checkbox"])': {
89
91
  m: 0,
90
92
  listStyle: "none",
91
- li: {
93
+ "> li": {
92
94
  marginLeft: 0,
93
- span: {
95
+ "> span": {
94
96
  input: {
95
97
  margin: "0 3px 0 0"
96
98
  }
97
99
  }
98
100
  }
101
+ },
102
+ // Restore left-margin indentation when a nested checkbox list is inside a li
103
+ 'li > &:has(> li > span > input[type="checkbox"])': {
104
+ marginLeft: "$2",
105
+ "> li": {
106
+ marginLeft: "$2"
107
+ }
99
108
  }
100
109
  });
101
110
  const StyledOl = stitches_config.styled("ol", {
@@ -112,13 +121,25 @@ const ListContext = React.createContext({
112
121
  });
113
122
  const Ul = React.forwardRef(
114
123
  ({ interactive, ...props }, forwardedRef) => {
115
- const contextValue = React.useMemo(() => ({ interactive: !!interactive }), [interactive]);
124
+ const parentContext = React.useContext(ListContext);
125
+ const contextValue = React.useMemo(
126
+ () => ({
127
+ interactive: interactive !== void 0 ? !!interactive : parentContext.interactive
128
+ }),
129
+ [interactive, parentContext.interactive]
130
+ );
116
131
  return /* @__PURE__ */ jsxRuntime.jsx(ListContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(StyledUl, { role: "list", ref: forwardedRef, ...props }) });
117
132
  }
118
133
  );
119
134
  const Ol = React.forwardRef(
120
135
  ({ interactive, ...props }, forwardedRef) => {
121
- const contextValue = React.useMemo(() => ({ interactive: !!interactive }), [interactive]);
136
+ const parentContext = React.useContext(ListContext);
137
+ const contextValue = React.useMemo(
138
+ () => ({
139
+ interactive: interactive !== void 0 ? !!interactive : parentContext.interactive
140
+ }),
141
+ [interactive, parentContext.interactive]
142
+ );
122
143
  return /* @__PURE__ */ jsxRuntime.jsx(ListContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(StyledOl, { role: "list", ref: forwardedRef, ...props }) });
123
144
  }
124
145
  );
@@ -136,6 +157,13 @@ const ControlsWrapper = stitches_config.styled("div", {
136
157
  const Li = React.forwardRef(
137
158
  ({ children, controls, align, justify, direction, gap, wrap, ...props }, forwardedRef) => {
138
159
  const { interactive } = React.useContext(ListContext);
160
+ const childArray = React.Children.toArray(children);
161
+ const nestedLists = childArray.filter(
162
+ (child) => React.isValidElement(child) && (child.type === Ul || child.type === Ol)
163
+ );
164
+ const inlineChildren = childArray.filter(
165
+ (child) => !(React.isValidElement(child) && (child.type === Ul || child.type === Ol))
166
+ );
139
167
  return /* @__PURE__ */ jsxRuntime.jsxs(StyledLi, { ...props, ref: forwardedRef, children: [
140
168
  interactive ? /* @__PURE__ */ jsxRuntime.jsx(
141
169
  StyledListItemButton,
@@ -145,7 +173,7 @@ const Li = React.forwardRef(
145
173
  direction,
146
174
  gap,
147
175
  wrap,
148
- children
176
+ children: inlineChildren
149
177
  }
150
178
  ) : /* @__PURE__ */ jsxRuntime.jsx(
151
179
  StyledSpan,
@@ -156,9 +184,10 @@ const Li = React.forwardRef(
156
184
  gap,
157
185
  wrap,
158
186
  css: { flexGrow: 1 },
159
- children
187
+ children: inlineChildren
160
188
  }
161
189
  ),
190
+ nestedLists,
162
191
  !!controls && /* @__PURE__ */ jsxRuntime.jsx(ControlsWrapper, { children: controls })
163
192
  ] });
164
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"List.cjs","sources":["../../../components/List/List.tsx"],"sourcesContent":["import React, { ComponentProps, createContext, ReactNode, useContext, useMemo } from 'react';\n\nimport { styled, VariantProps } from '../../stitches.config';\nimport { BUTTON_BASE_STYLES } from '../Button';\nimport { elevationVariants } from '../Elevation';\nimport { Flex } from '../Flex';\n\nconst LIST_ITEM_CONTENT_STYLES = {\n bc: 'transparent',\n c: 'inherit',\n borderRadius: 'inherit',\n fontFamily: '$rubik',\n fontSize: '$3',\n fontVariantNumeric: 'tabular-nums',\n};\n\nconst StyledSpan = styled('span', Flex, {\n // APPLY BUTTON STYLES\n ...LIST_ITEM_CONTENT_STYLES,\n // CUSTOM\n p: '$1',\n gap: '$1',\n});\n\nconst StyledListItemButton = styled('button', Flex, {\n ...BUTTON_BASE_STYLES,\n ...LIST_ITEM_CONTENT_STYLES,\n outline: 'none',\n\n // CUSTOM\n flexGrow: 1,\n p: '$2',\n '&::before': {\n borderRadius: 'inherit',\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n },\n '&::after': {\n borderRadius: 'inherit',\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n },\n '&:focus, &:focus-visible': {\n boxShadow: 'inset 0 0 0 2px $colors$listItemFocusBorder',\n },\n\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n '&::before': {\n backgroundColor: '$listItemHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n '&:active': {\n '&::before': {\n backgroundColor: '$listItemActiveBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n});\n\nconst StyledLi = styled('li', {\n m: '$2',\n outline: 'none',\n position: 'relative',\n '&:focus-within': {\n boxShadow: 'none',\n },\n variants: {\n elevation: elevationVariants,\n },\n defaultVariants: {\n elevation: '0',\n },\n});\n\nconst StyledUl = styled('ul', {\n m: '0 0 0 8px',\n p: 0,\n color: '$textDefault',\n\n '&:has(li > span > input[type=\"checkbox\"])': {\n m: 0,\n listStyle: 'none',\n li: {\n marginLeft: 0,\n span: {\n input: {\n margin: '0 3px 0 0',\n },\n },\n },\n },\n});\n\nconst StyledOl = styled('ol', {\n m: '0 0 0 8px',\n p: 0,\n color: '$textDefault',\n\n '> li::marker': {\n fontSize: '$3',\n fontFamily: '$rubik',\n },\n});\n\nconst ListContext = createContext({\n interactive: false,\n});\n\nexport interface ListProps extends ComponentProps<typeof StyledUl>, VariantProps<typeof StyledUl> {\n interactive?: boolean;\n}\nexport const Ul = React.forwardRef<React.ElementRef<typeof StyledUl>, ListProps>(\n ({ interactive, ...props }, forwardedRef) => {\n const contextValue = useMemo(() => ({ interactive: !!interactive }), [interactive]);\n\n return (\n <ListContext.Provider value={contextValue}>\n <StyledUl role=\"list\" ref={forwardedRef} {...props} />\n </ListContext.Provider>\n );\n },\n);\n\nexport interface OrderedListProps\n extends ComponentProps<typeof StyledOl>,\n VariantProps<typeof StyledOl> {\n interactive?: boolean;\n}\n\nexport const Ol = React.forwardRef<React.ElementRef<typeof StyledOl>, OrderedListProps>(\n ({ interactive, ...props }, forwardedRef) => {\n const contextValue = useMemo(() => ({ interactive: !!interactive }), [interactive]);\n\n return (\n <ListContext.Provider value={contextValue}>\n <StyledOl role=\"list\" ref={forwardedRef} {...props} />\n </ListContext.Provider>\n );\n },\n);\n\nconst ControlsWrapper = styled('div', {\n position: 'absolute',\n top: 0,\n right: '$2',\n zIndex: 1,\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'visible',\n});\n\nexport interface ListItemProps\n extends ComponentProps<typeof StyledLi>,\n VariantProps<typeof StyledLi>,\n VariantProps<typeof Flex> {\n controls?: ReactNode;\n}\nexport const Li = React.forwardRef<React.ElementRef<typeof StyledLi>, ListItemProps>(\n ({ children, controls, align, justify, direction, gap, wrap, ...props }, forwardedRef) => {\n const { interactive } = useContext(ListContext);\n return (\n <StyledLi {...props} ref={forwardedRef}>\n {interactive ? (\n <StyledListItemButton\n align={align}\n justify={justify}\n direction={direction}\n gap={gap}\n wrap={wrap}\n >\n {children}\n </StyledListItemButton>\n ) : (\n <StyledSpan\n align={align || 'center'}\n justify={justify}\n direction={direction}\n gap={gap}\n wrap={wrap}\n css={{ flexGrow: 1 }}\n >\n {children}\n </StyledSpan>\n )}\n {!!controls && <ControlsWrapper>{controls}</ControlsWrapper>}\n </StyledLi>\n );\n },\n);\n"],"names":["styled","Flex","BUTTON_BASE_STYLES","elevationVariants","createContext","useMemo","jsx","useContext","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"List.cjs","sources":["../../../components/List/List.tsx"],"sourcesContent":["import React, { ComponentProps, createContext, ReactNode, useContext, useMemo } from 'react';\n\nimport { styled, VariantProps } from '../../stitches.config';\nimport { BUTTON_BASE_STYLES } from '../Button';\nimport { elevationVariants } from '../Elevation';\nimport { Flex } from '../Flex';\n\nconst LIST_ITEM_CONTENT_STYLES = {\n bc: 'transparent',\n c: 'inherit',\n borderRadius: 'inherit',\n fontFamily: '$rubik',\n fontSize: '$3',\n fontVariantNumeric: 'tabular-nums',\n};\n\nconst StyledSpan = styled('span', Flex, {\n // APPLY BUTTON STYLES\n ...LIST_ITEM_CONTENT_STYLES,\n // CUSTOM\n p: '$1',\n gap: '$1',\n});\n\nconst StyledListItemButton = styled('button', Flex, {\n ...BUTTON_BASE_STYLES,\n ...LIST_ITEM_CONTENT_STYLES,\n outline: 'none',\n\n // CUSTOM\n flexGrow: 1,\n width: '100%',\n p: '$2',\n position: 'relative',\n '&::before': {\n borderRadius: 'inherit',\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n },\n '&::after': {\n borderRadius: 'inherit',\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n },\n '&:focus, &:focus-visible': {\n boxShadow: 'inset 0 0 0 2px $colors$listItemFocusBorder',\n },\n\n '@hover': {\n '&:hover': {\n cursor: 'pointer',\n '&::before': {\n backgroundColor: '$listItemHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n '&:active': {\n '&::before': {\n backgroundColor: '$listItemActiveBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n});\n\nconst StyledLi = styled('li', {\n m: '$2',\n outline: 'none',\n position: 'relative',\n '&:focus-within': {\n boxShadow: 'none',\n },\n variants: {\n elevation: elevationVariants,\n },\n defaultVariants: {\n elevation: '0',\n },\n});\n\nconst StyledUl = styled('ul', {\n m: '0 0 0 8px',\n p: 0,\n color: '$textDefault',\n\n '&:has(> li > span > input[type=\"checkbox\"])': {\n m: 0,\n listStyle: 'none',\n '> li': {\n marginLeft: 0,\n '> span': {\n input: {\n margin: '0 3px 0 0',\n },\n },\n },\n },\n // Restore left-margin indentation when a nested checkbox list is inside a li\n 'li > &:has(> li > span > input[type=\"checkbox\"])': {\n marginLeft: '$2',\n '> li': {\n marginLeft: '$2',\n },\n },\n});\n\nconst StyledOl = styled('ol', {\n m: '0 0 0 8px',\n p: 0,\n color: '$textDefault',\n\n '> li::marker': {\n fontSize: '$3',\n fontFamily: '$rubik',\n },\n});\n\nconst ListContext = createContext({\n interactive: false,\n});\n\nexport interface ListProps extends ComponentProps<typeof StyledUl>, VariantProps<typeof StyledUl> {\n interactive?: boolean;\n}\nexport const Ul = React.forwardRef<React.ElementRef<typeof StyledUl>, ListProps>(\n ({ interactive, ...props }, forwardedRef) => {\n const parentContext = useContext(ListContext);\n const contextValue = useMemo(\n () => ({\n interactive: interactive !== undefined ? !!interactive : parentContext.interactive,\n }),\n [interactive, parentContext.interactive],\n );\n\n return (\n <ListContext.Provider value={contextValue}>\n <StyledUl role=\"list\" ref={forwardedRef} {...props} />\n </ListContext.Provider>\n );\n },\n);\n\nexport interface OrderedListProps\n extends ComponentProps<typeof StyledOl>,\n VariantProps<typeof StyledOl> {\n interactive?: boolean;\n}\n\nexport const Ol = React.forwardRef<React.ElementRef<typeof StyledOl>, OrderedListProps>(\n ({ interactive, ...props }, forwardedRef) => {\n const parentContext = useContext(ListContext);\n const contextValue = useMemo(\n () => ({\n interactive: interactive !== undefined ? !!interactive : parentContext.interactive,\n }),\n [interactive, parentContext.interactive],\n );\n\n return (\n <ListContext.Provider value={contextValue}>\n <StyledOl role=\"list\" ref={forwardedRef} {...props} />\n </ListContext.Provider>\n );\n },\n);\n\nconst ControlsWrapper = styled('div', {\n position: 'absolute',\n top: 0,\n right: '$2',\n zIndex: 1,\n height: '100%',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'visible',\n});\n\nexport interface ListItemProps\n extends ComponentProps<typeof StyledLi>,\n VariantProps<typeof StyledLi>,\n VariantProps<typeof Flex> {\n controls?: ReactNode;\n}\nexport const Li = React.forwardRef<React.ElementRef<typeof StyledLi>, ListItemProps>(\n ({ children, controls, align, justify, direction, gap, wrap, ...props }, forwardedRef) => {\n const { interactive } = useContext(ListContext);\n\n const childArray = React.Children.toArray(children);\n const nestedLists = childArray.filter(\n (child) => React.isValidElement(child) && (child.type === Ul || child.type === Ol),\n );\n const inlineChildren = childArray.filter(\n (child) => !(React.isValidElement(child) && (child.type === Ul || child.type === Ol)),\n );\n\n return (\n <StyledLi {...props} ref={forwardedRef}>\n {interactive ? (\n <StyledListItemButton\n align={align}\n justify={justify}\n direction={direction}\n gap={gap}\n wrap={wrap}\n >\n {inlineChildren}\n </StyledListItemButton>\n ) : (\n <StyledSpan\n align={align || 'center'}\n justify={justify}\n direction={direction}\n gap={gap}\n wrap={wrap}\n css={{ flexGrow: 1 }}\n >\n {inlineChildren}\n </StyledSpan>\n )}\n {nestedLists}\n {!!controls && <ControlsWrapper>{controls}</ControlsWrapper>}\n </StyledLi>\n );\n },\n);\n"],"names":["styled","Flex","BUTTON_BASE_STYLES","elevationVariants","createContext","useContext","useMemo","jsx","jsxs"],"mappings":"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"}