@pnx-mixtape/mxds 0.0.19 → 0.0.20

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 (113) hide show
  1. package/dist/build/accordion.entry.js +2 -2
  2. package/dist/build/accordion.entry.js.map +1 -1
  3. package/dist/build/base.css +2 -1
  4. package/dist/build/button.css +4 -4
  5. package/dist/build/card.css +6 -5
  6. package/dist/build/chunks/{Accordion-deu4CCT-.js → Accordion-O-huO4At.js} +2 -2
  7. package/dist/build/chunks/{Accordion-deu4CCT-.js.map → Accordion-O-huO4At.js.map} +1 -1
  8. package/dist/build/chunks/{disclosure-widget-WwE5XplD.js → disclosure-widget-DVpnRsTI.js} +2 -2
  9. package/dist/build/chunks/{disclosure-widget-WwE5XplD.js.map → disclosure-widget-DVpnRsTI.js.map} +1 -1
  10. package/dist/build/chunks/{drop-menu.entry-e1iZ4ERw.js → drop-menu.entry-B4TtnC50.js} +2 -2
  11. package/dist/build/chunks/{drop-menu.entry-e1iZ4ERw.js.map → drop-menu.entry-B4TtnC50.js.map} +1 -1
  12. package/dist/build/chunks/{utilities-BeWkujCZ.js → utilities-DXELy_An.js} +91 -1
  13. package/dist/build/chunks/utilities-DXELy_An.js.map +1 -0
  14. package/dist/build/constants.css +6 -4
  15. package/dist/build/dialog.css +1 -9
  16. package/dist/build/dialog.entry.js +1 -1
  17. package/dist/build/drop-menu.entry.js +1 -1
  18. package/dist/build/filters.entry.js +1 -1
  19. package/dist/build/global-alert.entry.js +1 -1
  20. package/dist/build/header.css +49 -63
  21. package/dist/build/header.entry.js +1107 -21
  22. package/dist/build/header.entry.js.map +1 -1
  23. package/dist/build/hero-banner.css +12 -6
  24. package/dist/build/in-page-navigation.entry.js +1 -1
  25. package/dist/build/navigation.entry.js +2 -2
  26. package/dist/build/page.css +2 -2
  27. package/dist/build/pagination.css +15 -21
  28. package/dist/build/steps.css +11 -11
  29. package/dist/build/sticky.entry.js +1 -1
  30. package/dist/build/tabs.entry.js +2 -2
  31. package/dist/build/utilities.css +9 -1
  32. package/package.json +14 -14
  33. package/src/Atom/Button/_buttons-styles.css +3 -3
  34. package/src/Atom/Heading/Heading.tsx +1 -1
  35. package/src/Atom/Link/Link.stories.tsx +2 -6
  36. package/src/Atom/Link/Link.tsx +9 -4
  37. package/src/Atom/Link/_links.css +1 -0
  38. package/src/Component/Accordion/Accordion.stories.tsx +39 -9
  39. package/src/Component/Accordion/Accordion.tsx +28 -50
  40. package/src/Component/Accordion/Components/AccordionContent.tsx +24 -0
  41. package/src/Component/Accordion/Components/AccordionTitle.tsx +34 -0
  42. package/src/Component/Accordion/Components/AccordionTitleIcon.tsx +22 -0
  43. package/src/Component/Accordion/__snapshots__/Accordion.stories.tsx.snap +26 -0
  44. package/src/Component/Breadcrumb/Breadcrumb.tsx +8 -2
  45. package/src/Component/Breadcrumb/__snapshots__/Breadcrumb.stories.tsx.snap +7 -3
  46. package/src/Component/Card/Card.stories.tsx +22 -19
  47. package/src/Component/Card/Card.tsx +6 -28
  48. package/src/Component/Card/Components/CardContent.tsx +12 -0
  49. package/src/Component/Card/Components/CardMedia.tsx +17 -0
  50. package/src/Component/Card/__snapshots__/Card.stories.tsx.snap +9 -9
  51. package/src/Component/Card/card.css +3 -2
  52. package/src/Component/ContentBlock/Components/ContentBlockContent.tsx +14 -0
  53. package/src/Component/ContentBlock/Components/ContentBlockMedia.tsx +20 -0
  54. package/src/Component/ContentBlock/ContentBlock.stories.tsx +16 -13
  55. package/src/Component/ContentBlock/ContentBlock.tsx +5 -28
  56. package/src/Component/ContentBlock/__snapshots__/ContentBlock.stories.tsx.snap +0 -2
  57. package/src/Component/Dialog/Components/DialogCloseButton.tsx +18 -0
  58. package/src/Component/Dialog/Components/DialogContent.tsx +7 -0
  59. package/src/Component/Dialog/Dialog.stories.tsx +19 -24
  60. package/src/Component/Dialog/Dialog.tsx +31 -25
  61. package/src/Component/Dialog/__snapshots__/Dialog.stories.tsx.snap +14 -21
  62. package/src/Component/Dialog/dialog.css +0 -8
  63. package/src/Component/HeroBanner/HeroBanner.stories.ts +23 -12
  64. package/src/Component/HeroBanner/HeroBanner.stories.tsx +26 -7
  65. package/src/Component/HeroBanner/HeroBanner.tsx +2 -20
  66. package/src/Component/HeroBanner/__snapshots__/HeroBanner.stories.ts.snap +51 -3
  67. package/src/Component/HeroBanner/hero-banner.css +8 -4
  68. package/src/Component/HeroBanner/hero-banner.twig +2 -2
  69. package/src/Component/HeroSearch/HeroSearch.stories.ts +105 -0
  70. package/src/Component/HeroSearch/HeroSearch.stories.tsx +48 -0
  71. package/src/Component/HeroSearch/HeroSearch.tsx +32 -0
  72. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.ts.snap +176 -0
  73. package/src/Component/HeroSearch/__snapshots__/HeroSearch.stories.tsx.snap +36 -0
  74. package/src/Component/HeroSearch/hero-search.twig +43 -0
  75. package/src/Component/InPageNavigation/InPageNavigation.stories.tsx +1 -1
  76. package/src/Component/InPageNavigation/InPageNavigation.tsx +1 -0
  77. package/src/Component/InPageNavigation/__snapshots__/InPageNavigation.stories.tsx.snap +1 -1
  78. package/src/Component/LinkList/LinkList.stories.ts +12 -0
  79. package/src/Component/LinkList/LinkList.stories.tsx +0 -6
  80. package/src/Component/LinkList/LinkList.tsx +5 -16
  81. package/src/Component/LinkList/__snapshots__/LinkList.stories.ts.snap +37 -0
  82. package/src/Component/LinkList/__snapshots__/LinkList.stories.tsx.snap +9 -29
  83. package/src/Component/LinkList/link-list.twig +1 -0
  84. package/src/Component/ListItem/Components/ListItemContent.tsx +12 -0
  85. package/src/Component/ListItem/Components/ListItemMedia.tsx +20 -0
  86. package/src/Component/ListItem/ListItem.stories.tsx +22 -19
  87. package/src/Component/ListItem/ListItem.tsx +3 -32
  88. package/src/Component/ListItem/__snapshots__/ListItem.stories.tsx.snap +3 -0
  89. package/src/Component/Pagination/Components/PaginationContext.tsx +10 -4
  90. package/src/Component/Pagination/Components/PaginationItem.tsx +10 -10
  91. package/src/Component/Pagination/__snapshots__/Pagination.stories.tsx.snap +10 -4
  92. package/src/Component/Pagination/pagination.css +13 -18
  93. package/src/Component/Steps/steps.css +1 -2
  94. package/src/Component/Tabs/Components/TabPanel.tsx +1 -1
  95. package/src/Component/Tabs/__snapshots__/Tabs.stories.tsx.snap +2 -0
  96. package/src/Component/Tile/Tile.stories.tsx +20 -15
  97. package/src/Component/Tile/__snapshots__/Tile.stories.tsx.snap +18 -23
  98. package/src/Layout/Header/Elements/GlobalToggle.ts +55 -21
  99. package/src/Layout/Header/__snapshots__/Header.stories.ts.snap +14 -14
  100. package/src/Layout/Header/_header.css +2 -47
  101. package/src/Layout/Header/_toggles.css +37 -1
  102. package/src/Layout/Header/header.twig +5 -5
  103. package/src/Layout/Page/Page.stories.tsx +13 -4
  104. package/src/Layout/Page/page.css +1 -1
  105. package/src/Layout/Section/__snapshots__/Section.stories.tsx.snap +3 -3
  106. package/src/Layout/Section/__snapshots__/SectionGrid.stories.tsx.snap +2 -2
  107. package/src/Layout/Sidebar/__snapshots__/Sidebar.stories.tsx.snap +3 -3
  108. package/src/Utility/utilities.css +8 -0
  109. package/src/constants.css +5 -3
  110. package/src/react.ts +30 -7
  111. package/src/tokens.js +3 -1
  112. package/dist/build/chunks/utilities-BeWkujCZ.js.map +0 -1
  113. package/src/Component/Tile/Tile.tsx +0 -53
@@ -1 +0,0 @@
1
- {"version":3,"file":"utilities-BeWkujCZ.js","sources":["../../../node_modules/.pnpm/js-cookie@3.0.5/node_modules/js-cookie/dist/js.cookie.mjs","../../../src/Utility/utilities.ts"],"sourcesContent":["/*! js-cookie v3.0.5 | MIT */\n/* eslint-disable no-var */\nfunction assign (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n target[key] = source[key];\n }\n }\n return target\n}\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\nvar defaultConverter = {\n read: function (value) {\n if (value[0] === '\"') {\n value = value.slice(1, -1);\n }\n return value.replace(/(%[\\dA-F]{2})+/gi, decodeURIComponent)\n },\n write: function (value) {\n return encodeURIComponent(value).replace(\n /%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,\n decodeURIComponent\n )\n }\n};\n/* eslint-enable no-var */\n\n/* eslint-disable no-var */\n\nfunction init (converter, defaultAttributes) {\n function set (name, value, attributes) {\n if (typeof document === 'undefined') {\n return\n }\n\n attributes = assign({}, defaultAttributes, attributes);\n\n if (typeof attributes.expires === 'number') {\n attributes.expires = new Date(Date.now() + attributes.expires * 864e5);\n }\n if (attributes.expires) {\n attributes.expires = attributes.expires.toUTCString();\n }\n\n name = encodeURIComponent(name)\n .replace(/%(2[346B]|5E|60|7C)/g, decodeURIComponent)\n .replace(/[()]/g, escape);\n\n var stringifiedAttributes = '';\n for (var attributeName in attributes) {\n if (!attributes[attributeName]) {\n continue\n }\n\n stringifiedAttributes += '; ' + attributeName;\n\n if (attributes[attributeName] === true) {\n continue\n }\n\n // Considers RFC 6265 section 5.2:\n // ...\n // 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n // character:\n // Consume the characters of the unparsed-attributes up to,\n // not including, the first %x3B (\";\") character.\n // ...\n stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n }\n\n return (document.cookie =\n name + '=' + converter.write(value, name) + stringifiedAttributes)\n }\n\n function get (name) {\n if (typeof document === 'undefined' || (arguments.length && !name)) {\n return\n }\n\n // To prevent the for loop in the first place assign an empty array\n // in case there are no cookies at all.\n var cookies = document.cookie ? document.cookie.split('; ') : [];\n var jar = {};\n for (var i = 0; i < cookies.length; i++) {\n var parts = cookies[i].split('=');\n var value = parts.slice(1).join('=');\n\n try {\n var found = decodeURIComponent(parts[0]);\n jar[found] = converter.read(value, found);\n\n if (name === found) {\n break\n }\n } catch (e) {}\n }\n\n return name ? jar[name] : jar\n }\n\n return Object.create(\n {\n set,\n get,\n remove: function (name, attributes) {\n set(\n name,\n '',\n assign({}, attributes, {\n expires: -1\n })\n );\n },\n withAttributes: function (attributes) {\n return init(this.converter, assign({}, this.attributes, attributes))\n },\n withConverter: function (converter) {\n return init(assign({}, this.converter, converter), this.attributes)\n }\n },\n {\n attributes: { value: Object.freeze(defaultAttributes) },\n converter: { value: Object.freeze(converter) }\n }\n )\n}\n\nvar api = init(defaultConverter, { path: '/' });\n/* eslint-enable no-var */\n\nexport { api as default };\n","/* eslint-disable no-console */\n/**\n * @file utilities.\n */\n\nexport { default as DisclosureWidget } from \"./Elements/disclosure-widget\"\nexport type { DisclosureWidgetEvent } from \"./Elements/disclosure-widget\"\nexport { default as Keyboard } from \"./Elements/keyboard\"\nexport { default as CookieCompliance } from \"./Elements/cookie-compliance\"\nexport { default as IntersectionLoader } from \"./Elements/io-loader\"\nexport { default as BreakpointLoader } from \"./Elements/breakpoint-loader\"\n\nexport const makeAnchor = (string: string, length: number = 20): string => {\n if (typeof string !== \"string\" || !string) return \"\"\n // Convert the string to lowercase and remove non-alphanumeric characters.\n let id: string = string\n .toLowerCase()\n .trim()\n .replace(/\\s+/g, \"-\")\n .replace(/[^-a-z0-9]/g, \"\")\n .replace(/[\\n\\r]+|[\\s]{2,}/g, \"\")\n // Ensure we start the id with a letter.\n // Only run this several times.\n const times: number[] = [...Array(6).keys()]\n times.forEach((): void => {\n if (!id.charAt(0).match(/[a-z]/g)) {\n id = id.substring(1)\n }\n })\n // Cut to the desired length.\n if (length) id = id.substring(0, length + 1)\n\n return id\n}\n\nexport const makeCamelCase = (string: string): string => {\n if (typeof string !== \"string\" || !string) return \"\"\n const output: string = string\n .trim()\n .replace(\n /(?:^\\w|[A-Z]|\\b\\w|\\s+)/g,\n (match: string, index: number): string => {\n if (+match === 0) return \"\"\n return index === 0 ? match.toLowerCase() : match.toUpperCase()\n },\n )\n return output.replace(/[^\\w\\s]/gi, \"\")\n}\n\nexport const isInternalLink = (\n href: string,\n internalHostnames: string[],\n): boolean => {\n if (typeof href !== \"string\" || !href || !Array.isArray(internalHostnames)) {\n return false\n }\n\n try {\n const { hostname }: { hostname: string } = new URL(href)\n return (\n window.location.hostname === hostname ||\n internalHostnames.includes(hostname)\n )\n } catch (error) {\n console.error(error)\n return false\n }\n}\n\nexport const createElement = (string: string): Element | null => {\n try {\n const el: HTMLDivElement = document.createElement(\"div\")\n el.innerHTML = string\n return el.firstElementChild\n } catch (error) {\n console.error(error)\n return null\n }\n}\n\nexport const getElementBox = (\n element: HTMLElement,\n once: boolean = false,\n content: boolean = false,\n): void => {\n const observer: ResizeObserver = new ResizeObserver(entries => {\n entries.forEach(({ contentBoxSize, borderBoxSize }) => {\n const [{ inlineSize, blockSize }] = content\n ? contentBoxSize\n : borderBoxSize\n element.style.setProperty(\"--inline-size\", `${inlineSize.toFixed(1)}px`)\n element.style.setProperty(\"--block-size\", `${blockSize.toFixed(1)}px`)\n if (once) observer.unobserve(element)\n })\n })\n observer.observe(element)\n}\n\nexport const handleOutsideClick = (\n event: MouseEvent,\n container: HTMLElement,\n callback: () => void,\n ignored: HTMLElement[] = [],\n): void => {\n const {\n target,\n clientY,\n clientX,\n }: { target: EventTarget; clientY: number; clientX: number } = event\n // FF treating option click as outside click.\n const isOption: boolean =\n target instanceof HTMLOptionElement || target instanceof HTMLSelectElement\n // Or it's in the ignored list.\n\n const isIgnored: HTMLElement[] = ignored?.filter(\n item => item === target || item.contains(target as HTMLElement),\n )\n // Exit early if we can.\n if (isIgnored.length || isOption) return\n // Check if click is inside the dialog content.\n const obs: IntersectionObserver = new IntersectionObserver(\n ([{ boundingClientRect }]) => {\n const { top, height, width, left } = boundingClientRect\n const isInDialog: boolean =\n top <= clientY &&\n clientY <= top + height &&\n left <= clientX &&\n clientX <= left + width\n\n if (!isInDialog) {\n callback()\n }\n obs.disconnect()\n },\n )\n obs.observe(container)\n}\n\nexport const handleEscape = (\n event: KeyboardEvent,\n callback: () => void,\n): void => {\n const { key } = event\n if (key === \"Escape\") {\n callback()\n }\n}\n\nexport const loadOnReady = (\n callback: (this: Window, ev: Event) => void,\n name: string,\n): void => {\n // @ts-expect-error Drupal is global\n if (Object.hasOwn(window, \"Drupal\") && Object.hasOwn(Drupal, \"behaviors\")) {\n // @ts-expect-error Drupal is global\n Drupal.behaviors[name] = {\n attach: callback,\n }\n return\n }\n window.addEventListener(\"DOMContentLoaded\", callback.bind(document, document))\n}\n"],"names":["converter"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,53 +0,0 @@
1
- import { JSX, ReactNode, PropsWithChildren } from "react"
2
- import classNames from "classnames"
3
- import Heading from "../../Atom/Heading/Heading"
4
- import { HeadingStyles, BackgroundStyles } from "../../enums"
5
- import { HeadingTypes, AsTypes } from "@pnx-mixtape/ids-shape"
6
- import Icon, { IconProps } from "../../Atom/Icon/Icon"
7
-
8
- type TileProps = PropsWithChildren & {
9
- title: string
10
- icon?: IconProps
11
- intro?: ReactNode
12
- headingLevel?: HeadingTypes
13
- headingModifier?: HeadingStyles
14
- as?: AsTypes
15
- background?: BackgroundStyles
16
- className?: string
17
- }
18
-
19
- const Tile = ({
20
- title,
21
- children,
22
- icon = null,
23
- intro = null,
24
- headingLevel = HeadingTypes.THREE,
25
- headingModifier = null,
26
- as = AsTypes.DIV,
27
- className = null,
28
- background = BackgroundStyles.BOX,
29
- }: TileProps): JSX.Element => {
30
- const Tag: JSX.ElementType = `${as}` as unknown as JSX.ElementType
31
- return (
32
- <Tag
33
- className={classNames("mx-card", "mx-card--block", className, {
34
- [`mx-background--${background}`]: background,
35
- })}
36
- >
37
- {icon && (
38
- <div className="mx-card__icon">
39
- <Icon {...icon} />
40
- </div>
41
- )}
42
- <div className={classNames("mx-card__content", "mx-vertical-flow-flex")}>
43
- {intro}
44
- <Heading as={headingLevel} modifier={headingModifier}>
45
- {title}
46
- </Heading>
47
- {children}
48
- </div>
49
- </Tag>
50
- )
51
- }
52
-
53
- export default Tile