@traefik-labs/faency 12.3.4 → 12.3.5

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 (237) hide show
  1. package/dist/colors/deepBlue.cjs.map +1 -1
  2. package/dist/colors/deepBlue.js.map +1 -1
  3. package/dist/colors/elevation.cjs.map +1 -1
  4. package/dist/colors/elevation.js.map +1 -1
  5. package/dist/colors/grayBlue.cjs.map +1 -1
  6. package/dist/colors/grayBlue.js.map +1 -1
  7. package/dist/colors/index.cjs.map +1 -1
  8. package/dist/colors/index.js.map +1 -1
  9. package/dist/colors/neon.cjs.map +1 -1
  10. package/dist/colors/neon.js.map +1 -1
  11. package/dist/colors/orange.cjs.map +1 -1
  12. package/dist/colors/orange.js.map +1 -1
  13. package/dist/colors/red.cjs.map +1 -1
  14. package/dist/colors/red.js.map +1 -1
  15. package/dist/components/Accordion/Accordion.cjs.map +1 -1
  16. package/dist/components/Accordion/Accordion.js.map +1 -1
  17. package/dist/components/Accordion/Accordion.themes.cjs.map +1 -1
  18. package/dist/components/Accordion/Accordion.themes.js.map +1 -1
  19. package/dist/components/Alert/Alert.cjs.map +1 -1
  20. package/dist/components/Alert/Alert.js.map +1 -1
  21. package/dist/components/AriaTable/AriaTable.cjs.map +1 -1
  22. package/dist/components/AriaTable/AriaTable.js.map +1 -1
  23. package/dist/components/Avatar/Avatar.cjs.map +1 -1
  24. package/dist/components/Avatar/Avatar.js.map +1 -1
  25. package/dist/components/Avatar/Avatar.vanilla.cjs.map +1 -1
  26. package/dist/components/Avatar/Avatar.vanilla.js.map +1 -1
  27. package/dist/components/Badge/Badge.cjs.map +1 -1
  28. package/dist/components/Badge/Badge.js.map +1 -1
  29. package/dist/components/Badge/Badge.theme.cjs.map +1 -1
  30. package/dist/components/Badge/Badge.theme.js.map +1 -1
  31. package/dist/components/Badge/Badge.themes.cjs.map +1 -1
  32. package/dist/components/Badge/Badge.themes.js.map +1 -1
  33. package/dist/components/Badge/Badge.vanilla.cjs.map +1 -1
  34. package/dist/components/Badge/Badge.vanilla.js.map +1 -1
  35. package/dist/components/Blockquote/Blockquote.cjs.map +1 -1
  36. package/dist/components/Blockquote/Blockquote.js.map +1 -1
  37. package/dist/components/Blockquote/Blockquote.vanilla.cjs.map +1 -1
  38. package/dist/components/Blockquote/Blockquote.vanilla.css.cjs +1 -0
  39. package/dist/components/Blockquote/Blockquote.vanilla.css.js +1 -0
  40. package/dist/components/Blockquote/Blockquote.vanilla.js.map +1 -1
  41. package/dist/components/Box/Box.cjs.map +1 -1
  42. package/dist/components/Box/Box.js.map +1 -1
  43. package/dist/components/Box/Box.vanilla.cjs.map +1 -1
  44. package/dist/components/Box/Box.vanilla.js.map +1 -1
  45. package/dist/components/Bubble/Bubble.cjs.map +1 -1
  46. package/dist/components/Bubble/Bubble.js.map +1 -1
  47. package/dist/components/Bubble/Bubble.vanilla.cjs.map +1 -1
  48. package/dist/components/Bubble/Bubble.vanilla.js.map +1 -1
  49. package/dist/components/Button/Button.cjs.map +1 -1
  50. package/dist/components/Button/Button.js.map +1 -1
  51. package/dist/components/Button/Button.themes.cjs.map +1 -1
  52. package/dist/components/Button/Button.themes.js.map +1 -1
  53. package/dist/components/Button/Button.vanilla.cjs.map +1 -1
  54. package/dist/components/Button/Button.vanilla.js.map +1 -1
  55. package/dist/components/ButtonSwitch/ButtonSwitch.cjs.map +1 -1
  56. package/dist/components/ButtonSwitch/ButtonSwitch.js.map +1 -1
  57. package/dist/components/ButtonSwitch/ButtonSwitch.themes.cjs.map +1 -1
  58. package/dist/components/ButtonSwitch/ButtonSwitch.themes.js.map +1 -1
  59. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.cjs.map +1 -1
  60. package/dist/components/ButtonSwitch/ButtonSwitch.vanilla.js.map +1 -1
  61. package/dist/components/Card/Card.cjs.map +1 -1
  62. package/dist/components/Card/Card.js.map +1 -1
  63. package/dist/components/Card/Card.theme.cjs.map +1 -1
  64. package/dist/components/Card/Card.theme.js.map +1 -1
  65. package/dist/components/Card/Card.themes.cjs.map +1 -1
  66. package/dist/components/Card/Card.themes.js.map +1 -1
  67. package/dist/components/Card/Card.vanilla.cjs.map +1 -1
  68. package/dist/components/Card/Card.vanilla.css.cjs +1 -0
  69. package/dist/components/Card/Card.vanilla.css.js +1 -0
  70. package/dist/components/Card/Card.vanilla.js.map +1 -1
  71. package/dist/components/Checkbox/Checkbox.cjs.map +1 -1
  72. package/dist/components/Checkbox/Checkbox.js.map +1 -1
  73. package/dist/components/Checkbox/Checkbox.themes.cjs.map +1 -1
  74. package/dist/components/Checkbox/Checkbox.themes.js.map +1 -1
  75. package/dist/components/CodeBlock/CodeBlock.cjs.map +1 -1
  76. package/dist/components/CodeBlock/CodeBlock.js.map +1 -1
  77. package/dist/components/CodeBlock/CodeBlock.themes.cjs.map +1 -1
  78. package/dist/components/CodeBlock/CodeBlock.themes.js.map +1 -1
  79. package/dist/components/CodeBlock/CodeBlock.vanilla.cjs.map +1 -1
  80. package/dist/components/CodeBlock/CodeBlock.vanilla.js.map +1 -1
  81. package/dist/components/CodeBlock/prism-extend.cjs.map +1 -1
  82. package/dist/components/CodeBlock/prism-extend.js.map +1 -1
  83. package/dist/components/Container/Container.cjs.map +1 -1
  84. package/dist/components/Container/Container.js.map +1 -1
  85. package/dist/components/Container/Container.vanilla.cjs.map +1 -1
  86. package/dist/components/Container/Container.vanilla.js.map +1 -1
  87. package/dist/components/DateTimePicker/DateTimePicker.cjs.map +1 -1
  88. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  89. package/dist/components/DateTimePickerInput/DateTimePickerInput.cjs.map +1 -1
  90. package/dist/components/DateTimePickerInput/DateTimePickerInput.js.map +1 -1
  91. package/dist/components/Dialog/Dialog.cjs.map +1 -1
  92. package/dist/components/Dialog/Dialog.js.map +1 -1
  93. package/dist/components/Dialog/Dialog.themes.cjs.map +1 -1
  94. package/dist/components/Dialog/Dialog.themes.js.map +1 -1
  95. package/dist/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
  96. package/dist/components/DropdownMenu/DropdownMenu.js.map +1 -1
  97. package/dist/components/DropdownMenu/styles.cjs.map +1 -1
  98. package/dist/components/DropdownMenu/styles.js.map +1 -1
  99. package/dist/components/Elevation/Elevation.cjs.map +1 -1
  100. package/dist/components/Elevation/Elevation.js.map +1 -1
  101. package/dist/components/Elevation/Elevation.vanilla.cjs.map +1 -1
  102. package/dist/components/Elevation/Elevation.vanilla.js.map +1 -1
  103. package/dist/components/FaencyProvider.cjs.map +1 -1
  104. package/dist/components/FaencyProvider.js.map +1 -1
  105. package/dist/components/Flex/Flex.cjs.map +1 -1
  106. package/dist/components/Flex/Flex.js.map +1 -1
  107. package/dist/components/Flex/Flex.vanilla.cjs.map +1 -1
  108. package/dist/components/Flex/Flex.vanilla.js.map +1 -1
  109. package/dist/components/Grid/Grid.cjs.map +1 -1
  110. package/dist/components/Grid/Grid.js.map +1 -1
  111. package/dist/components/Grid/Grid.vanilla.cjs.map +1 -1
  112. package/dist/components/Grid/Grid.vanilla.js.map +1 -1
  113. package/dist/components/Heading/Heading.cjs.map +1 -1
  114. package/dist/components/Heading/Heading.js.map +1 -1
  115. package/dist/components/Heading/Heading.themes.cjs.map +1 -1
  116. package/dist/components/Heading/Heading.themes.js.map +1 -1
  117. package/dist/components/IconButton/IconButton.cjs.map +1 -1
  118. package/dist/components/IconButton/IconButton.js.map +1 -1
  119. package/dist/components/IconButton/IconButton.themes.cjs.map +1 -1
  120. package/dist/components/IconButton/IconButton.themes.js.map +1 -1
  121. package/dist/components/IconButton/IconButton.vanilla.cjs.map +1 -1
  122. package/dist/components/IconButton/IconButton.vanilla.js.map +1 -1
  123. package/dist/components/Image/Image.cjs.map +1 -1
  124. package/dist/components/Image/Image.js.map +1 -1
  125. package/dist/components/Image/Image.vanilla.cjs.map +1 -1
  126. package/dist/components/Image/Image.vanilla.js.map +1 -1
  127. package/dist/components/Input/Input.cjs.map +1 -1
  128. package/dist/components/Input/Input.js.map +1 -1
  129. package/dist/components/Input/Input.theme.cjs.map +1 -1
  130. package/dist/components/Input/Input.theme.js.map +1 -1
  131. package/dist/components/Input/Input.themes.cjs.map +1 -1
  132. package/dist/components/Input/Input.themes.js.map +1 -1
  133. package/dist/components/Input/Input.vanilla.cjs.map +1 -1
  134. package/dist/components/Input/Input.vanilla.css.cjs +0 -1
  135. package/dist/components/Input/Input.vanilla.css.js +0 -1
  136. package/dist/components/Input/Input.vanilla.js.map +1 -1
  137. package/dist/components/Label/Label.cjs.map +1 -1
  138. package/dist/components/Label/Label.js.map +1 -1
  139. package/dist/components/Label/Label.vanilla.cjs.map +1 -1
  140. package/dist/components/Label/Label.vanilla.js.map +1 -1
  141. package/dist/components/Link/Link.cjs.map +1 -1
  142. package/dist/components/Link/Link.js.map +1 -1
  143. package/dist/components/Link/Link.themes.cjs.map +1 -1
  144. package/dist/components/Link/Link.themes.js.map +1 -1
  145. package/dist/components/List/List.cjs.map +1 -1
  146. package/dist/components/List/List.js.map +1 -1
  147. package/dist/components/List/List.themes.cjs.map +1 -1
  148. package/dist/components/List/List.themes.js.map +1 -1
  149. package/dist/components/Navigation/Navigation.cjs.map +1 -1
  150. package/dist/components/Navigation/Navigation.js.map +1 -1
  151. package/dist/components/Navigation/Navigation.themes.cjs.map +1 -1
  152. package/dist/components/Navigation/Navigation.themes.js.map +1 -1
  153. package/dist/components/NavigationMenu/NavigationMenu.cjs.map +1 -1
  154. package/dist/components/NavigationMenu/NavigationMenu.js.map +1 -1
  155. package/dist/components/NavigationTree/NavigationTreeContainer.cjs.map +1 -1
  156. package/dist/components/NavigationTree/NavigationTreeContainer.js.map +1 -1
  157. package/dist/components/NavigationTree/NavigationTreeDrawer.cjs.map +1 -1
  158. package/dist/components/NavigationTree/NavigationTreeDrawer.js.map +1 -1
  159. package/dist/components/NavigationTree/NavigationTreeItem.cjs.map +1 -1
  160. package/dist/components/NavigationTree/NavigationTreeItem.js.map +1 -1
  161. package/dist/components/Overlay.cjs.map +1 -1
  162. package/dist/components/Overlay.js.map +1 -1
  163. package/dist/components/Panel/Panel.cjs.map +1 -1
  164. package/dist/components/Panel/Panel.js.map +1 -1
  165. package/dist/components/Panel/Panel.theme.cjs.map +1 -1
  166. package/dist/components/Panel/Panel.theme.js.map +1 -1
  167. package/dist/components/Panel/Panel.vanilla.cjs.map +1 -1
  168. package/dist/components/Panel/Panel.vanilla.js.map +1 -1
  169. package/dist/components/Paragraph/Paragraph.cjs.map +1 -1
  170. package/dist/components/Paragraph/Paragraph.js.map +1 -1
  171. package/dist/components/Paragraph/Paragraph.vanilla.cjs.map +1 -1
  172. package/dist/components/Paragraph/Paragraph.vanilla.js.map +1 -1
  173. package/dist/components/Popover/Popover.cjs.map +1 -1
  174. package/dist/components/Popover/Popover.js.map +1 -1
  175. package/dist/components/Radio/Radio.cjs.map +1 -1
  176. package/dist/components/Radio/Radio.js.map +1 -1
  177. package/dist/components/Radio/Radio.themes.cjs.map +1 -1
  178. package/dist/components/Radio/Radio.themes.js.map +1 -1
  179. package/dist/components/RadioAccordion/RadioAccordion.cjs.map +1 -1
  180. package/dist/components/RadioAccordion/RadioAccordion.js.map +1 -1
  181. package/dist/components/Select/Select.cjs.map +1 -1
  182. package/dist/components/Select/Select.js.map +1 -1
  183. package/dist/components/Select/Select.themes.cjs.map +1 -1
  184. package/dist/components/Select/Select.themes.js.map +1 -1
  185. package/dist/components/SidePanel/SidePanel.cjs.map +1 -1
  186. package/dist/components/SidePanel/SidePanel.js.map +1 -1
  187. package/dist/components/SidePanel/SidePanel.themes.cjs.map +1 -1
  188. package/dist/components/SidePanel/SidePanel.themes.js.map +1 -1
  189. package/dist/components/Skeleton/Skeleton.cjs.map +1 -1
  190. package/dist/components/Skeleton/Skeleton.js.map +1 -1
  191. package/dist/components/Skeleton/Skeleton.themes.cjs.map +1 -1
  192. package/dist/components/Skeleton/Skeleton.themes.js.map +1 -1
  193. package/dist/components/Skeleton/Skeleton.vanilla.cjs.map +1 -1
  194. package/dist/components/Skeleton/Skeleton.vanilla.js.map +1 -1
  195. package/dist/components/Switch/Switch.cjs.map +1 -1
  196. package/dist/components/Switch/Switch.js.map +1 -1
  197. package/dist/components/Switch/Switch.themes.cjs.map +1 -1
  198. package/dist/components/Switch/Switch.themes.js.map +1 -1
  199. package/dist/components/Table/Table.cjs.map +1 -1
  200. package/dist/components/Table/Table.js.map +1 -1
  201. package/dist/components/Table/Table.themes.cjs.map +1 -1
  202. package/dist/components/Table/Table.themes.js.map +1 -1
  203. package/dist/components/Tabs/Tabs.cjs.map +1 -1
  204. package/dist/components/Tabs/Tabs.js.map +1 -1
  205. package/dist/components/Text/Text.cjs.map +1 -1
  206. package/dist/components/Text/Text.js.map +1 -1
  207. package/dist/components/Text/Text.themes.cjs.map +1 -1
  208. package/dist/components/Text/Text.themes.js.map +1 -1
  209. package/dist/components/TextField/TextField.cjs.map +1 -1
  210. package/dist/components/TextField/TextField.js.map +1 -1
  211. package/dist/components/TextField/TextField.vanilla.cjs.map +1 -1
  212. package/dist/components/TextField/TextField.vanilla.js.map +1 -1
  213. package/dist/components/Textarea/Textarea.cjs.map +1 -1
  214. package/dist/components/Textarea/Textarea.js.map +1 -1
  215. package/dist/components/Textarea/Textarea.theme.cjs.map +1 -1
  216. package/dist/components/Textarea/Textarea.theme.js.map +1 -1
  217. package/dist/components/Textarea/Textarea.themes.cjs.map +1 -1
  218. package/dist/components/Textarea/Textarea.themes.js.map +1 -1
  219. package/dist/components/Textarea/Textarea.vanilla.cjs.map +1 -1
  220. package/dist/components/Textarea/Textarea.vanilla.js.map +1 -1
  221. package/dist/components/Tooltip/Tooltip.cjs.map +1 -1
  222. package/dist/components/Tooltip/Tooltip.js.map +1 -1
  223. package/dist/components/Tooltip/Tooltip.themes.cjs.map +1 -1
  224. package/dist/components/Tooltip/Tooltip.themes.js.map +1 -1
  225. package/dist/components/colorSchemeContext.cjs.map +1 -1
  226. package/dist/components/colorSchemeContext.js.map +1 -1
  227. package/dist/stitches.config.cjs.map +1 -1
  228. package/dist/stitches.config.js.map +1 -1
  229. package/dist/styles/cssProps.cjs.map +1 -1
  230. package/dist/styles/cssProps.js.map +1 -1
  231. package/dist/styles/themeContext.cjs.map +1 -1
  232. package/dist/styles/themeContext.js.map +1 -1
  233. package/dist/utils/deepMerge.cjs.map +1 -1
  234. package/dist/utils/deepMerge.js.map +1 -1
  235. package/dist/utils/getPrimaryColorInfo.cjs.map +1 -1
  236. package/dist/utils/getPrimaryColorInfo.js.map +1 -1
  237. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlock.vanilla.cjs","names":[],"sources":["../../../components/CodeBlock/CodeBlock.vanilla.tsx"],"sourcesContent":["import { CheckIcon, CopyIcon } from '@radix-ui/react-icons';\nimport { assignInlineVars } from '@vanilla-extract/dynamic';\nimport { Highlight, Language, 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 codeContentTopPadding,\n copyButtonWrapperBottomLeft,\n copyButtonWrapperBottomRight,\n copyButtonWrapperTop,\n copyButtonWrapperTopLeft,\n pre,\n preNoBorder,\n} from './CodeBlock.vanilla.css';\nimport type { CodeBlockCopyButtonAlign, CodeBlockLanguage } from './index';\nimport { Prism } from './prism-extend';\n\nexport interface CodeBlockVanillaProps\n extends Omit<HTMLAttributes<HTMLPreElement>, 'css'>, 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 isBottom = copyButtonAlign.includes('bottom');\n const isLeft = copyButtonAlign.includes('left');\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 borderH = noBorder ? 0 : 2;\n\n const update = () => {\n if (!isLeft) {\n const vScrollbar = Math.max(0, pre.offsetWidth - pre.clientWidth - borderH);\n wrapper.style.right = `${16 + vScrollbar}px`;\n }\n if (isBottom) {\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, isBottom, isLeft, 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 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={[\n codeContent,\n copyable && isLeft && isBottom ? codeContentBottomPadding : '',\n copyable && isLeft && !isBottom ? codeContentTopPadding : '',\n ]\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"],"mappings":"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"}
1
+ {"version":3,"file":"CodeBlock.vanilla.cjs","names":[],"sources":["../../../components/CodeBlock/CodeBlock.vanilla.tsx"],"sourcesContent":["import { CheckIcon, CopyIcon } from '@radix-ui/react-icons';\nimport { assignInlineVars } from '@vanilla-extract/dynamic';\nimport { Highlight, Language, 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 codeContentTopPadding,\n copyButtonWrapperBottomLeft,\n copyButtonWrapperBottomRight,\n copyButtonWrapperTop,\n copyButtonWrapperTopLeft,\n pre,\n preNoBorder,\n} from './CodeBlock.vanilla.css';\nimport type { CodeBlockCopyButtonAlign, CodeBlockLanguage } from './index';\nimport { Prism } from './prism-extend';\n\nexport interface CodeBlockVanillaProps\n extends Omit<HTMLAttributes<HTMLPreElement>, 'css'>, 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 isBottom = copyButtonAlign.includes('bottom');\n const isLeft = copyButtonAlign.includes('left');\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 borderH = noBorder ? 0 : 2;\n\n const update = () => {\n if (!isLeft) {\n const vScrollbar = Math.max(0, pre.offsetWidth - pre.clientWidth - borderH);\n wrapper.style.right = `${16 + vScrollbar}px`;\n }\n if (isBottom) {\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, isBottom, isLeft, 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 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={[\n codeContent,\n copyable && isLeft && isBottom ? codeContentBottomPadding : '',\n copyable && isLeft && !isBottom ? codeContentTopPadding : '',\n ]\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"CodeBlock.vanilla.js","names":[],"sources":["../../../components/CodeBlock/CodeBlock.vanilla.tsx"],"sourcesContent":["import { CheckIcon, CopyIcon } from '@radix-ui/react-icons';\nimport { assignInlineVars } from '@vanilla-extract/dynamic';\nimport { Highlight, Language, 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 codeContentTopPadding,\n copyButtonWrapperBottomLeft,\n copyButtonWrapperBottomRight,\n copyButtonWrapperTop,\n copyButtonWrapperTopLeft,\n pre,\n preNoBorder,\n} from './CodeBlock.vanilla.css';\nimport type { CodeBlockCopyButtonAlign, CodeBlockLanguage } from './index';\nimport { Prism } from './prism-extend';\n\nexport interface CodeBlockVanillaProps\n extends Omit<HTMLAttributes<HTMLPreElement>, 'css'>, 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 isBottom = copyButtonAlign.includes('bottom');\n const isLeft = copyButtonAlign.includes('left');\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 borderH = noBorder ? 0 : 2;\n\n const update = () => {\n if (!isLeft) {\n const vScrollbar = Math.max(0, pre.offsetWidth - pre.clientWidth - borderH);\n wrapper.style.right = `${16 + vScrollbar}px`;\n }\n if (isBottom) {\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, isBottom, isLeft, 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 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={[\n codeContent,\n copyable && isLeft && isBottom ? codeContentBottomPadding : '',\n copyable && isLeft && !isBottom ? codeContentTopPadding : '',\n ]\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"],"mappings":";;;;;;;;;;;;AA6CA,IAAa,mBAAmB,YAE5B,EACE,OAAO,QACP,MACA,WAAW,OACX,UACA,YACA,kBAAkB,aAClB,QACA,UACA,WAAW,OACX,aACA,YAAY,KACZ,KACA,OACA,WACA,GAAG,SAEL,QACG;CACH,MAAM,EAAE,QAAQ,kBAAkB,uBAAuB;CAEzD,MAAM,cADkB,eAAe,mBACA,SAAS,OAAO,WAAW,OAAO;CAEzE,MAAM,WAAW,gBAAgB,SAAS,QAAQ;CAClD,MAAM,SAAS,gBAAgB,SAAS,MAAM;CAE9C,MAAM,EAAE,OAAO,WAAW,SAAS,eAAe,KAAK,MAAM;CAC7D,MAAM,kBAAkB;EACtB,UAAU;EACV,GAAG;EACH,GAAG,iBAAiB,IAAI;CAC1B;CAEA,MAAM,CAAC,QAAQ,aAAa,SAAS,KAAK;CAE1C,MAAM,SAAS,OACb,IACF;CACA,MAAM,mBAAmB,OAAuB,IAAI;CAEpD,MAAM,YAAY,aACf,SAAgC;EAC/B,OAAO,UAAU;EACjB,IAAI,OAAO,QAAQ,YAAY,IAAI,IAAI;OAClC,IAAI,KAAK,IAAuD,UAAU;CACjF,GACA,CAAC,GAAG,CACN;CAEA,sBAAsB;EACpB,IAAI,CAAC,UAAU;EACf,MAAM,MAAM,OAAO;EACnB,MAAM,UAAU,iBAAiB;EACjC,IAAI,CAAC,OAAO,CAAC,SAAS;EAEtB,MAAM,UAAU,WAAW,IAAI;EAE/B,MAAM,eAAe;GACnB,IAAI,CAAC,QAAQ;IACX,MAAM,aAAa,KAAK,IAAI,GAAG,IAAI,cAAc,IAAI,cAAc,OAAO;IAC1E,QAAQ,MAAM,QAAQ,GAAG,KAAK,WAAW;GAC3C;GACA,IAAI,UAAU;IACZ,MAAM,aAAa,KAAK,IAAI,GAAG,IAAI,eAAe,IAAI,eAAe,OAAO;IAC5E,QAAQ,MAAM,SAAS,GAAG,IAAI,WAAW;GAC3C;EACF;EAEA,OAAO;EACP,MAAM,WAAW,IAAI,eAAe,MAAM;EAC1C,SAAS,QAAQ,GAAG;EACpB,aAAa,SAAS,WAAW;CACnC,GAAG;EAAC;EAAU;EAAU;EAAQ;CAAQ,CAAC;CAEzC,MAAM,aAAa,YAAY;EAC7B,IAAI;GACF,MAAM,UAAU,UAAU,UAAU,IAAI;GACxC,UAAU,IAAI;GACd,SAAS;GACT,iBAAiB,UAAU,KAAK,GAAG,IAAI;EACzC,QAAQ,CAER;CACF;CAEA,MAAM,sBAAsB,WACxB,SACE,8BACA,+BACF,SACE,2BACA;CAEN,MAAM,aAAa,WACjB,qBAAC,eAAD;EACE,SAAQ;EACR,OAAA;EACA,MAAK;EACL,MAAK;EACL,SAAS;EACT,KAAK;GACH,OAAO;GACP,KAAK;GACL,iBAAiB;GACjB,QAAQ;EACV;YAXF,CAaE,oBAAC,gBAAD;GAAgB,OAAO,SAAS,WAAW;aACxC,SAAS,oBAAC,WAAD,CAAY,CAAA,IAAI,oBAAC,UAAD,CAAW,CAAA;EACvB,CAAA,GACf,SAAS,aAAa,QACV;MACb;CAEJ,OACE,oBAAC,WAAD;EACE,OAAO;EACD;EACN,UAAW,MAAM,UAAU,SAAS,OAAO,OAAO;aAEhD,EACA,WAAW,gBACX,OAAO,gBACP,QACA,cACA,oBAEA,qBAAC,OAAD;GAAK,OAAO;aAAZ,CACE,oBAAC,OAAD;IACE,KAAK;IACL,WAAW;KAAC;KAAK,WAAW,cAAc;KAAI;KAAgB;IAAS,EACpE,OAAO,OAAO,EACd,KAAK,GAAG;IACX,OAAO;KACL;KACA,GAAG;KACH,iBAAiB;KACjB,GAAG;IACL;IACA,GAAI;cAEJ,oBAAC,OAAD;KACE,WAAW;MACT;MACA,YAAY,UAAU,WAAW,2BAA2B;MAC5D,YAAY,UAAU,CAAC,WAAW,wBAAwB;KAC5D,EACG,OAAO,OAAO,EACd,KAAK,GAAG;eAEV,OAAO,KAAK,MAAM,MACjB,oBAAC,OAAD;MAEE,GAAI,aAAa,EAAE,KAAK,CAAC;MACzB,OACE,WAAW;OAAE,YAAY;OAAY,WAAW;MAAY,IAAI,KAAA;gBAGjE,KAAK,KAAK,OAAO,QAChB,oBAAC,QAAD,EAAgB,GAAI,cAAc,EAAE,MAAM,CAAC,EAAI,GAApC,GAAoC,CAChD;KACE,GATE,CASF,CACN;IACE,CAAA;GACF,CAAA,GACJ,cACC,oBAAC,OAAD;IAAK,KAAK;IAAkB,WAAW;cACpC;GACE,CAAA,CAEJ;;CAEE,CAAA;AAEf,CACF;AAEA,iBAAiB,cAAc"}
1
+ {"version":3,"file":"CodeBlock.vanilla.js","names":[],"sources":["../../../components/CodeBlock/CodeBlock.vanilla.tsx"],"sourcesContent":["import { CheckIcon, CopyIcon } from '@radix-ui/react-icons';\nimport { assignInlineVars } from '@vanilla-extract/dynamic';\nimport { Highlight, Language, 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 codeContentTopPadding,\n copyButtonWrapperBottomLeft,\n copyButtonWrapperBottomRight,\n copyButtonWrapperTop,\n copyButtonWrapperTopLeft,\n pre,\n preNoBorder,\n} from './CodeBlock.vanilla.css';\nimport type { CodeBlockCopyButtonAlign, CodeBlockLanguage } from './index';\nimport { Prism } from './prism-extend';\n\nexport interface CodeBlockVanillaProps\n extends Omit<HTMLAttributes<HTMLPreElement>, 'css'>, 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 isBottom = copyButtonAlign.includes('bottom');\n const isLeft = copyButtonAlign.includes('left');\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 borderH = noBorder ? 0 : 2;\n\n const update = () => {\n if (!isLeft) {\n const vScrollbar = Math.max(0, pre.offsetWidth - pre.clientWidth - borderH);\n wrapper.style.right = `${16 + vScrollbar}px`;\n }\n if (isBottom) {\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, isBottom, isLeft, 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 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={[\n codeContent,\n copyable && isLeft && isBottom ? codeContentBottomPadding : '',\n copyable && isLeft && !isBottom ? codeContentTopPadding : '',\n ]\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"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prism-extend.cjs","names":[],"sources":["../../../components/CodeBlock/prism-extend.ts"],"sourcesContent":["/* eslint-disable simple-import-sort/imports */\n// prismjs must be imported first: in the browser it sets window.Prism so language\n// components below can use it as their global Prism reference.\nimport { Prism } from 'prism-react-renderer';\nimport prismjs from 'prismjs';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-docker.js';\nimport 'prismjs/components/prism-hcl.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/components/prism-ini.js';\nimport 'prismjs/components/prism-java.js';\nimport 'prismjs/components/prism-markup-templating.js';\nimport 'prismjs/components/prism-php.js';\nimport 'prismjs/components/prism-powershell.js';\nimport 'prismjs/components/prism-protobuf.js';\nimport 'prismjs/components/prism-ruby.js';\nimport 'prismjs/components/prism-scala.js';\nimport 'prismjs/components/prism-shell-session.js';\nimport 'prismjs/components/prism-toml.js';\n\n// Copy newly registered grammars from prismjs into prism-react-renderer's Prism.\n// Language component IIFEs register on prismjs's window.Prism, not on PrismRR.\nfor (const [key, value] of Object.entries(prismjs.languages)) {\n if (typeof value !== 'function' && !(key in Prism.languages)) {\n (Prism.languages as Record<string, unknown>)[key] = value;\n }\n}\n\n// 'text' grammar: tokenizes everything as a plain token so prism-react-renderer\n// receives proper Token objects instead of raw strings (which lack a .type field).\nPrism.languages.text = { text: /[\\s\\S]+/ };\n\nexport { Prism };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuBA,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAA,QAAQ,SAAS,GACzD,IAAI,OAAO,UAAU,cAAc,EAAE,OAAO,qBAAA,MAAM,YAChD,qBAAA,MAAO,UAAsC,OAAO;AAMxD,qBAAA,MAAM,UAAU,OAAO,EAAE,MAAM,UAAU"}
1
+ {"version":3,"file":"prism-extend.cjs","names":[],"sources":["../../../components/CodeBlock/prism-extend.ts"],"sourcesContent":["/* eslint-disable simple-import-sort/imports */\n// prismjs must be imported first: in the browser it sets window.Prism so language\n// components below can use it as their global Prism reference.\nimport { Prism } from 'prism-react-renderer';\nimport prismjs from 'prismjs';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-docker.js';\nimport 'prismjs/components/prism-hcl.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/components/prism-ini.js';\nimport 'prismjs/components/prism-java.js';\nimport 'prismjs/components/prism-markup-templating.js';\nimport 'prismjs/components/prism-php.js';\nimport 'prismjs/components/prism-powershell.js';\nimport 'prismjs/components/prism-protobuf.js';\nimport 'prismjs/components/prism-ruby.js';\nimport 'prismjs/components/prism-scala.js';\nimport 'prismjs/components/prism-shell-session.js';\nimport 'prismjs/components/prism-toml.js';\n\n// Copy newly registered grammars from prismjs into prism-react-renderer's Prism.\n// Language component IIFEs register on prismjs's window.Prism, not on PrismRR.\nfor (const [key, value] of Object.entries(prismjs.languages)) {\n if (typeof value !== 'function' && !(key in Prism.languages)) {\n (Prism.languages as Record<string, unknown>)[key] = value;\n }\n}\n\n// 'text' grammar: tokenizes everything as a plain token so prism-react-renderer\n// receives proper Token objects instead of raw strings (which lack a .type field).\nPrism.languages.text = { text: /[\\s\\S]+/ };\n\nexport { Prism };\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAuBA,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAA,QAAQ,UAAU,EAC1D,IAAI,OAAO,UAAU,cAAc,EAAE,OAAO,qBAAA,MAAM,YAChD,qBAAA,MAAO,UAAsC,OAAO;AAMxD,qBAAA,MAAM,UAAU,OAAO,EAAE,MAAM,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"prism-extend.js","names":[],"sources":["../../../components/CodeBlock/prism-extend.ts"],"sourcesContent":["/* eslint-disable simple-import-sort/imports */\n// prismjs must be imported first: in the browser it sets window.Prism so language\n// components below can use it as their global Prism reference.\nimport { Prism } from 'prism-react-renderer';\nimport prismjs from 'prismjs';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-docker.js';\nimport 'prismjs/components/prism-hcl.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/components/prism-ini.js';\nimport 'prismjs/components/prism-java.js';\nimport 'prismjs/components/prism-markup-templating.js';\nimport 'prismjs/components/prism-php.js';\nimport 'prismjs/components/prism-powershell.js';\nimport 'prismjs/components/prism-protobuf.js';\nimport 'prismjs/components/prism-ruby.js';\nimport 'prismjs/components/prism-scala.js';\nimport 'prismjs/components/prism-shell-session.js';\nimport 'prismjs/components/prism-toml.js';\n\n// Copy newly registered grammars from prismjs into prism-react-renderer's Prism.\n// Language component IIFEs register on prismjs's window.Prism, not on PrismRR.\nfor (const [key, value] of Object.entries(prismjs.languages)) {\n if (typeof value !== 'function' && !(key in Prism.languages)) {\n (Prism.languages as Record<string, unknown>)[key] = value;\n }\n}\n\n// 'text' grammar: tokenizes everything as a plain token so prism-react-renderer\n// receives proper Token objects instead of raw strings (which lack a .type field).\nPrism.languages.text = { text: /[\\s\\S]+/ };\n\nexport { Prism };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,SAAS,GACzD,IAAI,OAAO,UAAU,cAAc,EAAE,OAAO,MAAM,YAChD,MAAO,UAAsC,OAAO;AAMxD,MAAM,UAAU,OAAO,EAAE,MAAM,UAAU"}
1
+ {"version":3,"file":"prism-extend.js","names":[],"sources":["../../../components/CodeBlock/prism-extend.ts"],"sourcesContent":["/* eslint-disable simple-import-sort/imports */\n// prismjs must be imported first: in the browser it sets window.Prism so language\n// components below can use it as their global Prism reference.\nimport { Prism } from 'prism-react-renderer';\nimport prismjs from 'prismjs';\nimport 'prismjs/components/prism-bash.js';\nimport 'prismjs/components/prism-csharp.js';\nimport 'prismjs/components/prism-docker.js';\nimport 'prismjs/components/prism-hcl.js';\nimport 'prismjs/components/prism-http.js';\nimport 'prismjs/components/prism-ini.js';\nimport 'prismjs/components/prism-java.js';\nimport 'prismjs/components/prism-markup-templating.js';\nimport 'prismjs/components/prism-php.js';\nimport 'prismjs/components/prism-powershell.js';\nimport 'prismjs/components/prism-protobuf.js';\nimport 'prismjs/components/prism-ruby.js';\nimport 'prismjs/components/prism-scala.js';\nimport 'prismjs/components/prism-shell-session.js';\nimport 'prismjs/components/prism-toml.js';\n\n// Copy newly registered grammars from prismjs into prism-react-renderer's Prism.\n// Language component IIFEs register on prismjs's window.Prism, not on PrismRR.\nfor (const [key, value] of Object.entries(prismjs.languages)) {\n if (typeof value !== 'function' && !(key in Prism.languages)) {\n (Prism.languages as Record<string, unknown>)[key] = value;\n }\n}\n\n// 'text' grammar: tokenizes everything as a plain token so prism-react-renderer\n// receives proper Token objects instead of raw strings (which lack a .type field).\nPrism.languages.text = { text: /[\\s\\S]+/ };\n\nexport { Prism };\n"],"mappings":";;;;;;;;;;;;;;;;;;AAuBA,KAAK,MAAM,CAAC,KAAK,UAAU,OAAO,QAAQ,QAAQ,UAAU,EAC1D,IAAI,OAAO,UAAU,cAAc,EAAE,OAAO,MAAM,YAChD,MAAO,UAAsC,OAAO;AAMxD,MAAM,UAAU,OAAO,EAAE,MAAM,WAAW"}
@@ -1 +1 @@
1
- {"version":3,"file":"Container.cjs","names":[],"sources":["../../../components/Container/Container.tsx"],"sourcesContent":["import { styled } from '../../stitches.config';\n\nexport const Container = styled('div', {\n // Reset\n boxSizing: 'border-box',\n flexShrink: 0,\n\n // Custom\n ml: 'auto',\n mr: 'auto',\n px: '$5',\n\n variants: {\n size: {\n '1': {\n maxWidth: '425px',\n },\n '2': {\n maxWidth: '768px',\n },\n '3': {\n maxWidth: '1440px',\n },\n '4': {\n maxWidth: 'none',\n },\n },\n noGutter: {\n true: {\n px: 0,\n },\n },\n },\n defaultVariants: {\n size: '4',\n },\n});\n"],"mappings":";AAEA,IAAa,+CAAY,EAAA,OAAO,OAAO;CAErC,WAAW;CACX,YAAY;CAGZ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,UAAU;EACR,MAAM;GACJ,KAAK,EACH,UAAU,QACZ;GACA,KAAK,EACH,UAAU,QACZ;GACA,KAAK,EACH,UAAU,SACZ;GACA,KAAK,EACH,UAAU,OACZ;EACF;EACA,UAAU,EACR,MAAM,EACJ,IAAI,EACN,EACF;CACF;CACA,iBAAiB,EACf,MAAM,IACR;AACF,CAAC"}
1
+ {"version":3,"file":"Container.cjs","names":[],"sources":["../../../components/Container/Container.tsx"],"sourcesContent":["import { styled } from '../../stitches.config';\n\nexport const Container = styled('div', {\n // Reset\n boxSizing: 'border-box',\n flexShrink: 0,\n\n // Custom\n ml: 'auto',\n mr: 'auto',\n px: '$5',\n\n variants: {\n size: {\n '1': {\n maxWidth: '425px',\n },\n '2': {\n maxWidth: '768px',\n },\n '3': {\n maxWidth: '1440px',\n },\n '4': {\n maxWidth: 'none',\n },\n },\n noGutter: {\n true: {\n px: 0,\n },\n },\n },\n defaultVariants: {\n size: '4',\n },\n});\n"],"mappings":";AAEA,IAAa,gDAAY,CAAA,OAAO,OAAO;CAErC,WAAW;CACX,YAAY;CAGZ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,UAAU;EACR,MAAM;GACJ,KAAK,EACH,UAAU,SACX;GACD,KAAK,EACH,UAAU,SACX;GACD,KAAK,EACH,UAAU,UACX;GACD,KAAK,EACH,UAAU,QACX;GACF;EACD,UAAU,EACR,MAAM,EACJ,IAAI,GACL,EACF;EACF;CACD,iBAAiB,EACf,MAAM,KACP;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Container.js","names":[],"sources":["../../../components/Container/Container.tsx"],"sourcesContent":["import { styled } from '../../stitches.config';\n\nexport const Container = styled('div', {\n // Reset\n boxSizing: 'border-box',\n flexShrink: 0,\n\n // Custom\n ml: 'auto',\n mr: 'auto',\n px: '$5',\n\n variants: {\n size: {\n '1': {\n maxWidth: '425px',\n },\n '2': {\n maxWidth: '768px',\n },\n '3': {\n maxWidth: '1440px',\n },\n '4': {\n maxWidth: 'none',\n },\n },\n noGutter: {\n true: {\n px: 0,\n },\n },\n },\n defaultVariants: {\n size: '4',\n },\n});\n"],"mappings":";;AAEA,IAAa,YAAY,OAAO,OAAO;CAErC,WAAW;CACX,YAAY;CAGZ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,UAAU;EACR,MAAM;GACJ,KAAK,EACH,UAAU,QACZ;GACA,KAAK,EACH,UAAU,QACZ;GACA,KAAK,EACH,UAAU,SACZ;GACA,KAAK,EACH,UAAU,OACZ;EACF;EACA,UAAU,EACR,MAAM,EACJ,IAAI,EACN,EACF;CACF;CACA,iBAAiB,EACf,MAAM,IACR;AACF,CAAC"}
1
+ {"version":3,"file":"Container.js","names":[],"sources":["../../../components/Container/Container.tsx"],"sourcesContent":["import { styled } from '../../stitches.config';\n\nexport const Container = styled('div', {\n // Reset\n boxSizing: 'border-box',\n flexShrink: 0,\n\n // Custom\n ml: 'auto',\n mr: 'auto',\n px: '$5',\n\n variants: {\n size: {\n '1': {\n maxWidth: '425px',\n },\n '2': {\n maxWidth: '768px',\n },\n '3': {\n maxWidth: '1440px',\n },\n '4': {\n maxWidth: 'none',\n },\n },\n noGutter: {\n true: {\n px: 0,\n },\n },\n },\n defaultVariants: {\n size: '4',\n },\n});\n"],"mappings":";;AAEA,IAAa,YAAY,OAAO,OAAO;CAErC,WAAW;CACX,YAAY;CAGZ,IAAI;CACJ,IAAI;CACJ,IAAI;CAEJ,UAAU;EACR,MAAM;GACJ,KAAK,EACH,UAAU,SACX;GACD,KAAK,EACH,UAAU,SACX;GACD,KAAK,EACH,UAAU,UACX;GACD,KAAK,EACH,UAAU,QACX;GACF;EACD,UAAU,EACR,MAAM,EACJ,IAAI,GACL,EACF;EACF;CACD,iBAAiB,EACf,MAAM,KACP;CACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Container.vanilla.cjs","names":[],"sources":["../../../components/Container/Container.vanilla.tsx"],"sourcesContent":["import { assignInlineVars } from '@vanilla-extract/dynamic';\nimport React, { ElementType } from 'react';\n\nimport { CSSProps, processCSSProp } from '../../styles/cssProps';\nimport {\n PolymorphicComponent,\n PolymorphicComponentProps,\n PolymorphicRef,\n} from '../../styles/polymorphic';\nimport { useVanillaExtractTheme } from '../../styles/themeContext';\nimport { containerRecipe } from './Container.vanilla.css';\n\ninterface ContainerOwnProps extends CSSProps {\n size?: '1' | '2' | '3' | '4';\n noGutter?: boolean;\n}\n\nexport type ContainerProps<C extends ElementType = 'div'> = PolymorphicComponentProps<\n C,\n ContainerOwnProps\n>;\ntype ContainerComponent = PolymorphicComponent<'div', ContainerProps<ElementType>>;\n\nexport const ContainerVanillaComponent = React.forwardRef(\n <C extends ElementType = 'div'>(\n { as, className, css, style, size, noGutter, ...props }: ContainerProps<C>,\n ref?: PolymorphicRef<C>,\n ) => {\n const Component = as || 'div';\n\n const { colors } = useVanillaExtractTheme();\n\n const { style: cssStyles, vars } = processCSSProp(css, colors);\n\n const mergedStyles = {\n ...cssStyles,\n ...style,\n ...assignInlineVars(vars),\n };\n\n const recipeClass = containerRecipe({ size, noGutter });\n\n return (\n <Component\n ref={ref}\n className={`${recipeClass} ${className || ''}`.trim()}\n style={mergedStyles}\n {...props}\n />\n );\n },\n);\n\nContainerVanillaComponent.displayName = 'ContainerVanilla';\n\nexport const ContainerVanilla = ContainerVanillaComponent as ContainerComponent;\n"],"mappings":";;;;;;;;;AAuBA,IAAa,4BAA4B,MAAA,QAAM,YAE3C,EAAE,IAAI,WAAW,KAAK,OAAO,MAAM,UAAU,GAAG,SAChD,QACG;CACH,MAAM,YAAY,MAAM;CAExB,MAAM,EAAE,WAAW,qBAAA,uBAAuB;CAE1C,MAAM,EAAE,OAAO,WAAW,SAAS,iBAAA,eAAe,KAAK,MAAM;CAE7D,MAAM,eAAe;EACnB,GAAG;EACH,GAAG;EACH,IAAA,GAAA,yBAAA,kBAAoB,IAAI;CAC1B;CAIA,OACE,iBAAA,GAAA,kBAAA,KAAC,WAAD;EACO;EACL,WAAW,GALK,8BAAA,gBAAgB;GAAE;GAAM;EAAS,CAKnC,EAAY,GAAG,aAAa,KAAK,KAAK;EACpD,OAAO;EACP,GAAI;CACL,CAAA;AAEL,CACF;AAEA,0BAA0B,cAAc;AAExC,IAAa,mBAAmB"}
1
+ {"version":3,"file":"Container.vanilla.cjs","names":[],"sources":["../../../components/Container/Container.vanilla.tsx"],"sourcesContent":["import { assignInlineVars } from '@vanilla-extract/dynamic';\nimport React, { ElementType } from 'react';\n\nimport { CSSProps, processCSSProp } from '../../styles/cssProps';\nimport {\n PolymorphicComponent,\n PolymorphicComponentProps,\n PolymorphicRef,\n} from '../../styles/polymorphic';\nimport { useVanillaExtractTheme } from '../../styles/themeContext';\nimport { containerRecipe } from './Container.vanilla.css';\n\ninterface ContainerOwnProps extends CSSProps {\n size?: '1' | '2' | '3' | '4';\n noGutter?: boolean;\n}\n\nexport type ContainerProps<C extends ElementType = 'div'> = PolymorphicComponentProps<\n C,\n ContainerOwnProps\n>;\ntype ContainerComponent = PolymorphicComponent<'div', ContainerProps<ElementType>>;\n\nexport const ContainerVanillaComponent = React.forwardRef(\n <C extends ElementType = 'div'>(\n { as, className, css, style, size, noGutter, ...props }: ContainerProps<C>,\n ref?: PolymorphicRef<C>,\n ) => {\n const Component = as || 'div';\n\n const { colors } = useVanillaExtractTheme();\n\n const { style: cssStyles, vars } = processCSSProp(css, colors);\n\n const mergedStyles = {\n ...cssStyles,\n ...style,\n ...assignInlineVars(vars),\n };\n\n const recipeClass = containerRecipe({ size, noGutter });\n\n return (\n <Component\n ref={ref}\n className={`${recipeClass} ${className || ''}`.trim()}\n style={mergedStyles}\n {...props}\n />\n );\n },\n);\n\nContainerVanillaComponent.displayName = 'ContainerVanilla';\n\nexport const ContainerVanilla = ContainerVanillaComponent as ContainerComponent;\n"],"mappings":";;;;;;;;;AAuBA,IAAa,4BAA4B,MAAA,QAAM,YAE3C,EAAE,IAAI,WAAW,KAAK,OAAO,MAAM,UAAU,GAAG,SAChD,QACG;CACH,MAAM,YAAY,MAAM;CAExB,MAAM,EAAE,WAAW,qBAAA,wBAAwB;CAE3C,MAAM,EAAE,OAAO,WAAW,SAAS,iBAAA,eAAe,KAAK,OAAO;CAE9D,MAAM,eAAe;EACnB,GAAG;EACH,GAAG;EACH,IAAA,GAAA,yBAAA,kBAAoB,KAAK;EAC1B;CAID,OACE,iBAAA,GAAA,kBAAA,KAAC,WAAD;EACO;EACL,WAAW,GALK,8BAAA,gBAAgB;GAAE;GAAM;GAAU,CAKpC,CAAY,GAAG,aAAa,KAAK,MAAM;EACrD,OAAO;EACP,GAAI;EACJ,CAAA;EAGP;AAED,0BAA0B,cAAc;AAExC,IAAa,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Container.vanilla.js","names":[],"sources":["../../../components/Container/Container.vanilla.tsx"],"sourcesContent":["import { assignInlineVars } from '@vanilla-extract/dynamic';\nimport React, { ElementType } from 'react';\n\nimport { CSSProps, processCSSProp } from '../../styles/cssProps';\nimport {\n PolymorphicComponent,\n PolymorphicComponentProps,\n PolymorphicRef,\n} from '../../styles/polymorphic';\nimport { useVanillaExtractTheme } from '../../styles/themeContext';\nimport { containerRecipe } from './Container.vanilla.css';\n\ninterface ContainerOwnProps extends CSSProps {\n size?: '1' | '2' | '3' | '4';\n noGutter?: boolean;\n}\n\nexport type ContainerProps<C extends ElementType = 'div'> = PolymorphicComponentProps<\n C,\n ContainerOwnProps\n>;\ntype ContainerComponent = PolymorphicComponent<'div', ContainerProps<ElementType>>;\n\nexport const ContainerVanillaComponent = React.forwardRef(\n <C extends ElementType = 'div'>(\n { as, className, css, style, size, noGutter, ...props }: ContainerProps<C>,\n ref?: PolymorphicRef<C>,\n ) => {\n const Component = as || 'div';\n\n const { colors } = useVanillaExtractTheme();\n\n const { style: cssStyles, vars } = processCSSProp(css, colors);\n\n const mergedStyles = {\n ...cssStyles,\n ...style,\n ...assignInlineVars(vars),\n };\n\n const recipeClass = containerRecipe({ size, noGutter });\n\n return (\n <Component\n ref={ref}\n className={`${recipeClass} ${className || ''}`.trim()}\n style={mergedStyles}\n {...props}\n />\n );\n },\n);\n\nContainerVanillaComponent.displayName = 'ContainerVanilla';\n\nexport const ContainerVanilla = ContainerVanillaComponent as ContainerComponent;\n"],"mappings":";;;;;;;AAuBA,IAAa,4BAA4B,MAAM,YAE3C,EAAE,IAAI,WAAW,KAAK,OAAO,MAAM,UAAU,GAAG,SAChD,QACG;CACH,MAAM,YAAY,MAAM;CAExB,MAAM,EAAE,WAAW,uBAAuB;CAE1C,MAAM,EAAE,OAAO,WAAW,SAAS,eAAe,KAAK,MAAM;CAE7D,MAAM,eAAe;EACnB,GAAG;EACH,GAAG;EACH,GAAG,iBAAiB,IAAI;CAC1B;CAIA,OACE,oBAAC,WAAD;EACO;EACL,WAAW,GALK,gBAAgB;GAAE;GAAM;EAAS,CAKnC,EAAY,GAAG,aAAa,KAAK,KAAK;EACpD,OAAO;EACP,GAAI;CACL,CAAA;AAEL,CACF;AAEA,0BAA0B,cAAc;AAExC,IAAa,mBAAmB"}
1
+ {"version":3,"file":"Container.vanilla.js","names":[],"sources":["../../../components/Container/Container.vanilla.tsx"],"sourcesContent":["import { assignInlineVars } from '@vanilla-extract/dynamic';\nimport React, { ElementType } from 'react';\n\nimport { CSSProps, processCSSProp } from '../../styles/cssProps';\nimport {\n PolymorphicComponent,\n PolymorphicComponentProps,\n PolymorphicRef,\n} from '../../styles/polymorphic';\nimport { useVanillaExtractTheme } from '../../styles/themeContext';\nimport { containerRecipe } from './Container.vanilla.css';\n\ninterface ContainerOwnProps extends CSSProps {\n size?: '1' | '2' | '3' | '4';\n noGutter?: boolean;\n}\n\nexport type ContainerProps<C extends ElementType = 'div'> = PolymorphicComponentProps<\n C,\n ContainerOwnProps\n>;\ntype ContainerComponent = PolymorphicComponent<'div', ContainerProps<ElementType>>;\n\nexport const ContainerVanillaComponent = React.forwardRef(\n <C extends ElementType = 'div'>(\n { as, className, css, style, size, noGutter, ...props }: ContainerProps<C>,\n ref?: PolymorphicRef<C>,\n ) => {\n const Component = as || 'div';\n\n const { colors } = useVanillaExtractTheme();\n\n const { style: cssStyles, vars } = processCSSProp(css, colors);\n\n const mergedStyles = {\n ...cssStyles,\n ...style,\n ...assignInlineVars(vars),\n };\n\n const recipeClass = containerRecipe({ size, noGutter });\n\n return (\n <Component\n ref={ref}\n className={`${recipeClass} ${className || ''}`.trim()}\n style={mergedStyles}\n {...props}\n />\n );\n },\n);\n\nContainerVanillaComponent.displayName = 'ContainerVanilla';\n\nexport const ContainerVanilla = ContainerVanillaComponent as ContainerComponent;\n"],"mappings":";;;;;;;AAuBA,IAAa,4BAA4B,MAAM,YAE3C,EAAE,IAAI,WAAW,KAAK,OAAO,MAAM,UAAU,GAAG,SAChD,QACG;CACH,MAAM,YAAY,MAAM;CAExB,MAAM,EAAE,WAAW,wBAAwB;CAE3C,MAAM,EAAE,OAAO,WAAW,SAAS,eAAe,KAAK,OAAO;CAE9D,MAAM,eAAe;EACnB,GAAG;EACH,GAAG;EACH,GAAG,iBAAiB,KAAK;EAC1B;CAID,OACE,oBAAC,WAAD;EACO;EACL,WAAW,GALK,gBAAgB;GAAE;GAAM;GAAU,CAKpC,CAAY,GAAG,aAAa,KAAK,MAAM;EACrD,OAAO;EACP,GAAI;EACJ,CAAA;EAGP;AAED,0BAA0B,cAAc;AAExC,IAAa,mBAAmB"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.cjs","names":[],"sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimePicker.cjs","names":[],"sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePicker.js","names":[],"sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimePicker.js","names":[],"sources":["../../../components/DateTimePicker/DateTimePicker.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from '@radix-ui/react-icons';\nimport { DPDatesConfig, DPPropGetter, DPUserConfig, useDatePicker } from '@rehookify/datepicker';\nimport { addMonths, addYears } from 'date-fns';\nimport React, { useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Button } from '../Button';\nimport { Flex } from '../Flex';\nimport { Text } from '../Text';\n\nconst CalendarGrid = styled('div', {\n display: 'grid',\n alignItems: 'center',\n gap: '$1',\n px: '$2',\n borderLeft: '2px solid $buttonSecondaryBorder',\n borderRight: '2px solid $buttonSecondaryBorder',\n});\n\nconst SevenColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(7, 1fr)',\n});\n\nconst ThreeColGrid = styled(CalendarGrid, {\n gridTemplateColumns: 'repeat(3, 1fr)',\n height: '100%',\n});\n\nconst StyledDiv = styled('div');\n\ntype HeaderProps = {\n centerButtonLabel: string;\n centerButtonOnClick: () => void;\n leftButtonProps: DPPropGetter;\n rightButtonProps: DPPropGetter;\n};\n\nfunction Header({\n centerButtonLabel,\n centerButtonOnClick,\n leftButtonProps,\n rightButtonProps,\n}: HeaderProps) {\n return (\n <Flex align=\"center\" gap=\"2\" css={{ px: '$2' }}>\n <Button type=\"button\" ghost variant=\"secondary\" {...leftButtonProps}>\n <ChevronLeftIcon />\n </Button>\n <Button\n type=\"button\"\n role=\"button\"\n tabIndex={0}\n css={{ flexGrow: 1, textAlign: 'center' }}\n ghost\n onClick={centerButtonOnClick}\n variant=\"secondary\"\n >\n {centerButtonLabel}\n </Button>\n <Button type=\"button\" ghost variant=\"secondary\" {...rightButtonProps}>\n <ChevronRightIcon />\n </Button>\n </Flex>\n );\n}\n\ntype CustomDPDatesConfig = Omit<DPDatesConfig, 'mode'>;\n\ntype CustomDPUserConfig = Omit<DPUserConfig, 'dates'> & {\n dates?: Partial<CustomDPDatesConfig>;\n};\n\nexport type DateTimePickerProps = CustomDPUserConfig & {\n css?: CSS;\n onFastTravelClick?: () => void;\n onTimeButtonClick?: () => void;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerVariants = VariantProps<DateTimePickerProps>;\n\nexport const DateTimePicker = React.forwardRef<\n React.ElementRef<typeof StyledDiv>,\n DateTimePickerProps\n>(\n (\n { css, onFastTravelClick, onTimeButtonClick, showDatePresets, showTimePicker, ...config },\n fowardedRef,\n ) => {\n const {\n data: { calendars, months, time, weekDays, years },\n propGetters: {\n addOffset,\n dayButton,\n monthButton,\n nextYearsButton,\n previousYearsButton,\n subtractOffset,\n timeButton,\n yearButton,\n },\n } = useDatePicker(config);\n\n const [page, setPage] = useState<number>(0);\n\n const { days, month, year } = calendars[0];\n\n return (\n <StyledDiv css={css} ref={fowardedRef}>\n <Flex direction=\"column\" gap=\"2\" css={{ display: 'inline-flex' }}>\n <Flex>\n <Box\n css={{\n flex: 1,\n minHeight: config.calendar?.mode === 'fluid' ? '244px' : '280px',\n minWidth: '268px',\n }}\n >\n <Flex\n direction=\"column\"\n css={{ display: page === 0 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={month}\n centerButtonOnClick={() => setPage(1)}\n leftButtonProps={subtractOffset({ months: 1 })}\n rightButtonProps={addOffset({ months: 1 })}\n />\n <SevenColGrid>\n {weekDays.map((weekDay, index) => (\n <Text key={index} css={{ lineHeight: '$sizes$6', textAlign: 'center' }}>\n {weekDay}\n </Text>\n ))}\n {days.map((d) => (\n <Button\n key={d.$date.toString()}\n type=\"button\"\n css={{\n width: '32px',\n px: 0,\n color:\n !d.disabled && !d.inCurrentMonth && !d.selected\n ? '$textSubtle'\n : undefined,\n fontWeight: d.now && !d.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!d.selected}\n variant={d.now || d.selected ? 'primary' : 'secondary'}\n {...dayButton(d)}\n tabIndex={dayButton(d).disabled ? dayButton(d).tabIndex : 0}\n >\n {d.day}\n </Button>\n ))}\n </SevenColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 1 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={year}\n centerButtonOnClick={() => setPage(2)}\n leftButtonProps={subtractOffset({ years: 1 })}\n rightButtonProps={addOffset({ years: 1 })}\n />\n <ThreeColGrid>\n {months.map((m) => (\n <Button\n key={m.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: m.now && !m.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!m.selected}\n variant={m.now || m.selected ? 'primary' : 'secondary'}\n {...monthButton(m)}\n onClick={(evt) => {\n setPage(0);\n const fn = monthButton(m).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={monthButton(m).disabled ? monthButton(m).tabIndex : 0}\n >\n {m.month}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n\n <Flex\n direction=\"column\"\n css={{ display: page === 2 ? 'flex' : 'none', height: '100%' }}\n >\n <Header\n centerButtonLabel={`${years[0].year} - ${years[years.length - 1].year}`}\n centerButtonOnClick={() => setPage(0)}\n leftButtonProps={previousYearsButton()}\n rightButtonProps={nextYearsButton()}\n />\n <ThreeColGrid>\n {years.map((y) => (\n <Button\n key={y.$date.toString()}\n type=\"button\"\n css={{\n px: 0,\n fontWeight: y.now && !y.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!y.selected}\n variant={y.now || y.selected ? 'primary' : 'secondary'}\n {...yearButton(y)}\n onClick={(evt) => {\n setPage(0);\n const fn = yearButton(y).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n }}\n tabIndex={yearButton(y).disabled ? yearButton(y).tabIndex : 0}\n >\n {y.year}\n </Button>\n ))}\n </ThreeColGrid>\n </Flex>\n </Box>\n\n {showTimePicker ? (\n <Box css={{ flex: 1, width: '90px', position: 'relative', overflow: 'auto' }}>\n <Flex\n direction=\"column\"\n gap=\"1\"\n css={{ position: 'absolute', top: 0, left: 0, height: '100%', width: '100%' }}\n >\n <Text css={{ mt: '32px', ml: '8px', lineHeight: '$sizes$6' }}>Time</Text>\n <Flex direction=\"column\" gap=\"1\" css={{ overflow: 'auto', px: '$2' }}>\n {time.map((t) => (\n <Button\n key={t.$date.toString()}\n type=\"button\"\n css={{\n px: '$2',\n fontWeight: t.now && !t.selected ? '$bold' : undefined,\n textAlign: 'center',\n }}\n ghost={!t.selected}\n variant={t.now || t.selected ? 'primary' : 'secondary'}\n {...timeButton(t)}\n onClick={(evt) => {\n const fn = timeButton(t).onClick;\n if (typeof fn !== 'undefined') fn(evt);\n if (typeof onTimeButtonClick !== 'undefined') onTimeButtonClick();\n }}\n tabIndex={timeButton(t).disabled ? timeButton(t).tabIndex : 0}\n >\n {t.time}\n </Button>\n ))}\n </Flex>\n </Flex>\n </Box>\n ) : undefined}\n </Flex>\n\n {showDatePresets ? (\n <Flex gap=\"2\">\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 M\n </Button>\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addMonths(new Date(), 3)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 3 M\n </Button>\n {showTimePicker ? (\n <Button\n type=\"button\"\n css={{ flex: '1 1 0' }}\n variant=\"secondary\"\n onClick={() => {\n config.onDatesChange([addYears(new Date(), 1)]);\n if (typeof onFastTravelClick !== 'undefined') onFastTravelClick();\n }}\n >\n Now + 1 Y\n </Button>\n ) : undefined}\n </Flex>\n ) : undefined}\n </Flex>\n </StyledDiv>\n );\n },\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePickerInput.cjs","names":[],"sources":["../../../components/DateTimePickerInput/DateTimePickerInput.tsx"],"sourcesContent":["import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n offset,\n Placement,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { CalendarIcon } from '@radix-ui/react-icons';\nimport { DPUserConfig } from '@rehookify/datepicker';\nimport { format, parse } from 'date-fns';\nimport React, { MouseEventHandler, Ref, useMemo, useRef, useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { DateTimePicker } from '../DateTimePicker';\nimport { Input, InputHandle } from '../Input';\n\nconst StyledWrapper = styled('div', {\n display: 'flex',\n position: 'relative',\n width: '100%',\n\n '& .firefox-patch': {\n display: 'none',\n },\n\n '@supports (-moz-appearance: none)': {\n '& .firefox-patch': {\n display: 'block',\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '17px',\n top: '6px',\n background: '$inputBg',\n\n '&::before': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$inputFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n },\n\n '@hover': {\n '&:hover .firefox-patch': {\n '&::before': {\n backgroundColor: '$inputHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n },\n});\n\nexport type DateTimePickerInputProps = Omit<DPUserConfig, 'onDatesChange' | 'selectedDates'> & {\n inputCSS?: CSS;\n inputProps?: Omit<typeof Input, 'css' | 'onChange' | 'ref' | 'value'>;\n onChange?: (d: Date[]) => void;\n pickerCSS?: CSS;\n pickerPlacement?: Placement;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerInputVariants = VariantProps<DateTimePickerInputProps>;\n\nexport const DateTimePickerInput = React.forwardRef<\n React.ElementRef<typeof StyledWrapper>,\n DateTimePickerInputProps\n>(\n (\n {\n inputCSS,\n inputProps,\n onChange,\n pickerCSS,\n pickerPlacement,\n showDatePresets,\n showTimePicker,\n ...pickerProps\n },\n fowardedRef,\n ) => {\n const formatStr = \"yyyy-MM-dd'T'HH:mm\";\n\n const arrowRef = useRef(null);\n\n const [inputValue, setInputValue] = useState<string>('');\n const [selectedDates, onDatesChange] = useState<Date[]>([]);\n const [isPickerOpen, setIsPickerOpen] = useState(false);\n\n const middleware = useMemo(\n () => [\n offset(10),\n flip(),\n shift(),\n // arrowRef is passed to floating-ui which handles it correctly\n arrow({ element: arrowRef }),\n ],\n [],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n open: isPickerOpen,\n onOpenChange: setIsPickerOpen,\n placement: pickerPlacement,\n middleware,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context);\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n const { onClick: onFirefoxPatchClick } = getReferenceProps();\n\n return (\n <StyledWrapper ref={fowardedRef}>\n <Input\n startAdornment={<CalendarIcon />}\n {...getReferenceProps()}\n {...inputProps}\n css={{ '& input::-webkit-calendar-picker-indicator': { display: 'none' }, ...inputCSS }}\n onChange={(evt) => {\n const value = evt.currentTarget.value;\n setInputValue(value);\n try {\n const newDates = (value as string)\n .split(',')\n .map((d) => parse(d.trim(), formatStr, new Date()));\n onDatesChange(newDates);\n if (onChange) onChange(newDates);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n // empty\n }\n }}\n ref={refs.setReference as Ref<InputHandle>}\n type=\"datetime-local\"\n value={inputValue}\n />\n <div\n className=\"firefox-patch\"\n onClick={onFirefoxPatchClick as MouseEventHandler<HTMLDivElement>}\n />\n {isPickerOpen && (\n <FloatingFocusManager context={context} initialFocus={-1} modal={false}>\n {/* refs.setFloating is a stable callback ref from floating-ui */}\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <Card>\n <DateTimePicker\n {...pickerProps}\n css={pickerCSS}\n onDatesChange={(d) => {\n onDatesChange(d);\n setInputValue(d.map((date) => format(date, formatStr)).join(', '));\n if (onChange) onChange(d);\n }}\n onFastTravelClick={() => setIsPickerOpen(false)}\n onTimeButtonClick={() => setIsPickerOpen(false)}\n selectedDates={selectedDates}\n showDatePresets={showDatePresets}\n showTimePicker={showTimePicker}\n />\n </Card>\n <FloatingArrow ref={arrowRef} context={context} fill=\"var(--colors-01dp)\" />\n </div>\n </FloatingFocusManager>\n )}\n </StyledWrapper>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimePickerInput.cjs","names":[],"sources":["../../../components/DateTimePickerInput/DateTimePickerInput.tsx"],"sourcesContent":["import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n offset,\n Placement,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { CalendarIcon } from '@radix-ui/react-icons';\nimport { DPUserConfig } from '@rehookify/datepicker';\nimport { format, parse } from 'date-fns';\nimport React, { MouseEventHandler, Ref, useMemo, useRef, useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { DateTimePicker } from '../DateTimePicker';\nimport { Input, InputHandle } from '../Input';\n\nconst StyledWrapper = styled('div', {\n display: 'flex',\n position: 'relative',\n width: '100%',\n\n '& .firefox-patch': {\n display: 'none',\n },\n\n '@supports (-moz-appearance: none)': {\n '& .firefox-patch': {\n display: 'block',\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '17px',\n top: '6px',\n background: '$inputBg',\n\n '&::before': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$inputFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n },\n\n '@hover': {\n '&:hover .firefox-patch': {\n '&::before': {\n backgroundColor: '$inputHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n },\n});\n\nexport type DateTimePickerInputProps = Omit<DPUserConfig, 'onDatesChange' | 'selectedDates'> & {\n inputCSS?: CSS;\n inputProps?: Omit<typeof Input, 'css' | 'onChange' | 'ref' | 'value'>;\n onChange?: (d: Date[]) => void;\n pickerCSS?: CSS;\n pickerPlacement?: Placement;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerInputVariants = VariantProps<DateTimePickerInputProps>;\n\nexport const DateTimePickerInput = React.forwardRef<\n React.ElementRef<typeof StyledWrapper>,\n DateTimePickerInputProps\n>(\n (\n {\n inputCSS,\n inputProps,\n onChange,\n pickerCSS,\n pickerPlacement,\n showDatePresets,\n showTimePicker,\n ...pickerProps\n },\n fowardedRef,\n ) => {\n const formatStr = \"yyyy-MM-dd'T'HH:mm\";\n\n const arrowRef = useRef(null);\n\n const [inputValue, setInputValue] = useState<string>('');\n const [selectedDates, onDatesChange] = useState<Date[]>([]);\n const [isPickerOpen, setIsPickerOpen] = useState(false);\n\n const middleware = useMemo(\n () => [\n offset(10),\n flip(),\n shift(),\n // arrowRef is passed to floating-ui which handles it correctly\n arrow({ element: arrowRef }),\n ],\n [],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n open: isPickerOpen,\n onOpenChange: setIsPickerOpen,\n placement: pickerPlacement,\n middleware,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context);\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n const { onClick: onFirefoxPatchClick } = getReferenceProps();\n\n return (\n <StyledWrapper ref={fowardedRef}>\n <Input\n startAdornment={<CalendarIcon />}\n {...getReferenceProps()}\n {...inputProps}\n css={{ '& input::-webkit-calendar-picker-indicator': { display: 'none' }, ...inputCSS }}\n onChange={(evt) => {\n const value = evt.currentTarget.value;\n setInputValue(value);\n try {\n const newDates = (value as string)\n .split(',')\n .map((d) => parse(d.trim(), formatStr, new Date()));\n onDatesChange(newDates);\n if (onChange) onChange(newDates);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n // empty\n }\n }}\n ref={refs.setReference as Ref<InputHandle>}\n type=\"datetime-local\"\n value={inputValue}\n />\n <div\n className=\"firefox-patch\"\n onClick={onFirefoxPatchClick as MouseEventHandler<HTMLDivElement>}\n />\n {isPickerOpen && (\n <FloatingFocusManager context={context} initialFocus={-1} modal={false}>\n {/* refs.setFloating is a stable callback ref from floating-ui */}\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <Card>\n <DateTimePicker\n {...pickerProps}\n css={pickerCSS}\n onDatesChange={(d) => {\n onDatesChange(d);\n setInputValue(d.map((date) => format(date, formatStr)).join(', '));\n if (onChange) onChange(d);\n }}\n onFastTravelClick={() => setIsPickerOpen(false)}\n onTimeButtonClick={() => setIsPickerOpen(false)}\n selectedDates={selectedDates}\n showDatePresets={showDatePresets}\n showTimePicker={showTimePicker}\n />\n </Card>\n <FloatingArrow ref={arrowRef} context={context} fill=\"var(--colors-01dp)\" />\n </div>\n </FloatingFocusManager>\n )}\n </StyledWrapper>\n );\n },\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateTimePickerInput.js","names":[],"sources":["../../../components/DateTimePickerInput/DateTimePickerInput.tsx"],"sourcesContent":["import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n offset,\n Placement,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { CalendarIcon } from '@radix-ui/react-icons';\nimport { DPUserConfig } from '@rehookify/datepicker';\nimport { format, parse } from 'date-fns';\nimport React, { MouseEventHandler, Ref, useMemo, useRef, useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { DateTimePicker } from '../DateTimePicker';\nimport { Input, InputHandle } from '../Input';\n\nconst StyledWrapper = styled('div', {\n display: 'flex',\n position: 'relative',\n width: '100%',\n\n '& .firefox-patch': {\n display: 'none',\n },\n\n '@supports (-moz-appearance: none)': {\n '& .firefox-patch': {\n display: 'block',\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '17px',\n top: '6px',\n background: '$inputBg',\n\n '&::before': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$inputFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n },\n\n '@hover': {\n '&:hover .firefox-patch': {\n '&::before': {\n backgroundColor: '$inputHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n },\n});\n\nexport type DateTimePickerInputProps = Omit<DPUserConfig, 'onDatesChange' | 'selectedDates'> & {\n inputCSS?: CSS;\n inputProps?: Omit<typeof Input, 'css' | 'onChange' | 'ref' | 'value'>;\n onChange?: (d: Date[]) => void;\n pickerCSS?: CSS;\n pickerPlacement?: Placement;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerInputVariants = VariantProps<DateTimePickerInputProps>;\n\nexport const DateTimePickerInput = React.forwardRef<\n React.ElementRef<typeof StyledWrapper>,\n DateTimePickerInputProps\n>(\n (\n {\n inputCSS,\n inputProps,\n onChange,\n pickerCSS,\n pickerPlacement,\n showDatePresets,\n showTimePicker,\n ...pickerProps\n },\n fowardedRef,\n ) => {\n const formatStr = \"yyyy-MM-dd'T'HH:mm\";\n\n const arrowRef = useRef(null);\n\n const [inputValue, setInputValue] = useState<string>('');\n const [selectedDates, onDatesChange] = useState<Date[]>([]);\n const [isPickerOpen, setIsPickerOpen] = useState(false);\n\n const middleware = useMemo(\n () => [\n offset(10),\n flip(),\n shift(),\n // arrowRef is passed to floating-ui which handles it correctly\n arrow({ element: arrowRef }),\n ],\n [],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n open: isPickerOpen,\n onOpenChange: setIsPickerOpen,\n placement: pickerPlacement,\n middleware,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context);\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n const { onClick: onFirefoxPatchClick } = getReferenceProps();\n\n return (\n <StyledWrapper ref={fowardedRef}>\n <Input\n startAdornment={<CalendarIcon />}\n {...getReferenceProps()}\n {...inputProps}\n css={{ '& input::-webkit-calendar-picker-indicator': { display: 'none' }, ...inputCSS }}\n onChange={(evt) => {\n const value = evt.currentTarget.value;\n setInputValue(value);\n try {\n const newDates = (value as string)\n .split(',')\n .map((d) => parse(d.trim(), formatStr, new Date()));\n onDatesChange(newDates);\n if (onChange) onChange(newDates);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n // empty\n }\n }}\n ref={refs.setReference as Ref<InputHandle>}\n type=\"datetime-local\"\n value={inputValue}\n />\n <div\n className=\"firefox-patch\"\n onClick={onFirefoxPatchClick as MouseEventHandler<HTMLDivElement>}\n />\n {isPickerOpen && (\n <FloatingFocusManager context={context} initialFocus={-1} modal={false}>\n {/* refs.setFloating is a stable callback ref from floating-ui */}\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <Card>\n <DateTimePicker\n {...pickerProps}\n css={pickerCSS}\n onDatesChange={(d) => {\n onDatesChange(d);\n setInputValue(d.map((date) => format(date, formatStr)).join(', '));\n if (onChange) onChange(d);\n }}\n onFastTravelClick={() => setIsPickerOpen(false)}\n onTimeButtonClick={() => setIsPickerOpen(false)}\n selectedDates={selectedDates}\n showDatePresets={showDatePresets}\n showTimePicker={showTimePicker}\n />\n </Card>\n <FloatingArrow ref={arrowRef} context={context} fill=\"var(--colors-01dp)\" />\n </div>\n </FloatingFocusManager>\n )}\n </StyledWrapper>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"DateTimePickerInput.js","names":[],"sources":["../../../components/DateTimePickerInput/DateTimePickerInput.tsx"],"sourcesContent":["import {\n arrow,\n autoUpdate,\n flip,\n FloatingArrow,\n FloatingFocusManager,\n offset,\n Placement,\n shift,\n useClick,\n useDismiss,\n useFloating,\n useInteractions,\n useRole,\n} from '@floating-ui/react';\nimport { CalendarIcon } from '@radix-ui/react-icons';\nimport { DPUserConfig } from '@rehookify/datepicker';\nimport { format, parse } from 'date-fns';\nimport React, { MouseEventHandler, Ref, useMemo, useRef, useState } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { DateTimePicker } from '../DateTimePicker';\nimport { Input, InputHandle } from '../Input';\n\nconst StyledWrapper = styled('div', {\n display: 'flex',\n position: 'relative',\n width: '100%',\n\n '& .firefox-patch': {\n display: 'none',\n },\n\n '@supports (-moz-appearance: none)': {\n '& .firefox-patch': {\n display: 'block',\n width: '20px',\n height: '20px',\n position: 'absolute',\n right: '17px',\n top: '6px',\n background: '$inputBg',\n\n '&::before': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n '&::after': {\n boxSizing: 'border-box',\n content: '\"\"',\n position: 'absolute',\n inset: 0,\n pointerEvents: 'none',\n },\n\n '&:focus-visible': {\n '&::before': {\n backgroundColor: '$inputFocusBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.15,\n },\n },\n },\n\n '@hover': {\n '&:hover .firefox-patch': {\n '&::before': {\n backgroundColor: '$inputHoverBg',\n },\n '&::after': {\n backgroundColor: '$primary',\n opacity: 0.05,\n },\n },\n },\n },\n});\n\nexport type DateTimePickerInputProps = Omit<DPUserConfig, 'onDatesChange' | 'selectedDates'> & {\n inputCSS?: CSS;\n inputProps?: Omit<typeof Input, 'css' | 'onChange' | 'ref' | 'value'>;\n onChange?: (d: Date[]) => void;\n pickerCSS?: CSS;\n pickerPlacement?: Placement;\n showDatePresets?: boolean;\n showTimePicker?: boolean;\n};\n\nexport type DateTimePickerInputVariants = VariantProps<DateTimePickerInputProps>;\n\nexport const DateTimePickerInput = React.forwardRef<\n React.ElementRef<typeof StyledWrapper>,\n DateTimePickerInputProps\n>(\n (\n {\n inputCSS,\n inputProps,\n onChange,\n pickerCSS,\n pickerPlacement,\n showDatePresets,\n showTimePicker,\n ...pickerProps\n },\n fowardedRef,\n ) => {\n const formatStr = \"yyyy-MM-dd'T'HH:mm\";\n\n const arrowRef = useRef(null);\n\n const [inputValue, setInputValue] = useState<string>('');\n const [selectedDates, onDatesChange] = useState<Date[]>([]);\n const [isPickerOpen, setIsPickerOpen] = useState(false);\n\n const middleware = useMemo(\n () => [\n offset(10),\n flip(),\n shift(),\n // arrowRef is passed to floating-ui which handles it correctly\n arrow({ element: arrowRef }),\n ],\n [],\n );\n\n const { refs, floatingStyles, context } = useFloating({\n open: isPickerOpen,\n onOpenChange: setIsPickerOpen,\n placement: pickerPlacement,\n middleware,\n whileElementsMounted: autoUpdate,\n });\n\n const click = useClick(context);\n const dismiss = useDismiss(context);\n const role = useRole(context);\n\n const { getReferenceProps, getFloatingProps } = useInteractions([click, dismiss, role]);\n const { onClick: onFirefoxPatchClick } = getReferenceProps();\n\n return (\n <StyledWrapper ref={fowardedRef}>\n <Input\n startAdornment={<CalendarIcon />}\n {...getReferenceProps()}\n {...inputProps}\n css={{ '& input::-webkit-calendar-picker-indicator': { display: 'none' }, ...inputCSS }}\n onChange={(evt) => {\n const value = evt.currentTarget.value;\n setInputValue(value);\n try {\n const newDates = (value as string)\n .split(',')\n .map((d) => parse(d.trim(), formatStr, new Date()));\n onDatesChange(newDates);\n if (onChange) onChange(newDates);\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n } catch (err) {\n // empty\n }\n }}\n ref={refs.setReference as Ref<InputHandle>}\n type=\"datetime-local\"\n value={inputValue}\n />\n <div\n className=\"firefox-patch\"\n onClick={onFirefoxPatchClick as MouseEventHandler<HTMLDivElement>}\n />\n {isPickerOpen && (\n <FloatingFocusManager context={context} initialFocus={-1} modal={false}>\n {/* refs.setFloating is a stable callback ref from floating-ui */}\n <div ref={refs.setFloating} style={floatingStyles} {...getFloatingProps()}>\n <Card>\n <DateTimePicker\n {...pickerProps}\n css={pickerCSS}\n onDatesChange={(d) => {\n onDatesChange(d);\n setInputValue(d.map((date) => format(date, formatStr)).join(', '));\n if (onChange) onChange(d);\n }}\n onFastTravelClick={() => setIsPickerOpen(false)}\n onTimeButtonClick={() => setIsPickerOpen(false)}\n selectedDates={selectedDates}\n showDatePresets={showDatePresets}\n showTimePicker={showTimePicker}\n />\n </Card>\n <FloatingArrow ref={arrowRef} context={context} fill=\"var(--colors-01dp)\" />\n </div>\n </FloatingFocusManager>\n )}\n </StyledWrapper>\n );\n },\n);\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.cjs","names":[],"sources":["../../../components/Dialog/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport React, { ComponentProps } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { elevationVariants } from '../Elevation/Elevation';\nimport { IconButton } from '../IconButton';\nimport { overlayStyles } from '../Overlay';\n\ntype DialogProps = React.ComponentProps<typeof DialogPrimitive.Root> & {\n children: React.ReactNode;\n};\n\nexport const DialogOverlay = styled(DialogPrimitive.Overlay, overlayStyles, {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n});\n\nexport function Dialog({ children, ...props }: DialogProps) {\n return <DialogPrimitive.Root {...props}>{children}</DialogPrimitive.Root>;\n}\n\nexport const StyledContent = styled(DialogPrimitive.Content, Card, {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 200,\n maxHeight: '85vh',\n padding: '$4',\n marginTop: '-5vh',\n backgroundColor: '$dialogBackground',\n boxShadow: 'inset 0 0 0 1px $colors$deepBlue4',\n borderRadius: '$3',\n // animation: `${fadeIn} 125ms linear, ${moveDown} 125ms cubic-bezier(0.22, 1, 0.36, 1)`,\n willChange: 'transform',\n overflow: 'auto',\n\n '&::before': {\n boxShadow: 'none',\n },\n\n '&:focus': {\n outline: 'none',\n },\n\n variants: {\n elevation: elevationVariants,\n },\n defaultVariants: {\n elevation: 5,\n },\n});\n\nconst StyledCloseButton = styled(DialogPrimitive.Close, {\n position: 'absolute',\n top: '$2',\n right: '$2',\n cursor: 'pointer',\n});\n\ninterface DialogCloseButtonProps\n extends VariantProps<typeof IconButton>,\n ComponentProps<typeof IconButton> {}\nexport const DialogCloseIconButton = React.forwardRef<\n React.ElementRef<typeof IconButton>,\n DialogCloseButtonProps\n>((props, forwardedRef) => (\n <StyledCloseButton asChild>\n <IconButton ref={forwardedRef} css={{ color: '$hiContrast' }} {...props}>\n <Cross1Icon />\n </IconButton>\n </StyledCloseButton>\n));\n\ntype DialogContentPrimitiveProps = React.ComponentProps<typeof DialogPrimitive.Content>;\ntype DialogContentProps = DialogContentPrimitiveProps &\n VariantProps<typeof StyledContent> & { css?: CSS };\n\nexport const DialogContent = React.forwardRef<\n React.ElementRef<typeof StyledContent>,\n DialogContentProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledContent {...props} ref={forwardedRef}>\n {children}\n <DialogCloseIconButton />\n </StyledContent>\n));\n\nexport const DialogClosePrimitive = DialogPrimitive.Close;\nexport const DialogDescription = DialogPrimitive.Description;\nexport const DialogPortal = DialogPrimitive.Portal;\nexport const DialogTitle = DialogPrimitive.Title;\nexport const DialogTrigger = DialogPrimitive.Trigger;\n"],"mappings":";;;;;;;;;;;;;AAcA,IAAa,gBAAgB,wBAAA,OAAO,uBAAgB,SAAS,gBAAA,eAAe;CAC1E,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;AACR,CAAC;AAED,SAAgB,OAAO,EAAE,UAAU,GAAG,SAAsB;CAC1D,OAAO,iBAAA,GAAA,kBAAA,KAAC,uBAAgB,MAAjB;EAAsB,GAAI;EAAQ;CAA+B,CAAA;AAC1E;AAEA,IAAa,gBAAgB,wBAAA,OAAO,uBAAgB,SAAS,aAAA,MAAM;CACjE,UAAU;CACV,KAAK;CACL,MAAM;CACN,WAAW;CACX,UAAU;CACV,WAAW;CACX,SAAS;CACT,WAAW;CACX,iBAAiB;CACjB,WAAW;CACX,cAAc;CAEd,YAAY;CACZ,UAAU;CAEV,aAAa,EACX,WAAW,OACb;CAEA,WAAW,EACT,SAAS,OACX;CAEA,UAAU,EACR,WAAW,kBAAA,kBACb;CACA,iBAAiB,EACf,WAAW,EACb;AACF,CAAC;AAED,IAAM,oBAAoB,wBAAA,OAAO,uBAAgB,OAAO;CACtD,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;AACV,CAAC;AAKD,IAAa,wBAAwB,MAAA,QAAM,YAGxC,OAAO,iBACR,iBAAA,GAAA,kBAAA,KAAC,mBAAD;CAAmB,SAAA;WACjB,iBAAA,GAAA,kBAAA,KAAC,mBAAA,YAAD;EAAY,KAAK;EAAc,KAAK,EAAE,OAAO,cAAc;EAAG,GAAI;YAChE,iBAAA,GAAA,kBAAA,KAAC,sBAAA,YAAD,CAAa,CAAA;CACH,CAAA;AACK,CAAA,CACpB;AAMD,IAAa,gBAAgB,MAAA,QAAM,YAGhC,EAAE,UAAU,GAAG,SAAS,iBACzB,iBAAA,GAAA,kBAAA,MAAC,eAAD;CAAe,GAAI;CAAO,KAAK;WAA/B,CACG,UACD,iBAAA,GAAA,kBAAA,KAAC,uBAAD,CAAwB,CAAA,CACX;EAChB;AAED,IAAa,uBAAuB,uBAAgB;AACpD,IAAa,oBAAoB,uBAAgB;AACjD,IAAa,eAAe,uBAAgB;AAC5C,IAAa,cAAc,uBAAgB;AAC3C,IAAa,gBAAgB,uBAAgB"}
1
+ {"version":3,"file":"Dialog.cjs","names":[],"sources":["../../../components/Dialog/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport React, { ComponentProps } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { elevationVariants } from '../Elevation/Elevation';\nimport { IconButton } from '../IconButton';\nimport { overlayStyles } from '../Overlay';\n\ntype DialogProps = React.ComponentProps<typeof DialogPrimitive.Root> & {\n children: React.ReactNode;\n};\n\nexport const DialogOverlay = styled(DialogPrimitive.Overlay, overlayStyles, {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n});\n\nexport function Dialog({ children, ...props }: DialogProps) {\n return <DialogPrimitive.Root {...props}>{children}</DialogPrimitive.Root>;\n}\n\nexport const StyledContent = styled(DialogPrimitive.Content, Card, {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 200,\n maxHeight: '85vh',\n padding: '$4',\n marginTop: '-5vh',\n backgroundColor: '$dialogBackground',\n boxShadow: 'inset 0 0 0 1px $colors$deepBlue4',\n borderRadius: '$3',\n // animation: `${fadeIn} 125ms linear, ${moveDown} 125ms cubic-bezier(0.22, 1, 0.36, 1)`,\n willChange: 'transform',\n overflow: 'auto',\n\n '&::before': {\n boxShadow: 'none',\n },\n\n '&:focus': {\n outline: 'none',\n },\n\n variants: {\n elevation: elevationVariants,\n },\n defaultVariants: {\n elevation: 5,\n },\n});\n\nconst StyledCloseButton = styled(DialogPrimitive.Close, {\n position: 'absolute',\n top: '$2',\n right: '$2',\n cursor: 'pointer',\n});\n\ninterface DialogCloseButtonProps\n extends VariantProps<typeof IconButton>,\n ComponentProps<typeof IconButton> {}\nexport const DialogCloseIconButton = React.forwardRef<\n React.ElementRef<typeof IconButton>,\n DialogCloseButtonProps\n>((props, forwardedRef) => (\n <StyledCloseButton asChild>\n <IconButton ref={forwardedRef} css={{ color: '$hiContrast' }} {...props}>\n <Cross1Icon />\n </IconButton>\n </StyledCloseButton>\n));\n\ntype DialogContentPrimitiveProps = React.ComponentProps<typeof DialogPrimitive.Content>;\ntype DialogContentProps = DialogContentPrimitiveProps &\n VariantProps<typeof StyledContent> & { css?: CSS };\n\nexport const DialogContent = React.forwardRef<\n React.ElementRef<typeof StyledContent>,\n DialogContentProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledContent {...props} ref={forwardedRef}>\n {children}\n <DialogCloseIconButton />\n </StyledContent>\n));\n\nexport const DialogClosePrimitive = DialogPrimitive.Close;\nexport const DialogDescription = DialogPrimitive.Description;\nexport const DialogPortal = DialogPrimitive.Portal;\nexport const DialogTitle = DialogPrimitive.Title;\nexport const DialogTrigger = DialogPrimitive.Trigger;\n"],"mappings":";;;;;;;;;;;;;AAcA,IAAa,gBAAgB,wBAAA,OAAO,uBAAgB,SAAS,gBAAA,eAAe;CAC1E,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;CACP,CAAC;AAEF,SAAgB,OAAO,EAAE,UAAU,GAAG,SAAsB;CAC1D,OAAO,iBAAA,GAAA,kBAAA,KAAC,uBAAgB,MAAjB;EAAsB,GAAI;EAAQ;EAAgC,CAAA;;AAG3E,IAAa,gBAAgB,wBAAA,OAAO,uBAAgB,SAAS,aAAA,MAAM;CACjE,UAAU;CACV,KAAK;CACL,MAAM;CACN,WAAW;CACX,UAAU;CACV,WAAW;CACX,SAAS;CACT,WAAW;CACX,iBAAiB;CACjB,WAAW;CACX,cAAc;CAEd,YAAY;CACZ,UAAU;CAEV,aAAa,EACX,WAAW,QACZ;CAED,WAAW,EACT,SAAS,QACV;CAED,UAAU,EACR,WAAW,kBAAA,mBACZ;CACD,iBAAiB,EACf,WAAW,GACZ;CACF,CAAC;AAEF,IAAM,oBAAoB,wBAAA,OAAO,uBAAgB,OAAO;CACtD,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;CACT,CAAC;AAKF,IAAa,wBAAwB,MAAA,QAAM,YAGxC,OAAO,iBACR,iBAAA,GAAA,kBAAA,KAAC,mBAAD;CAAmB,SAAA;WACjB,iBAAA,GAAA,kBAAA,KAAC,mBAAA,YAAD;EAAY,KAAK;EAAc,KAAK,EAAE,OAAO,eAAe;EAAE,GAAI;YAChE,iBAAA,GAAA,kBAAA,KAAC,sBAAA,YAAD,EAAc,CAAA;EACH,CAAA;CACK,CAAA,CACpB;AAMF,IAAa,gBAAgB,MAAA,QAAM,YAGhC,EAAE,UAAU,GAAG,SAAS,iBACzB,iBAAA,GAAA,kBAAA,MAAC,eAAD;CAAe,GAAI;CAAO,KAAK;WAA/B,CACG,UACD,iBAAA,GAAA,kBAAA,KAAC,uBAAD,EAAyB,CAAA,CACX;GAChB;AAEF,IAAa,uBAAuB,uBAAgB;AACpD,IAAa,oBAAoB,uBAAgB;AACjD,IAAa,eAAe,uBAAgB;AAC5C,IAAa,cAAc,uBAAgB;AAC3C,IAAa,gBAAgB,uBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.js","names":[],"sources":["../../../components/Dialog/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport React, { ComponentProps } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { elevationVariants } from '../Elevation/Elevation';\nimport { IconButton } from '../IconButton';\nimport { overlayStyles } from '../Overlay';\n\ntype DialogProps = React.ComponentProps<typeof DialogPrimitive.Root> & {\n children: React.ReactNode;\n};\n\nexport const DialogOverlay = styled(DialogPrimitive.Overlay, overlayStyles, {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n});\n\nexport function Dialog({ children, ...props }: DialogProps) {\n return <DialogPrimitive.Root {...props}>{children}</DialogPrimitive.Root>;\n}\n\nexport const StyledContent = styled(DialogPrimitive.Content, Card, {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 200,\n maxHeight: '85vh',\n padding: '$4',\n marginTop: '-5vh',\n backgroundColor: '$dialogBackground',\n boxShadow: 'inset 0 0 0 1px $colors$deepBlue4',\n borderRadius: '$3',\n // animation: `${fadeIn} 125ms linear, ${moveDown} 125ms cubic-bezier(0.22, 1, 0.36, 1)`,\n willChange: 'transform',\n overflow: 'auto',\n\n '&::before': {\n boxShadow: 'none',\n },\n\n '&:focus': {\n outline: 'none',\n },\n\n variants: {\n elevation: elevationVariants,\n },\n defaultVariants: {\n elevation: 5,\n },\n});\n\nconst StyledCloseButton = styled(DialogPrimitive.Close, {\n position: 'absolute',\n top: '$2',\n right: '$2',\n cursor: 'pointer',\n});\n\ninterface DialogCloseButtonProps\n extends VariantProps<typeof IconButton>,\n ComponentProps<typeof IconButton> {}\nexport const DialogCloseIconButton = React.forwardRef<\n React.ElementRef<typeof IconButton>,\n DialogCloseButtonProps\n>((props, forwardedRef) => (\n <StyledCloseButton asChild>\n <IconButton ref={forwardedRef} css={{ color: '$hiContrast' }} {...props}>\n <Cross1Icon />\n </IconButton>\n </StyledCloseButton>\n));\n\ntype DialogContentPrimitiveProps = React.ComponentProps<typeof DialogPrimitive.Content>;\ntype DialogContentProps = DialogContentPrimitiveProps &\n VariantProps<typeof StyledContent> & { css?: CSS };\n\nexport const DialogContent = React.forwardRef<\n React.ElementRef<typeof StyledContent>,\n DialogContentProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledContent {...props} ref={forwardedRef}>\n {children}\n <DialogCloseIconButton />\n </StyledContent>\n));\n\nexport const DialogClosePrimitive = DialogPrimitive.Close;\nexport const DialogDescription = DialogPrimitive.Description;\nexport const DialogPortal = DialogPrimitive.Portal;\nexport const DialogTitle = DialogPrimitive.Title;\nexport const DialogTrigger = DialogPrimitive.Trigger;\n"],"mappings":";;;;;;;;;;AAcA,IAAa,gBAAgB,OAAO,gBAAgB,SAAS,eAAe;CAC1E,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;AACR,CAAC;AAED,SAAgB,OAAO,EAAE,UAAU,GAAG,SAAsB;CAC1D,OAAO,oBAAC,gBAAgB,MAAjB;EAAsB,GAAI;EAAQ;CAA+B,CAAA;AAC1E;AAEA,IAAa,gBAAgB,OAAO,gBAAgB,SAAS,MAAM;CACjE,UAAU;CACV,KAAK;CACL,MAAM;CACN,WAAW;CACX,UAAU;CACV,WAAW;CACX,SAAS;CACT,WAAW;CACX,iBAAiB;CACjB,WAAW;CACX,cAAc;CAEd,YAAY;CACZ,UAAU;CAEV,aAAa,EACX,WAAW,OACb;CAEA,WAAW,EACT,SAAS,OACX;CAEA,UAAU,EACR,WAAW,kBACb;CACA,iBAAiB,EACf,WAAW,EACb;AACF,CAAC;AAED,IAAM,oBAAoB,OAAO,gBAAgB,OAAO;CACtD,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;AACV,CAAC;AAKD,IAAa,wBAAwB,MAAM,YAGxC,OAAO,iBACR,oBAAC,mBAAD;CAAmB,SAAA;WACjB,oBAAC,YAAD;EAAY,KAAK;EAAc,KAAK,EAAE,OAAO,cAAc;EAAG,GAAI;YAChE,oBAAC,YAAD,CAAa,CAAA;CACH,CAAA;AACK,CAAA,CACpB;AAMD,IAAa,gBAAgB,MAAM,YAGhC,EAAE,UAAU,GAAG,SAAS,iBACzB,qBAAC,eAAD;CAAe,GAAI;CAAO,KAAK;WAA/B,CACG,UACD,oBAAC,uBAAD,CAAwB,CAAA,CACX;EAChB;AAED,IAAa,uBAAuB,gBAAgB;AACpD,IAAa,oBAAoB,gBAAgB;AACjD,IAAa,eAAe,gBAAgB;AAC5C,IAAa,cAAc,gBAAgB;AAC3C,IAAa,gBAAgB,gBAAgB"}
1
+ {"version":3,"file":"Dialog.js","names":[],"sources":["../../../components/Dialog/Dialog.tsx"],"sourcesContent":["import * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { Cross1Icon } from '@radix-ui/react-icons';\nimport React, { ComponentProps } from 'react';\n\nimport { CSS, styled, VariantProps } from '../../stitches.config';\nimport { Card } from '../Card';\nimport { elevationVariants } from '../Elevation/Elevation';\nimport { IconButton } from '../IconButton';\nimport { overlayStyles } from '../Overlay';\n\ntype DialogProps = React.ComponentProps<typeof DialogPrimitive.Root> & {\n children: React.ReactNode;\n};\n\nexport const DialogOverlay = styled(DialogPrimitive.Overlay, overlayStyles, {\n position: 'fixed',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n});\n\nexport function Dialog({ children, ...props }: DialogProps) {\n return <DialogPrimitive.Root {...props}>{children}</DialogPrimitive.Root>;\n}\n\nexport const StyledContent = styled(DialogPrimitive.Content, Card, {\n position: 'fixed',\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n minWidth: 200,\n maxHeight: '85vh',\n padding: '$4',\n marginTop: '-5vh',\n backgroundColor: '$dialogBackground',\n boxShadow: 'inset 0 0 0 1px $colors$deepBlue4',\n borderRadius: '$3',\n // animation: `${fadeIn} 125ms linear, ${moveDown} 125ms cubic-bezier(0.22, 1, 0.36, 1)`,\n willChange: 'transform',\n overflow: 'auto',\n\n '&::before': {\n boxShadow: 'none',\n },\n\n '&:focus': {\n outline: 'none',\n },\n\n variants: {\n elevation: elevationVariants,\n },\n defaultVariants: {\n elevation: 5,\n },\n});\n\nconst StyledCloseButton = styled(DialogPrimitive.Close, {\n position: 'absolute',\n top: '$2',\n right: '$2',\n cursor: 'pointer',\n});\n\ninterface DialogCloseButtonProps\n extends VariantProps<typeof IconButton>,\n ComponentProps<typeof IconButton> {}\nexport const DialogCloseIconButton = React.forwardRef<\n React.ElementRef<typeof IconButton>,\n DialogCloseButtonProps\n>((props, forwardedRef) => (\n <StyledCloseButton asChild>\n <IconButton ref={forwardedRef} css={{ color: '$hiContrast' }} {...props}>\n <Cross1Icon />\n </IconButton>\n </StyledCloseButton>\n));\n\ntype DialogContentPrimitiveProps = React.ComponentProps<typeof DialogPrimitive.Content>;\ntype DialogContentProps = DialogContentPrimitiveProps &\n VariantProps<typeof StyledContent> & { css?: CSS };\n\nexport const DialogContent = React.forwardRef<\n React.ElementRef<typeof StyledContent>,\n DialogContentProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledContent {...props} ref={forwardedRef}>\n {children}\n <DialogCloseIconButton />\n </StyledContent>\n));\n\nexport const DialogClosePrimitive = DialogPrimitive.Close;\nexport const DialogDescription = DialogPrimitive.Description;\nexport const DialogPortal = DialogPrimitive.Portal;\nexport const DialogTitle = DialogPrimitive.Title;\nexport const DialogTrigger = DialogPrimitive.Trigger;\n"],"mappings":";;;;;;;;;;AAcA,IAAa,gBAAgB,OAAO,gBAAgB,SAAS,eAAe;CAC1E,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;CACR,MAAM;CACP,CAAC;AAEF,SAAgB,OAAO,EAAE,UAAU,GAAG,SAAsB;CAC1D,OAAO,oBAAC,gBAAgB,MAAjB;EAAsB,GAAI;EAAQ;EAAgC,CAAA;;AAG3E,IAAa,gBAAgB,OAAO,gBAAgB,SAAS,MAAM;CACjE,UAAU;CACV,KAAK;CACL,MAAM;CACN,WAAW;CACX,UAAU;CACV,WAAW;CACX,SAAS;CACT,WAAW;CACX,iBAAiB;CACjB,WAAW;CACX,cAAc;CAEd,YAAY;CACZ,UAAU;CAEV,aAAa,EACX,WAAW,QACZ;CAED,WAAW,EACT,SAAS,QACV;CAED,UAAU,EACR,WAAW,mBACZ;CACD,iBAAiB,EACf,WAAW,GACZ;CACF,CAAC;AAEF,IAAM,oBAAoB,OAAO,gBAAgB,OAAO;CACtD,UAAU;CACV,KAAK;CACL,OAAO;CACP,QAAQ;CACT,CAAC;AAKF,IAAa,wBAAwB,MAAM,YAGxC,OAAO,iBACR,oBAAC,mBAAD;CAAmB,SAAA;WACjB,oBAAC,YAAD;EAAY,KAAK;EAAc,KAAK,EAAE,OAAO,eAAe;EAAE,GAAI;YAChE,oBAAC,YAAD,EAAc,CAAA;EACH,CAAA;CACK,CAAA,CACpB;AAMF,IAAa,gBAAgB,MAAM,YAGhC,EAAE,UAAU,GAAG,SAAS,iBACzB,qBAAC,eAAD;CAAe,GAAI;CAAO,KAAK;WAA/B,CACG,UACD,oBAAC,uBAAD,EAAyB,CAAA,CACX;GAChB;AAEF,IAAa,uBAAuB,gBAAgB;AACpD,IAAa,oBAAoB,gBAAgB;AACjD,IAAa,eAAe,gBAAgB;AAC5C,IAAa,cAAc,gBAAgB;AAC3C,IAAa,gBAAgB,gBAAgB"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.themes.cjs","names":[],"sources":["../../../components/Dialog/Dialog.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n type Colors = {\n dialogBackground: Property.Color;\n };\n\n type Factory = (primaryColor?: ColorInfo) => Colors;\n\n export const getLight: Factory = () => ({\n dialogBackground: '$deepBlue2',\n });\n\n export const getDark: Factory = () => ({\n dialogBackground: '$deepBlue3',\n });\n}\n"],"mappings":";AAIO,IAAA;;CAOQ,OAAA,kBAA2B,EACtC,kBAAkB,aACpB;CAEa,OAAA,iBAA0B,EACrC,kBAAkB,aACpB;wBACF"}
1
+ {"version":3,"file":"Dialog.themes.cjs","names":[],"sources":["../../../components/Dialog/Dialog.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n type Colors = {\n dialogBackground: Property.Color;\n };\n\n type Factory = (primaryColor?: ColorInfo) => Colors;\n\n export const getLight: Factory = () => ({\n dialogBackground: '$deepBlue2',\n });\n\n export const getDark: Factory = () => ({\n dialogBackground: '$deepBlue3',\n });\n}\n"],"mappings":";AAIO,IAAA;;CAOQ,OAAA,kBAA2B,EACtC,kBAAkB,cACnB;CAEY,OAAA,iBAA0B,EACrC,kBAAkB,cACnB;yBACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"Dialog.themes.js","names":[],"sources":["../../../components/Dialog/Dialog.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n type Colors = {\n dialogBackground: Property.Color;\n };\n\n type Factory = (primaryColor?: ColorInfo) => Colors;\n\n export const getLight: Factory = () => ({\n dialogBackground: '$deepBlue2',\n });\n\n export const getDark: Factory = () => ({\n dialogBackground: '$deepBlue3',\n });\n}\n"],"mappings":";AAIO,IAAA;;CAOQ,OAAA,kBAA2B,EACtC,kBAAkB,aACpB;CAEa,OAAA,iBAA0B,EACrC,kBAAkB,aACpB;wBACF"}
1
+ {"version":3,"file":"Dialog.themes.js","names":[],"sources":["../../../components/Dialog/Dialog.themes.ts"],"sourcesContent":["import { Property } from '@stitches/react/types/css';\n\nimport { ColorInfo } from '../../utils/getPrimaryColorInfo';\n\nexport namespace Theme {\n type Colors = {\n dialogBackground: Property.Color;\n };\n\n type Factory = (primaryColor?: ColorInfo) => Colors;\n\n export const getLight: Factory = () => ({\n dialogBackground: '$deepBlue2',\n });\n\n export const getDark: Factory = () => ({\n dialogBackground: '$deepBlue3',\n });\n}\n"],"mappings":";AAIO,IAAA;;CAOQ,OAAA,kBAA2B,EACtC,kBAAkB,cACnB;CAEY,OAAA,iBAA0B,EACrC,kBAAkB,cACnB;yBACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"DropdownMenu.cjs","names":[],"sources":["../../../components/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon } from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { CSS, styled } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Flex } from '../Flex';\nimport { panelStyles } from '../Panel';\nimport { itemCss, labelCss, menuCss, separatorCss } from './styles';\n\nexport const DropdownMenu = DropdownMenuPrimitive.Root;\nexport const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\nexport const DropdownMenuContent = styled(DropdownMenuPrimitive.Content, menuCss, panelStyles);\nexport const DropdownMenuSeparator = styled(DropdownMenuPrimitive.Separator, separatorCss);\nexport const DropdownMenuItem = styled(DropdownMenuPrimitive.Item, itemCss);\n\nconst StyledDropdownMenuRadioItem = styled(DropdownMenuPrimitive.RadioItem, itemCss);\n\ntype DialogMenuRadioItemPrimitiveProps = Omit<\n React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>,\n 'as'\n>;\ntype DialogMenuRadioItemProps = DialogMenuRadioItemPrimitiveProps & { css?: CSS };\n\nexport const DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof StyledDropdownMenuRadioItem>,\n DialogMenuRadioItemProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledDropdownMenuRadioItem {...props} ref={forwardedRef}>\n <Box as=\"span\" css={{ position: 'absolute', left: '$1' }}>\n <DropdownMenuPrimitive.ItemIndicator>\n <Flex css={{ width: '$3', height: '$3', alignItems: 'center', justifyContent: 'center' }}>\n <Box\n css={{\n width: '$1',\n height: '$1',\n backgroundColor: 'currentColor',\n borderRadius: '$round',\n }}\n />\n </Flex>\n </DropdownMenuPrimitive.ItemIndicator>\n </Box>\n {children}\n </StyledDropdownMenuRadioItem>\n));\n\nconst StyledDropdownMenuCheckboxItem = styled(DropdownMenuPrimitive.CheckboxItem, itemCss);\n\ntype DialogMenuCheckboxItemPrimitiveProps = Omit<\n React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>,\n 'as'\n>;\ntype DialogMenuCheckboxItemProps = DialogMenuCheckboxItemPrimitiveProps & { css?: CSS };\n\nexport const DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof StyledDropdownMenuCheckboxItem>,\n DialogMenuCheckboxItemProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledDropdownMenuCheckboxItem {...props} ref={forwardedRef}>\n <Box as=\"span\" css={{ position: 'absolute', left: '$1' }}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </Box>\n {children}\n </StyledDropdownMenuCheckboxItem>\n));\n\nexport const DropdownMenuLabel = styled(DropdownMenuPrimitive.Label, labelCss);\nexport const DropdownMenuRadioGroup = styled(DropdownMenuPrimitive.RadioGroup, {});\nexport const DropdownMenuGroup = styled(DropdownMenuPrimitive.Group, {});\nexport const DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n"],"mappings":";;;;;;;;;;;;;AAUA,IAAa,eAAe,8BAAsB;AAClD,IAAa,sBAAsB,8BAAsB;AACzD,IAAa,sBAAsB,wBAAA,OAAO,8BAAsB,SAAS,eAAA,SAAS,cAAA,WAAW;AAC7F,IAAa,wBAAwB,wBAAA,OAAO,8BAAsB,WAAW,eAAA,YAAY;AACzF,IAAa,mBAAmB,wBAAA,OAAO,8BAAsB,MAAM,eAAA,OAAO;AAE1E,IAAM,8BAA8B,wBAAA,OAAO,8BAAsB,WAAW,eAAA,OAAO;AAQnF,IAAa,wBAAwB,MAAA,QAAM,YAGxC,EAAE,UAAU,GAAG,SAAS,iBACzB,iBAAA,GAAA,kBAAA,MAAC,6BAAD;CAA6B,GAAI;CAAO,KAAK;WAA7C,CACE,iBAAA,GAAA,kBAAA,KAAC,YAAA,KAAD;EAAK,IAAG;EAAO,KAAK;GAAE,UAAU;GAAY,MAAM;EAAK;YACrD,iBAAA,GAAA,kBAAA,KAAC,8BAAsB,eAAvB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,aAAA,MAAD;GAAM,KAAK;IAAE,OAAO;IAAM,QAAQ;IAAM,YAAY;IAAU,gBAAgB;GAAS;aACrF,iBAAA,GAAA,kBAAA,KAAC,YAAA,KAAD,EACE,KAAK;IACH,OAAO;IACP,QAAQ;IACR,iBAAiB;IACjB,cAAc;GAChB,EACD,CAAA;EACG,CAAA,EAC6B,CAAA;CAClC,CAAA,GACJ,QAC0B;EAC9B;AAED,IAAM,iCAAiC,wBAAA,OAAO,8BAAsB,cAAc,eAAA,OAAO;AAQzF,IAAa,2BAA2B,MAAA,QAAM,YAG3C,EAAE,UAAU,GAAG,SAAS,iBACzB,iBAAA,GAAA,kBAAA,MAAC,gCAAD;CAAgC,GAAI;CAAO,KAAK;WAAhD,CACE,iBAAA,GAAA,kBAAA,KAAC,YAAA,KAAD;EAAK,IAAG;EAAO,KAAK;GAAE,UAAU;GAAY,MAAM;EAAK;YACrD,iBAAA,GAAA,kBAAA,KAAC,8BAAsB,eAAvB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,sBAAA,WAAD,CAAY,CAAA,EACuB,CAAA;CAClC,CAAA,GACJ,QAC6B;EACjC;AAED,IAAa,oBAAoB,wBAAA,OAAO,8BAAsB,OAAO,eAAA,QAAQ;AAC7E,IAAa,yBAAyB,wBAAA,OAAO,8BAAsB,YAAY,CAAC,CAAC;AACjF,IAAa,oBAAoB,wBAAA,OAAO,8BAAsB,OAAO,CAAC,CAAC;AACvE,IAAa,qBAAqB,8BAAsB"}
1
+ {"version":3,"file":"DropdownMenu.cjs","names":[],"sources":["../../../components/DropdownMenu/DropdownMenu.tsx"],"sourcesContent":["import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon } from '@radix-ui/react-icons';\nimport React from 'react';\n\nimport { CSS, styled } from '../../stitches.config';\nimport { Box } from '../Box';\nimport { Flex } from '../Flex';\nimport { panelStyles } from '../Panel';\nimport { itemCss, labelCss, menuCss, separatorCss } from './styles';\n\nexport const DropdownMenu = DropdownMenuPrimitive.Root;\nexport const DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\nexport const DropdownMenuContent = styled(DropdownMenuPrimitive.Content, menuCss, panelStyles);\nexport const DropdownMenuSeparator = styled(DropdownMenuPrimitive.Separator, separatorCss);\nexport const DropdownMenuItem = styled(DropdownMenuPrimitive.Item, itemCss);\n\nconst StyledDropdownMenuRadioItem = styled(DropdownMenuPrimitive.RadioItem, itemCss);\n\ntype DialogMenuRadioItemPrimitiveProps = Omit<\n React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>,\n 'as'\n>;\ntype DialogMenuRadioItemProps = DialogMenuRadioItemPrimitiveProps & { css?: CSS };\n\nexport const DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof StyledDropdownMenuRadioItem>,\n DialogMenuRadioItemProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledDropdownMenuRadioItem {...props} ref={forwardedRef}>\n <Box as=\"span\" css={{ position: 'absolute', left: '$1' }}>\n <DropdownMenuPrimitive.ItemIndicator>\n <Flex css={{ width: '$3', height: '$3', alignItems: 'center', justifyContent: 'center' }}>\n <Box\n css={{\n width: '$1',\n height: '$1',\n backgroundColor: 'currentColor',\n borderRadius: '$round',\n }}\n />\n </Flex>\n </DropdownMenuPrimitive.ItemIndicator>\n </Box>\n {children}\n </StyledDropdownMenuRadioItem>\n));\n\nconst StyledDropdownMenuCheckboxItem = styled(DropdownMenuPrimitive.CheckboxItem, itemCss);\n\ntype DialogMenuCheckboxItemPrimitiveProps = Omit<\n React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>,\n 'as'\n>;\ntype DialogMenuCheckboxItemProps = DialogMenuCheckboxItemPrimitiveProps & { css?: CSS };\n\nexport const DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof StyledDropdownMenuCheckboxItem>,\n DialogMenuCheckboxItemProps\n>(({ children, ...props }, forwardedRef) => (\n <StyledDropdownMenuCheckboxItem {...props} ref={forwardedRef}>\n <Box as=\"span\" css={{ position: 'absolute', left: '$1' }}>\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon />\n </DropdownMenuPrimitive.ItemIndicator>\n </Box>\n {children}\n </StyledDropdownMenuCheckboxItem>\n));\n\nexport const DropdownMenuLabel = styled(DropdownMenuPrimitive.Label, labelCss);\nexport const DropdownMenuRadioGroup = styled(DropdownMenuPrimitive.RadioGroup, {});\nexport const DropdownMenuGroup = styled(DropdownMenuPrimitive.Group, {});\nexport const DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n"],"mappings":";;;;;;;;;;;;;AAUA,IAAa,eAAe,8BAAsB;AAClD,IAAa,sBAAsB,8BAAsB;AACzD,IAAa,sBAAsB,wBAAA,OAAO,8BAAsB,SAAS,eAAA,SAAS,cAAA,YAAY;AAC9F,IAAa,wBAAwB,wBAAA,OAAO,8BAAsB,WAAW,eAAA,aAAa;AAC1F,IAAa,mBAAmB,wBAAA,OAAO,8BAAsB,MAAM,eAAA,QAAQ;AAE3E,IAAM,8BAA8B,wBAAA,OAAO,8BAAsB,WAAW,eAAA,QAAQ;AAQpF,IAAa,wBAAwB,MAAA,QAAM,YAGxC,EAAE,UAAU,GAAG,SAAS,iBACzB,iBAAA,GAAA,kBAAA,MAAC,6BAAD;CAA6B,GAAI;CAAO,KAAK;WAA7C,CACE,iBAAA,GAAA,kBAAA,KAAC,YAAA,KAAD;EAAK,IAAG;EAAO,KAAK;GAAE,UAAU;GAAY,MAAM;GAAM;YACtD,iBAAA,GAAA,kBAAA,KAAC,8BAAsB,eAAvB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,aAAA,MAAD;GAAM,KAAK;IAAE,OAAO;IAAM,QAAQ;IAAM,YAAY;IAAU,gBAAgB;IAAU;aACtF,iBAAA,GAAA,kBAAA,KAAC,YAAA,KAAD,EACE,KAAK;IACH,OAAO;IACP,QAAQ;IACR,iBAAiB;IACjB,cAAc;IACf,EACD,CAAA;GACG,CAAA,EAC6B,CAAA;EAClC,CAAA,EACL,SAC2B;GAC9B;AAEF,IAAM,iCAAiC,wBAAA,OAAO,8BAAsB,cAAc,eAAA,QAAQ;AAQ1F,IAAa,2BAA2B,MAAA,QAAM,YAG3C,EAAE,UAAU,GAAG,SAAS,iBACzB,iBAAA,GAAA,kBAAA,MAAC,gCAAD;CAAgC,GAAI;CAAO,KAAK;WAAhD,CACE,iBAAA,GAAA,kBAAA,KAAC,YAAA,KAAD;EAAK,IAAG;EAAO,KAAK;GAAE,UAAU;GAAY,MAAM;GAAM;YACtD,iBAAA,GAAA,kBAAA,KAAC,8BAAsB,eAAvB,EAAA,UACE,iBAAA,GAAA,kBAAA,KAAC,sBAAA,WAAD,EAAa,CAAA,EACuB,CAAA;EAClC,CAAA,EACL,SAC8B;GACjC;AAEF,IAAa,oBAAoB,wBAAA,OAAO,8BAAsB,OAAO,eAAA,SAAS;AAC9E,IAAa,yBAAyB,wBAAA,OAAO,8BAAsB,YAAY,EAAE,CAAC;AAClF,IAAa,oBAAoB,wBAAA,OAAO,8BAAsB,OAAO,EAAE,CAAC;AACxE,IAAa,qBAAqB,8BAAsB"}